JP4682627B2 - 文書検索装置および方法 - Google Patents

文書検索装置および方法 Download PDF

Info

Publication number
JP4682627B2
JP4682627B2 JP2005019589A JP2005019589A JP4682627B2 JP 4682627 B2 JP4682627 B2 JP 4682627B2 JP 2005019589 A JP2005019589 A JP 2005019589A JP 2005019589 A JP2005019589 A JP 2005019589A JP 4682627 B2 JP4682627 B2 JP 4682627B2
Authority
JP
Japan
Prior art keywords
document
character string
search
pseudo
hiragana
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
JP2005019589A
Other languages
English (en)
Other versions
JP2006209399A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005019589A priority Critical patent/JP4682627B2/ja
Publication of JP2006209399A publication Critical patent/JP2006209399A/ja
Application granted granted Critical
Publication of JP4682627B2 publication Critical patent/JP4682627B2/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

この発明は、N−gram手法を用いた文書検索技術に関し、特に形態書解析手法の文書検索と組み合わせて最適なものである。
文書検索手法としては形態素解析手法やN−gram手法が知られている。形態素解析手法では、形態素解析により文書を形態素に分解してインデックスに登録する。形態素語のエントリごとに、当該形態素語を含む文書の識別子、または文書の識別子と当該形態素語の出現位置をインデックスに登録しておく。入力されたキーワードを元にインデックスを検索することにより当該キーワードを含む文書を高速に選択することができる。この形態素解析手法では、未知語などによる形態素区切りの誤判定によって、本来選択すべき文書を選べない場合があるという問題がある。
他方、N−gram手法では、文書中の各N−gramをインデックスに登録する。N−gramとは言語モデルでの表現で、文書中から隣接する2文字(bi−gram)や3文字(tri−gram)を機械的に切り出したもののことである。通常、文書中での出現位置と文書の識別子も合わせてインデックスに登録され、出現位置から隣接判定を行うことで、任意の長さの文字列検索が可能である。たとえばN=2のN−gramでは、「文字列の検索処理」という単語を2文字ごとに分解して、その出現位置を記憶しておく。この場合は、「(1)文字」、「(2)字列」、「(3)列の」、「(4)の検」、「(5)検索」、「(6)索処」、「(7)処理」、と分解して、インデックスに登録しておく(カッコ内の数字は出現位置)。ここで「検索」という単語を検索する場合は、インデックスから、「検索」というN−gramが含まれている文書を探せばよい。また「検索処理」ならば、「検索」と「処理」の両方が含まれている文書を探し、かつ「処理」の出現位置が「検索」の出現位置より2多いもの(この場合は、(5)と(7)で見つかる)を探せばよい。
しかしながら、N−gram手法を用いた検索では、単語の境界を無視し、単に文字列の一致で文書を検索するため、本来ヒットすべきでない文書を検索してしまい、本来の文書が、検索に適合しない文書に埋もれてしまう場合がある。また、出現位置などによりインデックスサイズが肥大化しやすい。
なお、この発明と関連する先行文献としては、つぎのようなものがある。
特許文献1は、形態素解析手法のインデックスを小さくするために形態素語集合としてもっともコンパクトなものとし(他の形態素語を含む形態素語(延長語)は辞書に含めない)、その上で、コンパクトな形態素語集合に含まれる形態素語をエントリとして当該形態素語を一部として含む形態素語を関連づける辞書(延長語辞書)を用い、入力キーワードがコンパクトな形態素語集合に含まれない場合には、キーワードの構成語と延長語辞書を用いて漏れのない検索が行なわれるようにし、さらに、検索態様を、コンパクトな形態素語集合のみに限定したり、延長語辞書を用いた漏れのない検索を行なったり、切換を行なえるようにしている。
特許文献2は、文字種に基づいて文字列の切り出しを行い、ひらがな、カタカナはそのまま特徴語とし、漢字についてはN−gramを抽出して特徴語とし、特徴語の頻度情報を元に類似文書検索を行なうことを開示している。
特許文献3は、形態素解析結果から得た単語先頭位置、単語末尾位置の情報をN−gramのインデックスに付加して、単語の境界を意図して前方一致、後方一致等の検索を行なえるようにすることを開示している。
特開平11−73429号公報 特開平11−143902号公報 特開2000−23156公報
この発明は、以上の事情を考慮してなされたものであり、インデックスサイズを抑制しつつN−gramの検索を簡易に行なえるようにすることを目的としている。また、具体的な側面では、形態素解析手法の検索と組み合わせて最適なN−gram手法による解析技術を提供することを目的としている。
この発明の具体的な構成例では、形態素解析方式のインデックスを検索の基本として用いながらも、典型的には、ひらがな、カタカナに限定してN−gram方式でインデックスを構築することによって、形態素解析手法の検索漏れという課題を補う。
また、異なり語(同一でない語)を空白文字で区切った擬似文書中の出現位置をビットベクター化することでインデックスサイズを縮小し、隣接計算を高速化する。
この構成例では、形態素解析手法を用いながらも、典型的には、ひらがな、カタカナに限定してN−gram方式で部分一致検索ができる。
また、異なり語のみからなる擬似文書を作成し、その文書中の出現位置をビットベクターで保持するのでN−gramのインデックスを小さくできる。
また、ビットベクターを固定長で折り返して当該固定長に縮退させることが可能である。
さらに、ビットベクターを複数のシーケンスに分けて出現位置を示すフラグビットが立っていないシーケンスを省略してビットベクターサイズを縮小できる。
さらにこの発明を説明する。なお、以下では、理解を容易にするために、実施例の各部の符号を付して説明することもあるが、これは、この発明を実施例に限定する意図ではない。
この発明の一側面によれば、上述の目的を達成するために、文書検索装置(100)に:検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結し、擬似文書を生成する擬似文書生成手段(11、12)と;上記検索対象の文書の各々に対して、N−gramの各エントリについて当該N−gramの上記擬似文書中における出現位置を表す出現位置情報を記憶する出現位置記憶手段(13、14、15)と;ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの上記予め選定された少なくとも1種類の文字列により構成される検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段(17)とを設けている。
この構成によれば、N−gramのインデックスを小さくして少ない計算機資源で高速に検索処理を行なえる。
この構成において、上記出現位置記憶手段は、上記N−gramの上記擬似文書中における出現位置を表す出現位置情報を、当該位置に対応するビット位置にフラグビットを立てるビットベクターで表すことが好ましい。
ビットベクターを用いることによりシフト演算およびAND演算により隣接関係の判別を簡易に行い、その結果、簡易に検索処理を行なえる。
また、上記擬似文書は、同一文書内の複数の同一の文字列についてはそのうち1つを残し、他を削除して生成されるようにすることが好ましい。このようにすれば一層インデックスサイズを小さくできる。もちろん、重複したものを残したままにしてもよい。
上記擬似文書において隣接する文字列の間の区切りを表すために空白文字を用いることができるが、これに限定されない。
また、上記予め選定された少なくとも1種類の文字列は、典型的には、ひらがな文字列およびカタカナ文字列である。
また、上記ビットベクターのビット長が所定長を超える場合には、上記ビットベクターを上記所定長位置で折り返して上記フラグビットのOR論理をとり、ビットベクターを所定長に縮退させるようにしても良い。
また、上記ビットベクターのビット長が所定長を超える場合には、上記ビットベクターを上記所定長のシーケンスに分割し、さらにフラグビットを含まないシーケンスは省略して登録し、検索時に補完するようにしてもよい。このようなフォーマットのビットベクターは例えばハードディスクに記憶し、必要となったときにN−gram単位で取りだして通常のフォーマットにメモリ上に展開するようにしても良い。
また、この発明の他の側面によれば、文書検索装置(100)に:上記検索対象の文書の各々に対して、N−gramの各エントリについて当該N−gramの出現位置を表す出現位置情報を、当該位置に対応するビット位置にフラグビットを立てるビットベクターとして記憶する出現位置記憶手段(15)と;検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段(17)とを設け;さらに、上記検索キーワードが2つ以上のN−gramから構成される場合に、当該N−gramの各々のビットベクターのフラグビット位置が対応する隣接関係にあることを判別して上記検索キーワードを含む文書を特定するようにしている。
この構成においては、N−gramの出現位置をビットベクターで表現しているのでN−gramの隣接関係をシフト演算およびAND演算で処理することができる。
また、この発明の他の側面によれば、文書検索装置(200)に:形態素解析結果から生成された検索辞書を用いて文書検索を行なう第1検索手段と;N−gram辞書を用いて文書検索を行なう第2検索手段とを設け;さらに上記第2検索手段に:検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結し、擬似文書を生成する擬似文書生成手段と;上記検索対象の文書の各々に対して、N−gramの各エントリについて当該N−gramの上記擬似文書中における出現位置を表す出現位置情報を記憶する出現位置記憶手段と;ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの上記予め選定された少なくとも1種類の文字列により構成される検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段とを設けるようにしている。
この構成によれば、形態素手法の検索とN−gram手法の検索とを複合的に利用することにより、N−gram手法の検索を、各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列に限定することができ、この結果、N−gramのインデックスを小さくすることができる。しかも、形態素語にない文字列の検索も確実に行なうことができる。
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
この発明によれば、インデックスサイズを抑制しつつN−gramの検索を簡易に行なえる。
以下、この発明の実施例について説明する。
まず、この発明の基本構成を実装した実施例1の文書検索装置100について説明する。この実施例は、ひらがな語およびカタカナ語をキーワードとして受け取りN−gramの手法で文書を検索するものである。文書検索装置100は計算機例えばパーソナルコンピュータ1000にソフトウェアを例えば記録媒体1001を用いてインストールすることにより実現される。パーソナルコンピュータ1000は周知のとおりCPU、主メモリ、外部メモリ、バス、種々のI/O装置を具備して構成され、パーソナルコンピュータ1000のハードウェア資源とソフトウェア資源とを協同させて文書検索装置100の各部すなわち各機能ブロックが構成される。
図1は、実施例1の文書検索装置100を示しており、この図において、文書検索装置100は、文書入力部10、文字列抽出部11、文字列連結部12、ビットベクター生成部13、インデックス登録部14、インデックス記憶部15、キーワード入力部16、検索部17、検索結果出力部18等を含んで構成される。文書入力部10は、検索対象の文書(電子データ)を入力するものである。文書の入力は種々の態様で行なうことができる。ファイル管理システム上の1つ、または1群の文書ファイルを指定して入力していも良いし、ファイル転送やメッセージ転送で入力しても良い。入力文書をその属性や単語ベクトル等により選択しても良い。文字列抽出部11は、文書中のひらがな文字列およびカタカナ文字列を抽出する。形態素情報を用いて漢字等とともに1の形態素語を構成するものは除くようにしても良い。この例では、ひらがな文字列およびカタカナ文字列のみを対象にするが、そのほかに、適宜に、ひらがな・カタカナ混合文字列、アルファベット文字列、ひらがな・アルファベット混合文字列、カタカナ・アルファベット混合文字列、ひらがな・カタカナ・アルファベット混合文字列を抽出するようにしても良い。文字列連結部12は、抽出した文字列をその区切りを判別可能に連結して擬似文書として構成するものである。抽出した文字列はその種類ごとに複数の擬似文書に分けて構成されるようにしても良い。元の文書に含まれていても、抽出対象でない語は擬似文書から省かれそのサイズをコンパクトにすることができる。ビットベクター生成部13は、ひらがな文字列(ひらがな語)およびカタカナ文字列(カタカナ語)を実現可能な各N−garmについて各擬似文書におけるその出現位置をフラグビットで示すビットベクターを生成するものである。ビットベクターについては後に例を挙げて説明する。インデックス登録部14は、ビットベクターを文書検索用のインデックスとしてインデックス記憶部15に登録する。キーワード入力部16は、ひらがな文字列またはカタカナ文字列からなるキーワードを入力するものである。このキーワードは検索ユーザが直接に入力するものでも良いし、ユーザが入力した検索条件を所定のフロントエンドで処理してひらがな語およびカタカナ語に該当する部分をキーワード入力部16から入力しても良い。検索部17は、入力されたキーワードをN−garamに分解して、当該N−garamの擬似文書中の位置情報から当該擬似文書中にキーワードが含まれるかどうかを判別する。この点についても後に例を挙げて説明する。検索結果出力部18は、擬似文書中に、すなわち入力文書中に、キーワードが含まれるかどうかを出力する。なお、該当文書のリストを出力するようにしても良い。
図2は、入力文書のインデックス登録処理のフローを示しており、図6は検索処理のフローを示している。
まず、入力文書のインデックス登録処理について図2を参照して説明する。ここでは、図3に示す文書を例に挙げて説明する。図3の文書は、文1〜文5により構成され、文1は「あいうえお」のひらがな文字列を有し、文2は「あいう」のひらがな文字列を有し、文3は「えおかきくけこ」のひらがな文字列を有し、文4は「あいう」の文字列を有し、文5は「えおかき」のひらがな文字列を有する。この例では、ひらがな文字列の例を示したが、カタカナ文字列を含む場合があることはもちろんである。
図2のインデックス登録処理の例は以下のとおりである。
[ステップS10]:検索対象の文書を文書入力部10により入力する。文書は図3に示すようなものとする。
[ステップS11]:文書からひらがな文字列およびカタカナ文字列を文字列抽出部11により抽出する。この文字列の抽出は文字種を用いて行なうことができる。
[ステップS12]:抽出した文字列を文字列連結部12により図4に示すように順次に連結して擬似文書を生成する。文字列の間に区切りコードを挿入する。この例では空白文字を用いた。さらに、同じ文字列が出現した場合(例えば、文2の「あいう」と文4の「あいう」)には、連結を省略する。同一の文字列については1つだけ登録しておけばその出現を検索可能であるからである。もちろん、擬似文書のサイズが大きくなるが、同一文字列を繰り返し登録するようにしても良い。逆に、ある文字列が他の文字列の部分文字列になる場合、連結を省略して擬似文書のサイズをさらに小さくしても良い。
[ステップS13]:擬似文書の各文字位置をビットで表し、各N−gramについてその先頭位置にフラグビット(例えば「1」)を立てる。ここでは、Nを3とした。図4の例では、「あいう」のN−gramは、第0ビット、第6ビットにあるので、第0ビット、第6ビットにフラグビット(黒で示す)を立てたビットベクターが生成される。同様に「いうえ」のN−gramについては第2ビットにフラグビットを立てたビットベクターが生成される。同様にして実現可能なN−gramについてビットベクターが生成される。
[ステップS14]:インデックス登録部14が入力文書のビットベクターをインデックスとしてインデックス記憶部15に登録する。このようにして、各N−gramのエントリに対して、それを含む文書IDおよびそのビットベクターが生成され、インデックスレコードとして登録される。
図6の検索処理の例は以下のとおりである。
[ステップS20]:キーワード入力部16によりひらがな文字列またはカタカナ文字列のキーワードを入力する。
[ステップS21]:検索部17により、入力キーワードの文字列をN−gramに分解する。この例ではNは3である。例えば、入力キーワードが「おかきくけこ」であれば、「おかき」と「くけこ」に分解する。
[ステップS22]:検索部17により、インデックス記憶部15からN−gramに対応する文書IDとビットベクターを取り出す。この例では図7で示すように「おかき」のビットベクターと「くけこ」のビットベクターが取り出される。
[ステップS23]:検索部17により、ビットベクターの隣接間隔を判別して該当する文字列「おかきくけこ」があるかどうかを判別する。この例では、図7に示すように、ビット位置の差は「3」であり、「おかきくけこ」が存在することが判別される。なお、この判別処理の詳細については後に詳述する。他方、「うえおかきく」をキーワードとして「うえお」のN−gramと「かきく」のN−gramを用いたときには、図8に示すように隣接関係がないことが判明し、該当するキーワードがないことがわかる。
この検索結果は検索結果出力部18により出力される。
ここで、ビットベクターを用いたN−gramの隣接関係判別処理の詳細な例について説明する。
図9は隣接関係判別処理(キーワード検索処理)の詳細な処理例のフローを示しており、その処理は以下のとおりである。
[ステップS30]:キーワードを構成するすべてのN−gram(検索語ともいう)についてインデックスを検索して同じ文書IDであれば、それぞれのビットベクターを取りだしてくる。ここでは、「おかきくけこさしす」のキーワードに対して「おかき」、「くけこ」、「さしす」のN−gramについてインデックスを検索して所定の文書IDについて図10に示すようなビットベクターが取り出された場合を例を挙げて説明する。
[ステップS31]:i番目のビットベクターを右に3ビットシフトし、i+1番目のビットベクターとのANDを取ってその結果をi+1番目のビットベクターとする。(iの初期値は0) さらにiに1足す。
[ステップS32]:つぎのビットベクターがあるかどうか判別する。あればステップS31に戻り処理を繰り返す。つぎのビットベクターがなければステップS33へ進む。
[ステップS33]:ビットベクター中に「1」が立ってるかかどうか判別する。「1」が立っていれば当該文書中のN−gramの間に対応する隣接関係があり、検索キーワードが存在すること(ヒット)を示し、なければ当該文書中のN−gramの間に対応する隣接関係がなく検索キーワードが存在しないことを示す。
この例をさらに図11に示す。この図から明らかなように、ビットベクターのシフト演算およびAND演算により簡易に処理することができる。
つぎに実施例1の変形例について説明する。
図12は、ビットベクターのサイズを抑制するものである。図12の例では、1000ビットごとに折り返して1000ビットを超えるビットベクターを1000ビットのビットベクターに縮退させるようにしている。重なるビットについてはOR演算しておく。この場合、OR演算することにより、本来、対応する隣接関係にないN−gramの間でも、誤って対応する隣接関係があると判別する場合もあるが、検索漏れは生じない。もちろん、ビットベクターを1000ビット長でなく任意のサイズに設定することが可能である。
図13は、ビットベクターを複数のシーケンスに分けて、フラグビットの内シーケンスについては省略するようにしたものである。図13の例では、ビットベクター(図13(A))を所定長例えば1バイトのシーケンスに分け(図13(B))、シーケンス番号を用いてシーケンス単位で管理できるようにし、シーケンス中にフラグビットがないときは当該シーケンス自体も省略する。すなわち、図13(C)に示すようにN−gramを示す識別子(KEY)のほかにシーケンス番号を用い、フラグビットを含まないシーケンスのシーケンス番号は省略するようにする。
実際には、図13(C)のフォーマットのインデックスデータは図14に示すように圧縮インデックス記憶部15b(例えばハードディスク)に記憶されており、キーワードを分解してN−gramを決定した段階で、該当するN−gramのインデックスデータ(図13(C)のフォーマット)を圧縮インデックス記憶部15bから取りだしてメインメモリ15aに展開して上述のシフト処理やAND演算を行い隣接関係を判別する。
つぎにこの発明を形態素解析手法のインデックスおよびN−gram手法のインデックスの双方を利用した文書検索装置に適用した実施例2について説明する。
図15は実施例2の文書検索装置200を示しており、この図において、文書検索装置200は、検索条件入力部20、検索フロントエンド21、N−gram文書検索部22、N−gramインデックス記憶部23、形態素語文書検索部24、形態素語インデックス記憶部25、検索結果合成部26、合成検索結果出力部27等を含んで構成されている。この例も実施例1と同様に計算機にソフトウェアをインストールして実現できる。
検索条件入力部20は、検索条件を入力するものである。検索条件は、自然文を入力するものでもよい。検索フロントエンド21は、検索条件に従ってN−gram文書検索部22にひらがな文字列のキーワードやカタカナ文字列のキーワードを出力し、形態素語文書検索部24に形態素語をキーワードとして出力する。N−gram文書検索部22およびN−gramインデックス記憶部23は、図1のN−gram文書検索装置100に対応するものである。N−gramインデックス記憶部23はインデックス記憶部15に対応する。形態素語文書検索部24は形態素語インデックス記憶部25に記憶された形態素語単位のインデックスを参照して文書検索を行なうものである。形態素単位のインデックスは形態素語をエントリとしてその形態素語が出現する文書のIDを含むインデックスレコードからなるものである。文書中の出現位置情報を保持していても良い。
検索結果合成部26はN−gram文書検索部22および形態素語文書検索部24の各検索結果を合成するものである。同一のキーワードをN−gram文書検索部22および形態素語文書検索部24に供給して検索結果のORをとって漏れのない検索を行なうようにしてもよいし、検索条件中の、形態素語に含まれないひらがな文字列や同様のカタカナ文字列のキーワードをN−gram文書検索部22に供給し、検索条件中の形態素語に対応するキーワードを形態素語文書検索部24に供給して、検索条件のANDまたはOR条件にしたがって対応する処理を検索結果合成部26で行なっても良い。合成検索結果出力部27は合成検索結果を例えば文書リストとして出力する。
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、上述の例ではスタンドアローンの装置として説明したが複数のコンピュータシステムを用いてこの発明の検索手法を実現しても良い。例えば文書検索サーバ装置と任意のクライアント装置(パーソナルコンピュータ、携帯情報端末等を含む)を用いて実現しても良い。
この発明の実施例1の文書検索装置の構成を説明するブロック図である。 上述実施例1のインデックス登録処理の例を説明するフローチャートである。 インデックス登録処理の動作を説明するためのものであり、文書例を説明する図である。 インデックス登録処理の動作を説明するためのものであり、擬似文書の例を説明する図である。 インデックス登録処理の動作を説明するためのものであり、ビットベクターの例を説明する図である。 上述実施例1の検索処理の例を説明するフローチャートである。 検索キーワードに対応するN−gramの近隣関係がある例を説明する図である。 検索キーワードに対応するN−gramの近隣関係がない例を説明する図である。 検索キーワードに対応するN−gramの近隣関係があるかどうかをビットベクターから判別する処理の例を説明するフローチャートである。 図9のフローチャートにおいてN−gramの例を説明する図である。 図9のフローチャートの動作例を説明する図である。 上述実施例の変形例を説明する図である。 上述実施例の他の変形例を説明する図である。 上述他の変形例を説明する図である。 この発明の実施例2の文書検索装置の構成を説明するブロック図である。
符号の説明
10 文書入力部
11 文字列抽出部
12 文字列連結部
13 ビットベクター生成部
14 インデックス登録部
15 インデックス記憶部
15 インデックス記憶部
15a メインメモリ
15b 圧縮インデックス記憶部
16 キーワード入力部
17 検索部
18 検索結果出力部
20 検索条件入力部
21 検索フロントエンド
22 N−gram文書検索部
23 N−gramインデックス記憶部
24 形態素語文書検索部
25 形態素語インデックス記憶部
26 検索結果合成部
27 合成検索結果出力部
100 文書検索装置
200 文書検索装置
1000 パーソナルコンピュータ
1001 記録媒体

Claims (9)

  1. 検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結し、擬似文書を生成する擬似文書生成手段と、
    上記検索対象の文書の各々に対して、当該検索対象の文書から上記疑似文書生成手段により生成した疑似文書から抽出したN−gramの当該擬似文書中における出現位置を表す出現位置情報を記憶する出現位置記憶手段と、
    ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの上記予め選定された少なくとも1種類の文字列により構成される検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段とを有することを特徴とする文書検索装置。
  2. 検索対象の文書の各々に対して、当該検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結して生成した擬似文書における、当該疑似文書から抽出したN−gramの出現位置を表す出現位置情報を、当該位置に対応するビット位置にフラグビットを立てるビットベクターとして記憶する出現位置記憶手段と、
    検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段とを有し、
    上記検索キーワードが2つ以上のN−gramから構成される場合に、当該N−gramの各々のビットベクターのフラグビット位置が対応する隣接関係にあることを判別して上記検索キーワードを含む文書を特定することを特徴とする文書検索装置。
  3. コンピュータを、
    検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結し、擬似文書を生成する擬似文書生成手段、
    上記検索対象の文書の各々に対して、当該検索対象の文書から上記疑似文書生成手段により生成した疑似文書から抽出したN−gramの当該擬似文書中における出現位置を表す出現位置情報を記憶する出現位置記憶手段、および、
    ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの上記予め選定された少なくとも1種類の文字列により構成される検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段
    として機能させるための文書検索用コンピュータプログラム。
  4. 上記出現位置記憶手段は、上記N−gramの上記擬似文書中における出現位置を表す出現位置情報を、当該位置に対応するビット位置にフラグビットを立てるビットベクターで表す請求項3記載の文書検索用コンピュータプログラム。
  5. 上記擬似文書は、同一文書内の複数の同一の文字列については1つに縮退して生成される請求項3または4記載の文書検索用コンピュータプログラム。
  6. 上記擬似文書において隣接する文字列の間の区切りを表すために空白文字を用いる請求項3、4または5記載の文書検索用コンピュータプログラム。
  7. 上記ビットベクターのビット長が所定長を超える場合には、上記ビットベクターを上記所定長位置で折り返して上記フラグビットのOR論理をとる請求項4記載の文書検索用コンピュータプログラム。
  8. 上記ビットベクターのビット長が所定長を超える場合には、上記ビットベクターを上記所定長のシーケンスに分割し、さらにフラグビットを含まないシーケンスは省略する請求項4記載の文書検索用コンピュータプログラム。
  9. コンピュータを、
    検索対象の文書の各々に対して、当該検索対象の文書の各々から、ひらがな文字列、カタカナ文字列、アルファベット文字列、ならびに、ひらがな、カタカナおよびアルファベットの混合文字列のうちの予め選定された少なくとも1種類の文字列を、抽出して連結して生成した擬似文書における、当該疑似文書から抽出したN−gramの出現位置を表す出現位置情報を、当該位置に対応するビット位置にフラグビットを立てるビットベクターとして記憶する出現位置記憶手段、および
    検索キーワードを上記出現位置情報に照合して上記検索キーワードを含む文書を特定する文書特定手段
    として機能させるための文書検索用コンピュータプログラムであって、
    さらに、
    上記検索キーワードが2つ以上のN−gramから構成される場合に、当該N−gramの各々のビットベクターのフラグビット位置が対応する隣接関係にあることを判別して上記検索キーワードを含む文書を特定することを特徴とする文書検索用コンピュータプログラム。
JP2005019589A 2005-01-27 2005-01-27 文書検索装置および方法 Expired - Fee Related JP4682627B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005019589A JP4682627B2 (ja) 2005-01-27 2005-01-27 文書検索装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005019589A JP4682627B2 (ja) 2005-01-27 2005-01-27 文書検索装置および方法

Publications (2)

Publication Number Publication Date
JP2006209399A JP2006209399A (ja) 2006-08-10
JP4682627B2 true JP4682627B2 (ja) 2011-05-11

Family

ID=36966200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005019589A Expired - Fee Related JP4682627B2 (ja) 2005-01-27 2005-01-27 文書検索装置および方法

Country Status (1)

Country Link
JP (1) JP4682627B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5083612B2 (ja) * 2007-12-27 2012-11-28 大日本印刷株式会社 検索装置
WO2014045318A1 (ja) * 2012-09-21 2014-03-27 富士通株式会社 圧縮プログラム、圧縮方法及び圧縮装置
JP6065914B2 (ja) * 2012-09-21 2017-01-25 富士通株式会社 制御プログラム、制御方法および制御装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916616A (ja) * 1995-06-30 1997-01-17 Toyo Joho Syst:Kk 索引データ生成検索装置
JPH11110402A (ja) * 1997-09-30 1999-04-23 Ricoh Co Ltd 文書検索装置
JPH11143902A (ja) * 1997-11-11 1999-05-28 Hitachi Ltd n−gramを用いた類似文書検索方法
JPH11191107A (ja) * 1997-12-25 1999-07-13 Canon Inc 文書処理方法とその装置
JP2000231563A (ja) * 1999-02-09 2000-08-22 Hitachi Ltd 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003058578A (ja) * 2001-08-10 2003-02-28 Ricoh Co Ltd 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体
JP2004178614A (ja) * 1994-06-02 2004-06-24 Ricoh Co Ltd 文書管理方法および文書管理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178614A (ja) * 1994-06-02 2004-06-24 Ricoh Co Ltd 文書管理方法および文書管理装置
JPH0916616A (ja) * 1995-06-30 1997-01-17 Toyo Joho Syst:Kk 索引データ生成検索装置
JPH11110402A (ja) * 1997-09-30 1999-04-23 Ricoh Co Ltd 文書検索装置
JPH11143902A (ja) * 1997-11-11 1999-05-28 Hitachi Ltd n−gramを用いた類似文書検索方法
JPH11191107A (ja) * 1997-12-25 1999-07-13 Canon Inc 文書処理方法とその装置
JP2000231563A (ja) * 1999-02-09 2000-08-22 Hitachi Ltd 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003058578A (ja) * 2001-08-10 2003-02-28 Ricoh Co Ltd 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体

Also Published As

Publication number Publication date
JP2006209399A (ja) 2006-08-10

Similar Documents

Publication Publication Date Title
KR100999488B1 (ko) 문서 표절 탐색 방법 및 장치
WO2005059771A1 (ja) 対訳判断装置、方法及びプログラム
JP2002312365A (ja) 文書画像検索装置
JP5141560B2 (ja) 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
JP5646792B2 (ja) 単語分割装置、単語分割方法、及び単語分割プログラム
JP2002517039A (ja) 中国語テキストにおける単語分割
JP3220865B2 (ja) フルテキストサーチ方法
JP4682627B2 (ja) 文書検索装置および方法
JP4065346B2 (ja) 単語間の共起性を用いたキーワードの拡張方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3303881B2 (ja) 文書検索方法および装置
CN106951513B (zh) 一种法律案件或法律法规关键字处理方法及关键字处理系统
JP6805720B2 (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP4102153B2 (ja) インターネットを利用した文字認識の後処理装置
JP2007025939A (ja) 多言語文書検索装置および多言語文書検索方法、並びに、多言語文書を検索するプログラム
JP5447368B2 (ja) 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
WO2018179729A1 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2004046438A (ja) テキスト検索方法及び装置及びテキスト検索プログラム及びテキスト検索プログラムを格納した記憶媒体
JP4734400B2 (ja) 文書検索装置およびプログラム
CN111931026A (zh) 一种基于词性扩展的搜索优化方法及系统
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP2002132789A (ja) 文書検索方法
JP5182960B2 (ja) 店舗名曖昧性解消装置、その方法、プログラム及び記録媒体
JP2006163830A (ja) 文字認識装置、文字認識方法、および文字認識プログラム
KR100283100B1 (ko) 대용량 말뭉치를 위한 통계학적 용례 추출 수단 및 그 방법
JPH09212523A (ja) 全文検索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110124

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

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees