kdd2014勉強会: large-scale high-precision topic modeling on twitter

29
KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter 2014-09-23 Yoshihiko Suhara @sleepy_yoshi 発表後、訓練データの獲得方法について修正しました

Upload: sleepyyoshi

Post on 25-Dec-2014

2.505 views

Category:

Technology


2 download

DESCRIPTION

2014-09-23 KDD2014勉強会の発表資料 https://atnd.org/events/55940

TRANSCRIPT

Page 1: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

KDD2014勉強会:

Large-Scale High-Precision Topic Modeling on Twitter

2014-09-23Yoshihiko Suhara@sleepy_yoshi

※発表後、訓練データの獲得方法について修正しました

Page 2: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

Large-Scale High-Precision Topic Modeling on Twitterby Shuang Yang, Alek Kolcz, Andy Schlaikjer, Pankaj Gupta (Twitter, Inc.)

• 大量に蓄積されるTweetに対して、あらかじめ用意した300+種類の “トピック” 付与問題をマルチラベル問題として解く– いわゆる “Topic Model” な話ではない

– 本発表ではトピックの代わりにタグと表現

• 様々な工夫– 訓練データの自動獲得

– 高速な特徴抽出

– 閾値のチューニング

– タグ階層構造の利用

– など

• Precision 93% (37% coverage) のタグ割り当て精度を達成

Twitterで実運用可能なレベルの高Precisionのタグ割り当て機能を実現

1枚概要Industry paper

2※ Recall 重視の方法については別のpaperがunder review中

Page 3: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (1/6)

3

Page 4: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (2/6)訓練データは半自動獲得します

4

Page 5: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (3/6)各タグごとに2値分類器 (Logistic Regression) を用意します

5

Page 6: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (4/6)閾値のチューニングを行います

6

Page 7: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (5/6)ユーザとのインタラクティブなインタフェースを用いて誤り事例に対してモデルを修正する仕組みを導入しています

7

Page 8: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

システム全体図 (6/6)300+種類のラベルを付与するのは大変なので、タグ毎に{-1,+1} の2値ラベル付与をクラウドワーカに依頼

8

[Industryぽいところ]パラメータチューニングと評価に重点的に人手を利用

Page 9: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

タクソノミの構築ODPやFreebaseをベースに階層構造を持ったトピック分類体系を人手で修正・構築します

• 最大6階層、300+のトピック

階層構造の情報は分類器構築に利用 (後述)9

Page 10: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定様々な工夫をこらしています

• 4.1 Chatter detection• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

10

Page 11: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定

• 4.1 Chatter detection– 単なる「おしゃべり」Tweetの除去 ([3]を利用)

• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

11

Page 12: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定

• 4.1 Chatter detection• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

12

Page 13: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.2 Training data acquisitionCo-training + PU-learning ベースの枠組みで正例、負例を判定し、訓練データを半自動獲得します

• Co-training– 特徴空間を2つに分けてそれぞれの特徴空間で分類器を構築し、一方の予

測結果を反映してもう一方の分類器のラベルありデータとして用いる半教師あり学習

– (1) URLベースの分類器 + (2) Tweet本文の分類器

• PU-learning– 現在のモデルで確信度が閾値以下の事例を負例とみなす半教師あり学習

13

URLを含むTweetのみを対象※一部ラベルあり

※タグごとに2値分類器を用意する方法では co-training で正例を増やせれば、他タグの負例とみなせる安心して負例とみなせる事例を準備するためにPU-learningを使っているものと思われる

Page 14: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.3 Feature extraction単語unigramよりも高速な特徴抽出方法を利用します

• Binary hashed byte 4gram (Byte4gram)

– 訓練データ獲得ではTweet 分類に利用

– 4byteサイズのsliding windowをd次元にハッシュ• d=1,000,081 (?!)

• Hashed unigram frequency (Unigram-logTF-norm)

– 訓練データ獲得ではURL 分類に利用

– 1 characterをハッシュ値に変更して、頻度の対数を利用

14

Page 15: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

[補足] Unigram-logTF-norm の計算方法SpeedyFx [13] を利用

• 文字列をそのまま使うと文字列一致の判定コストが高い

15

Page 16: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.4 Model pretrainingタグ数だけLRを用意して閾値によってタグ付与を判定する方法を採用

• 正則化項にはElastic Net regularizer (L1+L2) を利用

正則化項 尤度

※ 300クラスのMLRって…正規化項 (分母計算) で死ぬ ICML2013読み会の論文

16

Page 17: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.4 Model pretrainingタグ数だけLRを用意して閾値によってタグ付与を判定する方法を採用

• 正則化項にはElastic Net regularizer (L1+L2) を利用

正則化項 尤度

※ 300クラスのMLRって…正規化項 (分母計算) で死ぬ ICML2013読み会の論文

(Twitter社内部のライブラリをひととおり自慢し、速度が大切であることを述べたあとに)

最適化にはバッチ学習を採用と記述17?!

Page 18: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定

• 4.1 Chatter detection• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

18

Page 19: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.5 Relational regularizationトピック分類体系の階層構造をパラメータ学習に利用

• (1) Label expansion– 対象タグの{先祖、子孫}から負例を選択しない– ※タグごとに2値分類器を用意している

• (2) Cost-sensitive learning

– 𝔼 𝑒 𝑦, 𝑦 𝑥 = 𝑐=1𝑘 𝑒𝑦𝑐𝑝( 𝑦 = 𝑐|𝑥)

• 𝑒𝑦𝑐にはtree distance を利用

• (3) Hierarchical regularization

– ペナルティ項を追加:1

2𝜂 𝑐=1

𝑘 𝑤𝑐 − 𝑤parent 𝑐 2

2

性能はどれも同じくらいだったので今回は(1)を採用19

Page 20: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.6 Model calibrationクラウドワーカの判定結果を使って各タグの分類器の閾値を決定します

事前設定の

lower bound

𝑃(𝑦

𝑐|𝒙

)

0

1

Crowd workers

(1) 確信度毎に箱詰め 20

Page 21: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.6 Model calibrationクラウドワーカの判定結果を使って各タグの分類器の閾値を決定します

事前設定の

lower bound

𝑃(𝑦

𝑐|𝒙

)

0

1

Crowd workers

1.00

0.86

0.72

0.69

0.625

ラベル付与

Precision

(1) 確信度毎に箱詰め (2) 判定結果から閾値を決定 21

Page 22: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.6 Model calibrationクラウドワーカの判定結果を使って各タグの分類器の閾値を決定します

事前設定の

lower bound

𝑃(𝑦

𝑐|𝒙

)

0

1

Crowd workers

1.00

0.86

0.72

0.69

0.625

ラベル付与 Precisionの達成目標を

超える最も小さい閾値を選択

Precision

(1) 確信度毎に箱詰め (2) 判定結果から閾値を決定 22

Page 23: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定

• 4.1 Chatter detection• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

23

Page 24: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.8 Diagnosis and corrective learningアノテータに判定を要求し、corrective learningに基づいて重み判定します

24

Page 25: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

補足: Corrective learning [Raman+ 12]特徴空間の排他的な領域ごとにモデルを用意し、各モデルは当該領域に含まれる訓練データのみを用いて生成

• 領域ごとにモデルを用意する分割統治モデル (学習アルゴリズム、領域関数は与える)

• 追加データは対象領域のモデルのみ更新する

モデル分割の話

してなかったけどなぁ…

25

Page 26: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

テキスト分類を用いたタグ判定

• 4.1 Chatter detection• 4.2 Training data acquisition• 4.3 Feature extraction• 4.4 Model pretraining• 4.5 Relational regularization• 4.6 Model calibration• 4.7 Quality evaluation• 4.8 Diagnosis and corrective learning• 4.9 Model fine-tuning

26

Page 27: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

4.9 Model fine-tuning全データを使って構築したモデル𝑤0を事前分布としてきれいな訓練データでモデルを学習します

• 今回は𝛿はCVで決定

27

• きれいな訓練データの作り方については詳細記述なし

Page 28: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

まとめ300+種類のタグを90%+のPrecisionで推定可能なシステムを構築しました

• 90%+ のprecisionを達成– Precision 93%– Tweet Coverage 37%– Topic Coverage 81%

• 本論文で使用したテクニック– Co-training– PU-learning– Elastic Net regularizer– Extreme Fast Feature Extraction– Threshold calibration– Corrective learning

28

Page 29: KDD2014勉強会: Large-Scale High-Precision Topic Modeling on Twitter

おしまい

29