Google Dialogflow ESとの接続

💡
このドキュメントは古い可能性があります。仕様変更やプラットフォームの世代交代のため、新しいドキュメントが公開されている場合があります。

ここではGoogleが提供するNLPのDialogflowとデジタルヒューマンを接続します。

準備する物

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

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

プランやご契約によってはCreatorをご提供していない場合があります。その場合はこのページの方法は利用できず、カスタマーサクセス・チームが設定を行います。

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

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

Notion image
Notion image

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

Notion image
Notion image
フィールド
説明
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とトークンを取得する

Dialogflowページを開きます : 

 

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

Notion image

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

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

Notion image

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

Notion image

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

Notion image

キーのタイプは JSON です

Notion image
 
Notion image

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

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

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

Notion image

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

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

 

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

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

Dialogflow ESの使い方

Notion image

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

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

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

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

最終更新日 January 1, 2023