(57)【要約】【課題】自動生成されたようなスパムページであっても、スパムページの判別を適確に行うことを可能とする特徴を算出する。【解決手段】スパム文書を判別するために用いられる特徴を算出するスパム特徴算出装置において、非スパム文書である訓練テキストから、各トピックに対する単語のサンプル数からなるトピックパラメータを算出し、トピックパラメータＤＢに格納するトピック学習手段と、特徴算出の対象となるテキストを所定の単位に分割し、分割テキストの集合を得て、各分割テキストについて、前記トピックパラメータＤＢに格納されたトピックパラメータを用いてトピックベクトルを計算し、トピックベクトル間の差分に基づいて前記特徴を算出する特徴算出手段とを備える。【選択図】図１
2014038393.tif 000002
【特許請求の範囲】
【請求項１】
スパム文書を判別するために用いられる特徴を算出するスパム特徴算出装置であって、
非スパム文書である訓練テキストから、各トピックに対する単語のサンプル数からなるトピックパラメータを算出し、トピックパラメータＤＢに格納するトピック学習手段と、
特徴算出の対象となるテキストを所定の単位に分割し、分割テキストの集合を得て、各分割テキストについて、前記トピックパラメータＤＢに格納されたトピックパラメータを用いてトピックベクトルを計算し、トピックベクトル間の差分に基づいて前記特徴を算出する特徴算出手段と
を備えたことを特徴とするスパム特徴算出装置。
【請求項２】
前記特徴算出手段は、各分割テキストについて、隣接する分割テキストとの間のトピックベクトルの差分を計算することにより、分割テキスト毎のトピックベクトルの変化量を求め、当該変化量に基づいて前記特徴を算出する
ことを特徴とする請求項１に記載のスパム特徴算出装置。
【請求項３】
前記特徴算出手段は、特徴算出の対象となる前記テキストのトピックベクトルを更に計算し、当該トピックベクトルと各分割テキストに対応するトピックベクトルとの差分を計算し、当該差分に基づいて前記特徴を算出する
ことを特徴とする請求項１又は２に記載のスパム特徴算出装置。
【請求項４】
スパム文書を判別するために用いられる特徴を算出するスパム特徴算出装置が実行するスパム特徴算出方法であって、
非スパム文書である訓練テキストから、各トピックに対する単語のサンプル数からなるトピックパラメータを算出し、トピックパラメータＤＢに格納するトピック学習ステップと、
特徴算出の対象となるテキストを所定の単位に分割し、分割テキストの集合を得て、各分割テキストについて、前記トピックパラメータＤＢに格納されたトピックパラメータを用いてトピックベクトルを計算し、トピックベクトル間の差分に基づいて前記特徴を算出する特徴算出ステップと
を備えたことを特徴とするスパム特徴算出方法。
【請求項５】
前記特徴算出ステップにおいて、各分割テキストについて、隣接する分割テキストとの間のトピックベクトルの差分を計算することにより、分割テキスト毎のトピックベクトルの変化量を求め、当該変化量に基づいて前記特徴を算出する
ことを特徴とする請求項４に記載のスパム特徴算出方法。
【請求項６】
前記特徴算出ステップにおいて、特徴算出の対象となる前記テキストのトピックベクトルを更に計算し、当該トピックベクトルと各分割テキストに対応するトピックベクトルとの差分を計算し、当該差分に基づいて前記特徴を算出する
ことを特徴とする請求項４又は５に記載のスパム特徴算出方法。
【請求項７】
コンピュータを、請求項１ないし３のうちいずれか１項に記載のスパム特徴算出装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパム文書を判別する技術の分野に属するものであり、特に、スパム判別器生成に適した特徴を算出するための技術に属するものである。
【背景技術】
【０００２】
ウェブ検索システムのような検索システムにおいては、検索対象の文書を取得し、検索可能にする際に、ユーザの満足度を下げる要因となるスパムページをあらかじめ判別し、除去を行うことがある。この際、日々大量に作成されるスパムページに対応するため、スパム、非スパムのラベルが付与された評価データセット(訓練データと呼ぶ) を元に機械学習手法を用いて判別器を自動生成する方法がある（非特許文献１）。なお本明細書では、以降、スパムページのことをspam、非スパムページのことをhamと呼ぶ。一般的なスパム判別においては、テキストの本文における単語の出現頻度やリンク情報などを特徴として用いる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】G. V. Cormack,"Content-based web spam detection", In Proceedings of AIRWeb'07, 2007.
【非特許文献２】T. L. Griffiths and M. Steyvers, "Finding scientific topics", Proceedings of the National Academy of Sciences, vol. 101 Suppl 1 pp.5228-5235, 2004.
【非特許文献３】T. Fuchi and S. Takagi, "Japanese morphological analyzer using word co-occurence-jtag", Proceedings of COLING-ACL, pp.409-413, 1998.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のスパム分類器生成手法では、主にテキストの本文における単語の出現頻度に基づく特徴を利用していたため、プログラムによって自動生成されたようなページでは、非スパムページを部分的に混在させたような内容になっており、ページの内容からだけではspamかhamか分類が困難であるという課題がある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、自動生成されたスパムページであっても、スパムページの判別を適確に行うことを可能とする特徴を算出する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明は、スパム文書を判別するために用いられる特徴を算出するスパム特徴算出装置であって、
非スパム文書である訓練テキストから、各トピックに対する単語のサンプル数からなるトピックパラメータを算出し、トピックパラメータＤＢに格納するトピック学習手段と、
特徴算出の対象となるテキストを所定の単位に分割し、分割テキストの集合を得て、各分割テキストについて、前記トピックパラメータＤＢに格納されたトピックパラメータを用いてトピックベクトルを計算し、トピックベクトル間の差分に基づいて前記特徴を算出する特徴算出手段とを備えたことを特徴とするスパム特徴算出装置として構成される。
【０００７】
前記特徴算出手段は、例えば、各分割テキストについて、隣接する分割テキストとの間のトピックベクトルの差分を計算することにより、分割テキスト毎のトピックベクトルの変化量を求め、当該変化量に基づいて前記特徴を算出する。
【０００８】
前記特徴算出手段は、特徴算出の対象となる前記テキストのトピックベクトルを更に計算し、当該トピックベクトルと各分割テキストに対応するトピックベクトルとの差分を計算し、当該差分に基づいて前記特徴を算出するようにしてもよい。
【０００９】
また、本発明は、前記スパム特徴算出装置が実行するスパム特徴算出方法、及び、コンピュータを前記スパム特徴算出装置における各手段として機能させるためのプログラムとして構成することもできる。
【発明の効果】
【００１０】
本発明によれば、文や段落などの単位ごとのトピックの変化を特徴として抽出することにより、単語の出現頻度だけに基づく特徴に比べて高精度に自動生成されたスパムページの特徴を表現することが可能となり、自動生成されたようなページを適切に判別するスパム判別器を高精度に生成することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るスパム特徴算出装置１００の機能構成図である。
【図２】トピックスコア計算機能部４０の処理の流れを示すフローチャートである。
【図３】文毎のトピック変化量の計算の概念を示す図である。
【図４】文書全体から見たトピックの整合性の計算の概念を示す図である。
【図５】訓練テキストＤＢ１０のデータ構造の例を示す図である。
【図６】トピックパラメータＤＢ３０のデータ構造の例を示す図である。
【図７】テキストＤＢ５０のデータ構造の例を示す図である。
【図８】予測結果ＤＢ６０のデータ構造の例を示す図である。
【図９】スパム訓練データＤＢ７０のデータ構造の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１３】
＜装置構成＞
図１に、本発明の実施の形態に係るスパム特徴算出装置１００の機能構成図を示す。図１に示すように、本実施の形態に係るスパム特徴算出装置１００は、トピックベクトル評価部１、テキストＤＢ（データベース）５０、予測結果ＤＢ６０、スパム訓練データＤＢ７０、特徴付与機能部８０、特徴追加訓練データＤＢ９０を有する。トピックベクトル評価部１は、訓練テキストＤＢ１０、トピック学習機能部２０、トピックパラメータＤＢ３０、トピックベクトル計算機能部４０を有する。ここでの各ＤＢは、複数のテーブルからなるデータを格納する記憶手段である。
【００１４】
スパム特徴算出装置１００は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、スパム特徴算出装置１００の各部が有する機能は、当該スパム特徴算出装置１００を構成するコンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、各部で実施される処理に対応するプログラムを実行することによって実現することが可能である。より具体的には、プログラムに従って、計算対象の文や単語等のデータをメモリから読み出し、ＣＰＵにより演算を行って、メモリに格納する動作を繰り返しながら処理が実行される。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００１５】
以下、各ＤＢの内容や各機能部の処理について説明する。
【００１６】
＜トピック学習機能部２０＞
トピック学習機能部２０は、訓練テキストＤＢ１０からデータを読み出し、当該データを用いてトピック学習を行い、学習結果をトピックパラメータＤＢ３０に格納する。
【００１７】
図５に、訓練テキストＤＢ１０のデータ構造の例を示す。訓練テキストＤＢ１０にはhamと判定された文書のテキスト情報が格納されている。
【００１８】
図６に、トピックパラメータＤＢ３０のデータ構造の例を示す。トピックパラメータＤＢ３０は、トピック学習機能部２０により実行されるトピックモデルの推論によって得られた各トピックに対する単語のサンプル数の情報を格納している。例えば図６においてトピック１における"野球"が１２個、"カープ"が５個のサンプル数であることを示している。Ｋはあらかじめ設定されたトピック数を表すパラメータである。
【００１９】
トピック学習機能部２０の処理自体は既存技術であり、例えば非特許文献２に記載された技術を用いることができる。
【００２０】
＜トピックスコア計算機能部４０＞
トピックスコア計算機能部４０（特徴算出手段）は、トピックパラメータＤＢ３０から読み出したデータとテキストＤＢ５０から読み出したデータを入力とし、トピックスコア計算を行い、トピックスコア計算の結果を予測結果ＤＢ６０に出力する。
【００２１】
図７にテキストＤＢ５０のデータ構造の例を示す。テキストＤＢ５０にはトピックスコア計算の対象となる文書のテキスト情報が格納されている。図８に予測結果ＤＢ６０のデータ構造の例を示す。予測結果ＤＢ６０には文書毎のスコア（特徴）が格納される。各スコアの算出方法は後述する。
【００２２】
以下、図２のフローチャートを参照して、トピックスコア計算機能部４０が実行する処理の流れを説明する。
【００２３】
ステップ１）テキストＤＢ５０から未処理のレコードを取得し、文単位に分割した集合をSとする。文単位への分割には例えば非特許文献３に記載された技術を用いることができる。なお、本実施の形態では、文単位への分割を行うこととしているが、これは一例に過ぎず、文単位以外を分割単位としてもよい。例えば、段落単位を抽出する装置があれば、段落単位に分割して本発明に係る特徴算出技術を利用することも可能である。本明細書では一例として、文という単位を用いて説明を行う。なお、分割されたもの（文、段落等）を「分割テキスト」と呼ぶことができる。ある文書のスコア計算に用いるトピックベクトル情報を含むトピック行列Zを初期化する。
【００２４】
ステップ２）Sから未処理の文を取得し、sとする。
【００２５】
ステップ３）sに含まれる各単語についてトピックパラメータＤＢ３０を元にトピックベクトルの計算を行う。ここでsを各単語に分割するには、例えば非特許文献３に記載された技術を用いることができる。トピックj（jは1以上の整数）に対するsi（iは1以上の整数）のトピック確率は
【数１】
2014038393.tif 000003
【００２６】
で計算することができる。式（１）において、αはあらかじめ設定されたパラメータであり、例えばα=0.01を用いる。ni,jは文iに含まれる単語のトピックjにおける総サンプル数であり、
【数２】
2014038393.tif 000004
【００２７】
で計算される。式（２）において、tは文siに含まれる単語であり、count(j, t)はトピックパラメータＤＢ３０においてトピックＩＤがj、単語がtに該当するレコードのサンプル数を表す。
【００２８】
これを元に文siに対応するトピックベクトルは、
【数３】
2014038393.tif 000005
【００２９】
で計算することができる。計算されたトピックベクトルzsiをトピック行列Zに追加する。トピック行列Zは、各行がトピックベクトルの転置になるような行列である。すなわち、
【数４】
2014038393.tif 000006
【００３０】
で表現される。ただし、ここでMは文書に含まれる文の数を表す。
【００３１】
ステップ４）Sに未処理の文がある場合にはステップ２に戻り、次の文の処理に移る。そうでない場合にはステップ５に進む。
【００３２】
ステップ５）トピック行列Zを元にスコアの計算を行う。本ステップでは、（１）文毎のトピック変化量と、（２）文書全体から見たトピックの整合性の２つの観点のスコアを計算する。なお、（１）の文毎のトピック変化量と、（２）文書全体から見たトピックの整合性のどちらか一方のみでスコアを計算することとしてもよい。また、スコアの算出手法は、（１）と（２）に限られるわけではない。
【００３３】
（１）の文毎のトピック変化量の計算では、トピック行列Zに含まれるトピックベクトルzsnとzsn+1の差分に基づいて計算を行う。ここで、トピックベクトル同士の差の計算には例えばKullback-Leibler divergence (KLd) を用いて以下のとおり計算することができる。
【数５】
2014038393.tif 000007
【００３４】
KLdは非対称であることに注意する。図３に、文毎のトピック変化量の計算の概念を示す。図３は、隣接する文に対応するトピックベクトルであるzs1とzs2の差分をKLdで計算することが示されている。
【００３５】
トピックベクトル同士の差の計算にKLdを用いる代わりに、以下のようにJensen-Shanon divergence (JSd)を用いてもよい。
【数６】
2014038393.tif 000008
【００３６】
上記のようにして文毎の変化量を算出し、文毎の変化量の平均と分散を計算し、平均をスコア１、分散をスコア２とする。また変化量の合計値を計算し、スコア３とする。
【００３７】
前述した（２）の文書全体から見たトピックの整合性に基づくスコアの計算では、まず文書全体のトピックベクトルを利用する。文書全体のトピックベクトルは
【数７】
2014038393.tif 000009
【００３８】
で計算することができる。ここでNd,jは文書dに含まれるトピックjの単語の総サンプル数を表す。このトピックベクトルをzdとする。
【００３９】
zdと各文に対応するトピックベクトルzs1, zs2,..... との差分をKLdを用いて計算し、差分の平均と分散を計算する。平均をスコア４、分散をスコア５とする。また変化量の合計値をスコア６とする。
【００４０】
図４に、文書全体から見たトピックの整合性の計算の概念を示す。図４には、文書d1のトピックベクトルと、文s1及び文s2のトピックベクトルとの差分を計算することが示されている。
【００４１】
上記のようにして、スコア１からスコア６を計算したら、計算したスコア１からスコア６までの値を文書ＩＤと共に予測結果ＤＢ６０に格納する。
【００４２】
ステップ６）テキストＤＢ１０に未処理のレコードがある場合にはステップ１に戻り次のレコードの処理に移り、そうでなければ処理を終了する。
＜特徴付与機能部８０＞
特徴付与機能８０は、予測結果ＤＢ６０のデータとスパム訓練データＤＢ７０のデータを入力とし、特徴追加スパム訓練データを特徴追加スパム訓練データＤＢ９０に格納するする。この機能としては、例えば非特許文献１に記載された技術を用いることができる。
【００４３】
スパム訓練データＤＢ７０のデータ構造の例を図９に示す。スパム訓練データＤＢ７０は１レコードに１事例の情報を格納しており、事例ID、スパムラベルと特徴べクトルのカラムで構成されている。ここで事例とは、スパム判定の単位である文書のことを表し、判定されたスパムラベルyと、M次元の特徴ベクトルxT =(x1, x2, ..., xM)の情報を持つ。スパムラベルy∈{+1, −1} は、spamの場合+1、hamの場合−1とする。図９ではspam、hamで表している。特徴ベクトルには例えば、当該ページに含まれている単語情報やリンク情報などを用いる。特徴ベクトルの各カラムは、当該事例の特徴ベクトルxの値を格納している。
【００４４】
特徴追加スパム訓練データＤＢ９０は、スパム訓練データＤＢ070において予測結果ＤＢ６０（図８）のスコアを新たなカラムとして追加したものである。なお、文字種単位のスコアが別途計算されていた場合に、上記カラムとは別のカラムとして追加が可能である。  
特徴追加スパム訓練データＤＢ９０を用いて既存のスパム分類器生成手法を用いてスパム判別器を生成することが可能である。スパム分類器生成手法には、例えば非特許文献１に記載された技術を用いることができる。
【００４５】
（実施の形態のまとめ）
上述したように、本実施の形態では、トピックベクトル計算機能部４０を備え、（１）文毎のトピック変化量と、（２）文書全体から見たトピックの整合性の２つの観点のスコアを計算することとしている。これにより、文書内のトピックの変化及びトピックの整合性を特徴として抽出することが可能となり、単語の出現頻度だけに基づく特徴に比べて高精度に自動生成されたスパムページの特徴を表現することが可能となる。
【００４６】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００４７】
１  トピックベクトル評価部
１０  訓練テキストＤＢ
２０  トピック学習機能部
３０  トピックパラメータＤＢ
４０  トピックベクトル計算機能部
５０  テキストＤＢ
６０  予測結果ＤＢ
７０  スパム訓練データＤＢ
８０  特徴付与機能部
９０  特徴追加訓練データＤＢ
１００  スパム特徴算出装置
【図１】
2014038393.tif 000010
【図２】
2014038393.tif 000011
【図３】
2014038393.tif 000012
【図４】
2014038393.tif 000013
【図５】
2014038393.tif 000014
【図６】
2014038393.tif 000015
【図７】
2014038393.tif 000016
【図８】
2014038393.tif 000017
【図９】
2014038393.tif 000018