Sakai

システムブログ

Diagflowで、BOTを作成

こんにちは
システム部の酒井です。
暑かったり寒い日がつづきますが、体調に気を付けてくださいね。
先日Google Homeが日本でも発売されました。
Google Homeは、「Google Assistant」サービスと呼ばれる音声認識AIが搭載
されているスマートスピーカーです。

彼に、命令をさせる技術の一つに「Diagflow」があります。

「Diagflow」とは、プログラミングを必要とせず、人間がしゃべる、入力されるパターンを管理して簡易的に応答プログラムができるエージェントです。
GoogleHome、LINE、Facebookメッセンジャーへの繋ぎこみの機構が用意されていますので、サーバーの準備やプログラムを書かなくても、
応答プログラムを用意することができます。
試しに動かせるというので、「味噌ラーメンをください」と書き込んだ時に「わかりました」と応答するエージェントを組み合わせてみました。

1 エージェントを登録します。
BOTの名前となる名前を書いて 言語を「日本語」にして保存
お好みでBOTの画像と説明を登録することができます。

2 エンティティを登録します。
エンティティは、ユーザー入力から得られる値の定義です。
エンティティ名をRamenMenu、値を変数名をmisoramen値を「味噌ラーメン,みそラーメン,みそらーめん」もう一つの括りにrice 値を「rice,白米,ごはん」で入力してSAVE

3 インテントを登録します。
インテントは、ユーザーが発言したらどのように返すかの定義を纏めるところです。
UserSaysに「ラーメンをください」と入力してEnterキーを押すと、エンティティが認識されます。
「ラーメン」の部分は @ramen_menu 、「をください」と定義しておくことで、先ほどエンテティで登録したメニューを引っかけて認識するようになります。

action欄には@ramen_menu どの文字に対応するかを登録します。

TEXTレスポンス に 「わかりました」という文字列を返すように登録します。


こうして、BOTが完成しました。

認識の精度についてはこちらのBOTの定義とユーザーの書き込んだ認識で
向上していきます。

「わかりました」の部分に、javascriptのプログラムを登録可能のため、応答した後プログラムに任せることも可能です。

感想としては、
日本語の認識を作りこむのはすごく難しいものですが
この部分を肩代わりしてくれるのは素晴らしいと感じました。

https://dialogflow.com/
動作デモ

動作イメージ

2017.11.08|Sakai

関連記事

コメント