(57)【要約】【課題】  ユーザが注目する文字列を含む検索条件により検索を行う文書検索システムを提案することにある。【解決手段】  前回の検索条件（プロファイル）を修正して作成した新しい検索条件により検索を行うシステムであって、前回の検索条件によって検索された検索結果文書のうち、ユーザが「所望である」という評価を入力した文書に含まれる文字列であって、前回の検索条件に含まれていない文字列を抽出し、この文字列に高い重みを付けて修正した検索条件を生成し、その生成された検索条件により文書検索を行う。【選択図】図１
2005084943.tif 000002
【特許請求の範囲】
【請求項１】
検索条件に基づいて文書の検索を行う文書検索システムにおいて、
検索対象の文書を記憶する記憶手段と、
種文書から抽出した文字列をもとに検索条件を生成する検索条件生成手段と、
該生成された検索条件に従って、前記記憶された文書を検索する文書検索手段と、
該検索された文書の内容を表示する文書内容表示手段と、
該表示された文書の中から選択された文書に含まれる文字列と、前記生成された検索条件に含まれる文字列とを比較し、新たな検索条件を生成する検索条件修正手段とを備え、
前記文書検索手段は、前記新たな検索条件に基づいて前記記憶された文書を検索し、
前記文書内容表示手段は、前記新たな検索条件によって検索された文書の内容を表示することを特徴とする文書検索システム。
【請求項２】
前記検索条件は、文字列と該文字列に対応付けられた重みを含み、
前記検索条件修正手段は、前記選択された文書に含まれる文字列であって、前記検索条件に含まれない文字列に対応付けられた重みを修正して、前記新たな検索条件を生成することを特徴とする請求項１記載の文書検索システム。
【請求項３】
前記文書検索システムはさらに、
前記検索対象の文書に含まれる文字列の出現回数にもとづいて、前記検索対象の文書を分類する文書分類手段と、
該分類された文書に関する分類情報を格納する分類情報格納手段とを備え、
前記検索条件修正手段は、該格納された分類情報にもとづいて新たな検索条件を生成することを特徴とする請求項２記載の文書検索システム。
【請求項４】
前記文書内容表示手段は、前記選択された文書に含まれる文字列であって、前記検索条件に含まれない文字列を、他の文字列を区別して表示することを特徴とする請求項２記載の文書検索システム。
【請求項５】
検索条件に基づいて文書の検索を行う文書検索方法において、
前記検索対象の文書に含まれる文字列の出現回数にもとづいて、前記検索対象の文書を分類し、
該分類された文書と該文書に関する分類情報を記憶し、
種文書から抽出した文字列をもとに検索条件を生成し、
該生成された検索条件に従って、前記記憶された文書を検索し、
該検索された文書の中から選択された文書に含まれる文字列と、前記生成された検索条件に含まれる文字列とを比較するとともに、前記記憶した分類情報に基づいて新たな検索条件を生成し、
該生成された新たな検索条件によって前記記憶された文書を検索し、
前記新たな検索条件によって検索された文書の内容を表示することを特徴とする文書検索方法。
【請求項６】
前記文書検索方法において、
前記検索条件は、文字列と該文字列に対応付けられた重みを含み、
前記新たな検索条件の生成は、前記選択された文書に含まれる文字列であって、前記検索条件に含まれない文字列に対応付けられた重みを修正して行うことを特徴とする請求項５記載の文書検索方法。
【請求項７】
検索条件に基づいて文書の検索を行う文書検索システムにおいて実行されるコンピュータプログラムであって、
検索対象の文書を記憶するステップと、
種文書から抽出した文字列をもとに検索条件を生成するステップと、
該生成された検索条件に従って、前記記憶された文書を検索するステップと、
該検索された文書の内容を表示するステップと、
該表示された文書の中から選択された文書に含まれる文字列と、前記生成された検索条件に含まれる文字列とを比較して新たな検索条件を生成するステップとを備え、
前記文書検索ステップは、前記新たな検索条件によって前記記憶された文書を検索し、
前記表示ステップは、前記新たな検索条件によって検索された文書の内容を表示することを特徴とするコンピュータプログラム。
【請求項８】
前記検索条件は、文字列と該文字列に対応付けられた重みを含み、
前記検索条件修正ステップは、前記選択された文書に含まれる文字列であって、前記検索条件に含まれない文字列に対応付けられた重みを修正して、前記新たな検索条件を生成することを特徴とする請求項７記載の文書検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索条件に基づいて文書データベースから文書を検索する文書検索方法及びシステムに関し、特に、前回の検索条件を修正した新しい検索条件により再度検索を行う文書検索方法及びシステムに関する。
【背景技術】
【０００２】
ユーザが入力した情報から検索条件を作成し検索をおこなう文書検索において、ユーザが指定した文書に対するユーザの評価を利用して検索精度を向上させる技術が知られている。具体的な例としては、ある検索条件によって検索された文書の中で、ユーザが所望であると評価した文書から抽出した文字列について検索条件中の重みを加算し、所望でないと評価した文書から抽出された文字列に関する検索条件中の重みを減算した検索条件を作成する（特許文献１参照）。
【０００３】
【特許文献１】特開2001-117937号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記背景技術による方法では、それまでの検索条件に含まれない新しい文字列を追加して検索しても、その文字列を含む文書が検索結果の上位に表示されないことがある。つまり、ユーザが新たに所望であると評価した文書には、それまでの検索条件にはない、新しい文字列が含まれていることが多い。再検索時に、ユーザが最も注目しているのはその新しい文字列であることが多く、ユーザが求める文書もその文字列を含む文書である。しかし、従来技術による方法では、所望であると評価した文書から抽出した全ての文字列に関して、その重みを検索条件に加算しているため、新たに追加された文字列の重みが他の文字列に比べて大きくならず、検索結果に対する影響が小さくなってしまうからである。
【０００５】
本発明の目的は、ユーザの要求に応じて修正した検索条件によって検索を行うことができる文書検索システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は、検索条件に基づいて文書の検索を行う文書検索システムにおいて、種文書から抽出した文字列をもとに生成された検索条件を使って、検索対象の文書を検索する。次に、検索結果の文書から選択された文書に含まれる文字列と、もとの検索条件に含まれる文字列とを比較し、検索条件を修正して新たな検索条件を生成する。そして、その新たな検索条件を用いて、検索対象の文書を検索する構成を採用した。
【発明の効果】
【０００７】
本発明によれば、前回の検索結果に対するユーザの評価を反映した検索条件による検索を実現することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態を、図面を用いて詳細に説明する。
【実施例１】
【０００９】
図1は、第一の実施例におけるシステム構成図を示す。本実施例における文書検索システムは、検索条件や検索結果を表示するディスプレイ100、検索条件やその他の指示を入力する入力装置101、本システムの各部を制御する中央演算処理装置（CPU）102、磁気ディスク装置103、外部記憶媒体読込装置106、主メモリ109およびこれらを結ぶバス108から構成される。磁気ディスク装置103は二次記憶装置の一つであり、テキスト104、出現頻度ファイル105が格納される。外部記憶媒体読み込み装置106を介して、外部記憶媒体107に格納されている情報が、主メモリ109あるいは磁気ディスク装置103へ読み込まれる。
【００１０】
主メモリ109には、システム制御プログラム110、検索制御プログラム111、文書登録プログラム112が格納される。また、検索制御プログラム111が制御するプロファイル生成プログラム113、文書検索プログラム114、文書内容表示プログラム115、プロファイル修正プログラム116、および修正方法指定プログラム117も主メモリ109に格納される。また、主メモリ109には、プロファイル保存エリア118、特徴文字列保存エリア119、差分情報保存エリア120、表示文書保存エリア121、および文書保存エリア122が確保される。
【００１１】
次に、第一の実施例における各プログラムの処理手順について説明する。
【００１２】
図2は、システム制御プログラム110の処理の流れを示す。システム制御プログラム110は、まずユーザが入力装置101から入力したコマンドを解析する（ステップ201）。続いて、ステップ201で解析したコマンドが文書登録のコマンドであるかどうかを判定する（ステップ202）。ステップ202で判定したコマンドが文書登録のコマンドである場合は、文書登録プログラム112を起動して文書の登録を行う（ステップ203）。次に、ステップ201で解析したコマンドが検索処理のコマンドであるかどうかを判定する（ステップ204）。ステップ204で判定したコマンドが検索処理のコマンドである場合は、検索制御プログラム111を起動して文書の検索処理の実行を開始する（ステップ205）。
【００１３】
図3は、文書登録プログラム112の処理の流れを示す。文書登録プログラム112は、まず外部記憶媒体107から外部記憶媒体読み込み装置106を用いて登録すべき文書データを読み込み、これをテキスト104として磁気ディスク装置103に格納する（ステップ301）。ただし、文書データは、外部記憶媒体読み込み装置106により入力するだけではなく、通信回線などを用いて入力する構成でもよい。次に、テキスト104に含まれる所定の文字列とその出現頻度情報を抽出し、出現頻度ファイル105として磁気ディスク装置103に格納する（ステップ302）。所定の文字列の抽出は、特開平11-143902号公報に開示されている方法や形態素解析などを用いてもよいし、n文字の連続した文字列を抽出してもよい。以下、この抽出された文字列を特徴文字列と呼ぶ。
【００１４】
図4は、検索制御プログラム111の処理の流れを示す。検索制御プログラム111は、まずプロファイル生成プログラム113を起動し、ユーザが入力した種文書をもとに、後述する方法を用いてプロファイルを生成する（ステップ401）。ここで、種文書とはユーザが求めている情報、もしくはそれに関連のある情報を含む文書のことを表す。続いて文書検索プログラム114を起動し、ステップ401で生成されたプロファイルにもとづいて文書検索を行う（ステップ402）。続いて、ステップ404からステップ414の処理を繰り返す（ステップ403）。
【００１５】
以下、繰り返し処理であるステップ404からステップ414について説明する。まず、ユーザが入力装置101から入力したコマンドを解析する（ステップ404）。続いて、ステップ404で解析したコマンドが文書の内容表示コマンドであるかどうかを判定する（ステップ405）。ステップ405で判定したコマンドが内容表示のコマンドである場合は、文書内容表示プログラム115を起動し、指定された検索結果文書の内容を表示する（ステップ410）。次に、ステップ404で解析したコマンドが検索結果文書に対するユーザの評価の入力コマンドであるかどうかを判定する（ステップ406）。ステップ406で判定したコマンドが評価入力のコマンドである場合は、プロファイル修正プログラム116を起動し、プロファイルを修正する（ステップ411）。次に、ステップ404で解析したコマンドがプロファイルの修正方法の指定コマンドであるかどうかを判定する（ステップ407）。ステップ407で判定したコマンドが修正方法指定のコマンドである場合は、修正方法指定プログラム117を起動し、ユーザによる指定方法にもとづいてプロファイルを修正する（ステップ412）。次に、ステップ404で解析したコマンドが検索実行コマンドであるかどうかを判定する（ステップ408）。ステップ408で判定したコマンドが検索実行のコマンドである場合は、文書検索プログラム114を起動して文書検索を行う（ステップ413）。最後に、ステップ404で解析したコマンドが検索セッション終了コマンドであるかどうかを判定する（ステップ409）。ステップ409で判定したコマンドが検索終了のコマンドである場合は、ステップ403の繰り返し処理を終了させる（ステップ414）。
【００１６】
図5は、プロファイル生成プログラム113の処理の流れを示す。プロファイル生成プログラム113は、まず入力装置101から入力される種文書を読み込み、文書保存エリア122に格納する（ステップ501）。次に、文書保存エリア122に格納された種文書から特徴文字列を抽出し、種文書内での出現回数を計算して、特徴文字列保存エリア119に格納する（ステップ502）。ここで、特徴文字列を抽出する方法は、図3のステップ302において説明した方法を用いる。次に、ステップ502で抽出した特徴文字列とその出現回数を重みとしたものをプロファイル保存エリア118に格納する（ステップ503）。ここでは、各文字列の重みとして種文書中での出現回数を用いたが、他のものを用いても良い。また、プロファイル保存エリア118に格納する文字列は、ステップ502で抽出した特徴文字列の全てである必要はなく、文字列の重みを用いて、格納する特徴文字列を絞っても良い。最後に、ステップ503でプロファイル保存エリア118に格納した文字列およびその重みを、差分情報保存エリア120に格納する（ステップ504）。
【００１７】
図6は、文書検索プログラム114の処理の流れを示す。文書検索プログラム114は、まずプロファイル保存エリア118から各文字列の重みを取得する（ステップ601）。続いて、その重みと出現頻度ファイル105に格納されている各文字列の出現回数を用いて、テキスト104内の各文書の適合度を算出する（ステップ602）。ここで、適合度の算出には、例えば以下のような式1を用いる。
【００１８】
【数１】
2005084943.tif 000003
ここで、R(D)は文書Dの適合度、Freq(i)は文書Dについての出現頻度ファイル105に格納されている文字列iの出現回数、w(i)は、プロファイル保存エリア118から読み込んだ文字列iの重みである。
【００１９】
次に、テキスト104内の各文書を適合度の降順にソートして、ディスプレイ100に表示する（ステップ603）。このとき、テキスト104内の全ての文書を表示する必要はなく、適合度の大きさを用いてある程度限定して表示しても良い。また、文書にタイトルのような属性があればそれを併せて表示しても良いし、差分情報保存エリア120に格納されている文字列を含む文書中の一部分を表示しても良い。
【００２０】
図7は、文書内容表示プログラム115の処理の流れを示す。文書内容表示プログラム115は、まず入力装置101から内容を表示する文書の番号を読み込み（ステップ701）、ステップ701で読み込んだ文書の番号に該当する文書を文書保存エリア122に読み込む（ステップ702）。次に、文書保存エリア122の文書の先頭から、順次文字列を読み込み、全ての文字列を処理するまでステップ704から707の処理を繰り返す（ステップ703）。
【００２１】
まず、差分情報保存エリア120に格納されている文字列と照合する（ステップ704）。ステップ704の照合で、読み込んだ文字列が差分情報保存エリア120に格納されている文字列と一致するかどうかを判定する（ステップ705）。判定の結果、一致した場合は、例えばその文字列に「赤色で表示する」という情報を付与して表示文書保存エリア121に追加する（ステップ706）。ここで文字列に付与する情報は上記以外の表示方法を指定する情報でも良い。また、差分情報保存エリア120に格納されている文字列の重みの大きさによって、文字列に付与する情報を変えても良い。
【００２２】
一方、ステップ705の判定において、読み込んだ文字列が差分情報保存エリア120に格納されている文字列と一致しなかった場合は、読み込んだ文字列をそのまま表示文書保存エリア121に追加する（ステップ707）。ここで、読み込んだ文字列に、ステップ706とは異なる表示方法指定情報を付与して、表示文書保存エリア121に追加しても良い。また、その文字列がプロファイル保存エリア118に格納されている文字列と一致するかどうかによって、文字列に付与する情報を変えても良い。最後に、表示文書保存エリア121に保存された内容をディスプレイ100に表示する（ステップ708）。
【００２３】
なお、ステップ703における処理は、文字列を順に読み込んで処理する方法でも良いし、予め文書内の各文字列の位置を記憶しておき、処理対象となる文字列（差分情報保存エリア120の文字列）だけを読み込んで処理する方法でも良い。
【００２４】
図8は、プロファイル修正プログラム116の処理の流れを示す。プロファイル修正プログラム116は、まず入力装置101からユーザが入力した所望であると評価する文書の番号を取得し（ステップ801）、その取得した文書番号に該当する文書を、文書保存エリア122に読み込む（ステップ802）。次に、文書保存エリア122に格納された文書から特徴文字列を抽出し、文書内での出現回数を計算して、特徴文字列保存エリア119に格納する（ステップ803）。ここで、特徴文字列を抽出する方法は、図5のステップ502における方法を用いる。続いて、差分情報保存エリア120の内容をクリアし（ステップ804）、プロファイル保存エリア118に格納されている文字列とステップ803で抽出した文字列の照合を行う（ステップ805）。ステップ805の照合で、ステップ803で抽出した文字列がプロファイル保存エリア118に格納されている文字列と一致するかどうかを判定する（ステップ806）。
【００２５】
ステップ806の判定の結果、一致する場合は、プロファイル保存エリア118に格納されている文字列の重みを、ステップ803で抽出した文字列の出現回数にもとづいて修正する（ステップ807）。ここで、重みの修正には、例えば以下のような数2を用いる。
【００２６】
【数２】
2005084943.tif 000004
ここで、w_new(i)は修正後の文字列iの重み、w_old(i)は修正前の文字列iの重み、Freq(i)はステップ803で抽出した文字列iの出現回数を表す。また、ある文字列が、プロファイル保存エリア118に格納されている文字列と一致し、その文字列の重みが所定値以上である場合にだけ、その文字列の重みの修正を行う構成でも良い。また、修正後の文字列の重みが所定値以下になる場合には、その文字列をプロファイル保存エリア118から削除する構成でも良い。
【００２７】
一方、ステップ806における判定の結果、ステップ803で抽出した文字列がプロファイル保存エリア118に格納されている文字列と一致しなかった場合は、差分情報保存エリア120にステップ803で抽出した文字列とその重みを追加する（ステップ808）。ここで、文字列の重みは、ステップ503と同じ方法で算出する。また、プロファイル保存エリア118に格納されている文字列と一致しなかった場合だけでなく、プロファイル保存エリア118に格納されている文字列の重みが所定値以下である場合にも、差分情報保存エリア120に格納しても良い。
【００２８】
続いて、差分情報保存エリア120に格納されている文字列の重みを、プロファイル保存エリア118に格納されている文字列の重みを用いて修正する（ステップ809）。ここで、重みの修正には、例えば以下のような数３を用いる。
【００２９】
【数３】
2005084943.tif 000005
ここで、w_new(i)は修正後の文字列iの重み、w_old(i)は修正前の文字列iの重み、w_prof(i)はプロファイル保存エリア118に格納されている文字列iの重みを表す。また、Kはプロファイル保存エリア118に格納されている文字列の重みと差分情報保存エリア120に格納されている文字列の重みから算出される定数であり、例えば以下のような数４を用いて算出される。
【００３０】
【数４】
2005084943.tif 000006
ここで、max(w_prof(i))はプロファイル保存エリア118に格納されている文字列の重みの最大値、max(w_old(i))は差分情報保存エリア120に格納されている文字列の重みの最大値をそれぞれ表す。
【００３１】
最後に、差分情報保存エリア120に格納されている文字列とその重みをプロファイル保存エリア118に追加する（ステップ810）。このとき、プロファイル保存エリア118に同じ文字列がすでに格納されていた場合は、差分情報保存エリア120に格納されている文字列の重みで書き換える。
【００３２】
図9は、修正方法指定プログラム117の処理の流れを示す。修正方法指定プログラム117は、まず新たに作成されるプロファイルにおいて、入力装置101に入力された情報であって、ユーザが注目したい文字列および注目したくない文字列の情報およびその度合いの情報を取得する（ステップ901）。文字列への注目度合いは、例えばパーセンテージで入力する。続いて、取得した文字列に対する注目度合いにもとづき、プロファイル保存エリア118に格納されている文字列の重みを修正する（ステップ902）。ここで、重みの修正には、例えば以下のような数５を用いる。
【００３３】
【数５】
2005084943.tif 000007
ここで、w_new(i)は修正後の文字列iの重み、w_old(i)は修正前の文字列iの重み、prob(i)はステップ901で取得した文字列iへの注目度を表す。
【００３４】
次に、図10および図11を用いて、本実施例におけるプロファイルの修正と再検索の実行の処理の流れを説明する。
【００３５】
図10は、プロファイルの生成処理のフローを示す。図10において、ユーザは「野球やサッカーが強い高校」を調べたいものとし、最初に「春の高校野球において、○○高校野球部が優勝。野球部監督△△氏に、野球の強さの秘密を聞いたところ、野球に対する熱意が最も大切なものであるとのこと。これは野球でもサッカーでも同じであるとのことでした。」という文書を種文書1001として検索を行うこととする。まず、種文書1001を取得し（図5のステップ501）、種文書1001中の文書の特徴を表す文字列（「野球」、「高校」など）の出現回数（それぞれ６回、２回ずつ出現）を数え、文書の特徴文字列1002として抽出する（図5のステップ502）。次に、文書の特徴文字列1002の出現回数をそれぞれの文字列の重みとして、プロファイル1003を生成する（図5のステップ503）。ここでプロファイルとは、図10に示すように各文字列にその重みを対応付けた情報であり、文書検索時には、各文字列についてその重みと文書中に出現した回数を掛け合わせたものの総和を算出することで、各文書の適合度を計算する。また、このプロファイル1003の生成方法は、種文書中の各文字列の出現回数をそのまま重みとする方法を用いているが、各文書の出現回数とデータベース中での出現頻度情報を用いて算出する方法など、ここで用いた以外の別の方法を用いても良い。
【００３６】
図11は、新たに種文書を指定して再検索を行う処理の流れを示す。図11では、すでに図10の種文書1001を用いて検索を行っており、その結果に対して新たに種文書1101を用いて再検索を行うことを考える。最初の検索において生成されたプロファイルが元プロファイル1003であり、プロファイル保存エリア118に格納されている。また「優勝高校の練習には、優勝するだけのものがある。」という文書1101を種文書として再検索を行うものとする。以下に、種文書1101を指定した場合のプロファイル修正処理の流れを説明する。
【００３７】
まず、種文書1101から特徴となる文字列（「優勝」「高校」「練習」）とその出現回数を抽出し、その情報1102を特徴文字列保存エリア119に格納する。次に、文書の特徴文字列1102の中で元プロファイル1003に含まれない文字列（「練習」）を抽出し、差分文字列1104として差分情報保存エリア120に格納する（図5のステップ504）。また、元プロファイル1003の重みを、文書の特徴文字列1102の重みと元プロファイル1003の重みとの平均値に置き換えて、修正プロファイル1106とする。次に、差分文字列1104の重みを、修正プロファイル1106の重みのうち最大のもの（文字列「野球」の重み3）に置き換え、修正差分文字列1105とする。最後に、修正プロファイル1106に修正差分文字列1105の文字列とその重みを追加し、新プロファイル1107とする。
【００３８】
プロファイル修正後の検索には、この新プロファイル1107に含まれる文字列とその重みを用いる。本図に示した例では、新たにプロファイルに追加される文字列「練習」の重みを大きくしたプロファイルが作成されており、新しい文字列に注目した検索を行うことができる。
【００３９】
図12は、差分情報保存エリア120に格納されている文字列を用いて検索を行った結果である検索結果文書を表示する例を示す。本図においては、文書検索に用いられた検索プロファイル1201がプロファイル保存エリア118に格納されているとし（図5のステップ503）、そのプロファイルを生成するために用いられた差分文字列1202とその重みが差分情報保存エリア120に格納されているものとする（図5のステップ504）。また、表示する文書の内容1203が文書保存エリア122に格納されているものとする。表示内容1204は、文章内容1203中の文字列のうち、差分文字列1202の文字列と一致する文字列「練習」は太字のイタリック体で表示し、そうでない文字列はそのまま表示するように指定されたものであり、表示文書保存エリア121に格納される。文書を表示する場合は、この表示内容1204を読み込んで、ディスプレイ100に表示する。
【００４０】
このように表示することにより、新たにプロファイルに追加された文字列だけを、他と区別して強調して表示することができ、ユーザは文書中でその文字列を含む部分を素早く認識することができる。また、文章内容1203中の文字列で、差分文字列1202の文字列と一致しない文字列のうち、検索プロファイル1201に含まれる文字列と一致する文字列「高校」と「野球」はイタリック体で表示し、上記のどちらでもない文字列については、そのまま表示するように指定してもよい。この場合は、プロファイルに含まれる文字列とそれ以外の部分、およびプロファイルに新たに追加された文字列をそれぞれ区別することができる。
【００４１】
図13は、ユーザの指定によりプロファイルを修正する例を示す。本図においては、プロファイル修正方法を指定する前の初期状態が修正方法指定画面1301のようになっており、その時のプロファイル保存エリア118に格納されているプロファイルが元プロファイル1303であるとする。ユーザは、修正方法指定画面1301の中の注目度をパーセンテージで表したボックス1302などの数値を修正し、修正方法指定画面1304のようにする。注目度を表す数値を更新することで、元プロファイル1303は新プロファイル1305のように修正される。このように、ユーザの指定によりプロファイルを修正することにより、ユーザにとって重要ではない文字列が、新しいプロファイルにおいて重みを減らして登録され、ユーザの希望に添った修正プロファイルを生成することができる。
【００４２】
以上示したように、本実施例では、検索結果から種文書を選択して再検索を行うシステムにおいて、これまでのプロファイルに無かった文字列の重みを大きくしたプロファイルを作成する。これにより、これまでのプロファイルには無かった新しい文字列に注目した検索をすることができる。
【００４３】
本実施例では、検索結果として得られた文書群に対する実施例を示しており、検索対象となる文書群を特徴付ける情報として、種文書から生成したプロファイルを用いている。しかし本発明は、検索結果の文書群だけではなく、特定の条件により特徴付けることが出来る様々な文書群に対して適用することができる。その場合の実施形態を、以下に示す第二の実施例で説明する。
【実施例２】
【００４４】
本実施例では、ある特定の条件に基づいて集められた文書群に対して検索を行う場合の例として、文書の類似性に基づいて分類された結果の各文書集合を考える。つまり本実施例では、データベースに登録されている文書を分類し、分類結果の文書集合の中でユーザが指定した集合のみから検索する場合を考える。
【００４５】
図14は、本実施例のシステム構成を示す。本実施例における文書検索システムは、第一の実施例で示したシステム構成（図1）と同様であるが、主メモリ109の内容が異なる。図14では、第一の実施例と異なる主メモリ109の内容だけを示している。主メモリ109には、図1に示す主メモリに、文書分類プログラム1402と分類情報保存エリア1404が追加して格納される。また、検索制御プログラム1401およびプロファイル生成プログラム1403は第一の実施例とは処理の内容が異なるため、第一の実施例と異なる番号を付して区別している。図14に示すこれ以外のプログラムやファイルは、図1と同様であり、システム制御プログラム110、文書登録プログラム112、文書検索プログラム114、文書内容表示プログラム115、修正方法指定プログラム117は、第一の実施例と同様の処理を行う。
【００４６】
図15は、検索制御プログラム1401の処理の流れを示す。検索制御プログラム1401は、まず文書分類プログラム1402を起動して、データベース中の文書を分類する（ステップ1501）。この処理の詳細は図16で説明する。次に、プロファイル生成プログラム1403を起動してプロファイルを生成する（ステップ1502）。次に、修正方法指定プログラム117を起動して、ユーザによる指定方法にもとづいてプロファイルを修正する（ステップ1503）。次に、文書検索プログラム114を起動し、生成されたプロファイルにもとづいて文書検索を行う（ステップ1504）。その後、ステップ1506からステップ1510の処理を繰り返す（ステップ1505）。
【００４７】
以下、繰り返し処理中に行うステップ1506からステップ1510について説明する。まず、ユーザが入力装置101から入力したコマンドを解析する（ステップ1506）。次に、ステップ1506で解析したコマンドが文書の内容表示コマンドであるかどうかを判定する（ステップ1507）。ステップ1507で判定したコマンドが内容表示のコマンドである場合は、文書内容表示プログラム115を起動し、指定された検索結果文書の内容を表示する（ステップ1509）。続いて、ステップ1506で解析したコマンドが閲覧終了コマンドであるかどうかを判定する（ステップ1508）。ステップ1509で判定したコマンドが閲覧終了のコマンドである場合は、ステップ1505の繰り返し処理を終了させる（ステップ1510）。
【００４８】
図16は、図15のステップ1501における文書分類プログラム1402の処理の流れを示す。文書分類プログラム1402は、まずテキスト104内の各文書を、各文書に含まれる文字列の出現回数を用いて、いくつかの集合に分類する（ステップ1601）。これにより、各文書がどの集合に属するかを決定する。ステップ1601では、テキスト104内の全ての文書を用いて分類する必要はなく、各文書に付加された情報、例えば各文書の重要度などを用いて限定しても良い。また、文書の分類においては、文書に含まれる文字列の出現回数が近い文書同士を同じ集合に属するようにする、といった基準を用いる。また、分類結果の集合数は、テキスト104内の文書の情報からシステムが自動的に決定する方法でもよく、ユーザが分類前に入力した情報を用いて決定する方法でもよい。
【００４９】
次に、ステップ1601の分類により得られた各文書集合について、同じ集合に属する文書群から共通した特徴を抽出し、分類情報保存エリア1404に格納する（ステップ1602）。ここで、文書群に共通した特徴として、各文書に共通して含まれる文字列とそれに対応付けられる値を用いる。各文字列に対応付けられる値としては、例えば各文書中での出現回数の平均値などを用いる。
【００５０】
図17は、プロファイル生成プログラム1403の処理の流れを示す。プロファイル生成プログラム1403は、まず入力装置101から入力される検索対象の文書集合の番号を取得する（ステップ1701）。次に、入力装置101から入力される種文書を読み込み、文書保存エリア122に格納する（ステップ1702）。次に、文書保存エリア122に格納された種文書から特徴文字列を抽出し、種文書内での出現回数を計算して、特徴文字列保存エリア119に格納する（ステップ1703）。ここで、特徴文字列を抽出する方法は、図3のステップ302における方法を用いる。
【００５１】
次に、差分情報保存エリア120、およびプロファイル保存エリア118の内容をクリアし（ステップ1704）、ステップ1703で抽出した文字列と、分類情報保存エリア1404にステップ1701で取得した番号に対応する特徴情報として格納されている文字列とを照合する（ステップ1705）。次に、ステップ1705の照合で、ステップ1703で抽出した文字列が、上記特徴情報の文字列と一致するかどうかを判定する（ステップ1706）。判定の結果、文字列が一致した場合は、プロファイル保存エリア118に、ステップ1703で抽出した文字列とその重みを追加する（ステップ1707）。ここで、文字列の重みはステップ503と同じ方法で算出する。また、ステップ1706の判定において文字列が一致した場合だけでなく、特徴情報の文字列の重みが所定値以上である場合にも、プロファイル保存エリア118に格納する構成でも良い。
【００５２】
一方、ステップ1706の判定で、ステップ1703で抽出した文字列が特徴情報の文字列と一致しなかった場合は、差分情報保存エリア120にステップ1703で抽出した文字列とその重みを追加する（ステップ1708）。ここで、文字列の重みはステップ503と同じ方法で算出する。また、特徴情報の文字列と一致しなかった場合だけでなく、特徴情報の文字列の重みが所定値以下である場合にも、差分情報保存エリア120に格納する構成でも良い。
【００５３】
次に、差分情報保存エリア120に格納されている文字列の重みを、プロファイル保存エリア118に格納されている文字列の重みを用いて修正する（ステップ1709）。ここで、重みの修正には、ステップ809の方法を用いてもよいし、他の方法でもよい。最後に、差分情報保存エリア120に格納されている文字列とその重みをプロファイル保存エリア118に追加する（ステップ1710）。この時、プロファイル保存エリア118に同じ文字列がすでに格納されていた場合は、差分情報保存エリア120に格納されている文字列の重みで書き換える。
【００５４】
図18は、本実施例におけるプロファイルの生成処理の流れを示す。検索する対象としてユーザが指定した文書群を文書群1801とし、検索条件として入力した種文書を種文書1803とする。
【００５５】
まず、文書群1801中の各文書に共通する特徴情報（文字列「野球」「高校」「優勝」「サッカー」および、それぞれの出現回数の平均値）を抽出し、共通する特徴情報1802とする。ここでは、各文字列に付加されている情報として、各文字列の平均出現数を用いているが、各文字列が含まれる文書数など他の情報を用いても良い。
【００５６】
次に、ユーザが入力した種文書1803中から、特徴文字列（「野球」「優勝」「高校」「練習」）とその出現回数を抽出したものを特徴文字列1804とする。特徴文字列1804の中で、共通する特徴情報1802に含まれない文字列「練習」を、差分文字列1805として抽出する。また、共通する特徴情報1802に含まれる文字列（「野球」「優勝」「高校」）を、共通文字列1807として抽出する。そして、差分文字列1805の重みを、共通文字列1807の重みの中で最大のもの（図18の場合、文字列「優勝」の重み「2」）の倍の重み「4」に置き換え、修正差分文字列1806とする。最後に、修正差分文字列1806と共通文字列1807を統合し、プロファイル1808を生成する。
【００５７】
図19は、図18で生成されたプロファイルを用いて検索を行う例を示す。ここで、本実施例による重みの修正の効果を明確にするため、差分文字列「練習」の重みを大きくせずに生成したプロファイル1901と、大きくして生成したプロファイル1902を用いた検索結果を比較する。文字列「練習」を含む文書は、プロファイル1901の検索結果1903においてはランクの３位である。それに対して、差分文字列「練習」の重みを大きくしたプロファイル1902による検索結果1904では、ランクの１位に表示される。このように、差分文字列の重みを大きくすることにより、ユーザが求めている文書のスコアを高くし、ランクの上位に表示することができる。
【００５８】
以上示したように、本実施例では、分類された結果のある文書集合に対して検索を行うシステムにおいて、分類によって同じ集合に属した文書群から共通した特徴を抽出し、その共通した特徴にはない文字列の重みを大きくしたプロファイルを作成している。これにより、その分類に属する文書と種文書との差を明確にした検索をすることができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第一の実施例における文書検索システムのシステム構成を示す図である。
【図２】システム制御プログラム110の処理の流れを示すPAD図である。
【図３】文書登録プログラム112の処理の流れを示すPAD図である。
【図４】検索制御プログラム111の処理の流れを示すPAD図である。
【図５】本発明の第一の実施例におけるプロファイル生成プログラム113の処理の流れを示すPAD図である。
【図６】文書検索プログラム114の処理の流れを示すPAD図である。
【図７】文書内容表示プログラム115の処理の流れを示すPAD図である。
【図８】プロファイル修正プログラム116の処理の流れを示すPAD図である。
【図９】修正方法指定プログラム117の処理の流れを示すPAD図である。
【図１０】本発明の第一の実施例において、ユーザが指定した種文書をもとにプロファイルが生成される処理の流れを示す図である。
【図１１】本発明の第一の実施例において、ユーザが指定した種文書の情報をもとにプロファイルが修正される処理の流れを示す図である。
【図１２】本発明の第一の実施例において、プロファイルにもとづいて検索した文書の内容を表示する例を示す図である。
【図１３】本発明の第一の実施例において、文字列の注目度に応じたプロファイルの値を修正する場合の画面例を示す図である。
【図１４】本発明の第二の実施例における文書検索システムのシステム構成のうち、主メモリ109の構成を示す図である。
【図１５】本発明の第二の実施例における検索制御プログラム1401の処理の流れを示すPAD図である。
【図１６】文書分類プログラム1402の処理の流れを示すPAD図である。
【図１７】本発明の第二の実施例におけるプロファイル生成プログラム1403の処理の流れを示すPAD図である。
【図１８】本発明の第二の実施例において、ユーザが指定した文書群および種文書の情報をもとにプロファイルを生成する処理の流れを示す図である。
【図１９】本発明の第二の実施例において、差分文字列の重みの大きさにより検索結果が変化する例を示す図である。
【符号の説明】
【００６０】
100：ディスプレイ、101：入力装置、102：中央演算処理装置（CPU）、109：主メモリ、110：システム制御プログラム、111：検索制御プログラム、112：文書登録プログラム、113：プロファイル生成プログラム、114：文書検索プログラム、115：文書内容表示プログラム、116：プロファイル修正プログラム、117：修正方法指定プログラム、123：検索制御プログラム、124：文書分類プログラム、125：プロファイル修正プログラム、1401：検索制御プログラム、1402：文書分類プログラム、1403：プロファイル生成プログラム、1404：分類情報保存エリア
【図１】
2005084943.tif 000008
【図２】
2005084943.tif 000009
【図３】
2005084943.tif 000010
【図４】
2005084943.tif 000011
【図５】
2005084943.tif 000012
【図６】
2005084943.tif 000013
【図７】
2005084943.tif 000014
【図８】
2005084943.tif 000015
【図９】
2005084943.tif 000016
【図１０】
2005084943.tif 000017
【図１１】
2005084943.tif 000018
【図１２】
2005084943.tif 000019
【図１３】
2005084943.tif 000020
【図１４】
2005084943.tif 000021
【図１５】
2005084943.tif 000022
【図１６】
2005084943.tif 000023
【図１７】
2005084943.tif 000024
【図１８】
2005084943.tif 000025
【図１９】
2005084943.tif 000026