JPH04340164A - Information retrieval processing system - Google Patents
Information retrieval processing systemInfo
- Publication number
- JPH04340164A JPH04340164A JP3013878A JP1387891A JPH04340164A JP H04340164 A JPH04340164 A JP H04340164A JP 3013878 A JP3013878 A JP 3013878A JP 1387891 A JP1387891 A JP 1387891A JP H04340164 A JPH04340164 A JP H04340164A
- Authority
- JP
- Japan
- Prior art keywords
- character
- keyword
- character position
- search
- position information
- 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
Links
- 238000012545 processing Methods 0.000 title abstract description 26
- 239000000470 constituent Substances 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 9
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 27
- 239000000284 extract Substances 0.000 description 9
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、情報検索を行う情報検
索処理方式に関する。本発明は、特に、マルチキーワー
ドを用いた部分一致検索を行うことに適し、入力された
マルチ検索入力文字列と登録キーワードとの文字列照合
回数を大幅に削減して、マルチ検索入力文字列に対する
部分一致(中間一致、前方一致、後方一致)や完全一致
の各検索処理を高速に行うことができる情報検索処理方
式に関する。本発明は、データベースシステムにおいて
マルチキーワード部分一致検索処理を行う情報検索処理
方式に適する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information retrieval processing method for performing information retrieval. The present invention is particularly suitable for performing partial match searches using multi-keywords, and can significantly reduce the number of character string matches between input multi-search input strings and registered keywords. The present invention relates to an information search processing method that can perform partial match (middle match, prefix match, postfix match) and complete match search processing at high speed. The present invention is suitable for an information search processing method that performs multi-keyword partial match search processing in a database system.
【0002】0002
【従来の技術】従来から、検索対象であるレコードが有
するキーワードの最初から最後まで、検索入力文字列と
の文字列照合を行い、検索者が指定する入力文字列と検
索条件に合致するキーワードからレコード番号をサーチ
する逐次検索方式や、キーワードから検索入力可能な文
字列を作成して索引形式に検索ファイルを格納し、検索
者が指定する入力文字列と検索条件に合致するキーワー
ドを検索ファイルのインデックス構造を利用してサーチ
するインデックス方式がマルチキーワードを用いた部分
一致検索技術として一般的である。[Prior Art] Conventionally, strings of keywords possessed by records to be searched are compared with search input strings from the beginning to the end, and keywords that match the input string specified by the searcher and the search conditions are searched. You can use the sequential search method to search for record numbers, or create a string that can be searched from keywords and store the search file in an index format. An index method that searches using an index structure is a common partial match search technique using multiple keywords.
【0003】0003
【発明が解決しようとする課題】しかし逐次検索方式で
は、検索対象レコードの有するキーワードの最初から最
後まで、検索入力文字列との照合を行うため、多量のキ
ーワードを有する場合、その検索に多くの時間を要する
。このため、大規模データベースの検索では、高速な文
字列照合を行う専用のプロセッサやLSIが提案されて
いるが、これらの方式では、ハードウエアが限定される
ほか、検索処理を行う計算機と専用プロセッサやLSI
との間での文字列転送に時間がかかり、システムとして
満足できる高速性の実現が課題となっている。[Problem to be Solved by the Invention] However, in the sequential search method, the search input character string is checked from the beginning to the end of the keywords of the record to be searched, so when there are a large number of keywords, the search requires many It takes time. For this reason, dedicated processors and LSIs that perform high-speed character string matching have been proposed for large-scale database searches, but these methods are limited in hardware and require a computer to perform the search processing and a dedicated processor. and LSI
It takes a long time to transfer character strings between the two systems, and the challenge is to achieve a high speed that satisfies the system.
【0004】また、インデックス方式は、部分一致検索
の高速化が可能であるが、検索ファイルが巨大になると
いう欠点がある。このため完全一致、前方一致、後方一
致の検索が使用されているが、中間一致はサポートされ
ていないことが多い。これは、中間一致を行うために、
完全一致、前方一致、後方一致の検索インデックスとは
別に、中間一致用のインデックスが多量に必要になり、
検索ファイルの記憶容量が巨大となること、これに伴い
検索時間が増大すること、および検索ファイルの保守が
容易でないことが主な理由となっている。また、システ
ムによっては検索ファイルの規模の制約から、キーワー
ドの全ての前方一致や後方一致検索がサポートされない
こともある。しかし、検索者はキーワードの中の特徴あ
る文字や文字列を記憶することが多く、このため中間一
致を含む部分一致検索のサポートにより検索がスムーズ
に行なえるようになることが求められている。[0004]Also, although the index method can speed up partial match searches, it has the disadvantage that the search file becomes huge. For this reason, exact, prefix, and suffix searches are used, but intermediate matches are often not supported. This is to do an intermediate match,
In addition to search indexes for exact matches, prefix matches, and postfix matches, a large number of indexes for intermediate matches are required.
The main reasons are that the storage capacity of the search file becomes huge, the search time increases accordingly, and the maintenance of the search file is not easy. Also, depending on the system, search for all prefixes and suffixes of keywords may not be supported due to limitations on the size of the search file. However, searchers often memorize characteristic characters or character strings in keywords, and therefore there is a need for support for partial match searches including intermediate matches to enable smooth searches.
【0005】本発明者は、日本語の場合には、キーワー
ドになりうる単語に同じ文字や同じ文字列が出現する頻
度が低い特徴がある点に着目し、キーワード構成文字を
文字種ごとに格納して検索ファイルを作成し、検索時に
は、検索入力された任意の文字列の構成文字と同じ文字
を検索ファイルから取り出し、検索ファイル中から任意
の文字列の連続性を照合することにより検索を高速化す
ることができることを見出した。[0005] The present inventor focused on the fact that the Japanese language has the characteristic that the same characters or the same character strings rarely appear in words that can be used as keywords, and stored keyword constituent characters for each character type. Create a search file, and when searching, retrieve the same characters from the search file as the constituent characters of any character string entered in the search, and speed up the search by checking the continuity of any character string in the search file. I found out that it can be done.
【0006】本発明は、上述の観点から巨大なデータベ
ースシステムを対象とするマルチキーワードを用いた部
分一致検索の高速化を実現することができ、しかも特定
のハードウエアに限定されず、検索処理を主記憶上で行
うことにより専用プロセッサやLSIとの文字列の転送
が不要であり、文字と文字位置に着目することにより任
意の文字列検索が可能である汎用性に富む情報検索処理
方式を提供することを目的とする。[0006] From the above-mentioned viewpoint, the present invention can realize high-speed partial match searches using multi-keywords targeting a huge database system, and is not limited to specific hardware, and can perform search processing. Provides a highly versatile information retrieval processing method that eliminates the need to transfer character strings to and from a dedicated processor or LSI because it is performed in main memory, and allows arbitrary character string searches by focusing on characters and character positions. The purpose is to
【0007】[0007]
【課題を解決するための手段】本発明の第一の特徴は、
検索対象となるレコードごとに昇順の符号を付与するレ
コード識別符号付与手段と、このレコードが有する各キ
ーワードにキーワードの論理的な区分を示す属性符号を
付与するキーワード属性符号付与手段と、このキーワー
ドを各文字ごとに分解し各文字にキーワード中での位置
を示す文字位置順序符号を付与する文字位置順序符号付
与手段と、上記レコード識別手段とキーワード属性符号
と文字位置順序符号とからなる文字位置情報を作成して
、この文字位置情報を文字種ごとの領域に格納して検索
ファイルを作成する手段とを備えたことを特徴とする。[Means for Solving the Problems] The first feature of the present invention is that
record identification code assigning means for assigning a code in ascending order to each record to be searched; keyword attribute code assigning means for assigning an attribute code indicating a logical classification of the keyword to each keyword included in the record; character position order code providing means for disassembling each character and giving each character a character position order code indicating its position in the keyword; character position information comprising the record identification means, a keyword attribute code and a character position order code; The present invention is characterized by comprising means for creating a search file by creating a search file by storing this character position information in an area for each character type.
【0008】なお、文字位置情報は、レコードが有する
各キーワードをキーワード属性符号に対応するキーワー
ド属性領域に配列して作成するキーワード列について、
各キーワードの全ての文字を、レコード識別符号とキー
ワード属性符号と文字位置順序符号とで整数からなるコ
ードに変換して作成するもので、
レコード識別符号×n+(Pa −1)+文字位置順序
符号
n:キーワード列文字数
Pa :キーワード属性符号aのキーワード属性領域の
キーワード列における先頭文字位置
なる数字として与えられることが好ましい。[0008] The character position information is about a keyword string created by arranging each keyword of a record in a keyword attribute area corresponding to a keyword attribute code.
It is created by converting all the characters of each keyword into a code consisting of integers using a record identification code, keyword attribute code, and character position order code.Record identification code x n + (Pa -1) + character position order code n: number of keyword string characters Pa: preferably given as a number representing the first character position in the keyword string of the keyword attribute area of the keyword attribute code a.
【0009】また本発明の第二の特徴は、第一の特徴で
作成された検索ファイルを備え、検索入力文字列の構成
文字と同じ文字の文字位置情報を上記検索ファイルから
取り出す手段と、この取り出した各文字の文字位置情報
間で、レコード識別符号とキーワード属性符号が共通で
文字位置順序符号が検索入力の文字列と等しい順序であ
り、かつそのキーワード属性符号が検索入力と等しい文
字位置情報の組み合わせを抽出する手段と、この抽出さ
れた文字位置情報の組み合わせに基づいて検索入力文字
列に対応するレコード識別符号を検索結果として出力す
る手段とを備えたことを特徴とする。A second feature of the present invention is that the present invention is provided with a search file created according to the first feature, and includes means for extracting character position information of the same characters as the constituent characters of the search input string from the search file; Among the character position information of each retrieved character, the record identification code and keyword attribute code are common, the character position order code is in the same order as the character string of the search input, and the keyword attribute code is the same as the search input. and means for outputting a record identification code corresponding to a search input character string as a search result based on the extracted combination of character position information.
【0010】また、検索入力の文字列を構成できる文字
位置情報の組み合わせの抽出は、検索入力の全キーワー
ドにおける出現頻度の低い文字から順に行うことが好ま
しい。[0010] Furthermore, it is preferable that combinations of character position information that can form a character string of a search input are extracted in order of characters that appear less frequently in all keywords of the search input.
【0011】また、検索入力の文字列を構成できる文字
位置情報の組み合わせの抽出は、検索入力文字列の全キ
ーワードにおける出現頻度の低い文字の文字位置順序符
号をi、出現頻度の高い文字の文字位置順序符号をjと
するとき、(文字位置順序符号iの文字の文字位置情報
)−(文字位置順序符号jの文字の文字位置情報)=i
−jの式により行うことが好ましい。[0011] Furthermore, in order to extract combinations of character position information that can constitute a character string of a search input, let i be the character position order code of a character that appears less frequently in all the keywords of the search input character string, and set the character position order code of a character that appears frequently When the position order code is j, (character position information of the character with character position order code i) - (character position information of the character with character position order code j) = i
-j is preferably used.
【0012】0012
【作用】日本語の文字列では、同一の文字が現れる頻度
は英語等に比べると低い。特に漢字については同一の漢
字が繰り返し現れる頻度は低い。例えば広辞苑(岩波書
店発行)の見出し語の説明文書は約900 万字あるが
、その中でJIS第1水準の漢字の出現頻度を調べると
平均出現頻度は1155回である。このため、JIS第
1水準2965種の漢字については、検索入力がn文字
の場合、広辞苑の見出し語の説明文書から抽出する照合
対象は平均すればn×1155文字となる。一般的に検
索入力は数十文字以下であるため、出現頻度の高い文字
を含む文字列であっても、全部の文字を逐次照合するも
のに比べるとその照合回数は極めて少なくなる。[Operation] In Japanese character strings, the frequency in which the same characters appear is lower than in English. In particular, the frequency with which the same kanji appears repeatedly is low. For example, the Kojien dictionary (published by Iwanami Shoten) has about 9 million characters in its explanatory text for headwords, but when we look at the frequency of appearance of JIS level 1 kanji, we find that the average frequency of occurrence is 1155 times. Therefore, for the 2965 JIS Level 1 kanji, if the search input is n characters, the average number of characters to be matched extracted from the explanatory document of the headword in Kojien is n×1155 characters. Generally, a search input is a few dozen characters or less, so even if the string includes characters that appear frequently, the number of times it will be matched will be extremely small compared to a method that sequentially matches all characters.
【0013】さらに日本語の文字列、特に漢字の文字列
では同一の文字列が発生する頻度は極めて小さい。例え
ば、「通信」という2つの文字列を使用する用語は多々
あるとしても「通信・・」という文字列は「通信回線」
、「通信装置」のように4文字で同一の文字が発生する
頻度は非常に低くなる。このため、検索入力文字列の構
成文字で検索ファイルとの照合を進めていくと、それま
でに得られた検索対象候補のキーワードの中から、検索
入力文字列と異なるキーワードが削除され、照合する構
成文字ごとに検索対象が絞り込まれていく。特に、検索
入力の中の全キーワードにおける出現頻度の低い文字か
ら順に照合を行うと一層絞り込まれて照合一致を取る回
数を低減できる。Furthermore, in Japanese character strings, especially in Kanji character strings, the frequency of occurrence of identical character strings is extremely low. For example, although there are many terms that use the two character strings ``communication'', the character string ``communication...'' is ``communication line''.
, the frequency of occurrence of the same four characters, such as "communication device", is extremely low. Therefore, as the constituent characters of the search input string are compared with the search file, keywords that are different from the search input string are deleted from the keywords of search target candidates obtained so far, and the keywords that differ from the search input string are removed. The search target is narrowed down for each constituent character. In particular, if the matching is performed in order of the characters that appear less frequently among all the keywords in the search input, the search will be further narrowed down and the number of matching matches can be reduced.
【0014】したがって、検索対象となるレコードが有
するキーワードを構成する各文字に対応して、レコード
を特定できるレコード識別符号と、キーワードの属性を
特定できるキーワード属性符号と、キーワード中の文字
位置を特定できる文字位置順序符号とから文字位置情報
を作成し、この文字位置情報を文字種ごとに格納して検
索ファイルを作成し、この検索ファイルに対して検索入
力文字列との照合一致を行うことにより文字列検索にお
ける照合一致処理回数を大幅に低減することができる。[0014] Therefore, in correspondence to each character constituting the keyword of the record to be searched, a record identification code that can identify the record, a keyword attribute code that can identify the attribute of the keyword, and a character position in the keyword can be specified. Create character position information from the possible character position order codes, store this character position information for each character type to create a search file, and perform a match against the search input string against this search file to find characters. The number of times of matching processing in column search can be significantly reduced.
【0015】この検索ファイルの作成は次のように行う
。This search file is created as follows.
【0016】まず検索対象となる各レコードに登録順序
に従って昇順にレコード識別符号を付与する。次に、各
レコードが有するキーワードの論理的な種別を属性とし
て、その属性を示すキーワード属性符号を付与する。例
えば図書検索システムの場合、図書名、著者名、発行者
名、刊行年、抄録などの属性を示すキーワード属性符号
が付与される。さらに、キーワードを1文字ごとに分解
し、各文字にキーワードの先頭からの文字位置を示す文
字位置順序符号を付与する。これらのレコード識別符号
とキーワード属性符号と文字位置順序符号とから、キー
ワードの各文字の文字位置情報を生成する。このときキ
ーワード属性を文字位置で表せるように、キーワード属
性符号ごとにあらかじめ設定されたキーワードの先頭文
字位置が定数として文字位置情報に加算されるようにし
ている。この文字位置情報を文字種ごとにグループ化し
、これらの各グループを集合して検索ファイルを作成す
る。したがってこの検索ファイルは、文字種ごとに文字
位置情報が格納された形のファイル構造となる。First, record identification codes are assigned to each record to be searched in ascending order according to the registration order. Next, the logical type of the keyword that each record has is set as an attribute, and a keyword attribute code indicating the attribute is assigned. For example, in the case of a book search system, a keyword attribute code indicating attributes such as book name, author name, publisher name, year of publication, and abstract is assigned. Furthermore, the keyword is broken down character by character, and a character position order code indicating the character position from the beginning of the keyword is given to each character. Character position information for each character of the keyword is generated from these record identification codes, keyword attribute codes, and character position order codes. At this time, so that keyword attributes can be represented by character positions, the first character position of the keyword, which is set in advance for each keyword attribute code, is added to the character position information as a constant. This character position information is grouped by character type, and each group is assembled to create a search file. Therefore, this search file has a file structure in which character position information is stored for each character type.
【0017】検索処理では、検索入力文字列と検索入力
文字列属性との対が1個以上入力される。各検索入力文
字列について検索入力文字列を1文字ごとに分解し、検
索ファイル中から分解した文字と同じ文字の文字位置情
報を取り出して、レコード識別符号が共通で文字位置順
序符号が検索入力の文字列と等しい順序であり、かつそ
のキーワード属性符号が検索入力と等しい文字位置情報
の組み合わせを照合して取り出す。取り出した各検索入
力に対応する文字位置情報から検索入力文字列に対応す
るレコード識別符号を検索結果として取り出す。In the search process, one or more pairs of a search input string and a search input string attribute are input. For each search input string, the search input string is decomposed character by character, and the character position information of the same character as the decomposed characters is extracted from the search file, and the record identification code is common and the character position order code is the same as the search input. Combinations of character position information that are in the same order as the character string and whose keyword attribute code is the same as the search input are collated and extracted. A record identification code corresponding to the search input character string is extracted as a search result from the character position information corresponding to each retrieved search input.
【0018】この照合処理は、検索入力と検索ファイル
との文字列の連続性の一致と属性の一致とをみるもので
、検索ファイル中の文字位置情報からレコードの識別符
号が共通していて検索入力の文字位置順序とキーワード
属性符号が同じキーワードを取り出すことにより行う。[0018] This matching process checks the continuity of character strings and attribute matches between the search input and the search file. Based on the character position information in the search file, the records have the same identification code and are searched. This is done by extracting keywords that have the same input character position order and keyword attribute code.
【0019】これにより、検索ファイル中の全キーワー
ドとの照合が不要になり、検索ファイルにある検索入力
の構成文字と同じ文字の文字位置情報だけの照合一致を
行えばよいので、照合回数は逐次照合に比べるときわめ
て低減することができる。また、日本語の単語では、同
じ文字列の出現頻度が低く、文字照合の都度、検索対象
が絞り込まれるので、照合回数は低減していく。[0019] This eliminates the need to match all keywords in the search file, and it is only necessary to match the character position information of the same characters as the constituent characters of the search input in the search file, so the number of matches can be reduced sequentially. This can be significantly reduced compared to matching. Furthermore, in Japanese words, the frequency of occurrence of the same character string is low, and each time character matching is performed, the search target is narrowed down, so the number of matching times is reduced.
【0020】さらに、検索ファイルから取り出した文字
位置情報を照合するとき、検索入力の中の全キーワード
における出現頻度の低い文字から順に行うと検索対象が
一層絞り込まれ、照合一致をとる回数がさらに低減でき
る。[0020]Furthermore, when comparing the character position information extracted from the search file, if the search is performed in descending order of the frequency of occurrence among all the keywords in the search input, the search target will be further narrowed down and the number of matching matches will be further reduced. can.
【0021】このようにして検索入力に合致する文字位
置情報を見出したときは検索入力に対応するレコード識
別符号に該当するレコードを抽出して、検索者に検索結
果として出力する。When character position information matching the search input is found in this way, the record corresponding to the record identification code corresponding to the search input is extracted and output to the searcher as a search result.
【0022】[0022]
【実施例】以下図面を参照して本発明の実施例を説明す
る。DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.
【0023】図1は本発明一実施例における情報検索処
理装置の構成を示すものである。FIG. 1 shows the configuration of an information retrieval processing device according to an embodiment of the present invention.
【0024】本実施例の情報検索処理装置は、各種演算
処理あるいは判断処理を行うCPU1と、検索処理、検
索ファイル作成等のプログラム、作成されたあるいは検
索処理を行うための検索ファイル、検索入力等を記憶す
るメモリ2、キーボード4、ディスプレイ5を接続する
入出力部3、各種情報が記憶される外部記憶装置7を接
続する外部記憶装置制御部6、CPU1、メモリ2、入
出力部3、外部記憶装置制御部6を接続する共通バス8
とを備える。The information search processing device of this embodiment includes a CPU 1 that performs various arithmetic processing or judgment processing, programs for search processing, search file creation, etc., search files created or used to perform search processing, search input, etc. a memory 2 for storing information, a keyboard 4, an input/output section 3 for connecting a display 5, an external storage device control section 6 for connecting an external storage device 7 for storing various information, a CPU 1, a memory 2, an input/output section 3, an external Common bus 8 connecting storage device control unit 6
Equipped with.
【0025】本実施例での情報検索処理は、検索処理に
供するための検索対象となるレコードが有するマルチキ
ーワードから作成するキーワード列について各キーワー
ドの構成文字を文字種ごとに格納して検索ファイルを作
成する検索ファイル作成処理と、検索ファイルとの照合
一致を行って検索入力に合致するキーワードのレコード
を抽出する検索処理との二つに分けられる。In the information search process in this embodiment, a search file is created by storing the constituent characters of each keyword for each character type for a keyword string created from multi-keywords possessed by records to be searched for the search process. The search process is divided into two: search file creation processing, which performs matching with the search file, and search processing, which extracts records with keywords that match the search input.
【0026】まず、検索ファイル作成処理について説明
する。First, the search file creation process will be explained.
【0027】この検索ファイル作成処理は、大まかに分
けると、■検索ファイル領域確保、■各キーワード構成
文字への文字位置情報の付与、■文字種別ごとにグルー
プ化した文字位置情報のファイルへの格納の3つに分け
ることができる。この各処理についてそれぞれ説明する
。This search file creation process can be roughly divided into: 1) Securing a search file area, 2) Adding character position information to each keyword component character, and 2) Storing character position information grouped by character type in a file. It can be divided into three parts. Each of these processes will be explained.
【0028】■ 検索ファイル領域確保登録するレコ
ードの有するキーワードの構成文字をJISコード表に
準じて分類し、JISコード表に記載されている文字種
別に出現頻度を計数する。これにより、検索ファイルを
構成する各文字種グループに登録される文字位置情報の
数がわかるので、全文字種グループで構成される検索フ
ァイルの領域を確保できる。また同時に、各文字種グル
ープに登録される文字位置情報数から、検索ファイル内
に連続して格納される文字種グループの先頭番地もわか
る。この文字種グループの先頭番地をJISコード表の
記載順に配列したのが図2に示す文字欄アドレス表であ
る。■ Securing search file area Characters constituting keywords included in the record to be registered are classified according to the JIS code table, and the frequency of appearance is counted for each character type described in the JIS code table. As a result, the number of character position information registered in each character type group constituting the search file can be known, so that an area for the search file composed of all character type groups can be secured. At the same time, from the number of character position information registered in each character type group, the starting addresses of the character type groups consecutively stored in the search file can be determined. The character field address table shown in FIG. 2 is an arrangement of the first addresses of these character type groups in the order of their description in the JIS code table.
【0029】■ 各キーワード構成文字への文字位置
情報の付与
ここで述べる文字位置情報は、レコードが有する各キー
ワードをキーワード属性番号に対応するキーワード属性
領域に配列して作成するキーワード列において各キーワ
ードを構成するすべての文字が属するレコードの登録す
る順番を示すレコード番号と、キーワードにおけるその
文字の出現する位置を示す文字位置番号と、キーワード
の論理的な種別を示すキーワード属性番号とで作成され
る。■ Adding character position information to each keyword component character The character position information described here is used to assign each keyword to a keyword string created by arranging each keyword of a record in the keyword attribute area corresponding to the keyword attribute number. It is created using a record number that indicates the registration order of records to which all the constituent characters belong, a character position number that indicates the position in which the character appears in the keyword, and a keyword attribute number that indicates the logical type of the keyword.
【0030】まずレコード番号を説明する。例えば、一
般的な図書検索システムでは、図書名、著者名、発行者
名、刊行年、抄録のキーワードで図書を検索する。この
ときレコードは、図書名、著者名、発行者名、刊行年、
抄録のキーワードで構成される検索対象であって、この
レコードが登録される順序に1から昇順に番号を付与し
てレコード番号とする。First, record numbers will be explained. For example, in a general book search system, books are searched using keywords such as book title, author name, publisher name, year of publication, and abstract. At this time, the record includes the book name, author name, publisher name, publication year,
The search target consists of abstract keywords, and a record number is assigned by assigning a number in ascending order from 1 to the order in which this record is registered.
【0031】次にキーワード属性番号を説明する。一般
的に検索者は、検索する図書を特定しやすいキーワード
を検索入力としたり、あるいは記憶しているキーワード
を検索入力する。このため図書検索システムでは、例え
ば図書名、著者名、発行者名、刊行年、抄録の各キーワ
ードにキーワード属性を付加し、検索入力と図書検索シ
ステムのキーワード間に論理的な関連付けを行っている
。ここではキーワード属性番号として、図書名に「1」
、著者名に「2」、発行者名に「3」、刊行年に「4」
、抄録に「5」を付与する。Next, keyword attribute numbers will be explained. Generally, a searcher inputs a keyword that is easy to identify the book to be searched, or inputs a stored keyword. For this reason, the book search system adds keyword attributes to each keyword, for example, book title, author name, publisher name, publication year, and abstract, and creates a logical association between the search input and the book search system's keywords. . Here, "1" is added to the book name as the keyword attribute number.
, "2" for the author name, "3" for the publisher name, "4" for the year of publication
, give the abstract a "5".
【0032】次に文字位置番号を説明する。各キーワー
ドを構成する各文字に各キーワードの先頭文字から順に
、1、2、3・・・と昇順に番号を付与し、文字位置番
号とする。Next, character position numbers will be explained. Numbers are assigned to each character constituting each keyword in ascending order of 1, 2, 3, etc. starting from the first character of each keyword, and these numbers are used as character position numbers.
【0033】次にキーワード列を説明する。レコードの
有するキーワードに対する部分一致検索を検索入力文字
列との文字列照合により実現するために、レコードの有
するすべてのキーワードを連結して文字列を構成し、こ
れをキーワード列とする。すなわち、各キーワードをキ
ーワード属性番号に対応する固定長のキーワード属性領
域に配列しキーワード列を作成する。これによりキーワ
ード列における文字位置から、その文字が属するキーワ
ードの属性がわかる。なお、各キーワード属性領域に続
いてキーワード属性領域の区切りを示すEND記号がキ
ーワード列に格納される。このEND記号はJISコー
ド表の未使用コードを割り当て、ここではコードA3B
Bとする。Next, the keyword string will be explained. In order to perform a partial match search for a keyword included in a record by matching the string with a search input string, all the keywords included in the record are concatenated to form a character string, and this is used as a keyword string. That is, each keyword is arranged in a fixed-length keyword attribute area corresponding to a keyword attribute number to create a keyword string. As a result, the attribute of the keyword to which the character belongs can be determined from the position of the character in the keyword string. Note that following each keyword attribute area, an END symbol indicating a break between the keyword attribute areas is stored in the keyword string. This END symbol is assigned an unused code in the JIS code table, and here code A3B
Let it be B.
【0034】そしてこのキーワード列を対象として、レ
コード番号とキーワード属性番号と文字位置番号からキ
ーワードを構成するすべての文字を整数からなるコード
に変換して文字位置情報を作成する。この文字位置情報
は、次の式(1)で与えられる整数のコードである。
文字位置情報コード=レコード番号×n+(Pa −1
)+p …(1)
n:キーワード列文字数
Pa :キーワード属性番号aのキーワード属性領域の
キーワード列における先頭文字位置
p:文字位置番号For this keyword string, character position information is created by converting all the characters constituting the keyword into codes made up of integers from the record number, keyword attribute number, and character position number. This character position information is an integer code given by the following equation (1). Character position information code = record number x n + (Pa -1
)+p...(1) n: Number of characters in the keyword string Pa: First character position in the keyword string in the keyword attribute area of keyword attribute number a p: Character position number
【0035】例えば、キーワード列のキーワード属性領
域サイズが、図書名=64バイト32文字、著者名=3
2バイト16文字、発行者=64バイト32文字、刊行
年=8バイト4文字、抄録=400 バイト200 文
字の図書検索システムにおいて、レコード番号が100
のレコードが、「図書名=通信文書の構造」、「著者
名=田中一郎」、「発行者=太平洋出版」、「刊行年=
1990」、「抄録=初めての人にも〜ている」の場合
、キーワード列は図3に示すようになる。このときキー
ワード列は578 バイト(289 文字)であるから
各文字の文字位置情報は図4に示すように構成される。For example, the size of the keyword attribute area of the keyword string is book name = 64 bytes 32 characters, author name = 3
2 bytes 16 characters, Publisher = 64 bytes 32 characters, Publication year = 8 bytes 4 characters, Abstract = 400 Bytes 200 In a book search system with 200 characters, the record number is 100.
The record is ``Book name = Structure of correspondence'', ``Author name = Ichiro Tanaka'', ``Publisher = Taiheiyo Publishing'', ``Year of publication =
In the case of ``1990'' and ``abstract = available to first-time users'', the keyword string is as shown in FIG. At this time, since the keyword string is 578 bytes (289 characters), the character position information of each character is constructed as shown in FIG.
【0036】そして、このように文字位置情報をそれぞ
れ4バイトのコードで構成すれば、289 文字数のキ
ーワード列を232÷289 ≒1486万個取り扱う
ことが可能である。[0036] If character position information is constituted by each 4-byte code in this way, it is possible to handle 232/289 ≒ 14.86 million keyword strings each having 289 characters.
【0037】■ 文字位置情報の検索ファイルへの登
録次にこの各文字ごとに付与された文字位置情報を検索
ファイルに登録する。上述のように文字種グループは、
JISコード表に記載された順に検索ファイルに格納さ
れる。そして各文字の文字位置情報を各文字種グループ
に登録する。この文字位置情報の登録は、文字種グルー
プの未格納領域の先頭にそれぞれ文字位置情報を格納す
ることによって行われる。このため、登録順にレコード
番号を付与すれば文字種グループ内には文字位置情報が
数値順の昇順に登録されることになる。■ Registration of character position information in the search file Next, the character position information given to each character is registered in the search file. As mentioned above, the character type group is
They are stored in the search file in the order listed in the JIS code table. Then, the character position information of each character is registered in each character type group. Registration of this character position information is performed by storing the character position information at the beginning of each unstored area of the character type group. Therefore, if record numbers are assigned in the order of registration, character position information will be registered in ascending numerical order within the character type group.
【0038】上述の図書名「通信文書の構造」の文字位
置情報を検索ファイルに登録した例を図5に示す。この
とき、各グループ内の文字位置情報は昇順に格納される
。このファイル容量は、文字位置情報が4バイトである
と、FIG. 5 shows an example in which the character position information of the book name "Structure of Correspondence" mentioned above is registered in the search file. At this time, character position information within each group is stored in ascending order. This file capacity is 4 bytes of character position information.
【数1】 になる。[Math 1] become.
【0039】なお、文字位置情報の追加登録は、追加レ
コードが有する各キーワードの各文字に該当するグルー
プの未格納領域の先頭に新規コードを追加することで行
う。また、削除は削除レコードが有する各キーワードの
各文字に該当するグループ内の該当文字位置情報を特殊
記号に変更することによって行う。これにより追加登録
と削除を短時間に行うことができる。The additional registration of character position information is performed by adding a new code to the beginning of the unstored area of the group corresponding to each character of each keyword included in the additional record. Further, deletion is performed by changing the corresponding character position information in the group corresponding to each character of each keyword included in the deletion record to a special symbol. This allows additional registration and deletion to be performed in a short time.
【0040】なお上述のようにこの検索ファイルの各文
字種グループごとに格納された文字位置情報は、文字欄
アドレス表の文字欄先頭番地をディレクトリとして取り
出すことができる。As described above, the character position information stored for each character type group in this search file can be retrieved using the character field head address of the character field address table as a directory.
【0041】以上の検索ファイルの作成処理の流れを図
6a、図6bに示す。The flow of the above search file creation process is shown in FIGS. 6a and 6b.
【0042】すなわち、文字種の出現度数を計数して文
字欄アドレス表を作成し(S11、12)、検索ファイ
ルの領域を確保する(S13)。次にレコード登録順位
カウンタをk=1に初期設定して、レコード番号を「1
」に、キーワード列文字数をn=289 に、キーワー
ド属性領域の先頭文字位置を図書名用としてP1 =1
、著者名用としてP2 =34、発行者名用としてP3
=51、刊行年用としてP4 =84、抄録用として
P5 =89を設定する(S14)。そして最初のレコ
ードを取り出す(S15)。ここまでが登録の前処理で
ある。ここからレコードごとの登録処理となり、まず、
キーワード属性番号をa=1にセットし(S16)、レ
コードの中からキーワード属性番号aのキーワードを取
り出す(S17)。さらに、キーワードの構成文字数を
mに、文字位置番号をp=1に、キーワード属性番号a
に該当するキーワード属性領域の先頭文字位置をPa
に設定する(S18)。次に、取り出したキーワードの
先頭文字から順に、文字位置番号pに相当する文字位置
情報を
D=k×n+(Pa −1)+p …(2)の式(2
)を用いて作成する(S19)。That is, the frequency of appearance of character types is counted to create a character field address table (S11, 12), and an area for the search file is secured (S13). Next, initialize the record registration order counter to k=1 and set the record number to "1".
”, set the number of characters in the keyword string to n = 289, and set the first character position of the keyword attribute area to P1 = 1 for the book name.
, P2 = 34 for author name, P3 for publisher name
=51, P4 =84 for publication year, and P5 =89 for abstract (S14). Then, the first record is taken out (S15). This is the pre-processing for registration. From here, the registration process starts for each record. First,
The keyword attribute number is set to a=1 (S16), and the keyword with the keyword attribute number a is extracted from the record (S17). Furthermore, the number of characters constituting the keyword is set to m, the character position number is set to p=1, and the keyword attribute number is set to a.
The first character position of the keyword attribute area corresponding to Pa
(S18). Next, in order from the first character of the retrieved keyword, character position information corresponding to character position number p is calculated using the formula (2) of D=k×n+(Pa −1)+p
) (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)
。Then, the character field directory (character field first address) indicating the character field of the search file in which the character type group of the character at character position number p is stored is retrieved from the character field address table (S20), and the character field Character position information is stored at the beginning of the unstored line in the character column of the search file indicated by the directory (S21). And p=p+1, m
= m-1, and when all characters in the keyword have been processed, the keyword attribute number is incremented by 1 with a=a+1, and the process moves to the next keyword (S24, S25). Also,
After processing all the keywords a record has, k
=k+1, the record registration order counter is incremented by 1 and the process moves to the next record (S26, S27, S28). The registration process ends when all records are processed (S26).
.
【0044】次にこのようにして作成された検索ファイ
ルを用いる検索処理について説明する。Next, search processing using the search file created in this manner will be explained.
【0045】本実施例では、検索ファイルから取り出し
た文字位置情報を対象として、検索入力文字列と同じ文
字列を含むキーワードを文字列照合し、かつ検索入力と
同じ属性であることを確認後、すべての検索入力文字列
に共通するレコードを検索する例で説明する。In this embodiment, character position information extracted from a search file is used to match keywords containing the same character string as the search input character string, and after confirming that the keyword has the same attributes as the search input, This will be explained using an example of searching for records common to all search input strings.
【0046】まず、その検索処理は大まかに分けると以
下の構成からなっている。■検索入力文字列の各文字に
該当する文字欄アドレス表内の文字欄先頭番地を算出す
る。■検索入力文字列を全キーワードにおける出現頻度
の低い文字から順に並べ変える。■並べ変えた文字列の
先頭から順に該当する文字種グループを検索ファイルか
ら取り出してそこに格納されている文字位置情報から検
索入力の文字列の順序と一致する文字位置情報の組み合
わせを取り出す。■抽出した文字位置情報から検索入力
と同じ属性を有する文字位置情報を取り出す。■■〜■
を検索入力数分繰り返した後、すべての検索入力文字列
に共通するレコード番号を検索結果として出力する。First, the search process can be roughly divided into the following components. ■Calculate the first address of the character field in the character field address table that corresponds to each character of the search input character string. ■Arrange the search input strings in descending order of the frequency of occurrence among all keywords. - Extract the corresponding character type groups from the search file in order from the beginning of the rearranged character string, and extract the combination of character position information that matches the order of the search input character string from the character position information stored therein. (2) Extract character position information having the same attributes as the search input from the extracted character position information. ■■〜■
After repeating for the number of search inputs, the record number common to all search input strings is output as the search result.
【0047】次に具体的にそれぞれの処理を説明する。Next, each process will be specifically explained.
【0048】■ 検索入力文字列の各文字に該当する
文字欄アドレス表内の文字欄先頭番地の算出検索ファイ
ルの作成時と同様に、検索入力文字のJISコード表記
載順位を算出し、これを文字欄アドレス表における各検
索入力文字のアドレスポインタとする。■ Calculation of the first address of the character field in the character field address table that corresponds to each character in the search input character string.Similar to the time of creating the search file, calculate the ranking of the search input characters in the JIS code table, and use this. This is an address pointer for each search input character in the character field address table.
【0049】■ 出現頻度順の並べ変えそして、検索
ファイルの各文字種グループの先頭番地を示す文字欄ア
ドレス表の文字欄先頭番地を参照して、検索入力文字の
出現頻度を調べ、検索入力の文字列を全キーワードにお
ける出現頻度の低いものから順に並べ変える。上述のよ
うに、文字欄アドレス表内の文字欄先頭番地は、検索フ
ァイルに格納されている各文字種グループの先頭番地を
示しており、次に続く文字欄先頭番地との差をとれば、
各文字種グループに格納されている文字位置情報の数か
ら、全キーワードにおける文字種別出現頻度がわかる。[0049] ■ Rearranging the order of occurrence frequency. Then, by referring to the first address of the character column in the character column address table that indicates the first address of each character type group in the search file, check the appearance frequency of the search input character, and check the appearance frequency of the search input character. Sort the columns in descending order of frequency of occurrence across all keywords. As mentioned above, the character field first address in the character field address table indicates the first address of each character type group stored in the search file, and if you take the difference from the next character field first address,
The appearance frequency of character types in all keywords can be determined from the number of character position information stored in each character type group.
【0050】これは出現頻度の低い文字から照合一致を
行うことにより、検索ファイルに格納された各文字の文
字位置情報間の照合回数をきわめて低減できるためであ
る。すなわち文字位置情報を照合して文字の連続性を調
べる場合に二つの文字種グループ内の文字位置情報中の
レコード番号と文字位置番号とキーワード属性番号とを
照合するため、その二つの文字種グループ内に格納され
ている文字位置情報の数が少なければそれだけ照合回数
を少なくすることができる。したがって、文字位置情報
の照合を行うときに、出現頻度の低い文字から照合を行
うことが照合回数を低減させる。特に検索入力文字が多
くなるほど出現頻度の低い文字が含まれる割合が高まる
ため低減効果は大きい。This is because the number of times of matching between the character position information of each character stored in the search file can be significantly reduced by performing matching starting with characters that appear less frequently. In other words, when checking the continuity of characters by comparing character position information, in order to check the record number, character position number, and keyword attribute number in the character position information in two character type groups, The fewer pieces of character position information stored, the fewer times the matching can be performed. Therefore, when character position information is verified, performing the verification starting from characters that appear less frequently reduces the number of times of verification. In particular, as the number of search input characters increases, the rate of inclusion of characters with low appearance frequency increases, so the reduction effect is large.
【0051】■ 文字列の照合
出現頻度の低い文字から文字欄アドレス表を参照してそ
れぞれの文字種グループに格納されている文字位置情報
を取り出す。そして取り出した文字位置情報をもとに、
出現頻度の低い文字種グループから順に、各文字種グル
ープ間でレコード番号が等しくかつ文字位置番号の差が
検索入力文字列の文字位置差に等しい文字位置情報の組
み合わせを抽出する。① Collation of Character Strings The character position information stored in each character type group is extracted by referring to the character field address table starting from characters with a low appearance frequency. Then, based on the extracted character position information,
Combinations of character position information in which the record numbers are the same among each character type group and the difference in character position numbers is equal to the character position difference in the search input character string are extracted in order from the character type groups with the lowest appearance frequency.
【0052】この文字位置情報の照合は、検索入力文字
列の全キーワードにおける出現頻度の低い文字の文字位
置番号をi、出現頻度の高い文字の文字位置番号をjと
するとき、次の式(3)で
(文字位置番号iの文字の文字種グループ内文字位置情
報)−(文字位置番号jの文字の文字種グループ内文字
位置情報)=i−j …(3)となる文字位
置情報を抽出すればよい。This character position information is checked using the following formula (where i is the character position number of a character that appears less frequently in all the keywords in the search input character string, and j is the character position number of a character that appears more frequently) 3) Extract the character position information such that (character position information within the character type group of the character with character position number i) - (character position information within the character type group of the character with character position number j) = i - j ... (3) Bye.
【0053】この文字種グループ間での文字位置情報の
照合処理では、出現頻度の低い文字種グループの文字位
置情報とそれより出現頻度の高い文字種グループの文字
位置情報との差を取って文字の連続を照合する。In this process of collating character position information between character type groups, the difference between the character position information of a character type group that appears less frequently and the character position information of a character type group that appears more frequently is calculated to determine the sequence of characters. Verify.
【0054】検索入力文字列における任意の構成文字を
AとBとすると、該当する文字位置情報を抽出するには
、AとBとの文字位置番号差がLであるとし、グループ
Aの文字位置情報をAx 、グループBの文字位置情報
をBy としたとき
Ax +L>By ならBy を削除
Ax +L<By ならAx を削除
Ax +L=By ならAx 、By を合致として共
に削除というように不連続な文字位置情報を照合対象か
ら削除していくことによりその照合回数を削減させる。Assuming that arbitrary constituent characters in the search input string are A and B, in order to extract the corresponding character position information, the character position number difference between A and B is L, and the character position of group A is extracted. If the information is Ax and the character position information of group B is By, then if Ax +L>By, delete By If Ax +L<By, delete Ax If Ax +L=By, delete both Ax and By as a match. The number of times of matching is reduced by deleting character position information from the matching target.
【0055】例えばグループAの文字位置情報が571
、1140、10230 、11365 、1192
8 、13069グループBの文字位置情報が
569 、1706、10231 、10235 、1
1362文字位置番号差L=1であった場合、この二つ
のグループ間の照合回数は全体で7回だけですみ、グル
ープ内の全ての文字位置情報を照合する必要はない。For example, the character position information of group A is 571.
, 1140, 10230, 11365, 1192
8, 13069 Group B character position information is 569, 1706, 10231, 10235, 1
When the 1362 character position number difference L=1, the number of times of matching between these two groups is only 7 times in total, and there is no need to match all the character position information within the group.
【0056】■ キーワード属性番号の照合文字列照
合から得られた文字位置情報の文字位置番号についてキ
ーワード属性を照合する。すなわち、文字位置番号が1
〜32ならば文字位置情報のキーワード属性は図書名で
あり、文字位置番号が34〜49ならば文字位置情報の
キーワード属性は著者名であり、文字位置番号が51〜
82ならば文字位置情報のキーワード属性は発行者名で
あり、文字位置番号が84〜87ならば文字位置情報の
キーワード属性は刊行年であり、文字位置番号が89〜
288 ならば文字位置情報のキーワード属性は抄録で
あることがわかる。そこで、文字列照合で得られた文字
位置情報の中から検索入力時に指定された属性と同じ文
字位置情報だけを取り出す。① Matching of Keyword Attribute Number The keyword attribute is matched with respect to the character position number of the character position information obtained from the character string matching. That is, if the character position number is 1
~32, the keyword attribute of the character position information is the book name, and if the character position number is 34-49, the keyword attribute of the character position information is the author name, and the character position number is 51~49.
82, the keyword attribute of the character position information is the publisher name, and if the character position number is 84-87, the keyword attribute of the character position information is the year of publication, and the character position number is 89-87.
288, it can be seen that the keyword attribute of the character position information is abstract. Therefore, only the character position information that is the same as the attribute specified at the time of search input is extracted from the character position information obtained by character string matching.
【0057】■ レコード番号の抽出検索入力の数だ
け■〜■を繰り返し、得られた各検索入力文字列に該当
する文字位置情報間で、すべての検索入力文字列に共通
するレコード番号を取り出す。上記実施例では、検索入
力が1個以上の場合について説明した。
また検索入力が複数の場合には各検索入力間で論理積演
算を行う例として説明したが、論理積以外の論理演算を
伴う複数の検索入力の場合は、照合結果として残った文
字位置情報を各検索入力に対応付けて指定された論理演
算を行って検索入力の論理を満足するレコード番号を検
索結果として出力する。① Extraction of record numbers Repeat ① to ② as many times as the number of search inputs, and extract the record number common to all search input strings from among the character position information corresponding to each search input string obtained. In the above embodiment, the case where there is one or more search inputs has been described. In addition, in the case of multiple search inputs, we have explained an example in which a logical AND operation is performed between each search input, but in the case of multiple search inputs that involve logical operations other than logical AND, character position information remaining as a matching result is used. A specified logical operation is performed in association with each search input, and a record number that satisfies the logic of the search input is output as a search result.
【0058】なお、1検索入力を複数の文字列で指定す
る場合、例えば抄録のような文字数が多い項目を対象と
する場合よくあることであるが、最初の文字列のキーワ
ード属性照合終了後、2番目以降の文字列に対しては、
その文字列の最初の照合文字の文字種グループから、そ
れまで得られたレコード番号とキーワード属性番号を有
する文字位置情報を取り出し、得られた文字位置情報を
文字列照合の先頭文字の文字種グループとして同じ文字
列内の他の文字について照合処理を行う。[0058] When specifying one search input with multiple character strings, which is often the case when targeting items with a large number of characters such as abstracts, after completing the keyword attribute matching of the first character string, For the second and subsequent strings,
Extract the character position information with the record number and keyword attribute number obtained so far from the character type group of the first character to be matched in the string, and use the obtained character position information as the character type group of the first character in the string matching. Perform matching processing on other characters in the string.
【0059】以上の■〜■の動作を具体例を挙げて説明
する。The above operations (1) to (2) will be explained using specific examples.
【0060】検索対象として図書名が指定され、検索入
力文字列としては「通信文書」が指定されたとする。こ
の場合図書名のキーワードの属性の属性番号は「1」と
する。Assume that a book name is specified as a search target and "correspondence document" is specified as a search input character string. In this case, the attribute number of the attribute of the keyword of the book name is "1".
【0061】例えば各文字の全キーワードにおける出現
頻度が「書」<「文」<「信」<「通」の順であり、照
合をこの順序に行うとすると、まず検索ファイル中の「
書」の文字欄から取り出した文字位置情報と「文」の文
字欄から取り出した文字位置情報とを上述の式(3)を
使用してその差が「−1」になる文字位置情報を抽出す
ると、検索ファイルの「書」内の文字位置情報の「28
904 」と「文」内の「28903 」とを連続性あ
る文字位置情報として抽出することができる。For example, if the frequency of appearance of each character in all keywords is in the order of ``calligraphy''<``bun''<``xin''<``tsu'' and matching is performed in this order, first
Extract character position information for which the difference is "-1" by using the above formula (3) between the character position information taken from the character field of ``calligraphy'' and the character position information taken from the character field of ``sentence''. Then, the character position information in “calligraphy” in the search file is “28”.
904" and "28903" in the "sentence" can be extracted as continuous character position information.
【0062】次に、「書」の中で照合結果として残った
文字位置情報と、「信」に該当する検索ファイルの文字
欄から取り出した文字位置情報を同様に式(3)を使用
して、その差が「−2」になる文字位置情報を抽出する
と、「書」内の文字位置情報の「28904 」と「信
」内の文字位置情報「28902 」とを連続性ある文
字位置情報として抽出することができる。同様にして、
「書」内の文字位置情報の「28904」と「通」内の
文字位置情報「28901 」とを連続性ある文字位置
情報として抽出することができる。さらに、キーワード
属性は「図書名」であるから、これまでの文字列照合で
残った文字位置情報の中から、文字位置番号が1 〜3
2の文字位置情報として、「28901 」〜「289
04 」を抽出できる。[0062] Next, the character position information remaining as a matching result in "calligraphy" and the character position information extracted from the character field of the search file corresponding to "shin" are similarly calculated using equation (3). , extracting the character position information for which the difference is "-2", the character position information "28904" in "calligraphy" and the character position information "28902" in "shin" are converted into continuous character position information. can be extracted. Similarly,
Character position information “28904” in “calligraphy” and character position information “28901” in “tsu” can be extracted as continuous character position information. Furthermore, since the keyword attribute is "book name", character position numbers 1 to 3 are selected from among the character position information remaining from previous character string matching.
As the character position information of 2, "28901" to "289
04'' can be extracted.
【0063】キーワード列の文字数が「289 」であ
るから、文字位置番号は28901 ÷289 =10
0 余り1から、1〜4であることがわかる。またこの
文字列が属するレコード番号は100 であることもわ
かる。[0063] Since the number of characters in the keyword string is "289", the character position number is 28901 ÷ 289 = 10
0 From the remainder 1, it can be seen that it is 1 to 4. It can also be seen that the record number to which this character string belongs is 100.
【0064】この検索処理動作を図7a、図7bにフロ
ーチャートとして示す。This search processing operation is shown in flowcharts in FIGS. 7a and 7b.
【0065】すなわち、キーワード列文字数をn=28
9 に、キーワード属性領域の文字位置範囲Pa を図
書名はP1 =1 〜32、著者名はP2 =34〜4
9、発行者名はP3=51〜82、刊行年はP4 =8
4〜87、抄録はP5 =89〜288 に、キーワー
ド属性番号をa=1に設定し(S31)、キーワード属
性番号aの検索入力文字列がある場合にはそれを取り出
す(S32、S33)。ここからは検索入力文字列の照
合処理になる。そこで、(検索入力文字列の文字数)−
1を照合回数qとし(S34)、検索入力文字の全キー
ワードにおける出現頻度の低い順に文字を並べ変える(
S35)。そして検索ファイルから並べ変えた各文字に
該当する文字種グループに格納されている文字位置情報
を取り出す(S36)。次に検索入力文字列の全キーワ
ードにおける出現頻度の低い文字の文字位置番号をi、
出現頻度の高い文字の文字位置番号をjとするとき、(
文字位置番号iの文字の文字位置情報)−(文字位置番
号jの文字の文字位置情報)=i−jである文字位置情
報の組み合わせを取り出す(S37)。同様の処理を検
索入力文字列の残りの文字についても行い(S38、S
39)、残った文字位置情報の中から文字位置番号がキ
ーワード属性番号aの文字位置範囲Pa 内にあるレコ
ード番号だけを取り出す。文字位置情報から文字位置番
号を取り出すには、次の式(4)を用いる。
(文字位置情報)÷(キーワード列文字数)=レコード
番号余り文字位置番号…(4)
ここまでの処理で、検索入力文字列を文字列として持ち
、さらに検索入力された属性と同じキーワードを有する
レコード番号がわかる(S40)。抄録まで同様の処理
を行い、検索入力された属性と同じキーワードを有する
レコード番号を取り出す(S41、S42)。すべての
検索入力文字列の照合が終わると、残ったレコード番号
を対象として、すべての検索入力文字列に共通するレコ
ード番号を検索結果として出力する(S43)。In other words, the number of characters in the keyword string is n=28.
9, the character position range Pa of the keyword attribute area is P1 = 1 to 32 for the book name, and P2 = 34 to 4 for the author name.
9, Publisher name is P3 = 51-82, Publication year is P4 = 8
4 to 87, the abstract is set to P5 = 89 to 288, the keyword attribute number is set to a = 1 (S31), and if there is a search input character string with keyword attribute number a, it is extracted (S32, S33). From here on, the search input string will be matched. Therefore, (number of characters in search input string) −
1 is the number of matches q (S34), and the characters are rearranged in descending order of appearance frequency among all the keywords of the search input characters (
S35). Then, the character position information stored in the character type group corresponding to each rearranged character is extracted from the search file (S36). Next, the character position numbers of the characters that appear less frequently in all the keywords in the search input string are i,
When the character position number of a character that appears frequently is j, (
A combination of character position information that is (character position information of the character with character position number i)-(character position information of the character with character position number j)=i-j is extracted (S37). Similar processing is performed for the remaining characters in the search input string (S38, S
39), extract only the record numbers whose character position numbers are within the character position range Pa of the keyword attribute number a from the remaining character position information. To extract the character position number from the character position information, the following equation (4) is used. (Character position information) ÷ (Number of keyword string characters) = Record number Remaining character position number... (4) In the processing so far, records that have the search input string as a character string and also have the same keyword as the search input attribute The number is known (S40). The same process is performed up to the abstract, and a record number having the same keyword as the attribute entered for search is extracted (S41, S42). When all the search input strings are compared, the record numbers common to all the search input strings are output as search results for the remaining record numbers (S43).
【0066】[0066]
【発明の効果】以上説明したように、本発明は検索対象
となるレコードが有するキーワードの構成文字の文字種
ごとにその文字が属するレコード識別符号、文字位置順
序符号、キーワードの種別を示す属性番号からなる文字
位置情報を格納した検索ファイルを作成し、この検索フ
ァイルを検索入力の文字列を構成する文字種ごとにその
文字位置情報を取り出して、検索入力に合致する文字列
を検索するようにした。Effects of the Invention As explained above, the present invention provides a search method based on the record identification code to which the character belongs, the character position order code, and the attribute number indicating the type of keyword for each character type of the constituent characters of the keyword that the record to be searched has. A search file is created that stores character position information, and the character position information is extracted from this search file for each character type that makes up the search input character string to search for a character string that matches the search input.
【0067】このため、(1) 検索処理のための文字
列照合回数を低減することができるため、高速検索を行
うことができる、(2) 文字と文字位置に着目して検
索処理を行うため任意の文字列による検索ができ、(3
) 専用のハードウエアを用いることなくソフトウエア
だけで高速検索を実現できるため、汎用の情報処理装置
でマルチキーワードを用いた部分一致検索を効率よく行
うことができ汎用性に富む、(4) データベースシス
テムに利用したとき、その検索ファイルの作成に使用可
能な部分一致検索文字列の作成を行う必要がなく、検索
対象となるレコードが有するキーワードから自動的に検
索ファイルを作成することができるため、データベース
システムを経済的にかつ効率よく構築することが可能で
ある優れた効果がある。[0067] Therefore, (1) the number of times of character string collation for search processing can be reduced, so high-speed searching can be performed; (2) search processing can be performed by focusing on characters and character positions; You can search using any character string, (3
) High-speed searches can be achieved using only software without the use of dedicated hardware, so partial match searches using multiple keywords can be performed efficiently with general-purpose information processing equipment, making it highly versatile. (4) Databases When used in the system, there is no need to create a partial match search string that can be used to create a search file, and a search file can be automatically created from the keywords of the record to be searched. This has the excellent effect of making it possible to construct a database system economically and efficiently.
【図1】 本発明一実施例に使用する情報検索処理装
置の構成例。FIG. 1 shows a configuration example of an information search processing device used in an embodiment of the present invention.
【図2】 実施例の文字欄アドレス表。[Fig. 2] Character column address table of the embodiment.
【図3】 実施例のキーワード列。[Fig. 3] Keyword string of the example.
【図4】 実施例の文字位置情報作成例。FIG. 4: An example of creating character position information according to the embodiment.
【図5】 実施例の検索ファイルの登録例。FIG. 5: An example of registering a search file in the embodiment.
【図6a,b】 実施例の検索ファイル作成処理手順
を説明するフローチャート。FIGS. 6a and 6b are flowcharts illustrating search file creation processing procedures of the embodiment.
【図7a,b】 実施例の検索処理手順を説明するフ
ローチャート。FIGS. 7a and 7b are flowcharts illustrating the search processing procedure of the embodiment.
1…CPU 2…メモリ 3…入出力部 4…キーボード 5…ディスプレイ 6…外部記憶装置制御部 7…外部記憶装置 8…共通バス 1...CPU 2...Memory 3...Input/output section 4...Keyboard 5...Display 6...External storage device control unit 7...External storage device 8...Common bus
Claims (5)
符号を付与するレコード識別符号付与手段と、このレコ
ードが有する各キーワードにキーワードの論理的な区分
を示す属性符号を付与するキーワード属性符号付与手段
と、このキーワードを各文字ごとに分解し、各文字にキ
ーワード中での位置を示す文字位置順序符号を付与する
文字位置順序符号付与手段と、上記レコード識別符号と
キーワード属性符号と文字位置順序符号とからなる文字
位置情報を作成して、この文字位置情報を文字種ごとの
領域に格納して検索ファイルを作成する手段とを備えた
情報検索処理方式。1. Record identification code assigning means for assigning an ascending code to each record to be searched, and keyword attribute code assigning means for assigning an attribute code indicating a logical classification of the keyword to each keyword included in the record. and a character position order code assigning means for disassembling this keyword into each character and assigning a character position order code to each character indicating its position in the keyword, and the record identification code, the keyword attribute code, and the character position order code. An information search processing method comprising means for creating character position information consisting of and storing this character position information in an area for each character type to create a search file.
各キーワードをキーワード属性符号に対応してキーワー
ド属性領域に配列したキーワード列の各キーワードを構
成するすべての文字について、 レコード識別符号×n+(Pa −1)+文字位置順序
符号 n:キーワード列文字数 Pa :キーワード属性符号aのキーワード属性領域の
キーワード列における先頭文字位置 なる数字コードとして与えられる請求項1記載の情報検
索処理方式。[Claim 2] The character position information is determined by record identification code x n + (Pa 2. The information search processing method according to claim 1, wherein -1) + character position order code n: number of characters in keyword string Pa: given as a numerical code representing the first character position in the keyword string in the keyword attribute area of the keyword attribute code a.
列について、各キーワードを構成する文字ごとに、レコ
ードごとに昇順に付与されたレコード識別符号と、この
レコードが有するキーワードの論理区分を示すキーワー
ド属性符号とキーワード中でのその文字の位置を示す文
字位置順序符号とからなる文字位置情報を文字種別ごと
に格納した検索ファイルを備え、検索入力文字列の構成
文字と同じ文字の文字位置情報を上記検索ファイルから
取り出す手段と、この取り出した各文字の文字位置情報
間で、レコード識別符号とキーワード属性符号が共通で
文字位置順序符号が検索入力の文字列と等しい順序であ
り、かつそのキーワード属性符号が検索入力と等しい文
字位置情報の組み合わせを抽出する手段と、この抽出さ
れた文字位置情報の組み合わせに基づいて検索入力に対
応するレコード識別符号を検索結果として出力する手段
とを備えた情報検索処理方式。[Claim 3] Regarding the keyword string of the record to be searched, record identification codes assigned to each record in ascending order for each character constituting each keyword, and keyword attribute codes indicating the logical classification of the keywords included in this record. and a character position order code indicating the position of that character in the keyword.The search file stores character position information for each character type, and searches for the character position information of the same characters as the constituent characters of the search input string. Between the means for extracting from the file and the character position information of each extracted character, the record identification code and keyword attribute code are common, the character position order code is in the same order as the character string of the search input, and the keyword attribute code is An information search processing method comprising means for extracting a combination of character position information equal to a search input, and means for outputting a record identification code corresponding to the search input as a search result based on the extracted combination of character position information. .
置情報の組み合わせの抽出は、検索入力の全キーワード
における出現頻度の低い文字から順に行う請求項3記載
の情報検索処理方式。4. The information search processing method according to claim 3, wherein combinations of character position information that can constitute a character string of the search input are extracted in order of characters appearing less frequently in all keywords of the search input.
置情報の組み合わせの抽出は、検索入力文字列の全キー
ワードにおける出現頻度の低い文字の文字位置順序符号
をi、出現頻度の高い文字の文字位置順序符号をjとす
るとき、 (文字位置順序符号iの文字の文字位置情報)−(文字
位置順序符号jの文字の文字位置情報)=i−jに合致
する文字位置情報を抽出する 請求項3または請求項4記載の情報検索処理方式。[Claim 5] Extraction of combinations of character position information that can constitute a character string of a search input is carried out by setting the character position order code of characters that appear less frequently in all keywords of the search input character string to i, and the characters of characters that appear more frequently. When the position order code is j, a request to extract character position information that matches (character position information of the character with character position order code i) - (character position information of the character with character position order code j) = i - j The information search processing method according to claim 3 or claim 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3013878A JP2519129B2 (en) | 1991-01-10 | 1991-01-10 | Multi-word information retrieval processing method and retrieval file creation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3013878A JP2519129B2 (en) | 1991-01-10 | 1991-01-10 | Multi-word information retrieval processing method and retrieval file creation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04340164A true JPH04340164A (en) | 1992-11-26 |
JP2519129B2 JP2519129B2 (en) | 1996-07-31 |
Family
ID=11845475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3013878A Expired - Fee Related JP2519129B2 (en) | 1991-01-10 | 1991-01-10 | Multi-word information retrieval processing method and retrieval file creation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2519129B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6338061B1 (en) | 1998-01-14 | 2002-01-08 | Nec Corporation | Search method search apparatus, and recording medium recording program |
JP2012212289A (en) * | 2011-03-31 | 2012-11-01 | Dainippon Printing Co Ltd | Document information retrieval device, document information retrieval system, document information retrieval method, and program |
WO2018198192A1 (en) | 2017-04-25 | 2018-11-01 | 三菱電機株式会社 | Search device, search system, search method, and search program |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
CN116361421A (en) * | 2023-05-30 | 2023-06-30 | 互联时刻(北京)信息科技有限公司 | Text retrieval method, device and storage medium |
-
1991
- 1991-01-10 JP JP3013878A patent/JP2519129B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6338061B1 (en) | 1998-01-14 | 2002-01-08 | Nec Corporation | Search method search apparatus, and recording medium recording program |
JP2012212289A (en) * | 2011-03-31 | 2012-11-01 | Dainippon Printing Co Ltd | Document information retrieval device, document information retrieval system, document information retrieval method, and program |
US11005645B2 (en) | 2016-01-15 | 2021-05-11 | Mitsubishi Electric Corporation | Encryption device, encryption method, computer readable medium, and storage device |
WO2018198192A1 (en) | 2017-04-25 | 2018-11-01 | 三菱電機株式会社 | Search device, search system, search method, and search program |
US11106740B2 (en) | 2017-04-25 | 2021-08-31 | Mitsubishi Electric Corporation | Search device, search system, search method, and computer readable medium |
CN116361421A (en) * | 2023-05-30 | 2023-06-30 | 互联时刻(北京)信息科技有限公司 | Text retrieval method, device and storage medium |
CN116361421B (en) * | 2023-05-30 | 2023-08-15 | 互联时刻(北京)信息科技有限公司 | Text retrieval method, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP2519129B2 (en) | 1996-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3160201B2 (en) | Information retrieval method and information retrieval device | |
Robertson et al. | Applications of n‐grams in textual information systems | |
CN102142038B (en) | Multi-stage query processing system and method for use with tokenspace repository | |
US5995962A (en) | Sort system for merging database entries | |
US7516125B2 (en) | Processor for fast contextual searching | |
JP3636941B2 (en) | Information retrieval method and information retrieval apparatus | |
JP2742115B2 (en) | Similar document search device | |
US20090193005A1 (en) | Processor for Fast Contextual Matching | |
EP1342177A1 (en) | Method for structuring and searching information | |
JPH08249354A (en) | Word index and word index generating device and document retrieval device | |
JP2000163442A (en) | Symbol dictionary generating method and symbol dictionary retrieving method | |
JP2669601B2 (en) | Information retrieval method and system | |
JPH04205560A (en) | Information retrieval processing system | |
JPH04340164A (en) | Information retrieval processing system | |
JP2519130B2 (en) | Multi-word information retrieval processing method and retrieval file creation device | |
JP3081093B2 (en) | Index creation method and apparatus and document search apparatus | |
JPH06348757A (en) | Device and method for retrieving document | |
JPH04326164A (en) | Data base retrieval system | |
WO1992009960A1 (en) | Data retrieving device | |
JP2000322416A (en) | Document retrieving device | |
JPH03150668A (en) | Input character string normalization system for retrieval system | |
JP2003288366A (en) | Similar text retrieval device | |
JPH10177575A (en) | Device and method for extracting word and phrase and information storing medium | |
JPH04215181A (en) | Information retrieval processing system | |
JPH10177582A (en) | Method and device for retrieving longest match |
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 |