Slide 1

Slide 1 text

Azure Bot Serviceと LUISと ちょっとだけIoTの話 2018/2/24

Slide 2

Slide 2 text

    

Slide 3

Slide 3 text

本日の流れ  Botについて理解する  Azure Bot ServiceとLUISの解説  IoTのシナリオで活用してみる

Slide 4

Slide 4 text

本日の流れ  Botについて理解する  Azure Bot ServiceとLUISの解説  IoTのシナリオで活用してみる

Slide 5

Slide 5 text

Botとは Wikiにこう書いてあります。  https://ja.wikipedia.org/wiki/Bot Bot(ボット)は、robot(ロボット)の短縮形・略称。転じて、 コンピュータやインターネットの分野においては、作業を自動 化するプログラムの総称。  クローラ、インターネットボット - WWWにおいては、ウェブ サーバとのやりとりを自動的に行うプログラム。  ボットネット - コンピュータウイルスなどにより自動化されたコ ンピューターのネットワークで、スパムなどに利用される。  ボット (ゲーム) - オンラインゲームなどで使われるAIのプレイ ヤー。

Slide 6

Slide 6 text

つまり というより

Slide 7

Slide 7 text

ということは ChatBotは人工知能 ではなく 人口無能(無脳) と呼ばれる

Slide 8

Slide 8 text

人工知能と人口無能(無脳)  人工知能(AI)とは(理想論含む)  人間の思考そのものをコンピュータ上で再現が目的。  例えば、会話の文脈や意味を理解。  Siriに「こないだのあれどうしたっけ」と夫婦のように聞いても答えられない。  いわゆる空気を読む、ということ。  言ったもん勝ち的なとこもある。  厳密にはAIじゃないけど開発者がAIって言っちゃうと認知されちゃう。  人口無能とは  基本的には「しゃべる」⇒「マッチする文章を返す」という仕組み  考える、ではなくあらかじめ用意した答えを返す。  AIに対しKYである。

Slide 9

Slide 9 text

人工知能の定義  以下の2分類に分けられる。  特化型  特定の役割や機能に特化したもの。  囲碁のAIは車を運転できないし、自動運転AIは医療的な診断は出来ない。  車の運転が上手になるように関連するデータをたくさん入れれば上手くなるかもしれないが 囲碁や将棋は覚えられない。  ほとんどはパターン認識。  膨大なパターンから最適解を瞬時に判断。  つまり経験してないことは知らない。(ある意味応用がきかない)  汎用型  誰もが納得する定義はまだ存在しない。  基本的には特化型の逆で応用が利きなんなら勝手に学習してくれる。  データにないものも閃き的な対応をするとか。  未だ実現は出来ていないらしい。  Watsonなんかは実は特化型を寄せ集めたAPI群。

Slide 10

Slide 10 text

優れたChatBotに求められるもの  賢さ  文章が違っても質問の内容が同じならちゃんと答えられるように 今夜のご飯は? カレーです。 今夜のメシは? 何を言ってるかわかりません。

Slide 11

Slide 11 text

賢さを実現するには  自然言語処理  形態素解析  日本語は「分かち書き」されない This is a pen. これはペンです。 ⇒ これ は ペン です。  構文解析と曖昧性の解消  美しい パン屋の レジの 子 美しいのはパン屋?レジ?レジの子?  照応解析  日本語は主語や色々が省略されがち 母ちゃん、夕飯は? 誰の?いつの?

Slide 12

Slide 12 text

開発のサイクル 問題を考え る 質問する NLPを多用 する メトリック を収集する 改善する

Slide 13

Slide 13 text

作り方  大きく分けると4タイプ  メッセージングアプリAPI  特定のメッセージングアプリでチャットボットを作る場合、プラットフォームが提供する しているAPIを利用。  Facebook、LINE  Bot開発フレームワーク  botkit(Slack、Facebookメッセンジャーに対応)  Microsoft Bot Framework(Skype、Slack、Facebookメッセンジャー等に対応)  Amazon Lex(Facebookメッセンジャー、LINE等に対応)  クラウドAIサービス  Watson、Wit  チャットボット作成サービス  非エンジニアでもブラウザ上でチャットボットを作成することが可能  Repl-AI、ChatFuelSss

Slide 14

Slide 14 text

本日の流れ  Botについて理解する  Azure Bot ServiceとLUISの解説  IoTのシナリオで活用してみる

Slide 15

Slide 15 text

Azure Bot Service とは  デバイスの種類を問わず複数のチャネルへ接続可能なchatbotの開発とホ スティングのためのスケーラブルな統合環境を提供。  テキスト、音声、カード、画像などのさまざまな形式のインターフェイス。  Cortana、Facebook Messenger、Skype など  開発用にBot builder SDK、チャネルに接続するためのBot Frameworkな ど、作成に必要なコアコンポーネントを提供。  オンラインエディターもある。

Slide 16

Slide 16 text

概要図 https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/68da163b-ff6b-4ade-b7fa-65e078762915.png

Slide 17

Slide 17 text

Azure Bot Service とは  Azureポータルからは以下が作成可能  Web App Bot Web App とボット用のチャネル登録を統合したサービス  Bot Channels Registration 既にボット用 API がある場合に使う、チャネル登録サービス  Functions Bot Azure Functionsとチャネル登録を統合したサービス

Slide 18

Slide 18 text

Azureポータルからリソースを作成する  AI + Cognitive Services ⇒ Web App Bot  無料から使える。  Functions Botで作成する場 合は従量課金かApp Serviceプランのどちらかを 選ぶ。

Slide 19

Slide 19 text

4つのテンプレート  言語はC#かNode.jsを選択  Basic  ユーザー入力をエコー バックするダイアログが 1 つあるボット。  Form  FormFlow を使用したガイド付き会話を使用してユーザーからの入力を収集する。  Nodeの場合はウォーターフォール関数。  Language understanding  Cognitive Services の LUIS API を使用して自然言語を処理。  Question and Answer  ナビゲーションが簡単な会話形式の回答を生成。

Slide 20

Slide 20 text

デモ  まずは動作確認  オンラインエディター  ローカル  更新してみる

Slide 21

Slide 21 text

LUISとは  正式にはCognitive Services Language Understanding Intelligent Service  自然言語の分析、判定を行うエンジン(分析モデル)作成  3つの概念で構成  インテント  ユーザーが実行したいアクションのこと。  これらのアクションに対応するインテントを定義して名前を付けます。  発言  ユーザーからのテキストまたは音声入力。  エンティティ  関連する詳細な情報を表します。  ユーザーの発言に記載されているエンティティを認識してラベルを付けることで、ユー ザーの要求に答えるための特定のアクションを選択するのに役立ちます。

Slide 22

Slide 22 text

デモ  まずは動作確認  オンラインエディター  ローカル  更新してみる

Slide 23

Slide 23 text

IoTでの活用シナリオ  ChatBotはBasicでもLUISでもなんでもいい  コントローラが受け取ったらデバイスのダイレクトメソッドをリモートでコール

Slide 24

Slide 24 text

イメージ ここでIoTHubへ接続

Slide 25

Slide 25 text

デモ  CatBotへリクエスト  文章を解読  関係ない文章なら無視  IoT Hubへ接続し対象デバイスのDirectMethodを実行  結果を返す

Slide 26

Slide 26 text

ご清聴ありがとうございました

Slide 27

Slide 27 text

参考リンク https://ja.wikipedia.org/wiki/Bot https://sitest.jp/blog/?p=5592 https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%84%A1%E8%84%B3 http://www.rogerschank.com/fraudulent-claims-made-by-IBM-about-Watson-and-AI https://hitobo.io/blog/overview-of-the-chatbot/ https://ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A 6%E7%90%86 https://azure.microsoft.com/ja-jp/services/bot-service/ https://blogs.msdn.microsoft.com/bluesky/2017/12/14/cognitive-services-luis-azure-bot-service- ga-ja/ https://blogs.technet.microsoft.com/jpitpro/2017/12/26/conversational-bots-deep-dive-what-s- new-with-the-general-availability-of-azure-bot-service-and-language-understanding/ https://blogs.msdn.microsoft.com/kenakamu/2017/12/23/bot-service-and-luis-ga-whats-new/ https://docs.microsoft.com/en-us/bot-framework/bot-service-scenario-internet-things https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-node-direct-methods