Hi everyone !
I’ve been using RASA for a project since several weeks / months and I still have problems with the accuracy of the NLU.
To be quick the project is to provide a Chatbot factory for specific entities which can use a spreadsheet and we convert this spreadsheet in Rasa files (domain.yml).
One entity is doing tests with us and we have a major problem. The NLU, despite several modification on the configuration file, recognize exact sentences with few accuracy (like 50%).
Do you have an idea how to improve this ? We only use RASA for intent recognition (no entities).
Config file:
# Configuration for Rasa NLU.
# https://rasa.com/docs/rasa/nlu/components/
language: fr
pipeline:
- name: WhitespaceTokenizer
- name: RegexFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: 'char_wb'
min_ngram: 1
max_ngram: 4
- name: DIETClassifier
entity_recognition: false
epochs: 20
- name: ResponseSelector
epochs: 100
# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
- name: MemoizationPolicy
max_history: 1
- name: FallbackPolicy
nlu_threshold: 0.6
core_threshold: 0.5
fallback_action_name: 'utter_phrase_hors_sujet_0'
Exemple of the domain.yml file:
version: '2.0'
intents:
- intent_id
- other_intent_id
- another_intent_id
responses:
utter_intent_id_0:
- text: 'First response'
utter_intent_id_1:
- text: 'Second response'
buttons:
- tilte: 'Title'
payload: other_intent_id
utter_other_intent_id_0:
- text: 'First response'
utter_other_intent_id_1:
- text: 'Second response'
utter_another_intent_id_0:
- text: 'First response'
utter_another_intent_id_1:
- text: 'Second response'
nlu:
- intent: intent_id
examples: |
- Example 1
- Example 2
- intent: other_intent_id
examples: |
- Other Example 1
- Other Example 2
- intent: another_intent_id
examples: |
- Another Example 1
- Another Example 2
stories:
- story: intent_id
steps:
- intent: intent_id
- action: utter_intent_id_0
- action: utter_intent_id_1
- story: other_intent_id
steps:
- intent: other_intent_id
- action: utter_other_intent_id_0
- action: utter_other_intent_id_1
- story: another_intent_id
steps:
- intent: another_intent_id
- action: utter_another_intent_id_0
- action: utter_another_intent_id_1
session_config:
session_expiration_time: 60
carry_over_slots_to_new_session: true
Some data usefull:
We are currently training the model with more than 800 intents and more than 3000 examples (this number is growing). Even with 50 or 100 epochs on DIETClassifier the result is disappointing.
Rasa Version : 2.0
Thanks.