JP2519129B2 - マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 - Google Patents
マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置Info
- Publication number
- JP2519129B2 JP2519129B2 JP3013878A JP1387891A JP2519129B2 JP 2519129 B2 JP2519129 B2 JP 2519129B2 JP 3013878 A JP3013878 A JP 3013878A JP 1387891 A JP1387891 A JP 1387891A JP 2519129 B2 JP2519129 B2 JP 2519129B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- keyword
- search
- character position
- code
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明は、情報検索を行う情報検
索処理方式に関する。本発明は、特に、マルチキーワー
ドを用いた部分一致検索を行うことに適し、入力された
マルチ検索入力文字列と登録キーワードとの文字列照合
回数を大幅に削減して、マルチ検索入力文字列に対する
部分一致(中間一致、前方一致、後方一致)や完全一致
の各検索処理を高速に行うことができる情報検索処理方
式に関する。本発明は、データベースシステムにおいて
マルチキーワード部分一致検索処理を行う情報検索処理
方式に適する。
索処理方式に関する。本発明は、特に、マルチキーワー
ドを用いた部分一致検索を行うことに適し、入力された
マルチ検索入力文字列と登録キーワードとの文字列照合
回数を大幅に削減して、マルチ検索入力文字列に対する
部分一致(中間一致、前方一致、後方一致)や完全一致
の各検索処理を高速に行うことができる情報検索処理方
式に関する。本発明は、データベースシステムにおいて
マルチキーワード部分一致検索処理を行う情報検索処理
方式に適する。
【0002】
【従来の技術】従来から、検索対象であるレコードが有
するキーワードの最初から最後まで、検索入力文字列と
の文字列照合を行い、検索者が指定する入力文字列と検
索条件に合致するキーワードからレコード番号をサーチ
する逐次検索方式や、キーワードから検索入力可能な文
字列を作成して索引形式に検索ファイルを格納し、検索
者が指定する入力文字列と検索条件に合致するキーワー
ドを検索ファイルのインデックス構造を利用してサーチ
するインデックス方式がマルチキーワードを用いた部分
一致検索技術として一般的である。
するキーワードの最初から最後まで、検索入力文字列と
の文字列照合を行い、検索者が指定する入力文字列と検
索条件に合致するキーワードからレコード番号をサーチ
する逐次検索方式や、キーワードから検索入力可能な文
字列を作成して索引形式に検索ファイルを格納し、検索
者が指定する入力文字列と検索条件に合致するキーワー
ドを検索ファイルのインデックス構造を利用してサーチ
するインデックス方式がマルチキーワードを用いた部分
一致検索技術として一般的である。
【0003】
【発明が解決しようとする課題】しかし逐次検索方式で
は、検索対象レコードの有するキーワードの最初から最
後まで、検索入力文字列との照合を行うため、多量のキ
ーワードを有する場合、その検索に多くの時間を要す
る。このため、大規模データベースの検索では、高速な
文字列照合を行う専用のプロセッサやLSIが提案され
ているが、これらの方式では、ハードウエアが限定され
るほか、検索処理を行う計算機と専用プロセッサやLS
Iとの間での文字列転送に時間がかかり、システムとし
て満足できる高速性の実現が課題となっている。
は、検索対象レコードの有するキーワードの最初から最
後まで、検索入力文字列との照合を行うため、多量のキ
ーワードを有する場合、その検索に多くの時間を要す
る。このため、大規模データベースの検索では、高速な
文字列照合を行う専用のプロセッサやLSIが提案され
ているが、これらの方式では、ハードウエアが限定され
るほか、検索処理を行う計算機と専用プロセッサやLS
Iとの間での文字列転送に時間がかかり、システムとし
て満足できる高速性の実現が課題となっている。
【0004】また、インデックス方式は、部分一致検索
の高速化が可能であるが、検索ファイルが巨大になると
いう欠点がある。このため完全一致、前方一致、後方一
致の検索が使用されているが、中間一致はサポートされ
ていないことが多い。これは、中間一致を行うために、
完全一致、前方一致、後方一致の検索インデックスとは
別に、中間一致用のインデックスが多量に必要になり、
検索ファイルの記憶容量が巨大となること、これに伴い
検索時間が増大すること、および検索ファイルの保守が
容易でないことが主な理由となっている。また、システ
ムによっては検索ファイルの規模の制約から、キーワー
ドの全ての前方一致や後方一致検索がサポートされない
こともある。しかし、検索者はキーワードの中の特徴あ
る文字や文字列を記憶することが多く、このため中間一
致を含む部分一致検索のサポートにより検索がスムーズ
に行なえるようになることが求められている。
の高速化が可能であるが、検索ファイルが巨大になると
いう欠点がある。このため完全一致、前方一致、後方一
致の検索が使用されているが、中間一致はサポートされ
ていないことが多い。これは、中間一致を行うために、
完全一致、前方一致、後方一致の検索インデックスとは
別に、中間一致用のインデックスが多量に必要になり、
検索ファイルの記憶容量が巨大となること、これに伴い
検索時間が増大すること、および検索ファイルの保守が
容易でないことが主な理由となっている。また、システ
ムによっては検索ファイルの規模の制約から、キーワー
ドの全ての前方一致や後方一致検索がサポートされない
こともある。しかし、検索者はキーワードの中の特徴あ
る文字や文字列を記憶することが多く、このため中間一
致を含む部分一致検索のサポートにより検索がスムーズ
に行なえるようになることが求められている。
【0005】本発明者は、日本語の場合には、キーワー
ドになりうる単語に同じ文字や同じ文字列が出現する頻
度が低い特徴がある点に着目し、キーワード構成文字を
文字種ごとに格納して検索ファイルを作成し、検索時に
は、検索入力された任意の文字列の構成文字と同じ文字
を検索ファイルから取り出し、検索ファイル中から任意
の文字列の連続性を照合することにより検索を高速化す
ることができることを見出した。
ドになりうる単語に同じ文字や同じ文字列が出現する頻
度が低い特徴がある点に着目し、キーワード構成文字を
文字種ごとに格納して検索ファイルを作成し、検索時に
は、検索入力された任意の文字列の構成文字と同じ文字
を検索ファイルから取り出し、検索ファイル中から任意
の文字列の連続性を照合することにより検索を高速化す
ることができることを見出した。
【0006】本発明は、上述の観点から巨大なデータベ
ースシステムを対象とするマルチキーワードを用いた部
分一致検索の高速化を実現することができ、しかも特定
のハードウエアに限定されず、検索処理を主記憶上で行
うことにより専用プロセッサやLSIとの文字列の転送
が不要であり、文字と文字位置に着目することにより任
意の文字列検索が可能である汎用性に富む情報検索処理
方式を提供することを目的とする。
ースシステムを対象とするマルチキーワードを用いた部
分一致検索の高速化を実現することができ、しかも特定
のハードウエアに限定されず、検索処理を主記憶上で行
うことにより専用プロセッサやLSIとの文字列の転送
が不要であり、文字と文字位置に着目することにより任
意の文字列検索が可能である汎用性に富む情報検索処理
方式を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明の第一の特徴は、
複数のキーワードから構成されたレコードを検索単位と
し、各キーワードはそのキーワードの論理区分にしたが
って属性が定められ、このレコードを検索対象として所
定の入力文字持つに合致するキーワードのレコードを検
索するマルチキーワード情報検索処理方式の検索ファイ
ル作成装置において、検索対象となるレコードが現れる
ごとに昇順の符号を付与するレコード識別符号付与手段
と、このレコードが有する各キーワードにキーワードの
論理的な区分を示す属性符号を付与するキーワード属性
符号付与手段と、このキーワードを各文字ごとに分解
し、各文字にキーワード中での位置を示す文字位置順序
符号を付与する文字位置順序符号付与手段と、上記レコ
ードの有する全てのキーワードをキーワード属性ごとに
よって定められた文字位置を先頭位置とする固定長のキ
ーワード属性領域に配列して連結されたキーワード列を
生成するキーワード列生成手段と、上記生成されたキー
ワード列の各キーワードを構成する文字ごとに上記レコ
ード識別符号とキーワード属性符号と文字位置順序符号
とからなり文字位置順序符号を最下位情報とする文字位
置情報を作成して、この文字位置情報を文字種ごとの領
域に格納して検索ファイルを作成する手段とを備えたこ
とを特徴とする。
複数のキーワードから構成されたレコードを検索単位と
し、各キーワードはそのキーワードの論理区分にしたが
って属性が定められ、このレコードを検索対象として所
定の入力文字持つに合致するキーワードのレコードを検
索するマルチキーワード情報検索処理方式の検索ファイ
ル作成装置において、検索対象となるレコードが現れる
ごとに昇順の符号を付与するレコード識別符号付与手段
と、このレコードが有する各キーワードにキーワードの
論理的な区分を示す属性符号を付与するキーワード属性
符号付与手段と、このキーワードを各文字ごとに分解
し、各文字にキーワード中での位置を示す文字位置順序
符号を付与する文字位置順序符号付与手段と、上記レコ
ードの有する全てのキーワードをキーワード属性ごとに
よって定められた文字位置を先頭位置とする固定長のキ
ーワード属性領域に配列して連結されたキーワード列を
生成するキーワード列生成手段と、上記生成されたキー
ワード列の各キーワードを構成する文字ごとに上記レコ
ード識別符号とキーワード属性符号と文字位置順序符号
とからなり文字位置順序符号を最下位情報とする文字位
置情報を作成して、この文字位置情報を文字種ごとの領
域に格納して検索ファイルを作成する手段とを備えたこ
とを特徴とする。
【0008】なお、文字位置情報は、レコードが有する
各キーワードをキーワード属性符号に対応するキーワー
ド属性領域に配列して作成するキーワード列について、
各キーワードの全ての文字を、レコード識別符号とキー
ワード属性符号と文字位置順序符号とで整数からなるコ
ードに変換して作成するもので、 レコード識別符号×n+(Pa −1)+文字位置順序符
号 n:キーワード列文字数 Pa :キーワード属性符号aのキーワード属性領域のキ
ーワード列における先頭文字位置なる数字として与えら
れることが好ましい。
各キーワードをキーワード属性符号に対応するキーワー
ド属性領域に配列して作成するキーワード列について、
各キーワードの全ての文字を、レコード識別符号とキー
ワード属性符号と文字位置順序符号とで整数からなるコ
ードに変換して作成するもので、 レコード識別符号×n+(Pa −1)+文字位置順序符
号 n:キーワード列文字数 Pa :キーワード属性符号aのキーワード属性領域のキ
ーワード列における先頭文字位置なる数字として与えら
れることが好ましい。
【0009】また本発明の第二の特徴は、第一の特徴で
作成された検索ファイルを備え、検索入力文字列の構成
文字と同じ文字の文字位置情報を上記検索ファイルから
取り出す手段と、この取り出した各文字の文字位置情報
間で、レコード識別符号とキーワード属性符号が共通で
文字位置順序符号が検索入力の文字列と等しい順序であ
り、かつそのキーワード属性符号が検索入力と等しい文
字位置情報の組み合わせを抽出する手段と、この抽出さ
れた文字位置情報の組み合わせに基づいて検索入力文字
列に対応するレコード識別符号を検索結果として出力す
る手段とを備えたことを特徴とする。
作成された検索ファイルを備え、検索入力文字列の構成
文字と同じ文字の文字位置情報を上記検索ファイルから
取り出す手段と、この取り出した各文字の文字位置情報
間で、レコード識別符号とキーワード属性符号が共通で
文字位置順序符号が検索入力の文字列と等しい順序であ
り、かつそのキーワード属性符号が検索入力と等しい文
字位置情報の組み合わせを抽出する手段と、この抽出さ
れた文字位置情報の組み合わせに基づいて検索入力文字
列に対応するレコード識別符号を検索結果として出力す
る手段とを備えたことを特徴とする。
【0010】また、検索入力の文字列を構成できる文字
位置情報の組み合わせの抽出は、検索入力の全キーワー
ドにおける出現頻度の低い文字から順に行うことが好ま
しい。
位置情報の組み合わせの抽出は、検索入力の全キーワー
ドにおける出現頻度の低い文字から順に行うことが好ま
しい。
【0011】また、検索入力の文字列を構成できる文字
位置情報の組み合わせの抽出は、検索入力文字列の全キ
ーワードにおける出現頻度の低い文字の文字位置順序符
号をi、出現頻度の高い文字の文字位置順序符号をjと
するとき、(文字位置順序符号iの文字の文字位置情
報)−(文字位置順序符号jの文字の文字位置情報)=
i−jの式により行うことが好ましい。
位置情報の組み合わせの抽出は、検索入力文字列の全キ
ーワードにおける出現頻度の低い文字の文字位置順序符
号をi、出現頻度の高い文字の文字位置順序符号をjと
するとき、(文字位置順序符号iの文字の文字位置情
報)−(文字位置順序符号jの文字の文字位置情報)=
i−jの式により行うことが好ましい。
【0012】
【作用】日本語の文字列では、同一の文字が現れる頻度
は英語等に比べると低い。特に漢字については同一の漢
字が繰り返し現れる頻度は低い。例えば広辞苑(岩波書
店発行)の見出し語の説明文書は約900 万字あるが、そ
の中でJIS第1水準の漢字の出現頻度を調べると平均
出現頻度は1155回である。このため、JIS第1水準29
65種の漢字については、検索入力がn文字の場合、広辞
苑の見出し語の説明文書から抽出する照合対象は平均す
ればn×1155文字となる。一般的に検索入力は数十文字
以下であるため、出現頻度の高い文字を含む文字列であ
っても、全部の文字を逐次照合するものに比べるとその
照合回数は極めて少なくなる。
は英語等に比べると低い。特に漢字については同一の漢
字が繰り返し現れる頻度は低い。例えば広辞苑(岩波書
店発行)の見出し語の説明文書は約900 万字あるが、そ
の中でJIS第1水準の漢字の出現頻度を調べると平均
出現頻度は1155回である。このため、JIS第1水準29
65種の漢字については、検索入力がn文字の場合、広辞
苑の見出し語の説明文書から抽出する照合対象は平均す
ればn×1155文字となる。一般的に検索入力は数十文字
以下であるため、出現頻度の高い文字を含む文字列であ
っても、全部の文字を逐次照合するものに比べるとその
照合回数は極めて少なくなる。
【0013】さらに日本語の文字列、特に漢字の文字列
では同一の文字列が発生する頻度は極めて小さい。例え
ば、「通信」という2つの文字列を使用する用語は多々
あるとしても「通信・・」という文字列は「通信回
線」、「通信装置」のように4文字で同一の文字が発生
する頻度は非常に低くなる。このため、検索入力文字列
の構成文字で検索ファイルとの照合を進めていくと、そ
れまでに得られた検索対象候補のキーワードの中から、
検索入力文字列と異なるキーワードが削除され、照合す
る構成文字ごとに検索対象が絞り込まれていく。特に、
検索入力の中の全キーワードにおける出現頻度の低い文
字から順に照合を行うと一層絞り込まれて照合一致を取
る回数を低減できる。
では同一の文字列が発生する頻度は極めて小さい。例え
ば、「通信」という2つの文字列を使用する用語は多々
あるとしても「通信・・」という文字列は「通信回
線」、「通信装置」のように4文字で同一の文字が発生
する頻度は非常に低くなる。このため、検索入力文字列
の構成文字で検索ファイルとの照合を進めていくと、そ
れまでに得られた検索対象候補のキーワードの中から、
検索入力文字列と異なるキーワードが削除され、照合す
る構成文字ごとに検索対象が絞り込まれていく。特に、
検索入力の中の全キーワードにおける出現頻度の低い文
字から順に照合を行うと一層絞り込まれて照合一致を取
る回数を低減できる。
【0014】したがって、検索対象となるレコードが有
するキーワードを構成する各文字に対応して、レコード
を特定できるレコード識別符号と、キーワードの属性を
特定できるキーワード属性符号と、キーワード中の文字
位置を特定できる文字位置順序符号とから文字位置情報
を作成し、この文字位置情報を文字種ごとに格納して検
索ファイルを作成し、この検索ファイルに対して検索入
力文字列との照合一致を行うことにより文字列検索にお
ける照合一致処理回数を大幅に低減することができる。
するキーワードを構成する各文字に対応して、レコード
を特定できるレコード識別符号と、キーワードの属性を
特定できるキーワード属性符号と、キーワード中の文字
位置を特定できる文字位置順序符号とから文字位置情報
を作成し、この文字位置情報を文字種ごとに格納して検
索ファイルを作成し、この検索ファイルに対して検索入
力文字列との照合一致を行うことにより文字列検索にお
ける照合一致処理回数を大幅に低減することができる。
【0015】この検索ファイルの作成は次のように行
う。
う。
【0016】まず検索対象となる各レコードに登録順序
に従って昇順にレコード識別符号を付与する。次に、各
レコードが有するキーワードの論理的な種別を属性とし
て、その属性を示すキーワード属性符号を付与する。例
えば図書検索システムの場合、図書名、著者名、発行者
名、刊行年、抄録などの属性を示すキーワード属性符号
が付与される。さらに、キーワードを1文字ごとに分解
し、各文字にキーワードの先頭からの文字位置を示す文
字位置順序符号を付与する。これらのレコード識別符号
とキーワード属性符号と文字位置順序符号とから、キー
ワードの各文字の文字位置情報を生成する。このときキ
ーワード属性を文字位置で表せるように、キーワード属
性符号ごとにあらかじめ設定されたキーワードの先頭文
字位置が定数として文字位置情報に加算されるようにし
ている。この文字位置情報を文字種ごとにグループ化
し、これらの各グループを集合して検索ファイルを作成
する。したがってこの検索ファイルは、文字種ごとに文
字位置情報が格納された形のファイル構造となり、周知
の記録媒体に記憶される。
に従って昇順にレコード識別符号を付与する。次に、各
レコードが有するキーワードの論理的な種別を属性とし
て、その属性を示すキーワード属性符号を付与する。例
えば図書検索システムの場合、図書名、著者名、発行者
名、刊行年、抄録などの属性を示すキーワード属性符号
が付与される。さらに、キーワードを1文字ごとに分解
し、各文字にキーワードの先頭からの文字位置を示す文
字位置順序符号を付与する。これらのレコード識別符号
とキーワード属性符号と文字位置順序符号とから、キー
ワードの各文字の文字位置情報を生成する。このときキ
ーワード属性を文字位置で表せるように、キーワード属
性符号ごとにあらかじめ設定されたキーワードの先頭文
字位置が定数として文字位置情報に加算されるようにし
ている。この文字位置情報を文字種ごとにグループ化
し、これらの各グループを集合して検索ファイルを作成
する。したがってこの検索ファイルは、文字種ごとに文
字位置情報が格納された形のファイル構造となり、周知
の記録媒体に記憶される。
【0017】検索処理では、検索入力文字列と検索入力
文字列属性との対が1個以上入力される。各検索入力文
字列について検索入力文字列を1文字ごとに分解し、検
索ファイル中から分解した文字と同じ文字の文字位置情
報を取り出して、レコード識別符号が共通で文字位置順
序符号が検索入力の文字列と等しい順序であり、かつそ
のキーワード属性符号が検索入力と等しい文字位置情報
の組み合わせを照合して取り出す。取り出した各検索入
力に対応する文字位置情報から検索入力文字列に対応す
るレコード識別符号を検索結果として取り出す。
文字列属性との対が1個以上入力される。各検索入力文
字列について検索入力文字列を1文字ごとに分解し、検
索ファイル中から分解した文字と同じ文字の文字位置情
報を取り出して、レコード識別符号が共通で文字位置順
序符号が検索入力の文字列と等しい順序であり、かつそ
のキーワード属性符号が検索入力と等しい文字位置情報
の組み合わせを照合して取り出す。取り出した各検索入
力に対応する文字位置情報から検索入力文字列に対応す
るレコード識別符号を検索結果として取り出す。
【0018】この照合処理は、検索入力と検索ファイル
との文字列の連続性の一致と属性の一致とをみるもの
で、検索ファイル中の文字位置情報からレコードの識別
符号が共通していて検索入力の文字位置順序とキーワー
ド属性符号が同じキーワードを取り出すことにより行
う。
との文字列の連続性の一致と属性の一致とをみるもの
で、検索ファイル中の文字位置情報からレコードの識別
符号が共通していて検索入力の文字位置順序とキーワー
ド属性符号が同じキーワードを取り出すことにより行
う。
【0019】これにより、検索ファイル中の全キーワー
ドとの照合が不要になり、検索ファイルにある検索入力
の構成文字と同じ文字の文字位置情報だけの照合一致を
行えばよいので、照合回数は逐次照合に比べるときわめ
て低減することができる。また、日本語の単語では、同
じ文字列の出現頻度が低く、文字照合の都度、検索対象
が絞り込まれるので、照合回数は低減していく。
ドとの照合が不要になり、検索ファイルにある検索入力
の構成文字と同じ文字の文字位置情報だけの照合一致を
行えばよいので、照合回数は逐次照合に比べるときわめ
て低減することができる。また、日本語の単語では、同
じ文字列の出現頻度が低く、文字照合の都度、検索対象
が絞り込まれるので、照合回数は低減していく。
【0020】さらに、検索ファイルから取り出した文字
位置情報を照合するとき、検索入力の中の全キーワード
における出現頻度の低い文字から順に行うと検索対象が
一層絞り込まれ、照合一致をとる回数がさらに低減でき
る。
位置情報を照合するとき、検索入力の中の全キーワード
における出現頻度の低い文字から順に行うと検索対象が
一層絞り込まれ、照合一致をとる回数がさらに低減でき
る。
【0021】このようにして検索入力に合致する文字位
置情報を見出したときは検索入力に対応するレコード識
別符号に該当するレコードを抽出して、検索者に検索結
果として出力する。
置情報を見出したときは検索入力に対応するレコード識
別符号に該当するレコードを抽出して、検索者に検索結
果として出力する。
【0022】
【実施例】以下図面を参照して本発明の実施例を説明す
る。
る。
【0023】図1は本発明一実施例における情報検索処
理装置の構成を示すものである。
理装置の構成を示すものである。
【0024】本実施例の情報検索処理装置は、各種演算
処理あるいは判断処理を行うCPU1と、検索処理、検
索ファイル作成等のプログラム、作成されたあるいは検
索処理を行うための検索ファイル、検索入力等を記憶す
るメモリ2、キーボード4、ディスプレイ5を接続する
入出力部3、各種情報が記憶される外部記憶装置7を接
続する外部記憶装置制御部6、CPU1、メモリ2、入
出力部3、外部記憶装置制御部6を接続する共通バス8
とを備える。
処理あるいは判断処理を行うCPU1と、検索処理、検
索ファイル作成等のプログラム、作成されたあるいは検
索処理を行うための検索ファイル、検索入力等を記憶す
るメモリ2、キーボード4、ディスプレイ5を接続する
入出力部3、各種情報が記憶される外部記憶装置7を接
続する外部記憶装置制御部6、CPU1、メモリ2、入
出力部3、外部記憶装置制御部6を接続する共通バス8
とを備える。
【0025】本実施例での情報検索処理は、検索処理に
供するための検索対象となるレコードが有するマルチキ
ーワードから作成するキーワード列について各キーワー
ドの構成文字を文字種ごとに格納して検索ファイルを作
成する検索ファイル作成処理と、検索ファイルとの照合
一致を行って検索入力に合致するキーワードのレコード
を抽出する検索処理との二つに分けられる。
供するための検索対象となるレコードが有するマルチキ
ーワードから作成するキーワード列について各キーワー
ドの構成文字を文字種ごとに格納して検索ファイルを作
成する検索ファイル作成処理と、検索ファイルとの照合
一致を行って検索入力に合致するキーワードのレコード
を抽出する検索処理との二つに分けられる。
【0026】まず、検索ファイル作成処理について説明
する。
する。
【0027】この検索ファイル作成処理は、大まかに分
けると、検索ファイル領域確保、各キーワード構成
文字への文字位置情報の付与、文字種別ごとにグルー
プ化した文字位置情報のファイルへの格納の3つに分け
ることができる。この各処理についてそれぞれ説明す
る。
けると、検索ファイル領域確保、各キーワード構成
文字への文字位置情報の付与、文字種別ごとにグルー
プ化した文字位置情報のファイルへの格納の3つに分け
ることができる。この各処理についてそれぞれ説明す
る。
【0028】 検索ファイル領域確保 登録するレコードの有するキーワードの構成文字をJI
Sコード表に準じて分類し、JISコード表に記載され
ている文字種別に出現頻度を計数する。これにより、検
索ファイルを構成する各文字種グループに登録される文
字位置情報の数がわかるので、全文字種グループで構成
される検索ファイルの領域を確保できる。また同時に、
各文字種グループに登録される文字位置情報数から、検
索ファイル内に連続して格納される文字種グループの先
頭番地もわかる。この文字種グループの先頭番地をJI
Sコード表の記載順に配列したのが図2に示す文字欄ア
ドレス表である。
Sコード表に準じて分類し、JISコード表に記載され
ている文字種別に出現頻度を計数する。これにより、検
索ファイルを構成する各文字種グループに登録される文
字位置情報の数がわかるので、全文字種グループで構成
される検索ファイルの領域を確保できる。また同時に、
各文字種グループに登録される文字位置情報数から、検
索ファイル内に連続して格納される文字種グループの先
頭番地もわかる。この文字種グループの先頭番地をJI
Sコード表の記載順に配列したのが図2に示す文字欄ア
ドレス表である。
【0029】 各キーワード構成文字への文字位置情
報の付与 ここで述べる文字位置情報は、レコードが有する各キー
ワードをキーワード属性番号に対応するキーワード属性
領域に配列して作成するキーワード列において各キーワ
ードを構成するすべての文字が属するレコードの登録す
る順番を示すレコード番号と、キーワードにおけるその
文字の出現する位置を示す文字位置番号と、キーワード
の論理的な種別を示すキーワード属性番号とで作成され
る。
報の付与 ここで述べる文字位置情報は、レコードが有する各キー
ワードをキーワード属性番号に対応するキーワード属性
領域に配列して作成するキーワード列において各キーワ
ードを構成するすべての文字が属するレコードの登録す
る順番を示すレコード番号と、キーワードにおけるその
文字の出現する位置を示す文字位置番号と、キーワード
の論理的な種別を示すキーワード属性番号とで作成され
る。
【0030】まずレコード番号を説明する。例えば、一
般的な図書検索システムでは、図書名、著者名、発行者
名、刊行年、抄録のキーワードで図書を検索する。この
ときレコードは、図書名、著者名、発行者名、刊行年、
抄録のキーワードで構成される検索対象であって、この
レコードが登録される順序に1から昇順に番号を付与し
てレコード番号とする。
般的な図書検索システムでは、図書名、著者名、発行者
名、刊行年、抄録のキーワードで図書を検索する。この
ときレコードは、図書名、著者名、発行者名、刊行年、
抄録のキーワードで構成される検索対象であって、この
レコードが登録される順序に1から昇順に番号を付与し
てレコード番号とする。
【0031】次にキーワード属性番号を説明する。一般
的に検索者は、検索する図書を特定しやすいキーワード
を検索入力としたり、あるいは記憶しているキーワード
を検索入力する。このため図書検索システムでは、例え
ば図書名、著者名、発行者名、刊行年、抄録の各キーワ
ードにキーワード属性を付加し、検索入力と図書検索シ
ステムのキーワード間に論理的な関連付けを行ってい
る。ここではキーワード属性番号として、図書名に
「1」、著者名に「2」、発行者名に「3」、刊行年に
「4」、抄録に「5」を付与する。
的に検索者は、検索する図書を特定しやすいキーワード
を検索入力としたり、あるいは記憶しているキーワード
を検索入力する。このため図書検索システムでは、例え
ば図書名、著者名、発行者名、刊行年、抄録の各キーワ
ードにキーワード属性を付加し、検索入力と図書検索シ
ステムのキーワード間に論理的な関連付けを行ってい
る。ここではキーワード属性番号として、図書名に
「1」、著者名に「2」、発行者名に「3」、刊行年に
「4」、抄録に「5」を付与する。
【0032】次に文字位置番号を説明する。各キーワー
ドを構成する各文字に各キーワードの先頭文字から順
に、1、2、3・・・と昇順に番号を付与し、文字位置
番号とする。
ドを構成する各文字に各キーワードの先頭文字から順
に、1、2、3・・・と昇順に番号を付与し、文字位置
番号とする。
【0033】次にキーワード列を説明する。レコードの
有するキーワードに対する部分一致検索を検索入力文字
列との文字列照合により実現するために、レコードの有
するすべてのキーワードを連結して文字列を構成し、こ
れをキーワード列とする。すなわち、各キーワードをキ
ーワード属性番号に対応する固定長のキーワード属性領
域に配列しキーワード列を作成する。これによりキーワ
ード列における文字位置から、その文字が属するキーワ
ードの属性がわかる。なお、各キーワード属性領域に続
いてキーワード属性領域の区切りを示すEND記号がキ
ーワード列に格納される。このEND記号はJISコー
ド表の未使用コードを割り当て、ここではコードA3B
Bとする。
有するキーワードに対する部分一致検索を検索入力文字
列との文字列照合により実現するために、レコードの有
するすべてのキーワードを連結して文字列を構成し、こ
れをキーワード列とする。すなわち、各キーワードをキ
ーワード属性番号に対応する固定長のキーワード属性領
域に配列しキーワード列を作成する。これによりキーワ
ード列における文字位置から、その文字が属するキーワ
ードの属性がわかる。なお、各キーワード属性領域に続
いてキーワード属性領域の区切りを示すEND記号がキ
ーワード列に格納される。このEND記号はJISコー
ド表の未使用コードを割り当て、ここではコードA3B
Bとする。
【0034】そしてこのキーワード列を対象として、レ
コード番号とキーワード属性番号と文字位置番号からキ
ーワードを構成するすべての文字を整数からなるコード
に変換して文字位置情報を作成する。この文字位置情報
は、次の式(1)で与えられる整数のコードである。 文字位置情報コード=レコード番号×n+(Pa −1)
+p …(1) n:キーワード列文字数 Pa :キーワード属性番号aのキーワード属性領域のキ
ーワード列における先頭文字位置 p:文字位置番号
コード番号とキーワード属性番号と文字位置番号からキ
ーワードを構成するすべての文字を整数からなるコード
に変換して文字位置情報を作成する。この文字位置情報
は、次の式(1)で与えられる整数のコードである。 文字位置情報コード=レコード番号×n+(Pa −1)
+p …(1) n:キーワード列文字数 Pa :キーワード属性番号aのキーワード属性領域のキ
ーワード列における先頭文字位置 p:文字位置番号
【0035】例えば、キーワード列のキーワード属性領
域サイズが、図書名=64バイト32文字、著者名=32バイ
ト16文字、発行者=64バイト32文字、刊行年=8バイト
4文字、抄録=400 バイト200 文字の図書検索システム
において、レコード番号が100 のレコードが、「図書名
=通信文書の構造」、「著者名=田中一郎」、「発行者
=太平洋出版」、「刊行年=1990」、「抄録=初めての
人にも〜ている」の場合、キーワード列は図3に示すよ
うになる。このときキーワード列は578 バイト(289 文
字)であるから各文字の文字位置情報は図4に示すよう
に構成される。
域サイズが、図書名=64バイト32文字、著者名=32バイ
ト16文字、発行者=64バイト32文字、刊行年=8バイト
4文字、抄録=400 バイト200 文字の図書検索システム
において、レコード番号が100 のレコードが、「図書名
=通信文書の構造」、「著者名=田中一郎」、「発行者
=太平洋出版」、「刊行年=1990」、「抄録=初めての
人にも〜ている」の場合、キーワード列は図3に示すよ
うになる。このときキーワード列は578 バイト(289 文
字)であるから各文字の文字位置情報は図4に示すよう
に構成される。
【0036】そして、このように文字位置情報をそれぞ
れ4バイトのコードで構成すれば、289 文字数のキーワ
ード列を232÷289 ≒1486万個取り扱うことが可能であ
る。
れ4バイトのコードで構成すれば、289 文字数のキーワ
ード列を232÷289 ≒1486万個取り扱うことが可能であ
る。
【0037】 文字位置情報の検索ファイルへの登録 次にこの各文字ごとに付与された文字位置情報を検索フ
ァイルに登録する。上述のように文字種グループは、J
ISコード表に記載された順に検索ファイルに格納され
る。そして各文字の文字位置情報を各文字種グループに
登録する。この文字位置情報の登録は、文字種グループ
の未格納領域の先頭にそれぞれ文字位置情報を格納する
ことによって行われる。このため、登録順にレコード番
号を付与すれば文字種グループ内には文字位置情報が数
値順の昇順に登録されることになる。
ァイルに登録する。上述のように文字種グループは、J
ISコード表に記載された順に検索ファイルに格納され
る。そして各文字の文字位置情報を各文字種グループに
登録する。この文字位置情報の登録は、文字種グループ
の未格納領域の先頭にそれぞれ文字位置情報を格納する
ことによって行われる。このため、登録順にレコード番
号を付与すれば文字種グループ内には文字位置情報が数
値順の昇順に登録されることになる。
【0038】上述の図書名「通信文書の構造」の文字位
置情報を検索ファイルに登録した例を図5に示す。この
とき、各グループ内の文字位置情報は昇順に格納され
る。このファイル容量は、文字位置情報が4バイトであ
ると、
置情報を検索ファイルに登録した例を図5に示す。この
とき、各グループ内の文字位置情報は昇順に格納され
る。このファイル容量は、文字位置情報が4バイトであ
ると、
【数1】 になる。
【0039】なお、文字位置情報の追加登録は、追加レ
コードが有する各キーワードの各文字に該当するグルー
プの未格納領域の先頭に新規コードを追加することで行
う。また、削除は削除レコードが有する各キーワードの
各文字に該当するグループ内の該当文字位置情報を特殊
記号に変更することによって行う。これにより追加登録
と削除を短時間に行うことができる。
コードが有する各キーワードの各文字に該当するグルー
プの未格納領域の先頭に新規コードを追加することで行
う。また、削除は削除レコードが有する各キーワードの
各文字に該当するグループ内の該当文字位置情報を特殊
記号に変更することによって行う。これにより追加登録
と削除を短時間に行うことができる。
【0040】なお上述のようにこの検索ファイルの各文
字種グループごとに格納された文字位置情報は、文字欄
アドレス表の文字欄先頭番地をディレクトリとして取り
出すことができる。
字種グループごとに格納された文字位置情報は、文字欄
アドレス表の文字欄先頭番地をディレクトリとして取り
出すことができる。
【0041】以上の検索ファイルの作成処理の流れを図
6および図7に示す。
6および図7に示す。
【0042】すなわち、文字種の出現度数を計数して文
字欄アドレス表を作成し(S11、12)、検索ファイルの
領域を確保する(S13)。次にレコード登録順位カウン
タをk=1に初期設定して、レコード番号を「1」に、
キーワード列文字数をn=289 に、キーワード属性領域
の先頭文字位置を図書名用としてP1 =1、著者名用と
してP2 =34、発行者名用としてP3 =51、刊行年用と
してP4 =84、抄録用としてP5 =89を設定する(S1
4)。そして最初のレコードを取り出す(S15)。ここ
までが登録の前処理である。ここからレコードごとの登
録処理となり、まず、キーワード属性番号をa=1にセ
ットし(S16)、レコードの中からキーワード属性番号
aのキーワードを取り出す(S17)。さらに、キーワー
ドの構成文字数をmに、文字位置番号をp=1に、キー
ワード属性番号aに該当するキーワード属性領域の先頭
文字位置をPa に設定する(S18)。次に、取り出した
キーワードの先頭文字から順に、文字位置番号pに相当
する文字位置情報を D=k×n+(Pa −1)+p …(2) の式(2)を用いて作成する(S19)。
字欄アドレス表を作成し(S11、12)、検索ファイルの
領域を確保する(S13)。次にレコード登録順位カウン
タをk=1に初期設定して、レコード番号を「1」に、
キーワード列文字数をn=289 に、キーワード属性領域
の先頭文字位置を図書名用としてP1 =1、著者名用と
してP2 =34、発行者名用としてP3 =51、刊行年用と
してP4 =84、抄録用としてP5 =89を設定する(S1
4)。そして最初のレコードを取り出す(S15)。ここ
までが登録の前処理である。ここからレコードごとの登
録処理となり、まず、キーワード属性番号をa=1にセ
ットし(S16)、レコードの中からキーワード属性番号
aのキーワードを取り出す(S17)。さらに、キーワー
ドの構成文字数をmに、文字位置番号をp=1に、キー
ワード属性番号aに該当するキーワード属性領域の先頭
文字位置をPa に設定する(S18)。次に、取り出した
キーワードの先頭文字から順に、文字位置番号pに相当
する文字位置情報を D=k×n+(Pa −1)+p …(2) の式(2)を用いて作成する(S19)。
【0043】そして、文字位置番号pにある文字の文字
種グループが格納されている検索ファイルの文字欄を示
す文字欄ディレクトリ(文字欄先頭番地)を文字欄アド
レス表から取り出して(S20)、文字欄ディレクトリが
示す検索ファイルの文字欄の未格納行の先頭に文字位置
情報を格納する(S21)。そして、p=p+1、m=m
−1とし、キーワード内のすべての文字を処理したとこ
ろで、a=a+1でキーワード属性番号を+1して次の
キーワード処理に移る(S24、S25)。また、レコード
が有するすべてのキーワードを処理すると、k=k+1
でレコード登録順位カウンタを+1して次のレコードの
処理に移る(S26、S27、S28)。全レコードの処理が
終了すると登録処理が終わる(S26)。
種グループが格納されている検索ファイルの文字欄を示
す文字欄ディレクトリ(文字欄先頭番地)を文字欄アド
レス表から取り出して(S20)、文字欄ディレクトリが
示す検索ファイルの文字欄の未格納行の先頭に文字位置
情報を格納する(S21)。そして、p=p+1、m=m
−1とし、キーワード内のすべての文字を処理したとこ
ろで、a=a+1でキーワード属性番号を+1して次の
キーワード処理に移る(S24、S25)。また、レコード
が有するすべてのキーワードを処理すると、k=k+1
でレコード登録順位カウンタを+1して次のレコードの
処理に移る(S26、S27、S28)。全レコードの処理が
終了すると登録処理が終わる(S26)。
【0044】次にこのようにして作成された検索ファイ
ルを用いる検索処理について説明する。
ルを用いる検索処理について説明する。
【0045】本実施例では、検索ファイルから取り出し
た文字位置情報を対象として、検索入力文字列と同じ文
字列を含むキーワードを文字列照合し、かつ検索入力と
同じ属性であることを確認後、すべての検索入力文字列
に共通するレコードを検索する例で説明する。
た文字位置情報を対象として、検索入力文字列と同じ文
字列を含むキーワードを文字列照合し、かつ検索入力と
同じ属性であることを確認後、すべての検索入力文字列
に共通するレコードを検索する例で説明する。
【0046】まず、その検索処理は大まかに分けると以
下の構成からなっている。 検索入力文字列の各文字に該当する文字欄アドレス表
内の文字欄先頭番地を算出する。 検索入力文字列を全キーワードにおける出現頻度の低
い文字から順に並べ変える。 並べ変えた文字列の先頭から順に該当する文字種グル
ープを検索ファイルから取り出してそこに格納されてい
る文字位置情報から検索入力の文字列の順序と一致する
文字位置情報の組み合わせを取り出す。 抽出した文字位置情報から検索入力と同じ属性を有す
る文字位置情報を取り出す。 〜を検索入力数分繰り返した後、すべての検索入
力文字列に共通するレコード番号を検索結果として出力
する。
下の構成からなっている。 検索入力文字列の各文字に該当する文字欄アドレス表
内の文字欄先頭番地を算出する。 検索入力文字列を全キーワードにおける出現頻度の低
い文字から順に並べ変える。 並べ変えた文字列の先頭から順に該当する文字種グル
ープを検索ファイルから取り出してそこに格納されてい
る文字位置情報から検索入力の文字列の順序と一致する
文字位置情報の組み合わせを取り出す。 抽出した文字位置情報から検索入力と同じ属性を有す
る文字位置情報を取り出す。 〜を検索入力数分繰り返した後、すべての検索入
力文字列に共通するレコード番号を検索結果として出力
する。
【0047】次に具体的にそれぞれの処理を説明する。
【0048】 検索入力文字列の各文字に該当する文
字欄アドレス表内の文字欄先頭番地の算出 検索ファイルの作成時と同様に、検索入力文字のJIS
コード表記載順位を算出し、これを文字欄アドレス表に
おける各検索入力文字のアドレスポインタとする。
字欄アドレス表内の文字欄先頭番地の算出 検索ファイルの作成時と同様に、検索入力文字のJIS
コード表記載順位を算出し、これを文字欄アドレス表に
おける各検索入力文字のアドレスポインタとする。
【0049】 出現頻度順の並べ変え そして、検索ファイルの各文字種グループの先頭番地を
示す文字欄アドレス表の文字欄先頭番地を参照して、検
索入力文字の出現頻度を調べ、検索入力の文字列を全キ
ーワードにおける出現頻度の低いものから順に並べ変え
る。上述のように、文字欄アドレス表内の文字欄先頭番
地は、検索ファイルに格納されている各文字種グループ
の先頭番地を示しており、次に続く文字欄先頭番地との
差をとれば、各文字種グループに格納されている文字位
置情報の数から、全キーワードにおける文字種別出現頻
度がわかる。
示す文字欄アドレス表の文字欄先頭番地を参照して、検
索入力文字の出現頻度を調べ、検索入力の文字列を全キ
ーワードにおける出現頻度の低いものから順に並べ変え
る。上述のように、文字欄アドレス表内の文字欄先頭番
地は、検索ファイルに格納されている各文字種グループ
の先頭番地を示しており、次に続く文字欄先頭番地との
差をとれば、各文字種グループに格納されている文字位
置情報の数から、全キーワードにおける文字種別出現頻
度がわかる。
【0050】これは出現頻度の低い文字から照合一致を
行うことにより、検索ファイルに格納された各文字の文
字位置情報間の照合回数をきわめて低減できるためであ
る。すなわち文字位置情報を照合して文字の連続性を調
べる場合に二つの文字種グループ内の文字位置情報中の
レコード番号と文字位置番号とキーワード属性番号とを
照合するため、その二つの文字種グループ内に格納され
ている文字位置情報の数が少なければそれだけ照合回数
を少なくすることができる。したがって、文字位置情報
の照合を行うときに、出現頻度の低い文字から照合を行
うことが照合回数を低減させる。特に検索入力文字が多
くなるほど出現頻度の低い文字が含まれる割合が高まる
ため低減効果は大きい。
行うことにより、検索ファイルに格納された各文字の文
字位置情報間の照合回数をきわめて低減できるためであ
る。すなわち文字位置情報を照合して文字の連続性を調
べる場合に二つの文字種グループ内の文字位置情報中の
レコード番号と文字位置番号とキーワード属性番号とを
照合するため、その二つの文字種グループ内に格納され
ている文字位置情報の数が少なければそれだけ照合回数
を少なくすることができる。したがって、文字位置情報
の照合を行うときに、出現頻度の低い文字から照合を行
うことが照合回数を低減させる。特に検索入力文字が多
くなるほど出現頻度の低い文字が含まれる割合が高まる
ため低減効果は大きい。
【0051】 文字列の照合 出現頻度の低い文字から文字欄アドレス表を参照してそ
れぞれの文字種グループに格納されている文字位置情報
を取り出す。そして取り出した文字位置情報をもとに、
出現頻度の低い文字種グループから順に、各文字種グル
ープ間でレコード番号が等しくかつ文字位置番号の差が
検索入力文字列の文字位置差に等しい文字位置情報の組
み合わせを抽出する。
れぞれの文字種グループに格納されている文字位置情報
を取り出す。そして取り出した文字位置情報をもとに、
出現頻度の低い文字種グループから順に、各文字種グル
ープ間でレコード番号が等しくかつ文字位置番号の差が
検索入力文字列の文字位置差に等しい文字位置情報の組
み合わせを抽出する。
【0052】この文字位置情報の照合は、検索入力文字
列の全キーワードにおける出現頻度の低い文字の文字位
置番号をi、出現頻度の高い文字の文字位置番号をjと
するとき、次の式(3)で (文字位置番号iの文字の文字種グループ内文字位置情
報)−(文字位置番号jの文字の文字種グループ内文字
位置情報)=i−j …(3) となる文字位置情報を抽出すればよい。
列の全キーワードにおける出現頻度の低い文字の文字位
置番号をi、出現頻度の高い文字の文字位置番号をjと
するとき、次の式(3)で (文字位置番号iの文字の文字種グループ内文字位置情
報)−(文字位置番号jの文字の文字種グループ内文字
位置情報)=i−j …(3) となる文字位置情報を抽出すればよい。
【0053】この文字種グループ間での文字位置情報の
照合処理では、出現頻度の低い文字種グループの文字位
置情報とそれより出現頻度の高い文字種グループの文字
位置情報との差を取って文字の連続を照合する。
照合処理では、出現頻度の低い文字種グループの文字位
置情報とそれより出現頻度の高い文字種グループの文字
位置情報との差を取って文字の連続を照合する。
【0054】検索入力文字列における任意の構成文字を
AとBとすると、該当する文字位置情報を抽出するに
は、AとBとの文字位置番号差がLであるとし、グルー
プAの文字位置情報をAx 、グループBの文字位置情報
をBy としたとき Ax +L>By ならBy を削除 Ax +L<By ならAx を削除 Ax +L=By ならAx 、By を合致として共に削除 というように不連続な文字位置情報を照合対象から削除
していくことによりその照合回数を削減させる。
AとBとすると、該当する文字位置情報を抽出するに
は、AとBとの文字位置番号差がLであるとし、グルー
プAの文字位置情報をAx 、グループBの文字位置情報
をBy としたとき Ax +L>By ならBy を削除 Ax +L<By ならAx を削除 Ax +L=By ならAx 、By を合致として共に削除 というように不連続な文字位置情報を照合対象から削除
していくことによりその照合回数を削減させる。
【0055】例えばグループAの文字位置情報が 571 、1140、10230 、11365 、11928 、13069 グループBの文字位置情報が 569 、1706、10231 、10235 、11362 文字位置番号差L=1であった場合、この二つのグルー
プ間の照合回数は全体で7回だけですみ、グループ内の
全ての文字位置情報を照合する必要はない。
プ間の照合回数は全体で7回だけですみ、グループ内の
全ての文字位置情報を照合する必要はない。
【0056】 キーワード属性番号の照合 文字列照合から得られた文字位置情報の文字位置番号に
ついてキーワード属性を照合する。すなわち、文字位置
番号が1〜32ならば文字位置情報のキーワード属性は図
書名であり、文字位置番号が34〜49ならば文字位置情報
のキーワード属性は著者名であり、文字位置番号が51〜
82ならば文字位置情報のキーワード属性は発行者名であ
り、文字位置番号が84〜87ならば文字位置情報のキーワ
ード属性は刊行年であり、文字位置番号が89〜288 なら
ば文字位置情報のキーワード属性は抄録であることがわ
かる。そこで、文字列照合で得られた文字位置情報の中
から検索入力時に指定された属性と同じ文字位置情報だ
けを取り出す。
ついてキーワード属性を照合する。すなわち、文字位置
番号が1〜32ならば文字位置情報のキーワード属性は図
書名であり、文字位置番号が34〜49ならば文字位置情報
のキーワード属性は著者名であり、文字位置番号が51〜
82ならば文字位置情報のキーワード属性は発行者名であ
り、文字位置番号が84〜87ならば文字位置情報のキーワ
ード属性は刊行年であり、文字位置番号が89〜288 なら
ば文字位置情報のキーワード属性は抄録であることがわ
かる。そこで、文字列照合で得られた文字位置情報の中
から検索入力時に指定された属性と同じ文字位置情報だ
けを取り出す。
【0057】 レコード番号の抽出 検索入力の数だけ〜を繰り返し、得られた各検索入
力文字列に該当する文字位置情報間で、すべての検索入
力文字列に共通するレコード番号を取り出す。上記実施
例では、検索入力が1個以上の場合について説明した。
また検索入力が複数の場合には各検索入力間で論理積演
算を行う例として説明したが、論理積以外の論理演算を
伴う複数の検索入力の場合は、照合結果として残った文
字位置情報を各検索入力に対応付けて指定された論理演
算を行って検索入力の論理を満足するレコード番号を検
索結果として出力する。
力文字列に該当する文字位置情報間で、すべての検索入
力文字列に共通するレコード番号を取り出す。上記実施
例では、検索入力が1個以上の場合について説明した。
また検索入力が複数の場合には各検索入力間で論理積演
算を行う例として説明したが、論理積以外の論理演算を
伴う複数の検索入力の場合は、照合結果として残った文
字位置情報を各検索入力に対応付けて指定された論理演
算を行って検索入力の論理を満足するレコード番号を検
索結果として出力する。
【0058】なお、1検索入力を複数の文字列で指定す
る場合、例えば抄録のような文字数が多い項目を対象と
する場合よくあることであるが、最初の文字列のキーワ
ード属性照合終了後、2番目以降の文字列に対しては、
その文字列の最初の照合文字の文字種グループから、そ
れまで得られたレコード番号とキーワード属性番号を有
する文字位置情報を取り出し、得られた文字位置情報を
文字列照合の先頭文字の文字種グループとして同じ文字
列内の他の文字について照合処理を行う。
る場合、例えば抄録のような文字数が多い項目を対象と
する場合よくあることであるが、最初の文字列のキーワ
ード属性照合終了後、2番目以降の文字列に対しては、
その文字列の最初の照合文字の文字種グループから、そ
れまで得られたレコード番号とキーワード属性番号を有
する文字位置情報を取り出し、得られた文字位置情報を
文字列照合の先頭文字の文字種グループとして同じ文字
列内の他の文字について照合処理を行う。
【0059】以上の〜の動作を具体例を挙げて説明
する。
する。
【0060】検索対象として図書名が指定され、検索入
力文字列としては「通信文書」が指定されたとする。こ
の場合図書名のキーワードの属性の属性番号は「1」と
する。
力文字列としては「通信文書」が指定されたとする。こ
の場合図書名のキーワードの属性の属性番号は「1」と
する。
【0061】例えば各文字の全キーワードにおける出現
頻度が「書」<「文」<「信」<「通」の順であり、照
合をこの順序に行うとすると、まず検索ファイル中の
「書」の文字欄から取り出した文字位置情報と「文」の
文字欄から取り出した文字位置情報とを上述の式(3)
を使用してその差が「−1」になる文字位置情報を抽出
すると、検索ファイルの「書」内の文字位置情報の「28
904 」と「文」内の「28903 」とを連続性ある文字位置
情報として抽出することができる。
頻度が「書」<「文」<「信」<「通」の順であり、照
合をこの順序に行うとすると、まず検索ファイル中の
「書」の文字欄から取り出した文字位置情報と「文」の
文字欄から取り出した文字位置情報とを上述の式(3)
を使用してその差が「−1」になる文字位置情報を抽出
すると、検索ファイルの「書」内の文字位置情報の「28
904 」と「文」内の「28903 」とを連続性ある文字位置
情報として抽出することができる。
【0062】次に、「書」の中で照合結果として残った
文字位置情報と、「信」に該当する検索ファイルの文字
欄から取り出した文字位置情報を同様に式(3)を使用
して、その差が「−2」になる文字位置情報を抽出する
と、「書」内の文字位置情報の「28904 」と「信」内の
文字位置情報「28902 」とを連続性ある文字位置情報と
して抽出することができる。同様にして、「書」内の文
字位置情報の「28904」と「通」内の文字位置情報「289
01 」とを連続性ある文字位置情報として抽出すること
ができる。さらに、キーワード属性は「図書名」である
から、これまでの文字列照合で残った文字位置情報の中
から、文字位置番号が1 〜32の文字位置情報として、
「28901 」〜「28904 」を抽出できる。
文字位置情報と、「信」に該当する検索ファイルの文字
欄から取り出した文字位置情報を同様に式(3)を使用
して、その差が「−2」になる文字位置情報を抽出する
と、「書」内の文字位置情報の「28904 」と「信」内の
文字位置情報「28902 」とを連続性ある文字位置情報と
して抽出することができる。同様にして、「書」内の文
字位置情報の「28904」と「通」内の文字位置情報「289
01 」とを連続性ある文字位置情報として抽出すること
ができる。さらに、キーワード属性は「図書名」である
から、これまでの文字列照合で残った文字位置情報の中
から、文字位置番号が1 〜32の文字位置情報として、
「28901 」〜「28904 」を抽出できる。
【0063】キーワード列の文字数が「289 」であるか
ら、文字位置番号は28901 ÷289 =100 余り1から、1
〜4であることがわかる。またこの文字列が属するレコ
ード番号は100 であることもわかる。
ら、文字位置番号は28901 ÷289 =100 余り1から、1
〜4であることがわかる。またこの文字列が属するレコ
ード番号は100 であることもわかる。
【0064】この検索処理動作を図8および図9にフロ
ーチャートとして示す。
ーチャートとして示す。
【0065】すなわち、キーワード列文字数をn=289
に、キーワード属性領域の文字位置範囲Pa を図書名は
P1 =1 〜32、著者名はP2 =34〜49、発行者名はP3
=51〜82、刊行年はP4 =84〜87、抄録はP5 =89〜28
8 に、キーワード属性番号をa=1に設定し(S31)、
キーワード属性番号aの検索入力文字列がある場合には
それを取り出す(S32、S33)。ここからは検索入力文
字列の照合処理になる。そこで、(検索入力文字列の文
字数)−1を照合回数qとし(S34)、検索入力文字の
全キーワードにおける出現頻度の低い順に文字を並べ変
える(S35)。そして検索ファイルから並べ変えた各文
字に該当する文字種グループに格納されている文字位置
情報を取り出す(S36)。次に検索入力文字列の全キー
ワードにおける出現頻度の低い文字の文字位置番号を
i、出現頻度の高い文字の文字位置番号をjとすると
き、(文字位置番号iの文字の文字位置情報)−(文字
位置番号jの文字の文字位置情報)=i−jである文字
位置情報の組み合わせを取り出す(S37)。同様の処理
を検索入力文字列の残りの文字についても行い(S38、
S39)、残った文字位置情報の中から文字位置番号がキ
ーワード属性番号aの文字位置範囲Pa 内にあるレコー
ド番号だけを取り出す。文字位置情報から文字位置番号
を取り出すには、次の式(4)を用いる。 (文字位置情報)÷(キーワード列文字数)=レコード
番号余り文字位置番号…(4) ここまでの処理で、検索入力文字列を文字列として持
ち、さらに検索入力された属性と同じキーワードを有す
るレコード番号がわかる(S40)。抄録まで同様の処理
を行い、検索入力された属性と同じキーワードを有する
レコード番号を取り出す(S41、S42)。すべての検索
入力文字列の照合が終わると、残ったレコード番号を対
象として、すべての検索入力文字列に共通するレコード
番号を検索結果として出力する(S43)。
に、キーワード属性領域の文字位置範囲Pa を図書名は
P1 =1 〜32、著者名はP2 =34〜49、発行者名はP3
=51〜82、刊行年はP4 =84〜87、抄録はP5 =89〜28
8 に、キーワード属性番号をa=1に設定し(S31)、
キーワード属性番号aの検索入力文字列がある場合には
それを取り出す(S32、S33)。ここからは検索入力文
字列の照合処理になる。そこで、(検索入力文字列の文
字数)−1を照合回数qとし(S34)、検索入力文字の
全キーワードにおける出現頻度の低い順に文字を並べ変
える(S35)。そして検索ファイルから並べ変えた各文
字に該当する文字種グループに格納されている文字位置
情報を取り出す(S36)。次に検索入力文字列の全キー
ワードにおける出現頻度の低い文字の文字位置番号を
i、出現頻度の高い文字の文字位置番号をjとすると
き、(文字位置番号iの文字の文字位置情報)−(文字
位置番号jの文字の文字位置情報)=i−jである文字
位置情報の組み合わせを取り出す(S37)。同様の処理
を検索入力文字列の残りの文字についても行い(S38、
S39)、残った文字位置情報の中から文字位置番号がキ
ーワード属性番号aの文字位置範囲Pa 内にあるレコー
ド番号だけを取り出す。文字位置情報から文字位置番号
を取り出すには、次の式(4)を用いる。 (文字位置情報)÷(キーワード列文字数)=レコード
番号余り文字位置番号…(4) ここまでの処理で、検索入力文字列を文字列として持
ち、さらに検索入力された属性と同じキーワードを有す
るレコード番号がわかる(S40)。抄録まで同様の処理
を行い、検索入力された属性と同じキーワードを有する
レコード番号を取り出す(S41、S42)。すべての検索
入力文字列の照合が終わると、残ったレコード番号を対
象として、すべての検索入力文字列に共通するレコード
番号を検索結果として出力する(S43)。
【0066】
【発明の効果】以上説明したように、本発明は検索対象
となるレコードが有するキーワードの構成文字の文字種
ごとにその文字が属するレコード識別符号、文字位置順
序符号、キーワードの種別を示す属性番号からなる文字
位置情報を格納した検索ファイルを作成し、この検索フ
ァイルを検索入力の文字列を構成する文字種ごとにその
文字位置情報を取り出して、検索入力に合致する文字列
を検索するようにした。
となるレコードが有するキーワードの構成文字の文字種
ごとにその文字が属するレコード識別符号、文字位置順
序符号、キーワードの種別を示す属性番号からなる文字
位置情報を格納した検索ファイルを作成し、この検索フ
ァイルを検索入力の文字列を構成する文字種ごとにその
文字位置情報を取り出して、検索入力に合致する文字列
を検索するようにした。
【0067】このため、 (1) 検索処理のための文字列照合回数を低減することが
できるため、高速検索を行うことができる、 (2) 文字と文字位置に着目して検索処理を行うため任意
の文字列による検索ができ、 (3) 専用のハードウエアを用いることなくソフトウエア
だけで高速検索を実現できるため、汎用の情報処理装置
でマルチキーワードを用いた部分一致検索を効率よく行
うことができ汎用性に富む、 (4) データベースシステムに利用したとき、その検索フ
ァイルの作成に使用可能な部分一致検索文字列の作成を
行う必要がなく、検索対象となるレコードが有するキー
ワードから自動的に検索ファイルを作成することができ
るため、データベースシステムを経済的にかつ効率よく
構築することが可能である 優れた効果がある。
できるため、高速検索を行うことができる、 (2) 文字と文字位置に着目して検索処理を行うため任意
の文字列による検索ができ、 (3) 専用のハードウエアを用いることなくソフトウエア
だけで高速検索を実現できるため、汎用の情報処理装置
でマルチキーワードを用いた部分一致検索を効率よく行
うことができ汎用性に富む、 (4) データベースシステムに利用したとき、その検索フ
ァイルの作成に使用可能な部分一致検索文字列の作成を
行う必要がなく、検索対象となるレコードが有するキー
ワードから自動的に検索ファイルを作成することができ
るため、データベースシステムを経済的にかつ効率よく
構築することが可能である 優れた効果がある。
【図1】本発明一実施例に使用する情報検索処理装置の
構成例。
構成例。
【図2】実施例の文字欄アドレス表。
【図3】実施例のキーワード列。
【図4】実施例の文字位置情報作成例。
【図5】実施例の検索ファイルの登録例。
【図6】実施例の検索ファイル作成処理手順を説明する
フローチャート。
フローチャート。
【図7】実施例の検索ファイル作成処理手順を説明する
フローチャート。
フローチャート。
【図8】実施例の検索処理手順を説明するフローチャー
ト。
ト。
【図9】実施例の検索処理手順を説明するフローチャー
ト。
ト。
1…CPU 2…メモリ 3…入出力部 4…キーボード 5…ディスプレイ 6…外部記憶装置制御部 7…外部記憶装置 8…共通バス
Claims (5)
- 【請求項1】 複数のキーワードから構成されたレコー
ドを検索単位とし、各キーワードはそのキーワードの論
理区分にしたがって属性が定められ、このレコードを検
索対象として所定の入力文字列に合致するキーワードの
レコードを検索するマルチキーワード情報検索処理方式
の検索ファイル作成装置において、 検索対象となるレコードが現れるごとに昇順の符号を付
与するレコード識別符号付与手段と、 このレコードが有する各キーワードにキーワードの論理
的な区分を示す属性符号を付与するキーワード属性符号
付与手段と、 このキーワードを各文字ごとに分解し、各文字にキーワ
ード中での位置を示す文字位置順序符号を付与する文字
位置順序符号付与手段と、上記レコードの有する全てのキーワードをキーワード属
性ごとによって定められた文字位置を先頭位置とする固
定長のキーワード属性領域に配列して連結されたキーワ
ード列を生成するキーワード列生成手段と、 上記生成されたキーワード列の各キーワードを構成する
文字ごとに 上記レコード識別符号とキーワード属性符号
と文字位置順序符号とからなり文字位置順序符号を最下
位情報とする文字位置情報を作成して、この文字位置情
報を文字種ごとの領域に格納して検索ファイルを作成す
る手段とを備えた検索ファイル作成装置。 - 【請求項2】 文字位置情報は、レコードを構成する各
キーワードをキーワード属性符号に対応してキーワード
属性領域に配列したキーワード列の各キーワードを構成
するすべての文字について、 レコード識別符号×n+(Pa −1)+文字位置順序符
号 n:キーワード列文字数 Pa :キーワード属性符号aのキーワード属性領域のキ
ーワード列における先頭文字位置なる数字コードとして
与えられる請求項1記載の検索ファイル作成装置。 - 【請求項3】 複数のキーワードから構成されたレコー
ドを検索単位とし、各キーワードはそのキーワードの論
理区分にしたがって属性が定められ、このレコードを検
索対象として所定の入力文字列に合致するキーワードの
レコードを検索するマルチキーワード情報検索処理方式
において、 検索対象となるレコードの複数のキーワードがその論理
区分に従って固定の文字位置を先頭位置とするキーワー
ド属性領域に配列されたキーワード列について、各キー
ワードを構成する文字ごとに、レコードごとに昇順に付
与されたレコード識別符号と、このレコードが有するキ
ーワードの論理区分を示すキーワード属性符号とキーワ
ード中でのその文字の位置を示す文字位置順序符号とか
らなり文字位置順序符号を最下位情報とする文字位置情
報を文字種別ごとに格納した検索ファイルを備え、 検索入力文字列の構成文字と同じ文字の文字位置情報を
上記検索ファイルから取り出す手段と、 この取り出した各文字の文字位置情報間で、レコード識
別符号とキーワード属性符号が共通で文字位置順序符号
が検索入力の文字列と等しい順序であり、かつそのキー
ワード属性符号が検索入力と等しい文字位置情報の組み
合わせを抽出する手段と、 この抽出された文字位置情報の組み合わせに基づいて検
索入力に対応するレコード識別符号を検索結果として出
力する手段とを備えたマルチキーワード情報検索処理方
式。 - 【請求項4】 検索入力の文字列を構成できる文字位置
情報の組み合わせの抽出は、検索入力の全キーワードに
おける出現頻度の低い文字から順に行う請求項3記載の
マルチキーワード情報検索処理方式。 - 【請求項5】 検索入力の文字列を構成できる文字位置
情報の組み合わせの抽出は、検索入力文字列の全キーワ
ードにおける出現頻度の低い文字の文字位置順序符号を
i、出現頻度の高い文字の文字位置順序符号をjとする
とき、 (文字位置順序符号iの文字の文字位置情報)−(文字
位置順序符号jの文字の文字位置情報)=i−j に合致する文字位置情報を抽出する請求項3または請求
項4記載のマルチキーワード情報検索処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3013878A JP2519129B2 (ja) | 1991-01-10 | 1991-01-10 | マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3013878A JP2519129B2 (ja) | 1991-01-10 | 1991-01-10 | マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04340164A JPH04340164A (ja) | 1992-11-26 |
JP2519129B2 true JP2519129B2 (ja) | 1996-07-31 |
Family
ID=11845475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3013878A Expired - Fee Related JP2519129B2 (ja) | 1991-01-10 | 1991-01-10 | マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2519129B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3275816B2 (ja) | 1998-01-14 | 2002-04-22 | 日本電気株式会社 | 記号列検索方法及び記号列検索装置並びに記号列検索プログラムを記録した記録媒体 |
JP2012212289A (ja) * | 2011-03-31 | 2012-11-01 | Dainippon Printing Co Ltd | 書籍情報検索装置、書籍情報検索システム、書籍情報検索方法およびプログラム |
JP6038427B1 (ja) | 2016-01-15 | 2016-12-07 | 三菱電機株式会社 | 暗号化装置、暗号化方法、暗号化プログラム及び保管装置 |
EP3605360A4 (en) | 2017-04-25 | 2020-02-12 | Mitsubishi Electric Corporation | SEARCH DEVICE, SEARCH SYSTEM, SEARCH METHOD, AND SEARCH PROGRAM |
CN116361421B (zh) * | 2023-05-30 | 2023-08-15 | 互联时刻(北京)信息科技有限公司 | 文本检索方法、装置及存储介质 |
-
1991
- 1991-01-10 JP JP3013878A patent/JP2519129B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
電子情報通信学会技術研究報告DE90−24(1990−12−14)P.1−7 |
Also Published As
Publication number | Publication date |
---|---|
JPH04340164A (ja) | 1992-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3160201B2 (ja) | 情報検索方法、情報検索装置 | |
JP3143079B2 (ja) | 辞書索引作成装置と文書検索装置 | |
Robertson et al. | Applications of n‐grams in textual information systems | |
EP0590858B1 (en) | Method for performing a search of a plurality of documents for similarity to a query | |
JP2832988B2 (ja) | データ検索システム | |
JP2833580B2 (ja) | 全文インデックス作成装置および全文データベース検索装置 | |
JP2669601B2 (ja) | 情報検索方法及びシステム | |
JPH0782504B2 (ja) | 情報検索処理方式および検索ファイル作成装置 | |
JP2519129B2 (ja) | マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 | |
JPH05225238A (ja) | データベース検索システム | |
JP2519130B2 (ja) | マルチキ―ワ―ド情報検索処理方式および検索ファイル作成装置 | |
JP3151730B2 (ja) | データベース検索システム | |
JP2000331012A (ja) | 電子化文書検索方法 | |
JP3081093B2 (ja) | 索引作成方法およびその装置と文書検索装置 | |
JPH0561910A (ja) | 全文インデツクス検索方法 | |
WO1992009960A1 (en) | Data retrieving device | |
JPH07109603B2 (ja) | 情報検索処理方式および検索ファイル作成装置 | |
JP2003288366A (ja) | 類似テキスト検索装置 | |
KR20070033657A (ko) | 전자사전 검색방법과 장치 | |
JPH0756945A (ja) | 全文データベースシステム | |
JPH10177582A (ja) | 最長一致検索方法及び装置 | |
JPH10149367A (ja) | テキスト蓄積検索装置 | |
JPH0748218B2 (ja) | 情報処理装置 | |
JPH05225248A (ja) | データベース検索システム | |
JP2993539B2 (ja) | データベース検索システムおよびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080517 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090517 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100517 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |