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
GoogleHomeを買い物に役立てる
Search
fuwamaki
January 15, 2018
Technology
0
51
GoogleHomeを買い物に役立てる
社内発表で用いた資料。
特に社内情報などないので公開します。
fuwamaki
January 15, 2018
Tweet
Share
More Decks by fuwamaki
See All by fuwamaki
iOSの理想的なUIを考える
fuwamaki
3
930
xcode10の新機能について
fuwamaki
1
1.5k
Other Decks in Technology
See All in Technology
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
6
3.9k
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
120
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
280
品質と速度の両立:生成AI時代の品質保証アプローチ
odasho
1
110
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
120
Geminiとv0による高速プロトタイピング
shinya337
0
220
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
14k
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
作曲家がボカロを使うようにPdMはAIを使え
itotaxi
0
410
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
380
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
260
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Music & Morning Musume
bryan
46
6.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
For a Future-Friendly Web
brad_frost
179
9.8k
Typedesign – Prime Four
hannesfritz
42
2.7k
Six Lessons from altMBA
skipperchong
28
3.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Transcript
Google HomeΛങ͍ʹཱͯΔ Hacker’s Hour 2018-1 @fuwamaki
ࣗݾհ 2 ໊લɿ༒࡞ ϚΩϢαΫ @fuwamaki ಛɿఱύ ॴଐɿϔϧεέΞࣄۀຊ෦ ٕज़౷ׅ෦ γεςϜ։ൃ෦ ཁɿϧφϧφͷiOSΞϓϦ࡞ͬͯ·͢
࣮ɿ࠷ॳͰ࠷ޙͷൃද
3 Google Home ͷ ΧελϚΠζ ʹ͍͓ͭͯ͠·͢ʂʂ
࣍ 4 1. എܠ 2. ϊϯϓϩάϥϛϯάͰΧελϚΠζ 3. ϓϩάϥϛϯάͰΧελϚΠζ 4. ͓ΘΓʹ
1 എܠ
എܠ 6 εϚʔτεϐʔΧʔɺAIεϐʔΧʔͰͳ͍ Ի͔Βೝࣝͨ͠ݴ༿ͷதͷಛఆͷΩʔϫʔυʹ͔͠Ԡ͠ͳ͍ Google Home͕͔Βͳͯ͘ँΔ࣌ɿʮ͢Έ·ͤΜɺ ͓ʹཱͯͦ͏ʹ͋Γ·ͤΜɻͬͱษڧͯ͠վળ͠·͢ɻʯ -> ࣮ࡍɺԻೖྗ͡Ό͋·Γษڧͯ͘͠Εͳ͍ɻɻɻ ԻೖྗҎ֎ͰΧελϚΠζ͠ͳ͍ͱɺGoogle
Home͕Ͱ͖Δ͜ͱ૿͑ͳ͍
ΧελϚΠζ͢ΕGoogle Homeͬͱศརʹ 7 ྫ https://qiita.com/diescake/items/4f354a5dc7cb738efd4f
8 ΧελϚΠζ͠Α͏
ࠓճͷඪ 9 ങ͍͍ͨϞϊΛϝϞͰ͖ΔΑ͏ʹΧελϚΠζʂ OK, Google ങ͍Χΰʹ γϟϯϓʔΛՃ ങ͍Χΰʹ γϟϯϓʔΛՃ ͠·ͨ͠
2 ϊϯϓϩάϥϛϯάͰ ΧελϚΠζ
༻ҙ͢Δͷ 11 Google Home ͱ ܞଳ ͚ͩʂʂ
ܞଳʹΞϓϦΛΠϯετʔϧ 12 IFTTTʢΠϑτɿIF This Then Thatʣ …WebαʔϏεಉ࢜Λ࿈ܞͰ͖ΔαʔϏεɻ ϓϩάϥϛϯάෆཁͰɺ֤αʔϏεͷϩάΠϯͱ ϑΟϧλʔ݅Λઃఆ͢Δ͚ͩར༻Մೳɻ ※ӳޠ͔ͬΓͳͷͰɺ࠷ॳ͍ํΑ͘Θ͔Βͳ͍͔ɻ
IFTTTͷ͍ํ 13 ྫ ͠ʮޕલٳ͍ͨ͠ʯͱݴͬͨΒ ϝʔϧ ΛૹΔ Appletɿ
࣮ࡍʹ࡞ͬͯΈΔ 14 Evernoteʹങ͍ͷϦετΛՃ͢ΔAppletΛ࡞Δ ʮEvernoteʹ Ϟϊ ΛՃʯͱݴͬͨΒ EvernoteʹϊʔτΛՃ ͢Δ
ThisͷઃఆɿGoogle Assistant 15 GoogleͷAIΞγελϯτɻ Google Homeʹೖྗ͞ΕͨԻ͕ ૹΒΕ͖ͯͯɺԻͷղੳΛߦ͏ɻ ※ࣄલʹϩάΠϯ͓ͯ͘͠ɻ
ThatͷઃఆɿEvernote 16 ϊʔτΛऔΔΑ͏ʹใΛੵ͢Δ ιϑτΣΞɾΣϒαʔϏεɻ ※ࣄલʹϩάΠϯ͓ͯ͘͠ɻ
17 ઃఆҎ্ɻ
18 σϞ
19 Ұ֮͑ͯ͠·͑ɺઃఆͱͬͯ؆୯ʂʂʂ
IFTTTʹΑΔΧελϚΠζ ϝϦοτɾσϝϦοτ 20 • ϝϦοτ • ϓϩάϥϛϯά͕ෆཁͰɺઃఆͱͬͯ؆୯ • ࿈ܞՄೳͳ༗໊αʔϏε͕ଟ ex).
Slack, twitter, trello, youtube, outlook, spotify • σϝϦοτ • શ෦ӳޠͳͷͰɺҰॠϏϏΔ • IFTTT͕༻ҙͨ͠ઃఆ͔͠Ͱ͖ͳ͍ͷͰɺ൚༻ੑ͕͍ ※Evernoteͷ߹ɺՃ͢Δϊʔτ͕ຖճผʹͳͬͯ͠·͏
3 ϓϩάϥϛϯάͰ ΧελϚΠζ
ϓϩάϥϛϯάͰΧελϚΠζ ϝϦοτɾσϝϦοτ 22 • ϝϦοτ • API࡞Ҏ֎ɺϊϯϓϩάϥϛϯάͰઃఆͰ͖Δ • ։ൃऀ͕͖ͳΑ͏ʹ࡞ΕΔͷͰɺ൚༻ੑߴ͘࡞ΕΔ •
σϝϦοτ • IFTTTΛར༻͢ΔΑΓख͕͔͔ؒΔ • ϓϩάϥϜܦݧ͕ͳ͍ͱख͕ग़͠ʹ͍͘
σϑΥϧτ ΞʔΩςΫνϟ 23 Google Home Google Assistant Dialogflow API Server
Action on Google 24 …Google Assistant͔Βݺͼग़ͤΔαʔϏεͷ͜ͱɻ Google AssistantͱଞαʔϏεʢDialogflowͳͲʣΛͭͳ͛Δɻ
Dialogflow 25 …ݴޠղੳΤϯδϯɻ Google Assistant͔ΒૹΒΕ͖ͯͨݴޠΛղੳ͢Δɻ ղੳ݁ՌʹԠͯ͡ߦ͏ॲཧΛઃఆͰ͖Δɻ ※ϊϯϓϩάϥϛϯάͰઃఆՄೳɻϓϩάϥϛϯάͰઃఆՄೳɻ
σϑΥϧτ ΞʔΩςΫνϟ 26 Google Home Google Assistant Dialogflow API Server
Իೖྗ Իղੳ ݴޠղੳ APIαʔό
APIαʔό࣮ɺͳ͍͍ͯ͘ 27 Google Home Google Assistant Dialogflow API Server Google
Home Google Assistant Dialogflow ᶃ ᶄ
28 ᶄϊϯϓϩάϥϛϯάͰΧελϚΠζʂ
※DialogflowΛ༻͍ͨϊϯϓϩάϥϛϯάྫ 29
30 Λͯ͠ɻ Ͱɺ࣮ࡍʹ࡞ͬͯΈΔ
ࠓճͷΞʔΩςΫνϟ 31 Google Home Google Assistant Dialogflow Server ʮങ͍͔͝ʹϞϊΛՃʯͱ͍ͬͨΒɺങ͍DBʹϞϊΛՃ ͢Δ
API ServerߏஙͰར༻ͨ͠ͷ 32 HerokuɿPaaSαʔϏεͰɺwebΞϓϦͷެ։Λ؆୯ʹͯ͘͠ ΕΔαʔϏεɻ Node.jsɿαʔόαΠυͷJavaScriptݴޠɻ ExpressɿNode.jsͰͷԦಓతͳ։ൃΛεϐʔυΞοϓͤ͞Δϑ ϨʔϜϫʔΫɻ MongoDBɿυΩϡϝϯτࢥߟͷσʔλϕʔεɻNoSQLɻε ΩʔϚϨεͳͷͰΧϥϜΛઃఆ͢Δඞཁ͕ͳ͍ɻ
RestAPIઃܭ 33 Method POST URL https://my3-restapi.herokuapp.com/api Header {Content-Type: application/json} Request
Body {result:parameters:{thing:Ϟϊ}} APIϦΫΤετɿ DBઃܭɿ {id:xxxxxxxxxxxxxx, thing:Ϟϊ}
ࠓճͷϑϩʔ 34 Google Home Google Assistant Dialogflow Server ʮങ͍Χΰʹ ϞϊΛՃʯ
Իղੳͯ͠ Dialogflowʹ͢ ʮങ͍ΧΰʹϞϊ ΛՃʯͩͬͨΒ APIRequst͢Δ ϞϊΛDBʹ อଘ POST Request Response
35 σϞ
࡞ͬͯΈͯࢥͬͨ͜ͱ 36 • ԻͰΞϓϦىಈ -> Իೖྗͱ͍͏2ͭखॱ͕ඞཁͩͬͨɻ • APIΛGET͢ΕɺଞαʔϏεʹ൚༻Ͱ͖Δɻ • ϓϩάϥϛϯάAPI࡞͚ͩͰࡁΉɻ
ͨͩɺීஈΞϓϦ։ൃ͕ϝΠϯͳͷͰɺAPI࡞ʹҰ൪͔͔࣌ؒͬͨɻ • ·ͨɺDialogflowϊϯϓϩάϥϛϯά͕ͩɺগ͠ෳࡶɻ
37 ͱ͜ΖͰɺ࡞ΓऴΘ͔ͬͯΒؾ͍ͮͨɻ
طଘͰ͋ͬͨস 38 • ʮγϣοϐϯάϦετͷϞϊΛՃʯ ͰՃͰ͖ͪΌͬͨɻ • ΞϓϦ͔ΒݟΕͳ͍ɺweb͔ΒͷΈӾཡՄೳɻ
4 ͓ΘΓʹ
ֶΜͩ͜ͱ 40 • ࣄલʹௐΔ͜ͱ͕େࣄʂʂʂ ؆୯ʹͰ͖ΔͷɺطଘػೳIFTTTΛ͍·͠ΐ͏ɻ ※IFTTTʹͳͦ͞͏ͩͬͨͷͰ༉அͨ͠ɻɻɻ • ͰɺGoogleγϣοϐϯάϦετɺΞϓϦͰݟΕͳ͍ -> ࠓճ࡞ͨ͠ͷΛදࣔ͢ΔΞϓϦΛ࡞ΕΕࠩผԽʂ
-> ؾٳΊͰ͢ɺ͢Έ·ͤΜm(_ _)m
·ͱΊɺల 41 • Google HomeͰͰ͖Δ͜ͱ͕૿͑Δͱָ͍͠ʂ • ࣍Ոిͱͭͳ͍͛ͨʢRemoগ͠ஈߴΊ͚ͩͲʣ RemoͳΒIFTTTͰ؆୯ʹઃఆͰ͖ͦ͏
42 Google Home͕Ͱ͖Δ͜ͱΛ૿ͯ͠ɺ ՈϥΠϑΛͬͱָ͘͠ʂ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ