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

IBM Developer Dojo Online 2019 #05 AI編 / IBM Dojo Online 2019 AI

IBM Developer Dojo Online 2019 #05 AI編 / IBM Dojo Online 2019 AI

IBM Developer Dojo Online 2019 #05 AI編の資料です。
開催日: 2019/11/19(火)

Kyoko Nishito

November 19, 2019
Tweet

More Decks by Kyoko Nishito

Other Decks in Programming

Transcript

  1. IBM Developer Dojo Online 2019 #05 AI (Watson API) Kyoko

    Nishito Developer Advocate Tokyo City Team
  2. 秋のIBM Developer Dojo Online 2019 No. 開催日 時間 タイトル #1

    11⽉5⽇(⽕) 11:00-12:00 IBM Cloud基礎編 #2 11⽉6⽇(⽔) 11:00-12:00 Cloud Foundry編 #3 11⽉14⽇(⽊) 11:00-12:00 Kubernetes編 #4 11⽉15⽇(⾦) 11:00-12:00 IoT/Node-RED編 #5 11⽉19⽇(⽕) 11:00-12:00 AI編 #6 11⽉22⽇(⾦) 11:00-12:00 Analytics編 #7 11⽉26⽇(⽕) 11:00-12:00 Blockchain編 #8 11⽉29⽇(⾦) 11:00-12:00 Serverless編 最新情報 & お申込みはこちら https://ibm-developer.connpass.com/ これまでオンサイトワークショップとして展開していたコンテンツをオンラインでも︕
  3. ハンズオン事前準備 https://ibm.box.com/v/20191119DojoPrep 1. IBM Cloudアカウントの取得 2. IBM Cloud CLIのインストール 3.

    Node.jsのインストール 4. Gitのインストール 5. VS Codeなどエディタ 詳細は
  4. 本イベントでは、 IBM Cloud へのアクセスは上記URLから行ってください ibm.biz/BdzTBg • IBM Cloud ログイン アカウントをすでにお持ちの方は、

    こちらからログインしてください • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 【本⽇のお願い】
  5. 本⽇の説明内容 1. AI & IBM Watson 2. Watson API 3.

    Watson APIの使い⽅ (DEMO) 4. まとめ 5. 課題 (コードチャレンジ)
  6. Watson APIサービス⼀覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  7. • データにラベルをつけたりDeep Learningのモデルを⼤量データで学習させるのは ⾮常に労⼒がかかります。企業は⼤量のデータを持つがラベル付けされているデー タは多くはなく、また学習のための仕組みを持っていません。 • すでに多くの企業がWatsonを業務に活⽤しており、顧客体験の向上や専⾨家の ワークの効率化や新しいビジネスモデルや戦略の開発を実現しています。 • 社内の様々なシステムと連携しフルトランザクションに対応

    • 顧客が選べるよう複数チャネルを展開 • 双⽅向のデジタルコミュニケーション • 少ないデータでも効率的に学習できるというWatsonのアドバンテージ • ①ラベルのないデータからの学習 • ②コンセプトからの学習 • ③誤りからの学習 • ④学習の仕⽅についての学習 • Watsonはテクノロジーをシンプルなものとして企業にお届けし、AIを企業全体に スケールして活⽤することを⽀援します Trends & Directions: Put AI to Work @think2019
  8. 15 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  9. 16 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

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

    HTTP Response JSON JSON Azure AWS GCP IBM Cloud Smart Phone Server 各社クラウド
  11. RESTインターフェースの例 18 クライアント https://gateway.watsonplatform.net /language- 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 } ①リクエスト 送信 ③レスポンス 送信
  12. 19 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  13. IBM の データ & AI プラットフォーム インフラ ストラクチャー インダストリー プラット

    フォーム Security Services Any SaaS Insurance Industrial Public & Comms Any AI Watson OpenScale Block- chain IoT Watson Studio Watson Machine Learning Watson Knowledge Catalog Watson API RedHat OpenShift Any Cloud AWS, Azure… Cloud Integration SW(Cloud Pak) Banking & Financial Markets Any Hardware IBM Systems Z, P IBM Cloud VMware SAP Cloud Native Distribution Cloud Pak for Data Any Tool ハイブリッド、マルチクラウドに対応し、オープンなAI活⽤を実現
  14. Watson APIサービス一覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  15. Watson APIサービス一覧 2019年3⽉現在 Watson Assistant アプリケーションに⾃然⾔語インターフェースを追加して エンドユーザとのやり取りを⾃動化 Text to Speech

    テキスト⽂章を⾳声に変換する Speech to Text ⾳声をテキスト⽂章に変換する Visual Recognition 画像コンテンツに含まれる意味を検出する Discovery 先進的な洞察エンジンを利⽤して、デー タの隠れた価値を解明し、回答やトレン ドを発⾒する Discovery News Discovery上に実装され、エンリッチ情報 も付加されたニュースに関する公開デー タセット Personality Insights テキストから筆者の性格を推定する Language Translator テキストを他⾔語へ翻訳を⾏う Natural Language Understanding ⾃然⾔語処理を通じてキーワード抽出、エン ティティー抽出、概念タグ付け、関係抽出な どを⾏う Natural Language Classifier テキスト⽂章の分類を⾏う(質問の意図推定など) Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 Knowledge Studio コーディングなしに、業務知識から⽣成した 機械学習モデルで、⾮構造テキストデータか ら洞察を取得(学習⽀援ツール) ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html
  16. Watson Assistant 24 ü チャットボットのような対 話アプリケーションの開発 に最適 ü 会話フローをグラフィカル に開発できるツールを提供

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

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

    抽出できるもの • エンティティ(Entities) • 関係(Relations) • 概念(Concepts) • キーワード(Keywords) • 評判 (Sentiment) • 感情 (Emotion) ※ • カテゴリー(Categories) • 構⽂解析(Semantic Roles) ※ 感情分析(Emotion)は⽇本語には対応していません https://www.ibm.com/watson/services/natural-language- understanding/
  19. 32 Visual Recognition • 画像認識「⼀般種別」(General Tagging): • 事前学習済みの分類器の出⼒を返します • 画像認識「カスタム」:

    • 識別を⾏いたいクラスのイメージを事前学習させ、その 分類器の出⼒を返します。 事前学習 不要 事前学習 必要 https://www.ibm.com/watson/jp-ja/developercloud/visual-recognition.html
  20. DOC ID / Month XX, 2018 / © 2018 IBM

    Corporation Text to Speech テキスト⽂章を⾳声に変換する https://text-to-speech-demo.ng.bluemix.net DEMO
  21. 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
  22. Watson APIの使い⽅の基本 39 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

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

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  24. 本イベントでは、 IBM Cloud へのアクセスは上記URLから行ってください ibm.biz/BdzTBg • IBM Cloud ログイン アカウントをすでにお持ちの方は、

    こちらからログインしてください • IBM Cloud ライトアカウント作成 アカウントをお持ちでない方は、 ご登録をお願いします 【本⽇のお願い】 1. IBM Cloudにログイン︕ DEMO 本イベント以外では https://cloud.ibm.com/login からログイン可能です
  25. Watson APIの使い⽅の基本 47 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

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

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  27. 55 4-1: ターミナル または コマンドウィンドウを開きます。 4-2: 以下のコマンドでディレクトリを作成し、作成したディ レクトリに移動します。($は⼊⼒しないでください) 4. サンプルコード実⾏

    DEMO $ mkdir translate $ cd translate 4-3:ターミナル または コマンドウィンドウはそのままにして、 エディター(VSCode, メモ帳(windows), vi(Mac)など)を開き ます。
  28. 61 4-10: 先ほど開いたターミナル または コマンドウィンドウに 戻り、コピーしたコマンドをペーストし実⾏します。 4. サンプルコードの実⾏ DEMO $

    npm install ibm-watson 4-11: 以下のコマンドでtranslate.jsを 実⾏します。 $ node translate.js Macで権限エラーが発⽣する場合は、先頭に sudo をつけて実⾏してください。 sudo npm install ibm-watson
  29. 63 translate.jsを修正し、13⾏⽬のtextを適当な⽇本語の⽂章に、 model_idを'ja-en'にして保存し、実⾏してみましょう。 4. [オプション]サンプルコードの実⾏ A. 翻訳⾔語の変更 DEMO サンプルコード 結果

    https://cloud.ibm.com/docs/services/language-translator?topic=language-translator-translation-models 使⽤可能なmodel_idはこちら: $ node translate.js 以下をのコマンドを実⾏
  30. 64 サービスのAPI KEY, URLが取得できる管理画⾯から ibm-credentials.env というAPI KEYとURLが⼊っているファ イルがダウンロードできます。 これを以下のいずれかに置くと、コード内でAPI KEYとURLの

    記述が不要です。 • 環境変数IBM_CREDENTIALS_FILEで指定したPATH • システムのhome directory • プログラムの実⾏directory(working directory) 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤ DEMO
  31. 67 実⾏します。 4. [オプション]サンプルコードの実⾏ B. Credentials fileの使⽤ DEMO 4B-3: 以下のコマンドでtranslation.jsを

    実⾏します。 $ node translation.js ソースでAPIKEY、URLしてしなくとも、 ibm-credentials.env から読み込まれ正しく実⾏できることを確認します。
  32. 秋のIBM Developer Dojo Online 2019 No. 開催日 時間 タイトル #1

    11⽉5⽇(⽕) 11:00-12:00 IBM Cloud基礎編 #2 11⽉6⽇(⽔) 11:00-12:00 Cloud Foundry編 #3 11⽉14⽇(⽊) 11:00-12:00 Kubernetes編 #4 11⽉15⽇(⾦) 11:00-12:00 IoT/Node-RED編 #5 11⽉19⽇(⽕) 11:00-12:00 AI編 #6 11⽉22⽇(⾦) 11:00-12:00 Analytics編 #7 11⽉26⽇(⽕) 11:00-12:00 Blockchain編 #8 11⽉29⽇(⾦) 11:00-12:00 Serverless編 最新情報 & お申込みはこちら https://ibm-developer.connpass.com/ これまでオンサイトワークショップとして展開していたコンテンツをオンラインでも︕