このガイドでは、トピックモデルの作成、ファインチューニング、デプロイなどのオペレーションを行う方法について説明します。
始める前に
- 始める前にの手順を完了します。
サービス アカウントに割り当てられたロールに、トピックモデリングに使用するプロジェクトへの書き込み権限と、Cloud Storage API への読み取り権限があることを確認します。
次の 2 つのロールには書き込み権限があります。
- プロジェクト > オーナー
- プロジェクト > 編集者
会話のインポートに関するデータの推奨事項
V2 モデルは、次のガイドラインに従っていれば、小規模なデータセットでも使用できます。
- 会話は 100 件以上使用します。各会話には、エージェントと顧客の間で少なくとも 5 回のやり取りが必要です。
- 最適な結果を得るには、1,000 ~ 10,000 件の会話を使用することをおすすめします。
会話データは、音声ファイルまたは JSON 形式のテキスト ファイルとして指定できます。形式の詳細と、会話データを Cloud Storage にアップロードする手順については、会話データのリファレンスをご覧ください。
会話データをインポートしたら、API を使用して会話を一覧表示してフィルタできます。
トピックモデルの作成
次の手順に沿ってトピックモデルを作成します。
コンソール
Customer Experience Insights コンソールからトピックモデルを作成する手順は次のとおりです。
CX Insights コンソールに移動して Google アカウントでログインし、プロジェクトを選択します。
[model_training] [Topic models] > [+ Create New] をクリックします。
[モデルの表示名] を入力し、[モデルサイズ] を選択します。
省略可: 英語以外のモデルをトレーニングするには、[言語] リストから言語を選択します。CX Insights は、フランス語、ドイツ語、イタリア語、スペイン語、ポルトガル語をサポートしています。これにより、トレーニング中に使用する選択した言語の会話が自動的にフィルタされます。
[続行] をクリックします。
会話をすべてインポートするか、フィルタするかを選択します。[インポートした会話をフィルタ] を選択した場合は、フィルタを選択して [続行] をクリックします。
省略可: [業界テンプレート] を選択して、[続行] をクリックします。
カスタム トピックを入力またはアップロードします。
[トレーニングを開始] をクリックして、新しいトピックモデルのトレーニングを開始します。
REST API
CX Insights API からトピックモデルを作成する手順は次のとおりです。
issueModelリソースでcreateメソッドを呼び出します。- モデル定義を使用して、作成リクエストを CX Insights API に送信します。
- 表示名とトレーニング データ構成に加えて、リクエストにモデルタイプ
TYPE_V2を含める必要があります。 - 必要に応じて、リクエストで
language_codeフィールドを指定して、特定の言語のモデルをトレーニングできます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: プロジェクト ID。
- MODEL_NAME: 新しい問題モデルの名前(人が読める形式)。
HTTP メソッドと URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/issueModels
リクエストの本文(JSON):
{
"display_name": "my new test model",
"input_data_config": {
"filter": "medium=\"CHAT\"",
"custom_taxonomy": {
"taxonomy_entries": [
{
"display_name": "reschedule car service"
},
{
"display_name": "problem with windshield wipers"
}
]
},
"industry": "auto",
"issue_granularity": "STANDARD"
},
"model_type": "TYPE_V2",
"language_code": "en-US"
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID"
}
オペレーションのステータス
トピックモデルの作成は長時間実行オペレーションです。これは次の 2 つを意味します。
- 実行時にエンドユーザーとの会話中にトピックモデルを作成することはできません。
- トピックモデルの作成には時間がかかり、トレーニング データセット内の会話の数によって異なります。会話数が 1,000 件のジョブを完了するまでに 1 時間以上かかることがあります。
このような制限はありますが、オペレーションのステータスを ポーリングして、完了したかどうかを確認できます。
トピックモデルのファインチューニング
CX Insights コンソールを使用してトピックリストを変更し、今後のトピック割り当てを改善します。
トピックを追加または編集
モデルでまだ表現されていない領域をカバーするトピックを追加して、トピックリストを変更できます。トピックを追加する手順は次のとおりです。
- [トピックモデル] ページで、トピックモデルのいずれか > [トピックを追加] をクリックします。
[トピック名] と [トピックの説明] を入力して、[完了] をクリックします。
トピック名や説明を更新して、一致させる必要がある会話のトピックをより適切に記述したり、ビジネス ユースケースに適合させたりすることもできます。トピック名または説明を編集する手順は次のとおりです。
- トピックリストでトピックに移動し、more_vert > edit [**トピックを編集**] をクリックします。
- 名前と説明を入力して、[完了] をクリックします。
トピックを削除する
CX Insights コンソールで、次の手順に沿って、最終的なトピックリストとトピック推論の結果からトピックを削除します。
- CX Insights が有効になっているプロジェクトを選択します。
- [model_training] [Topic Models] をクリックして、トピックモデルを選択します。
- トピックに移動して、more_vert > do_not_disturb_on [トピックを削除] をクリックします。
トピックモデルをデプロイする
次の手順に沿って、CX Insights コンソールからトピックモデルをデプロイし、今後の会話の分析に使用できるようにします。
- CX Insights コンソールで、[model_training] [トピックモデル] をクリックします。
- トピックモデルに移動して、more_vert > [デプロイ] をクリックします。
会話を再分析する
既存の分析に新しい変更を適用するには、次の手順に沿って CX Insights コンソールで会話を再分析します。
- [news] [Conversation Hub] をクリックします。
- 次のいずれかを選択します。
- 1 つの会話を再分析するには、リストから会話を選択して [再分析] をクリックします。
- 一括分析を行うには、[会話履歴] に移動し、会話フィルタを [分析ステータス = 分析済み] に設定して、[分析] をクリックします。
トピックを推測する
リアルタイム トピック推論を使用すると、会話中に以前に作成したトピックモデルを使用して、トピックをリアルタイムで推測できます。 次の手順に沿って、CX Insights API を使用して、実行時にエンドユーザーの発話のトピックを推測します。
analysesリソースのcreateメソッドを呼び出します。- すべてのアノテーターを実行するには、アノテーター セレクタを指定せずに
createメソッドを呼び出します。 - トピック推論の結果は
analysisResultリソースにあります。
トピックモデルのデプロイ解除
デプロイしたトピックモデルを変更してから新しい会話の分析に使用する必要がある場合は、CX Insights API を使用してデプロイを解除できます。
-
issueModelリソースのundeployメソッドを呼び出します。
モデルのデプロイ解除は長時間実行オペレーションです。オペレーションのステータスを ポーリングして、完了したかどうかを確認できます。
トピックモデルを削除する
最後に、CX Insights API を使用してトピックモデルを削除できます。
-
issueModelリソースのdeleteメソッドを呼び出します。
トピックモデルの削除も長時間実行オペレーションであるため、ステータスをポーリングして完了したかどうかを確認できます。