JP3804609B2 - 検索チューニング方法および情報検索システム - Google Patents
検索チューニング方法および情報検索システム Download PDFInfo
- Publication number
- JP3804609B2 JP3804609B2 JP2002378058A JP2002378058A JP3804609B2 JP 3804609 B2 JP3804609 B2 JP 3804609B2 JP 2002378058 A JP2002378058 A JP 2002378058A JP 2002378058 A JP2002378058 A JP 2002378058A JP 3804609 B2 JP3804609 B2 JP 3804609B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- importance
- information
- search
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ベクトル検索により検索された検索結果を適正化する検索チューニング方法およびその検索チューニング方法を用いた情報検索システムに関する。
【0002】
【従来の技術】
検索手法の一つであるベクトル検索は、文書と文書の遠近を単語ごとのベクトルで計算して文書間の類似度を求めることで文書検索を行うもので、情報検索の有効な手法として従来より広く用いられている。このベクトル検索による情報検索を行う技術の一つとして、たとえば、特開2000−242646号公報に記載の技術がある。
【0003】
この特開2000−242646号公報に記載の技術は、入力された検索文と検索対象の文書とを辞書に登録された単語を用いて近傍共起する単語間の関連度と該単語の出現する頻度に基づく特徴量からベクトル化して、該検索文に類似する文書を検索する検索手段と、前記検索文と前記検索手段で検索された複数の文書との間の類似度が予め定められた条件を満たすように、前記辞書に含まれる単語のうち、前記検索文と関連の薄い単語を省くことにより該辞書を更新する辞書更新手段とを有するものであり、これによって、語間の関連性を考慮した適合性フィードバックを実現して、検索時間の短縮と精度の高い検索を実現しようとするものである。
【0004】
一般に、ベクトル検索は、TFIDF値がベクトルの大きさを表す値として使用される。なお、このTFIFD値はその単語の重要度を表す値ともいえる。TFIDFとは、G.Saltonの開発した計算式であり(下記の非特許文献1参照)、一般的に次式のように求められる。
【0005】
TFIDF(t)=TF(t)×IDF(t) (1)
この(1)式において、
TF(t)=ある文書に単語tが出現する回数
IDF(t)=log10(N/DF(t))
DF(t)=文書群内で単語tが出現する文書数
t=任意の単語
N=文書群内の総文書数
である。
【0006】
上述の(1)式のIDF(t)は、文書群内における当該単語の出現状況に基づく特徴量を表し、その単語tの重みとしての部分であり、このIDF(t)は、上述ではlog10(N/DF(t))としているが、対数の部分はlog2などの値も使用される。この(1)式からもわかるように、少ない文書数に多く出現する単語が重要となる。
【0007】
また、TF(t)の値においては、単語tの出現回数をそのまま用いるのではなく、100×TF(t)/その文書の総単語数として、0〜100に正規化したものを使用した方が、重要度においてより精度が高くなることがわかっている。たとえば、総単語数が100の文書で10回出現した単語tと、総単語数が200の文書で10回出現した単語tでは、その単語tの出現回数、つまり、その単語の出現回数TF(t)はどちらも10となるが、正規化を行ことにより、前者の場合はTF(t)=10、後者の場合はTF(t)=5となり、その違いが明確に現れるので、正規化した方が自然な結果が得られる。
【0008】
また、ある文書中に単語tが1個あるのと2個あるのではその文書が表す概念として大きな違いはない。そこで、ある文書におけるTF(t)値の計算方法を、その文書における単語tの有無ではTF(t)の値に大きな差を出し、その文書における単語tの出現回数の多少の差ではTF(t)が大きく変動しないように、緩やかな関数としてlog、tanh、atanなどで正規化することが一般的に行われている。
【0009】
【特許文献1】
特開2000-242646号公報
【非特許文献1】
G.Salton,M.McGill,Introduction to Modern Information Retrieval,New York,McGraw-Hill,1983
【0010】
【発明が解決しようとする課題】
ところで、情報検索システムにおいては、適正な検索結果が得られるようにするための検索チューニングが行われる。この検索チューニングでは、検索結果の良し悪しを判断し、良好な検索結果が得られない場合、意図的にある特定の単語について重み付けを行うことが一般的になされる。このように、意図的に特定の単語について重み付けを行う場合、ベクトル計算なので通常はその特定の単語が含まれている文書について、その単語を多く含んでいるように計算し直すが、このとき、文書の総単語数も新たな値として設定し直して、すべての単語について、その重要度であるTFIDFを計算し直す必要があるため、その演算処理に多くの時間を費やす問題がある。
【0011】
また、前述したように、TF(t)の正規化を行う場合は、その特定の単語の重要度は高くなるものの、総単語数が増えることにより相対的にその他の単語の重要度が落ちるため、逆に総合的な精度が落ちてしまう問題もある。
【0012】
なお、前述の特許文献1に示した従来技術は、前述したように、語間の関連性を考慮した適合性フィードバックを実現して、検索時間の短縮と精度の高い検索を実現しようとするものであるが、検索チューニング時において、上述した問題点を解決するものではない。
【0013】
そこで本発明は、ベクトル検索において検索チューニングに要する時間の大幅な短縮化を可能とする検索チューニング方法を提供するとともに、その検索チューニング方法を採用することによって高精度な情報検索を可能とする情報検索システムを提供することを目的としている。
【0014】
【課題を解決するための手段】
上述の目的を達成するために本発明の検索チューニング方法は、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させてなる値を重要度としてデータベースに登録し、その重要度を、検索に必要な情報の1つとして用いてベクトル検索を行い、それによって得られる検索結果をより適正化する情報検索システムによる検索チューニング方法において、前記情報検索システムが、前記単語の前記出現回数を何倍するかの倍数値を当該単語に対応付けて重み付け辞書に記憶させるステップと、前記情報検索システムが、前記検索結果を適正化するために重み付けを行う単語を入力するステップと、前記情報検索システムが、前記入力した単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべく、当該単語に対する倍数値を前記重み付け辞書から読み出し、読み出した前記倍数値を掛けて得られる値「Weight」を求めるステップと、前記情報検索システムが、この「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該入力した単語に対する新たな重要度として前記データベースに登録するステップと、を含み、前記データベースは、前記ある文書内である単語の出現回数を示す情報「Cost」と、前記「Cost」に、その出現回数の重みを増やすべく前記重み付け辞書に記憶される当該単語に対応する倍数値を掛けて得られる値「Weight」と、前記「Cost」に、前記特徴量を反映させてなる重要度と、を記憶するテーブルを有し、前記情報検索システムが、前記テーブルに記憶される前記「Weight」の値が前記「Cost」の値と異なる単語のみについて、前記「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として前記テーブルに記憶させるステップを含むことを特徴とする。
【0016】
また、本発明の情報検索システムは、ベクトル検索によって検索された検索結果を適正化するための検索チューニング機能を有した情報検索システムにおいて、文書を形態素解析する形態素解析部と、この形態素解析部での形態素解析結果を用い、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させた重要度計算を行う重要度計算部と、個々の文書に関する情報、前記形態素解析部で形態素解析された形態素解析結果、さらには、前記ある文書内である単語の出現回数を示す情報「Cost」、前記特徴量、前記重要度などベクトル検索に必要な情報を記録するデータベースと、前記単語の出現回数を何倍するかの倍数値を当該単語に対応付けて記憶する重み付け辞書と、前記検索結果を適正化するために重み付けを行う単語を入力し、入力した単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべく、当該単語に対する倍数値を前記重み付け辞書から読み出し、読み出した前記倍数値を掛けて得られる値「Weight」を求めて、その「Weight」を前記データベースに登録するとともに、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された重要度を当該入力した単語に対する新たな重要度として前記データベースに登録する重要度再計算部と、検索要求が入力されると前記データベースに登録された重要度を検索に必要な情報の1つとして用いてベクトル検索する検索エンジンと、を備え、前記データベースは、個々の文書ごとに与えられた文書固有情報、その文書のアドレス情報、その文書のタイトル、その文書のテキスト、その文書に対する分類情報、その文書に出現する総単語数などを記録するページテーブルと、その文書を形態素解析して得られた単語、それぞれの単語に与えられた単語固有情報、前記特徴量などを記録するワードテーブルと、前記PageテーブルとWordテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、単語の出現回数を増やすべく、当該単語に対する前記重み付け辞書に記憶される前記倍数値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルと、を有し、このキーワードテーブルにおいて、前記「Weight」の値が前記Costの値と異なる単語のみについて、前記重要度再計算部が、前記「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として当該キーワードテーブルに記録することをすることを特徴とする。
【0018】
このように本発明の検索チューニング方法は、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合、重み付けすべきとされた単語の出現回数「Cost」(このCostは(1)式ではTFに対応するものである)を何倍かして、それを「Weight」として登録し、その「Weight」を用いて当該重み付けすべきとされた単語の重要度を計算している。つまり、文書の総単語数に何ら変更をかけないようにし、そのままの値を保持させているので、重み付けをしない単語に関してはその重要度は変化しない。
【0019】
このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算し直す必要がなくなり、検索チューニングに要する時間を大幅に短縮することができる。また特に、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができる。
【0020】
また、このような情報検索チューニング方法とするために、これらベクトル検索に必要な情報を保持するデータベースの構造に工夫がなされている。すなわち、そのデータベース構造として、ある単語がその文書で何回出現したかを示す情報「Cost」と、この出現回数を示す情報「Cost」に、文書群内におけるその単語の出現状況に基づく特徴量(これは、前述の(1)式におけるIDF(t)を指している)を反映させた重要度の他に、その単語が重み付けすべきとされた単語である場合、上述の「Cost」にその単語に対し重み付け辞書から取得された倍数を掛けて得られる値「Weight」を記録するテーブルを有する構造としている。
【0021】
このようなテーブルを作成することによって、ある単語に対し重み付けを行う際は、そのテーブルにおいて、上述の「Cost」の値と「Weight」の値の異なる単語についてのみ、その単語に対して求められた「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度をその単語に対する新たな重要度として上述のテーブルに登録すればよいので、検索チューニング処理を簡略化することができ、チューニングに要する時間を大幅の短縮することができる。また、テーブルには、その単語がその文書で何回出現したかを示す情報「Cost」が保持されているので、重み付け辞書を編集してからのチューニングも短時間で可能となる。
【0022】
また、本発明の情報検索装置は、情報検索チューニング機能として、上述した検索チューニング方法、すなわち、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録するといった検索チューニング方法を採用しているので、検索チューニングに要する時間を大幅に短縮することができ、また、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができるといった効果をえることができる。また、このような検索チューニング機能を有することによって、高精度な情報検索が可能となり、ユーザの所望とする情報を適切に検索することができる。
【0023】
また、このような情報検索装置におけるデータベースとして、ページテーブルと、ワードテーブルと、これらページテーブルとワードテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、前記重み付けすべきと判断された単語の出現回数を増やすべくある値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルとを有している。これによって、ある単語に対し重み付けを行う際は、そのキーワードテーブルにおける上述の「Cost」の値と「Weight」の値の異なる単語についてのみ、その単語に対して求められた「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度をその単語に対する新たな重要度として上述のテーブルに登録すればよいので、検索チューニング処理を簡略化することができ、チューニングに要する時間を大幅の短縮することができる。また、テーブルには、その単語がその文書で何回出現したかを示す情報「Cost」が保持されているので、重み付け辞書を編集してからのチューニングも短時間で可能となる。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、この実施の形態で説明する内容は、本発明の検索チューニング方法および情報検索システムの両方の説明を含むものである。
【0025】
図1は本発明の情報検索システムの構成図であり、構成要素のみを列挙すると、文書群を構成する個々の文書1、形態素解析部2、重要度計算部3、データベース4、重要度再計算部5、検索エンジン6、表示部7、日本語知識源8としての形態素解析辞書81、重み付け辞書82、類似語辞書83、ストップワード辞書84などを有した構成となっている。
【0026】
形態素解析部2は、文書群を構成する個々の文書1に対して形態素解析用辞書81を用いて形態素解析を行い、頻出する名詞、さ変名詞、その他、類する単語をデータベース4のページ(Page)テーブル41、キーワード(KeyWord)テーブル42、ワード(Word)テーブル43に登録する。
【0027】
重要度計算部3は、形態素解析部2の形態素解析結果を用いて、個々の文書1に出現するそれぞれの単語の出現回数を求めるとともに、前述した(1)式を計算し、それを重要度としてデータベース4のKeyWordテーブル42に登録する。なお、データベース4のPageテーブル41、KeyWordテーブル42、Wordテーブル43のデータ構造などについては後に説明する。
【0028】
重要度再計算部5は、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断され、その単語を重み付けすべきとされた場合、その重み付けすべきとされた単語に対して重み付け辞書82を用いて重み付けを行い、上述の重要度を再度計算し、それを新たな重要度としてKeyWordテーブル42に登録する。なお、この重要度再計算部5が用いる重み付け辞書82は、ある単語について、その単語の出現回数を何倍するかの記述がなされているものであり、その何倍とするかはユーザが手動で設定することもできる。
【0029】
検索エンジン6は、たとえば、ユーザからの質問文などを受け付けて、その質問内容に基づき、データベース2を参照するとともに日本語知識源8として形態素解析用辞書81、類似語辞書83、ストップワード辞書84を参照してベクトル検索を行いその結果を表示部7に表示する。
【0030】
なお、類似語辞書83は、表現が異なるが意味が等しい単語(たとえば、英語で表記された「Computer」に対し日本語で表記された「コンピュータ」や「電子計算機」など)が登録されており、それぞれの単語に対する類似語として多数登録可能であるが、運用上は、ある単語に対する類似語としては、せいぜい10個程度で十分であるので、この実施形態では、ある単語に対する類似語として、先頭から最大10個までを有効としている。
【0031】
ストップワード辞書84は、ベクトル検索するに際して、あまり重要でない単語などを登録するものである。すなわち、多くの文書に頻繁に出現し、個々の文書の表す概念にあまり関係のない単語などをそのまま重要度の計算対象として用いると、ベクトル検索を行うに要する計算時間が必要以上に長くなり、また、精度も向上しない。そのため、それらの単語は予め検索しないようにして時間の短縮化を図ることが必要であり、ストップワード辞書84はこのような単語をストップワードとして登録するものであり、どれをストップワードとするかはデータベース4内で自動的に計算される。また、その他にも、重要度の計算対象としなくてもよい単語を予め意図的に設定しておき、その単語を登録することもできる。
【0032】
図2はデータベース4内に存在するPageテーブル41、KeyWordテーブル42、Wordテーブル43のデータ構造の一例を示すものであり、この図2からもわかるように、KeyWordテーブル42がPageテーブル41とWordテーブル43をつなぐ役目をなしている。
【0033】
なお、普通の検索エンジンでは、Pageテーブル41とWordテーブル43だけで十分であるが、ベクトル検索では各単語を要素とした場合、その重要度を確保するテーブルが必要であり、そのテーブルをWordテーブル43内で作成すると、データベース4は膨大なデータ量となり、データベースとしてきわめて大きなメモリ量を確保する必要がある。このため、数値のみを確保するKeyWordテーブル42を作成して、データベース4のデータ量を削減するようにしている。以下、これらPageテーブル41、KeyWordテーブル42、Wordテーブル43について説明する。
【0034】
Pageテーブル41は、「PageID」、「アドレス」、「タイトル」、「テキスト」、「分類」、「総単語数」などからなる。
【0035】
このPageテーブル41において、「PageID」は、各文書ごとに与えられた文書固有の番号を表し、この文書固有番号が「PageID」として記録される。また、「アドレス」は、その文書が保存されているディレクトリのフルパスまたはURLを表し、このディレクトリのフルパスまたはURLが「アドレス」として記録される。また、「タイトル」は、その文書の題名を表し、文書の題名が「タイトル」として記録される。また、「テキスト」は、文書の本文を表し、その本文が「テキスト」として記録される。なお、「テキスト」に記録される本文は全文でもよいが、たとえば、先頭から256バイトまでというようにその一部の内容を記録するようにすることもできる。また、「分類」は検索を行う際、文書の絞込みを行うときに使用される分類IDを表し、この分類IDが「分類」として記録される。また、「総単語数」はその文書に出現する単語の総数であり、この単語の総数が「総単語数」として記録される。
【0036】
Wordテーブル43は「単語」、「WordID」、「DF」からなり、「単語」は、その文書の形態素解析結果から得られる単語を表し、その単語のキャラクタデータが記録され、また、「WordID」は、単語ごとに与えられた個々の単語固有の番号を表し、その単語固有の番号が「WordID」として記録される。また、「DF」は、文書群内でその単語が出現する文書数(全文書のうち、どれだけの文書でこの単語が使われているかを示す数値)であり、この文書数が「DF」として記録される。
【0037】
KeyWordテーブル42は、上述したように、Pageテーブル41とWordテーブル43をつなぐ役目をなし、「PageID」、「WordID」、「Cost」、「Weight」、「重要度」からなり、これら各要素のうち、本発明は「Weight」を新たに設けたことが特徴である。
【0038】
このKeyWordテーブル42において、「PageID」は、Pageテーブル41の「PageID」と同様に、各文書ごとに与えられた文書固有の番号を表し、この文書固有番号が「PageID」として記録され、このKeyWordテーブル42の「PageID」とPageテーブル41の「PageID」とは相互に対応つけられている。また、KeyWordテーブル42の「WordID」は、Wordテーブル43の「WordID」と同様に、各単語ごとに与えられた単語固有の番号を表し、この単語固有番号が「WordID」として記録され、このKeyWordテーブル42の「WordID」とWordテーブル43の「WordID」とは相互に対応つけられている。
【0039】
また、このKeyWordテーブル42の「Cost」は、その文書内でその単語が何回出現したかを示す出現回数(前述の(1)式のTFに対応している)を表し、この出現回数が「Cost」として記録され。また、「Weight」は重み付け辞書82から取得された「何倍」かの倍数を上述の出現回数「Cost」に掛けて得られる値を示すものであり、この倍数を上述の出現回数「Cost」に掛けて得られた値が「Weight」として記録される。なお、検索チューニング処理を行う前の初期状態においては、個々の文書1に出現するそれぞれの単語の出現回数「Cost」の値を「Weight」にそのままコピーする。つまり、この初期状態においては、「Cost」=「Weight」となっている
また、「重要度」は初期状態においては、個々の文書1に出現するそれぞれの単語の「Weight」(=「Cost」)とWordテーブルの「DF」を用いて、(1)式を計算してTDIDFを求め、そのTDIDFを重要度とする。すなわち、このTDIDFは、Wordテーブル43の「DF」を用いて、まず、当該単語(tとする)の出現状況に基づく特徴量としての意味を有するIDF(t)=log10(N/DF(t))を計算し、求められたIDF(t)と「Weight」(=「Cost」)を用いて、(1)式を計算することによって求められる。
【0040】
その後、検索チューニング時において、重み付け辞書82から取得された「何倍」かの倍数が上述の出現回数「Cost」に掛け算され、その結果が「Weight」として記録されると、その「Weight」とWordテーブルの「DF」を用いて、上述したように、まず、当該単語(tとする)のIDF(t)=log10(N/DF(t))を計算し、求められたIDF(t)と「Weight」(=「Cost」)を用いて、(1)式を計算する。そして、それによって得られたTFIDFが新たな重要度として記録される。
【0041】
図3はこの実施形態における検索チューニング処理を説明するフローチャートであり、以下、この図3を参照しながら検索チューニング処理手順について説明する。なお、この図3のフローチャートにおけるチューニング開始時点では、個々の文書に対する形態素解析とすべての重要度(TFIDF)の計算が終了し、たとえば、検索チューニング用に入力した質問文に対する文書検索がなされた段階であるとする。なお、この段階での重要度TFIDFは、図2に示したKeyWordテーブル42の「Cost」のデータをそのまま「Weight」にコピーし、その上で、その「Weight」とWordテーブルの「DF」を用いて、上述したような手順で(1)式を計算することで求められている。
【0042】
まず、ストップワードをデータベース2から自動抽出し、それをストップワード辞書84に保存する(ステップS1)。そして、検索結果に対して、その検索結果の良し悪しを判断する(ステップS2)。この判断はこの検索チューニングを行う操作者などが行う。なお、この図3の各ステップにおいて、アンダラインの施された処理内容は検索チューニングを行う操作者など人手によってなされる処理である。
【0043】
このステップS2において、検索結果が良いと判断されれば検索チューニング処理終了するが、その検索結果が悪いと判断された場合は、悪い原因を探索する(ステップS3)。その悪い原因の探索としては、「類似語がない」、「不必要な単語検索がなされている」、「適正な重み付けがなされていない」などを行い、類似語がない場合には、その類似語を類似語辞書83に追加し(ステップS4)、不必要な単語検索がなされている場合には、その不必要とされる単語をストップワード辞書84に追加し(ステップS5)、また、適正な重み付けがなされていない場合には、重み付け辞書82を編集する(ステップS6)といった操作を行う。なお、これらの操作はいずれか一つで済む場合もあるが複数の操作を重複して行う必要のある場合もある。
【0044】
そして、これらの操作のうち、類似語を類似語辞書83に追加する操作と、不必要とされる単語をストップワード辞書84に追加する操作を行ったあとは、再検索処理を行い(ステップS10)、そのあと、ステップS2に戻り、再度、検索結果の良し悪しを判断する。
【0045】
一方、適正な重み付けがなされてなく、重み付け辞書を編集する操作(ステップS6)を行った場合には、その重み付け辞書を編集する操作を行ったあと、重み付け辞書82の重み付け内容に係わらず、KeyWordテーブル42の「Weight」の値と「Cost」の値が異なる単語があるか否かを調べ、「Weight」≠「Cost」の単語に対し、そのTFIDFを0(TFIDF=0)とする(ステップS7)。なお、最初の検索チューニング処理においては、すべての単語について「Weight」=「Cost」であるため、このステップS7の処理は素通りする。
【0046】
そして、重み付け辞書82のすべての単語についての重み付けデータを読み込んで、重み付け辞書82の編集操作によって重み付けの変更されている単語があればその単語の「Weight」を変更する。このとき、その単語に対しTFIDF=0とする(ステップS8)。次に、そのTFIDF=0の単語に対して重要度を再計算する(ステップS9)。
【0047】
そして、その再計算されて得られた重要度を新たな重要度としてKeyWordテーブル42の「重要度」に記録し、その新たな重要度を用いた再検索処理を行い(ステップS10)、そのあと、ステップS2に戻り、再度、検索結果の良し悪しを判断する。
【0048】
この再度の検索結果の良し悪しによって、まだ検索結果が悪いと判断され、その原因が適正な重み付けがなされていないためであると判断された場合は、再度、重み付け辞書82の編集を行い(ステップS6)、この重み付け辞書の編集を行ったあとは、まず、KeyWordテーブル42の「Weight」の値と「Cost」の値が異なる単語(それ以前に重み付け操作がなされている場合もある)があるか否かを調べ、「Weight」≠「Cost」の単語に対し、そのTFIDFを0(TFIDF=0)とする(ステップS7)。
【0049】
そして、重み付け辞書82のすべての単語についての重み付けデータ読み込んで、重み付け辞書82の編集操作によって重み付けの変更されている単語があれば、その単語の「Weight」を変更する。このとき、その単語に対しTFIDF=0とする(ステップS8)。次に、そのTFIDF=0の単語に対して重要度を再計算する(ステップS9)。
【0050】
そして、その再計算されて得られた重要度を新たな重要度としてKeyWordテーブル42の「重要度」に記録し、その新たな重要度を用いた再検索処理を行い(ステップS10)、そのあと、ステップS2に戻り、再度、検索結果の良し悪しを判断する。
【0051】
以上のような処理を検索結果が良いと判断されるまで行う。本発明では、上述のステップS7,S8,S9の処理を行うのが特徴であり、以下、このステップS7,S8,S9の処理について説明する。
【0052】
前述したように、従来は、KeyWordテーブル42の「Cost」とWordテーブル43の「DF」を使用して前述の(1)式によってTFIDFを求め、求められたTFIDFをKeyWordテーブル42の「重要度」に記録している。そして、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合は、その単語に対して求められたTFIDF値を大きく(重要度を高く)するために、その「Cost」を大きくする操作を行う。たとえば、その重み付けすべきとされた単語の「Cost」が現時点で5個であったものを10個としたとすると、その文書における総単語数もそれに伴って増やすのが従来の方法である。
【0053】
このように総単語数を増やすと、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算しなおす必要がある。また、TF(ここでは「Cost」)の正規化を行う場合は、特定の単語(重み付けを行った単語)の重要度は増すものの、総単語数が増えることにより相対的にその他の単語の重要度が落ちるため、逆に総合的な精度が落ちてしまう問題もあることも前述した通りである。
【0054】
これに対処するために本発明では、上述の例のように、「Cost」が現時点で5個であったものを10個とするような場合であっても、Pageテーブル41の総単語数は変えないようにする。
【0055】
本発明では、その単語に対してどの程度の重み付けをするかということを重み付け辞書82から取得して、それを「Cost」に反映させる。たとえば、ある単語に対し出現回数を2倍とするということが重み付け辞書82から取得されたとすると、その倍数(この場合、2倍)を「Cost」に掛けたものをKeyWordテーブル42の「Weight」として記録する。なお、Pageテーブル41の総単語数はこれまでの値をそのまま保持する。
【0056】
このように、重み付け辞書82から取得された倍数を「Cost」に掛けたものをKeyWordテーブル42の「Weight」として記録することによって、そのページ(文書)におけるKeyWordテーブル42の「Cost」と「Weight」は両者の値が異なり(重み付けする前は、これら「Cost」と「Weight」は同じ値である)、この「Cost」と「Weight」の値が異なる単語に対して重要度を再計算する。
【0057】
すなわち、重み付け辞書82の編集を行った場合、まず、重み付け辞書82の重み付け内容に係わらず、KeyWordテーブル42の「Cost」と「Weight」の値を調べ、「Cost」と「Weight」が異なる単語があれば、その単語に対するTFIDFをTFIDF=0とし(ステップS7)、さらに、重み付け辞書82のすべての単語についての重み付けデータ読み込んで、重み付け辞書82の編集操作によって重み付けの変更されている単語の「Weight」を変更する。このとき、その単語に対しTFIDF=0とする(ステップS8)。そして、このTFIDF=0の部分について重要度を再計算する(ステップS9)。なお、このステップS8における重要度は、「Weight」(「Cost」にある倍数を掛けて得られた値)とWordテーブル23の「DF」を用いて前述したような手順で(1)式を計算することによって求める。
【0058】
このようにして、ステップS9による重要度再計算がなされたら、再計算されて得られた新たな重要度を用いて再検索処理(ステップS4,S5の処理がなされていればこれらの処理も反映した再検索処理)を行う(ステップS10)。そして、ステップS2にてその検索結果の良し悪しを再度調べ、その結果がよければ、この検索チューニング処理を終了し、検索結果が好ましくなければ、再び、ステップS3以降の処理を行う。
【0059】
このように、本発明によれば、検索チューニング時において、適正な検索結果が得られず、その原因探索を行った結果、ある単語に適正な重み付けがなされてないと判断された場合は、その単語に対してのみ、出現回数「Cost」を何倍かして、それを「Weight」として登録し、その「Weight」を用いて重要度(TFIDF)を再計算している。つまり、本発明では、その文書の総単語数の変更は行わないので、他の重み付けをしない単語に関してはそのTFIDFは変化しない。このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算しなおすことがなくなり、また、TF(=Cost)の正規化が含まれているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ち、それによって、逆に総合的な精度が落ちてしまう問題を回避することができる。
【0060】
ちなみに、本発明を用いることにより、従来のベクトル検索システムにおける検索チューニングの作業工数と前述した本発明による検索チューニングの作業工数を比較すると、本発明は従来に比べて約1/10に削減することができることがわかった。
【0061】
なお、本発明は上述の実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能となるものである。
【0062】
また、本発明は以上説明した本発明を実現するための処理手順が記述された処理プログラムを作成し、その処理プログラムをフロッピィディスク、光ディスク、ハードディスクなどの記録媒体に記録させておくこともでき、本発明は、その処理プログラムの記録された記録媒体をも含むものである。また、ネットワークから当該処理プログラムを得るようにしてもよい。
【0063】
【発明の効果】
本発明の検索チューニング方法は、検索チューニング時において、適正な検索結果が得られなかった原因として、ある単語に適正な重み付けがなされてないと判断され、その単語を重み付けすべきとされた場合、その重み付けすべきとされた単語の出現回数「Cost」を何倍かして、それを「Weight」として登録し、その「Weight」を用いて当該重み付けすべきとされた単語の重要度を計算している。つまり、文書の総単語数に変更をかけずに、そのままの値を保持させているので、重み付けをしない単語に関してはその重要度は変化しない。このように、本発明では総単語数が増えないことから、前述したように、その新たな総単語数を用いてすべての単語について重要度などを計算し直す必要がなくなり、検索チューニングに要する時間を大幅に短縮することができる。また特に、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができる。
【0064】
また、本発明の情報検索装置は、情報検索チューニング機能として、上述した情報検索チューニング方法、すなわち、前記検索結果に基づいて重み付けすべきと判断された単語に対し、その重み付けすべきと判断された単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべくある値を掛けて得られる値「Weight」を求め、この「Weight」に前記文書群内における当該単語の出現状況に基づく重みを反映させてなる重要度を計算し、その計算された重要度を当該重み付けすべきと判断された単語に対する新たな重要度として前記データベースに登録するといった検索チューニング方法を採用しているので、検索チューニングに要する時間を大幅に短縮することができ、また、その単語がその文書で何回出現したかを示す情報「Cost」の正規化が行われているような場合、総単語数が増えることにより相対的に重み付けを行わない単語の重要度が落ちて、逆に総合的な精度が落ちてしまう問題を回避することができるといった効果を得ることができる。また、このような検索チューニング機能を有することによって、高精度な情報検索が可能となり、ユーザの所望とする情報を適切に検索することができる。
【図面の簡単な説明】
【図1】 本発明の情報検索システムの実施形態を説明する構成図である。
【図2】 図1で示した情報検索システムに用いられるデータベースのPageテーブル、KeyWordテーブル、Wordテーブルのデータ構造を説明する図である。
【図3】 図1で示した情報検索システムにおける情報検索チューニング処理手順を説明するフローチャートである。
【符号の説明】
1 文書
2 形態素解析部
3 重要度計算部
4 データベース
5 重要度再計算部
6 検索エンジン
7 表示部
8 日本語知識源
41 Pageテーブル
42 KeyWordテーブル
43 Wordテーブル
81 形態素解析辞書
82 重み付け辞書
83 類似語辞書
84 ストップワード辞書
Claims (2)
- ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させてなる値を重要度としてデータベースに登録し、その重要度を、検索に必要な情報の1つとして用いてベクトル検索を行い、それによって得られる検索結果をより適正化する情報検索システムによる検索チューニング方法において、
前記情報検索システムが、前記単語の前記出現回数を何倍するかの倍数値を当該単語に対応付けて重み付け辞書に記憶させるステップと、
前記情報検索システムが、前記検索結果を適正化するために重み付けを行う単語を入力するステップと、
前記情報検索システムが、前記入力した単語の前記出現回数を示す情報「Cost」に、その出現回数の重みを増やすべく、当該単語に対する倍数値を前記重み付け辞書から読み出し、読み出した前記倍数値を掛けて得られる値「Weight」を求めるステップと、
前記情報検索システムが、この「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を当該入力した単語に対する新たな重要度として前記データベースに登録するステップと、を含み、
前記データベースは、
前記ある文書内である単語の出現回数を示す情報「Cost」と、
前記「Cost」に、その出現回数の重みを増やすべく前記重み付け辞書に記憶される当該単語に対応する倍数値を掛けて得られる値「Weight」と、
前記「Cost」に、前記特徴量を反映させてなる重要度と、
を記憶するテーブルを有し、
前記情報検索システムが、前記テーブルに記憶される前記「Weight」の値が前記「Cost」の値と異なる単語のみについて、前記「Weight」に、前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として前記テーブルに記憶させるステップ
を含むことを特徴とする検索チューニング方法。 - ベクトル検索によって検索された検索結果を適正化するための検索チューニング機能を有した情報検索システムにおいて、
文書を形態素解析する形態素解析部と、
この形態素解析部での形態素解析結果を用い、ある文書内である単語の出現回数を示す情報「Cost」に、文書群内における当該単語の出現状況に基づく特徴量を重みとして反映させた重要度計算を行う重要度計算部と、
個々の文書に関する情報、前記形態素解析部で形態素解析された形態素解析結果、さらには、前記ある文書内である単語の出現回数を示す情報「Cost」、前記特徴量、前記重要度などベクトル検索に必要な情報を記録するデータベースと、
前記単語の出現回数を何倍するかの倍数値を当該単語に対応付けて記憶する重み付け辞書と、
前記検索結果を適正化するために重み付けを行う単語を入力し、入力した単語の出現回数を示す情報「Cost」に、その出現回数の重みを増やすべく、当該単語に対する倍数値を前記重み付け辞書から読み出し、読み出した前記倍数値を掛けて得られる値「Weight」を求めて、その「Weight」を前記データベースに登録するとともに、この「Weight」に前記特徴量を反映させた重要度を計算し、その計算された重要度を当該入力した単語に対する新たな重要度として前記データベースに登録する重要度再計算部と、
検索要求が入力されると前記データベースに登録された重要度を検索に必要な情報の1つとして用いてベクトル検索する検索エンジンと、を備え、
前記データベースは、
個々の文書ごとに与えられた文書固有情報、その文書のアドレス情報、その文書のタイトル、その文書のテキスト、その文書に対する分類情報、その文書に出現する総単語数などを記録するページテーブルと、
その文書を形態素解析して得られた単語、それぞれの単語に与えられた単語固有情報、前記特徴量などを記録するワードテーブルと、
前記PageテーブルとWordテーブルをつなぐ役目をなし、個々の文書ごとに与えられた文書固有情報、それぞれの単語に与えられた単語固有情報、その単語がその文書で何回出現したかを示す情報「Cost」、この情報「Cost」に、単語の出現回数を増やすべく、当該単語に対する前記重み付け辞書に記憶される前記倍数値を掛けて得られる値「Weight」、前記重要度を記録するキーワードテーブルと、
を有し、
このキーワードテーブルにおいて、前記「Weight」の値が前記Costの値と異なる単語のみについて、前記重要度再計算部が、前記「Weight」に前記特徴量を反映させてなる重要度を計算し、その計算された重要度を新たな重要度として当該キーワードテーブルに記録することをする
ことを特徴とする情報検索システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002378058A JP3804609B2 (ja) | 2002-12-26 | 2002-12-26 | 検索チューニング方法および情報検索システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002378058A JP3804609B2 (ja) | 2002-12-26 | 2002-12-26 | 検索チューニング方法および情報検索システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004206631A JP2004206631A (ja) | 2004-07-22 |
JP3804609B2 true JP3804609B2 (ja) | 2006-08-02 |
Family
ID=32815043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002378058A Expired - Fee Related JP3804609B2 (ja) | 2002-12-26 | 2002-12-26 | 検索チューニング方法および情報検索システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3804609B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007183864A (ja) | 2006-01-10 | 2007-07-19 | Fujitsu Ltd | ファイル検索方法及びそのシステム |
JP2023107339A (ja) | 2022-01-24 | 2023-08-03 | 富士通株式会社 | データ検索方法及びプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003167891A (ja) * | 2001-11-29 | 2003-06-13 | Nippon Telegr & Teleph Corp <Ntt> | 単語重要度算出方法、装置、プログラム、および記録媒体 |
-
2002
- 2002-12-26 JP JP2002378058A patent/JP3804609B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004206631A (ja) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4775956A (en) | Method and system for information storing and retrieval using word stems and derivative pattern codes representing familes of affixes | |
US5099426A (en) | Method for use of morphological information to cross reference keywords used for information retrieval | |
JP3691844B2 (ja) | 文書処理方法 | |
US6602300B2 (en) | Apparatus and method for retrieving data from a document database | |
JPS5828616B2 (ja) | 文書抜粋記憶 | |
JP2001236358A (ja) | 文書検索方法および装置 | |
US11151317B1 (en) | Contextual spelling correction system | |
US20100205175A1 (en) | Cap-sensitive text search for documents | |
JP2001084256A (ja) | データベース処理装置、データベース処理方法、及びデータベース処理プログラムを記録したコンピュータ読み取り可能な記憶媒体 | |
JP3804609B2 (ja) | 検索チューニング方法および情報検索システム | |
JPH0773197A (ja) | 異表記語辞書作成支援装置 | |
JP2817103B2 (ja) | データ検索装置及びデータ検索方法 | |
JP4527697B2 (ja) | 漏洩個人情報検索システム、漏洩個人情報検索方法、漏洩個人情報検索装置およびプログラム | |
JP2000090093A (ja) | 全文検索方法及び全文検索システム並びに全文検索プログラムを記録した記録媒体 | |
JP3379643B2 (ja) | 形態素解析方法および形態素解析プログラムを記録した記録媒体 | |
JP4024906B2 (ja) | タグ付文書検索システム | |
JP3665112B2 (ja) | 文字列検索方法及び装置 | |
JP2778025B2 (ja) | 共起関係辞書の学習方法 | |
JP7428035B2 (ja) | データ検索装置、データ検索方法およびプログラム | |
JPH10177575A (ja) | 語句抽出装置および方法、情報記憶媒体 | |
JP3744136B2 (ja) | 訳語選択装置と記憶媒体 | |
JP2000339342A (ja) | 文書検索方法および文書検索装置 | |
JP4304226B2 (ja) | 構造化文書管理システム、構造化文書管理方法及びプログラム | |
JPH07296005A (ja) | 日本語テキスト登録・検索装置 | |
JPH1125117A (ja) | 語検索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060314 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060501 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |