JP2833580B2 - 全文インデックス作成装置および全文データベース検索装置 - Google Patents

全文インデックス作成装置および全文データベース検索装置

Info

Publication number
JP2833580B2
JP2833580B2 JP8098050A JP9805096A JP2833580B2 JP 2833580 B2 JP2833580 B2 JP 2833580B2 JP 8098050 A JP8098050 A JP 8098050A JP 9805096 A JP9805096 A JP 9805096A JP 2833580 B2 JP2833580 B2 JP 2833580B2
Authority
JP
Japan
Prior art keywords
character
full
text
context
search
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
JP8098050A
Other languages
English (en)
Other versions
JPH09288676A (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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8098050A priority Critical patent/JP2833580B2/ja
Priority to US08/845,038 priority patent/US5940836A/en
Publication of JPH09288676A publication Critical patent/JPH09288676A/ja
Application granted granted Critical
Publication of JP2833580B2 publication Critical patent/JP2833580B2/ja
Priority to US09/260,535 priority patent/US6189006B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数件の電子化テ
キスト(文字コード列)を全文データベースとして蓄積
しておき、そのなかからキーワードなどの検索条件に合
致するテキストのみを見つけ出す全文データベース検索
装置、および、その検索で用いる補助ファイル(全文イ
ンデックス)を作成する全文インデックス作成装置に関
する。
【0002】
【従来の技術】あるキーワードを含むテキストを見つけ
出す最も単純な方法は、蓄積された全テキストについ
て、テキストとキーワードを文字列照合するものであ
る。近年、電子化テキスト(文字コード列で表現され
る)は多量に流通・蓄積されており、検索の対象として
扱うべき全文データベースの規模は100MB(メガバ
イト、1MB=百万バイト)、さらにはGB(ギガバイ
ト、1GB=十億バイト)クラスになってきている。こ
のような大規模な全文データベースは、通常、磁気ディ
スク装置や光ディスク装置などに格納される。そのた
め、文字列照合方式では、全テキストを順次、ディスク
から読み出さねばならず、その読み出し速度×読み出し
量がボトルネックとなり、高速な検索速度は望めない。
【0003】そこで、高速なテキスト検索を実現するた
めに、従来、全文データベースに対して、事前に、検索
のための補助ファイル(全文インデックス)を作成して
おき、これを検索の際に参照する方法が採られている。
【0004】この全文インデックスのタイプは、二つの
観点から分類できる。どのような文字列をキーとするか
と、そのキーにどのような位置情報を対応付けるかとい
う二つの観点である。
【0005】まず、どのような文字列をキーとするかと
いう第一の観点からは、およそ次のような3種類に分類
できる。
【0006】(A)単語をキーとする。
【0007】(B)1文字、2文字組、3文字組など、
一定の長さの文字列をキーとする。
【0008】(C)同一字種文字列など、単語を近似し
た文字列をキーとする。
【0009】次に、そのキーにどのような位置情報を対
応付けるかという第二の観点からは、次の2種類に分類
できる。
【0010】(ア)テキストIDを対応付ける。
【0011】(イ)テキストIDに加えて、テキスト内
の位置(何文字目や何単語目など)も対応付ける。
【0012】以下では、このような観点から全文インデ
ックスのタイプを3×2=6通りに分類し、従来の全文
インデックス作成装置および全文データベース検索装置
を説明する。
【0013】まず、(A・ア)や(A・イ)のタイプの
全文インデックスは、英語テキストを対象としたテキス
ト検索において、よく用いられている。英語テキストは
単語単位に空白で区切られる(分かち書きされる)のに
対して、日本語テキストはそのような分かち書きの習慣
がない。そこで、日本語テキストを対象としたテキスト
検索において(A・ア)や(A・イ)のタイプの全文イ
ンデックスを作成するためには、単語辞書を参照しなが
ら、べた書きテキストを単語単位に分割する処理(形態
素解析)を実行することが不可欠になる。特開平3−2
29364号公報「フルテキスト検索装置」には、(A
・ア)タイプのインデックスファイルを用いる検索装置
が記載されている。
【0014】(A・ア)や(A・イ)のタイプの全文イ
ンデックスを用いた全文データベース検索装置では、検
索条件としてキーワードが与えられると、そのキーワー
ドと完全一致あるいは部分一致する単語を全文インデッ
クスのキー群から検索する。一致するキー(単語)が全
文インデックスに存在した場合は、そのキーに対応する
テキストIDあるいはテキスト内位置を読み出して、そ
れらを検索結果とする。
【0015】次に、(B・ア)タイプの全文インデック
スは、キーとする文字列の長さの違いに着目して整理す
ると、次のような従来例がある。特開昭62−2117
28号公報「日本語情報検索システム」では、キー文字
列長が1であり、各文字がどのテキストに出現したかと
いう文字成分表をインデックスファイルに用いている。
特開平6−68159号公報「検索装置」では、キー文
字列長を2としており、各2文字組がどのテキストに出
現したかをインデックスファイルに登録している。特開
平5−266080号公報「検索装置」では、キー文字
列長を2文字+数ビットとしている。特開平3−125
263号公報(特公平5−87865号公報)「情報検
索システムにおける連語索引を用いた検索法」、およ
び、特開平5−101102号公報「検索装置」では、
キー文字列長を一般的にNとしている。特開平7−10
5237号公報「索引作成方法およびその装置と文書検
索装置」では、1文字を粗く分類したキーによるインデ
ックスファイルと、2文字組を粗く分類したキーによる
インデックスファイルと、3文字組を粗く分類したキー
によるインデックスファイルを併用している。特開平5
−174067号公報「データベース検索システム」で
は、1文字をn通りに分類したものと、その1文字の以
降のN文字をm通りに分類したものとを組み合わせてキ
ーとし、それをテキストIDに対応付けている。特開平
6−251058号公報「文書検索装置」、および、特
開平6−251059号公報「文書検索装置」では、キ
ー文字列長が1のインデックスファイルに、2文字組の
文字コードの差分をキーとしたインデックスファイルを
組み合わせて用いている。
【0016】(B・ア)タイプの全文インデックスを用
いた全文データベース検索装置では、検索条件としてキ
ーワードが与えられると、全文インデックス作成時と同
様の方針で、キーワードの文字列を分割する。例えば、
キーワードが「東京都」であるとすると、全文インデッ
クスのキー文字列長を1とした検索装置ならば、「東」
「京」「都」という3つのキー文字に分割する。そし
て、各キーで全文インデックスを検索し、「東」の出現
するテキストの集合、「京」の出現するテキストの集
合、「都」の出現するテキストの集合の各々を求めて、
それらの集合の積集合(すなわち、「東」「京」「都」
の3文字ともが出現するテキストの集合)を求める。も
し全文インデックスのキー文字列長が2の検索装置なら
ば、キーワードである「東京都」を「東京」「京都」と
いう2文字組に分割し、同様に、「東京」の出現するテ
キストの集合と「京都」の出現するテキストの集合の積
集合を求めることになる。このようにして求めた積集合
は、ゴミを含む可能性がある。すなわち、「東京都」と
いうキーワードでの検索例であれば、「東」「京」
「都」の3文字が出現していても「東京都」のように3
文字が並んで存在している保証はないし、また、「東
京」「京都」という2文字組の両方が出現していても
「東京都」という並びで存在している保証はない。例え
ば、「東京都」という文字列は含まなくても「……東京
と京都は……」という文字列を含むようなテキストはゴ
ミとなる。したがって、このような(B・ア)タイプの
全文インデックスの検索結果からゴミを除去するために
は、通常、この検索結果のテキストに対して、テキスト
とキーワードの文字列照合をかけて、絞り込みを行なう
ことになる。
【0017】(B・イ)タイプには、次のような従来例
がある。特開昭64−8441号公報「文字列検索方
式」、および、特開平4−205560号公報「情報検
索処理方式および検索ファイル作成装置」では、キー文
字列長が1であり、各文字がどのテキストの何文字目に
出現したかをインデックスファイルに登録している。特
開平6−149882号公報「全文データベース検索装
置」では、キー文字列長を2としており、各2文字組が
どのテキストの何文字目に出現したかをインデックスフ
ァイルに登録している。特開平4−215181号公報
(特公平7−109603号公報)「情報検索処理方式
および検索ファイル作成装置」、特開平5−61910
号公報「全文インデックス検索方法」、特開平6−52
222号公報「情報検索処理装置」、特開平6−168
270号公報(特公平7−113926号公報)「イン
デックスを用いた文字列検索システム及びそのインデッ
クス作成装置」では、キー文字列長を一般的にNとして
いる。
【0018】(B・イ)タイプの全文インデックスを用
いた全文データベース検索装置では、検索条件としてキ
ーワードが与えられると、全文インデックス作成時と同
様の方針で、キーワードの文字列を分割する。例えば、
キーワードが「東京都」であるとすると、全文インデッ
クスのキー文字列長を1とした検索装置ならば、「東」
「京」「都」という3つのキー文字に分割する。そし
て、各キーで全文インデックスを検索し、「東」の出現
するテキストID・テキスト内位置の組の集合、「京」
の出現するテキストID・テキスト内位置の組の集合、
「都」の出現するテキストID・テキスト内位置の組の
集合の各々を求め、それらの集合の要素を組み合わせ
て、「東」「京」「都」の3文字が同一テキストで「東
京都」という連続する3文字として出現する箇所を求め
る。もし全文インデックスのキー文字列長が2の検索装
置ならば、キーワードである「東京都」を「東京」「京
都」という2文字組に分割し(「東京」「都*」と分割
する方法もある:*は任意の1文字)、同様に出現位置
の関係を判定する。なお、(B・イ)タイプの全文イン
デックスの検索では、(B・ア)タイプの全文インデッ
クスの検索の場合と異なり、ゴミは発生しない。
【0019】また、(C・ア)や(C・イ)タイプの全
文インデックスでは、テキストを漢字・片仮名・平仮名
などの同一字種の連続単位に分割したものをキー文字列
とする。例えば、「フルテキスト検索システムを開発し
た」というテキストであれば、「フルテキスト」「検
索」「システム」「を」「開発」「した」の各々をキー
文字列とする。検索条件のキーワードについても同様に
分割し、全文インデックスにおいて、それらを含むキー
文字列を検索する。例えば、「テキスト検索」というキ
ーワードであれば、「テキスト」と「検索」に分割し、
「テキスト」を包含する前述の「フルテキスト」の出現
するテキストや、「検索」の出現するテキストを全文イ
ンデックスから得る。
【0020】特開平3−174652号公報「階層プリ
サーチ式文書検索方法及び装置及びこの装置に用いられ
る磁気ディスク装置」、および、特開平4−27455
7号公報「フルテキストサーチ方法および装置」では、
(B・ア)タイプの1文字をキーとしてテキストIDを
対応付けたインデックスファイルである文字成分表と、
(C・ア)タイプのインデックスファイルである擬似本
文とを組み合わせて、テキスト検索に利用している。特
開平5−174064号公報「文書検索方法および装
置」では、(B・ア)タイプのN文字組をキーとしてテ
キストIDを対応付けたインデックスファイルである連
接文字成分表と、(C・ア)タイプのインデックスファ
イルである擬似本文とを組み合わせて、テキスト検索に
利用している。これらの例では、まず(B・ア)タイプ
の文字成分表または連接文字成分表を検索し、その検索
結果(前述のようにゴミを含む可能性あり)に対して、
さらに(C・ア)タイプの擬似本文を検索する。擬似本
文との照合でもゴミが発生し得るケースがあるので、そ
の場合は、最終的にテキスト本体と照合して確認するこ
とになる。
【0021】
【発明が解決しようとする課題】(A・ア)や(A・
イ)のタイプの全文インデックスを用いる全文データベ
ース検索装置では、日本語テキストを対象とした場合、
前述のように全文インデックスの作成に形態素解析を用
いなくてはならない。この形態素解析は、10万語ある
いは数10万語の規模の単語辞書を参照してテキストを
単語に分割する処理であるから、インデックスファイル
の作成に時間がかかるという問題がある。さらに、単語
辞書に含まれていない単語(未登録語)がテキストに出
現することは避けられず、精度100%の解析は不可能
に近い。したがって、解析誤りにより、インデックスフ
ァイルに正しく単語が登録されない現象が発生すること
になり、検索洩れが起きてしまうことも大きな問題であ
る。
【0022】(B・ア)や(C・ア)のタイプの全文イ
ンデックスを用いる全文データベース検索装置では、前
述のように検索結果にゴミが含まれる(検索条件のキー
ワードを含まないテキストも該当してしまう)。このゴ
ミを除去するためには、(B・ア)や(C・ア)のタイ
プの全文インデックスの検索結果に対して、さらに文字
列照合をかけるという多段階の検索処理を実行する必要
がある。この文字列照合処理は、前段階の(B・ア)や
(C・ア)タイプの全文インデックス検索での該当件数
が少なければ、その処理量は少なくて済むが、前段階で
の該当件数が多いと、かなり大きな処理負荷がかる。最
終的に文字列照合の結果としても多数件が該当するよう
なキーワード(多数のテキストに出現するキーワード)
であるならば、インデックスファイルに登録する文字列
の種類を工夫するなどしても(キー文字列の長さを長く
すればゴミの発生する可能性は減少する)、文字列照合
を多数件のテキストに対して実行することは避けられな
い。したがって、(B・ア)や(C・ア)のタイプの全
文インデックスを用いた全文データベース検索装置で
は、ゴミを除去するために文字列照合を組み合わせた多
段階の検索を行なうようにすると、その検索速度の高速
化には限界がある。
【0023】以上のような分析から、日本語テキストを
対象とした全文データベース検索装置には、(B・イ)
や(C・イ)のような文字列をキーとしてテキストID
・テキスト内位置の組を対応付けるタイプの全文インデ
ックスを用いるのが有効である。(A・ア)や(A・
イ)のタイプに比べて短時間でインデックスファイルの
作成が可能であり、(B・ア)や(C・ア)で発生する
ゴミの問題も起きない。
【0024】しかしながら、テキスト検索の様々な用途
・アプリケーションへの適用においては、インデックス
ファイルの容量と検索速度のトレードオフを考えねばな
らない。
【0025】図3(a)は、キー文字列長を1とした場
合の従来の(B・イ)タイプの全文インデックス50の
例である。図3(a)の全文インデックス50は、図2
(a)の全文データベース1から作成したものである。
図3(a)における位置情報502の領域は、n−mと
いう形式で、n番目のテキスト(テキストID:n)の
m文字目という意味を表わしている。すなわち、文字
「い」は、テキスト1の2文字目と5文字目、テキスト
2の2文字目に出現していることが表わされている。こ
こで、図3(a)の全文インデックス50を用いて、例
えば「あうい」というキーワードを検索するには次のよ
うにする。
【0026】まず、キーワード「あうい」を構成する各
文字に対して全文インデックス50を検索し、各文字が
出現した位置情報を読み出す。
【0027】 あ → 1−3、1−6、2−1、3−2、3−3、3−4 う → 1−1、1−4、2−3、3−1 い → 1−2、1−5、2−2 次に、これらの位置関係を調べ、「あうい」という文字
の並びが存在するかを判断する。この例では、「あ:1
−3」「い:1−4」「う:1−5」が、これを満た
す。したがって、テキスト1の3文字目から5文字目に
キーワード「あうい」が存在することがわかる。
【0028】この図3(a)のような全文インデックス
を用いた検索において、全文データベースの規模が大き
くなったときに検索速度のボトルネックとなるのは、位
置情報の読み出し量である。すなわち、図3(a)の例
でいえば、キー文字列500の領域から「あ」「う」
「い」という文字を検索するのに要する時間よりも、位
置情報502の領域から「あ」に対する「1−3、1−
6、2−1、3−2、3−3、3−4」、「う」に対す
る「1−1、1−4、2−3、3−1」、「い」に対す
る「1−2、1−5、2−2」を読み出すのに要する時
間の方がはるかに大きい。なぜならば、キー文字列50
0の部分は高々数千個分程度のサイズで足りる(1文字
の種類はすぐに飽和する)のに対して、位置情報502
の部分は、全文データベースの規模が大きくなるにつれ
て線形増加していくためである。位置情報500の総容
量はテキスト全件の総文字数Qに位置情報(n−m)1
件あたりのサイズPを乗じたものとなる。テキスト全件
で出現した文字の種類をC、キーワードの長さをL文字
とすると、検索の際に読み出す位置情報の量の平均はQ
×P×L/Cとなる。ここで、Q=1G(十億)文字、
P=4バイト、C=3000文字、L=3文字とする
と、Q×P×L/C=4M(4百万)バイトである。1
個のキーワードの検索において4Mバイトものデータを
読み出すならば、それだけで検索処理のレスポンスを大
幅に低下させることになる。
【0029】一方、図3(b)は、キー文字列長を2と
した場合の従来の(B・イ)タイプの全文インデックス
51の例である。図3(b)の全文インデックス51
は、図3(a)と同様に図2(a)の全文データベース
1から作成したものである。図3(b)では例えば、2
文字組「ああ」はテキスト3の2文字目と3文字目に出
現していることなどが表わされている。なお、図3
(b)の位置情報502の領域における「$」は、テキ
スト末尾のダミー記号を意味している。ここで、図3
(b)の全文インデックス51を用いて、例えば「あう
い」というキーワードを検索するには次のようにする。
【0030】まず、キーワード「あうい」を「あう」と
「うい」という2文字組に分割する(あるいは「あう」
と「い*」や、「*あ」と「うい」というような分割を
使う手もある:*は任意の1文字)。そして、これらの
2文字組に対して全文インデックス51を検索し、各2
文字組が出現した位置情報を読み出す。
【0031】 あう → 1−3 うい → 1−1、1−4 次に、これらの位置関係を調べ、「あうい」という文字
の並びが存在するかを判断する。この例では、「あう:
1−3」「うい:1−4」が、これを満たすので、テキ
スト1の3文字目から5文字目にキーワード「あうい」
が存在することがわかる。
【0032】この図3(b)の全文インデックス51と
前述の図3(a)の全文インデックス50とを比較する
と、位置情報502の領域のサイズは、各キー文字列に
対して可変長でもつとすれば、基本的に(a)(b)と
もにQ×Pで同一である。しかしながら、キー文字列5
00の種類は、(a)に比べて(b)の方がはるかに多
い。(a)のキー文字列(長さ:1)の種類が最大C通
りであるとすれば、(b)のキー文字列(長さ:2)の
種類は最大C×C通りになるためである。その結果、1
つのキー文字列に対して読み出さねばならないデータ量
が、(b)は(a)より大幅に少なくなる。その一方
で、キー文字列の種類が増えた分だけキー文字列500
の領域の検索に時間がかかることになるが、キー文字列
500の領域の検索時間は、キー文字列の種類に対して
logオーダーで増加するのに対して、位置情報502
の読み出し量はキー文字列の種類に対して線形に減少す
る(線形に高速化される)ので、(b)の方が(a)よ
り高速に検索できることになる。
【0033】ところが、(a)に比べて(b)の方が、
キー文字列500の領域の総容量は大幅に増える。した
がって、インデックスファイルの容量と検索速度との間
に極端ななトレードオフが生じている。この傾向は、図
3で説明したキー文字列長が1と2のときに限らず一般
なもので、キー文字列長Nの値を大きくすると検索速度
は高速になるが、Nの値を1つ増やすだけでインデック
スファイルの容量は急激に増大してしまう。
【0034】そこで、本発明の目的は、インデックスフ
ァイルの容量と検索速度を細かく段階的に調整可能な全
文インデックス作成装置+全文データベース検索装置を
提供することである。また、テキストにおける文字の出
現頻度の傾向に合わせて、インデックスファイルの容量
と検索速度がバランスよく調整された全文インデックス
作成装置+全文データベース検索装置も提供可能とす
る。
【0035】
【課題を解決するための手段】本発明の全文インデック
ス作成装置は、全文データベースからN文字組と該N文
字組の出現した文脈と該N文字組の出現した文字位置情
報とを取り出すN文字組抽出手段と、前記N文字組の出
現した文脈を分類する文脈分類手段と、前記N文字組の
出現した文字位置情報を前記N文字組の種類と前記文脈
の分類ごとに分けて格納するインデックス登録手段を備
える。
【0036】また、本発明の全文データベース検索装置
は、全文データベースに出現するN文字組の文字位置情
報を該N文字組の種類と該N文字組の文脈の分類ごとに
分けて格納した全文インデックスと、入力された検索条
件を記憶する検索条件メモリと、前記検索条件の文字列
をN文字組に分割するとともに該検索条件の文字列にお
ける各N文字組の文脈を取り出す検索条件解析手段と、
前記検索条件の文字列における各N文字組の文脈を分類
する文脈分類手段と、前記検索条件解析手段の抽出した
N文字組の種類と前記文脈分類手段の結果とによって前
記全文インデックスを検索して該当するN文字組の文字
位置情報を読み出すインデックス検索手段と、前記イン
デックス検索手段の結果から前記検索条件文字列の前記
全文データベースにおける出現位置を判定する位置判定
手段を備える。
【0037】従来の(B・イ)タイプの全文インデック
スでは、N文字組の種類に対応させて文字位置情報を格
納している。それに対して、本発明による全文インデッ
クスでは、N文字組の種類をさらにN文字組が出現した
文脈の分類によって分けて、それに文字位置情報を対応
させるようにした。文字位置情報を細かく分けてインデ
ックスに格納することになるので、検索の際に読み出す
データ量が少なく抑えられ、検索速度が向上する。
【0038】従来の(B・イ)タイプの全文インデック
スでは、N文字組のNの値を変えると、インデックス容
量と検索速度の間に極端なトレードオフが生じていた。
しかし、本発明による全文インデックスでは、Nの値を
変える以外に、N文字組の文脈の分類の粗さ/細かさを
変化させることが可能で、それによってインデックス容
量と検索速度との間のバランスを細かく段階的に調整で
きるようになっている。
【0039】さらに、全文データベースにおいて出現頻
度の高いN文字組については文脈を細かく分類し、逆に
出現頻度の低いN文字組については文脈を粗く分類する
ような調整が可能で、これによれば、インデックス容量
を必要以上に増大させることなく検索速度を高めること
が可能になる。
【0040】
【発明の実施の形態】本発明の実施の形態を、図面を参
照して詳細に説明する。
【0041】図1に示す実施の形態においては、全文イ
ンデックス作成装置20は、N文字組抽出手段2、文脈
分類手段3、インデックス登録手段4を含む。
【0042】以下では、これらの各構成要素について説
明するが、その前に、全文インデックス作成装置20が
処理の入力とする全文データベース1について説明して
おく。全文データベースは、電子化テキスト(文字コー
ド列)の集合である。図2(a)が全文データベース1
の一例である。テキスト本体101は複数のテキストの
集合であり、各テキストに対してはテキストを一意に指
し示すテキストID100が付与されている。図2
(a)では、テキストIDとして通番を与えているが、
必ずしも番号ではなく、例えばテキストファイル名など
の文字列で識別してもかまわない。この全文データベー
スは通常、磁気ディスク装置、光ディスク装置などの記
憶装置類に格納されている(全文データベースの規模が
小さいか、または高価な装置価格が許される場合には半
導体メモリに格納されることもある)。
【0043】N文字組抽出手段2は、全文データベース
1から、N文字組と、このN文字組の出現した文脈と、
このN文字組の出現した文字位置情報とを取り出す。図
4は、このN文字組抽出手段2を実現するフローチャー
トの例である。図4のフローチャートでは、先頭のテキ
ストの先頭文字から順に1文字ずつ文字位置をずらしな
がら、各文字位置からN文字組、その文脈、文字位置情
報の3つを取り出して出力している。文字位置情報は、
テキストIDとテキスト内位置の組で表わすことが可能
であり、例えば、i番目のテキストのj文字目であれば
i−j(iマイナスjではなくiとjの組を意味する)
で表わせる。N文字組の出現した文脈には、例えば、そ
のN文字組の直前のS文字と直後のT文字を用いること
ができる。
【0044】文脈分類手段3は、N文字組の出現した文
脈を分類する。例えば、N文字組の直前のS文字を前文
脈、直後のT文字を後文脈とするならば、前文脈のS文
字分の文字コードと後文脈のT文字分の文字コードの各
々から、予め定めた上限値R以内の分類番号に対応付け
ることで分類することができる。文字コードから上限値
R以内の分類番号に対応付ける方法の1つは、S文字分
あるいはT文字分の文字コードを加算し、それをRで割
った余りを分類番号とする方法である。別な対応付け方
法として、S文字分あるいはT文字分の文字コードから
部分的にビット列を取り出し、合わせてlogRビット
の数値としたものを分類番号とする方法なども考えられ
る。また、この上限値Rは、すべてのN文字組に共通の
定数とするのが最も単純であるが、N文字組の種類など
に応じて個別に定めるようにすると、インデックスファ
イル容量や検索速度に関するきめ細かな調整が可能にな
る。例えば、N文字組の字種(漢字・平仮名・片仮名な
ど)ごとに上限値Rを定めるようにしてもよい。あるい
は、全文データベース1における各N文字組の出現頻度
を求めておき、その出現頻度に応じて各N文字組に個別
に上限値Rを定めるようにしてもよい。さらに、前文脈
の場合と後文脈の場合とで異なる上限値Rを定める方法
も考えられる。
【0045】インデックス登録手段4は、各N文字組の
出現した文字位置情報を、N文字組の種類とその文脈の
分類ごとに分け、全文インデックス5に格納する。図2
(b)は、インデックス登録手段5が出力する全文イン
デックス5の一例である。全文インデックスの検索キー
は、まずキー文字列(N文字組)500で分けられ、そ
れがさらに文脈分類501で分けられている。それをた
どった結果として、位置情報502に文字位置情報の並
びが格納されている。このようなインデックスファイル
への登録・検索アルゴリズムには、よく知られたB−t
reeアルゴリズムやバイナリツリーアルゴリズムなど
を用いればよい。
【0046】さらに、このインデックス登録手段4で
は、文字位置情報の並びについて、次のような容量圧縮
をかけてもよい。すなわち、まず、文字位置情報の並び
について、各々の直前の文字位置情報との差分を求め、
それを下位からeビットずつに分割する。eビットずつ
に分割したもののうち上位側から全eビットが0になっ
ている範囲は切り捨てる。そして、有効な値の入った下
位側のeビット列について、文字位置情報の区切りフラ
グ1ビットを加えた(e+1)ビット単位で表現して格
納する。
【0047】次に、全文インデックス作成装置の動作
を、実施例を用いて説明する。
【0048】N文字組抽出手段2について、図2(a)
の全文データベース1を対象に、N=1、S=1、T=
1で動作させると、次のような結果が得られる。
【0049】[N文字組、前文脈、後文脈、文字位置情
報]=[う、$、い、1−1]、[い、う、あ、1−
2]、[あ、い、う、1−3]、[う、あ、い、1−
4]、[い、う、あ、1−5]、[あ、い、$、1−
6]、[あ、$、い、2−1]、・・・・・・・・・・
・・ なお、この例において「$」はテキストの先頭または末
尾のダミー記号である。
【0050】また、N=2、S=1、T=2で動作させ
た場合は、次のようになる。
【0051】[N文字組、前文脈、後文脈、文字位置情
報]=[うい、$、あう、1−1]、[いあ、う、う
い、1−2]、[あう、い、いあ、1−3]、[うい、
あ、あ$、1−4]、[いあ、う、$$、1−5]、
[あ$、い、$$、1−6]、[あい、$、う$、2−
1]、・・・・・・・・・・・・ 文脈分類手段3では、文字コード(複数文字の場合は文
字コードの和)を分類数上限値Rで割った余りによって
文脈を分類するものとする。文脈の文字列長(SやT)
が1で、R=5だとすると、次のような分類ができる。
【0052】 「あ」(JISコードは16進で2422)→分類番号:0 「い」(JISコードは16進で2424)→分類番号:2 「う」(JISコードは16進で2426)→分類番号:4 なお、文脈が「$」(すなわち、テキストの先頭または
末尾で文脈がない)の場合には、任意の文脈が許される
ものと考え、どの分類番号を対応付けてもよい。例え
ば、常に分類番号:0を割り当てるのが1つの方法であ
る(以下の実施例の説明ではこれを用いる)。あるい
は、他の文脈の分類番号と重ならないような独自の分類
番号(例えば−1など)を割り当ててもよい。あるい
は、その都度、ランダムまたは規則的に分類番号を割り
当てる方法も考えられる。規則的に割り当てる方法とは
具体的には、その都度、分類番号を1からRまで順番に
回していく方法や、その時点での分類件数が最小の分類
番号を割り当てる方法などが考えられる。
【0053】したがって、上述のN=1、S=1、T=
1でN文字組抽出手段2を動作させた結果に対して、文
脈分類手段3を上記の条件(S=1、T=1、R=5)
で動作させると、インデックス登録手段4へ渡されるデ
ータ内容は次のようなものなる。
【0054】[N文字組、(前文脈の分類番号、後文脈
の分類番号)、文字位置情報]=[う、(0、2)、1
−1]、[い、(4、0)、1−2]、[あ、(2、
4)、1−3]、[う、(0、2)、1−4]、[い、
(4、0)、1−5]、[あ、(2、0)、1−6]、
[あ、(0、2)、2−1]、・・・・・・・・・・・
・ これらをインデックス登録手段4によって登録した結果
が、図2(b)の全文インデックス5となる。
【0055】なお、以上の実施例では、分類数上限値R
を、前文脈・後文脈ともに同一で、かつ、全N文字組に
共通にR=5と定めたが、発明の実施の形態のところで
説明したように、N文字組の種類などに応じて個別に定
めてもよい。例えば、上記のN=1の場合について、N
文字組が漢字ならばR=2、平仮名ならばR=5、片仮
名ならばR=4というように字種で分けるのが一例であ
る。一般に、各字種に属する文字の出現頻度は平仮名が
最も多く、片仮名・漢字の順になる。したがって、頻度
の多い字種はRの値を大きくすることで、検索の際に読
み出す位置情報のデータ量が細かく分割・制限でき、効
率よく検索速度を向上させることができる。よりきめ細
かに指定するには、各N文字組の全文データベースにお
ける出現頻度を求めて、その出現頻度に応じて各N文字
組のR値を定めるとよい。位置情報のデータ量は前文脈
のR値と後文脈のR値とを掛け合わせた数だけに場合分
けされることになるので、各N文字組に対する位置情報
のデータ量をほぼ均等に分割するように場合分けするに
は、各N文字組の出現頻度の平方根に比例するようにR
の値を定めるとよい。
【0056】また、インデックス登録手段4が全文イン
デックス5に位置情報502を格納する際に、容量圧縮
をかける場合の実施例についても説明する。図7が、位
置情報の並びを圧縮する過程の例である。図7におい
て、圧縮前の位置情報502は、キー文字列500と文
脈分類501とで分けられたもので、そのなかは位置情
報の昇順にソートされているものとする。なお、図7で
は16進値で数値を表現しており、図7(a)は4バイ
ト/件で7件の位置情報が並んだものである(1行が1
件)。次に、図7(b)では、直前の位置情報との差分
503を求める。次に、図7(c)では、その差分50
3を下位からeビット単位に分割する(ここではe=7
とした)。この差分503について、上位側からeビッ
トともNULLのものが連続していれば、それらを取り
除いて、図7(d)とする。その結果として残ったeビ
ット列を順番に並べ(1つの位置情報に対するeビット
列は下位のものから並べる)、位置情報の区切りフラグ
を(e+1)ビット目として付与したものが、図7
(e)の圧縮された位置情報506である。区切りフラ
グは、位置情報の区切りのeビット単位に対して1をセ
ットしている。このような手順によって、図7(a)で
は4×7=28バイトの容量が、図7(e)では10バ
イトに圧縮されている。
【0057】次に、全文データベース検索装置の実施の
形態を説明する。図1に示すように、全文データベース
検索装置21は、全文インデックス5、検索条件メモリ
6、検索条件解析手段7、文脈分類手段3、インデック
ス検索手段8、位置判定手段9を含む。
【0058】全文インデックス5は、全文データベース
1に出現するN文字組の文字位置情報を、そのN文字組
の種類とそのN文字組の文脈の分類ごとに分けて格納し
たものである。すなわち、前述の全文インデックス作成
装置20によって作成された全文インデックスである。
この全文インデックス5は通常、全文データベース1と
同様に、磁気ディスク装置、光ディスク装置などの記憶
装置類に格納されている(全文インデックスの規模が小
さいか、または高価な装置価格が許される場合は半導体
メモリに格納されることもある)。
【0059】検索条件メモリ6は、検索条件入力手段1
0から入力された検索条件を記憶する。通常、半導体メ
モリや磁気ディスク装置などが用いられる。検索条件と
してよく用いられるのはキーワードである。全文データ
ベース検索装置21の利用者は、キーボードなどの検索
条件入力手段10からキーワードを入力することで、そ
のキーワードの文字列が出現するテキストを見つけ出せ
という指示を、全文データベース検索装置21に与えた
ことになる。検索条件は、単一のキーワードで指定され
る以外にも、複数のキーワードをANDやORの論理式
として組み合わせて指定されることもある。検索条件メ
モリ6は、そのようなキーワードおよび論理式を記憶す
る。図5は検索条件メモリ6に格納する検索条件の表現
形式の例である。図5(a)は、利用者が入力した検索
条件の文字列表現をそのまま用いたものであり、「*」
はAND演算、「+」はOR演算、括弧でくくられた範
囲は優先して演算することを意味している。図5(b)
は、計算機で処理しやすいように木構造表現に変換した
ものである。
【0060】検索条件解析手段7は、検索条件メモリ6
に記憶された検索条件のキーワード文字列をN文字組に
分割するとともに、そのキーワード文字列における各N
文字組の文脈を取り出す。ここで行なうN文字組の解析
処理は、検索条件が単一キーワードではなく複数キーワ
ードの論理式である場合には、各キーワードに対して実
行する。すなわち、検索条件メモリ6において図5
(b)のような木構造表現がとられていれば、木構造の
各リーフ60のキーワードの各々に対して、そのキーワ
ードの文字列をN文字組に分割するとともに、各N文字
組の文脈を取り出す。その結果のデータ構造は、例え
ば、図5(b)の各リーフ60の各々にN文字組への分
割結果と文脈情報とを対応付けたようなものになる。キ
ーワード文字列をN文字組へ分割する方法は、少なくと
も2通りの方法があり得る。第一の方法は、前述のN文
字組抽出手段2と同様の処理を実行するもので、キーワ
ード文字列の先頭から1文字ずつずらしながらN文字組
を取り出す方法である。第二の方法は、N文字組がオー
バラップしないようにN文字ずつずらして取り出す方法
である。いずれの方法でも、N文字組の文脈の取り出し
方は、N文字組抽出手段2と同様である。ここで注意す
ることは、検索条件解析手段7において、キー文字列の
長さN、前文脈の長さS、後文脈の長さTは、全文イン
デックス5を作成する際に用いた値と同一でなくてはな
らない。検索条件解析手段7は、検索条件の各キーワー
ドに対してN文字組、N文字組の文脈(前文脈、後文
脈)、先頭のN文字組からのずらし量を出力する。
【0061】文脈分類手段3は、全文インデックス作成
装置20における文脈分類手段3と同一である。検索条
件解析手段7の出力したN文字組の文脈に対して、予め
定めた上限値以内の分類番号を割り当てる。ただし、全
文インデックス作成装置の場合は、テキストの先頭や末
尾のダミー記号「$」(文脈なし)に対しても何らかの
分類番号を割り当てたが、全文データベース検索装置の
場合は、キーワードの先頭や末尾のダミー記号には文脈
分類手段3を適用しないでおく。
【0062】インデックス検索手段8は、検索条件解析
手段7の抽出したN文字組の種類と文脈分類手段3の分
類結果(分類番号)とによって、全文インデックス5を
検索する。そして、N文字組の種類と文脈分類に該当す
る文字位置情報を読み出す。その際、N文字組の文脈と
してキーワードの先頭や末尾のダミー記号が該当してい
る場合には、そのダミー記号は任意の文脈番号と一致す
るワイルドカードとみなして検索する。なお、全文イン
デックス5の作成の際に、前述したような位置情報の圧
縮格納がされている場合は、このインデックス検索手段
8において、圧縮された位置情報の復元を行なう。この
復元手順は、圧縮手順を逆順に適用すればよい。
【0063】位置判定手段9は、インデックス検索手段
8の結果から、検索条件文字列の全文データベース5に
おける出現位置を判定する。この位置判定手段9が実行
される段階では、検索条件のキーワードを分割した各N
文字組に対して、全文インデックス5からインデックス
検索手段8によって読み出された文字位置情報の集合
と、各N文字組のキーワード先頭からのずらし量が得ら
れている。これをもとに、位置判定手段9は、各キーワ
ードに対して、例えば図6のフローチャートのような判
定処理を行なう。すなわち、まず、キーワードを分割し
たN文字組の1つを選択する(ステップ600)。この
選択は、キーワードの先頭側のN文字組から順番に選択
する方法や、対応する文字位置情報の数が少ないN文字
組から順番に選択する方法などが考えられる。次に、そ
のN文字組がキーワードの先頭からZ文字分だけずらし
たものであったならば、そのN文字組に対する文字位置
情報の集合の各要素からZ文字分だけ差し引き、それを
ヒット位置の集合Hとする(ステップ601)。未処理
のN文字組がまだあるかを判断し(ステップ602)、
まだ残っているならば1つ選択し(ステップ603)、
その選択したN文字組に対する文字位置情報の集合の各
要素から同様に、そのN文字組のずらし量分だけを差し
引いた位置の集合を求め、集合Hと積をとった結果を新
たな集合Hとして繰り返す(ステップ604)。すべて
のN文字組を処理し終わったところで、集合Hの要素が
キーワードの出現位置の集合になる(ステップ60
5)。
【0064】このようにして、各キーワードの出現位置
の集合は求めることができるが、検索条件が単一キーワ
ードではなく論理式で与えられているときは、各キーワ
ードの出現テキスト集合について論理式に合わせた集合
演算を行なうことになる。その手順は、従来の全文デー
タベース検索装置でもやられていることであるが、例え
ば、次のように行なえばよい。この論理演算は、テキス
トIDの集合について行なえばよいので、テキスト内位
置の情報は切り捨ててよい。そこで、図5(b)のよう
な木構造表現と対応付ければ、各キーワード60に対し
て、そのキーワードが出現したテキストID集合が求め
られたところから考える。すると、論理式を満たすテキ
ストID集合を求める手順は、図5(b)のリーフ60
から始めて、各ノードに対応するテキストIDの集合を
順に求めて、最終的にルートに対応するテキストID集
合を求めればよいことになる。したがって、「+」のノ
ードについては、その下位の2つのノードまたはリーフ
に対応するテキストID集合の和集合を求め、「*」の
ノードについては、その下位の2つのノードまたはリー
フに対応するテキストID集合の積集合を求めていけば
よい。
【0065】次に、全文データベース検索装置の動作
を、実施例を用いて説明する。
【0066】全文インデックス5には、図2(b)の例
を用いる。すなわち、キー文字列の長さN=1、前文脈
の長さS=1、後文脈の長さT=1、分類数上限値R=
5(前文脈・後文脈とも同じで全N文字組で共通)であ
る。
【0067】検索条件としては、単一のキーワード「あ
うい」が入力されたものとする。このとき、検索条件解
析手段7の処理結果は次のようになる。
【0068】 [N文字組、前文脈、後文脈、ずらし量]=[あ、$、
う、0]、[う、あ、い、1]、 [い、う、$、2] これに対して、全文インデックス作成装置の実施例と同
様の文脈分類手段3を適用すると、結果は次のようにな
る。キーワードの先頭や末尾のダミー記号は、文脈分類
においてワイルドカードとみなすので、下記では「*」
に置き換えた。
【0069】[N文字組、(前文脈の分類番号、後文脈
の分類番号)、ずらし量]=[あ、(*、4)、0]、
[う、(0、2)、1]、 [い、(4、*)、2] インデックス検索手段8は、上記のN文字組と(前、
後)文脈の分類番号をキーとして、全文インデックス5
を検索する。その結果、次のような位置情報が読み出さ
れる。
【0070】 あ:(*、4) → あ:(2、4) → 1−3 う:(0、2) → 1−1、1−4 い:(4、*) → い:(4、0) → 1−2、1−5 位置判定手段9では、まず各位置情報からずらし量分を
差し引く。その結果は、次のようになる。
【0071】 あ(ずらし量:0) → 1−3 う(ずらし量:1) → 1−0、1−3 い(ずらし量:2) → 1−0、1−3 次に、位置判定手段9では、これらの位置情報の集合の
積を求める。その結果、1−3が残り、キーワード「あ
うい」はテキスト1の3文字目に出現してことがわか
る。
【0072】
【発明の効果】本発明の第一の効果は、従来技術におい
てはインデックスファイルの容量と検索速度とが極端な
トレードオフを生じていたが、細かく段階的に調整する
ことが可能になる。その結果、様々な用途・アプリケー
ションに対して、全文インデックス装置・全文データベ
ース検索装置を最適な構成で実現することが可能とな
る。
【0073】その理由は、位置情報をキー文字列の長さ
Nで分けて格納・検索するだけでなく、それらが出現し
た文脈の分類でも分けて格納・検索するようにしている
ためである。文脈の分類の粗さ/細かさが段階的に調整
可能である。
【0074】第二の効果は、インデックスファイルの容
量を必要以上に大きくすることなく、検索速度を高める
ことが可能になることである。
【0075】その理由の1つは、全文データベースにお
けるN文字組の出現頻度に応じて文脈の分類の粗さ/細
かさを個別に定めることで、検索速度とインデックスフ
ァイル容量とのバランスを適切に設定できるためであ
る。また、もう1つの理由は、位置情報の格納の際に、
隣接する位置情報の間で差分をとり、一定のビットサイ
ズで分割し、NULL範囲を削除する圧縮方式を組み合
わせたためである。
【図面の簡単な説明】
【図1】全文インデックス作成装置20と全文データベ
ース検索装置21の構成を示すブロック図である。
【図2】全文データベース1と本発明による全文インデ
ックス5の例を示す図である。
【図3】従来の全文インデックス50・51の例を示す
図である。
【図4】N文字組抽出手段2のフローチャートである。
【図5】検索条件の表現形式の例を示す図である。
【図6】位置判定手段9におけるキーワードの位置判定
手順を示すフローチャートである。
【図7】位置情報の並びを圧縮する手順の例を示す図で
ある。
【符号の説明】
1 全文データベース 2 N文字組抽出手段 3 文脈分類手段 4 インデックス登録手段 5 全文インデックス 6 検索条件メモリ 7 検索条件解析手段 8 インデックス検索手段 9 位置判定手段 10 検索条件入力手段 11 検索結果メモり 12 検索結果出力手段 20 全文インデックス作成装置 21 全文データベース検索手段 50・51 従来の全文インデックス 100 テキストID 101 テキスト本体 500 キー文字列 501 文脈分類 502 位置情報
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−168270(JP,A) 特開 平8−314964(JP,A) 特開 平8−190571(JP,A) 特開 平8−101848(JP,A) 特開 平7−319920(JP,A) 特開 平5−61910(JP,A) 特開 平7−85065(JP,A) 特開 平7−56943(JP,A) 特開 平4−205560(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/30

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】全文データベースからN文字組と該N文字
    組の出現した文脈と該N文字組の出現した文字位置情報
    とを取り出すN文字組抽出手段と、前記N文字組の出現
    した文脈を分類する文脈分類手段と、前記N文字組の出
    現した文字位置情報を前記N文字組の種類と前記文脈の
    分類ごとに分けて格納するインデックス登録手段を備え
    たことを特徴とする全文インデックス作成装置。
  2. 【請求項2】全文データベースに出現するN文字組の文
    字位置情報を該N文字組の種類と該N文字組の文脈の分
    類ごとに分けて格納した全文インデックスと、入力され
    た検索条件を記憶する検索条件メモリと、前記検索条件
    の文字列をN文字組に分割するとともに該検索条件の文
    字列における各N文字組の文脈を取り出す検索条件解析
    手段と、前記検索条件の文字列における各N文字組の文
    脈を分類する文脈分類手段と、前記検索条件解析手段の
    抽出したN文字組の種類と前記文脈分類手段の結果とに
    よって前記全文インデックスを検索して該当するN文字
    組の文字位置情報を読み出すインデックス検索手段と、
    前記インデックス検索手段の結果から前記検索条件文字
    列の前記全文データベースにおける出現位置を判定する
    位置判定手段を備えたことを特徴とする全文データベー
    ス検索装置。
  3. 【請求項3】前記N文字組の出現した文脈として該N文
    字組の直前のS文字と直後のT文字を用い、前記文脈分
    類手段は前記S文字分の文字コードと前記T文字分の文
    字コードとから予め定めた上限値以内の分類番号に対応
    付けるようにした請求項1記載の全文インデックス作成
    装置。
  4. 【請求項4】前記N文字組の文脈として該N文字組の直
    前のS文字と直後のT文字を用い、前記文脈分類手段は
    前記S文字分の文字コードと前記T文字分の文字コード
    とから予め定めた上限値以内の分類番号に対応付けるよ
    うにした請求項2記載の全文データベース検索装置。
  5. 【請求項5】前記N文字組の字種(漢字・平仮名・片仮
    名など)に応じて前記上限値を定めるようにした請求項
    3記載の全文インデックス装置。
  6. 【請求項6】前記N文字組の字種(漢字・平仮名・片仮
    名など)に応じて前記上限値を定めるようにした請求項
    4記載の全文データベース装置。
  7. 【請求項7】前記全文データベースにおけるN文字組の
    出現頻度に応じて各N文字組に個別に前記上限値を定め
    るようにした請求項3記載の全文インデックス装置。
  8. 【請求項8】前記全文データベースにおけるN文字組の
    出現頻度に応じて各N文字組に個別に前記上限値を定め
    るようにした請求項4記載の全文データベース検索装
    置。
  9. 【請求項9】前記インデックス登録手段は、文字位置情
    報の並びについて、各々の直前の文字位置情報との差分
    を下位からeビットずつに分割し、上位側の全eビット
    が0になるまでの範囲を文字位置情報の区切りフラグ1
    ビットを加えた(e+1)ビット単位で表現することに
    より、圧縮して格納するようにした請求項1記載の全文
    インデックス作成装置。
JP8098050A 1996-04-19 1996-04-19 全文インデックス作成装置および全文データベース検索装置 Expired - Fee Related JP2833580B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP8098050A JP2833580B2 (ja) 1996-04-19 1996-04-19 全文インデックス作成装置および全文データベース検索装置
US08/845,038 US5940836A (en) 1996-04-19 1997-04-21 Full-Text index producing device for producing a full-text index and full-text data base retrieving device having the full-text index
US09/260,535 US6189006B1 (en) 1996-04-19 1999-03-02 Full-text index producing device for producing a full-text index and full-text data base retrieving device having the full-text index

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8098050A JP2833580B2 (ja) 1996-04-19 1996-04-19 全文インデックス作成装置および全文データベース検索装置

Publications (2)

Publication Number Publication Date
JPH09288676A JPH09288676A (ja) 1997-11-04
JP2833580B2 true JP2833580B2 (ja) 1998-12-09

Family

ID=14209387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8098050A Expired - Fee Related JP2833580B2 (ja) 1996-04-19 1996-04-19 全文インデックス作成装置および全文データベース検索装置

Country Status (2)

Country Link
US (2) US5940836A (ja)
JP (1) JP2833580B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022775A (ja) * 1999-07-08 2001-01-26 Matsushita Electric Ind Co Ltd 情報検索装置、情報検索装置の情報圧縮方法および記録媒体

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2833580B2 (ja) * 1996-04-19 1998-12-09 日本電気株式会社 全文インデックス作成装置および全文データベース検索装置
JP3143079B2 (ja) * 1997-05-30 2001-03-07 松下電器産業株式会社 辞書索引作成装置と文書検索装置
JP3275816B2 (ja) * 1998-01-14 2002-04-22 日本電気株式会社 記号列検索方法及び記号列検索装置並びに記号列検索プログラムを記録した記録媒体
US6507678B2 (en) * 1998-06-19 2003-01-14 Fujitsu Limited Apparatus and method for retrieving character string based on classification of character
JP2000315206A (ja) * 1999-04-30 2000-11-14 Fujitsu Ltd 検索条件の組み合わせに基づく検索システムおよび方法
JP2001034638A (ja) * 1999-07-27 2001-02-09 Fujitsu Ltd 索引生成装置及び方法及び記録媒体
US6691125B1 (en) * 1999-11-17 2004-02-10 Serena Software, Inc. Method and apparatus for converting files stored on a mainframe computer for use by a client computer
US6697801B1 (en) * 2000-08-31 2004-02-24 Novell, Inc. Methods of hierarchically parsing and indexing text
US7013422B2 (en) * 2001-06-15 2006-03-14 International Business Machines Corporation Noise removal in multibyte text encodings using statistical models
US20050165750A1 (en) * 2004-01-20 2005-07-28 Microsoft Corporation Infrequent word index for document indexes
JP4347264B2 (ja) * 2005-05-20 2009-10-21 キヤノン株式会社 文書管理システム
KR100724988B1 (ko) * 2005-05-20 2007-06-04 인터내셔널 비지네스 머신즈 코포레이션 통계 모델을 이용하는 멀티바이트 텍스트 인코딩에서의노이즈 제거
FR2956934B1 (fr) 2010-02-26 2012-09-28 Blink E Procede et dispositif d'emission/reception de signaux electromagnetiques recus/emis sur une ou plusieurs premieres bandes de frequences.
US8825675B2 (en) * 2010-03-05 2014-09-02 Starcounter Ab Systems and methods for representing text
JP5592747B2 (ja) * 2010-10-12 2014-09-17 株式会社日立ソリューションズ ファイル検索装置およびファイル検索プログラム
JP6011618B2 (ja) * 2012-05-24 2016-10-19 富士通株式会社 検索プログラム、検索方法、検索装置、記憶プログラム、記憶方法及び記憶装置
JP5921379B2 (ja) * 2012-08-10 2016-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テキスト処理方法、システム及びコンピュータ・プログラム。
JP6880956B2 (ja) * 2017-04-10 2021-06-02 富士通株式会社 解析プログラム、解析方法および解析装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0797373B2 (ja) * 1985-08-23 1995-10-18 株式会社日立製作所 文書フアイリングシステム
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
US5748953A (en) * 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US5404295A (en) * 1990-08-16 1995-04-04 Katz; Boris Method and apparatus for utilizing annotations to facilitate computer retrieval of database material
US5309359A (en) * 1990-08-16 1994-05-03 Boris Katz Method and apparatus for generating and utlizing annotations to facilitate computer text retrieval
JP3270783B2 (ja) * 1992-09-29 2002-04-02 ゼロックス・コーポレーション 複数の文書検索方法
US5873056A (en) * 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
US5734749A (en) * 1993-12-27 1998-03-31 Nec Corporation Character string input system for completing an input character string with an incomplete input indicative sign
JPH07334625A (ja) * 1994-06-06 1995-12-22 Nec Corp 文字列入力装置
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
JP2734386B2 (ja) * 1994-12-20 1998-03-30 日本電気株式会社 文字列読み取り装置
US5748954A (en) * 1995-06-05 1998-05-05 Carnegie Mellon University Method for searching a queued and ranked constructed catalog of files stored on a network
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US5717922A (en) * 1995-07-31 1998-02-10 International Business Machines Corporation Method and system for management of logical links between document elements during document interchange
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
US5864855A (en) * 1996-02-26 1999-01-26 The United States Of America As Represented By The Secretary Of The Army Parallel document clustering process
JP2833580B2 (ja) * 1996-04-19 1998-12-09 日本電気株式会社 全文インデックス作成装置および全文データベース検索装置
US5826261A (en) * 1996-05-10 1998-10-20 Spencer; Graham System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query
US5864871A (en) * 1996-06-04 1999-01-26 Multex Systems Information delivery system and method including on-line entitlements
US5915249A (en) * 1996-06-14 1999-06-22 Excite, Inc. System and method for accelerated query evaluation of very large full-text databases
US5920859A (en) * 1997-02-05 1999-07-06 Idd Enterprises, L.P. Hypertext document retrieval system and method
US5745899A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Method for indexing information of a database
US5819288A (en) * 1996-10-16 1998-10-06 Microsoft Corporation Statistically based image group descriptor particularly suited for use in an image classification and retrieval system
US5878423A (en) * 1997-04-21 1999-03-02 Bellsouth Corporation Dynamically processing an index to create an ordered set of questions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022775A (ja) * 1999-07-08 2001-01-26 Matsushita Electric Ind Co Ltd 情報検索装置、情報検索装置の情報圧縮方法および記録媒体

Also Published As

Publication number Publication date
JPH09288676A (ja) 1997-11-04
US6189006B1 (en) 2001-02-13
US5940836A (en) 1999-08-17

Similar Documents

Publication Publication Date Title
JP2833580B2 (ja) 全文インデックス作成装置および全文データベース検索装置
US5546578A (en) Data base retrieval system utilizing stored vicinity feature values
US5745745A (en) Text search method and apparatus for structured documents
US8095526B2 (en) Efficient retrieval of variable-length character string data
EP0590858A1 (en) Method for performing a search of a plurality of documents for similarity to a query
JP3220865B2 (ja) フルテキストサーチ方法
JP3258063B2 (ja) データベース検索システム及び方法
JPH04205560A (ja) 情報検索処理方式および検索ファイル作成装置
JP3303881B2 (ja) 文書検索方法および装置
JP3151730B2 (ja) データベース検索システム
JP2519130B2 (ja) マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置
JP3081093B2 (ja) 索引作成方法およびその装置と文書検索装置
JP2519129B2 (ja) マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置
EP1076305A1 (en) A phonetic method of retrieving and presenting electronic information from large information sources, an apparatus for performing the method, a computer-readable medium, and a computer program element
JPH10149367A (ja) テキスト蓄積検索装置
JP3288063B2 (ja) 可変長データの格納および参照システム
JP2921119B2 (ja) 数値検索装置および数値検索方法
JP3259781B2 (ja) データベース検索システムおよびデータベース検索方法
JPH05181913A (ja) 昇順整数列データの圧縮および復号システム
Marukawa et al. A High Speed Word Matching Algorithm for Handwritten Chinese Character Recognition.
WO1992009960A1 (en) Data retrieving device
JP2993539B2 (ja) データベース検索システムおよびその方法
JPH07109603B2 (ja) 情報検索処理方式および検索ファイル作成装置
JP2001202388A (ja) フルテキストサーチ方法および装置
CN112307159A (zh) 相似文本的检索方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980901

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

Free format text: PAYMENT UNTIL: 20071002

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081002

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees