class_docstr: CRF Feature which is used by :class:`.CRFSlotFiller`
  
  Attributes:
      base_name (str): Feature name (e.g. 'is_digit', 'is_first' etc)
      func (function): The actual feature function for example:
  
          def is_first(tokens, token_index):
              return "1" if token_index == 0 else None
  
      offset (int, optional): Token offset to consider when computing
          the feature (e.g -1 for computing the feature on the previous word)
      drop_out (float, optional): Drop out to use when computing the
          feature during training
  
  Note:
      The easiest way to add additional features to the existing ones is
      to create a :class:`.CRFFeatureFactory`
code: def __init__(self, base_name, func, offset=0, drop_out=0):
      if base_name == TOKEN_NAME:
          raise ValueError("'%s' name is reserved" % TOKEN_NAME)
      self.offset = offset
      self._name = None
      self._base_name = None
      self.base_name = base_name
      self.function = func
      self.drop_out = drop_out
  
file_path: snips-nlu/snips_nlu/slot_filler/feature.py
imports: from __future__ import unicode_literals
  from builtins import object
label_desc: Use image node_id 1 to create a new Feature object from inherited base classes: object with example: obj = Feature(base_name, func, offset, drop_out)