Google Dialogflow ESとの接続 Google Dialogflow ESとの接続

Google Dialogflow ESとの接続

最終更新日:

準備する物

UneeQ Creator プラットフォームのアカウント

Google Dialogflowのアカウント

UneeQ Creator プラットフォームのアカウントの登録

1. 登録URL https://creator.uneeq.io/register
register

Company はDigital Himans, Inc.と併記いただくとJPリージョンとして管理できますので、お勧めです。

例: Digital Himans, Inc.(御社英名)

2. no-reply@uneeq.io より認証メールが届くので、メールに記載されているYour UneeQ verification codeを入力して下さい。

デジタルヒューマンの作成

3. 認証が完了するとデジタルヒューマンキャラクタと背景の選択、言語選択が出てきますので、適当な物を選択して設定を終えて下さい。

初期ステップで日本語が選べない場合は、適当な言語を選択して下さい。後ほど管理画面から変更するか、デジタルヒューマン株式会社にて日本語に設定変更いたします。

スクリーンショット 2020-10-01 9.44.37スクリーンショット 2020-10-01 9.44.46

4.作成されたPersonaの✎マークから詳細画面を開きます。

choose Persona

スクリーンショット 2020-10-01 16.15.30

フィールド 説明
Project Id あなたの Dialogflow エージェントのプロジェクト ID。これを見つけるには、Dialogflow コンソール内から Dialogflow エージェントの設定ボタンをクリックします。 demo001agent-yekb
Language ドロップダウンリストから Dialogflow エージェントに設定した言語を選択します。Dialogflow コンソールで、Dialogflow エージェントの設定ボタンをクリックし、言語タブを開き、設定した言語を確認します。 ja
Service Account Private Key File

Dialogflow ES へのリクエストに必要です。このファイルを入手するには、Dialogflow エージェントの設定ボタンをクリックし、Google プロジェクト ID をクリックして Google Cloud コンソールを開きます。ここから、Google のドキュメントに従ってプロジェクトの API を有効にし、サービスアカウントを作成して秘密鍵ファイルをダウンロードします。

詳細な手順は次の「DialogflowからProject IDとトークンを取得する」をご覧下さい。

(JSON 形式のファイル)

DialogflowからProject IDとトークンを取得する

5. Dialogflowページを開きます

Google Dialogflow https://dialogflow.cloud.google.com/

適切なAgentを選択し、歯車アイコンから詳細を開く

dialogflow_choose_agent

Project IDをコピーする
ここでは、demo001agent-yekb と書いてある文字列部分です。

文字列コピーが終わったら、そのままProject IDをクリックして、Google Cloud Platform(GCP)でトークンを取得します。

ProjectID

CGP上部のProject名を確認し、左メニューの IAMと管理 > サービスアカウント を開き、

token1

表示された表の名前がDialogflow Integrationsを探し、鍵を作成し保存してください。token2-1

キーのタイプは JSON です

token3

スクリーンショット 2020-10-01 16.18.52

6. Creatorプラットフォームページに戻って、ProjectIDを登録し、トークンをアップロードします。

① 任意のPersona名を設定(日本語不可)
② Dialogflow ESを選択
③ Project ID DialogflowでコピーしたProject IDをペースト
④ Japaneseを選択
⑤ Dialogflowから取得したJSON形式のトークンをアップロード
⑥ Japanese
⑦ お好きな合成音声を選択して下さい。

JapaneseSettings

作成したデジタルヒューマンのテスト

DialogflowのIntentsをある程度設定し、Try it now に任意のテキストをいれたら、Text Responseが返って状態にしておいてください。

シェアボタンかTRYから作成したデジタルヒューマンのテストが可能です。

dialogflow_choose_agent2

 

YouTubeで同様の手順を公開しています

微妙に仕様が変わっております。動画では、日本語未対応と記載しておりますが、2020/10/1より日本語が選択できるようになっています。

 

Dialogflow ESの使い方

Intentレスポンス
会話中にユーザーがペルソナに行ったリクエストは、UneeQのプラットフォーム上で音声認識され、エージェントに送信されます。Dialogflowへ渡されたテキストはIntent(インテント)と照合されます。インテントレスポンスは、デジタルヒューマンがユーザーにどのように返答するかを定義するために使用されます。

Text Reponse フィールドを使用して、デジタル ヒューマンに何を話させるかを定義します。

respons

サンプル

<uneeq:happy>いらっしゃいませ。私はデジタルヒューマンのソフィーです。こちらはデジタルヒューマン株式会社のラボです。</uneeq:happy>

 

また、必要に応じて音声応答と一緒に渡したいコマンドを送る場合は、Custom Payloadに設定を入れます。

cpayload

サンプル

{
  "instructions": {
    "displayHtml": {
      "html": "{\"suggestedResponses\": [{\"label\": \"こんにちは\",\"utterance\": \"こんにちは\"},{\"label\": \"何歳ですか?\",\"utterance\": \"何歳ですか\"}, {\"label\": \"綺麗だね\",\"utterance\": \"綺麗だね\"},{\"label\": \"最近なにしてましたか\",\"utterance\": \"最近なにしてましたか\"},{\"label\": \"君のボスは誰?\",\"utterance\": \"君のボスは誰?\"},{\"label\": \"あなたはチャットボットですね!\",\"utterance\": \"あなたはチャットボットですね!\"}, {\"label\": \"ランチは何が良いかな\",\"utterance\": \"ランチは何が良いかな\"}, {\"label\": \"さようなら\",\"utterance\": \"さようなら\"}]}"
    }
  }
}