JP3511724B2 - 文書検索方法 - Google Patents
文書検索方法Info
- Publication number
- JP3511724B2 JP3511724B2 JP06555095A JP6555095A JP3511724B2 JP 3511724 B2 JP3511724 B2 JP 3511724B2 JP 06555095 A JP06555095 A JP 06555095A JP 6555095 A JP6555095 A JP 6555095A JP 3511724 B2 JP3511724 B2 JP 3511724B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- character string
- character
- document
- different notation
- 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
Links
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Description
ースの全文を対象として指定した文字列の存在する文書
を高速に検索するフルテキストサーチ(文書検索方法)
に関する。特に、データベース、文書管理システム、文
書ファイリングシステムおよびDTP(Desk Top Publishin
g)システムなどに適用されるものである。
索システムとして、登録時に文書を文字コード化したテ
キストデータとして計算機に直接登録しテキストデータ
ベースとして蓄積し、検索時にテキストデータベース内
の全てのテキストの内容を読んで、指定された検索文字
列(以下、検索タームと呼ぶ)を含む文書を探し出すフ
ルテキストサーチが提案されている(L.A.Hollar,「Tex
t Retrieval Computers」,COMPUTER,March, 1979)。
タベースを構成する全文書のテキストをファイルとして
まとめたテキストファイル全体を先頭から一文字ずつ走
査して、指定された検索タームが存在するか否かを調べ
ることにより、指定された検索タームを含む文書を探し
出すことを特徴としている。こうすることにより、シソ
ーラス等の辞書を用いたインデキシングが不要となるた
め文書中に現れるどんな言葉でも検索タームに指定して
検索することが可能となる。
に示す二つの問題がある。
文字ずつ走査するため大規模なデータベースを対象とし
た場合にはサーチ処理に要する時間が長大化してしま
う。
ストデータベースの文書中の文字列との間の表記の食違
いによる検索漏れを生じる可能性がある(例えば、検索
タームとして「インタフォーン」が指定されたとき、テ
キストデータベース中に「インターホン」を含む文書は
検索されず、検索漏れとなってしまう)。
対しては、特開平3−174652号公報に階層型プリ
サーチ方式と呼ばれる高速全文検索方式(以後、従来例
1と呼ぶ)が記載されている。さらに特開平5−174
064号公報には従来例1の改良方式である連接文字成
分表方式(以後、従来例2と呼ぶ)が記載されている。
また、検索タームとテキストデータベースの文書中の文
字列との間の表記の食違いにより生じる検索漏れの防止
に対しては、特開平3−15980号公報に異表記検索
方式と呼ばれる(以後、従来例3と呼ぶ)が記載されて
いる。
の概略を説明する。まず始めに、フルテキストサーチの
検索速度を等価的に高める従来例1における階層プリサ
ーチ方式および従来例2における連接文字成分表方式に
ついて説明する。
テキストをサーチする前に予め作成しておいた二つの補
助ファイル、すなわち「文字成分表」と「凝縮テキス
ト」を階層的にサーチして検索タームに関係のない文書
を検索対象からふるい落とし、テキストをサーチする文
書の件数を減らすことによって等価的に検索速度を高速
化する。すなわち、まず文字成分表のサーチで文字単位
の絞込みを行う。次に、この文字成分表サーチによって
絞り込まれた文書に対し凝縮テキストをサーチし、単語
単位での絞込みを行うことによって検索タームに関係の
ない文書を検索対象からふるい落とす。
方式では抽出する文字成分を複数の文字の組み合わせ
て、複数の文字を一単位として絞り込む。このことによ
って、一文字を単位として検索対象とする文書を絞り込
む従来例1に比べ高い絞込み率を実現する。例えば、図
2に示す例において検索タームとして「イラン」が指定
された場合には、従来例1における文字成分表では一文
字単位の文字成分表をサーチすることにより「イ」、
「ラ」および「ン」を含む文書を抽出する。この結果、
文書1、文書2および文書Nがそれぞれ抽出されること
になる。これに対し、従来例2における連接文字成分表
の場合、本図に示す例では二文字単位の連接文字成分表
をサーチすることにより「イラ」および「ラン」を含む
文書を抽出する。この結果、文書Nのみが抽出されるこ
ととなり、従来例1における文字成分表に比べ文書1お
よび文書2を検索の対象からふるい落とすことができ
る。
の文書中の文字列との間の表記の食違いから生じる検索
漏れを防止する従来例3における異表記検索方式につい
て説明する。
表記、アルファベット文字の大小文字、ローマ字文字列
の表記法(ヘボン式、訓令式)、漢字の送り仮名および
漢字の新旧字体などについて、その表記しうるバリエー
ションを異表記文字列ルールとして登録しておく。検索
時には、先述した異表記文字列ルールに従い指定された
検索タームを先頭の文字から順次展開していくことによ
り、検索タームに対する展開結果文字列をシステム内部
で自動的に生成する。そして、これらの展開結果文字列
の全てを検索者が与えた検索タームであるとみなして検
索することにより検索タームとテキストデータベースの
文書中の文字列との間の表記の食違いから生じる検索漏
れを防止する。
が指定された場合の異表記展開処理の例を図3を用いて
説明する。本図において、異表記文字列ルールは異表記
ルールテーブルの形式で登録されている。まず始めに、
検索タームの先頭文字である「イ」に対し異表記ルール
テーブル中の見出し文字列の部分を探索する。この場
合、「イ」で始まる見出し文字列は見つからないため表
記のバリエーションは存在しないものとして、展開処理
を行わず探索ポインタを一文字移動させる。「ン」につ
いても同様に、該当する見出し文字列は存在しないため
探索ポインタを一文字移動させ、次に「タ」で始まる見
出し文字列を探索する。今度は、該当する見出し文字列
として「タ」が見つかるため、「タ」に対応する異表記
文字列の「タ」と「ター」を表記のバリエーションとし
て抽出し、探索ポインタを一文字分移動させる。次に、
「フ」の文字から見出し文字列を探索することにより該
当する見出し文字列として「フォー」と「フォ」を得る
が、長い方の文字列である「フォー」に対応する異表記
文字列の「フォー」、「フォ」、「ホ」および「ホー」
を表記のバリエーションとして抽出する。さらに、
「ン」については対応する見出し文字列が見つからない
ため展開しない。
ンタフォーン」は、異表記文字列リスト「イン{タ、タ
ー}{フォー、フォ、ホー、ホ}ン」に展開される(「{」
および「}」は各異表記文字列の先頭および末尾を表
す)。そして、最終的にこれらの異表記文字列リストを
組み合わせることにより、検索タームである「インタフ
ォーン」は、(1)「インタフォーン」、(2)「インタフォ
ン」、(3)「インタホーン」、(4)「インタホン」、(5)
「インターフォーン」、(6)「インターフォン」、(7)
「インターホーン」、(8)「インターホン」の8通りの
展開結果文字列に展開される。以上が従来例3における
異表記展開処理の例である。
開した場合に、絞り込み率を高めることを望むときは、
以上説明した従来例2における連接文字成分表方式を従
来例3における異表記検索方式に適用することが考えら
れる。具体的には、次の二つの方法がある。第一の方法
として、異表記展開された全ての展開結果文字列に対し
それぞれ連接文字成分表サーチを行い各検索結果の論理
和をとる方法がある。また、第二の方法として異表記文
字列毎に連接文字成分表をサーチし各異表記文字列につ
いて得られた連接文字成分表サーチ結果の論理積をとる
方法である。
がある。まず第一の方法(異表記展開された全ての展開
結果文字列に対しそれぞれ連接文字成分表サーチを行
い、各検索結果の論理和をとる方法)では、連接文字成
分表サーチに要する時間が長大化する。その理由は、展
開結果文字列の数が各異表記文字列の文字列数の積に比
例して増加するためである。特に、異表記文字列を多く
含む検索タームが指定された場合に、この問題が顕著に
なる。例えば、図3に示した「インタフォーン」の例で
は8通りの文字列全てに対し連接文字成分表サーチを行
い、これらの検索結果の論理和をとる必要がある。すな
わち、連接文字成分表の連接文字数を2としたときにつ
いて具体的に説明すると、(1)「インタフォーン」に対
する検索結果を得るために「イン」、「ンタ」、「タ
フ」、「フォ」、「ォー」および「ーン」の6個の連接
文字成分について文字成分表サーチが発生する。同様
に、(2)「インタフォン」については5個、(3)「インタ
ホーン」については5個、(4)「インタホン」について
は4個、(5)「インターフォーン」については7個、(6)
「インターフォン」については6個、(7)「インターホ
ーン」については6個、(8)「インターホン」について
は5個、合計44個の連接文字成分について文字成分表
サーチが発生することになる。
文字成分表をサーチし、各異表記文字列について得られ
た連接文字成分表サーチ結果の論理積をとる方法)で
は、連接文字成分表サーチの絞込み率が著しく低下する
という問題が生じる。その理由は、部分文字列間にまた
がった連接文字成分を絞込みに利用することができない
ためである。すなわち、図3に示す例では文字列を「イ
ン」、{「タ」or「ター」}、{「フォー」or「フォ」or
「ホー」or「ホ」}および「ン」に分解する。そして、
分解された各文字列に対し連接文字成分表をサーチし、
各検索結果の論理積をとることにより検索ターム「イン
タフォーン」の展開結果文字列に対する連接文字成分表
サーチ結果を得る。このため、異表記検索を行わない場
合には検索ターム「インタフォーン」に対し、 「イン」and「ンタ」and「タフ」and「フォ」and「ォ
ー」and「ーン」 の条件で連接文字成分表サーチを行う。このことに比
べ、異表記検索を行う場合には文字列が異表記文字列毎
に分解されるために「ンタ」、「タフ」および「ーン」
に対応する連接文字成分を検索に利用することができな
い。このため、異表記展開を行わない場合に比べ絞込み
率が低下してしまうという問題が生じる。
は、検索条件として検索タームとテキストデータベース
の文書中の文字列との間の表記の食違いを許容した検索
が指定された場合にも、検索ノイズの少ない連接文字成
分表サーチを高速に実現することである。
ムとテキストデータベースの文書中の文字列との間に生
じるカタカナ文字列、アルファベット文字の大小文字、
ローマ字文字列の表記法(ヘボン式、訓令式)、漢字の
送り仮名および漢字の新旧字体などの表記の食違いを吸
収した検索が指定された場合でも、以下の構成により正
確かつ高速な検索が可能となる。
たテキストデータベースを対象として、対象テキストデ
ータから予め定められた形式2文字以上からなる部分文
字列を抽出し、抽出された部分文字列を連接文字成分と
して、その存在の有無を連接文字成分表に登録し、検索
時には、検索タームから予め定められた形式で2文字以
上からなる検索用部分文字列を抽出し、抽出された検索
用部分文字列に対応する前記連接文字成分表をサーチし
て、検索タームに関係のない文書を検索対象からふるい
落す文書検索方法において、検索タームに対し、文字と
して表した場合に表記が異なる異表記を生成する異表記
文字列ルールを参照して、検索タームを構成する部分文
字列毎に異表記文字列を生成し、生成された異表記文字
列の末尾に、異表記文字列の次に位置する異表記文字列
の先頭からの1文字以上の文字列を付加して付加型異表
記文字列を作成し、作成された付加型異表記文字列から
検索用部分文字列を抽出し、抽出された検索用部分文字
列に対応する連接文字成分表をサーチすることにより、
検索タームに関係のない文書を検索対象からふるい落す
ことを特徴とする。
文字を付加する場合について説明する。
ン」が指定された場合には異表記文字列抽出ステップに
おいて図2に示したように、異表記文字列を含む文字列
として「イン{タ、ター}{フォー、フォ、ホー、ホ}ン」
を抽出する。
ップでは、まずはじめに部分文字列「イン」に着目す
る。そして、次の異表記文字列の先頭一文字として
「タ」を抽出し、これを部分文字列「イン」の末尾に付
加することにより一文字付加型の部分文字列として「イ
ンタ」を得る。次に、異表記文字列{タ、ター}に着目
し、次の異表記文字列の先頭一文字である「フ」と
「ホ」を各文字列の末尾に付加することにより、一文字
付加型の異表記文字列として「{タフ、ターフ、タホ、
ターホ}」を得る。さらに、異表記文字列「{フォー、フ
ォ、ホー、ホ}」に着目し、次の部分文字列の先頭一文
字である「ン」を各文字列の末尾に付加することによ
り、「{フォーン、フォン、ホーン、ホン}」を得る。最
後に、部分文字列「ン」に着目するが、部分文字列が単
一文字であり、かつ次に部分文字列が存在しないため削
除する。
一文字付加型の部分文字列「インタ」について連接文字
成分表をサーチし検索結果1を得る。次に、一文字付加
型の異表記文字列「{タフ、ターフ、タホ、ターホ}」に
ついて「タフ」or「ターフ」or「タホ」or「ターホ」の
条件で連接文字成分表をサーチし検索結果2を得る。最
後に、一文字付加型の異表記文字列「{フォーン、フォ
ン、ホーン、ホン}」についても同様に「フォーン」or
「フォン」or「ホーン」or「ホン」の条件で連接文字成
分表をサーチし検索結果3を得る。
字列サーチステップにおいて得られた検索結果1、検索
結果2および検索結果3の間で論理積をとることによ
り、検索ターム「インタフォーン」に対する検索結果を
得る。
付加する文字数は、テキストデータから抽出された部分
文字列の文字数から1引いた数にしてもよい。
接文字成分表の連接文字数を2とした時、「ンタ」や
「タフ」などの異表記文字列間にまたがった連接文字成
分を利用した絞込みが行えるため検索ノイズの少ない連
接文字成分表サーチを実現することができる。
結果1を得るために「イン」と「ンタ」の2個の連接文
字成分について文字成分表をサーチする。また、検索結
果2を得るために「タフ」、「ター」、「ーフ」、「タ
ホ」、「ター」、「ーホ」の6個、検索結果3を得るた
めに「フォ」、「ォー」、「ーン」、「フォ」、「ォ
ン」、「ホー」、「ーン」、「ホン」の8個の連接文字
成分について文字成分表をサーチする。このように、合
計16個の連接文字成分について文字成分表をサーチす
ることにより検索が終了する。すなわち、検索タームで
ある「インタフォーン」を、(1)「インタフォーン」、
(2)「インタフォン」、(3)「インタホーン」、(4)「イ
ンタホン」、(5)「インターフォーン」、(6)「インター
フォン」、(7)「インターホーン」、(8)「インターホ
ン」の8通りの展開結果文字列に展開してから文字成分
表をサーチする場合に比べ、サーチする連接文字成分数
を44個から約三分の一である16個に削減することが
でき、ひいては検索時間を大幅に短縮することが可能に
なる。
分を絞り込みに利用できる。つまり、上述した第2の方
法で利用できなかった「ンタ」「タフ」および「ーン」
に対応する連接成分を検索に利用できる。
明する。本実施例では、説明の簡略化のため連接文字成
分表の連接文字数を2とした場合について説明する。ま
た、部分文字列に付加する文字数を一文字とした場合に
ついて説明する。
に示す。この文書検索システムは、ディスプレイ10
0、キーボード101、中央演算装置CPU102、磁
気ディスク110、フロッピディスクドライブ(FD
D)106、主メモり200から構成される。また、こ
れらはバス108で接続されている。磁気ディスク11
0にはテキスト103、凝縮テキスト104、連接文字
成分表105および後述する各種プログラム111やテ
ーブル112が格納される。107は新たに登録する文
書を格納したフロッピディスクである。
ラム201、文書登録制御プログラム202、テキスト
登録プログラム203、凝縮テキスト作成登録プログラ
ム204、連接文字成分表作成登録プログラム205、
検索制御プログラム206、検索条件式解析プログラム
207、連接文字成分表サーチプログラム208、凝縮
テキストサーチプログラム213、テキストサーチプロ
グラム214、ハッシュテーブル215、および異表記
ルールテーブル216が磁気ディスク110から読み出
されて格納されるとともにワークエリア217が確保さ
れる。
異表記文字列抽出プログラム209、一文字付加型異表
記文字列作成プログラム210、異表記文字列サーチプ
ログラム211および検索結果取得プログラム212か
ら構成される。これらのプログラムはユーザのキーボー
ド101からの指示に応じてシステム制御プログラム2
01の制御の下で実行される。
における登録処理と検索処理について説明する。
ボード101から入力されたコマンドを受け、システム
制御プログラム201は文書登録制御プログラム202
を起動する。この文書登録制御プログラム202は、最
初にステップ1000でテキスト登録プログラム203
を起動して、フロッピディスクドライブ106に挿入さ
れたフロッピディスク107から登録文書のテキストデ
ータをワークエリア217に読み込み、これをテキスト
103として磁気ディスク110へ格納する。登録文書
はフロッピディスクを用いて入力するだけでなく、通信
回線(図1には示していない)等を用いて他の装置から
入力するような構成をとってもかまわない。
テップ1001で凝縮テキスト作成登録プログラム20
4を起動して以下の処理を行う。テキストデータを単語
レベルで部分文字列へ分割する。分割した部分文字列間
で相互に文字列の包含関係を調べ、他の部分文字列に含
まれる文字列を排除する。そして、残った部分文字列の
集合を凝縮テキスト104として磁気ディスク110へ
格納する。
ステップ1002で連接文字成分表作成登録プログラム
205を起動し、磁気ディスク110に格納されたテキ
スト103からテキストデータをワークエリア217に
読み込む。そして、このテキストデータから連続する2
文字の文字列を抽出し、ワークエリア217内の連接文
字成分表105の該当するエントリに「1」を設定し、
これを磁気ディスク110へ格納する。なお、テキスト
データから抽出された2文字の文字列に該当する文字成
分表のエントリを算出する方式として単純なハッシュ関
数を用いてもよいし、従来例2に示されている文書デー
タベース中の連接文字成分の頻度を利用したハッシュ方
式を用いてもよい。また、特願平7−2405号で示し
たハッシュ関数を用いない方式であってもよい。
ムの処理内容である。
01から入力されると、システム制御プログラム201
により検索制御プログラム206が起動される。そし
て、本制御プログラムの下で検索条件式解析プログラム
207、連接文字成分表サーチプログラム208、凝縮
テキストサーチプログラム213およびテキストサーチ
プログラム214が順次起動される。
チプログラム211、凝縮テキストサーチプログラム2
14およびテキストサーチプログラム215による階層
検索処理の詳細について説明する。
プ1010で連接文字成分表サーチプログラム208を
起動し、検索タームから抽出された連接文字成分を含む
文書を抽出する。この連接文字成分表サーチの結果件数
が0件であれば、ここで0件という結果件数をシステム
制御プログラム201に出力して検索処理を終了する。
0件でなければ、検索制御プログラム206はステップ
1011で凝縮テキストサーチプログラム213を実行
する。ここでは、上述の連接文字成分表サーチプログラ
ム208によって出力された文書番号に対応する凝縮テ
キスト104をワークエリア217に読み込む。
を凝縮テキストサーチプログラム213で探索し、検索
タームが含まれる凝縮テキストの文書番号を検索制御プ
ログラム206に出力する。
であれば、ここで0件という結果件数をシステム制御プ
ログラム201に出力して検索処理を終了する。
検索タームか、あるいは複数の検索ターム間の論理的な
関係(AND条件やOR条件)が指定されているだけで、テキ
スト中での位置関係までは指定されていない場合には、
ここで検索を終了し凝縮テキストサーチプログラム21
3によって出力された文書番号を検索結果としてシステ
ム制御プログラム201に出力する。
条件式の中に複数の検索ターム間のテキスト中での位置
関係が指定されている場合には、ステップ1012でテ
キストサーチプログラム214を起動し、テキストサー
チを行う。
は単にANDやOR条件が指定されただけの場合に凝縮
テキストサーチで検索を終了できるのは、凝縮テキスト
104にはその作成アルゴリズムからも分かるように、
テキスト103中に存在する単語が漏れなく抽出されて
おり、凝縮テキスト104を検索するだけで指定された
単語がテキストデータ中に現われたか否かが判定できる
ためである。
化」のように記述される「「インターフォン」と「小型
化」の両方が現れる文書を探せ」という意味を持つAN
D条件や、「インターフォン(OR)マイクロフォン」
のように記述される「「インターフォン」か「マイクロ
フォン」のどちらかが現れる文書を探せ」という意味を
持つOR条件などは、複数の検索ターム間の論理的な関
係が指定されているだけで、テキスト中での位置関係ま
では指定されていない。そのため、「インターフォン」
と「マイクロフォン」の存在分かればよいだけなので凝
縮テキストサーチだけで検索条件の成否を判定すること
ができる。
よび隣接条件の場合、複数の検索ターム間のテキスト中
での位置関係が指定されているため、単語の出現位置情
報を持たない凝縮テキストサーチだけでは成否の判定が
できず、テキストサーチまで行わなければならない。
(S)小型化」のように記述される「「インターフォ
ン」と「小型化」が同一の文(センテンス)に共起(同
時に出現)する文書を探せ」という意味を持つものであ
る。
W)小型化」のように記述される「「インターフォン」
と「小型化」が2語以内に近接して現れる文書を探せ」
という意味を持つものである。
ターフォン」のように記述される「「小型化」と「イン
ターフォン」が隣接して現れる文書を探せ」という意味
を持つものである。
く、かつ上述した文脈条件、近傍条件あるいは隣接条件
が指定されている場合には、テキストサーチプログラム
214が起動され、凝縮テキストサーチプログラム21
3で出力された文書番号に対応するテキストデータをテ
キスト103からワークエリア217に読み込む。そし
て、テキストサーチプログラム214はこのテキストデ
ータを探索し、与えられた検索タームを含み、かつ検索
ターム間の位置関係に関する指定条件を満たすものを抽
出し、この抽出テキストデータに対応する文書番号を検
索結果として検索制御プログラム206に出力する。以
上が本発明の対象となる階層プリサーチの概略である。
分表の検索手順について図7を用いて説明する。
プ1020で異表記文字列抽出プログラム209を起動
する。ここでは、図3に示す異表記ルールテーブル21
6を参照することにより検索タームを部分文字列に分割
し、各部分文字列について異表記文字列を抽出する。
表記文字列作成プログラム210を起動し、異表記文字
列抽出プログラム209で抽出された各部分文字列の末
尾に次の部分文字列の先頭一文字を付加することにより
一文字付加型の異表記文字列を生成する。
サーチプログラム211を起動し、一文字付加型異表記
文字列作成プログラム210で作成された異表記文字列
を含む部分文字列に対し、それぞれ連接文字成分表をサ
ーチする。
プログラム212を起動し、異表記文字列サーチプログ
ラム211で得られた各部分文字列に対する検索結果間
で論理積演算を行うことにより検索結果を取得する。そ
して、この結果得られた文書の番号を連接文字成分表サ
ーチの結果として検索制御プログラム206に出力す
る。
の検索手順である。
る異表記文字列抽出プログラム209および一文字付加
型異表記文字列作成プログラム210の処理手順につい
て、さらに詳細に説明する。
9の処理手順について図8を用いて説明する。
まずステップ2000で部分文字列数を1に初期化し、
ステップ2001で探索ポインタを検索タームの先頭文
字にセットすることにより異表記文字列抽出処理の準備
をしておく。そして、ステップ2002で探索ポインタ
から始まる文字列に対し異表記ルールテーブル216の
見出し文字列の部分を探索する。そして、探索ポインタ
から始まる文字列が見出し文字列中に見つかった場合に
は、ステップ2003で文字列バッファ中に格納されて
いる文字列があるか否かの判定を行う。そして、文字列
バッファ中に文字列が格納されている場合には、ステッ
プ2004で該当する文字列を部分文字列として抽出
し、ステップ2005で文字列バッファを初期化する。
さらに、ステップ2006で該当する見出し文字列に対
応する異表記文字列を抽出する。そして、ステップ20
07で部分文字列数をインクリメントする。また、探索
ポインタから始まる文字列が見出し文字列中に見つから
ない場合には、ステップ2008で探索ポインタの示す
文字を文字列バッファに格納する。
繰り返すことにより、検索タームを異表記文字列を含む
部分文字列に展開していく。
グラム210の処理手順について図9を用いて説明す
る。
210では、まずステップ2100で異表記文字列抽出
プログラム209で算出された部分文字列数が1である
か否かを判定する。そして、部分文字列数が1の場合に
は、次の部分文字列が存在しないものとしてステップ2
101で該当部分文字列をそのまま出力する。また、部
分文字列数が2以上の時には、ステップ2102で該当
文字列の末尾に次の部分文字列の先頭一文字を付加して
出力し、ステップ2103で着目部分文字列を一つ移動
させる。そして、この処理を(部分文字列数−1)回繰り
返し、ステップ2104で最後の部分文字列に対し文字
列長が1文字であるか否かを判定する。文字列長が一文
字の場合にはステップ2105で該当文字を削除する。
そして、2文字以上の時にはステップ2106で該当文
字列をそのまま出力して処理を終了する。
9および一文字付加型異表記文字列作成プログラム21
0の処理手順である。
字成分表のサーチ処理について、検索タームとして「イ
ンタフォーン」が指定された時を例に図4を用いて具体
的に説明する。
接文字成分表サーチプログラム208において異表記文
字列抽出プログラム209を起動する。
初期設定として部分文字列数に1を設定し、探索ポイン
タを検索タームの先頭文字である「イ」に設定する(ス
テップ200および2001)。そして、着目文字であ
る「イ」から始まる文字列に対し図3に示す異表記ルー
ルテーブルの見出し文字列の部分を探索する(ステップ
2002)。異表記ルールテーブルの見出し文字列には
「イ」から始まる文字列がみつからないため、「イ」を
文字列バッファに出力する(ステップ2008)。そし
て、探索ポインタを一文字移動させ「ン」から始まる文
字列に着目する。「ン」についても同様に見出し文字列
中に見つからないため「ン」を文字列バッファに出力す
る。次に「タ」から始まる文字列について見出し文字列
を探索することにより、見出し文字列「タ」が見つか
る。この時、文字列バッファ中に文字列「イン」が格納
されているため(ステップ2003)、「イン」を部分文
字列として抽出し(ステップ2004)、文字列バッファ
を初期化する(ステップ2005)。そして、該当する見
出し文字列「タ」に対応する異表記文字列である「タ」
と「ター」を抽出する(ステップ2006)。また、部分
文字列数をインクリメントすることにより部分文字列数
は2となる(ステップ2007)。次に「フ」の文字から
見出し文字列を探索することにより、該当する見出し文
字列として「フォ」と「フォー」を得るが、このような
場合には長い方の文字列である「フォー」を該当する見
出し文字列として得る。この時、文字列バッファ中に文
字列が格納されていないため(ステップ2003)、ステ
ップ2004と2005を実行しない。そして、見出し
文字列「フォー」に対する異表記文字列として「フォ
ー」、「フォ」、「ホー」および「ホ」を抽出する(ス
テップ2006)。また、部分文字列数をインクリメン
トすることにより部分文字列数は3となる(ステップ2
007)。次に、「ン」については見出し文字列中に見
つからないため「ン」を文字列バッファに出力する(ス
テップ2008)。そして、最後に文字列バッファに格
納された文字列「ン」を部分文字列として抽出する(ス
テップ2009)。また、部分文字列数をインクリメン
トすることにより部分文字列数は4となる(ステップ2
010)。
列リスト「イン{タ、ター}{フォー、フォ、ホー、ホ}
ン」に展開され、部分文字列数として4を得る。
字成分表サーチプログラム208において一文字展開型
異表記文字列作成プログラム210を起動する。
10では、まずはじめに異表記文字列抽出プログラム2
09で算出された部分文字列数が1であるか否かを判定
する(ステップ2100)。この例の場合、部分文字列数
は4であるため2以上であると判定される。次に、(部
分文字列数−1)回、すなわち3回分の部分文字列につ
いて、各部分文字列の末尾に次の部分文字列の先頭文字
を付加する処理を行う(ステップ2102、2103)。
まず、1回目の処理では、部分文字列「イン」の末尾に
次の部分文字列である「タ」および「ター」の先頭文字
である「タ」を付加することにより部分文字列「イン
タ」を得る。また、2回目の処理では部分文字列「タ」
と「ター」の末尾に、次の部分文字列「フォー」、「フ
ォ」、「ホ」および「ホー」の先頭文字である「フ」と
「ホ」を付加することにより部分文字列「タフ」、「タ
ーフ」、「タホ」および「ターホ」を得る。最後に、3
回目の処理では部分文字列「フォー」、「フォ」、「ホ
ー」および「ホ」の末尾に次の部分文字列「ン」の先頭
文字である「ン」を付加することにより、部分文字列
「フォーン」、「フォン」、「ホーン」および「ホン」
を得る。
文字であるため(ステップ2104)、該当文字「ン」を
削除する(ステップ2105)。
「イン{タ、ター}{フォー、フォ、ホー、ホ}ン」は一文
字付加型の異表記文字列リスト「インタ{タフ、ター
フ、タホ、ターホ}{フォーン、フォン、ホーン、ホ
ン}」に展開される。
11では一文字付加型異表記文字列作成ステップ210
で作成された異表記文字列リストに対し、各部分文字列
毎の文字成分表サーチを実行する。すなわち、一番目の
部分文字列である「インタ」に対し連接文字成分表をサ
ーチすることにより検索結果1を得る。次に、二番目の
部分文字列である{タフ、ターフ、タホ、ターホ}、三番
目の部分文字列である{フォーン、フォン、ホーン、ホ
ン}に対し連接文字成分表をサーチすることにより、そ
れぞれ検索結果2および3を得る。
は異表記文字列サーチプログラム211で得られた各部
分文字列に対する文字成分表サーチ結果である検索結果
1、検索結果2および検索結果3の間の論理積をとるこ
とにより、検索ターム「インタフォーン」に対する検索
結果を取得する。
は各部分文字列の末尾に次の部分文字列の先頭一文字を
付加して一文字付加型の異表記文字列を作成する。この
ため、本実施例に示した「インタフォーン」の例では、
「ンタ」や「タフ」などの部分文字列間にまたがった連
接文字成分を利用した検索ノイズの少ない連接文字成分
表サーチを高速に実現することができる。また、その結
果、階層プリサーチにおける凝縮テキストの探索量が削
減されることになるため、等価的に全体の検索速度を向
上できることになる。したがって、より大量のフルテキ
ストサーチを実時間で行うことが可能となる。
の連接文字数を二文字とした場合に、各部分文字列の末
尾に次の部分文字列の先頭一文字を付加する方式につい
て説明した。しかし、例えば連接文字数が三文字の場合
には、各部分文字列の末尾に次の部分文字列の先頭二文
字を付加する二文字付加型の異表記文字列を作成するこ
とにより、連接文字数が三文字の場合にも実現できるこ
とは明らかであろう。
造の異表記文字列ルールを対象とした場合について説明
した。しかし、異表記文字列ルール内に階層的な構造を
持つ場合についても、階層構造を展開してから本実施例
に示した連接文字成分表サーチを実行することにより容
易に実現できる。例えば、本実施例で示した検索ターム
「インタフォーン」において「ー」(長音記号)に対し
「−」(マイナス)が異表記文字列として登録されている
場合には、異表記文字は階層構造を持つ異表記文字列リ
スト「イン{タ、タ{ー、−}}{フォ{ー、−}、フォ、ホ
{ー、−}、ホ}ン」で表されることになるが、この階層
構造を持つ部分を展開し異表記文字列リスト「イン
{タ、ター、タ−}{フォー、フォ−、フォ、ホー、ホ
−、ホ}ン」としてから本実施例に示した連接文字成分
表サーチを実行することにより検索ノイズの少ない連接
文字成分表サーチを高速に実現できることは明らかであ
ろう。
表105を全て磁気ディスク110上に格納した場合に
ついて説明した。しかし、表記の食違いを許容した検索
時に指定されるカタカナなどの検索タームは一般に単語
長が長く、さらにこれらが部分文字列ごとに展開される
ため磁気ディスク110から読み出される連接文字成分
表の数も増加し、通常の検索タ−ムに比べ検索レスポン
スが低下する。これに対し、異表記ルールテーブル21
6中に登録されている異表記文字列の全てまたは一部に
含まれる連接文字成分に対応する文字成分表を、選択的
に磁気ディスク110から主メモリ200上に予め常駐
させることにより、表記の食違いを許容した検索条件が
指定された場合にも一般の検索タームと同等のレスポン
スで連接文字成分表を検索することができる。
表サーチでは、従来例に比べ検索ノイズを大幅に削減す
ることができるため、連接文字成分表サーチの検索結果
は凝縮テキストおよびテキストをサーチすることにより
得られる検索結果と大きな差が生じない。このため、連
接文字成分表サーチの検索結果をシステムの検索結果と
してそのままシステム制御プログラム201に出力する
ことも可能である。
データベースの文書中の文字列との間に生じるカタカ
ナ、アルファベット、ローマ字、漢字の送り仮名や新旧
字体などの表記上の食違いを許容した検索が指定された
場合にも、高速かつ検索ノイズの少ない連接文字成分表
サーチを実現することができる。このため、無用の凝縮
テキストサーチを大幅に省くことができ、大規模な文書
データベースに対しても実用的な応答時間でフルテキス
トサーチを行うことが可能となる。
構成を示す図である。
る。
すPAD図である。
処置手順を示すPAD図である。
プログラムの処置手順を示すPAD図である。
中央演算装置CPU 103…テキスト、104…凝縮テキスト、105…連
接文字成分表 106…フロッピディスクドライブ(FDD)、107
…フロッピディスク 108…バス、110…磁気ディスク、111…各種プ
ログラム 112…テーブル、200…主メモり
Claims (5)
- 【請求項1】文書情報を文字コードデータとして蓄積し
たテキストデータベースを対象として、対象テキストデ
ータから予め定められた形式2文字以上からなる部分文
字列を抽出し、 抽出された部分文字列を連接文字成分として、その存在
の有無を連接文字成分表に登録し、 検索時には、検索タームから予め定められた形式で2文
字以上からなる検索用部分文字列を抽出し、 抽出された検索用部分文字列に対応する前記連接文字成
分表をサーチすることにより、検索タームに関係のない
文書を検索対象からふるい落す文書検索方法において、 前記検索タームに対し、文字として表した場合に表記が
異なる異表記を生成する異表記文字列ルールを参照し
て、前記検索タームを構成する部分文字列毎に異表記文
字列を生成し、 生成された前記異表記文字列の末尾に、前記異表記文字
列の次に位置する異表記文字列の先頭からの1文字以上
の文字列を付加して付加型異表記文字列を作成し、 作成された前記付加型異表記文字列から前記検索用部分
文字列を抽出し、 抽出された検索用部分文字列に対応する前記連接文字成
分表をサーチすることにより、検索タームに関係のない
文書を検索対象からふるい落すことを特徴とした文書検
索方法。 - 【請求項2】請求項1記載の文書検索方法において、 前記付加型異表記文字列を作成する際に付加する文字列
の文字数を、前記テキストデータから抽出された部分文
字列の文字数から1引いた数とすることを特徴とする文
書検索方法。 - 【請求項3】請求項1または請求項2記載の文書検索方
法において、 前記異表記文字列が階層的な構造を持つ場合には、階層
構造部分を展開することを特徴とする文書検索方法。 - 【請求項4】請求項1乃至請求項3のいずれかに記載の
文書検索方法において、 前記異表記文字列ルール中に登録されている異表記文字
列の全てまたは一部に含まれる連接文字成分に対応する
文字成分表を、記憶することを特徴とする文書検索方
法。 - 【請求項5】請求項1乃至請求項4のいずれかに記載の
文書検索方法において、 連接文字成分表をサーチして前記各検索用部分文字列が
存在する文書を検索結果とすることを特徴とする文書検
索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06555095A JP3511724B2 (ja) | 1995-03-24 | 1995-03-24 | 文書検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06555095A JP3511724B2 (ja) | 1995-03-24 | 1995-03-24 | 文書検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08263508A JPH08263508A (ja) | 1996-10-11 |
JP3511724B2 true JP3511724B2 (ja) | 2004-03-29 |
Family
ID=13290241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06555095A Expired - Fee Related JP3511724B2 (ja) | 1995-03-24 | 1995-03-24 | 文書検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3511724B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3849274B2 (ja) * | 1998-01-14 | 2006-11-22 | 富士ゼロックス株式会社 | 文書検索装置および記録媒体 |
JP2002091951A (ja) * | 2000-09-18 | 2002-03-29 | Intec Web & Genome Informatics Corp | カタカナ文字列照合方法及びカタカナ文字列照合プログラムを記録した媒体 |
JP6210865B2 (ja) * | 2013-12-02 | 2017-10-11 | 株式会社日立製作所 | データ検索システムおよびデータ検索方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3263963B2 (ja) * | 1991-12-25 | 2002-03-11 | 株式会社日立製作所 | 文書検索方法及び装置 |
JP3220865B2 (ja) * | 1991-02-28 | 2001-10-22 | 株式会社日立製作所 | フルテキストサーチ方法 |
JP3497243B2 (ja) * | 1994-05-24 | 2004-02-16 | 株式会社日立製作所 | 文書検索方法及び装置 |
JPH0830633A (ja) * | 1994-07-13 | 1996-02-02 | Hitachi Ltd | テキストデータ検索装置 |
-
1995
- 1995-03-24 JP JP06555095A patent/JP3511724B2/ja not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
小川泰嗣,岩崎雅二郎,林大川,全文検索のための文字成分表方式の改良,情報処理学会研究報告(94−DBS−99),1994年 7月22日,Vol.94,No.62,p.261−264 |
岩崎雅二郎,小川泰嗣,文字成分表による文字列検索の実現と評価,情報処理学会研究報告(93−DBS−92),1993年 3月22日,Vol.93,No.29,p.1−10 |
畠山敦,ソフトウェアによるテキストサーチマシンの実現,情報処理学会研究報告(92−FI−25),1992年 5月12日,Vol.92,No.32,p.19−25 |
Also Published As
Publication number | Publication date |
---|---|
JPH08263508A (ja) | 1996-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6834276B1 (en) | Database system and method for data acquisition and perusal | |
JP5437557B2 (ja) | 検索処理方法及び検索システム | |
US6853992B2 (en) | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents | |
JPH1153384A (ja) | キーワード抽出装置及びキーワード抽出方法並びにキーワード抽出プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
JP3337161B2 (ja) | 構造化文書を編集するための方法 | |
JP3497243B2 (ja) | 文書検索方法及び装置 | |
JP3511724B2 (ja) | 文書検索方法 | |
JPH0315980A (ja) | 文字列検索装置 | |
JPH08147311A (ja) | 構造化文書検索方法及び装置 | |
JPH10269233A (ja) | 文書データベースの検索結果表示方法及び装置 | |
JP2007133682A (ja) | 全文検索システム、及び、その全文検索方法 | |
JPH09198404A (ja) | 文書処理方法及び装置 | |
JP3325677B2 (ja) | 文書検索装置 | |
JP2002132789A (ja) | 文書検索方法 | |
JP3737629B2 (ja) | 文書編集システム、方法、及び記録媒体 | |
JP2962287B2 (ja) | 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
JPH08190571A (ja) | 文書検索方法 | |
JPH10283368A (ja) | 情報処理装置及びその方法 | |
JP2000322442A (ja) | データベース検索装置およびデータベース検索プログラム記憶媒体 | |
JP2831837B2 (ja) | 文書検索装置 | |
JP2001092831A (ja) | 文書検索装置及び文書検索方法 | |
JPH10269231A (ja) | 日英混在文書における文書検索方法 | |
JP4255253B2 (ja) | 文書検索システム及び方法 | |
JP2004164223A (ja) | N文字インデックス作成プログラムおよびn文字インデックス検索プログラム | |
JP2000293527A (ja) | Html文書検索システムへのデータ登録システム、方法および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031229 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |