「画像DE路線当てBot」で学ぶBot開発 / cogbot#8

「画像DE路線当てBot」で学ぶBot開発 / cogbot#8

19afb3151b470385f9f88f94a59a6960?s=128

HikaruMaruyama

August 30, 2017
Tweet

Transcript

  1. ୈ8ճ Cogbotษڧձ גࣜձࣾϰΝϧݚڀॴ ؙࢁͻ͔Δ ʮը૾DE࿏ઢ౰ͯBotʯ ͰֶͿBot։ൃ

  2. Profile ؙࢁͻ͔Δ גࣜձࣾϰΝϧݚڀॴ ςΫχΧϧΤόϯδΣϦετ ਆಸ઒ݝ૬໛ݪࢢࡏॅ IJLBSVNBSVZBNB !NBSVZBNBIJBLSV IUUQIJJJJJJJIJLBSVIBUFOBEJBSZDPN

  3. None
  4. ઃཱ : 1976/7/26 ॴࡏ஍ : ౦ژ౎ਿฒ۠ߴԁࣉ ैۀһ਺: 159໊(2017/4ݱࡏ)

  5. 1988೥ ࠃ಺ॳͷ৐׵Ҋ಺ιϑτ Ӻ͢ͺ͋ͱ ͕஀ੜ͠·ͨ͠ɻ ݸਓར༻͚ͩͰ͸ͳ͘ɺ ϏδωεγʔϯͰ΋਺ଟ͘ͷ ࠾༻࣮੷͕͋Γ·͢ɻ Έͳ͞Μ͝ଘ஌ Yahoo࿏ઢਤ ΋

    Ӻ͢ͺ͋ͱͷΤϯδϯͰ͢ɻ “৐׵Ҋ಺”ͷձࣾͰ͢
  6. Ӻ͢ͺ͋ͱΛ࣠ʹ ༷ʑͳࣄۀΛల։͍ͯ͠·͢

  7. ຊ೔ͷຊ୊ɿ Microsoft Bot framework ͦͷଞॾʑΛ༻͍ͨ Bot։ൃͷ஌ݟڞ༗

  8. ੒Ռ෺

  9. ΄Μͱ͸͜͏΍Γ͔ͨͬͨorz

  10. ࢖ͬͨπʔϧ • Bot࣮૷ • Bot Builder SDK for Node.js •

    ࿏ઢΛ൑ఆ͢Δ෦෼ • cognitive services custom vision service • ӺΛऔಘ͢Δ෦෼ • Ӻ͢ͺ͋ͱWebαʔϏε • BotͷσϓϩΠઌ • azure • σϓϩΠͨ͠BotΛWebͰ؆୯ʹެ։͢Δ • microsoft bot framework
  11. ؙࢁͷεςʔλε • ॳΊͯ৮Δ • azure • microsoft bot framework •

    গ͠৮ͬͨ͜ͱ͕͋Δ • nodejs • ʮৄ͍͠ʯͱࣗ৴Λ࣋ͬͯݴ͑Δ • Ӻ͢ͺ͋ͱwebαʔϏε
  12. গ͠୤ઢ…

  13. Ӻ͢ͺ͋ͱ WebαʔϏε

  14. “Ӻ͢ͺ͋ͱ”͕࣋ͭ ༷ʑͳػೳ΍৘ใΛ WebAPIͱͯ͠ఏڙ͠·͢ ͲΜͳαʔϏεʁ

  15. ৐׵Ҋ಺αʔϏε͸΋ͪΖΜ ަ௨අਫ਼ࢉγεςϜɺ ෆಈ࢈΍ٻਓαΠτͰΑ͘ݟΔ
 ʮ௨ۈ/௨ֶ͔Β୳͢ʂʯͰ ࢖ΘΕΔ͜ͱ͕ଟ͍Ͱ͢ɻ ࣗࣾαʔϏεͷཪͰ΋ଟʑɻ ͲͷΑ͏ʹར༻͞Ε͍ͯΔͷʁ

  16. ຊ୊ʹ໭Γ·ͯ͠…

  17. ࡞੒खॱ 1. custom vision serviceͷઃఆ 2. Bot BuilderΛ༻͍ͨBot࣮૷ 3. BotΛazureʹσϓϩΠ

    4. microsoft bot frameworkͷઃఆ
  18. 1. custom vision service ͷઃఆ • ҎԼͷURLͰΞΧ΢ϯτΛ࡞੒͠·͢ • https://azure.microsoft.com/ja-jp/services/ cognitive-services/custom-vision-service/

    • େ৿࠼ࢠ͞Μͷqiitaهࣄ͕ຊ౰ʹΘ͔Γ΍͔ͬͨ͢Ͱ͢ • http://qiita.com/annie/items/ 293525901020685ad5f6 • ͜ΕΛΈͳ͕Βϙνϙνઃఆ͍͚ͯͩ͘͠
  19. 2. Bot BuilderΛ༻͍ͨ Bot࣮૷ • Bot Builder͸nodejs, C#͔બ୒Ͱ͖ΔͷͰɺ
 ͓޷͖ͳํΛ •

    ಓͷΓ͸௕͍ͷͰɺ͜͜͸αΫοͱ • ·ͣ࠷ॳ͸ɺެࣜυΩϡϝϯτʹॻ͍ͯ͋Δ௨Γ ʹ࣮ߦͯ͠ΈΔͷ͕٢ • https://docs.microsoft.com/en-us/bot- framework/nodejs/bot-builder-nodejs-quickstart • ͜͜ʹ੒Ռ෺(ιʔείʔυ)Λஔ͍ͯ·͢ • https://github.com/hmaruyama/train-finder-bot
  20. 2. Bot BuilderΛ༻͍ͨ Bot࣮૷ • ωοτ্ʹnodejsͷ৘ใ͕গͳ͍(ѹ౗తC#) • nodejsͰcustom vision apiΛݺͼग़͢ࡍʹศརͳϥΠϒϥϦ


    ͳ͍͔ͳʔͱௐ΂͍ͯͨΒɺcognitive servicesͷSDK͕
 ͋Δ͜ͱΛൃݟ • https://github.com/joshbalfour/node-cognitive-services • ͔͠͠custom vision͸·ͩະରԠͩͬͨ • custom vision api͸ɺը૾Λ൑ఆ͢ΔAPIΛݺͼग़͢ࡍʹɺ
 ը૾ϑΝΠϧ·ͨ͸ը૾URLΛPOST͢Δೋͭͷํ๏͕͋Δ͕ɺ ը૾ϑΝΠϧͰૹΔํ๏͕nodejsͰͲ͏΍Δͷ͔Θ͔Βͳ͔ͬͨ
  21. 2. Bot BuilderΛ༻͍ͨ Bot࣮૷ • nodejsͷதͰӺ͢ͺ͋ͱwebαʔϏε΋
 ݺͼग़͍ͨ͠ͷͰɺΞΫηεΩʔΛൃߦ͢Δ • https://ekiworld.net/service/lp/webservice/ •

    Ӻ͢ͺ͋ͱwebαʔϏεʹ͸ɺnodejsͰ࢖͑Δ ศརͳϥΠϒϥϦ౳͸༻ҙ͍ͯ͠ͳ͍ͷͰɺ
 ࣗ෼Ͱؤு࣮ͬͯ૷͢Δ
  22. 3. BotΛazureʹσϓϩΠ • azure͸ແྉͰΞΧ΢ϯτΛ࡞੒Ͱ͖·͢ • https://azure.microsoft.com/ja-jp/free/ • μογϡϘʔυʹϩάΠϯͨ͠ΒɺʮWebAppʯΛ࡞੒ • ࡞੒࣌ʹOSΛબ୒Ͱ͖ΔΜ͚ͩͲɺ


    ʮWindowsʯʹ͢Δͷ͕ແ೉ͩͦ͏ • σϓϩΠํ๏͸Ұ൪؆୯ͦ͏ͳʮϩʔΧϧGitϦϙδτϦʯΛબ୒͠·ͨ͠ • σϓϩΠ͕׬ྃͨ͠ΒɺҎԼͷURLΛୟ͍ͯ
 ͪΌΜͱϨεϙϯε͕ฦΔ͔֬ೝ • http://{{࡞੒ͨ͠ϦιʔεͷURL}}/api/messages • git push͢Δ͚ͩͰͳΜͰnode্ཱ͕͕ͪΔͷ͔·ͩཧղͰ͖͍ͯͳ͍
  23. 4. microsoft bot framework ͷઃఆ • ҎԼͷURLͰΞΧ΢ϯτΛ࡞੒͠·͢ • https://dev.botframework.com/ •

    ϩάΠϯͰ͖ͨΒBotΛొ࿥͠·͢ • Botొ࿥࣌ͷΤϯυϙΠϯτ͸”https”ͳ͜ͱʹ஫ҙ • ઌ΄ͲazureͰ࡞੒ͨ͠ϦιʔεURL͸httpsʹ΋
 ରԠ͍ͯ͠ΔΆ͍ • https://{{࡞੒ͨ͠ϦιʔεͷURL}}/api/messages • Botొ࿥࣌ʹදࣔ͞ΕΔMicrosoft App IDͱpassword͸ ޙ΄Ͳར༻͢ΔͷͰͲ͔͜ʹίϐʔ͓ͯ͘͠
  24. • Botొ࿥͕ࡁΜͩΒɺazureͷμογϡϘʔυʹ ໭ͬͯ؀ڥม਺Λઃఆ͢Δ • ʮΞϓϦέʔγϣϯઃఆʯʹͯBotొ࿥࣌ʹ
 දࣔ͞ΕͨMicrosoft App IDͱpasswordΛ
 ؀ڥม਺ʹొ࿥ •

    ؀ڥม਺໊͸ιʔείʔυʹهड़ͯ͋͠Γ·͢ 4. microsoft bot framework ͷઃఆ
  25. • bot frameworkʹϩάΠϯ͢Δͱɺskype΍slackɺfacebook messangerͳͲ໨ҠΓͦ͠͏ͳΞΠςϜ͕
 ฒΜͰ͍·͕͢ɺ͜͜͸Ұ൪؆୯ͦ͏ͳʮWebChatʯΛબ୒ • WebChatΛΫϦοΫ͢ΔͱɺγʔΫϨοτΩʔͱ
 htmlຒΊࠐΈίʔυ(iframeλά)͕༻ҙ͞Ε͍ͯ·͢ • ٙ໰ɿγʔΫϨοτΩʔ͸ͳͥೋͭଘࡏ͢Δʁʁ

    • iframeλάͷதʹURL͕هड़͞Ε͍ͯΔͷͰɺ
 URLΛϒϥ΢βͰ։͖·͢ɻͦͷࡍʹ”YOUR_SECRET_HERE” ͷ෦෼͸γʔΫϨοτΩʔʹஔ͖׵͑Δ 4. microsoft bot framework ͷઃఆ
  26. Ͱ͖ͨʂ

  27. ײ૝ • ؆୯ʹBot͕࡞੒Ͱ͖·ͨ͠ʂ...ͱݴ͍͍ͨͱ͜Ζ
 ͚ͩͲɺࢥ͍௨Γʹߦ͔ͳ͍৔໘͕ଟʑ͋ͬͯ
 ৺͕ંΕͦ͏ͩͬͨ • ׳ΕΔ·Ͱ͸ਐΊΔͨͼʹ͕͔͔࣌ؒΓͦ͏ • ࣮ࡍͭ·͍ͮͨ࣌͸஌Γ߹͍ʹฉ͍ͯղܾ͍ͯͨ͠ •

    ͦΕ͕ͳ͔ͬͨΒࠓ೔ൃදͰ͖͍ͯͳ͔͔ͬͨ΋ • ࠷ॳΛ৐Γӽ͑Ε͹ɺָ͍͠Bot࡞੒ʹ
 ࣌ؒΛׂ͚ͦ͏⽃ • ༨ྗ͕͋Ε͹ৄ͍͠खॱΛϒϩάʹ·ͱΊΔ͔΋Ͱ͢
  28. ·ͱΊ • ΤίγεςϜͷ͓͔͛Ͱɺগͳ͍ίʔυྔͰ
 ৭Μͳ͜ͱ͕αΫοͱͰ͖Δ • ͦͷ୅ΘΓʹɺ༷ʑͳαʔϏεΛར༻͢Δ͜ͱ ʹ΋ͳΔͨΊɺαʔϏεಠࣗͷ࢓༷΍खॱΛ
 ཧղ͢Δඞཁ͕͋Δ

  29. ·ͱΊ • ͭ·͍ͮͨ࣌ʹɺ
 ૬ஊͰ͖Δ৔ॴΛ࡞͓ͬͯ͘ͱ҆৺ • ΈΜͳͰॿ͚߹ͬͯ੒௕͍͖͍ͯͨ͠Ͱ͢Ͷ • ͦͷ࣮ݱʹɺ͜ͷίϛϡχςΟ͕
 ͏·͘׆༻Ͱ͖ΔΜ͡Όͳ͍͔ͱࢥ͍·͢

  30. ࠂ ஌

  31. ʮ࿏ઢDEిं౰ͯBotʯ Λ͓୊ʹɺϋϯζΦϯΛ։࠵͢Δ͜ͱ͕ܾఆ 2017/9/26 19:00 ~ ৄࡉ͸ܾ·Γ࣍ୈɺ CogbotίϛϡχςΟ facebookάϧʔϓͳͲͰ ͓஌ΒͤͰ͖Ε͹ͱࢥ͍·͢ɻ