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
890
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
930
台詞を一行も書かずに作る全自動アイドルBotの検討 / Full automated idol's bot
shuukeiimascg
1
940
スニリプ全自動化への検討 / Full automated sni_rep
shuukeiimascg
1
890
シンデレラガールズ台詞判定の開発・運用・反響について
shuukeiimascg
5
2.9k
シンデレラガールズの台詞のみから「誰の台詞か」機械学習で判定する
shuukeiimascg
1
2.9k
Other Decks in Programming
See All in Programming
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.1k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
170
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
100
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
430
私はどうやって技術力を上げたのか
yusukebe
43
18k
株式会社 Sun terras カンパニーデック
sunterras
0
250
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
200
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
5
1.5k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
400
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
360
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Unsuck your backbone
ammeep
671
58k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Building an army of robots
kneath
306
46k
Making Projects Easy
brettharned
119
6.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Building Applications with DynamoDB
mza
96
6.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Gamification - CAS2011
davidbonilla
81
5.5k
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