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
830
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
900
スニリプ全自動化への検討 / Full automated sni_rep
shuukeiimascg
1
860
シンデレラガールズ台詞判定の開発・運用・反響について
shuukeiimascg
5
2.8k
シンデレラガールズの台詞のみから「誰の台詞か」機械学習で判定する
shuukeiimascg
1
2.8k
Other Decks in Programming
See All in Programming
Identifying User Idenity
moro
6
8.8k
Amazon Qを使ってIaCを触ろう!
maruto
0
300
Outline View in SwiftUI
1024jp
1
230
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
290
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
470
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
320
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
390
現場で役立つモデリング 超入門
masuda220
PRO
14
3k
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
tonionagauzzi
0
160
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
410
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
24
12k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
180
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
GraphQLとの向き合い方2022年版
quramy
43
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Rails Girls Zürich Keynote
gr2m
93
13k
How GitHub (no longer) Works
holman
310
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
A Philosophy of Restraint
colly
203
16k
Building an army of robots
kneath
302
42k
Faster Mobile Websites
deanohume
304
30k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
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