多言語エージェント

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 に言語を指定すると、その言語の言語固有のデータにアクセスできます。言語固有のデータの完全なリストは次のとおりです。

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

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

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

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

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

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

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

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

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

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

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

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

統合

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