class_docstr: Stores the features produced by any featurizer.
class_docstr_tok: ["Stores","the","features","produced","by","any","featurizer","."]
docstr: Returns a 4-tuple of defining properties.
  
  Returns:
      Tuple of type, attribute, features, and origin properties.
docstr_tok: ["Returns","a","4-tuple","of","defining","properties",".","Returns",":","Tuple","of","type",",","attribute",",","features",",","and","origin","properties","."]
code: def __key__(
      self,
  ) -> Tuple[
      Text,
      Text,
      Union[np.ndarray, scipy.sparse.spmatrix],
      Union[Text, List[Text]],
  ]:
      """Returns a 4-tuple of defining properties.
  
      Returns:
          Tuple of type, attribute, features, and origin properties.
      """
      return self.type, self.attribute, self.features, self.origin
  
imports: from __future__ import annotations
  from typing import Iterable, Union, Text, Optional, List, Any, Tuple, Dict, Set
  import itertools
  import numpy
  import scipy.sparse
  import rasa.shared.utils.io
  import rasa.shared.nlu.training_data.util
  from rasa.shared.nlu.constants import FEATURE_TYPE_SEQUENCE, FEATURE_TYPE_SENTENCE
label_desc: Use image node_id 9 for calling the Features obj's underlying member method code with example usage: obj.__key__() and returns: self,  self,  self,  self