This slide describe Twitter bot 'ujimaru', which says words like uzimaru.
うじまる生誕LT会 バカが取ったバイキングの皿を持って来たよ!! @hpp_ricecake
View Slide
うじまる生誕LT会 hpp Twitter : @hpp_ricecake GitHub : hppRC
うじまる生誕LT会 作ったもの
うじまる生誕LT会 うぢまるくん
うじまる生誕LT会
うじまる生誕LT会 実装内容
うじまる生誕LT会 - Ujimaru Reformer (不採用)- Ujimaru Markov Model- Ujimaru Twitter Crawler- Ujimaru Twitter Client- Ujimaru API
うじまる生誕LT会 Ujimaru Reformer
うじまる生誕LT会 Ujimaru Reformer Reformer : NLP分野でSOTAな結果を出しまくったTransformerの高効率版 - うじまるくんのツイートを収集、8000文ほどを元データに(ごめん) - Google Colaboratory で6時間ほど訓練 - 著者実装を参考にTPU(はやいやつ)で - 訓練したモデルから文生成をする(予定だった) - 生成結果は次のページ
うじまる生誕LT会 Ujimaru Reformer 反省点 - データが少なすぎる(最低でも100,000文くらいは欲しい...) 解決策 - うじまるくんが1日4000ツイートくらいする - 日本語Wikiのデータを混ぜる(全然関係ないモデルに...) - データ数が少なくても大丈夫な言語モデルに変更する
うじまる生誕LT会 Ujimaru Markov Model
うじまる生誕LT会 Ujimaru Markov Model マルコフ連鎖 : 以前に出現した系列を元に次の出力を確率的に生成する - うじまるくんの以前のツイートを元にモデルを作成 - ライブラリとして使えるように、JSONでモデルを出力 - 他の人のツイートも同じく収集して似た傾向の語彙を増強 - PyPIに登録したので`pip install ujimaru-markov-model`して `ujimaru`をするとうじまるくんが喋ります
うじまる生誕LT会 Ujimaru Twitter Crawler
うじまる生誕LT会 Ujimaru Twitter Crawler 実装: GO - データ収集に利用 - anacondaを使用(超便利) - Standard Search APIじゃ足りなかったので Premium Search API (無料枠)も使用 - anacondaにPremium APIを触るメソッドが生えてなかったのでforkして生やした
うじまる生誕LT会 Ujimaru Twitter Client
うじまる生誕LT会 Ujimaru Twitter Client 実装: Rust - ツイートの定期投稿に利用 - ツイートするテキストはAPIから取得 - Twitter API を叩くいい感じのライブラリがなかったので自作↓ - Kuonという名前のOSSとして公開しました(めっちゃWIP)
うじまる生誕LT会 Ujimaru API
うじまる生誕LT会 Ujimaru API 実装: Python (flask) - Cloud Run でデプロイ (https://ujimaru-api-l3qfihnisq-an.a.run.app/tweet) - アクセスすると生成したテキストを返す - Docker imageをポイするだけなので超簡単
うじまる生誕LT会 Ujimaru API まとめ - ニューラルなモデルを使うときはデータ数に気を付ける - ソースコード : https://github.com/hppRC/ujimaru - LTのスライドは内容を絞ろう