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
「画像DE路線当てBot」で学ぶBot開発 / cogbot#8
Search
HikaruMaruyama
August 30, 2017
Programming
1
690
「画像DE路線当てBot」で学ぶBot開発 / cogbot#8
HikaruMaruyama
August 30, 2017
Tweet
Share
More Decks by HikaruMaruyama
See All by HikaruMaruyama
OSS CMS「Drupal 10」 エッセンシャル:最新版でのWeb開発の魅力を探る #oscnagoya
hmaruyama
0
230
スタイリッシュでモダンな「Gin」管理テーマの紹介 #drupal_haneda
hmaruyama
0
170
DrupalのWeb Profiler #drupal_haneda
hmaruyama
0
280
非エンジニアから開発者まで!DrupalPodを使用したDrupal環境の作成
hmaruyama
1
280
Drupal認定試験にチャレンジしよう!アクイア認定プログラムのご紹介 / introduction of Acquia Drupal Certification Program
hmaruyama
0
880
「Docker/Kubernetes実践コンテナ開発入門」学習のポイント #dockerbg / 20191108
hmaruyama
0
110
enebularでobnizを Lチカ してみた #enebular / 20181122
hmaruyama
0
520
駅すぱあとWebサービス連携ハンズオンパート ノンプログラミングでClovaスキルハンズオン&お茶会 #linebootawards #Clova_CEK / 20180919
hmaruyama
1
570
Agent Friends Xperia Ear Duoで誰でも コミュニケーションにコミット #linebootawards / 20180826
hmaruyama
0
87
Other Decks in Programming
See All in Programming
Zoneless Testing
rainerhahnekamp
0
130
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
2
500
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
430
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
200
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
100
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
790
技術的負債と向き合うカイゼン活動を1年続けて分かった "持続可能" なプロダクト開発
yuichiro_serita
0
180
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
160
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
700
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
790
テストコード書いてみませんか?
onopon
2
250
Recoilを剥がしている話
kirik
5
7.7k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
830
Building Your Own Lightsaber
phodgson
104
6.1k
Automating Front-end Workflow
addyosmani
1366
200k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
The Cult of Friendly URLs
andyhume
78
6.1k
Designing for Performance
lara
604
68k
We Have a Design System, Now What?
morganepeng
51
7.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Transcript
ୈ8ճ Cogbotษڧձ גࣜձࣾϰΝϧݚڀॴ ؙࢁͻ͔Δ ʮը૾DE࿏ઢͯBotʯ ͰֶͿBot։ൃ
Profile ؙࢁͻ͔Δ גࣜձࣾϰΝϧݚڀॴ ςΫχΧϧΤόϯδΣϦετ ਆಸݝ૬ݪࢢࡏॅ IJLBSVNBSVZBNB !NBSVZBNBIJBLSV IUUQIJJJJJJJIJLBSVIBUFOBEJBSZDPN
None
ઃཱ : 1976/7/26 ॴࡏ : ౦ژਿฒ۠ߴԁࣉ ैۀһ: 159໊(2017/4ݱࡏ)
1988 ࠃॳͷҊιϑτ Ӻ͢ͺ͋ͱ ͕ੜ͠·ͨ͠ɻ ݸਓར༻͚ͩͰͳ͘ɺ ϏδωεγʔϯͰଟ͘ͷ ࠾༻࣮͕͋Γ·͢ɻ Έͳ͞Μ͝ଘ Yahoo࿏ઢਤ
Ӻ͢ͺ͋ͱͷΤϯδϯͰ͢ɻ “Ҋ”ͷձࣾͰ͢
Ӻ͢ͺ͋ͱΛ࣠ʹ ༷ʑͳࣄۀΛల։͍ͯ͠·͢
ຊͷຊɿ Microsoft Bot framework ͦͷଞॾʑΛ༻͍ͨ Bot։ൃͷݟڞ༗
Ռ
΄Μͱ͜͏Γ͔ͨͬͨorz
ͬͨπʔϧ • Bot࣮ • Bot Builder SDK for Node.js •
࿏ઢΛఆ͢Δ෦ • cognitive services custom vision service • ӺΛऔಘ͢Δ෦ • Ӻ͢ͺ͋ͱWebαʔϏε • BotͷσϓϩΠઌ • azure • σϓϩΠͨ͠BotΛWebͰ؆୯ʹެ։͢Δ • microsoft bot framework
ؙࢁͷεςʔλε • ॳΊͯ৮Δ • azure • microsoft bot framework •
গ͠৮ͬͨ͜ͱ͕͋Δ • nodejs • ʮৄ͍͠ʯͱࣗ৴Λ࣋ͬͯݴ͑Δ • Ӻ͢ͺ͋ͱwebαʔϏε
গ͠ઢ…
Ӻ͢ͺ͋ͱ WebαʔϏε
“Ӻ͢ͺ͋ͱ”͕࣋ͭ ༷ʑͳػೳใΛ WebAPIͱͯ͠ఏڙ͠·͢ ͲΜͳαʔϏεʁ
ҊαʔϏεͪΖΜ ަ௨අਫ਼ࢉγεςϜɺ ෆಈ࢈ٻਓαΠτͰΑ͘ݟΔ ʮ௨ۈ/௨ֶ͔Β୳͢ʂʯͰ ΘΕΔ͜ͱ͕ଟ͍Ͱ͢ɻ ࣗࣾαʔϏεͷཪͰଟʑɻ ͲͷΑ͏ʹར༻͞Ε͍ͯΔͷʁ
ຊʹΓ·ͯ͠…
࡞खॱ 1. custom vision serviceͷઃఆ 2. Bot BuilderΛ༻͍ͨBot࣮ 3. BotΛazureʹσϓϩΠ
4. microsoft bot frameworkͷઃఆ
1. custom vision service ͷઃఆ • ҎԼͷURLͰΞΧϯτΛ࡞͠·͢ • https://azure.microsoft.com/ja-jp/services/ cognitive-services/custom-vision-service/
• େ࠼ࢠ͞Μͷqiitaهࣄ͕ຊʹΘ͔Γ͔ͬͨ͢Ͱ͢ • http://qiita.com/annie/items/ 293525901020685ad5f6 • ͜ΕΛΈͳ͕Βϙνϙνઃఆ͍͚ͯͩ͘͠
2. Bot BuilderΛ༻͍ͨ Bot࣮ • Bot Buildernodejs, C#͔બͰ͖ΔͷͰɺ ͓͖ͳํΛ •
ಓͷΓ͍ͷͰɺ͜͜αΫοͱ • ·ͣ࠷ॳɺެࣜυΩϡϝϯτʹॻ͍ͯ͋Δ௨Γ ʹ࣮ߦͯ͠ΈΔͷ͕٢ • https://docs.microsoft.com/en-us/bot- framework/nodejs/bot-builder-nodejs-quickstart • ͜͜ʹՌ(ιʔείʔυ)Λஔ͍ͯ·͢ • https://github.com/hmaruyama/train-finder-bot
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ͰͲ͏Δͷ͔Θ͔Βͳ͔ͬͨ
2. Bot BuilderΛ༻͍ͨ Bot࣮ • nodejsͷதͰӺ͢ͺ͋ͱwebαʔϏε ݺͼग़͍ͨ͠ͷͰɺΞΫηεΩʔΛൃߦ͢Δ • https://ekiworld.net/service/lp/webservice/ •
Ӻ͢ͺ͋ͱwebαʔϏεʹɺnodejsͰ͑Δ ศརͳϥΠϒϥϦ༻ҙ͍ͯ͠ͳ͍ͷͰɺ ࣗͰؤு࣮ͬͯ͢Δ
3. BotΛazureʹσϓϩΠ • azureແྉͰΞΧϯτΛ࡞Ͱ͖·͢ • https://azure.microsoft.com/ja-jp/free/ • μογϡϘʔυʹϩάΠϯͨ͠ΒɺʮWebAppʯΛ࡞ • ࡞࣌ʹOSΛબͰ͖ΔΜ͚ͩͲɺ
ʮWindowsʯʹ͢Δͷ͕ແͩͦ͏ • σϓϩΠํ๏Ұ൪؆୯ͦ͏ͳʮϩʔΧϧGitϦϙδτϦʯΛબ͠·ͨ͠ • σϓϩΠ͕ྃͨ͠ΒɺҎԼͷURLΛୟ͍ͯ ͪΌΜͱϨεϙϯε͕ฦΔ͔֬ೝ • http://{{࡞ͨ͠ϦιʔεͷURL}}/api/messages • git push͢Δ͚ͩͰͳΜͰnode্ཱ͕͕ͪΔͷ͔·ͩཧղͰ͖͍ͯͳ͍
4. microsoft bot framework ͷઃఆ • ҎԼͷURLͰΞΧϯτΛ࡞͠·͢ • https://dev.botframework.com/ •
ϩάΠϯͰ͖ͨΒBotΛొ͠·͢ • Botొ࣌ͷΤϯυϙΠϯτ”https”ͳ͜ͱʹҙ • ઌ΄ͲazureͰ࡞ͨ͠ϦιʔεURLhttpsʹ ରԠ͍ͯ͠ΔΆ͍ • https://{{࡞ͨ͠ϦιʔεͷURL}}/api/messages • Botొ࣌ʹදࣔ͞ΕΔMicrosoft App IDͱpassword ޙ΄Ͳར༻͢ΔͷͰͲ͔͜ʹίϐʔ͓ͯ͘͠
• Botొ͕ࡁΜͩΒɺazureͷμογϡϘʔυʹ ͬͯڥมΛઃఆ͢Δ • ʮΞϓϦέʔγϣϯઃఆʯʹͯBotొ࣌ʹ දࣔ͞ΕͨMicrosoft App IDͱpasswordΛ ڥมʹొ •
ڥม໊ιʔείʔυʹهड़ͯ͋͠Γ·͢ 4. microsoft bot framework ͷઃఆ
• bot frameworkʹϩάΠϯ͢Δͱɺskypeslackɺfacebook messangerͳͲҠΓͦ͠͏ͳΞΠςϜ͕ ฒΜͰ͍·͕͢ɺ͜͜Ұ൪؆୯ͦ͏ͳʮWebChatʯΛબ • WebChatΛΫϦοΫ͢ΔͱɺγʔΫϨοτΩʔͱ htmlຒΊࠐΈίʔυ(iframeλά)͕༻ҙ͞Ε͍ͯ·͢ • ٙɿγʔΫϨοτΩʔͳͥೋͭଘࡏ͢Δʁʁ
• iframeλάͷதʹURL͕هड़͞Ε͍ͯΔͷͰɺ URLΛϒϥβͰ։͖·͢ɻͦͷࡍʹ”YOUR_SECRET_HERE” ͷ෦γʔΫϨοτΩʔʹஔ͖͑Δ 4. microsoft bot framework ͷઃఆ
Ͱ͖ͨʂ
ײ • ؆୯ʹBot͕࡞Ͱ͖·ͨ͠ʂ...ͱݴ͍͍ͨͱ͜Ζ ͚ͩͲɺࢥ͍௨Γʹߦ͔ͳ͍໘͕ଟʑ͋ͬͯ ৺͕ંΕͦ͏ͩͬͨ • ׳ΕΔ·ͰਐΊΔͨͼʹ͕͔͔࣌ؒΓͦ͏ • ࣮ࡍͭ·͍ͮͨ࣌Γ߹͍ʹฉ͍ͯղܾ͍ͯͨ͠ •
ͦΕ͕ͳ͔ͬͨΒࠓൃදͰ͖͍ͯͳ͔͔ͬͨ • ࠷ॳΛΓӽ͑Εɺָ͍͠Bot࡞ʹ ࣌ؒΛׂ͚ͦ͏⽃ • ༨ྗ͕͋Εৄ͍͠खॱΛϒϩάʹ·ͱΊΔ͔Ͱ͢
·ͱΊ • ΤίγεςϜͷ͓͔͛Ͱɺগͳ͍ίʔυྔͰ ৭Μͳ͜ͱ͕αΫοͱͰ͖Δ • ͦͷΘΓʹɺ༷ʑͳαʔϏεΛར༻͢Δ͜ͱ ʹͳΔͨΊɺαʔϏεಠࣗͷ༷खॱΛ ཧղ͢Δඞཁ͕͋Δ
·ͱΊ • ͭ·͍ͮͨ࣌ʹɺ ૬ஊͰ͖ΔॴΛ࡞͓ͬͯ͘ͱ҆৺ • ΈΜͳͰॿ͚߹͍͖͍ͬͯͯͨ͠Ͱ͢Ͷ • ͦͷ࣮ݱʹɺ͜ͷίϛϡχςΟ͕ ͏·͘׆༻Ͱ͖ΔΜ͡Όͳ͍͔ͱࢥ͍·͢
ࠂ
ʮ࿏ઢDEిंͯBotʯ Λ͓ʹɺϋϯζΦϯΛ։࠵͢Δ͜ͱ͕ܾఆ 2017/9/26 19:00 ~ ৄࡉܾ·Γ࣍ୈɺ CogbotίϛϡχςΟ facebookάϧʔϓͳͲͰ ͓ΒͤͰ͖Εͱࢥ͍·͢ɻ