多言語エージェント

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

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

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

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

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

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

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

言語を追加

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

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

言語固有のデータ

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

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

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

エンティティ 類義語
XS XS, extra pequeño
S S, pequeño
M M, medio
L L, grande
XL XL, extra grande

API を使用する場合の言語固有のデータ

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

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

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

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

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

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

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

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

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

統合

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