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
920
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
980
台詞を一行も書かずに作る全自動アイドルBotの検討 / Full automated idol's bot
shuukeiimascg
1
970
スニリプ全自動化への検討 / Full automated sni_rep
shuukeiimascg
1
910
シンデレラガールズ台詞判定の開発・運用・反響について
shuukeiimascg
5
3k
シンデレラガールズの台詞のみから「誰の台詞か」機械学習で判定する
shuukeiimascg
1
3k
Other Decks in Programming
See All in Programming
Go 1.27 における memory allocation の高速化
andpad
0
340
「人を評価する AI」の設計と実装
ryoyanara
0
260
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
420
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
230
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
31
19k
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
仕様駆動開発の消費期限
watany
20
9.1k
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
220
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.2k
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.3k
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
310
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Tell your own story through comics
letsgokoyo
1
1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
Producing Creativity
orderedlist
PRO
348
40k
Abbi's Birthday
coloredviolet
3
9.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Writing Fast Ruby
sferik
630
63k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
220
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
WENDY [Excerpt]
tessaabrams
12
39k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
How to Ace a Technical Interview
jacobian
281
24k
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