(57)【特許請求の範囲】
【請求項１】
コンテンツデータに含まれるデータの属性とカテゴリの同時確率を計算する複数のＯＤＥ（One-Dependence Estimator）と、
前記複数のＯＤＥによって計算された前記同時確率に基づいて、前記コンテンツデータの分類先のカテゴリを決定する分類手段と、
を備えたコンテンツ分類装置において、
前記ＯＤＥは、
カテゴリと関連付けられた学習データから確率パラメータを計算する確率パラメータ計算手段と、
前記確率パラメータに基づいて、前記学習データの属性とカテゴリの同時確率である前記学習データの生成確率を計算する第１の確率計算手段と、
前記第１の確率計算手段によって計算された前記生成確率に基づいた重み値を計算する重み計算手段と、
前記確率パラメータおよび前記重み値を記憶する記憶手段と、
前記確率パラメータに基づいて、前記コンテンツデータに含まれるデータの属性とカテゴリの同時確率を計算する第２の確率計算手段と、
を備え、前記分類手段は、各ＯＤＥの前記第２の確率計算手段によって計算された前記同時確率を前記重み値により重み付けして加算することによってカテゴリ毎に全体同時確率を計算し、各カテゴリの前記全体同時確率に基づいて前記コンテンツデータの分類先のカテゴリを決定し、
前記重み計算手段は、前記第１の確率計算手段によって計算された前記生成確率を（１／前記学習データの数）乗することによって前記重み値を計算する
ことを特徴とするコンテンツ分類装置。
【請求項２】
前記重み計算手段は、前記第１の確率計算手段によって計算された各学習データの前記生成確率の対数値の総和である対数生成確率を計算し、所定値を（前記対数生成確率／前記学習データの数）乗した値に比例する値を前記重み値とすることを特徴とする請求項１に記載のコンテンツ分類装置。
【請求項３】
前記重み計算手段はさらに、新たな前記学習データから前記第１の確率計算手段によって計算された前記生成確率に基づいて、新たな前記学習データの前記対数生成確率を計算し、計算済みの前記対数生成確率と新たな前記学習データの前記対数生成確率を加算することによって前記対数生成確率を更新し、前記所定値を（更新後の前記対数生成確率／新たな前記学習データを含む前記学習データの数）乗した値に比例する値を前記重み値の更新後の値とすることを特徴とする請求項２に記載のコンテンツ分類装置。
【請求項４】
請求項１〜請求項３のいずれかに記載のコンテンツ分類装置としてコンピュータを機能させるためのプログラム。
【請求項５】
請求項４に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＯＤＥ（One-Dependence Estimator）による分類結果に基づいてコンテンツデータの分類先のカテゴリを決定するコンテンツ分類装置に関する。また、本発明は、本コンテンツ分類装置としてコンピュータを機能させるためのプログラム、およびこのプログラムを格納した記録媒体にも関する。
【背景技術】
【０００２】
分類対象となるコンテンツを複数のＯＤＥ と呼ばれるベイジアン分類器で分類させ、各ＯＤＥで得られた分類結果の平均値を用いて精度の高い分類を実現する、Averaged ODEと呼ばれる手法がある（例えば非特許文献１参照）。テキストからなるコンテンツを分類する場合、図１７に示すようにＯＤＥは、カテゴリ以外に、ある属性（単語）をその他の属性（単語）の親属性とするようなベイジアン分類器である。親属性とは、「属性列，カテゴリ」の同時確率を各属性の条件付き確率の掛け算として計算するときの、各属性の条件付き確率の条件部に加えられる属性のことである。属性数（単語の種類数）と同数のＯＤＥが存在する。
【０００３】
図１８は、ＯＤＥを有する従来のコンテンツ分類装置の構成を示している。本発明でも従来のＯＤＥを利用しており、その詳細は後述するので、以下、従来のコンテンツ分類装置の構成を簡単に説明する。コンテンツ分類装置は複数のＯＤＥ１ａ，１ｂ，１ｃ、学習データ入力部２、テキスト情報入力部３、および分類部４を有している。上述したように、ＯＤＥの数は分類対象のテキストの属性数に応じて可変となる。図１８では３つのＯＤＥが示されている。
【０００４】
３つのＯＤＥのうち、代表してＯＤＥ１ａの構成を説明する。ＯＤＥ情報記憶部１０ａ（ＯＤＥＡ情報記憶部）は、テキストの分類処理に用いられる各種情報を記憶する。ＯＤＥ情報管理部１１ａ（ＯＤＥＡ情報管理部）は、ＯＤＥ情報記憶部１０ａに格納される情報を管理する。同時確率計算部１２ａは、テキストが分類され得るカテゴリに関する同時確率を計算する。ＯＤＥ１ｂ，１ｃの構成もＯＤＥ１ａと同様である。
【０００５】
学習データ入力部２は、ＯＤＥにおける学習に必要な学習データを各ＯＤＥに入力する。テキスト情報入力部３は、分類対象のテキストの情報を各ＯＤＥに入力する。分類部４は、各ＯＤＥで計算された同時確率を単純平均した結果に基づいて、テキストの分類先のカテゴリを決定する。
【非特許文献１】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>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術では、各ＯＤＥで計算された同時確率の単純な平均値を用いてコンテンツデータの分類先のカテゴリを決定しているが、精度の向上が十分でない。
【０００７】
本発明は、上述した課題に鑑みてなされたものであって、精度の高い分類を行うことができるコンテンツ分類装置、プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記の課題を解決するためになされたもので、コンテンツデータに含まれるデータの属性とカテゴリの同時確率を計算する複数のＯＤＥ（One-Dependence Estimator）と、前記複数のＯＤＥによって計算された前記同時確率に基づいて、前記コンテンツデータの分類先のカテゴリを決定する分類手段と、を備えたコンテンツ分類装置において、前記ＯＤＥは、カテゴリと関連付けられた学習データから確率パラメータを計算する確率パラメータ計算手段と、前記確率パラメータに基づいて、前記学習データの属性とカテゴリの同時確率である前記学習データの生成確率を計算する第１の確率計算手段と、前記第１の確率計算手段によって計算された前記生成確率に基づいた重み値を計算する重み計算手段と、前記確率パラメータおよび前記重み値を記憶する記憶手段と、前記確率パラメータに基づいて、前記コンテンツデータに含まれるデータの属性とカテゴリの同時確率を計算する第２の確率計算手段と、を備え、前記分類手段は、各ＯＤＥの前記第２の確率計算手段によって計算された前記同時確率を前記重み値により重み付けして加算することによってカテゴリ毎に全体同時確率を計算し、各カテゴリの前記全体同時確率に基づいて前記コンテンツデータの分類先のカテゴリを決定することを特徴とするコンテンツ分類装置である。
【０００９】
また、本発明のコンテンツ分類装置において、前記重み計算手段は、前記第１の確率計算手段によって計算された前記生成確率を（１／前記学習データの数）乗することによって前記重み値を計算することを特徴とする。
【００１０】
また、本発明のコンテンツ分類装置において、前記重み計算手段はさらに、新たな前記学習データから前記第１の確率計算手段によって計算された前記生成確率に基づいて前記重み値を更新することを特徴とする。
【００１１】
また、本発明のコンテンツ分類装置において、前記重み計算手段は、前記第１の確率計算手段によって計算された各学習データの生成確率の対数値の総和である対数生成確率を計算し、所定値を（前記対数生成確率／前記学習データの数）乗した値に比例する値を前記重み値とすることを特徴とする。
【００１２】
また、本発明のコンテンツ分類装置において、前記重み計算手段はさらに、新たな前記学習データから前記第１の確率計算手段によって計算された前記生成確率に基づいて、新たな前記学習データの前記対数生成確率を計算し、計算済みの前記対数生成確率と新たな前記学習データの前記対数生成確率を加算することによって前記対数生成確率を更新し、前記所定値を（更新後の前記対数生成確率／新たな前記学習データを含む前記学習データの数）乗した値に比例する値を前記重み値の更新後の値とすることを特徴とする。
【００１３】
また、本発明は、上記のコンテンツ分類装置としてコンピュータを機能させるためのプログラムである。
【００１４】
また、本発明は、上記のプログラムを格納したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１５】
本発明によれば、各ＯＤＥで計算された同時確率を重み値により重み付けして加算することによってカテゴリ毎に全体同時確率を計算し、各カテゴリの全体同時確率に基づいてコンテンツデータの分類先のカテゴリを決定するようにしたので、精度の高い分類を行うことができるという効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、本発明の実施形態を説明する。本実施形態では、テキストをコンテンツとし、そのテキストを分類するものとする。図１は、本発明の一実施形態によるコンテンツ分類装置の構成を示している。本実施形態によるコンテンツ分類装置は複数のＯＤＥ１ａ，１ｂ，１ｃ、学習データ入力部２、テキスト情報入力部３、および分類部４を有している。前述したように、ＯＤＥの数は分類対象のテキストの属性数に応じて可変となる。図１では３つのＯＤＥが示されている。
【００１７】
３つのＯＤＥのうち、代表してＯＤＥ１ａの構成を説明する。ＯＤＥ情報記憶部１０ａ（ＯＤＥＡ情報記憶部）は、テキストの分類処理に用いられる各種情報を記憶する。ＯＤＥ情報管理部１１ａ（ＯＤＥＡ情報管理部）は、ＯＤＥ情報記憶部１０ａに格納される情報を管理する。同時確率計算部１２ａは、テキストが分類され得るカテゴリに関する同時確率を計算する。重み計算部１３ａは従来のＯＤＥにはない構成であり、ＯＤＥの重み値を計算する。ＯＤＥ１ｂ，１ｃの構成もＯＤＥ１ａと同様である。本実施形態の説明に用いる図面では、ＯＤＥ１ａ，１ｂ，１ｃをそれぞれＯＤＥＡ，ＯＤＥＢ，ＯＤＥＣと表記することもある。
【００１８】
学習データ入力部２は、ＯＤＥにおける学習に必要な学習データを各ＯＤＥに入力する。テキスト情報入力部３は、分類対象のテキストの情報を各ＯＤＥに入力する。分類部４は、各ＯＤＥで計算された同時確率を各ＯＤＥの重み値により重み付けして加算した結果に基づいて、テキストの分類先のカテゴリを決定する。従来技術では、各ＯＤＥで計算された同時確率を均等に重み付けして加算していたが、本実施形態では、各ＯＤＥで個別に計算される重み値により同時確率を重み付けして加算する。そこで、本実施形態のＯＤＥを、従来のＡＯＤＥ（Averaged ODE）に対して、ＷＡＯＤＥ（Weighted-Averaged ODE）と呼ぶことにする。
【００１９】
次に、ＯＤＥ情報記憶部１０ａ，１０ｂ，１０ｃに格納される情報の詳細な内容を説明する。本実施形態では、テキストの属性である単語は単語Ａ、単語Ｂ、単語Ｃの３つであり、カテゴリはカテゴリ１、カテゴリ２の２つであるものとする。これに関する情報がＯＤＥ情報記憶部に保存される。
【００２０】
図２に示すように、各ＯＤＥのＯＤＥ情報記憶部はＯＤＥ情報２００ａ，２００ｂ，２００ｃとして、ＯＤＥの頻度情報２０１ａ，２０１ｂ，２０１ｃおよびＯＤＥの確率パラメータ２０２ａ，２０２ｂ，２０２ｃを記憶する。また、各ＯＤＥのＯＤＥ情報記憶部はＯＤＥの重み情報２１０ａ，２１０ｂ，２１０ｃとして、ＯＤＥの学習データの対数生成確率２１１ａ，２１１ｂ，２１１ｃおよびＯＤＥの重み値２１２ａ，２１２ｂ，２１２ｃを記憶する。
【００２１】
上記の情報のうち、頻度情報は、確率パラメータの推定に必要となるテキスト中の単語の出現頻度に関する情報である。確率パラメータは、頻度情報をもとに推定するパラメータであり、「入力テキストの属性値（単語の頻度）列，カテゴリ値（カテゴリ１または２）」の同時確率の計算や学習データの対数生成確率の計算のために用いられる。
【００２２】
ＯＤＥの学習データの対数生成確率は、入力された学習データの対数生成確率である。学習データの対数生成確率の詳細は後述する。追加学習データがあった場合には、更新前の対数生成確率と追加学習データの対数生成確率を合算することにより、対数生成確率が更新される。ＯＤＥの重み値は、各ＯＤＥによる「入力テキストの属性値列，カテゴリ値」の同時確率を加重平均するときの重みとして用いられる。追加学習データがあった場合には、学習データの更新後の対数生成確率に基づいてＯＤＥの重み値が更新される。
【００２３】
次に、本実施形態によるコンテンツ分類装置の動作を説明する。まず、コンテンツ分類装置の全体の概略動作を説明する。図３（ａ）に示すように、ＷＡＯＤＥにおいて学習または更新を行う場合には、まず学習データ入力部２にテキストデータが入力される（ステップＳ１００）。このテキストデータは、分類結果が予め分かっており、カテゴリ１または２と関連付けられたデータである。続いて、各ＯＤＥは、カテゴリと関連付けられたテキストデータから作成された学習データに基づいてＯＤＥ情報（頻度情報および確率パラメータ）を登録または更新し（ステップＳ１０１）、さらにＯＤＥの重み情報（学習データの対数生成確率および重み値）を登録または更新する（ステップＳ１０２）。
【００２４】
また、図３（ｂ）に示すように、ＷＡＯＤＥにおいてテキストの分類を行う場合には、まずテキスト情報入力部３にテキストデータが入力される（ステップＳ１１０）。続いて、各ＯＤＥは分類に必要な情報をテキストから抽出し、カテゴリ毎に「入力テキストの属性値列，カテゴリ値」の同時確率を計算する（ステップＳ１１１）。続いて、分類部４は、各ＯＤＥで計算された各カテゴリの同時確率をＯＤＥ毎の重み値で加重平均し、加重平均値の最も高いカテゴリを分類カテゴリに決定する（ステップＳ１１２）。
【００２５】
次に、図４を参照しながら、ＯＤＥ情報（頻度情報および確率パラメータ）の登録・更新処理の内容を説明する。以下の処理は各ＯＤＥについて実行されるが、具体的な処理に関しては、ＯＤＥ１ｂにおける処理を一例として説明する。まず、カテゴリの決まっているテキスト（カテゴリ付きテキスト）が学習データ入力部２に入力される。学習データ入力部２は、入力されたカテゴリ付きテキストのテキスト部分からテキストの属性として単語を抽出すると共にその出現頻度（テキスト中に出現する個数）をカウントし、学習データを作成する（ステップＳ２００）。
【００２６】
図５（ａ）はカテゴリ付きテキストの一例を示している。テキスト中には単語Ａと単語Ｂが含まれ、カテゴリはカテゴリ１である。図５（ｂ）はこのカテゴリ付きテキストから作成された学習データを示している。単語Ａ，Ｂ，Ｃの頻度情報（２，１，０）とカテゴリ（カテゴリ１）が関連付けられている。
【００２７】
ステップＳ２００に続いて、学習データ入力部２は各ＯＤＥのＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ学習データを送信する（ステップＳ２１０）。各ＯＤＥ情報管理部は、学習データ入力部２から取得した学習データを用いてＯＤＥの頻度情報の登録または更新を行う（ステップＳ２２０）。
【００２８】
例えば、ＯＤＥ１ｂのＯＤＥ情報管理部１１ｂが、図５（ｂ）に示した学習データを取得した場合、ＯＤＥ情報記憶部１０ｂに格納されるＯＤＥの頻度情報は以下のようになる。図６は、ＯＤＥ情報管理部１１ｂが初めて学習データを取得した場合に登録された頻度情報の内容を示している。図６（ａ）に示す頻度情報は、単語Ａの個数と、親属性である単語Ｂの個数と、カテゴリ１とに関する文書頻度を示している。例えば、セル６００の情報は、カテゴリがカテゴリ１であり、単語Ｂが１個含かつ単語Ａが２個以上含まれるテキストデータが１個加えられたことを表している。セル６００の下の行にあるセル６１０の情報は、カテゴリがカテゴリ１であり、単語Ｂが１個含まれるテキストデータが１個加えられたことを表している。
【００２９】
図６（ｂ）に示す頻度情報は、親属性である単語Ｂの個数とカテゴリ１および２とに関する文書頻度を示している。例えば、セル６２０の情報は、カテゴリがカテゴリ１であり、単語Ｂが１個含まれるテキストデータが１個加えられたことを表している。また、セル６３０の情報は、テキストデータが１個加えられたことを表している。
【００３０】
図７は、既に学習データからＯＤＥの頻度情報が作成されている場合に、新たに追加された学習データに基づいて更新された頻度情報の内容を示している。図７（ａ）に示す頻度情報は、単語Ａの個数と、親属性である単語Ｂの個数と、カテゴリ１とに関する文書頻度を示している。例えば、セル７００の情報は、カテゴリがカテゴリ１であり、単語Ｂが１個かつ単語Ａが２個以上含まれるテキストデータが学習データ中に１１個あり、データが１個加わったことにより、データの個数が１２個になったことを表している。セル７００の下の行にあるセル７１０の情報は、カテゴリがカテゴリ１で単語Ｂが１個含まれるテキストデータが学習データ中に３９個あり、データが１個加わったことにより、データの個数が４０個になったことを表している。
【００３１】
図７（ｂ）に示す頻度情報は、親属性である単語Ｂの個数とカテゴリ１および２とに関する文書頻度を示している。例えば、セル７２０は、カテゴリがカテゴリ１であり、単語Ｂが１個含まれるテキストデータが学習データ中に３９個あり、データが１個加わったことにより、データの個数が４０個になったことを表している。また、セル７３０の情報は、テキストデータが学習データ中に２４９個あり、データが１個加わったことにより、データの個数が２５０個になったことを表している。
【００３２】
図４のステップＳ２２０に続いて、各ＯＤＥ情報管理部は、ステップＳ２２０で登録または更新したＯＤＥの頻度情報に基づいて確率パラメータの推定値を計算する（ステップＳ２３０）。このステップＳ２３０では、確率パラメータとして、「親属性値，カテゴリ値」の条件付きの属性（単語の個数）値の確率および「親属性値，カテゴリ値」の同時確率が推定される。
【００３３】
以下の（１）式は「親属性値，カテゴリ値」の条件付き単語頻度確率の計算式を示している。
【００３４】
【数１】
0005156428.tif 000002
【００３５】
また、以下の（２）式は「親属性値，カテゴリ値」の同時確率の計算式を示している。
【００３６】
【数２】
0005156428.tif 000003
【００３７】
以下、確率パラメータの具体例を説明する。確率パラメータの推定には、図８に示す頻度情報を用いるものとする。図８（ａ）に示す頻度情報は、単語Ａの個数と、親属性である単語Ｂの個数と、カテゴリ１とに関する文書頻度を示している。また、図８（ｂ）に示す頻度情報は、親属性である単語Ｂの個数とカテゴリ１および２とに関する文書頻度を示している。
【００３８】
図８に示した頻度情報を用いてＯＤＥ１ｂのＯＤＥ情報管理部１１ｂが推定する確率パラメータの値は図９のようになる。図９（ａ）は、「単語Ｂ（親属性）の個数，カテゴリ１」を条件としたときの単語Ａの個数の確率を示している。例えば、セル９００の情報は、カテゴリがカテゴリ１であり、単語Ｂが１個含まれることを条件としたとき、そのテキストデータに単語Ａが１個含まれる確率が0.252と推定されることを表している。この確率は、（１）式に基づいた以下の（３）式のように計算される。
【００３９】
【数３】
0005156428.tif 000004
【００４０】
また、単語Ａの個数の確率について以下の（４）式が成り立つ。
【００４１】
【数４】
0005156428.tif 000005
【００４２】
図９（ｂ）は、「単語Ｂ（親属性）の個数，カテゴリ値（カテゴリ１、カテゴリ２）」の同時確率を示している。例えば、セル９１０の情報は、テキストデータのカテゴリがカテゴリ１であり、そのテキストデータに単語Ｂが１個含まれる確率が0.160と推定されることを表している。この確率は、（２）式に基づいた以下の（５）式のように計算される。
【００４３】
【数５】
0005156428.tif 000006
【００４４】
また、単語Ｂの個数の確率について以下の（６）式が成り立つ。
【００４５】
【数６】
0005156428.tif 000007
【００４６】
単語Ｃに関する確率パラメータも上記と同様である。上記のようにして計算された頻度情報および確率パラメータは各ＯＤＥのＯＤＥ情報記憶部１０ａ，１０ｂ，１０ｃに保存される。
【００４７】
次に、図１０を参照しながら、ＯＤＥの重み値の計算処理の内容を説明する。以下の処理は各ＯＤＥについて実行されるが、具体的な処理に関しては、ＯＤＥ１ｂにおける処理を一例として説明する。カテゴリ付きテキストが学習データ入力部２に入力されると、学習データが作成され、各ＯＤＥのＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ送信される。その後、各ＯＤＥ情報管理部は学習データを用いてＯＤＥ情報の登録または更新を行う。以上がステップＳ３００の処理内容であり、学習データの数だけステップＳ３００の処理が繰り返される。
【００４８】
学習データの数だけステップＳ３００の処理が繰り返された後、学習データ入力部２は、学習データに含まれる属性値列およびカテゴリ値のデータをＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ送信する（ステップＳ３１０）。
【００４９】
データを受信した各ＯＤＥ情報管理部は、各学習データの生成確率の計算に必要な確率パラメータを各ＯＤＥ情報記憶部から読み出し、各同時確率計算部へ送信する（ステップＳ３３０）。ここで、学習データの生成確率とは学習データの「属性値列，カテゴリ値」の同時確率のことである。ＯＤＥｊを前提としたときの「属性値列，カテゴリ値」の生成確率（同時確率）は、以下の（７）式を用いて計算される。
【００５０】
【数７】
0005156428.tif 000008
【００５１】
例えば、１つの学習データが図１１のようなデータ（以下、データ１とする）であった場合、データ１の生成確率の計算に必要な確率パラメータは以下の（８）式〜（１０）式で表される。
【００５２】
【数８】
0005156428.tif 000009
【００５３】
ステップＳ３３０に続いて、各同時確率計算部は、各ＯＤＥ情報管理部から受信した確率パラメータを用いて各学習データの生成確率を計算する（ステップＳ３４０）。例えば、ＯＤＥ１ｂの同時確率計算部１２ｂはデータ１の生成確率を以下の（１１）式のように計算する。同様にして、ＯＤＥ１ｂを前提としたときの２つ目の学習データ、・・・、最後の学習データの生成確率がそれぞれ0.00899、・・・、0.00400と計算されたとする。
【００５４】
【数９】
0005156428.tif 000010
【００５５】
ステップＳ３４０に続いて、各同時確率計算部は各学習データの生成確率を重み計算部１３ａ，１３ｂ，１３ｃへ送信する（ステップＳ３５０）。各学習データの生成確率を受信した各重み計算部は、各学習データの生成確率に基づいて、学習データの対数生成確率を計算する（ステップＳ３６０）。学習データの対数生成確率は、以下の（１２）式を用いて計算される。
【００５６】
【数１０】
0005156428.tif 000011
【００５７】
例えば、ＯＤＥ１ｂの重み計算部１３ｂは学習データの対数生成確率を以下の（１３）式のようにして計算する。学習データの個数は２５００個であるものとする。
【００５８】
【数１１】
0005156428.tif 000012
【００５９】
ステップＳ３６０に続いて、各重み計算部は、学習データの対数生成確率と学習データの個数に基づいてＯＤＥの重み値を計算する（ステップＳ３７０）。ＯＤＥの重み値は、以下の（１４）式を用いて計算される。このようにして計算されたＯＤＥの重み値は、ＯＤＥに対する学習データのあてはまり度合いを表す。
【００６０】
【数１２】
0005156428.tif 000013
【００６１】
例えば、ＯＤＥ１ｂの重み計算部１３ｂはＯＤＥ１ｂの重み値を以下の（１５）式のようにして計算する。同様に、ＯＤＥ１ａ，１ｃの重み値がそれぞれ7.33×10-3，5.49×10-3と計算されたとする。
【００６２】
【数１３】
0005156428.tif 000014
【００６３】
ステップＳ３７０に続いて、各重み計算部は、計算したＯＤＥの重み値と学習データの対数生成確率を各ＯＤＥ情報管理部へ送信する（ステップＳ３８０）。各ＯＤＥ情報管理部は、受信したＯＤＥの重み値と学習データの対数生成確率を各ＯＤＥ情報記憶部に格納する。
【００６４】
次に、図１２を参照しながら、ＯＤＥの重み値の更新処理の内容を説明する。分類カテゴリが付与されたテキストデータが新たに学習データ入力部２に入力された場合に、これを用いてＯＤＥの重み値を更新することによって分類精度を向上することができる。ＯＤＥの重み値の更新処理は、新たなカテゴリ付きテキストが生成される毎に行ってもよいし、所定の時間間隔で定期的に行ってもよいし、あるいは所定数のカテゴリ付きテキストが蓄積される毎に行ってもよいが、ＯＤＥの重み値の更新処理を頻繁に行うと処理負荷が高くなるため、コンテンツ分類装置の性能に応じた頻度でＯＤＥの重み値の更新処理を行うとよい。以下の処理は各ＯＤＥについて実行されるが、具体的な処理に関しては、ＯＤＥ１ｂにおける処理を一例として説明する。
【００６５】
カテゴリ付きテキストが学習データ入力部２に入力されると、新たな学習データ（以下、追加学習データとする）が作成され、各ＯＤＥのＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ送信される。その後、各ＯＤＥ情報管理部は追加学習データを用いてＯＤＥ情報の登録または更新を行う。以上がステップＳ４００の処理内容であり、追加学習データが複数個ある場合には、その数だけステップＳ４００の処理が繰り返される。
【００６６】
ステップＳ４００の処理が実行された後、学習データ入力部２は、追加学習データに含まれる属性値列およびカテゴリ値のデータをＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ送信する（ステップＳ４１０）。
【００６７】
データを受信した各ＯＤＥ情報管理部は、各追加学習データの生成確率の計算に必要な確率パラメータを各ＯＤＥ情報記憶部から読み出し、各同時確率計算部へ送信する（ステップＳ４３０）。例えば、追加学習データが図１３のようなデータであった場合、その生成確率の計算に必要な確率パラメータは以下の（１６）式〜（１８）式で表される。
【００６８】
【数１４】
0005156428.tif 000015
【００６９】
ステップＳ４３０に続いて、各同時確率計算部は、各ＯＤＥ情報管理部から受信した確率パラメータを用いて追加学習データの生成確率を計算する（ステップＳ４４０）。追加学習データの生成確率は（７）式と同様である。例えば、ＯＤＥ１ｂの同時確率計算部１２ｂは追加学習データの生成確率を以下の（１９）式のように計算する。
【００７０】
【数１５】
0005156428.tif 000016
【００７１】
ステップＳ４４０に続いて、各同時確率計算部は追加学習データの生成確率を重み計算部１３ａ，１３ｂ，１３ｃへ送信する（ステップＳ４５０）。また、各ＯＤＥ情報管理部は各ＯＤＥ情報記憶部から学習データの対数生成確率を読み出し、各同時確率計算部へ送信する（ステップＳ４６０）。追加学習データの生成確率と学習データの対数生成確率を受信した各重み計算部は、それらに基づいて学習データの対数生成確率を更新する（ステップＳ４７０）。学習データの対数生成確率の更新後の値は、以下の（２０）式を用いて計算される。
【００７２】
【数１６】
0005156428.tif 000017
【００７３】
例えば、ＯＤＥ１ｂの重み計算部１３ｂは学習データの対数生成確率の更新後の値を以下の（２１）式のように計算する。
学習データの生成確率の更新後の値＝-1250＋ln（0.000480）＝-1258  ・・・（２１）
【００７４】
ステップＳ４７０に続いて、各重み計算部は、学習データの対数生成確率の更新後の値に基づいて重み値の更新後の値を計算する（ステップＳ４８０）。各ＯＤＥの重み値の更新後の値は、以下の（２２）式を用いて計算される。
【００７５】
【数１７】
0005156428.tif 000018
【００７６】
例えば、ＯＤＥ１ｂの重み計算部１３ｂはＯＤＥ１ｂの重み値の更新後の値を以下の（２３）式のように計算する。
【００７７】
【数１８】
0005156428.tif 000019
【００７８】
ステップＳ４８０に続いて、各重み計算部は、更新したＯＤＥの重み値と学習データの対数生成確率を各ＯＤＥ情報管理部へ送信する（ステップＳ４９０）。各ＯＤＥ情報管理部は、受信した更新後のＯＤＥの重み値と学習データの対数生成確率を各ＯＤＥ情報記憶部に格納する。
【００７９】
次に、図１４を参照しながら、同時確率の計算処理の内容を説明する。以下の処理は各ＯＤＥについて実行されるが、具体的な処理に関しては、ＯＤＥ１ｂにおける処理を一例として説明する。まず、分類対象のテキストデータがテキスト情報入力部３に入力される。テキスト情報入力部３は、入力されたテキストデータからテキストの属性として単語を抽出すると共にその出現頻度（テキスト中に出現する個数）をカウントする（ステップＳ５００）。図１５（ａ）は、入力されたテキストデータの一例を示している。また、図１５（ｂ）は、そのテキストデータから抽出された属性値列の情報を示している。
【００８０】
ステップＳ５００に続いて、テキスト情報入力部３は、テキストデータから抽出した属性値列の情報を各ＯＤＥの同時確率計算部１２ａ，１２ｂ，１２ｃへ送信する（ステップＳ５１０）。属性値列の情報を受信した各同時確率計算部はその属性値列の情報をＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃへ送信する（ステップＳ５２０）。属性値列の情報を受信した各ＯＤＥ情報管理部は、「入力テキストの属性値列，カテゴリ値」の同時確率の計算に必要な確率パラメータを各ＯＤＥ情報記憶部から読み出し、各同時確率計算部へ送信する（ステップＳ５３０）。
【００８１】
「入力テキストの属性値列，カテゴリ値」の同時確率は（７）式を用いて計算される。例えば、「入力テキストの属性値列，カテゴリ１」の同時確率の計算に必要な確率パラメータは以下の（２４）〜（２６）式で表される。
【００８２】
【数１９】
0005156428.tif 000020
【００８３】
ステップＳ５３０に続いて、各同時確率計算部は、各ＯＤＥ情報管理部から受信した確率パラメータを用いて、（７）式により「入力テキストの属性値列，カテゴリ値」の同時確率を各カテゴリについて計算する（ステップＳ５４０）。例えば、ＯＤＥ１ｂの同時確率計算部１２ｂは、「入力テキストの属性値列，カテゴリ１」の同時確率を以下の（２７）式のようにして計算する。同様に「入力テキストの属性値列，カテゴリ２」の同時確率も0.00960と計算されたとする。
【００８４】
【数２０】
0005156428.tif 000021
【００８５】
ステップＳ５４０に続いて、各同時確率計算部は、計算した各カテゴリについての「入力テキストの属性値列，カテゴリ値」の同時確率を分類部４へ送信する（ステップＳ５５０）。
【００８６】
次に、図１６を参照しながら、分類カテゴリの決定動作を説明する。図１４に示した同時確率の計算処理が終了した後、各ＯＤＥのＯＤＥ情報管理部１１ａ，１１ｂ，１１ｃは各ＯＤＥの重み値をＯＤＥ情報記憶部１０ａ，１０ｂ，１０ｃから読み出し、分類部４へ送信する（ステップＳ６００）。例えば、ＯＤＥ１ａ，１ｂ，１ｃの重み値はそれぞれ7.24×10-3，6.66×10-3，5.64×10-3であり、これらの重み値が分類部４へ送信される。
【００８７】
続いて、分類部４は、各同時確率計算部から既に受信している同時確率と、各ＯＤＥ情報管理部から受信した重み値とを用いて、同時確率を重み値により重み付けして加算したカテゴリ毎の全体同時確率を計算する（ステップＳ６１０）。カテゴリ毎の全体同時確率は、以下の（２８）式を用いて計算される。
【００８８】
【数２１】
0005156428.tif 000022
【００８９】
例えば、分類部４は「入力テキストの属性値列，カテゴリ１」の全体同時確率を以下の（２９）式のようにして計算する。同様に「入力テキストの属性値列，カテゴリ２」の全体同時確率も0.00923と計算されたとする。
【００９０】
【数２２】
0005156428.tif 000023
【００９１】
ステップＳ６１０に続いて、分類部４は、各カテゴリの全体同時確率に基づいてテキストデータの分類先のカテゴリを決定する（ステップＳ６２０）。全体同時確率の値が最も高いカテゴリが分類カテゴリとなる。例えば、分類部４は、以下の（３０）式のようにして分類カテゴリを決定する。この結果から、分類カテゴリはカテゴリ１となる。
【００９２】
【数２３】
0005156428.tif 000024
【００９３】
上述したように、本実施形態によれば、各ＯＤＥで計算されたテキストデータの属性とカテゴリの同時確率を各ＯＤＥの重み値により重み付けして加算することによってカテゴリ毎に全体同時確率を計算し、各カテゴリの全体同時確率に基づいてテキストデータの分類先のカテゴリを決定するようにしたので、精度の高い分類を行うことができる。
【００９４】
ＯＤＥの重み値は（１４）式で表されるが、以下の（３１）式の関係から、ＯＤＥの重み値は、学習データの生成確率を（１／学習データの数）乗した値に比例すると言うことができる。本発明者は、（１４）式で表されるＯＤＥの重み値を用いて分類を行うことによって分類精度を向上できることを発見し、本発明を考案するに至った。
【００９５】
【数２４】
0005156428.tif 000025
【００９６】
また、追加学習データから計算された生成確率を用いてＯＤＥの重み値を更新することによって、分類結果を以後の分類に反映させ、分類精度をより向上することができる。
【００９７】
また、重み値を更新する場合に、追加学習データを含む全ての学習データから重み値を計算し直すのではなく、（２０）式のように計算済みの学習データの対数生成確率と追加学習データの対数生成確率を加算することによって学習データの対数生成確率を更新し、（２２）式のように所定値を（更新後の学習データの対数生成確率／追加学習データを含む全ての学習データの数）乗した値に比例する値を重み値の更新後の値とすることによって、計算量を削減することができる。
【００９８】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態によるコンテンツ分類装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
【００９９】
ここで、「コンピュータ」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１００】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【図面の簡単な説明】
【０１０１】
【図１】本発明の一実施形態によるコンテンツ分類装置の構成を示すブロック図である。
【図２】本発明の一実施形態によるコンテンツ分類装置が備えるＯＤＥ情報記憶部が記憶する情報を示す参考図である。
【図３】本発明の一実施形態によるコンテンツ分類装置の全体動作の概略手順を示すフローチャートである。
【図４】本発明の一実施形態によるコンテンツ分類装置のＯＤＥ情報の登録・更新処理の手順を示すシーケンス図である。
【図５】本発明の一実施形態におけるカテゴリ付きテキストおよび学習データの内容を示す参考図である。
【図６】本発明の一実施形態における頻度情報の内容を示す参考図である。
【図７】本発明の一実施形態における頻度情報の内容を示す参考図である。
【図８】本発明の一実施形態における頻度情報の内容を示す参考図である。
【図９】本発明の一実施形態における確率パラメータの内容を示す参考図である。
【図１０】本発明の一実施形態によるコンテンツ分類装置の重み値の計算処理の手順を示すシーケンス図である。
【図１１】本発明の一実施形態における学習データの内容を示す参考図である。
【図１２】本発明の一実施形態によるコンテンツ分類装置の重み値の更新処理の手順を示すシーケンス図である。
【図１３】本発明の一実施形態における追加学習データの内容を示す参考図である。
【図１４】本発明の一実施形態によるコンテンツ分類装置の同時確率の計算処理の手順を示すシーケンス図である。
【図１５】本発明の一実施形態におけるテキストデータおよびその属性値列の内容を示す参考図である。
【図１６】本発明の一実施形態によるコンテンツ分類装置の分類カテゴリの決定処理の手順を示すシーケンス図である。
【図１７】従来のＯＤＥのカテゴリと属性の関係を示す参考図である。
【図１８】従来のコンテンツ分類装置の構成を示すブロック図である。
【符号の説明】
【０１０２】
１ａ，１ｂ，１ｃ・・・ＯＤＥ、２・・・学習データ入力部、３・・・テキスト情報入力部、４・・・分類部、１０ａ，１０ｂ，１０ｃ・・・ＯＤＥ情報記憶部（記憶手段）、１１ａ，１１ｂ，１１ｃ・・・ＯＤＥ情報管理部（確率パラメータ計算手段）、１２ａ，１２ｂ，１２ｃ・・・同時確率計算部（第１の同時確率計算手段、第２の同時確率計算手段）、１３ａ，１３ｂ，１３ｃ・・・重み計算部（重み計算手段）、４・・・分類部（分類手段）
【図１】
0005156428.tif 000026
【図２】
0005156428.tif 000027
【図３】
0005156428.tif 000028
【図４】
0005156428.tif 000029
【図５】
0005156428.tif 000030
【図６】
0005156428.tif 000031
【図７】
0005156428.tif 000032
【図８】
0005156428.tif 000033
【図９】
0005156428.tif 000034
【図１０】
0005156428.tif 000035
【図１１】
0005156428.tif 000036
【図１２】
0005156428.tif 000037
【図１３】
0005156428.tif 000038
【図１４】
0005156428.tif 000039
【図１５】
0005156428.tif 000040
【図１６】
0005156428.tif 000041
【図１７】
0005156428.tif 000042
【図１８】
0005156428.tif 000043