Homeを購入しました。Homeと雑談がしたい。Homeができることを一つずつ見ていきましょう。前回、チャットボット開発に関する記事を執筆しました。今回はその流れで、AIスピーカーをチャットボット化してみようと思います。同様の製品がTVCMでも頻繁に流れ、今話題のジャンルのひとつです。「この波に乗りたい...でもいまいち何ができるかは分からない。」そんな方も多いかと思います。はじめは自分もその一人でした。大事なのは、「何ができるか」よりも「何がしたいか」。やりたかった事が1つだけありました。Homeと雑談がしたい。Homeができることを踏まえて、一つずつ見ていきましょう。Google、近くの美味しいラーメン屋さん教えて。Google」に続けて質問を投げると、Google検索の結果が帰ってきます。Siri」ですが、それも同じ機能ですね。Homeが答えてくれます。Homeが答えてくれるのは便利です。今日や週末の天気を尋ねるこれから出かける先までの交通情報を尋ねるこれから作りたい料理のレシピを検索するスポーツの結果速報を尋ねるなどといったことが主な使いみちかと思います。Homeから行えます。何が便利かといえば、アーティスト名や曲名ではなく、その時の気分を伝えればそれに合ったものを再生してくれるところでしょうか。スケジューラやタイマーとして使う「7時に起こして」や「25日に電気の支払日です、とリマインダーして」など、日々のタスクとあわせたスケジューラ管理が可能です。Homeを通じて確認することが可能です。Homeは、見たい番組を伝えるとそれを再生してくれます。Philips社のHueのようなLEDデバイスなら、「少し暗くして」と伝えると、照明の明るさを調整できます。いう事ができてくると、未来がかなり現実になったな、と思えますね。Homeに話しかけてみるでは実際に話しかけてみましょう。※音声が出ますのでご注意ください...ちょっと頭に入ってきませんね。HomeのようなAIスピーカーは、聴力に対して一定のリズムでしか話せないため、情報の理解力が落ちます。音楽の再生やデバイスの制御などには抜群の利便性を誇るスマートスピーカーですが、情報の取得の点においては、まだまだ課題レベル、改善の余地は多いにあると言ってよいでしょう。雑談するにはという事で、今回の本題です。やりたい事はただ1つ。Homeと雑談がしたい。」そのためには何をしないといけないのか?まずは対話の仕組みから見てみましょう。あるチャットボットのしくみ対話の仕組みを知るには、LINEなどのチャットボットを例にしてみると、理解が早いと思います。チャットツールで話しかけられると、その裏側で動いている自然対話処理サービスは、発話内容が記載されたファイル(一般的にはJSONファイル)を受信します。このファイルの中からユーザーがなんと言ったのか?が記された部分を抜き出し、そのように発言した場合はこう返す、というルールに乗っ取り返答分を適用します。これを、再度、チャットツールの仕様に沿った形でファイル化され(一般的にはJSONファイル)、チャットツールに送信。この内容が、返答内容として表示されます。Homeは、この処理の前後に「音声→テキスト化」「テキスト→音声化」の処理を挟んでいるだけだと思えば簡単です。Homeと対話ができるようになります。Home内部でこの処理の途中に外部サービスとの連携をしており、処理結果を返答文として発話しているに過ぎません。Assistant」と呼びます。Assistantが連携できれば、今回の目的である「自由な雑談」も可能ということです。Google」と「Dialogflow」になります。Assistant用のアプリケーションを開発できるサービスです。Assistantと自然対話処理サービスとの連携役を担ってくれます。Home用のアプリ開発もできるようになりました。Dialogflowは、米国で開発された多言語対応された自然対話処理プラットフォームです。2016年にGoogleが買収したことでGoogleのクラウドサービスの1つとして、自然対話部分を担うようになりました。Platform上で共通のプロジェクトを使用することで簡単に行うことができます。Homeとの対話がその通りに行うことができます。いう事で、早速試してみましょう。Dialogflowで雑談ルールを作ってみる雑談の難しいところは、「相手がどのような感情でそれを発言しているか?」を読み解かないと、適切な返事ができないところにあります。機械学習で言うところの「アノテーション」の作業が重要ということです。いう事で、3分クッキング的ではありますが、一般の雑談に見られる「発言の感情分類」を下記のように行ってみました。これくらいあれば、なんとか雑談ぽくできるのではないでしょうか。Dialogflowでは、ボットの事を「エージェント」と呼びます。今回ように作成したエージェントに、上記の33ルールを返答パターンも含めて設定をしていきます。Homeを連携させればOKです。ここまでノンプログラミングでできてしまうのが本当に素晴らしいです。○○につないで」と、エージェント名を呼んであげます。今回はコラム用という事で、エージェント名を「コラム」にしました。コラムを呼び出してみましょう。※音声が出ますのでご注意くださいこの後は、そのまま話しかければ、Dialogflowで設定したルールに沿って対話ができます。※音声が出ますのでご注意ください対話の間があることは仕方ないとして、まぁそれなりにスムーズな会話ではないでしょうか。気がかりなのは、「自分が設定した返答しか返ってこないこと」です。複数パターン登録することでランダムな返答はできますが、それでも固定の文章であることには変わりません。返答文も機械学習の結果から生成されるサービスを使って、この課題を解消してみましょう。docomoの雑談対話APIを利用してみるdocomoの「しゃべってコンシェル」というサービスはご存知ですか?かなり以前からある機能で、TVCMでも流れていたため、docomoユーザー以外でもご存じの方は多いのではないかと思います。ユーザーの音声による質問に対して、回答や操作が行えるサービスですが、この中の「雑談対話」のような事ができるAPIが、雑談対話APIになります。※機能としては異なるようです。supportに登録し、利用申請を行うことで利用することができます。これとDialogflowを連携させることで、こちらが設定した内容とは別の、自動生成された対話を行うことができるようになります。実際に連携してみました。Googleを通してできることは、まだまだたくさんあります。様々なインターネットサービスやIoT製品と組み合わせるられるということを、実はまだまだ知らない方も多いのが現状です。機械学習というとPythonができないといけない、というイメージもありますが、ノンプログラミングでもここまでできますし、JavaScriptやPHPと言ったWeb開発のスキルでもできる事は十分あります。興味のある方は、できるところから試してみてくださいね。登録拠点パソナテックは全国10拠点にて、転職相談・お仕事紹介・各種イベント・セミナーを実施しています。