論文読み会 spam detection と question answering & topic modeling
TRANSCRIPT
Spam Detection /Question Answering & Topic Modeling
株式会社サイバーエージェント秋葉原ラボ
角田 孝昭
1
WWW2017 読み会
イントロダクション
自己紹介: 角田 孝昭
● 業務:– アメブロ等を対象としたスパムからの
防御、既侵入スパムの索敵・殲滅
– テキスト ↔ ハッシュタグの推薦
– そのほか、自然言語処理・データ分析周り色々
● 経歴:– 筑波大学大学院 CS 専攻、博士(工学)
評判分析・時系列予測周りの研究をしていました
– 現職 → 上記のような業務へ
● 鳥が好きです(※飼ってません)
2
噛まれている方が登壇者
イントロダクション
どんなセッション?
1. [6C] Spam Detection (4件)
– 様々なスパム = 迷惑行為(e.g. 所謂ステマ・
偽レビュー、アクセス水増し)の検出を対象
2. [6H] Question Answering & Topic Modeling (4件)
– 質問応答(3件)
自然言語質問を解析して応答するシステムの開発/
質問応答ウェブサイト(CQA)での情報抽出・整理
– トピックモデル(1件) 文書群の裏にあるトピック(分野とか)を考慮した
モデルにより文書群を整理
3
イントロダクション
本発表の進行次第
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
2. Spam Detection
5
Spam Detection
どんなセッション?
● 目的: スパムの特徴分析、及び分析に基づく検出
– 一昔前はメールスパム検出が主であったが、現在は様々
なメディア・形態のスパムが跋扈
● 手法: (自然言語処理 +) スパマー行動モデリング
● 傾向
– 新たなスパム形態への対処と言う点で問題設定が新鮮
■ 新たな巨悪(クラウドソーシングやアクセス水増しを行う有料サー
ビス)へいかに対応するか?
– 検出のためのモデル化・分析(feature engineering)が中
心
6
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
もう少し詳しく取り上げます!
Bimodal Distribution and Co-Bursting in Review Spam Detection
目的: レビュースパムの検出
● ステマ問題は万国共通
– レビュー情報はユーザ購買判断の強力な材料
– レビュースパム = 偽レビューを特定の製品・サービスに書
き込んで評価をこっそり上げる/下げる行為が横行
●– 偽レビューに現れる2つの特徴的現象を発見
i. レビュー時間間隔を取ると二峰性(bimodal)になり、
スパム・否スパムで形状が大きく異なる
ii. 同じ商品(群)へ短時間で同時にレビュー(co-bursting)
– 上記特徴を踏まえて HMM を拡張したモデルを提案
8
アイディア・貢献
Bimodal Distribution and Co-Bursting in Review Spam Detection
現象1: レビュー間隔分布の異なり
9
レビ
ュー
数
同一ユーザの前回のレビューからの間隔(※対数)
前投稿から 〜数分まとめてレビュー
書くモード前投稿から 数時間〜
久々にレビュー書くモード
すごくあやしい
あやしい
● 二峰性であることに
基づき、ユーザ状態
を active/inactive の2種類でモデル化
spam/ham
active state
間隔
Labeled HMM を提案(階層ベイズ的なイメージか)
● ユーザ状態を 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)
Bimodal Distribution and Co-Bursting in Review Spam Detection
性能評価 @中国のレストランレビューサイト
11
★ Recall: スパム網羅率, Precision: スパム指摘の精度, F1: R, P の調和平均
いず
れも
高い
ほど
うれ
しい
従来 提案
co-burstingのみ
両方
bimodal のみ
Bimodal Distribution and Co-Bursting in Review Spam Detection
考察・まとめ・雑感
● 考察
– 特に Recall が大きく上昇:テキスト・単体ユーザの行動に基づく検出限界を突破
● まとめ
– レビュー間隔の分布 (bimodal dist.) と co-bursting の特徴を発見 + 活用したモデルを提案 → 性能向上
● 雑感
– 同種のスパムがどの程度あったのだろうか
(特定タイプ/集団のスパムに特化していないか?)
12
3. Question Answering& Topic Modeling
13
Question Answering & Topic Modeling
どんなセッション?
● 目的:– QA: 自然言語応答システムの開発/質問応答ウェブサイ
ト等での情報抽出・整理
– TM: 文書群の潜在的トピックをモデル化して整理
● 手法: 自然言語処理 + α● 傾向: 当セッションは「その他」なのでは…?
– QA: タスクが三者三様
– TM: 発表は今回一件のみ、あまり WWW 的ではないのか
も…?(とは言え、2014年には個別セッションがあった)
14
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
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
もう少し詳しく取り上げます!
Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules
目的: SO 重複質問の検出
● 既出の質問はよろしくない → 検出したい
●– doc2vec, LDA + SO 連想語 (association pair) を素性に
■ 既に重複と分かっている投稿群から association pair を獲得
– extensive evaluation:様々な素性や分類器による性能差を調査
17
アイディア・貢献
既に回答済みマーク
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種類の類似度を素性とする
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
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 (検出精度) の調和平均
Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules
性能評価 - 分類器
● K-NN はさっぱり
– 全素性を同一の重要度としている点でイマイチか
● Random Forest が概ね最も良い
– 様々なタスクに有用だが、本タスクでも有用性が示された
21
ROC curve: 左上ほど良い
★ Recall: 重複検出網羅率, F1: Recall, Precision (検出精度) の調和平均
Detecting Duplicate Posts in Programming QA Communities via Latent Semantics and Association Rules
まとめ・雑感
● まとめ
– 重複質問検出のための3素性を提案、中でも PCQA ドメイ
ン用に提案した association pair がなかなか有効
– extensive evaluation により有効性を確認
● 雑感
– 完全な新手法の提案ではなく、既存手法の組み合わせで
バリューを出しているところが参考になる
■ ドメイン特化の改良 + 詳細な実験による比較がポイントか
– タイトル/本文/組み合わせのどれが効いたか気になる
22