LoginSignup
10
10

More than 5 years have passed since last update.

人工知能API「Wit.ai」で遊ぶ (1)

Last updated at Posted at 2017-12-27

はじめに

「Wit.ai」は無料の人工知能APIで、音声やテキストデータをインプットすることで何らかのアクションを起こすAIを簡単に作ることができます。
対応言語は、Node、Ruby、Python、C、Rust、Javaなど豊富なのが特徴で、iOS/Androidなどのスマートフォンデバイスに対応させる事も可能です。
今回の記事ではNode.js SDKであるnode-witを使って実際に作っていきます。

まずは体験

下記のページを見てみてください。
https://labs.wit.ai/demo/index.html

スクリーンショット 2017-12-28 2.05.41.png

中央のマイクボタンを押下し、「Turn on the TV」と話しかけ、再度マイクボタンを押します。すると・・ 画面上のテレビのスイッチがつきました!
Wit.aiが音声データを解釈し、テレビのスイッチをいれたのです。これは応用次第で実際の生活にも組み込むことができそうです。

Wit.aiに登録してみる

Wit.aiはGitHubアカウントもしくはfacebookアカウントで登録できます。

スクリーンショット 2017-12-28 1.42.35.png

登録が終わったら、メニューバーの左端にある「+」ボタンを押してアプリを登録していきます。

スクリーンショット 2017-12-28 1.41.15.png

必要な情報を登録し、最後に画面下部にある「Create App」を押して登録を完了させます。

Wit.aiに学習させる

アプリの登録が完了したところで、インプットするデータを実際に学習させていきます。
今回は先ほど扱った「Turn on the TV」という文章を入力してみます。「Test how your app understands a sentence」の下にあるフォームに入力してみてください。

スクリーンショット 2017-12-28 2.38.32.png

Wit.aiにこの文章を学習させていきます。
が、その前に「インテント」と「エンティティ」という2つの概念を学ばなければなりません。

「インテント」と「エンティティ」

インテントは与えられたデータの「意図」のことです。インプットされたデータがどのような処理を求めているかを判断するためのもので、上記の文章でいうと「Turn」に当たる部分です。
エンティティは「インテントの目的となるもの」です。「TV」がこれに相当します。また、その状態である「on/off」もエンティティに当たります。
Wit.aiに限らず、他の人工知能APIでも同様の概念が登場するので覚えておきたいところです。

では実際にこの「インテント」と「エンティティ」を学習させていきます。
まずはエンティティを登録していきます。
文章中の「on」の部分を選択して、「state」という名前でエンティティを登録します。
Untitled.gif

同様に「TV」の部分を選択して、「target」という名前で登録します。
すると以下のような状態になりました。エンティティはstatetargetを持ち、その値としてonTVをそれぞれ持っています。

スクリーンショット 2017-12-28 3.30.43.png

続いてインテントです。
「Add a new entity」からintentを選択して、Valueを「turn」として登録します。

Untitled2.gif

そして最後に「validate」ボタンを押します。
これによってWit.aiはこの文章を解釈できるようになりました。

試しに一度フォームをクリアして、再度「Turn on the TV」と入力してみましょう。
さきほど登録したインテントとエンティティが認識されていれば成功です!

次回はnode-witを使ってコンソールからWit.aiにアクセスしていきます。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10