Slide 1

Slide 1 text

IBM Developer Online 1 Embeddable AI Dojo #1ɿ Watson Discovery ͱ࿈ܞ͢ΔΦϦδφϧΞϓϦ։ൃମݧ

Slide 2

Slide 2 text

⽇本アイ・ビー・エム株式会社 ύʔτφʔΞϥΠΞϯεࣄۀ෦ιϦϡʔγϣϯ૑ग़ϥϘ ソリューションアーキテクト 松島 輝昌 [email protected] SI企業、医療機器メーカー、通信企業等でエンジニアとして研鑽。 現在、⽇本IBMにてソリューション アーキテクトとして従事。 twitter : @trtrbohz facebook : https://www.facebook.com/Teru.Matsushima Linked-in : https://www.linkedin.com/in/teruyoshi-matsushima 2014年6⽉ E2D3 ver0.1 企画・設計・開発・構築 ⽇経ソフトウエア主催のOffice⽤アプリ開発コンテストにて特別賞受賞 IBM Red Hat Synergy Go to Market © 2021 IBM Corporation ⾃⼰紹介

Slide 3

Slide 3 text

"HFOEB 8BUTPO%JTDPWFSZʹ͍ͭͯ 2. Watson Discovery ͷ Hands-on ؀ڥ४උ 3. Watson Discovery ΞϓϦέʔγϣϯ։ൃମݧ 4. Watson Discovery ͔ΒAPIΛ࢖ͬͯ৘ใΛऔಘ

Slide 4

Slide 4 text

໨తͱΰʔϧ ໨త ΰʔϧ • Watson Discovery の機能を知っていただく • Watson Discovery のコンソールを使ってドキュメントを⼊⼒し、検索する⽅法 を体験していただく • Watson Discovery のアプリ開発を体験していただく • Watson Discovery APIの使い⽅を体験していただく ✚ IBM Technology zone でのお試し環境を体験していただく •Watson Discovery の機能を理解していただき、Discoveryへの⼊⼒⽅法やデー タの取り出し⽅を体験していただく

Slide 5

Slide 5 text

1 Watson Discovery

Slide 6

Slide 6 text

Watson Discovery︓テキストデータ活⽤のユースケース ⼤量の ⽂書データ ① 情報検索 - ⽬的の⽂書を⾒つける ② テキストマイニング - 特徴的な事象を⾒つける ③ ⾃動判定 - 情報の抽出・分類を⾏う お客様の声分析、設備/装置異常分析、特許分析 ドキュメント検索、チャットボット連携 保険⾃動査定、記⼊内容チェック、予測分析の前処理 診断内容 左⼤腿⾻⾻折、過去の以前 の⾻折の部位。 完全に回復 するには2ヶ⽉の⼊院が必 要です 備考欄 故意の衝突を否定するため に事故の警察の報告を⼊⼿ する必要がある Name 値 年齢 35 性別 男性 契約タイプ 02 怪我の原因 自動車事故 メタデータ テキストデータ ⼿術コード特定 ⼊院 障害等級 特約 傷病コード特定

Slide 7

Slide 7 text

• ドキュメント検索利⽤イメージ • チャットボット連携イメージ Watson Discoveryの適⽤パターン︓ ① 情報検索 Discovery からの回答 ⾃然⽂検索

Slide 8

Slide 8 text

IBM Watson Assistant with Answer finding 質問 回答 ソースへのリンク

Slide 9

Slide 9 text

データサイエンティストでないと知⾒探しが難しかったこれまでの分析UIから、次に絞り込む条件の候補 を出してくれるガイド型の分析UIを提供します。⾼い相関など特⻑のあるワードを⾃動で探し出してくれ るため、分析初⼼者でも重要な知⾒にたどりつけます。 Watson Discoveryの適⽤パターン︓② テキストマイニング 選択肢を選ぶだけで ⾒てみたい情報が下部に次々と表⽰され 特⻑的ワードがすぐ⾒つかる 主なお役⽴ち機能︓辞書登録⽀援、⽂書分類、⾃動クラスタリング、⾃動分析UI

Slide 10

Slide 10 text

Watson Discoveryの適⽤パターン︓③ ⾃動判定 保険⾦⽀払いの⼀次査定の⾃動化 • 診断書の記述内容から⽀払いコードを予測 • 簡易事案と⾼難度事案に振り分け 診断内容 左⼤腿⾻⾻折、過去の以前 の⾻折の部位。 完全に回復 するには2ヶ⽉の⼊院が必要 です 備考欄 故意の衝突を否定するため に事故の警察の報告を⼊⼿ する必要がある Name 値 年齢 35 性別 男性 契約タイプ 02 怪我の原因 ⾃動⾞事故 メタデータ テキストデータ 保険申請書 / 診断書 申請書と関連性の⾼い過去の同様の事例を 検索 送⾦⼿配 ⼈による査定 Watson ⾃然⾔語処理

Slide 11

Slide 11 text

③-A分析 ③-B検索 l テキストから抽出されたワードやフレーズの情報 を統計的に処理し傾向を調べたり埋れた特⻑、問 題を発⾒ l ⼤量の検索結果から迅速に候補を絞り欲しい情報 に確実にリーチ l 新しい気づきも獲得 ①データ収集・取込 ②エンリッチメント l ⽂書を収集 l 情報(キーワード )を抽出 l 情報をカテゴリ毎に分類・整理しタグ付け 様々な情報源から⽂書を収集してキーワードや表現を抽出し、抽出した情報をもとにカテゴリ付けや分類を します。分類やタグ付けが⾏われれば、その情報をもとに検索や分析を⾏うことができ、新しい気づきを獲 得できます。 知⾒の獲得を⽀えるWatson Discovery の全体的な流れ ⽇付 2014-03-12 ⾞種名 トレック 本⽂ 凍結路⾯でブレーキをかけ ても⽌まらない WD 場所 = 凍結路⾯ 嫌悪表現 = ⽌まらない 各⽂書に、どのような情報があったか ⽂書集合全体として、どのような情報があったか テキスト索引 情報源 形態素解析+構⽂解析+UIMA ⾞種名 構成部品 場所 嫌悪表現 ・・・ lトレック lGT-X lエクサ l… l ブレーキ l エンジン l ウィンドウ l … l 凍結路⾯ l 坂道 l ⾼速道路 l … l ⽌まらない l 指導しない l 閉まらない l … ・ ・ ・ Time Frequency Time Series Analysis Category A Category B Category C Category D Trends Analysis Time 部品 アイドリング 不安定 (1500 件の⽂書が⼀致 ) 1. Q32に構造上の問題 2. ⾛⾏中にふらつき ・ ・ ・ Q32 S2 J-44 ⾞種名 = トレック 知⾒の獲得

Slide 12

Slide 12 text

数千万もの⽂書を多様な分析アプローチでリアルタイムに分析します。 特⻑性の⾼速計算(特許保有 )により、テキスト情報のビッグデータ分析を実現します。 ビックデータに対応、多様な分析アプローチの提供 トピック分析 トレンド分析 接続分析 相関分析 評判分析 ペア分析

Slide 13

Slide 13 text

時系列における データの出現頻度の推移を把握し異常値を分析します。 指定期間における頻度と予想平均頻度のずれを可視化することができます。 トピック分析 13

Slide 14

Slide 14 text

ペア分析 俯瞰図 2Dマップ ペア表 ペア分析とは • 指定した2つのファセットの中で相関の⾼いファセット値やサブファセットを⾒つけ出します • ペアの数が⼤きい場合でも、ファセットペアの出現頻度や相関を効果的に計算します • フラットにテーブル表現する「ペア表」と、俯瞰図と合わせて表現する「2Dマップ」で表⽰できま す • 出現頻度やキーワードなどのさまざまな基準でソート可能です

Slide 15

Slide 15 text

接続分析とは • ドキュメント全体のさまざまなファセット間の関係を調べることで、さらなる調査が必要な相関や異 常を迅速に特定できます • 例えば、⾞のさまざまなモデル間の関係を視覚的に調べることで、どのモデルがより多くの問題と関 連して、どのタイプの問題が全⾃動⾞において最も発⽣するかを確認できます 接続分析

Slide 16

Slide 16 text

評判分析とは • 好評/不評表現を識別します • ツリー構造で細かい表現を抽出可能です • センチメントビューでは、⽂書中の好評/不評表現を確認できます 評判分析 例えば オンラインホテルのレビューの場合 1.ホテルで優れている箇所や改善が必要な内容を確認する 2.どのターゲットが好評かを表⽰します。 たとえば「staff」を選択します 3.実際のドキュメントを表⽰します 1 2 3

Slide 17

Slide 17 text

⼀般的に採⽤されている出現頻度の分析だけでは埋もれている特徴的な事象が得られません。 Watson Discoveryは相関値を⽤いた分析が可能です。 量では現れにくい特徴を発⾒する「相関値」による分析 全⾞種︓100万件 ⾞種Aに絞り込んだ場合︓20万件 クラッチ ミッション エンジン タイヤ エンジン クラッチ タイヤ エンジン クラッチ ミッション タイヤ クラッチ ミッション タイヤ エンジン エンジン エンジン エンジン エンジン エンジン クラッチ タイヤ タイヤ 頻度 エンジン タイヤ クラッチ ミッション 「⾞種A」と「ミッション」との関係は強い エンジン タイヤ タイヤ タイヤ タイヤ 2,000 2,000 1,000 1,000 相関 ミッション クラッチ タイヤ エンジン 1.66 1.25 1.00 0.91 エンジン エンジンの相関算出式 ミッションの相関算出式 【⾞種A】 2,000 / 20万 【全⾞種】11,000 / 100万 =0.91 【⾞種A】 1,000 / 20万 【全⾞種】 3,000 / 100万 =1.66 ミッション エンジン エンジン ミッション エンジン エンジン エンジン タイヤ タイヤ ある条件のテキストに絞ったときに、ある特定のフレーズや単語が多いといった相対的な 傾向をみることができるのがWatson Discoveryの特⻑です。このアプローチにより、 ⼤量の⽂書の中から、少数でも重要な発⾒をしやすくする機能をWEXは提供します。 ⾃動⾞メーカーのコールセンターに寄せられた顧客の声に⾒られる語句の例 数が少ない事象は埋もれ てしまう 量に関係なく特徴的事象を 迅速に発⾒

Slide 18

Slide 18 text

お客様⽤語にも対応できる 情報探索エンジン カスタマイズ可能な情報探索エンジ ンにより、お客様の業務領域で⽤い られる⾔葉も含めた検索や分析を実 ⾏できます ⾃然⾔語処理に関する 豊富な実績 複数⾔語(20ヶ国語対応)の⾃然⾔語 処理に関する⻑年の研究開発成果と 実績を有し、精度の⾼い⾃然⾔語処 理を実⾏できます 関連性学習/ランキング表⽰ で欲しい情報へ瞬時にアクセス 質問⽂と⽂書の関連性を学習し、 ユーザーが欲しい情報を上位にラン キング表⽰することで欲しい情報へ 瞬時にアクセスできます ⽂書構造/該当箇所の理解で ピンポイントで欲しい情報を発⾒ ⽂書構造の理解、該当箇所のハイラ イト表⽰により、欲しい情報をピン ポイントで発⾒できます AI学習の⼿間を省略化 メタ情報の抽出、カテゴリ分類、⽂ 書のグルーピング、AI型辞書登録⽀ 援、検索結果の絞り込みなど⾃動化 の推進により、お客様の労⼒の軽減 に繋がります 多様なデータソースに クリック操作で接続 オンプレミス/クラウドサービスの 多様なデータソースに、クリック操 作による簡単な設定で接続できます 相関値を⽤いた「発⾒型」 のテキストマイニング 出現数だけでなく探したい知⾒と統 計的に相関の⾼い⽂書を探し出し、 業務ユーザーフレンドリーなGUIで 隠れた洞察を得ることができます 数百万単位の⽂書も ⾼速にマイニング Watson Discoveryは数百万単位の 膨⼤な⽂書量であってもサクサクと マイニングできます NLP 関連性学習 Content Miner AI型辞書 登録⽀援 あい う え お ⽇ 本 ア オ Connectivity Content Miner (guided experience) パッセージ取得 Smart Document Understanding Watson Discoveryの優位性 動的 ファセット Natural Language Understanding Watson Knowledge Studio AI型辞書 登録⽀援 エンリッチ メント カテゴリ分類 カテゴリ分類

Slide 19

Slide 19 text

Watson Discoveryの5つの特⻑ データソースへの簡単な接続 ⽂書構造を理解した取込 標準&カスタムでメタ情報抽出 ほしい情報を上位に表⽰ ⼤量ドキュメントから気づきを得る 1 2 3 4 5

Slide 20

Slide 20 text

2 Watson Discovery の Hands-on 環境準備

Slide 21

Slide 21 text

IBM Technology Zone① 1. IBM Technology Zone (https://techzone.ibm.com/)に IBM Id を使ってサインイン 2. ポータル上の右上の⽅にある⾍眼鏡マーク をクリック 3. デフォルトの検索条件を削除 4. 検索欄に“discovery”と⼊⼒ “discovery”と⼊⼒ 参考︓新IBM Technology Zone の歩き⽅

Slide 22

Slide 22 text

IBM Technology Zone② 5. “Watson Discovery Plus”を探し”Reserve this IBM Cloud Environmnet”をクリック 6. “Schedule for later”をクリック “Watson Discovery Plus” “Reserve this IBM Cloud Environmnet” をクリック “Schedule for later”をクリック

Slide 23

Slide 23 text

IBM Technology Zone③ 7. “Create a reservation”画⾯で以下の項⽬を記載 Purpose : “Practice / Self-Education”を選択 Purpose describe : 任意(今回は”demo”) Preferred Geography: 任意(今回は”jp-tok”) 上記⼊⼒後”Submit”ボタンをクリック

Slide 24

Slide 24 text

IBM Technology Zone④ 8. メール確認 予約後すぐに”プロビジョニング中“と通知 予約して約10分後”Ready“と通知 ”Ready“通知メール内の”HERE”をクリックし、 IBM Cloud へログイン ”Ready“となったサービス名

Slide 25

Slide 25 text

IBM Technology Zone⑤ 9. IBM Cloud Dashboad “リソース・リスト”を クリック “Watson Discovery の起動” をクリック “AI/機械学習”からReady となったサービス名をクリック

Slide 26

Slide 26 text

3 Watson Discovery アプリケーション開発体験

Slide 27

Slide 27 text

3. アプリ開発体験 l テーマ︓ Discovery に学習⽤ドキュメントを⼊⼒する⽅法を体験する l 前提︓ node.js 1. アプリ リポジトリをクローン 2. 学習⽤ドキュメントを⼊⼒ 3. アプリと Discovery を連携させるため認証情報を設定 4. アプリ実⾏

Slide 28

Slide 28 text

3.1. アプリ リポジトリをクローン IBM/watson-discovery-ui ( https://github.com/IBM/watson-discovery-ui/ ) からリポジトリーをクローン 以下のようなWebアプリを作ることができます。

Slide 29

Slide 29 text

3.2.学習⽤ドキュメントを⼊⼒

Slide 30

Slide 30 text

3.2.1. W/D プロジェクト新規作成

Slide 31

Slide 31 text

3.2.2. ファイル アップロード ダウンロードプロジェクト内 data ┗airbnb ┗***.json (999ファイル) “reviews”

Slide 32

Slide 32 text

多様な情報源に接続するための、クリック操作で設定できるコネクターを提供します。 データソースへの簡単な接続 l Box* l SharePoint Online* l SharePoint 2013/2016/2019* l Salesforce l Webサイト l Windows File System* l Database (JDBC ) l Local File System l FileNet l Notes l 独⾃データのアップロード * ⽂書単位のアクセス権チェックが含まれる + カスタムコネクター https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-connector-dev

Slide 33

Slide 33 text

3.2.3. Web サイトクロール 1. 後述のAPI編で利⽤するデータを取り込むため、Discovery 起動画⾯にて デフォルトのSampleプロジェクトを選択し、右列のManage collection をクリック 2. ”New collection”をクリックし、”Web crawl”をクリックして”Next”をクリック。 3. “collection name”を記載、”Starting URLs”を記載後“Add”をクリックし、”Finish” https://news.livedoor.com/category/vender/208/ (livedoor news - Sports Watch) “sports watch”と記⼊

Slide 34

Slide 34 text

3.2.4. データ拡張 1. “Sentiment of Document”と”Keywords”に ”text”フィールドを指定 2. 右上の”Apply changes and reprocess”をクリック 1. Discovery 起動画⾯から作成した”airbnb-reviews”プロジェクトを選択 2. “Manage collections” - ”reviews” – “Enrichiments”を選択

Slide 35

Slide 35 text

3.3. 認証情報設定① Discovery起動画⾯からAPI鍵やURLを取得 プロジェクトの”API Infromation”よりProject IDを取得

Slide 36

Slide 36 text

3.3. 環境変数設定② 1. “watson-discovery-ui-master” 配下の “env.sample” を “.env”へ変更 2. “.env” ファイルの中で先程の値を設定

Slide 37

Slide 37 text

3.3. 環境変数設定③ このHands-onの本質ではないのですが、 後の章で REST API を説明する際に以下の値を使うので、 認証情報と⼀緒に3.2.3でWebクロールを⽤いたプロジェクト情報をターミナルの環境変数として 登録しておきます。 API鍵 : $APIKEY URL : $URL Project ID : $PROJECT_ID (“Sports watch”を取り込んだsample projectのID)

Slide 38

Slide 38 text

3.4. アプリ実⾏ $ npm install $ npm start 以下のコマンドでアプリ実⾏ ブラウザから “localhost:3000” にアクセスすると右のようになる。

Slide 39

Slide 39 text

4 Watson Discovery からAPIを使って情報を取得 API は curl, java, node, python, .net 等に対応している APIリファレンス︓英(https://cloud.ibm.com/apidocs/discovery-data) ⽇(https://cloud.ibm.com/docs/discovery-data)

Slide 40

Slide 40 text

4.1. REST API例 プロジェクト情報取得 プロジェクト情報取得(英APIリファレンス:Get Project より) curl -X GET -u “apikey:API鍵” “discoveryのURL/v2/projects/${PROJECT_ID}?version=2023-04-22”

Slide 41

Slide 41 text

4.2. REST API でドキュメント検索 回答の検出(⽇APIリファレンス:照会パラメーター より) curl -X POST -u “apikey:${APIKEY}” -d ‘{ “natural_language_query”: “野⼿登板", "return": [ "document_id"], "passages": { "enabled": true, "per_document": true, "find_answers":true }}' -H "Content-type: application/json" ”${URL}/v2/projects/${PROJECT_ID}/query?version=2023-04-21" | jq '.results[].document_passages[].answers[] | {answer_text:.answer_text, confidence:.confidence}' ここでは find answer API を使って 「短い回答」を取得する

Slide 42

Slide 42 text

Appendix Watson Discovery 開発デモ動画 https://ibm.box.com/s/g2502den76cfi0l2cz7do21dlis308vf Watson Discoveryからデータを照会するサンプルWebアプリケーションを作成する⽅法

Slide 43

Slide 43 text

·ͱΊ •8BUTPO%JTDPWFSZ΁ͷσʔλΠϯϓοτํ๏Λମݧ ͍͍ͯͨͩͨ͠ •8BUTPO%JTDPWFSZ͔Β"1*ʹΑΓ৘ใΛऔಘ͢Δํ ๏Λମݧ͍͍ͯͨͩͨ͠ •*#.5FDIOPMPHZ;POFΛମݧ͍͍ͯͨͩͨ͠

Slide 44

Slide 44 text

ࠓޙ • 8BUTPO"TTJTUBOUͱ࿈ܞ͢ΔΦϦδφϧΞϓϦ։ൃମݧ • 8BUTPO%JTDPWFS"TTJTUBOUΛ૊Έ߹ΘͤͨΦϦδφϧΞ ϓϦ։ൃମݧ

Slide 45

Slide 45 text

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみで 提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料に 含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないものとし ます。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは責任を負わないものとします。 本講演資 料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を 規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰するものではあり ません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっていつでも変更できるものとし、い かなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活 動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図したものでも、またそのような結果を⽣むものでもありませ ん。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を 含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたものです。実際の 環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、IBM Cloud、IBM Cloud Paksは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名および サービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧くださ い。 Microsoft, Windows, Windows Server, .NET Framework, .NET, .NET Coreは、Microsoft Corporationͷ঎ඪ·ͨ͸ొ࿥঎ඪͰ͢ɻ

Slide 46

Slide 46 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 47

Slide 47 text

EOF