JP4779961B2 - 文書選択装置及び文書選択プログラム - Google Patents

文書選択装置及び文書選択プログラム Download PDF

Info

Publication number
JP4779961B2
JP4779961B2 JP2006343521A JP2006343521A JP4779961B2 JP 4779961 B2 JP4779961 B2 JP 4779961B2 JP 2006343521 A JP2006343521 A JP 2006343521A JP 2006343521 A JP2006343521 A JP 2006343521A JP 4779961 B2 JP4779961 B2 JP 4779961B2
Authority
JP
Japan
Prior art keywords
document
user
cluster
unit
recommended
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006343521A
Other languages
English (en)
Other versions
JP2008158590A (ja
Inventor
恵志 伊加田
佳孝 濱口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2006343521A priority Critical patent/JP4779961B2/ja
Publication of JP2008158590A publication Critical patent/JP2008158590A/ja
Application granted granted Critical
Publication of JP4779961B2 publication Critical patent/JP4779961B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

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

Claims (9)

  1. 複数の文書を格納する文書データベースと、
    前記文書データベースから選択されるレコメンド文書を決定するのに用いられるユーザ文書が入力されるユーザ文書入力部と、
    前記入力されたユーザ文書の内容に基づいて、前記ユーザ文書と内容が類似する前記レコメンド文書を前記文書データベースから選択するレコメンド文書選択部と、
    過去に入力された前記ユーザ文書を、当該ユーザ文書が分類されるクラスタと対応付けて格納するユーザ文書格納部と、
    前記入力されたユーザ文書が分類される前記クラスタを判定するクラスタ判定部と、
    前記クラスタ判定部で判定されたクラスタの情報に基づいて、前記レコメンド文書を前記文書データベースから選択するクラスタレコメンド文書選択部と、
    前記ユーザ文書格納部に格納された前記ユーザ文書が所定の条件に合致する場合に、前記ユーザ文書格納部に格納された所定の前記ユーザ文書を削除するユーザ文書削除部と、
    前記ユーザ文書格納部に格納された前記ユーザ文書のうち、いずれかの前記ユーザ文書が削除された場合に、前記ユーザ文書格納部に格納された前記ユーザ文書に対しクラスタ分析を行うクラスタ分析部と、
    を備え、
    前記クラスタ分析部は、前記クラスタ分析部による分析結果に従って前記各ユーザ文書が分類されるクラスタの情報を前記ユーザ文書格納部に格納することを特徴とする、文書選択装置。
  2. 前記レコメンド文書選択部は、
    前記入力されたユーザ文書と前記文書データベース内の前記文書との類似度を計算し、前記類似度が所定の基準値を超える前記文書がある場合にのみ、前記類似度が高い順に前記文書データベースから前記レコメンド文書を選択し、
    前記類似度が前記基準値を超える前記文書がない場合、前記クラスタ判定部は、前記入力されたユーザ文書が分類される前記クラスタを判定し、
    前記クラスタレコメンド文書選択部は、前記クラスタ判定部において判定された前記クラスタと、前記文書データベース内の前記文書との類似度を計算し、前記類似度が高い順に前記文書データベースから前記レコメンド文書を選択することを特徴とする、請求項1に記載の文書選択装置。
  3. 前記クラスタ分析部は、互いに内容が類似している複数の前記ユーザ文書を同じクラスタに分類することを特徴とする、請求項1または2記載の文書選択装置。
  4. 前記クラスタ判定部は、前記ユーザ文書格納部に格納される前記クラスタのうち、前記クラスタの中心が前記ユーザ文書に最も近いクラスタを前記ユーザ文書のクラスタと判定することを特徴とする、請求項1〜3のいずれか1項に記載の文書選択装置。
  5. 前記ユーザ文書削除部は、格納されている期間が所定の範囲を超える前記ユーザ文書が前記ユーザ文書格納部の中に存在する場合に、前記ユーザ文書を削除することを特徴とする、請求項1〜4のいずれか1項に記載の文書選択装置。
  6. 前記ユーザ文書削除部は、前記ユーザ文書のうち格納された日時が古い順に前記ユーザ文書を削除することを特徴とする、請求項1〜5のいずれか1項に記載の文書選択装置。
  7. 前記ユーザ文書削除部は、前記クラスタのうち分類される前記ユーザ文書数が最も多い前記クラスタに属する前記ユーザ文書を削除することを特徴とする、請求項1〜6のいずれか1項に記載の文書選択装置。
  8. 前記ユーザ文書削除部は、前記クラスタのうち前記クラスタレコメンド文書選択部において前記文書データベースから選択される文書の数が最も少ない前記クラスタに属する前記ユーザ文書を削除することを特徴とする、請求項1〜7のいずれか1項に記載の文書選択装置。
  9. コンピュータを請求項1〜8のいずれかに記載の文書選択装置として機能させるための文書選択プログラム。
JP2006343521A 2006-12-20 2006-12-20 文書選択装置及び文書選択プログラム Expired - Fee Related JP4779961B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006343521A JP4779961B2 (ja) 2006-12-20 2006-12-20 文書選択装置及び文書選択プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006343521A JP4779961B2 (ja) 2006-12-20 2006-12-20 文書選択装置及び文書選択プログラム

Publications (2)

Publication Number Publication Date
JP2008158590A JP2008158590A (ja) 2008-07-10
JP4779961B2 true JP4779961B2 (ja) 2011-09-28

Family

ID=39659463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006343521A Expired - Fee Related JP4779961B2 (ja) 2006-12-20 2006-12-20 文書選択装置及び文書選択プログラム

Country Status (1)

Country Link
JP (1) JP4779961B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6390139B2 (ja) * 2014-03-31 2018-09-19 大日本印刷株式会社 文書検索装置、文書検索方法、プログラム、及び、文書検索システム
JP6050284B2 (ja) * 2014-06-20 2016-12-21 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
JP6243885B2 (ja) * 2015-10-16 2017-12-06 Necパーソナルコンピュータ株式会社 情報処理装置、およびプログラム
JP7134814B2 (ja) * 2018-09-28 2022-09-12 キヤノン株式会社 システム、ページデータ出力方法、及びプログラム
JP7157015B2 (ja) * 2019-07-11 2022-10-19 フリーサイン株式会社 スマートコントラクトシステム及びプログラム
JP7291272B2 (ja) * 2019-07-11 2023-06-14 フリーサイン株式会社 スマートコントラクトシステム及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3326985B2 (ja) * 1994-09-09 2002-09-24 富士通株式会社 画像情報管理装置
JPH09101991A (ja) * 1995-07-31 1997-04-15 Toshiba Corp 情報フィルタリング装置
JP2001175659A (ja) * 1999-12-14 2001-06-29 Canon Inc 文書管理システム、文書管理方法および記憶媒体
JP2003030223A (ja) * 2001-07-12 2003-01-31 Fuji Photo Film Co Ltd 画像分類方法および装置並びにプログラム
JP2003167907A (ja) * 2001-12-03 2003-06-13 Dainippon Printing Co Ltd 情報提供方法およびシステム
JP4643183B2 (ja) * 2004-06-25 2011-03-02 シャープ株式会社 翻訳装置および翻訳プログラム

Also Published As

Publication number Publication date
JP2008158590A (ja) 2008-07-10

Similar Documents

Publication Publication Date Title
US8200667B2 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
US8140584B2 (en) Adaptive data classification for data mining
EP2234024B1 (en) Context based video finder
JP4650541B2 (ja) 推薦装置および方法、プログラム、並びに記録媒体
US8410347B2 (en) Music recommendation method with respect to message service
US6912550B2 (en) File classification management system and method used in operating systems
JP4678546B2 (ja) 推薦装置および方法、プログラム、並びに記録媒体
JP4779961B2 (ja) 文書選択装置及び文書選択プログラム
US20090006368A1 (en) Automatic Video Recommendation
KR101453382B1 (ko) 사용자별 검색어 추천 시스템과 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
JP7252914B2 (ja) 検索提案を提供する方法、装置、機器及び媒体
US20100217755A1 (en) Classifying a set of content items
US20140229476A1 (en) System for Information Discovery & Organization
KR20130119246A (ko) 감성 기반 콘텐츠 추천 장치 및 방법
JP2008204444A (ja) データ処理装置、データ処理方法及び検索装置
KR101206160B1 (ko) 사용자 선호도와 컨텐츠 내용을 고려한 컨텐츠 추천 방법
JPWO2008087728A1 (ja) キーワード管理プログラム、キーワード管理システムおよびキーワード管理方法
JP2007219929A (ja) 感性評価システム及び方法
CN110910188A (zh) 课程优化与推荐的方法、装置、存储介质和终端设备
KR101110026B1 (ko) 지역 정보 검색 장치 및 방법
JP4606349B2 (ja) 話題画像抽出方法及び装置及びプログラム
JP2007249600A (ja) 目的データをカテゴリに分類する方法
JP2005293384A (ja) コンテンツレコメンドシステムと方法、及びコンテンツレコメンドプログラム
CN106934007B (zh) 关联信息的推送方法及装置
CN112612867B (zh) 新闻稿件传播分析方法、计算机可读存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110607

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110620

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees