My bot cannot detect 'hi' as intent 'greet'

Here is the rasa core output:

2021-01-05 16:21:55 DEBUG    rasa.nlu.classifiers.fallback_classifier  - NLU confidence 0.2250533103942871 for intent 'greet' is lower than NLU threshold 0.50.
2021-01-05 16:21:55 DEBUG    rasa.core.processor  - Received user message 'hi' with intent '{'name': 'nlu_fallback', 'confidence': 1.0}' and entities '[]'
2021-01-05 16:21:55 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker now has 4 events.
2021-01-05 16:21:55 DEBUG    rasa.core.policies.memoization  - Current tracker state [{}, {'user': {'intent': 'nlu_fallback'}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-05 16:21:55 DEBUG    rasa.core.policies.memoization  - There is no memorised next action
2021-01-05 16:21:55 DEBUG    rasa.core.policies.rule_policy  - Current tracker state: [{}, {'user': {'intent': 'nlu_fallback'}, 'prev_action': {'action_name': 'action_listen'}}]
2021-01-05 16:21:55 DEBUG    rasa.core.policies.rule_policy  - There is a rule for the next action 'action_default_fallback'.
2021-01-05 16:21:55 DEBUG    rasa.core.policies.ensemble  - Predicted next action using policy_2_RulePolicy
2021-01-05 16:21:55 DEBUG    rasa.core.processor  - Predicted next action 'action_default_fallback' with confidence 1.00.

I have already given enough training data to rasa, as in my nlu.yml:

version: "2.0"
nlu:
- intent: greet
  examples: |
    - hey
    - hello
    - hi
    - good morning
    - good evening
    - hey there
    - yo
    - Hi
- intent: goodbye
  examples: |
    - bye
    - goodbye
    - see you around
    - see you later
    - bye!
- intent: affirm
  examples: |
    - yes
    - indeed
    - of course
    - that sounds good
    - correct
    - perfect
    - good
    - great
    - amazing
    - wonderful
- intent: deny
  examples: |
    - no
    - never
    - I don't think so
    - don't like that
    - no way
    - not really
    - sad
    - very sad
    - unhappy
    - bad
    - very bad
    - awful
    - terrible
    - not very good
    - extremely sad
    - so sad
- intent: bot_challenge
  examples: |
    - are you a bot?
    - are you a human?
    - am I talking to a bot?
    - am I talking to a human?

Here is my config.yml:

language: en
pipeline:
- name: WhitespaceTokenizer
  case_sensitive: false
- name: RegexFeaturizer
- name: CRFEntityExtractor
- name: DucklingHTTPExtractor
  url: http://localhost:8000
  dimensions:
  - time
  - number
  - amount-of-money
  - distance
  locale: EN
  timezone: UTC
  timeout: 3
- name: EntitySynonymMapper
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
  analyzer: char_wb
  min_ngram: 1
  max_ngram: 4
  lowercase: true
- name: DIETClassifier
  epochs: 10
- name: FallbackClassifier
  threshold: 0.5
  ambiguity_threshold: 0.1
policies:
  - name: MemoizationPolicy
    max_history: 5
  - name: TEDPolicy
    epochs: 10
  - name: RulePolicy
    core_fallback_threshold: 0.4
    core_fallback_action_name: action_default_fallback

Any idea why my bot cannot understand ‘hi’ as intent ‘greet’? Thanks.

@jeffrey008, could you share your stories.yml file as well to get a better understanding of your issue?

Sure. Here is my story:

version: "2.0"
stories:
- story: happy path
  steps:
  - intent: greet
  - action: utter_greet
  - action: utter_help
- story: help path 1
  steps:
  - intent: help
  - action: utter_intro

I found the solution. The epochs of DIETClassifier was too low. I set epochs to 50 and it works now.