Slide 1

Slide 1 text

© SIOS Technology, Inc. All rights Reserved. 次世代コミュニケーションツー ル「チャットボット」の活⽤ 〜Azure Bot Serviceで Azureのことに何でも答えてく れるLINEボットを作る 〜 技術部 2019年10⽉23⽇ 武井 宜⾏ サイオステクノロジー株式会社

Slide 2

Slide 2 text

© SIOS Technology, Inc. All rights Reserved. About me 2 Internal Only

Slide 3

Slide 3 text

© SIOS Technology, Inc. All rights Reserved. About me 3 Internal Only BCPVUNF Noriyuki TAKEI ෢Ҫ ٓߦ Information • サイオステクノロジー株式会社 • クラウドネイティブアプリケーション • 千葉県在住 Favorites • Azure • Squash • Sweets blog https://tech-lab.sios.jp/

Slide 4

Slide 4 text

© SIOS Technology, Inc. All rights Reserved. 今回お話すること 4 Internal Only

Slide 5

Slide 5 text

© SIOS Technology, Inc. All rights Reserved. 今回お話すること 5 Internal Only Azure Bot Serviceで、Azureのことに何でも 答えるLINEボットを作成します。 Microsoft Azure サポートに電話でお問い合わせいただいても、 お客様のリクエストへの対応が速くなることはありません。 Azure Portal を通してサポートにご連絡いただいたほう が、・・・ サポートの電話番号は︖

Slide 6

Slide 6 text

© SIOS Technology, Inc. All rights Reserved. 今回お話すること 6 Internal Only まずは使ってみて下さい。 LINEアプリで以下のQRコードをスキャンするか @229rtfoeで検索して下さい。

Slide 7

Slide 7 text

© SIOS Technology, Inc. All rights Reserved. 今回お話すること 7 Internal Only このボット作るのにかかった時間は たった3時間!! @229rtfoe

Slide 8

Slide 8 text

© SIOS Technology, Inc. All rights Reserved. 今回お話すること 8 Internal Only 本資料の内容は 以下のブログで公開しています。 技術ブログ「SIOS TECH.LAB」 https://tech-lab.sios.jp/ @229rtfoe

Slide 9

Slide 9 text

© SIOS Technology, Inc. All rights Reserved. チャットボットって︖ 9 Internal Only @229rtfoe

Slide 10

Slide 10 text

© SIOS Technology, Inc. All rights Reserved. チャットボットって︖ 10 Internal Only あらかじめ作成されたプログラムに基づき、 ⼈間の問いかけに対して、⼈間らしく適切な応答を返してく れるシステム 代表的なものでは、りんななど チャットボットってなに︖ @229rtfoe

Slide 11

Slide 11 text

© SIOS Technology, Inc. All rights Reserved. チャットボットって︖ 11 Internal Only 代表的なのはりんな @229rtfoe

Slide 12

Slide 12 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 12 Internal Only @229rtfoe

Slide 13

Slide 13 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 13 Internal Only @229rtfoe ⾊々な形式のチャットボットがあります。 ⼀問⼀答系チャットボット 会話形チャットボット 通知系チャットボット 会話形チャットボット

Slide 14

Slide 14 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 14 Internal Only Ұ໰Ұ౴ܥνϟοτϘοτ 「電源が⼊らなくなったけど、どうすればいいの︖」「突然画⾯が真っ暗になった」「VPN の使い⽅がわからない」などのユーザーの質問に回答する⼀問⼀答の形式で回答する。 @229rtfoe カスタマーサポート系業務の代替もしくは補助として有効 仕組みが簡単(ステートレスでよい)ので開発からリリースまで⽐較的短時間に⾏える。

Slide 15

Slide 15 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 15 Internal Only Ұ໰Ұ౴ܥνϟοτϘοτ @229rtfoe ⼀問⼀答系チャットボットをCortanaとかに⼊れれば、情シスの業務も楽になるかも。

Slide 16

Slide 16 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 16 Internal Only @229rtfoe ձ࿩ܕνϟοτϘοτ いくつかの質問を経て、初めてユーザーの意図がわかるようなチャットボット 例えば、会議室の予約系業務がそれに該当します。「どこの会議室を予約します か︖」「時間帯は何時から何時までですか︖」「参加者は誰ですか︖」 いくつかの質問を繰り返して、初めてユーザーの意図がわかるようなフローだと、 ユーザーの回答を⼀旦どこかの外部ストレージに格納する必要があります。いわ ゆるステートフルな設計がマストとなり、開発が複雑になる。

Slide 17

Slide 17 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 17 Internal Only ձ࿩ܕνϟοτϘοτ @229rtfoe

Slide 18

Slide 18 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 18 Internal Only @229rtfoe ௨஌ܥνϟοτϘοτ リマインド系通知など、チャットボットの⽅から何かしらの通知を出すチャット ボット 飲み会などの参加可否回答のリマインダー、セミナーの受講可否リマインダーな どに活⽤可能

Slide 19

Slide 19 text

© SIOS Technology, Inc. All rights Reserved. いろんなチャットボット 19 Internal Only @229rtfoe ࡶஊܥνϟοτϘοτ 先程ご紹介した「りんな」を始めとした、他愛のない会話を楽しむことが出来る 雑談系チャットボットです。

Slide 20

Slide 20 text

© SIOS Technology, Inc. All rights Reserved. チャットボットのこれから 20 Internal Only @229rtfoe

Slide 21

Slide 21 text

© SIOS Technology, Inc. All rights Reserved. チャットボットのこれから 21 Internal Only @229rtfoe 誰にでも 親しみやすい Webやスマホアプリやのインターフェースとはちが い、会話は⽼若男⼥誰にでも親しみやすい 開発要員が 確保しやすい スマホアプリやWebアプリに必要なUI/UXデザイ ナーとは異なり、 どうしてチャットボットなの︖ プラットフォー ムの⽤意が簡単 LINEやFacebook上でチャットボットが動作するプ ラットフォームが⽤意されているので、たくさんの ユーザーに使ってもらえる。

Slide 22

Slide 22 text

© SIOS Technology, Inc. All rights Reserved. チャットボットのこれから 22 Internal Only @229rtfoe チャットボットは 銀の弾丸ではありません。

Slide 23

Slide 23 text

© SIOS Technology, Inc. All rights Reserved. チャットボットのこれから 23 Internal Only @229rtfoe 現状では、携帯電話の予約業務のような複雑なものをチャッ トボットだけでやるのは困難。チャットボット + Webやオペ レータなどのハイブリッド対応が望ましい。

Slide 24

Slide 24 text

© SIOS Technology, Inc. All rights Reserved. チャットボットのこれから 24 Internal Only @229rtfoe LOHACOのマナミさんはハイブリッド対応の良い 例です。

Slide 25

Slide 25 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 25 Internal Only @229rtfoe

Slide 26

Slide 26 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 26 Internal Only @229rtfoe チャットボットの開発には何が必要︖ Webサーバー アプリケーションサーバー ボット開発固有のライブラリ QAを格納するデータベース ⾃然⾔語を解析するロジック クライアント(FacebookやLINE)との接続処理

Slide 27

Slide 27 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 27 Internal Only @229rtfoe それ、全部 Azure Bot Serviceで できますから

Slide 28

Slide 28 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 28 Internal Only @229rtfoe Azure Bot Service アプリケーションサーバー ボット開発固有のライブラリ QAを格納するデータベース ⾃然⾔語を解析するロジック クライアント(Facebookや LINE)との接続処理 Webサーバー Azure Bot Service Azure Bot Service Bot Framework QnA Maker LUIS

Slide 29

Slide 29 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 29 Internal Only @229rtfoe Azure Bot Serviceの構成

Slide 30

Slide 30 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceとは︖ 30 Internal Only FacebookやLINEなどの、ユーザーがチャットボットを利 ⽤するためのツールがある層です。 ユーザー クライアント層 ユーザーが発話したとき、その内容がユーザークライアン ト層にあるLINEやFacebookからHTTPリクエストとして 送られてきます。そのリクエストを受け取る層です。 Web層 QnA MakerやLUISなどがある層です。 Cognitive サービス層 Azure AD、Office365、Graph APIなど、チャットボット が応答を返すために参照する外部サービスがこの層に含ま れます。 外部サービス層 @229rtfoe

Slide 31

Slide 31 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの処理の流れ 31 Internal Only @229rtfoe

Slide 32

Slide 32 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの処理の流れ 32 Internal Only まず、クライアント層にあるLINEやFacebookからユーザー が発話します。その発話内容は、HTTPリクエストに乗って、 チャネルに届けられます。 @229rtfoe

Slide 33

Slide 33 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの処理の流れ 33 Internal Only チャネルは、クライアント層のFacebookやLINE固有の HTTPリクエストを、その先のWeb App上にあるBot Frameworkが理解出来る形式に変換して、Bot Framework に渡します。 @229rtfoe

Slide 34

Slide 34 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの処理の流れ 34 Internal Only Web App上のBot Framework(の上で動作するアプリ)は、 チャネルからのHTTPリクエストを受け取り、必要に応じて 外部サービスにアクセスします。 @229rtfoe

Slide 35

Slide 35 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの処理の流れ 35 Internal Only Bot Frameworkは、今までのプロセスを経て作成された HTTPレスポンスをチャネル経由でユーザークライアント層 のLINEやFacebookに返します。 @229rtfoe

Slide 36

Slide 36 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 36 Internal Only @229rtfoe

Slide 37

Slide 37 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 37 Internal Only ։ൃͷྲྀΕ Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ @229rtfoe

Slide 38

Slide 38 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 38 Internal Only @229rtfoe Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ イマココ

Slide 39

Slide 39 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 39 Internal Only @229rtfoe "[VSF#PU4FSWJDFͷϦιʔε࡞੒ Azureでのチャットボットアプリケーション開発に必要である、チャネルやWeb AppなどのリソースをAzureポータルから作成します。

Slide 40

Slide 40 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 40 Internal Only @229rtfoe Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ イマココ

Slide 41

Slide 41 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 41 Internal Only @229rtfoe Ϙοτͷιʔείʔυͷμ΢ϯϩʔυ Azure Bot Service上にデプロイされたチャットボットアプリケーションのソース コードをダウンロードします。これをもとに開発を⾏います。

Slide 42

Slide 42 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 42 Internal Only @229rtfoe Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ イマココ

Slide 43

Slide 43 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 43 Internal Only @229rtfoe 7JTVBM4UVEJPͰ։ൃ 先程ダウンロードしたソースコードをVisual Studioに取り込み、開発を⾏います。

Slide 44

Slide 44 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 44 Internal Only @229rtfoe Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ イマココ

Slide 45

Slide 45 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 45 Internal Only @229rtfoe #PU'SBNFXPSL&NVMBUPSͰςετ チャットボットアプリケーションを、Bot FrameworkのエミュレーターであるBot Framework Emulatorでテストをします。

Slide 46

Slide 46 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 46 Internal Only @229rtfoe Azure Bot Serviceのリソース作成 ボットのソースコードのダウンロード Visual Studioでの開発 Bot Framework Emulatorでテスト Visual StudioからWeb Appへデプロイ イマココ

Slide 47

Slide 47 text

© SIOS Technology, Inc. All rights Reserved. Azure Bot Serviceの開発の流れ 47 Internal Only @229rtfoe 7JTVBM4UVEJP͔Β8FC"QQ΁σϓϩΠ 開発したチャットボットアプリケーションをVisual StudioからWeb Appへデプロ イします。これでチャットボットアプリケーションは本番稼働状態となります。

Slide 48

Slide 48 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerとは︖ 48 Internal Only @229rtfoe

Slide 49

Slide 49 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerとは︖ 49 Internal Only @229rtfoe QnA Makerってなーに︖ あらかじめ「問い合わせ」と「回答」のペアを 作成しておき、 「問い合わせ」に近い内容の質問があった場合、 それに対する「回答」を返すもの

Slide 50

Slide 50 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerとは︖ 50 Internal Only QnA Maker Knowledge base (Azure) Knowledge base (Bot Framework) Q A Q A Q Azureってなに︖ A イケてるパブリッククラウドです。 QAデータ Q A Q A Q Bot Frameworkってなに︖ A イケてるフレームワークです。 QAデータ Q A Q A Q 仮想マシンの作り⽅教えて。 A まずAzureポータルに… Q A Q A Q QnA Makerにアクセスするには︖ A 専⽤のSDKが提供されており… @229rtfoe こんな感じのイメージ

Slide 51

Slide 51 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerとは︖ 51 Internal Only QnA MakerのポータルでQAを登録したときのイ メージ @229rtfoe

Slide 52

Slide 52 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerとは︖ 52 Internal Only @229rtfoe Azureとはなんですか︖ いけてるパブリッククラウドです。 Azureとはなんでしょうか︖ いけてるパブリッククラウドです。

Slide 53

Slide 53 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerのシステム構成 53 Internal Only @229rtfoe

Slide 54

Slide 54 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerのシステム構成 54 Internal Only @229rtfoe

Slide 55

Slide 55 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerのシステム構成 55 Internal Only 問い合わせと回答のペアの作成、同義語の設定などの管理 を⾏うポータル。CSVやURLによる回答のペアの初期デー タ投⼊、運⽤フェーズにおける問い合わせや回答のメンテ ナンスなどを⾏う。 QnA Maker ポータル QAデータを格納するAzure Searchにアクセスする ためのエンドポイントで、実体はAzure Web App。 QnA Maker Endpoint 全⽂検索エンジンであり、QnA MakerにおいてはQAを格 納するためのバックエンド。QnA Maker Endpoint(Web App)経由でアクセスされる。 Azure Search @229rtfoe

Slide 56

Slide 56 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 56 Internal Only @229rtfoe

Slide 57

Slide 57 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 57 Internal Only ։ൃͷྲྀΕ QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング @229rtfoe

Slide 58

Slide 58 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 58 Internal Only QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング イマココ @229rtfoe

Slide 59

Slide 59 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 59 Internal Only @229rtfoe 2O".BLFSͷઃఆ QnA MakerポータルからKnowledge Baseを作成します。基本的にポチ ポチするだけ。詳細はこちら↓ https://tech-lab.sios.jp/archives/17329#QnA_Maker-4

Slide 60

Slide 60 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 60 Internal Only QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング イマココ @229rtfoe

Slide 61

Slide 61 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 61 Internal Only @229rtfoe ॳظσʔλͷొ࿥ 初期データを登録します。様々な⽅法があります。 所定のCSVフォーマットに従って、QAデー タを作成して、登録する⽅法 CSV 固定のURLに記載のFAQデータを⾃動的に 読み込んで登録する⽅法 URL

Slide 62

Slide 62 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 62 Internal Only @229rtfoe ॳظσʔλͷొ࿥ 以下のCSVを作成して、QnA Makerのポータルより登録します。 Azureとはなんですか︖,イケてるパブリッククラウドです。 Q A カンマ区切り

Slide 63

Slide 63 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 63 Internal Only ॳظσʔλͷొ࿥ 特定のURLのWebサイトのデータを読み込んでQAを登録します。 @229rtfoe Q A Q A

Slide 64

Slide 64 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 64 Internal Only @229rtfoe ॳظσʔλͷొ࿥ QnA Makerのポータルからテスト出来ます。

Slide 65

Slide 65 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 65 Internal Only QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング イマココ @229rtfoe

Slide 66

Slide 66 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 66 Internal Only @229rtfoe ΞϓϦέʔγϣϯͱͷ࿈ܞ QnA MakerのSDKを使って、Bot Framework上のチャットボットアプ リからQAデータにアクセスします。NuGetでSDKをGetします。

Slide 67

Slide 67 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 67 Internal Only @229rtfoe ΞϓϦέʔγϣϯͱͷ࿈ܞ コードは以下のとおりです。詳細はGitHubを⾒てね。 https://github.com/noriyukitakei/AzureFAQBot

Slide 68

Slide 68 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 68 Internal Only @229rtfoe ΞϓϦέʔγϣϯͱͷ࿈ܞ Bot Frameworkで作成したアプリ のエミュレーターであるBot Framework Emulaterでテストして みる。

Slide 69

Slide 69 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 69 Internal Only QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング イマココ @229rtfoe

Slide 70

Slide 70 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 70 Internal Only @229rtfoe ར༻ϩάͷ෼ੳ ある⼀定のスコア以下の質問をApplication Insightsに記録するように します。

Slide 71

Slide 71 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 71 Internal Only ར༻ϩάͷ෼ੳ Application Insightsに記録されています。 @229rtfoe 「Azureってなに︖」という質問が低スコア のようです。

Slide 72

Slide 72 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 72 Internal Only QnA Makerの設定 初期データの登録 アプリケーションとの連携 利⽤ログの分析 チューニング イマココ @229rtfoe

Slide 73

Slide 73 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 73 Internal Only νϡʔχϯά @229rtfoe QnA Makerポータルから「Azureとはなんで すか︖」のだいたいフレーズとして 「Azureってなに︖」を追加します。

Slide 74

Slide 74 text

© SIOS Technology, Inc. All rights Reserved. QnA Makerの利⽤フロー 74 Internal Only νϡʔχϯά @229rtfoe 今度はうまくいきました︕︕

Slide 75

Slide 75 text

© SIOS Technology, Inc. All rights Reserved. LUISとは︖ 75 Internal Only @229rtfoe

Slide 76

Slide 76 text

© SIOS Technology, Inc. All rights Reserved. LUISとは︖ 76 Internal Only @229rtfoe LUISってなーに︖ Language Understanding は会話の中から価値のある情報を特定するよう設 計されており、ユーザーの⽬標 (インテント) を解釈して、⽂章から価値のあ る情報 (エンティティ) を抽出することで、⾼品質で繊細な⾔語モデルを構築 します。Language Understanding は、⾳声意図判定処理を即座に実⾏する ための ⾳声サービスと Azure Bot Service のどちらにもシームレスに統合 されているため、⾼度なボットを簡単に作成できます。 マイクロソフトによると、、、 ワ(*´▽`*)ケ(-_-)ワ(●`ε´●)カ(# ゚Д゚)リ(#・∀・)マ(-_-)セ(●`ε´●)ン

Slide 77

Slide 77 text

© SIOS Technology, Inc. All rights Reserved. LUISとは︖ 77 Internal Only ⼤阪までの航空券を予約したい。 LUIS 航空券を 予約する チャットボット ⼤阪 インテント エンティティ 航空券予約システム function 航空券を予約する(⼤阪) { …予約処理… } @229rtfoe インテント エンティティ

Slide 78

Slide 78 text

© SIOS Technology, Inc. All rights Reserved. インテントとエンティティ 78 Internal Only @229rtfoe

Slide 79

Slide 79 text

© SIOS Technology, Inc. All rights Reserved. インテントとエンティティ 79 Internal Only @229rtfoe ⼤阪までの航空券が取りたい 「航空券を取りたい」というインテント(意思) 「⼤阪」というエンティティ(物) インテントとエンティティってなーに︖

Slide 80

Slide 80 text

© SIOS Technology, Inc. All rights Reserved. インテントとエンティティ 80 Internal Only @229rtfoe 全て同じ「⼤阪までの航空券を予約する」という 意思 ⼤阪までの⾶⾏機のチケットが取りたい。 ⼤阪まで⾶⾏機で⾏きたい。 ⼤阪までの航空券を予約したい。

Slide 81

Slide 81 text

© SIOS Technology, Inc. All rights Reserved. インテントとエンティティ 81 Internal Only @229rtfoe LUISのポータルで以下のように登録する。

Slide 82

Slide 82 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 82 Internal Only @229rtfoe

Slide 83

Slide 83 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 83 Internal Only ։ൃͷྲྀΕ LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe

Slide 84

Slide 84 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 84 Internal Only LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe イマココ

Slide 85

Slide 85 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 85 Internal Only -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe エンティティを作成する。

Slide 86

Slide 86 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 86 Internal Only インテントを作成する。 -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe

Slide 87

Slide 87 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 87 Internal Only 発話を作成する。 -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe

Slide 88

Slide 88 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 88 Internal Only 発話を作成する。 -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe

Slide 89

Slide 89 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 89 Internal Only -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe

Slide 90

Slide 90 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 90 Internal Only -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe LUISポータルのテストツールでテストしてみる。 ⼤阪というエンティティが抽出 できている。 スコアも⾼い。

Slide 91

Slide 91 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 91 Internal Only -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe 別の⽂章でテストしてみる。 ⼤阪というエンティティは抽出 できている。 スコア低い。

Slide 92

Slide 92 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 92 Internal Only -6*4ϙʔλϧͰΠϯςϯτͱΤϯςΟςΟͷొ࿥ @229rtfoe 新たな発話を登録する。 新たな発話を登録すればスコアは⾼く なる。

Slide 93

Slide 93 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 93 Internal Only LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe イマココ

Slide 94

Slide 94 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 94 Internal Only @229rtfoe -6*4ͷ4%,Λར༻ͨ͠νϟοτϘοτΞϓϦͷ։ൃ LUISのSDKをNuGetでGetする。

Slide 95

Slide 95 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 95 Internal Only @229rtfoe LUISのSDKを使って、チャットボットアプリを開発する。 -6*4ͷ4%,Λར༻ͨ͠νϟοτϘοτΞϓϦͷ։ൃ

Slide 96

Slide 96 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 96 Internal Only @229rtfoe -6*4ͷ4%,Λར༻ͨ͠νϟοτϘοτΞϓϦͷ։ൃ Bot Frameworkで作成したアプリ のエミュレーターであるBot Framework Emulaterでテストして みる。

Slide 97

Slide 97 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 97 Internal Only LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe イマココ

Slide 98

Slide 98 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 98 Internal Only @229rtfoe LUISには、ややこしいことにLUISのAPIを呼ぶためのキーが2つ存在します。 ⾃動的に発⾏されるキーで、主にLUISアプリを管理 したり、テスト⽤のクエリを発⾏したりする⽤途で 利⽤されます。管理にも使えるということで⾮常に 強⼒な権限を持つため、本番環境⽤途では使われま せん。 Authoring Key LUISアプリに対して読み込みの権限のみがあるキー です。また、Authoring KeyよりもAPIの呼び出し回 数の制限が緩和されていたりと、より本番環境向け の⽤途になります。マイクロソフトも、本番環境で はEndpoint Keyの利⽤を推奨しております。 Endpoint Key &OEQPJOU,FZͷൃߦ

Slide 99

Slide 99 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 99 Internal Only @229rtfoe Authoring KeyとEndpoint Keyをイメージにするとこんな感じ &OEQPJOU,FZͷൃߦ LUISリソース LUISアプリ Azureポータル LUISポータル Endpoint Keyの呼び出し Authoring Keyの呼び出し ⼀般ユーザー LUIS管理者や 開発者

Slide 100

Slide 100 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 100 Internal Only Endpoint KeyはAzureのリソースを作成することで発⾏する。 &OEQPJOU,FZͷൃߦ @229rtfoe

Slide 101

Slide 101 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 101 Internal Only LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe イマココ

Slide 102

Slide 102 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 102 Internal Only @229rtfoe ར༻ϩάͷ෼ੳ スコアが⼀定以下の発話に対して、Application Insightsに記録するよ うにします。

Slide 103

Slide 103 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 103 Internal Only ར༻ϩάͷ෼ੳ 試しに「⼤阪への⾶⾏ 機をリザブりたい」と 発話してみます。 @229rtfoe

Slide 104

Slide 104 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 104 Internal Only ར༻ϩάͷ෼ੳ @229rtfoe スコアが低い発話(⼤阪への⾶⾏機を リザブりたい)がApplication Insights に記録されている

Slide 105

Slide 105 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 105 Internal Only LUISポータルで インテントとエンティティの登録 LUISのSDKを利⽤した チャットボットアプリの開発 Endpoint Keyの発⾏ 利⽤ログの分析 チューニング @229rtfoe イマココ

Slide 106

Slide 106 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 106 Internal Only νϡʔχϯά @229rtfoe 先程スコアの低かった「⼤阪への⾶⾏機をリザブりたい」をインテント として登録します。

Slide 107

Slide 107 text

© SIOS Technology, Inc. All rights Reserved. LUISの開発フロー 107 Internal Only νϡʔχϯά 先程スコアの低かった「⼤ 阪への⾶⾏機をリザブりた い」がきちんと認識されて います︕︕ @229rtfoe

Slide 108

Slide 108 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 108 Internal Only @229rtfoe

Slide 109

Slide 109 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 109 Internal Only -JTUΤϯςΟςΟ @229rtfoe 「愛媛までの航空券が取りたい。」としても「愛媛」がエンティティと して認識されません(><)

Slide 110

Slide 110 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 110 Internal Only -JTUΤϯςΟςΟ @229rtfoe Listエンティティを作成して、「愛媛」「東京」「⼤阪」など⾊々⼊れて みる。

Slide 111

Slide 111 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 111 Internal Only -JTUΤϯςΟςΟ 今度は⼤丈夫 @229rtfoe

Slide 112

Slide 112 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 112 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe 朝ごはんのおかずとデザート、夜ごはんのおかずとデザートを注⽂するチャット ボットアプリがあり、ユーザーは以下のように発話することで注⽂できるものと します。 朝ごはんのおかずはサンマでデザートはプ リン、夜ごはんのおかずはステーキでデ ザートはパフェでお願いします。

Slide 113

Slide 113 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 113 Internal Only $PNQJTUFΤϯςΟςΟ okazu_listというListエンティティにサンマとかステーキとかおかず系のものを、 dessert_listというエンティティにパフェとかプリンとかデザート系のものを⼊れ て以下のインテントを作ってみました。 @229rtfoe

Slide 114

Slide 114 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 114 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe Entitiesを⾒るとわかるのですが、どれが朝ごはんのものか夜ごはんのものかわか りません。 この結果からでは、サンマは朝ごはん のおかずなのか夜ごはんのおかずなの かわかりません。

Slide 115

Slide 115 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 115 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe おかずとデザートを「朝ごはん」「夜ごはん」それぞれのグループにグルーピン グしてあげましょう。

Slide 116

Slide 116 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 116 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe breakfastというComposite エンティティでokazu_listエ ンティティとdessert_listエ ンティティをグルーピングす る。

Slide 117

Slide 117 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 117 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe dinnerというCompositeエ ンティティでokazu_listエン ティティとdessert_listエン ティティをグルーピングする。

Slide 118

Slide 118 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 118 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe おかずとデザートを「朝ごはん」「夜ごはん」それぞれのグループにグルーピン グしてあげます。

Slide 119

Slide 119 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 119 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe もう⼀度テストをしてみます。 朝ごはんの「サンマ」と「プ リン」は「breakfast」とい うCompisteエンティティで グループ化されています。

Slide 120

Slide 120 text

© SIOS Technology, Inc. All rights Reserved. ⾊々なエンティティ 120 Internal Only $PNQJTUFΤϯςΟςΟ @229rtfoe 夜ごはんの「ステーキ」と 「パフェ」は「dinner」とい うCompisteエンティティで グループ化されています。

Slide 121

Slide 121 text

© SIOS Technology, Inc. All rights Reserved. LINE連携 121 Internal Only @229rtfoe

Slide 122

Slide 122 text

© SIOS Technology, Inc. All rights Reserved. LINE連携 122 Internal Only @229rtfoe Azure Bot Serviceの「チャネル」という機能を使って、簡 単にLINEやFacebookなど各種クライアントに対応した チャットボットが作成できます。

Slide 123

Slide 123 text

© SIOS Technology, Inc. All rights Reserved. LINE連携 123 Internal Only @229rtfoe 設定⽅法の詳細は以下のブログをご参照下さい。本当に設定 ポチポチで簡単です。 技術ブログ「SIOS TECH.LAB」 次世代コミュニケーションツール「チャット ボット」の活⽤ 〜Azure Bot Serviceで Azureのことに何でも答えてくれるLINEボッ トを作る 〜【LINEボット作る編】 https://tech-lab.sios.jp/archives/17801

Slide 124

Slide 124 text

© SIOS Technology, Inc. All rights Reserved. さいごに 124 Internal Only @229rtfoe

Slide 125

Slide 125 text

© SIOS Technology, Inc. All rights Reserved. さいごに 125 Internal Only 本資料の内容は 以下のブログで公開しています。 技術ブログ「SIOS TECH.LAB」 https://tech-lab.sios.jp/ @229rtfoe

Slide 126

Slide 126 text

© SIOS Technology, Inc. All rights Reserved. さいごに 126 Internal Only 今⽉発売のSoftware Designの Azure特集に執筆しました。 @229rtfoe

Slide 127

Slide 127 text

© SIOS Technology, Inc. All rights Reserved. 次世代コミュニケーションツール 「チャットボット」の活⽤ 127 Internal Only ご清聴 ありがとう ございました