Rasa -同義語


同義語は、抽出された実体を抽出されたリテラルテキスト以外の値に写像します.複数の方法のユーザーが同じことを参照している場合は、同義語を使用することができます.エンティティを抽出する最終目標を考え、そこからどの値を等価値とみなすべきかを理解する.
周波数エンティティを持っています.
# domain.yml
# ... previous content ...
entities:
  # ... other entities ...
  - frequency
このエンティティは、2つの可能な値を持つ周波数スロットを埋めるために使用されます:週に1回、週に2回.
# domain.yml
# ... previous content ...
slots:
  # ... other slots ...
  frequency:
    type: categorical
    values:
      - once a week
      - twice a week
    influence_conversation: true
スロットはNewsletterRangeフォームの間に埋められます.
# domain.yml
# ... previous content ...
forms:
  newsletter_form:
    # ... other slots ...
    frequency:
      - type: from_entity
        entity: frequency
また、ユーザーは週に一度、または週に一度
この場合、週に一度、週に1回、同義語として週に1回定義します.
それから、これらの句のどちらかが実体として抽出されるならば、それは週に一度値にマップされます.
類義語を定義するには2つの方法があります.

ファーストオプション

synonymキーを作成し、マップされたシノニムを一覧表示します.
# data/nlu.yml
# ... previous content ...
  - intent: inform_frequency
    examples: |
      # ... other examples ...
      - [once a week](frequency)
      - [once](frequency)
      - [once per week](frequency)

  - synonym: once a week
    examples: |
      - once
      - once per week

「週に一度」と入力されたとしても、抽出されたエンティティは「週に1回」ということがわかります.

セカンドオプション


また、エンティティの値を指定することによって、私たちのトレーニングの例では同義語を定義できます.
# data/nlu.yml
# ... previous content ...
  - intent: inform_frequency
    examples: |
      # ... other examples ...
      - [twice a week](frequency)
      - [twice]{"entity": "frequency", "value": "twice a week"}
      - [twice per week]{"entity": "frequency", "value": "twice a week"}

ユーザが「二度」と入力したとしても、抽出された実体は「週に2回」だった.
周波数は現在実体であるので、我々はannotate it in the test storiesに必要である.
あなたは、ドキュメンテーションherehereの類義語について詳しく知ることができます.
このチュートリアルのリポジトリ

PETR 7555 / Rasaのチュートリアル



このチュートリアルの最後に、リポジトリの状態をチェックアウトできます.
git clone --branch 20-synonyms [email protected]:petr7555/rasa-dev-tutorial.git