ダイアログシステムとは、ユーザの質問に対して回答を行うようなシステムの総称です。ここでは、Dialogflow( https://dialogflow.com/ )という無料のサービスを用いて、リクエスト曲のYoutubeリンクをレスポンスとして返すものを作ります。
登録
まず、dialogflowにAgentを追加します。Agentとは機能の単位のことです。ここでは、歌や音楽のYoutubeリンクを返してくれる日本語Agentを作成します。
エンティティの作成
次にエンティティを作成します。エンティティとは、質問や回答に含まれる主に名詞句のことです。artistsエンティティを作成することにより、アーティスト名を利用して回答できるようにします。
当然、このようなエンティティ作成は手間がかかるため、csvをアップロードして登録することもできます。
intentsの作成
それでは、intentsを作成します。intentsは、ユーザが投げるであろう質問を登録し、その質問に対してどのようなレスポンスを返すのかを定義します。
目的はdialogflowを試しに使う程度なので、youtube検索結果URLをレスポンスとして投げます。このとき、検索結果URLにはエンティティ情報を使っています。
試す
Try itと書かれた検索バーにリクエストを入力すると、レスポンスを見ることができます。
運用する
運用するには、TwitterやGoogle Assistantなどと連携するか、SDKにアクセストークンを渡すことで利用できます。
おわりに
まだまだ、詳しく調べてみれば様々な使い方がありそうですが、tensorflowなどを用いて一からダイアログシステムを構築するよりは簡単そうです。自然言語処理でなかなか成果が挙げられないという人は、このdialogflowを使うことを検討してみてはどうでしょう。