先日、日本IBMから、クラウド開発基盤である「IBM Cloud」のライト・アカウントを期間無制限・クレジットカード登録不要で、提供開始すると発表されました。
「IBM Cloudライト・アカウント」では42種類ものプラットフォームサービスやAPIを使うことができ、もちろんWatson APIも無料で使うことができます。
ということで、LedgeでもWatson APIを試してみます!
今回試すのは、
以上、3つのAPI。
それではさっそく、IBM Bluemixアカウントにログインして、Watson APIを使っていきましょう。
エンティティーや感情のメタデータを抽出するNatural Language Understanding API
Natural Language Understanding APIは、テキストを分析して、コンテンツから概念、エンティティー、キーワード、感情、意味役割などのメタデータを抽出してくます。
日本語で試そうとすると、日本語というのは認識してくれるみたいですが、結果がうまく返ってこないので、今回は英文を使います。
さっそく、「Because it is fine tomorrow, I go to a picnic with my friend.」という英文を、文章全体とキーワードごとに感情分析させてみると、
{
"usage": {
"text_units": 1,
"text_characters": 61,
"features": 2
},
"sentiment": {
"document": {
"score": 0.913119,
"label": "positive"
}
},
"language": "en",
"keywords": [
{
"text": "picnic",
"sentiment": {
"score": 0.675633,
"label": "positive"
},
"relevance": 0.903911
},
{
"text": "friend",
"sentiment": {
"score": 0.675633,
"label": "positive"
},
"relevance": 0.792163
}
]
}
スコアリングとラベルで、感情分析の結果がでてきました。
“picnic”という単語に対して高いスコアで、ポジティブというラベルがついています。詳しいところまではわからないですが、確かに単語の意味を理解して感情分析をしてそうです。
とすると、一般的にネガティブな意味を含む単語を分析させて、ネガティブ判定してくれれば、意味を理解していると、納得できそうです。
ということで、ネガティブな「Since it is a storm tomorrow, I can not get out of the house.」という文章を分析させてみると
{
"usage": {
"text_units": 1,
"text_characters": 61,
"features": 2
},
"sentiment": {
"document": {
"score": -0.791099,
"label": "negative"
}
},
"language": "en",
"keywords": [
{
"text": "storm",
"sentiment": {
"score": -0.70981,
"label": "negative"
},
"relevance": 0.960642
},
{
"text": "house",
"sentiment": {
"score": -0.604393,
"label": "negative"
},
"relevance": 0.327018
}
]
}
しっかりとネガティブ判定して、その判定には“storm”という単語が影響していることもわかります。
Watson Conversationと連携することで、より自然な会話を生むチャットボット、AIを開発できるのではないでしょうか。
感情・社交性・文体を分析するTone Analyzer API
Tone Analyzer APIはテキストから、
- 喜怒哀楽
- 文体
- 社交性
など、3種類を分析して「トーン」という独自の指標を検出してくれます。
以上の3要素を分析することで、コミュニケーションの改善に役立つんだとか。
今回は以下の、お客さんとカスタマーサポートの会話を分析させてみます。
こちらも、まだ日本語には対応していないようなので、英文で試してみます。
"utterances": [
{
"text": "Hello, I'm having a problem with your product.",
"user": "customer"
},
{
"text": "OK, let me know what's going on, please.",
"user": "agent"
},
{
"text": "Well, nothing is working :(",
"user": "customer"
},
{
"text": "Sorry to hear that.",
"user": "agent"
}
]
すると、こんな結果が返ってきました。
{
"utterances_tone": [
{
"tones": [
{
"score": 0.718352,
"tone_id": "polite",
"tone_name": "Polite"
}
],
"utterance_id": 0,
"utterance_text": "Hello, I'm having a problem with your product."
},
{
"tones": [],
"utterance_id": 1,
"utterance_text": "OK, let me know what's going on, please."
},
{
"tones": [
{
"score": 0.997149,
"tone_id": "sad",
"tone_name": "sad"
}
],
"utterance_id": 2,
"utterance_text": "Well, nothing is working :("
},
{
"tones": [
{
"score": 0.689109,
"tone_id": "polite",
"tone_name": "Polite"
},
{
"score": 0.663203,
"tone_id": "sympathetic",
"tone_name": "Sympathetic"
}
],
"utterance_id": 3,
"utterance_text": "Sorry to hear that."
}
]
}
こちらの文章はカスタマーが購入した商品に不具合があり、問い合わせした際の会話です。
それぞれのユーザーの発言に対して、たとえば「Polite:礼儀正しさ」や「Sympathetic:同情的な」などのトーンを検出してくれています。
Tone Analyzer API、精度高そうに見えますね。
ユーザーとのチャットデータやコールセンターでの会話データなどがますます増えていくなか、Tone Analyzer APIを使えば、カスタマーサポート、レコメンド精度などを大幅に向上できるのではないでしょうか。
文章から意図、行動特性を分析するPersonality Insights API
Personality Insights APIは、トランザクション・データやSNSメディアのデータを分析して、心理的な特性を識別してくれます。
心理的な特性を識別できれば、コンバージョン向上に役立つんですね。
それでは、SNSの投稿にみたてた文章を分析させてみます。
- 今月お金使いすぎた!!!このバッグほしいけど来月まで我慢しよー。
- このシャツデザインは好きだけど、洗ったらすぐにだめになりそうだから迷う。。。
- うわ!これまえに売り切れてた商品だ!!!めっちゃほしい!
- この靴かわいいけど、昨日ほかの靴かったばっかなんだよね、また今度見つけたらかおーーっと。
- このPCほんとうにパフォーマンスいいのかなー。操作性とか気になるから一度直接触って判断したいな。
すると、順に解析結果が返ってきました。
{
"needs": [
{
"category": "needs",
"name": "Challenge",
"percentile": 0.35613928967545994,
"significant": true,
"trait_id": "need_challenge"
},
{
"category": "needs",
"name": "Closeness",
"percentile": 0.25055360067235116,
"significant": true,
"trait_id": "need_closeness"
},
{
"category": "needs",
"name": "Curiosity",
"percentile": 0.998924078520935,
"significant": true,
"trait_id": "need_curiosity"
},
{
"category": "needs",
"name": "Excitement",
"percentile": 0.2552012052036719,
"significant": true,
"trait_id": "need_excitement"
},
{
"category": "needs",
"name": "Harmony",
"percentile": 0.5190125156793238,
"significant": true,
"trait_id": "need_harmony"
},
]
}
Personality Insights API、すごいです!
文章と分析結果を照らし合わせてみると、そのユーザーの心理状態が一目瞭然。
この精度で顧客のSNSデータを分析できれば、よりパーソナライズした広告やレコメンドをうつことが可能になるので、コンバージョン率の底上げに直結ですよね。
Watson API、マーケティングで駆使すれば、とてつもない威力を発揮する可能性秘めています。
まさに、人工知能がマーケティングを変えていく、転換期といえますよね。
Watson APIはほかにも種類があり、IBM Bluemixのプラットフォームやサービスも「IBM Cloudライト・アカウント」で試すことができるので、興味ある方はぜひ使ってみると面白いかもしれません。