Edited at

【ビール女子麦子さん②】 IBMWatsonとGoogleHomeでしゃべる麦子さんを作ってみた


1.はじめに

以前、以下のクラフトビール好きのLINEBot「麦子さん」を作りました。

【ビール女子麦子さん】 IBM WatsonとLINEでbotを作ってみた

https://qiita.com/paco_itengineer/items/5981c22edc60494383e6

でも、ビールを飲んで酔いが回ってくると、スマホでLINEに文字で入力することが面倒くさくなってきて、「音声入力できればいいのに!」と思うようになりました。そこで、今回は、以前作ったWatson Assistantの会話の仕組みをもとにGoogleHomeMiniでしゃべらせる仕組みを作ることにしました。

ちなみに、GoogleHomeMiniはゴールデンウィーク(今年は10連休!)のセールで、半額の3,250円でゲットしました🌟


2.つくるもの

ビールに好きのWatsonチャットボット「麦子さん」を、GoogleHomeMiniにつないで音声で対話できるようにする!

・IBMCloud の WatsonAssistant

・node-RED

・Actions on GoogleのActions SDK

(最初Dialogflowを使ったのですがうまくいかず、Actions SDKにしました)

イメージ画像.png


3.参考にした資料

以下の2つの記事を参考にさせていただきました。最初は①に従って進めていたのですが、DialogflowからWatsonにつなぐ部分で行き詰ってしまい、②のやり方に変更しました。

①Google Home MiniとWatson Assistantを連携する

https://qiita.com/e21084/items/38e2407e3b6fff0e40f3

②GoogleHomeとWatsonでChatbotを作ってみた

https://qiita.com/ymunemasa/items/0bdcbc8cc39a1ab79ea0


4.作り方

基本的には②に従って設定すればOKなのですが、はまった部分がいくつかありましたので記しておきます。


(1)gactions CLIの使い方

私は②の記事の「1.固定メッセージを返すbotを作る」「Action Packageを作成する。」の部分ではまってしまったので手順を記しておきます。

参考までに、公式ドキュメントでは以下のページの「Create an Action package」の部分に記載されています。

Create a Project and Action Package

https://developers.google.com/actions/sdk/create-a-project


①gactions CLIのダウンロード

まず、gactions CLIをダウンロードします。

https://developers.google.com/actions/tools/gactions-cli

Gaction01.png


②gactions.exeをユーザーホーム下に置く

ダウンロードしたgactions.exeをユーザーホーム下に置きます。

C:\Users\XXXX(ユーザ名)\gactions.exe


③初期化する

コマンドプロンプトからgactions init を実行します。


※gactions CLIについての補足

私は当初、適当な場所に置いて実行して「あれ?うごかない!」となっていました。そこで、手っ取り早く動かすためにユーザーホーム下に置いてしまいましたが、「環境変数でパスを通しておく」というのが正しいやり方な気がします。よくよく見ると、公式ドキュメントにも書いてありましたね。


(2)GoogleHomeMiniへのつなぎ方

②の資料の「3.Watson Conversationの会話フローを作成する」の部分は、すでにLINE用の麦子さんBOTとして構築済みだったので、「2.Watson Conversationサービスに接続する」まで終わったところで、GoogleHomeにしゃべらせようとしたのですが、やり方がわからなくてはまりました。

この時点では、PC上のAction on googleのシミュレータでは実行できるのですが、どのようにGoogleHomeにつなぐのかわからないという状態でした。

やり方は簡単でした。「Action on googleを開発したアカウントを、GoogleHomeアプリでGoogleHomeと連携する」でした。当たり前といえば、当たり前なのですが、私はGoogleHome用のGoogleアカウントと普段使い用のGoogleアカウントを別にしていたのでここではまりました。


5.できあがり!

こんな感じで出来上がりました。実際にはGoogleHomeMiniで発話できているのですが、動画で残すのがむずかしいので、スマホのGoogleAssistantで実行した結果をはっておきます。

音声入力だと、誤認識をしたり、漢字への変換誤りがあったりして、思うように反応しないこともあります。「麦子さん」はよく「まきこさん」と認識されてしまうので、もうすこし発音しやすいキャラ名にすればよかったなーと思っています。

※動画編集で早送りしているので、アシスタントの声は少し高く早口になっています。