(57)【要約】【課題】複数の文書の中から、ユーザが入力した情報と関連する内容の文書を簡単に選択できる文書選択装置を提供すること。【解決手段】複数の文書を格納する文書データベース１０１と、文書データベース１０１から選択されるレコメンド文書１１２を決定するのに用いられるユーザ文書１１１が入力されるユーザ文書入力部１０２と、ユーザ文書１１１と内容が類似するレコメンド文書１１２を文書データベース１０１から選択するレコメンド文書選択部１０３と、過去に入力されたユーザ文書を、そのユーザ文書が分類されるクラスタと対応付けて格納するユーザ文書格納部１０８と、ユーザ文書１１１が分類されるクラスタを判定するクラスタ判定部１０４と、クラスタ判定部１０４で判定されたクラスタの情報に基づいて、レコメンド文書１１２を文書データベース１０１から選択するクラスタレコメンド文書選択部１０５とを備える文書選択装置が提供される。【選択図】図１
2008158590.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書を格納する文書データベースと、
前記文書データベースから選択されるレコメンド文書を決定するのに用いられるユーザ文書が入力されるユーザ文書入力部と、
前記入力されたユーザ文書の内容に基づいて、前記ユーザ文書と内容が類似する前記レコメンド文書を前記文書データベースから選択するレコメンド文書選択部と、
過去に入力された前記ユーザ文書を、当該ユーザ文書が分類されるクラスタと対応付けて格納するユーザ文書格納部と、
前記入力されたユーザ文書が分類される前記クラスタを判定するクラスタ判定部と、
前記クラスタ判定部で判定されたクラスタの情報に基づいて、前記レコメンド文書を前記文書データベースから選択するクラスタレコメンド文書選択部と、
を備えることを特徴とする、文書選択装置。
【請求項２】
前記レコメンド文書選択部は、
前記入力されたユーザ文書と前記文書データベース内の前記文書との類似度を計算し、前記類似度が所定の基準値を超える前記文書がある場合にのみ、前記類似度が高い順に前記文書データベースから前記レコメンド文書を選択し、
前記類似度が前記基準値を超える前記文書がない場合、前記クラスタ判定部は、前記入力されたユーザ文書が分類される前記クラスタを判定し、
前記クラスタレコメンド文書選択部は、前記クラスタ判定部において判定された前記クラスタと、前記文書データベース内の前記文書との類似度を計算し、前記類似度が高い順に前記文書データベースから前記レコメンド文書を選択することを特徴とする、請求項１に記載の文書選択装置。
【請求項３】
前記ユーザ文書格納部に格納される前記ユーザ文書に変更があった場合に、前記格納されたユーザ文書に対しクラスタ分析を行うクラスタ分析部をさらに備え、
前記クラスタ分析部は、前記クラスタ分析部による分析結果に従って前記各ユーザ文書が分類されるクラスタの情報を前記ユーザ文書格納部に格納することを特徴とする、請求項１または２のいずれかに記載の文書選択装置。
【請求項４】
前記ユーザ文書格納部に格納された前記ユーザ文書が所定の条件に合致する場合に、前記ユーザ文書格納部に格納された所定の前記ユーザ文書を削除するユーザ文書削除部をさらに含むことを特徴とする、請求項１〜３のいずれかに記載の文書選択装置。
【請求項５】
前記ユーザ文書削除部は、格納されている期間が所定の範囲を超える前記ユーザ文書が前記ユーザ文書格納部の中に存在する場合に、前記ユーザ文書を削除することを特徴とする、請求項４に記載の文書選択装置。
【請求項６】
前記ユーザ文書削除部は、前記ユーザ文書のうち格納された日時が古い順に前記ユーザ文書を削除することを特徴とする、請求項４または５のいずれかに記載の文書選択装置。
【請求項７】
前記ユーザ文書削除部は、前記クラスタのうち分類される前記ユーザ文書数が最も多い前記クラスタに属する前記ユーザ文書を削除することを特徴とする、請求項４〜６のいずれかに記載の文書選択装置。
【請求項８】
前記ユーザ文書削除部は、前記クラスタのうち前記クラスタレコメンド文書選択部において前記文書データベースから選択される文書の数が最も少ない前記クラスタに属する前記ユーザ文書を削除することを特徴とする、請求項４〜７のいずれかに記載の文書選択装置。
【請求項９】
コンピュータを請求項１〜８のいずれかに記載の文書選択装置として機能させるための文書選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書選択装置及び文書選択プログラムに係り、特に、複数の文書の中から、ユーザが入力した情報と関連する内容の文書を選択することが可能な文書選択装置及び文書選択プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータおよびネットワーク技術の発展により、遠隔地から自由に様々な情報を取得または送信することが可能となってきている。情報を送信／受信するための特に代表的な手段としては、電子メールがある。ユーザは、電子メールの本文中に様々な文書を含めて送信することにより、送信先のユーザに対して様々な情報を提供することができる。
【０００３】
電子メールを利用して情報を配信あるいは受信するための手段として、例えば、メールマガジンがある。メールマガジンは、登録したユーザに対し、定期的あるいは不定期的にニュース記事などを電子メールにより配信するサービスである。また、ユーザは、配信して欲しい記事のジャンルやキーワード等を予め登録しておくことにより、自分の興味や嗜好に合致した記事だけを選択的に受信することができる。また、メールマガジンを提供する側においても、メールマガジンの記事の内容に合致した広告を同時に配信することにより、ユーザの興味や嗜好にあった広告を提供することができ、効果的な広告配信を行うことができる。
【０００４】
特許文献１及び２には、ユーザの興味や嗜好にあった情報を提供するための方法が記載されている。特許文献１には、ユーザが予め登録した体験情報から、そのユーザと嗜好が類似する他のユーザの体験情報を抽出することで、ユーザの嗜好傾向に対応した情報を提供する方法が記載されている。また、特許文献２には、ユーザが要求した文書と文書データベース内の各文書との類似度を算出し、その類似度と文書の閲覧実績とに基づいて提示すべき文書を決定する方法が記載されている。
【０００５】
【特許文献１】特開２０００−４８０４６号公報
【特許文献２】特開２００３−１６７９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法では、予めユーザの体験情報を収集する必要があり、体験情報の少ないユーザや、体験情報が全くない新規ユーザに対しては適切な情報を提供することができない。また、予め何らかの方法でユーザに体験情報を入力してもらう必要があり、ユーザにとって負担になるという問題もある。
【０００７】
また、特許文献２に記載の方法では、ユーザの要求した文書とデータベース内の各文書との類似度が低い場合に、全てのユーザが一般的によく閲覧する文書が選ばれるため、必ずしもユーザにとって最適な文書が選択されないという問題がある。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、複数の文書の中から、ユーザが入力した情報と関連する内容の文書を簡単に選択することが可能な、新規かつ改良された文書選択装置及び文書選択プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、複数の文書を格納する文書データベースと、文書データベースから選択されるレコメンド文書を決定するのに用いられるユーザ文書が入力されるユーザ文書入力部と、入力されたユーザ文書の内容に基づいて、そのユーザ文書と内容が類似するレコメンド文書を文書データベースから選択するレコメンド文書選択部と、過去に入力されたユーザ文書を、そのユーザ文書が分類されるクラスタと対応付けて格納するユーザ文書格納部と、入力されたユーザ文書が分類される前記クラスタを判定するクラスタ判定部と、クラスタ判定部で判定されたクラスタの情報に基づいて、レコメンド文書を文書データベースから選択するクラスタレコメンド文書選択部と、を備える文書選択装置が提供される。
【００１０】
かかる構成により、事前にユーザから何らかの情報を入力されることを必要とせず、ユーザ文書と内容の類似した文書を文書データベースから選択して提供することができる。従って、ユーザが持っているある文書の内容と関連する内容の文書をデータベースから簡単に選択することが可能となる。
【００１１】
また、レコメンド文書選択部は、入力されたユーザ文書と文書データベース内の文書との類似度を計算し、類似度が所定の基準値を超える文書がある場合にのみ、類似度が高い順に文書データベースからレコメンド文書を選択するようにしてもよい。一方、類似度が基準値を超える文書がない場合、クラスタ判定部は、入力されたユーザ文書が分類されるクラスタを判定し、クラスタレコメンド文書選択部は、クラスタ判定部において判定されたクラスタと、文書データベース内の文書との類似度を計算し、類似度が高い順に文書データベースからレコメンド文書を選択するようにしてもよい。
【００１２】
これにより、レコメンド文書選択部においてユーザ文書と内容が類似する文書が見つけられなかった場合でも、ユーザ文書と類似する内容のカテゴリ（クラスタ）を用いて最も適切な文書を選択することができ、大きく内容の異なる文書が選択されてしまうことを回避することができる。
【００１３】
また、ユーザ文書格納部に格納されたユーザ文書に変更があった場合に、格納されたユーザ文書に対しクラスタ分析を行うクラスタ分析部をさらに備え、クラスタ分析部は、クラスタ分析部による分析結果に従って各ユーザ文書が分類されるクラスタの情報をユーザ文書格納部に格納するようにしてもよい。
【００１４】
これにより、ユーザ文書格納部に対しユーザ文書が追加、または削除された場合に、追加／削除後のユーザ文書格納部のユーザ文書の内容に応じて、それと対応付けられたクラスタの情報も更新される。したがって、ユーザ文書格納部内のユーザ文書と、クラスタの情報とが常に整合性を保った状態で格納され、クラスタ判定部やクラスタレコメンド文書選択部が常に最新のユーザ文書に対応したクラスタの情報を利用することができる。
【００１５】
また、ユーザ文書格納部に格納されたユーザ文書が所定の条件に合致する場合に、ユーザ文書格納部に格納された所定のユーザ文書を削除するユーザ文書削除部をさらに含んでもよい。ユーザ文書格納部に格納できるユーザ文書の量には限界があり、いずれ格納されているユーザ文書から一部を削除する必要があるが、ユーザ文書削除部を設けることにより、ある一定の条件の下で自動的にユーザ文書を削除することができ、ユーザ文書格納部のデータ容量を調整することができる。
【００１６】
例えば、ユーザ文書削除部は、格納されている期間が所定の範囲を超えるユーザ文書がユーザ文書格納部の中に存在する場合に、ユーザ文書を削除するようにしてもよい。あるいは、ユーザ文書削除部は、ユーザ文書格納部に格納されているユーザ文書の数が一定の値以上になった場合に、ユーザ文書を削除するようにしてもよい。
【００１７】
また、ユーザ文書削除部において、ユーザ文書を削除する際に、ある一定の基準で削除するユーザ文書を選択するように定めることによって、レコメンド文書選択部によるレコメンド文書の選択に必要となるカテゴリ（クラスタ）を適切な状態に保ったままユーザ文書を削除することができ、レコメンド文書の選択精度の低下を防止することが可能となる。
【００１８】
例えば、ユーザ文書削除部は、ユーザ文書のうち格納された日時が古い順にユーザ文書を削除するようにしてもよい。これにより、ユーザ文書格納部が常に最も新しく入力されたユーザ文書によって構成された状態となり、クラスタ分析により生成されるクラスタにも最新のユーザ文書の傾向を反映することができる。
【００１９】
あるいは、ユーザ文書削除部は、分類されるユーザ文書数が最も多いクラスタに属するユーザ文書を削除するようにしてもよい。分類されるユーザ文書数が最も多いクラスタに属するユーザ文書を削除しても、クラスタ分析の結果への影響は少ないことから、このようにすることによって、ユーザ文書の削除によるクラスタ分析処理への影響を少なくすることができる。
【００２０】
あるいは、ユーザ文書削除部は、クラスタレコメンド文書選択部において文書データベースから選択される文書の数が最も少ないクラスタに属するユーザ文書を削除するようにしてもよい。これにより、ユーザに提供する文書選択に影響の少ない文書から削除することができ、レコメンド文書の選択処理への影響を少なくすることができる。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを上述したような文書選択装置として機能させるための文書選択プログラムが提供される。
【発明の効果】
【００２２】
以上説明したように本発明によれば、複数の文書の中から、ユーザが入力した情報と関連する内容の文書を簡単に選択することが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２４】
まず、図１を参照して、本発明の一実施形態にかかる文書選択装置について説明する。図１は、本実施形態にかかる文書選択装置１００の概略構成を示すブロック図である。
【００２５】
本実施形態にかかる文書選択装置１００は、ユーザから入力された文書（以下、ユーザ文書という）に基づいて、ユーザ文書の内容と類似する内容の文書をデータベースから選択し、ユーザに提供するために用いられる装置である。以下の説明において、ユーザに提供するために選択される文書をレコメンド文書と称する。
【００２６】
本実施形態にかかる文書選択装置１００は、図１に示すように、文書データベース１０１と、ユーザ文書入力部１０２と、レコメンド文書選択部１０３と、クラスタ判定部１０４と、クラスタレコメンド文書選択部１０５と、レコメンド文書編集部１０６と、レコメンド文書出力部１０７と、ユーザ文書格納部１０８と、クラスタ分析部１０９と、ユーザ文書削除部１１０とにより構成される。以下、文書選択装置１００の各部について説明する。
【００２７】
（文書データベース１０１）
文書データベース１０１は、ユーザに提供する文書を格納するためのデータベースである。文書データベース１０１には、複数の文書データが格納され、それらの文書の中からレコメンド文書選択部１０３またはクラスタレコメンド文書選択部１０５によって選択された文書が、レコメンド文書編集部１０６及びレコメンド文書出力部１０７を介してユーザに提供される。また、文書データベース１０１に格納される文書データは、どのようなデータ形式であってもよく、テキスト形式、ＨＴＭＬ形式等であってもよく、あるいは、特定のアプリケーションによって読み取り可能なデータ形式であってもよい。
【００２８】
（ユーザ文書入力部１０２）
ユーザ文書入力部１０２は、ユーザ文書１１１を入力するための機能部である。ユーザ文書入力部１０２は、入力されたユーザ文書１１１をレコメンド文書選択部１０３に入力する。ユーザ文書１１１は、文書データベース１０１からレコメンド文書を選択するために用いられる文書であって、ユーザがアクセスしたＷｅｂから取得したＨＴＭＬ文書のような文書であってもよく、ユーザが作成した電子メールのような文書であってもよい。また、本実施形態においては、入力されるユーザ文書１１１は１つであるものとして説明するが、複数のユーザ文書が入力されるようにしてもよい。
【００２９】
（レコメンド文書選択部１０３）
レコメンド文書選択部１０３は、ユーザ文書入力部１０２から入力されたユーザ文書１１１と類似する内容の文書をレコメンド文書１１２として文書データベース１０１から選択するための機能部である。レコメンド文書選択部１０３は、ユーザ文書入力部１０２から入力されるユーザ文書１１１を受け取り、ユーザ文書１１１の内容に基づいて文書データベース１０１からレコメンド文書１１２を選択する。
【００３０】
文書データベース１０１からユーザ文書１１１と類似する内容のレコメンド文書１１２を選択するために、レコメンド文書選択部１０３は、文書データベース１０１に格納される各文書とユーザ文書１１１との類似度を計算する。類似度を計算する方法としては、多様な方法を用いることができるが、例えば、既知の技術であるベクトル空間法と呼ばれる方法を用いてもよい。具体的には、まず、ユーザ文書１１１と文書データベース１０１に格納される文書のそれぞれとについて、形態素解析、構文解析等を行って単語を抽出し、単語のｔｆｉｄｆ値を要素とするベクトルを生成する。ベクトル空間法は既知の方法であるため、ここでは上記ベクトルの生成方法についての詳細な説明は省略する。
【００３１】
また、ユーザ文書１１１あるいは文書データベース１０１内の各文書が、ＨＴＭＬ文書等のようにタグなどの文書のコンテンツ以外の要素を含む場合、それらのコンテンツ以外の要素を除いた文書データを用いて、上記ベクトルを生成することが好ましい。これにより、文書のコンテンツ以外のデータが含まれている場合であっても、コンテンツ以外の要素が類似度の値に影響を与えないようにすることができる。
【００３２】
各文書のベクトルを計算後、文書データベース１０１内の各文書のベクトルとユーザ文書１１１のベクトルとのベクトル間距離を計算する。このようにして計算されたベクトル間距離が、類似度を測る値として用いられる。この場合、ベクトル間距離の値が小さいほど類似度が高いと判断され、値が大きいほど類似度が低いと判断することができる。
【００３３】
また、本実施形態においては、文書間の類似度を判定するための基準値を設ける。レコメンド文書選択部１０３は、文書データベース１０１内の各文書とユーザ文書との類似度がその基準値を満たすか否かを判定し、類似度が基準値を満たす文書の中でより類似度が高い文書をレコメンド文書として選択する。
【００３４】
例えば、類似度として、上述のベクトル間距離を用いる場合、ベクトル間距離が基準値以下であるか否かを判定し、基準値以下である文書の中で、ベクトル間距離の値が小さい（距離が近い）順にレコメンド文書１１２を選択する。選択されるレコメンド文書１１２は１つであってもよく、２以上であってもよい。例えば、最も類似度の高い（ベクトル間距離の近い）文書を１つだけ選択するようにしてもよく、類似度の高い順（ベクトル間距離が近い順）に所定の数の文書を選択するようにしてもよく、類似度が所定の閾値以上（ベクトル間距離が閾値以下）の文書を全て選択するようにしてもよい。レコメンド文書選択部１０３は、選択したレコメンド文書１１２をレコメンド文書編集部１０６に入力する。
【００３５】
一方、文書データベース１０１内の全ての文書が基準値を満たさない（ベクトル間距離が基準値以上である）場合、レコメンド文書選択部１０３は、レコメンド文書を選択せず、ユーザ文書をクラスタ判定部に渡す。このように、類似度の基準値を設け、どの文書も基準値を満たさなかった場合に、文書間の類似度を用いた選択を行わないことによって、ユーザ文書と内容が大きく異なる文書が選択されてしまう危険性を回避することができる。
【００３６】
（クラスタ判定部１０４）
クラスタ判定部１０４は、入力されたユーザ文書１１１がどのクラスタ（カテゴリ）に属するかを判定するための機能部である。このとき、判定されるクラスタには、ユーザ文書格納部１０８によって生成され、クラスタ分析部１０９に格納されるユーザ文書が分類されるクラスタが用いられる。また、クラスタ分析部１０９によって、予め各クラスタのクラスタ中心が算出され、ユーザ文書格納部１０８またはその他の記憶部に格納されているものとする。
【００３７】
クラスタの判定は、例えば、上述のレコメンド文書選択部１０３で生成されたユーザ文書１１１のベクトルと各クラスタのクラスタ中心との距離によって判定するようにしてもよい。この場合、ユーザ文書１１１のベクトルとクラスタ中心との距離が最も近いクラスタが、ユーザ文書１１１が属するクラスタとして選択される。クラスタ判定部１０４は、選択したクラスタをクラスタレコメンド文書選択部１０５に入力する。
【００３８】
（クラスタレコメンド文書選択部１０５）
クラスタレコメンド文書選択部１０５は、クラスタ判定部１０４によって判定されたクラスタ（カテゴリ）と近い内容の文書を文書データベース１０１から選択するための機能部である。各文書が判定されたクラスタと近い内容であるか否かを判定する方法としては、クラスタ判定部１０４においてクラスタを判定するのに用いられたのと同様の方法を用いることができる。例えば、文書データベース１０１内の各文書のベクトルと選択されたクラスタのクラスタ中心との距離を類似度として計算し、距離の値が小さい文書を類似度が高いと判定するようにしてもよい。
【００３９】
類似度を計算後、クラスタレコメンド文書選択部１０５は、文書データベース１０１内の文書を類似度が高い（距離が近い）順にレコメンド文書１１２として選択する。選択されるレコメンド文書１１２は１つであってもよく、２以上であってもよい。例えば、最も類似度の高い文書を１つだけ選択するようにしてもよく、類似度の高い順に所定の数の文書を選択するようにしてもよく、類似度が所定の閾値以上の文書を全て選択するようにしてもよい。クラスタレコメンド文書選択部１０５は、選択したレコメンド文書１１２をレコメンド文書編集部１０６に入力する。
【００４０】
（レコメンド文書編集部１０６）
レコメンド文書編集部１０６は、選択されたレコメンド文書１１２を出力用に編集するための機能部である。レコメンド文書編集部１０６は、レコメンド文書選択部１０３またはクラスタレコメンド文書選択部１０５のいずれかからレコメンド文書１１２を受け取り、受け取ったレコメンド文書１１２を出力用に編集する。具体的には、例えば、ＨＴＭＬ形式等の、予め決められた所定のデータ形式にレコメンド文書１１２を変換してもよく、入力されたユーザ文書１１１とレコメンド文書１１２とをマージしたり、選択された複数のレコメンド文書１１２をマージして、１つのレコメンド文書を生成するようにしてもよい。編集後、レコメンド文書編集部１０６は、レコメンド文書出力部１０７にレコメンド文書１１２を渡す。
【００４１】
（レコメンド文書出力部１０７）
レコメンド文書出力部１０７は、レコメンド文書編集部１０６で編集されたレコメンド文書１１２をユーザに提供するために出力する機能部である。出力方法は、例えば、ディスプレイ上にレコメンド文書１１２が表示されるようにしてもよく、ＨＴＭＬ等の形式のデータがネットワークを通じて送信されるようにしてもよい。あるいは、ネットワークを通じて電子メールによって送信されるようにしてもよく、ＦＡＸやプリンタ等に出力されるようにしてもよい。
【００４２】
（ユーザ文書格納部１０８）
ユーザ文書格納部１０８は、入力されたユーザ文書を蓄積して格納するための記憶部である。ユーザ文書１１１は、レコメンド文書選択部１０３またはクラスタレコメンド文書選択部１０５のいずれかによってレコメンド文書が選択された後、ユーザ文書格納部１０８に格納される。
【００４３】
ユーザ文書格納部１０８は、例えば図２に示すようなデータ構造によりユーザ文書１１１を格納する。ここで、図２は、ユーザ文書格納部１０８に格納されるデータの一例を示す説明図である。図２を参照して説明すると、ユーザ文書格納部１０８には、各ユーザ文書２０２が、文書ＩＤ２０１、格納日時２０３、及びクラスタ番号２０４と対応付けられて格納される。文書ＩＤ２０１は、各ユーザ文書を一意に特定するために、各ユーザ文書に割り当てられる情報である。格納日時２０３は、各ユーザ文書がユーザ文書格納部１０８に格納された日時を示す情報である。クラスタ番号２０４は、各ユーザ文書が分類されるクラスタ（カテゴリ）を示す情報である。文書ＩＤ２０１、ユーザ文書２０２、格納日時２０３のデータは、ユーザ文書が新たに追加された際に格納される。クラスタ番号２０４のデータは、クラスタ分析部１０９によってユーザ文書のクラスタ分析処理が行われた後に格納され、以降クラスタ分析処理が行われる毎に結果が反映される。
【００４４】
また、ユーザ文書格納部１０８には、クラスタ番号２０４に対応づけて、各クラスタのクラスタ中心が格納されるようにしてもよい。
【００４５】
（クラスタ分析部１０９）
クラスタ分析部１０９は、ユーザ文書に対しクラスタ分析（クラスタリング）を行い、ユーザ文書を複数のクラスタ（カテゴリ）に分類するための機能部である。具体的には、ユーザ文書格納部１０８に格納されているユーザ文書を所定のクラスタ分析手法により分類し、内容が類似している複数の文書が同じクラスタに属するようにクラスタを生成する。ここで用いられるクラスタ分析手法は、例えば、機械学習を用いた既知のクラスタ分析手法であって、具体的には、ナイーブ・ベイズ（Ｎａｉｖｅ  Ｂａｙｅｓ）やｋ近傍法、決定木等の手法であってもよい。
【００４６】
クラスタ分析処理は、ユーザ文書格納部１０８の内容が更新されるごとに実行される。例えば、新たにユーザ文書が追加された場合や、ユーザ文書削除部１１０によってユーザ文書格納部１０８内のユーザ文書が削除された場合等である。また、クラスタ分析部１０９は、クラスタ分析処理後、各ユーザ文書が分類されるクラスタを示すクラスタ番号等の情報をユーザ文書格納部１０８に格納する。
【００４７】
また、クラスタ分析部１０９は、クラスタ分析と同時に、各クラスタの平均値であるクラスタ中心を算出する。クラスタ中心とは、各クラスタに属するユーザ文書の平均であって、例えば、各クラスタに所属するユーザ文書のベクトルの重心である。算出されたクラスタ中心は、各クラスタと対応付けて、ユーザ文書格納部１０８に格納されてもよく、あるいは、クラスタ中心を格納するための記憶部が別途設けられてもよい。
【００４８】
（ユーザ文書削除部１１０）
ユーザ文書削除部１１０は、ユーザ文書格納部１０８に格納されたユーザ文書を予め定められた所定の条件に従って削除するための機能部である。ユーザ文書を削除する条件（以下、削除条件という）とは、例えば、ユーザ文書格納部１０８に格納されているユーザ文書の数が一定の値を超えた場合、または、ユーザ文書の蓄積期間（格納されてからの経過時間）が一定期間を超えた場合等である。ユーザ文書削除部１１０は、定期的または新たにユーザ文書がユーザ文書格納部１０８に格納される際等に、ユーザ文書格納部１０８に格納されているユーザ文書の状態をチェックし、削除条件に合致する場合は、削除処理を行う。
【００４９】
例えば、削除条件として、ユーザ文書格納部１０８に格納するユーザ文書数の最大値が定められている場合、ユーザ文書削除部１１０は、最大値を超える数のユーザ文書を削除するようにしてもよい。あるいは、削除条件としてユーザ文書の最大蓄積期間が定められている場合は、最大蓄積期間を超えて蓄積されているユーザ文書を削除するようにしてもよい。
【００５０】
また、ユーザ文書削除部１１０は、削除するユーザ文書を選択する基準を定め、定められた基準に従った順番にユーザ文書を削除するようにしてもよい。例えば、各ユーザ文書の格納日時２０３を参照し、格納日時が古い順にユーザ文書を削除するようにしてもよい。あるいは、各ユーザ文書のクラスタ２０４を参照し、所属するユーザ文書が最も多いクラスタに属するユーザ文書から削除するようにしてもよい。あるいは、過去にクラスタレコメンド文書選択部により各クラスタの類似文書として選択された文書の数を記憶する記憶部を別途設け、そこに記憶された情報から選択された文書が最も少ないクラスタを求め、そのクラスタに属するユーザ文書から削除してもよい。あるいは、過去にクラスタレコメンド文書選択部１０５により選択された文書が最も少ないクラスタに属するユーザ文書から削除してもよい。
【００５１】
以上、文書選択装置の構成について説明した。なお、ユーザ文書入力部１０２、レコメンド文書選択部１０３、クラスタ判定部１０４、クラスタレコメンド文書選択部１０５、レコメンド文書編集部１０６、レコメンド文書出力部１０７、クラスタ分析部１０９及びユーザ文書削除部１１０の各部は、上述した各機能を実行可能なプログラムモジュールをコンピュータ等の情報処理装置にインストールしたソフトウェアで構成されてもよいし、あるいは、上述した各機能を実行可能なプロセッサ等のハードウエアで構成されてもよい。また、文書データベース１０１及びユーザ文書格納部１０８は、例えば、半導体メモリ、光ディスク、磁気ディスク等の各種の記憶媒体等により構成されてもよい。
【００５２】
次に、図３に基づいて、本実施形態にかかる文書選択装置１００により実行される文書選択処理の一例を説明する。ここで、図３は、本実施形態にかかる文書選択装置１００により実行される文書選択処理の流れを示すフローチャートである。
【００５３】
まず、ステップＳ２０１において、ユーザ文書入力部１０２からユーザ文書が入力される。入力されるユーザ文書は、ユーザがアクセスしたＷｅｂから取得したＨＴＭＬ文書のような文書であってもよく、ユーザが作成した電子メールのような文書であってもよい。
【００５４】
次に、ステップＳ２０２で、レコメンド文書選択部１０３は、文書データベース１０１に格納される各文書とユーザ文書１１１との類似度を計算する。類似度を計算する方法としては、多様な方法を用いることができるが、例えば、既知の技術であるベクトル空間法と呼ばれる方法を用いてもよい。具体的には、まず、ユーザ文書１１１と文書データベース１０１に格納される文書のそれぞれとについて、形態素解析、構文解析等を行って単語を抽出し、単語のｔｆｉｄｆ値を要素とするベクトルを生成する。ベクトル空間法は既知の方法であるため、ここでは上記ベクトルの生成方法についての詳細な説明は省略する。
【００５５】
また、ユーザ文書１１１あるいは文書データベース１０１内の各文書が、ＨＴＭＬ文書等のようにタグなどの文書のコンテンツ以外の要素を含む場合、それらのコンテンツ以外の要素を除いた文書データを用いて、上記ベクトルを生成することが好ましい。これにより、文書のコンテンツ以外のデータが含まれている場合であっても、コンテンツ以外の要素が類似度の値に影響を与えないようにすることができる。
【００５６】
各文書のベクトルを計算後、文書データベース１０１内の各文書のベクトルとユーザ文書１１１のベクトルとのベクトル間距離を計算する。このようにして計算されたベクトル間距離が、類似度を測る値として用いられる。この場合、ベクトル間距離の値が小さいほど類似度が高いと判断され、値が大きいほど類似度が低いと判断することができる。
【００５７】
次いで、ステップＳ２０３で、レコメンド文書選択部１０３は、文書間の類似度を判定するために予め定められた基準値と、ステップＳ２０２で計算された類似度の値とを比較する。そして、文書データベース１０１の文書の中で、類似度が基準値を満たす文書が１つでも存在するか否かを判定する。例えば、類似度として上述のベクトル間距離を用いる場合、ベクトル間距離の値が基準値以下であれば、類似度の条件を満たしていることになる。
【００５８】
基準値を満たす文書が１つでも存在する場合はステップＳ２０４に遷移し、ステップＳ２０４で、それらの文書の中の類似度が高いものからレコメンド文書１１２が選択される。例えば、類似度として、上述のベクトル間距離を用いる場合、ベクトル間距離の値が基準値以下である文書の中で、ベクトル間距離の値が小さい（距離が近い）順にレコメンド文書を選択する。選択されるレコメンド文書は１つであってもよく、２以上であってもよい。例えば、最も類似度の高い（ベクトル間距離の近い）文書を１つだけ選択するようにしてもよく、類似度の高い順（ベクトル間距離が近い順）に所定の数の文書を選択するようにしてもよく、類似度が所定の閾値以上（ベクトル間距離が閾値以下）の文書を全て選択するようにしてもよい。レコメンド文書選択部１０３は、選択したレコメンド文書１１２をレコメンド文書編集部１０６に入力する。
【００５９】
一方、文書データベース１０１内の全ての文書が基準値を満たさない（ベクトル間距離が基準値以上である）場合、レコメンド文書を選択せず、ステップＳ２０５に遷移する。このように、類似度の基準値を設け、どの文書も基準値を満たさなかった場合に、文書間の類似度を用いた選択を行わないことによって、ユーザ文書と内容が大きく異なる文書が選択されてしまう危険性を回避することができる。
【００６０】
ステップＳ２０５では、クラスタ判定部１０４が、入力されたユーザ文書１１１がどのクラスタ（カテゴリ）に属するかを判定する。このとき、判定されるクラスタは、クラスタ分析部１０９によって生成された、ユーザ文書格納部１０８内のユーザ文書が分類されるクラスタが用いられる。また、クラスタ分析部１０９によって、予め各クラスタのクラスタ中心が算出されており、ユーザ文書格納部１０８等の記憶部に格納されているものとする。
【００６１】
クラスタの判定は、例えば、上述のレコメンド文書選択部１０３で生成されたユーザ文書１１１のベクトルと各クラスタのクラスタ中心との距離によって判定するようにしてもよい。この場合、ユーザ文書１１１のベクトルとクラスタ中心との距離が最も近いクラスタが、ユーザ文書１１１が属するクラスタとして選択される。クラスタ判定部１０４は、選択したクラスタをクラスタレコメンド文書選択部１０５に入力する。
【００６２】
次いで、ステップＳ２０６で、クラスタレコメンド文書選択部１０５において、文書データベース１０１に格納されている文書のそれぞれについて、クラスタ判定部１０４において選択されたクラスタとの類似度を計算する。ここでも、ステップＳ２０５と同様に、文書データベース１０１内の各文書のベクトルと、選択されたクラスタのクラスタ中心との距離を計算することによって類似度を求めるようにしてもよい。
【００６３】
次いで、ステップＳ２０７で、クラスタレコメンド文書選択部１０５が、文書データベース１０１から類似度が高い文書をレコメンド文書１１２として選択する。選択されるレコメンド文書１１２は１つであってもよく、２以上であってもよい。例えば、最も類似度の高い文書を１つだけ選択するようにしてもよく、類似度の高い順に所定の数の文書を選択するようにしてもよく、類似度が所定の閾値以上の文書を全て選択するようにしてもよい。クラスタレコメンド文書選択部１０５は、選択したレコメンド文書１１２をレコメンド文書編集部１０６に入力する。
【００６４】
ステップＳ２０４またはステップＳ２０７において、レコメンド文書１１２が選択された後、ステップＳ２０８で、レコメンド文書編集部１０６が選択されたレコメンド文書１１２を出力用に編集する。具体的には、例えば、ＨＴＭＬ形式等の、予め決められた所定のデータ形式にレコメンド文書１１２を変換してもよく、入力されたユーザ文書１１１とレコメンド文書１１２とをマージしたり、選択された複数のレコメンド文書１１２をマージして、１つのレコメンド文書を生成するようにしてもよい。編集された文書は、レコメンド文書出力部１０７を通じて出力される。
【００６５】
次いで、ステップＳ２０９で、レコメンド文書の選択処理が終わったユーザ文書１１１を、ユーザ文書格納部１０８に格納する。ユーザ文書１１１は、図２に示すように、文書ＩＤ２０１や格納日時２０３等の情報と対応付けて格納される。ここで、文書ＩＤ２０１は、各ユーザ文書を一意に特定するために、各ユーザ文書に割り当てられる情報であり、格納日時２０３は、各ユーザ文書がユーザ文書格納部１０８に格納された日時を示す情報である。なお、ステップＳ２０９においては、クラスタ番号２０４は、格納されず、後のステップＳ３１２で行われるクラスタ分析処理の実行後に格納される。
【００６６】
次いで、ステップＳ３１０で、ユーザ文書削除部１１０は、ユーザ文書格納部１０８に格納されているユーザ文書の状態が予め定められた削除条件に合致するかを判定する。ここで用いられる削除条件は、例えば、ユーザ文書格納部１０８に格納するユーザ文書の数が一定の値を超える場合や、ユーザ文書の蓄積期間（格納されてからの経過時間）が一定の期間を超える場合等である。削除条件に合致しない場合は、ユーザ文書削除部１１０は何も処理を行わず、ステップＳ３１２に遷移する。
【００６７】
一方、削除条件に合致した場合、ステップＳ３１１に遷移し、ユーザ文書削除部１１０はユーザ文書格納部１０８からユーザ文書を削除する。例えば、削除条件として、ユーザ文書格納部１０８に格納するユーザ文書数の最大値が定められている場合、ユーザ文書削除部１１０は、最大値を超える数のユーザ文書を削除するようにしてもよい。あるいは、削除条件としてユーザ文書の最大蓄積期間が定められている場合は、最大蓄積期間を超えて蓄積されているユーザ文書を削除するようにしてもよい。
【００６８】
また、ユーザ文書削除部１１０は、削除するユーザ文書を選択する基準を定め、定められた基準に従った順番にユーザ文書を削除するようにしてもよい。例えば、各ユーザ文書の格納日時２０３を参照し、格納日時が古い順にユーザ文書を削除するようにしてもよい。あるいは、各ユーザ文書のクラスタ２０４を参照し、所属するユーザ文書が最も多いクラスタに属するユーザ文書から削除するようにしてもよい。あるいは、過去にクラスタレコメンド文書選択部により各クラスタの類似文書として選択された文書の数が最も少ないクラスタに属するユーザ文書から削除するようにしてもよい。
【００６９】
ステップＳ３０９〜Ｓ３１１を通じてユーザ文書格納部１０８が更新された後、ステップＳ３１２で、クラスタ分析部１０９がユーザ文書格納部１０８に格納されたユーザ文書に対しクラスタ分析（クラスタリング）を行ってクラスタ（文書のカテゴリ）を生成する。具体的には、ユーザ文書格納部１０８に格納されているユーザ文書を所定のクラスタ分析手法により分類し、内容が類似している複数の文書が同じクラスタに属するようにクラスタを生成する。ここで用いられるクラスタ分析手法は、例えば、機械学習を用いた既知のクラスタ分析手法であって、具体的には、ナイーブ・ベイズ（Ｎａｉｖｅ  Ｂａｙｅｓ）やｋ近傍法、決定木等の手法を用いてもよい。
【００７０】
クラスタ分析処理後、各ユーザ文書が分類されるクラスタを示すクラスタ番号等の情報をユーザ文書格納部１０８に格納してもよい。また、クラスタ分析部１０９は、クラスタ分析と同時に、各クラスタの平均値であるクラスタ中心を算出する。クラスタ中心とは、各クラスタに属するユーザ文書の平均であって、例えば、各クラスタに所属するユーザ文書のベクトルの重心である。算出されたクラスタ中心は、各クラスタと対応付けて、ユーザ文書格納部１０８に格納されてもよく、あるいは、クラスタ中心を格納するための記憶部が別途設けられてもよい。
【００７１】
以上、本実施形態にかかる文書選択装置によって行われる文書選択処理について説明した。
【００７２】
このように、本実施形態にかかる文書選択装置１００によれば、レコメンド文書選択部１０３とクラスタレコメンド文書選択部１０５を設けたことにより、特に事前にユーザから何らかの情報を入力されることを必要とせず、ユーザ文書と内容の類似した文書を文書データベースから選択し、提供することができる。また、クラスタレコメンド文書選択部１０５を設けたことにより、レコメンド文書選択部１０３においてユーザ文書と内容が類似する文書が見つけられなかった場合でも、ユーザ文書と類似する内容のカテゴリ（クラスタ）を用いて最も適切な文書を選択することができ、大きく内容の異なる文書が選択されてしまうことを回避することができる。
【００７３】
また、ユーザ文書格納部１０８に格納できるユーザ文書の量には限界があるため、いずれ格納されているユーザ文書の一部を削除する必要があるが、ユーザ文書削除部１１０を設けたことにより、クラスタレコメンド文書選択部１０５での文書選択に必要となるカテゴリが適切な状態で保たれた状態で文書の削除ができ、選択精度の低下を防止することが可能となる。例えば、格納日時が最も古い文書から削除すると、格納されているユーザ文書が常に最新の状態に保たれるため、クラスタ分析により生成されるクラスタにも最新のユーザ文書の傾向を反映することができる。また、分類されているユーザ文書数が最も多いクラスタから文書を削除する場合、クラスタ分析処理に与える影響の少ない文書から削除されるため、クラスタ分析処理への影響を少なくすることができる。また、クラスタレコメンド文書選択部１０５により文書データベース１０１から選択される文書が最も少ないクラスタに属するユーザ文書から削除する場合は、ユーザに提供する文書選択に影響の少ない文書から削除することができ、レコメンド文書の選択処理への影響を少なくすることができる。
【００７４】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００７５】
例えば、上記実施形態では、ユーザ文書をユーザ文書格納部に格納した後に、ユーザ文書削除部によってユーザ文書の削除処理を行うとして説明したが、本発明はかかる例に限定されず、ユーザ文書をユーザ文書格納部に格納する前に削除処理を実行してもよく、あるいは、定期的にユーザ文書格納部をチェックして削除処理を行うようにしてもよい。
【００７６】
また、上記実施形態では、レコメンド文書の出力後にユーザ文書をユーザ文書格納部へ格納するとして説明したが、生成されたクラスタやクラスタ中心に影響を与えないようにするのであれば、レコメンド文書の選択処理と並行して格納してもよく、あるいは、ユーザ文書の入力後すぐに格納してもよい。
【００７７】
また、上記実施形態では、各クラスタのクラスタ中心をユーザ文書格納部１０８に格納するとして説明したが、クラスタ中心の情報を格納するための記憶部を別途設けてもよい。
【００７８】
さらに、上記クラスタ中心を記憶させる記憶部に、クラスタレコメンド文書選択部により各クラスタの類似文書として選択された文書の数を記憶させるようにしてもよい。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態にかかる文書選択装置の概略構成を示すブロック図である。
【図２】同実施形態にかかる文書選択装置のユーザ文書格納部に格納されるデータの一例を示す説明図である。
【図３】同実施形態にかかる文書選択装置により実行される文書選択処理の流れを示すフローチャートである。
【符号の説明】
【００８０】
１００    装置
１０１    文書データベース
１０２    ユーザ文書入力部
１０３    レコメンド文書選択部
１０４    クラスタ判定部
１０５    クラスタレコメンド文書選択部
１０６    レコメンド文書編集部
１０７    レコメンド文書出力部
１０８    ユーザ文書格納部
１０９    クラスタ分析部
１１０    ユーザ文書削除部
１１１    ユーザ文書
１１２    レコメンド文書
【図１】
2008158590.tif 000003
【図２】
2008158590.tif 000004
【図３】
2008158590.tif 000005