(57)【特許請求の範囲】
【請求項１】
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類する方法であって、
プロセッサが、前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とに基づいて、前記教師データに含まれる特徴量が前記データの分布の前記分類項目に出現する出現確率を算出する算出工程と、
プロセッサが、前記算出された各特徴量の前記出現確率に基づいて、前記教師データに含まれる特徴量の値の内、採用する値を判定し、前記教師データの採用した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する生成工程と、
プロセッサが、前記分類の対象とする複数のデータを、前記生成した規則に基づいて分類する分類工程と、を有するデータ分類方法。
【請求項２】
請求項１において、
前記生成工程では、前記特徴量の第１の分類項目の前記出現確率に基づいて前記複数の教師データの前記第１の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定し、前記特徴量の第２の分類項目の前記出現確率に基づいて前記複数の教師データの前記第２の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定するデータ分類方法。
【請求項３】
請求項１または２のいずれかにおいて、
前記生成工程は、前記生成した規則に基づく前記複数の教師データの前記分類項目への分類結果の精度が所定の基準に達するまで繰り返されるデータ分類方法。
【請求項４】
請求項３において、
前記生成工程では、前記複数の教師データを繰り返し使用する場合、一回、前記特徴量の前記出現確率に基づいて取得した特徴量の値に基づいて前記規則を生成するデータ分類方法。
【請求項５】
請求項３において、
前記生成工程では、前記複数の教師データを繰り返し使用する場合、毎回、前記特徴量の前記出現確率に基づいて取得し直した特徴量の値に基づいて前記規則を生成するデータ分類方法。
【請求項６】
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類する処理であって、
前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とに基づいて、前記教師データに含まれる特徴量が前記データの分布の前記分類項目に出現する出現確率を算出し、
前記算出された各特徴量の前記出現確率に基づいて、前記教師データに含まれる特徴量の値の内、採用する値を判定し、前記教師データの採用した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する、
処理をコンピュータに実行させるデータ分類プログラム。
【請求項７】
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類するデータ分類装置であって、
前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とを記憶する記憶部と、
前記第１の比率と、前記第２の比率と、前記特徴量を含む前記教師データの割合とに基づいて、教師データに含まれる特徴量が前記データの分布の前記分類項目に出現する出現確率を算出し、前記算出された各特徴量の前記出現確率に基づいて、前記教師データに含まれる特徴量の値の内、採用する値を判定し、前記教師データの採用した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する処理部と、を有するデータ分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分類方法、データ分類プログラム、及び、データ分類装置に関する。
【背景技術】
【０００２】
教師データに基づく機械学習によって、データを分類する技術がある（例えば、特許文献１）。教師データに基づく機械学習は、画像や文書などのデータの分類などに幅広く使われる。複数のデータを複数の項目の１つに分類する場合、学習器が、教師データに基づいて、分類のための特徴量及びその重み付けを示す規則（モデル）を生成する。そして、分類器が、複数のデータを入力として、データに含まれる特徴量の重み付けに基づいてスコアを算出し、スコアに基づいてデータを複数の項目に分類する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５-４４３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように、機械学習によると、教師データを正解のデータとして、分類のためのモデルが学習される。ただし、教師データが有する分布は、分類の対象となるデータが有する分布（真の分布と称する）と異なることがある。教師データが有する分布が真の分布と異なる場合、データの分類精度が低下することがある。
【０００５】
１つの側面は、本発明は、教師データと分析するデータの分布が異なっている場合でも、良好な分類規則を生成し、より正確な分析を行うデータ分類方法、データ分類プログラム、及び、データ分類装置を提供する。
【課題を解決するための手段】
【０００６】
第１の側面は、分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類する方法であって、プロセッサが、前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とに基づいて、前記教師データに含まれる特徴量が前記データの分布の前記分類項目に出現する出現確率を算出する算出工程と、プロセッサが、前記算出された各特徴量の前記出現確率に基づいて、前記教師データに含まれる特徴量の値の内、採用する値を判定し、前記教師データの採用した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する生成工程と、プロセッサが、前記分類の対象とする複数のデータを、前記生成した規則に基づいて分類する分類工程と、を有する。
【発明の効果】
【０００７】
第１の側面によれば、教師データと分析するデータの分布が異なっている場合でも、良好な分類規則を生成し、より正確な分析を行う。
【図面の簡単な説明】
【０００８】
【図１】データの分類処理の概要を説明する図である。
【図２】学習器のモデルの生成処理の流れを説明する図である。
【図３】図２のフローチャート図における工程Ｓ１３の処理を説明するフローチャート図である。
【図４】図２のフローチャート図における工程Ｓ１５の処理を説明するフローチャート図である。
【図５】本実施の形態例におけるデータ分類装置の構成を説明する図である。
【図６】本実施の形態例におけるデータ分類装置のブロック図を説明する図である。
【図７】本実施の形態例のデータ分類装置のモデルの生成処理の流れを説明する図である。
【図８】図７のフローチャート図における工程Ｓ４６の処理を説明するフローチャート図である。
【図９】本実施の形態例における分類項目の真の分布と教師データが有する分類項目の分布の相違を説明する図である。
【図１０】図９で説明した教師データを表に基づいて説明する図である。
【図１１】教師データの採用処理の一例を示す図である。
【図１２】教師データの別の例を表にしたがって説明する図である。
【発明を実施するための形態】
【０００９】
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１０】
［データの分類の流れ］
図１は、実施の形態のデータの分類処理の概要を説明する図である。機械学習を用いた分類の処理は、学習と分類の２つのフェーズに分けられる。学習フェーズでは、学習器１０−１は、予め、分類したい項目（以下、分類項目と称する）が付与されたデータ（以下、教師データと称する）Ｔｄを入力として、モデルＭｄを出力する。モデルＭｄ（規則）とは、例えば、特徴量及び特徴量の重みである。教師データＴｄはモデルＭｄを生成するためのデータである。
【００１１】
例えば、分類の対象となるデータがメール等の文書である場合、分類項目はスパム記事及び非スパム記事である。また、特徴量は、例えば、文書に含まれる単語である。スパム記事とは、例えば、迷惑メールであって、ユーザの同意なしに送られるメールである。
【００１２】
図１では、教師データＴｄとして、例えば、５つの事例データＦＥが例示される。図１の教師データＴｄの各行が１つの事例データＦＥに対応する。また、各行の行頭に付与されるラベル「＋１／−１」ＧＲは、予め検知される分類項目「＋１：スパム記事／−１：非スパム記事」を表す。例えば、ユーザは、事例データＦＥがスパム記事であるか、非スパム記事であるかを予め判定し、各事例データＦＥに、分類項目「＋１：スパム記事／−１：非スパム記事」をラベル付けしておく。図１の例では、１行目の事例データＦＥは、特徴量「金運、格安、送料、駐車場 …」を含むスパム記事（＋１）であって、２行目の事例データＦＥは、特徴量「水、送料、無料、健康、膝 …」を含む非スパム記事（−１）である。
【００１３】
学習器１０−１は、図１に示す教師データＴｄを入力として、モデルＭｄを生成する。モデルＭｄの生成処理については、図２のフローチャート図にしたがって後述する。学習器１０−１が生成するモデルＭｄは、教師データＴｄが含む単語ごとに、重みを有する。図１のモデルＭｄは、例えば、特徴量「格安」とその重み「＋２」を有する。同様にして、モデルＭｄは、特徴量「無料」とその重み「＋１」、特徴量「送料」とその重み「＋２」、特徴量「テニス」とその重み「−３」を有する。図１の例では、重みの大きい特徴量「格安」「送料」は、スパム記事への寄与率が高い特徴量を示す。また、重みの小さい特徴量「テニス」は、非スパム記事への寄与率が高い特徴量を示す。
【００１４】
続いて、分類フェーズでは、分類器１０−２は、分類対象のデータＳｄを入力として、分類対象のデータＳｄの分類項目への分類結果を出力する。分類対象のデータＳｄは、教師データＴｄとは異なり、スパム記事か非スパム記事への分類が特定されていないデータである。
【００１５】
例えば、分類器１０−２は、モデルＭｄに基づいて、分類の対象となるデータＳｄに含まれる特徴量に対応するスコアを算出する。そして、分類器１０−２は、例えば、算出したスコアが０より大きいデータをスパム記事に分類し、算出したスコアが０以下のデータを非スパム記事に分類する。
【００１６】
図１の例において、分類器１０−２は、分類の対象となるデータＳｄが、例えば、特徴量「格安、送料、テニス」を含む場合、モデルＭｄに基づいて、各特徴量の重み（「格安：＋２」、「送料＋２」、「テニス−３」）を取得する。そして、分類器１０−２は、計算式「＋２［格安］＋２［送料］＋（−３）［テニス］」に基づいて、スコア「＋１（＝＋２＋２＋（−３））」を算出する。この場合、スコア「＋１」が０より大きいことから、分類器１０−２は、分類の対象となるデータＳｄがスパム記事である旨、判定する。
【００１７】
なお、この例では、分類の対象となるデータが文書であって、データをスパム記事と非スパム記事に分類する場合を例示した。しかし、この例に限定されるものではない。教師データＴｄに基づく機械学習は、例えば、分類対象のデータが画像データであって、画像データが顔を含むか否かが分類される場合にも使用される。このとき、特徴量は、例えば、肌色の割合、ピクセルの色情報、線の有無である。
【００１８】
［フローチャート］
図２は、学習器１０−１のモデルＭｄの生成処理の流れを説明する図である。学習器１０−１は、初めに、特徴量である各単語の重みを初期化する（Ｓ１１）。次に、学習器１０−１は、教師データＴｄが有する事例データＦＥを順に選択する（Ｓ１２）。そして、学習器１０−１は、選択した事例データＦＥについて、現在の重みに基づいて分類項目ＧＲの予測値ＡＮを計算する（Ｓ１３）。予測値ＡＮとは、現在の重みに基づいて分類した、選択した事例データＦＥがスパム記事であるか、または非スパム記事であるかの予測結果である。工程Ｓ１３の処理の詳細は、図３のフローチャート図に基づいて後述する。
【００１９】
次に、学習器１０−１は、予測値ＡＮが、選択した事例データＦＥに予め設定される分類項目ＧＲと異なるか否かを判定する（Ｓ１４）。異なる場合（Ｓ１４のＹＥＳ）、事例データＦＥに含まれる各特徴量の重み（モデル）Ｍｄが適切ではないことを示すため、学習器１０−１は、重みを更新する（Ｓ１５）。工程Ｓ１５の処理の詳細は、図４のフローチャート図に基づいて後述する。一方、分類項目ＧＲの算出した予測値ＡＮが、選択した事例データＦＥに予め設定される分類項目ＧＲと一致する場合は（Ｓ１４のＮＯ）、事例データＦＥに含まれる各特徴量の重みが適切であることを示すことから、学習器１０−１は重みを更新しない。
【００２０】
そして、学習器１０−１は、所定の終了条件を満たしたか否かを判定する（Ｓ１６）。終了条件は、例えば、分類項目ＧＲの予測値ＡＮが、事例データＦＥに予め設定される分類項目ＧＲと一致する精度が徐々に向上し、精度の変移が収束した場合を示す。つまり、学習器１０−１は、分類項目ＧＲの予測値ＡＮの一致精度が所定の基準に達した場合に、教師データＴｄに基づく重みの生成処理を終了する。これにより、学習器１０−１は、重みを高精度に生成することができる。
【００２１】
または、終了条件は、入力した事例データＦＥの件数であってもよい。学習器１０−１は、入力した事例データＦＥの数が所定の数に達した場合に、重みの生成処理を終了する。したがって、学習器１０−１は、教師データＴｄを１回のみ入力してモデルＭｄを生成してもよいし、教師データＴｄを複数回、繰り返し入力してモデルＭｄを生成してもよい。例えば、教師データＴｄを複数回、繰り返し入力してモデルＭｄを生成する場合、学習器１０−１は、生成するモデルＭｄの精度を向上させることができる。これにより、事例データＦＥが少数の場合でも、学習器１０−１は、教師データＴｄに基づく重みを、より高精度に生成することができる。
【００２２】
終了条件を満たしていない場合（Ｓ１６のＮＯ）、学習器１０−１は、次の事例データＦＥを選択し（Ｓ１２）、工程Ｓ１３〜Ｓ１５の処理を繰り返す。終了条件を満たす場合（Ｓ１６のＹＥＳ）、学習器１０−１は、処理を終了する。
【００２３】
図３は、図２のフローチャート図における工程Ｓ１３の処理を説明するフローチャート図である。工程Ｓ１３は、選択した事例データＦＥについて、モデルＭｄに格納されている現在の重みに基づいて分類項目ＧＲの予測値ＡＮを計算する処理を示す。学習器１０−１は、選択した事例データＦＥが含む特徴量の重み付き和ＣＮを計算する（Ｓ２１）。そして、学習器１０−１は、算出した重み付き和ＣＮが０以上であるか否かに基づいて予測値ＡＮを出力する（Ｓ２２）。
【００２４】
例えば、事例データＦＥが非スパム記事であって、特徴量である単語「格安」を１つ、単語「水」を１つ、単語「送料無料」を２つ含む場合を例示する。また、例えば、このとき、モデルＭｄに格納されている現在の重みは、特徴量「金運」の重み「＋２」、特徴量「格安」の重み「＋１」、特徴量「水」の重み「−１」、特徴量「送料無料」の重み「＋１」、特徴量「駐車場」の重み「＋１」であるものとする。そこで、学習器１０−１は、計算式「１×（＋１）［格安］＋１×（−１）［水］＋２×（＋１）［送料無料］」に基づいて、重み付き和ＣＮ「２」を算出する。この場合、重み付き和ＣＮ「２」が０以上であることから、学習器１０−１は、事例データＦＥがスパム記事であることを示す予測値ＡＮ「＋１」を出力する。
【００２５】
図４は、図２のフローチャート図における工程Ｓ１５の処理を説明するフローチャート図である。工程Ｓ１５は、特徴量の重みの更新処理を示す。学習器１０−１は、選択中の事例データＦＥが含む特徴量から、１つの特徴量を選択する（Ｓ３１）。例えば、選択中の事例データＦＥが特徴量「格安」「水」「送料無料」を含む場合、学習器１０−１は、初めに、特徴量「格安」を選択する。
【００２６】
次に、学習器１０−１は、選択中の事例データＦＥの分類項目を示す値（この例では、＋１／−１）に特徴量の重みを乗算した値を、重みに加算することによってモデルＭｄを更新する（Ｓ３２）。例えば、選択中の事例データＦＥに予め規定される分類項目ＧＲが非スパム記事（分類項目：−１）であって、選択した特徴量「格安」の重みが値「＋１」である場合を例示する。この場合、学習器１０−１は、値「−１（＝−１（分類項目）×＋１（重み））」を、特徴量「格安」の現在の重み（「＋１」）に加算する。そして、学習器１０−１は、現在の重みを、値「０（＝＋１−１）」に更新する。
【００２７】
選択中の事例データＦＥが含むすべての特徴量について工程Ｓ３２の処理が完了していない場合（Ｓ３３のＮＯ）、学習器１０−１は、選択中の事例データＦＥが含む別の特徴量を対象として工程Ｓ３２の処理を行う。一方、選択中の事例データＦＥが含むすべての特徴量について処理を完了した場合（Ｓ３３のＹＥＳ）、学習器１０−１は、選択中の事例データＦＥに基づく重みの更新処理（図２のＳ１６）を終了する。
【００２８】
このように、予め、分類項目ＧＲが特定された教師データＴｄに基づいて、分類対象のデータを分類するモデルＭｄ（特徴量とその重み）が生成される。ただし、ユーザが十分な量の教師データＴｄを用意することができない場合がある。この場合、ユーザは、教師データＴｄの分類項目ＧＲの比率を、真の分布の分類項目ＧＲの比率と一致させることができないことがある。真の分布とは、分類器１０−２が分類する対象のデータ（例えば、図１の分類対象のデータＳｄ）の分類項目の分布を示す。
【００２９】
このように、教師データＴｄの分類項目ＧＲの比率が、真の分布の分類項目ＧＲの比率と異なる場合、精度よくデータを分類することができないことがある。モデルＭｄは、教師データＴｄの分布の傾向を有する。したがって、例えば、教師データＴｄのスパム記事の比率が、分類対象のデータＳｄのスパム記事の比率より大きい場合、よりスパム記事に分類され易い重みＭｄが生成されてしまう。
【００３０】
そこで、本実施の形態例における学習器１０−１は、分類対象のデータＳｄの分類項目ＧＲの第１の比率と、教師データＴｄの分類項目ＧＲの第２の比率と、教師データＴｄの各分類項目ＧＲにおける特徴量を含む事例データＦＥの割合とを使用する。そして、学習器１０−１は、これらの情報に基づいて、特徴量を含む事例データＦＥが、分類対象のデータの分類項目ＧＲに出現する出現確率を算出する。
【００３１】
本実施の形態例において、ユーザが、教師データＴｄを用意し、学習器１０−１に入力する。また、ユーザは、分類対象のデータの分類項目の分布（第１の比率）をあらかじめ、認識している。したがって、ユーザは、分類対象のデータＳｄが有する分類項目ＧＲの第１の比率を学習器１０−１に入力する。つまり、ユーザは、図１の例における、分類対象のデータＳｄが有するスパム記事及び非スパム記事の比率を、学習器１０−１に入力する。
【００３２】
また、ユーザは、用意した教師データＴｄに基づいて、教師データＴｄが有する分類項目ＧＲの第２の比率を算出できる。したがって、ユーザは、図１の例における、教師データＴｄが有するスパム記事及び非スパム記事の比率を、教師データＴｄから算出し、学習器１０−１に入力する。また、教師データＴｄの分類項目ＧＲそれぞれにおける特徴量を含む事例データＦＥの割合についても、教師データＴｄに基づいて算出可能である。したがって、ユーザは、図１の例における、教師データＴｄのスパム記事及び非スパム記事における特徴量「格安」を含む事例データＦＥの割合を学習器１０−１に入力する。
【００３３】
また、学習器１０−１は、特徴量の出現確率に基づいた、教師データＴｄの特徴量の値に基づいて、モデル（規則）Ｍｄを生成する。そして、分類器１０−２は、分類の対象とする複数のデータを、生成したモデルＭｄに基づいて分類する。
【００３４】
［出現確率］
ここで、出現確率について説明する。図１の例に基づく場合、例えば、特徴量「格安」の分類項目「スパム記事」の出現確率は、特徴量「格安」を含む事例データＦＥが真の分布のスパム記事に出現する出現確率を示す。また、特徴量「格安」の分類項目「非スパム記事」の出現確率は、特徴量「格安」を含む事例データＦＥが真の分布の非スパム記事に出現する出現確率を示す。
【００３５】
具体的に、特徴量「格安」の分類項目「スパム記事」の出現確率が３０％である場合、教師データＴｄが有する特徴量「格安」を含む事例データＦＥが、真の分布の分類項目「スパム記事」から３０％の確率でサンプリングされたことを示す。言い換えると、これは、教師データＴｄが有する特徴量「格安」を含む事例データＦＥが、７０％の確率で、真の分布の分類項目「非スパム記事」から偶発的にサンプリングされてしまったことを示す。出現確率の算出処理については、後述する。
【００３６】
したがって、本実施の形態例における学習器１０−１は、例えば、特徴量「格安」の分類項目「スパム記事」の出現確率が３０％である場合、教師データＴｄの分類項目「スパム記事」ＧＲに属する事例データＦＥが含む特徴量「格安」の値を、３０％の確率で使用する。即ち、学習器１０−１は、教師データＴｄの分類項目「スパム記事」ＧＲに属する事例データＦＥが含む特徴量「格安」の値を、７０％の確率にしたがって使用しない。
【００３７】
このように、本実施の形態例における学習器１０−１は、真の分布の分類項目に対する、教師データＴｄの特徴量の出現確率を算出する。そして、学習器１０−１は、出現確率にしたがって、教師データＴｄの特徴量を採用するか否かを確率的に判定する。これにより、本実施の形態例における学習器１０−１は、教師データＴｄの特徴量の分布を、真の分布に近づけることができる。そして、学習器１０−１は、特徴量の各分類項目ＧＲの出現確率に基づいた教師データＴｄの特徴量に基づいて、モデルＭｄを生成する。これにより、学習器１０−１は、真の分布を有する教師データＴｄに基づいてモデルＭｄを生成することができ、分類の対象となるデータをより高精度に分類項目ＧＲに分類することができる。
【００３８】
続いて、本実施の形態例におけるデータ分類装置の構成、及び、ブロック図を説明する。本実施の形態例におけるデータ分類装置は、図１の学習器１０−１、及び、分類器１０−２に対応する機能を実行する。
【００３９】
［データ分類装置の構成］
図５は、本実施の形態例におけるデータ分類装置１０の構成を説明する図である。図５のデータ分類装置１０は、例えば、プロセッサ１１、入力装置１２、出力装置１３、ＨＤＤ等の記憶媒体１４、ＲＡＭ（Random Access Memory）等のメモリ１５を有する。各部は、バス１６を介して相互に接続される。入力装置１２は、例えば、キーボードやマウス等であって、出力装置１３は、例えば、ディスプレイである。
【００４０】
記憶媒体１４には、教師データＴｄと、真の分布ＤＩを示す情報が記憶される。教師データＴｄはユーザが用意する。また、真の分布ＤＩは既知である。また、メモリ１５には、例えば、本実施の形態例におけるデータ分類プログラムＰＲが記憶される。プロセッサ１１は、記憶媒体１４に記憶される教師データＴｄ及び真の分布ＤＩを入力として、データ分類プログラムＰＲと協働することによって、本実施の形態例におけるデータ分類処理を実現する。
【００４１】
［データ分類装置のブロック図］
図６は、本実施の形態例におけるデータ分類装置１０のブロック図を説明する図である。データ分類装置１０のデータ分類プログラムＰＲは、例えば、出現確率算出部２１、モデル生成部２２、データ分類部２３を有する。図６のモデル生成部２２は、図１の学習器１０−１に対応する処理を行い、データ分類部２３は、図１の分類器１０−２に対応する処理を行う。
【００４２】
出現確率算出部２１は、記憶媒体１４（図５）に記憶された真の分布ＤＩが有する分類項目ＧＲの比率を入力とする。また、出現確率算出部２１は、記憶媒体１４（図５）に記憶された教師データＴｄに基づいて、教師データＴｄが有する分類項目ＧＲの比率と、教師データＴｄの分類項目ＧＲそれぞれにおける特徴量を含む事例データＦＥの割合を入力とする。
【００４３】
そして、出現確率算出部２１は、入力した情報に基づいて、各特徴量について、教師データＴｄに含まれる特徴量が真の分布ＤＩの各分類項目に出現する出現確率Ｐｂを算出する。モデル生成部２２は、出現確率算出部２１によって算出された各特徴量の出現確率Ｐｂに基づいて、教師データＴｄに含まれる特徴量の値のうち、採用する値を判定する。そして、モデル生成部２２は、教師データＴｄの採用した特徴量の値に基づいて、モデルＭｄを生成する。
【００４４】
データ分類部２３は、モデル生成部２２によって生成されたモデルＭｄに基づいて、分類の対象となるデータを分類項目に分類する。出現確率Ｐｂ、及び、モデルＭｄは、図１の記憶媒体１４等に記憶されてもよいし、メモリ１５上に保持されてもよい。
【００４５】
次に、本実施の形態例におけるデータ分類装置１０の処理をフローチャート図に基づいて説明する。
【００４６】
［フローチャート］
図７は、本実施の形態例におけるデータ分類装置１０のモデルＭｄの生成処理の流れを説明する図である。図７のフローチャート図は、図２のフローチャート図に示した基準の、モデルＭｄの生成処理と工程Ｓ４２の処理が異なる。
【００４７】
データ分類装置１０の出現確率算出部２１は、図２のフローチャート図と同様にして、初めに、特徴量を示す各単語の重みを初期化する（Ｓ４１）。ここで、本実施の形態例における出現確率算出部２１は、教師データＴｄが含む各特徴量について、真の分布ＤＩにおける各分類項目ＧＲの出現確率Ｐｂを計算する（Ｓ４２）。出現確率算出部２１は、算出した出現確率Ｐｂを例えば、記憶媒体１４（図１）等に記憶する。前述したとおり、出現確率Ｐｂは、教師データＴｄ内の特徴量が、真の分布の分類項目それぞれから十分な確実性に基づいてサンプリングされた確率を示す。工程Ｓ４２の処理の詳細については、具体例に基づいて後述する。
【００４８】
続いて、データ分類装置１０のモデル生成部２２は、図２に示したフローチャート図と同様にして、教師データＴｄが有する事例データＦＥを順に選択し（Ｓ４３）、現在の重みに基づいて分類項目ＧＲの予測値ＡＮを計算する（Ｓ４４）。工程Ｓ４４の処理の詳細は、図３のフローチャート図と同様である。そして、モデル生成部２２は、図２に示したフローチャート図と同様にして、分類項目ＧＲの算出した予測値ＡＮが、選択した事例データＦＥに予め設定される分類項目ＧＲと異なる場合に（Ｓ４５のＹＥＳ）、事例データＦＥに含まれる重みを更新する（Ｓ４６）。工程Ｓ４６の処理の詳細は、図８のフローチャート図に基づいて後述する。
【００４９】
一方、分類項目ＧＲの算出した予測値ＡＮが、選択した事例データＦＥに予め設定される分類項目ＧＲと一致する場合は（Ｓ４５のＮＯ）、モデル生成部２２は事例データＦＥに含まれる特徴量の重みを更新しない。そして、終了条件を満たしていない場合（Ｓ４７のＮＯ）、モデル生成部２２は、次の事例データＦＥを選択し（Ｓ４３）、工程Ｓ４４〜Ｓ４６の処理を繰り返す。終了条件を満たす場合（Ｓ４７のＹＥＳ）、モデル生成部２２は、処理を終了する。
【００５０】
図２のフローチャート図で説明したとおり、終了条件は、例えば、分類項目ＧＲの予測値ＡＮが、事例データＦＥに予め設定される分類項目ＧＲと一致する正解の精度が徐々に向上し、精度の変移が収束した場合を示す。つまり、モデル生成部２２は、分類項目ＧＲの予測値ＡＮの一致の精度が所定の基準に達した場合に、教師データＴｄに基づく重みの生成処理を終了する。これにより、モデル生成部２２は、重みを、高精度に生成することができる。
【００５１】
図８は、本実施の形態例における特徴量の重みの更新処理（図７の工程Ｓ４６）を説明するフローチャート図である。図８のフローチャート図は、図４のフローチャート図に示した基準の、特徴量の重みの更新処理と工程Ｓ５２、Ｓ５３の処理が異なる。
【００５２】
モデル生成部２２は、選択中の事例データＦＥが含む特徴量から、特徴量を１つ選択する（Ｓ５１）。ここで、本実施の形態例におけるモデル生成部２２は、選択した特徴量の出現確率Ｐｂにしたがって、当該特徴量の重みを更新の可否を決定する（Ｓ５２）。
【００５３】
具体的に、モデル生成部２２は、選択した特徴量の各分類項目の出現確率Ｐｂを記憶媒体１４等から読み出す。そして、モデル生成部２２は、選択した特徴量の各分類項目の出現確率Ｐｂにしたがって、事例データＦＥが含む選択中の特徴量の値を採用するか否かを判定する。そして、モデル生成部２２は、選択中の特徴量の値を採用する場合に、当該特徴量の重みを更新する旨、決定する。また、モデル生成部２２は、選択中の特徴量の値を採用しない場合は、当該特徴量の重みを更新しない旨、決定する。
【００５４】
より具体的に、モデル生成部２２は、選択中の特徴量の、事例データＦＥに予め設定される分類項目の出現確率Ｐｂに基づいて、選択中の特徴量が真の分布の当該分類項目に出現する確実性が高い場合に、選択中の特徴量の値を採用する。言い換えると、モデル生成部２２は、選択中の特徴量の、事例データＦＥに予め設定される分類項目の出現確率Ｐｂに基づいて、選択中の特徴量が真の分布の別の分類項目に出現する確実性が高い場合は、選択中の特徴量の値を採用しない。工程Ｓ５２の処理の詳細は、具体例に基づいて後述する。
【００５５】
選択中の特徴量の重みを更新しない場合（Ｓ５３のＮＯ）、モデル生成部２２は、選択中の事例データＦＥが含む別の特徴量に関して、出現確率Ｐｂにしたがって重みの更新の可否を決定する（Ｓ５２）。一方、選択中の特徴量の重みを更新する場合（Ｓ５３のＹＥＳ）、モデル生成部２２は、図４のフローチャート図で説明したとおり、選択中の事例データＦＥの分類項目を示す値（この例では、＋１／−１）に特徴量の値を乗算した値を、重みに加算する。これにより、モデル生成部２２はモデルＭｄを更新する（Ｓ５４）。
【００５６】
選択中の事例データＦＥが含むすべての特徴量について工程Ｓ５２、Ｓ５３の処理を行っていない場合は（Ｓ５５のＮＯ）、モデル生成部２２は、選択中の事例データＦＥが含む別の特徴量を対象として工程Ｓ５２〜Ｓ５４の処理を行う。一方、選択中の事例データＦＥが含むすべての特徴量について工程Ｓ５２、Ｓ５３の処理を完了した場合（Ｓ５５のＹＥＳ）、モデル生成部２２は、選択中の事例データＦＥに基づく重みの更新処理（図７のＳ４６）を終了する。モデル生成部２２は、例えば、生成した特徴量ごとの重みをモデルＭｄとして、記憶媒体１４等に記憶する。
【００５７】
なお、図７のフローチャート図における重みの更新処理Ｓ４６において、モデル生成部２２は、例えば、終了条件を満たすまで、事例データＦＥに基づく重みの生成処理を繰り返す。したがって、モデル生成部２２は、同一の事例データＦＥを複数回入力してモデルＭｄを生成する場合がある。これにより、モデル生成部２２は、事例データＦＥが少数の場合でも、教師データＴｄに基づく重みを、より高精度に生成することができる。
【００５８】
図７のフローチャート図によると、モデル生成部２２は、事例データＦＥを選択する都度、事例データＦＥに含まれる特徴量の値を出現確率Ｐｂにしたがって採用するか否かを判定し直す。つまり、モデル生成部２２は、毎回、特徴量の出現確率に基づいて採用し直した特徴量の値に基づいて、モデルを生成する。
【００５９】
特徴量の値が出現確率Ｐｂにしたがって採用されることから、同一の事例データであっても、特徴量の値が採用されるか否かの結果は同一ではない。したがって、モデル生成部２２は、同一の事例データＦＥを複数回入力する場合、入力する都度、事例データＦＥに含まれる特徴量の値を出現確率Ｐｂにしたがって採用し直して重みを更新することにより、重みの精度を向上させることができる。
【００６０】
ただし、図７のフローチャート図の例に限定されるものではなく、モデル生成部２２は、同一の事例データＦＥを複数回入力する場合に、入力する都度、事例データＦＥに含まれる特徴量の値を出現確率Ｐｂにしたがって採用し直さなくてもよい。例えば、モデル生成部２２は、一度、出現確率Ｐｂにしたがって採用した特徴量の値を、繰り返し入力して重みを更新してもよい。つまり、モデル生成部２２は、一回、特徴量の出現確率に基づいて採用した同一の特徴量の値に基づいてモデルを生成してもよい。
【００６１】
続いて、出現確率Ｐｂの算出処理を具体例に基づいて説明する。出現確率Ｐｂの算出処理の説明に当たり、本実施の形態例における真の分布ＤＩ、教師データＴｄが有する分布を説明する。
【００６２】
［真の分布と教師データの分布］
図９は、本実施の形態例における分類項目の真の分布ＤＩと教師データＴｄが有する分類項目の分布の相違を説明する図である。前述したとおり、データ分類装置１０には、分類の対象とするデータの真の分布ＤＩが入力される。図９の例によると、真の分布ＤＩは、「１（スパム記事／＋１）：９（非スパム記事／−１）」である。これは、スパム記事の数がｎ件である場合、非スパム記事の数は、ｎ×９件であることを示す。
【００６３】
また、ユーザが教師データＴｄを用意することから、教師データＴｄの分類項目の分布、教師データＴｄの各分類項目における特徴量を含む教師データの割合についても入力される。図９の例によると、教師データＴｄの各分類項目に属する事例データＦＥの数は「１００件（スパム記事／＋１）：２００（非スパム記事／−１）」である。したがって、教師データＴｄの分布は、「１（スパム記事／＋１）：２（非スパム記事／−１）」である。
【００６４】
この例では、特徴量「水」の例にしたがって説明する。図９の例において、教師データＴｄの分類項目「スパム記事／＋１」の１００件の事例データのうち、特徴量「水」を含む事例データは５件である。また、特徴量「水」について、分類項目「非スパム記事／−１」の２００件の事例データのうち、特徴量「水」を含む事例データは２０件である。したがって、教師データＴｄの各分類項目における特徴量を含む教師データの割合は、スパム記事「５／１００」、非スパム記事「２０／２００」である。
【００６５】
また、図９の例によると、教師データＴｄのスパム記事の比率（１／３）は、真の分布ＤＩのスパム記事の比率（１／１０）に対して大きい。したがって、真の分布ＤＩを考慮することなく、教師データＴｄに基づいてモデルＭｄを生成した場合、教師データＴｄのスパム記事の事例データＦＥに含まれる特徴量の重みがより大きい値に算出されてしまう。つまり、教師データＴｄのスパム記事の比率が、真の分布ＤＩのスパム記事の比率に対して大きいことから、よりスパム記事に分類され易いモデルＭｄが生成される。
【００６６】
これに対し、本実施の形態例によると、真の分布ＤＩを有するように特徴量が採用された教師データＴｄに基づいてモデルＭｄを生成することにより、特徴量の重みがより高精度に生成される。
【００６７】
［教師データ］
図１０は、図９で説明した教師データＴｄを表Ｈ１にしたがって説明する図である。図１０の表Ｈ１は、図９に示す教師データＴｄの一部の事例データＦＥを表す。また、前述したとおり、本実施の形態例における学習器（データ分類装置）１０−１は、出現確率Ｐｂにしたがって教師データＴｄに含まれる特徴量の値を採用し、モデルＭｄを生成する。
【００６８】
図１０の表Ｈ１の行それぞれは、１つの事例データＦＥ(この例では、文書)を表す。表Ｈ１のラベルは、その文書の属する分類項目ＧＲを表し、ラベル「＋１」はスパム記事、ラベル「−１」は非スパム記事を示す。また、表Ｈ１の各セルは、行に対応する文書が、列に対応する特徴量を含む場合に値「１」を、含んでいない場合に値「０」を有する。なお、図１０に示す表Ｈ１は、単語を１つ有するか、複数有するかに関わらず、値「１」を有する。
【００６９】
具体的に、図１０の例の教師データＴｄの１行目に示す事例データＦＥは、スパム記事であって、特徴量「格安」「送料」「金運」を有し、特徴量「水」を有しない。また、２行目に示す事例データＦＥは、非スパム記事であって、特徴量「送料」を有し、特徴量「格安」「金運」「水」を有しない。同様にして、３行目に示す事例データＦＥは、非スパム記事であって、特徴量「水」を有し、特徴量「格安」「送料」「金運」を有しない。他の行の事例データＦＥについても、同様である。
【００７０】
次に、特徴量「水」を例示して、出現確率を具体的に説明する。図９、図１０に示す教師データＴｄの特徴量「水」を含む事例データＦＥが真の分布ＤＩのスパム記事の事例データＦＥに出現する出現確率、及び、非スパム記事の事例データＦＥに出現する出現確率の算出処理を説明する。
【００７１】
本実施の形態例におけるモデル生成部２２は、教師データＴｄの特徴量（例えば、「水」）が、真の分布ＤＩの分類項目「スパム記事」「非スパム記事」に含まれる出現確率を、ベイズ推定に基づいて算出する。ベイズ推定は、一般的に知られる手法である。
【００７２】
【数１】
0006365032.tif 000002
【００７３】
【数２】
0006365032.tif 000003
【００７４】
【数３】
0006365032.tif 000004
【００７５】
【数４】
0006365032.tif 000005
【００７６】
【数５】
0006365032.tif 000006
【００７７】
【数６】
0006365032.tif 000007
【００７８】
【数７】
0006365032.tif 000008
【００７９】
式１は、教師データＴｄの特徴量ｗｉ（本実施の形態例では、単語）が、真の分布ＤＩの分類項目Ａに含まれる出現確率を算出する計算式である。式１では、特徴量「ｗｉ」を含む分類項目Ａの事例データＦＥの割合Ｐ（ｗｉ｜Ａ）（＝式４）に、真の分布の分類項目Ａの割合Ｐ（Ａ）（＝式６）を乗算した値を、特徴量「ｗｉ」を含む割合Ｐ（ｗｉ）（＝式３）で除算する。これにより、事例データＦＥの特徴量「ｗｉ」が、真の分布ＤＩの分類項目Ａに出現する出現確率を算出する。
【００８０】
まず、式１で使用する変数を説明する。初めに、式６から順に説明する。式６では、真の分布の分類項目Ａの割合Ｐ（Ａ）を算出する。具体的に、式６における変数ＲＡは、真の分布ＤＩにおける分類項目Ａの比率であって、変数ＲＢは真の分布ＤＩにおける分類項目Ｂの比率である。したがって、式６が算出する変数Ｐ（Ａ）は、真の分布ＤＩ全体における分類項目Ａの割合を示す。
【００８１】
次に、式４について説明する。式４は、教師データＴｄの分類項目Ａにおいて特徴量ｗｉを含む事例データＦＥの割合Ｐ（ｗｉ｜Ａ）を算出する。式４における変数ＮＡは、教師データＴｄにおける分類項目Ａの事例データＦＥの数である。また、式４の変数ｆＡ（ｗｉ）は、教師データＴｄの分類項目Ａの事例データＦＥ内の特徴量「ｗｉ」を含む事例データＦＥの数である。
【００８２】
次に、式３について説明する。式３は、特徴量「ｗｉ」を含む事例データの割合を、真の分布にしたがって正規化した割合Ｐ（ｗｉ）を算出する。式３における変数ＮＡは教師データＴｄにおける分類項目Ａの事例データＦＥの数、変数ＮＢは教師データＴｄにおける分類項目Ｂの事例データＦＥの数である。
【００８３】
また、式３における変数ｆＡ（ｗｉ）は、教師データＴｄの分類項目Ａの事例データＦＥ内の特徴量「ｗｉ」を含む事例データＦＥの数である。同様にして、変数ｆＢ（ｗｉ）は、教師データＴｄの分類項目Ｂの事例データＦＥ内の特徴量「ｗｉ」を含む事例データＦＥの数である。また、式３における変数Ｐ（Ｂ）は、式７に基づいて算出され、真の分布ＤＩ全体における分類項目Ｂの割合を示す。
【００８４】
つまり、式３が算出する変数Ｐ（ｗｉ）は、特徴量「ｗｉ」を含む事例データ（ｆＡ（ｗｉ）／ＮＡ、ｆＢ（ｗｉ）／ＮＢ）の割合を、真の分布にしたがって正規化した値である。そして、式１は、式３によって算出される変数Ｐ（ｗｉ）、式４が算出する変数Ｐ（ｗｉ｜Ａ）、式６が算出す変数Ｐ（Ａ）に基づいて、教師データＴｄの特徴量ｗｉが真の分布ＤＩの分類項目Ａに含まれる出現確率Ｐ（Ａ｜ｗｉ）を算出する。
【００８５】
次に、式２は、教師データＴｄの特徴量ｗｉが、真の分布ＤＩの分類項目Ｂに含まれる出現確率を算出する計算式である。式２では、特徴量「ｗｉ」を含む分類項目Ｂの事例データＦＥの割合Ｐ（ｗｉ｜Ｂ）（＝式５）に、真の分布の分類項目Ｂの比率Ｐ（Ｂ）（＝式７）を乗算した値を、特徴量「ｗｉ」を含む割合Ｐ（ｗｉ）（＝式３）で除算する。式２における変数Ｐ（ｗｉ｜Ｂ）は式５によって算出される。また、式２における変数Ｐ（ｗｉ）は、式３によって算出され、変数Ｐ（Ｂ）は式７によって算出される。変数Ｐ（ｗｉ）、変数Ｐ（Ｂ）については前述したとおりである。
【００８６】
式５が算出する変数Ｐ（ｗｉ｜Ｂ）は、教師データＴｄの分類項目Ｂにおいて特徴量「ｗｉ」を含む事例データＦＥの割合を示す。式５における変数ＮＢは、教師データＴｄにおける分類項目Ｂの事例データＦＥの数である。また、式５の変数ｆＢ（ｗｉ）は、教師データＴｄの分類項目Ｂの事例データＦＥ内の特徴量ｗｉを含む事例データＦＥの数である。また、前述したとおり、式は、特徴量「ｗｉ」を含む事例データ（ｆＡ（ｗｉ）／ＮＡ、ｆＢ（ｗｉ）／ＮＢ）の割合を、真の分布にしたがって正規化した変数Ｐ（ｗｉ）を算出する。
【００８７】
そして、式２は、式３が算出する変数Ｐ（ｗｉ）、式５が算出する変数Ｐ（ｗｉ｜Ｂ）、式７が算出する変数Ｐ（Ｂ）に基づいて、教師データＴｄの特徴量ｗｉが真の分布ＤＩの分類項目Ｂに含まれる出現確率Ｐ（Ｂ｜ｗｉ）を算出する。
【００８８】
図９、図１０に示す真の分布ＤＩ、教師データＴｄに対応すると、例えば、分類項目Ａはスパム記事、分類項目Ｂは非スパム記事に該当する。まず、教師データＴｄの特徴量「水」が真の分布ＤＩの非スパム記事に含まれる出現確率の算出例を説明する。
【００８９】
式６が算出する、真の分布ＤＩ全体におけるスパム記事の割合Ｐ（Ａ）は、値「０．１（＝１／１０）」である。また、式７が算出する、真の分布ＤＩ全体における非スパム記事の割合Ｐ（Ｂ）は、値「０．９（＝９／１０）」である。また、式４が算出する、教師データＴｄのスパム記事に属する事例データＦＥ内の特徴量「水」を含む事例データＦＥの割合ｆＡ（ｗｉ）は、値「０．０５（＝５／１００）」である。また、式５が算出する、教師データＴｄの非スパム記事に属する事例データＦＥ内の特徴量「水」を含む事例データＦＥの割合ｆＢ（ｗｉ）は、値「０．１（＝２０／２００）」である。
【００９０】
したがって、式３が算出する、真の分布ＤＩに基づいて正規化した、教師データＴｄ全体における特徴量ｗｉを含む事例データＦＥ数の割合Ｐ（ｗｉ）は、値「０．０９７３６８４２１０５２６４１５８…（＝（５*（１／１０）＋２０*（９／１０）） ／ （１００*（１／１０）＋２００*（９／１０）））」となる。そして、式１は、教師データＴｄの特徴量「水」が真の分布ＤＩのスパム記事に含まれる出現確率Ｐ（Ａ｜ｗｉ）として、値「０．０５１３５１３５１３５１３５１３６（＝「０．０５*０．１／０．０９７３６８４２１０５２６４１５８…」）」を算出する。
【００９１】
したがって、図９、図１０が示す教師データＴｄの特徴量「水」が、真の分布ＤＩのスパム記事に含まれる出現確率Ｐ（Ａ｜ｗｉ）は約５％（≒０．０５１３５…）である。特徴量「水」のスパム記事の出現確率が値「５％」である場合、教師データＴｄが有する特徴量「水」を含む事例データＦＥが、真の分布ＤＩのスパム記事のデータからサンプリングされている確率が５％であることを示す。これは、教師データＴｄが有する特徴量「水」を含む事例データＦＥが、９５％の確率で、真の分布ＤＩの非スパム記事のデータから偶発的にサンプリングされてしまったことを示す。
【００９２】
したがって、モデル生成部２２は、教師データＴｄのスパム記事の事例データＦＥが有する特徴量「水」の値を、５％の確率で教師データＴｄとして採用する。即ち、モデル生成部２２は、教師データＴｄは、教師データＴｄ内のスパム記事の事例データＦＥが有する特徴量「水」の値を、９５％の確率で採用しない。
【００９３】
次に、教師データＴｄの特徴量「水」が真の分布ＤＩの非スパム記事に含まれる出現確率の算出例を説明する。式２は、教師データＴｄの特徴量「水」が真の分布ＤＩの非スパム記事に含まれる出現確率Ｐ（Ｂ｜ｗｉ）として、値「０．９２４３２４３２４３２４３２４４（＝「０．１*０．９／０．０９７３６８４２１０５２６４１５８…」）」を算出する。
【００９４】
したがって、図９、図１０が示す教師データＴｄの特徴量「水」が、真の分布ＤＩの非スパム記事に含まれる出現確率Ｐ（Ｂ｜ｗｉ）は９２％（≒０．９２４３２…）である。特徴量「水」の非スパム記事の出現確率が値「９２％」である場合、教師データＴｄが有する特徴量「水」を含む事例データＦＥが、真の分布ＤＩの非スパム記事のデータからサンプリングされている確率が９２％であることを示す。これは、教師データＴｄが有する特徴量「水」を含む事例データＦＥが、８％の確率で、真の分布ＤＩのスパム記事のデータから偶発的にサンプリングされてしまったことを示す。
【００９５】
したがって、モデル生成部２２は、教師データＴｄの非スパム記事の事例データＦＥが有する特徴量「水」の値を、９２％の確率で教師データＴｄとして採用する。即ち、モデル生成部２２は、教師データＴｄは、教師データＴｄ内の非スパム記事の事例データＦＥが有する特徴量「水」の値を、８％の確率で採用しない。
【００９６】
［教師データの採用］
図１１は、教師データＴｄの採用処理の一例を示す図である。図１１の教師データＴｄを表す表Ｈ１は、図１０の表Ｈ１と同一であって、表Ｈ２は出現確率Ｐｂに従った特徴量の採用結果を表す教師データＴｄｘを表す表である。前述したとおり、本実施の形態例における教師データＴｄの特徴量「水」が、真の分布ＤＩのスパム記事への出現確率Ｐｂは５％であって、真の分布ＤＩの非スパム記事への出現確率Ｐｂは９２％である。
【００９７】
具体的に、モデル生成部２２は、教師データＴｄの特徴量「水」を含むスパム記事の事例データＦＥのうち、９５％の事例データＦＥの特徴量「水」の値「１」を採用しない。採用されない特徴量「水」の値「１」は、値「０」とみなされる。したがって、表Ｈ１に示す教師データＴｄ内のスパム記事（ラベル：＋１）に属する事例データＦＥにおける特徴量「水」の値「１」は、９５％の確率で値「０」となり、５％の確率で値「１」となる。具体的に、図１１の表Ｈ１の４行目のスパム記事（ラベル：＋１）の事例データＦＥの特徴量「水」の値「１」ｐ１は、９５％の確率に該当したため採用されず、表Ｈ２において値「０」となっている。
【００９８】
図９で説明したとおり、本実施の形態例は１００件のスパム記事の事例データＦＥのうち、特徴量「水」を含む事例データＦＥは５件である。したがって、５件の事例データＦＥのうち、５％の事例データＦＥの特徴量「水」の値のみが採用されることを示す。このため、教師データＴｄ（Ｈ１）のスパム記事の事例データＦＥにおける特徴量「水」の値は、ほとんど採用されない。
【００９９】
また、モデル生成部２２は、教師データＴｄの特徴量「水」を含む非スパム記事の事例データＦＥのうち、８％の事例データＦＥの特徴量「水」の値「１」を採用しない。採用されない特徴量「水」の値「１」は、値「０」とみなされる。したがって、表Ｈ１に示す教師データＴｄ内の非スパム記事（ラベル：−１）に属する事例データＦＥにおける特徴量「水」の値「１」は、８％の確率で値「０」となり、９２％の確率で値「１」となる。
【０１００】
図９で説明したとおり、本実施の形態例における２００件のスパム記事の事例データＦＥのうち、特徴量「水」を含む事例データＦＥは２０件である。したがって、２０件の事例データＦＥのうち、９２％の事例データＦＥの特徴量「水」の値が採用されることを示す。このため、教師データＴｄ（Ｈ１）の非スパム記事の事例データＦＥにおける特徴量「水」の値は、ほぼ採用される。
【０１０１】
また、モデル生成部２２は、別の特徴量「格安」「送料」金運」等についても、スパム記事／非スパム記事における各出現確率を算出し、出現確率にしたがって教師データＴｄにおける各特徴量の値「１」を採用する。したがって、図１１の表Ｈ１の６行目の非スパム記事（ラベル：−１）の事例データＦＥの特徴量「格安」の値「１」ｐ２は、特徴量「格安」の非スパム記事の出現確率Ｐｂにしたがって採用されず、表Ｈ２において値「０」となっている。
【０１０２】
このように、モデル生成部２２は、各特徴量の出現確率に基づいて、真の分布ＤＩと比率が異なる分布を有する教師データＴｄを、真の分布ＤＩと同一の比率を有するように教師データＴｄの特徴量の値を採用し、モデルＭｄを生成する。そして、データ分類部２３は、モデルＭｄに基づいて、分類の対象となるデータを分類する。モデル生成部２２は、より精度の高いモデルＭｄを生成することができることから、データ分類部２３は、精度の高いモデルＭｄに基づいて、より高精度に、データを分類項目に分類することができる。
【０１０３】
なお、本実施の形態例におけるデータ分類装置１０は、教師データＴｄの事例データＦＥの特徴量を部分的に除いて採用する。即ち、本実施の形態例におけるデータ分類装置１０は、教師データＴｄの事例データＦＥ単位に採用の可否を判定するのではなく、事例データＦＥの特徴量の値単位に採用の可否を判定する。例えば、図１１の表Ｈ２において、データ分類装置１０は、４行目の事例データＦＥ−１を不採用にするのではなく、４行目の事例データＦＥ−１における特徴量「水」の値ｐ１を不採用とする。
【０１０４】
これにより、本実施の形態例におけるデータ分類装置１０によると、教師データＴｄの事例データＦＥの量を減少させることなく、モデルＭｄを生成することができる。したがって、十分な量の事例データＦＥを用意できない場合であっても、データ分類装置１０は、事例データＦＥの量を減少させることなく、真の分布ＤＩと比率が一致した教師データＴｄを生成することができる。
【０１０５】
また、本実施の形態例におけるデータ分類装置１０は、教師データＴｄの特徴量単位に採用の可否を判定するのではなく、事例データＦＥの特徴量の値単位に採用の可否を判定する。例えば、図１１の表Ｈ２において、データ分類装置１０は、特徴量「水」自体（ＷＤ）を不採用にするのではなく、一部の事例データＦＥに含まれる特徴量「水」の値ｐ１を不採用とする。
【０１０６】
これにより、本実施の形態例におけるデータ分類装置１０によると、教師データＴｄの特徴量の数を減少させることなく、モデルＭｄを生成することができる。したがって、十分な量の事例データＦＥを用意できない場合であっても、データ分類装置１０は、特徴量の数を減少させることなく、真の分布ＤＩと比率が一致した教師データＴｄを生成することができる。
【０１０７】
したがって、データ分類装置１０は、教師データＴｄの情報量を大幅に減少させることなく、真の分布ＤＩと同一の分類項目ＧＲの比率を有する教師データＴｄを使用することができる。つまり、データ分類装置１０は、十分な量の教師データＴｄを用意できない場合であっても、分類精度の高いモデルＭｄを生成することができる。
【０１０８】
図１２は、教師データＴｄの別の例を表Ｈ３にしたがって説明する図である。図１０、図１１の例では、事例データＦＥそれぞれが有する特徴量（単語）の数に関わらず、特徴量を有する場合は値「１」を、有しない場合は値「０」を有する教師データＴｄを例示した。しかしながら、教師データＴｄは、事例データＦＥそれぞれが有する特徴量（単語）の数を、特徴量の値として有していてもよい。
【０１０９】
具体的に、図１２の表Ｈ３の１行目に示す事例データＦＥは、スパム記事であって、単語「格安」「金運」をそれぞれ１つずつ、単語「送料」を４つ有し、単語「水」を有していない。また、２行目に示す事例データＦＥは、非スパム記事であって、単語「送料」を３つ有し、単語「格安」「金運」「水」を有していない。同様にして、３行目に示す事例データＦＥは、非スパム記事であって、単語「水」を３つ有し、単語「格安」「送料」「金運」を有していない。また、４行目に示す事例データＦＥは、スパム記事であって、単語「格安」「水」をそれぞれ２つ有し、単語「送料」「金運」を有していない。他の行の事例データＦＥについても、同様である。
【０１１０】
図１２では、図１０、図１１の例と同様にして、教師データＴｄの特徴量「水」が、真の分布ＤＩのスパム記事に含まれる出現確率が５％であって、非スパム記事に含まれる出現確率が９２％である場合を例示する。図１２のような教師データＴｄについても、モデル生成部２２は、特徴量「水」の値がいずれであっても、教師データＴｄの特徴量「水」を含むスパム記事の事例データＦＥのうち、９５％の事例データＦＥの特徴量「水」の値を採用しない。
【０１１１】
例えば、図１２の表Ｈ３の４行目のスパム記事（ラベル：＋２）の事例データＦＥの特徴量「水」の値「２」ｐ４は、９５％の確率に該当する場合、値「０」となる。同様にして、例えば、表Ｈ３の３行目の非スパム記事（ラベル：−１）の事例データＦＥの特徴量「水」の値「３」ｐ３は、８％の確率に該当する場合、値「０」となる。他の特徴量についても、同様である。
【０１１２】
以上のように、本実施の形態例のデータの分類方法によると、プロセッサが、特徴量を含む教師データがデータの分布の分類項目に出現する出現確率を算出する、算出工程を有する。算出工程では、分類対象のデータの複数の分類項目の第１の比率と、複数の教師データの複数の分類項目の第２の比率と、複数の教師データの分類項目それぞれにおける特徴量を含む教師データの割合とを入力とする。また、本実施の形態例のデータの分類方法によると、プロセッサが、出現確率に基づいた特徴量を有する複数の教師データに基づいて、特徴量及び当該特徴量の重みを有する規則を生成する生成工程を有する。また、データの分類方法によると、プロセッサが、分類の対象とする複数のデータを、生成した規則に基づいて分類する分類工程を有する。
【０１１３】
これにより、本実施の形態例におけるデータの分類方法によると、教師用データＴｄが有する分類項目の分布に依存することなく、分類対象のデータが有する分布（真の分布）に基づいたモデルＭｄを生成することが可能になる。したがって、分類対象のデータが有する分布に基づいたモデルＭｄにしたがって、分類対象のデータをより高精度に分類することが可能になる。
【０１１４】
上記の実施例では、分類対象のデータが有する真の分布をユーザに入力させる例で説明したが、分類器１０−２を学習させながら、分類する対象のデータが有する分布を求めてもよい。また、日本の人口統計に合うように、言語処理にてユーザＩＤを収集したソーシャルメディア分析においては、真の分布に合うように分類する対象集合を作成している場合がある。このような場合に、対象集合を定義する情報に真の分布が含まれていれば、その情報に含まれる真の分布を用いても良い。
【０１１５】
このような集合では、例えば、年代が若いほど、ユーザの属性情報が開示され、年代が高いほど、ユーザの属性情報が開示されにくい傾向がある。そのため年代が高いほど、言語解析により推定したユーザが増え、例えば、年代で分類する場合に、教師データ（属性情報が開示されるユーザ）の分布と真の分布との差が生じてしまうことがある。本実施例は、このように、真の分布は固定されており、教師データ（ユーザの属性情報の開示）が変更される場合にも有効である。
【０１１６】
また、教師データの分布を真の分布に適合させるために、モデルにバイアスをかける手法や、ランキングによる手法がある。機械学習における分類において、例えば、教師データが有する分類項目の比率が同率ではない場合、学習器は、データが多数派の分類項目に分類され易いモデルを生成する。モデルにバイアスをかける手法によると、分類される比率が真の分布に適合するように、学習器が生成したモデルにバイアスをかける（特徴量の重みを加算する）。
【０１１７】
しかしながら、モデルにバイアスをかける手法によると、本来、少数派の分類項目（この例では、スパム記事）に寄与する特徴量の影響が、多数派の分類項目（この例では、非スパム記事）でも大きくなってしまう。例えば、単語「送料無料」という特徴量を例示する。単語「送料無料」はスパム記事により多く含まれることが推定されるが、非スパム記事にも含まれ得る。したがって、教師データの比率を真のデータの比率に適合させるために、単語「送料無料」の重みを加算した場合、非スパム記事への分類にも寄与してしまうことになる。
【０１１８】
また、スパム記事と非スパム記事両方に同率に含まれる単語(例えば、「今日」) は、中立的な特徴量である。しかしながら、教師データの比率を真のデータの比率に適合させるために、単語「今日」の重みを加算した場合、非スパム記事への分類にも寄与してしまうことになる。
【０１１９】
このように、多数派の分類項目にバイアスをかける（特徴量の重みを調整する）方法によると、分類の精度が向上しない。また、バイアスのかけ方は、例えば、経験的に求められるため、最適な結果の保証が困難であると共に、手続き上のコストが高くなる。また、モデルは、教師データを高精度に分類するよう学習器によって最適化されているため、任意にバイアスをかけた場合、高精度の分類結果を導く保証が失われる。
【０１２０】
次に、ランキングによる手法を説明する。分類器は、モデルに基づいて一定量の分類対象のデータを分類項目に該当する度合い順にランキングする。そして、分類器は、一定量のデータのランキング結果に基づいて、真の分布に対応するようにデータを分類する。これにより、教師データの比率が真のデータの比率と一致しない場合であっても、分類対象のデータが真の分布に従って分類可能になる。
【０１２１】
しかしながら、ランキングによる手法を利用する場合、分類対象のデータを逐次的に分類することはできず、一定量のデータを蓄積してから分類する必要がある。また、分類の信頼性を確保するために、十分な量のデータをランキングする必要があり、事前にデータ量を計ることが容易ではない。
【０１２２】
これに対し、本実施の形態例におけるデータの分類方法によると、分類対象のデータが有する分布に基づいた、教師データＴｄを取得する。そして、本実施の形態例におけるデータの分類方法では、取得した教師データＴｄに基づいて生成したモデルＭｄを生成する。これにより、モデルＭｄに対するバイアスの調整や、ランキング方式による分類の調整が不要になる。
【０１２３】
また、本実施の形態例のデータ分類方法によると、真の分布ＤＩとの整合性を考慮することなく、教師データＴｄを生成、及び、追加することができる。例えば、スパム記事として報告された事例データＦＥを大量に入手し、入手したスパム記事の事例データＦＥ全てを教師データＴｄとして用いる場合、教師データＴｄのスパム記事／非スパム記事の事例データＦＥの分布が、真の分布ＤＩと一致しないことがある。スパム記事の比率が真の分布におけるスパム記事の比率より大きい場合、スパム記事に分類され易い特徴量の重みが生成されてしまう。
【０１２４】
これに対し、本実施の形態例のデータ分類方法によると、入手したスパム記事全てを、教師データＴｄとして用いた場合であっても、真の分布に対応した出現確率Ｐｂに基づいて教師データＴｄが有する特徴量の値が採用される。したがって、真の分布ＤＩが有する分類項目の比率通りにデータを分類可能なモデルＭｄが生成可能になる。
【０１２５】
また、本実施の形態例におけるデータ分類方法の生成工程では、特徴量の出現確率に基づいて、複数の教師データの特徴量の値を使用するか否か判定し、使用すると判定した特徴量の値に基づいて、特徴量及び当該特徴量の重みを有する規則を生成する。これにより、本実施の形態例のデータ分類方法によると、分類対象のデータが有する分布を適用した教師用データＴｄに基づいて、モデルＭｄを生成することができる。
【０１２６】
また、本実施の形態例におけるデータ分類方法の生成工程では、特徴量の第１の分類項目の出現確率に基づいて複数の教師データの第１の分類項目に属する教師データの特徴量の値を使用するか否か判定する。また、生成工程では、特徴量の第２の分類項目の出現確率に基づいて複数の教師データの第２の分類項目に属する教師データの特徴量の値を使用するか否か判定する。
【０１２７】
これにより、本実施の形態例のデータ分類方法によると、特徴量の各分類項目の出現確率に基づいて、分類項目それぞれに属する教師データに含まれる特徴量の値を、真の分布に対応するように採用することが可能になる。
【０１２８】
また、本実施の形態例のデータ分類方法の生成工程は、生成した規則（モデル）Ｍｄに基づく、複数の教師データの分類項目への分類結果の精度が所定の基準に達するまで繰り返される。これにより、複数の教師データに基づいて、より高精度にデータを分類可能なモデルＭｄが生成可能になる。
【０１２９】
また、本実施の形態例のデータ分類方法の生成工程では、複数の教師データを繰り返し使用する場合、一回、特徴量の出現確率に基づいて取得した特徴量の値に基づいて規則（モデル）Ｍｄを生成する。したがって、複数の教師データに基づいて採用された同一の特徴量の値に基づいて、繰り返しモデルＭｄが生成されることにより、より高精度にデータを分類可能なモデルＭｄが生成可能になる。
【０１３０】
また、本実施の形態例のデータ分類方法の生成工程では、複数の教師データを繰り返し使用する場合、毎回、特徴量の出現確率に基づいて取得し直した特徴量の値に基づいて規則（モデル）Ｍｄを生成する。したがって、毎回、複数の教師データに基づいて採用された同一ではない特徴量の値に基づいて、繰り返しモデルＭｄが生成されることにより、さらに高精度にデータを分類可能なモデルＭｄが生成可能になる。
【０１３１】
［他の実施の形態例］
なお、上記の実施例では、データ分類装置１０が、出現確率に基づいて、教師データＴｄの特徴量を採用するか否かを判定した。ただし、この例に限定されるものではない。データ分類装置１０は、例えば、教師データＴｄの特徴量が、出現確率に基づく特徴量と一致するように、さらに、特徴量を修正してもよい（例えば、図１１の例によると、値０から値１に修正）。または、データ分類装置１０は、例えば、教師データＴｄの特徴量が、出現確率に基づく特徴量と一致するように、採用する事例データＦＥの追加や削除等を行ってもよい。
【０１３２】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１３３】
（付記１）
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類する方法であって、
プロセッサが、前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とに基づいて、前記特徴量を含む教師データが前記データの分布の前記分類項目に出現する出現確率を算出する算出工程と、
プロセッサが、前記出現確率に基づいた前記特徴量を有する前記複数の教師データに基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する生成工程と、
プロセッサが、前記分類の対象とする複数のデータを、前記生成した規則に基づいて分類する分類工程と、を有するデータ分類方法。
【０１３４】
（付記２）
付記１において、
前記生成工程では、前記特徴量の前記出現確率に基づいて、前記複数の教師データの前記特徴量の値を使用するか否か判定し、前記使用すると判定した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する、データ分類方法。
【０１３５】
（付記３）
付記２において、
前記生成工程では、前記特徴量の第１の分類項目の前記出現確率に基づいて前記複数の教師データの前記第１の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定し、前記特徴量の第２の分類項目の前記出現確率に基づいて前記複数の教師データの前記第２の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定するデータ分類方法。
【０１３６】
（付記４）
付記１乃至３のいずれかにおいて、
前記生成工程は、前記生成した規則に基づく前記複数の教師データの前記分類項目への分類結果の精度が所定の基準に達するまで繰り返されるデータ分類方法。
【０１３７】
（付記５）
付記４において、
前記生成工程では、前記複数の教師データを繰り返し使用する場合、一回、前記特徴量の前記出現確率に基づいて取得した特徴量の値に基づいて前記規則を生成するデータ分類方法。
【０１３８】
（付記６）
付記４において、
前記生成工程では、前記複数の教師データを繰り返し使用する場合、毎回、前記特徴量の前記出現確率に基づいて取得し直した特徴量の値に基づいて前記規則を生成するデータ分類方法。
【０１３９】
（付記７）
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類する処理であって、
前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とに基づいて、前記特徴量を含む教師データが前記データの分布の前記分類項目に出現する出現確率を算出し、
前記出現確率に基づいた前記特徴量を有する前記複数の教師データに基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する、
処理をコンピュータに実行させるデータ分類プログラム。
【０１４０】
（付記８）
付記７において、
前記規則を生成する処理では、前記特徴量の前記出現確率に基づいて、前記複数の教師データの前記特徴量の値を使用するか否か判定し、前記使用すると判定した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する、データ分類プログラム。
【０１４１】
（付記９）
付記８において、
前記規則を生成する処理では、前記特徴量の第１の分類項目の前記出現確率に基づいて前記複数の教師データの前記第１の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定し、前記特徴量の第２の分類項目の前記出現確率に基づいて前記複数の教師データの前記第２の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定するデータ分類プログラム。
【０１４２】
（付記１０）
付記７乃至９のいずれかにおいて、
前記規則を生成する処理は、前記生成した規則に基づく前記複数の教師データの前記分類項目への分類結果の精度が所定の基準に達するまで繰り返されるデータ分類プログラム。
【０１４３】
（付記１１）
分類の対象とする複数のデータを、前記データに含まれる特徴量に基づいて複数の分類項目に分類するデータ分類装置であって、
前記データの前記複数の分類項目の第１の比率と、複数の教師データの前記複数の分類項目の第２の比率と、前記複数の教師データの前記分類項目それぞれにおける前記特徴量を含む前記教師データの割合とを記憶する記憶部と、
前記第１の比率と、前記第２の比率と、前記特徴量を含む前記教師データの割合とに基づいて、前記特徴量を含む教師データが前記データの分布の前記分類項目に出現する出現確率を算出し、前記出現確率に基づいた前記特徴量を有する前記複数の教師データに基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する処理部と、を有するデータ分類装置。
【０１４４】
（付記１２）
付記１１において、
前記処理部は、前記特徴量の前記出現確率に基づいて、前記複数の教師データの前記特徴量の値を使用するか否か判定し、前記使用すると判定した特徴量の値に基づいて、前記特徴量及び当該特徴量の重みを有する規則を生成する、データ分類装置。
【０１４５】
（付記１３）
付記１２において、
前記処理部は、前記特徴量の第１の分類項目の前記出現確率に基づいて前記複数の教師データの前記第１の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定し、前記特徴量の第２の分類項目の前記出現確率に基づいて前記複数の教師データの前記第２の分類項目に属する前記教師データの前記特徴量の値を使用するか否か判定するデータ分類装置。
【０１４６】
（付記１４）
付記１１乃至１３のいずれかにおいて、
前記処理部は、前記規則を生成する処理を、前記生成した規則に基づく前記複数の教師データの前記分類項目への分類結果の精度が所定の基準に達するまで繰り返すデータ分類装置。
【符号の説明】
【０１４７】
１０：データ分類装置、１１：プロセッサ、１２：入力装置、１３：出力装置、１４：記憶媒体、１５：メモリ、ＰＲ：データ分類プログラム、２１：出現確率算出部、２２：モデル生成部、２３：データ分類部
【図１】
0006365032.tif 000009
【図２】
0006365032.tif 000010
【図３】
0006365032.tif 000011
【図４】
0006365032.tif 000012
【図５】
0006365032.tif 000013
【図６】
0006365032.tif 000014
【図７】
0006365032.tif 000015
【図８】
0006365032.tif 000016
【図９】
0006365032.tif 000017
【図１０】
0006365032.tif 000018
【図１１】
0006365032.tif 000019
【図１２】
0006365032.tif 000020