Bot not able to recognise names and company names in forms with from_text

I am trying to get names and company name from user. but if I message any name which is not inside my nlu.yml file it says anything from responses and deactivates form. So, anyone know how to achieve this?
I have shared content of nlu.yml, domain.yml(for form) and config.yml

nlu.yml
Screenshot from 2021-02-17 18-12-34

domain.yml

forms:
  sales_contact:
    amount-of-money:
    - entity: amount-of-money
      intent:
      - ask_amount_of_money
      not_intent:
      - textspace_demo
      type: from_entity
    company_name:
    - intent: ask_company_name
      type: from_text
    email:
    - entity: email
      type: from_entity
    person_name:
    - intent: ask_person_name
      type: from_text
    submit_sales_form:
    - intent: affirm
      type: from_intent
      value: yes
    - intent: deny
      type: from_intent
      value: no


config.yml config.yml (979 Bytes)

I think more training data would be needed, at least 15-20 examples for each intent.

That’s doesn’t work because it just captures name which are in Nlu training data

Sorry I’m not understanding. Are you saying that you’ve tried adding more training data, but the NLU still predicts only examples in the training data and fails to generalize to other inputs?

Yes

I’m curious to know what the prediction confidence is. I suspect that it’s low since your two intents are quite similar. Perhaps you could try to use a single intent such as inform, and use two entities person_name and company_name. Especially since you are handling this part with a form, I don’t see the purpose of using two separate intents.

What I can try is use inform intent and get from_text so whatever user provide I will accept it as an answer because name can’t be properly identify. E.g. Former name of Elon Musk son it was alphanumeric and some companies too have names like that so can’t identify

I found a solution for names and company names in forms. Here is it

forms:
  fitness_form:
    number:
    - type: from_entity
      entity: number
    name:
    - type: from_text
    form_submit:
    - type: from_intent
      intent: affirm
      value: yes
    - type: from_intent
      intent: deny
      value: no

Above I used from_text and no intent or entity needs to be added. This way we will get a proper text out of that particular slot. Thanks for the help @alexyuwen but training data won’t help here. :slightly_smiling_face: Here is output on rasa shell:

In the form handling part of your domain.yml, you should remove the not_intent condition after sales data enrichment. This condition is what causes the form to deactivate when the user’s input doesn’t match any of the specified intents.

Here’s how you can modify your files: nlu.yml: version: “2.0”

nlu:

domain.yml: version: “2.0”

forms: sales_contact: person_name: - intent: ask_person_name type: from_text company_name: - intent: ask_company_name type: from_text email: - entity: email type: from_entity submit_sales_form: - intent: affirm type: from_intent value: yes - intent: deny type: from_intent value: no