JP3636941B2 - 情報検索方法と情報検索装置 - Google Patents
情報検索方法と情報検索装置 Download PDFInfo
- Publication number
- JP3636941B2 JP3636941B2 JP20486799A JP20486799A JP3636941B2 JP 3636941 B2 JP3636941 B2 JP 3636941B2 JP 20486799 A JP20486799 A JP 20486799A JP 20486799 A JP20486799 A JP 20486799A JP 3636941 B2 JP3636941 B2 JP 3636941B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- search
- information
- character string
- text
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
Description
【発明の属する技術分野】
本発明は、電子計算機を利用した機械翻訳や大量文書検索、テキスト自動要約等を実施する自然言語処理システムの前処理・解析部において、情報検索を行うための方法とその装置に関し、特に、検索漏れを無くし、検索ノイズを減らすことができるようにしたものである。
【0002】
【従来の技術】
全文検索システムとは、蓄えられたテキストデータから、利用者が指定した文字列を検索するためのものである。全文検索を実現するためには各種の方法が提案されているが、代表的なものに、長尾真 他著、「言語情報処理」岩波書店(1998)p.72−77に言及されている通り、次の二つのものがある。
【0003】
その一つは、テキストデータから単語インデックスを作成し、単語インデックスより利用者が指定した文字列(検索語)を検索するものであり、他方は、テキストデータから文字列インデックスを作成し、文字列インデックスより検索語を検索する方式である。
【0004】
単語インデックスを作成する方式は、テキスト中に現れる単語全てのインデックスを作成する。日本語のような膠着語の場合、単語の境界が不明なため一般的には辞書を用いて形態素解析を行い、テキストを単語単位に分割した上で、それら全ての単語のインデックスを作成する。例えば「東京都品川区」というテキストに対しては、例えば「東京」「東京都」「品川」「品川区」という4つのインデックスを作成することになる。
【0005】
検索時には、「東京」とか「品川区」といった検索語が指定された場合には、そのままインデックスを検索すればよく、また、「東京都品川区」といった複合語が指定された時は、形態素解析により検索語を分解し、それぞれの語について検索をすればよい。
【0006】
このようにすることで、文章中の任意の単語で検索することが可能になる。また、単語インデックスの量を減らすため、ある単語を含むもっとも長い単語をインデックスに採用する方式が提案されている。上の例では「東京都」が「東京」も含むため、「東京都」だけをインデックスとするものである(特開平10−334118公報など)。単語への分割には、形態素解析以外に、統計的手法で分割する方式も提案されている(中渡瀬秀一「正規化頻度による形態素境界の推定」情報処理学会自然言語処理研究会113−3(1996)など)。
【0007】
一方、文字列インデックスを作成する方式は、テキスト中の全ての連続するN文字に対するインデックス(n−gram index)を作成するものである。Nとしては2が使われることが多い。例えば「東京都品川区」というテキストに対して2文字組のインデックスを作成する場合は、「東京」「京都」「都品」「品川」「川区」という5つのインデックスを作成することになる。
【0008】
文字列インデックスを作成する方式の例を図を用いてさらに詳しく説明する。図22は、文字列インデックスの作成過程を示す図である。「本発明の実施は、」というテキストに対し、「本発」「発明」「明の」「の実」「実施」「施は」「は、」という2文字からなる7つの文字列のインデックスが作成され、それぞれに文書番号と文字列が出現した位置(文字位置)が書き込まれる。全ての文書に対し、このようなインデックスが作成され、これらが文字列でソートされて記憶される。
【0009】
検索する時は、例えば「本発明」を検索するなら、「本発」「発明」の2つの文字列についてインデックスの検索を行い、発見されたインデックスが連続して出現するものかどうかを判定すればよい。
【0010】
文字列インデックスを作成する方式は、形態素解析を行う必要がないという特徴を持つ。
【0011】
【発明が解決しようとする課題】
しかし、単語インデックスを用いる方式では、インデックス作成時にテキストを単語に分割する必要があり、その分割の精度が検索の精度に影響を及ぼすことになる。すなわち、単語が正しく分割されていなかったために検索漏れが発生する恐れがある。形態素解析を使ってテキストを分割をする場合、解析精度は、形態素解析で用いる辞書に依存することになる。一般に言語は常に流動的であり、新しい単語が生まれ続けるため、形態素解析用辞書は常にメンテナンスの必要がある。
【0012】
また、対象とする文書によって単語の使われ方が違うこともあり、対象とする文書を変更する度に辞書を調整しなければいけない。つまり、医学を専門とするデータベースか、経済を専門とするデータベースかで辞書の調整が違ってきたりするのである。
【0013】
そして、どれだけ注意して辞書を整備していても、形態素解析において未知語、すなわち辞書に載っていない単語に遭遇する可能性は否定できず、未知語の出現により形態素解析の精度が大幅に低下することがある。
【0014】
これに対して、統計的手法による単語分割を採用すれば、表面上は未知語の問題は無くなるものの単語分割精度はやはり100%に達する訳ではなく、同様の問題が残る。
【0015】
さらに、形態素解析においては、その精度を高めるために、文脈に依存した解析を取り入れることもあるが、このような複雑な処理は長い文中で出現した句と、短い文で出現した句を別の単語列に分解することがある。
【0016】
一方、文字列インデックスを用いる方式では、単語分割の必要がないため、原理的に検索漏れは発生しない。しかし、例えば「京都」で検索した場合にテキスト中の「東京都」の部分でもヒットしてしまうなど、本来望んだ以外の結果(これを一般に検索ノイズと呼ぶ)が含まれてしまうことになる。
【0017】
このような問題に対し、特開平10−307835号公報では、単語インデックスと文字インデックスの両者を持ち、場合によって切り分ける方式が開示されているが、このような構造を取ると検索インデックスが大きくなってしまう。また、ノイズを減らしたモードで検索すると検索漏れが発生し、検索漏れを発生しないようにするとノイズが多くなってしまい、本質的に問題の解決につながらない。たとえその両方のインデックスを同時に検索したとしても、検索時間も長くなってしまうばかりか、結果の合成にも時間が掛かってしまう。
【0018】
本発明は、こうした従来技術の課題を解決するものであり、単語インデックス方式と文字列インデックス方式とを融合することにより、検索漏れを防ぎ、検索ノイズを低減させることができる情報検索装置を提供することを目的としている。
【0019】
そこで、本発明の情報検索装置では、検索対象テキストを記憶する検索対象データ記憶手段と、検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって検索対象テキストを単語単位に分割するテキスト分割手段と、単語単位に分割されたテキストを保持する単語分割テキスト記憶手段と、単語単位に分割されたテキストから、単語始端記号及び単語終端記号を示す単語情報を持ち文字数がN(ただし、N≧2)である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、作成された単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段とを設け、単語情報付文字列インデックス作成手段が、単語情報として、単語情報付文字列インデックスの1文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、2文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けるようにしている。
【0021】
そのため、単語検索と文字列検索とを一つの装置で、一つのインデックスを用いて行うことが可能であり、検索漏れを防ぎ、検索ノイズを低減させることができる。
【0022】
【発明の実施の形態】
本発明の請求項1に記載の発明は、テキストデータを全文検索する情報検索装置において、検索対象テキストを記憶する検索対象データ記憶手段と、検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって検索対象テキストを単語単位に分割するテキスト分割手段と、単語単位に分割されたテキストを保持する単語分割テキスト記憶手段と、単語単位に分割されたテキストから、単語始端記号及び単語終端記号を示す単語情報を持ち文字数がN(ただし、N≧2)である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、作成された単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段とを設け、単語情報付文字列インデックス作成手段が、単語情報として、単語情報付文字列インデックスの1文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、2文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けるようにしたものであり、単語検索と文字列検索とを一つの装置で実現し、検索漏れを防ぎ、検索ノイズを低減させることができる。また、2文字目以降の始端情報を減らすことで、検索速度に影響を与えずにインデックスを小さくすることができ、また、1文字目に始端情報及び終端情報を持たせることによって、1文字の検索語の単語検索を可能にする。
【0050】
請求項2に記載の発明は、単語情報付文字列インデックス検索手段が、検索語の文字列を文字数Nの部分検索文字列に分割し、各部分検索文字列に一致している文字列を単語情報付文字列インデックスから検索し、検索された各文字列が検索対象テキスト上で連続性を有しているとき、検索語の文字列が検索されたものと判断し、検索語の最初の文字を含む部分検索文字列または検索語の最後の文字を含む部分検索文字列に一致している文字列を検索する場合に、その最初の文字の前または最後の文字の後の単語情報を判断材料に加えて一致性を判断することにより検索語の単語を検索するようにしたものであり、単語検索と文字列検索とを同時に実行することができる。
【0051】
請求項3に記載の発明は、単語情報付文字列インデックス検索手段が、単語検索により、検索語の単語に完全一致する単語、検索語の単語に完全一致及び前方一致する単語、検索語の単語に完全一致及び後方一致する単語、検索語の単語に前方一致する単語のみ、または、検索語の単語に後方一致する単語のみ、を検索するようにしたものであり、一致性の判断材料として、最初の文字の前の単語情報及び最後の文字の後の単語情報のどれを選択するかによって、各種の単語検索が可能になる。
【0052】
請求項4に記載の発明は、単語単位に分割されたテキストに付されている単語始端記号及び単語終端記号の内、単独では検索対象語となり得ない不要語の前後の単語始端記号及び単語終端記号を削除する不要語区切削除手段を設けたものであり、単語検索において、不要語部分が単独で検索されることを無くすことができ、検索ノイズを減らすことができる。
【0053】
請求項5に記載の発明は、テキスト分割手段が、検索対象テキストに含まれる単語の内、単独では検索対象語となり得ない単語について、単語単位への分割を行わないようにしたものであり、単語検索において、不要語部分が単独で検索されることを無くすことができ、検索ノイズを減らすことができる。
【0054】
請求項6に記載の発明は、単語単位に分割されたテキストに付されている単語始端記号及び単語終端記号の内、接頭辞の後の単語終端記号及び接尾辞の前の単語始端記号を削除する接辞語区切削除手段を設けたものであり、接頭辞や接尾辞が単独で単語として検索されることが無くなり、検索ノイズを減らすことができる。また、検索語に接頭辞や接尾辞を付けた場合でも付けない場合でも、どちらの単語検索も可能であるため、検索漏れを防ぐことができる。
【0055】
請求項7に記載の発明は、テキスト分割手段が、検索対象テキストに含まれる接頭辞に対して単語始端記号のみを付し、接尾辞に対して単語終端記号のみを付すようにしたものであり、接辞語区切りの削除を行う必要が無くなる。
【0056】
請求項8に記載の発明は、検索結果を検索の確からしさから数値化する検索結果数値化手段と、検索結果数値化手段が各検索対象テキストの検索結果に与えた数値に基づいて、各検索対象テキストの順序付けを行う検索結果順序化手段とを設けたものであり、検索結果を、利用者が必要としているものから順に効率的に見せることができる。
【0057】
請求項9に記載の発明は、検索結果数値化手段において、単語検索により検索語が発見された検索対象テキストが、文字列検索によってのみ検索語の文字列が発見された検索対象テキストよりも上位に順序付けられるように、単語検索での検索結果に、文字列検索での検索結果よりも大きい重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【0058】
請求項10に記載の発明は、検索結果数値化手段において、単語検索によって、検索対象テキストから、検索語の単語に完全一致する単語、前方一致する単語または後方一致する単語が検索されたときの検索結果に対して、それぞれ異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【0059】
請求項11に記載の発明は、検索結果数値化手段が、検索に際して、検索語の単語に完全一致する単語、前方一致する単語、及び後方一致する単語の間に順位が指定されたとき、第1順位の単語が発見された検索対象テキストが上位に、第2順位の単語が発見された検索対象テキストがその次に、第3順位の単語だけが発見された検索対象テキストがさらにその次に順序付けられるように、単語検索での検索結果に異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【0060】
請求項12に記載の発明は、検索結果数値化手段が、第1順位の単語が発見された検索対象テキストの間では、第1順位の単語の検索数の多い順に順序付けられ、第2順位の単語が発見された検索対象テキストの間では、第2順位の単語の検索数の多い順に順序付けられ、第3順位の単語のみが発見された検索対象テキストの間では、第3順位の単語の検索数の多い順に順序付けられ、また、文字列検索によってのみ検索語の文字列が発見された検索対象テキストの間では、文字列の検索数の多い順に順序付けられるように、それぞれの検索結果に異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。また、検索漏れを防ぐために、検索の確か
らしさが低い検索結果も、下位の順序を与えて見せることができる。
【0061】
請求項13に記載の発明は、検索結果順序化手段が、単語検索によって検索された、検索語の単語に完全一致する単語、前方一致する単語、または後方一致する単語の検索数と、文字列検索によって検索された検索語の文字列の検索数との比に基づいて、検索対象テキストの単語分割の精度を見積もり、その精度を検索対象テキストの順序付けに反映させるようにしたものであり、テキストへの順序付けに際して、単語分割における精度の低さを補正することができる。
【0062】
以下、本発明の実施の形態について、図面を用いて説明する。
【0063】
(第1の実施形態)
第1の実施形態の情報検索装置は、図1に示すように、検索対象となるテキストデータを蓄える検索対象データ記憶手段101と、検索対象のテキストデータを単語に分割するテキスト分割手段102と、単語単位に分割されたテキストデータを保持する単語分割テキスト記憶手段103と、単語単位に分割されたテキストを基に、単語情報を持った文字列インデックスを作成する単語情報付文字列インデックス作成手段104と、作成されたインデックスを記憶する単語情報付文字列インデックス記憶手段105と、単語情報付文字列インデックスを用いて検索を行う単語情報付文字列インデックス検索手段106とを備えている。
【0064】
この情報検索装置は、コンピュータにより構成される。検索対象データ記憶手段101、単語分割テキスト記憶手段103、及び単語情報付文字列インデックス記憶手段105は、コンピュータのメモリ装置、またはハードディスク装置で実現される。その他の手段はコンピュータの計算機構により構成される。
【0065】
この実施形態における検索対象は文書であり、検索対象データ記憶手段101に格納される。一つ一つの文書は、検索対象文書番号などの番号が割り振られて格納されている。検索対象文字列(検索条件)が与えられると、その文字列が含まれている文書番号、または文書中の位置、若しくは文書番号と文書中の位置とが検索により特定されるものとする。
【0066】
単語情報付文字列インデックス作成手段104で作成される単語情報付文字列インデックスは、単語の分割点情報が入った文字列インデックスである。文字列インデックスは、検索対象データの中の全ての長さNの文字列を集めたインデックスであり、従来から全文検索として用いられていたものである。単語情報付文字列インデックスは、基本的には文字列インデックスの形をしたものであるが、その各文字の前後に単語の分割点を示す単語情報を付加したものである。文字列インデックスの長さNは、1以上の整数値を取ることができるが、以下の説明ではN=2の場合を例にして詳しく説明する。
【0067】
以上のように構成された全文検索装置について、その動作を説明する。全体の流れを図2で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理(ステップ201)とインデックス作成処理(ステップ202)とに分けることができる。
【0068】
最初にデータ登録処理について説明する。
【0069】
図2のステップ201のテキスト分割処理は、検索対象データ記憶手段101に蓄えられた検索対象データ全てを、テキスト分割手段102により単語単位に分割して単語分割テキスト記憶手段103に蓄える処理である。分割には形態素解析、または統計的手法による単語分割などを用いることができる。単語分割手法は特定しない。
【0070】
テキスト分割処理により、図3の301のようなテキストが、図3の302のように分割される。ここで便宜的に単語分割記号“/”を使う。実際にはテキスト中にも記号“/”が出現する可能性があるので、テキストに記号“/”を埋め込むことはせず、テキストに出現しない特殊な文字モードを埋め込んだり、または分割に適したデータ形式で表現するものとする。
【0071】
図2のステップ202のインデックス作成処理は、単語分割テキスト記憶手段103に蓄えられているデータ全てから、単語情報付文字列インデックス作成手段104により、単語情報付文字列インデックスを作成し、単語情報付文字列インデックス記憶手段105に蓄える処理である。ステップ201とステップ202とは全ての文書について繰り返し行う。
【0072】
図3を用いて、インデックスの文字列長がN=2の場合を例として、この単語情報付文字列インデックスを説明する。図3の302のように分割されたテキストから、長さ2の全ての文字列を取り出すと、「本発」「発明」「明の」「の実」「実施」「施は」「は、」の7つを取り出すことができる。この夫々の文字列でインデックスを作成する。インデックスには従来の方式(図22)のように、それぞれの文字列、文書番号、文字位置が記録されるが、その他にその文字列がどのような単語境界に接しているかについての単語情報も付加される。
【0073】
単語の境界に接しているかの単語情報は、一文字目の前に単語境界(単語区切)があるか、一文字目と二文字目との間に単語境界があるか、二文字目の後に単語境界があるかといった情報があり、それをどのように持たせるかは実現方法により異なる。図4では、例として、これら3つの情報を0か1かで表現するフラグの形で持たせている。「本発」の場合、「/本/発」のように、一文字目「本」の前、及び、一文字目「本」と二文字目「発」との間に単語境界があり、二文字目の後には単語境界がないため、フラグは「110」となる。
【0074】
このように単語情報をフラグで表す場合には、情報を表現するのに1bitを必要とするだけとなり、インデックスを小さくすることが可能になる。
【0075】
このように作成されたインデックスは、文字列をキーとしてソートされ、ハッシュ化テーブルなどにより管理され、一文字目だけ、または一文字目二文字目が与えられるとすぐに検索できるような形で単語情報付文字列インデックス記憶手段105に蓄えておく。
【0076】
次に、図2の検索処理(ステップ203)について説明する。
【0077】
検索処理の詳細の流れを図5に示す。
【0078】
単語情報付文字列インデックス検索手段106は、
(1)中間一致:単語境界を意識しない従来の文字列全文検索機能
(2)単語検索:単語境界を意識した全文検索機能
の2種類の検索方法を実現するものとする。単語検索には、完全一致する単語を検索する場合の「完全一致」、完全一致する単語及び前方一致する単語を合わせて検索する場合の「完全一致を含む前方一致」、完全一致する単語及び後方一致する単語を合わせて検索する場合の「完全一致を含む後方一致」、完全一致する単語は含まずに前方一致する単語だけを検索する場合の「完全一致を含まない前方一致」、完全一致する単語は含まずに後方一致する単語だけを検索する場合の「完全一致を含まない後方一致」の5種類の検索方法が考えられる。
【0079】
まず、完全一致の場合の検索方法を説明する。
【0080】
ステップ501:検索文字列を、インデックスの文字列の長さ(例では2)で前から分割し、それぞれの文字列が最初の文字から何文字目から始まるかを記憶する。検索文字列を分解したものを、部分検索文字列と呼ぶことにする。例えば、検索文字列「全文検索装置」は、「全文」「検索」「装置」の3つの部分検索文字列に分割され、夫々最初の文字から0番目、2番目、4番目となる。この時、検索文字列がNで割り切れない場合は、一部を重なるように分割し、部分検索文字列の集合が必ず元の検索文字列全てをカバーするようにN文字の組を取り出す。例えば「検索文字列」という単語は、「検索」「文字」「字列」として、夫々0番目、2番目、3番目とすればよい。この時、「検索」「索文」「字列」と分解してもよいが、なるべく探索空間が小さくなるように分割することが好ましい。
【0081】
ステップ502:ステップ501で取り出した全ての部分検索文字列について、単語情報付文字列インデックスを検索し、該当する文字列を取り出す。大量のインデックスから目的のものを検索する方法については、既知のものを用いる。この該当した文字列を取り出すときに、検索文字列が前記の「全文検索装置」の場合、その最初の部分検索文字列「全文」については、インデックスの一文字目が単語の開始になっているフラグを参照し、フラグが立っていないものは該当しないことにする。同時にその最後の部分検索文字列「装置」については、インデックスの二文字目が単語の終わりになっているかのフラグを参照し、フラグが立っていないものは該当しないこととする。その他の部分検索文字列(この例では文字列「検索」)については、文字の一致のみを見て、フラグについては調べない。
【0082】
ステップ503:このように取り出したインデックスについて、インデックスの検索対象文書番号と文書中の文字列の位置とを調べて、連続性を評価する。検索文字列が「全文検索装置」の場合は、「全文」「検索」「装置」が同じ文書番号で、文字列「全文」の出現位置がx文字目だった時に、文字列「検索」の出現位置がx+2文字目、文字列「装置」の出現位置がx+4文字目だった場合、この文書に「全文検索装置」という単語が含まれていると判断する。
【0083】
以上が完全一致の場合の検索方法であるが、前方一致などについてはステップ502のインデックスと部分検索文字列との照合処理を図6で示す表のようにすることで実現できる。
【0084】
完全一致は検索文字列の一文字目が単語の始まりになっていて、検索文字列の最後の文字が単語の終わりになっていること。これを部分検索文字列とインデックスとの照合時に、インデックスのフラグで確認する。
【0085】
完全一致を含む前方一致は、検索文字列の一文字目が単語の始まりになっていることだけを確認する。
【0086】
完全一致を含む後方一致は、検索文字列の最後の文字が単語の終わりになっていることだけを確認する。
【0087】
完全一致を含まない前方一致は、検索文字列の一文字目が単語の始まりになっていて、検索文字列の最後の文字が単語の終わりになっていないことを確認する。
【0088】
完全一致を含まない後方一致は、検索文字列の一文字目が単語の始まりになっておらず、検索文字列の最後の文字が単語の終わりになっていることを確認する。
【0089】
中間一致は、単語の始まりや終わりを無視して照合をする。
【0090】
中間一致は単語の境界を意識しないため、従来の全文検索同様、任意の文字列の検索が可能である。
【0091】
こうした照合処理により、検索ノイズを低減することができる。
【0092】
なお、ここでは長い検索文字列の例を述べたが、検索文字列が二文字、または一文字の場合においても、上記インデックス構造を利用して、各種の検索要求に応えることが可能である。
【0093】
以上のように、この実施形態の情報検索装置では、テキスト分割手段102が検索対象データを単語に分割し、その結果から単語情報付文字列インデックス作成手段104が、単語の始めと終わりの情報を持った文字列インデックスである単語情報付文字列インデックスを作成し、このインデックスを単語情報付文字列インデックス検索手段106が検索することによって、単語検索と全文検索の双方を一つの装置で実現することができる。
【0094】
単語検索と全文検索が一つの装置で実現されることで、検索方式を適時使い分けることで、検索ノイズを減らした完全一致検索(単語検索)を選択したり、検索漏れを無くすために中間一致検索を選択できるほか、適時、前方一致や後方一致を選択することができる。
【0095】
さらに、基本的に全文検索をベースとしているため、検索文字列が複合語であった場合でも、検索文字列を単語に分割する必要がない。そのため、インデックス作成時と検索時とで分割基準が変わってしまって検索に失敗するといった問題は発生し得ない。
【0096】
また、単語検索と全文検索の双方が一つのインデックスを使うため、インデックスを個々に持つ方式に比べてインデックス量を小さくすることができ、その分、探索空間も小さく、その実用的効果は大きい。
【0097】
(第2の実施形態)
第2の実施形態の情報検索装置では、インデックスの文字列の不要語の前後にある単語区切を削除することによって、単語検索における検索ノイズを減らしている。
【0098】
この装置は、図7に示すように、テキスト分割手段102によって分割された文字列から不要語の前後の単語区切を削除する不要語区切削除手段107を備えている。その他の構成は第1の実施形態(図1)と変わりがない。この不要語区切削除手段107はコンピュータの計算機構により構成される。
【0099】
この全文検索装置の動作について説明する。全体の流れを図8で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理(ステップ801)と、不要語区切削除処理(802)と、インデックス作成処理(803)とに分けることができる。
【0100】
図8のステップ801(テキスト分割処理)は、第1の実施形態におけるステップ201のテキスト分割処理と同様に、テキスト分割手段102がテキストを分割するのであるが、分割されたテキストは単純に単語に区切るのではなく、単語の始端と終端とを明示した形で区切る。例えば「本発明の実施は、」という図9の901に示すテキストは、図9の902のように区切る。
【0101】
ここで便宜的に単語始端記号“[”と単語終端記号“]”を使う。実際にはテキスト中にもこれらの記号が出現する可能性があるので、テキストに記号を埋め込むことはせず、テキストに出現しない特殊な文字コードを埋め込むか、または分割に適したデータ形式で表現するものとする。
【0102】
図8のステップ802(不要語区切削除処理)は、区切られたテキストのうち、検索の対象語として不要な語(不要語)の前後の単語始端記号及び単語終端記号を、不要語区切削除手段107が削除する。不要語と判定するには、既知の方法のように、不要語辞書を用意して不要語を発見するという方法を用いる。また、別の方法として、品詞情報を使うものがあり、助詞、助動詞、指示詞(「これ」「それ」など)、判定詞、接続詞、感動詞などを不要語とする。さらに、単語分割を形態素解析ではなく統計的手法で行った場合は品詞情報が使えないので、平仮名の一文字、または平仮名の二文字を不要語とする方法がある。また、tf*idf法など、単語の出現頻度で単語の重要度を判断して不要語を特定する方法などが考えられ、これらを用いて不要語を判定する。
【0103】
図9の902の単語分割されたテキストのうち、不要語とみなされるものには「の」「は」「、」がある。
【0104】
単語分割結果のテキストを、ステップ802で不要語の前後の単語始終端記号を削除した結果が、図9の903である。単語「の」「は」「、」の前後の単語始終端記号が削除されている。
【0105】
図8のステップ803(インデックス作成処理)では、第1の実施形態におけるインデックス作成処理と同様、単語情報付文字列インデックス作成手段104がインデックスを作成するものであるが、単語情報は単語の始端と終端を意識したものに変更しなければいけない。
【0106】
単語情報には、一文字目が単語の始まりになっているか、一文字目が単語の終わりになっているか、二文字目が単語の始まりになっているか、二文字目が単語の終わりになっているかといった情報があり、それをどのように持たせるかは実現方法により異なる。図10では、例として、一文字目が単語の始まりになっているか、一文字目が単語の終わりになっているか、二文字目が単語の終わりになっているかの3つの情報だけをフラグの形で持たせている。フラグにすることで、情報を表現するのに1bitを必要とするだけとなり、インデックスを小さくすることが可能になる。また、一文字目だけは単語の始端と終端の情報を持たせることで、検索語が一文字だけの場合の検索にも対応できる。一文字目の始端情報と二文字目の終端情報とを持たせることで、検索文字列が二文字の場合は、一種類のインデックスの検索だけで検索を完了することが可能となる。二文字目の始端情報を減らすことで、検索速度に影響を与えずにインデックスを小さくすることもできる。
【0107】
図8のステップ801から803の処理は、登録する全ての文書について繰り返し行う。
【0108】
図8のステップ804(検索処理)は、第1の実施形態における処理と同様であり、検索時に単語境界を検査していた処理を、単語始端または単語終端を検査するように変更することで実現する。
【0109】
以上の処理で不要語の単語区切を削除した場合、不要語そのものは単独では単語検索(完全一致検索など)でヒットすることはなくなり、検索ノイズを削減することが可能となる。しかし、中間一致検索(文字列検索)では、このような不要語にもヒットするので、任意の文字列を検索漏れを起こすことなく発見することができる。
【0110】
さらに、不要語を狭んだ文字列を単語検索(完全一致検索など)で検索することが可能である。図9の例で示した「本発明の実施」という文字列を検索しようとする。この文字列には不要語「の」が含まれているが、本発明の単語検索(完全一致など)では検索文字列を単語単位には分割せず、インデックスに依存したN文字の長さに分割して検索した上で、検索文字列の一番最初と一番最後の文字が夫々単語の始端、単語の終端と一致しているかどうかだけを見る。
【0111】
つまり、従来の単語検索では「本発明の実施」を検索しようとすると、「本発明の実施」の中から単語である「本発明」「実施」だけを取り出し、これだけを単語インデックスの中から検索することで「本発明が実施」「本発明は実施」などが検索されてしまうことがあった。また、単語の位置関係の照合を簡略化した単語検索方式では、「本発明」と「実施」が離れた所に出現している文書も検索されてしまうことがあった。
【0112】
しかし、本発明の方法では、「本発明の実施」の文字列のまま文字列検索をした上で、データベース中の「本発明の実施」の前後に単語区切があるかどうかだけを検査するので(その中間の単語区切は検査しない)、不要語とみなされた語も正確に検索に反映される。
【0113】
例えば、「京都の町」で検索する時、従来の単語検索では「京都」と「町」のアンド検索になり膨大な結果を返すことになり兼ねず、単純な文字列全文検索(中間一致)では「東京都の町田市」も検索されてしまうが、本発明の方式では正確に「京都の町」にヒットさせることができ、「東京都の町田市」というノイズは削除することができるのである。
【0114】
このような特徴から、単語分割の誤りを補う次のような効果がある。例えばテキスト
その絵の具の色は緑だ。
を単語に分割した時、本来なら
[その][絵の具][の][色][は][緑][だ]。
とするべき所を、
[その][絵][の][具][の][色][は][緑][だ]。
と誤って分割してしまったとする。この後、不要語を特定してその前後の区切記号を削除した結果、
その[絵]の[具]の[色]は[緑]だ。
となったとする。従来の単語検索技術で必要な語の単語索引だけを作ると、「絵」「具」「色」「緑」の4つのインデックスが作成されることになる。よって「絵の具」で単語検索した場合、検索方式によってはこのテキストに検索ヒットしないか、または「絵に具」「絵を具」などの違ったテキストまで検索ヒットしてしまうことになる。
【0115】
これは単語分割の精度が検索精度に悪影響を及ぼす例である。しかし、本発明の方式では、上記で説明したように、このテキストに対しても「絵の具」の文字列を検索して、その前後、すなわち「絵」の前に単語始端があり、「具」の後に単語終端があることだけを調べ、その間がどのようになっているかは調べないので、間に不要語とみなされる語が含まれた語も単語検索で正確にヒットすることができる。
【0116】
なお、この実施形態では、ステップ801でテキスト分割手段102がテキストを単語に分割した後、ステップ802で不要語区切削除手段107が不要語前後の単語区切を削除する2段階の方式を説明したが、テキスト分割手段が不要語を認識しながら分割することができれば、不要な単語始端終端記号を出力することもなく、1段階でこの処理を終わらせることができる。テキスト分割手段が不要語を認識する方法としては、品詞情報を用いる方法や一文字平仮名などを不要と判断する方法が考えられる。
【0117】
以上のように、この実施形態では、ステップ802で不要語区切削除手段107が、不要語そのものではなく、不要語前後の単語始終端記号のみを削除する。これにより、不要語部分単独では単語検索がヒットすることはないが、検索語が不要語を狭んでいた場合は正確にヒットすることができ、単語検索におけるノイズを削減することができる。それと同時に、単語分割の精度の悪さを補正した単語検索を可能にし、その実用的効果は大きい。
【0118】
(第3の実施形態)
第3の実施形態の情報検索装置では、インデックスの文字列の接頭語や接尾語の前後にある単語区切を削除することによって、単語検索における検索ノイズを減らしている。
【0119】
この装置は、図11に示すように、テキスト分割手段102によって分割された文字列から接辞語に付されている区切の一方を削除する接辞語区切削除手段108を備えている。その他の構成は第2の実施形態(図7)と変わりがない。この接辞語区切削除手段108はコンピュータの計算機構により構成される。なお、接辞語とは接頭辞と接尾辞のことである。
【0120】
この全文検索装置の動作について説明する。全体の流れを図12で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理(ステップ1201)と、不要語区切削除処理(ステップ1202)と、接辞語区切削除処理(ステップ1203)と、インデックス作成処理(ステップ1204)とに分けることができる。
【0121】
図12のステップ1201(テキスト分割処理)、ステップ1202(不要語区切削除処理)の処理は第2の実施形態と同じである。
【0122】
図12のステップ1203(接辞語区切削除処理)は、単語のうち接辞語の区切の一部を、接辞語区切削除手段108が削除する。接頭辞の場合は接頭辞の後の単語終端記号を、接尾辞の場合は接尾辞の前の単語始端記号を削除する。
【0123】
図13の例で説明すると、図13(a)のテキストは、単語に区切って不要語の単語区切を削除することで図13(b)となる。ここで「東京都」の「都」は接尾辞であり、「前知事」の「前」は接頭辞である。そこで、これらの単語始端記号、または単語終端記号を削除すると、図13(c)が得られる。
【0124】
図12のステップ1204(インデックス作成処理)は、第2の実施形態における処理と同様である。ステップ1201からステップ1204までの処理は登録文書ごとに繰り返し行う。
【0125】
図12のステップ1205の検索処理は、第2の実施形態における処理と同様である。
【0126】
以上の処理で接辞語の単語区切を削除した場合、接辞語そのものが単独で単語検索(完全一致検索)によってヒットされることはなくなるので、検索ノイズを削減することができる。しかし接辞語のついた単語は、単語単独でも接辞語のついた形でも単語検索することが可能になる。
【0127】
この様子を図14を使って説明する。図13の例のテキスト「東京都の前知事青島氏は」に対し、「東京」で検索をかけた場合、図14(a)のように「東京」の前後に単語始端記号と単語終端記号があるため完全一致でヒットする。また、同じテキストに「東京都」で検索をかけた場合も、図14(b)のように「東京都」の前後に単語始端記号と単語終端記号があるため完全一致でヒットする。本発明の方式では、間にどのような単語区切記号があるかは検索処理では無視するからである。しかし、同じテキストに「みやこ」を意味する「都」で検索をかけた場合、図14(c)のように「都」の前に単語始端記号が無いため完全一致ではヒットしない。後方一致か中間一致の場合はヒットする。もちろん「京都」で検索をかけた場合も、図14(d)のように完全一致ではヒットしない。
【0128】
なお、この実施形態では、ステップ1201でテキスト分割手段102がテキストを単語に分割した後、ステップ1203で接辞語区切削除手段108が接辞語前後の単語区切を削除する2段階の方式を説明したが、テキスト分割手段が接辞語を認識しながら分割することができれば、不要な単語始端終端記号を出力することもなく、1段階でこの処理を終わらせることができる。テキスト分割手段が接辞語を認識する方法としては、品詞情報を用いることになる。
【0129】
なお、統計的単語分割において、単語の境界が不明確な場合も、不明確な部分はこのように単語始端記号のみ、または単語終端記号のみによって分割しておくことで、単語分割の誤りを吸収して、より精度の高い検索が可能となる。
【0130】
以上のように、この実施形態では、ステップ1203で接辞語区切削除手段108が、接辞語そのものではなく、接辞語前後の単語始終端記号のみを削除する。これにより、接辞語部分単独では単語検索がヒットすることはないが、検索語が接辞語を含んでいた場合でも含んでいない場合でも正確にヒットすることができ、単語検索におけるノイズを削除できる。
【0131】
また、このインデックスは、インデックスの大きさが第1の実施形態と同じでありながら、接辞語を含んだ場合と含まない場合との複数のパターンにマッチすることができる。
【0132】
また、単語分割において精度よく区切ることができなかったとしても、単語の始端、単語の終端だけで区切ることができれば、単語分割の精度の悪さを補正した単語検索が可能であり、その実用的効果は大きい。
【0133】
(第4の実施形態)
第4の実施形態の情報検索装置では、検索語によって検索された複数の文書に対して、検索語との適合度合いを示す順位付けをして提示する。
【0134】
この装置は、図15に示すように、検索された文書に対して検索語との適合度合いを示す数値を与える検索結果数値化手段110と、数値が与えられた文書をその数値順に並べる検索結果順序化手段111とを備えている。その他の構成は第3の実施形態(図11)と変わりがない。検索結果数値化手段及び検索結果順序化手段はコンピュータの計算機構により構成される。
【0135】
この全文検索装置の動作について説明する。全体の流れは第3の実施形態の図12と同様であり、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理と、不要語区切削除処理と、接辞語区切削除処理と、インデックス作成処理とに分けることができ、それらは、それぞれ第3の実施形態の対応する処理と同じである。
【0136】
検索処理の詳細の流れを図16に示す。
【0137】
単語情報付文字列インデックス検索手段106は、
(1)中間一致:単語境界を意識しない従来の文字列全文検索機能
(2)単語検索:単語境界を意識した全文検索機能
の2種類の検索方法を実現するものとする。単語検索には、完全一致、完全一致を含む前方一致、完全一致を含む後方一致、完全一致を含まない前方一致、完全一致を含まない後方一致の5種類の検索方法が考えられるが、完全一致の場合の検索方法を説明する。
【0138】
ステップ1601:第1の実施形態の図5のステップ501と同じように、検索文字列を分解処理して部分検索文字列を取り出す。
【0139】
ステップ1602:取り出した全ての部分検索文字列について、単語情報付文字列インデックスを検索し、該当するものを取り出す。この処理は第1の実施形態の図5のステップ502とは違い、この時点では、まだ単語の始端・終端などを検査しない。
【0140】
ステップ1603:このように取り出したインデックスについて、第1の実施形態の図5のステップ503と同様に、インデックスの検索対象文書番号と文書中文字列の位置とを調べて、連続性を評価する。検索文字列が「全文検索装置」の場合は、「全文」「検索」「装置」が同じ文書番号で、文字列「全文」の出現位置がx文字目だった時に、文字列「検索」の出現位置がx+2文字目、文字列「装置」の出現位置がx+4文字目だった場合、この文書に「全文検索装置」という文字列が含まれていると判断する。
【0141】
ステップ1604:発見された文字列ごとに、それが完全一致か、完全一致を含まない中間一致(検索語の文字列は含まれているが、検索語と完全一致はしていない)かを判断する。図15の検索結果数値化手段110は、発見された文字列に対して、完全一致の場合は得点x点を、完全一致を含まない中間一致の場合は得点y点を与える。x,yの具体的得点の与え方は別途説明する。検索結果数値化手段110は、発見された文字列を含む文書ごとに得点を集計し、各文書の得点を算出する。集計方法は後で詳しく説明する。
【0142】
ステップ1605:前ステップまでの処理で文書ごとに得点が付けられたので、図15の検索結果順序化手段111は、文書を得点で順序付けし、これを検索結果とする。
【0143】
以上で一回の検索処理を終了するが、検索結果数値化処理の方法、すなわちステップ1604における、発見された文字列への得点の与え方と文書ごとの得点の集計方法とは、複数の実現方法がある。以下では3つの方法について、例をあげて説明する。
【0144】
第1の方法例では得点x,yの与え方として、x>yを満たす任意の正の整数を与えるものとする。例としてx=2,y=1とする。集計では、文書の中に複数の検索文字列が含まれていたとしても、文字列の得点の一番大きなものだけを一つ取ってその文書の得点とする。このようにすることで、完全一致でヒットした文書には得点2が与えられ、完全一致を含まない中間一致でヒットした文書には得点1が与えられる。
【0145】
図17を例にして説明すると、検索語「京都」で完全一致指定の検索をした場合、図17(a)の文書は「京都」の部分2箇所に完全一致するとともに、「東京都」の部分2箇所にも中間一致する。しかし文書の得点は、完全一致した箇所の一つだけを取って2点となる。一方、図17(b)の文書は複数の「東京都」の部分に中間一致するが、文書の得点は1点となる。
【0146】
これを文書の得点順でソートすると、図18に示すように、検索結果の上位に完全一致でヒットしたもの、下位に中間一致だけでヒットしたものが来る。一般に検索システムの利用者は検索結果の上位から閲覧することから、単語完全一致によるノイズの無いものを検索結果として先に利用できる一方で、下位の中間一致の結果まで利用すれば検索漏れを防ぐことが可能になる。
【0147】
第二の方法例では、第一の方法で用いた得点x,yの与え方を次のようにする。ステップ1603でヒットした文書のそれぞれに対し、一つの文書に検索文字列が含まれていた数tを求める。そして、tのうち一番大きい数字を越える数字をuとすると、xを
x=u×y
を満たすような正の整数に設定する。簡単にはx=u、y=1とするのがよい。
【0148】
図19、図20を用いて、完全一致が指定された場合を例にして説明する。図20の左端の5つの文書は、図19に示すような内容を含んでいるものとし、「京都」で検索した場合に、それぞれ完全一致と(完全一致を含まない)中間一致でヒットしたものとする。それぞれの文書において、そのヒット数の合計をtとする。tのうち最大のものは文書2のt=8である。よって、これを越える数値9をxに設定し、y=1とする。
【0149】
集計では、文書の中に複数の検索文字列が含まれていた時、文字列ごとの得点の和、すなわち、
完全一致した箇所数×x点+中間一致だけした箇所数×y点
をその文書の得点とする。図20では、x=9,y=1として、それぞれの文書の得点を計算している。
【0150】
これを文書の得点順でソートすると、検索結果の上位に完全一致でヒットしたもの、下位に中間一致だけでヒットしたものが位置付けられ、これらはそれぞれグループを形成し、その閾値はtの最大値になる。そして、完全一致でヒットしたグループ、中間一致だけでヒットしたグループともに、ヒット数でソートされる。一般に検索文字列が多く含まれている文書が重要な文書、または検索者が目的とする文書に近いとされていることから、完全一致でより多くの単語がヒットした文書を上位に位置付けることで利用者の便宜を図ることができ、しかも検索漏れも発生しないことになる。
【0151】
この計算方式は、結果として上位に完全一致でヒットしたもののグループが、下位に中間一致だけでヒットしたグループが形成されるが、グループを分ける処理やグループごとにソートする等の処理が必要でなく、一回のソートだけでこれらのグループの分離が可能であり、その閾値はtの最大値となる。さらに詳しく見るなら、完全一致した個数ごとにグループが形成されており、例えば、完全一致3個を含む文書の中で中間一致が多いものから順に並び、完全一致2個を含む文書の中で中間一致が多いものから順に並ぶという形になっている。
【0152】
この例では、完全一致が指定された場合に、完全一致と、完全一致を含まない中間一致のグループに分けるようにソートしたが、得点の与え方を例えば以下のように変更すれば、
完全一致、前方一致、後方一致を含まない中間一致の得点 y=1
完全一致の得点 x=u×u×u×u×y
前方一致の得点 v=u×u×y
後方一致の得点 w=u×y
完全一致、前方一致、後方一致、中間一致の順で表示させるように実現できる。このためにはヒット箇所の文字列前後に単語区切があるかどうかで、得点を調整すればよい。
【0153】
また、前方一致や後方一致が指定された場合も、上記の方法で計算可能であるし、完全一致を含まない前方一致、または完全一致を含まない後方一致が指定された時には、得点の与え方によって上記の順位を、完全一致の方が低くなるように変更させることで実現できる。
【0154】
第三の方法例では、文書の得点計算について、完全一致でヒットした文字列の数と中間一致でヒットした文字列の数の比を参考にする。または完全一致でヒットした文書の数と中間一致でヒットした文書の数の比を参考にする。
【0155】
データ全体で完全一致した文字列の数をn個、データ全体で中間一致した文字列の数をm個とする時、中間一致は完全一致を含むため、nとmの関係は必ず
n≦m
が成り立つ。文書の数の場合も同様の関係が成り立つ。
【0156】
このnとmの比の使い方の例として、図21(a)のようにnとmの比が大きい時、完全一致した文字列と中間一致しかしなかった文字列とは別のものであり、単語分割の誤りではなかったと考えて、この結果を得点集計に反映させる。
【0157】
一方、図21(b)のようにその比が小さかった場合は、中間一致したものは単語分割の誤りである可能性があると考えて、その可能性を得点集計に反映させる。
【0158】
例えば、あるデータベースを「京都」で検索する場合、完全一致と中間一致の比は図21(a)のようになったため、中間一致しかしなかった文字列と完全一致した文字列とは別の単語であると予想される。実際には完全一致では「京都」が、中間一致では「京都」に加えて「東京都」まで検索されたためにこのような比となったのである。別の例では「人参」で検索した場合も図21(a)のような比になったことから、中間一致しかしなかった文字列と完全一致した文字列とは別の単語であると予想される。実際には完全一致では野菜の「人参」が、中間一致では「人参」に加えて「外国人参加」「10人参加」「婦人参与」などが検索されるためこのような比となったのである。
【0159】
一方で同じデータベースを「今朝」で検索すると、完全一致と中間一致の比は図21(b)のようになったため、中間一致と完全一致は同じ単語であると予想される。実際には「今朝方の気温は、」という文について、「今朝方」の部分は「今朝」の完全一致では検索されずに中間一致で検索されたもので、これは同じ単語とみなすことも可能である。
【0160】
このような比を得点集計に反映させるためには、例えば、文書の中で完全一致した箇所の数をpとし、完全一致しないで中間一致だけした箇所の数をqとする時に、x,yを第二の方法例と同様に定義し、αを定数とすると、文書の得点を、
p×x×α×Log(m/n)+y×q
とすれば、上記の比を反映することができる。
【0161】
得点x,yの与え方としては、第二の計算方法例と同様に、ステップ1603でヒットした文書のそれぞれに対し、一つの文書に検索文字列が含まれていた数tを求める。そしてtのうち一番大きい数字を越える数字をxに設定し、y=1とする。
【0162】
これを文書の得点順でソートすると、検索結果の上位に重要と思われるもの、下位に検索漏れ対策となる文書が位置付けられる。この順位は、第二の計算方法例のように完全一致でヒットしたグループと中間一致だけでヒットしたグループは明確には分離しないが、その順序は単語分割の精度まで反映されたものとなるので、利用者にとってより便利なものとなる。
【0163】
以上で挙げた例では、完全一致が指定された場合に完全一致のヒット数と中間一致のヒット数の比だけを利用した例を説明したが、これに限定されるものではなく、前方一致や後方一致のヒット数を応用して単語分割精度を見積ってもよい。
【0164】
第二の計算方法例同様、前方一致や後方一致、完全一致を含まない前方一致、または完全一致を含まない後方一致が指定された場合も、上記の得点の与え方と計算式を調整することで順位を変更させて実現できる。
【0165】
また、以上の3つの計算方法例ではキーワードが一つの場合で説明したが、キーワードが二つ以上指定されて、それらが論理演算子で結合された場合にも応用して実現できる。複数のキーワードが論理結合された場合は、上記の文書得点を正規化して、論理演算子による結合を文書得点の算術演算にマッピングする様々な方法が既に提案されており、これらを応用することで実現できる。
【0166】
以上のように、この実施形態では、単語情報付文字列インデックス検索手段106が文字列・単語の区別無く検索し、検索結果数値化手段110が結果を数値化し、検索結果順序化手段111が結果をソートすることで、検索におけるノイズを削除した結果を上位に位置付けることが可能になるとともに、中間一致の結果を下位に位置付けることで検索漏れの発生を防ぐことが可能となる。単語分割の精度が100%にならなくとも、検索漏れと検索ノイズの両者を押さえた検索が可能となり、その実用的効果は大きい。
【0167】
【発明の効果】
以上の説明から明らかなように、本発明の情報検索装置では、一つのインデックスで単語検索と文字列検索とが同時に実現でき、インデックスを二重に持つ必要がないことから検索も早く、インデックス空間も小さくて済む。
【0168】
また、単語検索と文字列検索の2つの検索を同時に実行し、結果を順序化することができる。
【0169】
このようにすることで、検索ノイズを抑える一方で、検索漏れを防ぐことが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における情報検索装置の構成を示すブロック図、
【図2】本発明の第1の実施形態における情報検索装置の動作を示すフローチャート、
【図3】本発明の第1の実施形態におけるインデックス作成処理の過程を示す模式図、
【図4】本発明の第1の実施形態における単語情報付文字列インデックスの構造例を示す模式図、
【図5】本発明の第1の実施形態における検索処理の流れを示すフローチャート、
【図6】本発明の第1の実施形態における検索方式ごとのチェック項目を示す表、
【図7】本発明の第2の実施形態における情報検索装置の構成を示すブロック図、
【図8】本発明の第2の実施形態における情報検索装置の動作を示すフローチャート、
【図9】本発明の第2の実施形態におけるインデックス作成処理の過程を示す模式図、
【図10】本発明の第2の実施形態における単語情報付文字列インデックスの構造例を示す模式図、
【図11】本発明の第3の実施形態における情報検索装置の構成を示すブロック図、
【図12】本発明の第3の実施形態における情報検索装置の動作を示すフローチャート、
【図13】本発明の第3の実施形態における接辞語区切削除処理の動作を示す概念図、
【図14】本発明の第3の実施形態における検索ノイズ削減効果を示す概念図、
【図15】本発明の第4の実施形態における情報検索装置の構成を示すブロック図、
【図16】本発明の第4の実施形態における情報検索装置の動作を示すフローチャート、
【図17】本発明の第4の実施形態における第一の計算方法例の得点集計の様子を示す概念図、
【図18】本発明の第4の実施形態における第一の計算方法例の検索結果の順序化の様子を示す概念図、
【図19】本発明の第4の実施形態における第二の計算方法例の得点集計と検索結果の順序化の様子を説明するための文書例、
【図20】本発明の第4の実施形態における第二の計算方法例の得点集計と検索結果の順序化の様子を示す概念図、
【図21】本発明の第4の実施形態における第三の計算方法例の得点集計のための文書集合の関係を示す模式図、
【図22】従来の情報検索装置のインデックス作成処理の過程を示す模式図である。
【符号の説明】
101 検索対象データ記憶手段
102 テキスト分割手段
103 単語分割テキスト記憶手段
104 単語情報付文字列インデックス作成手段
105 単語情報付文字列インデックス記憶手段
106 単語情報付文字列インデックス検索手段
107 不要語区切削除手段
108 接辞語区切削除手段
110 検索結果数値化手段
111 検索結果順序化手段
Claims (13)
- テキストデータを全文検索する情報検索装置において、
検索対象テキストを記憶する検索対象データ記憶手段と、
検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって前記検索対象テキストを単語単位に分割するテキスト分割手段と、
単語単位に分割された前記テキストを保持する単語分割テキスト記憶手段と、
単語単位に分割された前記テキストから、前記単語始端記号及び単語終端記号を示す単語情報を持ち文字数がN(ただし、N≧2)である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、
作成された前記単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、
前記単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段と
を備え、前記単語情報付文字列インデックス作成手段が、前記単語情報として、前記単語情報付文字列インデックスの1文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、2文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けることを特徴とする情報検索装置。 - 前記単語情報付文字列インデックス検索手段が、検索語の文字列を文字数Nの部分検索文字列に分割し、各部分検索文字列に一致している文字列を前記単語情報付文字列インデックスから検索し、検索された各文字列が検索対象テキスト上で連続性を有しているとき、前記検索語の文字列が検索されたものと判断し、前記検索語の最初の文字を含む部分検索文字列または前記検索語の最後の文字を含む部分検索文字列に一致している文字列を検索する場合に、前記最初の文字の前または前記最後の文字の後の単語情報を判断材料に加えて一致性を判断することにより検索語の単語を検索することを特徴とする請求項1に記載の情報検索装置。
- 前記単語情報付文字列インデックス検索手段が、前記単語検索により、検索語の単語に完全一致する単語、検索語の単語に完全一致及び前方一致する単語、検索語の単語に完全一致及び後方一致する単語、検索語の単語に前方一致する単語のみ、または、検索語の単語に後方一致する単語のみ、を検索することを特徴とする請求項2に記載の情報検索装置。
- 単語単位に分割された前記テキストに付されている前記単語始端記号及び単語終端記号の内、単独では検索対象語となり得ない不要語の前後の前記単語始端記号及び単語終端記号を削除する不要語区切削除手段を具備することを特徴とする請求項1に記載の情報検索装置。
- 前記テキスト分割手段が、検索対象テキストに含まれる単語の内、単独では検索対象語となり得ない単語について、単語単位への分割を行わないことを特徴とする請求項1に記載の情報検索装置。
- 単語単位に分割された前記テキストに付されている前記単語始端記号及び単語終端記号の内、接頭辞の後の単語終端記号及び接尾辞の前の単語始端記号を削除する接辞語区切削除手段を具備することを特徴とする請求項1に記載の情報検索装置。
- 前記テキスト分割手段が、検索対象テキストに含まれる接頭辞に対して前記単語始端記号のみを付し、接尾辞に対して前記単語終端記号のみを付すことを特徴とする請求項1に記載の情報検索装置。
- 検索結果を検索の確からしさから数値化する検索結果数値化手段と、前記検索結果数値化手段が各検索対象テキストの検索結果に与えた数値に基づいて、各検索対象テキストの順序付けを行う検索結果順序化手段とを具備することを特徴とする請求項1に記載の情報検索装置。
- 前記検索結果数値化手段が、単語検索によって検索語が発見された検索対象テキストが、文字列検索によってのみ検索語の文字列が発見された検索対象テキストよりも上位に順序付けられるように、単語検索での検索結果に、文字列検索での検索結果よりも大きい重みを付けて数値化することを特徴とする請求項8に記載の情報検索装置。
- 前記検索結果数値化手段が、単語検索によって、検索対象テキストから、検索語の単語に完全一致する単語、前方一致する単語または後方一致する単語が検索されたときの検索結果に対して、それぞれ異なる重みを付けて数値化することを特徴とする請求項8に記載の情報検索装置。
- 前記検索結果数値化手段が、検索に際して、検索語の単語に完全一致する単語、前方一致する単語、及び後方一致する単語の間に順位が指定されたとき、第1順位の単語が発見された検索対象テキストが上位に、第2順位の単語が発見された検索対象テキストがその次に、第3順位の単語だけが発見された検索対象テキストがさらにその次に順序付けられるように、単語検索での検索結果に異なる重みを付けて数値化することを特徴とする請求項10に記載の情報検索装置。
- 前記検索結果数値化手段が、前記第1順位の単語が発見された検索対象テキストの間では、前記第1順位の単語の検索数の多い順に順序付けられ、前記第2順位の単語が発見された検索対象テキストの間では、前記第2順位の単語の検索数の多い順に順序付けられ、前記第3順位の単語のみが発見された検索対象テキストの間では、前記第3順位の単語の検索数の多い順に順序付けられ、また、前記文字列検索によってのみ検索語の文字列が発見された検索対象テキストの間では、前記文字列の検索数の多い順に順序付けられるように、それぞれの検索結果に異なる重みを付けて数値化することを特徴とする請求項11に記載の情報検索装置。
- 前記検索結果順序化手段が、前記単語検索によって検索された、検索語の単語に完全一致する単語、前方一致する単語、または後方一致する単語の検索数と、前記文字列検索によって検索された検索語の文字列の検索数との比に基づいて、検索対象テキストの単語分割の精度を見積もり、その精度を検索対象テキストの順序付けに反映させることを特徴とする請求項8に記載の情報検索装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20486799A JP3636941B2 (ja) | 1999-07-19 | 1999-07-19 | 情報検索方法と情報検索装置 |
US09/618,055 US6546401B1 (en) | 1999-07-19 | 2000-07-17 | Method of retrieving no word separation text data and a data retrieving apparatus therefor |
TW089114457A TW501029B (en) | 1999-07-19 | 2000-07-19 | A method of retrieving data and data retrieving apparatus |
CN00121645A CN1281191A (zh) | 1999-07-19 | 2000-07-19 | 信息检索方法和信息检索装置 |
KR10-2000-0041311A KR100451978B1 (ko) | 1999-07-19 | 2000-07-19 | 정보 검색 방법과 정보 검색 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20486799A JP3636941B2 (ja) | 1999-07-19 | 1999-07-19 | 情報検索方法と情報検索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001034623A JP2001034623A (ja) | 2001-02-09 |
JP3636941B2 true JP3636941B2 (ja) | 2005-04-06 |
Family
ID=16497725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20486799A Expired - Fee Related JP3636941B2 (ja) | 1999-07-19 | 1999-07-19 | 情報検索方法と情報検索装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6546401B1 (ja) |
JP (1) | JP3636941B2 (ja) |
KR (1) | KR100451978B1 (ja) |
CN (1) | CN1281191A (ja) |
TW (1) | TW501029B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011104754A1 (ja) * | 2010-02-24 | 2011-09-01 | 三菱電機株式会社 | 検索装置及び検索プログラム |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4342753B2 (ja) * | 2001-08-10 | 2009-10-14 | 株式会社リコー | 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体 |
JP2005056338A (ja) | 2003-08-07 | 2005-03-03 | Mitsubishi Electric Corp | 情報収集検索装置 |
KR101057997B1 (ko) * | 2003-11-27 | 2011-08-19 | 삼성전자주식회사 | 최초 문자를 이용하는 검색 엔진 및 검색 방법 |
CN1922605A (zh) | 2003-12-26 | 2007-02-28 | 松下电器产业株式会社 | 辞典制作装置以及辞典制作方法 |
US7624018B2 (en) * | 2004-03-12 | 2009-11-24 | Microsoft Corporation | Speech recognition using categories and speech prefixing |
JP4037859B2 (ja) * | 2004-09-29 | 2008-01-23 | 株式会社東芝 | 全文検索システム及び方法 |
JP4549839B2 (ja) * | 2004-12-20 | 2010-09-22 | 大日本印刷株式会社 | 検索装置および方法 |
CN1645374A (zh) * | 2005-01-17 | 2005-07-27 | 徐文新 | 位标记字符串检索技术 |
JP4651402B2 (ja) * | 2005-02-08 | 2011-03-16 | クラリオン株式会社 | 車載情報端末 |
JP5010885B2 (ja) * | 2006-09-29 | 2012-08-29 | 株式会社ジャストシステム | 文書検索装置、文書検索方法および文書検索プログラム |
CN103136190B (zh) * | 2007-12-06 | 2015-10-28 | 谷歌公司 | Cjk姓名检测 |
JP5224851B2 (ja) | 2008-02-27 | 2013-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索エンジン、検索システム、検索方法およびプログラム |
CN101430680B (zh) | 2008-12-31 | 2011-01-19 | 阿里巴巴集团控股有限公司 | 一种无词边界标记语言文本的分词序列选择方法及系统 |
JP5285491B2 (ja) * | 2009-04-10 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報検索システム、方法及びプログラム、索引作成システム、方法及びプログラム、 |
KR101127012B1 (ko) * | 2009-06-10 | 2012-03-26 | 현대엠엔소프트 주식회사 | 문자열 검색 장치 및 방법 |
JP5272919B2 (ja) * | 2009-06-18 | 2013-08-28 | 株式会社デンソー | 施設検索表示装置 |
JP5382651B2 (ja) * | 2009-09-09 | 2014-01-08 | 独立行政法人情報通信研究機構 | 単語対取得装置、単語対取得方法、およびプログラム |
KR101105652B1 (ko) | 2010-02-26 | 2012-01-18 | 인하대학교 산학협력단 | 금지문자열 불포함 결정을 위한 방향 그래프 생성 방법 |
JP5494066B2 (ja) * | 2010-03-17 | 2014-05-14 | 富士通株式会社 | 検索装置、検索方法および検索プログラム |
JP5508953B2 (ja) * | 2010-06-28 | 2014-06-04 | 株式会社日立ソリューションズ | 文書処理装置及びプログラム |
JP5648360B2 (ja) * | 2010-08-09 | 2015-01-07 | 富士通株式会社 | 文字列検索装置、文字列検索方法および文字列検索プログラム |
JP5640578B2 (ja) * | 2010-09-03 | 2014-12-17 | 日本電気株式会社 | 文書処理装置、文書処理方法、及び、プログラム |
KR101192439B1 (ko) * | 2010-11-22 | 2012-10-17 | 고려대학교 산학협력단 | 디지털 콘텐츠 검색 장치 및 방법 |
CN102541960A (zh) * | 2010-12-31 | 2012-07-04 | 北大方正集团有限公司 | 一种模糊检索的方法及装置 |
DE112013000981T5 (de) * | 2012-02-16 | 2014-11-27 | International Business Machines Corporation | Einheit, Programm und Verfahren zum Analysieren von Textdokumenten |
CN103631784B (zh) * | 2012-08-21 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 页面内容检索方法和系统 |
TWI578175B (zh) * | 2012-12-31 | 2017-04-11 | 威盛電子股份有限公司 | 檢索方法、檢索系統以及自然語言理解系統 |
US10885918B2 (en) | 2013-09-19 | 2021-01-05 | Microsoft Technology Licensing, Llc | Speech recognition using phoneme matching |
US9601108B2 (en) | 2014-01-17 | 2017-03-21 | Microsoft Technology Licensing, Llc | Incorporating an exogenous large-vocabulary model into rule-based speech recognition |
JP5930228B2 (ja) | 2014-02-25 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、方法及びプログラム |
US10749989B2 (en) | 2014-04-01 | 2020-08-18 | Microsoft Technology Licensing Llc | Hybrid client/server architecture for parallel processing |
JP2017004127A (ja) * | 2015-06-05 | 2017-01-05 | 富士通株式会社 | テキスト分割プログラム、テキスト分割装置、及びテキスト分割方法 |
CN106933938A (zh) * | 2015-12-30 | 2017-07-07 | 唯溥思株式会社 | 利用多字节编码的文献检索方法及文献索引方法 |
WO2017126057A1 (ja) * | 2016-01-20 | 2017-07-27 | 株式会社日立製作所 | 情報検索方法 |
JP6880956B2 (ja) | 2017-04-10 | 2021-06-02 | 富士通株式会社 | 解析プログラム、解析方法および解析装置 |
WO2018217671A1 (en) * | 2017-05-23 | 2018-11-29 | Floyd Design, LLC | Headboard assembly for modular bed frame |
CN109657109A (zh) * | 2018-11-23 | 2019-04-19 | 山东中创软件商用中间件股份有限公司 | 一种文档中指定单词查找方法、装置、设备以及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3022079B2 (ja) | 1993-08-18 | 2000-03-15 | 凸版印刷株式会社 | 全文データベースシステム |
US5799268A (en) * | 1994-09-28 | 1998-08-25 | Apple Computer, Inc. | Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like |
US5794177A (en) * | 1995-07-19 | 1998-08-11 | Inso Corporation | Method and apparatus for morphological analysis and generation of natural language text |
JPH10307835A (ja) | 1997-05-08 | 1998-11-17 | Canon Inc | 情報処理装置及びその方法 |
JP3143079B2 (ja) | 1997-05-30 | 2001-03-07 | 松下電器産業株式会社 | 辞書索引作成装置と文書検索装置 |
US6081774A (en) * | 1997-08-22 | 2000-06-27 | Novell, Inc. | Natural language information retrieval system and method |
JP3696745B2 (ja) * | 1999-02-09 | 2005-09-21 | 株式会社日立製作所 | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
-
1999
- 1999-07-19 JP JP20486799A patent/JP3636941B2/ja not_active Expired - Fee Related
-
2000
- 2000-07-17 US US09/618,055 patent/US6546401B1/en not_active Expired - Fee Related
- 2000-07-19 CN CN00121645A patent/CN1281191A/zh active Pending
- 2000-07-19 KR KR10-2000-0041311A patent/KR100451978B1/ko not_active IP Right Cessation
- 2000-07-19 TW TW089114457A patent/TW501029B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011104754A1 (ja) * | 2010-02-24 | 2011-09-01 | 三菱電機株式会社 | 検索装置及び検索プログラム |
JP5449521B2 (ja) * | 2010-02-24 | 2014-03-19 | 三菱電機株式会社 | 検索装置及び検索プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2001034623A (ja) | 2001-02-09 |
KR20010015368A (ko) | 2001-02-26 |
TW501029B (en) | 2002-09-01 |
KR100451978B1 (ko) | 2004-10-08 |
CN1281191A (zh) | 2001-01-24 |
US6546401B1 (en) | 2003-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3636941B2 (ja) | 情報検索方法と情報検索装置 | |
JP5740029B2 (ja) | 対話型サーチクエリーを改良するためのシステム及び方法 | |
US6697801B1 (en) | Methods of hierarchically parsing and indexing text | |
US7107263B2 (en) | Multistage intelligent database search method | |
US5544049A (en) | Method for performing a search of a plurality of documents for similarity to a plurality of query words | |
US6859800B1 (en) | System for fulfilling an information need | |
US5940624A (en) | Text management system | |
US20050203900A1 (en) | Associative retrieval system and associative retrieval method | |
JPH08249354A (ja) | 単語索引および単語索引作成装置および文書検索装置 | |
WO2001084376A2 (en) | System for answering natural language questions | |
JP2001524717A (ja) | 情報管理及び検索 | |
US20070112839A1 (en) | Method and system for expansion of structured keyword vocabulary | |
JPH04274557A (ja) | フルテキストサーチ方法 | |
CN110019637B (zh) | 一种标准文献检索的排序算法 | |
US20070239735A1 (en) | Systems and methods for predicting if a query is a name | |
JPH0782504B2 (ja) | 情報検索処理方式および検索ファイル作成装置 | |
JPH0944523A (ja) | 関連語提示装置 | |
JP3081093B2 (ja) | 索引作成方法およびその装置と文書検索装置 | |
JPH06348757A (ja) | 文書検索装置および方法 | |
EP1876539A1 (en) | Method and system for classifying media content | |
KR20020054254A (ko) | 사전구조를 이용한 한국어 형태소 분석방법 | |
JP2000322416A (ja) | 文書検索装置 | |
JP2003223465A (ja) | 特許文献検索方法 | |
JP3376996B2 (ja) | フルテキストサーチ方法 | |
EP1348175B1 (en) | Improved multistage intelligent database search method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041122 |
|
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: 20050104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050106 |
|
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: 20080114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |