Upgrade to Pro — share decks privately, control downloads, hide ads and more …

使おうWatson! @Shibuya Dojo / Let's use Watson at ...

使おうWatson! @Shibuya Dojo / Let's use Watson at Shibuya

2019/06/19(水) 10:00 〜 12:00にDeveloper Dojo Shibuyaで開催した「【Call for Code 概要】Watson APIをためそう!」の「使おうWatson!」の資料です。

Kyoko Nishito

June 19, 2019
Tweet

More Decks by Kyoko Nishito

Other Decks in Technology

Transcript

  1. 使おうWatson! for Call for Code Challenge 2019 ⽇本アイ・ビー・エム(株) Developer Advocate

    ⻄⼾ 京⼦ 2019-06-19 (⽔) Developer Dojo SNS・写真撮影OK! ハッシュタグ #IBMDojo #CallforCode
  2. 5 このセッションについて • ⽬的 Call for Codeで使⽤できるWatson APIの概要 と使い⽅を知る •

    ゴール Watson APIを試せるようになり、 Call for Code作品のアイディアに使えるよう になる
  3. IBM Cloud ライト・アカウント クレジットカード不要で、期間無制限 でWatson含めた多数のAPIとサービ スが 無料で使えるアカウントです。 9 ・クレジットカード不要 ・無償で期限なし

    ・今⽇から使える IBM Cloudへ登録 https://ibm.biz/BdzYqE にアクセス後、 「Call for Code2019に参加する」 ボタンをクリック 同時にCoders Programへの登録 も⾏えます
  4. 13 Watsonの製品・サービス⼀覧 ⼼理系 ⾔語系 Watsonの製品・サービスは⽇々進化しています。 2019年2⽉12⽇現在のPublic Cloud上のサービス⼀覧は以下の通りとなります。 https://www.ibm.com/watson/developercloud/services-catalog.html Watson Assistant

    アプリケーションに⾃然⾔語インターフェースを追加 してエンドユーザとのやり取りを⾃動化 照会応答系 Text to Speech テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する 知識探索系 ⾳声系 Discovery 先進的な洞察エンジンを利⽤して、データの隠れた価 値を解明し、回答やトレンドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報も付加された ニュースに関する公開データセット Personality Insights テキストから筆者の性格を推定する Language Translator ※2 ⾃然⾔語テキストについて他⾔語へ翻訳を⾏う Natural Language Understanding ※1 ⾃然⾔語処理を通じてキーワード抽出、エンティティ ー抽出、概念タグ付け、関係抽出などを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析する Knowledge Studio コーディングなしに、業務知識から⽣成した機械学習 モデルで、⾮構造テキストデータから洞察を取得 画像系 データ分析系 Watson Studio 機械学習モデル向けの作成と学習、データの準備と分 析のための統合環境 Machine Learning 機械学習モデル・深層学習モデルの作成、学習、実⾏ 環境 Knowledge Catalog 分析に必要なデータを加⼯・カタログ化できる分析デ ータ準備環境 ※1 感情分析は⽇本語未対応です。 ※2 ⽇本語翻訳は英⽇・⽇英のみ対応しています。 Watson OpenScale AIに信頼性と透明性をもたらし、判定結果を説明し、 バイアスを⾃動的に排除する Compare and Comply(⽇本語未対応) 契約書や調達仕様書を分析し、⽂書間の⽐較や重要要 素の抽出を⾏う 本⽇ご紹介する内容
  5. Watson APIの特徴 14 • REST形式のインターフェイス • ネットワーク経由でアクセス • Java, Python,

    Node.jsなどに対応した APIライブラリ • https://github.com/watson-developer-cloud
  6. Watson API REST形式のインターフェース 15 ・・・ HTTP Request GET POST PC

    HTTP Response JSON JSON Azure AWS GCP IBM Cloud Smart Phone Server 各社クラウド
  7. RESTインターフェースの例 16 クライアント https://gateway.watsonplatform.net/l anguage-translator/api/v3/translate URL: https://gateway.watsonplatform.net/ language-translator/api/v3/translate メソッド: POST

    {"text":["Hello"], "model_id":"en-ja"} {"text":["Hello"], "model_id":"en-ja"} JSON ②対応する 処理 APIサービス {"text":["Hello"], "model_id":"en-ja"} JSON { "translations" : [ { "translation" : "ハロー" } ], "word_count" : 1, "character_count" : 5 } ①リクエスト 送信 ③レスポンス 送信
  8. Watson Assistant 18 ü チャットボットのような対 話アプリケーションの開発 に最適 ü 会話フローをグラフィカル に開発できるツールを提供

    ü 作成した会話フローをAPIで 呼び出し Watson: こんにち はシステムサポー トです。何かお困 りですか︖ User: 交通費精算シ ステムだよ。 エンティティー: システム Value: 交通費精算システム Watson: 何のシス テムにログインで きないのですか︖ User: ログインでき ないよ 意図: ログイン不可 Watson:交通費精 算システムにログ インできない場合 のチェック項⽬の URLを送ります http://xxx 交通費精算システムのログイ ン不可にに関する情報を検索 色々な言い回し “ログインエラーになる” “ログインが失敗するけど” 色々な言い回し “交通費のやつ” “精算システム” Webツールで インテント、 エンティ ティー、 会話フロー を作成可能
  9. DEMO 20 DOC ID / Month XX, 2018 / ©

    2018 IBM Corporation Watsonを使⽤したLINE chat bot
  10. Natural Language Understanding (NLU) üテキストを分析し、概念、エン ティティー、キーワード、カテゴ リー、感情、関係、意味役割など のメタデータを抽出※ ü事前学習済みであり、学習なしで 解析結果を取得

    抽出できるもの • エンティティ(Entities) • 関係(Relations) • 概念(Concepts) • キーワード(Keywords) • 評判 (Sentiment) • 感情 (Emotion) ※ • カテゴリー(Categories) • 構⽂解析(Semantic Roles) ※ 感情分析(Emotion)は⽇本語には対応していません
  11. 27 Visual Recognition • 顔検出(Facial Detection): • イメージ内の⼈物の顔を検出し、顔の⼀般的な年齢層と性 別も⽰します。 •

    画像認識「⼀般種別」(General Tagging): • 事前学習済みの分類器の出⼒を返します • 画像認識「カスタム」: • 識別を⾏いたいクラスのイメージを事前学習させ、その分 類器の出⼒を返します。 事前学習 不要 事前学習 必要 https://www.ibm.com/watson/services/visual-recognition/demo/ DEMO
  12. DOC ID / Month XX, 2018 / © 2018 IBM

    Corporation Text to Speech テキスト⽂章を⾳声に変換する https://text-to-speech-demo.ng.bluemix.net DEMO
  13. DOC ID / Month XX, 2018 / © 2018 IBM

    Corporation Speech to Text ⾳声をテキスト⽂章に変換する https://www.ibm.com/watson/jp-ja/developercloud/speech-to-text.html Language Translator ⾃然⾔語テキストについて他⾔語へ翻訳を⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) https://www.ibm.com/watson/jp-ja/developercloud/language-translator.html https://www.ibm.com/watson/jp-ja/developercloud/nl-classifier.html
  14. Watson APIの使い⽅の基本 35 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  15. 準備するもの (今回はcurlを使います) 37 • IBM Cloudアカウント • ない場合はhttps://ibm.biz/BdzYqEから取得 (アクセス後、「Call for

    Code2019に参加する」 ボタンをクリック) • curl • Macは導⼊済みです • Windowsは https://curl.haxx.se/download.html から ダウンロードできます。
  16. Curl (cURL) 38 HTTP Request GET POST ・・・ HTTP Response

    cURL(Client for URLs ) はURL の構⽂を使って データを転送するためのコマンドライン・ ツールです。 このツールはコマンドラインから REST リクエストを送信してWatsonのAPIを 実⾏し、結果を⼊⼿することが可能です。 Windows を使⽤している場合、 cURLは https://curl.haxx.se/download.html からダウンロードできます。 curl
  17. Watson APIの使い⽅の基本 39 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  18. 1. IBM Cloudにログイン︕ 40 © 2018 IBM Corporation 本⽇はこちらからログインお願 いします

    https://ibm.biz/BdzYqE アクセス後、「Call for Code 2019 に参加する」ボタンをクリック。 問題なければCoders Programに参 加をお願いします。 その後、https://cloud.ibm.com/ にアクセスしてください
  19. Watson APIの使い⽅の基本 46 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs 説明
  20. Watson APIの使い⽅の基本 50 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs 説明
  21. 54 4. 使⽤⽅法の確認(1) curl --user apikey:{apikey} --request POST -- header

    "Content-Type: application/json" --data "{¥"text¥":[¥"Hello¥"],¥"model_id¥":¥"en-es¥"}" "{url}/v3/translate?version=2018-05-01" (Macの場合は¥はバックスラッシュ表⽰になります) {apikey}をIBM CloudのWeb画⾯からコピーしたAPI鍵 と置き換える {url}をIBM CloudのWeb画⾯からコピーしたURLと置 き換える 説明
  22. 55 4. 使⽤⽅法の確認(2) curl --user apikey:{apikey} --request POST -- header

    "Content-Type: application/json" --data "{¥"text¥":[¥"Hello¥"],¥"model_id¥":¥"en-es¥"}" "{url}/v3/translate?version=2018-05-01" QUERY PARAMETERS, REQUEST BODYを確認し、 必要なパラメータを EXAMPLEを参考にして作成する 説明 (Macの場合は¥はバックスラッシュ表⽰になります)
  23. 56 4. ではコマンドを実⾏してみましょう。 コマンドウィンドウまたはターミナルを開きます。 下記のコマンドの{apikey}と{url}を⾃分の値に変 更して実⾏してみましょう ! curl --user apikey:{apikey}

    --request POST -- header "Content-Type: application/json" --data "{¥"text¥":[¥"Hello¥"],¥"model_id¥":¥"en-es¥"}" "{url}/v3/translate?version=2018-05-01" (Macの場合は¥はバックスラッシュ表⽰になります) 説明 ここからコピペしてください http://ibm.biz/langtrans-curl
  24. 58 5. パラメーターを変更して実⾏してみましょう。 model_idの値をen-jaに変更し、 前回同様{apikey}と{url}を⾃分の値に変更して実 ⾏してみましょう ! curl --user apikey:{apikey}

    --request POST -- header "Content-Type: application/json" --data "{¥"text¥":[¥"Hello¥"],¥"model_id¥":¥"en-ja¥"}" "{url}/v3/translate?version=2018-05-01" (Macの場合は¥はバックスラッシュ表⽰になります Windowsはhttp://ibm.biz/langtrans-curlを参照して「⽇本語表⽰⽅法」を実施) ここからコピペしてください http://ibm.biz/langtrans-curl 説明
  25. まとめ 62 1. IBM Cloudのアカウントを作ろう 2. Watson APIを試そう 3. Code

    Patternsを参考にしてCall for Codeの ソリューションにWatsonを使ってみよう
  26. 65

  27. セッション および 本資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみ で提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。 本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかな る保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは 責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだ すことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果 を⽣むものでもありません。

    本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰す るものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもってい つでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料 に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図し たものでも、またそのような結果を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予 測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、 ⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーが ここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたも のです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。 IBM、IBM ロゴ、ibm.com、 IBM Cloud、およびIBM Watsonは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標 です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、 www.ibm.com/legal/copytrade.shtmlをご覧ください。