Бот должен корректно обрабатывать ситуации, когда NLU не уверен в intent или
выдал слишком низкий confidence. Какой подход правильный?
middle
correct_vs_wrong
#354
Вариант 1
# config.yml
pipeline:
- name: WhitespaceTokenizer
- name: CountVectorsFeaturizer
- name: DIETClassifier
epochs: 100
policies:
- name: RulePolicy
- name: TEDPolicy
# rules.yml
rules:
- rule: catch anything unknown
steps:
- intent: nlu_fallback
- action: utter_default
Вариант 2
# config.yml
pipeline:
- name: WhitespaceTokenizer
- name: LanguageModelFeaturizer
model_name: bert
model_weights: DeepPavlov/rubert-base-cased
- name: DIETClassifier
epochs: 100
- name: FallbackClassifier
threshold: 0.6
ambiguity_threshold: 0.1
policies:
- name: RulePolicy
core_fallback_threshold: 0.5
core_fallback_action_name: action_default_fallback
enable_fallback_prediction: true
- name: TEDPolicy
# rules.yml
rules:
- rule: low confidence fallback
steps:
- intent: nlu_fallback
- action: action_two_stage_fallback
- active_loop: action_two_stage_fallback
- rule: out of scope
steps:
- intent: out_of_scope
- action: utter_out_of_scope
Чтобы решить вопрос и сохранить попытку — войди.