第 4 章 コピー文字列検出に基づ いた splog filterいたsplog filter
4.7 実験結果
4.7.4 処理性能と考察
第 4 章 コピー文字列検出に基づいたsplog filter
0 200 400 600 800 1000 1200
㪇 㪌 㪈㪇 㪈㪌 㪉㪇 㪉㪌 㪊㪇
ታⴕᤨ㑆(msec)
length
図 4.11: 最小コピー文字列長と処理時間
いうことを示している可能性がある.
図 4.12: Suffix Array構築時間-文書数
図 4.13: Suffix Array構築時間-データ量
一方,長い文字列を接頭辞とする接尾辞は少なく,高速に出現頻度を求め ることができる.例えば,ブログエントリ中で,長さ H 以下の部分文字 列の総数は, ブログエントリの長さに対してはほぼ線形に比例する.こ のため,ブログエントリ長に対するコストの増加量は線形に近いものと なるためである.
4.7.5 スパムテンプレート 検出法との比較
splogフィルタリングには,splogのさまざ まな特徴を用いることが考
えられる.例えば ,平均的にblogよりもsplogの方がコンテンツ長が長 く,本研究で作成したコーパスでは,blog の平均の長さは488.299 文字 に対して,splogの平均の長さは2263.331文字であった.
第 4 章 コピー文字列検出に基づいたsplog filter
0 5000 10000 15000 20000 25000 30000
0 500 1000 1500 2000 2500
ታⴕᤨ㑆(msec)
ࡉࡠࠣࠛࡦ࠻㐳
図 4.14: ブログエントリの長さと処理時間
そこで,ブログのコンテンツ長を特徴量とするフィルタリング法との 比較を試みた.しかし ,この方法のフィルタリング性能は,提案手法よ りもかなり劣っていた.そこで,本論文では,成澤ら[51]が提案したス パムテンプレート検出法を用いたフィルタリング法との比較を行う.ま ず,文献[51]の方法にもとづいて,下記の手順でスパムテンプレートを 検出する.
1. コーパスのSuffix Array を構築し 部分文字列の数え上げによって ジップ則に反する最も出現頻度の高い文字列を検出する.この出現 頻度をfsとする.
2. 出現頻度 fs の部分文字列の中で最長の文字列を検出する.この文 字列をsとする
3. sをコーパスから除去するとともに,スパムテンプレートとして保 存する
4. (1)に戻る
この操作をN回繰り返し,N種類のスパムテンプレートを検出した.こ のようにして得られたスパムテンプレートを含むブログエントリをsplog と判定した.検出するスパムテンプレートの数とフィルタリングの性能 の関係を表 4.10に示す.表に示されているように,スパムテンプレート 数の増加にともなって,フィルタリング性能も向上するが,テンプレー ト数170くらいで,性能の改善がほとんど得られなくなる.これ以上,検
図 4.15: スパムテンプレート検出との比較
出回数を増やすと「よろし くお願いします」「ありがとうございました」
など ,スパムテンプレートではない定型的な語句が出てくるようになり,
フィルタリング性能の劣化が起こるためである.
提案手法では,図4.9や図4.10に示すように最大で0.75程度のF値が 得られており,本論文で行った実験の範囲では,提案手法のほうがsplog フィルタリングに適していた.
スパムテンプレートに基づくsplogフィルタリングは,表4.10 に示さ れているように,少数のテンプレートに関しては高いpresicionを実現で きる.このことから,顕著なスパムテンプレートは正確に発見できてい ることが予想される.一方で,全体的にrecallは非常に低く,splogを広 く検出することができない.
十分な大きさで同一テンプレートをもったsplogがコーパス中になけれ ばならないため,コーパスに表れない多種多様なテンプレートの検出が 難しい.つまり,出現頻度の小さいテンプレートの発見が出来ないため,
高いF値を実現できないと考えられる.図 4.15にこの結果と,提案手法 (Unlabel entries + Search API) 表 4.7のprecision-recallカーブを示す.
第 4 章 コピー文字列検出に基づいたsplog filter
なお,成澤ら [51] の研究は,スパムテンプレートを検出することを主 たる目的としており,本実験でsplogフィルタリングへ適用するあたって,
チューニング等は行わなかった.次章と次節で述べるように,splogのタ イプと手法との適性についてさらに分析をすすめる必要がある.