ニコニコ動画コメント解析@インターン

16

Click here to load reader

Upload: tomoki-itou

Post on 13-Apr-2017

497 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: ニコニコ動画コメント解析@インターン

ドワンゴインターンシップ成果発表東京大学工学系研究科システム創成学専攻修士 1 年 伊藤 友貴

Page 2: ニコニコ動画コメント解析@インターン

自己紹介• 東京大学大学院工学系研究科システム創成学専攻和泉研究室所属• 経済の研究室

– マルチエージェントシミュレーション– 板情報の異常検知– テキストマイニング– ジオタグ付きツイッターを使った分析

• 卒論は「市場価格変動のハイブリッド力学系モデルの挙動解析」       ( 東京大学工学部計数工学科 )– マルチエージェントシミュレーション , カオス性

• 機械学習の勉強は 4 月から開始

Page 3: ニコニコ動画コメント解析@インターン

目次• 目的• 手法• 結果– 分類精度– 単語抽出

• 結論・今後の課題

Page 4: ニコニコ動画コメント解析@インターン

目的• ニコニコ動画再生数(再生数上位 100 個は除く)•

• 数少ない一部の動画の再生数が多い• 赤線あたりの動画をコメントから推定できる?

Page 5: ニコニコ動画コメント解析@インターン

問題• 0000-0006 の動画を再生数に応じて 3 つに分類

– 再生数が• ラベル 0: 34544 より大きい (1736 動画 )• ラベル 1: 10760.0  以上 34544 以下 (2930 動画 )• ラベル 2: 10760.0 より少ない        (5905 動画 )で分類

• 特徴量は各動画のコメント群より生成– 前処理• 繰り返しの正規化

“ あああああ” → “ああ” , “ パタパタパタパタ” → “パタ” • Unicode 正規化 など

Page 6: ニコニコ動画コメント解析@インターン

特徴量の生成 1. Word2vec の単語ベクトルを利用

– ニコニコ動画データセット 0000-0006 の全コメントをコーパスに作成– 各動画について以下の式でコメント群ベクトルを作成

2. Bag-of-words + 正規化3. Bag-of-words + lsi ( 次元削減 )4. K-means による次元削減 ( Yanhong YUAN, Liming HE, Li PENG, Zhixing HUANG , 2014)∗

– Word2vec を利用した k-means ( 単語群抽出に有用 )– 距離関数はコサイン類似度

コメント群ベクトル 単語ベクトル(正規化済み )単語の重み

Page 7: ニコニコ動画コメント解析@インターン

実験 1: 全コメントを利用• 各動画の全コメントを利用して分類(交差検定 )        SVM ( rbf )                       LinearSVM  

• 動画毎にとって来るコメント数にばらつきあり• 分類可能?• 最初の数コメントで分類できる?

ラベル 適合率 再現率 F値0 0.76 0.80 0.78

1 0.59 0.62 0.60

2 0.80 0.72 0.76

平均 0.72 0.71 0.71

訓練誤差 0.19

正解率 0.71

ラベル 適合率 再現率 F値0 0.68 0.85 0.76

1 0.60 0.40 0.48

2 0.72 0.78 0.75

平均 0.67 0.68 0.66

訓練誤差 0.30

正解率 0.68

Page 8: ニコニコ動画コメント解析@インターン

実験 2: 使用するコメントの数を制限• 最初の n コメントから特徴量生成 (n = 10, 100, 500, 700, 1000)• Bag-of-words による分類の結果 (() 内はラベル 0 ), linearSVM• 動画数はバランス後の動画数の総数

コメント数

適合率 再現率 F値 正解率 動画数10 0.37(0.37) 0.37(0.38) 0.37(0.37) 0.37 1736

100 0.42(0.45) 0.42(0.46) 0.42(0.45) 0.42 1732

500 0.48(0.50) 0.48(0.49) 0.48(0.49) 0.48 1674

700 0.51(0.52) 0.51(0.49) 0.51(0.50) 0.51 957

1000 0.48(0.48) 0.49(0.44) 0.48(0.46) 0.48 465

500 コメントあれば分類できる気がする…

Page 9: ニコニコ動画コメント解析@インターン

実験 2: 使用するコメントの数を制限• Word2vec (200 次元 ) のベクトル利用時( linearSVM )

コメント数 重み 適合率 再現率 F値 正解率 動画数10 0.37(0.37) 0.37(0.39) 0.37(0.38) 0.37 5208

tf-idf 0.37(0.35) 0.36(0.71) 0.32(0.47) 0.36100 0.41(0.42) 0.41(0.49) 0.40(0.45) 0.41 5196

tf-idf 0.39(0.41) 0.39(0.48) 0.39(0.44) 0.39500 0.49(0.50) 0.50(0.60) 0.49(0.54) 0.50 1674

tf-idf 0.46(0.47) 0.47(0.56) 0.46(0.51) 0.47700 0.50(0.52) 0.52(0.62) 0.50(0.57) 0.50 957

tf-idf 0.48(0.50) 0.48(0.55) 0.48(0.52) 0.481000 0.51(0.54) 0.51(0.61) 0.51(0.57) 0.51 465

tf-idf 0.50(0.50) 0.51(0.54) 0.50(0.52) 0.51

500 コメントあれば分類できそう

Page 10: ニコニコ動画コメント解析@インターン

結果(最初の 500 コメント利用) ラベル 0: 1615 動画 , ラベル 1: 1490 動画 , ラベル 2: 558 動画 , () 内はラベル 0特徴量 分類器 適合率 再現率 F値 テスト誤差 正解率word2vec (50) LinearSVM 0.50(0.50 ) 0.51(0.59) 0.50(0.54) 0.31 0.51

word2vec (200) LinearSVM 0.50(0.50) 0.51(0.59) 0.50(0.54) 0.31 0.50

Bow LinearSVM 0.53(0.53) 0.54(0.54) 0.53(0.53) 0.02 0.53

lsi LinearSVM 0.51(0.52) 0.51(0.52) 0.51(0.52) 0.24 0.51

K-means(500) LinearSVM 0.47(0.48 ) 0.48(0.47) 0.47(0.47) 0.43 0.46

K-means(1000) LinearSVM 0.48 (0.49) 0.49 (0.51) 0.48 (0.50) 0.29 0.49

Word2vec (50) SVM (rbf) 0.50 (0.51) 0.50 (0.59) 0.49 (0.55) 0.44 0.50

Word2vec (200) SVM (rbf) 0.54(0.55) 0.55 (0.60) 0.54 (0.57) 0.26 0.55

Bow SVM (rbf) 0.52(0.53) 0.53 (0.54) 0.53 (0.54) 0.0 0.53

lsi SVM (rbf) 0.54(0.53) 0.54(0.57) 0.54(0.55) 0.0 0.54

K-means (500) SVM (rbf) 0.51(0.51 ) 0.51(0.54 ) 0.51(0.53) 0.17 0.52

K-means (1000) SVM (rbf) 0.50(0.49 ) 0.50 (0.56) 0.50 (0.52) 0.00 0.50

Page 11: ニコニコ動画コメント解析@インターン

単語抽出   LinearSVM を利用• Bag of words, K-means, LSI– 重みの大きい組成を抽出することで単語 ( 群 ) を抽出

• Word2vec– LinearSVM の 重みの大きい組成を抽出– プラスの重みが大きい組成からは正の成分が大きい単語を抽出– マイナスの重みが大きい組成からは負の成分が大きい単語を抽出

Page 12: ニコニコ動画コメント解析@インターン

重要プラス単語抽出 ( 主観で抜粋 )

取れた単語が多すぎるので一部紹介• Bag of words

– ゃったあ,吊 , ダレ , 即死 , ゃああ• Word2vec

– ぉおお , トラウマゲー , ハゲワロス,テラワロスー• LSI

– "sdk”, • K-means– だっせ , きめ , すげ ,泣け , らめぇ , ドゴォォ ,びちゅうう ,やせ ,盛り上がっ , 多感 , すき , 大好き , カッコイイ , サティィ , ,お祈り ,追悼

Page 13: ニコニコ動画コメント解析@インターン

重要プラス単語抽出 (感想 )• K-means – ワード群に一貫性あり– 感情の入るような単語が影響しやすい?– 現状だとポジティブ単語とネガティブ単語が混在– 分類の精度低い

• Bag of words, LSI, Word2vec– 単語の一貫性が主観的にはわかりにくい

• 結論:– 再生数にプラスの影響を及ぼす単語の傾向がよくわからない– 感情極性のある単語?

Page 14: ニコニコ動画コメント解析@インターン

結論・ 今後の課題• 500 コメント集まれば再生数の分類ができそう                      ( 3 分類で正解率 0.55 )• K-means と word2vec を用いた手法には分類精度の面で改善が必要– クラスタ数 (K-means) を増やす– 単語極性( Positive, Negative, Neutral )の考慮した特徴量の作成

Page 15: ニコニコ動画コメント解析@インターン

その他 : コメント数の分類• 各動画の最初の 500 コメントを利用してコメントの伸びを分類

ラベル 0: コメント数 5000~ ( 動画数 624)ラベル 1: コメント数 1000~5000 ( 動画数 1720)ラベル 2: コメント数 500~1000 ( 動画数 1319)

• 特徴量には Word2vec のベクトルを利用ラベル 適合率 再現率 F値0 0.59 0.64 0.611 0.46 0.41 0.442 0.54 0.55 0.55

平均 0.53 0.53 0.53

訓練誤差 0.26

正解率 0.53

ラベル 適合率 再現率 F値0 0.54 0.57 0.55

1 0.45 0.39 0.42

2 0.50 0.53 0.52

平均 0.50 0.50 0.50

訓練誤差 0.37

正解率 0.50

SVM(rbf) LinearSVM

ラベル 0 については精度よく分類可能

Page 16: ニコニコ動画コメント解析@インターン

今後の抱負• もっと勉強して優秀になる!

 なんて言われないように頑張ります!