多言語エージェント

Dialogflow は多くの言語をサポートしています。完全なリストは、言語のリファレンス ページをご覧ください。エージェントの作成時に選択した言語が、デフォルト言語として設定されます。また、追加の言語を設定できます。

ルート言語およびロケール固有の言語

言語には次の 2 つのカテゴリがあります。

  • ルート言語: English (en) のように、地域を限定しない言語です。
  • ロケール固有の言語: English - US (en-US) のように、特定の地域や国などを限定するロケール固有の言語です。

一部の言語は、ルート言語とロケール言語の両方として機能します。このような言語にはロケールに大幅な相違があるため、共通のルート言語を使用することができません。例:

  • 中国語(広東語) - 香港(zh-HK)
  • 中国語(簡体字)- (zh-CN)
  • 中国語(繁体字)- 台湾(zh-TW)
  • ポルトガル語 - ブラジル(pt-BR)
  • ポルトガル語 - ポルトガル(Pt)

エージェントを主にルート言語向けに設計し、必要な場合に限り、ロケール固有の言語向けにカスタマイズしてください。

言語を追加する

Dialogflow コンソールを使用して言語またはロケールを追加するには:

  1. Dialogflow CX Console を開きます。
  2. エージェントの GCP プロジェクトを選択します。
  3. リストでエージェントを見つけます。
  4. エージェントの表示名をクリックします。
  5. [エージェント設定] をクリックします。
  6. [言語] タブをクリックします。
  7. 必要に応じて言語を追加または削除します。
  8. [保存] をクリックします。

言語固有のデータ

ほとんどのエージェント データは、多言語エージェントのすべての言語で共通です。ただし、エンドユーザーとのやり取りに使用されるテキストは、言語固有です。多言語エージェントを作成するときは、言語ごとにその言語固有のデータを指定する必要があります。コンソールから言語を選択するか、API に言語を指定すると、その言語の言語固有のデータにアクセスできます。言語固有のデータの完全なリストは次のとおりです。

コンソールで言語固有のデータにアクセスするには、コンソールの上部にある言語ボタンをクリックします。

言語スクリーンショットの選択

たとえば、以下の「size」エンティティ タイプは T シャツを注文する際に使用されます。当初、このエージェントは英語で構成されたため、エンティティには「S」とその同義語の「small」といったエントリがあります。スペイン語が言語として追加されると、Dialogflow によって新しい言語のエンティティが作成されますが、エンティティのエントリはユーザーがスペイン語で指定する必要があります。

エンティティのスクリーンショット

API を使用して言語固有のデータにアクセスするには、EntityTypeIntent または Page タイプを取得、作成、または更新する際に languageCode パラメータを指定します。

EntityType リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST EntityType リソース EntityType リソース
RPC EntityType インターフェース EntityType インターフェース
C++ EntityTypesClient 利用できません
C# EntityTypesClient 利用できません
Go EntityTypesClient 利用できません
Java EntityTypesClient EntityTypesClient
Node.js EntityTypesClient EntityTypesClient
PHP 提供なし 利用できません
Python EntityTypesClient EntityTypesClient
Ruby 提供なし 利用できません

インテント リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST インテント リソース インテント リソース
RPC インテント インターフェース インテント インターフェース
C++ IntentsClient 利用できません
C# IntentsClient 利用できません
Go IntentsClient 利用できません
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP 提供なし 利用できません
Python IntentsClient IntentsClient
Ruby 提供なし 利用できません

ページ リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST ページリソース ページリソース
RPC ページ インターフェース ページ インターフェース
C++ PagesClient 利用できません
C# PagesClient 利用できません
Go PagesClient 利用できません
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP 提供なし 利用できません
Python PagesClient PagesClient
Ruby 提供なし 利用できません

すべての言語固有データにアクセスするには、言語ごとに個別の API 呼び出しを行う必要があります。API 呼び出しで言語全般のデータが更新されると、そのデータはすべての言語で更新されます。

シミュレータでテストする

シミュレータを使用するときは、使用する言語をエージェント名の下にある言語から選択します。

API を使って言語を指定する

API 経由でリクエストを送信する場合は、detectIntent メソッドの queryInput.languageCode フィールドを設定します。詳しくは、Sessions タイプをご覧ください。

セッション リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST セッション リソース セッション リソース
RPC セッション インターフェース セッション インターフェース
C++ SessionsClient 利用できません
C# SessionsClient 利用できません
Go SessionsClient 利用できません
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP 提供なし 利用できません
Python SessionsClient SessionsClient
Ruby 提供なし 利用できません

エージェントの言語を指定しないリクエスト

Dialogflow が、エージェントでサポートされている言語を提供しないリクエストを受信すると、以下のルールが適用されます。

  • リクエストが言語を提供しない場合、Dialogflow はデフォルトの言語を使用してリクエストを処理します。
  • リクエストがエージェントでサポートされていないロケール固有の言語を指定していても、関連付けられているルート言語がエージェントでサポートされている場合、Dialogflow はルート言語を使用してリクエストを処理します。
  • システム エンティティの抽出は、前述のルールの例外です。システム エンティティの抽出では、ロケール固有の言語がエージェントによってサポートされない場合でも、提供されたロケール固有の言語を使用します。

統合

テキストベースの統合によるエージェントの対話では、エージェントのデフォルトの言語のみが使用されます。