04 bmx mid seminar lecture conversation v1...ibm watson は、 然 語処理と機械学習を使...
TRANSCRIPT
4. Cognitiveサービスの利⽤
2017/12/19 (⽕)⽇本アイ・ビー・エム⽇本アイ・ビー・エムシステムズ・エンジニアリング
IBM Cloud中級者向けハンズオン・セミナー
© 2017 IBM Corporation2
ご注意
この資料は⽇本アイ・ビー・エム株式会社および⽇本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。資料の内容には正確を期するよう注意しておりますが、この資料の内容は2017年12⽉現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2017 IBM Corporation3
⽬次1. IBM Cloudで提供するCognitive/AI関連のサービス2. Watson Conversationサービス概説
© 2017 IBM Corporation4
1. IBM Cloudで提供するCognitive/AI関連のサービス
© 2017 IBM Corporation5
「Watson」カテゴリーでサービスを提供コグニティブ/AI関連のAPIサービスはWatsonカテゴリーで提供されています
2017年12⽉時点で10サービス提供
© 2017 IBM Corporation6
WatsonとはIBM Watson は、⾃然⾔語処理と機械学習を使⽤して、⼤量の⾮構造化データから洞察を明らかにするテクノロジー・プラットフォームです。
照会応答Engagement
探索・発⾒Discovery
意思決定⽀援Decision
Watsonが洞察を明らかにする⽅法⾮構造化データの分析⾃然⾔語処理を使⽤して⽂法やコンテキストを理解します
複雑な質問の理解解釈可能な全ての意味を評価し、質問の内容を判断します
答と解決法の提⽰裏付けとなる証拠と検出した質の⾼い情報をベースにします
Watsonが質問に答える⽅法Watsonはまず新たな主題について学習しますü ワード⽂書、PDF、Web ページなど、すべての関連資料が Watson にロードされますü 質問と答のペアが追加され、主題について Watson をトレーニングしますü Watson は新しい情報が公開されると⾃動的に更新されます
そしてWatsonが質問に答えますü Watson は何百万もの資料を検索して、何千もの回答の可能性を⾒つけ出しますü 根拠を収集し、スコアリング・アルゴリズムを使⽤して、この根拠の質を評価しますü 裏付けとなる根拠のスコアに基づき、すべての回答の可能性をランク付けします
http://www.ibm.com/smarterplanet/jp/ja/ibmwatson/what-is-watson.html
© 2017 IBM Corporation7
Watsonによる質疑応答システムq ⽶国のクイズ番組 「Jeopardy! 」に出場し、コンピュータの能⼒を⽴証
• オープンドメインの質問応答• 複雑な問題⽂とカテゴリの解釈• ⾼い正解率(約89%)• 確信度の推定
(ボタンを押すか否かの判断)• ⾼速な応答(2〜3秒で回答)
<Watsonが解いた問題と情報源>– 事実に基づく知識が問われる問題
• 歴史・⽂学・スポーツ・⾔葉遊び…– 百科事典・ニュース等の静的な情報源を利⽤
• 対戦中はインターネットには接続せず– キーワードの⼀致だけでなく、意味内容に基づき
問題⽂と情報源を関連づけて、正解率を向上
© 2017 IBM Corporation8
IBM Cloudで利⽤可能なWatson API
分析
⾳声処理
画像分類
⾔語処理
Speech to Text⾳声をテキスト⽂章に変換する
Text to Speechテキスト⽂章を⾳声に変換する
Visual Recognition画像コンテンツに含まれる意味を検出する
Discovery(⽇本語未対応)認知検索およびコンテンツ分析エンジンをアプリケーションに追加して、優れた意思決定を⾏うのに役⽴つパターン、傾向、およびアクション可能な洞察を識別する
Conversationアプリケーションに⾃然⾔語インターフェースを追加してエンドユーザとのやり取りを⾃動化 Language Translator(⼀部⽇本語未対応) ※1
⾃然⾔語テキストについて他⾔語へ翻訳を⾏う
Natural Language Understanding(⽇本語未対応)⾃然⾔語からキーワード抽出、エンティティー抽出、感情分析、概念タグ付け、分類法種別などを⾏う
Personality Insightsテキストから筆者の性格を推定する
Natural Language Classifierテキスト⽂章の分類を⾏う(質問の意図推定など)
Tone Analyzer(⽇本語未対応)テキストの感情、社交性、⽂体を解析する
⾔語処理、画像分類、⾳声処理 (認識, 発話)、分析の4種類が提供されています
© 2017 IBM Corporation9
Watson Developer Cloud
q 各Watson APIサービスの詳細を確認できます¦ https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/
q Java, Node.jsなどで開発する際のSDKなどが紹介されています
Watson APIを⽤いたアプリケーション開発者向けのWebサイトです
© 2017 IBM Corporation10
2. Watson Conversationサービス概説
© 2017 IBM Corporation11
Conversationとは
q ユーザの意図を理解し、その意図に対する応答メッセージを返しますq 会話のやりとりを通じてコンテキストを決めていく仕組みですq Conversationを構成する3つの要素
¦ インテント(意図), エンティティ(⽬的語), ダイアログ(処理フロー)
ユーザーとの対話を⾏い、処理を進めていくための対話エンジンを提供します
チャット画⾯
XXさん、おはようございます
10時-12時 お客様MTG @MK
…19時 新⼈歓迎
会 @銀座
今⽇の予定を教えて アプリ
⼊⼒メッセージ Conversation 呼び出す
回答メッセージを受け取る出⼒メッセージ
今⽇の予定を教えて
10時ー12時 お…
処理フローにより、意図と目的に対する応答メッセージを返します
入力された自然言語に対する学習された
意図を内部的に返します
意図:「教えて」、
目的語:「今日」「予定」
Conversation
© 2017 IBM Corporation12
Conversationのユースケース
q主なユースケース¦コールセンターやサポートセンター業務¦⾃然⾔語によるコンシェルジュ・サービス¦その他チャット・ボット系アプリ
q単体ではなく、⾳声認識/発話系のサービスと組み合わせての利⽤が多いです¦認識: Watson Speech To Text¦発話: Watson Text to Speech
対話によるユーザーへのサポートが必要な業務の⾃動化のためにWatson Conversationを利⽤します
https://conversation-demo.mybluemix.net/
© 2017 IBM Corporation13
インテント(Intent)とは?
q インテントを定義することで、ユーザーの⼊⼒テキストから意図を認識します¦ 認識した意図に合わせ、対話の処理を制御することができるようになります
入力例1
意図分類器入力2
意図3
ユーザ⼊⼒例により意図の学習を⾏います学習には最低でも5つの⼊⼒例が必要です
ユーザーが⼊⼒したテキストに含まれる「意図」を得るための要素です
痩せたい ダイエット
© 2017 IBM Corporation14
エンティティー(Entity)とは?
q エンティティーを定義することで、対話で確認したい項⽬をユーザーの⼊⼒テキストから取得するなどが可能になります¦ 認識したキーワードに合わせ、ユーザーの要求/属性情報を理解します
q エンティティーは2種類あります¦ My Entities:
nユーザーが⾃由に定義することができるエンティティーです¦ System Entities:
nConversationが提供するエンティティーです (2017年12⽉時点)lSys-time :時間を認識 例:13時20分lSys-date :曜⽇と⽇付を認識 例:⾦曜⽇、今⽇、11⽉1⽇lSys-currency :通貨を認識 例:20 cents、$20lSys-percentage :割合を認識 例:15%、10パーセントlSys-number :数値を認識 例:百七⼗、3.1415
ユーザーが⼊⼒したテキストに含まれる「キーワード」を得るための要素です
© 2017 IBM Corporation15
ダイアログ(Dialog)とは?
q 対話の流れに合わせてノードを追加し、処理を記述していくことでフローを構成します¦ ノードごとにユーザーに対しヒアリングや提案のための処理を記述します¦ 各ノードはトリガー、レスポンスで構成されています
n トリガー : ユーザーからの⼊⼒テキストに対する条件設定n レスポンス : ユーザーに返すテキストを設定
¦ ユーザーとの対話で得た情報はcontextに保管し、必要なときに再利⽤できます
ユーザーとのやりとりを⾏う対話のフローを定義するための要素です
35
XT
5 -
F5
0-
F
1 6解釈できませんでした。表現を変えて…
© 2017 IBM Corporation16
コンテキスト(Context)とは?
q ユーザーからの⼊⼒や、対話がどこまで進んだかをコンテキストに持たせる仕様です¦ conversation_idとSystemで構成されます
n conversation_id: どの対話かを⼀意に⽰すIDですn System: 対話がどこまで進んだかを⽰すdialog_stackと、任意のコンテキスト変数が定義されます
対話時にユーザー情報, セッションを保存しておくための機能を提供します
Context:{conversation_id:ʼ*****ʼ,System:{
dialog_stack:[object],Purpose:ʼ出張交通費申請ʼ,
…}}
何かご⽤ですか?
移動⼿段、⽇付とFrom-Toを教えていただけますか
Purposeに保存アプリ経由でメッセージ送信「交通費申請したい」 コンテキスト
** , ,*, *
,::
コンテキストを保存し、対話を継続
© 2017 IBM Corporation17
Conversationサービスでの開発対話フローの開発はIBM Cloudコンソール内で専⽤のUIが提供されます
Intent, Entity, Dialogごとに設定画⾯を提供
対話のフローをわかりやすく表⽰・作成
作成したフローのテストを容易に⾏える
© 2017 IBM Corporation18
ここまでのまとめq 以下のことを学びました
¦ IBM Cloudで提供するCognitive/AI関連のサービスnWatson APIを提供しています
¦ Watson Conversationサービス概説nユーザーとの対話を⾏い、処理を進めていくための対話エンジンを提供しますnAPIで呼び出し、ユーザーとの対話の中で要件を絞り込み、適切なアドバイスを⾏うため
の仕組みを提供します
実際にLab03のハンズオンを進めていきましょう!!
© 2017 IBM Corporation19