Dojo AI Watson API 開発

107436e46b14d6db482c42afba216ecf?s=47 norikokt
September 30, 2020

Dojo AI Watson API 開発

Watson API 開発の基礎的な利用方法

107436e46b14d6db482c42afba216ecf?s=128

norikokt

September 30, 2020
Tweet

Transcript

  1. IBM Developer Dojo AI(Watson API) アプリ開発 基礎 Noriko Kato Developer

    Advocate Tokyo City Team
  2. Group Name / DOC ID / Month XX, 2018 /

    © 2018 IBM Corporation 2
  3. クラウドを選ぶメリット 3 いつでも どこにいても インターネットがあれば }ü 開発できる ü リリースできる ü

    試せる
  4. 質問&ライブ投票参加 はこちら slido.com #dojo930 質問タブで質問⼊⼒ ⾃分も知りたい質問には 「いいね」をプッシュ! IBM Developer Dojo

    AI(Watson API) アプリ開発 https://app.sli.do/event/j896nvtu スマホまたはPCでアクセスして ぜひ参加お願いします︕
  5. 出席登録 こちらのURLにアクセスして、IBM Cloudにログイン お願いします。 https://ibm.biz/BdqAWe アカウント未登録の⽅も こちらから登録お願いします。

  6. ハンズオン事前準備 1. IBM Cloudアカウント 2. VS Codeなどコードエディタ Demo 体験はこちらもご⽤意ください(任意) 1.

    テキスト⽂書(2000⽂字程度) ニュースなどの記事URL 2. Twitterアカウント 3. 画像ファイル
  7. 学習の⽬的とゴール ⽬的 WatsonとWatson APIの概要について理解する ゴール Watson APIを利⽤したアプリケーションを作成できる このコースを学ぶ⽅の想定スキル 基本的なコマンド操作が可能な⽅ Watson

    APIをこれから利⽤する⽅
  8. 本⽇の説明内容 1. AI & IBM Watson 2. Watson API 3.

    Watson APIの使い⽅ (課題DEMO) 4. まとめ 5. 参考サイトのご案内
  9. 1. AI & IBM Watson

  10. ⼈⼯知能(AI)は ⼈間の知能のはたらきを模倣し, 機械(技術)で実現した能⼒です。 10

  11. ⼈間の知能の例 Human Intelligence 11 計画 学習 創造性 問題解決 推論 知覚

    操作
  12. None
  13. 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
  14. Cloud上で使えるAIサービス ・・・ Internet PC Azure AWS GCP IBM Cloud Smart

    Phone Server 各社クラウド Direct Link
  15. 15 Watson APIの特徴 • ネットワーク経由でアクセス • REST形式のインターフェイス • Java, Python,

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

    Transferの略。 Web APIを実装する際の代表的なアーキテクチャの⼀つ。 • Java, Python, Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  17. 17 Watson API REST形式のインターフェース ・・・ HTTP Request GET POST PC

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

    Node.jsなどに対応した APIライブラリ(SDK) • https://github.com/watson-developer-cloud
  20. 2. Watson API

  21. Watson APIサービス一覧 2020年4⽉現在 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(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を解析 ⼼理系 ⾔語系 照会応答系 知識探索系 ⾳声系 画像系 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html 21
  22. Watson Assistant 22 ü チャットボットのような対 話アプリケーションの開発 に最適 ü 会話フローをグラフィカル に開発できるツールを提供

    ü 作成した会話フローをAPIで 呼び出し Watson: こんにち はシステムサポー トです。何かお困 りですか︖ User: 交通費精算シ ステムだよ。 エンティティー: システム Value: 交通費精算システム Watson: 何のシス テムにログインで きないのですか︖ User: ログインでき ないよ 意図: ログイン不可 Watson:交通費精 算システムにログ インできない場合 のチェック項⽬の URLを送ります http://xxx 交通費精算システムのログイ ン不可にに関する情報を検索 色々な言い回し “ログインエラーになる” “ログインが失敗するけど” 色々な言い回し “交通費のやつ” “精算システム” Webツールで インテント、 エンティ ティー、 会話フロー を作成可能 https://www.ibm.com/watson/jp- ja/developercloud/conversation.html
  23. 参考情報 Watson Assistant⼊⾨ https://cloud.ibm.com/docs/services/assistant?topic=a ssistant-getting-started&locale=ja Watson Assistant デモサイト (銀⾏受付業務︓英語) 23

  24. DEMO 24 DOC ID / Month XX, 2018 / ©

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

    抽出できるもの • エンティティ(Entities) • 関係(Relations) • 概念(Concepts) • キーワード(Keywords) • 評判 (Sentiment) • 感情 (Emotion) ※ • カテゴリー(Categories) • 構⽂解析(Semantic Roles) ※ 感情分析(Emotion)は⽇本語には対応していません https://www.ibm.com/watson/services/natural-language- understanding/
  26. 26 DEMO https://natural-language-understanding-demo.ng.bluemix.net/ 今のニュースからメタデータを抽出してみます

  27. üWatsonを利⽤した⽂書検索 エンジン ü膨⼤なテキストデータを取 り込み、NLUで解析、検索に 利⽤ ü⾃然⾔語でも検索できる (またはDiscovery Query Language(DQL)) Discovery

    https://www.ibm.com/watson/jp-ja/developercloud/discovery.html
  28. Discovery News üDiscoveryのインスタンスを作成すると、世界各地のニュー ス記事を保持している、事前作成済み読み取り専⽤コレク ション Discovery News がすぐに使える状態になります。 ・データ登録の必要なしにすぐに使える ・IBM選定の10万のニュースソース

    ・1⽇当たり30万件以上の記事(⽇本語記事は1⽇あたり17,000件)
  29. DEMO 29 気になるニュースを検索してみましょう︕ https://discovery-news-demo.ng.bluemix.net/

  30. 30 Visual Recognition • 画像認識「⼀般種別」(General Tagging): • 事前学習済みの分類器の出⼒を返します • 画像認識「カスタム」:

    • 識別を⾏いたいクラスのイメージを事前学習させ、その 分類器の出⼒を返します。 事前学習 不要 事前学習 必要 https://www.ibm.com/watson/jp-ja/developercloud/visual-recognition.html
  31. DEMO 31 参考情報で作成⽅法をご案内します https://visual-recognition-nz.mybluemix.net/

  32. Text to Speech テキスト⽂章を⾳声に変換する https://text-to-speech-demo.ng.bluemix.net DEMO

  33. 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
  34. 34 Personality Insights テキストから筆者の性格を推定する https://www.ibm.com/watson/jp-ja/developercloud/personality-insights.html DEMO https://personality-insights-demo.ng.bluemix.net/

  35. 35 Tone Analyzer(⽇本語未対応) テキストから筆者の感情、社交性、⽂体を 解析する https://tone-analyzer-demo.ng.bluemix.net/

  36. 3. Watson APIの使い⽅ (DEMO) ここからハンズオンのDEMOになります。 ⼀緒にやってみましょう︕

  37. ハンズオン こちらのURLにアクセスして、IBM Cloudにログイン お願いします。 https://ibm.biz/BdqAWe アカウント未登録の⽅も こちらから登録お願いします。

  38. Watson APIの使い⽅の基本 38 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

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

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  40. • IBM Cloud ログイン アカウントをすでにお持ちの⽅は、 IBMidを⼊⼒してこちらからログインしてください 3-1.1.IBM Cloudにログイン︕ https://cloud.ibm.com/loginにアクセスしてログインします。 •

    IBM Cloud ライトアカウント作成 アカウントをお持ちでない⽅は、 ご登録をお願いします 40
  41. 41 3-1.2「カタログ」をクリック この操作は IBM Cloud

  42. 42 3-1.3左側のメニューから 「サービス」→カテゴリ「AI」 をクリック この操作は IBM Cloud

  43. 43 3-1.4 スクロールして使いたい Watsonサービスをクリック 今回はLanguage Translatorをクリックしてください。 この操作は IBM Cloud

  44. 3-1.5地域とプランを選んで「作成」をクリック 44 この操作は IBM Cloud

  45. 45 3-1.6 下記のような画⾯に変わったら作成完了! この操作は IBM Cloud

  46. Watson APIの使い⽅の基本 46 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  47. 47 3-2.1左側のメニューから「管理」をクリック この操作は IBM Cloud

  48. 48 資格情報にあるAPI KEYとURLをテキストファイルなどにコピーします。 このアイコンで コピーできます HINT: API鍵(=API KEY), URLをコピー この操作は

    IBM Cloud
  49. 49 1 HINT: よくわからない画⾯になった場合 IBM Cloud→すべて表⽰→Services→表⽰させたいサービス名 2 3 4 この操作は

    IBM Cloud
  50. Watson APIの使い⽅の基本 50 1. IBM Cloudにログインして必要なサービスを作成 今回はLanguage Translator を使います。 2.

    作成したサービスの資格情報である API KEY(API鍵)、URLを取得 3. 取得したAPI KEY、URLを指定してAPIを呼び出す APIの詳細はこちらから確認 https://cloud.ibm.com/apidocs
  51. 51 APIの詳細はこちらからhttps://cloud.ibm.com/apidocs HINT:まずはAPIの使い⽅を確認 クリック

  52. 52 APIドキュメントにあるExample requestのコードをコピーし ます。 url: https://cloud.ibm.com/apidocs/language-translator?code=node#translate 3-3.1 サンプルコード取得 このアイコンを クリックして

    コピーできます
  53. 53 コピーしたコードを開いているエディターにペーストします。 3-3.2 サンプルコード編集 この操作は テキストエディタ

  54. 54 資格情報にあるAPI KEYとURLをテキストファイルなどにコピーします。 このアイコンで コピーできます HINT: API鍵(=API KEY), URLをコピー この操作は

    IBM Cloud
  55. 55 7⾏⽬: {apikey}をコピーしたAPI鍵で置き換えます。 3-3.3 サンプルコード 編集 9⾏⽬: {url}をコピーしたURLで置き換えます。 この操作は テキストエディタ

  56. 56 14⾏⽬: 'en-es'を'en-it'で置き換えます。 3-3.4 サンプルコード編集 この操作は テキストエディタ

  57. 57 編集したファイルを任意のディレクトリに「translate.js」 という名前で保存します。 3-3.5 サンプルコード保存 この操作は テキストエディタ

  58. 3-3.6 IBM Cloud Shellの起動 この操作は IBM Cloud

  59. 59 次のコマンドでディレクトリを作成し、作成したディレクトリ に移動します。($は⼊⼒しないでください) $ ls : ファイルの確認 $ mkdir translate

    : translate ディレクトリの作成 $ cd translate : 作成したtranslate ディレクトリへ移動 3-3.7 ディレクトリの作成 この操作は IBM Cloud Shell
  60. 3-3.8 IBM Cloud へのログイン $ ibmcloud login : IBMクラウドへのログイン E-mail

    / Password を⼊⼒ この操作は IBM Cloud Shell
  61. 3-3.9 実⾏環境を整える $ ibmcloud --version $ ibmcloud cf install $

    git –version $ node --version この操作は IBM Cloud Shell
  62. 3-3.10 translate.js のアップロード メニューバーのアップロードアイコンをクリック、 保存したtranslate.jsを指定してアップロード この操作は IBM Cloud Shell

  63. 3-3.11 アップロードファイルを移動します アップロードファイルはホームディレクトリに保管されるので、 translate ディレクトリにムーブ(mv)します。 $ cd ../︓ホームディレクトリに移動 $ ls

    : アップロードファイルの確認 $ mv translate.js translate/translate.js ︓mv指定 $ cd translate : translate ディレクトリに移動 この操作は IBM Cloud Shell
  64. 64 APIドキュメントにあるInstallationのコードをコピーします。 url: https://cloud.ibm.com/apidocs/language-translator?code=node#introduction 3-3.12 コード取得 このアイコン をクリック してコピー できます

  65. 65 IBM Cloud Shellに戻り、コピーしたコマンドをペーストし実 ⾏します。 3-3.13 サンプルコードの実⾏ $ npm install

    ibm-watson@^5.6.0 以下のコマンドでtranslate.jsを 実⾏します。 $ node translate.js この操作は IBM Cloud Shell
  66. 66 実⾏結果は確認できましたか︖ 英語のHello, how are you todau? がイタリア語の Ciao, come

    stai oggi?に変換されています。 3-3.14 実⾏結果の確認 サンプルコード 結果
  67. 67 translate.jsを修正し、13⾏⽬のtextを適当な⽇本語の⽂章に、 model_idをʻja-enʼにしてtranslate2.jsとして保存し、実⾏して みましょう。 [オプション]翻訳⾔語の変更 サンプルコード 結果 以下をのコマンドを実⾏

  68. 4. まとめ Watsonはビジネスで使いやすいAIサービス いろいろなサービスがAPIで呼び出せる SDKで簡単に実装可能

  69. おすすめ情報 今すぐ使えるWatson API/サービス⼀覧 https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html チュートリアル Watson APIを使うための前準備: サービスの作成と資格情報の取得 https://qiita.com/nishikyon/items/9b8f697db7ad0a693839 Watson

    Visual Recognition カスタムクラスを作ろう! https://qiita.com/nishikyon/items/7d1c07e2f50c1002e815
  70. 参考情報 ローカルで実⾏するときはこちらの事前準備が必要です 識別可能な⾔語 https://cloud.ibm.com/docs/language-translator?topic=language- translator-identifiable-languages https://ibm.box.com/v/dojoprep20200610 IBM Watson Visual Recognitionを使った

    node.jsの画像認識Webアプリの作成 https://github.com/kyokonishito/watson-vr-node
  71. IBM Code Patterns https://ibm.biz/ibmcodejp 解説 + デモ動画 + ソースコードが揃ったアプリ開発パターン集

  72. 開発者向けサイト IBM Developer https://ibm.biz/IBMDevJP 最新情報やスキルアップに役⽴つ6,000を超える技術記事を提供

  73. 免責事項 73 IBM Developer Dojoは開発者の⽅を対象に、IBM Cloudを主とした技術情報をお伝えする⽬的で開催しています。 講師や運営スタッフにより、開催毎に最適と判断した内容でお届けしています。 現在、ハンズオンを伴う講義はお客様の費⽤負担がない環境と⼿順でご案内しています。講義終了後、不要に なりました制作物はお客様ご⾃⾝で削除をお願いいたします。クレジットカードの登録が伴わない場合、費⽤は ⼀切発⽣致しませんが、ご登録いただいたお客様はご注意ください。

    講師陣はみなさまの利⽤状況を個別に確認することはできません。 ご理解とご協⼒をお願いいたします。 利⽤したサービスの削除⽅法については講義の中でご案内します。 ご不明な点がございましたら、当⽇確認をお願いいたします。 講義終了後、 IBM Developer Dojoに関するお問い合わせは「Slack」にお願いします。それ以外のIBM Cloudの お問い合わせにつきましては、弊社サポートセンターまで、次のいづれかの⽅法でお問い合わせください。 IBM Cloudダッシュボードの「サポート」メニューから「Case」を作成し、英語でご記⼊ください IBM Cloudサポートセンター「相談する」ボタンからチャットまたは電話でご連絡ください https://www.ibm.com/jp-ja/cloud/support ご参加ありがとうございました。
  74. None
  75. 質問&ライブ投票参加 はこちら slido.com #dojo930 質問タブで質問⼊⼒ ⾃分も知りたい質問には 「いいね」をプッシュ! IBM Developer Dojo

    AI(Watson API) アプリ開発 https://app.sli.do/event/j896nvtu スマホまたはPCでアクセスして ぜひ参加お願いします︕