(57)【要約】【課題】ベクトル検索において検索結果の適正化を図るための検索チューニングを効率的に短時間に行う。【解決手段】検索結果の良し悪しを判断した結果、検索結果が悪く（ステップＳ２）、その原因の探索によって（ステップＳ３）、適正な重み付けがなされてないと判断された場合の検索チューニング処理手順として、まず、重み付け辞書を編集する操作を行い（ステップＳ６）、その重み付け辞書から取得された倍数を重み付けすべきとされた単語の出現回数「Cost」に掛け算して、それを「Weight」として登録する。このような処理を行ったのち、「Weight」の値と「Cost」の値が異なる単語に対しその単語のTFIDF値をTFIDF＝０とし（ステップＳ７，Ｓ８）、そのTFIDF＝０の単語に対して重要度計算を行う(ステップＳ９)。このように本発明では、その文書の総単語数を変化させず、それによって、他の重み付けをしない単語に関してはそのTFIDFが変化しない。【選択図】      図３
2004206631.tif 000002
【特許請求の範囲】
【請求項１】
ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させてなる値を重要度としてデータベースに登録し、その重要度を、検索に必要な情報の１つとして用いてベクトル検索を行い、それによって得られる検索結果をより適正化するための検索チューニング方法において、
前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録することを特徴とする検索チューニング方法。
【請求項２】
前記データベースは、
前記ある文書内である単語の出現回数を示す情報「Cost」と、
前記重み付けすべきと判断された単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」と、
前記ある文書内である単語の出現回数を示す情報「Cost」に、前記特徴量を反映させてなる重要度と、
を記録するテーブルを有し、
このテーブルにおいて、前記「Weight」の値が前記「Cost」の値と異なる単語のみについて、前記「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として記録することを特徴とする請求項１記載の検索チューニング方法。
【請求項３】
ベクトル検索によって検索された検索結果を適正化するための検索チューニング機能を有した情報検索システムにおいて、
文書を形態素解析する形態素解析部と、
この形態素解析部での形態素解析結果を用い、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させた重要度計算を行う重要度計算部と、
個々の文書に関する情報、前記形態素解析部で形態素解析された形態素解析結果、さらには、前記ある文書内である単語の出現回数を示す情報「Cost」、前記特徴量、前記重要度などベクトル検索に必要な情報を記録するデータベースと、検索チューニング時に重み付けすべきと判断された単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求めて、その「Weight」を前記データベースに登録するとともに、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録する重要度再計算部と、
検索要求を入力すると前記データベースを参照するとともに辞書などの知識源を参照して検索に必要な情報を取得してベクトル検索する検索エンジンと、
を有し、
前記検索エンジンによる検索結果を適正化するための情報検索チューニングを行う際は、前記重要度計算部が、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録し、前記検索エンジンは、その登録された重要度を検索に必要な情報の１つとして用いてベクトル検索を行うことを特徴とする情報検索システム。
【請求項４】
前記データベースは、
個々の文書ごとに与えられた文書固有情報、その文書のアドレス情報、その文書のタイトル、その文書のテキスト、その文書に対する分類情報、その文書に出現する総単語数などを記録するページテーブルと、
その文書を形態素解析して得られた単語、それぞれの単語に与えられた単語固有情報、前記特徴量などを記録するワードテーブルと、
前記PageテーブルとWordテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、前記重み付けすべきと判断された単語の出現回数を増やすべくある値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルと、
を有し、
このキーワードテーブルにおいて、前記「Weight」の値が前記Costの値と異なる単語のみについて、前記重要度再計算部が、前記「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として当該キーワードテーブルに記録することをすることを特徴とする請求項３記載の情報検索システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ベクトル検索により検索された検索結果を適正化する検索チューニング方法およびその検索チューニング方法を用いた情報検索システムに関する。
【０００２】
【従来の技術】
検索手法の一つであるベクトル検索は、文書と文書の遠近を単語ごとのベクトルで計算して文書間の類似度を求めることで文書検索を行うもので、情報検索の有効な手法として従来より広く用いられている。このベクトル検索による情報検索を行う技術の一つとして、たとえば、特開２０００−２４２６４６号公報に記載の技術がある。
【０００３】
この特開２０００−２４２６４６号公報に記載の技術は、入力された検索文と検索対象の文書とを辞書に登録された単語を用いて近傍共起する単語間の関連度と該単語の出現する頻度に基づく特徴量からベクトル化して、該検索文に類似する文書を検索する検索手段と、前記検索文と前記検索手段で検索された複数の文書との間の類似度が予め定められた条件を満たすように、前記辞書に含まれる単語のうち、前記検索文と関連の薄い単語を省くことにより該辞書を更新する辞書更新手段とを有するものであり、これによって、語間の関連性を考慮した適合性フィードバックを実現して、検索時間の短縮と精度の高い検索を実現しようとするものである。
【０００４】
一般に、ベクトル検索は、TFIDF値がベクトルの大きさを表す値として使用される。なお、このTFIFD値はその単語の重要度を表す値ともいえる。TFIDFとは、G．Saltonの開発した計算式であり（下記の非特許文献１参照）、一般的に次式のように求められる。
【０００５】
TFIDF(t)＝TF(t)×IDF(t)                                  （１）
この（１）式において、
TF(t)＝ある文書に単語ｔが出現する回数
IDF(t)＝log10（N/DF(t)）
DF(t)＝文書群内で単語ｔが出現する文書数
ｔ＝任意の単語
Ｎ＝文書群内の総文書数
である。
【０００６】
上述の（１）式のIDF(t)は、文書群内における当該単語の出現状況に基づく特徴量を表し、その単語ｔの重みとしての部分であり、このIDF(t)は、上述ではlog10（N/DF(t)）としているが、対数の部分はlog２などの値も使用される。この（１）式からもわかるように、少ない文書数に多く出現する単語が重要となる。
【０００７】
また、TF(t)の値においては、単語ｔの出現回数をそのまま用いるのではなく、１００×TF(t)／その文書の総単語数として、０〜１００に正規化したものを使用した方が、重要度においてより精度が高くなることがわかっている。たとえば、総単語数が１００の文書で１０回出現した単語ｔと、総単語数が２００の文書で１０回出現した単語ｔでは、その単語ｔの出現回数、つまり、その単語の出現回数TF(t)はどちらも１０となるが、正規化を行ことにより、前者の場合はTF(t)＝１０、後者の場合はTF(t)＝５となり、その違いが明確に現れるので、正規化した方が自然な結果が得られる。
【０００８】
また、ある文書中に単語ｔが１個あるのと２個あるのではその文書が表す概念として大きな違いはない。そこで、ある文書におけるTF(t)値の計算方法を、その文書における単語ｔの有無ではTF(t)の値に大きな差を出し、その文書における単語ｔの出現回数の多少の差ではTF(t)が大きく変動しないように、緩やかな関数としてlog、tanh、atanなどで正規化することが一般的に行われている。
【０００９】
【特許文献１】
特開２０００-２４２６４６号公報
【非特許文献１】
G．Salton，M．McGill，Introduction to Modern Information Retrieval，New York，McGraw-Hill，1983
【００１０】
【発明が解決しようとする課題】
ところで、情報検索システムにおいては、適正な検索結果が得られるようにするための検索チューニングが行われる。この検索チューニングでは、検索結果の良し悪しを判断し、良好な検索結果が得られない場合、意図的にある特定の単語について重み付けを行うことが一般的になされる。このように、意図的に特定の単語について重み付けを行う場合、ベクトル計算なので通常はその特定の単語が含まれている文書について、その単語を多く含んでいるように計算し直すが、このとき、文書の総単語数も新たな値として設定し直して、すべての単語について、その重要度であるTFIDFを計算し直す必要があるため、その演算処理に多くの時間を費やす問題がある。
【００１１】
また、前述したように、TF(t)の正規化を行う場合は、その特定の単語の重要度は高くなるものの、総単語数が増えることにより相対的にその他の単語の重要度が落ちるため、逆に総合的な精度が落ちてしまう問題もある。
【００１２】
なお、前述の特許文献１に示した従来技術は、前述したように、語間の関連性を考慮した適合性フィードバックを実現して、検索時間の短縮と精度の高い検索を実現しようとするものであるが、検索チューニング時において、上述した問題点を解決するものではない。
【００１３】
そこで本発明は、ベクトル検索において検索チューニングに要する時間の大幅な短縮化を可能とする検索チューニング方法を提供するとともに、その検索チューニング方法を採用することによって高精度な情報検索を可能とする情報検索システムを提供することを目的としている。
【００１４】
【課題を解決するための手段】
上述の目的を達成するために本発明の検索チューニング方法は、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させてなる値を重要度としてデータベースに登録し、その重要度を、検索に必要な情報の１つとして用いてベクトル検索を行い、それによって得られる検索結果をより適正化するための検索チューニング方法において、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録するようにしている。
【００１５】
この検索チューニング方法において、前記データベースは、前記ある文書内である単語の出現回数を示す情報「Cost」と、前記重み付けすべきと判断された単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」と、前記ある文書内である単語の出現回数を示す情報「Cost」に、前記特徴量を反映させてなる重要度とを記録するテーブルを有し、このテーブルにおいて、前記「Weight」の値が前記「Cost」の値と異なる単語のみについて、前記「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として記録するようにしている。
【００１６】
また、本発明の情報検索システムは、ベクトル検索によって検索された検索結果を適正化するための検索チューニング機能を有した情報検索システムにおいて、文書を形態素解析する形態素解析部と、この形態素解析部での形態素解析結果を用い、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させた重要度計算を行う重要度計算部と、個々の文書に関する情報、前記形態素解析部で形態素解析された形態素解析結果、さらには、前記ある文書内である単語の出現回数を示す情報「Cost」、前記特徴量、前記重要度などベクトル検索に必要な情報を記録するデータベースと、検索チューニング時に重み付けすべきと判断された単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる「Weight」を求めて、その「Weight」を前記データベースに登録するとともに、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録する重要度再計算部と、検索要求を入力すると前記データベースを参照するとともに辞書などの知識源を参照して検索に必要な情報を取得してベクトル検索する検索エンジンとを有し、前記検索エンジンによる検索結果を適正化するための情報検索チューニングを行う際は、前記重要度計算部が、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録し、前記検索エンジンは、その登録された重要度を検索に必要な情報の１つとして用いてベクトル検索を行うようにしている。
【００１７】
この情報検索システムにおいて、前記データベースは、個々の文書ごとに与えられた文書固有情報、その文書のアドレス情報、その文書のタイトル、その文書のテキスト、その文書に対する分類情報、その文書に出現する総単語数などを記録するページテーブルと、その文書を形態素解析して得られた単語、それぞれの単語に与えられた単語固有情報、前記特徴量などを記録するワードテーブルと、前記PageテーブルとWordテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、前記重み付けすべきと判断された単語の出現回数を増やすべくある値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルとを有し、このキーワードテーブルにおいて、前記「Weight」の値が前記「Cost」の値と異なる単語のみについて、前記重要度再計算部が、前記値「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として当該キーワードテーブルに記録するようにしている。
【００１８】
このように本発明の検索チューニング方法は、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合、重み付けすべきとされた単語の出現回数「Cost」（このCostは(1)式ではTFに対応するものである）を何倍かして、それを「Weight」として登録し、その「Weight」を用いて当該重み付けすべきとされた単語の重要度を計算している。つまり、文書の総単語数に何ら変更をかけないようにし、そのままの値を保持させているので、重み付けをしない単語に関してはその重要度は変化しない。
【００１９】
このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算し直す必要がなくなり、検索チューニングに要する時間を大幅に短縮することができる。また特に、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができる。
【００２０】
また、このような情報検索チューニング方法とするために、これらベクトル検索に必要な情報を保持するデータベースの構造に工夫がなされている。すなわち、そのデータベース構造として、ある単語がその文書で何回出現したかを示す情報「Cost」と、この出現回数を示す情報「Cost」に、文書群内におけるその単語の出現状況に基づく特徴量（これは、前述の(1)式におけるIDF(t）を指している)を反映させた重要度の他に、その単語が重み付けすべきとされた単語である場合、上述の「Cost」にその単語に対し重み付け辞書から取得された倍数を掛けて得られる値「Weight」を記録するテーブルを有する構造としている。
【００２１】
このようなテーブルを作成することによって、ある単語に対し重み付けを行う際は、そのテーブルにおいて、上述の「Cost」の値と「Weight」の値の異なる単語についてのみ、その単語に対して求められた「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度をその単語に対する新たな重要度として上述のテーブルに登録すればよいので、検索チューニング処理を簡略化することができ、チューニングに要する時間を大幅の短縮することができる。また、テーブルには、その単語がその文書で何回出現したかを示す情報「Cost」が保持されているので、重み付け辞書を編集してからのチューニングも短時間で可能となる。
【００２２】
また、本発明の情報検索装置は、情報検索チューニング機能として、上述した検索チューニング方法、すなわち、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録するといった検索チューニング方法を採用しているので、検索チューニングに要する時間を大幅に短縮することができ、また、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができるといった効果をえることができる。また、このような検索チューニング機能を有することによって、高精度な情報検索が可能となり、ユーザの所望とする情報を適切に検索することができる。
【００２３】
また、このような情報検索装置におけるデータベースとして、ページテーブルと、ワードテーブルと、これらページテーブルとワードテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、前記重み付けすべきと判断された単語の出現回数を増やすべくある値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルとを有している。これによって、ある単語に対し重み付けを行う際は、そのキーワードテーブルにおける上述の「Cost」の値と「Weight」の値の異なる単語についてのみ、その単語に対して求められた「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度をその単語に対する新たな重要度として上述のテーブルに登録すればよいので、検索チューニング処理を簡略化することができ、チューニングに要する時間を大幅の短縮することができる。また、テーブルには、その単語がその文書で何回出現したかを示す情報「Cost」が保持されているので、重み付け辞書を編集してからのチューニングも短時間で可能となる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、この実施の形態で説明する内容は、本発明の検索チューニング方法および情報検索システムの両方の説明を含むものである。
【００２５】
図１は本発明の情報検索システムの構成図であり、構成要素のみを列挙すると、文書群を構成する個々の文書１、形態素解析部２、重要度計算部３、データベース４、重要度再計算部５、検索エンジン６、表示部７、日本語知識源８としての形態素解析辞書８１、重み付け辞書８２、類似語辞書８３、ストップワード辞書８４などを有した構成となっている。
【００２６】
形態素解析部２は、文書群を構成する個々の文書１に対して形態素解析用辞書８１を用いて形態素解析を行い、頻出する名詞、さ変名詞、その他、類する単語をデータベース４のページ（Page）テーブル４１、キーワード（KeyWord）テーブル４２、ワード（Word）テーブル４３に登録する。
【００２７】
重要度計算部３は、形態素解析部２の形態素解析結果を用いて、個々の文書１に出現するそれぞれの単語の出現回数を求めるとともに、前述した（１）式を計算し、それを重要度としてデータベース４のKeyWordテーブル４２に登録する。
なお、データベース４のPageテーブル４１、KeyWordテーブル４２、Wordテーブル４３のデータ構造などについては後に説明する。
【００２８】
重要度再計算部５は、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断され、その単語を重み付けすべきとされた場合、その重み付けすべきとされた単語に対して重み付け辞書８２を用いて重み付けを行い、上述の重要度を再度計算し、それを新たな重要度としてKeyWordテーブル４２に登録する。なお、この重要度再計算部５が用いる重み付け辞書８２は、ある単語について、その単語の出現回数を何倍するかの記述がなされているものであり、その何倍とするかはユーザが手動で設定することもできる。
【００２９】
検索エンジン６は、たとえば、ユーザからの質問文などを受け付けて、その質問内容に基づき、データベース２を参照するとともに日本語知識源８として形態素解析用辞書８１、類似語辞書８３、ストップワード辞書８４を参照してベクトル検索を行いその結果を表示部７に表示する。
【００３０】
なお、類似語辞書８３は、表現が異なるが意味が等しい単語（たとえば、英語で表記された「Computer」に対し日本語で表記された「コンピュータ」や「電子計算機」など）が登録されており、それぞれの単語に対する類似語として多数登録可能であるが、運用上は、ある単語に対する類似語としては、せいぜい１０個程度で十分であるので、この実施形態では、ある単語に対する類似語として、先頭から最大１０個までを有効としている。
【００３１】
ストップワード辞書８４は、ベクトル検索するに際して、あまり重要でない単語などを登録するものである。すなわち、多くの文書に頻繁に出現し、個々の文書の表す概念にあまり関係のない単語などをそのまま重要度の計算対象として用いると、ベクトル検索を行うに要する計算時間が必要以上に長くなり、また、精度も向上しない。そのため、それらの単語は予め検索しないようにして時間の短縮化を図ることが必要であり、ストップワード辞書８４はこのような単語をストップワードとして登録するものであり、どれをストップワードとするかはデータベース４内で自動的に計算される。また、その他にも、重要度の計算対象としなくてもよい単語を予め意図的に設定しておき、その単語を登録することもできる。
【００３２】
図２はデータベース４内に存在するPageテーブル４１、KeyWordテーブル４２、Wordテーブル４３のデータ構造の一例を示すものであり、この図２からもわかるように、KeyWordテーブル４２がPageテーブル４１とWordテーブル４３をつなぐ役目をなしている。
【００３３】
なお、普通の検索エンジンでは、Pageテーブル４１とWordテーブル４３だけで十分であるが、ベクトル検索では各単語を要素とした場合、その重要度を確保するテーブルが必要であり、そのテーブルをWordテーブル４３内で作成すると、データベース４は膨大なデータ量となり、データベースとしてきわめて大きなメモリ量を確保する必要がある。このため、数値のみを確保するKeyWordテーブル４２を作成して、データベース４のデータ量を削減するようにしている。以下、これらPageテーブル４１、KeyWordテーブル４２、Wordテーブル４３について説明する。
【００３４】
Pageテーブル４１は、「PageＩＤ」、「アドレス」、「タイトル」、「テキスト」、「分類」、「総単語数」などからなる。
【００３５】
このPageテーブル４１において、「PageＩＤ」は、各文書ごとに与えられた文書固有の番号を表し、この文書固有番号が「PageＩＤ」として記録される。また、「アドレス」は、その文書が保存されているディレクトリのフルパスまたはＵＲＬを表し、このディレクトリのフルパスまたはＵＲＬが「アドレス」として記録される。また、「タイトル」は、その文書の題名を表し、文書の題名が「タイトル」として記録される。また、「テキスト」は、文書の本文を表し、その本文が「テキスト」として記録される。なお、「テキスト」に記録される本文は全文でもよいが、たとえば、先頭から２５６バイトまでというようにその一部の内容を記録するようにすることもできる。また、「分類」は検索を行う際、文書の絞込みを行うときに使用される分類ＩＤを表し、この分類ＩＤが「分類」として記録される。また、「総単語数」はその文書に出現する単語の総数であり、この単語の総数が「総単語数」として記録される。
【００３６】
Wordテーブル４３は「単語」、「WordＩＤ」、「DF」からなり、「単語」は、その文書の形態素解析結果から得られる単語を表し、その単語のキャラクタデータが記録され、また、「WordＩＤ」は、単語ごとに与えられた個々の単語固有の番号を表し、その単語固有の番号が「WordＩＤ」として記録される。また、「DF」は、文書群内でその単語が出現する文書数（全文書のうち、どれだけの文書でこの単語が使われているかを示す数値）であり、この文書数が「DF」として記録される。
【００３７】
KeyWordテーブル４２は、上述したように、Pageテーブル４１とWordテーブル４３をつなぐ役目をなし、「PageＩＤ」、「WordＩＤ」、「Cost」、「Weight」、「重要度」からなり、これら各要素のうち、本発明は「Weight」を新たに設けたことが特徴である。
【００３８】
このKeyWordテーブル４２において、「PageＩＤ」は、Pageテーブル４１の「PageＩＤ」と同様に、各文書ごとに与えられた文書固有の番号を表し、この文書固有番号が「PageＩＤ」として記録され、このKeyWordテーブル４２の「PageＩＤ」とPageテーブル４１の「PageＩＤ」とは相互に対応つけられている。また、KeyWordテーブル４２の「WordＩＤ」は、Wordテーブル４３の「WordＩＤ」と同様に、各単語ごとに与えられた単語固有の番号を表し、この単語固有番号が「WordＩＤ」として記録され、このKeyWordテーブル４２の「WordＩＤ」とWordテーブル４３の「WordＩＤ」とは相互に対応つけられている。
【００３９】
また、このKeyWordテーブル４２の「Cost」は、その文書内でその単語が何回出現したかを示す出現回数（前述の(1)式のTFに対応している）を表し、この出現回数が「Cost」として記録され。また、「Weight」は重み付け辞書８２から取得された「何倍」かの倍数を上述の出現回数「Cost」に掛けて得られる値を示すものであり、この倍数を上述の出現回数「Cost」に掛けて得られた値が「Weight」として記録される。なお、検索チューニング処理を行う前の初期状態においては、個々の文書１に出現するそれぞれの単語の出現回数「Cost」の値を「Weight」にそのままコピーする。つまり、この初期状態においては、「Cost」＝「Weight」となっている
また、「重要度」は初期状態においては、個々の文書１に出現するそれぞれの単語の「Weight」（＝「Cost」）とWordテーブルの「DF」を用いて、（１）式を計算してTDIDFを求め、そのTDIDFを重要度とする。すなわち、このTDIDFは、Wordテーブル４３の「DF」を用いて、まず、当該単語（ｔとする）の出現状況に基づく特徴量としての意味を有するIDF(t)=log10（Ｎ/DF(t)）を計算し、求められたIDF(t)と「Weight」（＝「Cost」）を用いて、（１）式を計算することによって求められる。
【００４０】
その後、検索チューニング時において、重み付け辞書８２から取得された「何倍」かの倍数が上述の出現回数「Cost」に掛け算され、その結果が「Weight」として記録されると、その「Weight」とWordテーブルの「DF」を用いて、上述したように、まず、当該単語（ｔとする）のIDF(t)=log10（Ｎ/DF(t)）を計算し、求められたIDF(t)と「Weight」（＝「Cost」）を用いて、（１）式を計算する。そして、それによって得られたTFIDFが新たな重要度として記録される。
【００４１】
図３はこの実施形態における検索チューニング処理を説明するフローチャートであり、以下、この図３を参照しながら検索チューニング処理手順について説明する。なお、この図３のフローチャートにおけるチューニング開始時点では、個々の文書に対する形態素解析とすべての重要度（TFIDF）の計算が終了し、たとえば、検索チューニング用に入力した質問文に対する文書検索がなされた段階であるとする。なお、この段階での重要度TFIDFは、図２に示したKeyWordテーブル４２の「Cost」のデータをそのまま「Weight」にコピーし、その上で、その「Weight」とWordテーブルの「DF」を用いて、上述したような手順で（１）式を計算することで求められている。
【００４２】
まず、ストップワードをデータベース２から自動抽出し、それをストップワード辞書８４に保存する（ステップＳ１）。そして、検索結果に対して、その検索結果の良し悪しを判断する（ステップＳ２）。この判断はこの検索チューニングを行う操作者などが行う。なお、この図３の各ステップにおいて、アンダラインの施された処理内容は検索チューニングを行う操作者など人手によってなされる処理である。
【００４３】
このステップＳ２において、検索結果が良いと判断されれば検索チューニング処理終了するが、その検索結果が悪いと判断された場合は、悪い原因を探索する（ステップＳ３）。その悪い原因の探索としては、「類似語がない」、「不必要な単語検索がなされている」、「適正な重み付けがなされていない」などを行い、類似語がない場合には、その類似語を類似語辞書８３に追加し（ステップＳ４）、不必要な単語検索がなされている場合には、その不必要とされる単語をストップワード辞書８４に追加し（ステップＳ５）、また、適正な重み付けがなされていない場合には、重み付け辞書８２を編集する（ステップＳ６）といった操作を行う。なお、これらの操作はいずれか一つで済む場合もあるが複数の操作を重複して行う必要のある場合もある。
【００４４】
そして、これらの操作のうち、類似語を類似語辞書８３に追加する操作と、不必要とされる単語をストップワード辞書８４に追加する操作を行ったあとは、再検索処理を行い（ステップＳ１０）、そのあと、ステップＳ２に戻り、再度、検索結果の良し悪しを判断する。
【００４５】
一方、適正な重み付けがなされてなく、重み付け辞書を編集する操作（ステップＳ６）を行った場合には、その重み付け辞書を編集する操作を行ったあと、重み付け辞書８２の重み付け内容に係わらず、KeyWordテーブル４２の「Weight」の値と「Cost」の値が異なる単語があるか否かを調べ、「Weight」≠「Cost」の単語に対し、そのTFIDFを０（TFIDF＝０）とする（ステップＳ７）。なお、最初の検索チューニング処理においては、すべての単語について「Weight」＝「Cost」であるため、このステップＳ７の処理は素通りする。
【００４６】
そして、重み付け辞書８２のすべての単語についての重み付けデータを読み込んで、重み付け辞書８２の編集操作によって重み付けの変更されている単語があればその単語の「Weight」を変更する。このとき、その単語に対しTFIDF＝０とする（ステップＳ８）。次に、そのTFIDF＝０の単語に対して重要度を再計算する(ステップＳ９)。
【００４７】
そして、その再計算されて得られた重要度を新たな重要度としてKeyWordテーブル４２の「重要度」に記録し、その新たな重要度を用いた再検索処理を行い（ステップＳ１０）、そのあと、ステップＳ２に戻り、再度、検索結果の良し悪しを判断する。
【００４８】
この再度の検索結果の良し悪しによって、まだ検索結果が悪いと判断され、その原因が適正な重み付けがなされていないためであると判断された場合は、再度、重み付け辞書８２の編集を行い（ステップＳ６）、この重み付け辞書の編集を行ったあとは、まず、KeyWordテーブル４２の「Weight」の値と「Cost」の値が異なる単語（それ以前に重み付け操作がなされている場合もある）があるか否かを調べ、「Weight」≠「Cost」の単語に対し、そのTFIDFを０（TFIDF＝０）とする（ステップＳ７）。
【００４９】
そして、重み付け辞書８２のすべての単語についての重み付けデータ読み込んで、重み付け辞書８２の編集操作によって重み付けの変更されている単語があれば、その単語の「Weight」を変更する。このとき、その単語に対しTFIDF＝０とする（ステップＳ８）。次に、そのTFIDF＝０の単語に対して重要度を再計算する(ステップＳ９)。
【００５０】
そして、その再計算されて得られた重要度を新たな重要度としてKeyWordテーブル４２の「重要度」に記録し、その新たな重要度を用いた再検索処理を行い（ステップＳ１０）、そのあと、ステップＳ２に戻り、再度、検索結果の良し悪しを判断する。
【００５１】
以上のような処理を検索結果が良いと判断されるまで行う。本発明では、上述のステップＳ７，Ｓ８，Ｓ９の処理を行うのが特徴であり、以下、このステップＳ７，Ｓ８，Ｓ９の処理について説明する。
【００５２】
前述したように、従来は、KeyWordテーブル４２の「Cost」とWordテーブル４３の「DF」を使用して前述の（１）式によってTFIDFを求め、求められたTFIDFをKeyWordテーブル４２の「重要度」に記録している。そして、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合は、その単語に対して求められたTFIDF値を大きく（重要度を高く）するために、その「Cost」を大きくする操作を行う。たとえば、その重み付けすべきとされた単語の「Cost」が現時点で５個であったものを１０個としたとすると、その文書における総単語数もそれに伴って増やすのが従来の方法である。
【００５３】
このように総単語数を増やすと、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算しなおす必要がある。また、TF（ここでは「Cost」）の正規化を行う場合は、特定の単語（重み付けを行った単語）の重要度は増すものの、総単語数が増えることにより相対的にその他の単語の重要度が落ちるため、逆に総合的な精度が落ちてしまう問題もあることも前述した通りである。
【００５４】
これに対処するために本発明では、上述の例のように、「Cost」が現時点で５個であったものを１０個とするような場合であっても、Pageテーブル４１の総単語数は変えないようにする。
【００５５】
本発明では、その単語に対してどの程度の重み付けをするかということを重み付け辞書８２から取得して、それを「Cost」に反映させる。たとえば、ある単語に対し出現回数を２倍とするということが重み付け辞書８２から取得されたとすると、その倍数（この場合、２倍）を「Cost」に掛けたものをKeyWordテーブル４２の「Weight」として記録する。なお、Pageテーブル４１の総単語数はこれまでの値をそのまま保持する。
【００５６】
このように、重み付け辞書８２から取得された倍数を「Cost」に掛けたものをKeyWordテーブル４２の「Weight」として記録することによって、そのページ（文書）におけるKeyWordテーブル４２の「Cost」と「Weight」は両者の値が異なり（重み付けする前は、これら「Cost」と「Weight」は同じ値である）、この「Cost」と「Weight」の値が異なる単語に対して重要度を再計算する。
【００５７】
すなわち、重み付け辞書８２の編集を行った場合、まず、重み付け辞書８２の重み付け内容に係わらず、KeyWordテーブル４２の「Cost」と「Weight」の値を調べ、「Cost」と「Weight」が異なる単語があれば、その単語に対するTFIDFをTFIDF＝０とし（ステップＳ７）、さらに、重み付け辞書８２のすべての単語についての重み付けデータ読み込んで、重み付け辞書８２の編集操作によって重み付けの変更されている単語の「Weight」を変更する。このとき、その単語に対しTFIDF＝０とする（ステップＳ８）。そして、このTFIDF＝０の部分について重要度を再計算する（ステップＳ９）。なお、このステップＳ８における重要度は、「Weight」（「Cost」にある倍数を掛けて得られた値）とWordテーブル２３の「DF」を用いて前述したような手順で（１）式を計算することによって求める。
【００５８】
このようにして、ステップＳ９による重要度再計算がなされたら、再計算されて得られた新たな重要度を用いて再検索処理（ステップＳ４，Ｓ５の処理がなされていればこれらの処理も反映した再検索処理）を行う（ステップＳ１０）。そして、ステップＳ２にてその検索結果の良し悪しを再度調べ、その結果がよければ、この検索チューニング処理を終了し、検索結果が好ましくなければ、再び、ステップＳ３以降の処理を行う。
【００５９】
このように、本発明によれば、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合は、その単語に対してのみ、出現回数「Cost」を何倍かして、それを「Weight」として登録し、その「Weight」を用いて重要度（TFIDF）を再計算している。つまり、本発明では、その文書の総単語数の変更は行わないので、他の重み付けをしない単語に関してはそのTFIDFは変化しない。このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算しなおすことがなくなり、また、TF（＝Cost）の正規化が含まれているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ち、それによって、逆に総合的な精度が落ちてしまう問題を回避することができる。
【００６０】
ちなみに、本発明を用いることにより、従来のベクトル検索システムにおける検索チューニングの作業工数と前述した本発明による検索チューニングの作業工数を比較すると、本発明は従来に比べて約１／１０に削減することができることがわかった。
【００６１】
なお、本発明は上述の実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能となるものである。
【００６２】
また、本発明は以上説明した本発明を実現するための処理手順が記述された処理プログラムを作成し、その処理プログラムをフロッピィディスク、光ディスク、ハードディスクなどの記録媒体に記録させておくこともでき、本発明は、その処理プログラムの記録された記録媒体をも含むものである。また、ネットワークから当該処理プログラムを得るようにしてもよい。
【００６３】
【発明の効果】
本発明の検索チューニング方法は、検索チューニング時において、適正な検索結果が得られなかった原因として、ある単語に適正な重み付けがなされてないと判断され、その単語を重み付けすべきとされた場合、その重み付けすべきとされた単語の出現回数「Cost」を何倍かして、それを「Weight」として登録し、その「Weight」を用いて当該重み付けすべきとされた単語の重要度を計算している。
つまり、文書の総単語数に変更をかけずに、そのままの値を保持させているので、重み付けをしない単語に関してはその重要度は変化しない。このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算し直す必要がなくなり、検索チューニングに要する時間を大幅に短縮することができる。また特に、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができる。
【００６４】
また、本発明の情報検索装置は、情報検索チューニング機能として、上述した情報検索チューニング方法、すなわち、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記文書群内における当該単語の出現状況に基づく重みを反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録するといった検索チューニング方法を採用しているので、検索チューニングに要する時間を大幅に短縮することができ、また、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができるといった効果を得ることができる。また、このような検索チューニング機能を有することによって、高精度な情報検索が可能となり、ユーザの所望とする情報を適切に検索することができる。
【図面の簡単な説明】
【図１】本発明の情報検索システムの実施形態を説明する構成図である。
【図２】図1で示した情報検索システムに用いられるデータベースのPageテーブル、KeyWordテーブル、Wordテーブルのデータ構造を説明する図である。
【図３】図1で示した情報検索システムにおける情報検索チューニング処理手順を説明するフローチャートである。
【符号の説明】
１  文書
２  形態素解析部
３  重要度計算部
４  データベース
５  重要度再計算部
６  検索エンジン
７  表示部
８  日本語知識源
４１  Pageテーブル
４２  KeyWordテーブル
４３  Wordテーブル
８１  形態素解析辞書
８２  重み付け辞書
８３  類似語辞書
８４  ストップワード辞書
【図１】
2004206631.tif 000003
【図２】
2004206631.tif 000004
【図３】
2004206631.tif 000005