ガイドラインとベストプラクティス
トレーニングフレーズ
検証に合格するには、意図に少なくとも 10 個のトレーニング フレーズを追加する必要があります。重複するトレーニングフレーズは、この最小制限にはカウントされません。
最大 1,000 個のトレーニング フレーズを意図に追加できます。
大事な言葉
- 重要な単語とその同義語は、1つの意図にのみ含まれる可能性があります。他のインテントで重要な単語や同義語として使用することはできません。
- 各重要な単語は、意図内の少なくとも2つのトレーニングフレーズの一部である必要があります。例: Manage_booking 意図では、重要な単語「manage」をトレーニングフレーズ「予約を管理する必要があります」と「予約の管理を手伝ってください」に含めることができます。
- インテントの識別精度を高めるには、2つ以上のトレーニング・フレーズに重要な単語を追加します。
- 重要な単語の単数形と複数形の両方を定義する必要はありません。どちらか一方のみを追加します。例: 'offer' または 'offers' を追加します。
意図
- チャットボットのすべての意図は、同じ方法で構成する必要があります。1 つの意図に重要な単語のみが含まれ、別の意図に重要な単語と語句の両方が含まれている場合、検証は失敗します。
- インテントは標準ダイアログにのみ追加できます。「デフォルト」、「認証」、および「セッションの有効期限」ダイアログにインテントを追加することはできません。
- 「デフォルト」ダイアログに割り当てられている「デフォルト」意図を削除したり、名前を変更したりすることはできません。
- トレーニングフレーズと重要な単語をデフォルトの意図に追加できます。
- 「デフォルト」ダイアログから「デフォルト」意図のリンクを解除することはできません。
類似したインテントを避ける
同じ目的を持つ複数のインテントがないことを確認してください。
例: CarA、Car B、Car C の 3 つの自動車ブランドがあります。各ブランドの意図は次のとおりです。
意 | トレーニングフレーズ | エンティティ |
---|---|---|
Buy_CarA | どのCarAモデルの在庫がありますか? CarAのリースオプションはありますか? | カーラ |
Buy_CarB | どのCarBモデルの在庫がありますか? CarBのリースオプションはありますか? | 炭水化物 |
Buy_CarC | どのCarCモデルの在庫がありますか? CarCのリースオプションはありますか? | CarC(カーシー) |
この例では、すべてのインテントの目的は同じで、特定のブランドの車を購入することです。
これらのインテントのトレーニング・フレーズも、ブランド名を除いて同じです。インテントのすべてのトレーニングフレーズでこのような重複や類似性が発生した場合、チャットボットは状況を正しく管理できない可能性があります。例: 終了ユーザーメッセージに車種が含まれていない場合、チャットボットはBuy_CarA、Buy_CarB、Buy_CarCのいずれかのインテントをランダムに認識します。
この問題を回避するには、各自動車ブランドを含むエンティティを作成し、エンティティに基づいてダイアログを分岐することができます。
個別インテントでの類似または同一のトレーニング・フレーズは避ける
インテントの目的が異なる場合は、これらのインテントに類似または同一のトレーニング・フレーズがないことを確認してください。
次の例では、Model と Product の 2 つの意図に異なる目的があります。しかし、トレーニングフレーズは似ています。そのため、チャットボットはエンドユーザーのメッセージの正しい意図を識別できない場合があります。
意 | トレーニングフレーズ |
---|---|
モデル | 車はどのモデルですか? |
積 | 車のモデルは何ですか? |
競合するインテントを削除する
意図のトレーニング データセットに競合がある場合、チャットボットはエンド ユーザーのメッセージの正しい意図を識別できない可能性があります。
インテント間の競合は、次の理由で発生する可能性があります。
-
インテントには同じトレーニング・フレーズがあります。 例:
意 トレーニングフレーズ Buy_CarA リースオプションはありますか? Buy_CarB リースオプションはありますか? -
インテントには、意味と文の構造が類似したトレーニング・フレーズがあります。 例:
意 トレーニングフレーズ Buy_CarA どのようなリースオプションがありますか? Buy_CarB リースオプションとは
競合するインテントを特定します。次に、各自動車ブランドを含むエンティティを作成し、エンティティに基づいてダイアログを分岐 できます。
トレーニングフレーズでバリエーションを使用する
意図として、トレーニングフレーズにバリエーションがあることを確認します。
例: Exchange_Currency 意図の場合、トレーニング フレーズは次のとおりです。
- EURからUSDに変更したいのですが。
- EURからGBPに変更したいのですが。
- USDからEURに変更したいのですが。
- USDからGBPに変更したいのですが。
- GBPからEURに変更したいのですが。
- GBPからUSDに変更したいのですが。
エンド ユーザーがメッセージの異なるバリエーションを送信すると、チャットボットが意図を識別できない場合があります。
例:エンドユーザーのメッセージは「米ドルを英国ポンドに変換したい」です。
このメッセージは、「I would like to change from USD to GBP」というトレーニング フレーズのバリエーションです。チャットボットは「I」や「to」などの単語を無視するため、エンドユーザーのメッセージとトレーニングデータセットの間に重複する単語はありません。そのため、チャットボットはメッセージに Exchange_Currency 意図を割り当てることができません。
十分な数のトレーニングフレーズを使用する
意図にトレーニングフレーズがほとんどない場合、チャットボットには意図を正しく識別する方法を学習するのに十分なデータがありません。意図のトレーニングフレーズの数が多いほど、エンドユーザーが関連するメッセージを送信したときに、チャットボットがこの意図をより適切に識別できます。
検証を完了するには、意図に少なくとも 10 個のトレーニング フレーズを追加する必要があります。この数には、トレーニング フレーズのみが含まれ、キーワードは含まれません。Infobip では、少なくとも 100 個のトレーニング フレーズを追加することをお勧めします。最高のパフォーマンスを得るには、少なくとも 400 個のトレーニング フレーズを追加します。
頻繁に出現する単語のトレーニングフレーズをさらに作成する
意図の中で頻繁に出現する単語は、めったに出現しない単語よりも重要です。したがって、頻繁に出現する単語のトレーニングフレーズの数は、めったに出現しない単語の数よりも多くなければなりません。
エンド ユーザー メッセージで単語が頻繁に使用される場合は、この単語を含むトレーニング フレーズをさらに追加します。例: エンド ユーザー メッセージの 70% で「money」という単語が使用され、「current」という単語がメッセージの 2% でしか使用されていない場合は、「money」という単語を含むトレーニング フレーズをさらに作成します。
- 私の口座にはどのくらいのお金がありますか?
- 私のお金を見せてください。
- 私はどのくらいのお金を持っていますか?
トレーニングデータセットのサイズのバランスを取る
すべてのインテントのサイズが類似している場合、チャットボットは各意図に同じ優先度を割り当てます。重要度の低い意図がエンド ユーザーのメッセージに割り当てられる場合があります。この問題を回避するには、重要なインテントのトレーニング・データセットが、重要度の低いインテントのトレーニング・データセットよりも大きいことを確認します。例: 銀行の場合、住宅ローンの意図は、ウェルカムとさようならの意図よりも重要です。