第26話
調べてみた

機械学習について調べてみたら、3行のソースコードを入れるだけで機械学習できるサービスがあった(後編)

うらら


機械学習について調べてみたら、3行のソースコードを入れるだけで機械学習できるサービスがあった(後編)

準備はいいんかね!? エディターのうららです。

DSC_452 人物紹介:うらら(@uraranbon
LIGブログDevRelチャンネル担当のエディター見習い。友人に誘われるがまま『マクロスΔ』のライブに行ったところ、まんまと虜になった。

 
さて、今回は以下の記事の続編です!

前回の記事では機械学習の概要についてや、オンラインで学習できるサービスをまとめました。今回は、3行のソースコードを入れるだけで機械学習を試せるサービス「indico」を使い、文章から感情を読み取ってみようと思います。

機械学習サービス「indico」を使ってみよう

23.18

https://indico.io/

ボストン発の機械学習サービスです(参考)。対応している言語は、Python、Ruby、Java、PHP、node.js、R言語の6つ。数行のソースコードを入れるだけで、indicoが提供している機械学習のモデルを試せます。

Pythonだと以下の3行のコードだけでOKです!(文章や画像、言語などの認識も3行です)

import indicoio
indicoio.config.api_key = 'API KEY'
indicoio.sentiment_hq("I love writing code!")

……ただ、私がPythonを使ったことがないため、今回はnode.jsでindicoを使ってみようと思います(汗)! すみません!

今回の記事では、試しに文章の感情を分析してみます

1. アカウントを登録し、API KEYを取得

20.50

まずはトップページからアカウントを登録します。登録完了後、自分のAPI KEYとQuick Startが表示されます。

 
e6882e1970ce99a3f735bf6742806681

今回は文章認識を試したいので、「Sentiment Anaylysis」を選びます。

DEMOから実際の様子を確認できます。上のGIF画像では、選択されている”Indico is so easy to use!(indicoはとっても簡単!)”はPositivityが98%なのに対し、”My bike was stolen yesterday!”ではがくっと42%まで下がっています。このように、文脈に沿ってそれがポジティブかそうでないかを判断してくれるんです。

2. さっそくインストール

node.jsからインストールします。 使ったことがない方は以下の記事を参考にインストールしてください。

indicoが紹介しているインストール方法を参考にインストールします。まずはターミナルで以下のコードを打ちましょう。

npm install indico.io

数分待ち、インストールが完了すればOKです。

3. ファイルを作り実行する

example.jsというファイルを作り、以下のコードを記入します。API KEYのところには自分のAPI KEYを入れてください。

var indico = require('indico.io');
indico.apiKey =  'API KEY';

var response = function(res) { console.log(res); }
var logError = function(err) { console.log(err); }

// single example
indico.sentimentHQ("I love sleeping.")
  .then(response)
  .catch(logError);

ここでは、”I love sleeping.”の感情分析をしています。実行しましょう。

$ node example.js

“I love sleeping.”のPositivityは、

0.9799970388412476

約0.98となりました。高いですね! ”I love sleeping.”を任意の文字に入れ替えると、他の文章も試すことができます。

せっかくなのでもう少し試してみた

I eat udon noodles every day.(毎日うどん食べてます) 0.94
Life is good(人生はいいぞ) 0.91
I live in Japan.(日本に住んでいます) 0.76
I don’t know.(知らない) 0.19
Don’t talk to me.(話しかけないで) 0.06
I don’t like onion.(たまねぎ嫌い) 0.05

まさかのうどんが1位を獲得しました。株式会社LIGという名前の由来になっている「Life is good」は惜しくも0.91。(余談ですが「Life is very good」で試してみたら約0.97を叩き出しました)

今回はindicoの機械学習モデルを使っていますが、自分でなんとか頑張って教師あり学習で試してみるのも楽しそうです(今の私には少し力が足りませんが……)。

 

LIGのエンジニアののびすけも、ツイートの感情分析をしています。「ゲバブ美味しい」が1位という……(笑)

 

npm

黒い画面は苦手だったのですが、文字を数値化するのは今までにない新感覚で、気づいたら結構ハマっていました(笑) ただ、1つ注意が必要なのは、無料プランだと月に10,000回が上限となっている点です。

 
47.42

Dashboardから、自分がどれだけ使っているかを確認できます。10,000回を超えると有料になるのでそこだけは覚えておくと良さそうです。

 
quickstart

ほかに試せる機械学習のモデルはこちら。ぜひ試してみてください。手軽にさくっと機械学習を試したい人にはおすすめだと思います。

・Quick Start
https://indico.io/product?api=sentiment

おわりに

ということで「indico」の使い方をさくっとまとめました。

ちなみに、本記事のテーマだった「機械学習」についてのLTを、2016年5月19日(木)にLIGエンジニアらで開催しました。

づや会ダイジェスト #liginc

n0bisukeさん(@n0bisuke)が投稿した写真 –

当日はなんと20名程の方がLIGに集まってくれました。当日の登壇資料は以下どうぞ!(アップしている人のみ)

それでは!

うらら
この記事を書いた人
うらら

エディター

関連記事