SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Copyright © 2015 TIS Inc. All rights reserved.
BMXUG第6回 ~Watson Speical Ver.~
日本語Watsonで質問応答システムを
つくってみた
2015年12月4日
TIS株式会社
戦略技術センター AI技術推進室
稲田 冬子
Copyright © 2015 TIS Inc. All rights reserved. 2
自己紹介
稲田冬子(いなだふゆこ)
TIS株式会社
戦略技術センター AI技術推進室
■現担当:
Bluemix Watsonサービスの調査
■気になるBluemix Watsonサービス:
Concept Expansion、Relationship Extraction
(いずれもベータ)が今後どういう方向に進むか
Copyright © 2015 TIS Inc. All rights reserved. 3
日本語Watsonで質問応答システムを作ってみた
(1) Bluemix Watson+日本語=?
(2) このサービスは日本語で使えるか?
(3) 日本語の質問応答デモを作る
(4) まとめ
本日お話しする内容
Copyright © 2015 TIS Inc. All rights reserved. 4
日本語Watsonで質問応答システムを作ってみた
(1) Bluemix Watson+日本語=?
(2) このサービスは日本語で使えるか?
(3) 日本語の質問応答デモを作る
(4) まとめ
Copyright © 2015 TIS Inc. All rights reserved. 5
Bluemix Watsonサービス+日本語=?
■BluemixカタログのWatsonサービスは全16種類(ベータ含む)と、
数はかなり充実
■しかし、今年前半に予告された日本語の正式対応はまだ(待ち遠しい!)
→英語版のデモだけでは、使い方がもうひとつピンとこない…
→部分的にでも日本語データで使えないか?
Copyright © 2015 TIS Inc. All rights reserved. 6
質問応答の基本部品となるサービス群
サービス名称 アイコン 正式対応
言語
機能・用途
①Dialog 英語のみ
(※1)
システムに対話型インタフェースを実
装するサービス。自動応答や操作手順
の説明など、ユーザとの対話フローが
必要な場面で利用できる。
②Natural Language
Classifier
(NLC)
英語、ポルト
ガル語、スペ
イン語
(※2)
文章をクラスに振り分ける分類器。文
章⇔クラスの組み合わせを与えると機
械学習により法則を習得する。話題の
絞込みや対応の分岐に利用できる。
③Retrieve and
Rank
(R&R)
多言語に対応
(※3)
検索に対して、関連性の高い情報を抽
出して返す。機械学習でデータの「サ
イン」を検出することで、全文検索よ
りも的確なランク付けが行える。
(※1)http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/reference_nodes.shtml
ダイアログXMLの<setting name=“LANGUAGE”>は英語(EN)のみという記載がある。
(※2)http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/#tech
(※3)https://developer.ibm.com/answers/questions/234325/supported-languages-retrieve-and-rank-only-english/
Copyright © 2015 TIS Inc. All rights reserved. 7
質問応答の基本部品となるサービス群
サービス名称 アイコン 正式対応
言語
機能・用途
④Speech to Text 英語 (米国)、
スペイン語
(※4)
人間が話した言葉を音声から文字に変
換する。キーボードを使わずに声でシ
ステムを制御したり、通話内容をテキ
ストで記録するといった場面で利用で
きる。
⑤Text to Speech 英語(米国)、
英語(英国)、
フランス語、
ドイツ語、イタ
リア語、スペイ
ン語(カスティ
リャ語)、スペ
イン語(北米)
(※5)
テキストで書かれた言葉を音声合成し
て出力する、いわゆる読み上げ機能。
(※4)https://console.ng.bluemix.net/catalog/services/speech-to-text/
ブラウザを日本語設定にして見た場合。英語に切り替えると中国語、ポルトガル語(ブラジル)も表示される
(※5)https://console.ng.bluemix.net/catalog/services/text-to-speech/
ドキュメント上は「日本語が使える」という情報はほとんど無いが、
体当たりで実験してみた
Copyright © 2015 TIS Inc. All rights reserved. 8
日本語Watsonで質問応答システムを作ってみた
(1) Bluemix Watson+日本語=?
(2) このサービスは日本語で使えるか?
(3) 日本語の質問応答デモを作る
(4) まとめ
Copyright © 2015 TIS Inc. All rights reserved. 9
①Dialog-概要
サービス名称 アイコン 正式対応
言語
機能・用途
Dialog 英語のみ システムに対話型インタフェースを実
装するサービス。自動応答や操作手順
の説明など、ユーザとの対話フローが
必要な場面で利用できる。
■利用方法
①対話フローを定義したXMLファイルを作成して、APIで登録
②conversation APIにユーザが入力したテキストを渡すと、XMLの定義に従った応答が
返ってくる→この繰り返しで対話が進む
■ドキュメント
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/
■デモ(ピザ注文デモ)
http://dialog-demo.mybluemix.net/
Copyright © 2015 TIS Inc. All rights reserved. 10
①Dialog-仕組み
■ダイアログXML
• 「ああ言われたら(input)、こう言う(ouput)」定義の集合体
• goto文、検索スコープ制御、セッション変数などの仕組みと組み合わせて、自
分が欲しい対話フローを実現する
• 「ああ言われたら」の部分にはマッチングさせたい文字列パターンを直接記述
<input>
<grammar>
<item>$ (Toppings)</item>
<item>$ topping</item>
<item>$ toppings</item>
</grammar>
<output>
<prompt selectionType="RANDOM">
<item>We have cheese, pepperoni, olives, mushrooms, etc.</item>
</prompt>
</output>
</input>
<例>(ピザ注文デモのXMLから抜粋)
Copyright © 2015 TIS Inc. All rights reserved. 11
①Dialog-仕組み
■ダイアログXML
• 「ああ言われたら(input)、こう言う(ouput)」定義の集合体
• goto文、検索スコープ制御、セッション変数などの仕組みと組み合わせて、自
分が欲しい対話フローを実現する
• 「ああ言われたら」の部分にはマッチングさせたい文字列パターンを直接記述
<input>
<grammar>
<item>$ (Toppings)</item>
<item>$ topping</item>
<item>$ toppings</item>
</grammar>
<output>
<prompt selectionType="RANDOM">
<item>We have cheese, pepperoni, olives, mushrooms, etc.</item>
</prompt>
</output>
</input>
<例>(ピザ注文デモのXMLから抜粋)
入力された文字列に
“topping(s)”という
単語が含まれていたら・・
($は部分一致の記号)
→UTF-8の文字列をマッチングしているだけなら、そのまま
日本語でも使えるのでは?(勝手な想像)
この文字列を返す
Copyright © 2015 TIS Inc. All rights reserved. 12
①Dialog-日本語で使えるか?
■実験内容
• <input><output>などに日本語を入れたダイアログXMLを作成
• ダイアログのXMLのsettingsパートでLANGUAGE=“JA”を指定
■結果
• 日本語の入出力は問題なくできるが、文字列マッチングが一部NG。
• Dialogの文字列マッチングは単純な文字列一致ではなく「word」単位。
→Dialogは日本語のword境界を判定できないため、期待通りに動かない
• ただし、日本語の句読点や文字種の境目はword境界とみなされる模様
例)パターン「$行きたい」を指定(「行きたい」を含む文との一致を期待)
→「行きたいです」「行きたいね」「行きたいと思う」などを入力してもヒットしない。
→以下のように入力すればヒットする。
「行きたい△です」(△は半角スペース)
「行きたいデス」
→対話のキーになる文字列マッチングが一部NGなので、想定外の動き
をすることがある(分かち書きツールで事前加工するなどの手当がお
そらく必要)
BMXUGで説明に使った「$おはよう」の
パターンを再検証したところマッチング
できたため、例文を差し替えました。
Copyright © 2015 TIS Inc. All rights reserved. 13
②NLC-概要
■利用方法
①文章とクラスの組み合わせを定義したCSVファイルを作成して、APIで登録
→NLCが機械学習によって分類の基準を習得
②NLCに新たな文章を渡すと、習得済みの基準に従ってクラス分類が行われ、
クラス名と確度が返される
■ドキュメント
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/
■デモ(気温・天候に関する文章の分類)
http://natural-language-classifier-demo.mybluemix.net/
サービス名称 アイコン 正式対応
言語
機能・用途
Natural Language
Classifier
(NLC)
英語、ポルト
ガル語、スペ
イン語
文章をクラスに振り分ける分類器。文
章⇔クラスの組み合わせを与えると機
械学習により法則を習得する。話題の
絞込みや対応の分岐に利用できる
Copyright © 2015 TIS Inc. All rights reserved. 14
<学習データ例> (NLCデモのサンプルデータから抜粋)
②NLC-仕組み
text class
How hot is it today? temperature
What is the expected high for today? temperature
Will it rain? condition
Will it be cloudy? condition
気温
天候
text class confidence
Is it windy outside? condition 99.1%
一般的な語の関係はNLCがあらかじめ習得済みなので、
学習データにない語が含まれていても分類できる
■分類器(classifier)の作成
• 学習用データ(文章+クラスの組み合わせ)をCSV形式で登録。
→与えたデータから分類方法を学習した、新しい分類器が作られる。
■分類器の利用
• 分類器に新しい文章を与えると、先に学習した基準で分類が行われる
Copyright © 2015 TIS Inc. All rights reserved. 15
■実験内容
• 英語版デモとほぼ同じ内容の学習データを日本語で作成
• 学習用データの登録時に、メタデータのlanguageに“ja”を指定
■結果
• 新しい文章を与えると、日本語でもかなり高い確信度で分類が行われた
<学習データ例> (抜粋)
②NLC-日本語で使えるか?
text class
外は暑いですか? 気温
今日の最低気温は何度ですか? 気温
雪は降りそうですか? 天候
雨はいつごろ止みそうですか? 天候
text class confidence
今日はぬくい。 気温 89.9%
今日はしばれる。 気温 80.5%
台風が来そうだ。 天候 92.3%
学習データにない語
(上の2つは、ややムチャ振り)
→上記の結果からは、NLCは日本語に関しても各種コーパスの
情報を取りこみ済みで「使える」状態に見える
確信度の高さか
ら、NLCはその
語を「知って」
いると推測
Copyright © 2015 TIS Inc. All rights reserved. 16
③R&R-概要
■利用方法
①Apache Solrのコンフィギュレーションを行う
②検索対象文書を登録する→Retrieve API(Solr全文検索)が利用可能になる
③{質問、回答、関連度}の組み合わせ情報をrankerに与えて学習させる
→Rank API(Watson独自の検索)が利用可能になる
■ドキュメント
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/retrieve-rank/
■デモ(航空力学の文章に関するRetrieveとRankの結果比較)
http://retrieve-and-rank-demo.mybluemix.net/rnr-demo/dist/
サービス名称 アイコン 正式対応
言語
機能・用途
Retrieve and Rank
(R&R)
多言語に対応 検索に対して、関連性の高い情報を抽
出して返す。機械学習でデータの「サ
イン」を検出することで、全文検索よ
りも的確なランク付けが行える。
Copyright © 2015 TIS Inc. All rights reserved. 17
通常の
全文検索による
検索結果
③R&R-仕組み
■概念図
• R&R=Retrieve(Solr)とRank(Watson独自)の複合検索機能
• 図の上半分はApache Solrそのもの。
R&Rサービス
Solr用設定ファイル
※Ranker連携用の
定義を含む
Solr
・形態素解析
・インデクス生成
・検索
Ranker(Solrプラグイン)
・検索結果のランク付け
(機械学習に基づく)
学習用データ
(ground truth)
設定
トレーニング
Solrの
管理API
Ranker
管理API
Retrieve
機械学習による
検索結果
(結果の並び順が
Retrieveと異なる)
Rank
利用者向け
API
検索対象
文書群
(select)
(fcselect)
Copyright © 2015 TIS Inc. All rights reserved. 18
文書番号 関連度 文書番号 関連度 文書番号 関連度
図書館は誰でも使えますか? 1 3 2 1
私はアメリカ人ですが、本を借りられますか? 1 3 2 2
隣の市から通学していますが、本は借りられます
か?
1 3 2 2
5歳の子供がいますが、ひとりでも本を借りられま
すか?
2 2 15 1
小さい子を連れていても利用できますか。 2 3 45 3 15 3
最近引っ越してきたので、図書館の利用方法を
教えてください。
1 2 2 3 5 1
利用カードをなくしました。 3 2 41 3 40 2
質問文
回答になる文書の文書番号と、関連度(ここでは3段階)
③R&R-仕組み
■Rankerのトレーニング
• 代表的な質問を抽出して{質問文、回答となる文書のID、関連度}の組み合
わせを学習させる
• 組み合わせと関連度は、人間が判断してデータ化する
• 学習したRankerは単純な全文検索よりも人間に近い判断をする(はず)
<学習用データ(ground truth)の形式>
<検索対象文書>
文書ID 本文
1 XXX図書館のご案内
この図書館は、市内在住または在勤の方ならどなたでも無料でご利用になれます。資料を借りる場合は、図書館利用カード
が必要です。 ・・・・・
2 利用カードは、XXX図書館の受付カウンターで作成できます。
利用登録申込書に記入し、ご本人が住所を確認できる身分証明書を持ってカウンターへお越しください。
小学生未満のお子さんは、親御さんの同伴をお願いします。
「住所を確認できる身分証明書」の例
・健康保険証運転免許証  ・学生証  ・パスポート  ・住基カード ・・・・
3 利用カードはXXX図書館の全館と、提携している△△図書館でもご利用になれます。
住所や電話番号等が変更になった場合は、変更手続きをしてください。電話番号、メールアドレスの変更は、ホームページの
利用者メニューからご自身で行うことができます。住所の変更は、上記の住所を確認できる身分証明書をお持ちになって、最
寄りの図書館カウンターで手続きをしてください。
カードを紛失した時は、なるべく早く図書館にご連絡ください。
有効期限は1年間です。期限が切れた場合、次回貸出時に登録内容変更の有無を確認させていただきます。
・・・・
例えば「図書館は誰でも使えま
すか?」という質問に対しては
文書1は非常に関連度が強い、文
書2は多少関連がある、いった判
断をしながらトレーニングデー
タを作成していく
Copyright © 2015 TIS Inc. All rights reserved. 19
③R&R-日本語で使えるか?
■前提
• RetrieveはSolr(多言語対応)を日本語用に設定すれば問題なく動く
■実験内容
• Rankerに日本語の学習用データ(ground truth)を与えてトレーニング
• RetrieveとRankに同じ質問を与えて検索結果を比較
■結果
• RankがRetrieveとは違うソート順で検索結果を返すことは確認できた
• 「日本語で、RankがRetrieveよりも良い結果を返すか」は判断つかず
• 実験データの件数・文章量が少なかったことも一因
• 本来はRankの効果を確認したい→使用データと評価方法が今後の課題
■参考情報
• DeveloperWorksのQ&A回答によると、「R&Rは英語以外の言語でも使えるが、
Rankの結果の品質は言語によって違う」らしい
https://developer.ibm.com/answers/questions/234325/supported-languages-retrieve-and-rank-only-english/
→Retrieve、Rankとも「システム的には」日本語で正しく動く。
Rankが返す結果の妥当性評価方法は今後の課題。
Copyright © 2015 TIS Inc. All rights reserved. 20
④Speech to Text-概要
■利用方法
①音声認識用のセッションを生成
②recognize APIに音声データを渡すと、音声認識結果のテキストが確度とともに返される
■ドキュメント
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/speech-to-text/
■デモ
https://speech-to-text-demo.mybluemix.net/
サービス名称 アイコン 正式対応
言語
機能・用途
Speech to Text 英語 (米国)、
スペイン語
人間が話した言葉を音声から文字に変
換する。キーボードを使わずに声でシ
ステムを制御したり、通話内容をテキ
ストで記録するといった場面で利用で
きる。
Copyright © 2015 TIS Inc. All rights reserved. 21
④Speech to Text-日本語で使えるか?
■実験内容→記述省略
【祝】12/2に、デモ画面に日本語の選択肢が登場!
ドキュメントにはない「Japanese」が
APIでmodel一覧を取得すると存在する
(使える)ことを書く予定だったが、
省略・・
Copyright © 2015 TIS Inc. All rights reserved. 22
⑤Text to Speech-概要
■利用方法
①synthesize APIにテキストを渡すと、合成結果の音声ファイルが返される。
■ドキュメント
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/text-to-speech/
■デモ
https://text-to-speech-demo.mybluemix.net/
サービス名称 アイコン 正式対応
言語
機能・用途
Text to Speech 英語(米国)、
英語(英国)、
フランス語、
ドイツ語、イタ
リア語、スペイ
ン語(カスティ
リャ語)、スペ
イン語(北米)
テキストで書かれた言葉を音声合成し
て出力する、いわゆる読み上げ機能。
Copyright © 2015 TIS Inc. All rights reserved. 23
⑤Text to Speech-日本語で使えるか?
■実験内容→記述省略
【祝】12/2に、デモ画面に日本語の選択肢が復活!
(以前はあったが10月中旬に一度削除された…)
こちらも、API上は実は日本語が使える
ことを書く予定だったが、省略・・
Copyright © 2015 TIS Inc. All rights reserved. 24
ここまでのまとめ
■日本語対応状況(私見)
・Bluemix Watsonで、質問応答システムの基本部品になるサービスの
日本語対応状況を確認したところ、結果は以下のとおり
No. サービス 日本語利用可? 備考
1 Dialog △ 日本語の文字列マッチングが一部機能
しないので、あまりシビアな用途には
使えない
2 NLC ○ 日本語で使える
3 R&R ○? 日本語で使えるが、Rankの本来の効
果が出ているかは不明
4 Speech to Text ○ 日本語で使える
5 Text to Speech ○ 日本語で使える(女性の声のみ)
いくつか制約はあるものの、日本語データを入れて動か
すことはできそう
→実際に、日本語を使って簡単なデモを作ってみる
Copyright © 2015 TIS Inc. All rights reserved. 25
日本語Watsonで質問応答システムを作ってみた
(1) Bluemix Watson+日本語=?
(2) このサービスは日本語で使えるか?
(3) 日本語の質問応答デモを作る
(4) まとめ
Copyright © 2015 TIS Inc. All rights reserved. 26
質問応答デモ:概要
■テーマ
• 日本語を使った対話型の観光案内(都内某区)
■利用したWatson サービス
• Dialog・・・ユーザーとの対話(制約付きのまま使用)
• NLC・・・おすすめ観光コースの選択
• R&R・・・おすすめ観光スポットの検索
• Text to Speech・・・Watsonの回答を音声で出力
• Speech to Text・・・(今回は間に合わず)
■雛形&参考にしたソース
• 各サービスのデモプログラム(非常に充実!)
• WatsonのNode.js SDK(APIラッパー)
https://github.com/watson-developer-cloud/node-sdk
Copyright © 2015 TIS Inc. All rights reserved. 27
質問応答デモ:対話フロー
■対話フロー
受付メッセージ
観光コース紹介
どれかに
興味あり?
該当コースの
パンフレットを
提示
興味のある分野を
聞き出す
おすすめコースを
選んで提示
関連スポットを
検索して提示
NLC
R&R
Dialog
YES NO
Copyright © 2015 TIS Inc. All rights reserved. 28
質問応答デモ:画面構成
Dialog
Text to
Speech
NLC
R&R
#ほとんどPizza注文デモ画面のままですが・・・
Copyright © 2015 TIS Inc. All rights reserved. 29
質問応答デモ
~DEMO~
Copyright © 2015 TIS Inc. All rights reserved. 30
質問応答デモ:実装のポイント①
■課題:DialogとNLCやR&Rをどうやって統合するか?
■デモでの対応方法
• こんなことはできないので…
• Dialogの応答文を利用してフローに割り込む
アプリ
Dialog
NLC
R&R
アプリ
Dialog
Conversation
API
NLC
R&R
Conversation
API
Dialogの応答をチェックし、
所定のキーワードが来たら
コールバック内でNLCやR&R
を呼び出す
Dialogが返す応答にあら
かじめシステム制御用の
キーワードを埋め込む
<item>画面右側にパンフレット
のリンクが表示されましたか?
{NlcEndCue}</item>
Dialog用XML
Copyright © 2015 TIS Inc. All rights reserved. 31
質問応答デモ:実装のポイント②
■課題:NLCやR&Rに渡す質問用テキストをどうやって用意するか?
• デモの設定上、「ユーザが興味を持ちそうな」コースやスポットをおすすめしたい
• しかし、ユーザに「興味があることをフリー入力してください」というのは無理
■デモでの対応方法
• 観光スポットに関係するキーワードを埋め込んだ文章を用意して、「興味があるか」を
ユーザに1つずつ聞いていく
• ユーザが肯定的な返事をした文章だけをマージして、NLCやR&Rに対する質問文に
する
文学好きの方には、作家の旧居や
作品に出てくる建築物が…
江戸時代初期から幕末にかけての
史跡もいろいろ…
洋館や庭園など、緑が多くてゆっ
たり巡れる場所…
はい
行って
みたいです
あまり
興味が…割と
好きです
これらをマージした文章をNLC/R&Rに
渡して、コース・施設とマッチング
Copyright © 2015 TIS Inc. All rights reserved. 32
日本語Watsonで質問応答システムを作ってみた
(1) Bluemix Watson+日本語=?
(2) このサービスは日本語で使えるか?
(3) 日本語の質問応答デモを作る
(4) まとめ
Copyright © 2015 TIS Inc. All rights reserved. 33
まとめ
■Bluemix Watson+日本語=「かなり使える」
• 今回調べたサービスは、若干の制約はあるが日本語でも動く
• 「使い方を覚えたい」「使い道を検討したい」といった目的なら、試す価値は十分ある
■アプリ開発は思ったより手をつけやすい
• 資料はすべて英語だが、サンプルが充実しているので現物で確認できる
■あとは日本語正式対応を待つだけ!
• 日本語ハッカソン開催、Speech/Textデモの日本語公開と続いて、すでに秒読
み?(だと期待!)
20151204 bmxug watson_j_v1.1

Más contenido relacionado

La actualidad más candente

第8回八子クラウドin関西(討議メモ付き)
第8回八子クラウドin関西(討議メモ付き)第8回八子クラウドin関西(討議メモ付き)
第8回八子クラウドin関西(討議メモ付き)知礼 八子
 
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンドOsaka University
 
第30回八子クラウド座談会 MaaS特集 事前配付資料
第30回八子クラウド座談会 MaaS特集 事前配付資料第30回八子クラウド座談会 MaaS特集 事前配付資料
第30回八子クラウド座談会 MaaS特集 事前配付資料知礼 八子
 
座談会資料(メモ付き) 20151003
座談会資料(メモ付き) 20151003座談会資料(メモ付き) 20151003
座談会資料(メモ付き) 20151003知礼 八子
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHIKamonohashi
 
リクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションリクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションRecruit Technologies
 
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理Takahiro Kubo
 
第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413知礼 八子
 
ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi Osaka University
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントRecruit Technologies
 
Machine learningbootstrap For Business
Machine learningbootstrap For BusinessMachine learningbootstrap For Business
Machine learningbootstrap For BusinessTakahiro Kubo
 
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)appliedelectronics
 
座談会資料 事前配布 20170225
座談会資料 事前配布 20170225座談会資料 事前配布 20170225
座談会資料 事前配布 20170225知礼 八子
 
第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャMaho Takara
 
機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発Takahiro Kubo
 
八子クラウドon the Beach 資料(当日メモ付) 20170811
八子クラウドon the Beach 資料(当日メモ付) 20170811八子クラウドon the Beach 資料(当日メモ付) 20170811
八子クラウドon the Beach 資料(当日メモ付) 20170811知礼 八子
 
八子クラウド座談会 事前配布・趣旨説明  20170617
八子クラウド座談会 事前配布・趣旨説明  20170617八子クラウド座談会 事前配布・趣旨説明  20170617
八子クラウド座談会 事前配布・趣旨説明  20170617知礼 八子
 
大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学Osaka University
 
FastViewによるwebの自動最適化とビジネスメリット
FastViewによるwebの自動最適化とビジネスメリットFastViewによるwebの自動最適化とビジネスメリット
FastViewによるwebの自動最適化とビジネスメリットNihonRadware
 

La actualidad más candente (20)

第8回八子クラウドin関西(討議メモ付き)
第8回八子クラウドin関西(討議メモ付き)第8回八子クラウドin関西(討議メモ付き)
第8回八子クラウドin関西(討議メモ付き)
 
投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド投資会社から見た人工知能(Ai)の事業化トレンド
投資会社から見た人工知能(Ai)の事業化トレンド
 
第30回八子クラウド座談会 MaaS特集 事前配付資料
第30回八子クラウド座談会 MaaS特集 事前配付資料第30回八子クラウド座談会 MaaS特集 事前配付資料
第30回八子クラウド座談会 MaaS特集 事前配付資料
 
座談会資料(メモ付き) 20151003
座談会資料(メモ付き) 20151003座談会資料(メモ付き) 20151003
座談会資料(メモ付き) 20151003
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
 
リクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューションリクルートにおけるVDI導入とCiscoデータセンタソリューション
リクルートにおけるVDI導入とCiscoデータセンタソリューション
 
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
kintone Cafe Japan 2016: kintone x 機械学習で実現する簡単名刺管理
 
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイントSQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
 
第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413第30回八子クラウド座談会(当日メモ付き)190413
第30回八子クラウド座談会(当日メモ付き)190413
 
ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi
 
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイントリクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
リクルートにおけるセキュリティ施策方針とCSIRT組織運営のポイント
 
Machine learningbootstrap For Business
Machine learningbootstrap For BusinessMachine learningbootstrap For Business
Machine learningbootstrap For Business
 
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)
【FKEYセミナー 20150205】「成功するVDIセキュリティ・ソリューション」 講師:足立 太郎 (株式会社応用電子 技術開発部部長)
 
座談会資料 事前配布 20170225
座談会資料 事前配布 20170225座談会資料 事前配布 20170225
座談会資料 事前配布 20170225
 
第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ
 
機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発機械学習を用いた会議診断システムの開発
機械学習を用いた会議診断システムの開発
 
八子クラウドon the Beach 資料(当日メモ付) 20170811
八子クラウドon the Beach 資料(当日メモ付) 20170811八子クラウドon the Beach 資料(当日メモ付) 20170811
八子クラウドon the Beach 資料(当日メモ付) 20170811
 
八子クラウド座談会 事前配布・趣旨説明  20170617
八子クラウド座談会 事前配布・趣旨説明  20170617八子クラウド座談会 事前配布・趣旨説明  20170617
八子クラウド座談会 事前配布・趣旨説明  20170617
 
大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学
 
FastViewによるwebの自動最適化とビジネスメリット
FastViewによるwebの自動最適化とビジネスメリットFastViewによるwebの自動最適化とビジネスメリット
FastViewによるwebの自動最適化とビジネスメリット
 

Similar a 20151204 bmxug watson_j_v1.1

SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!Miki Yutani
 
CNNチュートリアル
CNNチュートリアルCNNチュートリアル
CNNチュートリアルIkuro Sato
 
Ibm watson api サービス
Ibm watson api サービスIbm watson api サービス
Ibm watson api サービスHiroaki Komine
 
Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱Junya Kamura
 
データサイエンスセミナー 【found IT project #8】
データサイエンスセミナー 【found IT project #8】データサイエンスセミナー 【found IT project #8】
データサイエンスセミナー 【found IT project #8】Tetsuya Yoshida
 
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-Daisuke Ikeda
 
Call Center Watsonのご紹介
Call Center Watsonのご紹介Call Center Watsonのご紹介
Call Center Watsonのご紹介Hiroshi Tomioka
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合InnovationSprint2011
 
データが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouverデータが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit VancouverKentaro Takeda
 
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃんYasushi Hara
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計Takahiro Kubo
 
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubMachine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubJunya Kamura
 
ワードプレス+ワトソン
ワードプレス+ワトソンワードプレス+ワトソン
ワードプレス+ワトソンK Kimura
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 

Similar a 20151204 bmxug watson_j_v1.1 (20)

SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
SoftLayer Bluemix Summit 2015: BluemixでWatsonをつかいたおせ!
 
CNNチュートリアル
CNNチュートリアルCNNチュートリアル
CNNチュートリアル
 
Ibm watson api サービス
Ibm watson api サービスIbm watson api サービス
Ibm watson api サービス
 
Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱Deep learningの世界に飛び込む前の命綱
Deep learningの世界に飛び込む前の命綱
 
データサイエンスセミナー 【found IT project #8】
データサイエンスセミナー 【found IT project #8】データサイエンスセミナー 【found IT project #8】
データサイエンスセミナー 【found IT project #8】
 
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
 
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
 
Call Center Watsonのご紹介
Call Center Watsonのご紹介Call Center Watsonのご紹介
Call Center Watsonのご紹介
 
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
 
データが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouverデータが覗いたOpenStack Summit Vancouver
データが覗いたOpenStack Summit Vancouver
 
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
 
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
 
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
#ibis2017 Description: IBIS2017の企画セッションでの発表資料#ibis2017 Description: IBIS2017の企画セッションでの発表資料
#ibis2017 Description: IBIS2017の企画セッションでの発表資料
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
Machine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hubMachine learning 15min TensorFlow hub
Machine learning 15min TensorFlow hub
 
Spring I/O 2015 報告
Spring I/O 2015 報告Spring I/O 2015 報告
Spring I/O 2015 報告
 
ワードプレス+ワトソン
ワードプレス+ワトソンワードプレス+ワトソン
ワードプレス+ワトソン
 
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
Deep learning を用いた画像から説明文の自動生成に関する研究の紹介
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 

20151204 bmxug watson_j_v1.1

  • 1. Copyright © 2015 TIS Inc. All rights reserved. BMXUG第6回 ~Watson Speical Ver.~ 日本語Watsonで質問応答システムを つくってみた 2015年12月4日 TIS株式会社 戦略技術センター AI技術推進室 稲田 冬子
  • 2. Copyright © 2015 TIS Inc. All rights reserved. 2 自己紹介 稲田冬子(いなだふゆこ) TIS株式会社 戦略技術センター AI技術推進室 ■現担当: Bluemix Watsonサービスの調査 ■気になるBluemix Watsonサービス: Concept Expansion、Relationship Extraction (いずれもベータ)が今後どういう方向に進むか
  • 3. Copyright © 2015 TIS Inc. All rights reserved. 3 日本語Watsonで質問応答システムを作ってみた (1) Bluemix Watson+日本語=? (2) このサービスは日本語で使えるか? (3) 日本語の質問応答デモを作る (4) まとめ 本日お話しする内容
  • 4. Copyright © 2015 TIS Inc. All rights reserved. 4 日本語Watsonで質問応答システムを作ってみた (1) Bluemix Watson+日本語=? (2) このサービスは日本語で使えるか? (3) 日本語の質問応答デモを作る (4) まとめ
  • 5. Copyright © 2015 TIS Inc. All rights reserved. 5 Bluemix Watsonサービス+日本語=? ■BluemixカタログのWatsonサービスは全16種類(ベータ含む)と、 数はかなり充実 ■しかし、今年前半に予告された日本語の正式対応はまだ(待ち遠しい!) →英語版のデモだけでは、使い方がもうひとつピンとこない… →部分的にでも日本語データで使えないか?
  • 6. Copyright © 2015 TIS Inc. All rights reserved. 6 質問応答の基本部品となるサービス群 サービス名称 アイコン 正式対応 言語 機能・用途 ①Dialog 英語のみ (※1) システムに対話型インタフェースを実 装するサービス。自動応答や操作手順 の説明など、ユーザとの対話フローが 必要な場面で利用できる。 ②Natural Language Classifier (NLC) 英語、ポルト ガル語、スペ イン語 (※2) 文章をクラスに振り分ける分類器。文 章⇔クラスの組み合わせを与えると機 械学習により法則を習得する。話題の 絞込みや対応の分岐に利用できる。 ③Retrieve and Rank (R&R) 多言語に対応 (※3) 検索に対して、関連性の高い情報を抽 出して返す。機械学習でデータの「サ イン」を検出することで、全文検索よ りも的確なランク付けが行える。 (※1)http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/reference_nodes.shtml ダイアログXMLの<setting name=“LANGUAGE”>は英語(EN)のみという記載がある。 (※2)http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/#tech (※3)https://developer.ibm.com/answers/questions/234325/supported-languages-retrieve-and-rank-only-english/
  • 7. Copyright © 2015 TIS Inc. All rights reserved. 7 質問応答の基本部品となるサービス群 サービス名称 アイコン 正式対応 言語 機能・用途 ④Speech to Text 英語 (米国)、 スペイン語 (※4) 人間が話した言葉を音声から文字に変 換する。キーボードを使わずに声でシ ステムを制御したり、通話内容をテキ ストで記録するといった場面で利用で きる。 ⑤Text to Speech 英語(米国)、 英語(英国)、 フランス語、 ドイツ語、イタ リア語、スペイ ン語(カスティ リャ語)、スペ イン語(北米) (※5) テキストで書かれた言葉を音声合成し て出力する、いわゆる読み上げ機能。 (※4)https://console.ng.bluemix.net/catalog/services/speech-to-text/ ブラウザを日本語設定にして見た場合。英語に切り替えると中国語、ポルトガル語(ブラジル)も表示される (※5)https://console.ng.bluemix.net/catalog/services/text-to-speech/ ドキュメント上は「日本語が使える」という情報はほとんど無いが、 体当たりで実験してみた
  • 8. Copyright © 2015 TIS Inc. All rights reserved. 8 日本語Watsonで質問応答システムを作ってみた (1) Bluemix Watson+日本語=? (2) このサービスは日本語で使えるか? (3) 日本語の質問応答デモを作る (4) まとめ
  • 9. Copyright © 2015 TIS Inc. All rights reserved. 9 ①Dialog-概要 サービス名称 アイコン 正式対応 言語 機能・用途 Dialog 英語のみ システムに対話型インタフェースを実 装するサービス。自動応答や操作手順 の説明など、ユーザとの対話フローが 必要な場面で利用できる。 ■利用方法 ①対話フローを定義したXMLファイルを作成して、APIで登録 ②conversation APIにユーザが入力したテキストを渡すと、XMLの定義に従った応答が 返ってくる→この繰り返しで対話が進む ■ドキュメント http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/dialog/ ■デモ(ピザ注文デモ) http://dialog-demo.mybluemix.net/
  • 10. Copyright © 2015 TIS Inc. All rights reserved. 10 ①Dialog-仕組み ■ダイアログXML • 「ああ言われたら(input)、こう言う(ouput)」定義の集合体 • goto文、検索スコープ制御、セッション変数などの仕組みと組み合わせて、自 分が欲しい対話フローを実現する • 「ああ言われたら」の部分にはマッチングさせたい文字列パターンを直接記述 <input> <grammar> <item>$ (Toppings)</item> <item>$ topping</item> <item>$ toppings</item> </grammar> <output> <prompt selectionType="RANDOM"> <item>We have cheese, pepperoni, olives, mushrooms, etc.</item> </prompt> </output> </input> <例>(ピザ注文デモのXMLから抜粋)
  • 11. Copyright © 2015 TIS Inc. All rights reserved. 11 ①Dialog-仕組み ■ダイアログXML • 「ああ言われたら(input)、こう言う(ouput)」定義の集合体 • goto文、検索スコープ制御、セッション変数などの仕組みと組み合わせて、自 分が欲しい対話フローを実現する • 「ああ言われたら」の部分にはマッチングさせたい文字列パターンを直接記述 <input> <grammar> <item>$ (Toppings)</item> <item>$ topping</item> <item>$ toppings</item> </grammar> <output> <prompt selectionType="RANDOM"> <item>We have cheese, pepperoni, olives, mushrooms, etc.</item> </prompt> </output> </input> <例>(ピザ注文デモのXMLから抜粋) 入力された文字列に “topping(s)”という 単語が含まれていたら・・ ($は部分一致の記号) →UTF-8の文字列をマッチングしているだけなら、そのまま 日本語でも使えるのでは?(勝手な想像) この文字列を返す
  • 12. Copyright © 2015 TIS Inc. All rights reserved. 12 ①Dialog-日本語で使えるか? ■実験内容 • <input><output>などに日本語を入れたダイアログXMLを作成 • ダイアログのXMLのsettingsパートでLANGUAGE=“JA”を指定 ■結果 • 日本語の入出力は問題なくできるが、文字列マッチングが一部NG。 • Dialogの文字列マッチングは単純な文字列一致ではなく「word」単位。 →Dialogは日本語のword境界を判定できないため、期待通りに動かない • ただし、日本語の句読点や文字種の境目はword境界とみなされる模様 例)パターン「$行きたい」を指定(「行きたい」を含む文との一致を期待) →「行きたいです」「行きたいね」「行きたいと思う」などを入力してもヒットしない。 →以下のように入力すればヒットする。 「行きたい△です」(△は半角スペース) 「行きたいデス」 →対話のキーになる文字列マッチングが一部NGなので、想定外の動き をすることがある(分かち書きツールで事前加工するなどの手当がお そらく必要) BMXUGで説明に使った「$おはよう」の パターンを再検証したところマッチング できたため、例文を差し替えました。
  • 13. Copyright © 2015 TIS Inc. All rights reserved. 13 ②NLC-概要 ■利用方法 ①文章とクラスの組み合わせを定義したCSVファイルを作成して、APIで登録 →NLCが機械学習によって分類の基準を習得 ②NLCに新たな文章を渡すと、習得済みの基準に従ってクラス分類が行われ、 クラス名と確度が返される ■ドキュメント http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/ ■デモ(気温・天候に関する文章の分類) http://natural-language-classifier-demo.mybluemix.net/ サービス名称 アイコン 正式対応 言語 機能・用途 Natural Language Classifier (NLC) 英語、ポルト ガル語、スペ イン語 文章をクラスに振り分ける分類器。文 章⇔クラスの組み合わせを与えると機 械学習により法則を習得する。話題の 絞込みや対応の分岐に利用できる
  • 14. Copyright © 2015 TIS Inc. All rights reserved. 14 <学習データ例> (NLCデモのサンプルデータから抜粋) ②NLC-仕組み text class How hot is it today? temperature What is the expected high for today? temperature Will it rain? condition Will it be cloudy? condition 気温 天候 text class confidence Is it windy outside? condition 99.1% 一般的な語の関係はNLCがあらかじめ習得済みなので、 学習データにない語が含まれていても分類できる ■分類器(classifier)の作成 • 学習用データ(文章+クラスの組み合わせ)をCSV形式で登録。 →与えたデータから分類方法を学習した、新しい分類器が作られる。 ■分類器の利用 • 分類器に新しい文章を与えると、先に学習した基準で分類が行われる
  • 15. Copyright © 2015 TIS Inc. All rights reserved. 15 ■実験内容 • 英語版デモとほぼ同じ内容の学習データを日本語で作成 • 学習用データの登録時に、メタデータのlanguageに“ja”を指定 ■結果 • 新しい文章を与えると、日本語でもかなり高い確信度で分類が行われた <学習データ例> (抜粋) ②NLC-日本語で使えるか? text class 外は暑いですか? 気温 今日の最低気温は何度ですか? 気温 雪は降りそうですか? 天候 雨はいつごろ止みそうですか? 天候 text class confidence 今日はぬくい。 気温 89.9% 今日はしばれる。 気温 80.5% 台風が来そうだ。 天候 92.3% 学習データにない語 (上の2つは、ややムチャ振り) →上記の結果からは、NLCは日本語に関しても各種コーパスの 情報を取りこみ済みで「使える」状態に見える 確信度の高さか ら、NLCはその 語を「知って」 いると推測
  • 16. Copyright © 2015 TIS Inc. All rights reserved. 16 ③R&R-概要 ■利用方法 ①Apache Solrのコンフィギュレーションを行う ②検索対象文書を登録する→Retrieve API(Solr全文検索)が利用可能になる ③{質問、回答、関連度}の組み合わせ情報をrankerに与えて学習させる →Rank API(Watson独自の検索)が利用可能になる ■ドキュメント http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/retrieve-rank/ ■デモ(航空力学の文章に関するRetrieveとRankの結果比較) http://retrieve-and-rank-demo.mybluemix.net/rnr-demo/dist/ サービス名称 アイコン 正式対応 言語 機能・用途 Retrieve and Rank (R&R) 多言語に対応 検索に対して、関連性の高い情報を抽 出して返す。機械学習でデータの「サ イン」を検出することで、全文検索よ りも的確なランク付けが行える。
  • 17. Copyright © 2015 TIS Inc. All rights reserved. 17 通常の 全文検索による 検索結果 ③R&R-仕組み ■概念図 • R&R=Retrieve(Solr)とRank(Watson独自)の複合検索機能 • 図の上半分はApache Solrそのもの。 R&Rサービス Solr用設定ファイル ※Ranker連携用の 定義を含む Solr ・形態素解析 ・インデクス生成 ・検索 Ranker(Solrプラグイン) ・検索結果のランク付け (機械学習に基づく) 学習用データ (ground truth) 設定 トレーニング Solrの 管理API Ranker 管理API Retrieve 機械学習による 検索結果 (結果の並び順が Retrieveと異なる) Rank 利用者向け API 検索対象 文書群 (select) (fcselect)
  • 18. Copyright © 2015 TIS Inc. All rights reserved. 18 文書番号 関連度 文書番号 関連度 文書番号 関連度 図書館は誰でも使えますか? 1 3 2 1 私はアメリカ人ですが、本を借りられますか? 1 3 2 2 隣の市から通学していますが、本は借りられます か? 1 3 2 2 5歳の子供がいますが、ひとりでも本を借りられま すか? 2 2 15 1 小さい子を連れていても利用できますか。 2 3 45 3 15 3 最近引っ越してきたので、図書館の利用方法を 教えてください。 1 2 2 3 5 1 利用カードをなくしました。 3 2 41 3 40 2 質問文 回答になる文書の文書番号と、関連度(ここでは3段階) ③R&R-仕組み ■Rankerのトレーニング • 代表的な質問を抽出して{質問文、回答となる文書のID、関連度}の組み合 わせを学習させる • 組み合わせと関連度は、人間が判断してデータ化する • 学習したRankerは単純な全文検索よりも人間に近い判断をする(はず) <学習用データ(ground truth)の形式> <検索対象文書> 文書ID 本文 1 XXX図書館のご案内 この図書館は、市内在住または在勤の方ならどなたでも無料でご利用になれます。資料を借りる場合は、図書館利用カード が必要です。 ・・・・・ 2 利用カードは、XXX図書館の受付カウンターで作成できます。 利用登録申込書に記入し、ご本人が住所を確認できる身分証明書を持ってカウンターへお越しください。 小学生未満のお子さんは、親御さんの同伴をお願いします。 「住所を確認できる身分証明書」の例 ・健康保険証運転免許証  ・学生証  ・パスポート  ・住基カード ・・・・ 3 利用カードはXXX図書館の全館と、提携している△△図書館でもご利用になれます。 住所や電話番号等が変更になった場合は、変更手続きをしてください。電話番号、メールアドレスの変更は、ホームページの 利用者メニューからご自身で行うことができます。住所の変更は、上記の住所を確認できる身分証明書をお持ちになって、最 寄りの図書館カウンターで手続きをしてください。 カードを紛失した時は、なるべく早く図書館にご連絡ください。 有効期限は1年間です。期限が切れた場合、次回貸出時に登録内容変更の有無を確認させていただきます。 ・・・・ 例えば「図書館は誰でも使えま すか?」という質問に対しては 文書1は非常に関連度が強い、文 書2は多少関連がある、いった判 断をしながらトレーニングデー タを作成していく
  • 19. Copyright © 2015 TIS Inc. All rights reserved. 19 ③R&R-日本語で使えるか? ■前提 • RetrieveはSolr(多言語対応)を日本語用に設定すれば問題なく動く ■実験内容 • Rankerに日本語の学習用データ(ground truth)を与えてトレーニング • RetrieveとRankに同じ質問を与えて検索結果を比較 ■結果 • RankがRetrieveとは違うソート順で検索結果を返すことは確認できた • 「日本語で、RankがRetrieveよりも良い結果を返すか」は判断つかず • 実験データの件数・文章量が少なかったことも一因 • 本来はRankの効果を確認したい→使用データと評価方法が今後の課題 ■参考情報 • DeveloperWorksのQ&A回答によると、「R&Rは英語以外の言語でも使えるが、 Rankの結果の品質は言語によって違う」らしい https://developer.ibm.com/answers/questions/234325/supported-languages-retrieve-and-rank-only-english/ →Retrieve、Rankとも「システム的には」日本語で正しく動く。 Rankが返す結果の妥当性評価方法は今後の課題。
  • 20. Copyright © 2015 TIS Inc. All rights reserved. 20 ④Speech to Text-概要 ■利用方法 ①音声認識用のセッションを生成 ②recognize APIに音声データを渡すと、音声認識結果のテキストが確度とともに返される ■ドキュメント http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/speech-to-text/ ■デモ https://speech-to-text-demo.mybluemix.net/ サービス名称 アイコン 正式対応 言語 機能・用途 Speech to Text 英語 (米国)、 スペイン語 人間が話した言葉を音声から文字に変 換する。キーボードを使わずに声でシ ステムを制御したり、通話内容をテキ ストで記録するといった場面で利用で きる。
  • 21. Copyright © 2015 TIS Inc. All rights reserved. 21 ④Speech to Text-日本語で使えるか? ■実験内容→記述省略 【祝】12/2に、デモ画面に日本語の選択肢が登場! ドキュメントにはない「Japanese」が APIでmodel一覧を取得すると存在する (使える)ことを書く予定だったが、 省略・・
  • 22. Copyright © 2015 TIS Inc. All rights reserved. 22 ⑤Text to Speech-概要 ■利用方法 ①synthesize APIにテキストを渡すと、合成結果の音声ファイルが返される。 ■ドキュメント http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/text-to-speech/ ■デモ https://text-to-speech-demo.mybluemix.net/ サービス名称 アイコン 正式対応 言語 機能・用途 Text to Speech 英語(米国)、 英語(英国)、 フランス語、 ドイツ語、イタ リア語、スペイ ン語(カスティ リャ語)、スペ イン語(北米) テキストで書かれた言葉を音声合成し て出力する、いわゆる読み上げ機能。
  • 23. Copyright © 2015 TIS Inc. All rights reserved. 23 ⑤Text to Speech-日本語で使えるか? ■実験内容→記述省略 【祝】12/2に、デモ画面に日本語の選択肢が復活! (以前はあったが10月中旬に一度削除された…) こちらも、API上は実は日本語が使える ことを書く予定だったが、省略・・
  • 24. Copyright © 2015 TIS Inc. All rights reserved. 24 ここまでのまとめ ■日本語対応状況(私見) ・Bluemix Watsonで、質問応答システムの基本部品になるサービスの 日本語対応状況を確認したところ、結果は以下のとおり No. サービス 日本語利用可? 備考 1 Dialog △ 日本語の文字列マッチングが一部機能 しないので、あまりシビアな用途には 使えない 2 NLC ○ 日本語で使える 3 R&R ○? 日本語で使えるが、Rankの本来の効 果が出ているかは不明 4 Speech to Text ○ 日本語で使える 5 Text to Speech ○ 日本語で使える(女性の声のみ) いくつか制約はあるものの、日本語データを入れて動か すことはできそう →実際に、日本語を使って簡単なデモを作ってみる
  • 25. Copyright © 2015 TIS Inc. All rights reserved. 25 日本語Watsonで質問応答システムを作ってみた (1) Bluemix Watson+日本語=? (2) このサービスは日本語で使えるか? (3) 日本語の質問応答デモを作る (4) まとめ
  • 26. Copyright © 2015 TIS Inc. All rights reserved. 26 質問応答デモ:概要 ■テーマ • 日本語を使った対話型の観光案内(都内某区) ■利用したWatson サービス • Dialog・・・ユーザーとの対話(制約付きのまま使用) • NLC・・・おすすめ観光コースの選択 • R&R・・・おすすめ観光スポットの検索 • Text to Speech・・・Watsonの回答を音声で出力 • Speech to Text・・・(今回は間に合わず) ■雛形&参考にしたソース • 各サービスのデモプログラム(非常に充実!) • WatsonのNode.js SDK(APIラッパー) https://github.com/watson-developer-cloud/node-sdk
  • 27. Copyright © 2015 TIS Inc. All rights reserved. 27 質問応答デモ:対話フロー ■対話フロー 受付メッセージ 観光コース紹介 どれかに 興味あり? 該当コースの パンフレットを 提示 興味のある分野を 聞き出す おすすめコースを 選んで提示 関連スポットを 検索して提示 NLC R&R Dialog YES NO
  • 28. Copyright © 2015 TIS Inc. All rights reserved. 28 質問応答デモ:画面構成 Dialog Text to Speech NLC R&R #ほとんどPizza注文デモ画面のままですが・・・
  • 29. Copyright © 2015 TIS Inc. All rights reserved. 29 質問応答デモ ~DEMO~
  • 30. Copyright © 2015 TIS Inc. All rights reserved. 30 質問応答デモ:実装のポイント① ■課題:DialogとNLCやR&Rをどうやって統合するか? ■デモでの対応方法 • こんなことはできないので… • Dialogの応答文を利用してフローに割り込む アプリ Dialog NLC R&R アプリ Dialog Conversation API NLC R&R Conversation API Dialogの応答をチェックし、 所定のキーワードが来たら コールバック内でNLCやR&R を呼び出す Dialogが返す応答にあら かじめシステム制御用の キーワードを埋め込む <item>画面右側にパンフレット のリンクが表示されましたか? {NlcEndCue}</item> Dialog用XML
  • 31. Copyright © 2015 TIS Inc. All rights reserved. 31 質問応答デモ:実装のポイント② ■課題:NLCやR&Rに渡す質問用テキストをどうやって用意するか? • デモの設定上、「ユーザが興味を持ちそうな」コースやスポットをおすすめしたい • しかし、ユーザに「興味があることをフリー入力してください」というのは無理 ■デモでの対応方法 • 観光スポットに関係するキーワードを埋め込んだ文章を用意して、「興味があるか」を ユーザに1つずつ聞いていく • ユーザが肯定的な返事をした文章だけをマージして、NLCやR&Rに対する質問文に する 文学好きの方には、作家の旧居や 作品に出てくる建築物が… 江戸時代初期から幕末にかけての 史跡もいろいろ… 洋館や庭園など、緑が多くてゆっ たり巡れる場所… はい 行って みたいです あまり 興味が…割と 好きです これらをマージした文章をNLC/R&Rに 渡して、コース・施設とマッチング
  • 32. Copyright © 2015 TIS Inc. All rights reserved. 32 日本語Watsonで質問応答システムを作ってみた (1) Bluemix Watson+日本語=? (2) このサービスは日本語で使えるか? (3) 日本語の質問応答デモを作る (4) まとめ
  • 33. Copyright © 2015 TIS Inc. All rights reserved. 33 まとめ ■Bluemix Watson+日本語=「かなり使える」 • 今回調べたサービスは、若干の制約はあるが日本語でも動く • 「使い方を覚えたい」「使い道を検討したい」といった目的なら、試す価値は十分ある ■アプリ開発は思ったより手をつけやすい • 資料はすべて英語だが、サンプルが充実しているので現物で確認できる ■あとは日本語正式対応を待つだけ! • 日本語ハッカソン開催、Speech/Textデモの日本語公開と続いて、すでに秒読 み?(だと期待!)