a user-oriented splog filtering based on machine learning
TRANSCRIPT
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– アダルト情報を掲載したブログ
“Gray” Blogs
• アフィリエイト付きブログ– 悪意のあるアフィリエイトではない– レビューがしっかりしてる
• ニュースサイトや BBS のコピーブログ– 最新ニュースや気になるジャンルのニュースをコ
ピーしそのまま転載したブログ– ある 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 articlesAffiliate 12Copy and paste 10Word salad 3Adult 0Non splog 15
How to judge
• 2 次元 4 値の判定軸を採用
被験者の判定傾向を詳細に分析する
スパム度[spam]
情報価値の尺度[value]
1. 有益だった
5. 有益でなかった
1. スパムでない 5. スパ
ム4. どちらかと言えばスパム
2. どちらかと言えばスパムでない
4. どちらかと言えば有益でなかった
2. どちらかと言えば有益だった
17
12
45
0
100
200
300
400
500
600
700
1
2
4
595
55 114
84
96 148126
9
182 198
79
9
678
6054
13
spam
valu
e
judg
e_co
unt
40 件の共通記事における判定結果
12
45
0
10
20
30
40
50
60
70
80
90
1
2
4
5
38
27
67
41
4657
49
5
2335
14
1
81
95
2
spam
judg
e_co
unt
valu
e
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 DimensionFeature Name Number of Dimension
Bag-of-words 9,014
Bag-of-anchors 4,014
Bag-of-urls 3,091
Bag-of-kolaris 16, 119
軽量的数値特徴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 etc8. 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 パターン全ての特徴において各被験者ごとに学習を行い評価する
Bag-of-words における学習結果
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 380
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-anchors における学習結果
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 380
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-urls における学習結果
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 380
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
Bag-of-kolaris における学習結果
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 340
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
軽量的数値特徴における学習結果
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 280
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
複合特徴における学習結果
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 380
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
linear polynomial rbf sigmoid
User’s ID
Splog’s F-measure
考察• 若干ではあるが「 bag-of-urls 」の精度が良
かったが、全体として見ればあまり特徴の変化に差は生じなかった
• カーネルの変化により SplogF 値が大きく変化する被験者が多くみられた
• 「 bag-of-kolaris 」と「複合特徴」の結果はほぼ同様であった
ユーザ適応では軽量的数値特徴でも効果あり
ユーザごとには最適なカーネルが存在する
複合特徴においては軽量的数値特徴の影響がない
最適特徴の算出• 「最適なカーネル」と「最適な特徴」を各被験者ごとに算出する
• SplogF 値を元に算出する– もし、 SplogF 値が同一の場合下記のランク表
を元に特徴抽出コストが掛らない特徴を優先する
Rank Feature Name
1 軽量的数値特徴2 Bag-of-urls
3 Bag-of-words
4 Bag-of-anchors
5 Bag-of-kolaris
6 複合特徴
ランク表
「最適カーネル」と「最適特徴」の出現回数
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 値
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 380
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
User’s ID
Splog’s F-measure
0.316
Conclusion
• ユーザからの直接の判定情報を収集しユーザ適応型 Splog フィルタリングの作成した
• 2 つの特徴「 Kolari 特徴」「軽量的数値特徴」を使用しユーザ適応型に適応することで、軽量的特徴の有効性を述べた
• 各ユーザには「最適なカーネル」による「最適な特徴」を提供することが有効であると述べた