LoginSignup
5
6

More than 5 years have passed since last update.

Dialogflowを使ってGoogleHomeアプリを作ってみた

Last updated at Posted at 2018-04-19

概要

寂しい夜はGoogleHomeともっと会話したい?と思って勉強した内容の備忘録です。
ももクロちゃんの名前を言うと担当カラーを教えてくれるだけのアプリを作成しました。

参考にしたサイト

前提条件

  • Dialogflowが使用できる(要Googleアカウント)
  • インターネットに接続されたPythonが動作するWebサーバが使用できる

Dialogflowでテストアプリの作成

  • GoogleアカウントでDialogflowにログインし「CREATE AGENT」をクリック
  • 「Agent name」に「MyApp(任意)」を入力、「DEFAULT LANGUAGE」は「Japanese-ja(任意)」を選択し、「CREATE」をクリック

ENTITYの作成

  • 左カラムの「Entities」をクリックし、中央カラムの「CREATE ENTITY」をクリック
  • モノノフ仕様で、「Entity name」は「mcz」で以下のようにエントリーしました(このあたりはご自由に)

a.JPG

  • 「SAVE」をクリック

INTENTの作成その1

  • 左カラムの「intents」をクリックし、中央カラムの「Default Welcam Intentt」をクリック
  • 「Training phrases」に「百田夏菜子は何色担当?」と入力しEnter
  • 「百田夏菜子」が黄色く網掛けされるはず

b.JPG

  • 「Action and parameters」に値が入力されているので「REQUIRED」をチェック

c.JPG

  • 「Responses」は使用しないので「Text responses」はすべて削除

d.JPG

  • 「SAVE」をクリック

Fulfillmentの設定

  • 左カラムの「Fulfillment」をクリックし、中央カラムの「Webhook」を「ENABLED」に設定
  • 「URL」にこれから作成するアプリのURLを記載する

e.JPG

  • 「SAVE」をクリック

INTENTの作成その2

  • 左カラムの「intents」をクリックし、中央カラムの「Default Welcam Intentt」をクリック
  • 「Fulfillment」の「Enable webhook call for this intent」を有効に設定

f.JPG

  • 「SAVE」をクリック

スクリプトの作成および配置

Fulfillmentの設定で指定した場所にスクリプトを配置します。

mcz.py
#!/usr/local/bin/python2.7
# -*- coding: utf-8 -*-

import json
import sys

input = json.load(sys.stdin)
print("Content-type: application/json\n\n")

message = input["result"]["parameters"]["mcz"]

if message == u"百田夏菜子":
    answer = "赤です"
elif message == u"玉井詩織":
    answer = "黄色です"
elif message == u"佐々木彩夏":
    answer = "ピンクぅ?"
elif message == u"高城れに":
    answer = "紫族です"
else:
    answer = "わかりません"

output = {
    "speech": answer 
}

json.dump(output, sys.stdout)

動作確認その1

右カラムの「Try it now」に「あーりんは何色?」と入力したら、「DEFAULT RESPONSE」に「ピンクぅ?」と返ってきました。

g.JPG

動作確認その2

左カラムの「Integrations」をクリックし、中央カラムの「Google Assistant」をクリック。次の「Google Assistant」画面は「TEST」をクリックで、GoogleHomeと会話を開始することが可能です。

私「OK,Goolge テスト用アプリにつないで」
グーグルホーム「はい テスト用アプリのテストバージョンです」
私「玉井詩織」
グーグルホーム「黄色です」
私「れにちゃん」
グーグルホーム「紫族です」
私「とめて」

ってな感じで会話というか、反応があれば成功です。

最後に

解説なくてすみません。
多分間違いも多いと思います。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6