(57)【特許請求の範囲】
【請求項１】
テキストデータを全文検索する情報検索装置において、
検索対象テキストを記憶する検索対象データ記憶手段と、
検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって前記検索対象テキストを単語単位に分割するテキスト分割手段と、
単語単位に分割された前記テキストを保持する単語分割テキスト記憶手段と、
単語単位に分割された前記テキストから、前記単語始端記号及び単語終端記号を示す単語情報を持ち文字数がＮ（ただし、Ｎ≧２）である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、
作成された前記単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、
前記単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段と
を備え、前記単語情報付文字列インデックス作成手段が、前記単語情報として、前記単語情報付文字列インデックスの１文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、２文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けることを特徴とする情報検索装置。
【請求項２】
前記単語情報付文字列インデックス検索手段が、検索語の文字列を文字数Ｎの部分検索文字列に分割し、各部分検索文字列に一致している文字列を前記単語情報付文字列インデックスから検索し、検索された各文字列が検索対象テキスト上で連続性を有しているとき、前記検索語の文字列が検索されたものと判断し、前記検索語の最初の文字を含む部分検索文字列または前記検索語の最後の文字を含む部分検索文字列に一致している文字列を検索する場合に、前記最初の文字の前または前記最後の文字の後の単語情報を判断材料に加えて一致性を判断することにより検索語の単語を検索することを特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記単語情報付文字列インデックス検索手段が、前記単語検索により、検索語の単語に完全一致する単語、検索語の単語に完全一致及び前方一致する単語、検索語の単語に完全一致及び後方一致する単語、検索語の単語に前方一致する単語のみ、または、検索語の単語に後方一致する単語のみ、を検索することを特徴とする請求項２に記載の情報検索装置。
【請求項４】
単語単位に分割された前記テキストに付されている前記単語始端記号及び単語終端記号の内、単独では検索対象語となり得ない不要語の前後の前記単語始端記号及び単語終端記号を削除する不要語区切削除手段を具備することを特徴とする請求項１に記載の情報検索装置。
【請求項５】
前記テキスト分割手段が、検索対象テキストに含まれる単語の内、単独では検索対象語となり得ない単語について、単語単位への分割を行わないことを特徴とする請求項１に記載の情報検索装置。
【請求項６】
単語単位に分割された前記テキストに付されている前記単語始端記号及び単語終端記号の内、接頭辞の後の単語終端記号及び接尾辞の前の単語始端記号を削除する接辞語区切削除手段を具備することを特徴とする請求項１に記載の情報検索装置。
【請求項７】
前記テキスト分割手段が、検索対象テキストに含まれる接頭辞に対して前記単語始端記号のみを付し、接尾辞に対して前記単語終端記号のみを付すことを特徴とする請求項１に記載の情報検索装置。
【請求項８】
検索結果を検索の確からしさから数値化する検索結果数値化手段と、前記検索結果数値化手段が各検索対象テキストの検索結果に与えた数値に基づいて、各検索対象テキストの順序付けを行う検索結果順序化手段とを具備することを特徴とする請求項１に記載の情報検索装置。
【請求項９】
前記検索結果数値化手段が、単語検索によって検索語が発見された検索対象テキストが、文字列検索によってのみ検索語の文字列が発見された検索対象テキストよりも上位に順序付けられるように、単語検索での検索結果に、文字列検索での検索結果よりも大きい重みを付けて数値化することを特徴とする請求項８に記載の情報検索装置。
【請求項１０】
前記検索結果数値化手段が、単語検索によって、検索対象テキストから、検索語の単語に完全一致する単語、前方一致する単語または後方一致する単語が検索されたときの検索結果に対して、それぞれ異なる重みを付けて数値化することを特徴とする請求項８に記載の情報検索装置。
【請求項１１】
前記検索結果数値化手段が、検索に際して、検索語の単語に完全一致する単語、前方一致する単語、及び後方一致する単語の間に順位が指定されたとき、第１順位の単語が発見された検索対象テキストが上位に、第２順位の単語が発見された検索対象テキストがその次に、第３順位の単語だけが発見された検索対象テキストがさらにその次に順序付けられるように、単語検索での検索結果に異なる重みを付けて数値化することを特徴とする請求項１０に記載の情報検索装置。
【請求項１２】
前記検索結果数値化手段が、前記第１順位の単語が発見された検索対象テキストの間では、前記第１順位の単語の検索数の多い順に順序付けられ、前記第２順位の単語が発見された検索対象テキストの間では、前記第２順位の単語の検索数の多い順に順序付けられ、前記第３順位の単語のみが発見された検索対象テキストの間では、前記第３順位の単語の検索数の多い順に順序付けられ、また、前記文字列検索によってのみ検索語の文字列が発見された検索対象テキストの間では、前記文字列の検索数の多い順に順序付けられるように、それぞれの検索結果に異なる重みを付けて数値化することを特徴とする請求項１１に記載の情報検索装置。
【請求項１３】
前記検索結果順序化手段が、前記単語検索によって検索された、検索語の単語に完全一致する単語、前方一致する単語、または後方一致する単語の検索数と、前記文字列検索によって検索された検索語の文字列の検索数との比に基づいて、検索対象テキストの単語分割の精度を見積もり、その精度を検索対象テキストの順序付けに反映させることを特徴とする請求項８に記載の情報検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子計算機を利用した機械翻訳や大量文書検索、テキスト自動要約等を実施する自然言語処理システムの前処理・解析部において、情報検索を行うための方法とその装置に関し、特に、検索漏れを無くし、検索ノイズを減らすことができるようにしたものである。
【０００２】
【従来の技術】
全文検索システムとは、蓄えられたテキストデータから、利用者が指定した文字列を検索するためのものである。全文検索を実現するためには各種の方法が提案されているが、代表的なものに、長尾真  他著、「言語情報処理」岩波書店（１９９８）ｐ．７２−７７に言及されている通り、次の二つのものがある。
【０００３】
その一つは、テキストデータから単語インデックスを作成し、単語インデックスより利用者が指定した文字列（検索語）を検索するものであり、他方は、テキストデータから文字列インデックスを作成し、文字列インデックスより検索語を検索する方式である。
【０００４】
単語インデックスを作成する方式は、テキスト中に現れる単語全てのインデックスを作成する。日本語のような膠着語の場合、単語の境界が不明なため一般的には辞書を用いて形態素解析を行い、テキストを単語単位に分割した上で、それら全ての単語のインデックスを作成する。例えば「東京都品川区」というテキストに対しては、例えば「東京」「東京都」「品川」「品川区」という４つのインデックスを作成することになる。
【０００５】
検索時には、「東京」とか「品川区」といった検索語が指定された場合には、そのままインデックスを検索すればよく、また、「東京都品川区」といった複合語が指定された時は、形態素解析により検索語を分解し、それぞれの語について検索をすればよい。
【０００６】
このようにすることで、文章中の任意の単語で検索することが可能になる。また、単語インデックスの量を減らすため、ある単語を含むもっとも長い単語をインデックスに採用する方式が提案されている。上の例では「東京都」が「東京」も含むため、「東京都」だけをインデックスとするものである（特開平１０−３３４１１８公報など）。単語への分割には、形態素解析以外に、統計的手法で分割する方式も提案されている（中渡瀬秀一「正規化頻度による形態素境界の推定」情報処理学会自然言語処理研究会１１３−３（１９９６）など）。
【０００７】
一方、文字列インデックスを作成する方式は、テキスト中の全ての連続するＮ文字に対するインデックス（ｎ−ｇｒａｍ  ｉｎｄｅｘ）を作成するものである。Ｎとしては２が使われることが多い。例えば「東京都品川区」というテキストに対して２文字組のインデックスを作成する場合は、「東京」「京都」「都品」「品川」「川区」という５つのインデックスを作成することになる。
【０００８】
文字列インデックスを作成する方式の例を図を用いてさらに詳しく説明する。図２２は、文字列インデックスの作成過程を示す図である。「本発明の実施は、」というテキストに対し、「本発」「発明」「明の」「の実」「実施」「施は」「は、」という２文字からなる７つの文字列のインデックスが作成され、それぞれに文書番号と文字列が出現した位置（文字位置）が書き込まれる。全ての文書に対し、このようなインデックスが作成され、これらが文字列でソートされて記憶される。
【０００９】
検索する時は、例えば「本発明」を検索するなら、「本発」「発明」の２つの文字列についてインデックスの検索を行い、発見されたインデックスが連続して出現するものかどうかを判定すればよい。
【００１０】
文字列インデックスを作成する方式は、形態素解析を行う必要がないという特徴を持つ。
【００１１】
【発明が解決しようとする課題】
しかし、単語インデックスを用いる方式では、インデックス作成時にテキストを単語に分割する必要があり、その分割の精度が検索の精度に影響を及ぼすことになる。すなわち、単語が正しく分割されていなかったために検索漏れが発生する恐れがある。形態素解析を使ってテキストを分割をする場合、解析精度は、形態素解析で用いる辞書に依存することになる。一般に言語は常に流動的であり、新しい単語が生まれ続けるため、形態素解析用辞書は常にメンテナンスの必要がある。
【００１２】
また、対象とする文書によって単語の使われ方が違うこともあり、対象とする文書を変更する度に辞書を調整しなければいけない。つまり、医学を専門とするデータベースか、経済を専門とするデータベースかで辞書の調整が違ってきたりするのである。
【００１３】
そして、どれだけ注意して辞書を整備していても、形態素解析において未知語、すなわち辞書に載っていない単語に遭遇する可能性は否定できず、未知語の出現により形態素解析の精度が大幅に低下することがある。
【００１４】
これに対して、統計的手法による単語分割を採用すれば、表面上は未知語の問題は無くなるものの単語分割精度はやはり１００％に達する訳ではなく、同様の問題が残る。
【００１５】
さらに、形態素解析においては、その精度を高めるために、文脈に依存した解析を取り入れることもあるが、このような複雑な処理は長い文中で出現した句と、短い文で出現した句を別の単語列に分解することがある。
【００１６】
一方、文字列インデックスを用いる方式では、単語分割の必要がないため、原理的に検索漏れは発生しない。しかし、例えば「京都」で検索した場合にテキスト中の「東京都」の部分でもヒットしてしまうなど、本来望んだ以外の結果（これを一般に検索ノイズと呼ぶ）が含まれてしまうことになる。
【００１７】
このような問題に対し、特開平１０−３０７８３５号公報では、単語インデックスと文字インデックスの両者を持ち、場合によって切り分ける方式が開示されているが、このような構造を取ると検索インデックスが大きくなってしまう。また、ノイズを減らしたモードで検索すると検索漏れが発生し、検索漏れを発生しないようにするとノイズが多くなってしまい、本質的に問題の解決につながらない。たとえその両方のインデックスを同時に検索したとしても、検索時間も長くなってしまうばかりか、結果の合成にも時間が掛かってしまう。
【００１８】
本発明は、こうした従来技術の課題を解決するものであり、単語インデックス方式と文字列インデックス方式とを融合することにより、検索漏れを防ぎ、検索ノイズを低減させることができる情報検索装置を提供することを目的としている。
【００１９】
そこで、本発明の情報検索装置では、検索対象テキストを記憶する検索対象データ記憶手段と、検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって検索対象テキストを単語単位に分割するテキスト分割手段と、単語単位に分割されたテキストを保持する単語分割テキスト記憶手段と、単語単位に分割されたテキストから、単語始端記号及び単語終端記号を示す単語情報を持ち文字数がＮ（ただし、Ｎ≧２）である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、作成された単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段とを設け、単語情報付文字列インデックス作成手段が、単語情報として、単語情報付文字列インデックスの１文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、２文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けるようにしている。
【００２１】
そのため、単語検索と文字列検索とを一つの装置で、一つのインデックスを用いて行うことが可能であり、検索漏れを防ぎ、検索ノイズを低減させることができる。
【００２２】
【発明の実施の形態】
本発明の請求項１に記載の発明は、テキストデータを全文検索する情報検索装置において、検索対象テキストを記憶する検索対象データ記憶手段と、検索対象テキストに含まれる単語の前に単語始端記号を付し、単語の後に単語終端記号を付すことによって検索対象テキストを単語単位に分割するテキスト分割手段と、単語単位に分割されたテキストを保持する単語分割テキスト記憶手段と、単語単位に分割されたテキストから、単語始端記号及び単語終端記号を示す単語情報を持ち文字数がＮ（ただし、Ｎ≧２）である単語情報付文字列インデックスを作成する単語情報付文字列インデックス作成手段と、作成された単語情報付文字列インデックスを記憶する単語情報付文字列インデックス記憶手段と、単語情報付文字列インデックスを用いて検索語の文字列検索もしくは単語検索またはその両方を行う単語情報付文字列インデックス検索手段とを設け、単語情報付文字列インデックス作成手段が、単語情報として、単語情報付文字列インデックスの１文字目については、その文字の前に単語始端記号がある場合にそれを示す単語情報を設け、その文字の後に単語終端記号がある場合にそれを示す単語情報を設け、２文字目以降については、その文字の後に単語終端記号がある場合にのみそれを示す単語情報を設けるようにしたものであり、単語検索と文字列検索とを一つの装置で実現し、検索漏れを防ぎ、検索ノイズを低減させることができる。また、２文字目以降の始端情報を減らすことで、検索速度に影響を与えずにインデックスを小さくすることができ、また、１文字目に始端情報及び終端情報を持たせることによって、１文字の検索語の単語検索を可能にする。
【００５０】
請求項２に記載の発明は、単語情報付文字列インデックス検索手段が、検索語の文字列を文字数Ｎの部分検索文字列に分割し、各部分検索文字列に一致している文字列を単語情報付文字列インデックスから検索し、検索された各文字列が検索対象テキスト上で連続性を有しているとき、検索語の文字列が検索されたものと判断し、検索語の最初の文字を含む部分検索文字列または検索語の最後の文字を含む部分検索文字列に一致している文字列を検索する場合に、その最初の文字の前または最後の文字の後の単語情報を判断材料に加えて一致性を判断することにより検索語の単語を検索するようにしたものであり、単語検索と文字列検索とを同時に実行することができる。
【００５１】
請求項３に記載の発明は、単語情報付文字列インデックス検索手段が、単語検索により、検索語の単語に完全一致する単語、検索語の単語に完全一致及び前方一致する単語、検索語の単語に完全一致及び後方一致する単語、検索語の単語に前方一致する単語のみ、または、検索語の単語に後方一致する単語のみ、を検索するようにしたものであり、一致性の判断材料として、最初の文字の前の単語情報及び最後の文字の後の単語情報のどれを選択するかによって、各種の単語検索が可能になる。
【００５２】
請求項４に記載の発明は、単語単位に分割されたテキストに付されている単語始端記号及び単語終端記号の内、単独では検索対象語となり得ない不要語の前後の単語始端記号及び単語終端記号を削除する不要語区切削除手段を設けたものであり、単語検索において、不要語部分が単独で検索されることを無くすことができ、検索ノイズを減らすことができる。
【００５３】
請求項５に記載の発明は、テキスト分割手段が、検索対象テキストに含まれる単語の内、単独では検索対象語となり得ない単語について、単語単位への分割を行わないようにしたものであり、単語検索において、不要語部分が単独で検索されることを無くすことができ、検索ノイズを減らすことができる。
【００５４】
請求項６に記載の発明は、単語単位に分割されたテキストに付されている単語始端記号及び単語終端記号の内、接頭辞の後の単語終端記号及び接尾辞の前の単語始端記号を削除する接辞語区切削除手段を設けたものであり、接頭辞や接尾辞が単独で単語として検索されることが無くなり、検索ノイズを減らすことができる。また、検索語に接頭辞や接尾辞を付けた場合でも付けない場合でも、どちらの単語検索も可能であるため、検索漏れを防ぐことができる。
【００５５】
請求項７に記載の発明は、テキスト分割手段が、検索対象テキストに含まれる接頭辞に対して単語始端記号のみを付し、接尾辞に対して単語終端記号のみを付すようにしたものであり、接辞語区切りの削除を行う必要が無くなる。
【００５６】
請求項８に記載の発明は、検索結果を検索の確からしさから数値化する検索結果数値化手段と、検索結果数値化手段が各検索対象テキストの検索結果に与えた数値に基づいて、各検索対象テキストの順序付けを行う検索結果順序化手段とを設けたものであり、検索結果を、利用者が必要としているものから順に効率的に見せることができる。
【００５７】
請求項９に記載の発明は、検索結果数値化手段において、単語検索により検索語が発見された検索対象テキストが、文字列検索によってのみ検索語の文字列が発見された検索対象テキストよりも上位に順序付けられるように、単語検索での検索結果に、文字列検索での検索結果よりも大きい重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【００５８】
請求項１０に記載の発明は、検索結果数値化手段において、単語検索によって、検索対象テキストから、検索語の単語に完全一致する単語、前方一致する単語または後方一致する単語が検索されたときの検索結果に対して、それぞれ異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【００５９】
請求項１１に記載の発明は、検索結果数値化手段が、検索に際して、検索語の単語に完全一致する単語、前方一致する単語、及び後方一致する単語の間に順位が指定されたとき、第１順位の単語が発見された検索対象テキストが上位に、第２順位の単語が発見された検索対象テキストがその次に、第３順位の単語だけが発見された検索対象テキストがさらにその次に順序付けられるように、単語検索での検索結果に異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。
【００６０】
請求項１２に記載の発明は、検索結果数値化手段が、第１順位の単語が発見された検索対象テキストの間では、第１順位の単語の検索数の多い順に順序付けられ、第２順位の単語が発見された検索対象テキストの間では、第２順位の単語の検索数の多い順に順序付けられ、第３順位の単語のみが発見された検索対象テキストの間では、第３順位の単語の検索数の多い順に順序付けられ、また、文字列検索によってのみ検索語の文字列が発見された検索対象テキストの間では、文字列の検索数の多い順に順序付けられるように、それぞれの検索結果に異なる重みを付けて数値化するようにしたものであり、その結果、検索結果順序化手段は、利用者が必要としている検索結果から順に見ることができるように、テキストに対する順序付けを行うことができる。また、検索漏れを防ぐために、検索の確か
らしさが低い検索結果も、下位の順序を与えて見せることができる。
【００６１】
請求項１３に記載の発明は、検索結果順序化手段が、単語検索によって検索された、検索語の単語に完全一致する単語、前方一致する単語、または後方一致する単語の検索数と、文字列検索によって検索された検索語の文字列の検索数との比に基づいて、検索対象テキストの単語分割の精度を見積もり、その精度を検索対象テキストの順序付けに反映させるようにしたものであり、テキストへの順序付けに際して、単語分割における精度の低さを補正することができる。
【００６２】
以下、本発明の実施の形態について、図面を用いて説明する。
【００６３】
（第１の実施形態）
第１の実施形態の情報検索装置は、図１に示すように、検索対象となるテキストデータを蓄える検索対象データ記憶手段101と、検索対象のテキストデータを単語に分割するテキスト分割手段102と、単語単位に分割されたテキストデータを保持する単語分割テキスト記憶手段103と、単語単位に分割されたテキストを基に、単語情報を持った文字列インデックスを作成する単語情報付文字列インデックス作成手段104と、作成されたインデックスを記憶する単語情報付文字列インデックス記憶手段105と、単語情報付文字列インデックスを用いて検索を行う単語情報付文字列インデックス検索手段106とを備えている。
【００６４】
この情報検索装置は、コンピュータにより構成される。検索対象データ記憶手段101、単語分割テキスト記憶手段103、及び単語情報付文字列インデックス記憶手段105は、コンピュータのメモリ装置、またはハードディスク装置で実現される。その他の手段はコンピュータの計算機構により構成される。
【００６５】
この実施形態における検索対象は文書であり、検索対象データ記憶手段101に格納される。一つ一つの文書は、検索対象文書番号などの番号が割り振られて格納されている。検索対象文字列（検索条件）が与えられると、その文字列が含まれている文書番号、または文書中の位置、若しくは文書番号と文書中の位置とが検索により特定されるものとする。
【００６６】
単語情報付文字列インデックス作成手段104で作成される単語情報付文字列インデックスは、単語の分割点情報が入った文字列インデックスである。文字列インデックスは、検索対象データの中の全ての長さＮの文字列を集めたインデックスであり、従来から全文検索として用いられていたものである。単語情報付文字列インデックスは、基本的には文字列インデックスの形をしたものであるが、その各文字の前後に単語の分割点を示す単語情報を付加したものである。文字列インデックスの長さＮは、１以上の整数値を取ることができるが、以下の説明ではＮ＝２の場合を例にして詳しく説明する。
【００６７】
以上のように構成された全文検索装置について、その動作を説明する。全体の流れを図２で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理（ステップ201）とインデックス作成処理（ステップ202）とに分けることができる。
【００６８】
最初にデータ登録処理について説明する。
【００６９】
図２のステップ201のテキスト分割処理は、検索対象データ記憶手段101に蓄えられた検索対象データ全てを、テキスト分割手段102により単語単位に分割して単語分割テキスト記憶手段103に蓄える処理である。分割には形態素解析、または統計的手法による単語分割などを用いることができる。単語分割手法は特定しない。
【００７０】
テキスト分割処理により、図３の301のようなテキストが、図３の302のように分割される。ここで便宜的に単語分割記号“／”を使う。実際にはテキスト中にも記号“／”が出現する可能性があるので、テキストに記号“／”を埋め込むことはせず、テキストに出現しない特殊な文字モードを埋め込んだり、または分割に適したデータ形式で表現するものとする。
【００７１】
図２のステップ202のインデックス作成処理は、単語分割テキスト記憶手段103に蓄えられているデータ全てから、単語情報付文字列インデックス作成手段104により、単語情報付文字列インデックスを作成し、単語情報付文字列インデックス記憶手段105に蓄える処理である。ステップ201とステップ202とは全ての文書について繰り返し行う。
【００７２】
図３を用いて、インデックスの文字列長がＮ＝２の場合を例として、この単語情報付文字列インデックスを説明する。図３の302のように分割されたテキストから、長さ２の全ての文字列を取り出すと、「本発」「発明」「明の」「の実」「実施」「施は」「は、」の７つを取り出すことができる。この夫々の文字列でインデックスを作成する。インデックスには従来の方式（図２２）のように、それぞれの文字列、文書番号、文字位置が記録されるが、その他にその文字列がどのような単語境界に接しているかについての単語情報も付加される。
【００７３】
単語の境界に接しているかの単語情報は、一文字目の前に単語境界（単語区切）があるか、一文字目と二文字目との間に単語境界があるか、二文字目の後に単語境界があるかといった情報があり、それをどのように持たせるかは実現方法により異なる。図４では、例として、これら３つの情報を０か１かで表現するフラグの形で持たせている。「本発」の場合、「／本／発」のように、一文字目「本」の前、及び、一文字目「本」と二文字目「発」との間に単語境界があり、二文字目の後には単語境界がないため、フラグは「１１０」となる。
【００７４】
このように単語情報をフラグで表す場合には、情報を表現するのに１ｂｉｔを必要とするだけとなり、インデックスを小さくすることが可能になる。
【００７５】
このように作成されたインデックスは、文字列をキーとしてソートされ、ハッシュ化テーブルなどにより管理され、一文字目だけ、または一文字目二文字目が与えられるとすぐに検索できるような形で単語情報付文字列インデックス記憶手段105に蓄えておく。
【００７６】
次に、図２の検索処理（ステップ203）について説明する。
【００７７】
検索処理の詳細の流れを図５に示す。
【００７８】
単語情報付文字列インデックス検索手段106は、
（１）中間一致：単語境界を意識しない従来の文字列全文検索機能
（２）単語検索：単語境界を意識した全文検索機能
の２種類の検索方法を実現するものとする。単語検索には、完全一致する単語を検索する場合の「完全一致」、完全一致する単語及び前方一致する単語を合わせて検索する場合の「完全一致を含む前方一致」、完全一致する単語及び後方一致する単語を合わせて検索する場合の「完全一致を含む後方一致」、完全一致する単語は含まずに前方一致する単語だけを検索する場合の「完全一致を含まない前方一致」、完全一致する単語は含まずに後方一致する単語だけを検索する場合の「完全一致を含まない後方一致」の５種類の検索方法が考えられる。
【００７９】
まず、完全一致の場合の検索方法を説明する。
【００８０】
ステップ501：検索文字列を、インデックスの文字列の長さ（例では２）で前から分割し、それぞれの文字列が最初の文字から何文字目から始まるかを記憶する。検索文字列を分解したものを、部分検索文字列と呼ぶことにする。例えば、検索文字列「全文検索装置」は、「全文」「検索」「装置」の３つの部分検索文字列に分割され、夫々最初の文字から０番目、２番目、４番目となる。この時、検索文字列がＮで割り切れない場合は、一部を重なるように分割し、部分検索文字列の集合が必ず元の検索文字列全てをカバーするようにＮ文字の組を取り出す。例えば「検索文字列」という単語は、「検索」「文字」「字列」として、夫々０番目、２番目、３番目とすればよい。この時、「検索」「索文」「字列」と分解してもよいが、なるべく探索空間が小さくなるように分割することが好ましい。
【００８１】
ステップ502：ステップ501で取り出した全ての部分検索文字列について、単語情報付文字列インデックスを検索し、該当する文字列を取り出す。大量のインデックスから目的のものを検索する方法については、既知のものを用いる。この該当した文字列を取り出すときに、検索文字列が前記の「全文検索装置」の場合、その最初の部分検索文字列「全文」については、インデックスの一文字目が単語の開始になっているフラグを参照し、フラグが立っていないものは該当しないことにする。同時にその最後の部分検索文字列「装置」については、インデックスの二文字目が単語の終わりになっているかのフラグを参照し、フラグが立っていないものは該当しないこととする。その他の部分検索文字列（この例では文字列「検索」）については、文字の一致のみを見て、フラグについては調べない。
【００８２】
ステップ503：このように取り出したインデックスについて、インデックスの検索対象文書番号と文書中の文字列の位置とを調べて、連続性を評価する。検索文字列が「全文検索装置」の場合は、「全文」「検索」「装置」が同じ文書番号で、文字列「全文」の出現位置がｘ文字目だった時に、文字列「検索」の出現位置がｘ＋２文字目、文字列「装置」の出現位置がｘ＋４文字目だった場合、この文書に「全文検索装置」という単語が含まれていると判断する。
【００８３】
以上が完全一致の場合の検索方法であるが、前方一致などについてはステップ502のインデックスと部分検索文字列との照合処理を図６で示す表のようにすることで実現できる。
【００８４】
完全一致は検索文字列の一文字目が単語の始まりになっていて、検索文字列の最後の文字が単語の終わりになっていること。これを部分検索文字列とインデックスとの照合時に、インデックスのフラグで確認する。
【００８５】
完全一致を含む前方一致は、検索文字列の一文字目が単語の始まりになっていることだけを確認する。
【００８６】
完全一致を含む後方一致は、検索文字列の最後の文字が単語の終わりになっていることだけを確認する。
【００８７】
完全一致を含まない前方一致は、検索文字列の一文字目が単語の始まりになっていて、検索文字列の最後の文字が単語の終わりになっていないことを確認する。
【００８８】
完全一致を含まない後方一致は、検索文字列の一文字目が単語の始まりになっておらず、検索文字列の最後の文字が単語の終わりになっていることを確認する。
【００８９】
中間一致は、単語の始まりや終わりを無視して照合をする。
【００９０】
中間一致は単語の境界を意識しないため、従来の全文検索同様、任意の文字列の検索が可能である。
【００９１】
こうした照合処理により、検索ノイズを低減することができる。
【００９２】
なお、ここでは長い検索文字列の例を述べたが、検索文字列が二文字、または一文字の場合においても、上記インデックス構造を利用して、各種の検索要求に応えることが可能である。
【００９３】
以上のように、この実施形態の情報検索装置では、テキスト分割手段102が検索対象データを単語に分割し、その結果から単語情報付文字列インデックス作成手段104が、単語の始めと終わりの情報を持った文字列インデックスである単語情報付文字列インデックスを作成し、このインデックスを単語情報付文字列インデックス検索手段106が検索することによって、単語検索と全文検索の双方を一つの装置で実現することができる。
【００９４】
単語検索と全文検索が一つの装置で実現されることで、検索方式を適時使い分けることで、検索ノイズを減らした完全一致検索（単語検索）を選択したり、検索漏れを無くすために中間一致検索を選択できるほか、適時、前方一致や後方一致を選択することができる。
【００９５】
さらに、基本的に全文検索をベースとしているため、検索文字列が複合語であった場合でも、検索文字列を単語に分割する必要がない。そのため、インデックス作成時と検索時とで分割基準が変わってしまって検索に失敗するといった問題は発生し得ない。
【００９６】
また、単語検索と全文検索の双方が一つのインデックスを使うため、インデックスを個々に持つ方式に比べてインデックス量を小さくすることができ、その分、探索空間も小さく、その実用的効果は大きい。
【００９７】
（第２の実施形態）
第２の実施形態の情報検索装置では、インデックスの文字列の不要語の前後にある単語区切を削除することによって、単語検索における検索ノイズを減らしている。
【００９８】
この装置は、図７に示すように、テキスト分割手段102によって分割された文字列から不要語の前後の単語区切を削除する不要語区切削除手段107を備えている。その他の構成は第１の実施形態（図１）と変わりがない。この不要語区切削除手段107はコンピュータの計算機構により構成される。
【００９９】
この全文検索装置の動作について説明する。全体の流れを図８で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理（ステップ801）と、不要語区切削除処理（802）と、インデックス作成処理（803）とに分けることができる。
【０１００】
図８のステップ801（テキスト分割処理）は、第１の実施形態におけるステップ201のテキスト分割処理と同様に、テキスト分割手段102がテキストを分割するのであるが、分割されたテキストは単純に単語に区切るのではなく、単語の始端と終端とを明示した形で区切る。例えば「本発明の実施は、」という図９の901に示すテキストは、図９の902のように区切る。
【０１０１】
ここで便宜的に単語始端記号“［”と単語終端記号“］”を使う。実際にはテキスト中にもこれらの記号が出現する可能性があるので、テキストに記号を埋め込むことはせず、テキストに出現しない特殊な文字コードを埋め込むか、または分割に適したデータ形式で表現するものとする。
【０１０２】
図８のステップ802（不要語区切削除処理）は、区切られたテキストのうち、検索の対象語として不要な語（不要語）の前後の単語始端記号及び単語終端記号を、不要語区切削除手段107が削除する。不要語と判定するには、既知の方法のように、不要語辞書を用意して不要語を発見するという方法を用いる。また、別の方法として、品詞情報を使うものがあり、助詞、助動詞、指示詞（「これ」「それ」など）、判定詞、接続詞、感動詞などを不要語とする。さらに、単語分割を形態素解析ではなく統計的手法で行った場合は品詞情報が使えないので、平仮名の一文字、または平仮名の二文字を不要語とする方法がある。また、ｔｆ＊ｉｄｆ法など、単語の出現頻度で単語の重要度を判断して不要語を特定する方法などが考えられ、これらを用いて不要語を判定する。
【０１０３】
図９の902の単語分割されたテキストのうち、不要語とみなされるものには「の」「は」「、」がある。
【０１０４】
単語分割結果のテキストを、ステップ802で不要語の前後の単語始終端記号を削除した結果が、図９の903である。単語「の」「は」「、」の前後の単語始終端記号が削除されている。
【０１０５】
図８のステップ803（インデックス作成処理）では、第１の実施形態におけるインデックス作成処理と同様、単語情報付文字列インデックス作成手段104がインデックスを作成するものであるが、単語情報は単語の始端と終端を意識したものに変更しなければいけない。
【０１０６】
単語情報には、一文字目が単語の始まりになっているか、一文字目が単語の終わりになっているか、二文字目が単語の始まりになっているか、二文字目が単語の終わりになっているかといった情報があり、それをどのように持たせるかは実現方法により異なる。図１０では、例として、一文字目が単語の始まりになっているか、一文字目が単語の終わりになっているか、二文字目が単語の終わりになっているかの３つの情報だけをフラグの形で持たせている。フラグにすることで、情報を表現するのに１ｂｉｔを必要とするだけとなり、インデックスを小さくすることが可能になる。また、一文字目だけは単語の始端と終端の情報を持たせることで、検索語が一文字だけの場合の検索にも対応できる。一文字目の始端情報と二文字目の終端情報とを持たせることで、検索文字列が二文字の場合は、一種類のインデックスの検索だけで検索を完了することが可能となる。二文字目の始端情報を減らすことで、検索速度に影響を与えずにインデックスを小さくすることもできる。
【０１０７】
図８のステップ801から803の処理は、登録する全ての文書について繰り返し行う。
【０１０８】
図８のステップ804（検索処理）は、第１の実施形態における処理と同様であり、検索時に単語境界を検査していた処理を、単語始端または単語終端を検査するように変更することで実現する。
【０１０９】
以上の処理で不要語の単語区切を削除した場合、不要語そのものは単独では単語検索（完全一致検索など）でヒットすることはなくなり、検索ノイズを削減することが可能となる。しかし、中間一致検索（文字列検索）では、このような不要語にもヒットするので、任意の文字列を検索漏れを起こすことなく発見することができる。
【０１１０】
さらに、不要語を狭んだ文字列を単語検索（完全一致検索など）で検索することが可能である。図９の例で示した「本発明の実施」という文字列を検索しようとする。この文字列には不要語「の」が含まれているが、本発明の単語検索（完全一致など）では検索文字列を単語単位には分割せず、インデックスに依存したＮ文字の長さに分割して検索した上で、検索文字列の一番最初と一番最後の文字が夫々単語の始端、単語の終端と一致しているかどうかだけを見る。
【０１１１】
つまり、従来の単語検索では「本発明の実施」を検索しようとすると、「本発明の実施」の中から単語である「本発明」「実施」だけを取り出し、これだけを単語インデックスの中から検索することで「本発明が実施」「本発明は実施」などが検索されてしまうことがあった。また、単語の位置関係の照合を簡略化した単語検索方式では、「本発明」と「実施」が離れた所に出現している文書も検索されてしまうことがあった。
【０１１２】
しかし、本発明の方法では、「本発明の実施」の文字列のまま文字列検索をした上で、データベース中の「本発明の実施」の前後に単語区切があるかどうかだけを検査するので（その中間の単語区切は検査しない）、不要語とみなされた語も正確に検索に反映される。
【０１１３】
例えば、「京都の町」で検索する時、従来の単語検索では「京都」と「町」のアンド検索になり膨大な結果を返すことになり兼ねず、単純な文字列全文検索（中間一致）では「東京都の町田市」も検索されてしまうが、本発明の方式では正確に「京都の町」にヒットさせることができ、「東京都の町田市」というノイズは削除することができるのである。
【０１１４】
このような特徴から、単語分割の誤りを補う次のような効果がある。例えばテキスト
その絵の具の色は緑だ。
を単語に分割した時、本来なら
［その］［絵の具］［の］［色］［は］［緑］［だ］。
とするべき所を、
［その］［絵］［の］［具］［の］［色］［は］［緑］［だ］。
と誤って分割してしまったとする。この後、不要語を特定してその前後の区切記号を削除した結果、
その［絵］の［具］の［色］は［緑］だ。
となったとする。従来の単語検索技術で必要な語の単語索引だけを作ると、「絵」「具」「色」「緑」の４つのインデックスが作成されることになる。よって「絵の具」で単語検索した場合、検索方式によってはこのテキストに検索ヒットしないか、または「絵に具」「絵を具」などの違ったテキストまで検索ヒットしてしまうことになる。
【０１１５】
これは単語分割の精度が検索精度に悪影響を及ぼす例である。しかし、本発明の方式では、上記で説明したように、このテキストに対しても「絵の具」の文字列を検索して、その前後、すなわち「絵」の前に単語始端があり、「具」の後に単語終端があることだけを調べ、その間がどのようになっているかは調べないので、間に不要語とみなされる語が含まれた語も単語検索で正確にヒットすることができる。
【０１１６】
なお、この実施形態では、ステップ801でテキスト分割手段102がテキストを単語に分割した後、ステップ802で不要語区切削除手段107が不要語前後の単語区切を削除する２段階の方式を説明したが、テキスト分割手段が不要語を認識しながら分割することができれば、不要な単語始端終端記号を出力することもなく、１段階でこの処理を終わらせることができる。テキスト分割手段が不要語を認識する方法としては、品詞情報を用いる方法や一文字平仮名などを不要と判断する方法が考えられる。
【０１１７】
以上のように、この実施形態では、ステップ802で不要語区切削除手段107が、不要語そのものではなく、不要語前後の単語始終端記号のみを削除する。これにより、不要語部分単独では単語検索がヒットすることはないが、検索語が不要語を狭んでいた場合は正確にヒットすることができ、単語検索におけるノイズを削減することができる。それと同時に、単語分割の精度の悪さを補正した単語検索を可能にし、その実用的効果は大きい。
【０１１８】
（第３の実施形態）
第３の実施形態の情報検索装置では、インデックスの文字列の接頭語や接尾語の前後にある単語区切を削除することによって、単語検索における検索ノイズを減らしている。
【０１１９】
この装置は、図１１に示すように、テキスト分割手段102によって分割された文字列から接辞語に付されている区切の一方を削除する接辞語区切削除手段108を備えている。その他の構成は第２の実施形態（図７）と変わりがない。この接辞語区切削除手段108はコンピュータの計算機構により構成される。なお、接辞語とは接頭辞と接尾辞のことである。
【０１２０】
この全文検索装置の動作について説明する。全体の流れを図１２で示す。全体の流れとしては、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理（ステップ1201）と、不要語区切削除処理（ステップ1202）と、接辞語区切削除処理（ステップ1203）と、インデックス作成処理（ステップ1204）とに分けることができる。
【０１２１】
図１２のステップ1201（テキスト分割処理）、ステップ1202（不要語区切削除処理）の処理は第２の実施形態と同じである。
【０１２２】
図１２のステップ1203（接辞語区切削除処理）は、単語のうち接辞語の区切の一部を、接辞語区切削除手段108が削除する。接頭辞の場合は接頭辞の後の単語終端記号を、接尾辞の場合は接尾辞の前の単語始端記号を削除する。
【０１２３】
図１３の例で説明すると、図１３（ａ）のテキストは、単語に区切って不要語の単語区切を削除することで図１３（ｂ）となる。ここで「東京都」の「都」は接尾辞であり、「前知事」の「前」は接頭辞である。そこで、これらの単語始端記号、または単語終端記号を削除すると、図１３（ｃ）が得られる。
【０１２４】
図１２のステップ1204（インデックス作成処理）は、第２の実施形態における処理と同様である。ステップ1201からステップ1204までの処理は登録文書ごとに繰り返し行う。
【０１２５】
図１２のステップ1205の検索処理は、第２の実施形態における処理と同様である。
【０１２６】
以上の処理で接辞語の単語区切を削除した場合、接辞語そのものが単独で単語検索（完全一致検索）によってヒットされることはなくなるので、検索ノイズを削減することができる。しかし接辞語のついた単語は、単語単独でも接辞語のついた形でも単語検索することが可能になる。
【０１２７】
この様子を図１４を使って説明する。図１３の例のテキスト「東京都の前知事青島氏は」に対し、「東京」で検索をかけた場合、図１４（ａ）のように「東京」の前後に単語始端記号と単語終端記号があるため完全一致でヒットする。また、同じテキストに「東京都」で検索をかけた場合も、図１４（ｂ）のように「東京都」の前後に単語始端記号と単語終端記号があるため完全一致でヒットする。本発明の方式では、間にどのような単語区切記号があるかは検索処理では無視するからである。しかし、同じテキストに「みやこ」を意味する「都」で検索をかけた場合、図１４（ｃ）のように「都」の前に単語始端記号が無いため完全一致ではヒットしない。後方一致か中間一致の場合はヒットする。もちろん「京都」で検索をかけた場合も、図１４（ｄ）のように完全一致ではヒットしない。
【０１２８】
なお、この実施形態では、ステップ1201でテキスト分割手段102がテキストを単語に分割した後、ステップ1203で接辞語区切削除手段108が接辞語前後の単語区切を削除する２段階の方式を説明したが、テキスト分割手段が接辞語を認識しながら分割することができれば、不要な単語始端終端記号を出力することもなく、１段階でこの処理を終わらせることができる。テキスト分割手段が接辞語を認識する方法としては、品詞情報を用いることになる。
【０１２９】
なお、統計的単語分割において、単語の境界が不明確な場合も、不明確な部分はこのように単語始端記号のみ、または単語終端記号のみによって分割しておくことで、単語分割の誤りを吸収して、より精度の高い検索が可能となる。
【０１３０】
以上のように、この実施形態では、ステップ1203で接辞語区切削除手段108が、接辞語そのものではなく、接辞語前後の単語始終端記号のみを削除する。これにより、接辞語部分単独では単語検索がヒットすることはないが、検索語が接辞語を含んでいた場合でも含んでいない場合でも正確にヒットすることができ、単語検索におけるノイズを削除できる。
【０１３１】
また、このインデックスは、インデックスの大きさが第１の実施形態と同じでありながら、接辞語を含んだ場合と含まない場合との複数のパターンにマッチすることができる。
【０１３２】
また、単語分割において精度よく区切ることができなかったとしても、単語の始端、単語の終端だけで区切ることができれば、単語分割の精度の悪さを補正した単語検索が可能であり、その実用的効果は大きい。
【０１３３】
（第４の実施形態）
第４の実施形態の情報検索装置では、検索語によって検索された複数の文書に対して、検索語との適合度合いを示す順位付けをして提示する。
【０１３４】
この装置は、図１５に示すように、検索された文書に対して検索語との適合度合いを示す数値を与える検索結果数値化手段110と、数値が与えられた文書をその数値順に並べる検索結果順序化手段111とを備えている。その他の構成は第３の実施形態（図１１）と変わりがない。検索結果数値化手段及び検索結果順序化手段はコンピュータの計算機構により構成される。
【０１３５】
この全文検索装置の動作について説明する。全体の流れは第３の実施形態の図１２と同様であり、データの登録処理と検索処理とに大きく分けられる。データの登録処理は、テキストの単語分割処理と、不要語区切削除処理と、接辞語区切削除処理と、インデックス作成処理とに分けることができ、それらは、それぞれ第３の実施形態の対応する処理と同じである。
【０１３６】
検索処理の詳細の流れを図１６に示す。
【０１３７】
単語情報付文字列インデックス検索手段106は、
（１）中間一致：単語境界を意識しない従来の文字列全文検索機能
（２）単語検索：単語境界を意識した全文検索機能
の２種類の検索方法を実現するものとする。単語検索には、完全一致、完全一致を含む前方一致、完全一致を含む後方一致、完全一致を含まない前方一致、完全一致を含まない後方一致の５種類の検索方法が考えられるが、完全一致の場合の検索方法を説明する。
【０１３８】
ステップ1601：第１の実施形態の図５のステップ501と同じように、検索文字列を分解処理して部分検索文字列を取り出す。
【０１３９】
ステップ1602：取り出した全ての部分検索文字列について、単語情報付文字列インデックスを検索し、該当するものを取り出す。この処理は第１の実施形態の図５のステップ502とは違い、この時点では、まだ単語の始端・終端などを検査しない。
【０１４０】
ステップ1603：このように取り出したインデックスについて、第１の実施形態の図５のステップ503と同様に、インデックスの検索対象文書番号と文書中文字列の位置とを調べて、連続性を評価する。検索文字列が「全文検索装置」の場合は、「全文」「検索」「装置」が同じ文書番号で、文字列「全文」の出現位置がｘ文字目だった時に、文字列「検索」の出現位置がｘ＋２文字目、文字列「装置」の出現位置がｘ＋４文字目だった場合、この文書に「全文検索装置」という文字列が含まれていると判断する。
【０１４１】
ステップ1604：発見された文字列ごとに、それが完全一致か、完全一致を含まない中間一致（検索語の文字列は含まれているが、検索語と完全一致はしていない）かを判断する。図１５の検索結果数値化手段110は、発見された文字列に対して、完全一致の場合は得点ｘ点を、完全一致を含まない中間一致の場合は得点ｙ点を与える。ｘ，ｙの具体的得点の与え方は別途説明する。検索結果数値化手段110は、発見された文字列を含む文書ごとに得点を集計し、各文書の得点を算出する。集計方法は後で詳しく説明する。
【０１４２】
ステップ1605：前ステップまでの処理で文書ごとに得点が付けられたので、図１５の検索結果順序化手段111は、文書を得点で順序付けし、これを検索結果とする。
【０１４３】
以上で一回の検索処理を終了するが、検索結果数値化処理の方法、すなわちステップ1604における、発見された文字列への得点の与え方と文書ごとの得点の集計方法とは、複数の実現方法がある。以下では３つの方法について、例をあげて説明する。
【０１４４】
第１の方法例では得点ｘ，ｙの与え方として、ｘ＞ｙを満たす任意の正の整数を与えるものとする。例としてｘ＝２，ｙ＝１とする。集計では、文書の中に複数の検索文字列が含まれていたとしても、文字列の得点の一番大きなものだけを一つ取ってその文書の得点とする。このようにすることで、完全一致でヒットした文書には得点２が与えられ、完全一致を含まない中間一致でヒットした文書には得点１が与えられる。
【０１４５】
図１７を例にして説明すると、検索語「京都」で完全一致指定の検索をした場合、図１７（ａ）の文書は「京都」の部分２箇所に完全一致するとともに、「東京都」の部分２箇所にも中間一致する。しかし文書の得点は、完全一致した箇所の一つだけを取って２点となる。一方、図１７（ｂ）の文書は複数の「東京都」の部分に中間一致するが、文書の得点は１点となる。
【０１４６】
これを文書の得点順でソートすると、図１８に示すように、検索結果の上位に完全一致でヒットしたもの、下位に中間一致だけでヒットしたものが来る。一般に検索システムの利用者は検索結果の上位から閲覧することから、単語完全一致によるノイズの無いものを検索結果として先に利用できる一方で、下位の中間一致の結果まで利用すれば検索漏れを防ぐことが可能になる。
【０１４７】
第二の方法例では、第一の方法で用いた得点ｘ，ｙの与え方を次のようにする。ステップ1603でヒットした文書のそれぞれに対し、一つの文書に検索文字列が含まれていた数ｔを求める。そして、ｔのうち一番大きい数字を越える数字をｕとすると、ｘを
ｘ＝ｕ×ｙ
を満たすような正の整数に設定する。簡単にはｘ＝ｕ、ｙ＝１とするのがよい。
【０１４８】
図１９、図２０を用いて、完全一致が指定された場合を例にして説明する。図２０の左端の５つの文書は、図１９に示すような内容を含んでいるものとし、「京都」で検索した場合に、それぞれ完全一致と（完全一致を含まない）中間一致でヒットしたものとする。それぞれの文書において、そのヒット数の合計をｔとする。ｔのうち最大のものは文書２のｔ＝８である。よって、これを越える数値９をｘに設定し、ｙ＝１とする。
【０１４９】
集計では、文書の中に複数の検索文字列が含まれていた時、文字列ごとの得点の和、すなわち、
完全一致した箇所数×ｘ点＋中間一致だけした箇所数×ｙ点
をその文書の得点とする。図２０では、ｘ＝９，ｙ＝１として、それぞれの文書の得点を計算している。
【０１５０】
これを文書の得点順でソートすると、検索結果の上位に完全一致でヒットしたもの、下位に中間一致だけでヒットしたものが位置付けられ、これらはそれぞれグループを形成し、その閾値はｔの最大値になる。そして、完全一致でヒットしたグループ、中間一致だけでヒットしたグループともに、ヒット数でソートされる。一般に検索文字列が多く含まれている文書が重要な文書、または検索者が目的とする文書に近いとされていることから、完全一致でより多くの単語がヒットした文書を上位に位置付けることで利用者の便宜を図ることができ、しかも検索漏れも発生しないことになる。
【０１５１】
この計算方式は、結果として上位に完全一致でヒットしたもののグループが、下位に中間一致だけでヒットしたグループが形成されるが、グループを分ける処理やグループごとにソートする等の処理が必要でなく、一回のソートだけでこれらのグループの分離が可能であり、その閾値はｔの最大値となる。さらに詳しく見るなら、完全一致した個数ごとにグループが形成されており、例えば、完全一致３個を含む文書の中で中間一致が多いものから順に並び、完全一致２個を含む文書の中で中間一致が多いものから順に並ぶという形になっている。
【０１５２】
この例では、完全一致が指定された場合に、完全一致と、完全一致を含まない中間一致のグループに分けるようにソートしたが、得点の与え方を例えば以下のように変更すれば、
完全一致、前方一致、後方一致を含まない中間一致の得点  ｙ＝１
完全一致の得点  ｘ＝ｕ×ｕ×ｕ×ｕ×ｙ
前方一致の得点  ｖ＝ｕ×ｕ×ｙ
後方一致の得点  ｗ＝ｕ×ｙ
完全一致、前方一致、後方一致、中間一致の順で表示させるように実現できる。このためにはヒット箇所の文字列前後に単語区切があるかどうかで、得点を調整すればよい。
【０１５３】
また、前方一致や後方一致が指定された場合も、上記の方法で計算可能であるし、完全一致を含まない前方一致、または完全一致を含まない後方一致が指定された時には、得点の与え方によって上記の順位を、完全一致の方が低くなるように変更させることで実現できる。
【０１５４】
第三の方法例では、文書の得点計算について、完全一致でヒットした文字列の数と中間一致でヒットした文字列の数の比を参考にする。または完全一致でヒットした文書の数と中間一致でヒットした文書の数の比を参考にする。
【０１５５】
データ全体で完全一致した文字列の数をｎ個、データ全体で中間一致した文字列の数をｍ個とする時、中間一致は完全一致を含むため、ｎとｍの関係は必ず
ｎ≦ｍ
が成り立つ。文書の数の場合も同様の関係が成り立つ。
【０１５６】
このｎとｍの比の使い方の例として、図２１（ａ）のようにｎとｍの比が大きい時、完全一致した文字列と中間一致しかしなかった文字列とは別のものであり、単語分割の誤りではなかったと考えて、この結果を得点集計に反映させる。
【０１５７】
一方、図２１（ｂ）のようにその比が小さかった場合は、中間一致したものは単語分割の誤りである可能性があると考えて、その可能性を得点集計に反映させる。
【０１５８】
例えば、あるデータベースを「京都」で検索する場合、完全一致と中間一致の比は図２１（ａ）のようになったため、中間一致しかしなかった文字列と完全一致した文字列とは別の単語であると予想される。実際には完全一致では「京都」が、中間一致では「京都」に加えて「東京都」まで検索されたためにこのような比となったのである。別の例では「人参」で検索した場合も図２１（ａ）のような比になったことから、中間一致しかしなかった文字列と完全一致した文字列とは別の単語であると予想される。実際には完全一致では野菜の「人参」が、中間一致では「人参」に加えて「外国人参加」「１０人参加」「婦人参与」などが検索されるためこのような比となったのである。
【０１５９】
一方で同じデータベースを「今朝」で検索すると、完全一致と中間一致の比は図２１（ｂ）のようになったため、中間一致と完全一致は同じ単語であると予想される。実際には「今朝方の気温は、」という文について、「今朝方」の部分は「今朝」の完全一致では検索されずに中間一致で検索されたもので、これは同じ単語とみなすことも可能である。
【０１６０】
このような比を得点集計に反映させるためには、例えば、文書の中で完全一致した箇所の数をｐとし、完全一致しないで中間一致だけした箇所の数をｑとする時に、ｘ，ｙを第二の方法例と同様に定義し、αを定数とすると、文書の得点を、
ｐ×ｘ×α×Ｌｏｇ（ｍ／ｎ）＋ｙ×ｑ
とすれば、上記の比を反映することができる。
【０１６１】
得点ｘ，ｙの与え方としては、第二の計算方法例と同様に、ステップ1603でヒットした文書のそれぞれに対し、一つの文書に検索文字列が含まれていた数ｔを求める。そしてｔのうち一番大きい数字を越える数字をｘに設定し、ｙ＝１とする。
【０１６２】
これを文書の得点順でソートすると、検索結果の上位に重要と思われるもの、下位に検索漏れ対策となる文書が位置付けられる。この順位は、第二の計算方法例のように完全一致でヒットしたグループと中間一致だけでヒットしたグループは明確には分離しないが、その順序は単語分割の精度まで反映されたものとなるので、利用者にとってより便利なものとなる。
【０１６３】
以上で挙げた例では、完全一致が指定された場合に完全一致のヒット数と中間一致のヒット数の比だけを利用した例を説明したが、これに限定されるものではなく、前方一致や後方一致のヒット数を応用して単語分割精度を見積ってもよい。
【０１６４】
第二の計算方法例同様、前方一致や後方一致、完全一致を含まない前方一致、または完全一致を含まない後方一致が指定された場合も、上記の得点の与え方と計算式を調整することで順位を変更させて実現できる。
【０１６５】
また、以上の３つの計算方法例ではキーワードが一つの場合で説明したが、キーワードが二つ以上指定されて、それらが論理演算子で結合された場合にも応用して実現できる。複数のキーワードが論理結合された場合は、上記の文書得点を正規化して、論理演算子による結合を文書得点の算術演算にマッピングする様々な方法が既に提案されており、これらを応用することで実現できる。
【０１６６】
以上のように、この実施形態では、単語情報付文字列インデックス検索手段106が文字列・単語の区別無く検索し、検索結果数値化手段110が結果を数値化し、検索結果順序化手段111が結果をソートすることで、検索におけるノイズを削除した結果を上位に位置付けることが可能になるとともに、中間一致の結果を下位に位置付けることで検索漏れの発生を防ぐことが可能となる。単語分割の精度が１００％にならなくとも、検索漏れと検索ノイズの両者を押さえた検索が可能となり、その実用的効果は大きい。
【０１６７】
【発明の効果】
以上の説明から明らかなように、本発明の情報検索装置では、一つのインデックスで単語検索と文字列検索とが同時に実現でき、インデックスを二重に持つ必要がないことから検索も早く、インデックス空間も小さくて済む。
【０１６８】
また、単語検索と文字列検索の２つの検索を同時に実行し、結果を順序化することができる。
【０１６９】
このようにすることで、検索ノイズを抑える一方で、検索漏れを防ぐことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態における情報検索装置の構成を示すブロック図、
【図２】本発明の第１の実施形態における情報検索装置の動作を示すフローチャート、
【図３】本発明の第１の実施形態におけるインデックス作成処理の過程を示す模式図、
【図４】本発明の第１の実施形態における単語情報付文字列インデックスの構造例を示す模式図、
【図５】本発明の第１の実施形態における検索処理の流れを示すフローチャート、
【図６】本発明の第１の実施形態における検索方式ごとのチェック項目を示す表、
【図７】本発明の第２の実施形態における情報検索装置の構成を示すブロック図、
【図８】本発明の第２の実施形態における情報検索装置の動作を示すフローチャート、
【図９】本発明の第２の実施形態におけるインデックス作成処理の過程を示す模式図、
【図１０】本発明の第２の実施形態における単語情報付文字列インデックスの構造例を示す模式図、
【図１１】本発明の第３の実施形態における情報検索装置の構成を示すブロック図、
【図１２】本発明の第３の実施形態における情報検索装置の動作を示すフローチャート、
【図１３】本発明の第３の実施形態における接辞語区切削除処理の動作を示す概念図、
【図１４】本発明の第３の実施形態における検索ノイズ削減効果を示す概念図、
【図１５】本発明の第４の実施形態における情報検索装置の構成を示すブロック図、
【図１６】本発明の第４の実施形態における情報検索装置の動作を示すフローチャート、
【図１７】本発明の第４の実施形態における第一の計算方法例の得点集計の様子を示す概念図、
【図１８】本発明の第４の実施形態における第一の計算方法例の検索結果の順序化の様子を示す概念図、
【図１９】本発明の第４の実施形態における第二の計算方法例の得点集計と検索結果の順序化の様子を説明するための文書例、
【図２０】本発明の第４の実施形態における第二の計算方法例の得点集計と検索結果の順序化の様子を示す概念図、
【図２１】本発明の第４の実施形態における第三の計算方法例の得点集計のための文書集合の関係を示す模式図、
【図２２】従来の情報検索装置のインデックス作成処理の過程を示す模式図である。
【符号の説明】
101  検索対象データ記憶手段
102  テキスト分割手段
103  単語分割テキスト記憶手段
104  単語情報付文字列インデックス作成手段
105  単語情報付文字列インデックス記憶手段
106  単語情報付文字列インデックス検索手段
107  不要語区切削除手段
108  接辞語区切削除手段
110  検索結果数値化手段
111  検索結果順序化手段
【図１】
0003636941.tif 000002
【図２】
0003636941.tif 000003
【図３】
0003636941.tif 000004
【図４】
0003636941.tif 000005
【図５】
0003636941.tif 000006
【図６】
0003636941.tif 000007
【図７】
0003636941.tif 000008
【図８】
0003636941.tif 000009
【図９】
0003636941.tif 000010
【図１０】
0003636941.tif 000011
【図１１】
0003636941.tif 000012
【図１２】
0003636941.tif 000013
【図１３】
0003636941.tif 000014
【図１４】
0003636941.tif 000015
【図１５】
0003636941.tif 000016
【図１６】
0003636941.tif 000017
【図１７】
0003636941.tif 000018
【図１８】
0003636941.tif 000019
【図１９】
0003636941.tif 000020
【図２０】
0003636941.tif 000021
【図２１】
0003636941.tif 000022
【図２２】
0003636941.tif 000023