思ったよりカンタン。無料API『wit.ai』で、チャットボットにAIを搭載してみた手順全無料API『wit.ai』で、チャットボットにAIを搭載してみた全手順

このエントリーをはてなブックマークに追加


こんばんわこんばんわ。

やってみたコーナーの今回のお題はFacebookでも「Hey Siri」のようなことができちゃうという噂の『wit.ai』。これを30分で試してみた手順を公開してみようと思います。

最初にデモでどんな事ができるのか確認

wit.aiのデモ画面

>>https://labs.wit.ai/demo/index.html

まずは上記リンクをクリックして画面を開いたらマイクのアイコンをクリックして画面に向かって叫びましょう。

「ターノンザティーヴィーッ!!」(叫び終わったらもう一度マイクのアイコンをクリック)

どうです?TVはつきましたか?

筆者のつたない英語でも解析してもらえたのでみなさんも大丈夫だったかと思います。

ここでマイクの左側に注目して「text」が読み取った文章、「intent」が読み取った文章から発行されるイベント。この場合は「テレビのオン」になります。

で、今回はこれをアプリに組み込む為のクイックスタートを公式のガイドに従って試してみます。

まずは wit.ai のアカウントを作ってみる

wit.aiのアカウント登録

まずはwit.aiのページからアカウントを登録しましょう。

GitHubかFacebookアカウントでログインできるので、アカウント自体はすぐ作成できます。サクッとしてアカウント登録します。

>> wit.ai アカウント登録

アカウントができたら即アプリを登録

wit.aiアプリを登録

画面右上の+アイコンなどから新規アプリを登録していきます。あんまり考えずに、アプリ名と概要は好きに入れてください。

Languageは日本語も対応しているようですがまだまだ言語解析では英語の方が進んでいる様ですのでとりあえず「English」で。

登録したアプリ上で会話のストーリーを作る

会話のストーリーを登録する

今回作ってみる会話の流れは、ざっくり以下の様な感じになります。

  1. 「天気教えて?」→bot「オーケーオーケーどこの天気だい?」
  2. 「ロンドン」(地域はどこでも可)→bot「そこは晴れてるよ」

それでは、流れにしたがってストーリーを埋めていきます。

1.「天気教えて?」→bot「オーケーオーケーどこの天気だい?」

  • まずは User says の枠に “What’s the weather?”
  • 次に Bot sends に “Where exactly?”と入れます。

2.「ロンドン」(地域はどこでも可)→bot「そこは晴れてるよ」

  • 1の会話の後の User says の枠に “in London” Londonの部分を選択した状態でAdd a new entity 枠に wit/location を設定します。
  • bot側の merge の Add context field 枠に “loc” と入力。
  • さらに Bot executes を追加して “fetch-weather” と入力 Add a new Context field には“loc” “forecast” と入力。
  • 最後に Bot sends に “I see it’s {forecast} today!” と入力します。

会話のストーリーを完成させる

はい。と、ここまで来たら会話部分は完了です。

次に、天気を返すロジック部分を実装していきます。

唐突ですがnode.jsのインストールです

いきなりハードル上がりますが、クイックスタートのスクリプトはnode.jsで動くので普段利用しているWindowsやMacにあったnode.jsをインストールしましょう。

>>node.jsの公式サイト

node.jsのインストール

ちょっと面倒ですが、こいつの設定が完了すると、いよいよAIの設置になります。頑張ります。

macでの環境設定 | Windowsの場合

wit.aiのクイックスタートスクリプトの設置

GitHubからクイックスタートスクリプトをコピー(クローン)して設置します。

>>node-witのリポジトリ

コンソール画面から)

[code]git clone git@github.com:wit-ai/node-wit.git
cd node-wit
npm install[/code]

そしていよいよ会話してみます

まずはいったん wit.ai の管理画面に戻り、アプリの『Settings』から Server Access Token をメモしておきましょう。

コンソール画面から)
[code highlight=”2,6″]node examples/quickstart.js [Server Access Token]

what’s the weather?
Executing merge action
Executing say with message: Where exactly?
Where exactly?
in Paris
Executing merge action
Executing action: fetch-weather
Executing say with message: I see it’s sunny today!
I see it’s sunny today!
[/code]

こんな感じです。

分かりますでしょうか?先ほど設定した会話ができているはずです。

ちなみに以下の様に会話の部分は、文章が変わってもストーリーがあっていればちゃんとしたアクションを起こしてくれます。うん。人工知能っぽいですね。

[code highlight=”1″]

what’s the weather in San Francisco
Executing merge action
Executing action: fetch-weather
Executing say with message: I see it’s sunny today!
I see it’s sunny today!
[/code]

まとめ

さて、いかがでしたでしょうか?

あとは会話の部分は音声でも認識できるのでそれを前提にロジックの部分を実装すればオリジナルのFacebook Messenger と組み合わせてbotが作れたりiPhoneアプリなどでSiriの様な対話型アプリが作れたり色々楽しそうですね。

『wit.ai』は、基本的な機能を無料で提供してくれている上に、日本語対応もされる予定なので今のうちに実装を試しておくのが良さそうです。

ではまた。