自然言語処理を容易に実装できるDialogflow(旧:API.AI) を使ってみる #dialogflow
API.AIってなに?
API.AIは自然言語で会話できるボットを作るためのツール(API)を提供するサービスです。2016年9月にAPI.AIのチームをGoogleが買収しました。
API.AIを育てると頭が良くなる!
自然言語には、分かりにくい表現や特定の環境でのみ使用する言葉が存在します。こういった微妙なニュアンスの違いや、業界用語、方言などをAPI.AIに学習させれば適切な処理を行う手助けをしてくれます。
API.AIのすごいところ
★SDKが豊富
以下のプラットフォームのSDKを提供しています。
- Android
- iOS / Watch OS / Mac OS X
- Ruby
- Webkit HTML5
- Javascript
- Node.js
- Cordova
- Unity
- .NET(WP8,W10)
- C++
- Xamarin
- Python
- PHP(Community supported)
- Java
★ノンコーディングで作成できるシンプルなコンソールを提供している
API.AIを使ってみよう
コーディングが不要なので非エンジニアでもできます。
API.AIの登録
API.AIでサインアップをしてください。
Create new agentをクリック
以下の内容で保存します
- Agent name:ラーメン
- Agent type:Public
- DESCRIPTION:これはラーメン屋のプロジェクトです
- LANGUAGE:日本語
- DEFAULT TIME ZONE:(GMT+9:00) Asia/Tokyo
Entitiesを作成する
Agentの作成が終わったらEntitiesというタブをクリックしてください。
Entities名にRamenMenuと入れます。
Entitiesは自然言語を認識するための単語をまとめておくところです。
Entryにラーメンのメニューをどんどん入れていきます。
Enter reference value...には idを
Enter sysnonym... には キーワードになる単語を入れてください。
入力が終わったら保存します。
Intentsの作成
自然言語を処理するIntentsを作成します。IntentsタブよりIntents編集画面を開きCreate Intentをクリックしてください。
Intent nameにOrderと入れます。
Action にorderといれます。
User says に「RamenMenuをお願いします。」と入力し、RamenMenuをクリックし先ほど作成したRamenMenuを選択します。
すると自動的にPARAMETER NAME ENTITY VALUEが入ったと思います。
最後にText responseに「かしこまりました。」と登録します。
入力が終わったら保存しましょう。
話しかける
右のテキストバーから、テキストもしくは音声で「味噌ラーメンをお願いします。」と入力してください。
このように「かしこまりました」と結果が帰ってくれば成功です。
Show jsonをクリックすれば詳しい情報を取得することができます。
{
"id": "",
"timestamp": "2017-02-23T06:44:00.057Z",
"lang": "ja",
"result": {
"source": "agent",
"resolvedQuery": "味噌ラーメンをお願いします",
"action": "order",
"actionIncomplete": false,
"parameters": {
"RamenMenu": "miso_ramen"
},
"contexts": [],
"metadata": {
"intentId": "",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "Order"
},
"fulfillment": {
"speech": "かしこまりました。",
"messages": [
{
"type": 0,
"speech": "かしこまりました。"
}
]
},
"score": 1
},
"status": {
"code": 200,
"errorType": "success"
},
"sessionId": ""
}
ちゃんとこの2つが取れましたね。あとはこの情報をもとに適切な処理を行えば、BOTの完成です。簡単ですね。
"action": "order"
"RamenMenu": "miso_ramen"
失敗した時/他の言葉で注文したい時
失敗した時はとにかくUser sayに入力し学習させてください。使えば使うほど頭が良くなります。またこのままだと1対1のコマンドなだけなので、どんどんユーザーが発しそうな言葉を予想してUser saysに入力します。
学習させる(保存を忘れずに!!)
まとめ
いかがだったでしょうか。API.AIを使用すれば簡単に自然言語処理のツールを作成することができます。API.AIを活用し、自分のサービスに自然言語を活用したインターフェイスを採用してみてはいかがでしょうか。
ネクストチャレンジ!
参考にしたリンク
Author And Source
この問題について(自然言語処理を容易に実装できるDialogflow(旧:API.AI) を使ってみる #dialogflow), 我々は、より多くの情報をここで見つけました https://qiita.com/flatfisher/items/76bc86b65e5f2150a1a0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .