Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Actions on Googleのアプリを作ってみた
Search
Sosuke Okubo
February 22, 2018
Technology
0
110
Actions on Googleのアプリを作ってみた
社内勉強会用のActions on Google入門な内容の発表資料です。
Sosuke Okubo
February 22, 2018
Tweet
Share
More Decks by Sosuke Okubo
See All by Sosuke Okubo
“Build trust through better privacy”を見たメモ
mojage
0
81
IPによる地域制限の浅い話
mojage
0
12
Android Robo Test
mojage
0
50
Kotlin Multiplatform
mojage
0
28
栗まんじゅう問題を体感するアプリを作って入門した ARKit + SceneKit
mojage
0
99
SKStoreReviewController
mojage
0
330
スマホアプリ開発で位置情報をシミュレーションする
mojage
0
280
Other Decks in Technology
See All in Technology
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
640
10分でわかるfreeeのQA
freee
0
240
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
7k
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
260
関数型DDDの理論と実践:「決定を遅らせる」を先につくり、 ビジネスの機動力と価値をあげる
knih
2
480
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
11
3k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
Getting started with controlling LEGO using Swift
hcrane
0
130
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
4
600
あらゆる商品を扱う商品データベースを再設計した話 / product db re-architecture
rince
8
3.7k
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
160
Featured
See All Featured
Facilitating Awesome Meetings
lara
39
5.5k
Automating Front-end Workflow
addyosmani
1353
200k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
Product Roadmaps are Hard
iamctodd
43
9.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
We Have a Design System, Now What?
morganepeng
42
6.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
319
20k
How GitHub (no longer) Works
holman
301
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
The Pragmatic Product Professional
lauravandoore
24
5.7k
Making the Leap to Tech Lead
cromwellryan
123
8.4k
Transcript
Actions on Googleのアプリを 作ってみた 2018/02/23 Sosuke Okubo
起
Google Home mini 年末の投げ売りの時に購入してはみた ものの、エンジニアらしいことができて いないので、とりあえずなんか作ろうと 思った。 という話。
承
調査1:Google Homeで独自の何かをさせる方 法 • Actions on Google ◦ 会話を介してやりとりができる •
IFTTT ◦ 任意の言葉にIFTTTに連携できる(トリガーのみ) • google-home-notifer ◦ 任意の言葉をGoogle Homeに喋らせることができる(アクションのみ)
調査2:Actions on Googleアプリを作る方法 • テンプレート ◦ トリビア、クイズなどいくつかテンプレートが用意されている • Dialogflow ◦
DIalogflow(旧API.ai)というチャットボット作成環境を使う ◦ NLU(自然言語理解)エンジンが用意されているので、一番難しいであろうユーザーの発話から アクションに割り振るところをサポートしてくれる • Actions SDK ◦ 短い会話で行う単純なアクションを行う場合や、自前の NLUを使うぜ!という硬派な人向け
というわけで、今回は、 Actions on Google + Dialogflow
作るもの 川崎市のゴミ分別を手伝ってくれるアプリ
なぜならそこにデータがあったから
転
全体図 3. ゴミの分別情 報を検索 4. 見つかったゴミ分別方法の情報を 返却 2. 文法を理解してユーザーが知りた いゴミの種類をFunctionsに渡す
5. 返答を組み立てて返す 6. ユーザーに回 答を返す 1. ユーザーとの会話 からゴミ分別アプリを 起動
Actions on Google 1. プロジェクトを作成 2. Dialogflowを使うことを選択
Dialogflow 1. Intentsを設定 2. Entitiesを設定 3. FulfillmentにCloud Functionsを 指定
Intents 1つの目的(アクション)を持った会話の まとまり 適用する文法を定義し、Entityを抽出し たり、Fulfillmentを呼び出すなどの応 答を設定することができる 今回はゴミの種類を抽出し、Fulfilment としてCloud Functionsを呼び出すよう に設定
Entities アプリの中で利用するキーワードの設定 色や数字などのよく利用されるものにつ いては最初から定義されている JSONやCSVで入力可能 今回は、ゴミの名前を定義
Fulfillment 所謂ビジネスロジック Webhookで外部サービスに解析した会 話の内容を渡して処理をしてもらう 今回はCloud Functionsで該当のゴミの 情報を検索し返答する処理を作成
Firebase 1. Firestoreにゴミの分別方法DBを 構築 2. 上記を検索するFunctions追加
結
デモ
今後やりたいこと • クオリティの向上 ◦ ()問題 ◦ 会話のデザインの見直し • アプリリリース •
Alexaスキル化
ご静聴ありがとうございました!