ナード戦隊データマン

データサイエンスを用いて悪と戦うぞ

Dialogflowでダイアログシステムを簡単作成

ダイアログシステムとは、ユーザの質問に対して回答を行うようなシステムの総称です。ここでは、Dialogflow( https://dialogflow.com/ )という無料のサービスを用いて、リクエスト曲のYoutubeリンクをレスポンスとして返すものを作ります。

登録

Screenshot from 2017-11-13 21-25-58.png

まず、dialogflowにAgentを追加します。Agentとは機能の単位のことです。ここでは、歌や音楽のYoutubeリンクを返してくれる日本語Agentを作成します。

エンティティの作成

Screenshot from 2017-11-13 21-30-15.png

次にエンティティを作成します。エンティティとは、質問や回答に含まれる主に名詞句のことです。artistsエンティティを作成することにより、アーティスト名を利用して回答できるようにします。

当然、このようなエンティティ作成は手間がかかるため、csvをアップロードして登録することもできます。

Screenshot from 2017-11-13 21-58-59.png

intentsの作成

それでは、intentsを作成します。intentsは、ユーザが投げるであろう質問を登録し、その質問に対してどのようなレスポンスを返すのかを定義します。

Screenshot from 2017-11-13 21-52-06.png Screenshot from 2017-11-13 21-52-58.png

目的はdialogflowを試しに使う程度なので、youtube検索結果URLをレスポンスとして投げます。このとき、検索結果URLにはエンティティ情報を使っています。

試す

Try itと書かれた検索バーにリクエストを入力すると、レスポンスを見ることができます。

Screenshot from 2017-11-13 22-05-14.png

Screenshot from 2017-11-13 22-05-36.png

運用する

運用するには、TwitterGoogle Assistantなどと連携するか、SDKにアクセストークンを渡すことで利用できます。

Screenshot from 2017-11-13 22-08-31.png

Screenshot from 2017-11-13 22-08-21.png

おわりに

まだまだ、詳しく調べてみれば様々な使い方がありそうですが、tensorflowなどを用いて一からダイアログシステムを構築するよりは簡単そうです。自然言語処理でなかなか成果が挙げられないという人は、このdialogflowを使うことを検討してみてはどうでしょう。

リンク

https://dialogflow.com/