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

Watson Assistant チャットボットと連携するアプリ開発体験 (会話フロー作成・API会話編)

Mats
June 08, 2023

Watson Assistant チャットボットと連携するアプリ開発体験 (会話フロー作成・API会話編)

Watson Assistant チャットボットと連携するアプリ開発体験(会話フロー作成・API会話編)

Mats

June 08, 2023
Tweet

More Decks by Mats

Other Decks in Technology

Transcript

  1. IBM Developer
    Online
    1
    Embeddable AI Dojo #3ɿ
    Watson Assistant νϟοτϘοτͱ࿈ܞ͢ΔΞϓϦ։ൃମݧ
    (ձ࿩ϑϩʔ࡞੒ɾAPIձ࿩ฤ)

    View Slide

  2. ⽇本アイ・ビー・エム株式会社
    ύʔτφʔΞϥΠΞϯεࣄۀ෦ιϦϡʔγϣϯ૑ग़ϥϘ
    ソリューションアーキテクト
    松島 輝昌 [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
    ⾃⼰紹介

    View Slide

  3. "HFOEB
    1. Watson Assistant のおさらい
    2. Watson Assistant のHands-on環境準備
    3. Watson Assistant でチャットボット作成
    4. チャットボットとPythonで会話

    View Slide

  4. ໨తͱΰʔϧ
    ໨త
    ΰʔϧ
    • Watson Assistant を使ってチャットボット構築を体験する
    • チャットボットから会話フローを切り取ってみる
    •Watson Assistant の会話フローを作成してみる
    •Python を使って会話フローを切り取ってみる

    View Slide

  5. 1 Watson Assistant
    Watson Assistant サービス概要
    https://www.youtube.com/watch?v=5tmTDLEYwj4
    顧客体験を向上させるバーチャル・エージェント
    IBM Watson Assistant

    View Slide

  6. 8BUTPO"TTJTUBOUͱ͸
    Ϣʔβʔͱίϯϐϡʔλʔͷର࿩ΛՄೳʹ͢Δ։ൃπʔϧ
    ࣗવݴޠͰͷ໰͍߹ΘͤΛཧղ͠ɺద੾ͳճ౴Λฦ͢
    6
    ސ٬ νϟωϧ ղܾ
    μΠΞϩά ݕࡧ ΤʔδΣϯτ
    εΩϧ
    ϧʔςΟϯά
    ͋Γ͖ͨΓͳνϟοτϘοτͰ͸͋Γ·ͤΜ
    *#.
    8BUTPO
    "TTJTUBOU
    σʔλɾϓϥΠόγʔΛอূ͢Δͱಉ࣌ʹϓϩΞΫςΟϒͰύʔιφϥΠζ͞Εͨ
    αʔϏεΛఏڙ͢Δ͜ͱͰɺاۀͷϒϥϯυɾϩΠϠϧςΟʔͷ޲্΍ސ٬ମݧͷ
    มֵΛࢧԉ͢Δاۀ޲͚ਓ޻஌ೳ "*
    ΤʔδΣϯτͰ͢ɻ
    "*ͷಛ௕
    l ڝ߹੡඼ΑΓগͳ͍σʔλͰֶश͢Δ
    l ෆ͔֬ͳ৔߹ʹ͸͍͋·͍͞Λআڈ͢Δ
    l τϐοΫΛม͑ΒΕΔ
    l γεςϜΛվળ͢Δํ๏ΛఏҊ͢Δ
    ճ౴඼࣭ͷ޲্
    ֶशɾӡ༻ͷෛՙܰݮ
    AI
    ౷߹
    ౷߹ͷಛ௕
    l ୅ସखஈͱͯ͠ݕࡧ 8BUTPO%JTDPWFSZ
    ·ͨ͸
    ਓؒͷΤʔδΣϯτΛར༻͢Δ
    l ΦϜχνϟωϧʹରԠ͢Δ
    l ύϒϦοΫɾΫϥ΢υͱΦϯϓϨϛεͷ͍͔ͳΔ
    ΠϯϑϥετϥΫνϟʔʹσϓϩΠͰ͖Δ
    Ϣʔβʔମݧͷ޲্

    View Slide

  7. γϯϓϧͰ௚ײతͳΠϯλʔϑΣʔε
    Ծ૝ΞγελϯτߏஙͷҰ࿈ͷ࡞ۀΛφϏήʔτ͢Δϝχϡʔߏ੒
    7
    #VJME
    ձ࿩ϑϩʔͷఆٛɺυϥϑτ؀ڥͰݕূ
    %FQMPZ
    ࡞੒ͨ͠ΞγελϯτΛຊ൪؀ڥʹެ։
    *NQSPWF
    ձ࿩ͷ෼ੳΛߦ͍ΞγελϯτΛվળ

    View Slide

  8. 2 Watson Assistant の Hands-on 環境準備

    View Slide

  9. IBM Cloud ①
    1. IBM Cloud (https://cloud.ibm.com/)に IBM Id を使ってサインイン
    2. ポータルサイトにて「カタログ」をクリック

    View Slide

  10. IBM Clouc ②
    3. 「カタログ」欄に“assistant”と⼊⼒。表⽰される製品の中で「Watson Assistant」を選択。
    4. ロケーション、料⾦プランを確認し、同意後「作成」ボタンをクリック
    “assistant”と⼊⼒
    表⽰される「Watson Assistant」を選択
    ①「ロケーションの選択」︓東京(jp-tok)
    ②「ライト」に✓がついていることを確認
    ③「以下のご使⽤条件を読み・・・」に✓
    ④「作成」ボタンをクリック

    View Slide

  11. IBM Cloud ③
    5. Assistant起動画⾯
    “Watson Assistant の起動”
    をクリック

    View Slide

  12. 「Assistant name」︓myproject(任意)
    「Assistant language」: Japanese(任意)
    今回はPrersonalize以下割愛のため左上の
    をクリック
    IBM Cloud ④

    View Slide

  13. 3.1. アプリ開発体験
    l テーマ︓
    Assistant でチャットボットを構築する⽅法を体験
    l コードのURL
    https://github.com/Teruyoshi-Matsushima/WatsonAssistantExample

    View Slide

  14. 「Create action」をクリックし、
    次に開くダイアログで「天気」と⼊⼒


    3.1. action作成

    View Slide

  15. 3.1. 問い合わせ①作成
    枠内をクリックし
    「天気予報をお調べします。
    どこの天気をお調べしますか︖」
    と⼊⼒

    View Slide





  16. 3.1.問い合わせ①作成 - ユーザーレスポンス定義
    ①「Define customer response」をクリック
    ②「Options」をクリック
    ③「東京」「⼤阪」「札幌」を⼊⼒し、Applyをクリック
    ④「New step +」をクリック

    View Slide


  17. ② ③
    3.1. 問い合わせ②作成
    「〇〇の天気をお調べします。」と記載したい。
    〇〇には『1天気予報をお調べします。どこの天気』
    の回答を持ってきたい

    View Slide

  18. 『1天気予報をお調べします。どこの天気』のあとに
    「の天気をお調べします。」と記載。
    次に「いつの天気をおしらべしますか︖」と⼊⼒。


    ”Define customer response“をクリック
    3.1. 問い合わせ②作成
    ”今⽇“”明⽇“を⼊⼒し、
    下のApplyをクリック

    View Slide

  19. 3.1. 問い合わせ③作成

    View Slide

  20. 3.1. 会話終了

    View Slide

  21. こんな感じのダイアログ

    View Slide

  22. 4 Watson Assistant からAPIを使って会話を取得
    • python, nodeのサンプル
    https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-api-
    client&locale=ja&code=python
    • Watson SDK (Java, Node.js, Python, .NET)
    https://cloud.ibm.com/docs/watson?topic=watson-using-sdks&locale=ja

    View Slide

  23. 4.1. APIを使⽤したカスタムクライアント
    (python)作成
    1. python3 watson_create_session.py
    セッションIDを取得
    2. python3 watson_send_message_1.py
    3. python3 watson_send_message_2.py
    4. python3 watson_send_message_3.py
    「天気は︖」と尋ねると
    ー>「天気をお調べします。
    どこの天気をお調べしますか︖」
    と返ってくる。
    「東京」と答える
    ー>「今⽇」「明⽇」のオプション
    と返ってくる。
    「今⽇」と答える
    ー>「東京の今⽇の天気をお調べします。」
    と返ってくる。
    セッションID取得

    View Slide

  24. 認証情報
    API key, URLの取得 Environment ID の取得
    「Environment」タブ
    ギアマークをクリック
    「Environment ID」

    View Slide

  25. ①セッションID取得 - watson_create_session.py
    「API key」を設定
    「URL」を設定
    「Environment ID」を設定
    「Sessino ID」

    View Slide

  26. ②「今⽇の天気」と尋ねる -watson_send_message_1.py
    「Session ID」を設定
    「API key」を設定
    「URL」を設定
    「Environment ID」を設定
    「今⽇の天気」を設定

    View Slide

  27. 「今⽇の天気は︖」と尋ねると
    ー>「天気をお調べします。
    どこの天気をお調べしますか︖」
    と返ってくる。
    ②確認

    View Slide

  28. ③「東京」を伺う - watson_send_message_2.py
    「API key」を設定
    「URL」を設定
    「Environment ID」を設定
    「Session ID」を設定
    「東京」を設定

    View Slide

  29. 「東京」と答える
    ー>「今⽇」「明⽇」のオプション
    と返ってくる。
    ③確認

    View Slide

  30. ④「今⽇」を伺う - watson_send_message_3.py
    「API key」を設定
    「URL」を設定
    「Environment ID」を設定
    「Session ID」を設定
    「今⽇」を設定

    View Slide

  31. 「今⽇」と答える
    ー>「東京の今⽇の天気をお調べします。」
    と返ってくる。
    ④確認

    View Slide

  32. Appendix
    初めての『IBM Watson Assistant』〜これから
    触ってみる⽅への体験ガイド〜
    https://qiita.com/yanagih/items/27dc6e0561340168724f

    View Slide

  33. Appendix Watson Assistant マンガ
    https://www.ibm.com/downloads/cas/NJEOR0PA
    マンガで解説_ 意味不明なチャットボットに今こそ決別。

    View Slide

  34. ·ͱΊ
    •Watson Assistant を使ってチャットボット構築を体験した
    •チャットボットから会話フローを切り取った

    View Slide

  35. ࠓޙ
    • Watson Discovery / Watson Assistantͷ࿈ܞΞϓϦ։ൃମݧ

    View Slide

  36. એ఻
    <૊ΈࠐΈAI ηϧϑαʔϏεܕσδλϧڞ૑ମݧ>ϒϩά࢝Ί·ͨ͠ɻ
    ͪ͜ΒͰɺDigital Self-Serve Co-Create Experience( https://dsce.ibm.com/ ) ʹهࡌ
    ͍ͯ͠ΔίϯςϯπΛ΍ͬͯΈͨɻͱ͍͏΋ͷΛൃ৴͍͖ͯ͠·͢ɻ
    ·ͨɺίϛϡχςΟ΋͋Γ·͢ɻ
    IBM AI and Data Science ʹདྷ͍͖ͯͨͩʮJoin nowʯΛͯ͘͠ΕΔͱخ͍͠
    Ͱ͢ɻ

    View Slide

  37. ワークショップ、セッション、および資料は、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ͷ঎ඪ·ͨ͸ొ࿥঎ඪͰ͢ɻ

    View Slide

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

    View Slide

  39. EOF

    View Slide