狠狠撸
Submit Search
App Dojo 2017 12月 - VUI in your app with Dialogflow -
?
Download as PPTX, PDF
?
1 like
?
756 views
啓介 大橋
App Dojo 2017年12月の資料です。 Dialogflowを利用して、Android AppにVUIを搭載させます。
Read less
Read more
1 of 40
Download now
Download to read offline
More Related Content
App Dojo 2017 12月 - VUI in your app with Dialogflow -
1.
VUI in your
App with Dialogflow
3.
大桥启介と申します
4.
何やってる?
8.
话す事
9.
VUI in your
App with Dialogflow
10.
アジェンダ ● 顿颈补濒辞驳蹿濒辞飞とは? ● Dialogflow
& Android
11.
※この資料で話さないこと ● AoGとDialogflow ○ 後でチュートリアルします。 ●
自然言語処理云々 ○ ご自身でがんばってください。 ● VUIのあれこれ ○ ガイドラインを見よう ● Voice Interactions API ○ 今日は話しません
12.
アジェンダ ● 顿颈补濒辞驳蹿濒辞飞とは?
13.
顿颈补濒辞驳蹿濒辞飞とは?
14.
顿颈补濒辞驳蹿濒辞飞とは? ● 自然言語対話プラットフォーム りんごが5つ欲しい 5つりんごが欲しい 5つりんごをくれ りんごを5個買いたい action: buy param: target:
りんご quantity: 5 意味、パラメータは同じ
15.
特徴 ● GUIで自然言語処理の定義が可能 ● 機械学習を用いた自然言語処理の強化 ●
各種サービスとの連携 ○ Google Assistant, Line, Slack, Facebook Messanger, etc ● Webhookを利用した外部システム連携 ● 定義済み辞書、ユーザ定義辞書を用いたパラメータ抽出 顿颈补濒辞驳蹿濒辞飞とは?
16.
特徴 ● GUIで自然言語処理の定義が可能 ○ 多言語処理 ○
ユーザの発言と、アクションの紐付け ○ 発言内容の履歴 ○ 呼び出し数などのAnalyticsデータ 顿颈补濒辞驳蹿濒辞飞とは?
17.
特徴 ● 機械学習を用いた自然言語処理の強化 顿颈补濒辞驳蹿濒辞飞とは?
18.
特徴 ● 各種サービスとの連携 ○ Google
Assistant ■ Android (Allo, Assistant app) ■ Google Home ○ LINE ○ Slack ○ Facebook Messanger ○ Skype ○ Twillo ○ Amazon Alexa (Import/Export Only) 顿颈补濒辞驳蹿濒辞飞とは?
19.
大事な用語 ● Intent ● Entity ●
Fulfillment 顿颈补濒辞驳蹿濒辞飞とは?
20.
Intent ● ユーザの言葉(会話、文章)と アプリケーションのActionのマッピング ● 以下を持つ ○
User Says (ユーザの言葉) ○ Action (対応するAction名とパラメータ) ○ Event (トリガーとなるEvent) ○ Response (返答内容) ○ Context (事前のの会話情報) 顿颈补濒辞驳蹿濒辞飞とは?
21.
Intent 顿颈补濒辞驳蹿濒辞飞とは?
22.
Entity ● パラメータを取得するための定義 ○ イメージ的には辞書 ●
3種類ある ○ Enum ○ Map ○ Composite 顿颈补濒辞驳蹿濒辞飞とは?
23.
Entity ● Enum ○ 単純な抽出したい言葉のリスト ■
ラーメンの名前一覧 顿颈补濒辞驳蹿濒辞飞とは?
24.
Entity ● Enum ○ 複数の意味を1つの解釈として束ねる ■
連絡先→email、住所、sns名 顿颈补濒辞驳蹿濒辞飞とは?
25.
Entity ● Map ○ 辞書Mapping ■
ラーメン:ラーメン、らーめん、拉麺、Ramen 顿颈补濒辞驳蹿濒辞飞とは?
26.
Entity ● Composite ○ 複数のEntityのくみあわせ ■
1kg → $sys.number $sys.weight-unit 顿颈补濒辞驳蹿濒辞飞とは?
27.
Fulfillment ● Webhook ○ 特定のURLを指定して、Intentが起動した際に呼び出す事が可能 ○
1URLのみ ○ 最大5秒の制限 顿颈补濒辞驳蹿濒辞飞とは?
28.
Fulfillment ● Cloud Functions ○
Dialogflowのコンソール上のエディタから直接Cloud Functionsの コードを記述し、Webhookとして利用できる 顿颈补濒辞驳蹿濒辞飞とは?
29.
アジェンダ ● 顿颈补濒辞驳蹿濒辞飞とは? ● Dialogflow
& Android
30.
DialogflowとAndroid ● Android用のSDKがあり簡単にアプリに取り込める ○ https://github.com/dialogflow/dialogflow-android-client
31.
DialogflowとAndroid ● やってくれる事 ○ Speech
Recognition ■ Android由来のものを利用 ■ UI部品から自動呼び出し
32.
DialogflowとAndroid ● やってくれる事 ○ Dialogflow
APIの呼び出し ■ 自然言語処理 ● アクション ● パラメータの抽出 ● 設定した返答 ● Webhookの呼び出し
33.
DialogflowとAndroid ● やってくれる事 ○ その他UIの提供 ■
Button ■ Dialog
34.
使い方(準備) ● Dialogflow側で諸々設定 ● build.gradleに追加 ○
compile 'ai.api:libai:1.6.12' ○ compile 'ai.api:sdk:2.0.7@aar' ● APIアクセスするための設定 DialogflowとAndroid final AIConfiguration config = new AIConfiguration(Config.ACCESS_TOKEN, AIConfiguration.SupportedLanguages.Japanese, AIConfiguration.RecognitionEngine.System);
35.
使い方(AIButton) ● ボタンを利用する場合はlayout.xmlに追加 DialogflowとAndroid <ai.api.ui.AIButton android:id="@+id/micButton" android:layout_height="152dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" style="@style/ApiAi.Microphone" />
36.
使い方(AIButton) ● Listenerを実装 DialogflowとAndroid public interface
AIButtonListener { void onResult(final AIResponse result); void onError(final AIError error); void onCancelled(); }
37.
使い方(AIButton) ● ボタンにConfig、Listenerを設定 DialogflowとAndroid aiButton.initialize(config) aiButton.setResultsListener(this)
38.
使い方(AIButton) DialogflowとAndroid @Override public void
onResult(final AIResponse response) { runOnUiThread(new Runnable() { @Override public void run() { Log.i(TAG, "Status code: " + response.getStatus().getCode()); final Result result = response.getResult(); Log.i(TAG, "Action: " + result.getAction()); Log.i(TAG, "Speech: " + result.getFulfillment().getSpeech()); final HashMap<String, JsonElement> params = result.getParameters(); if (params != null && !params.isEmpty()) { Log.i(TAG, "Parameters: "); for (final Map.Entry<String, JsonElement> entry : params.entrySet()) { Log.i(TAG, String.format("%s: %s", entry.getKey(), entry.getValue().toString())); } } } }); }
39.
使い方(AIButton) ● これでアプリに自然言語処理を組み込めるのようになる ○ 提供されたUI部品を使わなくてもOK ■
Speech Recognition + API呼び出しのみ ● AIService ■ API呼び出しのみ利用することも可能 ● テキストの自然言語処理などに利用 ● AIDataService DialogflowとAndroid
40.
● サポートチャット ○ アプリ内の賢いサポートチャットとして利用できる ●
Voice Actionの定義 ○ 「写真をとって」などのVoice Actionを作れる ○ ただし「OK Google」の様なトリガーを作る必要があり、 これはオンラインでやらない方がいい ● 自分でスマートホーム作る ○ Android Thingsとかと組み合わせて... 使い道 DialogflowとAndroid
Download