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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sosuke Okubo
February 22, 2018
Technology
0
120
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
100
IPによる地域制限の浅い話
mojage
0
22
Android Robo Test
mojage
0
60
Kotlin Multiplatform
mojage
0
37
栗まんじゅう問題を体感するアプリを作って入門した ARKit + SceneKit
mojage
0
110
SKStoreReviewController
mojage
0
460
スマホアプリ開発で位置情報をシミュレーションする
mojage
0
290
Other Decks in Technology
See All in Technology
Phase05_ClaudeCode入門
overflowinc
0
1.7k
Kiroで見直す開発プロセスとAI-DLC
k_adachi_01
0
120
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
290
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
250
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
140
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
130
Phase04_ターミナル基礎
overflowinc
0
1.9k
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
170
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
360
SaaSに宿る21g
kanyamaguc
2
130
【PHPerKaigi2026】OpenTelemetry SDKを使ってPHPでAPMを自作する
fendo181
1
140
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
300
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
690
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
300
エンジニアに許された特別な時間の終わり
watany
106
240k
Agile that works and the tools we love
rasmusluckow
331
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
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スキル化
ご静聴ありがとうございました!