Hi All,
I have seen different behaviour of RASA, NLU Fallback is taking precedence to other intents irrespective of threshold value and their confidence score.
Please find my config.yml
below along with rasa shell nlu
output
language: en
pipeline:
- name: SpacyNLP
model: "en_core_web_md"
case_sensitive: False
- name: SpacyTokenizer
- name: SpacyFeaturizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
- name: DIETClassifier
epochs: 150
constrain_similarities: True
model_confidence: linear_norm
entity_recognition: False
- name: RegexEntityExtractor
use_lookup_tables: True
use_regexes: True
- name: EntitySynonymMapper
- name: ResponseSelector
retrieval_intent: app_cdpr_preference
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_cdpr_search_site
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_cdpr_show_hide
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_cdpr_export
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_cdpr_info
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_360sv_info
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_3dcv_info
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_cbpc_info
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: ResponseSelector
retrieval_intent: app_dgf_info
epochs: 100
constrain_similarities: True
model_confidence: linear_norm
- name: FallbackClassifier
threshold: 0.12
ambiguity_threshold: 0.1
policies:
- name: RulePolicy
core_fallback_threshold: 0.12
core_fallback_action_name: "action_default_fallback"
enable_fallback_prediction: True
- max_history: 6
name: AugmentedMemoizationPolicy
- name: TEDPolicy
max_history: 8
epochs: 100
constrain_similarities: true
model_confidence: linear_norm
RASA shell nlu output
what is filter
{
"text": "what is filter",
"intent": {
"name": "nlu_fallback",
"confidence": 0.12
},
"entities": [],
"intent_ranking": [
{
"name": "nlu_fallback",
"confidence": 0.12
},
{
"id": 3483215150281270894,
"name": "app_cdpr_filter_info",
"confidence": 0.20301519334316254
}
what is cdpr
{
"text": "what is cdpr",
"intent": {
"name": "nlu_fallback",
"confidence": 0.12
},
"entities": [],
"intent_ranking": [
{
"name": "nlu_fallback",
"confidence": 0.12
},
{
"id": 8082360785938773235,
"name": "app_cdpr_page",
"confidence": 0.1920752078294754
}
what is preference
{
"text": "what is preference",
"intent": {
"id": 6189044326756256420,
"name": "app_cdpr_preference",
"confidence": 1.0
},
"entities": [],
"intent_ranking": [
{
"id": 6189044326756256420,
"name": "app_cdpr_preference",
"confidence": 1.0
},
{
"id": -3499082440311295765,
"name": "out_of_scope",
"confidence": 0.0
},
{
"id": -8417286893773013388,
"name": "app_360sv_info",
"confidence": 0.0
}
As I can see in rasa shell nlu
output given above
-
For text : “what is filter” nlu_fallback is taking precedence over app_cdpr_filter_info even after having low confidence.
-
For text : “what is cdpr” nlu_fallback is taking precedence over app_cdpr_page even after having low confidence.
-
For text : “what is preference” app_cdpr_preference is taking precedence over nlu_fallback which is fine and expected.
Can someone please help me on this, where I am doing wrong.
Thanks in Advance