分類対象であるコンテンツをカテゴリに分類する分類器として、ベイジアンネットワークと呼ばれる確率モデルを適用したベイジアン分類器(ベイズ分類器とも称する)が知られている。なお、ベイジアンネットワークは、変数間の確率的な依存関係をネットワークで表現し、表現された変数間の独立性/条件付独立性を用いて、ある変数の値を所与としたときの他の変数の値の条件付確率を計算するために用いられる確率モデルである。
ベイジアン分類器は、分類対象となるコンテンツをカテゴリに分類する際、カテゴリ変数以外の変数を所与としたときのカテゴリ変数の値の条件付確率を計算するために用いられる。ベイジアン分類器には、NB(Naive Bayes)、TAN(Tree Augmented NB)、ODE(One-Dependence Estimator)などがある。一方、決定木(Decision Tree)は、木構造にもとづくデータの分割による分類器であり、NBT(Naive Bayes Tree)は、決定木にベイジアン分類器を取り込んだものである。
図11は、従来技術である種々の分類器の概念を説明するための概念図である。NBは、図11(a)に示すように、グラフで表現される単純な分類器である。NBでは、カテゴリ変数を条件とした属性間の独立性 (条件付き独立性)を仮定している。ノードX1、X2、X3、X4は、コンテンツのコンテンツ属性、ノードYはカテゴリ変数である。
決定木は、図11(b)に示すように、木構造で表現される分類器である。決定木では、各ノードは変数に対応し、子ノードへの各枝は変数の値に対応する。決定木では、未知事例が与えられた場合の分類において、根ノードから葉ノードに至る各ノードにおいて学習データを各枝の変数の値をとる部分集合に分割し、葉における部分事例集合のなかで割合が最大のカテゴリを分類先のカテゴリとする。
NBは、図11(c)に示すように、確率推定精度の向上のために決定木の葉をNBとした分類器である(例えば非特許文献1参照)。具体的には、葉ノードに至るパスは決定木と同じであるが、割合が最大のカテゴリを分類先のカテゴリとするのではなく、葉ノードに至るパスに存在しない変数とカテゴリ変数を用いたNBを作成し、事後確率が最大のカテゴリを分類先のカテゴリとする。また、TANは、NBのグラフ構造を取り除いた属性のリンクが木となる分類器である。
ODEは、図11(d)に示すように、カテゴリ変数とある属性(Super Parent)をそれ以外のすべて属性の親属性とするTANである。ODEでは、親ノードとなりうる属性の数だけ候補が存在する。なお、親属性とは、「属性列、カテゴリ」の同時確率を計算する際に各属性の条件付き確率の積を計算するときの、各属性の条件付き確率の条件部に加えられる属性のことである。属性数と同数のODEが存在する。
更に、分類対象となるコンテンツを複数のODEによって分類し、各ODEで得られた分類結果の平均値を用いて精度の高い分類を実現するAveraged ODEと呼ばれる分類器も考案されている(例えば非特許文献2参照)。
以下、従来のコンテンツ分類装置の例として、Averaged ODEを適用したコンテンツ分類装置およびNBTを適用したコンテンツ分類装置について説明する。図12は、Averaged ODEを適用した従来のコンテンツ分類装置の構成例である。
Averaged ODEを適用したコンテンツ分類装置は、図12に示すように、学習部500および分類計算部600を備える。学習部500は、複数のODE(ODE(1)、ODE(2)、ODE(3)…)を学習用データから学習し、各ODEに関するODEモデル情報を記憶する。ODE(N)は、コンテンツ属性XnをSuper ParentとしたODEである。学習部500は、コンテンツ属性の数(N)のODEを学習する。学習用データとは、ODEの学習に用いる事例(分類に用いるコンテンツ属性(X1、X2、X3…)の値と分類先のカテゴリ変数Yの値(カテゴリ)との組み合わせ)の集合であって、データ取得部によって学習用データ記憶部に記憶される。
学習部500は、各ODEを学習する複数のODE学習部(ODE(1)学習部510a、ODE(2)学習部510b、ODE(3)学習部510c…)、および、ODEモデル情報記憶部520を備える。ODE(1)学習部510aは、頻度集計部512aおよびODE確率パラメータ計算部514aから構成される。ODE(2)学習部510b、ODE(3)学習部510c…についても同様である。以下、代表して、ODE(2)学習部510bについて説明する。
頻度集計部512bは、ODE(2)の木構造に基づいて、学習用データからODE(2)の確率パラメータの計算に用いられる頻度を集計する。ODE確率パラメータ計算部514bは、頻度集計部512bによって集計された頻度と、事前に設定した事前確率のパラメータとに基づいて、ODE(2)の確率パラメータを計算する。ODE確率パラメータ計算部514bは、ODE(2)モデル情報をODEモデル情報記憶部520に記憶する。ODE(2)モデル情報は、ODE(2)の木構造、ODE(2)の確率パラメータなどを含む情報である。
分類計算部600は、ODEモデル情報記憶部520に記憶されている複数のODEモデル情報(ODE(1)モデル情報、ODE(2)モデル情報、ODE(3)モデル情報…)を用いて、入力されたコンテンツの属性値から、それと関連性の高いカテゴリを求める。
具体的には、分類計算部600は、複数のODE同時確率計算部(ODE(1)同時確率計算部610a、ODE(2)同時確率計算部610b、ODE(3)同時確率計算部610c…)、平均同時確率計算部620および最大事後確率カテゴリ決定部630を備える。
ODE(1)同時確率計算部610aは、入力されたコンテンツの属性値と各カテゴリの同時確率を計算し、入力されたコンテンツの属性値とあるカテゴリの同時確率は、コンテンツの属性値と該カテゴリに対応する確率パラメータをODEモデル情報記憶部520に記憶されているODE(1)モデル情報から取得し、それらの積として計算する。ODE(2)同時確率計算部610b、ODE(3)同時確率計算部610c…についても同様である。
平均同時確率計算部620は、全部のODE同時確率計算部によって計算された同時確率を平均する。最大事後確率カテゴリ決定部630は、平均同時確率計算部620によって計算されたカテゴリ毎の平均同時確率を、全カテゴリについての和が1となるように正規化した確率を、入力されたコンテンツの属性値を所与としたときのカテゴリの事後確率と近似し、それを最大にするカテゴリを分類結果として決定する。
図13は、NBTを適用した従来のコンテンツ分類装置の構成例である。NBTを適用したコンテンツ分類装置は、図13に示すように、学習部700および分類計算部800を備える。学習部700は、NBTを学習用データから学習し、NBTに関するNBTモデル情報を記憶する。学習用データとは、NBTの学習に用いる事例(分類に用いるコンテンツ属性(X1、X2、X3…)の値と分類先のカテゴリ変数Yの値(カテゴリ)との組み合わせ)の集合であって、データ取得部によって学習用データ記憶部に記憶される。
学習部700は、NBT構造学習部711、頻度集計部712、NB確率パラメータ計算部714およびNBTモデル情報記憶部720を備える。NBT構造学習部711は、NBTの木構造を決定木の構造学習アルゴリズムであるC4.5を使って学習する。頻度集計部712は、NBTの構造に基づいて、学習用データからNBTの確率パラメータの計算に用いられる頻度を集計する。NB確率パラメータ計算部714は、頻度集計部712によって集計された頻度と、事前に設定した事前確率のパラメータとに基づいて、NBTの葉ノードである各NBの確率パラメータを計算する。NB確率パラメータ計算部714は、NBTモデル情報をNBTモデル情報記憶部720に記憶する。NBTモデル情報は、NBTの木構造、NBTの葉ノードである各NBの確率パラメータなどを含む情報である。
分類計算部800は、NBTモデル情報記憶部720に記憶されているNBTモデル情報を用いて、入力されたコンテンツの属性値から、それと関連性の高いカテゴリを求める。
具体的には、分類計算部800は、NBT同時確率計算部810および最大事後確率カテゴリ決定部830を備える。NBT同時確率計算部810は、入力されたコンテンツの属性値と各カテゴリの同時確率を計算し、入力されたコンテンツの属性値とあるカテゴリの同時確率は、コンテンツの属性値と該カテゴリに対応する確率パラメータをNBTモデル情報記憶部720に記憶されているNBTモデル情報から取得して、それらの積として計算する。
最大事後確率カテゴリ決定部830は、NBT同時確率計算部810によって計算されたカテゴリ毎の同時確率を、全カテゴリについての和が1となるように正規化した確率を、入力されたコンテンツの属性値を所与としたときのカテゴリの事後確率と近似し、それを最大にするカテゴリを分類結果として決定する。
Scaling up the accuracy of naive-Bayes classifiers: a decision-tree hybrid, [online], Retrieved from the Internet:<URL: http://citeseer.ist.psu.edu/kohavi96scaling.html>
Geoffrey I. Webb, Janice R. Boughton, Zhihai Wang, "Not so naive Bayes: Aggregating one-dependence estimators", [online], [Retrieved on 2007-03-26], Retrieved from the Internet: <URL: http://citeseer.ist.psu.edu/663338.html>
以下、本発明の実施形態について図面を参照して詳細に説明する。本実施形態では、テキストをコンテンツとし、そのテキストをカテゴリに分類するものとする。図1は、本発明の一実施形態によるコンテンツ分類装置の構成例である。実施形態によるコンテンツ分類装置は、図1に示すように、学習部100および分類計算部200を備える。学習部100は、複数のNBT(NBT(1)、NBT(2)、NBT(3)…)を学習用データから学習し、各NBTに関するNBTモデル情報を記憶する。NBT(n)は、コンテンツ属性Xnを根ノードとしたNBTである。学習部100は、コンテンツ属性の数(N)のNBTを学習する。学習用データとは、NBTの学習に用いる事例(分類に用いるコンテンツ属性(X1、X2、X3…)の値と分類先のカテゴリ変数Yの値(カテゴリ)との組み合わせ)の集合であって、データ取得部によって学習用データ記憶部に記憶される。
学習部100は、各NBTを学習する複数のNBT学習部(NBT(1)学習部110a、NBT(2)学習部110b、NBT(3)学習部110c…)、および、NBTモデル情報記憶部120を備える。NBT(1)学習部110aは、NBT構造学習部111a、頻度集計部112a、NB事前確率パラメータ計算部113aおよびNB確率パラメータ計算部114aから構成される。NBT(2)学習部110b、NBT(3)学習部110c…についても同様である。
以下、NBT(1)学習部110a、NBT(2)学習部110b、NBT(3)学習部110c…を総称してNBT学習部100という。同様に、NBT構造学習部111a、NBT構造学習部111b、NBT構造学習部111c…を総称してNBT構造学習部11という。同様に、頻度集計部112a、頻度集計部112b、頻度集計部112c…を総称して頻度集計部112という。同様に、NB事前確率パラメータ計算部113a、NB事前確率パラメータ計算部113b、NB事前確率パラメータ計算部113c…を総称してNB事前確率パラメータ計算部113という。同様に、NB確率パラメータ計算部114a、NB確率パラメータ計算部114b、NB確率パラメータ計算部114c…を総称してNB確率パラメータ計算部114という。
なお、本発明の構造学習手段はNBT構造学習部111によって担当され、本発明の確率パラメータ計算手段は、頻度集計部112、NB事前確率パラメータ計算部113およびNB確率パラメータ計算部114によって担当され、本発明の記憶手段は、NB確率パラメータ計算部114によって担当される。なお、本発明の記憶手段は、NB確率パラメータ計算部114に加えて、NBT構造学習部111などの他の手段によって担当されてもよい。
NBT構造学習部111は、根ノードをNBTに対応する属性とした上で、そのサブツリーをNBTの木構造を決定木の構造学習アルゴリズムであるC4.5を使って学習する。例えば、NBT構造学習部111aは、NBT(1)の木構造を学習する。頻度集計部112は、各NBTの木構造に基づいて、学習用データから各NBTの確率パラメータの計算に用いられる頻度を集計する。例えば、頻度集計部112aは、NBT(1)の木構造に基づいて、学習用データからNBT(1)の確率パラメータの計算に用いられる頻度を集計する。
NB事前確率パラメータ計算部113は、各NBTの葉ノードである各NBの各変数の確率分布に割り当てる事前確率分布のパラメータを計算する。例えば、NB事前確率パラメータ計算部113aは、NBT(1)の葉ノードである各NBの各変数の確率分布に割り当てる事前確率分布のパラメータを計算する。
NB確率パラメータ計算部114は、頻度集計部112によって集計された頻度と、NB事前確率パラメータ計算部113によって計算された事前確率のパラメータとに基づいて、各NBTについてNBTの葉ノードである各NBの確率パラメータを計算する。例えば、NB確率パラメータ計算部114aは、頻度集計部112aによって集計された頻度と、NB事前確率パラメータ計算部113aによって計算された事前確率のパラメータとに基づいて、NBT(1)の葉ノードである各NBの確率パラメータを計算する。
また、NB確率パラメータ計算部114は、各NBTのモデル情報として、NBT構造学習部111によって学習された各NBTの木構造、および、NB確率パラメータ計算部114によって計算された確率パラメータをNBTモデル情報記憶部120に記憶する。例えば、NB確率パラメータ計算部114aは、NBT(1)のモデル情報として、NBT(1)の木構造およびNBT(1)の葉ノードである各NBの確率パラメータをNBTモデル情報記憶部120に記憶する。
分類計算部200は、NBTモデル情報記憶部120に記憶されている複数のNBTモデル情報(NBT(1)モデル情報、NBT(2)モデル情報、NBT(3)モデル情報…)を用いて、入力されたコンテンツの属性値から、それと関連性の高いカテゴリを決定する。
分類計算部200は、複数のNBT同時確率計算部(NBT(1)同時確率計算部210a、NBT(2)同時確率計算部210b、NBT(3)同時確率計算部210c…)、平均同時確率計算部220および最大事後確率カテゴリ決定部230を備える。
以下、NBT(1)同時確率計算部210a、NBT(2)同時確率計算部210b、NBT(3)同時確率計算部210c…を総称してNBT同時確率計算部210という。なお、本発明の同時確率計算手段はNBT同時確率計算部210によって担当され、本発明の平均同時確率計算手段は平均同時確率計算部220によって担当され、本発明のカテゴリ決定手段は最大事後確率カテゴリ決定部230によって担当される。
NBT同時確率計算部210は、入力されたコンテンツの属性値と各カテゴリの同時確率を計算し、入力されたコンテンツの属性値とあるカテゴリの同時確率は、入力されたコンテンツの属性値に対応する、各NBTの各NBの確率パラメータをNBTモデル情報記憶部120に記憶されている各NBTモデル情報から取得し、さらにその中から入力されたコンテンツの属性値と該カテゴリに対応する確率パラメータを取得し、それらの積として計算する。例えば、NBT同時確率計算部210aは、NBT(1)の各NBの確率パラメータをNBT(1)モデル情報から取得し、さらにその中から入力されたコンテンツの属性値と各カテゴリに対応する確率パラメータを取得し、それらの積としてコンテンツの属性値と各カテゴリの同時確率を計算する。
平均同時確率計算部220は、NBT(1)同時確率計算部210a、NBT(2)同時確率計算部210b、NBT(3)同時確率計算部210c…によって計算されたそれぞれの同時確率を平均したカテゴリ毎の平均同時確率を計算する。最大事後確率カテゴリ決定部230は、平均同時確率計算部220によって計算されたカテゴリ毎の平均同時確率を、全カテゴリについての和が1となるように正規化した確率を、入力されたコンテンツの属性値を所与としたときのカテゴリの事後確率と近似し、それを最大にするカテゴリを分類結果として決定する。
以下、本発明の一実施形態によるコンテンツ分類装置を図2から図9に示す具体例を用いて説明する。具体例において、コンテンツをテキストとし、テキスト分類の問題とする。コンテンツ属性は、テキストデータに含まれる単語の出現数であって、単語の数は3(X1、X2、X3)であるものとする。
図2は、学習用データの一例である。図3は、NBTの木構造の一例である。図4は、NBTの確率パラメータの計算に用いられる頻度の一例である。図5は、事前確率パラメータの一例である。図6は、確率パラメータの一例である。図7は、NBTモデル情報の一例である。図8は、入力テキストの一例である。図9は、同時確率、平均同時確率、事後確率および最大事後確率の一例である。図2に示す学習用データは、コンテンツ属性X1、X2、X3の値(単語の出現数)と分類先のカテゴリ変数Yの値(カテゴリ)との組み合わせから構成されている。
NBT構造学習部111aは、図2に示す学習用データを参照し、決定木の構造学習アルゴリズムであるC4.5を使って、コンテンツ属性X1を根ノードとしたNBT(1)の木構造を学習する。同様に、NBT(2)学習部110bのNBT構造学習部111bは、コンテンツ属性X2を根ノードとしたNBT(2)の木構造を学習する。同様に、NBT(3)学習部110cのNBT構造学習部111cは、コンテンツ属性X3を根ノードとしたNBT(3)の木構造を学習する。例えば、NBT構造学習部111bは、図3に示すNBT(2)の木構造を学習する。
図3(a)に示すNBT(2)の木構造において、根ノードであるコンテンツ属性X2からコンテンツ属性X1を経由して葉ノードであるNB(21)に至るパス(図3(b)の実線のパス。以下、「P21」という。)は、図3(a)に示すように、コンテンツ属性X2のコンテンツの属性値が1であってかつコンテンツ属性X1のコンテンツの属性値が1であるパスである。つまり、パスP21は、図2に示す学習用データ(1)から学習用データ(3)に対応するパスである。また、NB(21)は、図3(c)に示すように、パスP21に存在しない変数であるコンテンツ属性(コンテンツ属性X3)とカテゴリ変数Yとから構成される。つまり、NB(21)は、図2の太枠A内の各値を有するコンテンツ属性X3とカテゴリ変数Yとから構成される。
図3(a)に示すNBT(2)の木構造において、根ノードであるコンテンツ属性X2からコンテンツ属性X1を経由して葉ノードであるNB(22)に至るパス(図3(b)の破線のパス。以下、「P22」という。)は、図3(a)に示すように、コンテンツ属性X2のコンテンツの属性値が1であってかつコンテンツ属性X1のコンテンツの属性値が2であるパスである。つまり、パスP22は、図2に示す学習用データ(4)から学習用データ(7)に対応するパスである。また、NB(22)は、図3(c)に示すように、パスP22に存在しない変数であるコンテンツ属性(コンテンツ属性X3)とカテゴリ変数Yとから構成される。つまり、NB(22)は、図2の太枠B内の各値を有するコンテンツ属性X3とカテゴリ変数Yとから構成される。
図3(a)に示すNBT(2)の木構造において、根ノードであるコンテンツ属性X2から葉ノードであるNB(23)に至るパス(図3(b)の点線のパス。以下、「P23」という。)は、図3(a)に示すように、コンテンツ属性X2のコンテンツの属性値が2であるときのパスである。つまり、パスP23は、図2に示す学習用データ(8)から学習用データ(12)に対応するパスである。また、NB(23)は、図3(c)に示すように、P23に存在しない変数であるコンテンツ属性(コンテンツ属性X1、X3)とカテゴリ変数Yとから構成される。つまり、NB(23)は、図2の太枠C内の各値を有するコンテンツ属性X1とコンテンツ属性X3とカテゴリ変数Yとから構成される。
図3(a)に示すNBT(2)の木構造において、根ノードであるコンテンツ属性X2から葉ノードであるNB(24)に至るパス(図3(b)の一点鎖線のパス。以下、「P24」という。)は、図3(a)に示すように、コンテンツ属性X2のコンテンツの属性値が3であるときのパスである。つまり、パスP24は、図2に示す学習用データ(13)から学習用データ(20)に対応するパスである。また、NB(24)は、図3(c)に示すように、P24に存在しない変数であるコンテンツ属性(コンテンツ属性X1、X3)とカテゴリ変数Yとから構成される。つまり、NB(24)は、図2の太枠D内の各値を有するコンテンツ属性X1とコンテンツ属性X3とカテゴリ変数Yとから構成される。
なお、図3を参照して、NBT(2)学習部110bのNBT構造学習部111bによって学習されるコンテンツ属性X2を根ノードとするNBT(2)の木構造を説明したが、NBT(1)学習部110aのNBT構造学習部111aによって学習されるコンテンツ属性X1を根ノードとするNBT(1)の木構造、および、NBT(3)学習部110cのNBT構造学習部111cによって学習されるコンテンツ属性X3を根ノードとするNBT(3)の木構造も同様である。
続いて、NBT(1)学習部110aの頻度集計部112aは、NBT(1)の木構造に基づいて、学習用データからNBT(1)の確率パラメータの計算に用いられる頻度を集計する。同様に、NBT(2)学習部110bの頻度集計部112bは、NBT(2)の木構造に基づいて、学習用データからNBT(2)の確率パラメータの計算に用いられる頻度を集計する。同様に、NBT(3)学習部110cの頻度集計部112cは、NBT(3)の木構造に基づいて、学習用データからNBT(3)の確率パラメータの計算に用いられる頻度を集計する。例えば、頻度集計部112bは、図4(a)に示すNB(21)に係る頻度、図4(b)に示すNB(22)に係る頻度、図4(c)に示すNB(23)に係る頻度、および、図4(d)に示すNB(24)に係る頻度をそれぞれ集計する。
図4(a)に示すNB(21)に係る頻度において、例えば、図中の欄E内の頻度「2」(コンテンツ属性X3のコンテンツの属性値「1」かつカテゴリ変数Yの値「1」のときの頻度)は、NB(21)に対応する3つの学習用データ(学習用データ(1)から学習用データ(3))のうち、コンテンツ属性X3のコンテンツの属性値「1」かつカテゴリ変数Yの値「1」である2つの学習用データ(学習用データ(1)(3))の数「2」を集計したものである。NB(21)に係る他の頻度も同様である。また、図4(b)に示すNB(22)に係る頻度も同様である。
図4(c)に示すNB(23)に係る頻度において、例えば、図中の欄F内の頻度「3」(コンテンツ属性X1のコンテンツの属性値「1」かつカテゴリ変数Yの値「2」のときの頻度)は、NB(23)に対応する5つの学習用データ(学習用データ(8)から学習用データ(12))のうち、コンテンツ属性X1のコンテンツの属性値「1」かつカテゴリ変数Yの値「2」である3つの学習用データ(学習用データ(8)から学習用データ(10)の数「3」を集計したものである。また、図中の欄G内の頻度「1」(コンテンツ属性X3のコンテンツの属性値「3」かつカテゴリ変数Yの値「1」に係る頻度)は、NB(23)に対応する5つの学習用データのうち、コンテンツ属性X3のコンテンツの属性値「3」かつカテゴリ変数Yの値「1」である1つの学習用データ(学習用データ(12))の数「1」を集計したものである。NB(23)に係る他の頻度も同様である。また、図4(d)に示すNB(24)に係る頻度も同様である。なお、計欄の数はカテゴリ変数Yの頻度である。
なお、図4を参照して、NBT(2)学習部110bの頻度集計部112bによるNBT(2)の確率パラメータの計算に用いられる頻度の集計について説明したが、NBT(1)学習部110aの頻度集計部112aによるNBT(1)の確率パラメータの計算に用いられる頻度の集計、および、NBT(3)学習部110cの頻度集計部112cによるNBT(3)の確率パラメータの計算に用いられる頻度の集計についても同様である。
続いて、NBT(1)学習部110aのNB事前確率パラメータ計算部113aは、NBT(1)の葉ノードである各NBの各変数の確率分布に割り当てる事前確率パラメータを計算する。同様に、NBT(2)学習部110bのNB事前確率パラメータ計算部113bは、NBT(2)の葉ノードである各NBの各変数の確率分布に割り当てる事前確率パラメータを計算する。同様に、NBT(3)学習部110cのNB事前確率パラメータ計算部113cは、NBT(3)の葉ノードである各NBの各変数の確率分布に割り当てる事前確率パラメータを計算する。例えば、NB事前確率パラメータ計算部113bは、図5(a)に示すNB(21)に係る事前確率パラメータ、図5(b)に示すNB(22)に係る事前確率パラメータ、図5(c)に示すNB(23)に係る事前確率パラメータ、および、図5(d)に示すNB(24)に係る事前確率パラメータを計算する。なお、計欄の数はカテゴリ変数Yの事前確率パラメータである。
図5(a)に示すNB(21)に係る事前確率パラメータにおいて、例えば、カテゴリ変数Yの事前確率パラメータ「0.500」は、葉ノードであるNB(21)に割り当てる定数α(例えばα=1)をカテゴリ変数Yの取り得る値m(m=2)で除することによって計算される。コンテンツ属性X3の事前確率パラメータ「0.333」は、葉ノードであるNB(21)に割り当てる定数α(例えばα=1)をコンテンツ属性X3の取り得る値m(m=3)で除することによって計算される。図5(b)に示すNB(22)の事前確率パラメータ、図5(c)に示すNB(23)の事前確率パラメータおよび図5(d)に示すNB(24)の事前確率パラメータも同様である。なお、上記の如く事前確率パラメータを用いて確率推定を行う方式をM−estimationという。M−estimationによる推定確率の平滑化によってより精度を向上させることができる。
なお、図5を参照して、NBT(2)学習部110bのNB事前確率パラメータ計算部113bによるNBT(2)の各NBの事前確率パラメータの計算について説明したが、NBT(1)学習部110aのNB事前確率パラメータ計算部113aによるNBT(1)の各NBの事前確率パラメータの計算、および、NBT(3)学習部110cのNB事前確率パラメータ計算部113cによるNBT(3)の各NBの事前確率パラメータの計算についても同様である。
続いて、NBT(1)学習部110aのNB確率パラメータ計算部114aは、頻度集計部112aによって集計された頻度と、NB事前確率パラメータ計算部113aによって計算された事前確率のパラメータとに基づいて、NBT(1)の葉ノードである各NBの確率パラメータを計算する。同様に、NBT(2)学習部110bのNB確率パラメータ計算部114bは、頻度集計部112bによって集計された頻度と、NB事前確率パラメータ計算部113bによって計算された事前確率のパラメータとに基づいて、NBT(2)の葉ノードである各NBの確率パラメータを計算する。同様に、NBT(3)学習部110cのNB確率パラメータ計算部114cは、頻度集計部112cによって集計された頻度と、NB事前確率パラメータ計算部113cによって計算された事前確率のパラメータとに基づいて、NBT(3)の葉ノードである各NBの確率パラメータを計算する。例えば、NB確率パラメータ計算部114bは、図6(a)に示すNB(21)に係る確率パラメータ、図6(b)に示すNB(22)に係る確率パラメータ、図6(c)に示すNB(23)に係る確率パラメータ、および、図6(d)に示すNB(24)に係る確率パラメータを計算する。
例えば、NB確率パラメータ計算部114bは、次式(1)を用いて、図6(a)に示すNB(21)のカテゴリ変数Yの確率パラメータを計算する。
一例として、NB確率パラメータ計算部114bは、カテゴリ変数Yの値「1」の確率パラメータ「0.875」を次式(2)のように計算する。
また、NB確率パラメータ計算部114bは、次式(3)を用いて、図6(a)に示すNB(21)のカテゴリ変数Yの値「1」を条件としたコンテンツ属性X3の確率パラメータを計算する。
一例として、NB確率パラメータ計算部114bは、NB(21)のカテゴリ変数Yの値「1」を条件としたコンテンツ属性X3の値「1」の確率パラメータ「0.583」を次式(4)のように計算する。
なお、図6を参照して、NBT(2)学習部110bのNB確率パラメータ計算部114bによるNBT(2)の葉ノードである各NBの確率パラメータの計算について説明したが、NBT(1)学習部110aのNB確率パラメータ計算部114aによるNBT(2)の葉ノードである各NBの確率パラメータの計算、および、NBT(3)学習部110cのNB確率パラメータ計算部114cによるNBT(3)の葉ノードである各NBの確率パラメータの計算についても同様である。
なお、図7は、NB確率パラメータ計算部114bによってNBTモデル情報記憶部120に記憶されるNBT(2)モデル情報である。図中のHはNBT(2)の木構造である。図中のIはNBT(2)の1つの葉ノードであるNB(21)のカテゴリ変数Yの確率パラメータ、図中のJはNBT(2)の1つの葉ノードであるNB(21)のカテゴリ変数Yを条件としたコンテンツ属性Xの確率パラメータである。
分類計算部200の同時確率計算部210aは、NBT(1)の各NBの確率パラメータをNBTモデル情報記憶部120に記憶されているNBT(1)モデル情報から取得し、さらにその中から入力されたコンテンツの属性値と各カテゴリに対応する確率パラメータを取得し、それらの積としてコンテンツの属性値と各カテゴリの同時確率を計算する。同様に、分類計算部200の同時確率計算部210bは、NBT(2)の各NBの確率パラメータをNBTモデル情報記憶部120に記憶されているNBT(2)モデル情報から取得し、さらにその中から入力されたコンテンツの属性値と各カテゴリに対応する確率パラメータを取得し、それらの積としてコンテンツの属性値と各カテゴリの同時確率を計算する。同様に、分類計算部200の同時確率計算部210cは、NBT(3)の各NBの確率パラメータをNBTモデル情報記憶部120に記憶されているNBT(3)モデル情報から取得し、さらにその中から入力されたコンテンツの属性値と各カテゴリに対応する確率パラメータを取得し、それらの積としてコンテンツの属性値と各カテゴリの同時確率を計算する。
例えば、同時確率計算部210bは、次式(5)を用いて、各カテゴリ変数Yおよび入力テキストの同時確率を計算する。
一例として、同時確率計算部210bは、図8に示す入力テキスト(1)を取得した場合、コンテンツ属性X2は値「1」、コンテンツ属性X1は値「2」であるため、図3(b)に示すパスP22に対応するので、図6(b)のNB(22)に係る確率パラメータ(X3=3)を使用して、カテゴリ変数Yの値「1」および入力テキスト(1)の同時確率「0.056」、および、カテゴリ変数Yの値「2」および入力テキスト(1)の同時確率「0.389」を次式(6)のように計算する。
図9(a)に示す同時確率(2)は、同時確率計算部210bが上述の如くNBT(2)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(1)の同時確率である。なお、図9(a)に示す同時確率(1)は、同時確率計算部210aが同様にNBT(1)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(1)の同時確率である。また、図9(a)に示す同時確率(3)は、同時確率計算部210cが同様にNBT(3)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(1)の同時確率である。
他の例として、同時確率計算部210bは、図8に示す入力テキスト(2)を取得した場合、コンテンツ属性X2は値「2」であるため、図3(b)に示すパスP23に対応するので、図6(c)のNB(23)に係る確率パラメータ(X1=2、X3=3)を使用して、カテゴリ変数Yの値「1」および入力テキスト(2)の同時確率「0.093」、および、カテゴリ変数Yの値「2」および入力テキスト(2)の同時確率「0.043」を次式(7)のように計算する。
図9(b)に示す同時確率(2)は、同時確率計算部210bが上述の如くNBT(2)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(2)の同時確率である。なお、図9(b)に示す同時確率(1)は、同時確率計算部210aが同様にNBT(1)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(2)の同時確率である。また、図9(b)の同時確率(3)は、同時確率計算部210cが同様にNBT(3)の確率パラメータを用いて計算した各カテゴリ変数Yおよび入力テキスト(2)の同時確率である。
続いて、分類計算部200の平均同時確率計算部220は、次式(8)を用いて、NBT同時確率計算部210a、NBT同時確率計算部210bおよびNBT同時確率計算部210cによって計算されたそれぞれの同時確率を平均したカテゴリ毎の平均同時確率を計算する。
一例として、図9(a)に示すように、同時確率計算部210aによってカテゴリ変数Yの値「1」および入力テキスト(1)の同時確率「0.275」およびカテゴリ変数Yの値「2」および入力テキスト(1)の同時確率「0.524」が計算され、同時確率計算部210bによってカテゴリ変数Yの値「1」および入力テキスト(1)の同時確率「0.056」およびカテゴリ変数Yの値「2」および入力テキスト(1)の同時確率「0.389」が計算され、同時確率計算部210cによってカテゴリ変数Yの値「1」および入力テキスト(1)の同時確率「0.121」およびカテゴリ変数Yの値「2」および入力テキスト(1)の同時確率「0.423」が計算された場合、平均同時確率計算部220は、カテゴリ変数Yの値「1」および入力テキスト(1)の同時確率を平均したカテゴリ変数Yの値「1」の平均同時確率「0.151」、および、カテゴリ変数Yの値「2」および入力テキスト(1)の同時確率を平均したカテゴリ変数Yの値「2」の平均同時確率「0.445」を次式(9)のように計算する。
図9(a)に示す平均同時確率は、平均同時確率計算部220が上述の如く計算したカテゴリ変数Yおよび入力テキスト(1)の平均同時確率である。なお、図9(b)に示す平均同時確率は、平均同時確率計算部220が同様に計算したカテゴリ変数Yおよび入力テキスト(2)の平均同時確率である。
続いて、分類計算部200の最大事後確率カテゴリ決定部230は、平均同時確率計算部220によって計算されたカテゴリ毎の平均同時確率を、全カテゴリについての和が1となるように正規化した確率を、入力されたコンテンツの属性値を所与としたときのカテゴリの事後確率と近似し、それを最大にするカテゴリを分類結果として決定する。
具体的には、最大事後確率カテゴリ決定部230は、次式(10)を用いて、事後確率を計算し、事後確率が最大のカテゴリを分類先カテゴリとして決定する。
一例として、図9(a)に示すように、平均同時確率計算部220によって、カテゴリ変数Yの値「1」および入力テキスト(1)の同時確率の平均値「0.151」が計算され、カテゴリ変数Yの値「2」および入力テキスト(1)の同時確率の平均値「0.445」が計算された場合、最大事後確率カテゴリ決定部230は、入力テキスト(1)の分類先カテゴリを次式(11)のように決定する。
図9(a)に示す事後確率は、最大事後確率カテゴリ決定部230が上述の如く計算したカテゴリ変数Yおよび入力テキスト(1)の事後確率である。また、最大事後確率は、上述の如く最大事後確率カテゴリ決定部230が決定した入力テキスト(1)の分類先カテゴリである。なお、図9(b)に示す事後確率は、最大事後確率カテゴリ決定部230が同様に計算したカテゴリ変数Yおよび入力テキスト(2)の事後確率である。また、最大事後確率は、上述の如く最大事後確率カテゴリ決定部230が決定した入力テキスト(2)の分類先カテゴリである。なお、最大事後確率のアスタリスクは、最大事後確率カテゴリ決定部230が決定した入力テキスト(1)(2)の分類先カテゴリを示す。
図10は、本発明の一実施形態によるコンテンツ分類装置の動作の一例を示すフローチャートである。NBT構造学習部11は、複数のNBTの木構造を学習する(ステップS100)。頻度集計部112は、各NBTの木構造に基づいて、学習用データから各NBTの確率パラメータの計算に用いられる頻度を集計する(ステップS110)。NB事前確率パラメータ計算部13は、各NBTの葉ノードである各NBの各変数の確率分布に割り当てる事前確率分布のパラメータを計算する(ステップS120)。NB確率パラメータ計算部114は、頻度集計部112によって集計された頻度と、NB事前確率パラメータ計算部13によって計算された事前確率のパラメータとに基づいて、各NBTについて葉ノードである各NBの確率パラメータを計算する(ステップS130)。NB確率パラメータ計算部114は、各NBTのモデル情報をNBTモデル情報記憶部120に記憶する(ステップS140)。
NBT同時確率計算部210は、入力されたコンテンツの属性値とカテゴリの同時確率を計算する(ステップS150)。平均同時確率計算部220は、NBT(1)同時確率計算部210a、NBT(2)同時確率計算部210b、NBT(3)同時確率計算部210c…によって計算されたそれぞれの同時確率を平均したカテゴリ毎の平均同時確率を計算する(ステップS160)。最大事後確率カテゴリ決定部230は、平均同時確率計算部220によって計算されたカテゴリ毎の平均同時確率を、全カテゴリについての和が1となるように正規化した確率を、入力されたコンテンツの属性値を所与としたときのカテゴリの事後確率と近似し、それを最大にするカテゴリを分類結果として決定する(ステップS170)。そして本フローチャートは終了する。
以上、本実施形態によれば、複数のNBTを平均し、NBTの根ノードの属性の選択により精度が変化する影響を平均化することによって、安定した高い精度でコンテンツを分類することができるようになる。
なお、本発明の一実施形態によるコンテンツ分類装置の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態によるコンテンツ分類装置に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 学習部 111 NBT構造学習部 112 頻度集計部 113 NB事前確率パラメータ計算部 114 NB確率パラメータ計算部 120 NBTモデル情報記憶部 200 分類計算部 210 NBT同時確率計算部 220 平均同時確率計算部 230 最大事後確率カテゴリ決定部