Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
冴えてるBotの育てかた / cool_bot
Search
Jun Watanabe
December 22, 2016
Programming
3.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
冴えてるBotの育てかた / cool_bot
presented on #zohyomeetup vol.8
https://zohyo.connpass.com/event/44940/
Jun Watanabe
December 22, 2016
More Decks by Jun Watanabe
See All by Jun Watanabe
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
3k
20分1発勝負! 社内Webツールをライブコーディングするぞ! / Live Coding PHPerKaigi 2025
rela1470
0
40
力技で実現するHR Driven Provisioningとアクセス制御の自動化 / kyash-hr-driven-provisioning
rela1470
0
1.6k
10分(25分)でつくる社内Webツール / howto-oidc-webpage
rela1470
0
190
リーグオブ情シス 第二回 / League of Infosys
rela1470
1
1.5k
Kyashでコーポレートエンジニアを初採用して7ヶ月が経ちましたがお元気ですか / ce-night-kyash
rela1470
4
3.4k
じこしょうかい2019 / rela1470-portfolio-2019
rela1470
0
420
255オクテットのドメインはツラみがある! / endless-work
rela1470
1
5.6k
ヤフーの1on1
rela1470
0
570
Other Decks in Programming
See All in Programming
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
380
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
320
LLM 101
dalinaum
0
460
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
2
480
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
200
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
710
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.5k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.5k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
400
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
400
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
140
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Paper Plane
katiecoart
PRO
5
54k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
780
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Everyday Curiosity
cassininazir
0
390
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
300
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
500
How to train your dragon (web standard)
notwaldorf
96
6.9k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Transcript
ࡓ͑ͯΔ൴ঁͷҭ͔ͯͨ 2016/12/22 ࡶฌMeetUp #8 Jun Watanabe B o t
Jun Watanabe @rela1470 • ORATTA, Inc. Chief Engineer • PHPer
• ࠷ۙࣾΠϯϑϥ͔Γ • http://rela.red/
http://asuka-zero.jp/
ChatOps ͬͯ·͔͢?
ChatOps = DevOpsͷҰ෦ 110σϓϩΠग़དྷΕ৭ʑḿΔ! ࣮ݱͷͨΊ։ൃͱӡ༻ΛҰମԽ͠Α͏! ͍Ζ͍Ζۀվળ͠Α͏!
ChatOps ࡞ۀͷଐਓԽΛ͍͗ͨ! πʔϧͷઆ໌ॻ࡞ͱ͔େม! શ෦νϟοτͰग़དྷΔΑ͏ʹ͠Α͏!
ϝϦοτ • ͱΓ͔͚͋͑ͣ͠ΕͳΜͱ͔ͳΔͷ Ͱɺॳظֶशίετ͕গͳ͍ • νϟοτϩά=࡞ۀϩά άϧʔϓνϟο τͰͬͯݟ͑ΔԽ! • ࡞ۀ͕֤छπʔϧʹލ͍ͬͯͯҙࣝ͢
Δ͜ͱແ͘࡞ۀͰ͖Δ • εϚϗͰνϟοτ͕͑ΕOK
Slack App Directory
ORATTA ΦϦδφϧBot
None
σϓϩΠʹඞཁͳใ • ΞϓϦ໊ • ڥ໊(ຊ൪ or εςʔδڥ) • Git໊ •
ίϝϯτ
None
None
͍͍ͪͪฉ͔ΕΔͷ ໘͍͘͞!!
None
None
ͬͱ༥௨Λޮ͔ͤͯཉ͍͠!
Ͳ͏͢ΕΑ͍͔? BotͷධՁج४? νϡʔϦϯάςετ?
Beer Test
ͦͷBotͱҰॹʹ ҿΈʹߦ͖͍͔ͨ?
Ѫ͞ΕΔଘࡏʹͳΔͨΊʹ ͬͨ͜ͱ
1.ࡶஊର
Before
After
After
ͪΐͬͱͨ͠ฦͰخ͍͠!
ർΕͨͱ͖ʹ ༊ͯ͘͠ΕΔ
Docomo ࡶஊରAPI https://dev.smt.docomo.ne.jp/? p=docs.api.page&api_name=dialogue&p_name=api_1
BotKitͰͷ࣮ྫ var context = ''; var mode = 'dialog'; var
place = '౦ژ'; var options = { url: 'https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=xxxxx', json: { utt: message.text, place: place, context: context, mode: mode } } //ϦΫΤετૹ৴ request.post(options, function (error, response, body) { context = body.context; mode = body.mode; bot.reply(message, body.utt); });
͠ΓͱΓ
ਓ֨3छྨ
ؔหϞʔυ
ͪΌΜϞʔυ
2.ࣗવݴޠೖྗղੳ
Before
After
After
ࣗવʹ͔͚͠Δ͚ͩͰ ༰Λཧղͯ͘͠ΕΔ
Microsoft LUIS Language Understanding Intelligent Service https://www.luis.ai/
Botʹ͔͚͠ΒΕΔ༰ ܗ͕༷ࣜʑ
ྫ) ϨΠϰͷϚελʔө͓ئ͍͠·͢ɻεςʔδ Ͱ͢ɻ ը૾ΛΞεΧZEROຊ൪ө͓ئ͍͠·͢ʘ (^o^)ʗ ϦιʔεϑΝΠϧΛΫϩఉͷຊ൪ʹσϓϩΠ͠ ͍ͯͩ͘͞! BLEACHͷϓϩάϥϜϓϩμΫτөOKͰ͢!
શͯʹରԠग़དྷΔΑ͏ͳ ਖ਼نදݱͱ͔...
શͯʹରԠग़དྷΔΑ͏ͳ ਖ਼نදݱͱ͔...
None
BotKitͰͷ࣮ྫ var massage_text = encodeURI(message.text); var url = 'https://api.projectoxford.ai/luis/v2.0/apps/xxx? subscription-key=xxx&verbose=true&q='
+ massage_text; request( url, function( error, response, body ){ if( !error && response.statusCode == 200 ){ console.dir(json[‘entities’]); } });
ฦΓྫ { "query": "ΞεΧͷεςʔδʹlibΛө͓ئ͍͠·͢ɻ༰৽ػೳͷөͰ͢ɻ", "topScoringIntent": { "intent": "σϓϩΠ", "score": 0.9743152
}, "intents": [ { "intent": "σϓϩΠ", "score": 0.9743152 }, { "intent": "None", "score": 0.005910686 } ], "entities": [ { "entity": "lib", "type": "git໊", "startIndex": 9, "endIndex": 11, "score": 0.889078 }, { "entity": "εςʔδ", "type": "ڥ໊", "startIndex": 4, "endIndex": 7, "score": 0.789255 }, { "entity": "ΞεΧ", "type": "ΞϓϦ໊", "startIndex": 0, "endIndex": 2, "score": 0.9694294 }, { "entity": "৽ػೳͷө", "type": "ίϝϯτ", "startIndex": 0, "endIndex": 2, "score": 0.9510122 } ] }
None
ͲͷՕॴ͕ Կͷཁૉͳͷ͔ ͔Ε ͋ͱਖ਼نදݱ
After
࠷ॳ ࠜؾΑ͘ ௐڭ͢Δ
LUISͰΈऔΕ ͳ͔ͬͨใ͚ͩ ฉ͍ͯ͋͛Δ
LUIS͕ࡶஊͩͱ அͨ͠Β ࡶஊରAPIʹ ͛Δ
Let’s Beer!