文書群マスク装置、文書群マスク方法、プログラムおよび記録媒体
【課題】利用者が所望しない文書を排除する場合、利用者の意図に沿わない分類をすることが少ない文書群マスク装置、文書群マスク方法、プログラムおよび記録媒体を提供することを目的とする。
【解決手段】文書集合中の文書データ同士の距離を類似度等に基づいて計算し、閾値処理によって類似文書群(クラスタ)を生成し、利用者が、何らかの意図に基づいて、不可視状態とする指示を与えたクラスタに属する全文書を、一括して不可視状態にする。
【解決手段】文書集合中の文書データ同士の距離を類似度等に基づいて計算し、閾値処理によって類似文書群(クラスタ)を生成し、利用者が、何らかの意図に基づいて、不可視状態とする指示を与えたクラスタに属する全文書を、一括して不可視状態にする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、効率的な文書閲覧を支援するために、多数の文書が自動的に分類されている複数のクラスタの中から、利用者が指定した任意のクラスタに含まれている文書を非表示化し、以後増加する文書に対しても、利用者が過去に指定したクラスタ内の文書との類似度が高ければ、同様に非表示化する技術に関する。
【背景技術】
【0002】
大量の文書を閲覧する場合、所望しない文書の存在が、閲覧効率を低下させる原因になる。利用者が所望しない文書を排除する手段として、ウェブページや電子メール等の文書を、必要な文書と不必要な文書とに予め分類し、各分類に含まれている文書の特徴を学習することによって、未知の文書が必要であるか不必要であるかを、自動的に判別する方法が知られている(たとえば、特許文献1参照)。
【0003】
その他、サポートベクターマシン(Support Vector Machine:SVM)、クラスタリング等、予め与える必要/不必要の別に基づいて、未知の文書について、必要/不必要の別を判定する手法が、自然言語処理分野において多数提案されている。
【特許文献1】特開2004−048492号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記従来例では、利用者が不必要であると判断した個々の文書との類似性に基づいて、未知の文書の必要/不必要を判定するので、どの程度の類似度を持つ文書までを不必要であると判定することが難しい。
【0005】
つまり、上記従来例は、利用者が予めいくつかの文書データに、閲覧の要不要を判定し、それらの情報に基づいて、閲覧が必要な文書の特徴を数値化し、また、閲覧が不要な文書の特徴を数値化し、残りの各文書データについて、閲覧の要不要を自動判定する。
【0006】
したがって、上記従来例では、結果的に利用者の意図に沿わない分類をすることが多いという問題がある。
【0007】
本発明は、利用者が所望しない文書を排除する場合、利用者の意図に沿わない分類をすることが少ない文書群マスク装置、文書群マスク方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、文書集合中の文書データ同士の距離を類似度等に基づいて計算し、閾値処理によって類似文書群(クラスタ)を生成し、利用者が、何らかの意図に基づいて、不可視状態とする指示を与えたクラスタに属する全文書を、一括して不可視状態にする。
【発明の効果】
【0009】
本発明によれば、利用者が所望しない文書を排除する場合、利用者の意図に沿わない分類をすることが少ないという効果を奏する。
【発明を実施するための最良の形態】
【0010】
発明を実施するための最良の形態は、以下の実施例である。
【実施例1】
【0011】
実施例1では、全ての異なる文書間に距離つきのリンクが張られた文書グラフ構造ではなく、新規文書に対して、過去に入力した文書のうちで最も距離が近い文書(最近接文書)との間にのみ、距離付きのリンクを持った文書グラフ構造を生成する実施例である。
【0012】
図1は、本発明の実施例1である文書群マスク装置100を示すブロック図である。
【0013】
文書群マスク装置100は、文書記録部1と、文書グラフ構造記録部2と、文書グラフ構造更新部3と、クラスタリング部4と、非表示情報記録部5と、非表示情報更新部6と、初期クラスタ記録部7と、クラスタ加工表示部8と、制御部9とを有する。
【0014】
文書記録部1は、入力した文書を蓄積する記録部であり、文書をベクトルで表現し、異なる文書との距離を、文書間の類似性に基づいて数値化して、蓄積する。
【0015】
また、各文書に、識別可能な一意の文書IDを付与する。文書データをベクトル空間モデルで表現する場合、文書から、単語、形態素、または固定長の文字列等の文字列を多数取得し、各文字列の文書中での出現回数、各文字列を含む文書の数等の統計情報から各文字列の重みを数値化することによって、文書をベクトルとして表現する。
【0016】
文書からの文字列を取得する方法、重みを算出する方法として、既存の技術を用いればよく、またベクトル空間モデルとは異なる方法によって、類似性に基づく文書間の距離を決定するようにしてもよい。
【0017】
文書グラフ構造記録部2は、文書記録部1に記録されている所定の文書に最も近い文書である最接近文書のIDである最接近文書IDと、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段である。
【0018】
文書グラフ構造更新部3は、文書記録部1に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録部2に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段である。
【0019】
クラスタリング部4は、予め定められた閾値、または利用者が指定する閾値に応じて、文書グラフ構造記録部2に記録されている文書を、複数のクラスタに分割する。なお、上記クラスタは、類似文書群である。
【0020】
非表示情報記録部5は、非表示にすべき文書の文書IDと、文書間の距離とを記録する。
【0021】
非表示情報更新部6は、新規文書の最近接文書の文書IDが、非表示情報記録部5に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を非表示情報記録部5に新規に記録させる。また、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用する。なお、非表示情報記録部5に何も記録されていなければ、非表示情報記録部5へは追加記録しない。
【0022】
初期クラスタ記録部7は、クラスタリング部4が生成したクラスタである初期クラスタを記録する。
【0023】
クラスタ加工表示部8は、初期クラスタ記録部7に記録されている文書のうちで、非表示情報記録部5に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示する。さらに、表示結果を閲覧した利用者が、1以上のクラスタを指定した場合に、指定したクラスタのクラスタIDを、制御部9に送出する。非表示情報記録部5に何も記録されていない初期状態であれば、クラスタ加工表示部8は、初期クラスタ記録部7から取得したクラスタリングの結果を、そのまま表示する。
【0024】
制御部9は、クラスタを構成する文書間のリンクについて、文書グラフ構造記録部2を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、非表示情報記録部5に記録するように制御する。
【0025】
このときに、記録の対象となった文書IDが、非表示情報記録部5に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、制御部9が、上記文書IDに対応する距離を、上記最大値で置き換えて、非表示情報記録部5のデータを修正する。
【0026】
次に、実施例1において、文書グラフ構造更新部3の動作について説明する。
【0027】
図2は、実施例1において、文書グラフ構造更新部3の動作を示すフローチャートである。
【0028】
文書グラフ構造更新部3は、図2に示す手順で、文書グラフ構造記録部2に記録した情報を更新する。
【0029】
S1で、文書記録部1に新規に入力した文書である新規文書の文書IDとベクトルとを取得する。S2で、文書グラフ構造記録部2に1以上の文書が既に記録されているかどうかを判定する。新規文書が2番目以降に入力した文書であり、文書グラフ構造記録部2に1以上の文書が既に記録されていれば、S3に進む。上記新規文書が最初の文書であれば、文書グラフ構造記録部2に記録されている文書は、存在しないので、S5に進む。
【0030】
S3で、文書グラフ構造記録部2に既に記録されている文書の文書IDを全て取得し、各文書のベクトルを、文書記録部1から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出する。
【0031】
S4では、S3で算出した距離に基づいて、新規文書からの距離が最も小さい文書が、「最近接文書」であると判定し、上記新規文書の文書IDと、上記最近接文書の文書IDと、上記2文書間の距離とを、文書グラフ構造記録部2と非表示情報更新部6とに送出し、処理を終わる。
【0032】
一方、S5では、新規文書の文書IDのみを、文書グラフ構造記録部2に記録し、処理を終わる。
【0033】
図3は、文書グラフ構造記録部2に記録されているデータの例を示す図である。
【0034】
文書記録部1に、文書d1、d2、d3、d4、d5、d6、…の順に、文書を入力したとする。文書d1は、最初の文書であるので、最近接文書の欄は記載されていない。文書d2を入力した時点では、文書は、d1しか存在しないので、必然的に、最近接文書は、文書d1である。以後、上記と同様に、新規文書の文書IDが、最近接文書の文書IDと距離とともに蓄積される。
【0035】
図4は、実施例1において、文書グラフ構造記録部2に記録されているデータを図式化した例(文書グラフ構造の例)を示す図である。
【0036】
図4において、○印は、文書を示す。○印の内部に記載されているd1、d2等は、それぞれ文書IDである。文書d2から文書d1に向かう矢印は、文書d2の最近接文書が、文書d1であることを示し、上記矢印の横に添えられている数値は、文書d1と文書d2との距離を示す。
【0037】
クラスタリング部4に、たとえば閾値0.5が与えられると、図4において、距離が0.5以下である文書同士が接続される。
【0038】
図5は、実施例1において、閾値を0.5として生成したクラスタの例を示す図である。
【0039】
この結果、距離が0.1である文書d4と文書d3とが接続され、距離が0.5である文書d3と文書d1とが接続され、距離が0.3である文書d6と文書d2とが接続される。そして、図5に示すように、文書d1とd3とd4とからなるクラスタC1と、文書d2とd6とからなるクラスタC2と、文書d5のみからなるクラスタC3との合計3クラスタが生成される。クラスタリング部4は、生成したクラスタを識別するために、このように、クラスタC1〜C3という一意なクラスタIDを付与する。
【0040】
図6は、実施例1において、初期クラスタ記録部7に記録されているデータの例を示す図である。
【0041】
各クラスタのクラスタIDと、各クラスタに含まれている文書の文書IDとの一覧を、図6に示すように初期クラスタ記録部7に記録する。
【0042】
非表示情報記録部5に何も記録されていない状態では、クラスタ加工表示部8は、初期クラスタ記録部7から取得したクラスタリングの結果を、そのまま表示する。
【0043】
図7は、実施例1において、クラスタ加工表示部8の画面に表示されている例を示す図である。
【0044】
画面上には、クラスタIDと各クラスタに属する文書IDとを表示するが、クラスタに属する文書の概要を把握し易くするために、図7に示すように、各文書の本文の一部を文書記録部1か、図示しない記録部等から取得し、文書IDと並べて表示するようにしてもよい。その他、文書のタイトル、作成時刻、作者等、付随する情報を取得可能であれば、別途これらを取得し、表示するようにしてもよい。
【0045】
図7に示すように表示されている画面を閲覧した利用者が、1以上のクラスタを指定すると、クラスタ加工表示部8は、指定されたクラスタのクラスタIDを、制御部9に送出する。
【0046】
次に、制御部9の動作について説明する。
【0047】
図8は、実施例1において、制御部9の動作を示すフローチャートである。
【0048】
図7を閲覧した利用者が、「○○会議」を扱った文書からなるクラスタC1について、表示することが不必要であると判断し、クラスタC1を指定したとする。
【0049】
制御部9は、S11で、指定されたクラスタC1に含まれている文書ID一覧「d1」「d3」「d4」を、初期クラスタ記録部7から取得する。
【0050】
S12で、クラスタ内の文書数が2以上であるかどうかを判断する。クラスタ内の文書数が2以上であれば、S13で、既に取得した文書の文書IDに基づいて文書グラフ構造記録部2を参照し、クラスタを構成する各文書間の距離の最大値を取得する。
【0051】
クラスタC1の場合、図5によれば、d3からd1への距離が0.5、d4からd3への距離が0.1であるので、距離の最大値は0.5である。ただし、1文書からなるクラスタを指定した場合、クラスタを構成する文書間の距離を定義することができないので、S14で、クラスタリング部4に与えられた閾値(本例では0.5)を、文書間距離の最大値であるとみなし、次ステップに進む。
【0052】
S17では、S11で取得した文書IDのそれぞれを、S13で取得した距離の最大値と対応付け、非表示情報記録部5に記録し、処理を終わる。
【0053】
ただし、このステップにおいて、記録しようとする文書が、非表示情報記録部5に既に存在すれば(S15)、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わない。つまり、一旦非表示情報記録部5に記録した文書の距離は、より小さな値で置き換えられることはない。
【0054】
同時に複数のクラスタを複数指定した場合、それぞれのクラスタに対して、S11〜S17の処理を実行する。
【0055】
図9は、実施例1において、非表示情報記録部5に記録されているデータの例を示す図である。
【0056】
利用者が指定したクラスタC1に含まれている文書d1、d3、d4について、それぞれ距離0.5が記録されている。
【0057】
クラスタ加工表示部8が行う処理について、非表示情報記録部5内に何も記録されない初期状態における動作のみを説明した。
【0058】
次に、図9に示すような情報が記録されている状態における動作について説明する。
【0059】
クラスタ加工表示部8は、初期クラスタ記録部7に記録されているクラスタに含まれている文書のうちで、非表示情報記録部5に記録されている文書を除いて表示する。
【0060】
図10は、実施例1において、閾値を0.6で生成したクラスタの例を示す図である。
【0061】
図11は、実施例1において、クラスタ加工表示部8の画面において一部の文書が削除された表示例を示す図である。
【0062】
たとえば、クラスタリング部4が、前例とは異なる閾値0.6に基づいて処理した場合、図10に示すように、文書d1、d2、d3、d4、d6からなるクラスタC11と、文書d5のみからなるクラスタC12とが生成され、非表示情報記録部5に記録されている文書d1、d3、d4の3文書を除き、クラスタC11は、文書d2とd6とからなるクラスタへ加工された結果、図11に示すように表示される。
【0063】
クラスタ内の全ての文書が非表示情報記録部5に記録されている場合、そのクラスタを表示しない。
【0064】
最後に、非表示情報更新部6が行う動作について説明する。
【0065】
図12は、実施例1において、新規文書が入力される度に、非表示情報更新部6が行う動作を示すフローチャートである。
【0066】
文書グラフ構造更新部3から、新規文書の文書IDと、最近接文書の文書IDと、上記2文書間の距離とを受け取ると、S21で、上記最近接文書の文書IDが、非表示情報記録部5に存在するかどうかを問い合わせる。
【0067】
上記最近接文書の文書IDが、非表示情報記録部5に存在しなければ(S21のNO)、処理を終え、次の新規文書の入力を待つ。上記最近接文書の文書IDが、非表示情報記録部5に存在すれば(S21のYES)、S22で、文書グラフ構造更新部3から受け取った上記2文書間の距離と、非表示情報記録部5において最近接文書とともに記録された距離とを比較する。
【0068】
文書グラフ構造更新部3から受け取った上記2文書間の距離が、非表示情報記録部5において最近接文書とともに記録された距離以下であれば(S22のYES)、S23に進む。文書グラフ構造更新部3から受け取った上記2文書間の距離が、非表示情報記録部5において最近接文書とともに記録された距離よりも大きければ(S22のNO)、ここで処理を終え、次の新規文書の入力を待つ。
【0069】
S23で、新規文書を非表示情報記録部5に記録する。記録する内容は、文書IDと距離とであり、このうちで、距離は、最近接文書とともに記録されている距離と同じ値を複写する。
【0070】
以下、実施例1において、非表示情報記録部5に記録されているものがある場合、非表示情報更新部6の処理の具体例について説明する。
【0071】
非表示情報記録部5には、図9に示すデータが記録されているとする。新規文書の文書IDが文書d10であり、文書d10の最近接文書の文書IDが文書d1であり、文書d10とd1との距離が0.3であるとする。この場合、非表示情報記録部5には、最近接部文書d1が存在し、文書d10とd1との距離0.3が、文書d1とともに記録されている距離0.5以下であるので、S23を実行する。この結果、非表示情報記録部5には、文書IDがd10であり、距離が0.5である行が追加記録される。
【0072】
非表示情報記録部5に最近接文書d1が存在しないか、または存在しても、文書d1とともに記録された距離0.5よりも、文書d10とd1との距離が大きい場合、非表示情報記録部5へは追加記録しない。このように、非表示情報記録部5へ追加記録しないのは、着目している文書d10と、非表示情報記録部5に記録されている最近接文書d1(非表示文書)との類似性が低いと判断されるからである。
【0073】
非表示情報更新部6が行う上記処理は、文書を入力するタイミングによらず、非表示情報記録部5に記録した内容を維持するための処理である。従来、利用者がクラスタを指定した時点で、上記クラスタに含まれている文書のみを非表示情報記録部に記録し、その後にクラスタを指定すると、指定したクラスタが消える(表示されなくなる)。次回以降のクラスタリング時も、非表示情報記録部5に記録されている文書は、表示されない。つまり、利用者が指定することによって記録された情報が保持されている。また、新規文書が追加されると、必要に応じて、新規文書も非表示情報記録部5に追加される。
【0074】
ここで、文書群マスク装置100に非表示情報更新部6が設けられていない場合について考える。この場合、利用者が「不要である」と思ったクラスタを指定すると、上記指定されたクラスタ内の文書が、非表示情報記録部5に記録されるので、以後は表示されない。利用者が「不要である」と思った文書の類似文書が、新規文書として追加されると、上記類似文社が表示される。上記類似文書も「不要である」と思えば、利用者は、不要なクラスタを再び指定せざるを得ず、不便であるという問題が生じる。
【0075】
そこで、利用者が「不要である」と感じた文書との類似度が高い(距離が近い)文書についても、非表示情報として自動的に取り込むことによって、上記不便であるという問題を解決することができる。
【0076】
しかし、実施例1によれば、実際には、利用者がクラスタを指定した後に入力された文書であっても、この文書が、上記指定したクラスタ内の文書との類似性が高い文書であれば(仮にクラスタ指定前に入力されていたとしたら、同じクラスタに属している文書であれば)、事後であっても、非表示情報記録部5に記録される。すなわち、上記実施例は、クラスタリングのための閾値が変更され、クラスタ分類結果が変更された場合でも、変更前に既に不可視状態に置かれていた各文書データは、非表示情報記録部5に残っているので、その不可視状態が継承さる。
【0077】
また、文書集合に、新たな文書データが追加された場合、既に不可視状態に置かれたクラスタに、上記追加された新たな文書データが属していれば、不可視状態に置かれる。
【0078】
これらの処理によって、利用者が指示したクラスタの不可視化に関する情報を、クラスタ分類結果の変更時や、新規文書データの追加時に、適切に継承させることができ、利用者の意図が適切に反映されたクラスタ表示ができる。
【0079】
つまり、上記実施例によれば、文書単位ではなく、クラスタ単位で不必要な文書を指定するので、文書の必要/不必要のみではなく、互いに類似性の高い文書で構成されるクラスタであるかどうか、すなわち不必要であるとして指定した文書群の、概念的な分布の広さも、同時に学習することができる。このために、新規に追加された未知の文書に対する判定基準が明確であり、利用者の意図を正確に反映した判定を行うことができる。
【0080】
上記実施例において、文書IDの代わりに、文書のタイトル、文書自体を使用するようにしてもよい。ここで、文書ID、文書のタイトル、文書自体を包含した概念が文書識別子である。また、上記最接近文書ID(最近接文書の文書ID)の代わりに、最接近文書のタイトル、最接近文書自体を使用するようにしてもよい。ここで、最接近文書ID(最近接文書の文書ID)、最接近文書のタイトル、最接近文書自体を包含した概念が最接近文書識別子である。
【0081】
つまり、上記実施例は、文書記録部に記録されている所定の文書に最も近い文書である最接近文書の識別子である最接近文書識別子と、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段と、予め定められた閾値、または利用者が指定する閾値に応じて、上記文書グラフ構造記録手段に記録されている文書を、複数のクラスタに分割するクラスタリング部と、非表示にすべき文書の識別子である文書識別子と、文書間の距離とを記録する非表示情報記録手段と、クラスタリング部4が生成したクラスタである初期クラスタを記録する初期クラスタ記録手段とを有する文書群マスク装置である。
【0082】
この場合、上記文書記録部に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録手段に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段を有する。
【0083】
また、上記文書記録部に新たに入力された文書である新規文書の最近接文書の最接近文書識別子が、上記非表示情報記録手段に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を上記非表示情報記録手段に新規に記録させる非表示情報更新手段を有する。
【0084】
さらに、上記文書グラフ構造更新手段において、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用する。
【0085】
しかも、上記初期クラスタ記録手段に記録されている文書のうちで、上記非表示情報記録手段に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示するクラスタ加工表示手段を有する。
【0086】
そして、クラスタを構成する文書間のリンクについて、上記文書グラフ構造記録手段を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、上記非表示情報記録手段に記録するように制御する制御手段を有する。
【0087】
加えて、記録の対象となった文書の文書識別子が、上記非表示情報記録手段に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、上記制御手段が、上記文書IDに対応する距離を、上記最大値で置き換えて、上記非表示情報記録手段のデータを修正する。
【0088】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、文書記録部に新規に入力した文書である新規文書の識別子である文書識別子とベクトルとを取得する段階と、文書グラフ構造記録部に文書が既に記録されているかどうかを判定し、記憶装置に記憶する段階と、新規文書が2番目以降に入力した文書であり、上記文書グラフ構造記録部に文書が既に記録されていれば、上記文書グラフ構造記録部に既に記録されている文書の文書識別子を全て取得し、各文書のベクトルを、上記文書記録部から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出し、記憶装置に記憶する段階と、上記算出した距離のうちで、新規文書からの距離が最も小さい文書が、最近接文書であると判定し、上記新規文書の文書識別子と、上記最近接文書の最接近文書識別子と、上記2文書間の距離とを、上記文書グラフ構造記録部と非表示情報更新部とに送出する段階とを有する文書群マスク方法である。
【0089】
さらに、上記実施例は、指定されたクラスタに含まれている文書の識別子である文書識別子一覧を、初期クラスタ記録部から取得する段階と、クラスタ内の文書数が2以上であるかどうかを判断し、記憶装置に記憶する段階と、クラスタ内の文書数が2以上であれば、既に取得した文書の文書識別子に基づいて文書グラフ構造記録部を参照し、クラスタを構成する各文書間の距離の最大値を取得し、記憶装置に記憶する段階と、上記取得した文書識別子のそれぞれを、上記取得した距離の最大値と対応付け、非表示情報記録手段に記録する段階とを有する文書群マスク方法である。
【0090】
この場合、記録しようとする文書が、上記非表示情報記録手段に既に存在すれば、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わない。
【0091】
しかも、上記実施例は、文書グラフ構造更新部から、新規文書の識別子である文書識別子と、最近接文書の識別子である最接近文書識別子と、上記2文書間の距離とを受け取ると、上記最近接文書識別子が、非表示情報記録部に存在するかどうかを問い合わせる段階と、上記最近接文書識別子が、上記非表示情報記録に存在すれば、上記文書グラフ構造更新部から受け取った上記2文書間の距離と、上記非表示情報記録部において最近接文書とともに記録されている距離とを比較し、記憶装置に記憶する段階と、上記文書グラフ構造更新部から受け取った上記2文書間の距離が、上記非表示情報記録部において最近接文書とともに記録された距離以下であれば、上記新規文書を上記非表示情報記録部に記録する段階とを有する文書群マスク方法である。
【0092】
この場合、上記記録する内容は、文書識別子と距離とであり、この距離として、上記最近接文書とともに記録されている距離と同じ値を複写する。
【0093】
また、上記実施例を、プログラムの発明として把握することができる。つまり、上記実施例は、請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムの例である。
【0094】
さらに、上記実施例を記録媒体として把握することができる。つまり、上記実施例は、請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読取可能な記録媒体の例である。この記録媒体の例は、CD、DVD、HD、光磁気ディスク、半導体メモリ等である。
【図面の簡単な説明】
【0095】
【図1】本発明の実施例1である文書群マスク装置100を示すブロック図である。
【図2】実施例1において、文書グラフ構造更新部3の動作を示すフローチャートである。
【図3】文書グラフ構造記録部2に記録されているデータの例を示す図である。
【図4】実施例1において、文書グラフ構造記録部2に記録されているデータを図式化した例(文書グラフ構造の例)を示す図である。
【図5】実施例1において、閾値を0.5として生成したクラスタの例を示す図である。
【図6】実施例1において、初期クラスタ記録部7に記録されているデータの例を示す図である。
【図7】実施例1において、クラスタ加工表示部8の画面に表示されている例を示す図である。
【図8】実施例1において、制御部9の動作を示すフローチャートである。
【図9】実施例1において、非表示情報記録部5に記録されているデータの例を示す図である。
【図10】実施例1において、閾値を0.6で生成したクラスタの例を示す図である。
【図11】実施例1において、クラスタ加工表示部8の画面において一部の文書が削除された表示例を示す図である。
【図12】実施例1において、新規文書が入力される度に、非表示情報更新部6が行う動作を示すフローチャートである。
【符号の説明】
【0096】
100…文書群マスク装置、
1…文書記録部、
2…文書グラフ構造記録部、
3…文書グラフ構造更新部、
4…クラスタリング部、
5…非表示情報記録部、
6…非表示情報更新部、
7…初期クラスタ記録部、
8…クラスタ加工表示部、
9…制御部。
【技術分野】
【0001】
本発明は、効率的な文書閲覧を支援するために、多数の文書が自動的に分類されている複数のクラスタの中から、利用者が指定した任意のクラスタに含まれている文書を非表示化し、以後増加する文書に対しても、利用者が過去に指定したクラスタ内の文書との類似度が高ければ、同様に非表示化する技術に関する。
【背景技術】
【0002】
大量の文書を閲覧する場合、所望しない文書の存在が、閲覧効率を低下させる原因になる。利用者が所望しない文書を排除する手段として、ウェブページや電子メール等の文書を、必要な文書と不必要な文書とに予め分類し、各分類に含まれている文書の特徴を学習することによって、未知の文書が必要であるか不必要であるかを、自動的に判別する方法が知られている(たとえば、特許文献1参照)。
【0003】
その他、サポートベクターマシン(Support Vector Machine:SVM)、クラスタリング等、予め与える必要/不必要の別に基づいて、未知の文書について、必要/不必要の別を判定する手法が、自然言語処理分野において多数提案されている。
【特許文献1】特開2004−048492号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記従来例では、利用者が不必要であると判断した個々の文書との類似性に基づいて、未知の文書の必要/不必要を判定するので、どの程度の類似度を持つ文書までを不必要であると判定することが難しい。
【0005】
つまり、上記従来例は、利用者が予めいくつかの文書データに、閲覧の要不要を判定し、それらの情報に基づいて、閲覧が必要な文書の特徴を数値化し、また、閲覧が不要な文書の特徴を数値化し、残りの各文書データについて、閲覧の要不要を自動判定する。
【0006】
したがって、上記従来例では、結果的に利用者の意図に沿わない分類をすることが多いという問題がある。
【0007】
本発明は、利用者が所望しない文書を排除する場合、利用者の意図に沿わない分類をすることが少ない文書群マスク装置、文書群マスク方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、文書集合中の文書データ同士の距離を類似度等に基づいて計算し、閾値処理によって類似文書群(クラスタ)を生成し、利用者が、何らかの意図に基づいて、不可視状態とする指示を与えたクラスタに属する全文書を、一括して不可視状態にする。
【発明の効果】
【0009】
本発明によれば、利用者が所望しない文書を排除する場合、利用者の意図に沿わない分類をすることが少ないという効果を奏する。
【発明を実施するための最良の形態】
【0010】
発明を実施するための最良の形態は、以下の実施例である。
【実施例1】
【0011】
実施例1では、全ての異なる文書間に距離つきのリンクが張られた文書グラフ構造ではなく、新規文書に対して、過去に入力した文書のうちで最も距離が近い文書(最近接文書)との間にのみ、距離付きのリンクを持った文書グラフ構造を生成する実施例である。
【0012】
図1は、本発明の実施例1である文書群マスク装置100を示すブロック図である。
【0013】
文書群マスク装置100は、文書記録部1と、文書グラフ構造記録部2と、文書グラフ構造更新部3と、クラスタリング部4と、非表示情報記録部5と、非表示情報更新部6と、初期クラスタ記録部7と、クラスタ加工表示部8と、制御部9とを有する。
【0014】
文書記録部1は、入力した文書を蓄積する記録部であり、文書をベクトルで表現し、異なる文書との距離を、文書間の類似性に基づいて数値化して、蓄積する。
【0015】
また、各文書に、識別可能な一意の文書IDを付与する。文書データをベクトル空間モデルで表現する場合、文書から、単語、形態素、または固定長の文字列等の文字列を多数取得し、各文字列の文書中での出現回数、各文字列を含む文書の数等の統計情報から各文字列の重みを数値化することによって、文書をベクトルとして表現する。
【0016】
文書からの文字列を取得する方法、重みを算出する方法として、既存の技術を用いればよく、またベクトル空間モデルとは異なる方法によって、類似性に基づく文書間の距離を決定するようにしてもよい。
【0017】
文書グラフ構造記録部2は、文書記録部1に記録されている所定の文書に最も近い文書である最接近文書のIDである最接近文書IDと、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段である。
【0018】
文書グラフ構造更新部3は、文書記録部1に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録部2に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段である。
【0019】
クラスタリング部4は、予め定められた閾値、または利用者が指定する閾値に応じて、文書グラフ構造記録部2に記録されている文書を、複数のクラスタに分割する。なお、上記クラスタは、類似文書群である。
【0020】
非表示情報記録部5は、非表示にすべき文書の文書IDと、文書間の距離とを記録する。
【0021】
非表示情報更新部6は、新規文書の最近接文書の文書IDが、非表示情報記録部5に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を非表示情報記録部5に新規に記録させる。また、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用する。なお、非表示情報記録部5に何も記録されていなければ、非表示情報記録部5へは追加記録しない。
【0022】
初期クラスタ記録部7は、クラスタリング部4が生成したクラスタである初期クラスタを記録する。
【0023】
クラスタ加工表示部8は、初期クラスタ記録部7に記録されている文書のうちで、非表示情報記録部5に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示する。さらに、表示結果を閲覧した利用者が、1以上のクラスタを指定した場合に、指定したクラスタのクラスタIDを、制御部9に送出する。非表示情報記録部5に何も記録されていない初期状態であれば、クラスタ加工表示部8は、初期クラスタ記録部7から取得したクラスタリングの結果を、そのまま表示する。
【0024】
制御部9は、クラスタを構成する文書間のリンクについて、文書グラフ構造記録部2を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、非表示情報記録部5に記録するように制御する。
【0025】
このときに、記録の対象となった文書IDが、非表示情報記録部5に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、制御部9が、上記文書IDに対応する距離を、上記最大値で置き換えて、非表示情報記録部5のデータを修正する。
【0026】
次に、実施例1において、文書グラフ構造更新部3の動作について説明する。
【0027】
図2は、実施例1において、文書グラフ構造更新部3の動作を示すフローチャートである。
【0028】
文書グラフ構造更新部3は、図2に示す手順で、文書グラフ構造記録部2に記録した情報を更新する。
【0029】
S1で、文書記録部1に新規に入力した文書である新規文書の文書IDとベクトルとを取得する。S2で、文書グラフ構造記録部2に1以上の文書が既に記録されているかどうかを判定する。新規文書が2番目以降に入力した文書であり、文書グラフ構造記録部2に1以上の文書が既に記録されていれば、S3に進む。上記新規文書が最初の文書であれば、文書グラフ構造記録部2に記録されている文書は、存在しないので、S5に進む。
【0030】
S3で、文書グラフ構造記録部2に既に記録されている文書の文書IDを全て取得し、各文書のベクトルを、文書記録部1から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出する。
【0031】
S4では、S3で算出した距離に基づいて、新規文書からの距離が最も小さい文書が、「最近接文書」であると判定し、上記新規文書の文書IDと、上記最近接文書の文書IDと、上記2文書間の距離とを、文書グラフ構造記録部2と非表示情報更新部6とに送出し、処理を終わる。
【0032】
一方、S5では、新規文書の文書IDのみを、文書グラフ構造記録部2に記録し、処理を終わる。
【0033】
図3は、文書グラフ構造記録部2に記録されているデータの例を示す図である。
【0034】
文書記録部1に、文書d1、d2、d3、d4、d5、d6、…の順に、文書を入力したとする。文書d1は、最初の文書であるので、最近接文書の欄は記載されていない。文書d2を入力した時点では、文書は、d1しか存在しないので、必然的に、最近接文書は、文書d1である。以後、上記と同様に、新規文書の文書IDが、最近接文書の文書IDと距離とともに蓄積される。
【0035】
図4は、実施例1において、文書グラフ構造記録部2に記録されているデータを図式化した例(文書グラフ構造の例)を示す図である。
【0036】
図4において、○印は、文書を示す。○印の内部に記載されているd1、d2等は、それぞれ文書IDである。文書d2から文書d1に向かう矢印は、文書d2の最近接文書が、文書d1であることを示し、上記矢印の横に添えられている数値は、文書d1と文書d2との距離を示す。
【0037】
クラスタリング部4に、たとえば閾値0.5が与えられると、図4において、距離が0.5以下である文書同士が接続される。
【0038】
図5は、実施例1において、閾値を0.5として生成したクラスタの例を示す図である。
【0039】
この結果、距離が0.1である文書d4と文書d3とが接続され、距離が0.5である文書d3と文書d1とが接続され、距離が0.3である文書d6と文書d2とが接続される。そして、図5に示すように、文書d1とd3とd4とからなるクラスタC1と、文書d2とd6とからなるクラスタC2と、文書d5のみからなるクラスタC3との合計3クラスタが生成される。クラスタリング部4は、生成したクラスタを識別するために、このように、クラスタC1〜C3という一意なクラスタIDを付与する。
【0040】
図6は、実施例1において、初期クラスタ記録部7に記録されているデータの例を示す図である。
【0041】
各クラスタのクラスタIDと、各クラスタに含まれている文書の文書IDとの一覧を、図6に示すように初期クラスタ記録部7に記録する。
【0042】
非表示情報記録部5に何も記録されていない状態では、クラスタ加工表示部8は、初期クラスタ記録部7から取得したクラスタリングの結果を、そのまま表示する。
【0043】
図7は、実施例1において、クラスタ加工表示部8の画面に表示されている例を示す図である。
【0044】
画面上には、クラスタIDと各クラスタに属する文書IDとを表示するが、クラスタに属する文書の概要を把握し易くするために、図7に示すように、各文書の本文の一部を文書記録部1か、図示しない記録部等から取得し、文書IDと並べて表示するようにしてもよい。その他、文書のタイトル、作成時刻、作者等、付随する情報を取得可能であれば、別途これらを取得し、表示するようにしてもよい。
【0045】
図7に示すように表示されている画面を閲覧した利用者が、1以上のクラスタを指定すると、クラスタ加工表示部8は、指定されたクラスタのクラスタIDを、制御部9に送出する。
【0046】
次に、制御部9の動作について説明する。
【0047】
図8は、実施例1において、制御部9の動作を示すフローチャートである。
【0048】
図7を閲覧した利用者が、「○○会議」を扱った文書からなるクラスタC1について、表示することが不必要であると判断し、クラスタC1を指定したとする。
【0049】
制御部9は、S11で、指定されたクラスタC1に含まれている文書ID一覧「d1」「d3」「d4」を、初期クラスタ記録部7から取得する。
【0050】
S12で、クラスタ内の文書数が2以上であるかどうかを判断する。クラスタ内の文書数が2以上であれば、S13で、既に取得した文書の文書IDに基づいて文書グラフ構造記録部2を参照し、クラスタを構成する各文書間の距離の最大値を取得する。
【0051】
クラスタC1の場合、図5によれば、d3からd1への距離が0.5、d4からd3への距離が0.1であるので、距離の最大値は0.5である。ただし、1文書からなるクラスタを指定した場合、クラスタを構成する文書間の距離を定義することができないので、S14で、クラスタリング部4に与えられた閾値(本例では0.5)を、文書間距離の最大値であるとみなし、次ステップに進む。
【0052】
S17では、S11で取得した文書IDのそれぞれを、S13で取得した距離の最大値と対応付け、非表示情報記録部5に記録し、処理を終わる。
【0053】
ただし、このステップにおいて、記録しようとする文書が、非表示情報記録部5に既に存在すれば(S15)、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わない。つまり、一旦非表示情報記録部5に記録した文書の距離は、より小さな値で置き換えられることはない。
【0054】
同時に複数のクラスタを複数指定した場合、それぞれのクラスタに対して、S11〜S17の処理を実行する。
【0055】
図9は、実施例1において、非表示情報記録部5に記録されているデータの例を示す図である。
【0056】
利用者が指定したクラスタC1に含まれている文書d1、d3、d4について、それぞれ距離0.5が記録されている。
【0057】
クラスタ加工表示部8が行う処理について、非表示情報記録部5内に何も記録されない初期状態における動作のみを説明した。
【0058】
次に、図9に示すような情報が記録されている状態における動作について説明する。
【0059】
クラスタ加工表示部8は、初期クラスタ記録部7に記録されているクラスタに含まれている文書のうちで、非表示情報記録部5に記録されている文書を除いて表示する。
【0060】
図10は、実施例1において、閾値を0.6で生成したクラスタの例を示す図である。
【0061】
図11は、実施例1において、クラスタ加工表示部8の画面において一部の文書が削除された表示例を示す図である。
【0062】
たとえば、クラスタリング部4が、前例とは異なる閾値0.6に基づいて処理した場合、図10に示すように、文書d1、d2、d3、d4、d6からなるクラスタC11と、文書d5のみからなるクラスタC12とが生成され、非表示情報記録部5に記録されている文書d1、d3、d4の3文書を除き、クラスタC11は、文書d2とd6とからなるクラスタへ加工された結果、図11に示すように表示される。
【0063】
クラスタ内の全ての文書が非表示情報記録部5に記録されている場合、そのクラスタを表示しない。
【0064】
最後に、非表示情報更新部6が行う動作について説明する。
【0065】
図12は、実施例1において、新規文書が入力される度に、非表示情報更新部6が行う動作を示すフローチャートである。
【0066】
文書グラフ構造更新部3から、新規文書の文書IDと、最近接文書の文書IDと、上記2文書間の距離とを受け取ると、S21で、上記最近接文書の文書IDが、非表示情報記録部5に存在するかどうかを問い合わせる。
【0067】
上記最近接文書の文書IDが、非表示情報記録部5に存在しなければ(S21のNO)、処理を終え、次の新規文書の入力を待つ。上記最近接文書の文書IDが、非表示情報記録部5に存在すれば(S21のYES)、S22で、文書グラフ構造更新部3から受け取った上記2文書間の距離と、非表示情報記録部5において最近接文書とともに記録された距離とを比較する。
【0068】
文書グラフ構造更新部3から受け取った上記2文書間の距離が、非表示情報記録部5において最近接文書とともに記録された距離以下であれば(S22のYES)、S23に進む。文書グラフ構造更新部3から受け取った上記2文書間の距離が、非表示情報記録部5において最近接文書とともに記録された距離よりも大きければ(S22のNO)、ここで処理を終え、次の新規文書の入力を待つ。
【0069】
S23で、新規文書を非表示情報記録部5に記録する。記録する内容は、文書IDと距離とであり、このうちで、距離は、最近接文書とともに記録されている距離と同じ値を複写する。
【0070】
以下、実施例1において、非表示情報記録部5に記録されているものがある場合、非表示情報更新部6の処理の具体例について説明する。
【0071】
非表示情報記録部5には、図9に示すデータが記録されているとする。新規文書の文書IDが文書d10であり、文書d10の最近接文書の文書IDが文書d1であり、文書d10とd1との距離が0.3であるとする。この場合、非表示情報記録部5には、最近接部文書d1が存在し、文書d10とd1との距離0.3が、文書d1とともに記録されている距離0.5以下であるので、S23を実行する。この結果、非表示情報記録部5には、文書IDがd10であり、距離が0.5である行が追加記録される。
【0072】
非表示情報記録部5に最近接文書d1が存在しないか、または存在しても、文書d1とともに記録された距離0.5よりも、文書d10とd1との距離が大きい場合、非表示情報記録部5へは追加記録しない。このように、非表示情報記録部5へ追加記録しないのは、着目している文書d10と、非表示情報記録部5に記録されている最近接文書d1(非表示文書)との類似性が低いと判断されるからである。
【0073】
非表示情報更新部6が行う上記処理は、文書を入力するタイミングによらず、非表示情報記録部5に記録した内容を維持するための処理である。従来、利用者がクラスタを指定した時点で、上記クラスタに含まれている文書のみを非表示情報記録部に記録し、その後にクラスタを指定すると、指定したクラスタが消える(表示されなくなる)。次回以降のクラスタリング時も、非表示情報記録部5に記録されている文書は、表示されない。つまり、利用者が指定することによって記録された情報が保持されている。また、新規文書が追加されると、必要に応じて、新規文書も非表示情報記録部5に追加される。
【0074】
ここで、文書群マスク装置100に非表示情報更新部6が設けられていない場合について考える。この場合、利用者が「不要である」と思ったクラスタを指定すると、上記指定されたクラスタ内の文書が、非表示情報記録部5に記録されるので、以後は表示されない。利用者が「不要である」と思った文書の類似文書が、新規文書として追加されると、上記類似文社が表示される。上記類似文書も「不要である」と思えば、利用者は、不要なクラスタを再び指定せざるを得ず、不便であるという問題が生じる。
【0075】
そこで、利用者が「不要である」と感じた文書との類似度が高い(距離が近い)文書についても、非表示情報として自動的に取り込むことによって、上記不便であるという問題を解決することができる。
【0076】
しかし、実施例1によれば、実際には、利用者がクラスタを指定した後に入力された文書であっても、この文書が、上記指定したクラスタ内の文書との類似性が高い文書であれば(仮にクラスタ指定前に入力されていたとしたら、同じクラスタに属している文書であれば)、事後であっても、非表示情報記録部5に記録される。すなわち、上記実施例は、クラスタリングのための閾値が変更され、クラスタ分類結果が変更された場合でも、変更前に既に不可視状態に置かれていた各文書データは、非表示情報記録部5に残っているので、その不可視状態が継承さる。
【0077】
また、文書集合に、新たな文書データが追加された場合、既に不可視状態に置かれたクラスタに、上記追加された新たな文書データが属していれば、不可視状態に置かれる。
【0078】
これらの処理によって、利用者が指示したクラスタの不可視化に関する情報を、クラスタ分類結果の変更時や、新規文書データの追加時に、適切に継承させることができ、利用者の意図が適切に反映されたクラスタ表示ができる。
【0079】
つまり、上記実施例によれば、文書単位ではなく、クラスタ単位で不必要な文書を指定するので、文書の必要/不必要のみではなく、互いに類似性の高い文書で構成されるクラスタであるかどうか、すなわち不必要であるとして指定した文書群の、概念的な分布の広さも、同時に学習することができる。このために、新規に追加された未知の文書に対する判定基準が明確であり、利用者の意図を正確に反映した判定を行うことができる。
【0080】
上記実施例において、文書IDの代わりに、文書のタイトル、文書自体を使用するようにしてもよい。ここで、文書ID、文書のタイトル、文書自体を包含した概念が文書識別子である。また、上記最接近文書ID(最近接文書の文書ID)の代わりに、最接近文書のタイトル、最接近文書自体を使用するようにしてもよい。ここで、最接近文書ID(最近接文書の文書ID)、最接近文書のタイトル、最接近文書自体を包含した概念が最接近文書識別子である。
【0081】
つまり、上記実施例は、文書記録部に記録されている所定の文書に最も近い文書である最接近文書の識別子である最接近文書識別子と、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段と、予め定められた閾値、または利用者が指定する閾値に応じて、上記文書グラフ構造記録手段に記録されている文書を、複数のクラスタに分割するクラスタリング部と、非表示にすべき文書の識別子である文書識別子と、文書間の距離とを記録する非表示情報記録手段と、クラスタリング部4が生成したクラスタである初期クラスタを記録する初期クラスタ記録手段とを有する文書群マスク装置である。
【0082】
この場合、上記文書記録部に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録手段に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段を有する。
【0083】
また、上記文書記録部に新たに入力された文書である新規文書の最近接文書の最接近文書識別子が、上記非表示情報記録手段に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を上記非表示情報記録手段に新規に記録させる非表示情報更新手段を有する。
【0084】
さらに、上記文書グラフ構造更新手段において、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用する。
【0085】
しかも、上記初期クラスタ記録手段に記録されている文書のうちで、上記非表示情報記録手段に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示するクラスタ加工表示手段を有する。
【0086】
そして、クラスタを構成する文書間のリンクについて、上記文書グラフ構造記録手段を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、上記非表示情報記録手段に記録するように制御する制御手段を有する。
【0087】
加えて、記録の対象となった文書の文書識別子が、上記非表示情報記録手段に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、上記制御手段が、上記文書IDに対応する距離を、上記最大値で置き換えて、上記非表示情報記録手段のデータを修正する。
【0088】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、文書記録部に新規に入力した文書である新規文書の識別子である文書識別子とベクトルとを取得する段階と、文書グラフ構造記録部に文書が既に記録されているかどうかを判定し、記憶装置に記憶する段階と、新規文書が2番目以降に入力した文書であり、上記文書グラフ構造記録部に文書が既に記録されていれば、上記文書グラフ構造記録部に既に記録されている文書の文書識別子を全て取得し、各文書のベクトルを、上記文書記録部から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出し、記憶装置に記憶する段階と、上記算出した距離のうちで、新規文書からの距離が最も小さい文書が、最近接文書であると判定し、上記新規文書の文書識別子と、上記最近接文書の最接近文書識別子と、上記2文書間の距離とを、上記文書グラフ構造記録部と非表示情報更新部とに送出する段階とを有する文書群マスク方法である。
【0089】
さらに、上記実施例は、指定されたクラスタに含まれている文書の識別子である文書識別子一覧を、初期クラスタ記録部から取得する段階と、クラスタ内の文書数が2以上であるかどうかを判断し、記憶装置に記憶する段階と、クラスタ内の文書数が2以上であれば、既に取得した文書の文書識別子に基づいて文書グラフ構造記録部を参照し、クラスタを構成する各文書間の距離の最大値を取得し、記憶装置に記憶する段階と、上記取得した文書識別子のそれぞれを、上記取得した距離の最大値と対応付け、非表示情報記録手段に記録する段階とを有する文書群マスク方法である。
【0090】
この場合、記録しようとする文書が、上記非表示情報記録手段に既に存在すれば、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わない。
【0091】
しかも、上記実施例は、文書グラフ構造更新部から、新規文書の識別子である文書識別子と、最近接文書の識別子である最接近文書識別子と、上記2文書間の距離とを受け取ると、上記最近接文書識別子が、非表示情報記録部に存在するかどうかを問い合わせる段階と、上記最近接文書識別子が、上記非表示情報記録に存在すれば、上記文書グラフ構造更新部から受け取った上記2文書間の距離と、上記非表示情報記録部において最近接文書とともに記録されている距離とを比較し、記憶装置に記憶する段階と、上記文書グラフ構造更新部から受け取った上記2文書間の距離が、上記非表示情報記録部において最近接文書とともに記録された距離以下であれば、上記新規文書を上記非表示情報記録部に記録する段階とを有する文書群マスク方法である。
【0092】
この場合、上記記録する内容は、文書識別子と距離とであり、この距離として、上記最近接文書とともに記録されている距離と同じ値を複写する。
【0093】
また、上記実施例を、プログラムの発明として把握することができる。つまり、上記実施例は、請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムの例である。
【0094】
さらに、上記実施例を記録媒体として把握することができる。つまり、上記実施例は、請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読取可能な記録媒体の例である。この記録媒体の例は、CD、DVD、HD、光磁気ディスク、半導体メモリ等である。
【図面の簡単な説明】
【0095】
【図1】本発明の実施例1である文書群マスク装置100を示すブロック図である。
【図2】実施例1において、文書グラフ構造更新部3の動作を示すフローチャートである。
【図3】文書グラフ構造記録部2に記録されているデータの例を示す図である。
【図4】実施例1において、文書グラフ構造記録部2に記録されているデータを図式化した例(文書グラフ構造の例)を示す図である。
【図5】実施例1において、閾値を0.5として生成したクラスタの例を示す図である。
【図6】実施例1において、初期クラスタ記録部7に記録されているデータの例を示す図である。
【図7】実施例1において、クラスタ加工表示部8の画面に表示されている例を示す図である。
【図8】実施例1において、制御部9の動作を示すフローチャートである。
【図9】実施例1において、非表示情報記録部5に記録されているデータの例を示す図である。
【図10】実施例1において、閾値を0.6で生成したクラスタの例を示す図である。
【図11】実施例1において、クラスタ加工表示部8の画面において一部の文書が削除された表示例を示す図である。
【図12】実施例1において、新規文書が入力される度に、非表示情報更新部6が行う動作を示すフローチャートである。
【符号の説明】
【0096】
100…文書群マスク装置、
1…文書記録部、
2…文書グラフ構造記録部、
3…文書グラフ構造更新部、
4…クラスタリング部、
5…非表示情報記録部、
6…非表示情報更新部、
7…初期クラスタ記録部、
8…クラスタ加工表示部、
9…制御部。
【特許請求の範囲】
【請求項1】
文書記録部に記録されている所定の文書に最も近い文書である最接近文書の識別子である最接近文書識別子と、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段と;
予め定められた閾値、または利用者が指定する閾値に応じて、上記文書グラフ構造記録手段に記録されている文書を、複数のクラスタに分割するクラスタリング部と;
非表示にすべき文書の識別子である文書識別子と、文書間の距離とを記録する非表示情報記録手段と;
クラスタリング部4が生成したクラスタである初期クラスタを記録する初期クラスタ記録手段と;
を有することを特徴とする文書群マスク装置。
【請求項2】
請求項1において、
上記文書記録部に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録手段に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段を有することを特徴とする文書群マスク装置。
【請求項3】
請求項1または請求項2において、
上記文書記録部に新たに入力された文書である新規文書の最近接文書の最接近文書識別子が、上記非表示情報記録手段に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を上記非表示情報記録手段に新規に記録させる非表示情報更新手段を有することを特徴とする文書群マスク装置。
【請求項4】
請求項2において、
上記文書グラフ構造更新手段において、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用することを特徴とする文書群マスク装置。
【請求項5】
請求項1〜請求項4のいずれか1項において、
上記初期クラスタ記録手段に記録されている文書のうちで、上記非表示情報記録手段に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示するクラスタ加工表示手段を有することを特徴とする文書群マスク装置。
【請求項6】
請求項1〜請求項5のいずれか1項において、
クラスタを構成する文書間のリンクについて、上記文書グラフ構造記録手段を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、上記非表示情報記録手段に記録するように制御する制御手段を有することを特徴とする文書群マスク装置。
【請求項7】
請求項5において、
記録の対象となった文書の文書識別子が、上記非表示情報記録手段に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、上記制御手段が、上記文書IDに対応する距離を、上記最大値で置き換えて、上記非表示情報記録手段のデータを修正することを特徴とする文書群マスク装置。
【請求項8】
文書記録部に新規に入力した文書である新規文書の識別子である文書識別子とベクトルとを取得する段階と;
文書グラフ構造記録部に文書が既に記録されているかどうかを判定し、記憶装置に記憶する段階と;
新規文書が2番目以降に入力した文書であり、上記文書グラフ構造記録部に文書が既に記録されていれば、上記文書グラフ構造記録部に既に記録されている文書の文書識別子を全て取得し、各文書のベクトルを、上記文書記録部から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出し、記憶装置に記憶する段階と;
上記算出した距離のうちで、新規文書からの距離が最も小さい文書が、最近接文書であると判定し、上記新規文書の文書識別子と、上記最近接文書の最接近文書識別子と、上記2文書間の距離とを、上記文書グラフ構造記録部と非表示情報更新部とに送出する段階と;
を有することを特徴とする文書群マスク方法。
【請求項9】
指定されたクラスタに含まれている文書の識別子である文書識別子一覧を、初期クラスタ記録部から取得する段階と;
クラスタ内の文書数が2以上であるかどうかを判断し、記憶装置に記憶する段階と;
クラスタ内の文書数が2以上であれば、既に取得した文書の文書識別子に基づいて文書グラフ構造記録部を参照し、クラスタを構成する各文書間の距離の最大値を取得し、記憶装置に記憶する段階と;
上記取得した文書識別子のそれぞれを、上記取得した距離の最大値と対応付け、非表示情報記録手段に記録する段階と;
を有することを特徴とする文書群マスク方法。
【請求項10】
請求項9において、
記録しようとする文書が、上記非表示情報記録手段に既に存在すれば、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わないことを特徴とする文書群マスク方法。
【請求項11】
文書グラフ構造更新部から、新規文書の識別子である文書識別子と、最近接文書の識別子である最接近文書識別子と、上記2文書間の距離とを受け取ると、上記最近接文書識別子が、非表示情報記録部に存在するかどうかを問い合わせる段階と;
上記最近接文書識別子が、上記非表示情報記録に存在すれば、上記文書グラフ構造更新部から受け取った上記2文書間の距離と、上記非表示情報記録部において最近接文書とともに記録されている距離とを比較し、記憶装置に記憶する段階と;
上記文書グラフ構造更新部から受け取った上記2文書間の距離が、上記非表示情報記録部において最近接文書とともに記録された距離以下であれば、上記新規文書を上記非表示情報記録部に記録する段階と;
を有することを特徴とする文書群マスク方法。
【請求項12】
請求項11において、
上記記録する内容は、文書識別子と距離とであり、この距離として、上記最近接文書とともに記録されている距離と同じ値を複写することを特徴とする文書群マスク方法。
【請求項13】
請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラム。
【請求項14】
請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項1】
文書記録部に記録されている所定の文書に最も近い文書である最接近文書の識別子である最接近文書識別子と、上記所定の文書と、上記最接近文書との距離との3つを1組として記録することによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を記録する文書グラフ構造記録手段と;
予め定められた閾値、または利用者が指定する閾値に応じて、上記文書グラフ構造記録手段に記録されている文書を、複数のクラスタに分割するクラスタリング部と;
非表示にすべき文書の識別子である文書識別子と、文書間の距離とを記録する非表示情報記録手段と;
クラスタリング部4が生成したクラスタである初期クラスタを記録する初期クラスタ記録手段と;
を有することを特徴とする文書群マスク装置。
【請求項2】
請求項1において、
上記文書記録部に新たに入力された文書である新規文書と過去に入力済の文書との距離を算出し、上記最近接文書との距離とを、上記文書グラフ構造記録手段に記録させることによって、複数の文書が、距離付きのリンクで接続されている文書グラフ構造を更新する文書グラフ構造更新手段を有することを特徴とする文書群マスク装置。
【請求項3】
請求項1または請求項2において、
上記文書記録部に新たに入力された文書である新規文書の最近接文書の最接近文書識別子が、上記非表示情報記録手段に既に記録され、しかも上記新規文書と上記最近接文書との距離が、上記最近接文書とともに記録されている距離以下である場合に、上記新規文書を上記非表示情報記録手段に新規に記録させる非表示情報更新手段を有することを特徴とする文書群マスク装置。
【請求項4】
請求項2において、
上記文書グラフ構造更新手段において、新たに記録する上記新規文書とともに記録する距離として、上記最近接文書とともに記録されている値を複写して使用することを特徴とする文書群マスク装置。
【請求項5】
請求項1〜請求項4のいずれか1項において、
上記初期クラスタ記録手段に記録されている文書のうちで、上記非表示情報記録手段に記録されている文書を除いた残りの文書を、クラスタ毎に、画面上に表示するクラスタ加工表示手段を有することを特徴とする文書群マスク装置。
【請求項6】
請求項1〜請求項5のいずれか1項において、
クラスタを構成する文書間のリンクについて、上記文書グラフ構造記録手段を参照して距離を獲得し、クラスタ内の文書間距離の最大値を算出し、クラスタ内の各文書の文書IDと上記最大値とを、上記非表示情報記録手段に記録するように制御する制御手段を有することを特徴とする文書群マスク装置。
【請求項7】
請求項5において、
記録の対象となった文書の文書識別子が、上記非表示情報記録手段に既に記録されていれば、既に記録されている距離と、記録しようとする上記最大値とを比較し、既に記録されている距離が上記最大値以下である場合にのみ、上記制御手段が、上記文書IDに対応する距離を、上記最大値で置き換えて、上記非表示情報記録手段のデータを修正することを特徴とする文書群マスク装置。
【請求項8】
文書記録部に新規に入力した文書である新規文書の識別子である文書識別子とベクトルとを取得する段階と;
文書グラフ構造記録部に文書が既に記録されているかどうかを判定し、記憶装置に記憶する段階と;
新規文書が2番目以降に入力した文書であり、上記文書グラフ構造記録部に文書が既に記録されていれば、上記文書グラフ構造記録部に既に記録されている文書の文書識別子を全て取得し、各文書のベクトルを、上記文書記録部から取得し、各ベクトルを新規文書のベクトルと比較し、文書間の距離を算出し、記憶装置に記憶する段階と;
上記算出した距離のうちで、新規文書からの距離が最も小さい文書が、最近接文書であると判定し、上記新規文書の文書識別子と、上記最近接文書の最接近文書識別子と、上記2文書間の距離とを、上記文書グラフ構造記録部と非表示情報更新部とに送出する段階と;
を有することを特徴とする文書群マスク方法。
【請求項9】
指定されたクラスタに含まれている文書の識別子である文書識別子一覧を、初期クラスタ記録部から取得する段階と;
クラスタ内の文書数が2以上であるかどうかを判断し、記憶装置に記憶する段階と;
クラスタ内の文書数が2以上であれば、既に取得した文書の文書識別子に基づいて文書グラフ構造記録部を参照し、クラスタを構成する各文書間の距離の最大値を取得し、記憶装置に記憶する段階と;
上記取得した文書識別子のそれぞれを、上記取得した距離の最大値と対応付け、非表示情報記録手段に記録する段階と;
を有することを特徴とする文書群マスク方法。
【請求項10】
請求項9において、
記録しようとする文書が、上記非表示情報記録手段に既に存在すれば、記録しようとする距離と、既に記録されている距離とを比較し、記録しようとする距離が、既に記録されている距離よりも大きければ、上書きするが、記録しようとする距離が、既に記録されている距離以下であれば、距離の置き換えを行わないことを特徴とする文書群マスク方法。
【請求項11】
文書グラフ構造更新部から、新規文書の識別子である文書識別子と、最近接文書の識別子である最接近文書識別子と、上記2文書間の距離とを受け取ると、上記最近接文書識別子が、非表示情報記録部に存在するかどうかを問い合わせる段階と;
上記最近接文書識別子が、上記非表示情報記録に存在すれば、上記文書グラフ構造更新部から受け取った上記2文書間の距離と、上記非表示情報記録部において最近接文書とともに記録されている距離とを比較し、記憶装置に記憶する段階と;
上記文書グラフ構造更新部から受け取った上記2文書間の距離が、上記非表示情報記録部において最近接文書とともに記録された距離以下であれば、上記新規文書を上記非表示情報記録部に記録する段階と;
を有することを特徴とする文書群マスク方法。
【請求項12】
請求項11において、
上記記録する内容は、文書識別子と距離とであり、この距離として、上記最近接文書とともに記録されている距離と同じ値を複写することを特徴とする文書群マスク方法。
【請求項13】
請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラム。
【請求項14】
請求項8〜請求項12のうちの少なくとも1つの請求項に記載の方法をコンピュータに実行させるプログラムを記録したコンピュータ読取可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−287494(P2008−287494A)
【公開日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願番号】特願2007−131722(P2007−131722)
【出願日】平成19年5月17日(2007.5.17)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成20年11月27日(2008.11.27)
【国際特許分類】
【出願日】平成19年5月17日(2007.5.17)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]