JPH10334118A - 辞書索引作成装置と文書検索装置 - Google Patents

辞書索引作成装置と文書検索装置

Info

Publication number
JPH10334118A
JPH10334118A JP9156056A JP15605697A JPH10334118A JP H10334118 A JPH10334118 A JP H10334118A JP 9156056 A JP9156056 A JP 9156056A JP 15605697 A JP15605697 A JP 15605697A JP H10334118 A JPH10334118 A JP H10334118A
Authority
JP
Japan
Prior art keywords
word
dictionary
index
character
regular expression
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.)
Granted
Application number
JP9156056A
Other languages
English (en)
Other versions
JP3143079B2 (ja
Inventor
Yuji Sugano
祐司 菅野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP09156056A priority Critical patent/JP3143079B2/ja
Priority to US09/059,567 priority patent/US6169999B1/en
Publication of JPH10334118A publication Critical patent/JPH10334118A/ja
Priority to US09/580,972 priority patent/US6493713B1/en
Application granted granted Critical
Publication of JP3143079B2 publication Critical patent/JP3143079B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • 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
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

(57)【要約】 【課題】 検索対象文書と単語辞書から正規表現辞書と
単語索引を作成し、正規表現辞書と単語索引を用いて高
速に文書検索を行なう。 【解決手段】 単語辞書101から、長さが等しい文字列
の集合を表わす正規表現辞書104を作成する。検索対象
文書102中に含まれ、かつ正規表現辞書104中の正規表現
に照合する文字列について、着目索引要素を演繹できる
他の索引要素がない場合に、索引要素を単語索引113に
記録することにより、索引容量をあまり増やすことな
く、高速な全文検索ができる単語索引を作成する。この
単語辞書101と正規表現辞書104と単語索引113を用い
て、文書検索装置により検索対象文書102を検索するこ
とにより、文字数が少なく重なりの少ない単語で検索対
象文字列が被覆される場合でも検索効率が低下せず、高
速に全文検索ができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子化されて蓄積され
た文書情報を計算機を利用して管理・編集・検索する文
書管理装置や文書編集装置等に使用される機械検索可能
な辞書と索引を作成する辞書索引作成装置、およびそれ
らの辞書と索引を用いる文書検索装置に関するものであ
る。
【0002】
【従来の技術】近年、ワードプロセッサやパーソナルコ
ンピュータの普及、CD−ROM等の大容量かつ低価格
な記憶媒体の普及、イーサネットに代表されるネットワ
ークの発達により、文書中のすべて、あるいは大部分の
文字情報を文字コードの列で表わして蓄積した全文デー
タベースが実用化され、広く利用されるようになってき
た。
【0003】従来の文書データベースでは、文書を検索
する際、文書毎に付されたキーワードを利用するキーワ
ード検索が一般的であった。しかし、キーワード付け作
業の手間がかかり、蓄積文書の増加に間に合わない、時
間が経過するとキーワードが陳腐化する、キーワード付
けを行なう者と検索する者とのキーワードの解釈のずれ
によって検索もれが発生する等の問題点があった。この
ような背景から、最近では全文検索という、キーワード
付けが不要な検索方式が注目されている。
【0004】全文検索は、利用者から与えられる、文字
列による検索条件と、蓄積されている文書を構成する文
字列との間で文字列照合を行なって、検索条件を満たす
文書を出力する検索方式であるため、予めキーワードを
付与する必要がない。全文検索を実現する手段として
は、現在までに種々のものが提案されており、その全体
像は、たとえばWilliam B. Frakes and Ricardo Baeza-
Yates (eds.), "Information Retrieval-Data structur
e & Algorithms, Prentice Hall(1992) などの成書に詳
細な説明がなされているが、検索対象文書に対して、検
索に先立ってどのような索引を作成しておくか、という
観点から、以下の3つの手法に大別される。 (1)全文スキャン方式 (2)シグネチャファイル方式 (3)転置ファイル方式 このうち、(1)の全文スキャン方式は、検索条件文字
列と検索対象文書を質問のたびに逐一照合し、結果を得
るもので、予め検索のための索引を作成する必要がな
く、記憶容量が節約でき、また正規表現での検索など、
複雑な検索条件での検索ができる。しかし検索速度は他
の方式に比べて遅く、大量の文書検索には不向きであ
る。
【0005】また、(2)のシグネチャファイル方式
は、検索のための索引として文書のシグネチャ(署名)
とよばれるファイルを予め構築し、このシグネチャファ
イルをまず検索して、全文スキャンを行なう文書量を削
減するもので、(1)の方式に比べて高速な検索を行な
うことができるが、通常検索対象文書の容量の数十%の
容量のシグネチャファイルを構築・保持する必要があ
る。
【0006】(3)の転置ファイル方式は、検索のため
の索引として、文字/単語/n文字連続(n-gram)など
が出現する文書、あるいは文書位置を記録する転置ファ
イルを予め構築し、この転置ファイルのみを用いて(検
索対象文書は用いずに)検索を行なうもので、(1)、
(2)に比べて非常に高速な検索を行なうことが可能で
ある。しかし、検索対象文書が日本語の場合には、欧米
言語に比べて単語の境界が明確でないため、n文字連続
を用いて検索する場合、検索対象文書の容量の数倍の容
量の転置ファイルを構築する必要がある。
【0007】以上の3種の手法は、それぞれ長所と短所
を持つので、個々の文書検索の要求に合わせて最適なも
のを使い分ける必要がある。例えば、公開特許公報の全
文など、数億文字から数百億文字に及ぶ非常に大量の文
書に対して、高速な検索を行なう必要がある場合には、
上記(3)の方式が最も適している。
【0008】(3)の方式を日本語や中国語のような膠
着言語(語と語の間に空白を置かない言語)の検索対象
文書に対して実現する際に、1文字あるいは2文字連接
の転置ファイルを構成し、高速な文書検索装置を実現す
る手法が、菊池忠一,“日本語文書用高速全文検索の一
手法”,電子情報通信学会論文誌,Vol.J75-D-I, No.9,
pp.836-846 (1992) で提案されている。また、索引作
成の際に、必要に応じて1〜3文字の文字連接の転置フ
ァイルを構成する手法が、菅谷,川口,畠山,多田,加
藤,“n-gram型大規模全文検索方式の開発”,情報処理
学会第53回全国大会予稿集,3-235, (1996) で提案され
ている。
【0009】しかしながら、上記の従来の手法では、作
成する索引ファイルが検索対象文書の2倍以上の大きさ
になり、高速化を図ろうとして、文字連接の文字数を増
やすと、索引ファイルの容量がさらに増加し、使用でき
る記憶装置の容量に制約のある場合に、実現が困難であ
る、という課題があった。また、文字列が長く、高頻出
の文字連鎖を多数含む、カタカナ語のような検索条件文
字列の場合には、索引ファイルから検索すべきデータ量
が多くなり、検索速度が低下するという課題があった。
【0010】これらの課題を解決する方法として、日本
語の検索対象文書に対しても、大規模な単語辞書を用い
た単語の切り出しを行ない、欧米語の場合と同様に、単
語の転置ファイルを構成し、この転置ファイルを用い
て、任意の検索条件文字列での全文検索を高速に実行す
る手法が、特開平8-249354号公報に開示されている。以
下では、この手法を「従来の索引検索法」と呼ぶことに
する。
【0011】従来の索引検索法は、有限個の単語(文字
列)の集合である単語辞書を用いて、検索対象文書中で
各単語に照合する文字列の出現位置と当該単語の対であ
る索引要素のうち、極大となる索引要素のみを全て格納
した単語索引を、極大延長索引として構成することで、
検索対象文書の容量と同程度の容量の、文字連接の転置
ファイルよりも格段に小さい索引情報を構成する。
【0012】検索の際には、検索条件文字列中のどの文
字もいずれかの単語に含まれる、辞書中の単語の列を、
検索条件文字列の被覆として求め、被覆を構成する各単
語を含む各単語の延長語について、その単語の索引要素
集合を求め、各単語に対応する索引要素集合の列のう
ち、検索対象文書中で連続して出現する索引要素の列の
みを求め、その先頭の索引要素の照合開始位置を、検索
結果として出力する。このようにして検索することで、
検索条件文字列が、辞書中の語そのものである場合や、
少数個の低頻出の辞書中の単語で被覆できる場合には、
比較的高速に全文検索処理を実行でき、上記の文字連鎖
による転置ファイルの欠点をかなりの程度克服できる。
【0013】以下、従来の索引検索法による、従来の単
語索引作成方法と、従来の文書検索装置について説明す
る。まず、従来の単語索引の作成方法について説明す
る。図27は、従来の単語索引作成装置の全体構成を表わ
すブロック図である。図27において、401は有限個の文
字列を格納した単語辞書、402は索引作成の対象となる
検索対象文書、403は単語辞書401から、指定された文字
列の最長の最左部分文字列となっている単語を検索する
最長一致単語検索手段である。404は、検索された単語
の文字数を記憶し、着目検索対象文書位置が1文字進む
たびに記憶数値を1減ずる文字数記憶域である。
【0014】405は、検索対象文書402を逐次読み込み、
最長一致単語検索手段403を駆動して、検索対象文書402
の各文字位置からの、単語辞書401中の最長の単語の文
字数分の文字列を、最長一致単語検索手段403に指定し
て次々に最長一致単語を検索し、検索結果の文字数が文
字数記憶域404の数値以上ならば、単語とその出現文字
位置範囲との組を、索引要素として出力して文字数記憶
域404に検索結果の文字数を記憶する極大索引要素作成
手段である。406は、極大索引要素作成手段405の出力す
る索引要素の集合を、単語毎に整列する索引要素整列手
段、407は索引要素整列手段406の整列結果を格納する単
語索引である。
【0015】以上の構成の単語索引作成装置において、
その動作を、簡単な辞書と簡単な検索対象文書を例に、
図面を参照して説明する。図29は辞書型索引検索法で用
いる単語辞書を構成する単語のリストの例、図30は検索
対象文書の例、図31は図29に示す単語からなる単語辞書
を用いて図30の検索対象文書から、極大となる索引要素
を求める処理の概念図、図32は図29に示す単語からなる
単語辞書を用いて図30の検索対象文書から作成した単語
索引の内容を示す概念図である。
【0016】まず、索引の作成に先立って、図29の内容
の辞書データが単語辞書401に格納され、図30の検索対
象文書データが検索対象文書402に格納される。そし
て、文字数記憶域404は0に設定される。また、図29の
辞書データの中の最長の語の文字数は7であるから、極
大索引要素作成手段405が最長一致単語検索手段403に指
定する文字列長は7となる。
【0017】この状態で、図30の検索対象文書の最初の
7文字「亜日電子の電子」が極大索引要素作成手段405
によって読み込まれ、最長一致単語検索手段403に検索
の鍵として提示される。図29の内容の単語辞書中で、
「亜日電子の電子」の最長の最左部分文字列は「亜日電
子」であり、この単語の文字数である4は、文字数記憶
域404の値である0より大きいので、索引要素(亜日電
子,[1,4])が索引要素整列手段406に出力され、文字数
記憶域404の値は4となる。
【0018】次に、検索対象文書の着目文字を1文字進
めた、「日電子の電子ス」なる7文字が極大索引要素作
成手段405で作成されて最長一致単語検索手段403に鍵と
して指定され、最長の最左部分文字列である単語「日
電」が検索される。そして、文字数記憶域の数値は1だ
け減らされて3となる。ところが、「日電」の文字数2
は、文字数記憶域の数値3より小さいので、この「日
電」は極大ではない(「亜日電子」に含まれている)と
判明し、索引要素は出力されない。このようにして、極
大索引要素作成手段405は、次々と着目文字位置を文末
方向に移動しながら、図31のように極大となる索引要素
のみを索引要素整列手段406に出力する。
【0019】以上の処理が検索対象文書の最後まで達し
たなら、出力された索引要素は、索引要素整列手段406
によって語の順に整列され、図32のような単語索引が作
成される。
【0020】次に、上記の従来の単語索引作成方法を用
いて作成した、従来の単語索引を用いた従来の文書検索
装置について説明する。図28は従来の文書検索装置の一
実施例の全体構成を表わすブロック図である。図におい
て、411は単語辞書、412は単語辞書411を用いて、図27
の従来の単語索引作成装置で作成した単語索引、413は
検索条件文字列を入力する検索条件入力手段である。41
4は単語辞書411を検索して、辞書中の単語と、検索条件
文字列の被覆文字位置範囲との組である単語被覆要素の
集合の形で、検索条件文字列の単語被覆を求める単語被
覆算定手段である。415は指定された単語被覆要素に対
して、単語辞書411を検索して、単語被覆要素中の単語
を含む文字列になっている辞書中の単語のうちで、検索
条件文字列に合致するものを、全て求める延長語算定手
段である。
【0021】416は、指定された単語集合の索引要素を
全て求めて、照合文字位置範囲を修正し、照合文字位置
範囲集合を作成する照合文字位置範囲集合算定手段であ
る。417は、指定された照合文字位置範囲集合の列の中
で、検索対象文書中に連続して出現する照合文字位置範
囲の列を全て求める連接照合文字位置範囲列算定手段で
ある。418は、照合文字位置範囲の列の先頭要素であ
る、照合開始文字位置の集合を求める照合位置集合算定
手段、419は検索結果を出力するための検索結果出力手
段である。
【0022】以上の構成の文書検索装置において、その
動作を、上記の従来の単語索引作成装置の説明に用いた
簡単な辞書と簡単な検索対象文書を例に、図面を参照し
て説明する。図33、図34は、図32の内容の単語索引と、
図29の内容の単語辞書を用いた、それぞれ「電子スピン
共鳴」、「東亜電子」という検索条件文字列に対する全
文検索処理の概念図である。
【0023】第1に、検索条件文字列として、「電子ス
ピン共鳴」という文字列が、検索条件入力手段413から
入力された際の検索処理を図33を用いて説明する。最初
に、単語被覆手段414が検索条件文字列の被覆を以下の
ようにして求める。まず、「電子スピン共鳴」、「子ス
ピン共鳴」、「スピン共鳴」、「ピン共鳴」、「ン共
鳴」、「共鳴」、「鳴」という検索条件文字列の最右部
分文字列の各々を鍵にして、単語辞書411から、その鍵
の最長の最左部分文字列である単語を次々と検索し、検
索条件文字列中での被覆文字位置範囲とともに単語被覆
要素として記録する。
【0024】この例の場合には、「電子スピン共鳴」に
対しては、その最左部分語として「電」、「電子」、
「電子スピン」の3単語が検索され、最も文字数の多い
「電子スピン」と、検索条件文字列「電子スピン共鳴」
中の被覆文字位置範囲の[1,5]の組である(電子ス
ピン,[1,5])が記録され、「子スピン共鳴」に対して
は、その最左部分語は図29の内容の単語辞書411にはな
いのでなにも記録されず、「スピン共鳴」に対しては、
その最左部分語として「スピン」、「スピン共鳴」の2
単語が検索され、最長の単語「スピン共鳴」と被覆文字
位置範囲[3,7]の組(スピン共鳴,[3,7])が記録
され、「ピン共鳴」、「ン共鳴」に対しては、それらの
最左部分語は図29の内容の単語辞書411にはないのでな
にも記録されず、「共鳴」に対しては、その最左部分語
として「共鳴」のみが検索され、被覆文字位置範囲
[6,7]との組(共鳴,[6,7])が記録される。
【0025】次に、記録された単語被覆要素のうち、極
大でない単語被覆要素、すなわち被覆文字位置範囲が、
他の単語被覆要素の被覆文字位置範囲に完全に含まれて
いる単語被覆要素を削除する。削除後に残った単語被覆
要素の集合が、検索条件文字列を被覆する、すなわち単
語被覆集合中の各単語被覆要素の被覆文字位置範囲の和
集合が、検索条件文字列の全体になる場合には、この残
りの単語被覆要素の集合を単語被覆として記録する。削
除後に残った単語被覆要素の集合が、検索条件文字列を
被覆しない場合には、「検索不可能」を示す、予め定め
られた特別な検索結果を検索結果出力手段419が出力し
て検索処理を終了する。
【0026】この例の場合には、3つの索引要素(電子
スピン,[1,5])、(スピン共鳴,[3,7])、(共鳴,
[6,7])のうちで、(共鳴,[6,7])の被覆文字位置範囲
[6,7]が、(スピン共鳴,[3,7])の被覆文字位置
範囲[3,7]に完全に含まれているので、(共鳴,
[6,7])を削除する。残った単語被覆要素の集合 H={(電子スピン,[1,5]),(スピン共鳴,[3,
7])}の被覆文字位置範囲の和集合は、[1,5]∪
[3,7]=[1,7]となって検索条件文字列「電子
スピン共鳴」全体の文字位置範囲となるので、上記H
を、検索条件文字列「電子スピン共鳴」の単語被覆とし
て記憶する。
【0027】単語被覆算定手段414が検索条件文字列の
単語被覆を求めたら、次に、延長語算定手段415が単語
被覆中の各単語被覆要素の、検索条件文字列に適合する
延長語の集合を求める。ここで、「検索条件文字列cに
適合する延長語」とは、着目単語被覆要素(w,[s,
e])を部分文字列として含む、単語辞書411中の単語x
=p・w・q(p,qは0文字以上の任意の文字列)の
うちで、a=min(s-1,|p|), b=min(|c|-e,|q|) と定義
すると、 (1)a=0、あるいは、c[(s-a)..(s-1)]=p[(|p|-
a+1)..|p|] である。 (2)b=0、あるいは、c[(e+1)..(e+b)]=q[1..b]
である。 の両方が成り立つような単語のことを指す。ただし、文
字列Tのi文字目からj文字目まで(最初の文字を1文
字目と数える)の部分文字列を、T[i..j] と表記し、
文字列Tの文字数を |T| と表記する。
【0028】この例の場合には、「電子スピン共鳴」に
適合する(電子スピン,[1,5])の延長語集合は{電子ス
ピン}となり、「電子スピン共鳴」に適合する(スピン
共鳴,[3,7])の延長語集合は {スピン共鳴, スピン共
鳴吸収}となる。なお、図29の単語辞書中の単語「核ス
ピン共鳴」は、「スピン共鳴」を部分文字列として含む
ので、「スピン共鳴」の延長語ではあるが、上記のx=
p・w・qの、pに相当する「核」の部分文字列が、検
索条件文字列「電子スピン共鳴」の該当部分文字列
「子」と一致しないので、「電子スピン共鳴」に適合す
る延長語ではない。
【0029】単語被覆中の各単語被覆要素の、検索条件
文字列に適合する延長語の集合を求めたら、次に照合文
字位置範囲集合算定手段416が、各延長語集合に対し
て、当該延長語集合中の要素である単語を第1項とする
索引要素を、単語索引412から求め、求めた各索引要素
の第2項を、当該延長語集合の作成元になった単語被覆
要素の単語に相当する照合文字位置範囲に修正し、修正
後の照合文字位置範囲の集合を求める。
【0030】この例では、「電子スピン共鳴」に適合す
る(電子スピン,[1,5])の延長語集合{電子スピン}
の索引要素は(電子スピン,[6,10]) のみであり、延長語
集合のただ1つの要素「電子スピン」と、延長語集合の
作成元である単語「電子スピン」が同一なので、照合文
字位置範囲の修正は不要であり、照合文字位置範囲集合
としては、{[6,10]}が求まる。「電子スピン共鳴」に
適合する(スピン共鳴,[3,7])の延長語集合{スピン共
鳴, スピン共鳴吸収}の索引要素も{(スピン共鳴,[8,
12])}のみであり、やはり照合文字位置範囲の修正は
不要であり、照合文字位置範囲集合としては、{[8,1
2]}が求まる。
【0031】各延長語集合に対して、照合文字位置範囲
集合を求めたら、次に、連接照合文字位置範囲列算定手
段417が、各照合文字位置範囲集合の列の中で、検索対
象文書中に連続して出現する照合文字位置範囲の列を全
て求める。
【0032】この例の場合には、(電子スピン,[1,
5])に対する照合文字位置範囲集合{[6,10]}中の要素
[6,10] と、(スピン共鳴,[3,7])に対する照合文字位
置範囲集合{[8,12]}の要素 [8,12] とは、その開始文
字位置の差(すなわち2)が、対応する2つの単語被覆
要素(電子スピン,[1,5])と(スピン共鳴,[3,7])と
の被覆文字位置範囲の開始文字位置の差(すなわち2)
と等しく、検索対象文書中の文字位置範囲 [6,12] に連
続して出現していることがわかるので、照合文字位置範
囲の列の集合として、{([6,10],[8,12])}が求ま
る。
【0033】検索対象文書中に連続して出現する照合文
字位置範囲の列を全て求めたら、次に照合位置集合算定
手段418が、照合文字位置範囲の列の集合から、各照合
文字位置範囲の列の最初の照合文字位置範囲の照合開始
位置の集合である、照合位置集合を求め、検索結果出力
手段419がこの照合位置集合を検索結果として出力す
る。
【0034】この例の場合には、照合位置集合算定手段
418は、照合文字位置範囲の列の集合{([6,10],[8,1
2])}から、そのただ1つの要素である列([6,10],[8,
12])の先頭要素 [6,10] の照合開始文字位置である6
のみからなる集合{6}を求め、この集合を検索結果出
力手段419が検索結果として出力する。この検索結果
は、検索対象文字列中で、検索条件文字列「電子スピン
共鳴」に照合するのは1個所で、検索対象文字列の6文
字目からであることを示している。
【0035】以上で、検索条件文字列として「電子スピ
ン共鳴」という文字列が入力された際の検索処理の説明
を終わる。
【0036】検索条件文字列として、「東亜電子」とい
う文字列が入力された際の検索処理も、図34に示す通
り、上記の説明と基本的には同様となる。まず、図34に
示すように、単語被覆として、{(東,[1,1]), (亜,
[2,2]), (電子,[3,4])}の3要素からなる集合が求
まる。各単語被覆要素の、「東亜電子」に適合する延長
語集合と、対応する照合文字位置範囲集合を、「単語被
覆要素 → 延長語集合 →照合文字位置範囲」と表わす
と、それぞれ (東,[1,1])→ {東,極東,関東,北東,北北東,南東,南南東} → { [16,17],[18,18] } (亜,[2,2])→ {亜}→ { [19,19] } (電子,[3,4])→ {電子,電子スピン,電子雲,電子密度,電子機器} → { [6,10], [20,21],[25,27] } となる。これら3種の照合文字位置範囲集合中の要素の
列で、文字位置が連続するものは、([18,18],[19,19],
[20,21]) ただ1つであり、結局、検索結果として{ 1
8 }が出力される。
【0037】以上2つの例について、検索処理の概要を
説明したが、一般に、第1の例(「電子スピン共鳴」を
「電子スピン」、「スピン共鳴」の2単語で被覆)のよ
うに検索対象文字列が、比較的文字数の多い、しかも重
なりのある単語によって被覆される場合には、この従来
の文書検索装置は、効率よく検索処理を行なうことがで
きる。なぜなら、 (1)単語被覆要素である単語の文字数が多いほど延長
語の個数が減り、照合文字位置範囲集合の要素数も減る
傾向があり、延長語集合、照合位置範囲集合を求める計
算量が減る。 (2)単語被覆要素である単語間の重なりが多いほど、
対応する延長語の照合文字位置範囲集合と、最終的な検
索結果との差、すなわち最終的な検索結果に寄与しない
「無駄」な照合文字位置範囲の量が少なくなり、連接文
字位置範囲列算定手段417での処理の手間が軽減され
る。からである。
【0038】第2の例(「東亜電子」での検索)は、上
記(1)、(2)が成り立たず、単語被覆要素が1〜2
文字であり、重なりもない。そのため、(東,[1,1])→
{東,極東,北東,北北東,南東,南南東}など、多数の延
長語の索引要素を調べねばならず、照合文字位置範囲集
合も{ [8,12], [22,23],[27,29] }のように、最終結
果に寄与しない、無駄な要素を多く含むようになり、効
率が低下する。
【0039】
【発明が解決しようとする課題】このように、上記の従
来の索引作成方法で作成した単語索引を使用する従来の
文書検索装置の検索処理の効率については、比較的文字
数が少なくて重なりの少ない単語によって検索対象文字
列が被覆される場合には、比較的文字数が多くて重なり
の多い単語によって検索対象文字列が被覆される場合に
比べて、検索処理の効率が低下するという課題を有して
いた。
【0040】単語辞書に記憶する単語数を増やし、特に
検索対象文書に出現する長単位の語(複合語、句など)
のうち、高頻出のものを単語辞書に追加することで、検
索処理の効率が低下する場合を少なくすることはできる
が、通常、単語辞書の格納語数にも限界があり、効率が
低下する場合を完全になくすることは難しい。
【0041】本発明の辞書索引作成装置および文書検索
装置は、検索対象文字列が、比較的文字数の少なく、重
なりの少ない単語によって被覆される場合でも、検索効
率が低下することを防ぎ、索引容量をあまり増やすこと
なく、高速な全文検索処理ができるようにすることを目
的とするものである。
【0042】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の辞書索引作成装置では、検索対象文書と
単語辞書から正規表現辞書と単語索引を作成するように
構成し、本発明の文書検索装置では、辞書索引作成装置
で作成した正規表現辞書と単語索引を用いて、検索対象
文書から検索対象文字列を検索するように構成する。本
発明の辞書索引作成装置と文書検索装置を上記のように
構成することにより、検索対象文字列が比較的文字数が
少なくて重なりの少ない単語によって被覆される場合で
も、高速な全文検索処理が可能となり、検索効率が向上
する。
【0043】本発明の辞書索引作成装置では、上記の目
的を達成するために第1に、単語辞書中の各単語に依存
する規則に従って検索対象文書と単語辞書から正規表現
辞書を作成する手段と、正規表現と照合文字位置範囲と
の組からなり、他の索引要素から演繹不可能な索引要素
を集めた単語索引を作成する手段とを設ける。
【0044】本発明の辞書索引作成装置では、上記の目
的を達成するために第2に、サンプル文書中での出現頻
度に依存する規則に従って、検索対象文書と単語辞書か
ら正規表現辞書を作成する手段と、正規表現と照合文字
位置範囲との組からなり、他の索引要素から演繹不可能
な索引要素を集めた単語索引を作成する手段とを設け
る。
【0045】本発明の辞書索引作成装置では、上記の目
的を達成するために第3に、サンプル文書と単語辞書か
ら第1単語索引を作成する手段と、第1単語索引中の単
語頻度と検索対象文書から正規表現辞書および第2単語
索引を作成する手段とを設ける。
【0046】本発明の辞書索引作成装置では、上記の目
的を達成するために第4に、拡大文字セットを用い検索
対象文書の前後に必要なだけ終端文字を付加して拡大検
索対象文書とする手段を設ける。
【0047】本発明の辞書索引作成装置では、上記の目
的を達成するために第5に、文字セット中の任意の文字
のみからなる単語が単語辞書に含まれていなければ、こ
れを追加した拡張単語辞書を作成する手段を設ける。
【0048】本発明の文書検索装置では、上記の目的を
達成するために第1に、単語辞書記憶装置と、単語辞書
検索手段と、正規表現辞書記憶装置と、正規表現辞書検
索手段と、単語索引記憶装置と、単語索引検索手段と、
質問入力手段と、単語被覆算定手段と、延長正規表現集
合算定手段と、索引要素集合検索手段と、連接索引要素
算定手段と、照合位置集合算定手段と、検索結果出力手
段とを設ける。
【0049】本発明の文書検索装置では、上記の目的を
達成するために第2に、拡大文字セットを用い検索対象
文書の前後に必要なだけ終端文字を付加して拡大検索対
象文書とする手段を設ける。
【0050】
【発明の実施の形態】本発明の請求項1に記載の発明
は、検索対象文書と単語辞書から正規表現辞書と単語索
引を作成する辞書索引作成装置であって、ある定められ
た文字セットに含まれる文字の有限個の並びからなる検
索対象文書を格納する検索対象文書記憶装置と、前記文
字セットに含まれる文字の1つ以上の並びを単語として
有限個登録した単語辞書を格納する単語辞書記憶装置
と、前記単語辞書記憶装置中の単語辞書から単語wを1
つ読出し、前記単語wに依存する規則に従って、前記文
字セット上の空集合を表わすもの以外で、かつそれぞれ
長さが等しい文字列の集合を表わす正規表現a,bを1
組以上作成する手段と、前記単語wの前後に前記正規表
現a,bを結合した正規表現awbを1つ以上作成し、
前記正規表現awbを集めて、前記単語wに依存する予
め定められた規則に従って作成した、前記単語辞書とは
異なる正規表現辞書を格納する正規表現辞書記憶装置
と、前記検索対象文書記憶装置から前記正規表現辞書中
の正規表現に照合する文字列を検索し、前記正規表現
と、前記検索対象文書中での照合文字位置範囲との組か
らなる索引要素を生成する手段と、他の索引要素から演
繹可能でないと判定された索引要素を集めた単語索引を
格納する単語索引記憶装置とを具備するものであり、検
索対象文字列が比較的文字数の少なく、重なりの少ない
単語によって被覆される場合の効率低下を防ぎ、索引容
量をあまり増やすことなく、より高速な全文検索処理を
可能にする正規表現辞書と単語索引を作成できるという
作用を有する。
【0051】本発明の請求項2に記載の発明は、請求項
1記載の辞書索引作成装置において、前記単語辞書中の
各単語wの前後に結合する正規表現a,bが、それぞれ
文字クラスの列あるいは空列であるようにしたものであ
り、検索対象文字列が比較的文字数の少なく、重なりの
少ない単語によって被覆される場合の効率低下を防ぎ、
索引容量をあまり増やすことなく、より高速な全文検索
処理を可能にする正規表現辞書と単語索引を作成できる
という作用を有する。
【0052】本発明の請求項3に記載の発明は、検索対
象文書と単語辞書と単語頻度データから正規表現辞書と
単語索引を作成する辞書索引作成装置であって、ある定
められた文字セットに含まれる文字の有限個の並びから
なる検索対象文書を格納する検索対象文書記憶装置と、
前記文字セットに含まれる文字の1つ以上の並びを単語
として有限個登録した単語辞書を格納する単語辞書記憶
装置と、前記定められた文字セットに含まれる文字の有
限個の並びからなるサンプル文書中での前記単語辞書中
の各単語の出現頻度を記録した単語頻度データを格納す
る単語頻度データ記憶装置と、前記単語辞書記憶装置中
の前記単語辞書から単語wを1つ読み出し、前記単語頻
度データ中の前記単語wの頻度に依存する規則に従っ
て、前記文字セット上の空集合を表わすもの以外で、か
つそれぞれ長さが等しい文字列の集合を表わす正規表現
a,bを作成する手段と、前記単語wの前後に前記正規
表現a,bを結合した正規表現awbを1つ以上作成
し、前記単語辞書中の全ての単語について作成した全て
の前記正規表現awbを集めた、前記単語辞書とは異な
る正規表現辞書を格納する正規表現辞書記憶装置と、前
記検索対象文書記憶装置から前記正規表現辞書中の正規
表現に照合する文字列を検索し、前記正規表現と、前記
検索対象文書中での照合文字位置範囲との組からなる索
引要素を生成する手段と、他の索引要素から演繹可能で
ないと判定された索引要素を集めた単語索引を格納する
単語索引記憶装置とを具備するものであり、サンプル文
書中での出現頻度が大きい単語ほど高速に検索できる正
規表現辞書と単語索引を作成するという作用を有する。
【0053】本発明の請求項4に記載の発明は、検索対
象文書と単語辞書とサンプル文書から正規表現辞書と単
語索引を作成する辞書索引作成装置であって、ある定め
られた文字セットに含まれる文字の有限個の並びからな
る検索対象文書を格納する検索対象文書記憶装置と、前
記文字セットに含まれる文字の1つ以上の並びを単語と
して有限個登録した単語辞書を格納する単語辞書記憶装
置と、ある定められた文字セットに含まれる文字の有限
個の並びからなるサンプル文書を格納するサンプル文書
記憶装置と、前記サンプル文書記憶装置から前記単語辞
書中の単語に照合する文字列を検索し、前記単語と、前
記検索対象文書中での照合文字位置範囲との組からなる
索引要素を生成し、前記索引要素が他の索引要素から演
繹可能か否か判定し、他の索引要素から演繹可能でない
と判定された索引要素を集めた第1の単語索引を作成す
る手段と、前記第1の単語索引中の各単語に対する索引
要素の個数を単語頻度として単語頻度データを作成する
手段と、前記単語辞書記憶装置中の前記単語辞書から単
語wを1つ読み出し、前記単語頻度データ中の前記単語
wの頻度に依存する規則に従って、前記文字セット上の
空集合を表わすもの以外で、かつそれぞれ長さが等しい
文字列の集合を表わす正規表現a,bを作成する手段
と、前記単語wの前後に前記正規表現a,bを結合した
正規表現awbを1つ以上作成し、前記単語辞書中の全
ての単語について作成した全ての前記正規表現awbを
集めた、前記単語辞書とは異なる正規表現辞書を格納す
る正規表現辞書記憶装置と、前記検索対象文書記憶装置
から前記正規表現辞書中の正規表現に照合する文字列を
検索し、前記正規表現と、前記検索対象文書中での照合
文字位置範囲との組からなる索引要素を生成する手段
と、他の索引要素から演繹可能でないと判定された索引
要素を集めた第2の単語索引を格納する単語索引記憶装
置とを具備するものであり、サンプル文書と単語辞書中
での出現頻度が大きい単語ほど高速に検索できる正規表
現辞書と単語索引を作成するという作用を有する。
【0054】本発明の請求項5に記載の発明は、請求項
3、4記載の辞書索引作成装置において、前記単語wに
依存する規則に従って正規表現を生成する手段が、N個
の頻度限界値と、N個の左側文字クラスと、N個の右側
文字クラスの3N個のパラメータを用いて、前記単語頻
度データに記録されている前記単語wの出現頻度が、第
1の頻度限界値以下の場合には、前記単語wそのものか
らなる正規表現を作成する手段と、前記単語頻度データ
に記録されている前記単語wの出現頻度が、第mの頻度
限界値より大きく、かつ前記第m+1の頻度限界値以下
の場合には、第mの左側文字クラス集合中の要素である
文字クラスaと、第mの右側文字クラス集合中の要素で
ある文字クラスbとを、前記単語wに結合した正規表現
awbを、可能な全ての文字クラスa、bについて作成
する手段と、前記単語頻度データに記録されている前記
単語wの出現頻度が、前記第N−1の頻度限界値より大
きい場合には、前記第Nの左側文字クラス集合中の要素
である文字クラスaと、前記第Nの右側文字クラス集合
中の要素である文字クラスbとを、前記単語wに結合し
た正規表現awbを、可能な全ての文字クラスa、bに
ついて作成する手段とを具備するものであり、サンプル
文書中での出現頻度が大きい単語ほど高速に検索できる
正規表現辞書と単語索引を作成するという作用を有す
る。
【0055】本発明の請求項6に記載の発明は、請求項
3〜5記載の辞書索引作成装置において、サンプル文書
として、検索対象文書の全部あるいは一部を用いるもの
であり、サンプル文書中での出現頻度が大きい単語ほど
高速に検索できる正規表現辞書と単語索引を作成すると
いう作用を有する。
【0056】本発明の請求項7に記載の発明は、請求項
1〜6記載の辞書索引作成装置において、検索対象文書
に含まれない特別な文字を終端文字として1文字追加し
た拡大文字セットを用い、前記検索対象文書の前後に、
必要なだけ前記終端文字を付加して拡大検索対象文書と
し、前記拡大文字セットを文字セットとして用い、前記
拡大検索対象文書を検索対象文書として用いたものであ
り、終端文字を用いて高速に検索できる正規表現辞書と
単語索引を作成するという作用を有する。
【0057】本発明の請求項8に記載の発明は、請求項
1〜7記載の辞書索引作成装置において、与えられた単
語辞書から、定められた文字セット中の任意の文字cに
対して、cのみからなる単語が前記単語辞書に含まれて
いなければ、これを追加した拡張単語辞書を作成する手
段と、前記拡張単語辞書を前記単語辞書として用いて作
成する手段とを具備するものであり、1文字単語を追加
した拡張単語辞書を用いて高速に検索できる正規表現辞
書と単語索引を作成するという作用を有する。
【0058】本発明の請求項9に記載の発明は、ある定
められた文字セット上の文字列を単語として有限個集め
た単語辞書を格納した単語辞書記憶装置と、前記単語辞
書を検索する単語辞書検索手段と、前記文字セットに含
まれる文字の有限個の並びである検索対象文書および前
記単語辞書から作成された正規表現辞書を格納した正規
表現辞書記憶装置と、前記正規表現辞書を検索する正規
表現辞書検索手段と、前記検索対象文書および前記単語
辞書から作成された単語索引を格納した単語索引記憶装
置と、前記単語索引を検索する単語索引検索手段と、前
記文字セット上の任意の文字列を質問文字列として入力
するための質問入力手段と、前記質問文字列に対する単
語被覆要素の集合である単語被覆を算定する単語被覆算
定手段(ただし、単語被覆要素とは、前記質問文字列の
部分文字列になっている前記単語辞書中の単語と被覆文
字位置範囲との対であり、前記質問文字列中の任意の位
置の文字は、単語被覆中のいずれかの単語被覆要素の被
覆文字位置範囲に含まれる)と、前記質問文字列の単語
被覆がない場合には「検索不可能」を示す特別な検索結
果を前記検索結果出力手段に出力する手段とを有する単
語被覆算定手段と、単語被覆が求まった場合に、前記正
規表現辞書から前記単語被覆中の各単語被覆要素の延長
正規表現集合を算定する延長正規表現集合算定手段(た
だし、延長正規表現集合は、前記質問文字列の単語被覆
中の各単語被覆要素の第1項の単語を含む正規表現の集
合であり、前記質問文字列を含む任意の延長質問文字列
に対し、(a)前記単語被覆要素の第2項である被覆文
字位置範囲を含む、前記延長質問文字列の第2の文字位
置範囲の文字列に照合する正規表現を含み、(b)この
第2の文字位置範囲を含む、前記延長質問文字列の第3
の文字位置範囲の文字列に照合する、前記正規表現集合
以外の正規表現が、前記正規表現辞書には含まれない、
という2つの条件を満たす集合である)と、前記単語索
引を検索して前記延長正規表現集合中の各正規表現を第
1項とする全ての索引要素を求める索引要素集合検索手
段と、2つ以上の索引要素集合に対して、各索引要素集
合中の要素で、前記文書中に連続して出現する索引要素
の列を全て求める連接索引要素算定手段と、索引要素の
列の先頭要素である索引要素の第2項の照合開始文字位
置の集合を求めて検索結果とする照合位置集合算定手段
と、検索結果を出力するための検索結果出力手段とを具
備するものであり、検索対象文字列が比較的文字数の少
なく、重なりの少ない単語によって被覆される場合の効
率低下を防ぎ、索引容量をあまり増やすことなく、より
高速な全文検索処理を可能にするという作用を有する。
【0059】本発明の請求項10に記載の発明は、請求
項9記載の文書検索装置において、前記単語被覆算定手
段が、単語被覆要素の数が最も少ない単語被覆を算定す
るものであり、検索対象文字列が比較的文字数の少な
く、重なりの少ない単語によって被覆される場合の効率
低下を防ぎ、索引容量をあまり増やすことなく、より高
速な全文検索処理を可能にするという作用を有する。
【0060】本発明の請求項11に記載の発明は、請求
項9記載の文書検索装置において、前記単語被覆算定手
段が、単語被覆要素の第2項である被覆文字位置範囲の
長さの最小値が最も大きい単語被覆を算定するものであ
り、検索対象文字列が比較的文字数の少なく、重なりの
少ない単語によって被覆される場合の効率低下を防ぎ、
索引容量をあまり増やすことなく、より高速な全文検索
処理を可能にするという作用を有する。
【0061】各実施の形態の説明に先立って、正規表
現、およびそれと密接な関連を持つ有限状態オートマト
ン、有限状態機械の概念について簡単に説明する。ある
文字セット(有限個の文字の集合)Σ上の正規表現と
は、Σ上の文字列(Σに属する文字を0個以上並べた
列)からなる集合を、「パターン」によって簡便に表現
する方法である。Σ上の正規表現と、正規表現が表わす
文字列集合とを、次のように(1)〜(9)で定義す
る。 (1)φは正規表現であり、空集合 {}を表わす。 (2)εは正規表現であり、長さ0の文字列のみの集合
{“”}を表わす。 (3)Σの各要素aについて、aは正規表現であり、集
合{“a”}を表わす。 (4)Σの各要素c1,…,cnについて、 正規表現
[c12…cn]は集合{“c1”,“c2”,…,
“cn”}を表わす。なお、連続する範囲の文字d1
…,dmを含む正規表現[c1…ck1…dml…cn
は、[c1…ck1−dml…cn]とも書く。特に、Σ
中の任意の1文字語からなる集合を表わす正規表現は、
Σとも書く。 (5)s,tをΣ上の正規表現、それらが表わす集合を
S,Tとすると、s|tは正規表現であり、集合S∪T
を表わす。 (6)s,tをΣ上の正規表現、それらが表わす集合を
S,Tとすると、stは正規表現であり、SとTの文字
列を連接した全ての文字列の集合ST={pq|p∈
S,q∈T}を表わす。 (7)sをΣ上の正規表現とすると、s*は正規表現で
あり、sの表わす集合Sの閉包{“”}∪S∪SS∪S
SS∪SSSS∪…を表わす。 (8)sをΣ上の正規表現とすると、(s)は正規表現
であり、sと同一の集合を表わす。 (9)上記の(1)〜(8)を有限回適用して導かれる
もの以外は正規表現ではない。
【0062】例えば、“19[247-9]Σ”は、数字
「0」,「1」,…,「9」の集合上の正規表現であ
り、文字列の集合、{“1920”,“1921”,
…,“1929”,“1940”,…,“1949”,
“1970”,“1971”,…,“1979”,“1
980”,…,“1989”,“1990”,…,“1
999”}を表わす。
【0063】また、「文字列xが正規表現sに照合す
る」とは、文字列xのある部分列x[p,q] (xの第p文
字から第q文字までの文字をこの順序で並べた文字列)
がsの表わす集合の要素になっていることである。その
際、sの照合文字位置範囲は[p,q] 、照合開始文字位置
はp、照合終了文字位置はqであるという。なお、図中
で文字列を記述する際、誤解の恐れのない場合に
は、“”記号を省略する。以下の説明では、上記の正規
表現のうち、(5)、(7)を除いた規則によって生成
される、制限された正規表現を用いる。
【0064】正規表現と、それに深く関連する有限状態
オートマトン、有限状態機械については、1950年代
から現在に至るまで幅広い研究がなされており、例え
ば、福村,稲垣,“オートマトン・形式言語理論と計算
論”,岩波講座 情報科学6,岩波書店,(1982) や、J.
E.Hopcroft, J.D.Ullman (野崎,高橋,町田,山崎
訳),“オートマトン 言語理論 計算論 ”,サイエン
ス社,(1984)、A.Salomma(北川,佐藤訳),“オート
マトン論”,共立出版,(1974) など、数多くの教科書
に詳細な解説がなされている。これらの教科書による
と、以下の説明でも用いる有限状態機械とは、Σ上の正
規表現の集合Rに対応し、ある定まった文字セットΣ上
の文字列xを入力すると、xの各文字によって状態遷移
を行ない、xを要素として持つ集合を表わすR中の正規
表現(またはその識別子)を出力する「認識機械」であ
る。上記の教科書には、「ロビンソンの方法」と「部分
集合構成法」を用いて、Σ上の正規表現の集合Rに対応
する、このような(決定性の)有限状態機械を機械的に
構成する方法が開示されている。
【0065】以下、本発明の実施の形態について、図1
から図39を用いて説明する。
【0066】(第1の実施の形態)本発明の第1の実施
の形態は、検索対象文書と単語辞書から、正規表現辞書
と、独立な(即ち演繹可能でない)索引要素の列の形の
単語索引を作成する辞書索引作成装置である。
【0067】以下、本発明の第1の実施の形態の辞書索
引作成装置について、図1〜図8を参照しながら説明す
る。図1は、本発明の第1の実施の形態の辞書索引作成
装置の全体構成を表わすブロック図である。
【0068】図1において、101は単語辞書、102は検索
対象文書、103は単語辞書101の各単語(文字列)から、
後述する予め定められた規則に基づいて1つ以上の正規
表現を作成する正規表現作成手段、104は正規表現作成
手段103が作成した正規表現の集合を格納した正規表現
辞書である。105は指定された文字列の最右部分列に照
合する、正規表現集合104中の全ての正規表現を検索す
るための、有限状態機械の形式の辞書を作成する最右正
規表現辞書作成手段である。106は最右正規表現辞書作
成手段105が作成した最右正規表現辞書、107は正規表現
辞書104中の各正規表現sに対して、任意の文字列xが
その正規表現sに照合した場合に、当該文字列xが別の
正規表現tにも照合することが確実に演繹できるような
正規表現tと、tの照合開始文字位置をsの照合開始文
字位置を1とした相対文字位置pとの組み(t,p)を
全て求める演繹可能索引要素作成手段である。
【0069】108は演繹可能索引要素作成手段107が求め
た演繹可能索引要素を全て格納した演繹可能索引要素
表、109は指定された文字列に対して、最右正規表現辞
書106を検索して、当該文字列に照合する正規表現のう
ちで、照合終了文字位置が当該文字列の最終文字位置で
あるようなもの、即ち当該部分列の最右部分列に照合す
る正規表現を全て求める最右正規表現検索手段である。
【0070】111は索引要素を一時的に記憶する一時記
憶域、110は検索対象文書102を逐次読み込み、最右正規
表現検索手段109を駆動して、着目文字位置までの最右
部分文字列に照合する正規表現を全て求めて、照合文字
位置範囲とともに索引要素として一時記憶域111に記憶
するとともに、演繹可能索引要素表108を検索して、記
憶した索引要素から演繹可能な索引要素が一時記憶域11
1に含まれていればこれを削除し、一時記憶域111中で削
除されないことが確定した独立索引要素を出力する動作
を、検索対象文書102の末尾まで繰り返す独立索引要素
作成手段である。112は独立索引要素作成手段110が出力
した独立索引要素を、その正規表現の単語由来の文字列
順に(ただし、単語由来の文字列が同一の場合にはその
前後の正規表現で定まる、予め定めた一定の順序に)整
列して出力する、索引要素整列手段、113は索引要素整
列手段112が出力する単語索引である。
【0071】以上の構成の辞書索引作成装置において、
その動作を、簡単な単語辞書と簡単な検索対象文書を例
に、図面を参照して説明する。図29は単語辞書を構成す
る単語のリストの例、図30は検索対象文書の例、図2は
図29に示す単語からなる単語辞書を用いて作成した正規
表現辞書の例、図3〜図6は演繹可能索引要素表の例、
図7は図30の検索対象文書の先頭から、各文字位置にお
いて、最右部分列に照合する正規表現を求める処理の概
念図、図8は図2に示す正規表現からなる正規表現辞書
を用いて図30の検索対象文書から作成した単語索引の内
容を示す概念図である。
【0072】なお、この例では、文字セットΣとして、
ひらがな文字「あ」〜「ん」、カタカナ文字「ア」〜
「ン」、および、JIS第1水準漢字「亜」〜「腕」を
用いる。その他の文字は、検索対象文書101にも、単語
辞書102にも現れないものとする。
【0073】まず、索引の作成に先立って、図29の内容
の辞書データが単語辞書101に格納され、図30の検索対
象文書データが検索対象文書102に格納される。そし
て、着目文字位置は文頭に設定され、一時記憶域110は
「空」に設定される。単語索引113の作成に先立って、
第1に、図29の内容の単語辞書101中の各単語が正規表
現作成手段103に読み込まれ、正規表現が作成される。
正規表現作成手段103では、以下の3つの規則に従っ
て、単語辞書101中の各単語に対して、その文字数で定
まる、1つ以上の正規表現を作成する。
【0074】(1)着目単語wの文字数が1あるいは2
ならば、wの左側、右側に、それぞれ [あ-ごア-ゴ亜-魂] [さ-どサ-ド些-鈍] [な-ぽナ-ポ奈-盆] [ま-んマ-ン摩-腕] のいずれか1つを付加した正規表現を、合計16個作成す
る。
【0075】(2)着目単語wの文字数が3ならば、w
の左側、右側に、それぞれ [あ-どア-ド亜-鈍] [な-んナ-ン奈-腕] のいずれか1つを付加した正規表現を、合計4個作成す
る。
【0076】(3)着目単語wの文字数が4ならば、w
の左側、右側に、それぞれΣを付加した正規表現 Σw
Σ を1個を作成する。
【0077】(4)着目単語wの文字数が5ならば、w
の左側にΣを付加した正規表現 Σw と、wの右側にΣ
を付加した正規表現 wΣ の2個を作成する。
【0078】(5)着目単語wの文字数が6以上ならば
wそのものからなる正規表現1個を作成する。
【0079】図2において、例えば単語辞書42中の単語
「い」に対しては、1文字語なので、 “[あ-ごア-
ゴ亜-魂]い[あ-ごア-ゴ亜-魂]” から、 “[ま-んマ-ン摩-腕]い[ま-んマ-ン摩-腕]” までの、16個の正規表現が作成され、単語「よりも」に
対しては、3文字語なので、 “[あ-どア-ド亜-鈍]よりも[あ-どア-ド亜-鈍]”, “[あ-どア-ド亜-鈍]よりも[な-んナ-ン奈-腕]”, “[な-んナ-ン奈-腕]よりも[あ-どア-ド亜-鈍]”, “[な-んナ-ン奈-腕]よりも[な-んナ-ン奈-腕]” の4個の正規表現が作成される。また、単語「亜日電
子」に対しては、4文字語なので、“Σ亜日電子Σ”の
みが作成され、単語「電子スピン」に対しては、5文字
語なので、“Σ電子スピン”、“電子スピンΣ”の2個
の正規表現が作成される。単語「亜日電子工業」や「ス
ピン共鳴吸収」に対しては、文字数が6以上なので、正
規表現“亜日電子工業”および“スピン共鳴吸収”が、
それぞれ作成される。
【0080】このようにして、図2のような正規表現辞
書が作成される。また、このとき同時に、作成された各
正規表現の照合文字列の文字数の最大値Lが求められ、
正規表現辞書中に記録される。
【0081】第2に、図2の内容の正規表現辞書104か
ら、図3〜図6のような内容の演繹可能索引要素表108
が作成される。図3〜図6の各行は、正規表現sの索引
要素(s,[p,q])から、索引要素(t1,[p+a1-1,p+a1+|t
1|-2]),…,(tm,[p+am-1,p+am+|tm|-2])が演繹可
能、即ち索引要素(s,[p,q])が最右正規表現検索手段
で検索されれば、確実に索引要素(t1,[p+a1-1,p+a1+|t
1|-2]),…,(tm,[p+am-1,p+am+|tm|-2])も検索され
ることが結論できる場合に、 s → (t1,a1),…,(tm,am) の形式で、正規表現sの全ての演繹可能な索引要素を列
挙したものとなっている。
【0082】演繹可能索引要素表作成手段107におい
て、この表を作成する手順は以下の通りである。まず、
図2のような内容の正規表現辞書104から、正規表現を
順に1つずつ読み込む。この例の場合には、最初に
“[あ-ごア-ゴ亜-魂]い[あ-ごア-ゴ亜-魂]”が読み込ま
れる。次に、この着目正規表現“[あ-ごア-ゴ亜-魂]い
[あ-ごア-ゴ亜-魂]”以外の正規表現で、着目正規表現
の照合文字列の文字数と比べて、照合文字列の文字数が
等しいか、あるいは少ない正規表現を、検査対象正規表
現として順に走査し、着目正規表現の索引要素から演繹
可能か否かを検査し、演繹可能なものを全て求める。演
繹可能なものが、1つ以上見つかった場合には、上記の
s → (t1,a1),…,(tm,am) の形式で出力する。
【0083】以上の動作を着目正規表現として、正規表
現辞書104中の全ての正規表現が読み込まれるまで続
け、処理を終了する。
【0084】演繹可能か否かは、以下のように判定す
る。まず、着目正規表現の照合文字列の文字数が、検査
対象正規表現の照合文字列の文字数よりN文字多い場合
には、着目正規表現の左端からk文字分、右端からN−
k文字分のパターンを削除した削除済着目正規表現を作
成し、照合文字列の文字数を一致させる。ただし、kは
0からNまで、系統的に動かす。それぞれの削除済着目
正規表現に対して、削除済着目正規表現が表わす文字列
集合が、検査対象正規表現が表わす文字列集合の部分集
合になっているか否かを検査する。削除済着目正規表現
が表わす文字列集合が、検査対象正規表現が表わす文字
列集合の部分集合になっている場合には、検査対象正規
表現が照合することは確実であり、削除済着目正規表現
の索引要素から、検査対象正規表現の、相対的な照合開
始文字位置がkだけ離れた索引要素が演繹可能と判定す
る。削除済着目正規表現が表わす文字列集合が、検査対
象正規表現が表わす文字列集合の部分集合になっていな
い場合には、演繹可能でないと判定する。
【0085】例えば着目正規表現が、“[あ-ごア-ゴ亜-
魂]い[あ-ごア-ゴ亜-魂]”の場合、照合文字列の文字数
は3となる。検査対象正規表現として、“[あ-ごア-ゴ
亜-魂]い[さ-どサ-ド些-鈍]”をまず選択するが、この
正規表現の照合文字列の文字数も3であり、N=0,即
ち、kは0のみとなり、削除済着目正規表現は着目正規
表現そのものとなる。削除済着目正規表現が表わす文字
列集合と、検査対象正規表現が表わす文字列集合は共通
部分を持たず、部分集合になっていないので、この検査
対象正規表現の索引要素は演繹可能でないと判定され
る。第2の検査対象正規表現として“[あ-ごア-ゴ亜-
魂]い[な-ぽナ-ポ奈-盆]”を選択するが、この正規表現
も、その表わす文字列集合が着目正規表現の表わす文字
列集合と共通部分を持たず、部分集合の関係にないた
め、演繹可能ではないと判定される。
【0086】このように、図2の正規表現辞書中で、照
合文字列の文字数が3以下のものが順次検査対象正規表
現として選択され、演繹可能か否かが判定されるが、着
目正規表現“[あ-ごア-ゴ亜-魂]い[あ-ごア-ゴ亜-魂]”
から演繹可能と判定されるものはなく、この着目正規表
現は演繹可能な索引要素を持たず、従って演繹可能索引
要素表108にはなにも出力されない。
【0087】また、例えば、着目正規表現として“[あ-
ごア-ゴ亜-魂]ので[あ-ごア-ゴ亜-魂]”が選択された場
合には、この正規表現の照合文字列の文字数が4であ
り、照合文字列の文字数が4以下の正規表現が検査対象
正規表現として順次選択される。
【0088】今、検査対象正規表現として“[あ-ごア-
ゴ亜-魂]の[さ-どサ-ド些-鈍]”を選択すると、照合文
字列の文字数が3なので、N=1であり、k=0および
k=1の2つの場合が検査される。k=0の場合は、着
目正規表現の最終パターンの“[あ-ごア-ゴ亜-魂]”が
削除された“[あ-ごア-ゴ亜-魂]ので”が削除済着目正
規表現となるが、この削除済着目正規表現が表わす文字
列集合{“あので”,…,“おので”,…,“アの
で”,…,“オので”,“亜ので”,…“魂ので”}中
の要素は、いずれも、検査対象正規表現“[あ-ごア-ゴ
亜-魂]の[さ-どサ-ド些-鈍]”の表わす文字列集合の要
素であるので(なぜなら“[さ-どサ-ド些-鈍]”は
「で」に照合するので)、この削除済着目正規表現が表
わす文字列集合は、検査対象正規表現が表わす文字列集
合の部分集合になっている。従って、索引要素(“[あ-
ごア-ゴ亜-魂]ので[あ-ごア-ゴ亜-魂]”,[p,p+3])か
ら、索引要素 (“[あ-ごア-ゴ亜-魂]の[さ-どサ-ド些-
鈍]”,[p,p+2])が演繹可能であると判定される。
【0089】一方、k=1の場合は、着目正規表現の開
始パターンの“[あ-ごア-ゴ亜-魂]”が削除された“の
で[あ-ごア-ゴ亜-魂]”が削除済着目正規表現となる
が、この削除済着目正規表現が表わす文字列集合{“の
であ”,…,“のでお”,…,“のでア”,…,“ので
オ”,“ので亜”,…“ので魂”}のうち、どの要素
も、検査対象正規表現“[あ-ごア-ゴ亜-魂]の[さ-どサ-
ド些-鈍]”の表わす文字列集合には含まれない(1文字
目、および2文字目が異なる)ため、演繹可能でないと
判定される。
【0090】検査対象正規表現として“[な-ぽナ-ポ奈-
盆]で[あ-ごア-ゴ亜-魂]”を選択した場合も、上記と同
様にして、N=1となり、k=1の場合に、索引要素
(“[あ-ごア-ゴ亜-魂]ので[あ-ごア-ゴ亜-魂]”,[p,p+
3])から、索引要素([な-ぽナ-ポ奈-盆]で[あ-ごア-ゴ
亜-魂]”,[p+1,p+3])が演繹可能であると判定される。
【0091】これら2つ以外の検査対象正規表現につい
ては、演繹可能な索引要素はなく、この着目正規表現に
対して、最終的に、[あ-ごア-ゴ亜-魂]ので[あ-ごア-ゴ
亜-魂] → ([あ-ごア-ゴ亜-魂]の[さ-どサ-ド些-鈍]”,
1),([な-ぽナ-ポ奈-盆]で[あ-ごア-ゴ亜-魂],2) が出
力される。
【0092】以上のようにして、図2の全ての正規表現
に対して演繹可能な索引要素が求められ、図3〜図6に
示す演繹可能索引要素表108が求まる。
【0093】このようにして、図3〜図6の演繹可能索
引要素表が作成されたら、第3に、図2の内容の正規表
現辞書104から、最右正規表現辞書作成手段105によっ
て、決定性有限状態機械の形式で、最右正規表現辞書10
9が作成される。この有限状態機械は、正規表現辞書104
中の各正規表現sの前にΣ*なる正規表現を付加した、
t=(Σ*)s全てからなる正規表現の集合に対応し、
検索対象文書の文字列を先頭から1文字ずつ入力する
と、当該文字によって状態遷移を行ない、当該文字まで
の文字列の最右部分文字列に照合する正規表現sを全て
出力する「文字列照合機械」として動作し、正規表現辞
書104内の正規表現の個数にかかわらず、1回の状態遷
移のみの処理で、効率よく最右正規表現を検索できる。
この決定性有限状態機械を、「ロビンソンの方法」と
「部分集合構成法」を用いて作成する方法は、上述の教
科書に詳述されており、また作成結果である決定性有限
状態機械の状態遷移図も非常に複雑になるため、ここで
は作成手順および作成結果の説明を割愛する。
【0094】以上3段階の処理で、正規表現辞書104、
演繹可能索引要素表108、最右正規表現辞書106の作成が
終了し、検索対象文書102から単語索引113を作成する第
4の処理が開始される。
【0095】独立索引要素作成手段110は、検索対象文
書102を逐次読み込み、最右正規表現検索手段109を駆動
して、着目文字位置qまでの最右部分文字列に照合する
正規表現sを全て求めて、照合文字位置範囲 [p,q] と
ともに索引要素 (s,[p,q])として一時記憶域111に記憶
するとともに、検索した各正規表現sを鍵にして、s
→ (t1,a1),…,(tm,am)の形の要素を演繹可能索引要
素表108から検索し、索引要素 (s,[p,q]) の演繹可能索
引要素の候補(t1,[p+a1-1,p+a1+|t1|-2]),…,(tm,[p+
am-1,p+am+|tm|-2]) を求める。これらの候補が一時記
憶域111に含まれていればこれらの索引要素を削除す
る。その後、一時記憶域111中で、照合開始文字位置が
(q+1−L)以下の索引要素は、正規表現辞書104中
の正規表現の照合文字列の文字数がLであることから、
以降の処理では削除されないことが確定したので、「独
立索引要素」(=他のどの索引要素からも演繹可能でな
い索引要素)として出力し、同時に出力した索引要素
は、以降の処理には不要なので、この索引要素を一時記
憶機111から削除する。独立索引要素作成手段110は、以
上の動作を、着目文字位置qが検索対象文書102の末尾
に達するまで繰り返す。最後に、一時記憶域内の全ての
索引要素を出力して、独立索引要素の作成処理を終了す
る。
【0096】図2の内容の正規表現辞書104、および対
応する演繹可能索引要素表108、最右正規表現辞書106を
用いて、図30の内容の検索対象文書に対する独立索引要
素を求める処理の例を、図7の概念図を元に説明する。
なお、図7においては、正規表現のパターンの一部を、
簡単のため、〜の記号で表わした。
【0097】最初に、着目文字位置q=1で、先頭文字
「亜」を読み込み、最右正規表現検索手段109で「亜」
の最右部分文字列、即ち「亜」そのものに照合する正規
表現を最右正規表現辞書106から検索するが、図2から
わかるように、該当する正規表現はない。(図2の正規
表現は、その照合文字列の文字数が3以上7である)一
時記憶域111が空なので、削除処理も、出力処理も行な
われない。
【0098】q=2となり、第2文字「日」を読み込
み、最右正規表現検索手段109で「亜日」の最右部分文
字列、即ち「日」、「亜日」のいずれかに照合する正規
表現を検索するが、やはり該当する正規表現はない。一
時記憶域111が空なので、削除処理も、出力処理も行な
われない。
【0099】q=3で、第3文字「電」までの文字列
「亜日電」でもやはり該当する正規表現はない。一時記
憶域111が空なので、削除処理も、出力処理も行なわれ
ない。
【0100】q=4となり、第4文字「子」までの文字
列「亜日電子」の最右部分文字列の1つ「亜日電子」に
は、“日電”から作成した正規表現“[あ-ごア-ゴ亜-
魂]日電[さ-どサ-ド些-鈍]”が照合し、また、「亜日電
子」の最右部分文字列の1つ「日電子」には、“電”か
ら作成した正規表現“[な-ぽナ-ポ奈-盆]電[さ-どサ-ド
些-鈍]”が照合するので、この2つの正規表現の索引要
素(“[あ-ごア-ゴ亜-魂]日電[さ-どサ-ド些-鈍]”,[1,
4])および(“[な-ぽナ-ポ奈-盆]電[さ-どサ-ド些-
鈍]”,[2,4])の2つが一時記憶域111に記憶される。図
3〜図6内容の演繹可能索引要素表108には“[あ-ごア-
ゴ亜-魂]日電[さ-どサ-ド些-鈍]”→ (“[な-ぽナ-ポ
奈-盆]電[さ-どサ-ド些-鈍]”,1) の形の要素があり、
(“[あ-ごア-ゴ亜-魂]日電[さ-どサ-ド些-鈍]”,[1,
4])から(“[な-ぽナ-ポ奈-盆]電[さ-どサ-ド些-
鈍]”,[2,4])が演繹可能であることがわかる。この演
繹可能索引要素は、まさに、今一時記憶域111に格納し
た索引要素のうちの1つであり、この索引要素は、一時
記憶域111から削除される。図7の(注2)にあるよう
に、削除される索引要素は、図7では箱囲みされてい
る。また、(q+1−L)=4+1―7=−2なので、
削除されないことが確定した要素は一時記憶域111には
なく、出力処理は行なわれない。結果として、q=4で
の処理終了時点では、一時記憶域111には、(“[あ-ご
ア-ゴ亜-魂]日電[さ-どサ-ド些-鈍]”,[1,4])ただ1つ
が記憶される。
【0101】q=5となり、第5文字「の」までの文字
列「亜日電子の」の最右部分文字列中では、「日電子
の」のみに、“電子”から作成した正規表現“[な-ぽナ
-ポ奈-盆]電子[な-ぽナ-ポ奈-盆]”が照合し、索引要素
(“[な-ぽナ-ポ奈-盆]電子[な-ぽナ-ポ奈-盆]”,[2,
5])が一時記憶域111に記憶される。この索引要素の演
繹可能索引要素は、図6からわかるように(“[な-ぽナ
-ポ奈-盆]電[さ-どサ-ド些-鈍]”,[2,4])であるが、こ
の索引要素はq=4の時に既に削除されて一時記憶域11
1にはなく、削除処理は行なわれない。(q+1−L)
=5+1―7=−1なので、出力処理も行なわれない。
結果として、q=5での処理終了時点では、一時記憶域
111には、(“[あ-ごア-ゴ亜-魂]日電[さ-どサ-ド些-
鈍]”,[1,4])および(“[な-ぽナ-ポ奈-盆]電子[な-ぽ
ナ-ポ奈-盆]”,[2,5])の2つが記憶される。
【0102】q=6となり、第6文字「電」までの文字
列「亜日電子の電」の最右部分文字列中では、「子の
電」のみに、“の”から作成した正規表現“[さ-どサ-
ド些-鈍]の[さ-どサ-ド些-鈍]”が照合し、索引要素
(“[さ-どサ-ド些-鈍]の[さ-どサ-ド些-鈍]”,[4,6])
が一時記憶域111に記憶される。この正規表現に対する
演繹可能な索引要素はないので、削除処理は行なわれ
ず、また、(q+1−L)=6+1―7=0なので、出
力処理も行なわれない。結果として、q=6での処理終
了時点では、一時記憶域111には、(“[あ-ごア-ゴ亜-
魂]日電[さ-どサ-ド些-鈍]”,[1,4])、(“[な-ぽナ-
ポ奈-盆]電子[な-ぽナ-ポ奈-盆]”,[2,5])および
(“[さ-どサ-ド些-鈍]の[さ-どサ-ド些-鈍]”,[4,6])
の3つが記憶される。
【0103】q=7となり、第7文字「子」までの文字
列「亜日電子の電子」の最右部分文字列中では、「の電
子」のみに、“電”から作成した正規表現“[な-ぽナ-
ポ奈-盆]電[さ-どサ-ド些-鈍]”が照合し、索引要素
(“[な-ぽナ-ポ奈-盆]電[さ-どサ-ド些-鈍]”,[5,7])
が一時記憶域111に記憶される。この正規表現に対する
演繹可能な索引要素はないので、削除処理は行なわれな
い。また、(q+1−L)=7+1―7=1なので、照
合開始文字位置が1以下である、一時記憶域111中の索
引要素の、(“[あ-ごア-ゴ亜-魂]日電[さ-どサ-ド些-
鈍]”,[1,4])が削除されないことが確定し、独立索引
要素として出力され、その後一時記憶域111から削除さ
れる。結果として、q=7での処理終了時点では、一時
記憶域111には、(“[な-ぽナ-ポ奈-盆]電子[な-ぽナ-
ポ奈-盆]”,[2,5])、(“[さ-どサ-ド些-鈍]の[さ-ど
サ-ド些-鈍]”,[4,6])および(“[な-ぽナ-ポ奈-盆]電
[さ-どサ-ド些-鈍]”,[5,7])の3つが記憶される。
【0104】q=8となり、第8文字「ス」までの文字
列「亜日電子の電子ス」の最右部分文字列中では、「の
電子ス」のみに、“電子”から作成した正規表現“[な-
ぽナ-ポ奈-盆]電子[さ-どサ-ド些-鈍]”が照合し、索引
要素(“[な-ぽナ-ポ奈-盆]電子[さ-どサ-ド些-鈍]”,
[5,8])が一時記憶域111に記憶される。この索引要素の
演繹可能索引要素は、図6からわかるように(“[な-ぽ
ナ-ポ奈-盆]電[さ-どサ-ド些-鈍]”,[5,7])であり、こ
の索引要素は一時記憶域111にあるので、この索引要素
は削除される。その後、照合開始文字位置が(q+1−
L)=8+1―7=2以下である、一時記憶域111中の
索引要素として、(“[な-ぽナ-ポ奈-盆]電子[な-ぽナ-
ポ奈-盆]”,[2,5])が出力され、同時に一時記憶域111
から削除される。結果として、q=8での処理終了時点
では、一時記憶域111には、(“[さ-どサ-ド些-鈍]の
[さ-どサ-ド些-鈍]”,[4,6])および(“[な-ぽナ-ポ奈
-盆]電子[さ-どサ-ド些-鈍]”,[5,8])の2つが記憶さ
れる。
【0105】このようにして、文字位置qを1つずつ後
方に移動しながら、順次処理を進めてゆき、末尾であ
る、q=31での処理を終了した後、一時記憶域111に格
納されている索引要素(“[あ-ごア-ゴ亜-魂]が[さ-ど
サ-ド些-鈍]”,[27,29])および(“[あ-ごア-ゴ亜-魂]
大き[あ-ごア-ゴ亜-魂]”,[28,31])を出力して、独立
索引要素の作成処理が終了する。作成処理終了時点で
は、図7に示すように、箱囲みで示す6個の索引要素が
削除され、残りの20個の索引要素が独立索引要素として
出力される。
【0106】以上、第4の処理で、独立索引要素の作成
処理が終了し、独立索引要素を整列する、第5の処理が
開始される。索引要素整列手段112は、独立索引要素作
成手段110が出力した索引要素を、 (1)正規表現の由来する単語辞書中の文字列の昇順
(即ち辞書順)に整列する。 (2)上記(1)で順序が等しい索引要素は、当該文字
列の左側に付加された、正規表現の昇順に整列する。 (3)上記(2)で順序が等しい索引要素は、当該文字
列の右側に付加された、正規表現の昇順に整列する。 (4)上記(3)で順序が等しい索引要素は、照合文字
位置範囲の昇順に整列する。 の4種の基準で整列する。ただし、「正規表現の順序」
は、正規表現が表わす文字列集合の中の最小の文字列の
大小関係で定めるものとし、最小の文字列が等しい場合
には、次に小さい文字列同士の大小関係で定め、以下同
様に、大小関係が決定するまで、小さな文字列同士を比
較するものとする。片方の正規表現の側で、比較すべき
文字列が尽きた場合には、尽きたほうが「小さい」と
し、両方の正規表現で同時に比較すべき文字列が尽きた
場合には、両者は等しいとする。
【0107】一方、「照合文字位置範囲の順序」は、照
合開始文字位置の大小関係で定め、照合開始文字位置が
等しい場合には、照合終了文字位置の大小関係で定める
ものとする。
【0108】例えば、正規表現s=“[あ-ごア-ゴ亜-
魂]”と、t=“[あ-どア-ド亜-鈍]”は、sの表わす文
字列集合Sが、tの表わす文字列集合Tの部分集合にな
っており、sの側で、比較すべき文字列が尽きるので、
s<tである。また、正規表現s=“[あ-ごア-ゴ亜-
魂]”と、t=“い”は、sの表わす文字列集合S中の
最小の要素が“あ”なので、s<tである。以上の整列
基準に従って、索引要素整列手段112は、通常使用さ
れる整列方法である「クイックソート」法により、20個
の索引要素を図8のように整列して、単語索引113を作
成し、正規表現辞書作成、および単語索引作成処理を終
了する。
【0109】以上の説明のように、本発明の第1の実施
の形態の辞書索引作成装置によれば、正規表現を用い、
独立な(即ち演繹可能でない)索引要素の列の形で単語
索引を作成するため、従来の索引作成方法に比べ、個々
の索引要素の照合文字位置範囲が長く、かつ、重なりが
多いため、従来の単語索引で効率低下の原因となる、
「検索対象文字列が比較的文字数の少なく、重なりの少
ない単語によって被覆される場合」が大幅に減少してお
り、より高速な全文検索処理が可能になる。
【0110】(第2の実施の形態)本発明の第2の実施
の形態は、特別な文字を開始/終了記号として検索対象
文書の前後に付与して、正規表現辞書と単語索引を作成
する辞書索引作成装置である。
【0111】以下、本発明の第2の実施の形態の辞書索
引作成装置について、図9〜図12を参照しながら説明す
る。図9は、本発明の第2の実施の形態の辞書索引作成
装置の全体構成を表わすブロック図である。
【0112】図9において、901は単語辞書、902は検索
対象文書、914は検索対象文書902の先頭、および末尾
に、1文字の特殊文字「?」を付加する開始/終了記号
付加手段、915は開始/終了記号付加手段の出力する拡
大検索対象文書である。903は単語辞書901の各単語(文
字列)から、予め定められた規則に基づいて1つ以上の
正規表現を作成する正規表現作成手段、904は正規表現
作成手段903が作成した正規表現の集合を格納した正規
表現辞書である。
【0113】905は、指定された文字列の最右部分列に
照合する、正規表現集合904中の全ての正規表現を検索
するための、有限状態機械の形式の辞書を作成する最右
正規表現辞書作成手段である。906は最右正規表現辞書
作成手段905が作成した最右正規表現辞書である。907は
正規表現辞書904中の各正規表現sに対して、任意の文
字列xがその正規表現sに照合した場合に、当該文字列
xが別の正規表現tにも照合することが確実に演繹でき
るような正規表現tと、tの照合開始文字位置をsの照
合開始文字位置を1とした相対文字位置pとの組み
(t,p)を全て求める演繹可能索引要素作成手段であ
る。
【0114】908は、演繹可能索引要素作成手段907が求
めた演繹可能索引要素を全て格納した演繹可能索引要素
表である。909は指定された文字列に対して、最右正規
表現辞書906を検索して、当該文字列に照合する正規表
現のうちで、照合終了文字位置が当該文字列の最終文字
位置であるようなもの、即ち当該部分列の最右部分列に
照合する正規表現を全て求める最右正規表現検索手段で
ある。911は索引要素を一時的に記憶する一時記憶域で
ある。
【0115】910は、拡大検索対象文書915を逐次読み込
み、最右正規表現検索手段909を駆動して、着目文字位
置までの最右部分文字列に照合する正規表現を全て求め
て、照合文字位置範囲とともに索引要素として一時記憶
域911に記憶するとともに、演繹可能索引要素表908を検
索して、記憶した索引要素から演繹可能な索引要素が一
時記憶域911に含まれていればこれを削除し、一時記憶
域111中で、削除されないことが確定した、独立索引要
素を出力する動作を拡大検索対象文書915の末尾まで繰
り返す独立索引要素作成手段である。
【0116】912は、独立索引要素作成手段910が出力し
た独立索引要素を、その正規表現の単語由来の文字列順
に(ただし、単語由来の文字列が同一の場合にはその前
後の正規表現で定まる、予め定めた一定の順序に)整列
して出力する、索引要素整列手段である。913は索引要
素整列手段912が出力する単語索引である。なお、図9
の構成要素901乃至913は、第1の実施の形態のブロック
図である図1の構成要素101乃至113と対応する。
【0117】以上の構成の辞書索引作成装置において、
その動作を、簡単な単語辞書と簡単な検索対象文書を例
に、図面を参照して説明する。図29は単語辞書を構成す
る単語のリストの例、図30は検索対象文書の例、図10は
図29に示す単語からなる単語辞書を用いて作成した正規
表現辞書の例、図11は図30の検索対象文書の前後に、文
字「?」を付与した拡大検索対象文書の先頭から、各文
字位置において、最右部分列に照合する正規表現を求め
る処理の概念図、図12は図10に示す正規表現からなる正
規表現辞書を用いて作成した単語索引の内容を示す概念
図である。
【0118】なお、この例では、文字セットΣとして、
ひらがな文字「あ」〜「ん」、カタカナ文字「ア」〜
「ン」、および、JIS第1水準漢字「亜」〜「腕」、
および特殊文字「?」を用いる。文字同士の大小比較で
は、「?」は、その他のどの文字よりも「小さい」とす
る。特殊文字「?」およびその他の文字は、検索対象文
書901にも、単語辞書902にも現れないものとする。
【0119】まず、索引の作成に先立って、図29の内容
の辞書データが単語辞書901に格納され、図30の検索対
象文書データが検索対象文書902に格納される。次に、
開始/終了記号付与手段914が、検索対象文書である文
字列の前後に「?」を付与した文字列を作成して、拡大
検索対象文書915に格納する。そして、着目文字位置は
文頭に設定され、一時記憶域110は「空」に設定され
る。ただし、文頭の「?」の文字位置は、検索対象文書
の本来の先頭文字である「亜」の文字位置が1となるよ
う、0とされる。
【0120】なお、この例では、後述する正規表現付与
手段903で、単語辞書901中の各単語から作成した正規表
現が表わす文字列集合中の各文字列が、元の単語の前後
に最大1文字を追加した文字列であることから、開始/
終了記号付与手段914が検索対象文書902の前後に付与す
る文字数は、それぞれ1文字と定まる。
【0121】単語索引913の作成に先立って、第1に、
図29の内容の単語辞書901中の各単語が正規表現作成手
段903に読み込まれ、正規表現が作成される。正規表現
作成手段903では、第1の実施の形態における正規表現
作成手段103と同様に、以下の3つの規則に従って、単
語辞書901中の各単語に対して、その文字数で定まる、
1つ以上の正規表現を作成する。
【0122】(1)着目単語wの文字数が1あるいは2
ならば、wの左側、右側に、それぞれ [?あ-ごア-ゴ亜-魂] [さ-どサ-ド些-鈍] [な-ぽナ-ポ奈-盆] [ま-んマ-ン摩-腕] のいずれか1つを付加した正規表現を、合計16個作成す
る。
【0123】(2)着目単語wの文字数が3ならば、w
の左側、右側に、それぞれ [?あ-どア-ド亜-鈍] [な-んナ-ン奈-腕] のいずれか1つを付加した正規表現を、合計4個作成す
る。
【0124】(3)着目単語wの文字数が4ならば、w
の左側、右側に、それぞれΣを付加した正規表現 Σw
Σ 1個を作成する。
【0125】(4)着目単語wの文字数が5ならば、w
の左側にΣを付加した正規表現 Σw と、wの右側にΣ
を付加した正規表現 wΣ の2個を作成する。
【0126】(5)着目単語wの文字数が6以上ならば
wそのものからなる正規表現1個を作成する。
【0127】図10において、例えば単語辞書42中の単語
「い」に対しては、1文字語なので、 “[?あ-ごア-ゴ亜-魂]い[あ-ごア-ゴ亜-魂]” から、 “[?ま-んマ-ン摩-腕]い[ま-んマ-ン摩-腕]” までの、16個の正規表現が作成され、単語「よりも」に
対しては、3文字語なので、 “[?あ-どア-ド亜-鈍]よりも[?あ-どア-ド亜-鈍]”, “[?あ-どア-ド亜-鈍]よりも[な-んナ-ン奈-腕]”, “[な-んナ-ン奈-腕]よりも[?あ-どア-ド亜-鈍]”, “[な-んナ-ン奈-腕]よりも[な-んナ-ン奈-腕]” の4個の正規表現が作成される。
【0128】このようにして、第1の実施の形態におけ
る処理と同様の処理で、図10のような正規表現辞書が作
成される。また、このとき同時に、作成された各正規表
現の照合文字列の文字数の最大値Lが求められ、正規表
現辞書中に記録される。この例では、L=7が記憶され
る。
【0129】第2に、図10の内容の正規表現辞書904か
ら、演繹可能索引要素表908が作成される。演繹可能索
引要素表908の形式や、その作成手順は、第1の実施の
形態における場合と同様であるので、ここでは説明を省
略する。
【0130】演繹可能索引要素表908が作成されたら、
第3に、図2の内容の正規表現辞書904から、最右正規
表現辞書作成手段905によって、決定性有限状態機械の
形式で、最右正規表現辞書909が作成される。この有限
状態機械は、正規表現辞書904中の各正規表現sの前に
Σ*なる正規表現を付加した、t=(Σ*)s 全てか
らなる正規表現の集合に対応し、検索対象文書の文字列
を先頭から1文字ずつ入力すると、当該文字によって状
態遷移を行ない、当該文字までの文字列の最右部分文字
列に照合する正規表現sを全て出力する「文字列照合機
械」として動作するもので、第1の実施の形態における
場合と同様にして作成できる。
【0131】以上3段階の処理で、正規表現辞書904、
演繹可能索引要素表908、最右正規表現辞書906の作成が
終了し、拡大検索対象文書915から単語索引913を作成す
る第4の処理が開始される。
【0132】独立索引要素作成手段910は、拡大検索対
象文書915を逐次読み込み、最右正規表現検索手段909を
駆動して、着目文字位置q(先頭位置は0である)まで
の最右部分文字列に照合する正規表現sを全て求めて、
照合文字位置範囲 [p,q] とともに索引要素 (s,[p,q])
として一時記憶域911に記憶するとともに、検索した各
正規表現sを鍵にして、s → (t1,a1),…,(tm,am)の
形の要素を演繹可能索引要素表908から検索し、索引要
素 (s,[p,q]) の演繹可能索引要素の候補(t1,[p+a1-1,p
+a1+|t1|-2]),…,(tm,[p+am-1,p+am+|tm|-2]) を求め
る。これらの候補が一時記憶域911に含まれていればこ
れらの索引要素を削除する。
【0133】その後、一時記憶域911中で、照合開始文
字位置が(q+1−L)以下の索引要素は、正規表現辞
書904中の正規表現の照合文字列の文字数がLであるこ
とから、以降の処理では削除されないことが確定したの
で、「独立索引要素」(=他のどの索引要素からも演繹
可能でない索引要素)として出力し、同時に出力した索
引要素は、以降の処理には不要なので、この索引要素を
一時記憶機911から削除する。独立索引要素作成手段910
は、以上の動作を、着目文字位置qが拡大検索対象文書
915の末尾に達するまで繰り返す。最後に、一時記憶域
内の全ての索引要素を出力して、独立索引要素の作成処
理を終了する。
【0134】図11は、図10の内容の正規表現辞書904、
および対応する演繹可能索引要素表、最右正規表現辞書
を用いて、図30の内容の検索対象文書の前後に「?」を
付与した拡大検索対象文書に対する独立索引要素を求め
る処理の概念図である。その処理手順は、第1の実施の
形態における、独立索引要素作成の処理手順と同一であ
り、異なる点は、先頭文字位置が0であることのみであ
るので、処理の説明は省略するが、先頭に「?」がある
ことによって、“Σ亜日電子Σ”が照合し、その影響で
“日電”と“電子”が削除され、また末尾に
「?」があることによって、“い”が照合するな
ど、「?」を付与しない場合に比べて、文頭および文末
付近での処理結果に差異が生じていることがわかる。
【0135】以上、第4の処理で、独立索引要素の作成
処理が終了し、独立索引要素を整列する、第5の処理が
開始される。索引要素整列手段912での整列処理手順
も、第1の実施の形態における、索引要素整列手段112
と同様であり説明を省略する。ただ1つの違いは、文字
セットΣに、どの文字よりも小さな文字「?」が加わっ
たことである。最終的に、図12のような内容の単語索引
913を作成し、正規表現辞書作成、および単語索引作成
処理を終了する。
【0136】以上の説明のように、本発明の第2の実施
の形態の辞書索引作成装置によれば、特別な文字を検索
対象文書の前後に付与するので、単語辞書中で先頭部分
および末尾部分に照合していた単語(文字列)を元に作
成した正規表現がそれぞれ検索対象文書の先頭部分およ
び末尾部分に、照合するようになり、検索対象文書の先
頭部分および末尾部分を含む、検索対象文書全体で、従
来の索引作成方法に比べ、個々の索引要素の照合文字位
置範囲が長く、かつ、重なりが多いため、従来の単語索
引で効率低下の原因となる、「検索対象文字列が比較的
文字数の少なく、重なりの少ない単語によって被覆され
る場合」が大幅に減少しており、より高速な全文検索処
理が可能になる。
【0137】(第3の実施の形態)本発明の第3の実施
の形態は、単語辞書にない全ての1文字語を単語辞書に
追加して、正規表現辞書と単語索引を作成する辞書索引
作成装置である。
【0138】以下、本発明の第3の実施の形態の辞書索
引作成装置について、図13〜図17を参照しながら説明す
る。図13は、本発明の第3の実施の形態の辞書索引作成
装置の全体構成を表わすブロック図である。
【0139】図13において、1301は単語辞書、1302は検
索対象文書、1314は単語辞書1301に、当該辞書中に含ま
れていない全ての1文字語を追加する1文字語追加手
段、1315は1文字語追加手段1314の出力する拡張単語辞
書である。1303は拡張単語辞書1315の各単語(文字列)
から、予め定められた規則に基づいて1つ以上の正規表
現を作成する正規表現作成手段、1304は正規表現作成手
段1303が作成した正規表現の集合を格納した正規表現辞
書である。1305は指定された文字列の最右部分列に照合
する、正規表現集合1304中の全ての正規表現を検索する
ための、有限状態機械の形式の辞書を作成する最右正規
表現辞書作成手段である。
【0140】1306は最右正規表現辞書作成手段1305が作
成した最右正規表現辞書である。1307は正規表現辞書13
04中の各正規表現sに対して、任意の文字列xがその正
規表現sに照合した場合に、当該文字列xが別の正規表
現tにも照合することが確実に演繹できるような正規表
現tと、tの照合開始文字位置をsの照合開始文字位置
を1とした相対文字位置pとの組み(t,p)を全て求
める演繹可能索引要素作成手段である。1308は演繹可能
索引要素作成手段1307が求めた演繹可能索引要素を全て
格納した演繹可能索引要素表である。
【0141】1309は指定された文字列に対して、最右正
規表現辞書1306を検索して、当該文字列に照合する正規
表現のうちで、照合終了文字位置が当該文字列の最終文
字位置であるようなもの、即ち当該部分列の最右部分列
に照合する正規表現を全て求める最右正規表現検索手段
である。1311は索引要素を一時的に記憶する一時記憶域
である。1310は検索対象文書1302を逐次読み込み、最右
正規表現検索手段1309を駆動して、着目文字位置までの
最右部分文字列に照合する正規表現を全て求めて、照合
文字位置範囲とともに索引要素として一時記憶域1311に
記憶するとともに、演繹可能索引要素表1308を検索し
て、記憶した索引要素から演繹可能な索引要素が一時記
憶域1311に含まれていればこれを削除し、一時記憶域13
11中で、削除されないことが確定した、独立索引要素を
出力する動作を検索対象文書1302の末尾まで繰り返す独
立索引要素作成手段である。
【0142】1312は独立索引要素作成手段1310が出力し
た独立索引要素を、その正規表現の単語由来の文字列順
に(ただし、単語由来の文字列が同一の場合にはその前
後の正規表現で定まる、予め定めた一定の順序に)整列
して出力する、索引要素整列手段である。1313は索引要
素整列手段1312が出力する単語索引である。なお、図13
の構成要素1301乃至1313は、第1の実施の形態のブロッ
ク図である図1の構成要素101乃至113と対応する。
【0143】以上の構成の辞書索引作成装置において、
その動作を、簡単な単語辞書と簡単な検索対象文書を例
に、図面を参照して説明する。図29は単語辞書を構成す
る単語のリストの例、図15は検索対象文書の例、図14は
図29に示す単語からなる単語辞書を用いて作成した拡張
単語辞書の例、図16は図15の検索対象文書の先頭から、
各文字位置において最右部分列に照合する正規表現を求
める処理の概念図、図17は図14に示す拡張単語辞書から
作成した正規表現辞書を用いて作成した単語索引の内容
を示す概念図である。なお、この例では、文字セットΣ
として、ひらがな文字「あ」〜「ん」、カタカナ文字
「ア」〜「ン」、および、JIS第1水準漢字「亜」〜
「腕」を用いる。文字同士の大小比較では、ひらがなは
カタカナより小さく、カタカナは漢字より小さいとす
る。漢字同士の大小は音読みのひらがな列の大小で定ま
るものとする。その他の文字は、検索対象文書1301に
も、単語辞書1302にも現れないものとする。
【0144】まず、索引の作成に先立って、図29の内容
の辞書データが単語辞書1301に格納され、図15の検索対
象文書データが検索対象文書1302に格納される。次に、
1文字語追加手段手段1314が、単語辞書1301に、当該単
語辞書中にない、全ての1文字語を追加した、図14の内
容の単語辞書を作成して、拡張単語辞書1315に格納す
る。そして、着目文字位置は文頭に設定され、一時記憶
域110は「空」に設定される。
【0145】単語索引1313の作成に先立って、第1に、
図14の内容の拡張単語辞書1315中の各単語が正規表現作
成手段1303に読み込まれ、第1の実施の形態と同様な処
理が行なわれて、正規表現が作成される。このとき同時
に、作成された各正規表現の照合文字列の文字数の最大
値Lが求められ、正規表現辞書中に記録される。この例
では、L=7となる。
【0146】第2に、正規表現辞書1304から、演繹可能
索引要素表1308が作成される。演繹可能索引要素表1308
の形式や、その作成手順は、第1の実施の形態における
場合と同様であるので、ここでは説明を省略する。
【0147】第3に、正規表現辞書1304から、最右正規
表現辞書作成手段1305によって、決定性有限状態機械の
形式で、最右正規表現辞書1309が作成される。最右正規
表現辞書1309の作成手順は、第1の実施の形態における
場合と同様であるので、ここでは説明を省略する。
【0148】以上3段階の処理で、正規表現辞書1304、
演繹可能索引要素表1308、最右正規表現辞書1306の作成
が終了し、検索対象文書1302から独立索引要素を作成す
る第4の処理が開始される。独立索引要素作成手段1310
での独立索引要素の作成手順と、索引要素整列手段1312
での索引要素の整列手順は、第1の実施の形態におけ
る、独立索引要素作成手段110での独立索引要素の作成
手順と、索引要素整列手段112での索引要素の整列手順
と、それぞれ同一である。
【0149】図16は、図14の内容の拡張単語辞書1315、
および対応する演繹可能索引要素表、最右正規表現辞書
を用いて、図15の内容の検索対象文書に対する独立索引
要素を求める処理の概念図である。処理の説明は第1の
実施の形態での説明と重複するので省略するが、この検
索対象文書には、拡張前の単語辞書には現れていない
「陽」という文字があり、拡張前の単語辞書では、この
文字を含む部分の照合はないが、拡張単語辞書を用いて
いるため、「陽」を含む全ての1文字語が拡張単語辞書
にあり、この文字を含む部分の索引要素が選らばれてい
ることがわかる。
【0150】以上、第4の処理で、独立索引要素の作成
処理が終了し、独立索引要素を整列する、第5の処理が
開始される。索引要素整列手段1312での整列処理手順
も、第1の実施の形態における、索引要素整列手段112
と同様であり説明を省略する。最終的に、図17のような
内容の単語索引1313を作成し、正規表現辞書作成、およ
び単語索引作成処理を終了する。
【0151】以上の説明のように、本発明の第3の実施
の形態の辞書索引作成装置によれば、単語辞書にない、
全ての1文字語を単語辞書に追加するので、検索対象文
書が、追加前の単語辞書中のどの単語にも現れない文字
を含む場合でも、追加した1文字語を元に作成した正規
表現がそのような文字を含む部分に照合するようにな
り、検索対象文書全体で、従来の索引作成方法に比べ、
個々の索引要素の照合文字位置範囲が長く、かつ、重な
りが多いため、従来の単語索引で効率低下の原因とな
る、「検索対象文字列が比較的文字数の少なく、重なり
の少ない単語によって被覆される場合」が大幅に減少し
ており、より高速な全文検索処理が可能になる。
【0152】(第4の実施の形態)本発明の第4の実施
の形態は、出現頻度の高い単語ほど多数の正規表現に細
かく区分し、頻度の低い単語には文字数の少ない正規表
現を割り当てた正規表現辞書を作成し、これを用いて単
語索引を作成する辞書索引作成装置である。
【0153】以下、本発明の第4の実施の形態の辞書索
引作成装置でについて、図18〜図22を参照しながら説明
する。図18は、本発明の第4の実施の形態の辞書索引作
成装置の全体構成を表わすブロック図である。
【0154】図18において、1801は単語辞書、1802は検
索対象文書、1814は各単語のサンプル文書での出現頻度
を格納した単語頻度データ、1803は単語辞書1801の各単
語(文字列)と、単語頻度データ1814中の各単語の頻度
から、後述する、予め定められた規則に基づいて1つ以
上の正規表現を作成する正規表現作成手段である。1804
は正規表現作成手段1803が作成した正規表現の集合を格
納した正規表現辞書、1805は指定された文字列の最右部
分列に照合する、正規表現集合1804中の全ての正規表現
を検索するための、有限状態機械の形式の辞書を作成す
る最右正規表現辞書作成手段である。
【0155】1806は、最右正規表現辞書作成手段1805が
作成した最右正規表現辞書、1807は正規表現辞書1804中
の各正規表現sに対して、任意の文字列xがその正規表
現sに照合した場合に、当該文字列xが別の正規表現t
にも照合することが確実に演繹できるような正規表現t
と、tの照合開始文字位置をsの照合開始文字位置を1
とした相対文字位置pとの組み(t,p)を全て求める
演繹可能索引要素作成手段である。1808は演繹可能索引
要素作成手段1807が求めた演繹可能索引要素を全て格納
した演繹可能索引要素表、1809は指定された文字列に対
して、最右正規表現辞書1806を検索して、当該文字列に
照合する正規表現のうちで、照合終了文字位置が当該文
字列の最終文字位置であるようなもの、即ち当該部分列
の最右部分列に照合する正規表現を全て求める最右正規
表現検索手段である。
【0156】1811は、索引要素を一時的に記憶する一時
記憶域、1810は検索対象文書1802を逐次読み込み、最右
正規表現検索手段1809を駆動して、着目文字位置までの
最右部分文字列に照合する正規表現を全て求めて、照合
文字位置範囲とともに索引要素として一時記憶域1811に
記憶するとともに、演繹可能索引要素表1808を検索し
て、記憶した索引要素から演繹可能な索引要素が一時記
憶域1811に含まれていればこれを削除し、一時記憶域18
11中で、削除されないことが確定した、独立索引要素を
出力する動作を検索対象文書1802の末尾まで繰り返す独
立索引要素作成手段である。
【0157】1812は、独立索引要素作成手段1810が出力
した独立索引要素を、その正規表現の単語由来の文字列
順に(ただし、単語由来の文字列が同一の場合にはその
前後の正規表現で定まる、予め定めた一定の順序に)整
列して出力する、索引要素整列手段、1813は索引要素整
列手段1812が出力する単語索引である。なお、図18の構
成要素1801乃至1813は、第1の実施の形態のブロック図
である図1の構成要素101乃至113と対応する。
【0158】以上の構成の辞書索引作成装置において、
その動作を、簡単な単語辞書と簡単な検索対象文書を例
に、図面を参照して説明する。図29は単語辞書を構成す
る単語のリストの例、図30は検索対象文書の例、図19は
単語頻度データの例、図20は図29に示す単語からなる単
語辞書と、図19の内容の単語頻度データとを用いて作成
した正規表現辞書の例、図21は図30の検索対象文書の先
頭から、各文字位置において、最右部分列に照合する正
規表現を求める処理の概念図、図22は図20に示す正規表
現からなる正規表現辞書を用いて図30の検索対象文書か
ら作成した単語索引の内容を示す概念図である。なお、
この例では、文字セットΣとして、ひらがな文字「あ」
〜「ん」、カタカナ文字「ア」〜「ン」、および、JI
S第1水準漢字「亜」〜「腕」を用いる。その他の文字
は、検索対象文書1801にも、単語辞書1802にも現れない
ものとする。
【0159】まず、索引の作成に先立って、図29の内容
の辞書データが単語辞書1801に格納され、図30の検索対
象文書データが検索対象文書1802に格納される。そし
て、着目文字位置は文頭に設定され、一時記憶域1810は
「空」に設定される。単語索引1813の作成に先立って、
第1に、図29の内容の単語辞書1801中の各単語、および
図19の内容の単語頻度データ1814中の前記単語に対応す
る頻度の値が正規表現作成手段1803に読み込まれ、正規
表現が作成される。正規表現作成手段1803では、以下の
3つの規則に従って、単語辞書1801中の各単語に対し
て、その文字数で定まる、1つ以上の正規表現を作成す
る。
【0160】(1)着目単語wの頻度が1000以上なら
ば、wの左側、右側に、それぞれ [あ-ごア-ゴ亜-魂] [さ-どサ-ド些-鈍] [な-ぽナ-ポ奈-盆] [ま-んマ-ン摩-腕] のいずれか1つを付加した正規表現を、合計16個作成す
る。
【0161】(2)着目単語wの頻度が200以上1000未
満ならば、wの左側、右側に、それぞれ [あ-どア-ド亜-鈍] [な-んナ-ン奈-腕] のいずれか1つを付加した正規表現を、合計4個作成す
る。
【0162】(3)着目単語wの頻度が40以上200未満
ならば、wの左側、右側に、それぞれΣを付加した正規
表現 ΣwΣ 1個を作成する。
【0163】(4)着目単語wの文字数が40未満なら
ば、wそのものからなる正規表現1個を作成する。
【0164】図19において、例えば単語辞書42中の単語
「い」に対しては、頻度が40以上200未満なので、“Σ
いΣ”が作成され、単語「の」に対しては、頻度が1000
以上なので、 “[あ-ごア-ゴ亜-魂]の[あ-ごア-ゴ亜-魂]” から、 “[ま-んマ-ン摩-腕]の[ま-んマ-ン摩-腕]” までの、16個の正規表現が作成され、単語「ので」に対
しては、頻度が200以上1000未満なので、 “[あ-どア-ド亜-鈍]ので[あ-どア-ド亜-鈍]”, “[あ-どア-ド亜-鈍]ので[な-んナ-ン奈-腕]”, “[な-んナ-ン奈-腕]ので[あ-どア-ド亜-鈍]”, “[な-んナ-ン奈-腕]ので[な-んナ-ン奈-腕]” の4個の正規表現が作成される。また、単語「亜日電
子」に対しては、頻度が40未満なので、“亜日電子”が
作成される。このようにして、図19のような正規表現辞
書が作成される。また、このとき同時に、作成された各
正規表現の照合文字列の文字数の最大値Lが求められ、
正規表現辞書中に記録される。
【0165】第2段階以降の処理手順は、第1の実施の
形態での第2段階以降の処理手順と同一であり、図21の
ように、索引要素が作成され、最終的に図22のような単
語索引が作成されて、正規表現辞書作成、および単語索
引作成処理を終了する。
【0166】以上の説明のように、本発明の第4の実施
の形態の辞書索引作成装置によれば、頻度の高い単語ほ
ど、その左右の状況によって多数の正規表現に細かく区
分し、かつ、最低ランクの頻度の単語は、左右のパター
ンの付かない、他のランクの単語より文字数の少ない正
規表現を割り当てた正規表現辞書を作成し、これを用い
て単語索引を作成するので、 (1)高頻度の単語ほど、その単語に対応する正規表現
の索引要素の照合文字位置範囲が長く、かつ、個々の正
規表現に対する索引要素の個数が減少する。 (2)最低ランクの単語の索引要素の一部は、検索対象
文書の同一箇所が、最低ランク以外の単語に対応する正
規表現の索引要素としても記録される。 という、2種の特徴により、従来の索引作成方法に比
べ、従来の単語索引で効率低下の原因となる、「検索対
象文字列が比較的文字数の少なく、重なりの少ない単語
によって被覆される場合」、「多くの単語の索引要素を
求める必要がある場合」が、できる限り索引容量を増や
さずに、大幅に減少し、より高速な全文検索処理が可能
になる。
【0167】(第5の実施の形態)本発明の第5の実施
の形態は、サンプル文書を用いて単語索引を作成して単
語の出現頻度を求め、この単語頻度データに従って正規
表現辞書と最終的な単語索引を作成する辞書索引作成装
置である。
【0168】以下、本発明の第5の実施の形態の辞書索
引作成装置について、図面を参照しながら説明する。図
23は、本発明の第5の実施の形態の辞書索引作成装置の
全体構成を表わすブロック図である。
【0169】図23において、2301は単語辞書、2302は検
索対象文書、2303はサンプル文書、2304は単語辞書2301
を用いて、サンプル文書2303の単語索引を作成する、第
1の単語索引作成手段、2305は第1の単語索引作成手段
2304が作成した第1の単語索引、2306は第1の単語索引
2305から、単語辞書2301中の各単語の索引要素の個数を
単語頻度として算定する単語頻度算定手段、2307は単語
頻度算定手段2306が算定した、単語とその出現頻度の対
を格納した単語頻度データ、2308は単語辞書2301と単語
頻度データ2307とを用いて、検索対象文書2302の単語索
引を作成する、第2の単語索引作成手段、2309は第2の
単語索引作成手段2308が作成した第2の単語索引であ
る。
【0170】以上の構成の辞書索引作成装置において、
その動作を説明する。まず、単語辞書2301を用いて、第
1の単語索引作成手段2304が、サンプル文書2303の単語
索引を作成する。第1の単語索引作成手段2304として
は、図27に示す、従来の単語索引作成手段を用いる。そ
の動作は、従来の技術の説明において、説明した通りで
ある。
【0171】第1の単語索引2305を作成したら、次に、
単語頻度算定手段2306が、作成した第1の単語索引2305
中の全ての索引要素を調べ、単語辞書2301中の各単語の
索引要素の個数を、当該単語の単語頻度として求め、単
語頻度データ2307を作成する。単語頻度データ2307は、
例えば図19に示すような内容となる。
【0172】単語頻度データ2307を作成したら、最後
に、第2の単語索引作成手段2308が、単語辞書2301、お
よび単語頻度データとを用いて、処理の最終目的であ
る、検索対象文書2302の単語索引を作成する。第2の単
語索引作成手段2308としては、図18に示す、第4の実施
の形態に示した、本発明の単語索引作成手段を用いる。
その動作は、第4の実施の形態において、説明した通り
である。
【0173】以上の説明のように、本発明の第5の実施
の形態の辞書索引作成装置によれば、まずサンプル文書
を用いて、最終的な索引の作成と類似の、従来の方法に
よって、索引を作成して単語の出現頻度を求め、この単
語頻度データに従って、正規表現辞書を構成し、最終的
な単語索引を作成するので、単語頻度データが、最終的
な単語索引における頻度(=当該単語を元にした正規表
現の索引要素の個数)と、その分布が類似し、 (1)高頻度の単語ほど、その単語に対応する正規表現
の索引要素の照合文字位置範囲が長く、かつ、個々の正
規表現に対する索引要素の個数が減少する。 (2)最低ランクの単語の索引要素の一部は、検索対象
文書の同一箇所が、最低ランク以外の単語に対応する正
規表現の索引要素としても記録される。 という、2種の特徴がより顕著に現れ、従来の索引作成
方法に比べ、従来の単語索引で効率低下の原因となる、
「検索対象文字列が比較的文字数の少なく、重なりの少
ない単語によって被覆される場合」、「多くの単語の索
引要素を求める必要がある場合」が、できる限り索引容
量を増やさずに、大幅に減少し、より高速な全文検索処
理が可能になる。
【0174】(第6の実施の形態)本発明の第6の実施
の形態は、単語辞書と、検索対象文書および単語辞書か
ら作成された正規表現辞書と、単語索引と、単語被覆算
定手段と、正規表現辞書から単語被覆中の各単語被覆要
素の延長正規表現集合を算定する延長正規表現集合算定
手段と、索引要素集合検索手段と、連接索引要素算定手
段と、照合位置集合算定手段とを有する文書検索装置で
ある。
【0175】以下、本発明の第6の実施の形態の文書検
索装置について、図24〜図26を参照しながら説明する。
図24は、本発明の第6の実施の形態の文書検索装置の全
体構成を表わすブロック図である。
【0176】図24において、2401は単語辞書、2410は単
語辞書2401から単語索引の作成時に作成した正規表現辞
書、2402は単語辞書2401および正規表現辞書2410を用い
て、図1の本発明の単語索引作成装置で作成した単語索
引である。2403は検索条件文字列を入力する検索条件入
力手段、2404は単語辞書2401を検索して、辞書中の単語
と、検索条件文字列の被覆文字位置範囲との組である単
語被覆要素の集合の形で、検索条件文字列の単語被覆を
求める単語被覆算定手段である。2405は指定された単語
被覆要素に対して、正規表元辞書2410を検索して、単語
被覆要素中の単語を含む文字列に照合する正規表現辞書
2410中の正規表現のうちで、検索条件文字列に適合する
ものを、全て求める延長正規表現集合算定手段である。
【0177】2406は指定された正規表現集合の索引要素
を全て求めて、照合文字位置範囲を修正し、照合文字位
置範囲集合を作成する照合文字位置範囲集合算定手段、
2407は指定された照合文字位置範囲集合の列の中で、検
索対象文書中に連続して出現する照合文字位置範囲の列
を全て求める連接照合文字位置範囲列算定手段である。
2408は照合文字位置範囲の列の先頭要素である、照合開
始文字位置の集合を求める照合位置集合算定手段、2409
は検索結果を出力するための検索結果出力手段である。
【0178】以上の構成の文書検索装置において、その
動作を、上記の従来の単語索引作成装置の説明に用いた
簡単な辞書と簡単な検索対象文書を例に、図面を参照し
て説明する。図25、図26は、図8の内容の単語索引と、
図29の内容の単語辞書、および図2の内容の正規表現辞
書を用いた、それぞれ「電子スピン共鳴」、「東亜電
子」という検索条件文字列に対する全文検索処理の概念
図である。
【0179】第1に、検索条件文字列として、「電子ス
ピン共鳴」という文字列が、検索条件入力手段2403から
入力された際の検索処理を図25を用いて説明する。最初
に、単語被覆手段2404が検索条件文字列の被覆を以下の
ようにして求める。まず、「電子スピン共鳴」、「子ス
ピン共鳴」、「スピン共鳴」、「ピン共鳴」、「ン共
鳴」、「共鳴」、「鳴」という検索条件文字列の最右部
分文字列の各々を鍵にして、単語辞書2401から、その鍵
の最長の最左部分文字列である単語を次々と検索し、検
索条件文字列中での被覆文字位置範囲(検索条件文字列
の第1文字の文字位置を1とする)とともに単語被覆要
素として記録する。
【0180】この例の場合には、「電子スピン共鳴」に
対しては、その最左部分語として「電」、「電子」、
「電子スピン」の3単語が検索され、最も文字数の多い
「電子スピン」と、検索条件文字列「電子スピン共鳴」
中の被覆文字位置範囲の[1,5]の組である(電子ス
ピン,[1,5])が記録され、「子スピン共鳴」に対して
は、その最左部分語は図29の内容の単語辞書2401にはな
いのでなにも記録されず、「スピン共鳴」に対しては、
その最左部分語として「スピン」、「スピン共鳴」の2
単語が検索され、最長の単語「スピン共鳴」と被覆文字
位置範囲[3,7]の組(スピン共鳴,[3,7])が記録
され、「ピン共鳴」、「ン共鳴」に対しては、それらの
最左部分語は図29の内容の単語辞書2401にはないのでな
にも記録されず、「共鳴」に対しては、その最左部分語
として「共鳴」のみが検索され、被覆文字位置範囲
[6,7]との組(共鳴,[6,7])が記録される。
【0181】次に、記録された単語被覆要素のうち、極
大でない単語被覆要素、すなわち被覆文字位置範囲が、
他の単語被覆要素の被覆文字位置範囲に完全に含まれて
いる単語被覆要素を削除する。削除後に残った単語被覆
要素の集合が、検索条件文字列を被覆する、すなわち単
語被覆集合中の各単語被覆要素の被覆文字位置範囲の和
集合が、検索条件文字列の全体になる場合には、この残
りの単語被覆要素の集合を単語被覆として記録する。削
除後に残った単語被覆要素の集合が、検索条件文字列を
被覆しない場合には、「検索不可能」を示す、予め定め
られた特別な検索結果を検索結果出力手段2409が出力し
て検索処理を終了する。
【0182】この例の場合には、3つの索引要素(電子
スピン,[1,5]),(スピン共鳴,[3,7]),(共鳴,
[6,7])のうちで、(共鳴,[6,7])の被覆文字位置範囲
[6,7]が、(スピン共鳴,[3,7])の被覆文字位置
範囲[3,7]に完全に含まれているので、(共鳴,
[6,7])を削除する。残った単語被覆要素の集合 H={(電子スピン,[1,5]),(スピン共鳴,[3,
7])}の被覆文字位置範囲の和集合は、[1,5]∪
[3,7]=[1,7]となって検索条件文字列「電子
スピン共鳴」全体の文字位置範囲となるので、上記の集
合Hを、検索条件文字列「電子スピン共鳴」の単語被覆
として記憶する。
【0183】単語被覆算定手段2404が検索条件文字列の
単語被覆を求めたら、次に延長正規表現集合算定手段24
05が、上記の単語被覆H中の各単語被覆要素に対して、
正規表現辞書2410を検索して、当該単語被覆要素中の単
語を含む文字列に照合する正規表現辞書2410中の正規表
現のうちで、検索条件文字列に適合するものを、全て求
める。ここで、「検索条件文字列cに適合する正規表
現」とは、着目単語被覆要素(w,[s,e])を部分文字
列として含む、正規表現辞書2410中の正規表現rのうち
で、rの表わす文字列集合中の少なくとも1つの要素x
が、x=p・w・q(p,qは0文字以上の任意の文字
列)の形をしており(即ち単語wを含み)、a=min(s-
1,|p|), b=min(|c|-e,|q|) と定義すると、 (1)a=0、あるいは c[(s-a)..(s-1)]=p[(|p|-a
+1)..|p|] である。 (2)b=0、あるいは c[(e+1)..(e+b)]=q[1..b]
である。 の両方が成り立つような正規表現rのことを指す。ただ
し、文字列Tのi文字目からj文字目まで(最初の文字
を1文字目と数える)の部分文字列を、T[i..j]と表記
し、文字列Tの文字数を |T| と表記する。
【0184】この例の場合には、検索条件文字列「電子
スピン共鳴」に適合する(電子スピン,[1,5])の延長正
規表現集合は{Σ電子スピン,電子スピンΣ}となり、
「電子スピン共鳴」に適合する(スピン共鳴,[3,7])の
延長正規表現集合は{Σスピン共鳴, スピン共鳴Σ,ス
ピン共鳴吸収}となる。なお、図2の正規表現辞書中の
正規表現「核スピン共鳴」は、その表わす文字列集合の
唯一の要素である「核スピン共鳴」が、「スピン共鳴」
を部分文字列として含むので、「スピン共鳴」の延長語
ではあるが、上記のx=p・w・qの、pに相当する
「核」の部分文字列が、検索条件文字列「電子スピン共
鳴」の該当部分文字列「子」と一致しないので、「電子
スピン共鳴」に適合する延長正規表現ではない。
【0185】単語被覆中の各単語被覆要素の、検索条件
文字列に適合する延長正規表現の集合を求めたら、次に
照合文字位置範囲集合算定手段2406が、各延長正規表現
集合に対して、当該延長正規表現集合中の要素である正
規表現を第1項とする索引要素を、単語索引2402から求
め、求めた各索引要素の第2項を、当該延長正規表現集
合の作成元になった単語被覆要素の単語に相当する照合
文字位置範囲に修正し、修正後の照合文字位置範囲の集
合を求める。
【0186】この例では、「電子スピン共鳴」に適合す
る(電子スピン,[1,5])の延長正規表現集合{Σ電子
スピン,電子スピンΣ}の索引要素は(Σ電子スピン,
[5,10]) および(電子スピンΣ,[6,11]) の2つであ
る。第1の索引要素 (Σ電子スピン,[7,12]) の照合文
字位置範囲は、元になった単語「電子スピン」の照合文
字位置範囲より、照合開始文字位置が1少ないので、照
合文字位置範囲が、[5,10] から [6,10] に修正され
る。第2の索引要素 (電子スピンΣ,[7,12]) の照合文
字位置範囲は、元になった単語「電子スピン」の照合文
字位置範囲より、照合終了文字位置が1多いので、照合
文字位置範囲が、[6,11] から [6,10] に修正される。
これらの修正後の2つの照合文字位置範囲は同一なの
で、照合文字位置範囲集合としては、{[6,10]}が求ま
る。同様に、「電子スピン共鳴」に適合する(スピン共
鳴,[3,7])の延長語集合{Σスピン共鳴, スピン共鳴
Σ,スピン共鳴吸収}の索引要素は{(Σスピン共鳴,
[7,12]),(スピン共鳴Σ,[8,13])}の2つであり、照
合文字位置範囲の修正後の照合文字位置範囲は、いずれ
も [8,12]となって、照合文字位置範囲集合として、
{[8,12]}が求まる。
【0187】各延長正規表現集合に対して、照合文字位
置範囲集合を求めたら、次に、連接照合文字位置範囲列
算定手段2407が、各照合文字位置範囲集合の列の中で、
検索対象文書中に連続して出現する照合文字位置範囲の
列を全て求める。照合文字位置範囲の列が、検索対象文
書中に連続して出現するか否かの判定は、隣り合う照合
文字位置範囲の開始文字位置の差が、対応する単語被覆
要素の被覆開始文字位置の差に等しいか否かで行なう。
【0188】この例の場合には、(電子スピン,[1,
5])に対する照合文字位置範囲集合{[6,10]}中の要素
[6,10] と、(スピン共鳴,[3,7])に対する照合文字位
置範囲集合{[8,12]}の要素 [8,12] とは、その開始文
字位置の差(すなわち2)が、対応する2つの単語被覆
要素(電子スピン,[1,5])と(スピン共鳴,[3,7])と
の被覆文字位置範囲の開始文字位置の差(すなわち2)
と等しく、検索対象文書中の文字位置範囲 [6,12] に連
続して出現していることがわかるので、照合文字位置範
囲の列の集合として、{([6,10],[8,12])}が求ま
る。
【0189】検索対象文書中に連続して出現する照合文
字位置範囲の列を全て求めたら、次に照合位置集合算定
手段2408が、照合文字位置範囲の列の集合から、各照合
文字位置範囲の列の最初の照合文字位置範囲の照合開始
位置の集合である、照合位置集合を求め、検索結果出力
手段2409がこの照合位置集合を検索結果として出力す
る。
【0190】この例の場合には、照合位置集合算定手段
2408は、照合文字位置範囲の列の集合{([6,10],[8,1
2])}から、そのただ1つの要素である列([6,10],[8,
12])の先頭要素 [6,10] の照合開始文字位置である6
のみからなる集合 { 6 } を求め、この集合を検索結果
出力手段2409が検索結果として出力する。この検索結果
は、検索対象文字列中で、検索条件文字列「電子スピン
共鳴」に照合するのは1個所で、検索対象文字列の6文
字目からであることを示している。
【0191】以上で、検索条件文字列として「電子スピ
ン共鳴」という文字列が入力された際の検索処理の説明
を終わる。
【0192】検索条件文字列として、「東亜電子」とい
う文字列が入力された際の検索処理も、図26に示す通
り、上記の説明と基本的には同様となる。まず、図26に
示すように、単語被覆として、{(東,[1,1]), (亜,
[2,2]), (電子,[3,4])}の3要素からなる集合が求
まる。各単語被覆要素の、「東亜電子」に適合する延長
正規表現集合と、対応する照合文字位置範囲集合を、
「単語被覆要素 → 延長正規表現集合 → 修正前の照合
文字位置範囲集合 → 修正後の照合文字位置範囲集合」
と表わすと、それぞれ (東,[1,1])→ {[あ-ごア-ゴ亜-魂]東[あ-ごア-ゴ亜-魂], [さ-どサ-ド些-鈍]東[あ-ごア-ゴ亜-魂], [な-ぽナ-ポ奈-盆]東[あ-ごア-ゴ亜-魂], [ま-んマ-ン摩-腕]東[あ-ごア-ゴ亜-魂], [あ-ごア-ゴ亜-魂]極東[あ-ごア-ゴ亜-魂], [さ-どサ-ド些-鈍]極東[あ-ごア-ゴ亜-魂], [な-ぽナ-ポ奈-盆]極東[あ-ごア-ゴ亜-魂], [ま-んマ-ン摩-腕]極東[あ-ごア-ゴ亜-魂], [あ-ごア-ゴ亜-魂]北東[あ-ごア-ゴ亜-魂], [さ-どサ-ド些-鈍]北東[あ-ごア-ゴ亜-魂], [な-ぽナ-ポ奈-盆]北東[あ-ごア-ゴ亜-魂], [ま-んマ-ン摩-腕]北東[あ-ごア-ゴ亜-魂], [あ-どア-ド亜-鈍]北北東[あ-どア-ド亜-鈍], [な-んナ-ン奈-腕]北北東[あ-どア-ド亜-鈍], [あ-ごア-ゴ亜-魂]南東[あ-ごア-ゴ亜-魂], [さ-どサ-ド些-鈍]南東[あ-ごア-ゴ亜-魂], [な-ぽナ-ポ奈-盆]南東[あ-ごア-ゴ亜-魂], [ま-んマ-ン摩-腕]南東[あ-ごア-ゴ亜-魂], [あ-どア-ド亜-鈍]南南東[あ-どア-ド亜-鈍], [な-んナ-ン奈-腕]南南東[あ-どア-ド亜-鈍] } → { [17,19] }→ { [18,18] } (亜,[2,2])→ {[さ-どサ-ド些-鈍]亜[さ-どサ-ド些-鈍]}→ { [18,20] } → { [19,19] } (電子,[3,4])→ {[あ-ごア-ゴ亜-魂]電子[あ-どア-ド亜-鈍], [あ-ごア-ゴ亜-魂]電子[さ-どサ-ド些-鈍], [あ-ごア-ゴ亜-魂]電子[な-ぽナ-ポ奈-盆], [あ-ごア-ゴ亜-魂]電子[ま-んマ-ン摩-腕], Σ電子スピン, [あ-どア-ド亜-鈍]電子雲[あ-どア-ド亜-鈍], [あ-どア-ド亜-鈍]電子雲[な-んナ-ン奈-腕], Σ電子密度Σ, Σ電子機器Σ} → { [5,11],[6,12],[19,22] } → { [6,7],[20,21]} となる。なお、索引要素 ([な-ぽナ-ポ奈-盆]関東[さ-
どサ-ド些-鈍],[15,18])の[な-ぽナ-ポ奈-盆]である [1
5,18] は、検索対象文字列「東亜電子」中で「東」の次
の文字「亜」が、パターン“[さ-どサ-ド些-鈍]”と照
合しないので、被覆要素(東,[1,1])の照合文字位置範
囲とはならない。
【0193】同様に、索引要素 ([な-ぽナ-ポ奈-盆]電
子[な-ぽナ-ポ奈-盆],[2,5]) の照合文字位置範囲 [2,
5] も、索引要素 ([な-んナ-ン奈-腕]電子雲[あ-どア-
ド亜-鈍],[24,28]) の照合文字位置範囲 [24,18] も、
検索対象文字列「東亜電子」中で「電子」の直前の文字
「亜」が、パターン [な-ぽナ-ポ奈-盆] および [な-ん
ナ-ン奈-腕] と照合しないので、被覆要素(電子,[3,4])
の照合文字位置範囲とはならない。即ち、単語の前後
の文字が、異なるため、検索する索引要素の個数が減少
する。これら3種の照合文字位置範囲集合中の要素の列
で、文字位置が連続するものは、([18,18],[19,19],[2
0,21]) ただ1つであり、結局、検索結果として{18}
が出力される。
【0194】以上、2つの例について検索処理を説明し
たように、本発明の実施の形態の文書検索装置では、正
規表現辞書と、正規表現の索引要素を格納した単語索引
を用いて検索するので、調べる必要のある索引要素の個
数を削減して、最終結果に寄与しない無駄な要素を可能
な限り排除でき、検索の効率が大幅に向上する。上記の
第2の例のような検索条件文字列の場合、従来の文書検
索装置においては、照合文字位置範囲集合中に、最終結
果に寄与しない要素を多く含むので、多数の延長語の索
引要素を調べることになり、検索時の処理効率が低下し
たが、本発明の文書検索装置では、第2の例のような検
索条件文字列の場合でも、検索効率が大幅に向上する。
【0195】以上の6種の実施の形態の説明から明らか
なように、本発明の辞書索引作成装置によれば、従来の
索引作成装置に比べ、個々の索引要素の照合文字位置範
囲が長く、かつ、重なりが多い辞書と索引が作成できる
ため、「検索対象文字列が比較的文字数の少なく、重な
りの少ない単語によって被覆される場合」が大幅に減少
する。また、本発明の文書検索装置によれば、個々の索
引要素の照合文字位置範囲が長く、かつ、重なりが多い
辞書と索引を用いて検索を行なうので、単語索引に起因
する効率低下が除かれ、高速な全文検索処理が可能にな
る。
【0196】この効果は、巨大な実用規模の文書、辞
書、索引を用いる場合には極めて顕著に現れる。検索対
象文書が数十メガ文字〜数ギガ文字と大規模になると、
使用する単語辞書中の単語数が数十万個にも達するの
で、それに従って索引も数十メガバイト〜数ギガバイト
と巨大になる。調べる必要のある索引要素の個数を削減
して、最終結果に寄与しない無駄な要素を可能な限り排
除する効果は、検索対象文書が大規模になるほど利いて
くる。
【0197】例えば、「日本の経済」という文字列を約
400メガ文字の新聞記事データ(約4年分)から検索す
る場合には、従来の、単語辞書のみを用いて作成した単
語索引を検索すると、通常の単語辞書では、「日本」+
「の」+「経済」と被覆されるが、これらの単語の索引
要素はいずれも索引中に多数あり、とくに「の」の索引
要素は数千万個に達するため、高速な計算機で検索処理
を実行しても、数十秒の検索時間を要する。
【0198】これに対し、正規表現辞書を用いて索引を
作成する本発明の辞書索引作成装置および文書検索装置
では、単語被覆が「日本」*「の」*「経済」と同一だ
としても、対応する正規表現は、例えば {[?あ-お]
日本[な-の],…, [奈-腕]日本[な-の]}*{[巴-盆]の
[下-魂]}*{[な-の]経済[?あ-お],…, [な-の]経済
[奈-腕]}のようになり、3種の単語をもとにした正規
表現の索引要素全体のうち、この検索条件文字列「日本
の経済」に関連する可能性のある、一部の正規表現の索
引要素のみを考慮して検索処理を行なうので、高速な検
索処理が実現できる。この場合には特に「の」の両側の
文脈が限定されるため、検索処理には、数千万個の
「の」由来の索引要素の中で、数百分の一から数千分の
一程度の分量のみが用いられ、従来に比べ、数十倍から
数百倍もの高速な検索処理が可能となる。しかも、検索
のための単語索引の容量の増加はわずかである。
【0199】このように、従来の単語索引では困難であ
った、任意の検索条件文字列での高速な文書検索処理が
可能となり、実用上、非常に大きな効果が得られる。
【0200】なお、上記の6種の実施の形態において文
字セットとして、通常の日本語の文字を対象としたが、
DNAの塩基配列を表わす{“A”,“T”,“G”,
“C”}や、化合物の化学式を表わすアルファベットお
よび数字からなる文字セットを対象としても、容易に実
施できる。また、単語の左右に付加する正規表現とし
て、文字クラス1個のみを用いたが、文字クラス2個以
上の場合でも、上記の説明と同様の処理手順で実施でき
る。
【0201】
【発明の効果】以上のように、本発明の辞書索引作成装
置は、検索対象文書と単語辞書から正規表現辞書を作成
する手段と、正規表現と照合開始文字位置の組であり演
繹不可能な索引要素からなる単語索引を作成する手段と
を設けたことにより、索引容量をあまり増やすことな
く、検索効率の低下を防止して高速な全文検索処理を可
能にする正規表現辞書と単語索引を作成できるという効
果を奏するものである。
【0202】また、本発明の辞書索引作成装置は、検索
対象文書と単語辞書から、サンプル文書中での各単語の
出現頻度に応じた正規表現辞書を作成する手段と、正規
表現と照合開始文字位置の組で演繹不可能な索引要素か
らなる単語索引を作成する手段とを設けたことにより、
出現頻度の高い単語ほど検索が高速になる正規表現辞書
と単語索引を作成できるという効果を奏するものであ
る。
【0203】また、本発明の辞書索引作成装置は、サン
プル文書と単語辞書から第1単語索引を作成する手段
と、第1単語索引中の単語頻度に応じて正規表現辞書お
よび第2単語索引を作成する手段とを設けたことによ
り、出現頻度の高い単語ほど検索が高速になる正規表現
辞書と単語索引を作成できるという効果を奏するもので
ある。
【0204】また、本発明の文書検索装置は、単語辞書
と、単語辞書検索手段と、正規表現辞書と、正規表現辞
書検索手段と、単語索引と、単語索引検索手段と、質問
入力手段と、質問文字列の任意の単語被覆を求める単語
被覆算定手段と、単語被覆中の各単語被覆要素の延長正
規表現集合を算定する延長正規表現集合算定手段と、延
長正規表現集合中の各正規表現を第1項とする索引要素
を単語索引から検索して索引要素集合を求める索引要素
集合検索手段と、文書中に連続して出現する索引要素の
列を全て求める連接索引要素算定手段と、索引要素の列
の集合から照合開始位置の集合を求めて検索結果とする
照合位置集合算定手段とを備えたことにより、検索対象
文字列が、比較的文字数の少なく重なりの少ない単語に
よって被覆される場合の効率低下を防ぎ、索引容量をあ
まり増やすことなく、より高速な全文検索処理を可能に
するという効果を奏するものである。
【0205】また、本発明の文書検索装置は、検索対象
文書に含まれない特別な文字を終端文字として1文字追
加した拡大文字セットを用い、検索対象文書の前後に必
要なだけ終端文字を付加して拡大検索対象文書とし、拡
大文字セットを文字セットとして用い、拡大検索対象文
書を検索対象文書として用いることにより、検索対象文
字列が比較的文字数の少なく、重なりの少ない単語によ
って被覆される場合の効率低下を防ぎ、索引容量をあま
り増やすことなく、より高速な全文検索処理を可能にす
るという効果を奏するものである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の辞書索引作成装置
の全体構成を表わすブロック図、
【図2】第1の実施の形態における正規表現辞書の内容
の例、
【図3】第1の実施の形態における演繹可能索引要素表
の例(一部)、
【図4】第1の実施の形態における演繹可能索引要素表
の例(一部)、
【図5】第1の実施の形態における演繹可能索引要素表
の例(一部)、
【図6】第1の実施の形態における演繹可能索引要素表
の例(一部)、
【図7】第1の実施の形態における独立索引要素を求め
る処理の概念図、
【図8】第1の実施の形態における整列された独立索引
要素の例、
【図9】第2の実施の形態の辞書索引作成装置の全体構
成を表わすブロック図、
【図10】第2の実施の形態における正規表現辞書の内
容の例、
【図11】第2の実施の形態における独立索引要素を求
める処理の概念図、
【図12】第2の実施の形態における整列された独立索
引要素の例、
【図13】第3の実施の形態の辞書索引作成装置の全体
構成を表わすブロック図、
【図14】第3の実施の形態における拡張単語辞書を構
成する単語のリストの例、
【図15】第3の実施の形態における検索対象文書の
例、
【図16】第3の実施の形態における独立索引要素を求
める処理の概念図、
【図17】第3の実施の形態における整列された独立索
引要素の例、
【図18】第4の実施の形態の辞書索引作成装置の全体
構成を表わすブロック図、
【図19】第4の実施の形態における単語頻度データの
例、
【図20】第4の実施の形態における正規表現辞書の
例、
【図21】第4の実施の形態における独立索引要素を求
める処理の概念図、
【図22】第4の実施の形態における整列された独立索
引要素の例、
【図23】第5の実施の形態の辞書索引作成装置の全体
構成を表わすブロック図、
【図24】第6の実施の形態の文書検索装置の全体構成
を表わすブロック図、
【図25】第6の実施の形態の文書検索装置の全文検索
処理の概念図、
【図26】第6の実施の形態の文書検索装置の全文検索
処理の概念図、
【図27】従来の単語索引作成装置の全体構成を表わす
ブロック図、
【図28】従来の文書検索装置の全体構成を表わすブロ
ック図、
【図29】単語辞書を構成する単語のリストの例、
【図30】検索対象文書の例、
【図31】単語索引要素を求める処理の概念図、
【図32】従来の単語索引の内容を示す概念図、
【図33】従来の単語索引を用いた全文検索処理の概念
図、
【図34】従来の単語索引を用いた全文検索処理の概念
図である。
【符号の説明】
101、401、411、901、1301、 1801、2301、2401 単語辞書 102、402、902、1302、1802、 2302 検索対象文書 103、903、1303、1803 正規表現作成手段 104、904、1304、1804、2410 正規表現辞書 105、905、1305、1805 最右正規表現辞書作成手段 106、906、1306、1806 最右正規表現辞書 107、907、1307、1807 演繹可能索引要素表作成手段 108、908、1308、1808 演繹可能索引要素表 109、909、1309、1809 最右正規表現検索手段 110、910、1310、1810 独立索引要素作成手段 111、911、1311、1811 一時記憶域 112、406、912、1312、1812 索引要素整列手段 113、407、913、1313、1813、 2402 単語索引 403 最長一致単語検索手段 404 文字数記憶域 405 極大索引要素作成手段 415 延長語算定手段 418 照合位置集合算定手段 914 開始/終了記号付与手段 915 拡大検索対象文書 1314 1文字語追加手段 1315 拡張単語辞書 1814、2307 単語頻度データ 2303 サンプル文書 2304 第1の単語索引作成手段 2305 第1の単語索引 2306 単語頻度算定手段 2308 第2の単語索引作成手段 2309 第2の単語索引 413、2403 検索条件入力手段 414、2404 単語被覆算定手段 2405 延長正規表現集合算定手段 416、2406 照合文字位置範囲集合算定手段 417、2407 連接照合文字位置範囲列算定手段 2408 照合文字位置集合算定手段 419、2409 検索結果出力手段

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 検索対象文書と単語辞書から正規表現辞
    書と単語索引を作成する辞書索引作成装置であって、
    (1)ある定められた文字セットに含まれる文字の有限
    個の並びからなる検索対象文書を格納する検索対象文書
    記憶装置と、(2)前記文字セットに含まれる文字の1
    つ以上の並びを単語として有限個登録した単語辞書を格
    納する単語辞書記憶装置と、(3)前記単語辞書記憶装
    置中の単語辞書から単語wを1つ読出し、前記単語wに
    依存する規則に従って、前記文字セット上の空集合を表
    わすもの以外で、かつそれぞれ長さが等しい文字列の集
    合を表わす正規表現a,bを1組以上作成する手段と、
    (4)前記単語wの前後に前記正規表現a,bを結合し
    た正規表現awbを1つ以上作成し、前記正規表現aw
    bを集めて、前記単語wに依存する予め定められた規則
    に従って作成した、前記単語辞書とは異なる正規表現辞
    書を格納する正規表現辞書記憶装置と、(5)前記検索
    対象文書記憶装置から前記正規表現辞書中の正規表現に
    照合する文字列を検索し、前記正規表現と、前記検索対
    象文書中での照合文字位置範囲との組からなる索引要素
    を生成する手段と、(6)他の索引要素から演繹可能で
    ないと判定された索引要素を集めた単語索引を格納する
    単語索引記憶装置とを具備することを特徴とする辞書索
    引作成装置。
  2. 【請求項2】 前記単語辞書中の各単語wの前後に結合
    する正規表現a,bが、それぞれ前記文字クラスの列あ
    るいは空列であることを特徴とする請求項1記載の辞書
    索引作成装置。
  3. 【請求項3】 検索対象文書と単語辞書と単語頻度デー
    タから正規表現辞書と単語索引を作成する辞書索引作成
    装置であって、(1)ある定められた文字セットに含ま
    れる文字の有限個の並びからなる検索対象文書を格納す
    る検索対象文書記憶装置と、(2)前記文字セットに含
    まれる文字の1つ以上の並びを単語として有限個登録し
    た単語辞書を格納する単語辞書記憶装置と、(3)前記
    定められた文字セットに含まれる文字の有限個の並びか
    らなるサンプル文書中での前記単語辞書中の各単語の出
    現頻度を記録した単語頻度データを格納する単語頻度デ
    ータ記憶装置と、(4)前記単語辞書記憶装置中の前記
    単語辞書から単語wを1つ読み出し、前記単語頻度デー
    タ中の前記単語wの頻度に依存する規則に従って、前記
    文字セット上の空集合を表わすもの以外で、かつそれぞ
    れ長さが等しい文字列の集合を表わす正規表現a,bを
    作成する手段と、(5)前記単語wの前後に前記正規表
    現a,bを結合した正規表現awbを1つ以上作成し、
    前記単語辞書中の全ての単語について作成した全ての前
    記正規表現awbを集めた、前記単語辞書とは異なる正
    規表現辞書を格納する正規表現辞書記憶装置と、(6)
    前記検索対象文書記憶装置から前記正規表現辞書中の正
    規表現に照合する文字列を検索し、前記正規表現と、前
    記検索対象文書中での照合文字位置範囲との組からなる
    索引要素を生成する手段と、(7)他の索引要素から演
    繹可能でないと判定された索引要素を集めた単語索引を
    格納する単語索引記憶装置とを具備することを特徴とす
    る辞書索引作成装置。
  4. 【請求項4】 検索対象文書と単語辞書とサンプル文書
    から正規表現辞書と単語索引を作成する辞書索引作成装
    置であって、(1)ある定められた文字セットに含まれ
    る文字の有限個の並びからなる検索対象文書を格納する
    検索対象文書記憶装置と、(2)前記文字セットに含ま
    れる文字の1つ以上の並びを単語として有限個登録した
    単語辞書を格納する単語辞書記憶装置と、(3)ある定
    められた文字セットに含まれる文字の有限個の並びから
    なるサンプル文書を格納するサンプル文書記憶装置と、
    (4)前記サンプル文書記憶装置から前記単語辞書中の
    単語に照合する文字列を検索し、前記単語と、前記検索
    対象文書中での照合文字位置範囲との組からなる索引要
    素を生成し、前記索引要素が他の索引要素から演繹可能
    か否か判定し、他の索引要素から演繹可能でないと判定
    された索引要素を集めた第1の単語索引を作成する手段
    と(5)前記第1の単語索引中の各単語に対する索引要
    素の個数を単語頻度として単語頻度データを作成する手
    段と、(6)前記単語辞書記憶装置中の前記単語辞書か
    ら単語wを1つ読み出し、前記単語頻度データ中の前記
    単語wの頻度に依存する規則に従って、前記文字セット
    上の空集合を表わすもの以外で、かつそれぞれ長さが等
    しい文字列の集合を表わす正規表現a,bを作成する手
    段と、(7)前記単語wの前後に前記正規表現a,bを
    結合した正規表現awbを1つ以上作成し、前記単語辞
    書中の全ての単語について作成した全ての前記正規表現
    awbを集めた、前記単語辞書とは異なる正規表現辞書
    を格納する正規表現辞書記憶装置と、(8)前記検索対
    象文書記憶装置から前記正規表現辞書中の正規表現に照
    合する文字列を検索し、前記正規表現と、前記検索対象
    文書中での照合文字位置範囲との組からなる索引要素を
    生成する手段と、(9)他の索引要素から演繹可能でな
    いと判定された索引要素を集めた第2の単語索引を格納
    する単語索引記憶装置とを具備することを特徴とする辞
    書索引作成装置。
  5. 【請求項5】 前記単語wに依存する規則に従って正規
    表現を生成する手段が、N個の頻度限界値と、N個の左
    側文字クラスと、N個の右側文字クラスの3N個のパラ
    メータを用いて、(1)前記単語頻度データに記録され
    ている前記単語wの出現頻度が、第1の頻度限界値以下
    の場合には、前記単語wそのものからなる正規表現を作
    成する手段と、(2)前記単語頻度データに記録されて
    いる前記単語wの出現頻度が、第mの頻度限界値より大
    きく、かつ前記第m+1の頻度限界値以下の場合には、
    第mの左側文字クラス集合中の要素である文字クラスa
    と、第mの右側文字クラス集合中の要素である文字クラ
    スbとを、前記単語wに結合した正規表現awbを、可
    能な全ての文字クラスa、bについて作成する手段と、
    (3)前記単語頻度データに記録されている前記単語w
    の出現頻度が、前記第N−1の頻度限界値より大きい場
    合には、前記第Nの左側文字クラス集合中の要素である
    文字クラスaと、前記第Nの右側文字クラス集合中の要
    素である文字クラスbとを、前記単語wに結合した正規
    表現awbを、可能な全ての文字クラスa、bについて
    作成する手段とを具備することを特徴とする請求項3、
    4記載の辞書索引作成装置。
  6. 【請求項6】 サンプル文書として、検索対象文書の全
    部あるいは一部を用いることを特徴とする請求項3〜5
    記載の辞書索引作成装置。
  7. 【請求項7】 検索対象文書に含まれない特別な文字を
    終端文字として1文字追加した拡大文字セットを用い、
    前記検索対象文書の前後に、必要なだけ前記終端文字を
    付加して拡大検索対象文書とし、前記拡大文字セットを
    文字セットとして用い、前記拡大検索対象文書を検索対
    象文書として用いたことを特徴とする請求項1〜6記載
    の辞書索引作成装置。
  8. 【請求項8】 与えられた単語辞書から、定められた文
    字セット中の任意の文字cに対して、cのみからなる単
    語が前記単語辞書に含まれていなければ、これを追加し
    た拡張単語辞書を作成する手段と、前記拡張単語辞書を
    前記単語辞書として用いて作成する手段とを具備するこ
    とを特徴とする請求項1〜7記載の辞書索引作成装置。
  9. 【請求項9】 (1)ある定められた文字セット上の文
    字列を単語として有限個集めた単語辞書を格納した単語
    辞書記憶装置と、(2)前記単語辞書を検索する単語辞
    書検索手段と、(3)前記文字セットに含まれる文字の
    有限個の並びである検索対象文書および前記単語辞書か
    ら作成された正規表現辞書を格納した正規表現辞書記憶
    装置と、(4)前記正規表現辞書を検索する正規表現辞
    書検索手段と、(5)前記検索対象文書および前記単語
    辞書から作成された単語索引を格納した単語索引記憶装
    置と、(6)前記単語索引を検索する単語索引検索手段
    と、(7)前記文字セット上の任意の文字列を質問文字
    列として入力するための質問入力手段と、(8)前記質
    問文字列に対する単語被覆要素の集合である単語被覆を
    算定する単語被覆算定手段(ただし、単語被覆要素と
    は、前記質問文字列の部分文字列になっている前記単語
    辞書中の単語と被覆文字位置範囲との対であり、前記質
    問文字列中の任意の位置の文字は、単語被覆中のいずれ
    かの単語被覆要素の被覆文字位置範囲に含まれる)と、
    前記質問文字列の単語被覆がない場合には「検索不可
    能」を示す特別な検索結果を前記検索結果出力手段に出
    力する手段とを有する単語被覆算定手段と、(9)単語
    被覆が求まった場合に、前記正規表現辞書から前記単語
    被覆中の各単語被覆要素の延長正規表現集合を算定する
    延長正規表現集合算定手段(ただし、延長正規表現集合
    は、前記質問文字列の単語被覆中の各単語被覆要素の第
    1項の単語を含む正規表現の集合であり、前記質問文字
    列を含む任意の延長質問文字列に対し、(a)前記単語
    被覆要素の第2項である被覆文字位置範囲を含む、前記
    延長質問文字列の第2の文字位置範囲の文字列に照合す
    る正規表現を含み、(b)この第2の文字位置範囲を含
    む、前記延長質問文字列の第3の文字位置範囲の文字列
    に照合する、前記正規表現集合以外の正規表現が、前記
    正規表現辞書には含まれない、という2つの条件を満た
    す集合である)と、(10)前記単語索引を検索して前記
    延長正規表現集合中の各正規表現を第1項とする全ての
    索引要素を求める索引要素集合検索手段と、(11)2つ
    以上の索引要素集合に対して、各索引要素集合中の要素
    で、前記文書中に連続して出現する索引要素の列を全て
    求める連接索引要素算定手段と、(12)索引要素の列の
    先頭要素である索引要素の第2項の照合開始文字位置の
    集合を求めて検索結果とする照合位置集合算定手段と、
    (13)検索結果を出力するための検索結果出力手段と、
    を具備することを特徴とする文書検索装置。
  10. 【請求項10】 前記単語被覆算定手段が、単語被覆要
    素の数が最も少ない単語被覆を算定することを特徴とす
    る請求項9記載の文書検索装置。
  11. 【請求項11】 前記単語被覆算定手段が、単語被覆要
    素の第2項である被覆文字位置範囲の長さの最小値が最
    も大きい単語被覆を算定することを特徴とする請求項9
    記載の文書検索装置。
JP09156056A 1997-05-30 1997-05-30 辞書索引作成装置と文書検索装置 Expired - Lifetime JP3143079B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP09156056A JP3143079B2 (ja) 1997-05-30 1997-05-30 辞書索引作成装置と文書検索装置
US09/059,567 US6169999B1 (en) 1997-05-30 1998-04-14 Dictionary and index creating system and document retrieval system
US09/580,972 US6493713B1 (en) 1997-05-30 2000-05-30 Dictionary and index creating system and document retrieval system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09156056A JP3143079B2 (ja) 1997-05-30 1997-05-30 辞書索引作成装置と文書検索装置

Publications (2)

Publication Number Publication Date
JPH10334118A true JPH10334118A (ja) 1998-12-18
JP3143079B2 JP3143079B2 (ja) 2001-03-07

Family

ID=15619348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09156056A Expired - Lifetime JP3143079B2 (ja) 1997-05-30 1997-05-30 辞書索引作成装置と文書検索装置

Country Status (2)

Country Link
US (2) US6169999B1 (ja)
JP (1) JP3143079B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163442A (ja) * 1998-11-30 2000-06-16 Matsushita Electric Ind Co Ltd 記号辞書作成方法及び記号辞書検索方法
US6546401B1 (en) 1999-07-19 2003-04-08 Matsushita Electric Industrial Co., Ltd. Method of retrieving no word separation text data and a data retrieving apparatus therefor
CN103678385A (zh) * 2012-09-18 2014-03-26 西安邮电大学 一种适用于移动搜索的个性化词典构造方法
CN111221951A (zh) * 2020-01-03 2020-06-02 北京字节跳动网络技术有限公司 文本处理方法及装置
US11005645B2 (en) 2016-01-15 2021-05-11 Mitsubishi Electric Corporation Encryption device, encryption method, computer readable medium, and storage device
US11106740B2 (en) 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067081A (ja) * 1998-08-24 2000-03-03 Matsushita Electric Ind Co Ltd 文書検索方法、そのプログラムを記録した記録媒体、及び文書検索装置
JP3696745B2 (ja) 1999-02-09 2005-09-21 株式会社日立製作所 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001195463A (ja) 2000-01-06 2001-07-19 Canon Inc 作業標準作成システム、作業標準作成方法、分散型クライアントサーバシステム及びコンピュータプログラムの記憶媒体
JP2001256333A (ja) * 2000-01-06 2001-09-21 Canon Inc 作業割付システム、作業割付方法、分散型クライアントサーバシステム及びコンピュータプログラム記憶媒体
JP2001195462A (ja) * 2000-01-06 2001-07-19 Canon Inc 組立情報管理システムと組立情報管理のためのクライアントサーバ型分散システム
US6892237B1 (en) * 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
JP2001291060A (ja) * 2000-04-04 2001-10-19 Toshiba Corp 単語列照合装置および単語列照合方法
US6556990B1 (en) * 2000-05-16 2003-04-29 Sun Microsystems, Inc. Method and apparatus for facilitating wildcard searches within a relational database
US6529903B2 (en) * 2000-07-06 2003-03-04 Google, Inc. Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
US8706747B2 (en) 2000-07-06 2014-04-22 Google Inc. Systems and methods for searching using queries written in a different character-set and/or language from the target pages
US7503000B1 (en) * 2000-07-31 2009-03-10 International Business Machines Corporation Method for generation of an N-word phrase dictionary from a text corpus
US6941294B2 (en) * 2000-08-28 2005-09-06 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US7069518B2 (en) * 2000-12-21 2006-06-27 Xerox Corporation Indexing methods, systems, and computer program products for virtual three-dimensional books
US6754650B2 (en) * 2001-05-08 2004-06-22 International Business Machines Corporation System and method for regular expression matching using index
JP2003006216A (ja) * 2001-06-26 2003-01-10 Sony Corp 情報処理装置および情報処理方法、記録媒体、プログラム、並びに電子出版用データ提供システム
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
GB0200352D0 (en) * 2002-01-09 2002-02-20 Ibm Finite state dictionary and method of production thereof
US20030187843A1 (en) * 2002-04-02 2003-10-02 Seward Robert Y. Method and system for searching for a list of values matching a user defined search expression
US6952694B2 (en) * 2002-06-13 2005-10-04 Intel Corporation Full regular expression search of network traffic
US7680649B2 (en) * 2002-06-17 2010-03-16 International Business Machines Corporation System, method, program product, and networking use for recognizing words and their parts of speech in one or more natural languages
ES2357234T3 (es) 2003-06-02 2011-04-20 Qualcomm Incorporated Generación e implementación de un protocolo y una interfaz de señales para velocidades de transferencia de datos elevadas.
US7734627B1 (en) 2003-06-17 2010-06-08 Google Inc. Document similarity detection
US7165067B1 (en) * 2003-07-10 2007-01-16 Sun Microsystems, Inc. Method, system, and program for character set matching
US7174346B1 (en) * 2003-07-31 2007-02-06 Google, Inc. System and method for searching an extended database
JP2007507918A (ja) 2003-08-13 2007-03-29 クゥアルコム・インコーポレイテッド さらに高速なデータレート用の信号インタフェース
JP4838132B2 (ja) 2003-09-10 2011-12-14 クゥアルコム・インコーポレイテッド 高速データレートインタフェース
CN1894931A (zh) 2003-10-15 2007-01-10 高通股份有限公司 高数据速率接口
TWI401601B (zh) 2003-10-29 2013-07-11 Qualcomm Inc 用於一行動顯示數位介面系統之方法及系統及電腦程式產品
WO2005048562A1 (en) 2003-11-12 2005-05-26 Qualcomm Incorporated High data rate interface with improved link control
CN101053232A (zh) 2003-11-25 2007-10-10 高通股份有限公司 具有改进链路同步的高数据速率接口
JP4114600B2 (ja) 2003-12-02 2008-07-09 日本電気株式会社 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム
CN101867516B (zh) 2003-12-08 2012-04-04 高通股份有限公司 具有改进链路同步的高数据速率接口
US20050149388A1 (en) * 2003-12-30 2005-07-07 Scholl Nathaniel B. Method and system for placing advertisements based on selection of links that are not prominently displayed
EP2375675B1 (en) 2004-03-10 2013-05-01 Qualcomm Incorporated High data rate interface apparatus and method
RU2355121C2 (ru) 2004-03-17 2009-05-10 Квэлкомм Инкорпорейтед Устройство и способ интерфейса с высокой скоростью передачи данных
MXPA06010873A (es) 2004-03-24 2007-04-02 Qualcomm Inc Metodo y aparato de interfase de tasa de datos alta.
JP4398777B2 (ja) * 2004-04-28 2010-01-13 株式会社東芝 時系列データ分析装置および方法
US7783476B2 (en) * 2004-05-05 2010-08-24 Microsoft Corporation Word extraction method and system for use in word-breaking using statistical information
US7861304B1 (en) * 2004-05-07 2010-12-28 Symantec Corporation Pattern matching using embedded functions
CN1993948A (zh) 2004-06-04 2007-07-04 高通股份有限公司 高数据速率接口设备和方法
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US8392453B2 (en) * 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
US8972444B2 (en) * 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US7207004B1 (en) * 2004-07-23 2007-04-17 Harrity Paul A Correction of misspelled words
US7752200B2 (en) 2004-08-09 2010-07-06 Amazon Technologies, Inc. Method and system for identifying keywords for use in placing keyword-targeted advertisements
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US7315265B2 (en) * 2004-11-24 2008-01-01 Qualcomm Incorporated Double data rate serial encoder
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US20060167873A1 (en) * 2005-01-21 2006-07-27 Degenaro Louis R Editor for deriving regular expressions by example
US7873608B2 (en) * 2005-05-25 2011-01-18 Hewlett-Packard Development Company, L.P. Pattern matching algorithm to determine valid syslog messages
CA2975694C (en) * 2005-07-15 2020-12-08 Indxit Systems, Inc. Systems and methods for data indexing and processing
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US7958164B2 (en) * 2006-02-16 2011-06-07 Microsoft Corporation Visual design of annotated regular expression
US7860881B2 (en) * 2006-03-09 2010-12-28 Microsoft Corporation Data parsing with annotated patterns
US7979425B2 (en) * 2006-10-25 2011-07-12 Google Inc. Server-side match
US20080288488A1 (en) * 2007-05-15 2008-11-20 Iprm Intellectual Property Rights Management Ag C/O Dr. Hans Durrer Method and system for determining trend potentials
WO2008151466A1 (en) * 2007-06-14 2008-12-18 Google Inc. Dictionary word and phrase determination
US20090060338A1 (en) * 2007-09-04 2009-03-05 Por-Sen Jaw Method of indexing Chinese characters
US10437887B1 (en) 2007-11-12 2019-10-08 Google Llc Determining intent of text entry
US8775407B1 (en) 2007-11-12 2014-07-08 Google Inc. Determining intent of text entry
WO2009113869A1 (en) * 2008-03-12 2009-09-17 Lumex As A word length indexed dictionary for use in an optical character recognition (ocr) system.
CN101334939A (zh) * 2008-06-03 2008-12-31 谷祖顺 各国编写词典类—单词字母系统排列法
JP2010055235A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 翻訳支援プログラム、及び該システム
US20100114887A1 (en) * 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
US8266135B2 (en) 2009-01-05 2012-09-11 International Business Machines Corporation Indexing for regular expressions in text-centric applications
US9335916B2 (en) * 2009-04-15 2016-05-10 International Business Machines Corporation Presenting and zooming a set of objects within a window
AU2011240695A1 (en) 2010-04-12 2012-11-01 Google Inc. Real-time collaboration in a hosted word processor
US20110252339A1 (en) 2010-04-12 2011-10-13 Google Inc. Collaborative Cursors in a Hosted Word Processor
CN113011168B (zh) * 2010-07-30 2024-05-31 库比克设计工作室有限责任公司 填空字补齐系统
US8566708B1 (en) 2011-01-13 2013-10-22 Google Inc. Merging electronic document redraws
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US8510266B1 (en) 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US9336137B2 (en) 2011-09-02 2016-05-10 Google Inc. System and method for performing data management in a collaborative development environment
US8484561B1 (en) 2011-09-02 2013-07-09 Google Inc. System and method for updating an object instance based on instructions received from multiple devices
US8738706B1 (en) 2011-11-16 2014-05-27 Google Inc. Systems and methods for collaborative document editing
US9286276B2 (en) * 2012-06-11 2016-03-15 Google Inc. System and method of document embedding in collaborative editors
JP5921379B2 (ja) * 2012-08-10 2016-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テキスト処理方法、システム及びコンピュータ・プログラム。
WO2014045318A1 (ja) * 2012-09-21 2014-03-27 富士通株式会社 圧縮プログラム、圧縮方法及び圧縮装置
CN103823799A (zh) * 2012-11-16 2014-05-28 镇江诺尼基智能技术有限公司 新一代行业知识全文检索方法
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10956667B2 (en) 2013-01-07 2021-03-23 Google Llc Operational transformations proxy for thin clients
US9462037B2 (en) 2013-01-07 2016-10-04 Google Inc. Dynamically sizing chunks in a partially loaded spreadsheet model
US9311622B2 (en) 2013-01-15 2016-04-12 Google Inc. Resolving mutations in a partially-loaded spreadsheet model
US11727005B2 (en) * 2013-03-05 2023-08-15 Cubic Design Studios Llc Fill in the blanks word completion system
RU2549118C2 (ru) * 2013-05-24 2015-04-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Итеративное пополнение электронного словника
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US20160255239A1 (en) * 2013-10-31 2016-09-01 Kyocera Document Solutions Inc. Image Processing Apparatus and Image Processing Method
US9542456B1 (en) * 2013-12-31 2017-01-10 Emc Corporation Automated name standardization for big data
CN103838876B (zh) * 2014-03-27 2017-06-20 烽火通信科技股份有限公司 使用拼音检索文件的文件检索方法及系统
CN103956166A (zh) * 2014-05-27 2014-07-30 华东理工大学 一种基于语音关键词识别的多媒体课件检索系统
US9558182B1 (en) * 2016-01-08 2017-01-31 International Business Machines Corporation Smart terminology marker system for a language translation system
JP6880956B2 (ja) * 2017-04-10 2021-06-02 富士通株式会社 解析プログラム、解析方法および解析装置
US10275462B2 (en) * 2017-09-18 2019-04-30 Sap Se Automatic translation of string collections
JP7095264B2 (ja) * 2017-11-13 2022-07-05 富士通株式会社 情報生成プログラム、単語抽出プログラム、情報処理装置、情報生成方法及び単語抽出方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4358824A (en) * 1979-12-28 1982-11-09 International Business Machines Corporation Office correspondence storage and retrieval system
JPS60245083A (ja) * 1984-05-18 1985-12-04 Brother Ind Ltd 電子辞書
US5123103A (en) * 1986-10-17 1992-06-16 Hitachi, Ltd. Method and system of retrieving program specification and linking the specification by concept to retrieval request for reusing program parts
US5708829A (en) * 1991-02-01 1998-01-13 Wang Laboratories, Inc. Text indexing system
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
JPH0827805B2 (ja) * 1992-03-23 1996-03-21 松下電器産業株式会社 検索装置
JP2683870B2 (ja) * 1994-05-23 1997-12-03 日本アイ・ビー・エム株式会社 文字列検索システム及び方法
JPH0877173A (ja) * 1994-09-01 1996-03-22 Fujitsu Ltd 文字列修正システムとその方法
JP3003915B2 (ja) * 1994-12-26 2000-01-31 シャープ株式会社 単語辞書検索装置
JP2929963B2 (ja) 1995-03-15 1999-08-03 松下電器産業株式会社 文書検索装置および単語索引作成方法および文書検索方法
US5649221A (en) * 1995-09-14 1997-07-15 Crawford; H. Vance Reverse electronic dictionary using synonyms to expand search capabilities
JP3254642B2 (ja) * 1996-01-11 2002-02-12 株式会社日立製作所 索引の表示方法
JP2833580B2 (ja) * 1996-04-19 1998-12-09 日本電気株式会社 全文インデックス作成装置および全文データベース検索装置
US5995922A (en) * 1996-05-02 1999-11-30 Microsoft Corporation Identifying information related to an input word in an electronic dictionary
JP3889466B2 (ja) * 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163442A (ja) * 1998-11-30 2000-06-16 Matsushita Electric Ind Co Ltd 記号辞書作成方法及び記号辞書検索方法
US7103536B1 (en) 1998-11-30 2006-09-05 Matsushita Electric Industrial Co., Ltd. Symbol dictionary compiling method and symbol dictionary retrieving method
US6546401B1 (en) 1999-07-19 2003-04-08 Matsushita Electric Industrial Co., Ltd. Method of retrieving no word separation text data and a data retrieving apparatus therefor
CN103678385A (zh) * 2012-09-18 2014-03-26 西安邮电大学 一种适用于移动搜索的个性化词典构造方法
CN103678385B (zh) * 2012-09-18 2019-01-11 西安邮电大学 一种适用于移动搜索的个性化词典构造方法
US11005645B2 (en) 2016-01-15 2021-05-11 Mitsubishi Electric Corporation Encryption device, encryption method, computer readable medium, and storage device
US11106740B2 (en) 2017-04-25 2021-08-31 Mitsubishi Electric Corporation Search device, search system, search method, and computer readable medium
CN111221951A (zh) * 2020-01-03 2020-06-02 北京字节跳动网络技术有限公司 文本处理方法及装置
CN111221951B (zh) * 2020-01-03 2021-05-28 北京字节跳动网络技术有限公司 文本处理方法及装置

Also Published As

Publication number Publication date
JP3143079B2 (ja) 2001-03-07
US6493713B1 (en) 2002-12-10
US6169999B1 (en) 2001-01-02

Similar Documents

Publication Publication Date Title
JP3143079B2 (ja) 辞書索引作成装置と文書検索装置
Ahonen et al. Applying data mining techniques for descriptive phrase extraction in digital document collections
US7424421B2 (en) Word collection method and system for use in word-breaking
US20070203885A1 (en) Document Classification Method, and Computer Readable Record Medium Having Program for Executing Document Classification Method By Computer
Choudhury et al. Figure metadata extraction from digital documents
US20050278292A1 (en) Spelling variation dictionary generation system
WO2005124599A2 (en) Content search in complex language, such as japanese
EP1011057B1 (en) Identifying a group of words using modified query words obtained from successive suffix relationships
JP2000163442A (ja) 記号辞書作成方法及び記号辞書検索方法
KR100835706B1 (ko) 자동 색인을 위한 한국어 형태소 분석 시스템 및 그 방법
KR100847376B1 (ko) 질의어 자동 추출을 이용한 검색 방법 및 장치
JP3173411B2 (ja) 関連文書検索装置及び関連文書検索プログラムを記録した記録媒体
CN109885641B (zh) 一种数据库中文全文检索的方法及系统
US20040122660A1 (en) Creating taxonomies and training data in multiple languages
Tonkin Searching the long tail: Hidden structure in social tagging
US8682900B2 (en) System, method and computer program product for documents retrieval
CN112818645A (zh) 一种化学信息抽取方法、装置、设备及存储介质
JPH0782504B2 (ja) 情報検索処理方式および検索ファイル作成装置
JP2001184358A (ja) カテゴリ因子による情報検索装置,情報検索方法およびそのプログラム記録媒体
Hamdi et al. Machine learning vs deterministic rule-based system for document stream segmentation
JP5169456B2 (ja) 文書検索システム、文書検索方法および文書検索プログラム
JP2519129B2 (ja) マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置
Ramachandran et al. Document Clustering Using Keyword Extraction
JP2009020567A (ja) 文書検索装置
JPH06124305A (ja) 文書検索方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 13

EXPY Cancellation because of completion of term