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
GAE/P環境でLINE BOTを作る
Search
shuukei.imas_cg
May 17, 2017
Programming
0
850
GAE/P環境でLINE BOTを作る
「喜多日菜子LINE BOT」の中身のさわりの部分の解説です。
2次会で発表した資料です。
shuukei.imas_cg
May 17, 2017
Tweet
Share
More Decks by shuukei.imas_cg
See All by shuukei.imas_cg
idol2vec
shuukeiimascg
3
870
台詞を一行も書かずに作る全自動アイドルBotの検討 / Full automated idol's bot
shuukeiimascg
1
910
スニリプ全自動化への検討 / Full automated sni_rep
shuukeiimascg
1
860
シンデレラガールズ台詞判定の開発・運用・反響について
shuukeiimascg
5
2.8k
シンデレラガールズの台詞のみから「誰の台詞か」機械学習で判定する
shuukeiimascg
1
2.8k
Other Decks in Programming
See All in Programming
return文におけるstd::moveについて
onihusube
1
1.1k
良いユニットテストを書こう
mototakatsu
7
2.2k
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
300
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
1
440
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
910
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
3
390
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
180
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
2
230
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
220
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Agile that works and the tools we love
rasmusluckow
328
21k
The Invisible Side of Design
smashingmag
298
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Making Projects Easy
brettharned
116
5.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Visualization
eitanlees
146
15k
Bash Introduction
62gerente
608
210k
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