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
54
GoogleHomeを買い物に役立てる
社内発表で用いた資料。
特に社内情報などないので公開します。
fuwamaki
January 15, 2018
Tweet
Share
More Decks by fuwamaki
See All by fuwamaki
iOSの理想的なUIを考える
fuwamaki
3
1k
xcode10の新機能について
fuwamaki
1
1.5k
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
740
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
1k
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
270
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
210
ABEMAのバグバウンティの取り組み
kurochan
1
360
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
150
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
730
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
350
システム標準化PMOから ガバメントクラウドCoEへ
techniczna
1
160
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
5
2k
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
280
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Raft: Consensus for Rubyists
vanstee
141
7.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
My Coaching Mixtape
mlcsv
0
82
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Accessibility Awareness
sabderemane
0
84
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
Building a Scalable Design System with Sketch
lauravandoore
463
34k
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͕Ͱ͖Δ͜ͱΛ૿ͯ͠ɺ ՈϥΠϑΛͬͱָ͘͠ʂ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ