SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
ENJOY H@RMONY!!とボーダーbot
Report
treby
Follow
Web Developer
Jun. 11, 2015
•
0 likes
•
4,781 views
1
of
65
ENJOY H@RMONY!!とボーダーbot
Jun. 11, 2015
•
0 likes
•
4,781 views
Download Now
Download to read offline
Report
Entertainment & Humor
ENJOY H@RMONY!!
treby
Follow
Web Developer
Recommended
BELIEVE MY DRE@M!!とミリオンボーダーbot
treby
4.9K views
•
43 slides
VLLT7 - コード進行からわかるヒット曲の秘密。
Fukazume
121 views
•
13 slides
日経ITpro EXPO 2015: 次世代IoTアーキテクチャ CEO玉川、CTO安川
SORACOM,INC
3.8K views
•
50 slides
俺の仕事がこんなに楽しいわけが無い・公開版(初出:2010/12/20 株式会社ECナビ会社説明会@IAMAS)
bash0C7
4K views
•
60 slides
「PUSH 大阪」の紹介
Kouji Kozaki
1.7K views
•
48 slides
能年玲奈ちゃんのファンとして本気を出してみた
真一 北原
2.1K views
•
10 slides
More Related Content
Viewers also liked
2011インターンシップ_09N1123_前野沙織
saolympic
806 views
•
10 slides
LT駆動開発03 Web制作をカレー作りで例えてみる
Kawakami Hiroko
2.4K views
•
47 slides
About Servicegrant / digest
Servicegrant
5.7K views
•
20 slides
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
2.8K views
•
99 slides
東方紅魔郷AI
aki33524
4.9K views
•
41 slides
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
3.6K views
•
116 slides
Viewers also liked
(20)
2011インターンシップ_09N1123_前野沙織
saolympic
•
806 views
LT駆動開発03 Web制作をカレー作りで例えてみる
Kawakami Hiroko
•
2.4K views
About Servicegrant / digest
Servicegrant
•
5.7K views
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
•
2.8K views
東方紅魔郷AI
aki33524
•
4.9K views
リクルート式 自然言語処理技術の適応事例紹介
Recruit Technologies
•
3.6K views
⑨Web制作、デザイン、セキュリティなどの基礎を学ぼう
Nishida Kansuke
•
1.7K views
過換気症候群
Keiichi Kimura
•
6K views
リクルートのWebサービスを支える共通インフラ「RAFTEL」
Recruit Technologies
•
11.1K views
リクルートにおけるVDI導入とCiscoデータセンタソリューション
Recruit Technologies
•
3K views
libpgenでパケット操作
slankdev
•
5.4K views
自己紹介用プレゼン
Katsuhisa Maeda
•
9.7K views
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
賢 秋穂
•
84.8K views
⼤企業で実現するイマドキの内製開発
NTT Communications Technology Development
•
134K views
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
•
84.7K views
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
•
102.5K views
インフラ構築とテストについて(ITインフラ業務自動化現状確認会)
Yosuke Hiraishi
•
75.5K views
2015-05-23 クラウドの運用になって インフラエンジニアは何が変わるのか?
Operation Lab, LLC.
•
86.5K views
これからはじめるインフラエンジニア
外道 父
•
103.4K views
インフラエンジニアがUnityをやるべきたった一つの理由
axsh co., LTD.
•
123.3K views
More from treby
失敗から学ぶEM方法論
treby
2.3K views
•
39 slides
Vue.js + Vuexチーム開発実践の事例
treby
4.2K views
•
110 slides
Frontendと向き合う
treby
1.2K views
•
57 slides
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
treby
5.4K views
•
55 slides
モダンJSでモダンなWebアプリケーションを作ろう!
treby
1.9K views
•
63 slides
Octocatは技術的負債の夢を見るか?
treby
2.6K views
•
66 slides
More from treby
(20)
失敗から学ぶEM方法論
treby
•
2.3K views
Vue.js + Vuexチーム開発実践の事例
treby
•
4.2K views
Frontendと向き合う
treby
•
1.2K views
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
treby
•
5.4K views
モダンJSでモダンなWebアプリケーションを作ろう!
treby
•
1.9K views
Octocatは技術的負債の夢を見るか?
treby
•
2.6K views
Shinjuku.rb #61 RubyKaigi2018予習
treby
•
642 views
The Art of Collaboration
treby
•
580 views
楽しく学ぶ?API
treby
•
1.4K views
VueとdockerとAWSとチームとアイマスと私
treby
•
931 views
アイマスハッカソン2017
treby
•
1K views
Sinatraで触れる生SQL
treby
•
1K views
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
treby
•
1.3K views
最近のRailsフロントエンド開発の紹介
treby
•
1.4K views
たたかうFFI
treby
•
598 views
mastodon API
treby
•
759 views
TH@NK YOU for SMILE!!とミリオンボーダーbot
treby
•
821 views
Paperclip
treby
•
630 views
このみさんにPRしてもらう
treby
•
1.3K views
reading suture
treby
•
891 views
ENJOY H@RMONY!!とボーダーbot
1.
ENJOY H@RMONY!!と ミリオンボーダーbot 2015/6/12 @treby006
2.
About me ● treby ○
所属ラウンジ ■ 無名ラウンジ→音ノ木(にじいろ)→HHV(IMC9)→未所属→R-Gray ○ 担当:馬場このみ ■ PSL4th(ミックスナッツ) 3位 エンドローラー ● http://imas.gree-apps.net/app/index.php/event/145/flash/endroll/from/memories ■ IMC9 個人30位/HHVの皆様ありがとうございました! ○ ENJOY H@RMONY!! 死ぬかと思った ■ まさかのこのみさん最激戦区 ■ 終盤になるにつれ「bot作ってる場合じゃねぇ」状態に ■ EHを一番エンジョイしたのはこのみPだと思ってる
3.
ボーダーbotについて
4.
ボーダーbotとは ● ミリオンのイベントボーダーを延々とつぶやいてく れるすごいやつだよ! ○ 一時間前のボーダーと比較した値も計算 ●
コトがコトなのでこっそりやる(最重要) ○ 技術は楽しいことにもいけないことにも使えるのです
5.
2014年9月22日最初のツイート
6.
2014年9月30日運用開始
7.
当初の運用 ● ごく初期はボーダーのみツイート ○ 時速入れ始めたのは運用開始後1週間後くらいから ●
10分に1回ツイートしてた ○ 今から考えると鬱陶しい。しかも1回のタイミングでボー ダー・時速の2ツイートしてた。 ○ ツイート数がやたら多いのはその頃の名残です。 ● 9th TOKYOにて知り合いのPに布教 ○ 最初の2, 3人のフォロワーさん方だったり
8.
ゴールデンキャッスルからはワンセット ボーダーbotの最近の構成 ボーダー調べるやつ ボーダーDB ファイル解釈して DBに格納するやつ ツイートするやつ (ボーダーbot先生) 一時 ファイル (1)調べて書き出し (2)読み込み解釈、格納 (3)取り出し、ツイート もろもろ定期実行
9.
詳しくは ● 『Border botを支える技術』 ○
2014年12月発行 ○ 調べてくるとこ以外の技術面を紹介
10.
ENJOY H@RMONY!!とボーダーbot
11.
ENJOY H@RMONYでの反響 ● 異常とも言える反響 ○
自分的KPIでは運用開始1年でフォロワー数4桁目指す、 というものだったが一瞬で達成…… ● ENJOY H@RMONY!!やばい ○ 担当アイドルへの愛にあふれてますね ○ 個人的にはアホみたい(失礼)に担当走りまくる人が好き ● 海外のPにもリーチしてるっぽい ○ アジア圏、北米方面 ○ アイマスコンテンツすげぇ
12.
フォロワー数の推移
13.
ツイート影響指標:普段の15倍
14.
最も反響の大きかったツイート
15.
まとめ ● ボーダーbot史上最大の反響 ● 「ボーダーbot」という名前が定着した ○
それまでは、「border bot」とか「Border bot」とか自分の中 でもブレがあった ● ツイッターやってるP達を煽りまくったという問題 (噂)も…… ○ 批判が出てくる程には知名度が上がった ○ なかった場合より結果的に枠が開いた?
16.
ENJOY H@RMONY!! ボーダーbotの舞台裏
17.
EH中のボーダーbot裏側での動き ● 技術的な課題 ○ どうやってボーダーを調べるか:普段はイベントトップの み調べれば良いが、今回は…… ○
上位報酬獲得者数(枠)という概念をどう既存システムに 盛り込むか ○ 取り込んだ情報をどうやって伝えるか ● イベントが特殊すぎるため、さりげにいろいろと 問題があった
18.
どうやってボーダー調べるか ● 普段 ○ ページを取得→HTML(普通のページ)が返る→要素を 解析する(職人技)→ボーダーが何かを知る ●
今回 ○ このアイドルの情報が欲しいです><→JSON(扱いや すいデータ)が返る→そのまま使う ○ むしろ処理的には簡単になった ● やってみると意外と軽かった
19.
どうやって既存システムに盛り込むか ● 普段 ○ 順位ごとに“border_”というprefixをつけて管理 ○
10位ならborder_10、1200位ならborder_1200 ● 今回 ○ “border_”というprefixつける運用はそのまま、順位が入 る場所にアイドルIDを入れて流用 ○ 未来ならborder_14、このみさんならborder_39 ○ 枠数用に“reward_rank”という要素を新しく追加 ● これも重くはなかった
20.
どうやってボーダーを伝えるか ● 主に140字との戦い:様々な懸案事項や思惑 ○ 必要な情報は何か ○
削って良い情報は何か ○ 削ったことでわかりづらくならないか ○ 極力邪魔にならず、かつ有益な情報を届けるにはどうす るか ○ ボーダー高くないアイドルもフィーチャーしたい ● 今回一番チャレンジングだった部分 ○ 次に問題や事例を紹介(長いです)
21.
素直に全てツイート ● 最初期の実装 ○ 既存コードとほぼ変わらず ○
3人ずつ、7回に分けてツイート
23.
問題:素直に全てツイート ● さすがにスパムっぽい ○ どう改善していくかの闘いの始まり ○
多くても半分くらいのツイート数に収めたい ● ただこれはこれで反響が大きかった
25.
対応:ツイート数節約 ● やったこと ○ pt/時速をそれぞれ1000で割る ○
さらに、名前の最初一文字でアイドルを区別するように した ● 1回のツイート数7→3まで削減
27.
問題:ptを1000で割って表示 ● 知識がないと分からない ○ 1000で割られた値だという事前知識が必要 ●
いささか単調 ○ 全て同じフォーマットで表示しているので盛り上がりに欠 ける
28.
機能:ボーダー上位陣をフィーチャー ● 盛り上げる工夫 ● ボーダー上位3人は素で表示 ○
「激戦区」という言葉が登場 ○ ptが1000で割られている旨も表記 ● ツイートに通し番号を付与 ○ ツイート間の順番がわかるように ● ツイート数は4に……
30.
問題:可奈と可憐が区別つかない ● 名前の最初一文字でアイドルを表現 ○ 「可奈」「可憐」ともに「可」 ○
美也がいたら美奈子と区別ついてなかった ● 何気なく見てたら気付いた
31.
対応:可奈可憐問題(Ruby) ● Before ○ omit_name
= name[0] ■ # name = ‘可奈’ → omit_name => ‘可’ ■ # name = ‘可憐’ → omit_name => ‘可’
32.
対応:可奈可憐問題(Ruby) ● After ○ omit_name
= name == ‘可憐’ ? ‘憐’ : name[0] ■ # name = ‘可奈’ → omit_name => ‘可’ ■ # name = ‘可憐’ → omit_name => ‘憐’ ● 超突貫修正
33.
問題:枠がいつ広がったのか分からない ● 報酬枠が広がったタイミングで通知が欲しい
34.
対応:枠開きのタイミングがわからない ● 上位報酬者数が増えたタイミングでお知らせ ○ botを構成する複数処理を一つにまとめて実現 ●
後にレイアウトを通常ツイートに統合 ● 枠が開いていく臨場感を演出
36.
問題:ツイートが多すぎる ● 一度で4回以上のツイート ○ せめて3回まで落としたい
37.
対応:ツイート多すぎ問題 ● ツイートを数珠つなぎにして文字節約 ○ Twitterのメンションなどに使われる機能を利用して一連 のツイートに関連を持たせる
38.
ツイート群を一連のまとまりとして 表示してくれる (イベント告知やPixivイラストなどを 再度上げるときによく使われる手法の応用 )
39.
結果:ツイートを数珠つなぎに ● 全てのツイートに日時などのヘッダ情報が不要 になった ○ 最初のツイートに日時をつけていれば関連づくため ●
大幅な文字数の削減!
40.
問題:上位アイドル以外目立たない ● ボーダーの絶対値が高くないアイドルは目立ち にくい ○ 担当Pは見てておもしろくない
41.
対応:上位アイドル以外目立たない ● 仮説:総ptは難しくても、単位時間あたりの伸び では高くなりうるのではないか ● 注目ランキングの導入 ○
単位時間あたりの伸びの高いアイドルを注目アイドルと してフィーチャーするように
43.
結果:注目(時速)ランキング導入 ● 総ptが高くないアイドルも、取り上げることがで きるようになった
44.
問題:ptの規模に起因する根本的な問題 ● そもそも桁が億単位なので、それだけで9文字 必要となる。 ○ さらに差分情報も勘案すると、安心できない ○
1000で割って表示することで一情報あたり3文字は節約 できるが、限界が近づいている
46.
それでもとうとう障害発生
47.
対応:pt桁数に関する根本問題 ● いくつかの仮説 a. そもそもポイントを詳細に表示しなくても良いのでは ■
上から4桁くらいで十分ではないか b. ブレが激しい差分部分は適切に単位をつけてあげれば良 いのではないか ● →試してみた
48.
Before After
49.
結果:ptの単位を億表記に&時速単位付表示 ● 文字数の大幅な削減 ○ 時速などの桁数によらずスケールする仕組みに。 ○
上位6名以外は思い切って時速表記を省略することにし た:注目アイドルツイートで補完するイメージ ● 桁合わせや、アイドル名3文字まで表示できるよ うになった。 ○ 名前最初一文字じゃアイドルを識別しにくいという意見も あった ○ 読みやすさ大幅アップ
50.
問題:ツイート略されすぎ問題 ● ここまでの変更にて、パッとツイートを見た人が 何を言っているのか分からない状態に ○ 表記が略されすぎたり、数値の説明を省略したりしてい る関係で読み方がわからないという意見も……
52.
対応:補足説明を作成
53.
結果:マニュアル作成 ● 序盤こそ効果がないように見えた ○ が、時間が経つに連れ認知されてきたイメージ
54.
安定運用期(6/2〜) ● 億表記・ヒューマンリーダブル実装でようやく 140字戦争に終止符を打てた ● 一旦、本家ボーダーbotから離れられた ○
ボーダーbot観測所のEH対応など ○ どのアイドルにどのくらいランナーがいるか ■ ちなみに、このみさんがやばそうなのはこの辺りで認 知
55.
最後の週末対応(6/5) ● EHランナー向けに微調整 ● 枠開き時差分を時速(一時間前のptとの単純比 較)から枠開き前のptとの単純比較に変更 ○
順位間のptの崖が見えるように ● 注目アイドル(時速)ランキングを廃止、全てのア イドルの時速を表示するようにした ● そして終焉へ
60.
(4) ボーダーbotのEH最終のシステム構成 ボーダー調べるやつ (EH特別版) ボーダーDB ファイル解釈して DBに格納するやつ (EH特別版) ツイート コントローラー (枠開き・時間判定) 一時 ファイル (1)調べて書き出し (2)解釈、格納 全て一連の流れで行うことで、ほぼリアルタイム通知を実現 botちゃん (3)枠が開いているか、ツイートの 時間かの判定を行う (4)愚直にツイートする (3)
61.
まとめ ● 技術的にもENJOY H@RMONY!!でした ●
ENJOY H@RMONY!!を共に闘ってきたボー ダーbotのコード最終形態(一部) ○ 枠開き/定期ツイートトリガー(図の(3)) ■ https://gist.github.com/treby/86b8c47f14df911addd7 ○ ツイッター投稿(図の(4)) ■ https://gist.github.com/treby/76d2beab7e9dfdc5fa26
62.
ENJOY H@RMONY!! 総括
63.
総括 ● ENJOY H@RMONY!!最後の大どんでん返し を上手く実況できていれば幸いです。 ○
正直、最後の最後でGという単位が出てくるとは思わな かったw ● 走る人に対して枠数が広がりすぎたアイドルが 多かった印象 ○ このみさん200人以上走ってたんすよね…… ○ その点、爆死者のいない美奈子Pはすごい。
64.
総括 ● このみさんの最後の伸びは、実は特定時点での 各アイドル順位別pt分布を見れば早い段階から 予測可能でした。 ○ ガチで分析するなら見た方が良いけど、エンタメとしては、 今回のもので十分楽しめた(なら良いです) ○
し、あまり行儀悪くしすぎるのも……ね。 ● 何はともあれ、EHお疲れ様でした!!
65.
Thank you!!