多言語エージェント

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

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

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

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

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

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

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

言語を追加する

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

  1. 左側のサイドバー メニューで、既存の言語の横にある言語の追加()ボタンをクリックします。
    自動的にエージェント設定の [Language] タブに移動します。
  2. [Select Additional Language] プルダウン メニューから言語を選択します。
  3. ロケールを追加するには、ルート言語にカーソルを合わせ、[+ Add locale] をクリックします。
  4. [保存] をクリックします。

多言語インテントとエンティティ データ

インテント データとエンティティ データの場合、多言語エージェントのすべての言語に共通のデータと、言語固有のデータがあります。

言語全般のインテントとエンティティ データ

言語全般のインテントとエンティティ データは、エージェントがサポートするすべての言語で共通です。特定の言語がコンソールで選択されたり、API で指定されたりする場合でも、このデータはすべての言語で共有されます。たとえば、次のデータは言語全般に適用されます。

言語固有のインテントとエンティティ データ

言語固有のインテントとエンティティのデータは、エージェントがサポートする各言語で一意です。このデータを言語ごとに提供する必要があります。コンソールから言語を選択するか、API で言語を指定したときには、その言語に関するデータにアクセスできます。言語固有のデータの完全なリストは次のとおりです。

コンソールで言語固有のデータにアクセスするには、エージェント名の下にある言語ボタンをクリックします。

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

API を使用して言語固有のデータにアクセスするには、EntityType またはインテント タイプを取得、作成、または更新する際に language_code パラメータを指定します。すべての言語固有データにアクセスするには、言語ごとに個別の API 呼び出しを行う必要があります。API 呼び出しで言語全般のデータが更新されると、そのデータはすべての言語で更新されます。

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

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

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

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

サポート対象言語を指定しないリクエスト

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

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

統合

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