a user-oriented splog filtering based on machine learning
DESCRIPTION
Authors : Takayuki Yoshinaka, Tomohiro Fukuhara, Hidetaka Masuda, Hiroshi NakagawaTRANSCRIPT
A User-Oriented Splog Filtering Based on Machine Learning
○Tokyo Denki University : Takayuki YoshinakaUniversity of Tokyo : Tomohiro Fukuhara
Tokyo Denki University : Hidetaka MasudaUniversity of Tokyo : Hiroshi Nakagawa
Agenda
• Back ground
• Collect data sets from users
• Feature
• Experiment of A User-Oriented Splog Filtering
• Conclusion
Background
• スパムブログ(Splog)の大量発生
• ブログはユーザの興味や嗜好により必要とする情報が異なる
• “Gray blogs”の出現
– ユーザごとに判断が異なる
– 一概に判断がつけられない
このようなブログの特性とユーザの興味や嗜好に対応できる柔軟なフィルタが必要である
“A User-Oriented Splog Filtering”
Splog
• Affiliate Type
– ブログ記事中に悪意のあるアフィリエイトリンクを埋め込んだ商用目的のブログ
• 大量生成 Type– ブログ記事を一度に大量に生成しばらまく
– 「Copy and Paste Type」 and 「Word Salad」
– サイト誘導による商用目的
• Adult Type– アダルト情報を掲載したブログ
Affiliate Type
5
Copy and Paste Type
6
Word Salad Type
7
“Gray” Blogs
• アフィリエイト付きブログ– 悪意のあるアフィリエイトではない
– レビューがしっかりしてる
• ニュースサイトやBBSのコピーブログ
– 最新ニュースや気になるジャンルのニュースをコピーしそのまま転載したブログ
– あるBBSにおけるスレッドをブログサイトに転載
• 日誌などのプライベートな記事も・・・(?)
言わば、コピーによるまとめブログサイト
Blog+AffiliateBlogger’s Review
Affiliate link
C&P from BBSContents of BBS
A User-Oriented Splog Filtering
• ユーザからの直接の判定情報を収集
• 特徴の選定
– 従来のSplogフィルタリングで使用される特徴(Kolari特徴)
– 我々が提案する特徴(軽量的数値特徴)
• SVMを用いて学習モデルの作成
– 上記2つの収集したデータを用いて学習を行う
A User-Oriented Splog Filter
CommonFilter
ServerClient
Offer by Service (Web App etc.)
Collect Data
WebFeedback from Users and Re-learning Part of Filter
Learning Module
Each user’s Filter
Feature Selection
A User-Oriented Splog Filtering System (Over View)
Agenda
• Back ground
• Collect data sets from users
• Feature
• Experiment of A User-Oriented Splog Filter
• Conclusion
Collect data sets from users
• ユーザからの直接の判定情報を収集することでユーザ適応型Splogフィルタリングのデータとして利用する
• 被験者50人を募り、50件のテストブログ記事に対して判定を行わせる
以下– user’s attributes– test blog articles
について説明を行う
User’s attribute
2%
58%
28%
10%
2%
44%
34%
18%
2% 2%
Age Work
25-29 age
30-34 age
35-44 age
Over 55 age 21-24 age
コンピュータ関連技術職
事務職、事務専門職
販売、サービス職
管理職 取締役
Test blog articles
• 2種類のテスト記事を用意– 40件の共通記事
• 被験者間で全員が共通に判定を行うテスト記事
– 10件の個別記事• 被験者ごとに個別に選択が行えるテスト記事
• 14カテゴリから2カテゴリを選択し判定を行う
Type Number of articles
Affiliate 12
Copy and paste 10
Word salad 3
Adult 0
Non splog 15
How to judge
• 2次元4値の判定軸を採用
被験者の判定傾向を詳細に分析する
スパム度[spam]
情報価値の尺度[value]
1. 有益だった
5. 有益でなかった
1. スパムでない5. スパム
4. どちらかと言えばスパム
2. どちらかと言えばスパムでない
4. どちらかと言えば有益でなかった
2. どちらかと言えば有益だった
17
Result
1
2
4
5
0
100
200
300
400
500
600
700
12
45
95
55114
84
96 148126
9
182 198
79
9
678
6054
13
spam
jud
ge_c
ou
nt
40件の共通記事における判定結果
1
2
4
5
0
10
20
30
40
50
60
70
80
90
12
45
38
27
67
41
46
57
49
5
23
35
14
1
81
95
2
spam
jud
ge_c
ou
nt
10件の共通記事における判定結果
• Back ground
• Collect data sets from users
• Feature
• Experiment of A User-Oriented Splog Filter
• Conclusion
Agenda
Feature
• 2種類のFeatureを使用する
– 従来のSplogフィルタリングで使用される特徴(Kolari特徴)
– 我々が提案する特徴(軽量的数値特徴)
• 狙い
– Kolari特徴をユーザ適応型に適応した場合にどのような傾向を表すのかを調査する
– 2種類の特徴を比較することで軽量的特徴の有効性を示唆したい
Kolari特徴• Bag-of-words
– 品詞に関係なく抽出した形態素群
– 値にはTFIDFを用いる
• Bag-of-anchors– <A>タグに囲まれた部分のテキスト情報
• <a href=http://affiliate.com >この部分</a>
– 値にはBinary(1 or 0)を用いる
• Bag-of-urls– 全URL情報を「.(ドット)」「/(スラッシュ)」で分割したもの• http://www.cdl.im.dendai.ac.jp/yoshinaka⇒
• 「cdl」「im」「dendai」「ac」「jp」「yoshinaka」(「http://」「www.」は除く)
Kolari特徴
• Bag-of-kolaris
– 「bag-of-words」「bag-of-anchors」「bag-of-urls」を複合した特徴
• Number of Dimension
Feature Name Number of Dimension
Bag-of-words 9,014
Bag-of-anchors 4,014
Bag-of-urls 3,091
Bag-of-kolaris 16, 119
軽量的数値特徴
• 我々が提案する特徴
• 全12次元であり、かつ抽出が容易に行える
• Kolari特徴同様全ての特徴はブログのHTMLデータから抽出が可能
軽量的数値特徴
Feature Name Abstract
1. Count-of-keywords ブログ本文内のみの名詞の数
2. Count-of-circle 「。」の数
3. Count-of-point 「、」の数
4. Count-of-length ブログHTMLデータの文字列長
5. Count-of-noTag-length タグを除いたブログHTMLデータの文字列長
6. Count-of-br <BR>タグの数
7. Count-of-inlink 同一ブログ記事内へのリンク数 ex.) comment, archive etc
8. Count-of-outlink 同一ブログ記事以外へのリンク数
9. Count-of-image 画像数
10. Count-of-height 存在する全ての画像における高さの平均値
11. Count-of-weight 存在する全ての画像における幅の平均値
12. Count-of-affiliateID アフィリエイト識別番号の数 ex.) GoogleAds, amazon, rakulten
複合特徴
• Kolari特徴と軽量的特徴を複合した特徴
– 複合特徴=「bag-of-kolari」+「軽量的数値特徴」
• 次元数
– 16,119 + 12 = 16, 131
「bag-of-words」「bag-of-anchors」「bag-of-urls」「bag-of-kolaris」「軽量的数値特徴」「複合特徴」
6パターンの特徴を使用
つまり全部で
Agenda
• Back ground
• Collect data sets from users
• Feature
• Experiment of A User-Oriented Splog Filtering
• Conclusion
Experiment
• 学習ツールLibSVMを用い、5分割交差検定により評価を行う
• カーネルは「Linear kernel」「Polynomial kernel(3D)」「RBF kernel」「Sigmoid kernel」にて行う– オプションは全てデフォルト値を用いる
• 評価の値には学習結果のSplogにおけるF値を用いる
• 6パターン全ての特徴において各被験者ごとに学習を行い評価する
Result
Bag-of-wordsにおける学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 5 44 39 47 8 40 1 6 41 7 37 10 15 24 21 19 35 45 11 4 12 26 20 49 17 13 29 23 14 22 16 27 18 32 2 43 31 30 25 9 36 48 33 28 3 42 34 38
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-anchorsにおける学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 44 5 39 47 1 6 40 8 41 7 15 10 35 37 11 21 24 45 12 19 4 26 20 49 29 13 17 22 14 23 27 16 18 2 32 25 9 43 31 30 36 33 48 42 28 34 3 38
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-urlsにおける学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 5 44 39 47 1 35 8 40 41 6 11 7 15 37 24 10 21 49 17 12 4 45 19 20 26 29 22 23 16 13 27 14 18 2 32 9 28 31 43 30 25 48 36 42 34 3 33 38
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-kolarisにおける学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 44 5 47 39 8 1 40 6 41 7 15 37 10 24 21 19 45 35 4 11 12 26 20 49 17 29 13 14 22 23 16 18 27 32 2 31 43 25 30 48 36 9 33 28 42 3 38 34
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
軽量的数値特徴における学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 44 5 39 47 35 1 6 41 15 40 11 21 8 24 7 10 37 49 19 12 17 4 45 22 26 20 27 13 14 18 29 32 2 23 16 43 9 36 30 42 33 34 48 38 3 25 31 28
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
複合特徴における学習結果
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 5 44 39 47 1 8 6 40 41 7 15 37 10 24 21 19 35 45 4 11 12 26 20 17 49 29 13 14 22 23 16 18 27 32 2 31 43 25 30 48 36 9 33 28 42 3 34 38
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
考察
• 若干ではあるが「bag-of-urls」の精度が良
かったが、全体として見ればあまり特徴の変化に差は生じなかった
• カーネルの変化によりSplogF値が大きく変化する被験者が多くみられた
• 「bag-of-kolaris」と「複合特徴」の結果はほぼ同様であった
ユーザ適応では軽量的数値特徴でも効果あり
ユーザごとには最適なカーネルが存在する
複合特徴においては軽量的数値特徴の影響がない
考察
• 特徴の変化によっても被験者ごとにSplogF値が変化しているユーザごとに最適な特徴が存在する
各被験者ごとの「最適なカーネル」における「最適な特徴」を算出する
そこで
最適特徴の算出• 「最適なカーネル」と「最適な特徴」を各被験者ごとに算出する
• SplogF値を元に算出する
– もし、SplogF値が同一の場合下記のランク表
を元に特徴抽出コストが掛らない特徴を優先する
Rank Feature Name
1 軽量的数値特徴
2 Bag-of-urls
3 Bag-of-words
4 Bag-of-anchors
5 Bag-of-kolaris
6 複合特徴
ランク表
Result
「最適カーネル」と「最適特徴」の出現回数
Feature Name Count
1. Bag-of-words 3
2. Bag-of-anchors 2
3. Bag-of-urls 14
4. Bag-of-kolaris 3
5. 軽量的数値特徴 27
6. 複合特徴 0
kernel Count
1. Linear 16
2. Polynomial 23
3. RBF 9
4. Sigmoid 1
Feature
kernel
Pair Count
1-1 2
1-2 1
2-1 2
3-1 2
3-2 11
3-4 1
4-1 1
4-2 2
5-1 9
5-2 9
5-3 9
Pair
「最適カーネル」と「最適特徴」における各被験者ごとのSplogF値
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
46 44 5 39 47 1 15 24 35 8 10 21 6 40 7 41 49 11 19 37 17 12 4 20 45 22 26 14 29 13 23 27 16 2 32 18 31 36 43 48 30 25 9 28 42 3 33 34 38
User’s ID
Splog’s F-measure
0.316
Conclusion
• ユーザからの直接の判定情報を収集しユーザ適応型Splogフィルタリングの作成した
• 2つの特徴「Kolari特徴」「軽量的数値特
徴」を使用しユーザ適応型に適応することで、軽量的特徴の有効性を述べた
• 各ユーザには「最適なカーネル」による「最適な特徴」を提供することが有効であると述べた
Feature Work
• 規模の拡大
– 判定情報データセットの拡大
– 大規模なテストデータを作成してのユーザ適応型フィルタの評価
• 特徴選定
– 軽量的数値特徴の拡充