class_docstr: A Mitie Entity Extractor (which is a thin wrapper around `Dlib-ml`).
class_docstr_tok: ["A","Mitie","Entity","Extractor","(","which","is","a","thin","wrapper","around","`","Dlib-ml","`",")","."]
docstr: Extracts entities from messages and appends them to the attribute.
  
  If no patterns where found during training, then the given messages will not
  be modified. In particular, if no `ENTITIES` attribute exists yet, then
  it will *not* be created.
  
  If no pattern can be found in the given message, then no entities will be
  added to any existing list of entities. However, if no `ENTITIES` attribute
  exists yet, then an `ENTITIES` attribute will be created.
  
  Returns:
     the given list of messages that have been modified
docstr_tok: ["Extracts","entities","from","messages","and","appends","them","to","the","attribute",".","If","no","patterns","where","found","during","training",",","then","the","given","messages","will","not","be","modified",".","In","particular",",","if","no","`","ENTITIES","`","attribute","exists","yet",",","then","it","will","*","not","*","be","created",".","If","no","pattern","can","be","found","in","the","given","message",",","then","no","entities","will","be","added","to","any","existing","list","of","entities",".","However",",","if","no","`","ENTITIES","`","attribute","exists","yet",",","then","an","`","ENTITIES","`","attribute","will","be","created",".","Returns",":","the","given","list","of","messages","that","have","been","modified"]
code: def process(
      self, messages: List[Message], model: MitieModel
  ) -> List[Message]:
      """Extracts entities from messages and appends them to the attribute.
  
      If no patterns where found during training, then the given messages will not
      be modified. In particular, if no `ENTITIES` attribute exists yet, then
      it will *not* be created.
  
      If no pattern can be found in the given message, then no entities will be
      added to any existing list of entities. However, if no `ENTITIES` attribute
      exists yet, then an `ENTITIES` attribute will be created.
  
      Returns:
         the given list of messages that have been modified
      """
      if not self._ner:
          return messages
  
      for message in messages:
          entities = self._extract_entities(message, mitie_model=model)
          extracted = self.add_extractor_name(entities)
          message.set(
              ENTITIES,
              message.get(ENTITIES, []) + extracted,
              add_to_output=True,
          )
      return messages
  
imports: from __future__ import annotations
  import logging
  from rasa.nlu.tokenizers.tokenizer import Tokenizer
  import typing
  from typing import Any, Dict, List, Optional, Text, Type
  from rasa.engine.graph import GraphComponent, ExecutionContext
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
  from rasa.engine.storage.resource import Resource
  from rasa.engine.storage.storage import ModelStorage
  from rasa.nlu.constants import TOKENS_NAMES
  from rasa.shared.nlu.constants import ENTITY_ATTRIBUTE_CONFIDENCE, ENTITY_ATTRIBUTE_START, ENTITY_ATTRIBUTE_END, ENTITY_ATTRIBUTE_TYPE, ENTITY_ATTRIBUTE_VALUE, TEXT, ENTITIES
  from rasa.nlu.utils.mitie_utils import MitieModel, MitieNLP
  from rasa.nlu.extractors.extractor import EntityExtractorMixin
  from rasa.shared.nlu.training_data.training_data import TrainingData
  from rasa.shared.nlu.training_data.message import Message
  import rasa.shared.utils.io
  from rasa.shared.exceptions import InvalidConfigException
label_desc: Use image node_id 9 for calling the MitieEntityExtractor obj's underlying member method code with example usage: obj.process(messages, model) and returns: messages, messages