(57)【特許請求の範囲】
【請求項１】
文書を内容に応じて分類するための文書分類プログラムにおいて、
コンピュータを、
時刻情報が付与された学習文書を、所定のカテゴリに属する正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段、
前記学習文書記憶手段に格納されている学習文書それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間を計算し、該経過期間に応じた重みを設定し、該学習文書に含まれる言語情報を構成する要素であり該学習文書の特徴を示す素性に対して、該学習文書の重みを設定する重み設定手段、
前記カテゴリに対する正例の学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成する学習手段、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断する分類手段、
前記分類手段において前記分類対象文書が前記カテゴリに属すると判断された場合には、時刻情報付きの前記分類対象文書を正例の学習文書として前記学習文書記憶手段に格納し、前記分類手段において前記分類対象文書が前記カテゴリに属さないと判断された場合には、時刻情報付きの前記分類対象文書を負例の学習文書として前記学習文書記憶手段に格納する学習文書格納手段、
として機能させることを特徴とする文書分類プログラム。
【請求項２】
前記コンピュータを、さらに、
前記分類手段において前記分類対象文書が前記カテゴリに属すると判断された場合、前記分類対象文書を表示する表示手段、
として機能させることを特徴とする請求項１記載の文書分類プログラム。
【請求項３】
前記重み設定手段は、経過時間が長いほど重みを小さくすることを特徴とする請求項１記載の文書分類プログラム。
【請求項４】
前記重み設定手段は、経過時間に応じた重みの減少率を一定にして、該経過期間に応じた重みを設定することを特徴とする請求項３記載の文書分類プログラム。
【請求項５】
前記重み設定手段は、経過時間が長いほど重みの減少率を小さくして、該経過期間に応じた重みを設定することを特徴とする請求項３記載の文書分類プログラム。
【請求項６】
前記重み設定手段は、経過時間に応じて、重みを周期的に減少と増加とを繰り返させて、該経過期間に応じた重みを設定することを特徴とする請求項１記載の文書分類プログラム。
【請求項７】
前記学習手段は、前記学習結果において、前記カテゴリの特徴を表す素性に対して正の関連度を設定し、前記カテゴリの特徴を表さない素性に対して負の関連度を設定し、
前記分類手段は、前記分類対象文書に含まれる各素性の関連度を合算し、合算結果が正の値であれば前記分類対象文書が前記カテゴリに属すると判断し、合算結果が負の値であれば前記分類対象文書が前記カテゴリに属さないと判断することを特徴とする請求項１乃至６のいずれかに記載の文書分類プログラム。
【請求項８】
前記学習文書記憶手段は、学習文書に関連づけて、該学習文書の配信元を示す配信元情報を記憶しており、
前記学習手段は、前記カテゴリに含まれる正例の学習文書の配信元情報に基づいて、正例の学習文書の所定の割合以上を配信している配信元を検出し、検出した該配信元の配信元情報を前記学習結果に含め、
前記分類手段は、前記カテゴリに属することに関して、前記学習結果に含まれる配信元情報で示される配信元から配信された前記分類対象文書を、他の配信元から配信された文書よりも有利に判定することを特徴とする請求項１乃至７のいずれかに記載の文書分類プログラム。
【請求項９】
前記学習手段は、前記カテゴリに含まれる正例の学習文書のうち、他の正例の学習文書にリンクを張っている学習文書の割合が所定値以上の場合、他の正例の学習文書に対するリンクを含むというリンク条件を前記学習結果に含め、
前記分類手段は、前記カテゴリに属することに関して、前記学習結果に含まれる前記リンク条件を満たす前記分類対象文書を、他の文書よりも有利に判定することを特徴とする請求項１乃至８のいずれかに記載の文書分類プログラム。
【請求項１０】
文書を内容に応じて分類するための文書分類装置において、
時刻情報が付与された学習文書を、所定のカテゴリに属する正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段と、
前記学習文書記憶手段に格納されている学習文書それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間を計算し、該経過期間に応じた重みを設定し、該学習文書に含まれる言語情報を構成する要素であり該学習文書の特徴を示す素性に対して、該学習文書の重みを設定する重み設定手段と、
前記カテゴリに対する正例の学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成する学習手段と、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断する分類手段と、
前記分類手段において前記分類対象文書が前記カテゴリに属すると判断された場合には、時刻情報付きの前記分類対象文書を正例の学習文書として前記学習文書記憶手段に格納し、前記分類手段において前記分類対象文書が前記カテゴリに属さないと判断された場合には、時刻情報付きの前記分類対象文書を負例の学習文書として前記学習文書記憶手段に格納する学習文書格納手段と、
を有することを特徴とする文書分類装置。
【請求項１１】
コンピュータにより、文書を内容に応じて分類するための文書分類方法において、
前記コンピュータが、
時刻情報が付与された学習文書を、所定のカテゴリに属する正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段に格納されている学習文書それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間を計算し、該経過期間に応じた重みを設定し、該学習文書に含まれる言語情報を構成する要素であり該学習文書の特徴を示す素性に対して、該学習文書の重みを設定し、
前記カテゴリに対する正例の学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成し、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断し、
前記分類対象文書が前記カテゴリに属すると判断された場合には、前記分類対象文書を正例の学習文書として時刻情報付きで前記学習文書記憶手段に格納し、前記分類対象文書が前記カテゴリに属さないと判断された場合には、前記分類対象文書を負例の学習文書として時刻情報付きで前記学習文書記憶手段に格納する、
ことを特徴とする文書分類方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文書を内容に応じて分類するための文書分類プログラム、文書分類装置、および文書分類方法に関し、特に新規の文書を取得する毎に逐次その文書を既存のカテゴリに分類する文書分類プログラム、文書分類装置、および文書分類方法に関する。
【背景技術】
【０００２】
インターネットやイントラネットの普及により、膨大な量の文書を目的に応じて分類する技術が必要となっている。例えば、インターネットやイントラネットには、更新頻度の早いニュース記事、掲示板、ブログなどの文書が公開されている。ユーザは、これらの文書の中から、目的に応じた内容の文書を参照する。その際、文書が予め決められたカテゴリで分類されていれば、ユーザは、目的の文書を見つけやすくなる。
【０００３】
文書分類技術においては、高い精度を出す手法として機械学習を用いる手法が知られている。機械学習では、多数の文書を人手によって所定のカテゴリに分類し、ユーザが、分類された文書を正解の学習事例として学習器に入力する。学習器は、カテゴリ毎に、そのカテゴリに属する複数の文書の類似点を判断する。カテゴリ内の文書の類似点（学習結果）は、分類器に設定される。分類器は、分類対象の文書が入力されるとその文書の特徴を判断し、特徴が一致するカテゴリへ入力された文書を分類する。
【０００４】
文書間の類似点の判断方法としては、例えば、比較される各文書に共通して含まれる単語の数によって、類似の度合いを判断することができる。その際、文書が属する分野や作成時期を考慮することもできる。すなわち、文書が属する分野における年代毎の各単語の重要度を予め設定する。そして、比較対象の文書に含まれる単語に対して重要度による重み付けを行い、文書間の類似度を計算する（例えば、特許文献１参照）。
【０００５】
また、文書の特徴を数値化する技術としては、例えば、文字情報で構成されるデータに含まれるキーワードの有無を、キーワード数に応じた次元のベクトルで表す方法がある。ベクトルは、キーワードに対応するアトリビュートで構成されている。アトリビュートは、例えば、データ内に対応するキーワードが存在すれば「１」の値、存在しなければ「０」の値を取る。そして、２つのデータのベクトルの内積によって、それらのデータ間の類似度を判定する。
【０００６】
ベクトルのアトリビュートの１つとして、ドキュメントに含まれる時間パラメータを含めることもできる。これにより、同じキーワードを含むドキュメントであっても、時間パラメータが異なれば、全く同一とは見なされなくなる。例えば、時刻パラメータが最新のドキュメントを優先して選択する場合に有用である（例えば、特許文献２参照）。
【０００７】
このように、あるカテゴリに分類されたコンテンツの類似点をそのカテゴリの特徴として予め学習しておくことで、その他の膨大な量のコンテンツを予め用意されたカテゴリに自動的に分類することができる。
【特許文献１】特開２００１−１５５０２０号公報
【特許文献２】特開２００１−３１２５０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、日々配信される大量の新着記事を効率的に読み手に提示するためには、現在特に話題となっているトピックに関して適切に分類する必要がある。
しかし、既存の分類手法は静的に与えられた文書集合を分類することが目的であるためカテゴリ内の記事が同等に扱われる。日々動的に配信される新着記事においては、日にちの近い記事がより重要であるなどの特徴があるが、既存の手法では古い記事が障害となり、最新のトピックに関連する文書を適切に分類できない。
【０００９】
本発明はこのような点に鑑みてなされたものであり、新着記事から最新のトピックに関する文書を適切に分類することができる文書分類プログラム、文書分類装置、および文書分類方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では上記課題を解決するために、図１に示すような文書分類プログラムが提供される。本発明に係る文書分類プログラムは、文書を内容に応じて分類するために、図１に示す機能をコンピュータに実行させることができる。
【００１１】
学習文書記憶手段１は、時刻情報が付与された学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・を、所定のカテゴリに属す正例とカテゴリに属さない負例とに分けて記憶する。重み設定手段２は、学習文書記憶手段１に格納されている学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間を計算し、経過期間に応じた重みを設定し、学習文書の特徴を示す素性（feature）に対して学習文書の重みを設定する。学習手段３は、カテゴリに対する正例の学習文書１ａａ，１ａｂ，・・・の素性のうち、重みの値が大きい素性ほどカテゴリの特徴を強く表しているものと評価し、各素性がカテゴリの特徴を示すか否かを示す学習結果を生成する。分類手段４は、分類対象文書７が入力されると、学習手段３により生成された学習結果に基づいて、分類対象文書７がカテゴリに属するか否かを判断する。学習文書格納手段５は、分類対象文書７に対して時刻情報を付与し、分類手段４においてカテゴリに属すると判断された場合には、分類対象文書７を正例の学習文書として学習文書記憶手段１に格納し、分類手段４においてカテゴリに属さないと判断された場合には、分類対象文書７を負例の学習文書として学習文書記憶手段１に格納する。表示手段６は、分類手段４においてカテゴリに属すると判断された分類対象文書７を表示する。
【００１２】
このような文書分類プログラムをコンピュータで実行すれば、重み設定手段２により、学習文書記憶手段１に格納されている学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間が計算され、経過期間に応じた重みが設定され、学習文書の特徴を示す素性に対してその学習文書の重みが設定される。次に、学習手段３により、カテゴリに対する正例の学習文書１ａａ，１ａｂ，・・・の素性のうち、重みの値が大きい素性ほどカテゴリの特徴を強く表しているものと評価され、各素性がカテゴリの特徴を示すか否かを示す学習結果が生成される。その後、分類対象文書７が入力されると、分類手段４により、学習手段３で生成された学習結果に基づいて、分類対象文書７がカテゴリに属するか否かが判断される。さらに、学習文書格納手段５により、分類対象文書７に対して時刻情報が付与され、分類手段４においてカテゴリに属すると判断された場合には、分類対象文書７が正例の学習文書として学習文書記憶手段１に格納され、分類手段４においてカテゴリに属さないと判断された場合には、分類対象文書７が負例の学習文書として学習文書記憶手段１に格納される。そして、表示手段６により、分類手段４においてカテゴリに属すると判断された分類対象文書７が表示される。
【発明の効果】
【００１３】
本発明では、学習文書に対して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間に応じた重みを設定し、正例の学習文書の重みの値が大きいほどカテゴリの特徴を強く表しているものと評価するようにした。そのため、最新の文書から抽出された素性を重視した学習結果が得られ、最新のトピックに関する文書を適切に分類可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本実施の形態の概略を示す図である。図１に示すように、本実施の形態は、学習文書記憶手段１、重み設定手段２、学習手段３、分類手段４、学習文書格納手段５、および表示手段６で構成される。
【００１５】
学習文書記憶手段１は、時刻情報が付与された学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・を記憶する。時刻情報は、例えば、文書の配信開始日時である。配信開始日時は、例えば、取得した文書に含まれる配信日時を示す情報から抽出できる。また、所定時間毎に文書が収集される場合、その収集日時を文書の時刻情報とすることもできる。
【００１６】
学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・は、所定のカテゴリに属す正例の学習文書１ａａ，１ａｂ，・・・と、カテゴリに属さない負例の学習文書１ｂａ，１ｂｂ，・・・とに分けられている。
【００１７】
重み設定手段２は、学習文書記憶手段１に格納されている学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間を計算し、経過期間に応じた重みを設定する。例えば、最新のものから時系列に並べられた学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・に対して、最新の学習文書に最も大きい重みが設定され、学習文書が古くなるに従い重みの値が小さくなる。その際、重み設定手段２は、経過時間に応じた重みの減少率（経過時間が単位時間だけ長くなったときの重みの減少量）を一定にすることができる。また、重み設定手段２は、経過時間が長いほど重みの減少率を小さくして、経過期間に応じた重みを設定することもできる。あるいは、重み設定手段２は、経過時間に応じて、重みを周期的に減少と増加とを繰り返させることもできる。
【００１８】
学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・に対して重みを設定した後、重み設定手段２は、各学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・の特徴を示す素性に対して、その学習文書の重みを設定する。ここで「素性」とは、学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・に含まれる言語情報を構成する要素を示している。
【００１９】
学習手段３は、カテゴリに対する正例の学習文書１ａａ，１ａｂ，・・・の素性のうち、重みの値が大きい素性ほどカテゴリの特徴を強く表しているものと評価し、各素性がカテゴリの特徴を示すか否かを示す学習結果を生成する。例えば、学習手段３は、学習結果において、カテゴリの特徴を表す素性に対して正の関連度を設定し、カテゴリの特徴を表さない素性に対して負の関連度を設定する。
【００２０】
分類手段４は、分類対象文書７が入力されると、学習手段３により生成された学習結果に基づいて、分類対象文書７がカテゴリに属するか否かを判断する。例えば、分類手段４は、分類対象文書に含まれる各素性の関連度を合算し、合算結果が正の値であれば分類対象文書７がカテゴリに属すると判断し、合算結果が負の値であれば分類対象文書７がカテゴリに属さないと判断する。
【００２１】
学習文書格納手段５は、分類対象文書７に対して時刻情報を付与し、分類手段４においてカテゴリに属すると判断された場合には、分類対象文書７を正例の学習文書として学習文書記憶手段１に格納し、分類手段４においてカテゴリに属さないと判断された場合には、分類対象文書７を負例の学習文書として学習文書記憶手段１に格納する。
【００２２】
表示手段６は、分類手段４においてカテゴリに属すると判断された分類対象文書７を表示する。
このような構成により、まず、重み設定手段２により、学習文書記憶手段１に格納されている学習文書１ａａ，１ａｂ，・・・，１ｂａ，１ｂｂ，・・・それぞれに関して、学習文書に付与された時刻情報で示される時刻から現在までの経過時間が計算される。そして、重み設定手段２により、経過期間に応じた重みが設定され、学習文書の特徴を示す素性に対してその学習文書の重みが設定される。
【００２３】
次に、学習手段３により、カテゴリに対する正例の学習文書１ａａ，１ａｂ，・・・の素性のうち、重みの値が大きい素性ほどカテゴリの特徴を強く表しているものと評価され、各素性がカテゴリの特徴を示すか否かを示す学習結果が生成される。
【００２４】
その後、分類対象文書７が入力されると、分類手段４により、学習手段３で生成された学習結果に基づいて、分類対象文書７がカテゴリに属するか否かが判断される。さらに、学習文書格納手段５により、分類対象文書７に対して時刻情報が付与され、分類手段４においてカテゴリに属すると判断された場合には、分類対象文書７が正例の学習文書として学習文書記憶手段１に格納され、分類手段４においてカテゴリに属さないと判断された場合には、分類対象文書７が負例の学習文書として学習文書記憶手段１に格納される。そして、表示手段６により、分類手段４においてカテゴリに属すると判断された分類対象文書７が表示される。
【００２５】
このようにして、最新の文書から抽出された素性を重視した学習結果が得られ、最新のトピックに関する文書を適切に分類可能となる。
次に、本実施の形態の詳細を説明する。以下の実施の形態では、ネットワークに接続されたクライアントにおいて、ニュースなどの記事（ブログなどで公開されるコラムも含むものとする）に関する文書を分類する場合の例を説明する。
【００２６】
図２は、本実施の形態のシステム構成例を示す図である。クライアント１００は、ネットワーク１０を介してコンテンツサーバ２１，２２，２３，・・・に接続されている。コンテンツサーバ２１，２２，２３，・・・は、ニュースやブログなどの様々なコンテンツを配信するコンピュータである。クライアント１００は、コンテンツサーバ２１，２２，２３，・・・からコンテンツを収集し、カテゴリ毎に分類して格納するコンピュータである。ユーザは、クライアント１００を利用して、カテゴリ毎に分類されたコンテンツを閲覧することができる。
【００２７】
図３は、本実施の形態に用いるクライアントのハードウェア構成例を示す図である。クライアント１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２８】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２９】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３０】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、クライアント１００のハードウェア構成を示したが、コンテンツサーバ２１，２２，２３，・・・も同様のハードウェアで実現することができる。
【００３２】
図４は、クライアントの処理機能を示すブロック図である。クライアント１００は、トレーニングデータ記憶部１１０、初期データ入力部１２０、学習器１２１、最新記事収集部１２２、分類器１２３、記事閲覧ユーザインタフェース１２５、判定結果変更部１２６および指定分野記事記憶部１３０を有している。
【００３３】
トレーニングデータ記憶部１１０は、カテゴリ毎のトレーニング用の記事（トレーニングデータ）を格納する記憶装置である。例えば、ＨＤＤ１０３の記憶領域の一部がトレーニングデータ記憶部１１０として使用される。トレーニングデータは、正例と負例とに分けられる。正例のトレーニングデータは、対応するカテゴリに属する記事である。負例のトレーニングデータは、対応するカテゴリに属さない記事である。
【００３４】
初期データ入力部１２０は、トレーニングデータ記憶部１１０に対して、初期のトレーニングデータを格納する。このトレーニングデータは、予め正例と負例とに分類されている。なお、トレーニングデータの分類には、例えば、クラスタリング手法を用いて似た記事を集約し、トレーニングデータとすることができる。クラスタリング手法は、対象物（データの集まり）をサンプルの類似度（距離）によって、いくつかのグループ（クラスター）に分けるデータ分析／分類手法である。また、初期データ入力部１２０は、初期のトレーニングデータが所定のカテゴリに属するか否かの入力をユーザから受け付け、その入力に基づいてトレーニングデータを正例と負例とに分けて、トレーニングデータ記憶部１１０に格納することもできる。
【００３５】
学習器１２１は、所定のタイミングで、トレーニングデータ記憶部１１０に格納されているトレーニングデータに基づき、配信時刻が新しいトレーニングデータの特徴をより強く反映させて、各カテゴリに含まれる記事の特徴を判断する。具体的には、学習器１２１は、各記事に対して、その記事の配信時刻から現在時刻までの経過時間に応じた重みを設定する。重みは、経過時間が長くなるに従って、小さな値が設定される。さらに、学習器１２１は、各記事から複数の素性を抽出し、記事内に含まれる素性数を示す数値（出現回数）に、重みを乗算する。ここで、重みの乗算結果を影響値とする。
【００３６】
そして、学習器１２１は、全ての記事から抽出された素性に関して、重みによって修正された影響値を用いて、該当するカテゴリに共通する特徴を表しているか否かを判断する。例えば、正例のトレーニングデータには多く含まれるが、負例のトレーニングデータにはほとんど含まれない素性に関しては、そのカテゴリの特徴を表しているものと判断される。ある素性がカテゴリの特徴を表している場合、その素性に対して正の数値（例えば「＋１」）が学習結果として付与される。また、素性がカテゴリの特徴を表していない場合、その素性に対して負の数値（例えば「−１」）が学習結果として付与される。カテゴリに対して計算された学習結果は、分類器１２３に入力される。
【００３７】
最新記事収集部１２２は、記事の収集対象となるコンテンツサーバ２１，２２，２３，・・・の識別情報が予め設定されている。そして、最新記事収集部１２２は、ネットワーク１０を介してコンテンツサーバ２１，２２，２３，・・・から最新の記事を収集する。ここで、最新の記事とは、前回収集した時刻以降に公開された記事である。なお、最新記事の収集は、予め決められた周期で実行される。最新記事収集部１２２は、収集した最新記事を分類器１２３に渡す。
【００３８】
分類器１２３は、最新記事収集部１２２から最新記事を受け取ると、ユーザによって予め指定されたカテゴリに関する学習器１２１による学習結果に基づいて、最新記事がそのカテゴリに属するか否かを判断する。そして、分類器１２３は、最新記事に対して判断結果を付与して、判断対象のカテゴリに対するトレーニングデータとして、トレーニングデータ記憶部１１０に格納する。また、分類器１２３は、指定されたカテゴリに属すると判断された最新記事を、指定分野記事記憶部１３０に格納する。
【００３９】
指定分野記事記憶部１３０は、ユーザに指定されたカテゴリに属する記事を記憶する記憶装置である。例えば、ＨＤＤ１０３の記憶領域の一部が用いられる。
記事閲覧ユーザインタフェース１２５は、ユーザからの操作入力に応答して、指定分野記事記憶部１３０に格納された記事をモニタ１１に表示する。また、記事閲覧ユーザインタフェース１２５は、表示した記事に関して、カテゴリに属さないことを示す操作入力があると、その内容を判定結果変更部１２６に通知する。
【００４０】
判定結果変更部１２６は、あるカテゴリに属している記事に関して、そのカテゴリに属さない記事であることを示す情報を受け取ると、トレーニングデータ記憶部１１０内の対応する記事を、正例から負例に変更する。
【００４１】
このような構成のクライアント１００において、収集した記事がカテゴリに分類される。それには、まず初期のトレーニングデータをトレーニングデータ記憶部１１０に格納する。次に、初期のトレーニングデータに基づいて、学習器１２１により初期の学習結果が生成され、分類器１２３に与えられる。その後、最新記事収集部１２２が最新の記事を収集する毎に、その記事が分類され、トレーニングデータ記憶部１１０に格納される。そして、学習器１２１により、分類された記事に応じて学習が行われ、最新の記事を反映させた学習結果が生成される。
【００４２】
このようにして、常に最新のトピックを反映させた分類を行うことができる。しかも、新しい記事ほど、学習の際の重みが大きくなるため、最近のトピックをより重要視した分類が可能となる。
【００４３】
図５は、収集した記事に基づく学習結果フィードバックの流れを示す図である。まず、最新記事収集部１２２が収集した最新の記事３１が、分類器１２３に入力されると、分類器１２３によってその記事があるカテゴリＡに入るかどうかの判定が行われる。ここで分類器１２３は、分類の結果として数値を出力する。その数値が正の数であれば入力された記事はカテゴリＡに属すると判定され、負の数であれば属さないと判定される。
【００４４】
カテゴリＡに属さないと判定された記事は、トレーニングデータ１１１の負例１１１ｂに追加される。カテゴリＡに属すると判定された記事は、指定分野記事記憶部１３０の最新記事１３１に追加されると共に、トレーニングデータ１１１の正例１１１ａに追加される。もしここで、ユーザがカテゴリＡにふさわしくない記事を発見した場合、判定結果変更部１２６によって、その記事が負例１１１ｂに変更される。これによりユーザの好みを反映した分類が可能となる。
【００４５】
新規の記事３１がトレーニングデータ記憶部１１０に格納された後、所定のタイミングで、トレーニングデータ１１１を基に学習器１２１による学習が行われ、新たな学習結果３２が分類器１２３に渡される。その結果、分類器１２３の分類の判断基準が再構築され、時系列の話題の推移に追従した分類を続けることができる。
【００４６】
以下、クライアント１００で実行される処理の手順をフローチャートを参照して説明する。
図６は、初期学習処理の手順を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
【００４７】
［ステップＳ１１］初期データ入力部１２０は、カテゴリに分類された初期のトレーニングデータをトレーニングデータ記憶部１１０に格納する。
［ステップＳ１２］学習器１２１は、トレーニングデータ記憶部１１０に格納されたトレーニングデータに基づいて、カテゴリ毎の特徴を学習する。
【００４８】
［ステップＳ１３］学習器１２１は、学習結果を分類器１２３に設定する。
図７は、記事収集処理の手順を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
【００４９】
［ステップＳ２１］最新記事収集部１２２は、処理終了の操作入力が行われたか否かを判断する。処理終了の操作入力が行われた場合、記事収集処理を終了する。処理終了の操作入力が行われていなければ、処理がステップＳ２２に進められる。
【００５０】
［ステップＳ２２］最新記事収集部１２２は、記事更新時刻か否かを判断する。例えば、予めスケジューリングされた時刻（毎時００分など）に達したときに記事更新時刻と判断される。記事更新時刻の場合、処理がステップＳ２３に進められる。記事更新時刻ではない場合、ステップＳ２１に進められる。
【００５１】
［ステップＳ２３］最新記事収集部１２２は、記事更新時刻になると、コンテンツサーバ２１，２２，２３，・・・から最新の記事を収集する。
［ステップＳ２４］最新記事収集部１２２は、新しい記事が収集できたか否かを判断する。新しい記事が収集できた場合、最新記事収集部１２２は収集した記事を分類器１２３に渡し、処理をステップＳ２５に進める。新しい記事が見つからなかった場合、処理がステップＳ２１に進められる。
【００５２】
［ステップＳ２５］分類器１２３は、最新記事収集部１２２から渡された全ての記事について、予め用意されているカテゴリに属するか否かを判断する。
［ステップＳ２６］分類器１２３は、予め用意されたカテゴリに属する記事を、指定分野記事記憶部１３０に格納する。
【００５３】
［ステップＳ２７］分類器１２３は、新たに収集された記事を正例と負例とに分けて、トレーニングデータ記憶部１１０に格納する。すなわち、分類器１２３は、予め用意されているカテゴリに属する記事を、そのカテゴリの正例のトレーニングデータとして格納し、予め用意されているカテゴリに属さない記事を、そのカテゴリの負例のトレーニングデータとして格納する。その後、処理がステップＳ２１に進められる。
【００５４】
図８は、記事閲覧処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］記事閲覧ユーザインタフェース１２５は、ユーザからの操作入力に応答して、最新記事一覧をモニタ１１に表示する。
【００５５】
［ステップＳ３２］記事閲覧ユーザインタフェース１２５は、ユーザから処理終了の操作入力があったか否かを判断する。処理終了の操作入力があれば、記事閲覧処理が終了する。処理終了の操作入力がなければ、処理がステップＳ３３に進められる。
【００５６】
［ステップＳ３３］記事閲覧ユーザインタフェース１２５は、ユーザによって記事が選択されたか否かを判断する。記事が選択された場合、処理がステップＳ３４に進められる。記事が選択されなければ、処理がステップＳ３２に進められる。
【００５７】
［ステップＳ３４］記事閲覧ユーザインタフェース１２５は、選択された記事の内容をモニタ１１に表示する。
［ステップＳ３５］記事閲覧ユーザインタフェース１２５は、ユーザから、表示された記事がカテゴリに含まれるべきでないことを示す操作入力（負例指定入力）が行われたか否かを判断する。負例指定入力があった場合、記事閲覧ユーザインタフェース１２５はその旨を判定結果変更部１２６に通知し、処理をステップＳ３６に進める。負例指定入力がなければ、処理がステップＳ３２に進められる。
【００５８】
［ステップＳ３６］判定結果変更部１２６は、選択された記事を、トレーニングデータ記憶部１１０内の正例のトレーニングデータから、負例のトレーニングデータに変更する。その後、処理がステップＳ３２に進められる。
【００５９】
図９は、再学習処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］学習器１２１は、ユーザにより再学習処理終了の操作入力が行われたか否かを判断する。再学習処理終了の操作入力が行われた場合、処理が終了する。再学習処理終了の操作入力が行われていなければ、処理がステップＳ４２に進められる。
【００６０】
［ステップＳ４２］学習器１２１は、再学習時刻になったか否かを判断する。例えば、予めスケジューリングされた時刻（毎日２３時など）に達したときに、再学習時刻と判断される。再学習時刻になった場合、処理がステップＳ４３に進められる。再学習時刻でなければ、処理がステップＳ４１に進められる。
【００６１】
［ステップＳ４３］学習器１２１は、トレーニングデータ記憶部１１０に格納されたトレーニングデータに基づいて、カテゴリ毎の特徴を学習する。
［ステップＳ４４］学習器１２１は、学習結果を分類器１２３に設定する。その後、処理がステップＳ４１に進められる。
【００６２】
以上のような処理によって、初期状態のトレーニングデータによるカテゴリに属する文書の特徴の学習、および最新の記事をトレーニングデータに追加した再学習が行われる。学習器１２１における学習では、トレーニングデータとして登録された記事の日付が参照される。
【００６３】
次に、学習器１２１における学習内容を詳細に説明する。オンラインのニュースなどで公開される記事は一般的に日付の情報を持っている。そこで、本実施の形態では、学習器１２１が、記事に付与された日付の情報を用いて新着記事に重み付けを行う。そして、学習器１２１は、重み付きの新着記事を用いて分類器の学習を行う。
【００６４】
記事の重みは、現時刻での値を１とし、古い記事になるほど減衰させる。経過時間に応じた減衰の度合いは、関数によって定義することができる。
図１０は、記事の古さと重みの関係を示す図である。図１０の横軸は、記事の配信時から現在までの経過時間ｔ（ｔは０以上の正の実数）を示している。図中の左方向が正の軸である。縦軸は、記事の重みＷ（Ｗは、０以上１以下の実数）を示している。
【００６５】
この例では、３つの関数のグラフ４１，４２，４３が示されている。グラフ４１は、
Ｗ＝ｆ（ｔ）＝１−ｔ／Ｎ      ・・・（１）
という関数を示している。ここで、Ｎは過去のどれくらいまで遡って記事を使うかを示す定数である（Ｎは０以上の実数）。式（１）に示す関数を用いることにより、過去の記事よりも最近の記事に重みをかけた学習が可能となる。
【００６６】
また、グラフ４２は指数関数を用いて重みを減衰させた例であり、
Ｗ＝ｆ（ｔ）＝ｅｘｐ（−ｔ）      ・・・（２）
という関数を示している。式（２）の関数は話題の変化が大きいカテゴリの文書に適している。
【００６７】
グラフ４３は経過時間に応じて重みを減衰させない例であり、
Ｗ＝ｆ（ｔ）＝１      ・・・（３）
という関数を示している。式（３）の関数は、過去の記事を均等に学習に用いることを示しており、一般的な文書分類と等価になる。
【００６８】
また、カテゴリが周期性を持つ場合は、単調に重みを減衰させるだけでなく、その周期を繰り返しのパターンに反映させた減衰関数を用いることもできる。
図１１は、周期的に減衰率が変化する減衰関数の例を示す図である。図１１の横軸は、記事の配信時から現在までの経過時間ｔ（ｔは０以上の正の実数）を示している。図中の左方向が正の軸である。縦軸は、記事の重みＷ（Ｗは、０以上１以下の実数）を示している。
【００６９】
図１１に示すグラフ４４は、以下の関数を表している。
Ｗ＝ｆ（ｔ）＝ｅｘｐ（−ｔ）ｓｉｎ｛（２π×ｔ）／Ｙ｝    ・・・（４）
ここで、πは円周率、Ｙは周期である（Ｙは０以上の実数）。周期性の発見は、文書中に出現する語の頻度の推移により行うことができる。式（４）に示す関数を用いることで、例えばオリンピックなどの定期的なイベントにおいて、より高い精度での分類が可能となる。
【００７０】
このように、式（１）〜（４）に示したいずれかの関数を用いることで、より新しい記事を優先的に（重要度を重くして）、カテゴリの特徴を学習することができる。すなわち、学習器１２１は、式（１）〜（４）のいずれかの関数を用いて、記事の重みを決定する。どの関数を使用するのかは、ユーザからの選択に応じて決定される。すなわち、ユーザは、収集する記事の内容に応じて、任意の関数による重み付けを行うことができる。
【００７１】
図１２は、学習時の重み付けを示す図である。図１２に示す手法では、学習器１２１が、トレーニングデータに式（２）の重み付け関数を用いて重み付きトレーニングデータを作成する（ＳＴ１）。その際、学習器１２１は、トレーニングデータとして登録された各記事５１，５２，・・・，５ｎの内容を解析して、それぞれの素性集合を生成する。
【００７２】
例えば、以下のような文が含まれているものとする。
「春は名のみの風の寒さよ。」
この文から、以下のような素性集合が生成される。
「春，名，風，寒さ，春＿は，は＿名，名＿のみ，のみ＿の，の＿風，風＿の，の＿寒さ，寒さ＿よ，春―名，春―風，春―寒さ，名―風，名―寒さ，風―寒さ」
学習器１２１は、生成された素性集合内の各素性に対し、記事内にその素性が存在する数を設定する。例えば、記事内に、「春」という文字が２回出現する場合、素性「春」に「２」という数値が設定される。
【００７３】
さらに、学習器１２１は、記事から生成される各素性の数値に対して、記事に設定された重みが乗算される。図１２の例では、重みＷ＝ｆ（ｔ）＝ｅｘｐ（−ｔ）という関数が用いられているため、例えば、経過時間がｔ1の記事から生成された素性が、その記事内にｋ回（ｋは、１以上の整数）出現する場合、ｋ×ｅｘｐ（−ｔ1）によって、その素性の重み付きの値（影響値）が計算される。
【００７４】
このようにして各記事６１，６２，・・・，６ｎから生成された各素性の影響値に基づいて、学習器１２１が、各素性が、カテゴリの特徴を示すか否かについて学習する（ＳＴ２）。学習手法としては、様々な手法を用いることができる。例えば、ブースティング手法を用いることができる。ブースティング手法とは、複数の学習手法を組み合わせて、精度の高い学習を行うものである。例えば、「Robert E. Schapire and Yoram Singer,"BoosTexter: A Boosting-based System for Text Categorization",Machine Learning,volume  39,number 2/3,pages 135-168, 2000.」（url="citeseer.ist.psu.edu/schapire00boostexter.html"２００５年１２月検索）に記載されたブースティングの技術が適用できる。
【００７５】
学習の結果、処理対象のカテゴリに属する全ての記事から生成された各素性について、カテゴリの特徴を示すか否かが、数値（関連度）で示される。例えば、カテゴリの特徴を表す素性の関連度には「＋１」が設定され、カテゴリの特徴を表さない素性の関連度には「−１」が設定される。全ての素性に関する素性と関連度との組が、分類対象のカテゴリに関する学習結果として分類器１２３に渡される。
【００７６】
分類器１２３では、渡された学習結果に基づいて、その後入力される分類対象の記事が、判断対象のカテゴリに属するか否かを判断する。具体的には、分類器１２３は、分類対象の記事から素性集合を生成する。そして、分類器１２３は、学習結果で示される各素性の関連度を参照し、分類対象の記事に含まれる全ての素性の関連度を合算する。この際、分類対象の記事に、同じ素性が複数回出現する場合、出現回数分の関連度が合算される。
【００７７】
合算の際の手順としては、例えば、分類器１２３は、まず記事に含まれる各素性の出現回数を計数する。次に、分類器１２３は、判断対象のカテゴリに関する学習結果の中から、分類対象の記事に含まれる素性に対応する関連度を検出する。該当する素性がある場合、分類器１２３は、検出した関連度を、分類対象の記事から得られた素性の出現回数に乗算する（乗算結果を、その素性の寄与値とする）。同様の処理が、処理対象の記事から生成された全ての素性に関して行われる。
【００７８】
そして、分類器１２３は、処理対象の記事から生成された全ての素性の寄与値を合算する。合算結果が正の値であれば、その記事は、分類対象のカテゴリに属するものと判断される。また、合算結果が負の値であれば、その記事は、分類対象のカテゴリに属さないものと判断される。
【００７９】
カテゴリに属するか否かが判断された記事は、トレーニングデータ記憶部１１０に格納される。その際、分類に有用な情報を付加することができる。例えば、インターネットやイントラネット上の記事を対象とした場合、それぞれの記事は配信元やリンク関係の情報を有する。そこで、記事の内容に併せてこれらの関連情報をトレーニングデータ記憶部１１０に格納する。そして、これらの関連情報を学習時に用いることで、より正確な分類が可能となる。
【００８０】
具体的には、学習器１２１は、以下の情報を学習結果に加える。
まず、ある記事の配信元が、カテゴリに含まれる全体の記事の配信元のどれくらいの割合を占めるかを示す情報を、学習結果に加える。また、ある記事が、カテゴリに含まれる他の記事とリンク関係を持っているか否かに関する情報を、学習結果に加える。例えば、学習器１２１は、カテゴリに含まれる割合が所定値以上の配信元（ドメイン名など）を学習結果に加え、そのドメインに対して正の値を設定する。また、学習器１２１は、カテゴリに含まれる記事内に、互いにリンク関係を有する記事が所定数以上であれば、そのカテゴリ内の記事に対するリンクを有するという条件を学習結果として定義し、その条件に正の値を設定する。
【００８１】
このような学習結果を受け取った分類器１２３は、例えばカテゴリＡにはある特定の配信元から配信される記事が分類されやすいといった情報や、リンク関係を持ち後続する記事は同一のカテゴリに分類されやすいといった情報を考慮した分類を行うことができる。具体的には、分類器１２３は、分類対象の記事の配信元を参照し、判断対象のカテゴリに関する結果に含まれており、正の値が設定されていた場合、その値を関連度の合算結果に加算する。また、分類器１２３は、分類対象の記事が、判断対象のカテゴリ内の他の記事へのリンクを有することが学習結果に含まれており、その条件に正の値が設定されている場合、分類対象の記事がその条件を満たしていれば、その条件に設定された正の値を、関連度の合算結果に加算する。
【００８２】
表示方法としては、例えば、一般的なＲＳＳ（Rich Site Summary）リーダのように新着順に表示させる機能に加え、Ｗｅｂ上での記事のランクを用いた並べ替えを行うことにより有用な情報をより上位に提示することができる。ＲＳＳリーダとは、Ｗｅｂページの要約情報であるＲＳＳを自動的に集めることにより、Ｗｅｂページの更新情報をユーザに提示できるツールである。なお、ＲＳＳリーダでは、予め指定された配信元の記事を全て取得するが、本実施の形態では、予め用意されたカテゴリに属すると判断された記事のみが取得される。
【００８３】
このツールを使うことにより、ユーザはメールリーダでメールを読むようにＷｅｂを閲覧できる。一般的にはメールリーダと同じく新しい記事がより上位に表示される。
図１３は、取得記事の表示例を示す図である。取得記事は、記事表示画面７０に表示される。
【００８４】
記事表示画面７０は、カテゴリリスト表示部７１、記事一覧表示部７２、および記事表示部７３で構成されている。
カテゴリリスト表示部７１には、設定されているカテゴリのリストが表示される。カテゴリリスト表示部７１に表示されたカテゴリから、ユーザが任意のカテゴリを選択すると、選択されたカテゴリに含まれる記事の最新の記事のリストが記事一覧表示部７２に表示される。そして、記事一覧表示部７２に表示された記事から、ユーザが任意の記事を選択すると、その記事の内容が記事表示部７３に表示される。
【００８５】
なお、記事一覧表示部７２における記事の表示順（画面内の上からの表示順）として、分類器１２３における関連度の合算値の大きい順にすることができる。これにより、グループ内の特徴を多く有している記事ほど、上位に表示される。
【００８６】
さらに、関連度の合算値に対して、その記事と同じ配信元から配信された記事がグループ内に占める割合に応じた値を乗算し、その乗算結果の大きい順に画面表示することもできる。また、同じカテゴリ内の他の記事にリンクがある記事に対して、関連度の合算値に所定の値（１より大きい数）を乗算することで、同じカテゴリ内の他の記事にリンクが張られた記事を上位に表示させることもできる。
【００８７】
ところで、初期のトレーニングデータは、クラスタリングの技術により作成できる。すなわち、クラスタリングにより似た内容を持つ文書からなる文書集合を作成し、その文書集合に含まれる文書と含まれない文書をそれぞれ正例／負例として学習器に与え、初期の分類器を作成することができる。このクラスタリングによって生成された文書集合が初期のカテゴリとなる。
【００８８】
このときにカテゴリ内の文書中に重複して現われる単語を用いることにより、カテゴリ名を自動生成することができる。具体的には、カテゴリ内の単語をそれぞれの記事から抽出し、カテゴリ内での出現頻度がなるべく高く、かつカテゴリ外での出現頻度がなるべく低い語を選択することによりそのカテゴリに特徴的な語を選択する。選択のためには、以下の式（５）を用いることができる。
Score(w)=InCatFreq(w)/OutCatFreq(w)    ・・・（５）
ここでInCatFreq(w)はカテゴリ内での単語wの頻度であり、OutCatFreq(w)はカテゴリ外の記事全体における単語wの頻度である。カテゴリ内に含まれる各単語についてこの式で与えられるスコアScore(w)を計算し、スコアの最も高い単語がカテゴリ名として選択される。
【００８９】
以上のように本実施の形態によれば、記事に対して時間情報に基づいた重み付けを行いその記事を学習することによって、分類器１２３が古い記事によるノイズの影響を受けにくくなり、適切でない記事を排除できる。また、適切と判断された記事の間においても、重みによってより適切なランキング（表示順の並べ替え）が可能となる。
【００９０】
また、本手法の利点として、分類の尺度を動的に変更できるという点も挙げられる。特にそのトピックが時間と共に移り変わるニュース記事において有効である。ニュース記事においては、ある出来事や事件に関して、時間の経過と共に新しいキーワードが出現しトピックの推移が起こる。提案手法はこのトピックの推移に追従しながら分類を行うことができる。
【００９１】
例えば、２００５年９月１１日に行われた衆議院議員の総選挙においては、以下のようなトピックが推移していた。
郵政民営化→衆議院解散→刺客→自民党大勝→新人議員
もし郵政民営化のトピックに関する記事だけを学習事例として使用していたら、後のトピックの記事の分類を誤り、取りこぼす可能性が高くなる。また、トピックが推移しているにもかかわらず、以前のトピックに関する記事を多く分類してしまうのも適切ではない。以前のトピックに関する記事も重要でありそれらも分類するべきだが、それと同時により最近のトピックの記事を積極的に分類すべきである。本実施の形態で説明した分類手法では、新しい記事ほど重みの値が大きくなるため、最近のトピックを多く含む記事が、カテゴリ内の特徴をより的確に表していると判断できる。
【００９２】
なお、既存の文書分類処理に対しては、主に次の点が異なる。
１）動的に追加される新着記事が分類対象である。そのため、最新の記事を用いてトレーニングデータも逐次更新され、最新のトレーニングデータに基づく学習が繰り返し行われる。
２）文書の学習時の関連度の計算のために日付の情報を用いた重み付けを行い、その重みは時間の経過と共に減衰させる。これにより、最新のトピックを強く反映させた学習が行われる。
３）正例のトレーニングデータに共通する素性に加え、配信元やリンク関係を関連度の計算に用いる。これにより、記事の内容だけでなく付加された他の情報を用いて、カテゴリの判別を適切に行うことができる。
【００９３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、クライアントが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００９４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００９５】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００９６】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【００９７】
（付記１）  文書を内容に応じて分類するための文書分類プログラムにおいて、
コンピュータを、
時刻情報が付与された学習文書を、所定のカテゴリに属す正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段、
前記学習文書記憶手段に格納されている前記学習文書それぞれに関して、前記学習文書に付与された前記時刻情報で示される時刻から現在までの経過時間を計算し、前記経過期間に応じた重みを設定し、前記学習文書の特徴を示す素性に対して前記学習文書の重みを設定する重み設定手段、
前記カテゴリに対する正例の前記学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成する学習手段、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断する分類手段、
前記分類対象文書に対して前記時刻情報を付与し、前記分類手段において前記カテゴリに属すると判断された場合には、前記分類対象文書を正例の前記学習文書として前記学習文書記憶手段に格納し、前記分類手段において前記カテゴリに属さないと判断された場合には、前記分類対象文書を負例の前記学習文書として前記学習文書記憶手段に格納する学習文書格納手段、
前記分類手段において前記カテゴリに属すると判断された前記分類対象文書を表示する表示手段、
として機能させることを特徴とする文書分類プログラム。
【００９８】
（付記２）  前記重み設定手段は、前記経過時間が長いほど前記重みを小さくすることを特徴とする付記１記載の文書分類プログラム。
（付記３）  前記重み設定手段は、前記経過時間に応じた前記重みの減少率を一定にして、前記経過期間に応じた重みを設定することを特徴とする付記２記載の文書分類プログラム。
【００９９】
（付記４）  前記重み設定手段は、前記経過時間が長いほど前記重みの減少率を小さくして、前記経過期間に応じた重みを設定することを特徴とする付記２記載の文書分類プログラム。
【０１００】
（付記５）  前記重み設定手段は、前記経過時間に応じて、前記重みを周期的に減少と増加とを繰り返させて、前記経過期間に応じた重みを設定することを特徴とする付記１記載の文書分類プログラム。
【０１０１】
（付記６）  前記学習手段は、前記学習結果において、前記カテゴリの特徴を表す素性に対して正の関連度を設定し、前記カテゴリの特徴を表さない素性に対して負の関連度を設定し、
前記分類手段は、前記分類対象文書に含まれる各素性の関連度を合算し、合算結果が正の値であれば前記分類対象文書が前記カテゴリに属すると判断し、合算結果が負の値であれば前記分類対象文書が前記カテゴリに属さないと判断することを特徴とする付記１記載の文書分類プログラム。
【０１０２】
（付記７）  前記学習文書記憶手段は、前記学習文書に関連づけて、前記学習文書の配信元を示す配信元情報を記憶しており、
前記学習手段は、前記カテゴリに含まれる正例の前記学習文書の前記配信元情報に基づいて、正例の前記学習文書の所定の割合以上を配信している配信元を検出し、検出した配信元の前記配信元情報を前記学習結果に含め、
前記分類手段は、前記カテゴリに属することに関して、前記学習結果に含まれる前記配信情報で示される配信元から配信された前記分類対象文書を、他の配信元から配信された文書よりも有利に判定することを特徴とする付記１記載の文書分類プログラム。
【０１０３】
（付記８）  前記学習手段は、前記カテゴリに含まれる正例の前記学習文書のうち、他の正例の前記学習文書にリンクを張っている前記学習文書の割合が所定値以上の場合、他の正例の前記学習文書に対するリンクを含むというリンク条件を前記学習結果に含め、
前記分類手段は、前記カテゴリに属することに関して、前記学習結果に含まれる前記リンク条件を満たす前記分類対象文書を、他の文書よりも有利に判定することを特徴とする付記１記載の文書分類プログラム。
【０１０４】
（付記９）  コンピュータを、さらに、
前記表示手段により表示された前記分類対象文書に関して、ユーザからの操作入力によって、前記カテゴリに属すべきでないことが示された場合、前記分類対象文書に対応する前記学習文書を、正例から負例に変更する判定結果変更手段として機能させることを特徴とする付記１記載の文書分類プログラム。
【０１０５】
（付記１０）  前記時刻情報は、前記文書の配信開始時刻であることを特徴とする付記１記載の文書分類プログラム。
（付記１１）  文書を内容に応じて分類するための文書分類装置において、
時刻情報が付与された学習文書を、所定のカテゴリに属す正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段と、
前記学習文書記憶手段に格納されている前記学習文書それぞれに関して、前記学習文書に付与された前記時刻情報で示される時刻から現在までの経過時間を計算し、前記経過期間に応じた重みを設定し、前記学習文書の特徴を示す素性に対して前記学習文書の重みを設定する重み設定手段と、
前記カテゴリに対する正例の前記学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成する学習手段と、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断する分類手段と、
前記分類対象文書に対して前記時刻情報を付与し、前記分類手段において前記カテゴリに属すると判断された場合には、前記分類対象文書を正例の前記学習文書として前記学習文書記憶手段に格納し、前記分類手段において前記カテゴリに属さないと判断された場合には、前記分類対象文書を負例の前記学習文書として前記学習文書記憶手段に格納する学習文書格納手段と、
前記分類手段において前記カテゴリに属すると判断された前記分類対象文書を表示する表示手段と、
を有することを特徴とする文書分類装置。
【０１０６】
（付記１２）  コンピュータにより、文書を内容に応じて分類するための文書分類方法において、
前記コンピュータが、
時刻情報が付与された学習文書を、所定のカテゴリに属す正例と前記カテゴリに属さない負例とに分けて記憶する学習文書記憶手段に格納されている前記学習文書それぞれに関して、前記学習文書に付与された前記時刻情報で示される時刻から現在までの経過時間を計算し、前記経過期間に応じた重みを設定し、前記学習文書の特徴を示す素性に対して前記学習文書の重みを設定し、
前記カテゴリに対する正例の前記学習文書の素性のうち、重みの値が大きい素性ほど前記カテゴリの特徴を強く表しているものと評価し、各素性が前記カテゴリの特徴を示すか否かを示す学習結果を生成し、
分類対象文書が入力されると、前記学習手段により生成された前記学習結果に基づいて、前記分類対象文書が前記カテゴリに属するか否かを判断し、
前記分類対象文書に対して前記時刻情報を付与し、前記カテゴリに属すると判断された場合には、前記分類対象文書を正例の前記学習文書として前記学習文書記憶手段に格納し、前記カテゴリに属さないと判断された場合には、前記分類対象文書を負例の前記学習文書として前記学習文書記憶手段に格納し、
前記カテゴリに属すると判断された前記分類対象文書を表示する、
ことを特徴とする文書分類方法。
【図面の簡単な説明】
【０１０７】
【図１】本実施の形態の概略を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】本実施の形態に用いるクライアントのハードウェア構成例を示す図である。
【図４】クライアントの処理機能を示すブロック図である。
【図５】収集した記事に基づく学習結果フィードバックの流れを示す図である。
【図６】初期学習処理の手順を示すフローチャートである。
【図７】記事収集処理の手順を示すフローチャートである。
【図８】記事閲覧処理の手順を示すフローチャートである。
【図９】再学習処理の手順を示すフローチャートである。
【図１０】記事の古さと重みの関係を示す図である。
【図１１】周期的に減衰率が変化する減衰関数の例を示す図である。
【図１２】学習時の重み付けを示す図である。
【図１３】取得記事の表示例を示す図である。
【符号の説明】
【０１０８】
１  学習文書記憶手段
１ａａ，１ａｂ，・・・  学習文書
１ｂａ，１ｂｂ，・・・  学習文書
２  重み設定手段
３  学習手段
４  分類手段
５  学習文書格納手段
６  表示手段
７  分類対象文書
【図１】
0004757016.tif 000002
【図２】
0004757016.tif 000003
【図３】
0004757016.tif 000004
【図４】
0004757016.tif 000005
【図５】
0004757016.tif 000006
【図６】
0004757016.tif 000007
【図７】
0004757016.tif 000008
【図８】
0004757016.tif 000009
【図９】
0004757016.tif 000010
【図１０】
0004757016.tif 000011
【図１１】
0004757016.tif 000012
【図１２】
0004757016.tif 000013
【図１３】
0004757016.tif 000014