Slide 1

Slide 1 text

Ի੠ϑΝΠϧ͔Β Google Home ΍ɺ Google Assistant ΞϓϦͷɺ ςετΛࣗಈ࣮ߦͯ͠ΈΔɻ

Slide 2

Slide 2 text

ࣗݾ঺հ HN:·ͪ͞Ό͜ • ۂͱ͔࡞ΔϓϩάϥϚ ܥ SIer • Java / nodejs / terraform ͳͲͳͲ • αʔόαΠυΞϓϦɺεϚʔτεϐʔΧʔΞϓϦͷ։ൃ • ٶͪΌΜͷসإۦಈ։ൃ • TwitterͰϛΫ͞ΜୡͷۂΛެ։தʂ • Twitter • @masachaco • GitHub • https://github.com/masachaco • SoundCloud • https://soundcloud.com/masa_charcoal • niconico • https://www.nicovideo.jp/mylist/11613193

Slide 3

Slide 3 text

εϚʔτεϐʔΧʔ ศརͰ͢ΑͶ

Slide 4

Slide 4 text

ศར ੠͚ͩͰૢ࡞Ͱ͖Δ ख͕࢖͑ͳ͍࣌ʹɺಛʹศར • ேɺ͓෩࿊্͕Γʹ൅Λ১͖ͭͭʮࠓԿ࣌ʁʯ • ͓෍ஂ͔ΒిؾɾΤΞίϯফͯ͠( ˘ω˘)ţźō • खΛಈ͔ͨ͠··ɺradiko͚ͭͨΓ • Amazon Music࠶ੜͨ͠Γ

Slide 5

Slide 5 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) 0, (PPHMFɺ ʮٶͪΌΜ͔Θ͍͍ʯ ͬͯΞϓϦ Λ։͍ͯ

Slide 6

Slide 6 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ͜ͷਓ͜Μͳ͜ͱ ݴͬͯΔΜ͚ͩͲ

Slide 7

Slide 7 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍Λ։͍ͯʯ ͩͬͯʂ

Slide 8

Slide 8 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʯ ͕ىಈͨ࣌͠ͷॲཧΛ࣮ߦͯ͠

Slide 9

Slide 9 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʯ ͕ىಈͨ࣌͠͸ εϐʔΧʔ͸ ʮٶͪΌΜ͔Θ͍͍ʂʯ ͱݴͬͯʂ

Slide 10

Slide 10 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮٶͪΌΜ͔Θ͍͍ʂʯ

Slide 11

Slide 11 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮ΍ͬͨʔʔʔʔʔʔʔʔʂʯ

Slide 12

Slide 12 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮ΍ͬͨʔʔʔʔʔʔʔʔʂʯ

Slide 13

Slide 13 text

Assistant ΞϓϦͷ࢓૊Έ(Ұྫ) ʮ΍ͬͨʔʔʔʔʔʔʔʔʂʯ

Slide 14

Slide 14 text

ςετΛͯ͠Έ͍ͨ

Slide 15

Slide 15 text

ςετΛͯ͠Έ͍ͨ(αʔόଆ) ʮٶͪΌΜ͔Θ͍͍ ͬͯΞϓϦ ͕ىಈͨ࣌͠ͷॲཧΛ࣮ߦͯ͠ʯ ͬͯݴΘΕͨΒ ʮٶͪΌΜ͔Θ͍͍ʂʂʯ ͬͯεϐʔΧʔ͕ݴ͏Α͏ʹࢦࣔͨ͜͠ͱΛ֬ೝ͢Δɻ +6OJU KFTU

Slide 16

Slide 16 text

ςετͮ͠Β͍ॴ

Slide 17

Slide 17 text

ςετͮ͠Β͍ॴ ͜ͷԫ৭͍ͱ͜ΖΒ΁Μ͕ ςετͮ͠Β͍

Slide 18

Slide 18 text

ςετͮ͠Β͍ॴ • Ի੠Λೝࣝ͢Δॴ(AoG)͸೔ʑมԽ͢Δ
 • ೖྗ͞ΕͨจݴΛೝࣝ͢Δॴ΋೔ʑมԽ͢Δ

Slide 19

Slide 19 text

ςετͮ͠Β͍ॴ • Ի੠Λೝࣝ͢Δॴ(AoG)͸೔ʑมԽ͢Δ
 • ೖྗ͞ΕͨจݴΛೝࣝ͢Δॴ΋೔ʑมԽ͢Δ Ի੠Λೝࣝͯ͠ɺ ςΩετʹม׵͢Δॴ

Slide 20

Slide 20 text

ςετͮ͠Β͍ॴ • Ի੠Λೝࣝ͢Δॴ(AoG)͸೔ʑมԽ͢Δ
 • ೖྗ͞ΕͨจݴΛೝࣝ͢Δॴ΋೔ʑมԽ͢Δ ೖྗ͞ΕͨจݴΛೝࣝͯ͠ɺ αʔό΁ͷϦΫΤετʹม׵͢Δॴ

Slide 21

Slide 21 text

ςετ͢ΔϑϨʔϜϫʔΫ͕͋Δ

Slide 22

Slide 22 text

͘͠Έ ύιίϯͷதͰ
 (PPHMF"TTJTUBOU Λ্ཱͪ͛ͯ ςΩετͷ ϦΫΤετΛૹΔ

Slide 23

Slide 23 text

Ի੠Λૹ৴ͯ͠ ϦΫΤετ ͍ͯ͠ΔΘ͚Ͱ͸ͳ͍

Slide 24

Slide 24 text

Actions on Google Testing LibraryͷࠔΔॴ • ςΩετܗࣜͷϦΫΤετͳͷͰɺ
 Ի੠ೝࣝ͸͠ͳ͍ɻ
 • ͳͷͰςΩετͰ͸OKͰ΋ɺൃ࿩ͯ͠ΈΔͱɺ
 μϝͳ͜ͱ͕͋Δɻ • ྫɿʮOk Google, ؋͜Εͷൺӥ͞Μʹ͍ͭͯڭ͑ͯʯ • → ʮ͸͍ɺൺӥࢁʹ͍ͭͯɻɻɻɻʯ

Slide 25

Slide 25 text

Ի੠ͷೝࣝ෦෼͸ ೔ʑมԽ͠ ϒϥοΫϘοΫε

Slide 26

Slide 26 text

ςετͱ·Ͱ͸͍͔ͳͯ͘΋ ೔࣍Ͱɺ૝ఆ͍ͯ͠Δൃ࿩Λ ਖ਼͘͠ೝࣝͰ͖͍ͯΔ͔؂ࢹ͍ͨ͠

Slide 27

Slide 27 text

ͳͷͰ࡞Δ

Slide 28

Slide 28 text

Ի੠ೝ͔ࣝΒςετͰ͖Δ ϑϨʔϜϫʔΫΛ࡞Δ • جຊతͳ࢓૊Έ͸ɺલड़ͷϑϨʔϜϫʔΫͱಉ ͡(PC্ͰAssistantΛىಈͯ͠ϦΫΤετ) • ϦΫΤετʹwavϑΝΠϧΛࢦఆͰ͖ΔΑ͏ʹ
 ͯ͠ɺԻ੠Λೝࣝͤͯ͞ϦΫΤετ͢Δ • nodejs͔Β࣮ߦͰ͖ΔΑ͏ʹ͢Δ

Slide 29

Slide 29 text

Assistant SDK • Google AssistantΛར༻͢ΔΫϥΠΞϯτΛ࡞ ੒͢ΔͨΊͷSDK • ຊདྷ͸εϚʔτεϐʔΧʔͱ͔Λ࡞Δ৔߹ʹɺ ૊ΈࠐΈ޲͚Ͱ࢖͏

Slide 30

Slide 30 text

υΩϡϝϯτΛಡΜͰΈΔ

Slide 31

Slide 31 text

υΩϡϝϯτΛಡΜͰΈΔ ͍͍͔ΒαϯϓϧίʔυΛಡΊɻ ࿩͸ͦΕ͔Βͩ ͱ͍͏ڧ͍ҙࢤ

Slide 32

Slide 32 text

αϯϓϧίʔυΛಡΜͰΈΔ

Slide 33

Slide 33 text

nodejs൛ͷαϯϓϧ΋͋Δ

Slide 34

Slide 34 text

΄΅ɺॻ͍ͨ͜ͱͳ͍͚Ͳ Pythonಡ΋͏

Slide 35

Slide 35 text

PythonͷίʔυͰΘ͔ͬͨ͜ͱ • nodejs൛ʹൺ΂͍ͯͩͿॆ࣮࣮ͨ͠૷͕͞Εͯ ͍Δ • ςΩετ͔ΒͷϦΫΤετ • ϚΠΫ͔ΒͷϦΫΤετ • Ի੠ϑΝΠϧ͔ΒͷϦΫΤετ • ϨεϙϯεͷεϐʔΧʔग़ྗ • ϨεϙϯεͷԻ੠ϑΝΠϧग़ྗ • ͳͲͳͲ

Slide 36

Slide 36 text

PythonͷίʔυͰΘ͔ͬͨ͜ͱ • Assistantͷαʔόͱͷ௨৴͸gRPCͰߦ͏ɻ • ·ͣɺೝূ΍ΒͳΜ΍Βͨ͠ޙ
 ௨ৗςΩετΫΤϦΛૹΔ࣌ͷઃఆʹՃ͑ͯɺ ʮAudioInConfigʯΛઃఆ͢Δ • ʲઃఆ಺༰ʳ • ૹΔΦʔσΟΦͷαϯϓϦϯάϨʔτ • ϑΥʔϚοτ

Slide 37

Slide 37 text

PythonͷίʔυͰΘ͔ͬͨ͜ͱ • AudioInConfigΛઃఆͯ͠ɺͦͷઃఆ಺༰ΛૹΔɻ
 • ͦͷޙɺΦʔσΟΦͷόΠτྻΛૹΔɻ
 • Google ͕
 ʮΦοέʔɺԻ੠͕ԿݴͬͯΔ͔׬શʹཧղͨ͠ʯ
 ঢ়ଶʹͳΔͱɺʮEND_OF_UTTERANCEʯ
 ͷίʔυ͕ૹΒΕɺൃ࿩ʹରͯ͠Ϩεϙϯεͯ͘͠Δɻ

Slide 38

Slide 38 text

PythonͷίʔυΛ nodejsͷ αϯϓϧίʔυʹҠ২ ͯ͠ΈΔ

Slide 39

Slide 39 text

͏·͘ಈ͔ͳ͍

Slide 40

Slide 40 text

͏·͘ಈ͔ͳ͔ͬͨॴ • AudioInConfigͷઃఆΛͯ͠ૹ͔ͬͯΒɺ
 Google͔ΒϨεϙϯε͕͋Δ·Ͱ
 AudioΛૹͬͯ͸μϝ • AudioInConfigʹର͢ΔϨεϙϯε͕͋ͬͯ ͔ΒૹΔɻ

Slide 41

Slide 41 text

͏·͘ಈ͔ͳ͔ͬͨॴ2 • ΦʔσΟΦͷόΠτྻ͸Ұؾʹૹͬͯ͸μϝ • Pythonͷίʔυͩͱ3.2KBͣͭ͘Β͍ • Ҡ২൛΋ಉ༷ʹ3.2KBͣͭ͘Β͍ૹΔ

Slide 42

Slide 42 text

͏·͘ಈ͔ͳ͔ͬͨॴ3 • ΦʔσΟΦ͸ʮϞϊϥϧʯͰ͋Δ͜ͱ • ࿥Իͯ͠Δ࣌ʹ
 ʮϞϊϚΠΫ͔ͩΒϞϊϥϧͰ࿥Ի͞ΕͯΔͰ͠ΐʯ
 ͱࢥ͍ࠐΜͰ͍ͨɻ ͹ͬͪΓεςϨΦͩͬͨ

Slide 43

Slide 43 text

͠͹Βͯ͘͠

Slide 44

Slide 44 text

Ͱ͖ͨ

Slide 45

Slide 45 text

σϞͯ͠ΈΔ

Slide 46

Slide 46 text

σϞ༻ΞϓϦ • ʮٶͪΌΜ͔Θ͍͍ʹͭͳ͍Ͱʯͱݴ͏ • ʮ͸͍ɺٶͪΌΜ͔Θ͍͍ͷςετόʔδϣϯͰ͢ɻʯ
 ʮٶͪΌΜ͔Θ͍͍ɻʯͱฦ͞ΕΔɻ • ʮ΍ͬͨʔʔʔʔʔʔʂʯͱݴ͏ɻ • ʮ΍ͬͨʔʔʔʔʔʔʂʯͱฦ͞ΕΔɻ • ʮऴྃɻʯͱݴ͏ • ΞϓϦ͕ऴྃ͢Δɻ

Slide 47

Slide 47 text

Ի੠͕૝ఆ௨Γೝ͍ࣝͯ͠Δ͔ ςετ͢ΔͨΊʹ • Ի੠ͷೝࣝ݁Ռ͕ɺ
 ʮ͋Β͔͡Ί༻ҙͨ͠ςΩετͱҰக͢Δ͔ʯ
 ͱ͍ͬͨςετʹ͢Δͷ͸एׯແ๳ɻ
 • ൃ࿩ೝࣝ͸༳ΕΔͷͰ༻ҙ͢ΔςΩετ͕๲େ • ʮϥδίΛ͚ͭͯʯ • ʮradikoΛ͚ͭͯʯ • ʮradiko(εϖʔε)Λ͚ͭͯʯ

Slide 48

Slide 48 text

Dialogflow΁ͷ
 ϦΫΤετ݁Ռͱಥ͖߹ΘͤΔ • Dialogflow͕αʔόʹϦΫΤετΛૹΔछྨ͸
 ʮΠϯςϯτʯ͝ͱʹఆٛ͞Ε͍ͯΔɻ
 (ޠฐ͕͋Γ·͕͢)
 • ͳͷͰɺൃ࿩ͨ݁͠Ռ͕ɺ໨తͷΠϯςϯτͷ
 ࣮ߦ͢Δ͜ͱʹղऍ͞Ε͍ͯΔ͔ݕূ͢Δɻ

Slide 49

Slide 49 text

ςετίʔυ

Slide 50

Slide 50 text

·ͱΊ • Ի੠ͰɺGoogle Assistant͕૝ఆ௨ΓͷڍಈΛ͢Δ͔ςετͰ͖ ͨɻ
 • ͨͩɺೝࣝ͸༳ΕΔͷͰɺςετͱ͍͏ΑΓೝ͕ࣝมΘͬͯΞϓ Ϧ͕ಈ͔ͳ͘ͳͬͨ࣌޲͚ͷ؂ࢹʹ͍ۙɻ • લ͸ೝࣝͯͨ͠ͷʹɺٸʹಈ͔ͳ͘ͳͬͨʙʙʙʂʹૣ͘ؾ͚ͮ ͦ͏ɻ • ϦάϨογϣϯςετͱָ͔͕ʹͳΓͦ͏
 • εϚʔτεϐʔΧʔָ͍͠ɻ։ൃָ͍͠ɻٶͪΌΜ͔Θ͍͍ɻ

Slide 51

Slide 51 text

ҎԼͷURLͰϥΠϒϥϦԽͯ͠ެ։༧ఆ • https://github.com/masachaco/google-assistant-test-from-wavefile

Slide 52

Slide 52 text

͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ

Slide 53

Slide 53 text

ؾʹͳͬͯͨͱ͜Ζͱ݁Ռ • wavϑΝΠϧͷσʔλΛૹ৴͢Δ࣌ • ConfigͱΦʔσΟΦ͸Ұॹʹૹ͍͍ͬͯͷʁ • μϝɻConfigૹ͔ͬͯΒɺΦʔσΟΦ • wavͷϔομͱ͔΋ؚΊͯૹͬͯ΋େৎ෉ʁ • ҰԠେৎ෉ɺೝࣝͷϊΠζʹ͸ͳͬͯΔ͔΋ • ΦʔσΟΦσʔλͷૹ৴ִؒ͸ʁ • ެࣜʹ͸ʮϦΞϧλΠϜʹૹ৴͍ͯ͠ΔΑ͏ʹૹΕʯ
 ͱॻ͍ͯ͋Δɻ • ࣮ࡍ͸ɺ݁ߏ஗͍ײ֮Ͱૹͬͯ΋େৎ෉ɻγϏΞ͡Όͳ͍ɻ

Slide 54

Slide 54 text

໘ന͔ͬͨͱ͜Ζ • wavϑΝΠϧͷσʔλΛૹ৴͢Δ࣌ • wavϑΝΠϧΛૹΓ੾ͬͯ΋ɺ
 0ຒΊͨ͠όΠτྻΛૹΓ͚ͭͮΔඞཁ͕͋Δɻ • Assistant͸ʮແԻʯ͕ଓ͍ͯʮൃ࿩్͕੾Εͨʯͱ൑அ ͢ΔͨΊ • ʮແԻʯͷόΠτྻ͕ͳ͍ͱɺͣͬͱ଴ͪଓ͚Δɻ