(57)【要約】【課題】検索精度を高め、検索者にとって適合性の判定作業を楽にすること。【解決手段】複数の登録文書において各登録文書と類似する類似文書（類似文書ＩＤ）の集合を類似文書ＩＤデータベース１４０に登録するデータベース登録部１３１と、検索要求文ベクトルと複数の登録文書ベクトルのそれぞれとの関連度（内積値）を計算し、複数組の関連度および文書ＩＤを出力する内積値計算部１２０と、複数組の中から、類似文書ＩＤデータベース１４０における類似文書ＩＤ集合と一致する文書ＩＤを含む組を除外し、残った組をサンプルとして出力するサンプル出力部１３７とを備えている。【選択図】      図３
2004220082.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録手段、
検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算手段、
前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択手段、
として機能させるための文書検索プログラム。
【請求項２】
前記コンピュータを、前記サンプル選択手段により選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定手段、として機能させることを特徴とする請求項１に記載の文書検索プログラム。
【請求項３】
複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録工程と、
検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算工程と、
前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択工程と、
を含むことを特徴とする文書検索方法。
【請求項４】
前記サンプル選択工程で選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定工程、を含むことを特徴とする請求項３に記載の文書検索方法。
【請求項５】
複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録手段と、
検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算手段と、
前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択手段と、
を備えたことを特徴とする文書検索装置。
【請求項６】
前記サンプル選択手段で選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定手段、を備えたことを特徴とする請求項５に記載の文書検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、適合性フィードバックを用いて、文書検索を行うための文書検索プログラム、文書検索方法および文書検索装置に関するものであり、特に、検索精度を高めることができ、検索者にとって適合性の判定作業を楽にすることができる文書検索プログラム、文書検索方法および文書検索装置に関するものである。
【０００２】
【従来の技術】
図８は、従来の文書検索装置１０の構成を示すブロック図である。同図に示した文書検索装置１０は、予め登録された複数の文書の中から必要な文書を検索する装置である。
【０００３】
文書検索装置１０において、単語抽出部１１は、検索要求文や登録文書から、周知の形態素解析の手法により単語を抽出する。登録文書は、検索対象となる文書である。検索要求文は、検索キーとしての文である。
【０００４】
登録系ベクトル作成部１２は、後述するｌｔｃ法を用いて、単語抽出部１１で登録文書から抽出された単語から文書ベクトルデータベース１３に登録すべき文書ベクトルを作成する。この文書ベクトルは、登録文書から抽出された単語の種類と等しい次数を有しており、上記単語が持つ重要度に応じた重みを要素として含む。
【０００５】
また、登録系ベクトル作成部１２は、作成した文書ベクトルを文書ＩＤとともに文書ベクトルデータベース１３に登録する。文書ＩＤは、文書ベクトル（登録文書）を識別するための識別子である。
【０００６】
検索系ベクトル作成部１４は、文書ベクトルデータベース１３への文書ベクトルが登録された後に動作し、後述するｌｔｃ法を用いて、単語抽出部１１で、検索要求文から抽出された単語から検索要求文ベクトルを作成する。この検索要求文ベクトルも、文書ベクトルと同様にして、検索要求文から抽出された単語の種類と等しい次数を有しており、上記単語が持つ重要度に応じた重みを要素として含む。
【０００７】
内積値計算部１５は、検索系ベクトル作成部１４で作成された検索要求文ベクトルと、文書ベクトルデータベース１３に登録された各文書ベクトルとの内積値を計算する。また、内積値計算部１５は、内積値を関連度として、関連度と当該文書ベクトルに対応する文書ＩＤとの組を、関連度（内積値）が高い順にサンプル選択部１６へ順次渡す。関連度が高いほど、検索要求文と当該文書ＩＤに対応する登録文書とが類似していることを意味している。
【０００８】
また、内積値計算部１５は、検索要求文ベクトルを表示・フィードバック部１７へ渡す。サンプル選択部１６は、内積値計算部１５から渡された複数の関連度および文書ＩＤの組の中から、関連度（内積値）が高い順に上位からｎ組をサンプルとして選択し、表示・フィードバック部１７へ渡す。
【０００９】
ここで、関連度（内積値）が大きい順にサンプルを選択する方法は、レレバンスサンプリング法と呼ばれている。また、サンプルを選択する別の方法としては、既に正解と判定されている文書（必要文書）と、既に不正解を判定されている文書（不要文書）との中間に順位に近い文書から選択するという、ｕｎｃｅｒｔａｉｎｔｙサンプリング法が挙げられる。
【００１０】
表示・フィードバック部１７は、サンプル選択部１６から渡されたｎ組の関連度および文書ＩＤを検索結果の候補として表示し、各検索結果が検索要求文に適合しているか否か（適合性）を検索者に判定させる。検索者は、キーボードやマウス等の入力インタフェース１８を用いて、表示・フィードバック部１７に表示された検索結果の候補（関連度および文書ＩＤ）について、適合性に関する判定結果（○：正解、×：不正解）を入力する。
【００１１】
ここで、判定結果が「○」（正解）である場合には、当該文書ＩＤに対応する登録文書が、検索結果において必要な文書であることを意味し、当該文書ＩＤが必要文書ＩＤとされる。一方、判定結果が「×」（不正解）である場合には、当該文書ＩＤに対応する登録文書が、検索結果において不要な文書であることを意味し、当該文書ＩＤが不要文書ＩＤとされる。
【００１２】
また、表示・フィードバック部１７は、検索者による適合性の判定結果に基づいて、必要文書ＩＤ、不要文書ＩＤおよび検索要求文ベクトルを特徴ベクトル作成部１９へフィードバックする。
【００１３】
特徴ベクトル作成部１９は、適合性の判定結果（必要文書ＩＤ、不要文書ＩＤ）を用いて、特徴学習アルゴリズムで検索要求文ベクトルを修正することにより、検索者の検索意図が反映された特徴ベクトルを作成する。
【００１４】
特徴学習アルゴリズムとしては、Ｒｏｃｃｈｉｏフィードバックが挙げられる。このＲｏｃｃｈｉｏフィードバックでは、ベクトル空間法とＴＦ／ＩＤＦ法を用いた文書検索システムにおいて、レレバンスフィードバックが実現される。
【００１５】
すなわち、Ｒｏｃｃｈｉｏフィードバックでは、検索要求文との適合性が判定された検索結果（必要文書ＩＤ、不要文書ＩＤ）を入力として、上述した検索意図を表す特徴ベクトルが作成される。
【００１６】
また、ベクトル空間法では、文書や検索要求文がベクトル空間上のベクトルとして表現される。このベクトルは、前述したように、文書および文書に含まれる単語が持つ重要性を表す「重み」を要素として持つ。
【００１７】
また、ＴＦ／ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ／Ｉｎｖｅｒｔｅｄ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）法では、検索対象（複数の登録文書）において、多くの登録文書に出現する単語は重要ではなく、少数の登録文書に出現する単語を重要として扱い、該単語に大きな重みが与えられる。
【００１８】
ここで、ＴＦ／ＩＤＦ法の一つであるｌｔｃ法について説明する。このｌｔｃ法では、検索要求文、サンプル文書、検索対象文書について、つぎの（１）式に基づいて、単語が持つ重みｗｉ，ｊ  が計算される。
【００１９】
【数１】
2004220082.tif 000003
【００２０】
（１）式において、重みｗｉ，ｊ  は、文または文書ｄｊ  に単語ｔｉ  が出現する回数ｆｉ，ｊ  （ＴＦ）と、単語ｔｉ  が出現する文書データベース（図８の例では、文書ベクトルデータベース１３）中の文書数ｎｉ  の逆数（ＩＤＦ）とを用いて計算される。｜ＤＢ｜は、文書データベース中の文書総数である。
【００２１】
ここで、登録系ベクトル作成部１２および検索系ベクトル作成部１４は、上述したｌｔｃ法により文書ベクトルおよび検索要求文ベクトルを作成する。
【００２２】
また、特徴ベクトル作成部１９は、表示・フィードバック部１７からフィードバックされた必要文書ＩＤ、不要文書ＩＤおよび検索要求文ベクトルを用いて、つぎの（２）式から特徴ベクトルｖを作成する。
【００２３】
【数２】
2004220082.tif 000004
【００２４】
（２）式において、ｖｑ  （ベクトル記号付き）は、上記検索要求文ベクトルである。ｖｒｅｌ  （ベクトル記号付き）は、文書ベクトルデータベース１３に登録されている、必要文書ＩＤに対応する文書ベクトル（必要文書ベクトルと称する）の重心である。ｖｎｏｎｒｅｌ  （ベクトル記号付き）は、文書ベクトルデータベース１３に登録されている、不要文書ＩＤに対応する文書ベクトル（不要文書ベクトルと称する）の重心である。α、βおよびγのそれぞれは、予め決められた定数である。
【００２５】
内積値計算部１５は、特徴ベクトル作成部１９で作成された特徴ベクトルと、文書ベクトルデータベース１３に登録されている各文書ベクトルとの内積値を計算する。この場合の内積値は、検索意図に対する文書の関連度を表す。
【００２６】
ここで、関連度が高い文書は必要文書に、関連度が低い文書は不要文書に分類されたと考えることができるため、Ｒｏｃｃｈｉｏフィードバックは、適合性が判定されたサンプル文書を学習例として、未知の文書について必要または不要を判定する分類学習アルゴリズムと考えられる。また、内積値の大きさは、必要文書に分類される確からしさを表している。
【００２７】
【非特許文献１】
中島浩之、木谷強、岡田守著、「検索語間における共起関係の特定によるレレバンスフィードバックの高精度化」、「情報処理学会論文誌  Ｖｏｌ．４０  Ｎｏ．３」、（社）情報処理学会発行、１９９９年３月１５日、１２３７頁
【００２８】
【発明が解決しようとする課題】
ところで、前述したように、従来の文書検索装置１０においては、ほとんど同じ内容の文書に対応する検索結果が近い順序で複数得られる場合がある。すなわち、サンプル選択部１６で選択されるｎ組のサンプルに対応するほとんどの登録文書が類似することとなり、検索精度が悪くなるという問題があった。また、検索者は、類似した検索結果に対して適合度を判定することとなり、単調で苦痛な作業を強いられることになる。
【００２９】
本発明は、上記に鑑みてなされたもので、検索精度を高めることができ、検索者にとって適合性の判定作業を楽にすることができる文書検索プログラム、文書検索方法および文書検索装置を提供することを目的とする。
【００３０】
【課題を解決するための手段】
上記目的を達成するために、請求項１にかかる発明は、コンピュータを、複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録手段、検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算手段、前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択手段、として機能させるための文書検索プログラムである。
【００３１】
この発明によれば、検索要求文と複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力し、複数組の中から、予め登録された集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択することとしたので、複数の類似文書がサンプルとして選択されることが防止され、検索精度を高めることができる。
【００３２】
また、請求項２にかかる発明は、請求項１に記載の文書検索プログラムにおいて、前記コンピュータを、前記サンプル選択手段により選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定手段、として機能させることを特徴とする。
【００３３】
この発明によれば、選択されたサンプルを検索結果とし、該検索結果が検索要求文に適合しているか否かの適合性を検索者に判定させることとしたので、検索者にとって適合性の判定作業を楽にすることができる。
【００３４】
また、請求項３にかかる発明は、複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録工程と、検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算工程と、前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択工程と、を含むことを特徴とする。
【００３５】
この発明によれば、検索要求文と複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力し、複数組の中から、予め登録された集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択することとしたので、複数の類似文書がサンプルとして選択されることが防止され、検索精度を高めることができる。
【００３６】
また、請求項４にかかる発明は、請求項３に記載の文書検索方法において、前記サンプル選択工程で選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定工程、を含むことを特徴とする。
【００３７】
この発明によれば、選択されたサンプルを検索結果とし、該検索結果が検索要求文に適合しているか否かの適合性を検索者に判定させることとしたので、検索者にとって適合性の判定作業を楽にすることができる。
【００３８】
また、請求項５にかかる発明は、複数の登録文書において各登録文書と類似する類似文書の集合を登録する類似文書登録手段と、検索要求文と前記複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力する関連度計算手段と、前記複数組の中から、前記集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択するサンプル選択手段と、を備えたことを特徴とする。
【００３９】
この発明によれば、検索要求文と複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力し、複数組の中から、予め登録された集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択することとしたので、複数の類似文書がサンプルとして選択されることが防止され、検索精度を高めることができる。
【００４０】
また、請求項６にかかる発明は、請求項５に記載の文書検索装置において、前記サンプル選択手段で選択されたサンプルを検索結果とし、該検索結果が前記検索要求文に適合しているか否かの適合性を検索者に判定させる判定手段、を備えたことを特徴とする。
【００４１】
この発明によれば、選択されたサンプルを検索結果とし、該検索結果が検索要求文に適合しているか否かの適合性を検索者に判定させることとしたので、検索者にとって適合性の判定作業を楽にすることができる。
【００４２】
【発明の実施の形態】
以下、図面を参照して本発明にかかる文書検索プログラム、文書検索方法および文書検索装置の一実施の形態について詳細に説明する。
【００４３】
図１は、本発明にかかる一実施の形態の構成を示すブロック図である。この図において、図８の各部に対応する部分には同一の符号を付け、その説明を省略する。
【００４４】
図１に示した文書検索装置１００においては、検索系ベクトル作成部１４、内積値計算部１５およびサンプル選択部１６に代えて、検索系／登録系ベクトル作成部１１０、内積値計算部１２０およびサンプル選択部１３０が設けられている。また、同図においては、類似文書ＩＤデータベース１４０が新たに設けられている。
【００４５】
ここで、文書検索装置１００は、内積値計算部１２０からのサンプルの中から、サンプル選択部１３０で、類似したサンプルを除去する点に特徴を有している。
【００４６】
文書検索装置１００において、検索系／登録系ベクトル作成部１１０は、前述したｌｔｃ法を用いて、単語抽出部１１で、登録文書（以下、検索キー文書という）から抽出された単語から文書ベクトル（以下、検索キー文書ベクトルという）を作成する機能と、単語抽出部１１で、検索要求文から抽出された単語から検索要求文ベクトルを作成する機能とを備えている。
【００４７】
また、検索キー文書は、文書ベクトルデータベース１３に登録された文書ベクトルに対応する登録文書である。上記文書ベクトルは、後述する類似文書ＩＤデータベース１４０への類似文書ＩＤを登録する際に用いられる。
【００４８】
内積値計算部１２０は、検索系／登録系ベクトル作成部１１０で作成された検索キー文書ベクトル（検索キー文書に対応）と、文書ベクトルデータベース１３に登録された各文書ベクトル（登録文書に対応）との内積値（関連度）を計算する。
【００４９】
また、内積値計算部１２０は、計算結果において、内積値（関連度）がしきい値以上、すなわち、検索キー文書に類似する登録文書を類似文書とする。内積値計算部１２０は、検索キー文書に対応する検索キー文書ＩＤと、類似文書に対応する類似文書ＩＤの集合とをサンプル選択部１３０へ渡す。
【００５０】
また、内積値計算部１２０は、検索系ベクトル作成部１４（図８参照）と同様にして、検索系／登録系ベクトル作成部１１０で作成された検索要求文ベクトルと、文書ベクトルデータベース１３に登録された各文書ベクトルとの内積値を計算する。また、内積値計算部１２０は、内積値を関連度として、関連度と当該文書ベクトルに対応する文書ＩＤとの組を、関連度（内積値）が高い順にサンプル選択部１３０へ順次渡す。
【００５１】
また、内積値計算部１２０は、検索要求文ベクトルを表示・フィードバック部１７へ渡す。
【００５２】
サンプル選択部１３０は、内積値計算部１２０から渡された複数の関連度および文書ＩＤの組の中から、関連度（内積値）が高い順に上位からｎ組をサンプルとして選択する機能と、これらのｎ組のサンプルの中から、類似文書ＩＤデータベース１４０を参照して、類似したサンプルを除去する機能と、除去済みのサンプル（関連度（内積値）および文書ＩＤ）を表示・フィードバック部１７へ出力する機能とを備えている。
【００５３】
類似文書ＩＤデータベース１４０は、図２に示したように、「検索キー文書ＩＤ」および「類似文書ＩＤ集合」というフィールドを備えている。「検索キー文書ＩＤ」は、検索キーとしての文書ＩＤである。
【００５４】
「類似文書ＩＤ集合」は、検索キー文書ＩＤに対応する文書ベクトルとの関連度（内積値）がしきい値以上である、文書ベクトルに対応する文書ＩＤ（類似文書ＩＤ）の集合である。すなわち、「検索キー文書ＩＤ」に対応する登録文書と、「類似文書ＩＤ集合」に対応する登録文書の集合とは、類似している。
【００５５】
図３は、図１に示したサンプル選択部１３０の構成を示すブロック図である。同図に示したサンプル選択部１３０において、データベース登録部１３１は、内積値計算部１２０から渡された検索キー文書ＩＤおよび類似文書ＩＤ集合を類似文書ＩＤデータベース１４０（図２参照）に登録する。
【００５６】
ｎ組サンプル選択部１３２は、サンプル選択部１６（図８参照）と同一の機能を備えており、内積値計算部１２０から渡された複数の関連度および文書ＩＤの組の中から、関連度（内積値）が高い順に上位からｎ組をサンプルとして選択し、サンプル判定部１３３へ渡す。
【００５７】
サンプル判定部１３３は、ｎ組のサンプルのそれぞれについて除外対象であるか否かを判定する。具体的には、サンプル判定部１３３は、ｎ組のサンプルにおける一つの組の文書ＩＤ（例えば、文書ＩＤ１）をキーとして、除外文書ＩＤデータベース１３４を検索し、検索ヒットした場合に当該文書ＩＤをサンプルから除外する。
【００５８】
除外文書ＩＤデータベース１３４には、既にサンプルとして選択された文書ＩＤに対応する登録文書と類似する類似文書の類似文書ＩＤ集合のそれぞれが、除外文書ＩＤとして登録されている。類似文書ＩＤ集合は、図２に示した類似文書ＩＤデータベース１４０の類似文書ＩＤ集合に対応している。
【００５９】
サンプル登録部１３５は、サンプル判定部１３３により除外対象では無いと判定されたサンプル（当該組の関連度および文書ＩＤ）を選択済みサンプルデータベース１３６へ登録する。選択済みサンプルデータベース１３６には、表示・フィードバック部１７へ渡すサンプルが登録される。サンプル出力部１３７は、選択済みサンプルデータベース１３６に登録されているサンプル（関連度および文書ＩＤ）を表示・フィードバック部１７へ渡す。制御部１３８は、除外文書ＩＤデータベース１３４、選択済みサンプルデータベース１３６、類似文書ＩＤデータベース１４０等の初期化等を行う。
【００６０】
つぎに、一実施の形態の動作について、図４および図５に示したフローチャートを参照しつつ説明する。図４は、一実施の形態の動作を説明するフローチャートである。図５は、図３に示したサンプル選択部１３０の動作を説明するフローチャートである。
【００６１】
まず、図５に示したステップＳＢ１では、図３に示したサンプル選択部１３０のｎ組サンプル選択部１３２は、内積値計算部１２０より関連度および文書ＩＤの組が渡されたか否かを判断し、この場合、判断結果を「Ｎｏ」として、同判断を繰り返す。
【００６２】
図４に示したステップＳＡ１では、文書ベクトルを文書ベクトルデータベース１３に登録するための文書ベクトル登録処理が実行される。すなわち、登録文書が単語抽出部１１に入力されると、単語抽出部１１は、形態素解析により、登録文書に含まれる単語を抽出した後、登録系ベクトル作成部１２に渡す。
【００６３】
登録系ベクトル作成部１２は、単語抽出部１１からの単語から文書ベクトルを作成した後、文書ベクトルを文書ＩＤに対応付けて、文書ベクトルデータベース１３に登録する。以後、上述した動作が繰り返されることにより、複数の登録文書に対応する文書ベクトルが文書ベクトルデータベース１３に順次登録される。
【００６４】
ステップＳＡ２では、検索キー文書ＩＤおよび類似文書ＩＤ集合を図２に示した類似文書ＩＤデータベース１４０に登録するための類似文書ＩＤ登録処理が実行される。すなわち、単語抽出部１１には、文書ベクトルデータベース１３に登録されている複数の文書ベクトルに対応する複数の登録文書のうち、一つの登録文書が検索キー文書として入力される。
【００６５】
これにより、単語抽出部１１は、形態素解析により、検索キー文書に含まれる単語を抽出した後、検索系／登録系ベクトル作成部１１０に渡す。検索系／登録系ベクトル作成部１１０は、単語抽出部１１から渡された単語から検索キー文書ベクトルを作成した後、これを内積値計算部１２０に渡す。
【００６６】
内積値計算部１２０は、検索系／登録系ベクトル作成部１１０で作成された検索キー文書ベクトル（検索キー文書に対応）と、文書ベクトルデータベース１３に登録された各文書ベクトル（登録文書に対応）との内積値（関連度）を計算する。
【００６７】
つぎに、内積値計算部１２０は、計算結果において、内積値（関連度）がしきい値以上、すなわち、検索キー文書に類似する登録文書を類似文書とする。そして、内積値計算部１２０は、検索キー文書に対応する検索キー文書ＩＤと、類似文書に対応する類似文書ＩＤ集合を、図３に示したサンプル選択部１３０のデータベース登録部１３１へ渡す。
【００６８】
データベース登録部１３１は、検索キー文書ＩＤ（例えば、文書ＩＤ１）と類似文書ＩＤ集合（例えば、文書ＩＤ３、文書ＩＤ４、・・・）とを類似文書ＩＤデータベース１４０に登録する。この場合には、文書ＩＤ１に対応する検索キー文書は、文書ＩＤ３、文書ＩＤ４、・・・のそれぞれに対応する各登録文書と類似していることを意味している。
【００６９】
以後、複数の検索キー文書が単語抽出部１１に順次入力されることにより、検索キー文書ＩＤおよび類似文書ＩＤ集合が類似文書ＩＤデータベース１４０に順次登録される。
【００７０】
図４に戻り、ステップＳＡ３では、検索要求文と関連度（内積値）が高い登録文書を検索するための検索処理が実行される。すなわち、単語抽出部１１に検索要求文が入力されると、単語抽出部１１は、形態素解析により、検索要求文に含まれる単語を抽出した後、検索系／登録系ベクトル作成部１１０に渡す。検索系／登録系ベクトル作成部１１０は、単語抽出部１１から渡された単語から検索要求文ベクトルを作成した後、これを内積値計算部１２０に渡す。
【００７１】
これにより、内積値計算部１２０は、検索系／登録系ベクトル作成部１１０で作成された検索要求文ベクトル（検索要求文に対応）と、文書ベクトルデータベース１３に登録された各文書ベクトル（登録文書に対応）との内積値（関連度）を計算する。
【００７２】
つぎに、内積値計算部１２０は、内積値を関連度として、関連度と当該文書ベクトルに対応する文書ＩＤとの組を、関連度（内積値）が高い順にサンプル選択部１３０へ順次渡す。関連度が高いほど、検索要求文と当該文書ＩＤに対応する登録文書とが類似していることを意味している。つぎに、内積値計算部１２０は、検索要求文ベクトルを表示・フィードバック部１７へ渡す。
【００７３】
そして、内積値計算部１２０より、関連度および文書ＩＤの組がｎ組サンプル選択部１３２に渡されると、ｎ組サンプル選択部１３２は、図５に示したステップＳＢ１の判断結果を「Ｙｅｓ」とする。
【００７４】
ステップＳＢ２では、ｎ組サンプル選択部１３２は、内積値計算部１２０から渡された複数の関連度および文書ＩＤの組の中から、関連度（内積値）が高い順に上位からｎ組をサンプルとして選択し、サンプル判定部１３３へ渡す。
【００７５】
ステップＳＢ３では、サンプル判定部１３３は、ｎ組のサンプルにおける一つの組の文書ＩＤ（例えば、文書ＩＤ１）をキーとして、除外文書ＩＤデータベース１３４を検索する。ステップＳＢ４では、サンプル判定部１３３は、検索ヒットしたか否かを判断する。この場合、除外文書ＩＤデータベース１３４には、いずれの除外文書ＩＤも登録されていないものとし、サンプル判定部１３３は、ステップＳＢ４の判断結果を「Ｎｏ」とする。
【００７６】
ステップＳＢ５では、サンプル判定部１３３は、当該組の関連度および文書ＩＤをサンプル登録部１３５へ渡す。ステップＳＢ６では、サンプル登録部１３５は、当該組の関連度および文書ＩＤ（この場合、文書ＩＤ１）を選択済みサンプルデータベース１３６へ登録する。
【００７７】
ステップＳＢ７では、サンプル登録部１３５は、当該組の文書ＩＤ（この場合、文書ＩＤ１）をキーとして、図２に示した類似文書ＩＤデータベース１４０の「検索キー文書ＩＤ」を検索する。ステップＳＢ８では、サンプル登録部１３５は、検索ヒットしたか否かを判断する。
【００７８】
この場合、類似文書ＩＤデータベース１４０の「検索キー文書ＩＤ」の文書ＩＤ１が、当該組の文書ＩＤ（この場合、文書ＩＤ１）と一致するため、サンプル登録部１３５は、ステップＳＢ８の判断結果を「Ｙｅｓ」とする。なお、ステップＳＢ８の判断結果が「Ｎｏ」である場合、ステップＳＢ１０の判断が行われる。
【００７９】
ステップＳＢ９では、サンプル登録部１３５は、図２に示した類似文書ＩＤデータベース１４０における「検索キー文書ＩＤ」の文書ＩＤ１に対応する「類似文書ＩＤ集合」の「文書ＩＤ３、文書ＩＤ４、・・・」のそれぞれを、除外文書ＩＤとして除外文書ＩＤデータベース１３４に登録する。
【００８０】
つまり、除外文書ＩＤは、選択済みサンプルデータベース１３６に登録されたサンプルの文書ＩＤの登録文書と類似しかつサンプルから除外すべき登録文書に対応する文書ＩＤである。
【００８１】
ステップＳＢ１０では、サンプル判定部１３３は、ｎ組のサンプルについて全ての処理が終了したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
【００８２】
ステップＳＢ３では、サンプル判定部１３３は、ｎ組のサンプルにおけるつぎの組の文書ＩＤ（例えば、文書ＩＤ３）をキーとして、除外文書ＩＤデータベース１３４を検索する。ステップＳＢ４では、サンプル判定部１３３は、検索ヒットしたか否かを判断する。この場合には、除外文書ＩＤデータベース１３４に文書ＩＤ３、文書ＩＤ４、・・・が登録されており、文書ＩＤ３が検索ヒットする。
【００８３】
従って、この場合、サンプル判定部１３３は、ステップＳＢ４の判断結果を「Ｙｅｓ」とする。ステップＳＢ１２では、サンプル判定部１３３は、当該文書ＩＤ（この場合、文書ＩＤ３）をサンプルから除外する。つまり、文書ＩＤ３に対応する登録文書は、既に選択済みのサンプルの文書ＩＤ１に対応する登録文書と類似しているため、サンプルから除外される。
【００８４】
ステップＳＢ３では、サンプル判定部１３３は、ｎ組のサンプルにおけるつぎの組の文書ＩＤ（例えば、文書ＩＤ４）をキーとして、除外文書ＩＤデータベース１３４を検索する。ステップＳＢ４では、サンプル判定部１３３は、検索ヒットしたか否かを判断する。この場合には、除外文書ＩＤデータベース１３４に文書ＩＤ３、文書ＩＤ４、・・・が登録されており、文書ＩＤ４が検索ヒットする。
【００８５】
従って、この場合、サンプル判定部１３３は、ステップＳＢ４の判断結果を「Ｙｅｓ」とする。ステップＳＢ１２では、サンプル判定部１３３は、当該文書ＩＤ（この場合、文書ＩＤ４）をサンプルから除外する。つまり、文書ＩＤ４に対応する登録文書は、既に選択済みのサンプルの文書ＩＤ１に対応する登録文書と類似しているため、サンプルから除外される。
【００８６】
ステップＳＢ３では、サンプル判定部１３３は、ｎ組のサンプルにおけるつぎの組の文書ＩＤ（例えば、文書ＩＤ２）をキーとして、除外文書ＩＤデータベース１３４を検索する。ステップＳＢ４では、サンプル判定部１３３は、検索ヒットしたか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
【００８７】
ステップＳＢ５では、サンプル判定部１３３は、当該組の関連度および文書ＩＤをサンプル登録部１３５へ渡す。ステップＳＢ６では、サンプル登録部１３５は、当該組の関連度および文書ＩＤ（この場合、文書ＩＤ２）を選択済みサンプルデータベース１３６へ登録する。
【００８８】
ステップＳＢ７では、サンプル登録部１３５は、当該組の文書ＩＤ（この場合、文書ＩＤ２）をキーとして、図２に示した類似文書ＩＤデータベース１４０の「検索キー文書ＩＤ」を検索する。ステップＳＢ８では、サンプル登録部１３５は、検索ヒットしたか否かを判断する。
【００８９】
この場合、類似文書ＩＤデータベース１４０の「検索キー文書ＩＤ」の文書ＩＤ２が、当該組の文書ＩＤ（この場合、文書ＩＤ２）と一致するため、サンプル登録部１３５は、ステップＳＢ８の判断結果を「Ｙｅｓ」とする。
【００９０】
ステップＳＢ９では、サンプル登録部１３５は、図２に示した類似文書ＩＤデータベース１４０における「検索キー文書ＩＤ」の文書ＩＤ２に対応する「類似文書ＩＤ集合」の「文書ＩＤ５、文書ＩＤ６、・・・」のそれぞれを、除外文書ＩＤとして除外文書ＩＤデータベース１３４に登録する。
【００９１】
以後、ステップＳＢ１０の判断結果が「Ｙｅｓ」になるまで、ステップＳＢ３〜ステップＳＢ１０（ステップＳＢ１２）が繰り返され、サンプルの選択、サンプルからの除外が実行される。
【００９２】
そして、ステップＳＢ１０の判断結果が「Ｙｅｓ」になると、サンプル出力部１３７は、選択済みサンプルデータベース１３６に登録されているサンプル（関連度および文書ＩＤ）、すなわち、類似文書に対応するサンプルが除去されたものを表示・フィードバック部１７へ渡す。
【００９３】
表示・フィードバック部１７は、サンプル選択部１３０から通知されたサンプル（関連度および文書ＩＤ）を検索結果の候補として表示し、各検索結果が検索要求文に適合しているか否か（適合性）を検索者に判定させる。この場合、検索者は、類似文書に対応するサンプルが除外されているため、入力インタフェース１８を用いて、適合性に関する判定結果（○：正解、×：不正解）を効率良く入力することが可能となる。
【００９４】
つぎに、表示・フィードバック部１７は、検索者による適合性の判定結果に基づいて、必要文書ＩＤ、不要文書ＩＤおよび検索要求文ベクトルを特徴ベクトル作成部１９へフィードバックする。
【００９５】
これにより、特徴ベクトル作成部１９は、適合性の判定結果（必要文書ＩＤ、不要文書ＩＤ）を用いて、特徴学習アルゴリズム（前述したＲｏｃｃｈｉｏフィードバック）で検索要求文ベクトルを修正することにより、検索者の検索意図が反映された特徴ベクトルを作成し、内積値計算部１２０へ渡す。
【００９６】
内積値計算部１２０は、特徴ベクトル作成部１９で作成された特徴ベクトルと、文書ベクトルデータベース１３に登録されている各文書ベクトルとの内積値を計算する。
【００９７】
なお、一実施の形態においては、図１に示した特徴ベクトル作成部１９で、特徴学習アルゴリズムとして、Ｒｏｃｃｈｉｏフィードバックが用いられている旨を述べたが、さらに検索精度を高めるため、以下に説明する特徴学習アルゴリズムを用いてもよい。
【００９８】
ここで、Ｒｏｃｃｈｉｏフィードバックでは、図６および（２）式のように、必要文書ベクトルの重心と、不要文書ベクトルの重心の加減算により、特徴ベクトルｖを作成している。このことから、必要文書ベクトルや不要文書ベクトルのばらつきが大きい場合に、重心から十分に離れた必要文書ベクトル（または不要文書ベクトル）の特徴を、特徴ベクトルｖで表現できない場合がある。このような場合には、検索精度が低くなる。
【００９９】
そこで、一実施の形態では、Ｒｏｃｃｈｉｏフィードバックを弱学習アリゴリズムとしてＡｄａＢｏｏｓｔを適用したアルゴリズムにより分類結果に、分類の確からしさを示すスコアを確信度（ｃｏｎｆｉｄｅｎｃｅ  ｒａｔｉｏ）として利用する特徴学習アルゴリズムを用いてもよい。
【０１００】
確信度としては、Ｒｏｃｃｈｉｏフィードバックによるベクトルと、文書ベクトル間の内積値（０から１までの値をとる）を−１から１にマッピングしたものを用いる。この場合、図１に示した特徴ベクトル作成部１９では、Ｒｏｃｃｈｉｏフィードバックに代えて、以下の処理で特徴ベクトルを作成する。
【０１０１】
特徴ベクトル作成部１９は、ｘｉ  をｉ番目のサンプル文書、ｙｉ  をｘｉ  が必要文書ならば１、不要文書ならば−１として、ｍをサンプル文書数とする。
【０１０２】
つぎに、特徴ベクトル作成部１９は、学習例の重みを示す変数として、Ｄ１（ｉ）＝１／ｍとする。つぎに、特徴ベクトル作成部１９は、ラウンドｓを１から１ずつ加算してＴ（定数）に達するまで以下の（ａ）〜（ｅ）を繰り返す。
【０１０３】
（ａ）Ｒｏｃｃｈｉｏフィードバックの式によりつぎの（３）式のＱｓ（ベクトル記号付き）を計算する。
【数３】
2004220082.tif 000005
【０１０４】
（３）式において、ｘｉ（ベクトル記号付き）は、ｌｔｃ法により作成される文書ｘｉ  のベクトルを表す。Ｒは、必要文書数である。Ｎは、不要文書数である。
（ｂ）ベクトルＱ’ｓ（ベクトル記号付き）をつぎの（４）式で定義する。
【０１０５】
【数４】
2004220082.tif 000006
【０１０６】
（ｃ）ベクトルＱ’ｓ（ベクトル記号付き）と文書ｘｉ  のベクトルの内積ｐｉ  を計算し、ｈｔ（ｘｉ）＝２ｐｉ−１とする。なお、Ｑ’ｓ（ベクトル記号付き）と文書ベクトルの内積値が０から１までの値をとるため、−１≦ｈｔ（ｘｉ）≦１となる。
【０１０７】
（ｄ）弱学習アルゴリズムによる学習の正確さを表す変数αｓ  をつぎの（５）式および（６）式から求める。
【０１０８】
【数５】
2004220082.tif 000007
【数６】
2004220082.tif 000008
【０１０９】
（ｅ）学習例の重みＤｓ＋１（ｉ）をつぎの（７）式および（８）式から求める。
【０１１０】
【数７】
2004220082.tif 000009
【数８】
2004220082.tif 000010
【０１１１】
特徴ベクトル作成部１９は、最終的な強学習アルゴリズムＨ（ｘｉ）、すなわち、検索対象文書の関連度をつぎの（９）式から求める。（１０）式は、（９）式を変形したものである。
【０１１２】
【数９】
2004220082.tif 000011
【数１０】
2004220082.tif 000012
【０１１３】
（１０）式において、最終形の右辺第２項は、全ての検索対象文書の関連度評価について同一であるため、関連度で順位付けする際に評価する必要がなく、同右辺第１項のみ評価すればよい。すなわち、Ｒｏｃｃｈｉｏフィードバックでは、Ｑ１（ベクトル記号付き）とｘｉ（ベクトル記号付き）との内積値を評価していたが、その代わりに同右辺第１項とｘｉ（ベクトル記号付き）との内積値を評価すればよい。従って、この場合、特徴ベクトル作成部１９は、Ｒｏｃｃｈｉｏフィードバックを弱学習アルゴリズムとするＡｄａＢｏｏｓｔによる検索対象文書の関連度を得ることができる。
【０１１４】
発明者は、上述したＡｄａＢｏｏｓｔを用いた手法（但し、サンプル選択部１３０で類似文書を除外せず、ｎ組のサンプルを選択した場合）と、Ｒｏｃｃｈｉｏフィードバックを用いた手法との検索結果を比較した。
【０１１５】
まず、質問文とそれに対応する正解文が規定されたＮＰＬテストコレクションを用いた実験を行った。質問文による検索結果上位３０文書について、それらが正解文書（必要文書）であるか不要文書であるかの判定を行い、これを初期のサンプル文書とした。
【０１１６】
（１）初期サンプル文書（３０文書）について、ＡｄａＢｏｏｓｔを用いた手法とＲｏｃｃｈｉｏフィードバックを用いた手法のそれぞれで検索を行う。
（２）検索結果上位からフィードバックに使われていない文書（１０文書）を取り出し、新たなサンプル文書（１０文書）とする。
（３）初期サンプル文書（３０文書）とサンプル文書（１０文書）について、ＡｄａＢｏｏｓｔを用いた手法とＲｏｃｃｈｉｏフィードバックを用いた手法のそれぞれで検索を行う。
（４）検索結果からサンプリング手法により新たにサンプル文書（１０文書）を取り出し、新たなサンプル文書（１０文書）とする。
（５）初期サンプル文書（３０文書）とサンプル文書合計（２０文書）について、ＡｄａＢｏｏｓｔを用いた手法とＲｏｃｃｈｉｏフィードバックを用いた手法のそれぞれで検索を行う。
【０１１７】
上述した（１）〜（５）の手順により検索結果を評価したところ、Ｒｏｃｃｈｉｏフィードバックによる検索結果の平均適合率が４５．７％（サンプル文書を評価から除くと３０．５５％）、ＡｄａＢｏｏｓｔを用いた手法による検索結果の平均適合率が４８．７８％（同３２．５８％）であった。
【０１１８】
また、発明者は、上述したＡｄａＢｏｏｓｔを用いた手法（但し、サンプル選択部１３０で類似文書を除外した場合）と、Ｒｏｃｃｈｉｏフィードバックを用いた手法との検索結果を前述した（１）〜（５）の手順に従って、比較した。
【０１１９】
その結果、Ｒｏｃｃｈｉｏフィードバックによる検索結果の平均適合率が４６．３１％（サンプル文書を評価から除くと３０．７１％）、ＡｄａＢｏｏｓｔを用いた手法による検索結果の平均適合率が５０．４４％（同３５．５３％）であった。
【０１２０】
以上説明したように、一実施の形態によれば、内積値計算部１２０で、検索要求文ベクトルと複数の登録文書ベクトル（文書ベクトルデータベース１３）のそれぞれとの内積値（関連度）を計算し、複数組の関連度および登録文書に対応する文書ＩＤを出力し、サンプル選択部１３０で、複数組の中から、予め登録された集合における類似文書ＩＤと一致する文書ＩＤを含む組を除外し、残った組をサンプルとして選択することとしたので、複数の類似文書に対応する文書ＩＤがサンプルとして選択されることが防止され、検索精度を高めることができる。
【０１２１】
また、一実施の形態によれば、表示・フィードバック部１７で、選択されたサンプルを検索結果とし、該検索結果が検索要求文に適合しているか否かの適合性を検索者に判定させることとしたので、検索者にとって適合性の判定作業を楽にすることができる。
【０１２２】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【０１２３】
例えば、前述した一実施の形態においては、文書検索装置１００の機能を実現するためのプログラムを図７に示したコンピュータ読み取り可能な記録媒体３００に記録して、この記録媒体３００に記録されたプログラムを同図に示したコンピュータ２００に読み込ませ、実行することにより各機能を実現してもよい。
【０１２４】
同図に示したコンピュータ２００は、上記プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０と、キーボード、マウス等の入力装置２２０と、各種データを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２３０と、演算パラメータ等を記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４０と、記録媒体３００からプログラムを読み取る読取装置２５０と、ディスプレイ、プリンタ等の出力装置２６０とから構成されている。
【０１２５】
ＣＰＵ２１０は、読取装置２５０を経由して記録媒体３００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体３００としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【０１２６】
【発明の効果】
以上説明したように、請求項１、３、５にかかる発明によれば、検索要求文と複数の登録文書のそれぞれとの関連度を計算し、複数組の関連度および登録文書を出力し、複数組の中から、予め登録された集合における類似文書と一致する登録文書を含む組を除外し、残った組をサンプルとして選択することとしたので、複数の類似文書がサンプルとして選択されることが防止され、検索精度を高めることができるという効果を奏する。
【０１２７】
また、請求項２、４、６にかかる発明によれば、選択されたサンプルを検索結果とし、該検索結果が検索要求文に適合しているか否かの適合性を検索者に判定させることとしたので、検索者にとって適合性の判定作業を楽にすることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる一実施の形態の構成を示すブロック図である。
【図２】図１に示した類似文書ＩＤデータベース１４０のテーブル構造を示す図である。
【図３】図１に示したサンプル選択部１３０の構成を示すブロック図である。
【図４】同一実施の形態の動作を説明するフローチャートである。
【図５】図３に示したサンプル選択部１３０の動作を説明するフローチャートである。
【図６】Ｒｏｃｃｈｉｏフィードバックを説明する図である。
【図７】同一実施の形態の変形例の構成を示すブロック図である。
【図８】従来の文書検索装置１０の構成を示すブロック図である。
【符号の説明】
１００  文書検索装置
１１０  検索系／登録系ベクトル作成部
１２０  内積値計算部
１３０  サンプル選択部
１３１  データベース登録部
１３２  ｎ組サンプル選択部
１３３  サンプル判定部
１３４  除外文書ＩＤデータベース
１３５  サンプル登録部
１３６  選択済みサンプルデータベース
１３７  サンプル出力部
１４０  類似文書ＩＤデータベース
【図１】
2004220082.tif 000013
【図２】
2004220082.tif 000014
【図３】
2004220082.tif 000015
【図４】
2004220082.tif 000016
【図５】
2004220082.tif 000017
【図６】
2004220082.tif 000018
【図７】
2004220082.tif 000019
【図８】
2004220082.tif 000020