class_docstr: Handles incoming messages with low NLU confidence.
class_docstr_tok: ["Handles","incoming","messages","with","low","NLU","confidence","."]
docstr: Process a list of incoming messages.
  
  This is the component's chance to process incoming
  messages. The component can rely on
  any context attribute to be present, that gets created
  by a call to :meth:`rasa.nlu.components.Component.create`
  of ANY component and
  on any context attributes created by a call to
  :meth:`rasa.nlu.components.Component.process`
  of components previous to this one.
  
  Args:
      messages: List containing :class:
      `rasa.shared.nlu.training_data.message.Message` to process.
docstr_tok: ["Process","a","list","of","incoming","messages",".","This","is","the","component","'s","chance","to","process","incoming","messages",".","The","component","can","rely","on","any","context","attribute","to","be","present",",","that","gets","created","by","a","call","to",":","meth",":","`","rasa.nlu.components.Component.create","`","of","ANY","component","and","on","any","context","attributes","created","by","a","call","to",":","meth",":","`","rasa.nlu.components.Component.process","`","of","components","previous","to","this","one",".","Args",":","messages",":","List","containing",":","class",":","`","rasa.shared.nlu.training_data.message.Message","`","to","process","."]
code: def process(self, messages: List[Message]) -> List[Message]:
      """Process a list of incoming messages.
  
      This is the component's chance to process incoming
      messages. The component can rely on
      any context attribute to be present, that gets created
      by a call to :meth:`rasa.nlu.components.Component.create`
      of ANY component and
      on any context attributes created by a call to
      :meth:`rasa.nlu.components.Component.process`
      of components previous to this one.
  
      Args:
          messages: List containing :class:
          `rasa.shared.nlu.training_data.message.Message` to process.
      """
      for message in messages:
          if not self._should_fallback(message):
              continue
  
          # we assume that the fallback confidence
          # is the same as the fallback threshold
          confidence = self.component_config[THRESHOLD_KEY]
          message.data[INTENT] = _fallback_intent(confidence)
          message.data.setdefault(INTENT_RANKING_KEY, [])
          message.data[INTENT_RANKING_KEY].insert(
              0, _fallback_intent(confidence)
          )
  
      return messages
  
imports: from __future__ import annotations
  import copy
  import logging
  from typing import Any, List, Text, Dict, Type, Union, Tuple, Optional
  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.shared.constants import DEFAULT_NLU_FALLBACK_INTENT_NAME
  from rasa.core.constants import DEFAULT_NLU_FALLBACK_THRESHOLD, DEFAULT_NLU_FALLBACK_AMBIGUITY_THRESHOLD
  from rasa.nlu.classifiers.classifier import IntentClassifier
  from rasa.shared.nlu.training_data.message import Message
  from rasa.shared.nlu.constants import INTENT, INTENT_NAME_KEY, INTENT_RANKING_KEY, PREDICTED_CONFIDENCE_KEY
label_desc: Use image node_id 5 for calling the FallbackClassifier obj's underlying member method code with example usage: obj.process(messages) and returns: messages