Oracle Cloud Infrastructureドキュメント

ルーティング動作の調整

デジタル・アシスタントを本番に移行する前に、デジタル・アシスタントがインテントをルーティングおよび解決する方法をテストして微調整する必要があります。

Digital Assistantをトレーニング

デジタル・アシスタントのチューニングを開始する前に、トレーニングされていることを確認します。 デジタル・アシスタントでトレーニングすることで、そこに含まれるすべてのスキルのトレーニング・データを統合し、デジタル・アシスタントの組込みのインテント(ヘルプ、終了、UnresolvedIntent)のトレーニング・データに入力します。

デジタル・アシスタントをトレーニングするには:

  1. デジタル・アシスタントを開きます。
  2. トレーニングのボタン(これは、トレーニング・ボタンのイメージです。)をクリックし、トレーニング・モデルを選択します。

    スキルの大部分をトレーニングするのに使用されているのと同じトレーニング・モデルを使用する必要があります。

    トレーニング・モデルに関わる深さについては、「どのトレーニング・モデルを使用すべきですか?」を参照してください

テスト対象

デジタル・アシスタントを本番に移行する前に、テストおよび調整を行う必要があるいくつかの動作を示します:

  • 明示的な起動(起動名を含むユーザー入力)。

    例(ここで、Financial Wizardは呼出し名です): send money using financial wizard

  • 暗黙的な起動(実際に起動名を含めることなく、スキルの使用を暗黙的に意味するユーザー入力)。

    例: send money

  • あいまいな発話(デジタル・アシスタントがそれらをどの程度明確に区別できるかを確認するため)。

    例(複数のスキルでオーダーできる場合): place order

  • サブジェクト(非sequiturとも呼ばれる)の変更による会話フローの中断。

ルーティング・モデル

ユーザーがフレーズをデジタル・アシスタントに入力する際、デジタル・アシスタントは、会話のルーティング方法(特定のスキル、現在のフローでの別の状態、またはデジタル・アシスタントの組込みインテント)を決定します。

ルーティング・モデルの中心は信頼度スコアで、これは個々のスキルおよびインテントについて計算され、ユーザー入力とどの程度一致しているかを測定します。 信頼度スコアは、基礎となる自然言語処理(NLP)アルゴリズムをスキルとデジタル・アシスタントのトレーニング・データに適用して導出されます。

これらのルーティング・ディシジョンは、信頼度しきい値や信頼度ウィン・マージンなど、様々なルーティング・パラメータの値に対して信頼度スコアを測定することで行われます。

ルーティング・モデルには、次のキー・レイヤーがあります:

  • 候補者システムのインテントの決定: ユーザー入力が評価され、信頼度スコアがデジタル・アシスタントのインテント(終了、ヘルプおよびunresolvedIntent)に適用されます。 デジタル・アシスタントの信頼度しきい値ルーティング・パラメータの値を超える信頼度スコアが設定されているこれらのインテントは、追加の評価の候補として扱われます。

  • 候補者スキルの決定: ユーザー入力が評価され、各スキルに信頼度スコアが適用されます。 信頼度スコアがデジタル・アシスタントの信頼度しきい値ルーティング・パラメータの値を超えているスキルは、候補スキルとしてさらに評価されます。

  • 候補フローの決定: 候補スキルが識別されると、(各スキルのインテント・モデルに従って)これらのスキルの各インテントが評価され、信頼度スコアが各インテントに適用されます。 一般的に、信頼度スコアがスキル信頼度しきい値ルーティング・パラメータの値を超えるインテント(デジタル・アシスタント信頼度しきい値パラメータではない)は、候補フローとして扱われます。

このルーティングの動作を調整するには、デジタル・アシスタントのルーティング・パラメータを調整します。

さらに、ルーティング式に影響する次の特別なケースについてルールがあります:

  • 明示的起動

  • コンテキスト対応ルーティング

  • 高い信頼度スコアを持つ複数のスキル

開始、ようこそおよびヘルプの各状態

デジタル・アシスタントでは、ユーザーの異なるスキルをスムーズに移動するために、デジタル・アシスタントに追加する各スキルの開始、ようこそおよびヘルプの状態の表示とルーティングが管理されます。

各スキルを構成して、ダイアログのフローで、デジタル・アシスタントがようこそ、開始およびヘルプの状態として使用する状態を指定できます。 スキルにこれらの状態が指定されていない場合、デジタル・アシスタントではデフォルトの動作が提供されます。

ノート

スキルに対してこれらの状態を指定する場合は、公開する前にスキルでこれを実行する必要があります (そのため、デジタル・アシスタントに追加する前に)です。

これらの状態がどのように機能するかについて、概要を次に示します。

  • 開始状態:インテント・エンジンによって、ユーザーが特定のスキルの使用を開始することが決定された場合に適用されます。 これは、通常、ユーザーがスキルに関連するインテントを表した場合に発生します。

    スキルのデジタル・アシスタント構成で開始状態が指定されていない場合、デジタル・アシスタントでは、スキルの最初の状態(通常はSystem.Intentコンポーネント)が開始状態として使用されます。

  • ようこその状態:は、ユーザーが付随するインテントなしで呼出し名を入力すると適用されます。

    (Pizza Joeは呼出し名): go to pizza joe

    スキルのデジタル・アシスタント構成でようこそ状態が指定されていない場合のみ、デジタル・アシスタントで提供されます。 このデフォルトのようこそ状態は、スキルの表示名、1文の摘要およびいくつかのサンプル発話を示すカードで構成されています。

    次に、サンプル・スキルFinスキルに適用されるデフォルトのようこそ状態の例を示します。


    da-welcome-prompt.pngの説明が続きます
    「図da-welcome-prompt.pngの説明」

    スキル・ボットようこそプロンプトの構成設定を使用して、デフォルトのようこそプロンプトをカスタマイズすることもできます。

  • ヘルプの状態:インテント・エンジンによって、ユーザーがヘルプや他の情報を要求していると判断された場合に適用されます。

    : ユーザーが財務スキル内のフローに自分の金額を送信する場合に、金額の送信元の金額を求めるプロンプトが表示されたときに"help"と入力します。

    スキルの構成でヘルプ状態が指定されていない場合のみ、デジタル・アシスタントで提供されます。 デジタル・アシスタントによって提供されるこのヘルプ状態には、スキルの表示名、1文の説明およびいくつかのサンプル発話を示すプロンプトとカードが含まれています。

    次に、ヘルプ・プロンプトとデジタル・アシスタントによって準備されるカードの例を示します:


    da-help-prompt.pngの説明が続きます
    「図da-help-prompt.pngの説明」

    スキル・ボット・ヘルプ・プロンプトの構成設定を使用して、デフォルトのヘルプ・プロンプトをカスタマイズすることもできます。

この構成にアクセスするには:

  1. スキルを開きます。
  2. 設定のアイコンをクリックし、Digital Assistantタブを選択します。
  3. 開始状態ようこそ状態またはヘルプの状態の状態の選択

明示的な起動

明示的な起動は、ユーザーが入力の一環としてスキルの起動名を入力した場合に発生します。 明示的な起動を使用することで、ユーザーは、明示的な入力が意図したスキルに即座にルーティングされるため、タスクの実行に必要なデジタル・アシスタントとの交換の数が削減されます。

明示的な起動を使用すると、ルーティングを決定するときに、対応するスキルに追加の重みが付与されます:

  • ユーザーがまだスキル内ではなく、明示的な起動を入力した場合、その起動はデジタル・アシスタントのコンテキストで他のフローよりも優先されます。

  • ユーザーが別のスキルのフローにある場合、デジタル・アシスタントは常に、ユーザーが実際にスキルを切り替えることを確認します。

各デジタル・アシスタントで、特定のスキルに使用する起動名を決定できます。 Digital Assistantのスキル・ページで起動名を設定します。 そこに移動するには:

  1. デジタル・アシスタントの左側のナビゲーション・バーで、スキル・アイコンをクリックします。
  2. 起動名を確認または変更するスキルを選択します。
  3. 起動フィールドまでスクロールします。

コンテキスト・アウェアネス

デジタル・アシスタントでのルーティングはコンテキスト対応であり、これは、ユーザーが現在関与しているスキルと一致したインテントに、インテント解決で他のスキルからのインテントよりも多くの重みが付与されることを意味します。

この動作は、現在のコンテキストのみを考慮するしきい値ルーティング・パラメータによってサポートされています。 現在のコンテキストのインテントの信頼度スコアがそのしきい値を超える場合、他のコンテキストからのインテントは考慮されません。 このしきい値のデフォルト値は80%です(これは、他のインテントの表示を除外する前に、現在のコンテキストのインテントが正しいかどうかを確認できるようにするためです)。

たとえば、デジタル・アシスタントにバンキング・スキルおよびオンライン小売業のスキルがあるとします。 ユーザーが残高はどうなっていますかという質問を入力した場合、これは、ユーザーの銀行口座残高とオンライン小売業者に登録されているギフト・カードの残高の両方に適用される可能性があります。

  • ユーザーがいずれかのスキルのコンテキストを入力する前にこの質問を入力した場合、デジタル・アシスタントは、(バンキング・スキルまたは小売業者スキルのいずれかで)どのバランス・フローを入力するかを選択できます。

  • ユーザーが銀行取引スキル内からこの質問を入力し、銀行取引スキル内の対応するインテントの信頼度スコアが現在のコンテキストのみを考慮しますのしきい値を超えた場合、デジタル・アシスタントは、銀行取引スキルに対応する残高フローを自動的に選択します(他のスキルからのインテントは無視されます。他のスキルは、標準の信頼度しきい値ルーティング・パラメータを満たしても同様です)。

ノート

ユーザーがあるスキル内でフローを完了した場合でも、明示的に終了するか別のスキルに移動しないかぎり、ユーザーはそのスキル・コンテキスト内にとどまります。
システム・インテントとコンテキスト・アウェアネス

スキルのコンテキスト内で、ユーザー入力がhelpまたはunresolvedIntentシステムのインテントと一致した場合、インテントはそのスキルによって規定されるフロー(デジタル・インテント・レベルで規定されるフローではない)で解決されます。

たとえば、ユーザーがスキルとタイプhelpを使用している場合、デジタル・アシスタント全体のヘルプではなく、そのスキルのヘルプが提供されます。

exitシステム・インテントの場合、この機能は異なります。 ユーザー入力がexitと一致すると、どのコンテキストであっても、終了するように求められます。 (exitの信頼度スコアがプロンプト信頼度しきい値の終了値に達した場合、終了はプロンプトなしで発生します。)