コンピューターと対話する - conversation as a platform -

88
#azurej p #azurej p コココココココココココココココココ - Conversation as a Platform ココ - ココ ココ コココココココココココココ コココココ ココココココココ https://www.facebook.com/ dahatake/ https://twitter.com/ dahatake/ https://github.com/ dahatake/ https:// daiyuhatakeyama.wordpress.com/

Upload: daiyu-hatakeyama

Post on 08-Feb-2017

79 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: コンピューターと対話する - Conversation as a platform -

#azurejp#azurejp

https://www.facebook.com/dahatake/https://twitter.com/dahatake/https://github.com/dahatake/https://daiyuhatakeyama.wordpress.com/

Page 2: コンピューターと対話する - Conversation as a platform -

#azurejp

mid-80s

デスクトップ OSDos, Windows, Mac

OSプログラム

Excel, PPT, Lotus

GUI Apps

PC

ブラウザーMosaic, Explorer,

Netscape

Web サイトYahoo, Amazon

Web ページ

mid-90s

Web

モバイル OSiOS, Android, WP

アプリAngry Birds, Instagram

ネイティブ アプリ

mid-00s

スマートフォン

メッセージング アプリ Whatsapp, WeChat, Skype

ボット / エージェントWeather, Travel

会話

mid-10s

メッセージング

New era of Computing…

Page 3: コンピューターと対話する - Conversation as a platform -

#azurejp

Conversation ( 会話 ) に少し「賢さ」を加えてみる

Page 4: コンピューターと対話する - Conversation as a platform -

James Whittaker

Fri 2/23/2013 4:35 PM

Jennifer WhittakerOF Monsters And Men Coming!

Hey Dad,

One of my favorite bands, Of Monsters And Men, is coming to the Paramount Theater in May. OMG!!! I WANT to seem them and would LOVE to see them with my concert buddy!

Father and daughter night out (your treat…lucky!)

Let me know…, NOW!!!!!!!! ;)

TTYL,Jen

Action BrokerMessage + Get More Apps

Page 5: コンピューターと対話する - Conversation as a platform -

James Whittaker

Fri 2/23/2013 4:35 PM

Jennifer WhittakerOF Monsters And Men Coming!

Hey Dad,

One of my favorite bands, Of Monsters And Men, is coming to the Paramount Theater in May. OMG!!! I WANT to seem them and would LOVE to see them with my concert buddy!

Father and daughter night out (your treat…lucky!)

Let me know…, NOW!!!!!!!! ;)

TTYL,Jen

Message Action Broker + Get More Apps

Page 6: コンピューターと対話する - Conversation as a platform -

James Whittaker

Fri 2/23/2013 4:35 PM

Jennifer WhittakerOF Monsters And Men Coming!

Hey Dad,

One of my favorite bands, Of Monsters And Men, is coming to the Paramount Theater in May. OMG!!! I WANT to seem them and would LOVE to see them with my concert buddy!

Father and daughter night out (your treat…lucky!)

Let me know…, NOW!!!!!!!! ;)

TTYL,Jen

Message Action Broker + Get More Apps

Band Overview

Buy Music

Top Videos

Similar Artists

Of Monsters And Men

biography After winning the nationwide 2010 battle-of-the-bands competition Musiktilraunir in their native Iceland, six-piece chamber pop group Of Monsters and Men were hailed as "the new Arcade Fire" in Rolling Stone magazine. A bidding war ensued, and the group signed with Universal Music Group. In the beginning of 2012, a four-song EP titled Into the Woodswas issued as a preview to their full-length debut, My Head Is an Animal, which was released in the States that spring.

Page 7: コンピューターと対話する - Conversation as a platform -

James Whittaker

Fri 2/23/2013 4:35 PM

Jennifer WhittakerOF Monsters And Men Coming!

Hey Dad,

One of my favorite bands, Of Monsters And Men, is coming to the Paramount Theater in May. OMG!!! I WANT to seem them and would LOVE to see them with my concert buddy!

Father and daughter night out (your treat…lucky!)

Let me know…, NOW!!!!!!!! ;)

TTYL,Jen

Message Action Broker + Get More Apps

Overview

Buy Tickets

Seating Chart

Maps & Direction

sNearby

Paramount Theater

Seattle, WA901 Pine Street98101An iconic venue in the heart of Seattle, the Paramount Theater presents the best in Broadway shows and live entertainment. Originally opened in 1928 the theater has been restored and maintained as one of Seattle's premier entertainment venues.

Page 8: コンピューターと対話する - Conversation as a platform -

James Whittaker

Fri 2/23/2013 4:35 PM

Jennifer WhittakerOF Monsters And Men Coming!

Hey Dad,

One of my favorite bands, Of Monsters And Men, is coming to the Paramount Theater in May. OMG!!! I WANT to seem them and would LOVE to see them with my concert buddy!

Father and daughter night out (your treat…lucky!)

Let me know…, NOW!!!!!!!! ;)

TTYL,Jen

Message Action Broker + Get More Apps

Overview

Buy Tickets

Seating Chart

Maps & Direction

sNearby

Paramount Theater

Sunday, April 2nd Nick CaveSunday, April 10th Jillian MichaelsWednesday, April 13th Chris TuckerApril 16th – April 23rd Black WatchMay 1st – May 5th Black WatchFriday, May 11th Russell PetersTuesday, May 14th Of Monster And Men

Page 9: コンピューターと対話する - Conversation as a platform -

+ Check Traffic

+ Confirm Reservation+ Map

+ Seating Chart+ Map+ Parking

Page 10: コンピューターと対話する - Conversation as a platform -

コミュニケーションを解析し、そのコンテキストを類推する。 =

Knowすぐに次の行動に移る事ができる。

= Do

Page 11: コンピューターと対話する - Conversation as a platform -

『夏休みの予定を立てませんか ? 』

Page 12: コンピューターと対話する - Conversation as a platform -

“ ハワイに行きたいな。”

Page 13: コンピューターと対話する - Conversation as a platform -

『 5 月 12 の週がベストシーズンですよ。』

Page 14: コンピューターと対話する - Conversation as a platform -

『 5 月 12 の週がベストシーズンですよ。』

Page 15: コンピューターと対話する - Conversation as a platform -

“Let me clear your schedule & find the

best flights for you.”

Alaska Airlines Flight 0864Depart SeattleArrive Kahului 11:10 local

Depart 7:10 Seattle to San Jose

Arrive Kahului 1:30 local.

$448.20Coach

$650.30First

Layover

Depart 8:05 Seattle Arrive Kahului 11:10 local.

$580.40 Coach$940.30First

Depart 9:30 Seattle to SLC

Layover

Depart 2:00 local to Honolulu

$420.20 Coach$550.30First

Layover

Arrive Kahului 10:30 local.

Depart 4:30 Seattle to SLC

Layover

Depart 8:00 pm local to Honolulu

『既存の予定を無くしてみましょう。フライトの空き状況はこのようになっています。』

$398.20 Coach$520.30First

Layover

Arrive Kahului 6:30 local.

FlightContinued

Page 16: コンピューターと対話する - Conversation as a platform -

Alaska Airlines Flight 0864Depart SeattleArrive Kahului 11:10 local

LodgingB&Bs on thebeach that are pet friendly

Hotels your friends have recommended

Highest rated hotels

All hotels available

Matilda’s B&B $125-$255 per night15174 East Maliki Road, Kahuli, HI 808-437-9422 | Pool, Kids Stay Free…

Little Cottage B&B $135-$205 per night3218 Happy Trails, Kahuli, HI 808-435-8888 | Unique, Private Resort…Maalaea Bay B&B $575-$650 per night21764 North Bend Lane, Kahuli, HI808-437-9564 | Private Beach…

Seashore B&B $95-$155 per night2475 Seashore Blvd, Kahuli, HI808-421-7763 | Pet Friendly, Group Rates…

Hilltop B&B $195-$225 per night1600 Pennsylvania Ave, Kahuli, HI 808-456-1212 | Regal and Elegant…

Terrace Views B&B $225-$275 per night742 Evergreen Terrace, Kahuli, HI808-437-3221 | Stunning Views of Terraces…

Maalea Bay B&B: Sunday May 12 – Saturday May 18

『こちらがおすすめのホテルです』

Page 17: コンピューターと対話する - Conversation as a platform -

Alaska Airlines Flight 0864 Depart 8:00a SeattleArrive Kahului 1:15p

5Dinning Water Sports Sight

SeeingOff the Beaten Path

Dinning Off The Beaten Path

Sashimi Palace $35-$200 per plate86458 Grand Avenue, West Kahuli, HI

808-436-5444 | Finest fusion in…Lani’s Steakhouse $65-$105 per plate76587 Sunset Place, Suite F, Kahuli, HI808-432-1775 | Laid back atmo…

Hurricane Ridge $25-$75 per plateMon – Sun 11 am to midnightSpecial rates for children

Activities For The Week

Zip Line Through The Canopy Mon 2 pm, Tues 2 pm, Fri 10 am, Sat…$55 kids & seniors, $75 adults & studentsNighttime Roast On The BeachTues @ 4, Fri @ 4, Fri @ 6, Sat @ 4, Sat…$99 Family Special, $62 adult, $22 kids

Kahului Open Air Market seasonal hours

Beginner Scuba Lessons & RentalMon 1 pm, Tues 1 pm, Fri 11 am, Sat…$55 for your 1st hr/lesson, $25 ea hr after

Zip Line 2pm start time

Nighttime Roast Family Special

『こちらがおすすめのアクティビティです。』

Maalea Bay B&B: Sunday May 12 – Saturday May 18

Alaska Airlines Flight 0864Depart SeattleArrive Kahului 11:10 local

Page 18: コンピューターと対話する - Conversation as a platform -

『楽しいご旅行を ! 』Luau At The

HotelEarly Registration

Face PaintingCoupon code THX1138

Snorkeling LessonsRental Equipment Included

Alaska Airlines Flight 8467Depart KahuluiArrive Seattle 4:10 local

Movie NightKids only

Alaska Airlines Flight 0864 Depart 8:00a SeattleArrive Kahului 1:15p

Zip Line 2pm start time

Nighttime Roast Family Special

Maalea Bay B&B: Sunday May 12 – Saturday May 18

Lani’s With Bob and Nancy

Page 19: コンピューターと対話する - Conversation as a platform -

ワークフローの中心たるコンテキストが Canvas に

なる。次のステップに適切な

サービスを探し、 = Know呼び出す = Do

Page 20: コンピューターと対話する - Conversation as a platform -

#azurejp会話を補助するダイアログの例• 受付の例

音声⇒テキストデータ

テキストデータ⇒音声

顔認証

担当社員への連絡

こんにちは。○○株式会社の□□と申します。

本日△△さんと 11:00 からお約束しております。

返答テキストの作成

会議室予約との照合

自然言語分析

Intent: MTGEntities  CompanyName:○○ 株式会社  VisitorName: □□  RequesterName: △△  MeetingDateTime: Today, 11:00

□□ 様、お待ちしておりました。×× 番の会議室までお越しください。

Page 21: コンピューターと対話する - Conversation as a platform -

#azurejpPepper アーキテクチャー

Pepper Azure 対応  Printer

・・・(様々な対応デバイス)

Pepper × Azure デバイス エコシステム

Power BI を始めとした

データ活用エコシステム

・・・(様々なアプリ)

Azure IoT Hub ( デバイス登録・認証・管理・送受信 )

Cloud Robotics FX (Cloud Service)

DeviceController

DeviceRouter

Application

Router

Azure Machine Learning ( レコメンド / 予測 / 予防 / 最適化 )

32 インスタンスまでスケール可

Microsoft Azure

Stream Analytics( 生データ記録 / 異常値

検出 / データ集約 )

Azure Data Lake

( 無制限ストレージ/

解析エンジン )

繰り返し学習

SQL Database(Elastic Database Pool)

Power BIService

StreamAnalytic

sSQL

Database

AzureData Lake

Cloud AIの利用

: Azure PaaS

: Robotics SDK

Smart phone

Microsoft Translator( 多言語翻訳エンジン )

Cognitive Services / Bot Framework

( 人工知能サービス API / ボット )

Page 22: コンピューターと対話する - Conversation as a platform -

#azurejp

エージェント。あなたのアシスタント

Page 23: コンピューターと対話する - Conversation as a platform -

#azurejpりんなの感情ケア• 悲しい、体調が悪い、テ

ストが近い など、 ユーザが不安定な感情を示した時に、相手を気遣う言葉をかける

• 場合によっては翌日も気に掛ける

Page 24: コンピューターと対話する - Conversation as a platform -

#azurejpCortana

タスク遂行のための

あなたのパーソナル アシス

タント

Page 25: コンピューターと対話する - Conversation as a platform -

#azurejp

EmotionalProductivity

明日の天気は晴れです。

どこか出かける予定でもある

の?

明日晴れるかなぁ?

「りんな」のコンセプト – Emotional AI

Page 26: コンピューターと対話する - Conversation as a platform -

#azurejp

Skype SDK

対人間

Office 365

対人間

ルールベース

自動化

AI

BotFramework Cortana りんな

AI 、プログラミング と 人

Page 27: コンピューターと対話する - Conversation as a platform -

#azurejp

旅行 BotConversational Agent

宿泊予約 飛行機の予約

ご挨拶 (Hello!

)会員確認Dialogs/Tasks

Parameters ( なし ) チェックイン日

チェックアウト日人数

(部屋の種類 )概算見積もり

出発場所

…..

到着場所

認証

特別オファー

全ての会話には「意図 /目的」がある

Page 28: コンピューターと対話する - Conversation as a platform -

#azurejp画面フロー = 意図のフロー

<<App>> ECHatakeya

maPassword

認証

検索

購入

Text GUIHoloLends

2Card

Developerユーザー

OK

OK▽

Page 29: コンピューターと対話する - Conversation as a platform -

#azurejp画面フロー = 意図のフロー

App <<Bot>>

認証

検索

購入

いらっしゃいませ、畠山さん

こんにちは、畠山といいます。

はい、こちらに。

HoloLends はありますか ?

承りました。ご利用ありがとうございま

した。

2つください。支払いはカード

で。 Developerユーザー

Text Text

Page 30: コンピューターと対話する - Conversation as a platform -

#azurejp

エージェントを開発できる !“Bot Framework”

Page 31: コンピューターと対話する - Conversation as a platform -

#azurejpConversations as a Platform

Bot Framework

Cortana Your personal

assistant

Cognitive Services

Page 32: コンピューターと対話する - Conversation as a platform -

#azurejpMicrosoft Bot Framework

Bot Developer SDKs Bot Connector Bot Directory

ダイアログ形式のコミュニケーションを実装(C#, Node.js)

BOT アプリをメッセージングサービスに接続

Bing, Cortana などから利用できるディレクトリに登録

BOT アプリを容易に作成するフレームワーク

https://dev.botframework.com/

Page 33: コンピューターと対話する - Conversation as a platform -

#azurejpBot Builder SDKsNode.js & C# SDKダイアログを容易に実装ユーザー、セッション、ユーザー+セッションごとにステート管理

Built-in ダイアログ :Yes/No, String, Number, ChoicesNatural language understanding (LUIS)Form slot filling (branching, disambiguation, multi-turn)Profile (e.g., home address)

Page 34: コンピューターと対話する - Conversation as a platform -

#azurejpBot ConnectorBOT と他のメッセージチャネルを接続

Page 35: コンピューターと対話する - Conversation as a platform -

#azurejpBot Framework Channel Emulator• ローカル環境 (Windows) で Bot を動作確認するためのエミュレー

Mac / Linux 向けに コマンドラインベースのエミュレータも公開

Page 36: コンピューターと対話する - Conversation as a platform -

#azurejpBot DirectoryBot Framework によるBOT の登録ディレクトリーユーザーに一般公開検索&利用可能(※一般公開には承認プロセスがある )

Page 37: コンピューターと対話する - Conversation as a platform -

#azurejpBot Framework の開発環境、ドキュメント開発ツールC# (.NET) : Visual Studio 2015 (* Visual Studio Community 2015 ( 無償 ) 可 )Note.js : コーディングツール (Visual Studio Code 等 ) 他開発環境Bot Framework Template (C#)http://aka.ms/bf-bc-vstemplateBot Framework Emulator (Win/Mac/Linux)https://aka.ms/bf-bc-emulatorBot Builder SDKhttps://github.com/Microsoft/botbuilder開発ドキュメントMicrosoft Bot Framework Documentationhttps://docs.botframework.com/en-us/node/builder/overview/

Page 38: コンピューターと対話する - Conversation as a platform -

#azurejp

Bot の設計

Page 39: コンピューターと対話する - Conversation as a platform -

#azurejp

Page 40: コンピューターと対話する - Conversation as a platform -

#azurejpDialog• ユーザ入力を受け付

けるクラス• 様々なカスタマイズ処理

Page 41: コンピューターと対話する - Conversation as a platform -

#azurejp

Page 42: コンピューターと対話する - Conversation as a platform -

#azurejpFormFlow• 定型化された入力項目に対し、順序だてた入力フォームを提供

Page 43: コンピューターと対話する - Conversation as a platform -

#azurejp

Page 44: コンピューターと対話する - Conversation as a platform -

#azurejp

Page 45: コンピューターと対話する - Conversation as a platform -

#azurejpBot State Service• Bot に対するユーザ入力を格納する領域を提供※Web アプリの Session に相当する概念です

# データのセットBotData userData = await activity.GetStateClient().BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);userData.SetProperty<int>("AuthProcess", 0);

# セットしたデータの取得BotData userData = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);

Page 46: コンピューターと対話する - Conversation as a platform -

#azurejp

Language Understanding Intelligent Service (LUIS)

Page 47: コンピューターと対話する - Conversation as a platform -

#azurejp

旅行 BotConversational Agent

宿泊予約 飛行機の予約

ご挨拶 (Hello!

)会員確認Dialogs/Tasks

Parameters ( なし ) チェックイン日

チェックアウト日人数

(部屋の種類 )概算見積もり

出発場所

…..

到着場所

認証

特別オファー

分岐をしたい

「埼玉から沖縄まで行きたい」

「 1泊 1 人 10,000万円までで、首里城から徒歩圏が

いい」

Page 48: コンピューターと対話する - Conversation as a platform -

#azurejpMicrosoft Cognitive Services•

画像 / ビデオの

読解 / 顔識別 /感情判別 /OCR

話者識別音声⇔テキスト

文章解析文意文脈理解

Web/ 学術情報ビックデータ

解析

Bing による検索

Page 49: コンピューターと対話する - Conversation as a platform -

#azurejp

Conversation 2

Conversation 1

自然言語から、意図とキーワードを抽出「埼玉から沖縄まで行きた

い」

「 1泊 1 人 10,000万円までで、首里城から徒歩圏が

いい」

LUIS

“Move”

“Hotel”

“ 埼玉”

“10,000”円

“ 沖縄”

“ 首里城”

“ 徒歩圏”

意図 = Intent キーワード = Entity

交通検索サービス API

ホテル検索サービス API

Page 50: コンピューターと対話する - Conversation as a platform -

#azurejp

POST https://api.projectoxford.ai/face/v1.0/detect?returnFaceId=false&returnFaceAttributes=age,gender,smileOcp-Apim-Subscription-Key: •••••••••••••••••{ url: http://example.com/example.jpg}

Content-Type: application/json; [ { "faceRectangle": { "top": 30, "left": 62, "width": 49, "height": 49 }, "faceAttributes": { "smile": 0.999, "gender": "female", "age": 25.9 } }]

Page 51: コンピューターと対話する - Conversation as a platform -

#azurejp

using Microsoft.ProjectOxford.Face;using Microsoft.ProjectOxford.Face.Contract;private async Task<FaceRectangle[]> DetectFaces(string imageFilePath){ try { using (Stream imageFileStream = File.OpenRead(imageFilePath)) { var faces = await faceServiceClient.DetectAsync(imageFileStream); var faceRects = faces.Select(face => face.FaceRectangle); return faceRects.ToArray(); }}

Page 52: コンピューターと対話する - Conversation as a platform -

#azurejphttps://www.luis.ai/ での学習( 1/2 )

アプリを登録

Page 53: コンピューターと対話する - Conversation as a platform -

#azurejphttps://www.luis.ai/ での学習( 2/2 )

Intent と Entity を登録

登録した Intent と Entity への対応付けを学習

Page 54: コンピューターと対話する - Conversation as a platform -

#azurejp

LUIS と連携[LuisModel("78685ddf-f144-4a10-9840-xxxxxxxxxxxx", "0fc3f088e3ab402f822fxxxxxxxxxxxx")][Serializable]class HelpDeskOrderDialog : LuisDialog<HelpDeskOrder> { [LuisIntent("")] public async Task None(IDialogContext context, LuisResult result) { await context.PostAsync("I'm sorry, I didn't understand you."); context.Wait(MessageReceived); }

[LuisIntent("InstallSoftware")] public async Task ProcessInsallSoftware(IDialogContext context, LuisResult result) { string software = result.Entities[0].Entity; await context.PostAsync($"So, you want to install {software}. I will put your request into the system. "); context.Wait(MessageReceived); } …}

LUIS が発行する ID

LUIS の Intent が “ InsallSoftware” にマッチした際に呼ばれ

Page 55: コンピューターと対話する - Conversation as a platform -

#azurejp

Design Pattern

Page 57: コンピューターと対話する - Conversation as a platform -

#azurejpMachine Learning エンジン連携

Azure Search

Document DB Azure Media

Services

Microsoft Cognitive Service

Azure Machine Learning

• コンテンツ系データは、 JSON が多い

MicrosoftBot

Framework

Page 58: コンピューターと対話する - Conversation as a platform -

#azurejpEmotion API 表情判定 BOT の構成

Web AppBot Framework Azure

Cognitive ServicesEmotion API

Cognitive Services

Visual StudioTemplate

Bot DirectorySmile=100% Smile=100%

Page 59: コンピューターと対話する - Conversation as a platform -

#azurejp

Bot アプリをクラウド上で動かす !

Page 60: コンピューターと対話する - Conversation as a platform -

#azurejpAzure Bot Service• “Bot-as-a-Service”=1ステップで BOT 作成&公開

Web AppBot Framework

Cognitive Services

Visual Studio Template

Bot Directory作業不要

Azure

Cognitive Services

自動設定

http://aka.ms/LUISBot

Page 61: コンピューターと対話する - Conversation as a platform -

#azurejpCognitive Services QnA Maker • 質問&回答リスト and/or FAQ ページから Bot を自動作

https://qnamaker.ai/

Page 62: コンピューターと対話する - Conversation as a platform -

#azurejpQnA Maker の使い方• 準備するもの• 質問 &回答リスト• FAQ ページ• ( サイトからも Q&A を追加可能 )

Page 63: コンピューターと対話する - Conversation as a platform -

#azurejpQnA Maker の使い方• Knowledge Base• 質問 &回答のリスト• (カスタマイズ可能 )

Page 64: コンピューターと対話する - Conversation as a platform -

#azurejpQnA Maker の使い方• Test• 入力に対する

返答をチューニング

• 適切な回答を選択• 入力のバリエーションを追加

可能

Page 65: コンピューターと対話する - Conversation as a platform -

#azurejpQnA Maker の使い方• Publish• Web API

↑ Knowledgebases Subscription-Key の 2つでアクセス

Page 66: コンピューターと対話する - Conversation as a platform -

#azurejp

エージェントをより人らしく

Page 67: コンピューターと対話する - Conversation as a platform -

#azurejp会話を補助するダイアログの例• 受付の例

音声⇒テキストデータ

テキストデータ⇒音声

顔認証

担当社員への連絡

こんにちは。○○株式会社の□□と申します。

本日△△さんと 11:00 からお約束しております。

返答テキストの作成

会議室予約との照合

自然言語分析

Intent: MTGEntities  CompanyName:○○ 株式会社  VisitorName: □□  RequesterName: △△  MeetingDateTime: Today, 11:00

□□ 様、お待ちしておりました。×× 番の会議室までお越しください。

Page 68: コンピューターと対話する - Conversation as a platform -

#azurejp

AI の民主化

Page 69: コンピューターと対話する - Conversation as a platform -

#azurejp

ImageNet最大規模のイメージデータセット

– 120万の学習用イメージ、 10 のテスト用イメージ– 1000 クラス

深層学習が変えた画像認識

http://image-net.org

Series1

28.2 25.8

16.411.7

7.3 6.7 5.1

3.5

2010 2011 Utronto 2012 NYU 2013 Oxford 2014 GoogleNet 2014 Human Microsoft 2015

Page 70: コンピューターと対話する - Conversation as a platform -

#azurejp英語では、音声認識でも人並みに !• 誤り率 : 5.9%

• Microsoft の Computational Network Toolkit を使用

(新しいバージョンとして、 The Microsoft Cognitive Toolkit が登場 )

Page 71: コンピューターと対話する - Conversation as a platform -

#azurejp

「言葉不足」

意図を正確に伝えるのは、難しい時もある… .

Page 72: コンピューターと対話する - Conversation as a platform -

#azurejp可能な限りの情報を提示

思考

表現手段 表情 声振舞

感情

情報、データ

文字 図

会う

音声電話手紙 / メー

ルApp

意図 (5W1H)

Page 73: コンピューターと対話する - Conversation as a platform -

#azurejpMicrosoft Cognitive Services•

画像 / ビデオの

読解 / 顔識別 /感情判別 /OCR

話者識別音声⇔テキスト

文章解析文意文脈理解

Web/ 学術情報ビックデータ

解析

Bing による検索

表現手段をコンピューターに伝える

Page 74: コンピューターと対話する - Conversation as a platform -

#azurejp人にやさしいシステムに

思考

表現手段 表情 声振舞

感情

情報、データ

文字 図

Conversation as a Platform

意図 (5W1H)

Page 75: コンピューターと対話する - Conversation as a platform -

#azurejp

“Model” とは何か ?- 機械学習を理解するための最初かつ最大のハードル -

Page 76: コンピューターと対話する - Conversation as a platform -

#azurejpdataClass Outlook Temp. WindyPlay Sunny Low Yes

No Play Sunny High YesNo Play Sunny High No

Play Overcast Low YesPlay Overcast High NoPlay Overcast Low No

No Play Rainy Low YesPlay Rainy Low No

? Sunny Low No

label (y)play / no play

featuresoutlook, temp, windy

values (x)[Sunny, Low, Yes]

Page 77: コンピューターと対話する - Conversation as a platform -

#azurejpmodelClass Outlook Temp. WindyPlay Sunny Low Yes

No Play Sunny High YesNo Play Sunny High No

Play Overcast Low YesPlay Overcast High NoPlay Overcast Low No

No Play Rainy Low YesPlay Rainy Low No

? Sunny Low No

Page 78: コンピューターと対話する - Conversation as a platform -

#azurejpツールとしての Azure ML

Two-Crass Boosted Decision Tree というアルゴリズムを選択した場合

どの Feature が何の Value だったら妥当なのかを

作ってくれる !

複数の Model を作ってくれる !

(個数の指定が可能 )

Page 79: コンピューターと対話する - Conversation as a platform -

#azurejpAzure ML上での機械学習の流れ

Input dataData

Transformation

Train Model

Algorithm Split Data

Score Model

Evaluate Model

Page 80: コンピューターと対話する - Conversation as a platform -

#azurejp#azurejp

Page 81: コンピューターと対話する - Conversation as a platform -

#azurejp画面遷移から、会話での入力へ

Canvas Bot

Page 82: コンピューターと対話する - Conversation as a platform -

#azurejp

© 2016 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 83: コンピューターと対話する - Conversation as a platform -

#azurejp#azurejp

Page 84: コンピューターと対話する - Conversation as a platform -

#azurejp開発者向け情報リソース• Cognitive Services & Bot Framework ハンズオン

• 人工知能パーツ Microsoft Cognitive Services を使った表情分析アプリを作ろう! • Emotion API × Bot Framework http://aka.ms/cogbot01_HOL1 • Emotion API × JavaScript http://aka.ms/cogbot01_HOL2

• Microsoft Bot Framework v3.0 からはじめる BOT 開発• http://qiita.com/annie/items/edc26c0ee9603e84a2e4

• LUIS を試してみよう• http://beachside.hatenablog.com/entry/2016/11/21/010051

• Microsoft Flow と Cognitive Services Text Analytics 、 Power BI で Tweet テキスト分析レポート

• http://qiita.com/annie/items/af481a7a8d4aac4e0fd9

Page 85: コンピューターと対話する - Conversation as a platform -

#azurejpBot Framework サンプル• Bot Framework Template for Visual Studio

• http://aka.ms/bf-bc-vstemplate • Bot Framework Samples in GitHub

• https://github.com/Microsoft/BotBuilder • The Maker Show Bot

• https://github.com/ActiveNick/TheMakerShowBot • Stock Bot and others

• https://github.com/Microsoft/BotBuilder/tree/master/CSharp/Samples/Stock_Bot

Page 86: コンピューターと対話する - Conversation as a platform -

#azurejpBot Framework 学習リソース• Bot Framework Home Page

• https://dev.botframework.com/

• Bot Builder SDK on GitHub• https://github.com/Microsoft/BotBuilder

• Bot Framework Blog• https://blog.botframework.com/

• //Build Reaction - Cortana and the Bot Framework• https://channel9.msdn.com/Blogs/raw-tech/Build-Reaction-Cortana-and-the-Bot-Framework

• Cloud Cover Ep. 206: Bot Framework with Mike Hall• https://channel9.msdn.com/Shows/Cloud+Cover/Episode-206-Bot-Framework-with-Mike-Hall

Page 87: コンピューターと対話する - Conversation as a platform -

#azurejpCognitive Services 開発情報• 開発ツール

• Visual Studio 2015• * Visual Studio Community 2015 ( 無償 ) 可• Cognitive Services (旧 : Project Oxford) Client SDK & Samples• https://github.com/Microsoft/ProjectOxford-clientsdk

• 開発ドキュメント• Microsoft Cognitive Services > Documentation• https://www.microsoft.com/cognitive-services/en-us/documentation

• Microsoft Cognitive Services APIs• https://dev.projectoxford.ai/docs/services/• https://bingapis.portal.azure-api.net/docs/services/ 

Page 88: コンピューターと対話する - Conversation as a platform -

#azurejpCognitive Services 関連コミュニティ• CogBot コミュニティ

• ♥Cognitive Services & ♥Bot Framework

www.facebook.com/groups/cogbot

cogbot.connpass.com#cogbot