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の順序の先頭に置き、場合によっては「グローバルインテントを最初にマップする」設定を有効にする必要があります。