(57)【特許請求の範囲】
【請求項１】
複数の要素によって構成されるデータおよび該データの検索項目について要素ベクトルを作成する作成手段と、
前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類手段と、
前記分類手段によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、各要素ベクトルのフィードバック値を求める算出手段と、
前記算出手段によって求められた各要素ベクトルのフィードバック値を、前記要素ベクトルにそれぞれベクトル要素として割り当てる割り当て手段と、
前記割り当て手段によってフィードバック値が割り当てられた、前記データの要素ベクトルと前記検索項目の要素ベクトルとの間で演算を実行する演算手段と、
前記演算手段によって実行された演算結果に基づいて、前記データの順位付けに関する値を求める順位付け手段と、
前記順位付け手段によって求められた値に基づいて前記データを並べて表示する表示手段と、
を備えることを特徴とするデータ検索装置。
【請求項２】
前記演算手段によって前記演算を実行した後に、前記分類手段による前記データを再び適合データと非適合データに分類する処理、前記算出手段による各要素ベクトルのフィードバック値を求める処理、前記割り当て手段によるフィードバック値の割り当て処理、前記演算手段による演算処理を、１回または複数回繰り返すことにより前記順位付け手段によって使用される演算値を求めることを特徴とする請求項１に記載のデータ検索装置。
【請求項３】
前記分類手段は、前記検索項目を前記適合データに分類することを特徴とする請求項１または２に記載のデータ検索装置。
【請求項４】
前記算出手段は、求めたフィードバック値が負の値の場合、０にすることを特徴とする請求項１〜３のいずれか一つに記載のデータ検索装置。
【請求項５】
前記分類手段は、適合データまたは非適合データのいずれか一方が指摘されなかった場合、分類されなかったデータの集合を、適合データまたは非適合データの指摘されなかった方に分類することを特徴とする請求項１〜４のいずれか一つに記載のデータ検索装置。
【請求項６】
ユーザ間の関係の深さに関する値を入力する入力手段を備え、
前記算出手段は、前記入力手段によって入力された、情報の提示を求めるユーザとフィードバックを入力したユーザとの間の関係の深さに関する値にしたがって前記フィードバック値を増減することを特徴とする請求項１〜５のいずれか一つに記載のデータ検索装置。
【請求項７】
前記算出手段は、Ｒｏｃｃｈｉｏ法を利用することにより前記フィードバック値を求めることを特徴とする請求項１〜６のいずれか一つに記載のデータ検索装置。
【請求項８】
前記算出手段は、Ｂａｙｅｓ法を利用することにより前記フィードバック値を求めることを特徴とする請求項１〜７のいずれか一つに記載のデータ検索装置。
【請求項９】
前記算出手段は、ＳＶＭを利用することにより前記フィードバック値を求めることを特徴とする請求項請求項１〜８のいずれか一つに記載のデータ検索装置。
【請求項１０】
前記検索項目に従って前記データを検索する検索手段を備え、前記作成手段は、前記検索手段によって検索されたデータおよび前記検索項目について要素ベクトルを作成することを特徴とする請求項１〜９のいずれか一つに記載のデータ検索装置。
【請求項１１】
前記データは文書であり、前記要素は前記文書を構成する単語であり、前記要素ベクトルは、前記単語についてそれぞれ値を割り当てることによって作成される単語ベクトルであることを特徴とする請求項１〜１０のいずれか一つに記載のデータ検索装置。
【請求項１２】
前記算出手段は、適合データおよび非適合データの各集合から学習することによりデータ間の距離計算法を修正し、学習結果によって得られた数値が所定の範囲に納まるように所定の倍率をかけることによって、前記フィードバック値を求めることを特徴とする、請求項１〜１１のいずれか一つに記載のデータ検索装置。
【請求項１３】
複数の要素によって構成されるデータおよび該データの複数の検索項目について要素ベクトルを作成する作成手段と、
前記検索項目のそれぞれについて、前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類手段と、
前記分類手段によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、前記検索項目についての要素ベクトルをそれぞれ修正して、修正ベクトルを作成する修正手段と、
前記修正手段によって作成された修正ベクトルと前記データについての要素ベクトルとの間で演算を実行することにより前記検索項目についてそれぞれ評価値を求め、前記データについての修正ベクトルを該評価値でそれぞれ加重して合成することにより加算ベクトルを作成する合成手段と、
前記合成手段によって作成された加算ベクトルと前記データについての要素ベクトルとの間で演算を実行することにより、前記データの順位付けに関する値を求める順位付け手段と、
前記順位付け手段によって求められた値に基づいて前記データを並べて表示する表示手段と、
を備えることを特徴とするデータ検索装置。
【請求項１４】
前記修正手段は、前記検索項目についての要素ベクトルに、前記適合データについての要素ベクトルを加算し、前記非適合データについての要素ベクトルを減算することにより、前記修正ベクトルを作成することを特徴とする請求項１３に記載のデータ検索装置。
【請求項１５】
前記合成手段は、前記修正ベクトルと前記要素ベクトルとの間の内積をとることにより得られた内積値を、前記評価値として求めることを特徴とする請求項１３または１４に記載のデータ検索装置。
【請求項１６】
前記合成手段は、前記検索項目に対する修正ベクトルを、前記検索項目についての評価値でそれぞれ加重して加算することにより、前記加算ベクトルを作成することを特徴とする請求項１３〜１５のいずれか一つに記載のデータ検索装置。
【請求項１７】
作成手段と、分類手段と、算出手段と、割り当て手段と、演算手段と、順位付け手段と、表示手段と、を備えたデータ検索装置に用いるデータ検索方法であって、
前記作成手段が、複数の要素によって構成されるデータおよび該データの検索項目について要素ベクトルを作成する作成工程と、
前記分類手段が、前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類工程と、
前記算出手段が、前記分類工程によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、各要素ベクトルのフィードバック値を求める算出工程と、
前記割り当て手段が、前記算出工程によって求められた各要素ベクトルのフィードバック値を、前記要素ベクトルにそれぞれベクトル要素として割り当てる割り当て工程と、
前記演算手段が、前記割り当て工程によってフィードバック値が割り当てられた、前記データの要素ベクトルと前記検索項目の要素ベクトルとの間で演算を実行する演算工程と、
前記順位付け手段が、前記演算工程によって実行された演算結果に基づいて、前記データの順位付けに関する値を求める順位付け工程と、
前記表示手段が、前記順位付け工程によって求められた値に基づいて前記データを並べて表示する表示工程と、
を含むことを特徴とするデータ検索方法。
【請求項１８】
請求項１７に記載のデータ検索方法をコンピュータに実行させることを特徴とするデータ検索プログラム。
【請求項１９】
請求項１８に記載のデータ検索プログラムを記録したことを特徴とするコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データの検索結果をフィードバックさせて使用するデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータに読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、文書の検索や分類の精度を向上させるためには、関連語による単語ベクトルの拡張が有効とされてきた。関連語辞書は、一般に人手もしくは、文書コーパスからの自動抽出によって作成されるが、人手による場合は手間がかかり、文書コーパスからの自動抽出の場合、検索・分類行動の変化に対応できない。これに対し、適合性フィードバック（ｒｅｌｅｖａｎｃｄ  ｆｅｅｄｂａｃｋ）を採用していた。
【０００３】
この適合性フィードバックとは、検索結果の文書の内容に基づいて、検索戦略（検索式、ランキング手法等）を変更する方法である。例を挙げると、適合文書（検索意図に合致する文書）や、その反対の非適合文書を、ユーザにいくつか選択させ、その文書内の単語情報によって検索式を拡張する（たとえば、非特許文献１）。すなわち、適合性フィードバックは、検索結果に対する評価を利用して、検索結果を洗練する手法であり、検索結果の精度を向上させることができる。
【０００４】
また、検索結果の上位数件を、擬似的に適合文書として、適合性フィードバックを行うことにより、適合・非適合文書の選択を必要とせずに適合性フィードバックを実現する、擬似的な適合性フィードバック（ｐｓｅｕｄｏ  ｒｅｌｅｖａｎｃｅ  ｆｅｅｄｂａｃｋ）という方法もある（たとえば、非特許文献１）。
【０００５】
検索のたびに、適合・非適合文書の選択を必要としない別の方法として、過去の適合性フィードバックで得られた情報を、検索モデルに反映する方法がある。典型的な例では、クエリーと文書それぞれの単語ベクトルに対して、通常は単純に内積等で適合度を計算するところを、一次変換をかけて（つまり、単語を関連語に拡張して）、その後に内積の計算を行うところが異なっている。一次変換は、既存のクエリーに対する適合・非適合文書から、行列演算で学習して得ることが出来る。この方法により、検索のたびに文書の評価を行う必要が無く、ユーザの特性を考慮して検索することができる。
【０００６】
【非特許文献１】リカード（Ｒｉｃａｒｄ）．Ｂ．Ｙ、バーサー（Ｖｅｒｔｈｉｅｒ）．Ｒ．Ｎ著、「現代情報検索（Ｍｏｄｅｒｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｉｒｉｅｖａｌ）」、ＡＣＭプレス（Ｐｒｅｓｓ）、１９９９年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、適合性フィードバックを使用するだけでは、一般に検索精度は向上するが、検索のたびに適合・非適合文書を選択し、評価を入力する手間が掛かる。また、擬似的な適合性フィードバックを使用する方法は、検索結果の上位に適合文書が多い事を期待した方法なので、検索結果の上位に適合文書が少ない場合は、逆効果となる場合がある。また、通常の適合性フィードバックの場合、ユーザの特性や検索意図を反映できるのに対し、この方法では反映できない。
【０００８】
また、過去の適合性フィードバックを検索モデルに反映する場合、行列の特異値分解が必要なため、Ｗｅｂ上の様に大規模であったり追加・修正が激しい場合への対応が難しいという問題がある。また、検索意図に関わらず、全く同一の関連語拡張を行うため、状況に応じた検索がしにくいという問題がある。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、既存の似た意図の検索の評価情報がある場合、新たに評価を行う必要無しに検索結果を洗練させることができるデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータに読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかるデータ検索装置は、複数の要素によって構成されるデータおよび該データの検索項目について要素ベクトルを作成する作成手段と、前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類手段と、前記分類手段によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、各要素ベクトルのフィードバック値を求める算出手段と、前記算出手段によって求められた各要素ベクトルのフィードバック値を、前記要素ベクトルにそれぞれベクトル要素として割り当てる割り当て手段と、前記割り当て手段によってフィードバック値が割り当てられた、前記データの要素ベクトルと前記検索項目の要素ベクトルとの間で演算を実行する演算手段と、前記演算手段によって実行された演算結果に基づいて、前記データの順位付けに関する値を求める順位付け手段と、前記順位付け手段によって求められた値に基づいて前記データを並べて表示する表示手段と、を備えることを特徴とする。
【００１１】
この請求項１の発明によれば、データの適合／非適合から得られるフィードバックを使用することにより、検索項目およびデータに対応した要素ベクトルを拡張することができる。それにより、要素間の相関性を持たせることができ、検索項目に含まれない要素を考慮した検索結果を得ることができる。その結果、データに対して再検索する場合に、要素間の相関性を反映させることにより検索結果を洗練させることができる。
【００１２】
また、請求項２の発明にかかるデータ検索装置は、請求項１に記載の発明において、前記演算手段によって演算を実行した後に、前記分類手段による前記データを再び適合データと非適合データに分類する処理、前記算出手段による各要素ベクトルのフィードバック値を求める処理、前記割り当て手段によるフィードバック値の割り当て処理、前記演算手段による演算処理を、１回または複数回繰り返すことにより前記順位付け手段によって使用される演算値を求めることを特徴とする。
【００１３】
この請求項２の発明によれば、拡張された要素ベクトルについて１回または複数回演算を実行することにより、要素ベクトルをさらに拡張することができる。それにより、要素間の相関性をさらに高めることができ、データに対して再検索する場合に、要素間の相関性をより反映させ、検索結果を洗練させることができる。
【００１４】
また、請求項３の発明にかかるデータ検索装置は、請求項１または２に記載の発明において、前記分類手段は、前記検索項目を前記適合データに分類することを特徴とする。
【００１５】
この請求項３の発明によれば、適合データと非適合データとの相違だけでなく、検索項目も正の相関をもつものとしてフィードバック値を求めることができる。それにより、より検索項目の意図に近い形で要素ベクトルをフィードバックさせることができる。
【００１６】
また、請求項４の発明にかかるデータ検索装置は、請求項１〜３のいずれか一つに記載の発明において、前記算出手段は、求めたフィードバック値が負の値の場合、０にすることを特徴とする。
【００１７】
この請求項４の発明によれば、求めたフィードバック値に負の値が含まれないようにすることができる。それにより、ベクトルに負の値が生ずることによるノイズの発生を抑えることができる。
【００１８】
また、請求項５の発明にかかるデータ検索装置は、請求項１〜４のいずれか一つに記載の発明において、前記分類手段は、適合データまたは非適合データのいずれか一方が指摘されなかった場合、分類されなかったデータの集合を、適合データまたは非適合データの指摘されなかった方に分類することを特徴とする。
【００１９】
この請求項５の発明によれば、適合データまたは非適合データの一方にしか分類されない場合に、偏った分類結果に基づいたフィードバックを防ぐことができる。
【００２０】
また、請求項６の発明にかかるデータ検索装置は、請求項１〜５のいずれか一つに記載の発明において、ユーザ間の関係の深さに関する値を入力する入力手段を備え、前記算出手段は、前記入力手段によって入力された、情報の提示を求めるユーザとフィードバックを入力したユーザとの間の関係の深さに関する値にしたがって前記フィードバック値を増減することを特徴とする。
【００２１】
この請求項６の発明によれば、ユーザの間の関係にしたがったフィードバック値を得ることができ、それによりユーザの意図に沿った形で検索結果を洗練させることができる。
【００２２】
また、請求項７の発明にかかるデータ検索装置は、請求項１〜６のいずれか一つに記載の発明において、前記算出手段は、Ｒｏｃｃｈｉｏ法を利用することにより前記フィードバック値を求めることを特徴とする。
【００２３】
この請求項７の発明によれば、Ｒｏｃｃｈｉｏ法により、洗練されたフィードバック値を求めることができる。
【００２４】
また、請求項８の発明にかかるデータ検索装置は、請求項１〜７のいずれか一つに記載の発明において、前記算出手段は、Ｂａｙｅｓ法を利用することにより前記フィードバック値を求めることを特徴とする。
【００２５】
この請求項８の発明によれば、Ｂａｙｅｓ法により、洗練されたフィードバック値を求めることができる。
【００２６】
また、請求項９の発明にかかるデータ検索装置は、請求項１〜８のいずれか一つに記載の発明において、前記算出手段は、ＳＶＭを利用することにより前記フィードバック値を求めることを特徴とする。
【００２７】
この請求項９の発明によれば、ＳＶＭを使用して算出することにより、洗練されたフィードバック値を求めることができる。
【００２８】
また、請求項１０の発明にかかるデータ検索装置は、請求項１〜９のいずれか一つに記載の発明において、前記検索項目に従って前記データを検索する検索手段を備え、前記作成手段は、前記検索手段によって検索されたデータおよび前記検索項目について要素ベクトルを作成することを特徴とする。
【００２９】
この請求項１０の発明によれば、検索することにより得られる視点を使用することにより、データおよび検索項目の要素ベクトルを拡張することができる。それにより、検索結果がフィードバックされ、検索結果を洗練させることができる。
【００３０】
また、請求項１１の発明にかかるデータ検索装置は、請求項１〜１０のいずれか一つに記載の発明において、前記データは文書であり、前記要素は前記文書を構成する単語であり、前記要素ベクトルは、前記単語についてそれぞれ値を割り当てることによって作成される単語ベクトルであることを特徴とする。
【００３１】
この請求項１１の発明によれば、文書を検索するにあたり適合文書と非適合文書の違いから、単語間の相関性を求め、検索項目に含まれない単語を考慮して文書を検索することができる。それにより単語の検索結果を洗練させることができる。たとえば、検索エンジンにおいて、より関連性の高い文書を上位に提示することができる。
【００３２】
また、請求項１２の発明にかかるデータ検索装置は、請求項１〜１１のいずれか一つに記載の発明において、前記算出手段は、適合データおよび非適合データの各集合から学習することによりデータ間の距離計算法を修正し、学習結果によって得られた数値が所定の範囲に納まるように所定の倍率をかけることによって、前記フィードバック値を求めることを特徴とする。
【００３３】
この請求項１２の発明によれば、適合データおよび非適合データの分類結果から、学習によって検索結果を洗練させることができる。そして、その計算方法を適正な範囲に納まるように修正するので、より適切な検索結果を得ることができる。
【００３４】
請求項１３の発明にかかるデータ検索装置は、複数の要素によって構成されるデータおよび該データの複数の検索項目について要素ベクトルを作成する作成手段と、前記検索項目のそれぞれについて、前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類手段と、前記分類手段によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、前記検索項目についての要素ベクトルをそれぞれ修正して、修正ベクトルを作成する修正手段と、前記修正手段によって作成された修正ベクトルと前記データについての要素ベクトルとの間で演算を実行することにより前記検索項目についてそれぞれ評価値を求め、前記データについての修正ベクトルを該評価値でそれぞれ加重して合成することにより加算ベクトルを作成する合成手段と、前記合成手段によって作成された加算ベクトルと前記データについての要素ベクトルとの間で演算を実行することにより、前記データの順位付けに関する値を求める順位付け手段と、前記順位付け手段によって求められた値に基づいて前記データを並べて表示する表示手段と、を備えることを特徴とする。
【００３５】
この請求項１３の発明によれば、データの適合／非適合から得られるフィードバックを使用することにより、検索項目に対応した要素ベクトルを拡張することができる。それにより、データに対して再検索する場合に、要素間の相関性を反映させることにより検索結果を洗練させることができる。ここで、データが大量に提供される場合でも、検索項目についてベクトル要素を拡張すればよい、大量のデータ全てについて拡張処理を実行する必要がなくなる。それにより、必要以上の演算処理を実行する必要がなくなり、処理負担や時間をかけることなく所望の検索結果を得ることができる。
【００３６】
また、請求項１４の発明にかかるデータ検索装置は、請求項１３に記載のデータ検索装置において、前記修正手段は、前記検索項目についての要素ベクトルに、前記適合データについての要素ベクトルを加算し、前記非適合データについての要素ベクトルを減算することにより、前記修正ベクトルを作成することを特徴とする。
【００３７】
この請求項１４の発明によれば、検索項目についての要素ベクトルは、適合データを正、非適合データを負として修正される。それにより、検索項目についての要素ベクトルを、より的確な検索結果を得ることができる形で利用することができ、それにより所望の演算結果を得ることができる。
【００３８】
また、請求項１５の発明にかかるデータ検索装置は、請求項１３または１４に記載のデータ検索装置において、前記合成手段は、前記修正ベクトルと前記要素ベクトルとの間の内積をとることにより得られた内積値を、前記評価値として求めることを特徴とする。
【００３９】
この請求項１５の発明によれば、修正ベクトルと要素ベクトルの内積値を評価値とすることができる。それにより、修正ベクトルに加重する評価値としてより適切な値を求めることができる。そして、適切な評価値を使用することにより所望の検索結果を得ることができる。
【００４０】
また、請求項１６の発明にかかるデータ検索装置は、請求項１３〜１５のいずれか一つに記載のデータ検索装置において、前記合成手段は、前記検索項目に対する修正ベクトルを、前記検索項目についての評価値でそれぞれ加重して加算することにより、前記加算ベクトルを作成することを特徴とする。
【００４１】
この請求項１６の発明によれば、修正ベクトルを評価値で加重することにより加算ベクトルを求めることができる。評価値が大きくなる検索項目について修正ベクトルが加重されるので、修正ベクトルごとのばらつきを抑えた形で適切な加算ベクトルを求めることができ、それにより所望の検索結果を得ることができる。
【００４２】
請求項１７の発明にかかるデータ検索方法は、作成手段と、分類手段と、算出手段と、割り当て手段と、演算手段と、順位付け手段と、表示手段と、を備えたデータ検索装置に用いるデータ検索方法であって、前記作成手段が、複数の要素によって構成されるデータおよび該データの検索項目について要素ベクトルを作成する作成工程と、前記分類手段が、前記データのうち、ユーザによって適合データと指摘されたデータを適合データの集合に、非適合データと指摘されたデータを非適合データの集合に分類する分類工程と、前記算出手段が、前記分類工程によって分類された前記適合データの集合と前記非適合データの集合の間の相違に基づいて、各要素ベクトルのフィードバック値を求める算出工程と、前記割り当て手段が、前記算出工程によって求められた各要素ベクトルのフィードバック値を、前記要素ベクトルにそれぞれベクトル要素として割り当てる割り当て工程と、前記演算手段が、前記割り当て工程によってフィードバック値が割り当てられた、前記データの要素ベクトルと前記検索項目の要素ベクトルとの間で演算を実行する演算工程と、前記順位付け手段が、前記演算工程によって実行された演算結果に基づいて、前記データの順位付けに関する値を求める順位付け工程と、前記表示手段が、前記順位付け工程によって求められた値に基づいて前記データを並べて表示する表示工程と、を含むことを特徴とする。
【００４３】
この請求項１７の発明によれば、データの適合／非適合から得られるフィードバックを使用することにより、検索項目およびデータに対応した要素ベクトルを拡張することができる。それにより、要素間の相関性を持たせることができ、検索項目に含まれない要素を考慮した検索結果を得ることができる。その結果、データに対して再検索する場合に、要素間の相関性を反映させることにより検索結果を洗練させることができる。
【００４４】
請求項１８の発明にかかるデータ検索プログラムによれば、請求項１７に記載のデータ検索方法をコンピュータに実行させることができる。
【００４５】
また、請求項１９の発明にかかるコンピュータに読み取り可能な記録媒体は、請求項１８に記載のデータ検索プログラムをコンピュータが読み出して実行することができる。
【発明の効果】
【００４６】
本発明にかかるデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータに読み取り可能な記録媒体によれば、既存の評価を視点として再利用し、検索クエリーおよびデータのベクトルを拡張する事で、検索結果のランキングを改善する。その結果、たとえば既存の似た意図の検索の評価情報が有れば、新たに評価を行う必要無しに、検索結果を洗練することができるという効果を奏する。
【発明を実施するための最良の形態】
【００４７】
以下に添付図面を参照して、この発明によるデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータに読み取り可能な記録媒体の実施の形態を詳細に説明する。
【００４８】
（実施例１）
図１は、この発明の実施の形態によるデータ検索装置のハードウエア構成の一例を示すブロック図である。図中、ＣＰＵ１０１は装置全体を制御する。ＲＯＭ１０２は基本入出力プログラムを記憶する。ＲＡＭ１０３はＣＰＵ１０１のワークエリアとして使用される。
【００４９】
また、ＨＤＤ（ハードディスクドライブ）１０４はＣＰＵ１０１の制御にしたがってＨＤ（ハードディスク）１０５に対するデータのリード／ライトを制御する。ＨＤ１０５はＨＤＤ１０４の制御にしたがって書き込まれたデータを記憶する。
【００５０】
また、ＦＤＤ（フレキシブルディスクドライブ）１０６はＣＰＵ１０１の制御にしたがってＦＤ（フレキシブルディスク）１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、着脱自在であり、ＦＤＤ１０６の制御にしたがって書き込まれたデータを記憶する。
【００５１】
また、ＣＤ−ＲＷドライブ１０８はＣＰＵ１０１の制御にしたがってＣＤ−ＲＷ（または、ＣＤ−Ｒ、ＣＤ−ＲＯＭ）１０９に対するデータのリード／ライトを制御する。ＣＤ−ＲＷ１０９は着脱自在であり、ＣＤ−ＲＷドライブ１０８の制御にしたがって書き込まれたデータを記憶する。
【００５２】
また、ディスプレイ１１０はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示する。キーボード１１１は文字、数値、各種指示などの入力のための複数のキーを備える。マウス１１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などを行う。
【００５３】
また、ネットワークＩ／Ｆ１１３は、通信ケーブル１１４を介してＬＡＮやＷＡＮなどのネットワークに接続され、当該ネットワークとＣＰＵ１０１とのインターフェースとして機能する。バス１２０は上記各部を接続する。
【００５４】
図２は、この発明の実施の形態にかかるデータ検索装置の機能的構成を示すブロック図である。データ検索装置は、検索部２０１、ベクトル作成部２０２、分類部２０３、算出部２０４、割り当て部２０５、演算部２０６、順位付け部２０７によって構成される。以上の各構成は、図１に示したＣＰＵ１０１が、ＲＯＭ１０２からプログラムを読み出しＲＡＭ１０３をワークエリアとして使用することにより実現される。
【００５５】
検索部２０１は、複数の要素によって構成されるデータのうち、所定の検索項目を要素として含むデータを検索する。データが文書の場合、複数の文書から所定の検索語を含む文書を検索する。たとえば「和菓子」を検索語として入力した場合、「和菓子のレシピ集。季節の果物を使う。」などの「和菓子」を含む文書を検索する。以降、データが文書である場合を中心に説明していくが、実施例４において説明するように、データは文書以外であるとすることもできる。
【００５６】
ベクトル作成部２０２は、複数の要素によって構成されるデータおよび該データの検索項目について要素ベクトルを作成する。具体的には、検索された文書について単語ベクトルを作成する。たとえば、「和菓子のレシピ集。季節の果物を使う。」という文書が検索された場合、（和菓子：０．５、レシピ：０．５、季節：０．５、果物：０．５）という単語ベクトルを作成することができる。
【００５７】
分類部２０３は、検索された文書を、適合文書と非適合文書に分類する。たとえば、「和菓子」という語を含む文書を検索しても、検索意図にあった文書とそうでない文書の両方が含まれる。そこで、検索意図に合った文書を適合文書に、検索意図に合わない文書を非適合文書に分類し、後述の処理を実行することによりその後の検索結果を洗練させる。また、検索された文書のうち少なくとも１つを、適合文書または非適合文書に分類することもできる。また、検索された文書を、適合文書と非適合文書のうち一方にのみ分類された場合、検索された文書のすべてを分類できなかった文書の集合とすることもできる。
【００５８】
算出部２０４は、分類された適合文書の集合と非適合文書の集合の間の相違に基づいてフィードバック値を求める。具体的には、適合文書と非適合文書のそれぞれについて代表的な値をもつベクトルを求め、両者の差分である差分ベクトルを求め、差分ベクトルと各文書の単語ベクトルの内積値からフィードバック値を求める。
【００５９】
また、適合文書および非適合文書の各集合から学習することによりデータ間の距離計算法を修正し、学習結果によって得られた数値が所定の範囲に納まるように所定の倍率をかけることによって、フィードバック値を求めることもできる。また、ＳＶＭのスコアを利用することによりフィードバック値を求めることもできる。
【００６０】
割り当て部２０５は、算出部２０４によって求められたフィードバック値を、各文書の単語ベクトルにそれぞれ割り当てる。すなわち、フィードバック値を各単語ベクトルの一要素とし、一次元として追加する。
【００６１】
演算部２０６は、割り当て部２０５によってフィードバック値が割り当てられた単語ベクトルを参照することにより、前記データの要素ベクトルと前記検索項目の要素ベクトルとの間で演算を実行する。演算実行後に、分類部２０３、算出部２０４、割り当て部２０５、演算部２０６による演算処理を、１回または複数回繰り返すことにより演算結果を洗練させることもできる。
【００６２】
順位付け部２０７は、演算部２０６によって実行された演算結果に基づいて、データの順位付けに関する値を求める。たとえば、得られたスコアの値の順に文書を並べ、順番に文書を表示する。
【００６３】
上述の構成により、文書集合からユーザの意図に沿った文書を検索する。例えば、和菓子の作り方を知りたいユーザによって、「和菓子」というクエリーが検索部２０１に入力される。そして検索部２０１によって、図３において説明される文書群が検索される。なお、単語や概念のベクトルによって検索することができるが、ブーリアン等他の検索システムでも、同様の効果を得ることもできる。この場合、得られた結果だけを、クエリーのベクトルに近い順にランキングすることにより検索する。ここでは、単語ベクトルによる検索システムであることを仮定して話を進める。
【００６４】
なお、単語ベクトルの作成方法としては、ＴＦ（単語頻度）に基づく方法や、ＴＦ・ＩＤＦ（単語が出現する文書頻度の逆数）に基づく方法等、様々な方法があり、任意の手法と組み合わせが可能である。ここでは、いずれかの手法によって、単語ベクトルは作成できているものとする。
【００６５】
単語ベクトルの作成にあたっては、まず文書から単語を抽出する。抽出された単語について、上述のように単語ベクトルを作成する。なお、抽出する単語が英語の場合と日本語の場合では方法は異なる。まず、英語の場合、単語間に空白があるので、個々の単語を容易に取り出せる。また、名詞は単数、複数で語尾変化する。動詞も時制、数で語尾変化する。一方、日本語の場合、膠着言語であり、単語の切れ目が形だけでは分からない。また、名詞は語尾変化しない。また、多数の名詞が繋がって複合名詞を形成することが多い。また、漢字は１文字でそれなりの意味を持つ。
【００６６】
英語のターム抽出について説明する。英語では、異形態から語幹を抽出する。例えば、ｅｎｇｉｎｅｅｒｉｎｇ，ｅｎｇｉｎｅｅｒｅｄ，ｅｎｇｉｎｅｅｒｅｓなどから共通の語幹ｅｎｇｉｎｅｅｒを抽出する。最もナイーブな方法は、全ての異形態に語幹を対応させる対応辞書を作っておき、入力された異形態から辞書引きによって語幹を求める。ただし、この対応辞書は膨大なものになるので、語幹を求める規則を用意しておき、それを適用することもできる。この規則の例を次に示す。
【００６７】
ａｔｉｏｎａｌ−−＞ａｔｅ（ｒｅｌａｔｉｏｎａｌ−−＞ｒｅｌａｔｅ）、
ｔｉｏｎａｌ  −−＞ｔｉｏｎ（ｃｏｎｄｉｔｉｏｎａｌ−−＞ｃｏｎｄｉｔｉｏｎ）、
ａｔｏｒ−−＞ａｔｅ（ｏｐｅｒａｔｏｒ−−＞ｏｐｅｒａｔｅ）、
ｌｙ−−＞ＮＵＬＬ（ｔｒｕｅｌｙ−−＞ｔｒｕｅ）
とすることができる。
【００６８】
また、文書を特徴付けない一般的な語をリストに登録しておき、このリストにある語を取り除く。除く語の例としては、ａ，ａｂｏｕｔ，ａｂｏｖｅ，ａｃｒｏｓｓ，ａｆｔｅｒ，ａｇａｉｎ，・・・，ｇｅｔ，ｇｉｖｅ，ｇｏ，・・・，ｔｈａｔ，ｔｈｅ，・・・，ｘ，ｙ，ｙｅａｒ，ｙｏｕ，・・・，ｚが挙げられる。
【００６９】
次に、日本語のターム抽出について説明する。先に述べた日本語の性質からすれば、タームとして、文字ないしｎ文字の連続（これをｎ−ｇｒａｍという）であるもの、単語、の２種類が考えられる。
【００７０】
まず、ｎ−ｇｒａｍについて説明する。日本語の場合は複雑な形態素解析をしなければ単語を切り出すことができない。そこで、形態素解析を使わずにキーワードらしきものを切り出す方法としてｎ−ｇｒａｍがある。ｎ−ｇｒａｍはｎ個の連続する文字列である。例えば、「形態素解析辞書」からは、「形態」「態素」「素解」「解析」「析辞」「辞書」の６個の２−ｇｒａｍ  が得られる。しかし、「辞書は」という文節からは「書は」などという意味のないタームも出て来てしまう。そこで、これらの２−ｇｒａｍから何らかの基準を使ってよりよいキーワードを選択する。
【００７１】
次に、単語について説明する。日本語の場合は、文から単語を切り出す形態素解析を行う。形態素解析し、単語を切り出した場合、英語のような異形態は比較的少ない。「ＸＸ的」などは、形態素解析で「的」まで分離してくれるものもある。また、形態素解析は単語の品詞も分かる。そこでｓｔｏｐ  ｗｏｒｄとして品詞を使うことができる。このとき、ターム候補として名詞だけを選ぶこともできる。
【００７２】
図３は、検索された文書の単語ベクトルを説明する説明図である。まず、「和菓子」が検索された場合について説明する。このクエリー３００の単語ベクトルは、（和菓子：１）である。これに対し、次の文書３０１〜３０４が検索結果の一部であった場合について説明する。
【００７３】
検索結果の文書３０１は、「和菓子のレシピ集。季節の果物を使う。」であり、文書３０１の単語ベクトルは、（和菓子：０．５、レシピ：０．５、季節：０．５、果物：０．５）である。検索結果の文書３０２は、「通信販売。和菓子特集。ようかん１０００円。」であり、単語ベクトルは、（通信：０．５、販売：０．５、和菓子：０．４、特集：０．３、ようかん：０．５）である。
【００７４】
検索結果の文書３０３は、「和菓子の歴史。粒あんとこしあんの違い。」であり、単語ベクトルは、（和菓子：０．４、歴史：０．８、粒あん：０．４、こしあん：０．２）である。検索結果の文書３０４は、「美味しい和菓子を作るコツ。下ごしらえが大事。」であり、単語ベクトルは、（和菓子：０．２、コツ：０．８、下ごしらえ：０．４、大事：０．４）である。
【００７５】
図４は、クエリーと検索結果の各文書の角度のコサイン値行列を説明する説明図である。ベクトル間の距離尺度として、ベクトル同士のなす角のコサイン値を利用する場合を考える。この場合、コサイン値が大きいほど、ベクトル同士が似ていると見なすため、一般的な距離尺度とは大小関係が逆となる。また、他の距離尺度、例えばユークリッド距離等を利用した場合でも同様に成り立つ。
【００７６】
この距離尺度でランキングする場合、クエリーに対する文書３０１〜３０４のスコア（ベクトル間の角度のコサイン値）は、それぞれ０．５、０．４、０．４、０．２となる。その結果、文書３０１〜３０４の順番で提示される。そして、クエリー３００および文書３０１〜３０４の全てのベクトル間のスコアは、図４に示す通りとなる。
【００７７】
図５は、差分ベクトルを求める処理を説明する説明図である。ここで、文書３０１〜３０４を、適合文書と非適合文書に分類する。文書３０１〜３０４に関して、ユーザの意図は、和菓子の作成にあることを例に挙げて説明する。この場合、文書３０１および３０４が希望文書に近く、文書３０２および３０３は遠いと考えられる。そこでユーザは、文書３０１および３０４を適合文書と指摘し、文書３０２および３０３を非適合文書と指摘したとする。そして分類部２０３は、文書３０１および３０４を適合文書集合５０１に、文書３０２および３０３を非適合文書集合５０２に分類する。
【００７８】
このユーザからのフィードバックを利用して、適合文書集合５０１と非適合文書集合５０２を識別する関数の学習処理を行う。この学習処理には、様々な手法が考えられ、一般的な学習手法である、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）やＮＢ（Ｎａｉｖｅ  Ｂａｙｅｓ）やｋ−ＮＮ（ｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｂｏｕｒ）等を利用しても良い。ここでは、より簡便な各文書集合の重心間の差分ベクトルを利用する手法に沿って、説明を行う。
【００７９】
適合文書集合５０１（文書３０１および３０４）の重心は、（和菓子：０．３５、レシピ：０．２５、季節：０．２５、果物：０．２５、コツ：０．４、下ごしらえ：０．２、大事：０．２）となる。非適合文書集合５０２（文書３０２および３０３）の重心は、（通信：０．２５、販売：０．２５、和菓子：０．４、特集：０．１５、ようかん：０．２５、歴史：０．４、粒あん：０．２、こしあん：０．１）となる。
【００８０】
これらの差分である差分ベクトル５０３は、（和菓子：−０．０５、レシピ０．２５、季節：０．２５、果物；０．２５、コツ：０．４、下ごしらえ：０．２、大事：０．２、通信：−０．２５、販売：−０．２５、特集：−０．１５、ようかん：−０．２５、歴史：−０．４、粒あん：−０．２、こしあん：−０．１）となる。
【００８１】
ここで、スコア値を、差分ベクトル５０３とクエリー３００および各文書３０１〜３０４の単語ベクトルとの間で求める。このスコア値は、上述のように、ベクトル同士のなす角のコサイン値によって求め、具体的には、ベクトル間の内積を両ベクトルの絶対値で割ることによって求める。ここで、クエリー３００および各文書３０１〜３０４の単語ベクトルについて求められたスコア値を、各ベクトルに対するフィードバック値として、各ベクトルにそれぞれ割り当てる。
【００８２】
差分ベクトル５０３とクエリー３００の間のスコアは、−０．０５である。また、差分ベクトル５０３と、文書３０１〜３０４の単語ベクトルのスコアは、それぞれ約０．３８、約−０．４８、約−０．４８、約０．５１となる。適合文書３０１・３０４のスコアが高く、非適合文書３０２・３０３のスコアが低い指標となる。この指標となる差分ベクトル５０３を利用して、文書を再検索したり、検索結果の文書群を再ランキングしたりして、ユーザの意図により近い文書を効率的に発見することが可能となる。
【００８３】
ここで、ユーザが検索結果に対して与えた指標は、一つの視点であり、新たな次元として利用することも可能となる。そこで、この指標（評価関数値）を、各文書の新たな次元の一つとして追加する。今回は、新たな次元の値として、上記のスコアをそのまま用いるが、もちろん、値の範囲を何らかの手法で限定しても良い。値の範囲を限定する方法として、単純に、１以上の数値を全部１と見なしたり、シグモイド関数（１／（１＋ｅｘ））を通したりすることが考えられる。ここでは、以上のクエリーと４つの文書のベクトルをそのまま利用することを考える。
【００８４】
図６は、フィードバックを反映した単語ベクトルを説明する説明図である。図３に示したクエリー３００および文書３０１〜３０４に、それぞれの差分ベクトル５０３との間のスコアであるフィードバック値を割り当て、その結果であるクエリー６００および文書６０１〜６０４を図６に示している。
【００８５】
ここで、クエリー６００は、「和菓子」であり、クエリー６００の単語ベクトルは、（和菓子：１、フィードバック：−０．０５）である。検索結果の文書６０１は、「和菓子のレシピ集。季節の果物を使う。」であり、文書６０１の単語ベクトルは、（和菓子：０．５、レシピ：０．５、季節：０．５、果物：０．５、フィードバック：０．３８）である。
【００８６】
検索結果の文書６０２は、「通信販売。和菓子特集。ようかん１０００円。」であり、文書６０２の単語ベクトル（通信：０．５、販売：０．５、和菓子：０．４、特集：０．３、ようかん：０．５、フィードバック：−０．４８）である。検索結果の文書６０３は、「和菓子の歴史。粒あんとこしあんの違い。」であり、文書６０３の単語ベクトル（和菓子：０．４、歴史：０．８、粒あん：０．４、こしあん：０．２、フィードバック：−０．４８）である。検索結果の文書６０４は、「美味しい和菓子を作るコツ。下ごしらえが大事。」であり、文書６０４の単語ベクトル（和菓子：０．２、コツ：０．８、下ごしらえ：０．４、大事：０．４、フィードバック：０．５１）である。
【００８７】
図７は、フィードバックを反映したコサイン値行列を説明する説明図である。クエリー６００と各文書６０１〜６０４のスコアは、それぞれ０．４５、０．３８、０．３８、０．１６となる。また、文書６０１と文書６０２、６０３、６０４とのスコアは、それぞれ０．０１、０．０１、０．２４となる。文書６０２と文書６０３、６０４とのスコアはそれぞれ０．３２、−０．１３となる。文書６０３と文書６０４とのスコアは、−０．１３となる。
【００８８】
このように、フィードバックを反映させる操作の結果、この新たな次元の値（フィードバック値）が似ているベクトルの間のスコア（文書６０１・６０４間、文書６０２・６０３間）はより大きく、似ていないベクトル間のスコア（文書６０１・６０２間、文書６０１・６０３間、文書６０２・６０４間、文書６０３・６０４間）はより小さくなる。
【００８９】
図８は、フィードバックを反映した単語ベクトルの作成処理を説明するフローチャートである。まず、クエリー（検索項目）３００を入力する（ステップＳ８０１）。次に、検索部２０１は、文書を検索する（ステップＳ８０２）。それにより、文書３０１〜３０４が検索される。
【００９０】
次に、検索された文書３０１〜３０４について、単語ベクトルを作成する（ステップＳ８０３）。ここで作成される単語ベクトルは、図３に示したとおりである。そして、検索された文書３０１〜３０４を、適合文書と非適合文書に分類する（ステップＳ８０４）。それにより、文書３０１〜３０４は、適合文書集合５０１と非適合文書集合５０２に分けられる。次に、適合文書集合５０１と非適合文書集合５０２について重心を求める（ステップＳ８０５）。求められる重心は、図５において適合文書集合５０１および非適合文書集合５０２のそれぞれの単語ベクトルとして示している。
【００９１】
次に、適合文書集合５０１と非適合文書集合５０２の重心の間で、差分ベクトル５０３を求める（ステップＳ８０６）。次に、差分ベクトル５０３と各文書の単語ベクトルとの間のスコアをフィードバック値とする（ステップＳ８０７）。そして、求められたフィードバック値を各文書の単語ベクトルの要素値の１つにして（ステップＳ８０８）、一連の処理を終了する。
【００９２】
以上の様に、ユーザフィードバックを考慮に入れたデータ間の距離の補正が可能となる。このフィードバックを複数回繰り返すことによって、似ていると判定するユーザフィードバックが多ければよりベクトル間の角度を小さく、少なければよりベクトル間の角度を大きくする事が出来る。
【００９３】
この実施の形態では、過去の適合性フィードバックで得られた情報を、検索モデルに反映する。それにより従来の適合性フィードバックに比べて、状況依存の関連語拡張ができ、大規模対応しやすい構成となる。この実施の形態による適合性フィードバックを、具体例を用いて説明してきたが、次に、数式を用いた形で説明する。
【００９４】
図９は、適合性フィードバックで得られた情報を、検索モデルに反映する処理を説明するフローチャートである。この処理においては、適合性フィードバックにより視点を蓄積し、その上で視点を利用して検索を実行する。
【００９５】
適合性フィードバック時には、文書に対する評価式を決定する。この評価式は、文書がどれだけ検索意図に合致していたかを示す指標の場合、任意の式が利用可能ではあるが、後の計算のしやすさを考えて、次の線形の評価式を用いる。その式は、ｆ（ｄｏｃ）＝ｈ＋Σａｉｗｉである。但し、（ｗ１，ｗ２，ｗ３，・・・，ｗｎ）は文書の単語ベクトルである。また、（ａ１，ａ２，ａ３，・・・，ａｎ）とｈは、学習によって求められるパラメータである。
【００９６】
この評価式が高いほど、検索意図に合致する可能性を高くすることが望まれるが、そうなるようにパラメータを学習するにあたり、様々な手法が考えられる。ここでは、少数のデータで頑健に判別できるＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用する。適合性フィードバックにＳＶＭを利用することにより、検索精度を大きく改善することができる。
【００９７】
まず、文書を単語ベクトルに変換する（ステップＳ９０１）。単語ベクトルは、形態素解析後の自立語を各次元とし、ＴＦ・ＩＤＦ法で数値化する。その後、Ｌ２ノルムが１となるように正規化し、各文書の単語ベクトルとして使用する。このときのベクトルの値は、例えば文書内の各自立語の有無を、それぞれ２値（１，０）で数値化するなどとしてもよい。その後、Ｌ２ノルムが１となる様に正規化し、各文書の単語ベクトルとして使用する。その結果、図３に示す各文書３０１〜３０４についての単語ベクトルが作成される。
【００９８】
次に、クエリー３００を単語ベクトルに変換する（ステップＳ９０２）。クエリー中の各単語を、１単語のみの文書とみなして、文書と同様に単語ベクトルに変換する方法や、クエリー内の全単語を１つずつ含む単一の文書とみなして単語ベクトルに変換する方法が考えられる。次に、ＳＶＭの学習を行う（ステップＳ９０３）。ここで、非適合文書集合５０２の単語ベクトルを負例として、適合文書集合５０１の単語ベクトルと、クエリーの単語ベクトルを正例とする。
【００９９】
そして、学習されたＳＶＭの判定式を用いて評価式を構築する（ステップＳ９０４）。ＳＶＭの判定式は、０の場合、Ｓｅｐａｒａｔｉｎｇ  ｈｙｐｅｒｐｌａｉｎ上であり、±１の場合、それぞれ正例・負例側のＳｕｐｐｏｒｔｉｎｇ  ｈｙｐｅｒｐｌａｉｎ上である事を示す式である。このＳＶＭの判定値に１を足し、さらに負の場合は０に切り上げることで、評価式の値とする。
【０１００】
ここで求めた評価式は、適合性フィードバックの検索意図と文書がどれだけ合致しているかを示す指標である。つまり、目的を限定した、文書群に対する一つの視点とも言える。また、クエリーの単語ベクトルも学習対象としているため、同様のクエリーが入力された場合、クエリーの評価値も高くなることが期待できる。そのため、クエリーと文書を同列に扱うことが可能となる。このようにして、視点（評価式）を、適合性フィードバックのたびに蓄積し、文書やクエリーから視点ベクトルを構築できる様にしておく。
【０１０１】
以上のように視点が作成され、蓄積されるが、この蓄積された視点を利用して検索を実行することができる。視点ベクトルが似ていると言うことは、クエリーや文書が、評価や利用のされ方において似ている事を示す。そこで、視点ベクトルを、通常の検索で用いる単語ベクトルの代わりに利用する。
【０１０２】
検索を実行した後、クエリーの視点ベクトルと、文書の視点ベクトルとの内積が高い順に、検索結果をユーザに提示する。それにより、検索結果を適切な順序に並べて、ユーザが利用しやすい形で提示することができる。
【０１０３】
この実施の形態においては、クエリーの単語ベクトルを関連語拡張し、その後ベクトル空間モデルに基づいて、文書の検索を行っているとみなすことができる。ただし、以下の説明で明らかな様に、検索クエリーに応じて、別々に関連語拡張している。
【０１０４】
関連語拡張について説明する。クエリーの単語ベクトルをｑ＝（１，ｑ１，ｑ２，ｑ３，・・・，ｑｎ）、文書の単語ベクトルをｗ＝（１，ｗ１，ｗ２，ｗ３，・・・，ｗｎ）とする。ここで、上述のようにｆ（ｄｏｃ）＝ｈ＋Σａｉｗｉにより、視点ベクトルの要素を、それぞれこのベクトルと学習によって求められた評価式の重みであるｖｊ＝（ｈｊ，ａｊ１，ａｊ２，ａｊ３，・・・，ａｊｎ）の内積により求める。ただし、視点の値が０以下の値の場合には、０に切り上げる処理を実行する。つまり、視点ベクトルの構築は、評価式の重みの行列である、次の式を使用する
【０１０５】
【数１】
0004711761.tif 000002
【０１０６】
上記の式を利用して、行列演算を実行する。クエリーの視点ベクトルはＶｑ、文書の視点ベクトルはＶｗと表現でき、これらの内積は、（Ｖｗ）tＶｑ＝ｗtＶtＶｑと変形できる。つまり、クエリーの単語ベクトルであるｑを、ＶtＶにより一次変換することによって、関連語拡張をしていると見なせる。
【０１０７】
ただし、視点ベクトルの元として、負の値を認めず０に切り上げている。視点が負の値ということは、その視点の検索意図において、全然使い物にならないクエリーや文書である可能性が高いことを意味する。適合度が低い部分の類似度を計算すると、ノイズになるだけでメリットが無いため、この切り上げ処理を行っている。
【０１０８】
この切り上げ処理により、クエリーの視点ベクトルの中には、０になる次元が出てくる。０になった次元は、文書の視点ベクトルに対応する次元の値が何であろうと、視点ベクトル同士の内積に影響せず、無視できる。つまり、視点ベクトルへの変換行列Ｖの中で、実際の検索に利用するのは、クエリーの視点ベクトルの要素が正となる部分に対応する行だけである。この検索に利用する部分は、クエリーによって変化するため、状況に応じた関連語拡張が可能となっている。
【０１０９】
図１０は、適合性フィードバックを小規模文書に適用した場合のフィードバック処理を説明するフローチャートである。まず、クエリーと適合・非適合文書を入力する（ステップＳ１００１）。適合・非適合文書の入力は、既存文書を適合文書集合５０１または非適合文書集合５０２に分類することにより実行する。そして、クエリーと適合文書を正例として、非適合文書を負例として評価式を学習する（ステップＳ１００２）。
【０１１０】
フィードバック時の処理は以上のとおりであるが、ここで、クエリーを適合文書に混ぜる以外は、従来の適合性フィードバックを踏襲している。以上の処理により、クエリー中の語と適合文書中の特徴語を、両方とも評価値を上昇させる効果を持たせることが出来る。その結果、適合文書の評価値が高くなるのはもちろん、同じクエリーや、表現に揺らぎのあるクエリー（学習したクエリー中の語と適合文書中の特徴語が混ざっている場合）でも、評価値を高くすることが出来る。そのため、文書だけでなく、クエリーに関しても、どれだけフィードバックしたときの検索意図（使い道）に近いかどうかという基準として利用することができる。
【０１１１】
図１１は、適合性フィードバックを小規模文書に適用した場合の検索処理を説明するフローチャートである。まず、図１０に示したフィードバック処理を実行することにより、評価式を学習しておく。そして、クエリーと既存文書全てに対して、既存の全ての評価式を用いた評価値のベクトルを作成する（ステップＳ１１０１）。次に、評価値のベクトルの中の、負の値を全て０に置き換える（ステップＳ１１０２）。次に、ベクトル空間モデルを利用して、クエリーの評価値のベクトルに近い評価値のベクトルを持つ文書の順に、文書を提示する（ステップＳ１１０３）。ここで、近さの定義には、さまざまなものをあげることができる。例えば内積や差ベクトルのノルム等が考えられる。
【０１１２】
検索時の処理は以上のとおりであるが、ここでのポイントは、既存の全ての評価式を利用して、評価値のベクトルを作成する点と、評価値のベクトルの負の値を切り上げて０にする点である。前者は、検索意図が似ているかどうかを、既存の検索意図を学習した全ての評価式を利用してベクトルとして表現していることになる。つまり、検索意図が似ていれば、大きい評価値になる次元が似てくるはずである。
【０１１３】
後者は、ノイズを除去するための措置である。この処理を行わないと、どの様な検索意図でも使い物にならず、全ての評価値が負の値である様な文書が、特定の検索意図に基づくクエリー（つまり一部の次元だけが正で他の多くの次元が負の値）と近い文書とされてしまう。この様に、使い物にならない部分が似ていてもしかたなく、使い物になる検索意図の部分の類似性のみを見るために、負の値の切り上げを行っている。
【０１１４】
図１２は、適合性フィードバックを大規模文書に適用した場合の準備処理を説明するフローチャートである。まず、図１０に示したステップＳ１００１およびステップＳ１００２と同じ処理を実行しておく。すなわち、クエリーと適合・非適合文書を入力し、クエリーと適合文書を正例として、非適合文書を負例として評価式を学習する。
【０１１５】
その上で、準備処理を実行する。大規模文書群に対して適用する場合、文書一つ一つに対して評価値を計算していたのでは実用的な性能は出ない。そのため、数学的にクエリーのほうを工夫して、関連語拡張により同様に操作できるようにする。
【０１１６】
なお、小規模文書群に対しては、評価式等の形を限定しなかったが、大規模対応のために、「文書やクエリの単語等から作成したベクトルｗと学習によって求める重みベクトルｖの内積」という形に評価式を限定する。また、ベクトル空間モデルによる検索も、「内積が近いベクトルの順に結果を返す」という形に限定する。
【０１１７】
まず、フィードバック毎に、評価式の重みベクトルを得る（ステップＳ１２０１）。次に、評価式の重みベクトルを、ベクトル空間モデル（内積順）で高速に検索できるように準備する（ステップＳ１２０２）。ここでのポイントは、文書やクエリーのベクトルと同次元である、評価式の重みベクトルを、あたかも文書やクエリーのベクトルであるかの様に、高速なベクトル空間モデルによる検索が出来るようにしておく事である。そして、入力ベクトルとの内積が高い順に結果を出力する。具体的には、既存の代表的な手法である。転置索引を利用した手法等が考えられる。
【０１１８】
図１３は、適合性フィードバックを大規模文書に適用した場合の検索処理を説明するフローチャートである。まず、図１２に示した準備処理を実行しておく。この準備処理がされた大規模文書に対して次に説明する検索処理を実行する。
【０１１９】
まず、クエリーのベクトルを用いて、評価値の重みベクトル群を対象に検索し、内積が正になる重みベクトルのみを抽出する（ステップＳ１３０１）。次に、検索された重みベクトルを加重平均し、実際の文書のベクトルを検索するためのベクトルを算出する（ステップＳ１３０２）。ここで、加重平均の重みには、クエリーのベクトルとの内積の値を利用する。そして、文書検索用のベクトルを利用して、内積値が高い順に文書のベクトルを検索し（ステップＳ１３０３）、一連の処理を終了する。
【０１２０】
準備処理をしておくことにより、検索時には、文書毎に評価値を付与しておく必要無しに、単純な単語等のベクトルとしての検索が可能となる。このように、文書全てに適合性フィードバックによる視点の値を付与して、インデックス化することは必ずしも必要ではない。文書すべてに視点の値を付与しない場合、文書を従来どおりに単語ベクトルとしてインデックス化し、クエリーに対して、状況依存の関連語拡張を行う前処理をした後に、通常のベクトル空間モデルにより文書を検索することができる。つまり、大規模対応のためには、関連語拡張の部分の大規模対応で必要十分である。
【０１２１】
関連語拡張の前処理の部分、すなわちＶtＶｑの計算であるが、これも従来のベクトル空間モデルと同じ方法で可能である。評価式の重みベクトルである、ｖｊを、文書の単語ベクトルと見なしてインデックス化しておき、クエリーの単語ベクトルｑとの内積値が０以上の重みベクトルを検索する。この内積値を並べたクエリーの視点ベクトルがＶｑであり、検索された重みベクトル群を並べた行列がＶであるため、重みベクトルの単純な線形和として、ＶtＶｑが算出できる。
【０１２２】
厳密には、この方法だと、文書の視点の値を０に切り上げる処理を省略した事になる。しかし、元々視点の値を０に切り上げた意図は、視点が負の値同士の場合に、内積値が上昇してノイズになるのを防ぐことが主目的であったため、クエリーの視点ベクトルだけの切り上げで十分である事が予想される。
【０１２３】
この前処理は、擬似的な適合性フィードバックにおいて、１回文書を検索して、その文書によってクエリーの関連語拡張を行う処理と、全く同じである。ただ、前処理で検索するのが、文書の単語ベクトルなのか、評価式の重みベクトルなのかの違いが有るだけである。以上の考察により、理論上は擬似的な適合性フィードバックと同程度の大規模対応性能が有ると言え、本手法の検索１回につき、ベクトル空間モデルによる検索を２回行う程度の計算量である事が分かる。
【０１２４】
以上の実施の形態においては、適合性フィードバックを使用して検索する例について説明してきたが、検索以外にもベクトル空間モデルの手法が適用できる。この実施の形態においては、通常の（単語ベクトル等を利用した）ベクトル空間モデルの中に、評価値のベクトルを利用したベクトル空間モデルを組み込む。そのため、従来の単語ベクトル等で利用できた検索・分類・クラスタリング等の手法は、全て評価値のベクトルに対しても利用可能である。
【０１２５】
また、ベクトルの次元が単語ではなく評価に基づくので、扱いやすい粒度で処理することができる。したがって、評価式には意図や作成者があるので、この性質を利用して、一定範囲のコミュニティー内で作成された評価式を重視する（評価値の値を数倍する）等の工夫が簡単に出来る。
【０１２６】
また、評価式同士の関連性が容易に取得可能である。例えば、評価式が単語ベクトルと重みベクトルの内積で算出できる場合、評価式は重みベクトルとして表現できる。重みベクトルは、単語ベクトルと同じ次元数のベクトルであるため、評価式の重みベクトル同士の遠近関係なども容易に取得できる。そのため、評価式をそのまま検索に利用するのではなく、クエリーの評価値が高くなる評価式の重みベクトルをクラスタリングして、評価式の総数を絞り、それぞれの評価式毎に別々の検索結果を返すことなどが可能である。これらの検索結果の中で、最も意図に沿った検索結果を選ぶことで、ユーザに検索結果の選択肢を提示することが出来る。
【０１２７】
（実施例２）
次に、複数の検索クエリーを使用した場合の例を説明する。まず、検索対象文書と検索クエリーを共に単語ベクトルとして表現しておく。単語ベクトル化には、様々な方法が有るが、ここでは一例として、単語の有無をそれぞれ１と０の２値に変換し、その後ユークリッドノルムを正規化してベクトル化する手法を採用する。
【０１２８】
このベクトル化の手法によって、クエリーと文書は次のように単語ベクトル化される。
クエリー１：「構造改革」→（構造改革）＝（１）
クエリー２：「補助金」→（補助金）＝（１）
文書１：「構造改革により補助金が削減される見通し。」
→（構造改革，補助金，削減，見通し）＝（０．５，０．５，０．５，０．５）
文書２：「全国チェーンの物流を構造改革してスマートに」
→（全国チェーン，物流，構造改革，スマート）＝（０．５，０．５，０．５，０．５）
文書３：「教育への補助金の見直しがはじまる」
→（教育，補助金，見直し，はじまる）＝（０．５，０．５，０．５，０．５）
【０１２９】
ここで、一例として、検索が内積のスコア順の場合、「構造改革」で検索した結果は、文書１：スコア＝０．５、文書２：スコア＝０．５、（文書３：スコア＝０）となる。この時、ユーザが行政上の構造改革について興味が有った場合、文書１が適合文書で、文書２が不適合文書となる。ここでは、適合文書を１つ、非適合文書を１つとしたが、適合文書、非適合文書をそれぞれ複数選択し、それぞれ適合文書集合、非適合文書集合とすることもできる。ここで、フィードバックからの学習方法として、Ｒｏｃｃｈｉｏ法を利用したとすると、以下のように再検索のためのクエリーベクトルを構成できる。
【０１３０】
再検索のためのクエリーベクトル１＝（クエリー１＋文書１−文書２）：
（構造改革,補助金,削減,見通し,全国チェーン,物流,スマート）
＝（１，０．５，０．５，０．５，−０．５，−０．５，−０．５）
評価式１＝「再検索のためのクエリーベクトル１」とデータの単語ベクトルの内積
【０１３１】
ここでは、再検索のためのクエリーベクトルを正規化しなかったが、ユークリッドノルム等で正規化しても良い。この評価式１の値を追加する事により、クエリーと文書のベクトルは以下の様に拡張できる。
クエリー１’：「構造改革」→（構造改革，評価値１）＝（１，１）
クエリー２’：「補助金」→（補助金，評価値１）＝（１，０．５）
文書１’：「構造改革により補助金が削減される見通し。」
→（構造改革，補助金，削減，見通し，評価値１）
＝（０．５，０．５，０．５，０．５，１．２５）
文書２’：「全国チェーンの物流を構造改革してスマートに」
→（全国チェーン，物流，構造改革，スマート，評価値１）
＝（０．５，０．５，０．５，０．５，−０．２５）
文書３’：「教育への補助金の見直しがはじまる」
→（教育，補助金，見直し，はじまる，評価値１）
＝（０．５，０．５，０．５，０．５，０．２５）
【０１３２】
この拡張により、もし以降の検索で再び「構造改革」というクエリーが入力された場合、文書の検索順は、文書１：スコア＝１．７５、文書２：スコア＝０．２５、文書３：スコア＝０．２５、と修正される。
【０１３３】
この様に、検索語を含まない文書３が、評価値を導入したおかげで上位に上がってきている。これは、Ｒｏｃｃｈｉｏ法なので当然ではあるが、クエリーのベクトルと適合文書のベクトルを同様に扱った結果、「構造改革」と「補助金」の関連性を学習出来たためである。もし、ＢａｙｅｓやＳＶＭで学習する場合、明示的にクエリーのベクトルを適合文書のベクトルとして扱う事で、同様の効果が期待できる。
【０１３４】
また、逆に「補助金」というクエリーで検索した場合、文書１：スコア＝１．１２５、文書３：スコア＝０．６２５、（文書２：スコア＝−０．１２５）の様な順番となる。行政上の構造改革に関連する文書１・３のスコアがより高く、そうではない文書２のスコアをより低くできている。これによって、今までにフィードバックが入力された事のない検索クエリーに対しても、ランキングの改善の効果が期待できる。
【０１３５】
また、この検索時に、仮に文書３を適合文書として選択した場合、同様の枠組みにより、以下の評価式が構築される。
再検索のためのクエリーベクトル２＝（クエリー２＋文書３）：
（補助金，教育，見直し，はじまる）＝（１．５，０．５，０．５，０．５）
評価式２＝「再検索のためのクエリーベクトル２」とデータの単語ベクトルの内積
【０１３６】
そのため、以降の検索では、以下の様に拡張されたベクトルを利用する事になる。
クエリー１”：「構造改革」→（構造改革，評価値１，評価値２）＝（１，１，０）
クエリー２”：「補助金」→（補助金，評価値１，評価値２）＝（１，０．５，１．５）
文書１”：「構造改革により補助金が削減される見通し。」
→（構造改革，補助金，削減，見通し，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，１．２５，０．７５）
文書２”：「全国チェーンの物流を構造改革してスマートに」
→（全国チェーン，物流，構造改革，スマート，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，−０．２５，０）
文書３”：「教育への補助金の見直しがはじまる」
→（教育，補助金，見直し，はじまる，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，０．２５，１．５）
【０１３７】
また、ベクトルに負の値が生ずると、負×負が正の値となり、ノイズとなる事がある。これを防ぐには、クエリーか文書の少なくともどちらかの評価値に対して、負の値を切り上げて０とすれば良い。もし文書の評価値を切り上げた場合、拡張されたベクトルは以下の様になる。
クエリー１’’’：「構造改革」
→（構造改革，評価値１，評価値２）＝（１，１，０）
クエリー２’’’：「補助金」
→（補助金，評価値１，評価値２）＝（１，０．５，１．５）
文書１’’’：「構造改革により補助金が削減される見通し。」
→（構造改革，補助金，削減，見通し，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，１．２５，０．７５）
文書２’’’：「全国チェーンの物流を構造改革してスマートに」
→（全国チェーン，物流，構造改革，スマート，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，０，０）
文書３’’’：「教育への補助金の見直しがはじまる」
→（教育，補助金，見直し，はじまる，評価値１，評価値２）
＝（０．５，０．５，０．５，０．５，０．２５，１．５）
【０１３８】
以上の手法により、ユーザの嗜好や、ユーザが同一視する関連語を学習した検索を行う事が出来る。以上のでは、検索を例に出したが、ベクトルを評価式によって拡張する事が技術の根幹であるため、ベクトルを利用する他の方法、例えば、データの分類やクラスタリング等にも同様の枠組みで応用できる。また、この例では評価式自体もベクトルで表現できるため、似た評価式をクラスタリング等でまとめて、次元数を減少させて単純化する事も考えられる。
【０１３９】
（実施例３）
実施例２では、全てのデータ（クエリーや文書）に対して、全ての評価式を適用するため、データ数×評価式数の数値を格納する必要があり、データとフィードバックが多い場合には、さらに工夫するほうが好ましい。実施例３では、数学的な工夫によって、これらの評価値を直接管理せずに済ます方法を述べる。なお、適合文書を１つ、非適合文書を１つではなく、適合文書、非適合文書をそれぞれ複数選択し、それぞれ適合文書集合、非適合文書集合とすることもできる。
【０１４０】
まず、実施例２で構築した、以下のデータを利用する。
クエリー１：「構造改革」→（構造改革）＝（１）
クエリー２：「補助金」→（補助金）＝（１）
文書１：「構造改革により補助金が削減される見通し。」
→（構造改革，補助金，削減，見通し）＝（０．５，０．５，０．５，０．５）
文書２：「全国チェーンの物流を構造改革してスマートに」
→（全国チェーン，物流，構造改革，スマート）＝（０．５，０．５，０．５，０．５）
文書３：「教育への補助金の見直しがはじまる」
→（教育，補助金，見直し，はじまる）＝（０．５，０．５，０．５，０．５）
【０１４１】
再検索のためのクエリーベクトル１＝（クエリー１＋文書１−文書２）
→（構造改革，補助金，削減，見通し，全国チェーン，物流，スマート）
＝（１，０．５，０．５，０．５，−０．５，−０．５，−０．５）
評価式１＝「再検索のためのクエリーベクトル１」とデータの単語ベクトルの内積
【０１４２】
再検索のためのクエリーベクトル２＝（クエリー２＋文書３）
→（補助金，教育，見直し，はじまる）＝（１．５，０．５，０．５，０．５）
評価式２＝「再検索のためのクエリーベクトル２」とデータの単語ベクトルの内積
【０１４３】
ここで、以上の２回のフィードバックの情報を利用して、クエリー２で文書を検索する場合を考える。この時、まずクエリー２のベクトルで、再検索のためのクエリーベクトルを検索すると、再検索のためのクエリーベクトル２：スコア＝１．５、再検索のためのクエリーベクトル１：スコア＝０．５、となる。
【０１４４】
もし、この時負のスコアの検索結果がある場合、それを無視する事によって、クエリーの評価値の負の値を切り上げて０にするのと同様の効果が生じ、ノイズの削減効果が期待できる。次に、このスコアの重み付きで、再検索のためのクエリーベクトルを加算する。
【０１４５】
加算結果１→再検索のためのクエリーベクトル２×１．５＋再検索のためのクエリーベクトル１×０．５→（補助金，教育，見直し，はじまる，構造改革，削減，見通し，全国チェーン，物流，スマート）＝（２．５，０．７５，０．７５，０．７５，０．５，０．２５，０．２５，−０．２５，−０．２５，−０．２５）。
【０１４６】
さらに、このベクトルにクエリー２の単語ベクトルを加える。加算結果２→加算結果１＋クエリー２→（補助金，教育，見直し，はじまる，構造改革，削減，見通し，全国チェーン，物流，スマート）＝（３．５，０．７５，０．７５，０．７５，０．５，０．２５，０．２５，−０．２５，−０．２５，−０．２５）。
【０１４７】
このベクトルと、文書の「拡張していない」ベクトルの内積が高い順に、文書をスコアリングして提示する。その結果、文書３：スコア＝２．８７５、文書１：スコア＝２．２５、（文書２：スコア＝−０．１２５）となる。
【０１４８】
この様に、評価式を構成する重みベクトルを用いて、関連語拡張を行うことにより、クエリーと文書のベクトル両方を、あたかも評価値で拡張したかの様な、検索結果を得ることができる。
【０１４９】
（実施例４）
この技術は、文書以外にも適用可能である。実施例４では、パソコンの検索を例に取って、複数のユーザから関連する性能指標を学習する例を述べる。まず、パソコンの性能指標を「処理速度」・「容量」・「持ち運びやすさ」・「安さ」の４つに分け、何らかの基準で数量化したとする。また、ユーザの検索には、重視する性能指標をいくつか選択する事とする。その結果、以下の様なベクトルが生成できる。
【０１５０】
クエリー：「処理性能」→（処理性能）＝（５）
パソコン１→（処理速度，容量，持ち運びやすさ，安さ）＝（５，４，１，２）
パソコン２→（処理速度，容量，持ち運びやすさ，安さ）＝（２，２，５，３）
パソコン３→（処理速度，容量，持ち運びやすさ，安さ）＝（４，１，３，５）
【０１５１】
ここで、クエリーで検索した結果は、パソコン１：スコア＝２５、パソコン３：スコア＝２０、パソコン２：スコア＝１０となる。
【０１５２】
このユーザが、パソコン３が適合パソコンで、パソコン１が不適合パソコンだとフィードバックしたとすると、
再検索のためのクエリーベクトル＝（クエリー＋パソコン３−パソコン１）：
（処理速度，容量，持ち運びやすさ，安さ）＝（４，−３，２，３）
評価式＝「再検索のためのクエリーベクトル」とパソコンの性能ベクトルの内積
【０１５３】
このユーザは、実は処理速度以外に、安さと持ち運びやすさも重視していた事が分かる。この評価式を利用すると、クエリーとパソコンのベクトルは、以下の様に拡張できる。
クエリー’：「処理性能」→（処理性能，評価値）＝（５，２０）
パソコン１’→（処理速度，容量，持ち運びやすさ，安さ，評価値）
＝（５，４，１，２，１６）
パソコン２’→（処理速度，容量，持ち運びやすさ，安さ，評価値）
＝（２，２，５，３，２１）
パソコン３’→（処理速度，容量，持ち運びやすさ，安さ，評価値）
＝（４，１，３，５，３４）
【０１５４】
このため、再び処理性能による検索を行った場合、検索順序が修正され、パソコン３：スコア＝７００、パソコン２：スコア＝４３０、パソコン１：スコア＝３４５、となる。
【０１５５】
このように、複数のユーザからのフィードバックを利用して、多くの評価値を加えていけば、重視する性能指標を全て入力しなくても、関連する性能指標も自動的に利用して、検索を行うことができる様になる。この関連性は、ユーザのフィードバックから取得されるため、多くのユーザの共通認識が抽出される上、ユーザ層によって異なる関連性が学習できる。
【０１５６】
以上説明したように、クエリーに近い視点（検索意図）に基づくクエリー・文書の評価式によって、状況に応じた単語ベクトルの関連語拡張を行い、検索精度を向上することができる。似た意図の検索があった場合、適合性フィードバック無しに、かなりの検索（ランキング）精度向上が可能である。この実施の形態においては視点の蓄積について説明したが、実際に全ての視点をそのまま利用するか、ベクトル量子化等の処理で、似た視点をまとめるか、様々な変形が考えられる。また、視点の線形和という形で、関連語拡張を制御する点について説明したが、ここで選択する視点を絞り込むか広げるかによって、パーソナライズと普遍的な関連語拡張のバランスや、検索速度を調整することもできる。
【０１５７】
なお、本実施の形態で説明したデータ検索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１５８】
以上のように、本発明にかかるデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータに読み取り可能な記録媒体は、データの利用のされ方に基づいた検索などのデータ処理にあたって有用である。
【図面の簡単な説明】
【０１５９】
【図１】この発明の実施の形態によるデータ検索装置のハードウエア構成の一例を示すブロック図である。
【図２】この発明の実施の形態にかかるデータ検索装置の機能的構成を示すブロック図である。
【図３】検索された文書の単語ベクトルを説明する説明図である。
【図４】クエリーと検索結果の各文書の角度のコサイン値行列を説明する説明図である
【図５】差分ベクトルを求める処理を説明する説明図である。
【図６】フィードバックを反映した単語ベクトルを説明する説明図である。
【図７】フィードバックを反映したコサイン値行列を説明する説明図である。
【図８】フィードバックを反映した単語ベクトルの作成処理を説明するフローチャートである。
【図９】適合性フィードバックで得られた情報を、検索モデルに反映する処理を説明するフローチャートである。
【図１０】適合性フィードバックを小規模文書に適用した場合のフィードバック処理を説明するフローチャートである。
【図１１】適合性フィードバックを小規模文書に適用した場合の検索処理を説明するフローチャートである。
【図１２】適合性フィードバックを大規模文書に適用した場合の準備処理を説明するフローチャートである。
【図１３】適合性フィードバックを大規模文書に適用した場合の検索処理を説明するフローチャートである。
【符号の説明】
【０１６０】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＨＤＤ
１０５  ＨＤ
１０６  ＦＤＤ
１０７  ＦＤ
１０８  ＣＤ−ＲＷドライブ
１０９  ＣＤ−ＲＷ
１１０  ディスプレイ
１１１  キーボード
１１２  マウス
１１３  ネットワークＩ／Ｆ
１１４  通信ケーブル
１２０  バス
２０１  検索部
２０２  ベクトル作成部
２０３  分類部
２０４  算出部
２０５  割り当て部
２０６  演算部
２０７  順位付け部
【図１】
0004711761.tif 000003
【図２】
0004711761.tif 000004
【図３】
0004711761.tif 000005
【図４】
0004711761.tif 000006
【図５】
0004711761.tif 000007
【図６】
0004711761.tif 000008
【図７】
0004711761.tif 000009
【図８】
0004711761.tif 000010
【図９】
0004711761.tif 000011
【図１０】
0004711761.tif 000012
【図１１】
0004711761.tif 000013
【図１２】
0004711761.tif 000014
【図１３】
0004711761.tif 000015