Reject Intents(リジェクトインテント)
リジェクトインテントは、バーチャルエージェントの範囲外のユーザー入力をNLUが認識するのを意図的に防ぐ機能を備えています。
概念
リジェクトインテントは、FlowエディタのNLUタブを介して、機械学習Intentと同じ方法で作成されます。作成Intentのバッティングの横にある拡張メニューから、[Create ‘Reject Intent'(リジェクトインテントの作成)]を選択します。次に、NLUから無視されるユーザー入力に合わせて例文を追加するだけです。
Reject Intentには以下が必要です:
名前 | プロパティタイプ |
Intent名 | Intentの一意の名前 |
例文 | ユーザー入力を予測する文のセット |
Reject Intentsの適切なユースケースは?
たとえば、汚れた駐車場ではなく、新鮮な空気を吸える緑地を探しているユーザーがいるとします。
“近くの公園はどこにありますか?”
アプリがドライバーだけを相手にしていて、単にそのようなリクエストを無視したいとします。この場合、問題のある文章をReject Intentに追加します。
最良の方法として、ボットが無視すべき発話をキャプチャするReject Intentを、ボットの機能に不可欠な他のIntentと同じ重要度で扱うだけです。
あるいは、ボットの設計を再考することもできます。ログにスコープ外の発話が頻繁に記録される場合は、Intentを追加してください。ボットの範囲を明確にするだけでも、明示されたユーザーのIntentに対処することができます。
より応用的な範囲外認識が必要な場合は、ルールまたはMLIntentを使用して、範囲外の文章をキャプチャすることもできます。これは、FlowでIntentを無視すれば可能です。
ただし、結合したFlowを使用する場合、ルールIntentやMLIntentを使用して範囲外のセンテンスを捕捉する際は、構造に注意が必要です。結合したFlowは、そのIntentのいずれかがトリガーされた場合にのみ実行されます。他のFlowで誤検出が発生しないようにするには、範囲外のIntentを捕捉するFlowを結合したFlowの順序の先頭に置き、場合によっては「グローバルインテントを最初にマップする」設定を有効にする必要があります。