JP2005215716A - テキスト検索方法 - Google Patents
テキスト検索方法 Download PDFInfo
- Publication number
- JP2005215716A JP2005215716A JP2004017779A JP2004017779A JP2005215716A JP 2005215716 A JP2005215716 A JP 2005215716A JP 2004017779 A JP2004017779 A JP 2004017779A JP 2004017779 A JP2004017779 A JP 2004017779A JP 2005215716 A JP2005215716 A JP 2005215716A
- Authority
- JP
- Japan
- Prior art keywords
- search
- search condition
- text
- character string
- characters
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】
大規模なテキストに対して、n-gramインデクスを使用して複数のワイルドカードを含む曖昧な全文検索を行う場合での,高速な検索処理方式を提供する。
【解決手段】
ワイルドカード部分での文字位置比較演算を処理する順序を変更して、「n文字以上」の文字位置比較演算より先に「n文字に等しい」の文字位置比較演算を行い、「n文字以上」の文字位置比較演算は左側のものから順に行い、「n文字以上」の文字位置比較演算では条件を満たす部分文字列のうち終端位置が最も左にある1つの位置情報のみを中間結果として出力することにより、複数のワイルドカードを含む全文検索を高速に行う。
【選択図】 図8
大規模なテキストに対して、n-gramインデクスを使用して複数のワイルドカードを含む曖昧な全文検索を行う場合での,高速な検索処理方式を提供する。
【解決手段】
ワイルドカード部分での文字位置比較演算を処理する順序を変更して、「n文字以上」の文字位置比較演算より先に「n文字に等しい」の文字位置比較演算を行い、「n文字以上」の文字位置比較演算は左側のものから順に行い、「n文字以上」の文字位置比較演算では条件を満たす部分文字列のうち終端位置が最も左にある1つの位置情報のみを中間結果として出力することにより、複数のワイルドカードを含む全文検索を高速に行う。
【選択図】 図8
Description
本発明は、文字情報の検索処理に関し、特に検索条件式にワイルドカードを含む曖昧検索技術に関する。
テキストに含まれるn文字の部分文字列をn-gramという。n-gramインデクスは、あらかじめ定めた1以上の数nについて、対象テキストに含まれるn文字以下の部分文字列の出現位置をすべて記録しておくことにより、日本語のような単語間の区切りが無い言語のテキストに対しても、任意の部分文字列の出現位置を漏れなく検索することができる技術である。対象テキスト群に対してn-gramインデクスを作成しておくことにより、検索条件式で指定した文字列を含むテキストを高速に見つけることができる。n文字よりも長い検索条件式の場合,検索条件式をn文字ずつに分解しそれぞれの出現位置をもとめて、元の検索条件式が一続きで出現している場所を求めることができる。
テキストの全文検索において、「ab%cde」のようにワイルドカードを含む検索を行う場合,単語を切り出して登録する方式のインデクスでは、「ab」や「cde」が単語の一部分であった場合はインデクスに登録されてないため検索漏れが生じることになる。n-gramインデクスでは任意の部分文字列を検索できることから、ワイルドカードを含む全文検索にも適している。
従来の技術で検索条件式に複数のワイルドカードを含む検索を行う場合の手順を、検索条件式「A%B%C」を例として説明する。
まず検索条件式の中でワイルドカードで区切られた一部分である「A」に一致する部分文字列のすべての出現位置を検索し、中間結果として保存する。「A」の出現位置はn-gramインデクスから取り出すことができる。部分文字列「A」にあたる部分は長い文字列でもよく、その場合はワイルドカードを含まない通常の文字列の検索と同様に部分文字列をn-gramに分解して検索し、部分文字列の出現位置を求める。部分文字列の出現位置は、部分文字列が出現したテキストを識別する「文書番号」と、その文書内の何文字目から何文字目の範囲に出現したかを表す「文字位置」の対で表現する。以下、検索条件式「A」を検索した結果である「A」の位置情報をP(A)と表記する。このP(A)を中間結果として保存しておく。同様に「B」および「C」の出現位置を検索し中間結果P(B)、P(C)として保存する。
次に、「A%B」が表す「AとBの間に任意の0文字以上が含まれている」部分文字列に一致する部分文字列の検索を行う。上記中間結果P(A),P(B)を探索し「A」および「B」がともに出現している文書番号を探す。同一テキストで「A」および「B」がともに出現していたら、その文書で「A」および「B」それぞれの出現したすべての文字位置の組合せについて文字位置間の距離を検査し、文字位置間の距離がワイルドカードで指定された条件を満たすかを判定する。条件を満たす全ての組合せから得られる部分文字列の文字位置を新たな中間結果P(A%B)として保存する。同一テキスト内に複数の「A」および「B」が出現する場合の「A%B」の出現位置の例を図1に示す。
次に、上記中間結果P(A%B)およびP(C)の出現位置を比較して「A%Bに一致する部分文字列とCの間に任意の0文字以上が含まれている」部分文字列の検索を行い、中間結果P(A%B%C)とする。この最終的な中間結果に含まれる文書番号が、検索条件式「A%B%C」に一致する部分文字列を含むテキストを表している。
テキストの全文検索において、「ab%cde」のようにワイルドカードを含む検索を行う場合,単語を切り出して登録する方式のインデクスでは、「ab」や「cde」が単語の一部分であった場合はインデクスに登録されてないため検索漏れが生じることになる。n-gramインデクスでは任意の部分文字列を検索できることから、ワイルドカードを含む全文検索にも適している。
従来の技術で検索条件式に複数のワイルドカードを含む検索を行う場合の手順を、検索条件式「A%B%C」を例として説明する。
まず検索条件式の中でワイルドカードで区切られた一部分である「A」に一致する部分文字列のすべての出現位置を検索し、中間結果として保存する。「A」の出現位置はn-gramインデクスから取り出すことができる。部分文字列「A」にあたる部分は長い文字列でもよく、その場合はワイルドカードを含まない通常の文字列の検索と同様に部分文字列をn-gramに分解して検索し、部分文字列の出現位置を求める。部分文字列の出現位置は、部分文字列が出現したテキストを識別する「文書番号」と、その文書内の何文字目から何文字目の範囲に出現したかを表す「文字位置」の対で表現する。以下、検索条件式「A」を検索した結果である「A」の位置情報をP(A)と表記する。このP(A)を中間結果として保存しておく。同様に「B」および「C」の出現位置を検索し中間結果P(B)、P(C)として保存する。
次に、「A%B」が表す「AとBの間に任意の0文字以上が含まれている」部分文字列に一致する部分文字列の検索を行う。上記中間結果P(A),P(B)を探索し「A」および「B」がともに出現している文書番号を探す。同一テキストで「A」および「B」がともに出現していたら、その文書で「A」および「B」それぞれの出現したすべての文字位置の組合せについて文字位置間の距離を検査し、文字位置間の距離がワイルドカードで指定された条件を満たすかを判定する。条件を満たす全ての組合せから得られる部分文字列の文字位置を新たな中間結果P(A%B)として保存する。同一テキスト内に複数の「A」および「B」が出現する場合の「A%B」の出現位置の例を図1に示す。
次に、上記中間結果P(A%B)およびP(C)の出現位置を比較して「A%Bに一致する部分文字列とCの間に任意の0文字以上が含まれている」部分文字列の検索を行い、中間結果P(A%B%C)とする。この最終的な中間結果に含まれる文書番号が、検索条件式「A%B%C」に一致する部分文字列を含むテキストを表している。
さらに多数のワイルドカードを含む検索条件式で検索を行う場合も、以下同様にして検索条件式の左側から順に処理を進めていく。
n-gramインデクスの特徴を用いた既存の検索技術として特開平9−153051がある。これは、類似文書を検索する従来技術のレリバンス・ランキングおよびレリバンス・フィードバックにおいて単語の変わりにn-gramを用いて、日本語における高速で低ノイズのレリバンス・フィードバックを実現している。
しかしながら、特開平9−153051では、類似文書を検索する際に文書および検索条件式の特徴を表すベクトルの処理に単語の替わりにn-gramを用いてレリバンス・フィードバックを高速、低ノイズにする方式であり、ワイルドカードを含む検索条件式による全文検索の高速化を行うことはできない。
従来の技術では、複数のワイルドカードを含む検索条件式で検索を行う場合に、最終的な結果を求めるまでに検索漏れが生じないように、中間結果として検索条件を満たす部分文字列の全ての位置情報を求めている。そのため、検索条件式中にワイルドカードを多数含み、対象テキスト中に検索条件式の部分文字列に一致する箇所が多数存在すると、中間結果として保存する位置情報の個数が膨大になることがある。
例えば、「AAAAABBBBBCCCCCDDDDD」というテキストに対して検索条件式「A%B」に一致する部分文字列の出現位置は、25(=5×5)箇所ある。検索条件式「A%B%C」では125(=5×5×5)箇所、「A%B%C%D」では625(=5×5×5×5)箇所となる。このように、大規模テキストに対して複数のワイルドカードを含む検索を行った場合,ワイルドカードの個数の増加に伴い、中間結果である検索条件の一部分に一致する部分文字列の出現箇所が急激に増大し、出現位置の比較演算に要する処理時間が膨大になる場合がある。
本発明は、大規模テキストに対して複数のワイルドカードを含むテキスト検索を行う場合の検索処理を高速化することを目的とする。
従来の技術では、複数のワイルドカードを含む検索条件式で検索を行う場合に、最終的な結果を求めるまでに検索漏れが生じないように、中間結果として検索条件を満たす部分文字列の全ての位置情報を求めている。そのため、検索条件式中にワイルドカードを多数含み、対象テキスト中に検索条件式の部分文字列に一致する箇所が多数存在すると、中間結果として保存する位置情報の個数が膨大になることがある。
例えば、「AAAAABBBBBCCCCCDDDDD」というテキストに対して検索条件式「A%B」に一致する部分文字列の出現位置は、25(=5×5)箇所ある。検索条件式「A%B%C」では125(=5×5×5)箇所、「A%B%C%D」では625(=5×5×5×5)箇所となる。このように、大規模テキストに対して複数のワイルドカードを含む検索を行った場合,ワイルドカードの個数の増加に伴い、中間結果である検索条件の一部分に一致する部分文字列の出現箇所が急激に増大し、出現位置の比較演算に要する処理時間が膨大になる場合がある。
本発明は、大規模テキストに対して複数のワイルドカードを含むテキスト検索を行う場合の検索処理を高速化することを目的とする。
検索条件式「A%B」の検索処理において、「A」および「B」の位置情報を検索して求めた中間結果P(A)および中間結果P(B)から、ワイルドカード「%」含む「A%B」に一致する部分文字列の位置情報P(A%B)を求める処理を、以下「%演算」と呼ぶ。同様に、中間結果P(A)およびP(B)からワイルドカード「_」を含む「A_B」に一致する部分文字列の位置情報P(A_B)を求める処理を以下「_演算」と呼ぶ。
検索結果として最終的に必要になるのは、検索条件式を含んでいるテキストがどれかを表す文書番号のみであり、検索条件式に一致した部分文字列が当該テキストのどの位置にあるかという情報は不要となる。よって、ワイルドカード演算を行った結果が最終的な結果となる場合,ワイルドカードの条件を満たすすべての文字列の位置情報を見つける必要は無く、条件を満たすものが1つあるか、1つもないかのみを判定すればよい。しかし、ワイルドカード演算の結果得られる位置情報が、別のワイルドカード演算の入力となる場合,初めのワイルドカード演算で条件を満たすすべての位置情報を出力しないと、次のワイルドカード演算で条件を満たす部分文字列の有無を正しく判定することができず検索漏れを生じる場合がある。
従来の処理方式では、検索条件式に現れるワイルドカードを単純に左端から順に処理していた。しかし、ワイルドカード部分の距離比較の演算は、どのワイルドカードから処理をしても最終的に得られる結果は変わらない。ある演算順序でワイルドカードを処理したときにテキスト中にヒットした部分文字列は、別の演算順序で処理した場合もヒットする。また、ある演算順序でヒットする部分文字列が存在しなかったテキストには、別演算順序で処理した場合もヒットする部分文字列は存在しない。
そこで、本発明ではワイルドカードの演算順序を変更することにより、すべての位置情報を求める必要の無いケースが増えるようにする。そのようなケースのワイルドカード演算では最終的に検索条件式に一致する部分文字列の有無を判別するのに必要最低限の文字位置情報のみを中間結果として保存し、処理を進めることにする。これにより、従来の方式に比べ処理時間を短縮し、また中間結果としてメモリ上に保存する情報量を削減する。
本発明の処理方式では、連続するワイルドカードの演算順序を変更して、以下のような順序で処理を行う。
(ステップ1)「%演算」よりも先に「_演算」を行う。連続する「_演算」は左のものから順に行う。
(ステップ2)連続する「%演算」を左から順に行う。
例えば、検索条件式「A_B%C_D_E%F」による検索を行う際の演算の優先順序を括弧で表すと、従来の処理方式では「((((A_B)%C)_D)_E)%F」、本発明の方式では「((A_B)%((C_D)_E))%F」」となる。
例えば、検索条件式「A_B%C_D_E%F」による検索を行う際の演算の優先順序を括弧で表すと、従来の処理方式では「((((A_B)%C)_D)_E)%F」、本発明の方式では「((A_B)%((C_D)_E))%F」」となる。
本発明の処理方式では、ステップ1として検索条件式の中で「_演算」で連結された一連の部分に一致する部分文字列の位置情報を先に求めて中間結果とし、その後にステップ2として「%演算」のみを左から順に行うことになる。連続する「_演算」がある場合,その条件に一致する部分文字列の位置情報をもれなく検索するためには、個々の「_演算」で条件に一致する部分文字列のすべての位置情報を検索する必要がある。「_演算」がすべて終わった後には、「%演算」のみが連続しその結果が「_演算」で使用されないため、以下に述べるようにして、中間結果として出力する条件を満たす部分文字列の位置情報を削減する。
連続する「%演算」では左のものから順に処理を行い、個々の「%演算」では条件を満たす部分文字列のうち、出現したテキストごとに終端位置が最も左になる1つの位置情報のみを中間結果として出力していく。以下、説明を簡略にするためにある一つのテキストのみを検索の対象とする。
「A」の出現位置P(A)のうち終端位置が最も左である1件のみからなる位置情報をP'(A)と表記する。「A%B」にヒットするものが複数存在する場合、その中で終端位置が最も左である1件は、P'(A)とP(B)に対して「%演算」を行いヒットしたものの中で終端位置が最も左の1件と一致する。逆に、「A%B」にヒットするものが存在しない場合,P'(A)とP(B)に対して「%演算」を行ってもヒットするものはない。したがって、P'(A)およびP(B)があれば、「A%B」にヒットするものがあればその中で最も終端位置が左の1件の位置情報を、ヒットするものが無い場合はヒットしないという情報を得ることができる。
以下、例として検索条件式「A%B%C」の検索を説明する。
条件式「A%B%C」にヒットするかどうかを判定するには、まずP(A)およびP(B)からP'(A%B)を求める。ここでヒットするものが無ければ「A%B%C」にヒットするものは無い。ヒットするものがあった場合,さらにP'(A%B)およびP(C)からP'(A%B%C)を求める。これがヒットしたならば、当該テキストには条件式「A%B%C」に一致する部分文字列が一つは含まれているということになり、最終的な検索結果として出力する。P'(A%B%C)が存在しない場合,当該テキストには条件式「A%B%C」に一致する部分文字列が存在しないということになる。検索条件式により多くの「%演算」が含まれる場合も同様に処理を繰り返せばよい。
したがって、前述したようなワイルドカードの演算順序の変更を行った場合、「%演算」で出力する中間結果は、条件を満たすすべての組合せの中で終端位置が最も左となる1件だけでよい。同一テキストにおける「A」および「B」の出現位置の個数をM,Nとすると、「A%B」を検索するための「%演算」での比較処理の回数は、すべての組合せを検査する従来の処理では最大M×N回となるのに対し、本発明の処理方式では最大N回となり、「%演算」での処理時間を短縮することができる。検索条件式「T1%T2%T3%…%Tn」の検索でT1,T2、…、Tnが同一文書にそれぞれK1,K2、…、Kn個出現していた場合,文字位置の比較演算の回数は、従来の方式では最大(K1×K2×…×Kn)回であるのに対し、本発明の処理方式では最大(K2+K3+…+Kn)回となる。よって連続する「%演算」での比較演算の回数を軽減し、処理時間を短縮することができる。また、中間結果として出力する位置情報量も削減するため、検索処理で使用する記憶領域のサイズを軽減する効果もある。
一方、本発明での「_演算」における比較演算の回数は従来方式と変わらないが、「_演算」では比較演算回数が最大M+N回であるため、処理時間はそれほど大きくは無い。
以上説明したように、本発明の検索方式によれば、n-gramインデクスを使用して大規模テキストに対して複数のワイルドカードを含む曖昧な検索条件式による検索を行う場合、中間結果として処理する位置情報を削減することができるため、検索性能が向上される効果がある。
以下、本発明の実施の形態を図面を用いて具体的に説明する。
図2は、本発明の位置実施例におけるテキスト全文検索システムの構成を示したものである。
図2において、電子計算機10にはオンライン処理で使用するオンライン端末11および外部記憶装置12が接続されている。電子計算機10には、n-gramインデクス作成プログラム13およびn-gramインデクス検索プログラム14が接続されている。n-gramインデクス作成プログラム13は、あらかじめ外部記憶装置12に格納された検索処理対象であるテキストデータ15を処理してn-gramインデクス16を作成する。n-gramインデクス検索プログラム14は、端末11からの入力により、指定された検索条件式を含むテキストを検索し、結果を端末11に出力する。
図3はn-gramインデクス検索プログラムの内部プログラムおよびn-gramインデクス検索プログラム内で使用される中間データを示している。n-gramインデクス検索プログラムでは、まず入力された検索条件式を検索条件式構文解析プログラム21で解析してワイルドカード演算とそれ以外の単純な文字の並びの部分、すなわちタームに分解し、演算順序を表す検索条件木25を作成する。検索条件木探索プログラム22は、検索条件木25を探索しながら、ターム検索プログラム23およびワイルドカード演算プログラム24を用いて中間結果26を生成する。
以下、検索条件式「A_B%C_D_E%F」を例として検索処理の手順を説明する。
図4は検索条件式「A_B%C_D_E%F」を検索条件式解析プログラム21で解析して生成した検索条件木25であり、この構造が本発明による処理方式の演算順序を表している。検索条件木25は木構造のデータであり、非リーフノードである演算子ノード27とリーフノードであるタームノード28から構成される。タームノード27はワイルドカード文字で区切られた部分文字列に対応する。演算子ノード28はワイルドカード文字で指定されたワイルドカード演算を表す。演算子ノードでワイルドカード文字の隣の数字は、検索条件式中にある同一の演算子の対応を区別するために、検索条件式で左から何番目のワイルドカード演算かを記述したものである。
図5は検索条件式から検索条件木を作成する処理のフローチャートである。ステップ31では検索条件式の先頭から最初の「%演算子」までの文字列から検索条件木を作成する。この部分の作成処理の手順は後述する図6で説明する。ステップ32では「%演算子」があるかを確認し、検索条件式の末尾に到達するまで以下の処理を繰り返す。ステップ33では、ステップ31と同様にして次の「%演算子」までの文字列から検索条件木を作成する。ステップ34では「%演算」ノードを作成し、既存の2つの検索条件木をこのノードの左右の部分木とする。
図6は「%演算子」を含まない検索条件式から検索条件木を作成する処理のフローチャートである。ステップ41では検索条件式の先頭から最初の「_演算子」までの文字列をタームとして、タームノードを作成する。ステップ42では「_演算子」があるかを確認し、検索条件式の末尾に到達するまで以下の処理を繰り返す。ステップ43では、ステップ41と同様にして次の「_演算子」までの文字列からタームノードを作成する。ステップ44では「_演算」ノードを作成し、既存の2つの検索条件木をこのノードの左右の部分木とする。
検索条件木探索プログラム22は検索条件木を探索し、木構造の下位層から上位層の順に各ノードに対応する中間結果を生成する。図7は検索条件木探索プログラムが検索条件木を探索して各ノードに対応する中間結果を生成する順序を示している。
初めに、木構造の末端になっているタームノードが処理の対象となり、タームノードが表しているタームの出現位置を検索して中間結果が作成される。ターム検索プログラム23はタームに含まれるn-gramの出現位置をn-gramインデクスから取り出し、n-gramの出現位置が連続しているものを探してタームの出現位置を求める。初めにターム「A」、次にターム「B」に対応する中間結果が作成される。(図7の(1)、(2))
検索条件木探索プログラム22は、演算子ノードの直下の層にある2つのノードに対応する中間結果が作成されたら、その2つの中間結果および当該演算子ノードを入力としてワイルドカード演算プログラム24を実行する。ワイルドカード演算プログラム24は入力の2つの中間結果に格納されている位置情報に対し、演算子ノードで指定されたワイルドカード演算を実行して当該演算子ノードに対応する中間結果を生成する。図7の(1)、(2)で生成した2つの中間結果P(A)およびP(B)から「A_B」に対応する中間結果P(A_B)を生成する。(図7の(3))
当該演算子ノードがさらに上位の演算子ノードの子になっている場合,同位のもう1つのノードの中間結果を生成後に上位の演算子ノードをワイルドカード演算プログラムで処理して中間結果を生成する。以下、これをルートノードに対応する中間結果を生成するまで繰り返す。
検索条件木探索プログラム22は、演算子ノードの直下の層にある2つのノードに対応する中間結果が作成されたら、その2つの中間結果および当該演算子ノードを入力としてワイルドカード演算プログラム24を実行する。ワイルドカード演算プログラム24は入力の2つの中間結果に格納されている位置情報に対し、演算子ノードで指定されたワイルドカード演算を実行して当該演算子ノードに対応する中間結果を生成する。図7の(1)、(2)で生成した2つの中間結果P(A)およびP(B)から「A_B」に対応する中間結果P(A_B)を生成する。(図7の(3))
当該演算子ノードがさらに上位の演算子ノードの子になっている場合,同位のもう1つのノードの中間結果を生成後に上位の演算子ノードをワイルドカード演算プログラムで処理して中間結果を生成する。以下、これをルートノードに対応する中間結果を生成するまで繰り返す。
図8はワイルドカード演算プログラムにおける「%演算」の処理手順を示す。ここで、例としてターム「X」および「Y」の中間結果P(X)およびP(Y)から、「X%Y」に一致する部分文字列、すなわち「XとYの間に任意の0文字以上の文字列を含む」部分文字列の出現位置を求める。テキストkにおける「X」の出現位置で終端位置が最も左である文字位置(7−7)に対し、「Y」の出現位置を順に調べていき、演算子ノード「%1」の条件を最初に満たすもの、すなわち開始位置が「X」の終端位置である7文字目よりも後ろのなっているもので最初のものを探す。文字位置(3−3)および(5−5)は条件を満たさず、文字位置(8−8)が条件を満たす最初の文字位置である。これによりテキストkにおいて7文字目から8文字目が検索条件式「X%Y」に一致する部分文字列で終端位置が最も左のものとなり、この文字位置(7−8)を「X%Y」を表す「%演算」の演算子ノードに対応する中間結果として出力する。
もし「X」の出現位置P(X)で最も左の出現位置(7−7)に対して、「Y」のすべての出現位置との距離を確認しても条件に一致する組合せが全く無かった場合,「X%Y」に一致する部分文字列は存在しないことがわかり、そこで処理を終了する。P(X)に含まれる他の文字位置についてP(Y)との距離の比較を行わなくてよい。
検索条件木のルートノードに対応する中間結果が作成されたら(図7の(11))、それが指定された検索条件式による検索の最終的な結果となる。この最終的な中間結果から文書番号を取り出すことで、検索条件式で指定された文字列を含むテキストの一覧を取得できる。
11…オンライン端末、12…外部記憶装置、13…n-gramインデクス登録プログラム、14…n-gramインデクス検索プログラム、15…テキストデータ、16…n-gramインデクス、21…検索条件式構文解析プログラム、22…検索条件木探索プログラム、 23…ターム検索プログラム、24…ワイルドカード演算プログラム、25…検索条件木、26…中間結果。
Claims (1)
- n-gramインデクスを使用して大規模テキストから、ワイルドカードを使用して検索条件式で指定した文字列を含むテキストを見つけ出すテキスト検索方法において、
前記n-gramインデクスを参照し、
検索条件式でワイルドカードによる「n文字に等しい任意の文字列」(以下、ワイルドカード文字「_」で表す)および「n文字以上の任意の文字列」(以下、ワイルドカード文字「%」で表す)という曖昧な指定を含む検索を実現するために、前記参照したn-gramインデクスに基づいて前記入力したテキストを複数箇所あるワイルドカードによる指定文字間距離の条件判定演算の順序として、ワイルドカード「%」による条件判定演算よりも先にワイルドカード「_」による条件判定演算を先に行うように変更することを特徴とするテキスト検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017779A JP2005215716A (ja) | 2004-01-27 | 2004-01-27 | テキスト検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004017779A JP2005215716A (ja) | 2004-01-27 | 2004-01-27 | テキスト検索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005215716A true JP2005215716A (ja) | 2005-08-11 |
Family
ID=34902468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004017779A Pending JP2005215716A (ja) | 2004-01-27 | 2004-01-27 | テキスト検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005215716A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009066501A1 (ja) * | 2007-11-19 | 2009-05-28 | Nippon Telegraph And Telephone Corporation | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
US7951279B2 (en) | 2005-09-05 | 2011-05-31 | Toppan Printing Co., Ltd. | Electrophoresis apparatus and device therefor |
KR101331946B1 (ko) | 2011-10-05 | 2013-11-21 | 주식회사 와이즈넛 | 와일드카드 매칭을 이용한 검색 방법 |
CN112395853A (zh) * | 2020-11-04 | 2021-02-23 | 苏宁云计算有限公司 | 文本内容检测方式确定方法、装置、设备和存储介质 |
-
2004
- 2004-01-27 JP JP2004017779A patent/JP2005215716A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7951279B2 (en) | 2005-09-05 | 2011-05-31 | Toppan Printing Co., Ltd. | Electrophoresis apparatus and device therefor |
WO2009066501A1 (ja) * | 2007-11-19 | 2009-05-28 | Nippon Telegraph And Telephone Corporation | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
JP5116775B2 (ja) * | 2007-11-19 | 2013-01-09 | 日本電信電話株式会社 | 情報検索方法及び装置及びプログラム及びコンピュータ読取可能な記録媒体 |
US8909654B2 (en) | 2007-11-19 | 2014-12-09 | Nippon Telegraph And Telephone Corporation | Information search method, apparatus, program and computer readable recording medium |
KR101331946B1 (ko) | 2011-10-05 | 2013-11-21 | 주식회사 와이즈넛 | 와일드카드 매칭을 이용한 검색 방법 |
CN112395853A (zh) * | 2020-11-04 | 2021-02-23 | 苏宁云计算有限公司 | 文本内容检测方式确定方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102431549B1 (ko) | 인과 관계 인식 장치 및 그것을 위한 컴퓨터 프로그램 | |
US6785677B1 (en) | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector | |
Akter et al. | An extractive text summarization technique for Bengali document (s) using K-means clustering algorithm | |
CN108763196A (zh) | 一种基于pmi的关键字提取方法 | |
US11113470B2 (en) | Preserving and processing ambiguity in natural language | |
JP5010885B2 (ja) | 文書検索装置、文書検索方法および文書検索プログラム | |
CN110362824B (zh) | 一种自动纠错的方法、装置、终端设备及存储介质 | |
CN111444330A (zh) | 提取短文本关键词的方法、装置、设备及存储介质 | |
JP2001043236A (ja) | 類似語抽出方法、文書検索方法及びこれらに用いる装置 | |
CN112000783B (zh) | 基于文本相似性分析的专利推荐方法、装置、设备及存储介质 | |
KR102468481B1 (ko) | 함의 페어 확장 장치, 그것을 위한 컴퓨터 프로그램, 및 질문 응답 시스템 | |
JP2011118689A (ja) | 検索方法及びシステム | |
CN107679035A (zh) | 一种信息意图检测方法、装置、设备和存储介质 | |
Arslan | DeASCIIfication approach to handle diacritics in Turkish information retrieval | |
CN117763077A (zh) | 数据查询方法及装置 | |
Kulkarni et al. | Knowledge discovery in text mining using association rule extraction | |
JP3784060B2 (ja) | データベース検索システム、その検索方法及びプログラム | |
JP5447368B2 (ja) | 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム | |
US9223833B2 (en) | Method for in-loop human validation of disambiguated features | |
JP5169456B2 (ja) | 文書検索システム、文書検索方法および文書検索プログラム | |
JP2005215716A (ja) | テキスト検索方法 | |
JP2004046438A (ja) | テキスト検索方法及び装置及びテキスト検索プログラム及びテキスト検索プログラムを格納した記憶媒体 | |
CN115244539A (zh) | 单词或词段词元化的推断方法 | |
Zheng et al. | An improved focused crawler based on text keyword extraction | |
JP4206266B2 (ja) | 全文検索装置、処理方法、処理プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060515 |