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
GAE/P環境でLINE BOTを作る
Search
shuukei.imas_cg
May 17, 2017
Programming
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GAE/P環境でLINE BOTを作る
「喜多日菜子LINE BOT」の中身のさわりの部分の解説です。
2次会で発表した資料です。
shuukei.imas_cg
May 17, 2017
More Decks by shuukei.imas_cg
See All by shuukei.imas_cg
idol2vec
shuukeiimascg
3
1k
台詞を一行も書かずに作る全自動アイドルBotの検討 / Full automated idol's bot
shuukeiimascg
1
980
スニリプ全自動化への検討 / Full automated sni_rep
shuukeiimascg
1
930
シンデレラガールズ台詞判定の開発・運用・反響について
shuukeiimascg
5
3k
シンデレラガールズの台詞のみから「誰の台詞か」機械学習で判定する
shuukeiimascg
1
3k
Other Decks in Programming
See All in Programming
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
350
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.5k
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
1
130
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
170
Event is what happens
moro
2
3.3k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
3
1.4k
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
220
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
200
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Building Applications with DynamoDB
mza
96
7.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Un-Boring Meetings
codingconduct
0
490
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing Powerful Visuals for Engaging Learning
tmiket
1
630
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Curse of the Amulet
leimatthew05
3
16k
Mobile First: as difficult as doing things right
swwweet
225
10k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
760
Transcript
GAE/P環境でLINE BOTを作る たくみP 2017/05/17 http://www.shuukei.info/
自己紹介 たくみP 担当アイドル: 喜多日菜子 Twitter: @shuukei_imas_cg
もともとはモバマス-Pixiv集計所のための更新状況通知用 アカウントだった @
[email protected]
運営しているサイト・サービス http://www.shuukei.info/ モバマス-Pixiv集計所 シンデレラガールズ台詞判定 ミリオンライブ!台詞判定 喜多日菜子LINE BOT 2017/05/17 2
喜多日菜子 LINE BOTとは LINEで「友だち登録」して1対1でチャットができる @xqw2205g いわゆるチャットボット(人工無能) 2017/05/17
3
LINEでBOTを作る手順 まず開発者自身のLINEアカウントが必要 管理者アカウントや2段階認証で頻繁に使う LINE@(ラインアット)のアカウントを作る 店舗や企業、アーティストの公式アカウント的なもの
LINE@アカウントに対し、Messaging APIを有効化する LINE Developersのページで設定を行う Channel Secret, Access Token, Webhook URL等 Twitter APIを使うときの設定みたいなもの 設定したWebhook URLでHTTPSで待ち受けする プログラムを作る 2017/05/17 4
LINE@とは 店舗などの「公式アカウント」を提供するもの。複数 LINEアカウントで共同管理できる 一斉配信、1:1トーク、タイムライン機能など LINE@だけでもキーワードに反応するだけのBOT的なも のが作れなくもない 2017/05/17
5
LINE Messaging APIとは トークルームに送信されたメッセージはすべて Webhook URLにHTTPS POSTリクエストで送られる JSON形式(公式ライブラリを使えば意識する必要なし)
匿名化されたuser idと、リプライのためのreplyTokenが 添付される 各種メディアも添付される(画像、音声、動画、位置…) Reply message APIを使って返事を送る 上述のreplyTokenを使う。制限時間数十秒 PUSH message APIを使えば任意のタイミングでメッ セージを送信できる PROプランかつPUSH API有効化が必要 ¥32,400/月 2017/05/17 6
GAE SE/PythonでBOTを作る GAE SE(Google App Engine Standard Environment)
利点: 無料で28インスタンス時間/日まで使える、勝手に スケールする 欠点: 言語縛りがきつい(Python2.7系など)、独特の概念 手順 プロジェクトを作成する プロジェクトIDをつける https://(プロジェクトID). appspot.com でアクセスできる SSL証明書は自動で提供される 適当なWebフレームワークで待ち受ける 受け取ったメッセージを元に返答を生成してReply message API(HTTPS POST)を投げればよい 2017/05/17 7
返答 生成 通信フロー(Reply message API) ユーザ LINEサーバ GAE a1.メッセージ送信 a2.HTTPS
POST (Webhook URL) Task Queues a3.TQに突っ込む b1.TQからPUSH b2.HTTPS POST (Reply message API) b3.返答メッセージ送信
返答をいかに生成するか キーワードマッチングで 芸能人・声優のLINE公式アカウントの類はこれが多いの で、ユーザ側もキーワード反応があればよし(自然な対話 は期待してない)としているところがある 対話行為タイプ推定+テンプレート
ユーザ発話の意図を機械学習で推定する 意図の例: 挨拶、情報提供、自己開示、質問… ディープラーニングでEnd-to-End学習 大量の対話例から直接学習する キャラクター性が重要な場合にはあんまり向かない 2017/05/17 9
費用 LINE LINE@フリープランで無料 PUSH APIは使用しない GAE
よほど「友だち」が多くなければ無料枠に収まる その他 形態素解析器用のVMインスタンスが必要 既存の環境が流用できるなら無料 2017/05/17 10
まとめ LINE Messaging APIは使いやすい Java, PHP, Go, Perl,
Ruby, Python, Node.js各言語対応の Bot SDKも完備 テキスト以外にも各種メディアや選択肢も送信できる 無料でもリプライだけなら事実上無制限に使える API制限: 10000回/分 (とても緩い) 某短文SNSとは大違い チャットボットは楽しい アイドルのボットならなおさら 2017/05/17 11