デフォルトでは、エンティティの一致はいずれかのエンティティ エントリと完全に一致している必要があります。これは 1 単語エンティティのエントリ値や類義語には効果的ですが、複数単語の値や類義語の場合には問題が発生します。たとえば、次のエンドユーザー表現の部分に一致する「ボール」エンティティを考えてみます。
- 「ボール」
- 「赤いボール」
- 「ボール赤い」
- 「小さいボール」
- 「ボール小さい」
- 「小さい赤いボール」
- 「小さいボール赤い」
- 「赤い小さいボール」
- 「赤いボール小さい」
- 「ボール小さい赤い」
- 「ボール赤い小さい」
一致が発生するには、通常、エンティティのエントリ値とこれらの置換群のそれぞれに、類義語を定義する必要があります。ただし、ファジー一致が有効な場合、値または類義語の単語の順序は関係ありません。次の場合は、上記のすべての例との一致をトリガーします。
- 「ボール」
- 「赤いボール」
- 「小さいボール」
- 「小さい赤いボール」
このデータがある場所
エージェントを作成する際は、Dialogflow ES コンソール(ドキュメントに移動、コンソールを開く)を使用するのが最も一般的です。コンソールの使用方法は次のとおりです。エンティティ データにアクセスするには:
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- 左側のサイドバーのメニューで [Entities] を選択します。
コンソールではなく API を使用してエージェントを作成する場合は、EntityTypes リファレンスをご覧ください。API のフィールド名はコンソールのフィールド名と同様です。以下の手順では、コンソールと API の間の重要な違いを説明します。
ファジー一致エンティティを作成する
ファジー一致エンティティを作成するには:
- 既存のエンティティを開くか、新しいエンティティを作成します。
- ファジー一致を確認してください。
- テーブルに 1 つ以上のエントリを入力します。
- [Save] をクリックします。
API を使用してエンティティを作成または更新する場合は、EntityType
で enable_fuzzy_extraction
フィールドを true に設定します。
制限事項
次の制限が適用されます。
- ファジー一致は、正規表現エンティティではファジー一致を有効にできません。これらの機能は相互排他的です。
- ID、国識別番号などの厳密な値の一致に使用されるエンティティでは、ファジー一致を有効にしないでください。
部分一致
複数の単語を含む類義語を定義すると、Dialogflow は部分一致と一致する類義語と、ユーザー入力と最も類似した類義語とのマッチングを行います。マッチングには部分一致も含まれる可能性があります。たとえば、類義語を「コールド ブリュー コーヒー」として定義し、ユーザー入力が「コールド コーヒー」の場合、よりマッチ度の高いものが他になければこの関連エンティティとマッチングされます。
スペル修正
ユーザー入力が類義語エンティティのスペルミスである可能性がある場合、その入力はこの関連エンティティとマッチングされることがあります。たとえば、「lumber」と定義した類義語がある場合、ユーザー入力の「number」はこの関連エンティティとマッチングされることがあります。