NLU 専門家フィードバックループ
仮想エージェントチャットログ発言に関するフィードバックを提供して、システムが継続的に学習し、ユーザー入力をより適切に予測できるようにします。
サマリー使用法
専門家フィードバックループは、インスタンスからデータを取得し、フィードバックのために提供します。このデータは、ユーザーの仮想エージェント (VA) チャットログから取得され、それらのログからの発言が含まれます。nlu_admin ロールを使用して、次の場所に移動 インテントに対して発言が正しい (一致する) か正しくない (不一致) かを確認して、モデル内の各発言をマークします。このフィードバックは、モデルがモデルのパフォーマンスを継続的に改善するのに役立ちます。
インストール
専門家フィードバックループは、 ServiceNow® Store で利用可能な NLU ワークベンチ - 拡張機能アプリの一部です。
専門家フィードバックループを使用するには、インスタンスで NLU ワークベンチ - Advanced Features (sn_nlu_workbench) プラグインがアクティブになっていることを確認します。詳細については、「NLU ワークベンチ」および「アクティブ化」を参照してください。
専門家フィードバックループは VA チャットログのデータに依存するため、Glide 仮想エージェント (com.glide.cs.chatbot) プラグインもアクティブであることを確認してください。仮想 エージェントのアクティブ化を参照してください。
インスタンス間での専門家フィードバックループデータのインポート
インポートを開始する前に、インスタンス内のデータにアクセスできることと、フィードバックを続行するのに十分なデータがあることを確認してください。
準本番インスタンスで作業している場合は、本番インスタンスの open_nlu_predict_intent_feedback テーブルから準本番インスタンスにフィードバックデータをインポートする必要があります。インポート方法のガイダンスについては、「 別の ServiceNow インスタンスからのインポート」を参照してください。
- モデルを別のインスタンスに移動しても、フィードバックデータは保持されます。
- インスタンスをアップグレードしても、フィードバックデータは保持されます。
- インスタンスをクローンする場合、データは保持されないため、上記の手順に従って、クローンされたインスタンスにデータをインポートする必要があります。
フィードバックコンテキストとアクセス
専門家フィードバックループは、発言の選択されたサブセットに対して提供するフィードバックを通じて、VA に展開された NLU モデルを改善するメカニズムを提供します。発言ごとに、予測されたインテントを確認するか、発言が属する正しいインテントを指定するように求められます。このフィードバックが完了すると、データを使用してモデルのパフォーマンスが調整され、より多くのエンドユーザーデータを収集するために再展開できる改良されたモデルが作成されます。これは、システムが継続的にデータを収集し、提供されたフィードバックから学習し、そのフィードバックを使用して NLU モデルをさらに改善するための反復サイクルです。
30 日に 1 回、システムは VA チャットログから最大 300 件の発言サンプルを専門家フィードバックループにプルします。発言は、ログ内のすべての発言をどの程度適切に表しているかに基づいてフィードバック用に選択されます。VA チャットログからサンプリングされたすべての発言には、システムによって選択された予測インテントがあります。
glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_response_sizeシステムプロパティの設定を調整することで、VA チャットログからプルする発言の数を設定することもできます。
VA チャットログから発言をプルするプロセスの詳細については、以下の「オンデマンドで追加の VA フィードバックデータを取得」および「アクティブラーニングジョブの使用」のセクションを参照してください。
発言を確認しながら、各発言が予測されたインテントに属しているか、別のインテントに移動する必要があるかを判断します。正しいインテントが不明な場合は、さらにレビューするために再確認するように発言をマークできます。フィードバックで 100 件以上の発言をマークすると、システムはマークされたすべての発言を使用してモデルを調整し、改善します。
VA チャットログ発言の確認
ループに入ったので、次の画像に、VA モデルのインテントをサポートする NLU 発言のリストが表示されます。リストの各ページには、ページあたり約 20 件の発言が表示されます。目標は、各発言を確認し、特定の VA インテントとの関係ステータスをマークすることです。各発言に [NLU_Match]、[ 不一致]、または [不明] の値のいずれかを付けます。
発言を NLU_Match としてマークすると、その発言の NLU 予測に同意することを意味します。発言を 「不一致」 としてマークすると、その発言が別のインテントに属していることを意味します。 [不一致] を選択すると、正しいインテントを選択できるようにインテントのドロップダウンが表示されます。どのインテントが正しいかわからない場合は、[ 不明] としてマークできます。
NLU_Match値または [不一致] の値でマークされて保存された発言は、[完了したレビュー] セクションに移動されます。[ 不明] の値でマークされて保存された発言は、[ さらにレビューが必要 ] セクションに移動されます。
- [フィードバックループのエクスポート] 画面の上部で、プロンプト の専門家フィードバックループ でレビューするモデルを選択します。この機能内では、これらのモデルは主にレビューでマークする発言を格納するため、どのモデルを選択するかは関係ありません。したがって、この例のシナリオでは、5 つのインテントと、それぞれのインテント内に多くの発言がある IT モデル モデルを選択することにします。次の画像に示すように、確認する必要がある発言の数が、予測されたインテントの名前の横に表示されます。これらのモデルのインテントは、画面の [予測されるインテント ] 列に一覧表示されます。予測された任意のインテントの発言をレビューしてマークすることはできますが、インテントが最初に表示された順序でレビューを連続して完了することをお勧めします。たとえば、 ad_password_change インテントから始めて、他の予測インテントに進みます。
- ad_password_changeインテントをクリックして、その発言をレビューの [To Do] セクションにロードします。
- インテント内の 15 件の発言を確認します。このシナリオでは、「 AD パスワードを変更したい」 発言を ad_password_change インテントに一致するものとして正しくマークすることから始めました。
- [ フィードバックの保存] をクリックします。結果:マークした発言が画面の [完了 ] セクションに移動します。同時に、 To Do 発言の数は 15 から 14 に減少し、[ 完了] セクションのカウントは 0 から 1 に増加します。別の発言にも [ 不明] の値をマークしてその変更を保存した場合、[ さらにレビューが必要 ] セクションの発言の数も 0 から 1 に増加します。注:発言に最も一致するインテントがわからない場合は、[ 不明] の値でマークします。このアクションにより、発言が [ さらにレビューが必要] セクションに移動し、インテントと一致または不一致が容易な他の発言を [ To Do ] セクションでマークする時間が与えられます。いつでも [ さらにレビューが必要] セクションに戻って、特定のインテントに特定するのが難しい発言をマークできます。
- ステップ 1 〜 4 を繰り返しながら、[ 予測されるインテント ] 列の残りのインテントを移動します。
インテント内にパスワードという単語を含む発言が少なくとも 1 つあるため、ad_password_changeインテントの発言は予測されたインテントに一致するものとして簡単にマークできます。
予測されたインテントの発言のレビューを終了して [フィードバックを保存] をクリックすると、画面が更新され、モデル内の次の予測インテントが強調表示されます。
発言を値別にグループ化して表示する場合は、[ 表示 中] フィルターをクリックし、プロンプトでいずれかのオプションを選択します。値は、[ すべて]、[ NLU_Match]、および [不明] です。
カードビューオプションを使用した発言のレビュー
専門家フィードバックループの発言は、これまでに見た多くの画像に示されているように、デフォルトでリストビューの [ To Do ] セクションに表示されます。ただし、カード内にフレーム化された各発言を表示する別のビューを選択することもできます。このオプションを選択すると、各発言が 5 つのグループでページに表示されます。リストビュー内で、 カード アイコンをクリックします。
結果:カードビューがリストビューに置き換わります。発言カードのページの両側にある左右の矢印に注意してください。右矢印をクリックすると、ページが次の 5 枚のカードのセットにめくられます。左矢印をクリックすると、前の 5 枚のカードのセットにページがめくられます。カードビューではなくリストビューに戻す場合は、下の画像の右上隅に示す ようにリスト アイコンをクリックします。
発言値の変更
発言をマークしたが、選択した値に気が変わった場合は、[ 不一致] をクリックして別のインテントを選択することで問題を解決できます。[ フィードバックを保存 ] をクリックして変更を保存します。
未保存のフィードバック
発言をマークするセッションを終了してログアウトしたが、変更を保存するのを忘れた場合は、[表示中] プロンプトから [未保存の変更] を選択します。このアクションでは、フィードバックを提供したが、まだ保存していないすべての発言が表示されます。
オンデマンドで追加の VA フィードバックデータを取得
- nlu_admin ロールを使用して次の場所に移動 .
- [ アクティブラーニング] をクリックします。
- [今すぐ実行] をクリックします。
- 次の 4 つの NLU システムプロパティの値を増やしたり設定したりします。
- glide.mlpredictor.option.nlu.activeLearning.va_chat_logs.max_row_limit - 3000
- glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_data_size - 10000
- glide.mlpredictor.option.nlu.activeLearning.label_table.max_data_size - 10000
- glide.mlpredictor.option.nlu.activeLearning.label_candidate_table.max_response_size-300
これらのプロパティが他の NLU プロパティのコンテキスト内でどのように機能するかを確認するには、「 NLU ワークベンチ のプロパティ」を参照してください。
未分類の発言のレビュー
VA チャットログから専門家フィードバックループへのフィードの一部として、VA インテントに含まれていないインスタンス内の発言が収集され、リストに表示されます。これらの発言にアクセスするには、画面上部にあるプロンプトの専門家フィードバックループで [未分類] を選択します。
- [ 発言] 列で、リストから発言を選択します。
- [ 修正されたインテント] 列で、発言に最も一致すると思われるインテントとそのモデルをプロンプトから検索して選択します。
上の画像について、未分類の発言ページがどのように機能するかを説明するのに役立ついくつかの項目を、以下のように取り上げましょう。[ To Do ] セクションは、インテントに接続する必要がある発言を収集します。この特定の日には、そのような発言が 120 件あることがわかります。まだアクションを実行していないため、画面の [完了] セクションには発言がないことに注意してください。
また、画面の右端に垂直バーがあり、上下にスクロールして発言のリストを移動できます。このスクロール画面の下部には左右を指す矢印があり、その日の完全な発言リストの次または前のページに移動できます。
また、接続を行うアクションを実行すると、システムがアクションを認識して変更を自動的に保存するため、通常はデフォルトで有効になっている [フィードバックを保存 ] ボタンが非アクティブになることに注意してください。
[モデルを調整] フェーズでの専門家フィードバックループのデータ
専門家フィードバックループの [モデルを調整 ] ボタンは常に有効になっており、[専門家フィードバックループの完了 ] タブから モデルとそのテストセットに発言を移動するエクスペリエンスをサポートします。nlu_adminロールを使用して、モデルを調整または再調整する必要があるときにいつでもこのボタンをクリックします。
専門家フィードバックループで発言を確認した後、フィードバックデータの一部をモデルのデフォルトテストセットにプッシュできます。これらの発言は、モデルの [ テスト発言 ] タブに直接追加されます。これは、実際のエンドユーザーの発言でテストセットを継続的に維持および更新するのに役立ちます。システムは、テスト発言が専門家フィードバックループからのものか別のソースからのものかを可視化するために、テスト発言のソースを追跡します。
少なくとも 100 件の発言をマークして保存する前に [ モデルを調整 ] ボタンをクリックすると、下の画像のテキストで参照されているように、100 件の発言フィードバックの目標を超えると、モデルのパフォーマンスの品質が向上することが通知されます。
フィードバックデータをマークして保存し続けると、下の進捗状況バーの画像に、レビュー済みの発言 (緑色) とまだレビュー可能な発言 (白色) の比率が表示されます。
アクティブラーニングジョブの使用
スケジュール済みジョブは、バッチジョブまたはバッチスケジューリングとも呼ばれ、特定の時間または繰り返しスケジュールで実行される自動化された作業です。多くのジョブはスケジュールに従って実行されますが、ここでは例としてアクティブラーニングジョブに焦点を当てます。
- アクティブラーニングジョブが実行されるように設定される繰り返し頻度間隔を変更します。
- アクティブラーニングジョブに次回のスケジュール実行がいつ設定されるかを確認します。
- アクティブな学習ジョブをいつでも (オンデマンドで) 実行できます。
- nlu_admin ロールを使用して、[ すべて ] フィールドに移動して「 sysauto_script.list」と入力し、キーボードの Return キーを押します。画面が更新され、[スケジュール] ページが表示され、すべてのスケジュール済みジョブが一覧表示されます。
- [スケジュール] ページで、[ アクティブラーニング] をクリックします。次の画像に示すように、アクティブラーニングジョブのレコードが表示されます。
- [アクティブラーニング] レコードで、次のフィールドを設定します。
- [ 実行] フィールドで、ジョブの 8 つの [繰り返し間隔] オプションのいずれかを選択します。オプションは、[ 日次]、[ 週次]、[ 月次]、[ 定期的]、[ 1 つ]、[ オンデマンド]、[ ビジネスカレンダー:エントリ開始]、および [ビジネスカレンダー:エントリ終了] です。
- [ 繰り返し間隔 ] フィールドに、アクティブラーニングジョブの現在から次の繰り返し間隔までの日数を入力します。
- [ 開始] フィールドで、[カレンダー] アイコンをクリックし、次のアクティブラーニングジョブ間隔の日時を選択します。
- [ 更新 ] ボタンをクリックして構成を保存するか、[ 今すぐ実行 ] ボタンをクリックしてアクティブラーニングジョブの実行を開始します。
- 次のアクティブラーニングジョブがいつ実行されるかを確認するには、[ すべて ] フィールドに移動して 「sys_trigger.list」と入力し、キーボードの Return キーを押します。[スケジュール] ページが表示されます。[ アクティブラーニング] をクリックします。スケジュールアイテム/アクティブな学習レコードが表示され、[ 次のアクション ] フィールドに次のアクティブな学習ジョブを実行する日時が入力されます。