softlayer bluemix summit 2015: bluemixでwatsonをつかいたおせ!

106
Copyright © 2015 TIS Inc. All rights reserved. BluemixでWatsonをつかいたおせ! 2015年9月2日 TIS株式会社 戦略技術センター 油谷実紀

Upload: miki-yutani

Post on 16-Apr-2017

10.191 views

Category:

Software


4 download

TRANSCRIPT

Page 1: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved.

BluemixでWatsonをつかいたおせ!

2015年9月2日

TIS株式会社戦略技術センター油谷実紀

Page 2: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 2

自己紹介

油谷実紀(ゆたにみき)TIS株式会社 戦略技術センター

■新規技術の検証と導入■関心のある領域:AI, IoT, SDI, ロボット■OSSデザイン指向クラウドオーケストレータ

CloudConductorプロダクトオーナーhttp://cloudconductor.org/

Twitter: @blackaplysiaFacebook: 油谷実紀

Page 3: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 3

3つの質問

Q1. Watsonといえば何を連想しますか?①クイズ番組「Jeopardy!」の勝利と

三井住友銀行への入行内定報道②Bluemix上の16個のサービス③「緋色の研究」

Page 4: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 4

3つの質問

Q1. Watsonといえば何を連想しますか?①クイズ番組「Jeopardy!」の勝利と

三井住友銀行への入行内定報道②Bluemix上の16個のサービス③「緋色の研究」

【このセッション終了後の回答】②Bluemix上の16個のサービス

Page 5: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 5

3つの質問

Q2. Watsonサービスを使ってみたいですか?①Watsonは私が開発した②明日から使ってみる③MQTTにしか興味がない

Page 6: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 6

3つの質問

Q2. Watsonサービスを使ってみたいですか?①Watsonは私が開発した②明日から使ってみる③MQTTにしか興味がない

【このセッション終了後の回答】②明日から使ってみる

Page 7: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 7

3つの質問

Q3. Watsonは人工知能だと思いますか?①はい②WatsonはIBMがコグニティブ・

コンピューティング・ソリューションとして提供するサービス・プロダクトのブランド名で、とくに自然言語処理と機械学習に強い

Page 8: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 8

3つの質問

Q3. Watsonは人工知能だと思いますか?①はい②WatsonはIBMがコグニティブ・

コンピューティング・ソリューションとして提供するサービス・プロダクトのブランド名で、とくに自然言語処理と機械学習に強い

【このセッション終了後の回答】②(略)※公式見解ではありません

Page 9: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 9

本日は次のテーマについてお話します。

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 10: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 10

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 11: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 11

Watsonとは何か?

■BluemixとWatsonの関係は微妙または複雑

■本セッションでは、全貌のわかりにくいWatsonを自分なりにまとめてみた

■現在のAIが目指すものが見えるとWatsonの位置づけも見えてくる

Page 12: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 12

人工知能は実践的(practical)であることを目指す

■Oxford大学(2013)「全米の雇用の47%を20年以内にコンピュータが奪う」×輸送・物流(自動運転)、製造(センサ)、

バックオフィス・管理・セールス(ビッグデータ)○アート、オリジナリティ

出典:http://www.oxfordmartin.ox.ac.uk/downloads/academic/The_Future_of_Employment.pdf

Page 13: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 13

人工知能は実践的(practical)であることを目指す

■人にできること、人にはできないことをコンピュータが代替する

→コグニティブ・コンピューティングは知能(intelligence)ではなく、認知的タスク(cognitive task)を実装したソフトウェア

■ひとつのソリューションが「質問応答」→「第1のWatson」=Watson QAシステム

Page 14: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 14

Watson QAシステムとWatson Explorer

■「Jeopardy!」で74回連続優勝者と最多賞金獲得者(約3億円)を破る

■大手都銀におけるコールセンターでの活用

→多くの事例はWatson QAではない→「第2のWatson」=Watson Explorer※ほかにもWatson Analyticsというプロダクトもある

⇔Watson Engagement AdvisorはほぼWatson QA

預金者 オペレーター

①質問

④回答

Watson

②音声またはテキスト入力

③解答候補と証憑を提示

Page 15: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 15

Watson Explorerの事例

プレスリリース「三井住友海上、IBM WatsonExplorerでお客さまサービスを変革」(2015/4/16)http://www.ms-ins.com/news/fy2015/pdf/0416_1.pdf

1.システムの概要本システムには、テキストマイニングや分析を行うソフトウェアであるIBM® Watson Explorerを採用しています。(中略) その結果、コールセンターのオペレーターは、お客さまからのさまざまな質問に対して、過去の問い合わせ内容をはじめとする構造化・非構造化データの分析に基づき、適切な情報を得ることができます。

(中略)

注:IBM Watson ExplorerはIBM Watson Content AnalyticsとIBM InfoSphere Data Explorerを統合したソリューションです。本システムではIBM Watson Content Analytics V3.5(旧称 IBMContent Analytics V3.0)を採用しています。

Page 16: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 16

BluemixとWatsonの微妙な関係

■「第1のWatson」と「第2のWatson」にはBluemixは出てこない・・・

■Bluemix上にあるWatsonとは何か?

Page 17: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 17

質問応答ソフトウェアの構造

■質問応答ソフトウェアの基本的な構造

■Watson:システムが仮説を生成し検証質問例:When was Mozart born?(1) 焦点(focus)を仮定: when(2) 回答タイプ(LAT)を仮定: date of birthなど(3) LATに対応する回答候補を収集: 1756/1/27

※従来技術のクエリ実行はこの処理の一部(4) 自然言語による回答と確信度、証憑を生成:

“Wolfgang Amadeus Mozart was born on 27 January 1756.”

質問解析 検索 回答生成

質問パターン

知識データベース

回答テンプレート

Page 18: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 18

Watson QAシステムと自然言語処理

■Watson QAシステムの処理フロー

質問解析

仮説生成 スコアリング

回答生成&確信度計算

回答・証憑データベース

出典:http://www.aaai.org/Magazine/Watson/watson.php

Page 19: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 19

Watson QAシステムと自然言語処理

■Watson QAシステムの派生技術と周辺技術

質問解析

仮説生成 スコアリング

回答生成&確信度計算

回答・証憑データベース

出典:http://www.aaai.org/Magazine/Watson/watson.php

Relationship Extraction

Speech to Text

Speech to TextNatural LanguageClassifier

Concept Insights

Page 20: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 20

Watson QAシステムと自然言語処理

■現在、Watson QAシステムからの派生技術および周辺技術(と推測される)16種類のサービスがBluemixにて公開されている

→「第3のWatson」=Bluemix上のWatsonサービス

→BluemixとWatsonが紐づいているのはこの文脈のみ(微妙な関係…)

Page 21: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 21

Bluemix上のWatsonサービス

■公開中の16サービスを独断と偏見で分類

すぐに使えるもの(1) Personality Insights(2) Question and Answer(3) Visual Recognition(4) Tradeoff Analysis(5) Text To Speech(6) Speech To Text(7) Alchemy API(8) Language Translation(9) Message Resonance

Page 22: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 22

Bluemix上のWatsonサービス

独自データを投入することで使えるもの(10) Dialog(11) Concept Insights(12) Retrieve and Rank

Watsonの部品サービス(とおもわれるもの)(13) Relationship Extraction(14) Natural Language Classifier(15) Tone Analyzer

Page 23: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 23

すぐに使えるWatsonサービス

サービス名称 アイコン 利用料 用途

PersonalityInsights

100回まで無料

ソーシャルデータなどを用いて利用者のパーソナリティ分析を行う

Question and Answer

無料(β版)

事前に準備されたデータの内容に従って質問を解析し回答候補を生成する

Visual Recognition

無料(β版)

画像に対して何が起きているシーンかを解析し分類する

Page 24: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 24

すぐに使えるWatsonサービス

サービス名称 アイコン 利用料 用途

TradeoffAnalysis

1,000回まで無料

複数の選択肢に対するトレードオフの分析と可視化を行う

Text to Speech

100万文字まで無料

文字を音声に変換する

Speech To Text

1,000分まで無料

音声を文字に変換する

Page 25: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 25

すぐに使えるWatsonサービス

サービス名称 アイコン 利用料 用途

Alchemy API 無料 IBMが買収したAlchemy API社の画像分類、ニュース配信などのサービス

Language Translation

100万字まで無料

62言語を識別し、いくつかの言語間ではニュースなどのドメインを指定して翻訳を行う

Message Resonance

無料(β版)

特定のコミュニティにおける言葉の反響度をスコア化する

Page 26: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 26

独自データを投入することで使えるもの

サービス名称 アイコン 利用料 用途

Dialog 無料(β版)

アプリケーションに利用者との対話のインタフェースを実装する

Concept Insights

無料(β版)

文書に直接または間接的に関連する内容をWikipediaの中から探す

Retrieve and Rank

無料・実験(1万文書まで)

機械学習により人間の目では判断できないデータの「シグナル」を見出す

Page 27: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 27

Watsonの部品サービス(とおもわれるもの)

サービス名称 アイコン 利用料 用途

Relationship Extraction

無料(β版)

テキストを単語に分割し、その単語の品詞や意味を解析する

NaturalLanguage Classifier

利用1,000回まで無料

テキストに対する分類器を生成し、学習およびサービス利用する

Tone Analyzer

無料 テキストから感情のトーンを解析する

Page 28: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 28

Watsonの日本語対応状況

■「Watson」の名を冠しているプロダクトで日本語対応済みである主なもの・Watson Explorer

(Watson Content Analytics)・Bluemix上のWatsonサービス

・Speech To Text・Language Translationの

言語識別機能(identify)

Page 29: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 29

Watsonの日本語対応状況

■日本語版Watsonの提供に関するアナウンス

ソフトバンク「Watsonエコシステムプログラム」http://tm.softbank.jp/watson/

対象市場:IBMとソフトバンクが直販する企業(大手企業)以外のすべての顧客(大企業、中堅・中小企業、コンシューマ)

対象企業:(1) アプリケーションパートナー(2) データパートナー(3) タレントパートナー

Page 30: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 30

ここまでのまとめ

■人工知能の歴史の中で、コグニティブ・コンピューティングは実践的(practical)な活用を志向しており、IBMによるそのサービスおよびプロダクトのブランドがWatsonである

■Watsonとよばれるものは文脈によって違いがあることに要注意(1) Watson QA (質問応答)システム(2) Watson Explorer(3) Bluemix上のWatsonサービス

Page 31: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 31

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 32: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 32

BluemixダッシュボードによるWatsonサービス利用

■サービスを選択する

①「カタログ」を選択

②サービスを選択

Page 33: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 33

BluemixダッシュボードによるWatsonサービス利用

■サービスを使用する

③「使用」を押す→サービスインスタンスの作成

Page 34: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 34

BluemixダッシュボードによるWatsonサービス利用

■サービスを使用する

ここでバインドするアプリケーションを選択

Page 35: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 35

BluemixダッシュボードによるWatsonサービス利用

■サービスを使用する

ちょっと試すだけでアプリケーションをつくるのは面倒…

Page 36: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 36

BluemixダッシュボードによるWatsonサービス利用

アプリケーションの選択肢をよく見ると・・・

Page 37: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 37

BluemixダッシュボードによるWatsonサービス利用

「アンバインドのまま」というバラ色の選択肢が!

これを選択すると・・・

「資格情報名」のパラメータが出現→このまま「使用」

Page 38: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 38

BluemixダッシュボードによるWatsonサービス利用

■「アンバインドのまま」でもサービス資格情報(url, username,password)を入手できた

Page 39: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 39

BluemixダッシュボードによるWatsonサービス利用

■このままBluemix外から使えないか?

Page 40: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 40

BluemixダッシュボードによるWatsonサービス利用

■このままBluemix外から使えないか?

→(Watsonは)使える※通常通りサービス課金あり

Page 41: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 41

BluemixダッシュボードによるWatsonサービス利用

■資格情報はアプリがサービスインスタンスを呼び出すためにCloud Foundryから振り出される認証情報だが、現在のWatsonは接続元制限をかけていない

サービス Watson …アプリ

Bluemix

Cloud Foundry

外部アプリ

×

Page 42: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 42

Bluemix外からのWatson利用

■Bluemix外からWatsonを利用してみよう①Watsonサービスインスタンスの作成②Watsonサービスインスタンスの

資格情報の作成③Watsonサービスインスタンスへの接続

サービス Watson …アプリ

Bluemix

Cloud Foundry

外部アプリ

①② ③

Page 43: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 43

Bluemix外からのWatson利用

■Bluemix外からWatsonを利用してみよう①cf create-service②cf create-service-key③curl

サービス Watson …アプリ

Bluemix

Cloud Foundry

外部アプリ

①② ③

Page 44: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 44

cf - Cloud Foundry CLI

■Cloud Foundryのコマンドラインインタフェース(CLI)であるcfを使う配布元:https://github.com/cloudfoundry/cli/releasesドキュメント: http://docs.cloudfoundry.org/

■インストール(以下の例は64bit Linux)

$ wget -O cf-linux64-6.12.2.tgz ¥> https://cli.run.pivotal.io/¥> stable?release=linux64-binary&version=6.12.2&¥

> source=github-rel$ sudo tar zxvf cf-linux64-6.12.2.tgz -C /usr/local/bin/$ cf -v # バージョン情報が出力されればOK

Page 45: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 45

cfを使ったWatsonサービスインスタンス立ち上げ

■Bluemix利用のローカル設定

# cfサイトとしてBluemixを指定(最初の1回だけ)$ cf api https://api.ng.bluemix.net# Bluemixにログイン(たまに必要)$ cf login -u <IBM ID>

■サービスとプランの確認

$ cf marketplace

# 以下は特定のサービスを検索する例$ cf marketplace | grep question

Page 46: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 46

cfを使ったWatsonサービスインスタンス立ち上げ

■サービスインスタンスの作成

$ cf create-service <サービス> <プラン> <サービス名>

■例

$ cf create-service question_and_answer ¥> question_and_answer_free_plan ¥

> myqa

Page 47: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 47

cfを使ったWatsonサービスインスタンス立ち上げ

■資格情報の作成

$ cf create-service-key <サービス名> <資格情報名>

■例

$ cf create-service-key myqa myqa-credentials

Page 48: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 48

cfを使ったWatsonサービスインスタンス立ち上げ

■資格情報の内容を確認(username,password, urlを含むjsonを表示)

$ cf service-key <サービス名> <資格情報名>

Page 49: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 49

cfを使ったWatsonサービスインスタンス立ち上げ

■例

$ cf service-key myqa myqa-credentialsGetting key myqa-credentials for service instance myqaas your-account...

{“password”: “<password>","url": “<url>",“username”: “<username>"

}

Page 50: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 50

WatsonのAPI情報のさがしかた

■WatsonサービスAPI情報はどこにあるか?

→Watson Developer Cloudのサイトhttp://www.ibm.com/smarterplanet/us/en/

ibmwatson/developercloud/doc/

Page 51: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 51

WatsonのAPI情報のさがしかた

■WatsonサービスAPI情報はどこにあるか?→知りたいことはすべて

Watson Developer Cloudにあるhttp://www.ibm.com/smarterplanet/us/en/

ibmwatson/developercloud/doc/

Page 52: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 52

WatsonのAPI情報のさがしかた

■REST APIドキュメントの見方

①サービスを選択

②メソッドを選択

③パラメータを熟読

Page 53: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 53

WatsonのAPI情報のさがしかた

■REST APIドキュメントの見方

① ② ③ ④①パラメータ名②とりうる値やrequiredか否か③パラメータの意味④パラメータを送る方法と値の型

path: URIの一部header: httpヘッダbody: httpデータform: htmlフォーム形式

Page 54: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 54

curlを使ったWatson利用例(GET)

$ curl -s -u '<username>:<password>' ¥> <url>/v1/services ¥

> | jq .[

{"description": "Watson for the Travel Domain","name": "Travel Content Lab","id": "travel"

},{"description": "Watson for the Healthcare Domain","name": "Healthcare Content Lab","id": "healthcare"

}]

レスポンスjsonには空白がないのでjqで見やすくする

Page 55: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 55

curlを使ったWatson利用例(POST)

$ curl -s -u '<username>:<password>' ¥> -H 'Content-Type: application/json' ¥> -H 'Accept: application/json' ¥> -H 'X-synctimeout: 30' ¥> -d '{"question":{"questionText":"What is the best ¥> Japanese restaurants in New York?"}}‘ ¥> <url>/v1/question/travel ¥

> | jq -r '.[].question.evidencelist[0].text'Try one of the following: Little Vincent's, 329 New York Ave, Huntington, ☎ +1 631 423-9620. Italian food,pizza. Peter Luger's Steakhouse. Est. 1887 in Brooklynis one of the best steakhouses in New York. Benten Japanese Restaurant. In Miller Place is a highly rated Japanese restaurant.

headerパラメータ

bodyパラメータ

pathパラメータ

なるべく形式を指定する

jqでテキストだけ抽出

Page 56: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 56

Watsonサービスインスタンスのあとしまつ

■資格情報の削除

$ cf delete-service-key <サービス名> <資格情報名>

■サービスの削除

$ cf delete-service <サービス名>

Page 57: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 57

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 58: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 58

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 59: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 59

Language Translationとは

■Language Translationは機械翻訳を提供■従来のLanguage Identificationや

Machine Translationを統合し、正式版(GA)としてリリース

Page 60: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 60

Language Translation API

API メソッド 用途

基本機能

/v2/identifiable_languages GET 識別可能な言語の一覧を取得

/v2/identify POST 言語を識別

/v2/models GET 翻訳モデルの一覧を取得

/v2/translate POST 翻訳

翻訳モデルのカスタマイズ

/v2/models POST カスタマイズモデルのデータを投入しトレーニングを開始

/v2/models/{model_id} GET カスタマイズモデルのトレーニング状況を確認

/v2/models/{model_id} DELETE カスタマイズモデルを削除

Page 61: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 61

サービスの利用準備

# サービスを作成$ cf create-service language_translation standard tr

# サービス資格情報を作成$ cf create-service-key tr tr-credentials

# サービス資格情報を表示$ cf service-key tr tr-credentials

Page 62: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 62

識別できる言語の列挙

$ curl –s -u "<username>:<password>" ¥

> <url>/v2/identifiable_languages{

"languages":[{

"language":"af","name":"Afrikaans"

},{"language":"ar","name":"Arabic"

},

... ※62個のデータが列挙される

Page 63: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 63

日本語の識別情報を抽出

$ curl -s -u “<username>:<password>" ¥> <url>/v2/identifiable_languages ¥> | jq –r '.languages[] | select(.language=="ja")'{

"name": "Japanese","language": "ja"

}

jqで”ja”だけ抽出

Page 64: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 64

日本語テキストの識別

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -H "Accept: application/json" ¥> -H "Content-Type: text/plain; charset=utf-8" ¥

> -d "吾輩は猫である。名前はまだ無い。" > <url>/v2/identify[

{"confidence": 0.998804,"language": "ja"

},

... ※全言語の確信度が列挙される

Page 65: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 65

日本語テキストの識別

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -H "Accept: application/json" ¥> -H "Content-Type: text/plain; charset=utf-8" ¥

> -d "吾輩は猫である。名前はまだ無い。" > <url>/v2/identify ¥> | jq -r '.languages | .[0:5] | .[] | "¥(.language) ¥(.confidence)"' ¥

> | awk 'BEGIN{k=0;l=0;w=0}> {n[k]=$1;v[k]=$2;ls=length($1); if(w<ls)w=ls;k++}> END{f=sprintf("%%-%ds : %%.3f¥n",w);for(i=0;i<k;i++){printf(f,n[i],v[i])}}'

ja : 0.999zh-TW : 0.000zh : 0.000vi : 0.000ur : 0.000

jqで確信度TOP5を抽出

awkで結果を整形

Page 66: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 66

翻訳モデルの一覧取得

$ curl -s -u “<username>:<password>" ¥> <url>/v2/models ¥

> | jq -r '.models[] | select(.target=="en") | .model_id'ar-enar-en-conversationales-enes-en-conversationales-en-patentfr-enfr-en-conversationalko-en-patentpt-enpt-en-conversationalpt-en-patentzh-en-patent

翻訳先が英語のものだけを選択し、model_idのみ表示

デフォルトモデルのmodel_id・ss-tt:ニュースドメイン・ss-tt-conversational:

会話ドメイン・ss-tt-patent: 特許ドメイン

Page 67: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 67

翻訳してみる

$ curl -s -u “<username>:<password>" ¥> -X POST -H "Accept: application/json" ¥> -H "Content-Type: application/json; charset=utf-8" ¥

> -d '{> "model_id":"es-en",> "text":["La desaprobación de la presidenta de Chile,

> Michelle Bachelet, llegó a una cifra histórica del 70%,

> de acuerdo con la más reciente encuesta de Adimark."]> }' ¥> <url>/v2/translate ¥

> | jq -r '.translations[].translation'The disapproval of the president of Chile, Michelle Bachelet, reached a historical figure of 70%, According to the latest survey of madmen.

Page 68: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 68

翻訳してみる

$ curl -s -u “<username>:<password>" ¥> -X POST -H "Accept: application/json" ¥> -H "Content-Type: application/json; charset=utf-8" ¥

> -d '{> "model_id":“ar-en",> "text":[" الخيار النووي اإليراني بأنه االتفاق وصف وزير خارجية دولة قطر خالد العطية

المنطقة، بينما أكد نظيره األميركي جون كيري أن بالده ملتزمة بضمان أمن واستقرار ألنسبا < "]> }' ¥> <url>/v2/translate ¥

> | jq -r '.translations[].translation'The State of Qatar Foreign Minister Khalid al-Attiyahdescribed the Iranian nuclear deal as the best option, while his American counterpart John Kerry stressed that his country is committed to ensuring the security and stability of the region."

Page 69: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 69

繰り返してみた

元の文وصف وزير خارجية دولة قطر خالد العطية االتفاق النووي اإليراني بأنه الخيار األنسب، بينما

.المنطقةنظيره األميركي جون كيري أن بالده ملتزمة بضمان أمن واستقرار أكد

ar→enThe State of Qatar Foreign Minister Khalid al-Attiyah described the Iranian nuclear deal as the best option, while his American counterpart John Kerry stressed that his country is committed to ensuring the security and stability of the region.en→arدولة قطر وزير الخارجية خالد العطية وصف اتفاق النووي االيراني افضل خيار ونظيره

.جون كيرى اكد ان بالده ملتزمة بضمان األمن واالستقرار في المنطقةاالمريكى

ar→enQatar Foreign Minister Khalid al-Attiyah described the Iranian nuclear agreement is the best option and his U.S. counterpart John Kerry stressed that his country is committed to ensuring security and stability in the region.ほとんど同じ文意となっており、正確さを期待できる

Page 70: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 70

翻訳モデルのカスタマイズ

■翻訳モデルのカスタマイズ手順(1) トレーニングデータを作成

・フォーマット: Translation Memory Exchange (TMX)https://ja.wikipedia.org/wiki/Translation_Memory_eXchange

(2) POST /v2/modelsにデータを投入(3) GET /v2/models{model_id}の

statusが“Available”になるまで待つ(4) POST /v2/translateで翻訳

■結果・いいかげんに作った.tmxは翻訳に反映されない・たまに数日経っても”available”にならない

日本語対応に期待!

Page 71: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 71

サービスのあとしまつ

# 資格情報を削除$ cf delete-service-key tr tr-credentials

# サービスを削除$ cf delete-service tr

Page 72: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 72

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 73: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 73

Personality Insightsとは

■Personality Insightsはテキスト著者のプロファイル(性格や資質)を分析

■顧客のパーソナリティ情報としてCRMなどへの活用が見込める

Page 74: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 74

Personality Insights API

API メソッド 用途

/v2/profile POST プロファイル分析

/v2/visualize POST プロファイルを視覚化する→廃止(deprecated)

Page 75: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 75

Personality-Insightsの分析結果

■米国の社会心理学研究者が体系化した3種類のプロファイルカテゴリに基づく分析

(1) パーソナリティ(personality)Goldbergが提唱したパーソナリティを表す指標で、性格診断などによく使われる。5因子からなるためBig Fiveと呼ばれている。

Goldberg(1990), An Alternative "Description of Personality": The Big-Five Factor Structure. http://projects.ori.org/lrg/PDFs_papers/Goldberg.Big-Five-FactorsStructure.JPSP.1990.pdf

Digman(1990), Personality Structure: Emergence of the Five-Factor Model. http://orientation.uchicagolawandecon.org/readings/Digman%20on%20Five%20Factor%20Model.pdf

Page 76: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 76

Personality-Insightsの分析結果

(2) 関心(needs)Ford(2005)のUniversal Needs Modelに基づいた、ソーシャルメディアからユーザのニーズをあらわす因子。IBMの関連研究(2013)に詳しい。

Ford(2005), Brands Laid Bare: Using Market Research for Evidence-Based Brand Management. http://www.amazon.co.jp/dp/B000PY4M6O/

Yang and Li(2013), Identifying User Needs from Social Media.https://domino.research.ibm.com/library/cyberdig.nsf/papers/28778C32C50DDB9185257BFA005AF49B/%24File/rj10513.pdf

Page 77: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 77

Personality-Insightsの分析結果

(3) 価値観(values)Schwarz(1992)の基本価値理論(Theory of Basic Values)の10因子を代表する5因子。加納&谷田(2015)を参照。

Schwarz(1992), Universals in the Content and Structure ofValues: Theoretical Advances and Empirical Tests in 20 Countries. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.220.3674&rep=rep1&type=pdf

加納&谷田(2015), 世界価値観データベースに基づく世界消費者の把握. http://openarchive.cbs.dk/bitstream/handle/10398/9151/Fumiko%20Kano%20Gl%C3%BCckstad_1D3-NFC-00-1.pdf?sequence=1

Page 78: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 78

サービスの利用準備

# サービスを作成$ cf create-service personality_insights standard pi

# サービス資格情報を作成$ cf create-service-key pi pi-credentials

# サービス資格情報を表示$ cf service-key pi pi-credentials

Page 79: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 79

サンプルテキストの準備

■Bill Gatesのブログ“Teaching Is About Relationships”(2015/8/16)http://www.gatesnotes.com/Education/Teaching-Is-About-Relationships

$ head -1 bill-gates-blog.txt I got my first big comeuppance as a computer programmer when I was a senior in high school. I had a job debugging software for a company ...

$ wc bill-gates-blog.txt 13 963 5375 bill-gates-blog.txt

Page 80: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 80

プロファイルを分析する

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -H "Accept: application/json" ¥> -H "Content-Type: text/plain" ¥> -d @bill-gates-blog.txt ¥> <url>/v2/profile ¥

> > pi.json

‘@’でファイルから読み込む

Page 81: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 81

出力結果の加工

# Personality, needs, valuesの各項目を取得$ cat pi.json ¥

> | jq -r '.tree.children[].children[].children[] | > "¥(.category) ¥(.id) - ¥(.percentage)"' ¥

> | sed 's/ to /-to-/' > pi.txt

# Personalityのみさらに明細を取得$ cat pi.json ¥

> | jq -r '.tree.children[].children[].children[] | > select(.category=="personality") | > { cat:.category, id:.id, c:.children[] } | > "¥(.cat) ¥(.id) ¥(.c.id) ¥(.c.percentage)"' ¥

> | sed 's/ str/-str/;s/ lev/-lev/' >> pi.txt

Page 82: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 82

出力結果の加工

$ cat pi.txt | sortneeds Challenge - 0.04725128806007396needs Closeness - 0.19382557681651744needs Curiosity - 0.23522770320357678...personality Agreeableness - 0.3354070721930483personality Agreeableness Altruism 0.1927528788515951personality Agreeableness Cooperation 0.4702606940590503...personality Conscientiousness - 0.5001604388154699personality Conscientiousness Achievement-striving 0.9405068173179569personality Conscientiousness Cautiousness 0.688059240173948personality Conscientiousness Dutifulness 0.272645807410183カラム目が’-’でない行は明細(Personalityのみ)

それ以外は各項目の値

Page 83: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 83

出力結果の表示

$ cat pi.txt | sort ¥> | awk "BEGIN{f=¥"%-12s %-22s: %.3f¥¥n¥"}> {if(¥$3==¥"-¥")printf(f,¥$1,¥$2,¥$4);> else printf(f,¥"+¥",¥$3,¥$4)}"

needs Challenge : 0.047needs Closeness : 0.194needs Curiosity : 0.235needs Excitement : 0.166needs Harmony : 0.923needs Ideal : 0.035needs Liberty : 0.273needs Love : 0.848needs Practicality : 0.983...

Page 84: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 84

順位付け

$ cat pi.json | jq -r '.tree.c] | > "¥(.category) ¥(.id) - ¥(.percentage)"' ¥> | sed 's/ to /-to-/' ¥> | sort -k 4,4 -r ¥

> | head -5 > | awk ¥> "{printf(¥"%-12s %-18s: %.3f¥¥n¥",¥$1,¥$2,¥$4)}"

values Self-enhancement : 1.000needs Practicality : 0.983needs Harmony : 0.923needs Love : 0.848personality Openness : 0.771

Page 85: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 85

Martin Luther King牧師演説のパーソナリティ分析

■Martin Luther King牧師の”I have a dream”演説http://aboutusa.japan.usembassy.gov/e/jusa-majordocs-king.html

$ head -1 martin-luther-king-speech.txt I am happy to join with you today in what will go down in history as the greatest demonstration for freedom in the history of our nation....$ wc martin-luther-king-speech.txt

83 1657 9100 martin-luther-king-speech.txt

Page 86: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 86

Martin Luther King牧師演説のパーソナリティ分析

$ cat pi.json ¥

> | jq -r '.tree.children[].children[].children[] | > "¥(.category) ¥(.id) - ¥(.percentage)"' ¥> | sed 's/ to /-to-/' ¥> | sort -k 4,4 -r ¥> | head -5 ¥> | awk ¥> "{printf(¥"%-12s %-18s: %.3f¥¥n¥",¥$1,¥$2,¥$4)}"

values Self-transcendence: 1.000needs Challenge : 0.968values Openness-to-change: 0.958personality Openness : 0.942needs Love : 0.853

Page 87: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 87

サービスのあとしまつ

# 資格情報を削除$ cf delete-service-key pi pi-credentials

# サービスを削除$ cf delete-service pi

Page 88: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 88

「BluemixユーザがWatsonを使ってみるために知っておくといいアレコレ」

(1) BluemixとWatsonの微妙な関係(2) CurlとCFでお手軽な技術検証のやりかた(3) 実際に使ってみる

(a) Language Translation(b) Personality Insights(c) Natural Language Classifier

Page 89: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 89

Natural Language Classifierとは

■Natural Language Classifierは与えられた例文に基づく分類器を作成し、それによってテキストを分類する

■技術的には深層学習(deep learning)を採用している

■ソーシャルテキストの分析や感情分析(sentiment analysis)など、従来はユーザ属性やタグ、キーワードを利用していた分類というタスクを機械学習によってより精緻にかつ自動化することができる

Page 90: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 90

Natural Language Classifier API

API メソッド 用途

/v1/classifiers GET 分類器の一覧を表示

/v1/classifiers POST 分類器を作成してデータを投入しトレーニング開始

/v1/classifiers/{classifier_id} GET 分類器のトレーニング状況を確認

/v1/classifiers/{classifier_id}/classify

POST 分類器を使用してテキストを分類

/v1/classifiers/{classifier_id}/classify

GET

/v1/classifiers/{classifier_id} DELETE 分類器を削除

Page 91: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 91

サービスの利用準備

# サービスを作成$ cf create-service natural_language_classifier ¥

> standard nlc

# サービス資格情報を作成$ cf create-service-key nlc nlc-credentials

# サービス資格情報を表示$ cf service-key nlc nlc-credentials

Page 92: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 92

Natural Language Classifierの利用フロー

■Natural Language Classifierの利用には、まず分類器を作成し、トレーニングする

トレーニングデータの作成

分類器の作成とトレーニング開始

Available?

分類器の使用

NoYes

CSVデータ

POST /v1/classifiers

GET /v1/classifiers/{classifier_id}

POST /v1/classifiers/{classifier_id}GET /v1/classifiers/{classifier_id}

Page 93: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 93

トレーニングデータの作成

■トレーニングデータフォーマット・形式はCSV、2カラムで構成

第1カラム:トレーニングテキスト第2カラム:分類クラス

・UTF-8・カンマ、タブ、改行を含むときは

ダブルクォーテーションで囲む・ダブルクォーテーション文字は「””」・[A-Za-z0-9_-]以外の文字を含んでは

ならない

Page 94: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 94

トレーニングデータの作成

■PandrabotsのAIMLルールをつかってみるhttp://www.pandorabots.com/https://code.google.com/p/aiml-en-us-foundation-alice/

<category><pattern>YOU ARE * ME</pattern><template>I have no reason to do that to you, <get name='name'/>.</template>

</category><category>

<pattern>YOU ARE *</pattern><template>

<random><li>Thanks for telling me that </li><li>You think </li><li>Do you mind if I tell other people you say </li><li>I will tell my <bot name='botmaster'/> you said </li>

</random>I am <person/>.

</template></category>

XML形式のif-thenルールAIML: AI Markup Language

Page 95: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 95

トレーニングデータの作成

# Pandrabot (Alicebot)の公開ルールデータをダウンロード$ wget https://aiml-en-us-foundation-¥> alice.googlecode.com/files/¥

> aiml-en-us-foundation-alice.v1-9.zip

# Javascript+jqでXMLをjsonに変換し、CSVに抜き出す# (手段は省略…後日Qiitaにて公開予定)

$ tail -5 questions.csv "i play basketball",sports"how many baseball something",sports"they play basketball",sports"do you play baseball",sports"do you play soccer",sports

Page 96: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 96

分類クラスと件数

分類クラス 件数

astrology 13

biography 549

date 36

drugs 36

emotion 118

food 23

geography 843

history 10

literature 35

money 33

movies 61

分類クラス 件数

music 17

numbers 109

personality 66

politics 24

primeminister 26

psychology 663

religion 312

science 25

sex 140

sports 24

合計 3,163

クラスごとに件数のばらつきが非常に多い

Page 97: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 97

分類器の作成とトレーニング

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -F [email protected] ¥

> -F training_metadata="{> ¥"language¥":¥"en¥",> ¥"name¥":¥"knowledge-by-alice¥"> }" ¥> <url>/v1/classifiers ¥

> | jq .

(結果は次のスライド)

Page 98: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 98

分類器の作成とトレーニング

(前のスライドで実行したcurlの結果)

{"status_description": "The classifier instance is in its training phase, not yet ready to accept classify requests","status": "Training","url": “<url>/v1/classifiers/<classifier_id>","created": "2015-08-30T04:11:47.207Z","language": "en","name": "knowledge-by-alice","classifier_id": "<classifier_id>"

}

Page 99: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 99

分類器のトレーニングの状況確認

$ curl -s -u “<username>:<password>" ¥> <url>/v1/classifiers/<classifier_id> ¥

> | jq .{

"status_description": "The classifier instance is in its training phase, not yet ready to accept classify requests","status": "Training","url": “<url>/v1/classifiers/<classifier_id>","created": "2015-08-30T04:11:47.207Z","language": "en","name": "knowledge-by-alice","classifier_id": "<classifier_id>"

}

Statusが“Training”→”Available”となればトレーニング完了

トレーニングに要した時間(実績)は、400件で約10分、3,000件で約1時間

Page 100: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 100

トレーニングデータに存在する内容の問い合わせ

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -H "Content-Type:application/json" ¥> -d "{¥"text¥":¥"what is the Avogadro Constant?¥"}" ¥> <url>/v1/classifiers/<classifier_id>/classify ¥> | jq -r '.classes[0:5] | .[] | "¥(.class_name) ¥(.confidence)"' ¥

> | awk 'BEGIN{k=0;l=0;w=0}> {n[k]=$1;v[k]=$2;ls=length($1);if(w<ls)w=ls;k++}> END{f=sprintf("%%-%ds : %%.3f¥n",w);

> for(i=0;i<k;i++){printf(f,n[i],v[i])}}'

science : 0.961religion : 0.013literature : 0.005biography : 0.003geography : 0.003

トレーニングデータにあるとおり、Scienceの確信度が非常に高かった

トレーニングデータ:> "what is avogadro s number",science

Page 101: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 101

トレーニングデータに存在しない内容の問い合わせ

$ curl -s -u “<username>:<password>" ¥> -X POST ¥> -H "Content-Type:application/json" ¥> -d "{¥"text¥":¥"what is the Planck Constant?¥"}" ¥> <url>/v1/classifiers/<classifier_id>/classify ¥> | jq -r '.classes[0:5] | .[] | "¥(.class_name) ¥(.confidence)"' ¥

> | awk 'BEGIN{k=0;l=0;w=0}> {n[k]=$1;v[k]=$2;ls=length($1);if(w<ls)w=ls;k++}> END{f=sprintf("%%-%ds : %%.3f¥n",w);

> for(i=0;i<k;i++){printf(f,n[i],v[i])}}'

science : 0.468religion : 0.194geography : 0.132literature : 0.044biography : 0.044

トレーニングデータになくともそれなりの回答になっている→Watsonのベース知識が有効に機能

(Wikipedia、DBpedia等)

トレーニングデータ:該当なし

Page 102: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 102

テキストの内容を少しずつ変化させる

■以下のテキストを分類①who is Zarathustra?②what is Zarathustra?③what is ‘Thus spoke Zarathustra?’④what is ‘Thus spoke Zarathustra’ written by Friedrich

Nietzsche?⑤who is Friedrich Nietzsche?

① ② ③ ④ ⑤

第1位 biography Geograp... movies religion biography

確信度 0.979 0.270 0.396 0.370 0.987

第2位 movies literature geography biography movies

第3位 primemin... religion religion geography primemin...

第4位 music moviews science science music

第5位 Politics science literature literature politics

Page 103: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 103

試行錯誤の結果

■トレーニング・トレーニングデータに一般的なテキストが

多いほど(ex. “Who are you?”)、そのテキストを含む分類クラスの確信度が高くなる傾向にある

・トレーニングデータになくともWatsonがはじめからもっている知識を利用している

■確信度・確信度が0.7を下回るときには、適切な回答

とみなさない対応をするほうがよい(Pepperが話題をそらしてごまかすように)

Page 104: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 104

サービスのあとしまつ

# 資格情報を削除$ cf delete-service-key nlc nlc-credentials

# サービスを削除$ cf delete-service nlc

Page 105: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!

Copyright © 2015 TIS Inc. All rights reserved. 105

本日のまとめ

■Bluemix上にはWatsonと呼ばれる16個のサービスがある

■cfとcurlとjqを駆使すれば、プログラムを書かずともWatsonを簡単に使える

■Watsonサービスはアプリケーションの部品としての価値がありそう

■とにかく日本語対応が待ち遠しい!

Page 106: SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!