LoginSignup
29
26

More than 5 years have passed since last update.

Watson on Bluemix でNLCことはじめ (1)

Last updated at Posted at 2016-05-27

巷では人工知能(AI)関連のニュースなどを頻繁に目にします。
そのコンポーネントとして、深層学習(deep learning)や自然言語処理にも注目が集まってますね。既にいろいろとサービスが提供されていたりします。

そんなサービスの1つである、Watson APIのNLC(Natural Language Classifier)を触ってみることにします。

NLCとは

NLCは、IBMがBluemix上で提供するWatson APIサービスの1つです。
自然言語テキストをクラス分類してくれます。何が嬉しいのかはやりながら見て行くことにします。

Bluemixが提供するサービスのカタログ
https://console.ng.bluemix.net/catalog/
※2016年5月 時点でWatson APIは17種

カタログからサービス作成

早速、Bluemixにログインして、自分のスペースにNLCを追加します。
カタログから選択して、作成ボタンを押すだけです。

Bluemixアカウントがない場合は、人様の記事を参考にアカウントを作成します。

IBM Bluemixフリートライアルアカウント作成手順
http://qiita.com/KenichiSekine/items/6ad49b25167b3f4cdb63

nlc001_カタログ選択.png

nlc002_サービス作成.png

toolkitからNLCを触ってみる

作成されたサービスをクリックすると↓のような画面に遷移します。
手っ取り早くNLCを試してみたいので、"Access the beta toolkit"ボタンをポチっとします。

nlc003_access_tool.png

何も考えずに"Sign in with Bluemix"をクリック。

nlc004_BM_login.png

許可しないことには進まないので、素直に"確認"ボタンをクリック。

nlc005_アクセス確認.png

トレーニングデータを登録

こんな画面が表示されます。

nlc006_ツールキット001.png

これがtoolkit(beta版)の画面です。
ここから、NLCのクラス分類の機能を試すために、NLCにトレーニングデータを学習させる必要があります。

トレーニングデータは、「テキスト」と「クラス」が対になった構造です。
オフィシャルのイメージを引用すると以下のような構造。

nlc007_トレーニングデータ構造.png

今回はデートのお誘いに対する、脈あり/脈なし クラス分類をやってみたいので、以下のようなデータを登録してみます。

テキスト クラス テキスト クラス
このお店に行きたいです ok ちょっと忙しい ng
いつなら都合いいですか? ok 今が一番忙しいんだ ng
飲みに行きたいです ok 予定がわからない ng
社交辞令じゃないですよね? ok 他の人も誘っていこう ng
お酒に詳しくないので教えてくれますか ok 他の人の予定も聞いてみよう ng
来週には落ち着くからまた誘って ok 最近仕事がバタバタしてる ng
都合がいい日があったら教えて ok ちょっと無理そう ng
明日なら早く帰れるよ ok もう予定が入ってる ng
来週の金曜はどう? ok また今度ね ng
絶対ですよ!約束ですからね ok いろいろ落ち着いたらね ng
いいですね! ok 予定が分かったらこっちから連絡するね ng

ということで、"Add training data"からトレーニングデータを以下のように設定していきます。
nlc008_トレーニングデータ追加.png

データを設定し終わったら、"Create classifier"ボタンでNLCに学習させます。

クラス分類してみる

トレーニングさせてしばらくすると、Availableになります。NLCの学習完了です。

nlc009_トレーニングデータ完了.png

矢印→ボタンをクリックして、クラス分類を試してみます。
テキストボックスに適当な文言を入れて、"Classify"ボタンをクリックすると、入力したテキストを確信度とともにクラス分類してくれます。

nlc010_クラス分類実行.png

「みなとみらい行きたい!」は、OK (99%), NG (1%)に分類されました。
脈ありと判断してよいでしょう。

ここで注目したいのは、「みなとみらい行きたい!」というそのもののテキストはトレーニングデータにはないということです。

ただし、「マジ無理」という人間の判断では明らかにNGなテキストに対しては、NG (62%), OK (38%)と、ちょっと迷ってる感があります。
このテキストはNGクラスとして、トレーニングデータに追加した方が良さそうです。

次回(があれば)は、アプリからNLCのサービスをつついてみたいと思います。

⇒(2016/07/08)つつきました。Watson on Bluemix でNLCことはじめ (2)

29
26
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
29
26