JP4274490B2 - 検索装置、検索プログラムおよび検索方法 - Google Patents

検索装置、検索プログラムおよび検索方法 Download PDF

Info

Publication number
JP4274490B2
JP4274490B2 JP2008149910A JP2008149910A JP4274490B2 JP 4274490 B2 JP4274490 B2 JP 4274490B2 JP 2008149910 A JP2008149910 A JP 2008149910A JP 2008149910 A JP2008149910 A JP 2008149910A JP 4274490 B2 JP4274490 B2 JP 4274490B2
Authority
JP
Japan
Prior art keywords
search
document
unit
word
index
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
Application number
JP2008149910A
Other languages
English (en)
Other versions
JP2008262586A (ja
Inventor
和夫 青木
和宏 荒巻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008149910A priority Critical patent/JP4274490B2/ja
Publication of JP2008262586A publication Critical patent/JP2008262586A/ja
Application granted granted Critical
Publication of JP4274490B2 publication Critical patent/JP4274490B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、検索装置、検索プログラムおよび検索方法に関する。特に本発明は、予め定められた文字数の文字列を文書の索引語とした索引データベースを用いた検索装置、検索プログラムおよび検索方法に関する。
Web上またはサーバに記憶された複数の文書の中から、N−gram索引データベースを用いて目的の文書を検索する検索装置が知られている(例えば、非特許文献1参照。)。N−gram索引データベースは、N(2以上の整数。)個の文字を組み合わせた複数の文字列を索引語とし、複数の索引語のそれぞれに対応させて当該索引語を含む文書を記憶する。検索装置は、検索語を索引語の文字数の検索文字列に分割して、検索文字列のそれぞれについて、当該検索文字列を含む文書をN−gram索引データベースを用いて検索する。このようなN−gram索引データベースを用いた検索装置によれば、検索語と完全一致しない類似語(例えば検索語と一文字違いの文字列)も検索することができるので、検索漏れを少なくすることができる。
小川泰嗣、「擬似頻度法:n−gram索引のための高速な日本語文書のランキング検索法」、電子情報通信学会論文誌、電子情報通信学会、2000年10月、Vol.J83−D−I No.10、pp.1043−1054
ところで、検索語が他の単語を構成する語を含んでいる場合、N−gram索引を用いた検索装置は、多くのノイズを含んだ検索結果を出力する。また、N−gram索引を用いた検索装置は、索引語の文字数Nを長くすれば検索結果の適合率を上げることができるが、索引語のパターンが取り得る文字種類のN乗となり爆発的に増えるので、効率が悪くなる。
そこで本発明は、上記の課題を解決することのできる検索装置、検索プログラムおよび検索方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、複数の文書の中から、指定された検索語に応じた文書を検索する検索装置であって、複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する索引語記憶部と、検索語に含まれる、索引文字数の長さの第1検索文字列と、第1検索文字列に対して予め定められたオフセット文字数分ずれた位置にある索引文字数分の長さの第2検索文字列とを含む検索語ペアを少なくとも1つ生成する検索語ペア生成部と、それぞれの検索語ペアについて、第1検索文字列および第2検索文字列の両方を索引語とする文書を索引データベースから検索する検索部と、それぞれの検索語ペアの第1検索文字列および第2検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出部と、複数の文書のそれぞれのスコアに基づいて、複数の文書の中から検索結果として出力すべき文書を選択する選択部と、選択部が選択した文書を検索結果として出力する出力部とを備える検索装置、当該検索装置として情報処理装置を機能させる検索プログラム、および、当該検索装置によって文書を検索する検索方法を提供する。
本発明の第2の形態においては、複数の文書の中から、指定された検索語に応じた文書を検索する検索装置であって、複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する索引語記憶部と、検索語に含まれる、索引文字数の長さの検索文字列を少なくとも1つ生成する生成部と、それぞれの検索文字列を索引語とする文書を索引データベースから検索する部分検索部と、それぞれの検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出部と、検索語がより長い場合により大きく、検索語がより短い場合により小さいスコアの閾値を生成する閾値生成部と、複数の文書の中から、閾値より大きいスコアを有する文書を検索結果として出力すべき文書として選択する選択部と、選択部が選択した文書を出力する出力部とを備える検索装置、当該検索装置として情報処理装置を機能させる検索プログラム、および、当該検索装置によって文書を検索する検索方法を提供する。
本発明の第3の形態においては、複数の文書の中から、指定された検索語に応じた文書を検索する検索装置であって、複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する索引語記憶部と、複数の文書の中から、検索語を含む文書を検索する完全検索部と、検索語に含まれる、索引文字数の長さの検索文字列を少なくとも1つ生成する生成部と、それぞれの検索文字列を索引語とする文書を索引データベースから検索する部分検索部と、それぞれの検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出部と、複数の文書のそれぞれのスコアに基づいて、複数の文書の中から検索結果として出力すべき文書を選択する選択部と、検索語が予め定められた基準文字数未満であることを条件として完全検索部が検索した文書を検索結果として出力し、検索語が基準文字数以上であることを条件として完全検索部が検索した文書および選択部が選択した文書を検索結果として出力する出力部とを備える検索装置、当該検索装置として情報処理装置を機能させる検索プログラム、および、当該検索装置によって文書を検索する検索方法を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、適合率の高い検索を効率よく行うことができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係る検索装置10の構成を示す。検索装置10は、複数の文書の中から、指定された検索語に応じた文書を検索する。検索装置10は、索引語記憶部12と、入力部14と、検索語ペア生成部16と、検索部18と、算出部20と、選択部22と、出力部24とを備える。
索引語記憶部12は、複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する。索引語記憶部12は、一例として、2文字分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する。これに代えて、索引語記憶部12は、3、4等の他の文字数分連続する文字列を索引語としてもよい。索引語記憶部12は、検索対象の複数の文書を解析して作成された索引データベースを記憶する。索引語記憶部12は、検索対象の文書として新規な文書が追加された場合、当該新規な文書を解析した結果を、索引データベースに反映する。
入力部14は、指定された検索語を入力する。一例として、当該検索装置10が検索サーバである場合、入力部14は、端末によって利用者により指定された検索語を、ネットワーク等を介して入力してよい。
検索語ペア生成部16は、指定された検索語に含まれる、索引文字数の長さの第1検索文字列と、第1検索文字列に対して予め定められたオフセット文字数分ずれた位置にある索引文字数分の長さの第2検索文字列とを含む検索語ペアを少なくとも1つ生成する。検索語ペア生成部16は、一例として、"ABCD"の4文字の検索語を入力する場合、索引文字数が2、オフセット文字数が1と定められていれば、検索語ペアとして(AB、BC)および検索語ペア(BC、CD)を生成し、索引文字数が2、オフセット文字数が2と定められていれば、検索語ペアとして(AB、CD)を生成してよい。
検索部18は、それぞれの検索語ペアについて、第1検索文字列および第2検索文字列の両方を索引語とする文書を索引データベースから検索する。検索部18は、一例として、第1検索文字列が"AB"、第2検索文字列が"BC"である検索語ペアについて、"AB"および"BC"の両者を含む文書を索引データベースから検索してよい。そして、検索部18は、複数の検索語ペアを入力する場合、それぞれの検索語ペアについて、第1検索文字列および第2検索文字列の両者を含む文書を検索してよい。
算出部20は、それぞれの検索語ペアの第1検索文字列および第2検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する。本実施形態において、検索部18は、当該文書に含まれている検索文字列の頻度に基づき、当該文書と検索語との関連性が高いほど大きくなるスコアを算出する。算出部20は、一例として、検索語と最も関連性が高い文書のスコアを100%として表し、他の文書のスコアを、検索語と最も関連性が高い文書との相対値(100%〜0%)で表してよい。
選択部22は、複数の文書のそれぞれのスコアに基づいて、複数の文書の中から検索結果として出力すべき文書を選択する。出力部24は、選択部22が選択した文書を検索結果として出力する。一例として、当該検索装置10が検索サーバである場合、出力部24は、検索結果をネットワークを介して端末に送信してよいし、また、検索結果を含むページを端末に送ってよい。また、コンピュータ装置が当該検索装置10として機能している場合、出力部24は、画面上に検索結果を表示してもよい。
図2は、索引語記憶部12に記憶される索引データベースの一例を示す。索引語記憶部12は、一例として、図2に示すような、2−gram索引に対応した索引データベースを記憶してよい。2−gram索引に対応した索引データベースは、2個の文字を組み合わせた文字列を索引語とする。当該索引データベースは、一例として、検索対象言語(例えば日本語)における全ての文字の組み合わせの文字列を、索引語としてよい。これに代えて、索引データベースは、一例として、いずれかの文書に含まれる文字列を索引語とし、いずれにも含まれない文字列を索引語としなくてもよい。
当該索引データベースは、一例として、それぞれ索引語に対応して、当該索引語を含む文書数と、当該索引語を含む文書と、当該索引語を含む各文書における当該索引語の頻度と、各文書中における当該索引語の位置と、各文書中についての当該索引語に応じた部分スコアとを記憶する。
索引データベースは、対応する索引語が含まれる文書が複数存在する場合、1つの索引語に対して複数の文書を記憶する。そして、索引データベースは、対応する索引語が含まれる文書が複数存在する場合、当該索引語を含む各文書に対応させて、頻度、位置および部分スコアを記憶する。また、索引データベースは、1つの文書中に同一の索引語が複数含まれていた場合、当該文書中における索引語の位置を複数記憶してよい。
索引データベースは、一例として、図2に示すように、索引語"AA"について、索引語"AA"を含む文書数(例えば2個)と、索引語"AA"を含む文書(例えば文書名D1、文書名D2)とを記憶してよい。さらに、索引データベースは、索引語"AA"を含む第1の文書(例えば文書名D1)について、索引語"AA"の頻度(例えば1回)と、索引語"AA"の文書中における位置(1文字目)と、索引語"AA"の部分スコア(例えばn1)とを記憶し、索引語"AA"を含む第2の文書(例えば文書名D2)について、索引語"AA"の頻度(例えば2回)と、索引語"AA"の文書中における位置(1文字目、7文字目)と、索引語"AA"の部分スコア(例えばn2)とを記憶してよい。
部分スコアは、当該文書と当該索引語との関連性が高いほど大きくなるパラメータであり、索引語の発生頻度に基づき算出される。部分スコアは、一例として、下記式(1)で示すTFIDF値であってよい。
TFIDF(t,x)= tf(t,x)×idf(t) …(1)
式(1)において、TFIDF(t,x)は、文書xにおける索引語tのTFIDF値を示す。式(1)のtf(t,x)は下記式(2)で表され、idf(t)は下記式(3)で表される。
tf(t,x)=log(1+OccNo(t,x))/log(1+avg.OccNo(x)) …(2)
idf(t)=log(|D|/|Dt|) …(3)
式(2)において、OccNo(t,x)は、文書xにおける索引語tの頻度を示し、avg.OccNo(x)は、文書xに含まれる各索引語の頻度の平均を示す。式(3)において、|D|は、検索対象となる全文書数を示す。|Dt|は、索引語tが含まれている文書数を示す。
このようなTFIDF値により部分スコアを表すことにより、検索装置10は、当該文書と当該索引語との関連性を、他の索引語および他の文書と比較可能な値とすることができる。なお、検索部18は、検索時において、索引データベースに記憶された頻度等に基づき部分スコアを算出してよい。これに代えて、検索部18は、検索時において、検索に先立って予め算出された部分スコアを、索引データベースから読み出してもよい。
図3は、検索語および検索語ペアの一例を示す。検索語ペア生成部16は、一例として、第1検索文字列と第2検索文字列とで構成される検索語ペアを、指定された検索語に対して少なくとも1つ生成してよい。索引語が2文字分連続する文字列である場合には、検索語ペア生成部16は、一例として、検索語に含まれる2文字の第1検索文字列と、検索語に含まれる当該第1検索文字列から1文字ずれた位置(オフセット文字数=1)ずれた位置の2文字の第2検索文字列と、を含む検索語ペアを生成してよい。また、検索語ペア生成部16は、一例として、検索語に含まれる2文字の第1検索文字列と、検索語に含まれる当該第1検索文字列から2文字ずれた位置(オフセット文字数=2)の2文字の第2検索文字列と、を含む検索語ペアを生成してよい。さらに、索引語が2文字分連続する文字列である場合には、検索語ペア生成部16は、一例として、1つの検索語に対して、オフセット文字列=1およびオフセット文字列=2の2つのパターンの検索語ペアを、生成してもよい。
また、検索語ペア生成部16は、1つの検索語に対して、複数の検索語ペアを生成してもよい。この場合において、複数の検索語ペアのそれぞれに含まれる第1検索文字列は、指定された検索語の先頭から1文字ずつずらしながら索引文字数の長さの複数の文字列を選択したうちの1の文字列である。また、この場合において、第2検索文字列は、対応する第1検索文字列に対して予め定められたオフセット文字数分ずれた位置にある索引文字数分の長さの文字列である。
このような検索語ペア(第1検索文字列および第2検索文字列)を用いることにより、検索装置10によれば、索引データベースの索引語を長くせずに、適切な文書を選択する割合である適合率を高くすることができる。
図4は、実施形態に係る検索装置10の処理の流れを示す。まず、入力部14は、利用者等により指定された検索語を入力する(S11)。入力部14は、例えば文字列"ABCDEFG"の検索語を入力してよい。
次に、検索語ペア生成部16は、指定された検索語についての検索語ペアを生成する(S12)。例えば、入力部14が検索語として"ABCDEFG"を入力し、索引文字数が2、オフセット文字数が2と定められている場合、検索語ペア生成部16は、検索語ペアとして(AB、CD)、(BC、DE)、(CD、EF)、(DE、FG)を生成してよい。
次に、検索部18は、S12で生成した検索語ペア毎に、ステップS14〜S15のループ処理を行う(S13、S16)。検索語ペアとして(AB、CD)、(BC、DE)、(CD、EF)、(DE、FG)が生成されている場合、検索部18は、(AB、CD)、(BC、DE)、(CD、EF)、(DE、FG)のそれぞれについて、ステップS14〜S15のループ処理を行う(S13、S16)。
当該ループ処理において、検索部18は、検索語ペアの第1検索文字列を索引語として、索引語記憶部12に記憶された索引データベースを用いて文書を検索する(S14)。すなわち、検索部18は、複数の文書の中から、第1検索文字列を含む文書を検索する。例えば、検索語ペア(AB、CD)であれば、検索部18は、第1検索文字列(AB)を含む文書を検索する。
次に、検索部18は、検索語ペアの第2検索文字列を索引語として、索引語記憶部12の索引データベースを用いて文書を検索する(S15)。すなわち、検索部18は、複数の文書の中から、第2検索文字列を含む文書を検索する。例えば、検索語ペア(AB、CD)であれば、検索部18は、第2検索文字列(CD)を含む文書を検索する。なお、ステップS15において、検索部18は、検索語ペアについて、文書中に含まれる第1検索文字列からオフセット文字数分ずれた位置に第2検索文字列を含むことを条件として、当該文書を抽出してよい。例えば、検索語ペア(AB、CD)であれば、検索部18は、文字列"AB"に連続する文字列"CD"を含む文書を検索してよい。これにより、検索部18は、第1検索文字列の先頭文字から第2検索文字列の末尾文字まで連続する文字列を含む文書を抽出することができる。
各検索語ペアについてのステップS14およびS15の処理が終了すると、次に、算出部20は、それぞれの検索語ペアの第1検索文字列および第2検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、各文書に対してスコアを算出する(S17)。
ステップS17において、算出部20は、一例として、それぞれの文書について、それぞれの検索語ペアの第1検索文字列に応じた部分スコアおよび第2検索文字列の部分スコアに基づいて、当該文書のスコアを算出してよい。一例として、算出部20は、それぞれの文書について、それぞれの検索語ペアについての第1検索文字列に応じた部分スコアおよび第2検索文字列に応じた部分スコアのうちより小さい部分スコアに基づいて、当該文書のスコアを算出してよい。
検索語ペアとして(AB、CD)、(BC、DE)、(CD、EF)、(DE、FG)が生成されている場合、"AB"の部分スコアがSAB、"BC"の部分スコアがSBC、"CD"の部分スコアがSCD、"DE"の部分スコアがSDE、"EF"の部分スコアがSEF、"FG"の部分スコアがSFGであれば、検索部18は、下記式(4)によりそれぞれの文書のスコアSを算出してよい。
S=min(SAB,SCD)+min(SBC,SDE)+min(SCD,SEF)+min(SDE,SFG) …(4)
なお、式(4)において、"min(X,Y)"は、XまたはYのいずれか小さい値を表している。
これにより、算出部20は、それぞれの文書について、第1検索文字列の先頭文字から第2検索文字列の末尾文字まで連続する文字列により文書を検索した場合におけるスコアに、より近いスコアを算出することができる。これに代えて、算出部20は、それぞれの検索語ペアについての第1検索文字列に応じた部分スコアおよび第2検索文字列に応じた部分スコアの平均値または乗算値等の、第1検索文字列および第2検索文字列の部分スコアを用いた演算に基づいて、当該文書のスコアを算出してよい。
さらに、1つの検索語に対して複数の検索語ペアを生成した場合には、ステップS17において、算出部20は、各文書について、それぞれの検索語ペアについて算出したスコア(例えば、第1検索文字列を索引語とした場合の部分スコアおよび第2検索文字列を索引語とした場合の部分スコアのうちの小さい方の値)を合成(例えば、加算または平均)した値を、当該文書のスコアとしてよい。
次に、選択部22は、複数の文書のそれぞれのスコアに基づいて、複数の文書の中から検索結果として出力すべき文書を選択する(S18)。選択部22は、一例として、複数の文書をスコアの上位から順に並び替えて、予め設定された数の文書を上位から選択してよい。これに代えて、選択部22は、予め定められた閾値以上のスコアの文書を選択してもよい。
次に、出力部24は、選択部22が選択した文書を検索結果として出力する(S19)。出力部24は、一例として、選択した文書または当該文書を利用者が取得するための情報(例えば、文書の格納場所を示した情報)を出力してよい。
以上のように検索装置10によれば、検索語ペアの第1検索文字列および第2検索文字列が文書に含まれる頻度または文書に含まれるか否かに基づいて、それぞれの文書のスコアを算出するので、索引データベースの索引語の文字数を長くすることなく、効率よく適合率を高くすることができる。
図5は、変形例に係る検索装置10の構成を示す。なお、図5に示す検索装置10は、図1に示した検索装置10と略同一の機能および構成を採るので、検索装置10と略同一の構成要素については図面中に同一の符号を付けて、以下相違点を除き説明を省略する。
変形例に係る検索装置10は、索引語記憶部12と、入力部14と、文書記憶部52と、完全検索部54と、第1算出部56と、生成部58と、部分検索部60と、第2算出部62と、選択部22と、出力部24とを備える。なお、検索装置10は、生成部58、部分検索部60および第2算出部62に代えて、実施形態に係る検索語ペア生成部16、検索部18および算出部20を備えてもよい。
文書記憶部52は、指定された検索語に完全に一致する文字列を複数の文書から検索するための索引データベースを記憶する。文書記憶部52が記憶する索引データベースは、索引語記憶部12が記憶する索引データベースと共通とされてよい。完全検索部54は、複数の文書の中から、指定された検索語を含む文書を文書記憶部52に記憶された索引データベースから検索する。すなわち、完全検索部54は、複数の文書の中から検索語を含む文書を検索する。第1算出部56は、検索語がそれぞれの文書に含まれる頻度に基づいて、複数の文書のそれぞれについて当該文書のスコアを算出する。
生成部58は、検索語に含まれる、索引文字数の長さの検索文字列を少なくとも1つ生成する。部分検索部60は、生成部58により生成されたそれぞれの検索文字列を索引語とする文書を索引語記憶部12に記憶された索引データベースから検索する。すなわち、部分検索部60は、複数の文書の中から検索文字列を含む文書を検索する。第2算出部62は、それぞれの検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する。なお、生成部58は図1に示す検索語ペア生成部16の機能を含んでよく、部分検索部60は図1に示す検索部18の機能を含んでよく、第2算出部62は図1に示す算出部20の機能を含んでよい。
文字数検出部64は、検索語の文字数を検出する。閾値生成部66は、検索語の文字数に基づき、検索語がより長い場合により大きく、検索語がより短い場合により小さいスコアの閾値を生成する。閾値生成部66は、一例として、第1算出部56により生成されたスコアに基づき、閾値を生成する。
選択部22は、部分検索部60が検索した複数の文書の中から、閾値生成部66により生成された閾値より大きいスコアを有する文書を、検索結果として出力すべき文書として選択する。出力部24は、検索語が予め定められた基準文字数未満であることを条件として完全検索部54が検索した文書を検索結果として出力し、検索語が基準文字数以上であることを条件として完全検索部54が検索した文書および選択部22が選択した文書を検索結果として出力する。これに対して、例えば一文字挿入または一文字置換等をした類似語の場合、文字数がより短い方が変更部分の割合が大きくなりスコアが低くなる。従って、選択部22は、検索語の文字数がより短い場合に閾値を小さくして、検索語の文字数が短い場合であっても、適切な文書を選択する割合である適合率を高くすることができる。なお、生成部58、部分検索部60および第2算出部62は、検索語が予め定められた基準文字数以上であることを条件として、検索文字列の生成、部分検索およびスコア算出をしてよい。
図6は、日本語の複数の文書を検索した場合における、検索語の長さ(文字数)に対する文書のスコアの一例を示す。図6のAは、検索語の長さ(文字数)に対して、検索語に完全に一致する文字列を含む文書のスコア群のうち最も低いスコアの一例を示す。図6のBは、検索語の長さ(文字数)に対して、検索語に一文字挿入した文字列を含む文書のスコア群のうち最も低いスコアの一例を示す。図6のCは、検索語の長さ(文字数)に対して、検索語を一文字置換した文字列を含む文書のスコア群のうち最も低いスコアの一例を示す。図6のDは、検索語の長さ(文字数)に対する閾値生成部66により設定された閾値の一例を示す。
検索語に完全に一致する文字列を含む文書のスコア群のうち最も低いスコア(完全一致最低スコア)は、検索語の長さ(文字数)に関わらず略一定となる。従って、閾値生成部66は、第1算出部56により算出された検索語を含む文書のスコアに基づいて、閾値を生成してよい。これにより、選択部22は、検索語と検索対象となる複数の文書との関係に従って適切に閾値を設定するので、検索漏れを少なくするとともに適合率を高くすることができる。
また、検索語に一文字挿入した文字列および検索語を一文字置換した文字列を含む文書のスコア群のうち最も低いスコア(一文字変更最低スコア)は、完全一致最低スコアより低い。従って、閾値生成部66は、検索語を含む全文書のスコアの最小値より小さい閾値を生成してよい。これにより、選択部22は、検索語と完全一致する文字列を含む文書を確実に選択することができる。
さらに、一文字変更最低スコアは、検索語が長くなるに従って挿入または置き換えられた文字の占める割合が小さくなり、検索語が長くなるに従って完全一致最低スコアに近付く。すなわち、一文字変更最低スコアは、検索語の長さの1次式を分母とし、検索語の長さが長くなるに従って完全一致最低スコアに向かって漸増する双曲線等の関数で表される。このことから、閾値生成部66は、検索語の長さの1次式を分母とし、検索語の長さが大きくなるにしたがって最小値に向かって漸増する関数を用いて閾値を生成してよい。これにより、閾値生成部66は、検索語の長さに応じた適切な閾値で文書を選択することができるので、検索漏れを少なくするとともに適合率を高くすることができる。
また、一文字変更最低スコアは、検索語が非常に短い場合に著しく低くなる。例えば、一文字置換した文字列を含む文書のスコア群のうち最も低いスコア(図6のC)は、検索語が6文字の場合よりも5文字の場合の方が急激に低くなっており、さらに、4文字以下の場合には、スコアの算出ができない。この結果、検索語が非常に短い場合、部分検索部60は、ノイズが多く含まれた検索結果を出力する。
従って、出力部24は、基準文字数を4から6の間とし、より好ましくは5としてよい。そして、出力部24は、検索語の文字数が4、5または6未満(好ましくは5)であることを条件として完全検索部54が検索した文書を検索結果として出力し、検索語が検索語の文字数が4、5または6(好ましくは5)以上であることを条件として完全検索部54が検索した文書および選択部22が選択した文書を検索結果として出力する。これにより、出力部24は、検索語が3、4または5の場合における適合率を高くすることができる。
閾値生成部66は、一例として、下記式(5)により、閾値Tを生成してよい。
T=S−(S×K/(K×(W−5))) …(5)
(ただし、検索語の長さは5文字より大きい)
=検索語に完全に一致する文字列を含む文書のスコア群のうち最も低いスコア
W=検索語の長さ
K=係数(例えば、2)
図7は、変形例に係る検索装置10の処理の流れを示す。まず、入力部14は、利用者等により指定された検索語を入力する(S31)。次に、完全検索部54は、文書記憶部52に記憶された索引データベースを用いて、複数の文書の中から検索語を含む文書を検索する(S32)。この場合において、完全検索部54は、索引語記憶部12に記憶された索引データベースを用いて検索語を含む文書を検索してもよい。次に、第1算出部56は、完全検索部54により検索されたそれぞれの文書について、当該文書のスコアを算出する(S34)。
次に、文字数検出部64は、検索語が予め定められた基準文字数未満であるか否かを判断する(S35)。文字数検出部64は、検索語が基準文字数未満である場合には処理をS43に移し、検索語が基準文字数以上である場合には処理をS36に移す。
次に、生成部58は、検索語に含まれる、索引文字数の長さの検索文字列を少なくとも1つ生成する(S36)。次に、部分検索部60は、S36により生成された検索文字列毎に、ステップS38の処理を行う(S37、S39)。ステップS38において、部分検索部60は、それぞれの検索文字列を索引語とする文書を索引語記憶部12に記憶された索引データベースから検索する。すなわち、部分検索部60は、複数の文書の中から、検索文字列を含む文書を検索する。
各検索文字列についてのステップS38の処理が終了すると、次に、第2算出部62は、それぞれの検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する(S40)。なお、検索装置10は、ステップS36からステップS40の処理に代えて、図4に示したステップS12からステップS17の処理を行ってもよい。
次に、閾値生成部66は、検索語の文字数に基づき閾値を生成する(S41)。次に、選択部22は、部分検索部60が検索した複数の文書の中から、閾値より大きいスコアを有する文書を、検索結果として出力すべき文書として選択する(S42)。次に、出力部24は、検索語が基準文字数未満であることを条件として完全検索部54が検索した文書を検索結果として出力し、検索語が基準文字数以上であることを条件として完全検索部54が検索した文書および選択部22が選択した文書を検索結果として出力する(S43)。
以上の処理を行う検索装置10によれば、文字数に応じて閾値を適応的に変化させて文書を選択するので、検索漏れを少なくするとともに適合率を高くすることができる。さらに、検索装置10は、検索語の文字数が短い場合、完全検索による検索結果を出力するので、さらに適合率を高くすることができる。
図8は、検索結果の表示例を示す。出力部24は、一例として、高いスコアの文書から順に、完全検索部54が検索した検索した文書および選択部22が選択した文書を出力してよい。出力部24は、例えば表示部に表示画面90を表示する場合であれば、選択された文書のサマリー92と、当該文書のスコアを示したスコア表示94とを、上位から順に表示してよい。
また、出力部24は、完全検索部54が検索した検索した文書と、選択部22が選択した文書とを、当該検索装置10の利用者が識別可能に出力してよい。出力部24は、例えば表示部に表示画面90を表示する場合であれば、完全検索部54により検索された文書であるか否か(すなわち、検索語に一致する文字列を含む文書であるか否か)を示す完全一致識別表示96を、サマリー92とともに表示してよい。これにより、検索装置10によれば、検索語と完全一致する文字列を含んだ文書であるか否かを利用者に提供することができる。
図9は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラムや、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を検索装置10として機能させるプログラムは、索引語記憶モジュールと、入力モジュールと、検索語ペア生成モジュールと、検索モジュールと、算出モジュールと、選択モジュールと、出力モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、索引語記憶部12、入力部14、検索語ペア生成部16、検索部18、算出部20、選択部22、出力部24としてそれぞれ機能させる。
また、コンピュータ1900にインストールされ、コンピュータ1900を変形例に係る検索装置10として機能させるプログラムは、索引語記憶モジュールと、入力モジュールと、文書記憶モジュールと、完全検索モジュールと、第1算出モジュールと、生成モジュールと、部分検索モジュールと、第2算出モジュールと、文字数検出モジュールと、閾値生成部、選択モジュールと、出力モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、索引語記憶部12、入力部14、文書記憶部52、完全検索部54、第1算出部56、生成部58、部分検索部60、第2算出部62、文字数検出部64、閾値生成部66、選択部22、出力部24としてそれぞれ機能させる。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVDやCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
本発明の実施形態に係る検索装置10の構成を示す。 索引語記憶部12に記憶される索引データベースの一例を示す。 検索語および検索語ペアの一例を示す。 実施形態に係る検索装置10の処理の流れを示す。 本発明の変形例に係る検索装置10の構成を示す。 日本語の複数の文書を検索した場合における、検索語の長さ(文字数)に対する文書のスコアの一例を示す。 変形例に係る検索装置10の処理の流れを示す。 検索結果の表示例を示す。 本発明の実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
符号の説明
10 検索装置
12 索引語記憶部
14 入力部
16 検索語ペア生成部
18 検索部
20 算出部
22 選択部
24 出力部
52 文書記憶部
54 完全検索部
56 第1算出部
58 生成部
60 部分検索部
62 第2算出部
64 文字数検出部
66 閾値生成部
90 表示画面
92 サマリー
94 スコア表示
96 完全一致識別表示
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

Claims (14)

  1. 複数の文書の中から、指定された検索語に応じた文書を検索する検索装置であって、
    前記検索語に含まれる、検索文字列を少なくとも1つ生成する生成部と、
    前記複数の文書の中から前記検索文字列を含む文書を検索する部分検索部と、
    それぞれの前記検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出部と、
    前記検索語がより長い場合により大きく、前記検索語がより短い場合により小さい前記スコアの閾値を生成する閾値生成部と、
    前記複数の文書の中から、前記閾値より大きい前記スコアを有する文書を検索結果として出力すべき文書として選択する選択部と、
    前記選択部が選択した文書を出力する出力部と
    を備える検索装置。
  2. 前記複数の文書の中から、前記検索語を含む文書を検索する完全検索部と、
    前記算出部は、前記検索語がそれぞれの文書に含まれる頻度に基づいて、当該文書の前記スコアを更に算出し、
    前記閾値生成部は、前記検索語を含む文書の前記スコアに基づいて、前記閾値を生成する
    請求項1に記載の検索装置。
  3. 前記閾値生成部は、前記検索語を含む全文書の前記スコアの最小値より小さい前記閾値を生成する
    請求項2に記載の検索装置。
  4. 前記閾値生成部は、前記検索語の長さの1次式を分母とし、前記検索語の長さが大きくなるにしたがって前記最小値に向かって漸増する関数を用いて前記閾値を生成する
    請求項3に記載の検索装置。
  5. 前記複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する索引語記憶部をさらに備え、
    前記生成部は、前記検索語に含まれる、前記索引文字数の長さの検索文字列を少なくとも1つ生成し、
    前記部分検索部は、それぞれの前記検索文字列を索引語とする文書を前記索引データベースから検索する
    請求項1から4の何れかに記載の検索装置。
  6. 前記複数の文書の中から、前記検索語を含む文書を検索する完全検索部をさらに備え、
    前記出力部は、前記検索語が予め定められた基準文字数未満であることを条件として前記完全検索部が検索した文書を検索結果として出力し、前記検索語が前記基準文字数以上であることを条件として前記完全検索部が検索した文書および前記選択部が選択した文書を検索結果として出力する
    請求項1から5の何れかに記載の検索装置。
  7. 前記出力部は、前記完全検索部が検索した検索した文書と、前記選択部が選択した文書とを、当該検索装置の利用者が識別可能に出力する
    請求項に記載の検索装置。
  8. 前記基準文字数は4から6の間である
    請求項またはに記載の検索装置。
  9. 複数の文書の中から、指定された検索語に応じた文書をコンピュータにより検索する検索プログラムであって、
    前記コンピュータを、
    前記検索語に含まれる、検索文字列を少なくとも1つ生成する生成部と、
    前記複数の文書の中から前記検索文字列を含む文書を検索する部分検索部と、
    それぞれの前記検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出部と、
    前記検索語がより長い場合により大きく、前記検索語がより短い場合により小さい前記スコアの閾値を生成する閾値生成部と、
    前記複数の文書の中から、前記閾値より大きい前記スコアを有する文書を検索結果として出力すべき文書として選択する選択部と、
    前記選択部が選択した文書を出力する出力部
    として機能させる検索プログラム。
  10. 前記コンピュータを、
    前記複数の文書の中から、前記検索語を含む文書を検索する完全検索部としてさらに機能させ、
    前記出力部は、前記検索語が予め定められた基準文字数未満であることを条件として前記完全検索部が検索した文書を検索結果として出力し、前記検索語が前記基準文字数以上であることを条件として前記完全検索部が検索した文書および前記選択部が選択した文書を検索結果として出力する
    請求項9に記載の検索プログラム。
  11. 前記コンピュータを、
    前記複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶する索引語記憶部としてさらに機能させ、
    前記生成部は、前記検索語に含まれる、前記索引文字数の長さの検索文字列を少なくとも1つ生成し、
    前記部分検索部は、それぞれの前記検索文字列を索引語とする文書を前記索引データベースから検索する
    請求項9又は10に記載の検索プログラム。
  12. 複数の文書の中から、指定された検索語に応じた文書をコンピュータにより検索する検索方法であって、
    前記検索語に含まれる、検索文字列を少なくとも1つ生成する生成段階と、
    前記複数の文書の中から前記検索文字列を含む文書を検索する部分検索段階と、
    それぞれの前記検索文字列がそれぞれの文書に含まれる頻度またはそれぞれの文書に含まれるか否かに基づいて、それぞれの文書を検索結果に含めるべき度合を示すスコアを算出する算出段階と、
    前記検索語がより長い場合により大きく、前記検索語がより短い場合により小さい前記スコアの閾値を生成する閾値生成段階と、
    前記複数の文書の中から、前記閾値より大きい前記スコアを有する文書を検索結果として出力すべき文書として選択する選択段階と、
    前記選択段階が選択した文書をする出力段階と
    を備える検索方法。
  13. 前記複数の文書の中から、前記検索語を含む文書を検索する完全検索段階をさらに備え
    前記出力段階は、前記検索語が予め定められた基準文字数未満であることを条件として前記完全検索段階により検索した文書を検索結果として出力し、前記検索語が前記基準文字数以上であることを条件として前記完全検索段階により検索した文書および前記選択段階により選択した文書を検索結果として出力する
    請求項12に記載の検索方法。
  14. 前記コンピュータは、
    前記複数の文書のそれぞれにおいて、予め定められた索引文字数分連続する各文字列を当該文書の各索引語とした索引データベースを記憶しており、
    前記生成段階は、前記検索語に含まれる、前記索引文字数の長さの検索文字列を少なくとも1つ生成し、
    前記部分検索段階は、それぞれの前記検索文字列を索引語とする文書を前記索引データベースから検索する
    請求項12又は13に記載の検索方法。
JP2008149910A 2008-06-06 2008-06-06 検索装置、検索プログラムおよび検索方法 Expired - Fee Related JP4274490B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008149910A JP4274490B2 (ja) 2008-06-06 2008-06-06 検索装置、検索プログラムおよび検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008149910A JP4274490B2 (ja) 2008-06-06 2008-06-06 検索装置、検索プログラムおよび検索方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006160477A Division JP4251652B2 (ja) 2006-06-09 2006-06-09 検索装置、検索プログラムおよび検索方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009015870A Division JP4840885B2 (ja) 2009-01-27 2009-01-27 検索装置、検索プログラムおよび検索方法

Publications (2)

Publication Number Publication Date
JP2008262586A JP2008262586A (ja) 2008-10-30
JP4274490B2 true JP4274490B2 (ja) 2009-06-10

Family

ID=39984967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008149910A Expired - Fee Related JP4274490B2 (ja) 2008-06-06 2008-06-06 検索装置、検索プログラムおよび検索方法

Country Status (1)

Country Link
JP (1) JP4274490B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708942B (zh) * 2020-06-12 2023-08-08 北京达佳互联信息技术有限公司 多媒体资源推送方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
JP2008262586A (ja) 2008-10-30

Similar Documents

Publication Publication Date Title
JP4251652B2 (ja) 検索装置、検索プログラムおよび検索方法
JP3695191B2 (ja) 翻訳支援装置及びその方法並びにコンピュータ可読記録媒体
US7752032B2 (en) Apparatus and method for translating Japanese into Chinese using a thesaurus and similarity measurements, and computer program therefor
JP4100637B2 (ja) 翻訳のための装置、方法、プログラム及び翻訳支援サービス提供方法
JP2007004633A (ja) 言語モデル作成装置およびそれにより作成された言語モデルを使用する言語処理装置
JP2004280574A (ja) 翻訳システム、辞書更新サーバ、翻訳方法、及び、これらのプログラムと記録媒体
JP2013196358A (ja) 検索支援装置および検索支援方法
US20200278971A1 (en) Document retrieval apparatus and document retrieval method
JP2000200281A (ja) 情報検索装置および情報検索方法ならびに情報検索プログラムを記録した記録媒体
KR20150083961A (ko) 다국어 통합 자음 패턴 검색 방법, 자음 문자 입력을 위한 문자 입력부를 생성하는 방법 및 그 장치
JP4274490B2 (ja) 検索装置、検索プログラムおよび検索方法
JP4840885B2 (ja) 検索装置、検索プログラムおよび検索方法
JPH064584A (ja) 文章検索装置
KR101694179B1 (ko) 모음 제거 기반 인덱스 생성 방법 및 장치
US20150039985A1 (en) Associating mentioned items between documents
KR102215580B1 (ko) 스타일 속성에 기반하여 문서에 대한 중요 키워드를 선정하는 전자 장치 및 그 동작 방법
JP4618083B2 (ja) 文書処理装置および文書処理方法
JP7295429B2 (ja) 文書処理プログラム、文書処理方法および文書処理装置
JPH07334512A (ja) 文書データ検索装置
JP2013175136A (ja) トレース支援装置、トレース支援システム、トレース支援方法、およびトレース支援プログラム
KR102523767B1 (ko) Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법
JP2017068757A (ja) 文献表示方法及び文献表示装置
JP5998779B2 (ja) 検索装置、検索方法、及びプログラム
US20240168987A1 (en) Document retrieving apparatus and document retrieving method
JP4721344B2 (ja) 単語検索装置、単語検索方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090127

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: 20090224

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090227

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: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140313

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees