Slide 1

Slide 1 text

うじまる生誕LT会 
 バカが取ったバイキングの皿 を持って来たよ!!
 @hpp_ricecake


Slide 2

Slide 2 text

うじまる生誕LT会 
 hpp
 Twitter : @hpp_ricecake
 GitHub : hppRC


Slide 3

Slide 3 text

うじまる生誕LT会 
 作ったもの


Slide 4

Slide 4 text

うじまる生誕LT会 
 うぢまるくん


Slide 5

Slide 5 text

うじまる生誕LT会 


Slide 6

Slide 6 text

うじまる生誕LT会 


Slide 7

Slide 7 text

うじまる生誕LT会 
 実装内容


Slide 8

Slide 8 text

うじまる生誕LT会 
 - Ujimaru Reformer (不採用) - Ujimaru Markov Model - Ujimaru Twitter Crawler - Ujimaru Twitter Client - Ujimaru API

Slide 9

Slide 9 text

うじまる生誕LT会 
 Ujimaru Reformer


Slide 10

Slide 10 text

うじまる生誕LT会 
 Ujimaru Reformer
 Reformer :
 NLP分野でSOTAな結果を出しまくったTransformerの高効率版
 
 - うじまるくんのツイートを収集、8000文ほどを元データに(ごめん)
 - Google Colaboratory で6時間ほど訓練
 - 著者実装を参考にTPU(はやいやつ)で
 - 訓練したモデルから文生成をする(予定だった)
 - 生成結果は次のページ


Slide 11

Slide 11 text

うじまる生誕LT会 
 Ujimaru Reformer


Slide 12

Slide 12 text

うじまる生誕LT会 
 Ujimaru Reformer
 反省点
 - データが少なすぎる(最低でも100,000文くらいは欲しい...)
 
 解決策
 - うじまるくんが1日4000ツイートくらいする
 - 日本語Wikiのデータを混ぜる(全然関係ないモデルに...)
 - データ数が少なくても大丈夫な言語モデルに変更する


Slide 13

Slide 13 text

うじまる生誕LT会 
 Ujimaru Markov Model


Slide 14

Slide 14 text

うじまる生誕LT会 
 Ujimaru Markov Model
 マルコフ連鎖 :
 以前に出現した系列を元に次の出力を確率的に生成する
 
 - うじまるくんの以前のツイートを元にモデルを作成
 - ライブラリとして使えるように、JSONでモデルを出力
 - 他の人のツイートも同じく収集して似た傾向の語彙を増強
 - PyPIに登録したので`pip install ujimaru-markov-model`して
 `ujimaru`をするとうじまるくんが喋ります


Slide 15

Slide 15 text

うじまる生誕LT会 
 Ujimaru Markov Model


Slide 16

Slide 16 text

うじまる生誕LT会 
 Ujimaru Twitter Crawler


Slide 17

Slide 17 text

うじまる生誕LT会 
 Ujimaru Twitter Crawler
 実装: GO
 - データ収集に利用
 - anacondaを使用(超便利)
 - Standard Search APIじゃ足りなかったので
 Premium Search API (無料枠)も使用
 - anacondaにPremium APIを触るメソッドが生えてなかったのでforkして生や した


Slide 18

Slide 18 text

うじまる生誕LT会 
 Ujimaru Twitter
 Client


Slide 19

Slide 19 text

うじまる生誕LT会 
 Ujimaru Twitter Client
 実装: Rust
 
 - ツイートの定期投稿に利用
 - ツイートするテキストはAPIから取得
 - Twitter API を叩くいい感じのライブラリがなかったので自作↓
 
 - Kuonという名前のOSSとして公開しました(めっちゃWIP)


Slide 20

Slide 20 text

うじまる生誕LT会 
 Ujimaru API


Slide 21

Slide 21 text

うじまる生誕LT会 
 Ujimaru API
 実装: Python (flask)
 
 - Cloud Run でデプロイ (https://ujimaru-api-l3qfihnisq-an.a.run.app/tweet)
 - アクセスすると生成したテキストを返す
 - Docker imageをポイするだけなので超簡単


Slide 22

Slide 22 text

うじまる生誕LT会 
 Ujimaru API
 まとめ
 
 - ニューラルなモデルを使うときはデータ数に気を付ける
 - ソースコード : https://github.com/hppRC/ujimaru
 - LTのスライドは内容を絞ろう


Slide 23

Slide 23 text

うじまる生誕LT会