論文読み会 spam detection と question answering & topic modeling

22
Spam Detection / Question Answering & Topic Modeling 株式会社サイバーエージェント 秋葉原ラボ 角田 孝昭 1 WWW2017 読み会

Upload: cyberagent

Post on 22-Jan-2018

853 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Spam Detection /Question Answering & Topic Modeling

株式会社サイバーエージェント秋葉原ラボ

角田 孝昭

1

WWW2017 読み会

Page 2: 論文読み会 Spam Detection と Question Answering & Topic Modeling

イントロダクション

自己紹介: 角田 孝昭

● 業務:– アメブロ等を対象としたスパムからの

防御、既侵入スパムの索敵・殲滅

– テキスト ↔ ハッシュタグの推薦

– そのほか、自然言語処理・データ分析周り色々

● 経歴:– 筑波大学大学院 CS 専攻、博士(工学)

評判分析・時系列予測周りの研究をしていました

– 現職 → 上記のような業務へ

● 鳥が好きです(※飼ってません)

2

噛まれている方が登壇者

Page 3: 論文読み会 Spam Detection と Question Answering & Topic Modeling

イントロダクション

どんなセッション?

1. [6C] Spam Detection (4件)

– 様々なスパム = 迷惑行為(e.g. 所謂ステマ・

偽レビュー、アクセス水増し)の検出を対象

2. [6H] Question Answering & Topic Modeling (4件)

– 質問応答(3件)

自然言語質問を解析して応答するシステムの開発/

質問応答ウェブサイト(CQA)での情報抽出・整理

– トピックモデル(1件) 文書群の裏にあるトピック(分野とか)を考慮した

モデルにより文書群を整理

3

Page 4: 論文読み会 Spam Detection と Question Answering & Topic Modeling

イントロダクション

本発表の進行次第

1. イントロダクション

2. Spam Detection– セッション概略

– 各発表の1行要約

– ピックアップ解説:“Bimodal Distribution and Co-Bursting in Review Spam Detection”

3. Question Answering & Topic Modeling– セッション概略

– 各発表の1行要約

– ピックアップ解説:“Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules”

4

Page 5: 論文読み会 Spam Detection と Question Answering & Topic Modeling

2. Spam Detection

5

Page 6: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Spam Detection

どんなセッション?

● 目的: スパムの特徴分析、及び分析に基づく検出

– 一昔前はメールスパム検出が主であったが、現在は様々

なメディア・形態のスパムが跋扈

● 手法: (自然言語処理 +) スパマー行動モデリング

● 傾向

– 新たなスパム形態への対処と言う点で問題設定が新鮮

■ 新たな巨悪(クラウドソーシングやアクセス水増しを行う有料サー

ビス)へいかに対応するか?

– 検出のためのモデル化・分析(feature engineering)が中

6

Page 7: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Spam Detection

セッション発表1行要約

● Bimodal Distribution and Co-Bursting in Review Spam Detection

– レビュースパム(ステマ)を対象。レビュー間隔の特徴的分布、

スパマー同士で同じ商品群にレビューしている等の現象を活用

● Detecting Collusive Spamming Activities in Community Question Answering

– QA サイトにおける、クラウドソーシングで結託するスパマーらによるステマを

対象。不正 QA 群の特徴分析に基き高性能化・早期発見を実現

● FLOCK: Combating Astroturfing on Livestreaming Platforms

– ストリーミングサービスにおける不正な視聴数等の水増しを対象。

視聴数を精緻にモデル化し、モデルとの乖離から不正番組/ユーザを推定

● Can You Spot the Fakes? On the Limitations of User Feedback in Online Social Networks

– LinkedIn の不正アカウントを対象。ユーザからのスパム reporting ability をモ

デル化、実データでの検証を通じユーザからの発見の難しさを議論

7

もう少し詳しく取り上げます!

Page 8: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Bimodal Distribution and Co-Bursting in Review Spam Detection

目的: レビュースパムの検出

● ステマ問題は万国共通

– レビュー情報はユーザ購買判断の強力な材料

– レビュースパム = 偽レビューを特定の製品・サービスに書

き込んで評価をこっそり上げる/下げる行為が横行

●– 偽レビューに現れる2つの特徴的現象を発見

i. レビュー時間間隔を取ると二峰性(bimodal)になり、

スパム・否スパムで形状が大きく異なる

ii. 同じ商品(群)へ短時間で同時にレビュー(co-bursting)

– 上記特徴を踏まえて HMM を拡張したモデルを提案

8

アイディア・貢献

Page 9: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Bimodal Distribution and Co-Bursting in Review Spam Detection

現象1: レビュー間隔分布の異なり

9

レビ

ュー

同一ユーザの前回のレビューからの間隔(※対数)

前投稿から 〜数分まとめてレビュー

書くモード前投稿から 数時間〜

久々にレビュー書くモード

すごくあやしい

あやしい

● 二峰性であることに

基づき、ユーザ状態

を active/inactive の2種類でモデル化

spam/ham

active state

間隔

Labeled HMM を提案(階層ベイズ的なイメージか)

Page 10: 論文読み会 Spam Detection と Question Answering & Topic Modeling

● ユーザ状態を co-bursting mode (0/1) の2種類でモデ

ル化

● Labeled HMM に統合

Bimodal Distribution and Co-Bursting in Review Spam Detection

現象2: 短時間窓内の同時レビュー

10

co-bursting突如ある日に

同時に書きまくる

spam/ham

active state

間隔

co-burst mode

co-burst signal

Coupled HMM を提案(signal は時間窓内の同時レビュー数等の6つのmetrics)

Page 11: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Bimodal Distribution and Co-Bursting in Review Spam Detection

性能評価 @中国のレストランレビューサイト

11

★ Recall: スパム網羅率, Precision: スパム指摘の精度, F1: R, P の調和平均

いず

れも

高い

ほど

うれ

しい

従来 提案

co-burstingのみ

両方

bimodal のみ

Page 12: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Bimodal Distribution and Co-Bursting in Review Spam Detection

考察・まとめ・雑感

● 考察

– 特に Recall が大きく上昇:テキスト・単体ユーザの行動に基づく検出限界を突破

● まとめ

– レビュー間隔の分布 (bimodal dist.) と co-bursting の特徴を発見 + 活用したモデルを提案 → 性能向上

● 雑感

– 同種のスパムがどの程度あったのだろうか

(特定タイプ/集団のスパムに特化していないか?)

12

Page 13: 論文読み会 Spam Detection と Question Answering & Topic Modeling

3. Question Answering& Topic Modeling

13

Page 14: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Question Answering & Topic Modeling

どんなセッション?

● 目的:– QA: 自然言語応答システムの開発/質問応答ウェブサイ

ト等での情報抽出・整理

– TM: 文書群の潜在的トピックをモデル化して整理

● 手法: 自然言語処理 + α● 傾向: 当セッションは「その他」なのでは…?

– QA: タスクが三者三様

– TM: 発表は今回一件のみ、あまり WWW 的ではないのか

も…?(とは言え、2014年には個別セッションがあった)

14

Page 15: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Question Answering & Topic Modeling

セッション発表1行要約(1/2)

● Automated Template Generation for Question Answering over Knowledge Graphs

– KG を利用した質問回答システムのため、自然言語文 → KGクエリ変換テン

プレートを distant supervision で自動生成 & 回答性能向上を示す

● A Semantic Graph-Based Approach for Mining Common Topics from Multiple Asynchronous Text Streams

– 複数ソース (stream) からの入力文書群を対象。ソースの差異による、

「文面の違い」と「時間の違い」をそれぞれ解決するモデルと、

それらを統合したトピックモデルを提案

15

Page 16: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Question Answering & Topic Modeling

セッション発表1行要約(2/2)

● Neural Network-based Question Answering over Knowledge Graphs on Word and Character Level

– NN による end-to-end な質問応答手法。単語情報に加え、

out-of-vocabuluary 対策として文字レベルの情報も活用

● Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

– StackOverflow の重複質問の検出を目的。素性に doc2vec, LDA に加え、

SO 特有の連想語リスト (e.g. append - concatenate) を生成し活用

16

もう少し詳しく取り上げます!

Page 17: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

目的: SO 重複質問の検出

● 既出の質問はよろしくない → 検出したい

●– doc2vec, LDA + SO 連想語 (association pair) を素性に

■ 既に重複と分かっている投稿群から association pair を獲得

– extensive evaluation:様々な素性や分類器による性能差を調査

17

アイディア・貢献

既に回答済みマーク

Page 18: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

素性1, 2: doc2vec, LDA

● 問題設定:入力: 2つの質問、出力: 重複質問か? { 0, 1 }– 全組み合わせにやるのは厳しいので共通タグがある

ペアのみを取り上げる(言語名とか; SO は投稿時タグ必須)

● 素性 1, 2: 文書ベクトル表現の cosine 類似度

– doc2vec:word2vec の文書拡張版

– LDA:つよいトピックモデル([19] の単文書強化版を利用)

18

タイトルのみ、本文のみ、両方でベクトル化した3種類の類似度を素性とする

Page 19: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

素性3: 連想対 for PCQA

● PCQA は特有の関連語が

多いドメイン →

1. 重複と既に分かっている

質問タイトル群から連想対を獲得

– 機械翻訳の word alignment の手法を援用 [22]

2. 各連想対の重みを devset で予め学習

– 重複検出に有用か (predictive power) は連想対で異なる

– 重みは簡単な perceptron で学習

19

Page 20: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

性能評価 - 素性

● TF-IDF (VSM) はさっぱり

– 単純に頻度を使うだけでは重複検出は難しいよう

● 提案素性はどれも効いているが連想対素性が最も良い

– 他の「文書全体のベクトル」より連想対の共起が直接効く?

20

TF-IDF

提案

ROC curve: 左上ほど良い

doc2vecLDA

assoc. pair

★ Recall: 重複検出網羅率, F1: Recall, Precision (検出精度) の調和平均

Page 21: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

性能評価 - 分類器

● K-NN はさっぱり

– 全素性を同一の重要度としている点でイマイチか

● Random Forest が概ね最も良い

– 様々なタスクに有用だが、本タスクでも有用性が示された

21

ROC curve: 左上ほど良い

★ Recall: 重複検出網羅率, F1: Recall, Precision (検出精度) の調和平均

Page 22: 論文読み会 Spam Detection と Question Answering & Topic Modeling

Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules

まとめ・雑感

● まとめ

– 重複質問検出のための3素性を提案、中でも PCQA ドメイ

ン用に提案した association pair がなかなか有効

– extensive evaluation により有効性を確認

● 雑感

– 完全な新手法の提案ではなく、既存手法の組み合わせで

バリューを出しているところが参考になる

■ ドメイン特化の改良 + 詳細な実験による比較がポイントか

– タイトル/本文/組み合わせのどれが効いたか気になる

22