Userwarning: Overlapping slot value

I have created a bot that asks user info (using forms and duckling for extraction) and it stores in the database and also it fetches details from the database by entity tno(ticket number). when I try to fill the mobile number it shows user warning(overlapping DIETClassifier with DucklingEntityExtractor) but it works.

UserWarning: Parsing of message: ‘my number is 1234567890’ lead to overlapping entities: 1234567890 of type tno extracted by DIETClassifier overlaps with 1234567890 of type number extracted by DucklingEntityExtractor. Th is can lead to unintended filling of slots. Please refer to the documentation section on entity extractors and entities getting extracted multiple times:

@Shan Share your config.yml file.

@nik202 language: en
pipeline:

  • name: SpacyNLP
    model: “en_core_web_md”
  • name: SpacyTokenizer
  • name: SpacyEntityExtractor
    dimensions: [“PERSON”]
  • name: SpacyFeaturizer
  • name: RegexFeaturizer
  • name: LexicalSyntacticFeaturizer
  • name: CountVectorsFeaturizer
  • name: CountVectorsFeaturizer
    analyzer: char_wb
    min_ngram: 1
    max_ngram: 4
  • name: DIETClassifier epochs: 100
  • name: EntitySynonymMapper
  • name: ResponseSelector epochs: 100
  • name: DucklingEntityExtractor
    url: http://duckling.rasa.com:8000
    dimensions: [‘number’,‘email’]
  • name: EntitySynonymMapper
  • name: ResponseSelector
    epochs: 100
    constrain_similarities: True
  • name: FallbackClassifier
    threshold: 0.5
    ambiguity_threshold: 0.1

policies:

  • name: MemoizationPolicy
  • name: RulePolicy
  • name: TEDPolicy
    max_history: 5
    epochs: 100
    constrain_similarities: True

@Shan Are you using duckling? or not?

yes I’m using duckling it extracts mobile number and email Id well.

@jusce17 Please help me.

@Shan Do you need Spacy in pipeline? If yes what is the significance ?

@nik202 yes I need for name extraction.

@Shan That you can archive without Spacy pipeline also, stick to basic with Duckling and you will be fine.

Suggested pipeline:

# Configuration for Rasa NLU.

# https://rasa.com/docs/rasa/nlu/components/

language: en

pipeline:

  - name: WhitespaceTokenizer

  - name: RegexFeaturizer

  - name: LexicalSyntacticFeaturizer

  - name: CountVectorsFeaturizer

  - name: CountVectorsFeaturizer

    analyzer: "char_wb"

    min_ngram: 1

    max_ngram: 4

  - name: DIETClassifier

    epochs: 100

    ranking_length: 5

    constrain_similarities: true

    model_confidence: linear_norm

  - name: EntitySynonymMapper

  - name: ResponseSelector

    epochs: 100

    constrain_similarities: true

    model_confidence: linear_norm

  # - name: DucklingHTTPExtractor

  #   url: http://localhost:9000

  #   dimensions:

  #   - question

  #   - answer

  #   timezone: UK/London

  #   timeout: 3

# Configuration for Rasa Core.

# https://rasa.com/docs/rasa/core/policies/

policies:

  - name: MemoizationPolicy

  - name: TEDPolicy

    max_history: 5

    epochs: 100

  - name: RulePolicy

    nlu_threshold: 0.4

    core_threshold: 0.4

    fallback_action_name: "action_default_fallback"

Make changes as per your need in Duckling only and run the code ref: https://rasa.com/docs/rasa/components/#ducklingentityextractor Hope you understand my point now? Good Luck!

@nik202 Ok I follow your instructions. Could you explain tell me how to deploy my rasa project in docker.

@Shan That’s not related to this topic, please create the separate thread, this will confuse the other user. Thanks. If it solve you issue please close this as solution for others. @Shan Is the suggestion solved your issue, if yes please close this post with the solution for others. Thanks.

1 Like