Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

HikaruMaruyama

August 30, 2017
Tweet

More Decks by HikaruMaruyama

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. View Slide

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

    View Slide

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

    View Slide

  6. Ӻ͢ͺ͋ͱΛ࣠ʹ
    ༷ʑͳࣄۀΛల։͍ͯ͠·͢

    View Slide

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

    View Slide

  8. ੒Ռ෺

    View Slide

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

    View Slide

  10. ࢖ͬͨπʔϧ
    • Bot࣮૷
    • Bot Builder SDK for Node.js
    • ࿏ઢΛ൑ఆ͢Δ෦෼
    • cognitive services custom vision service
    • ӺΛऔಘ͢Δ෦෼
    • Ӻ͢ͺ͋ͱWebαʔϏε
    • BotͷσϓϩΠઌ
    • azure
    • σϓϩΠͨ͠BotΛWebͰ؆୯ʹެ։͢Δ
    • microsoft bot framework

    View Slide

  11. ؙࢁͷεςʔλε
    • ॳΊͯ৮Δ
    • azure
    • microsoft bot framework
    • গ͠৮ͬͨ͜ͱ͕͋Δ
    • nodejs
    • ʮৄ͍͠ʯͱࣗ৴Λ࣋ͬͯݴ͑Δ
    • Ӻ͢ͺ͋ͱwebαʔϏε

    View Slide

  12. গ͠୤ઢ…

    View Slide

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

    View Slide

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

    View Slide

  15. ৐׵Ҋ಺αʔϏε͸΋ͪΖΜ
    ަ௨අਫ਼ࢉγεςϜɺ
    ෆಈ࢈΍ٻਓαΠτͰΑ͘ݟΔ

    ʮ௨ۈ/௨ֶ͔Β୳͢ʂʯͰ
    ࢖ΘΕΔ͜ͱ͕ଟ͍Ͱ͢ɻ
    ࣗࣾαʔϏεͷཪͰ΋ଟʑɻ
    ͲͷΑ͏ʹར༻͞Ε͍ͯΔͷʁ

    View Slide

  16. ຊ୊ʹ໭Γ·ͯ͠…

    View Slide

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

    View Slide

  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
    • ͜ΕΛΈͳ͕Βϙνϙνઃఆ͍͚ͯͩ͘͠

    View Slide

  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

    View Slide

  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ͰͲ͏΍Δͷ͔Θ͔Βͳ͔ͬͨ

    View Slide

  21. 2. Bot BuilderΛ༻͍ͨ
    Bot࣮૷
    • nodejsͷதͰӺ͢ͺ͋ͱwebαʔϏε΋

    ݺͼग़͍ͨ͠ͷͰɺΞΫηεΩʔΛൃߦ͢Δ
    • https://ekiworld.net/service/lp/webservice/
    • Ӻ͢ͺ͋ͱwebαʔϏεʹ͸ɺnodejsͰ࢖͑Δ
    ศརͳϥΠϒϥϦ౳͸༻ҙ͍ͯ͠ͳ͍ͷͰɺ

    ࣗ෼Ͱؤு࣮ͬͯ૷͢Δ

    View Slide

  22. 3. BotΛazureʹσϓϩΠ
    • azure͸ແྉͰΞΧ΢ϯτΛ࡞੒Ͱ͖·͢
    • https://azure.microsoft.com/ja-jp/free/
    • μογϡϘʔυʹϩάΠϯͨ͠ΒɺʮWebAppʯΛ࡞੒
    • ࡞੒࣌ʹOSΛબ୒Ͱ͖ΔΜ͚ͩͲɺ

    ʮWindowsʯʹ͢Δͷ͕ແ೉ͩͦ͏
    • σϓϩΠํ๏͸Ұ൪؆୯ͦ͏ͳʮϩʔΧϧGitϦϙδτϦʯΛબ୒͠·ͨ͠
    • σϓϩΠ͕׬ྃͨ͠ΒɺҎԼͷURLΛୟ͍ͯ

    ͪΌΜͱϨεϙϯε͕ฦΔ͔֬ೝ
    • http://{{࡞੒ͨ͠ϦιʔεͷURL}}/api/messages
    • git push͢Δ͚ͩͰͳΜͰnode্ཱ͕͕ͪΔͷ͔·ͩཧղͰ͖͍ͯͳ͍

    View Slide

  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͸
    ޙ΄Ͳར༻͢ΔͷͰͲ͔͜ʹίϐʔ͓ͯ͘͠

    View Slide

  24. • Botొ࿥͕ࡁΜͩΒɺazureͷμογϡϘʔυʹ
    ໭ͬͯ؀ڥม਺Λઃఆ͢Δ
    • ʮΞϓϦέʔγϣϯઃఆʯʹͯBotొ࿥࣌ʹ

    දࣔ͞ΕͨMicrosoft App IDͱpasswordΛ

    ؀ڥม਺ʹొ࿥
    • ؀ڥม਺໊͸ιʔείʔυʹهड़ͯ͋͠Γ·͢
    4. microsoft bot framework
    ͷઃఆ

    View Slide

  25. • bot frameworkʹϩάΠϯ͢Δͱɺskype΍slackɺfacebook
    messangerͳͲ໨ҠΓͦ͠͏ͳΞΠςϜ͕

    ฒΜͰ͍·͕͢ɺ͜͜͸Ұ൪؆୯ͦ͏ͳʮWebChatʯΛબ୒
    • WebChatΛΫϦοΫ͢ΔͱɺγʔΫϨοτΩʔͱ

    htmlຒΊࠐΈίʔυ(iframeλά)͕༻ҙ͞Ε͍ͯ·͢
    • ٙ໰ɿγʔΫϨοτΩʔ͸ͳͥೋͭଘࡏ͢Δʁʁ
    • iframeλάͷதʹURL͕هड़͞Ε͍ͯΔͷͰɺ

    URLΛϒϥ΢βͰ։͖·͢ɻͦͷࡍʹ”YOUR_SECRET_HERE”
    ͷ෦෼͸γʔΫϨοτΩʔʹஔ͖׵͑Δ
    4. microsoft bot framework
    ͷઃఆ

    View Slide

  26. Ͱ͖ͨʂ

    View Slide

  27. ײ૝
    • ؆୯ʹBot͕࡞੒Ͱ͖·ͨ͠ʂ...ͱݴ͍͍ͨͱ͜Ζ

    ͚ͩͲɺࢥ͍௨Γʹߦ͔ͳ͍৔໘͕ଟʑ͋ͬͯ

    ৺͕ંΕͦ͏ͩͬͨ
    • ׳ΕΔ·Ͱ͸ਐΊΔͨͼʹ͕͔͔࣌ؒΓͦ͏
    • ࣮ࡍͭ·͍ͮͨ࣌͸஌Γ߹͍ʹฉ͍ͯղܾ͍ͯͨ͠
    • ͦΕ͕ͳ͔ͬͨΒࠓ೔ൃදͰ͖͍ͯͳ͔͔ͬͨ΋
    • ࠷ॳΛ৐Γӽ͑Ε͹ɺָ͍͠Bot࡞੒ʹ

    ࣌ؒΛׂ͚ͦ͏⽃
    • ༨ྗ͕͋Ε͹ৄ͍͠खॱΛϒϩάʹ·ͱΊΔ͔΋Ͱ͢

    View Slide

  28. ·ͱΊ
    • ΤίγεςϜͷ͓͔͛Ͱɺগͳ͍ίʔυྔͰ

    ৭Μͳ͜ͱ͕αΫοͱͰ͖Δ
    • ͦͷ୅ΘΓʹɺ༷ʑͳαʔϏεΛར༻͢Δ͜ͱ
    ʹ΋ͳΔͨΊɺαʔϏεಠࣗͷ࢓༷΍खॱΛ

    ཧղ͢Δඞཁ͕͋Δ

    View Slide

  29. ·ͱΊ
    • ͭ·͍ͮͨ࣌ʹɺ

    ૬ஊͰ͖Δ৔ॴΛ࡞͓ͬͯ͘ͱ҆৺
    • ΈΜͳͰॿ͚߹ͬͯ੒௕͍͖͍ͯͨ͠Ͱ͢Ͷ
    • ͦͷ࣮ݱʹɺ͜ͷίϛϡχςΟ͕

    ͏·͘׆༻Ͱ͖ΔΜ͡Όͳ͍͔ͱࢥ͍·͢

    View Slide

  30. ࠂ ஌

    View Slide

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

    View Slide