Rasa NLU никогда не возвращает резервное намерение

Я экспериментировал с NLU частями Расы. В моем config.yml у меня есть резервная политика с порогом 70%.

Когда я запускаю сервер или пробую только оболочку NLU, я никогда не получаю Fallback Intent в ответ, даже если степень уверенности намного ниже 70%. Для режима только NLU не имеет смысла использовать резервную политику, поэтому я понимаю, почему это может произойти.

Но я перехожу с Dialogflow, поэтому я хотел бы, чтобы ответ NLU возвращал резервное намерение, если отправленное сообщение не попадает под какое-либо определенное намерение. Как я могу это сделать?

В качестве альтернативы, если можно получить данные NLU вместе с ответом ядра, это также сработает.

Примечание: я использую rasa 1.10.3 и rasa-sdk 1.10.1

Вот файл config.yml, я в основном использую настройки по умолчанию, созданные rasa init,

# Configuration for Rasa NLU.
# https://rasa.com/docs/rasa/nlu/components/
language: en
pipeline:
  - name: WhitespaceTokenizer
  - name: RegexFeaturizer
  - name: LexicalSyntacticFeaturizer
  - name: CountVectorsFeaturizer
  - name: CountVectorsFeaturizer
    analyzer: "char_wb"
    min_ngram: 1
    max_ngram: 4
  - name: DIETClassifier
    epochs: 100
  - name: EntitySynonymMapper
    epochs: 100

# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
  - name: MappingPolicy
  - name: "FallbackPolicy"
    nlu_threshold: 0.7
    core_threshold: 0.7
    fallback_action_name: "utter_Default Fallback Intent"

person Jahir    schedule 26.06.2020    source источник
comment
Вы нашли способ определить резервное намерение? Я столкнулся с той же проблемой. Спасибо   -  person Keyvan    schedule 29.12.2020


Ответы (1)


трекер внутри ядра должен иметь всю информацию о том, какое намерение сработало с какой уверенностью. Так что, если вы также используете возможности ядра, вы можете использовать трекер. Сообщите мне, как это происходит.

person dragster    schedule 26.06.2020