JP4205753B2 - Document search system - Google Patents

Document search system Download PDF

Info

Publication number
JP4205753B2
JP4205753B2 JP2007106800A JP2007106800A JP4205753B2 JP 4205753 B2 JP4205753 B2 JP 4205753B2 JP 2007106800 A JP2007106800 A JP 2007106800A JP 2007106800 A JP2007106800 A JP 2007106800A JP 4205753 B2 JP4205753 B2 JP 4205753B2
Authority
JP
Japan
Prior art keywords
search
index
document
word
operator
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 - Lifetime
Application number
JP2007106800A
Other languages
Japanese (ja)
Other versions
JP2007213606A (en
Inventor
泰嗣 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007106800A priority Critical patent/JP4205753B2/en
Publication of JP2007213606A publication Critical patent/JP2007213606A/en
Application granted granted Critical
Publication of JP4205753B2 publication Critical patent/JP4205753B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、電子化された文書群を索引登録しておき、指定した文字列の検索語を含む文書を検索する電子化文書検索システムに関する。   The present invention relates to an electronic document search system that registers an electronic document group as an index and searches for a document including a search term of a designated character string.

文書検索方法として全文検索がある。しかし、この方法は、基本的には検索時に登録全文書の内容を走査する必要があるため、大量の文書に対しては膨大な検索処理時間を要するという問題があった。その問題を解決するために、索引構造の工夫や検索処理方法の工夫による高速化が試みられている。索引構造としては、索引語に文書IDのみを対応づける(したがって登録各文書における索引語の有無のみが索引からわかる)方式が当初は主流であったが、一般的には検索語を複数の索引語に分解して索引照合するため、検索ノイズ(過剰ヒット)が避けられず、ノイズ除去のために全文走査による後処理を必要とし、高速化に限界があった。さらに高速化するために、索引語の各文書内での出現位置などの付加情報を索引に持たせる方式も最近提案されている。   There is a full text search as a document search method. However, this method basically requires scanning the contents of all registered documents at the time of retrieval, so that a large amount of retrieval processing time is required for a large number of documents. In order to solve the problem, attempts have been made to increase the speed by devising the index structure and the retrieval processing method. As an index structure, a method of associating only a document ID with an index word (so that only the presence / absence of an index word in each registered document can be known from the index) was initially mainstream. Search index (excess hit) is unavoidable because it is broken down into words and index matching is performed, and post-processing by full-text scanning is required to remove noise, and there is a limit to speeding up. In order to further increase the speed, a method in which the index has additional information such as the appearance position of the index word in each document has been recently proposed.

例えば、特許文献1のものは、登録文書中の特定数の文字連鎖を出現位置とともに索引に登録し、検索時には検索語を含む文書を、検索語中の文字連鎖に関する索引に記録された出現位置を用いて特定する。   For example, in Patent Document 1, a specific number of character chains in a registered document are registered together with an appearance position in an index, and a document including a search word is recorded in the index related to the character chain in the search word when searching. Use to specify.

特許文献2のものは、登録文書中の各1文字を出現位置とともに圧縮して索引に登録し、検索時には検索語を含む文書を、検索語中の文字連鎖に関する索引に記録された出現位置を用いて特定する。
ただ、これらの方法には、索引語の長さが短いと検査時間が増大する、索引語の長さが長いと索引語が短い検索語を検索できない、検索語が長いと検索時間が増大する等の問題点がある。
特開平6−52222号公報 特開平8−101848号公報
In Patent Document 2, each character in a registered document is compressed together with the appearance position and registered in the index. At the time of search, a document including the search word is recorded as the appearance position recorded in the index related to the character chain in the search word. Use to identify.
However, in these methods, if the length of the index word is short, the inspection time increases. If the length of the index word is long, the search word having a short index word cannot be searched. If the search word is long, the search time increases. There are problems such as.
JP-A-6-52222 JP-A-8-101848

本発明は上述のごとき実情に鑑みてなされたもので、文字列分割方法・検索評価順序の工夫により、検索を効率化した文書検索システムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a document search system that improves search efficiency by devising a character string dividing method and a search evaluation order.

請求項1の発明は、登録文書を索引の見出しとなる各文字列による索引語に分割する文書分割手段と、索引語を見出しとして、該索引語を含む文書数を表す文書頻度、索引語を含む文書の識別子、索引語の各文書内での出現回数を表す文書内頻度、及び索引語の各文書内での出現位置の並びを保持する索引と、検索条件中の検索語を索引に記録されている索引語に分割する検索語分割手段と、検索条件を解析して索引語あるいは前記検索語分割手段が検索語から索引語を一つも出力しない場合に対応して作成する該当文書のないことを表す空文書集合あるいはそれらの一方または両方を演算子で合成した検索条件木を生成する検索条件解析手段と、該検索条件木に基づいて前記索引から索引語に関する情報を取り出し検索結果合成処理を実行して検索結果を得る検索条件評価手段とを有する文書検索システムであって、前記検索語分割手段が検索語を2つ以上の索引語に分割する場合、前記検索条件解析手段は前記2つ以上の索引語を複数の検索結果の積集合をとる積集合演算子で合成した候補決定用条件木と、前記2つ以上の索引語から検索語を覆う最小個数のものを選択して出現位置間の距離を指定する位置演算子で合成した詳細判定用条件木とを作成し、前記検索条件評価手段はまず前記候補決定用条件木で該当文書の候補を求め、つぎに前記詳細判定用条件木で位置関係を考慮して候補文書の中から該当文書を決定し、前記候補決定用条件木には、前記詳細判定用条件木に用いられる索引語と、それ以外の索引語のうち前後にある前記詳細判定用条件木に用いられる索引語よりも文書頻度が少ない索引語とを使用し、前記検索条件木において複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、集合和演算子に子ノードである集合和演算子の子ノード数がしきい値以下である場合に限って、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行うことを特徴としたものである。 According to the first aspect of the present invention, document dividing means for dividing a registered document into index words based on each character string serving as an index heading, a document frequency representing the number of documents including the index word as an index word, and an index word The index that holds the identifier of the document to be included, the frequency in the document that indicates the number of occurrences of the index word in each document, and the list of occurrence positions in each document of the index word, and the search word in the search condition are recorded in the index Search word dividing means for dividing into index words, and there is no corresponding document to be created corresponding to the case where the search terms are analyzed and the index words or the search word dividing means does not output any index words from the search words A search condition analysis means for generating a search condition tree in which an empty document set representing one or both of them is combined with an operator, and information relating to an index word is extracted from the index based on the search condition tree, and a search result combining process Run A search condition evaluation unit that obtains a search result, and when the search term dividing unit divides the search term into two or more index terms, the search condition analyzing unit includes the two or more search term analyzing units. A candidate decision condition tree obtained by combining index terms with a product set operator that takes the product set of a plurality of search results, and a minimum number of search terms covering the search terms from the two or more index terms are selected between the appearance positions. A detailed decision condition tree synthesized by a position operator that specifies a distance is created, and the search condition evaluation means first obtains a candidate for the corresponding document using the candidate decision condition tree, and then uses the detailed decision condition tree. A candidate document is determined from candidate documents in consideration of the positional relationship, and the candidate determination condition tree includes an index word used for the detailed determination condition tree and the index word used before and after the other index words. Index terms used for detailed decision condition trees Using a remote document frequency is small index word, set union the search condition set union operator taking a set sum of a plurality of search results in the tree if it is nested, is a child node to the set union operator Only when the number of operator child nodes is less than or equal to a threshold value, the latter child node is used as the former child node, and flattening is performed to remove the latter from the former element .

請求項2の発明は、登録文書を索引の見出しとなる各文字列による索引語に分割する文書分割手段と、索引語を見出しとして、索引語を含む文書数を表す文書頻度、索引語を含む文書の識別子、索引語の各文書内での出現回数を表す文書内頻度、及び索引語の各文書内での出現位置の並びを保持する索引と、検索条件中の検索語を索引に記録されている索引語に分割する検索語分割手段と、検索条件を解析して索引語あるいは前記検索語分割手段が検索語から索引語を一つも出力しない場合に対応して作成する該当文書のないことを表す空文書集合あるいはそれらの一方または両方を演算子で合成した検索条件木を生成する検索条件解析手段と、該検索条件木に基づいて前記索引から索引語に関する情報を取り出し検索結果合成処理を実行して検索結果を得る検索条件評価手段とを有する文書検索システムであって、前記検索語分割手段が検索語を2つ以上の索引語に分割する場合、前記検索条件解析手段は前記2つ以上の索引語を複数の検索結果の積集合をとる積集合演算子で合成した候補決定用条件木と、前記2つ以上の索引語から検索語を覆いかつ索引語ごとの文書頻度の合計が最小となるような索引語を選択して出現位置間の距離を指定する位置演算子で合成した詳細判定用条件木とを作成し、前記検索条件評価手段はまず前記候補決定用条件木で該当文書の候補を求め、つぎに前記詳細判定用条件木で位置関係を考慮して候補文書の中から該当文書を決定し、前記候補決定用条件木には、前記詳細判定用条件木に用いられる索引語と、それ以外の索引語のうち前後にある前記詳細判定用条件木に用いられる索引語よりも文書頻度が少ない索引語を使用し、前記検索条件木において複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、集合和演算子に子ノードである集合和演算子の子ノード数がしきい値以下である場合に限って、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行うことを特徴としたものである。 The invention of claim 2 includes a document dividing means for dividing a registered document into index words based on each character string serving as an index headline, a document frequency representing the number of documents including the index word, and the index word using the index word as a headline. The index that holds the document identifier, the frequency in the document that indicates the number of occurrences of the index word in each document, and the list of occurrence positions in each document of the index word, and the search word in the search condition are recorded in the index. Search term dividing means that divides into index words, and there is no corresponding document to be created corresponding to the case where the search terms are analyzed and the index word or the search word dividing means does not output any index words from the search terms A search condition analysis means for generating a search condition tree by combining an empty document set representing one or both of them with an operator, and extracting search result information from the index based on the search condition tree. Run A document search system having search condition evaluation means for obtaining a search result, wherein when the search word dividing means divides a search word into two or more index words, the search condition analyzing means includes the two or more indexes. A candidate decision condition tree obtained by combining words with a product set operator that takes a product set of a plurality of search results, and covers the search words from the two or more index words, and the total document frequency for each index word is minimized. A detailed decision condition tree synthesized by a position operator that selects such an index word and designates a distance between appearance positions, and the search condition evaluation means first uses the candidate decision condition tree as a candidate for the corresponding document. Next, the relevant document is determined from candidate documents in consideration of the positional relationship in the detailed determination condition tree, and the candidate determination condition tree includes an index word used in the detailed determination condition tree and , Before and after other index terms If serial detailed document frequency than index terms used in the determination condition trees using fewer index word, set union operator taking a set sum of a plurality of search results in the search condition trees are nested, the set Only when the number of child nodes of the set sum operator that is a child node is less than or equal to the threshold value, the latter child node is made the former child node and the latter is removed from the former element. It is characterized by that.

請求項の発明は、請求項1または2の発明において、集合積演算子では、子ノードの候補決定用条件木を集合積演算子で合成したものを候補決定用条件木とし、前記検索条件評価手段は集合積演算子の評価において、まず前記候補決定用条件木で該当文書の候補を求め、つぎにその前記集合積演算子の子ノードを用いて検索結果を決定することを特徴としたものである。 The invention according to claim 3 is the invention according to claim 1 or 2 , wherein the set product operator is a candidate decision condition tree obtained by combining the candidate decision condition trees of child nodes with the set product operator, and the search condition The evaluation means is characterized in that, in the evaluation of the set product operator, first, a candidate for the corresponding document is obtained using the candidate determination condition tree, and then a search result is determined using a child node of the set product operator. Is.

請求項の発明は、請求項の発明において、集合積演算子の候補決定用条件木に該集合積演算子の子ノードである索引語ノードも付加することを特徴としたものである。 The invention of claim 4 is characterized in that, in the invention of claim 3 , an index word node which is a child node of the set product operator is also added to the condition tree for candidate determination of the set product operator.

発明によれば、1文字から成る索引語を必ず抽出するので、1文字から成る検索語の検索処理を高速化できる。 According to the present invention, since an index word consisting of one character is always extracted, the search processing for a search word consisting of one character can be speeded up.

発明によれば、索引語の文書頻度に基づいて選択した索引語のみを用いて候補決定を行うので、検索処理を高速化できる。 According to the present invention, candidates are determined using only the index word selected based on the document frequency of the index word, so that the search process can be speeded up.

発明によれば、検索条件において集合和演算子が入れ子になっている場合に子ノード数を考慮して集合和演算子の平坦化を行うので、検索処理を高速化できる。 According to the present invention, when the set sum operator is nested in the search condition, the set sum operator is flattened in consideration of the number of child nodes, so that the search process can be speeded up.

発明によれば、検索条件において集合積演算子・集合和演算子が入れ子になっている場合に子ノード数を考慮して和標準形変換を行うので、検索処理を高速化できる。 According to the present invention, when the set product operator and the set sum operator are nested in the search condition, the sum standard form conversion is performed in consideration of the number of child nodes, so that the search process can be speeded up.

発明によれば、検索条件に集合積演算子が含まれる場合に子ノードの候補決定用条件木を利用して検索を行うので、検索処理を高速化できる。 According to the present invention, when a set condition operator is included in the search condition, the search is performed using the child node candidate determination condition tree, so that the search process can be speeded up.

発明によれば、検索条件に集合差演算子が含まれる場合に子ノードの候補決定用条件木を利用して検索を行うので、検索処理を高速化できる。 According to the present invention, when a set difference operator is included in the search condition, the search is performed using the child node candidate determination condition tree, so that the search process can be speeded up.

発明によれば、検索条件に集合和演算子が含まれる場合に子ノードの候補決定用条件木を利用して検索を行うので、検索処理を高速化できる。 According to the present invention, when a search condition includes a set sum operator, the search is performed using the child node candidate determination condition tree, so that the search process can be speeded up.

図1は本発明による文書検索システムの概要を示すブロック図である。本発明は、登録文書を索引の見出しとなる各文字列(以下、索引語)に分割する文書分割手段1と、索引語を見出しとしてその索引語を含む文書数(以下、文書頻度)・文書ごとにその索引語を含む文書の識別子(以下、文書識別子あるいは文書ID)・その索引語の各文書内での出現回数(以下、文書内頻度)・その索引語の各文書内での出現位置の並び(以下、これら索引語ごとの一連データを転置リストと呼ぶ)とを保持する索引2と、検索条件中の検索語を索引に記録されている索引語に分割する検索語分割手段3と、検索条件を解析し、索引語、あるいは検索語分割手段が検索語から索引語を一つも出力しない場合に対応して作成する該当文書のないことを表す空文書集合、あるいはそれらの一方または両方を演算子で合成した検索条件木を生成する検索条件解析手段4と、検索条件木に基づいて索引から索引語に関する情報を適当に取りだし、検索結果合成処理を実行して検索結果を得る検索条件評価手段5とを有する文書検索システムである。   FIG. 1 is a block diagram showing an outline of a document search system according to the present invention. The present invention includes a document dividing unit 1 that divides a registered document into character strings (hereinafter referred to as index words) serving as index headings, and the number of documents (hereinafter referred to as document frequency) and documents including the index words as index words. The identifier of the document including the index word (hereinafter, document identifier or document ID), the number of occurrences of the index word in each document (hereinafter, frequency in the document), and the appearance position of the index word in each document And a search word dividing means 3 for dividing the search word in the search condition into the index words recorded in the index, and the search word dividing means 3 for dividing the search word in the search condition into index words recorded in the index. Analyzing the search conditions, the index word, or the empty word set indicating that there is no corresponding document created when the search word dividing means does not output any index word from the search word, or one or both of them Synthesized by operator Document having search condition analysis means 4 for generating a condition tree, and search condition evaluation means 5 for appropriately retrieving information on index terms from the index based on the search condition tree and executing search result synthesis processing to obtain search results Search system.

本発明では、検索対象の文書群は登録処理によって高速検索のための索引に必要な情報を記録しておく。本願と同一人により出願された先行出願として、特願平10−25694号の電子化文書検索システムおよび記憶媒体がある。上記出願の請求項2のシステムでは、検索語がn文字未満の場合、登録文書の末尾部分にある検索を正しく検索できないことがある。これに対し、本願の第1の実施形態では、1以上の整数nに対し、文書分割手段は登録文書をn文字連鎖である索引語に分割する。このとき、n>1の場合であればn′をn未満の整数とするとき、n文字連鎖の索引語に加えて、登録文書の末尾の文字を含むn′文字連鎖である索引語も分割結果とする。今、文書1=“あああ”,文書2=“あいうえお”,文書3=“あいえ”,文書4=“いう”を登録することとする。n=2であれば、索引には図2に示す表のような情報が記録される。ここで、文書ごとの出現情報は{,}で囲まれた範囲がひとつの文書での出現であり、1番目のフィールドが文書ID、2番目のフィールドが文書内頻度、3番目のフィールド((,)で囲まれたもの)が出現位置の並びである。   In the present invention, information necessary for an index for high-speed search is recorded in a document group to be searched by a registration process. As a prior application filed by the same person as the present application, there is an electronic document search system and storage medium disclosed in Japanese Patent Application No. 10-25694. In the system of claim 2 of the above application, when the search word is less than n characters, the search at the end of the registered document may not be correctly searched. On the other hand, in the first embodiment of the present application, the document dividing unit divides a registered document into index words that are n character chains for an integer n of 1 or more. At this time, if n> 1, if n ′ is an integer less than n, in addition to the n-character chain index word, the index word that is the n′-character chain including the last character of the registered document is also divided. As a result. Now, document 1 = “Oh”, document 2 = “Aiueo”, document 3 = “Ae”, and document 4 = “say” are registered. If n = 2, information such as the table shown in FIG. 2 is recorded in the index. Here, the appearance information for each document is the appearance in one document in the range surrounded by {,}, the first field is the document ID, the second field is the document frequency, the third field (( )) Is a sequence of appearance positions.

第1の実施形態は、長さ1の索引語(「あ」「い」「う」「え」「お」)が登録される点が上記先行出願の請求項2のシステムと異なっている。なお、n=3であれば、例えば、文書2からは「あいう」「いうえ」「うえお」に加えて、末尾の文字「お」を含む3未満の文字連鎖である「えお」「お」も抽出される。   The first embodiment is different from the system of claim 2 of the above-mentioned prior application in that an index word having a length of 1 (“A”, “I”, “U”, “E”, “O”) is registered. If n = 3, for example, from document 2, in addition to “Aoi” “Iue” “Ue”, “Eo” “ “O” is also extracted.

検索語がn+1文字以上の場合、検索語分割手段は検索語を覆う2つ以上のn文字連鎖である索引語に当該検索語を分割し、検索条件解析手段はそれら索引語の出現位置間の距離を指定する位置演算子で合成する。いま、#distance[x](A,B)で索引語Aと索引語Bが距離x文字にある文書を検索することを指定するものとする。例えば、n=2で、検索語が「あいう」であれば、検索語分割手段は検索語を2個の索引語「あい」「いう」に分割し、検索条件解析手段は#distance[1](あい,いう)に相当する検索条件木をつくる。検索条件評価手段は、「あい」「いう」に関する転置リストを読み出し、これら2つの索引語が同時に出現しており、これが検索結果となる。   When the search word has n + 1 characters or more, the search word dividing unit divides the search word into index words that are two or more n-character chains covering the search word, and the search condition analysis unit is configured to search between the appearance positions of the index words. Combining with the position operator that specifies the distance. Now, it is assumed that search is performed for a document in which the index word A and the index word B are at a distance x characters by #distance [x] (A, B). For example, if n = 2 and the search word is “Yes”, the search word dividing means divides the search word into two index words “ai” and “say”, and the search condition analyzing means is #distance [1]. A search condition tree corresponding to (Ai, Say) is created. The search condition evaluation means reads the transposed list regarding “ai” and “say”, and these two index words appear at the same time, and this is the search result.

検索語がn文字の場合、検索語分割手段は検索語を索引とし、検索条件解析手段はその索引語からなる検索条件を作成する。例えば、n=2で、検索語が「いえ」であれば、検索語分割手段は検索語から索引語「いえ」を抽出し、検索条件解析手段は′いえ′に相当する検索条件木をつくる。この場合、検索結果は文書3になる。   When the search word is n characters, the search word dividing unit uses the search word as an index, and the search condition analyzing unit creates a search condition including the index word. For example, if n = 2 and the search word is “No”, the search word dividing unit extracts the index word “No” from the search word, and the search condition analysis unit creates a search condition tree corresponding to “No”. . In this case, the search result is document 3.

n>1であって検索語がn文字未満の場合、検索語分割手段は1文字目からがその検索語と一致する索引に存在している全ての索引語を出力し、検索条件解析手段はそれら索引語を複数の検索結果の和集合をとる和集合演算子で合成する。例えば、検索語が「え」であれば、検索語分割手段は「え」「えお」を出力し、検索条件解析手段は#or(え,えお)という検索条件木をつくる。ここで、#or(A,B)は索引語Aを含む文書集合と索引語Bを含む文書集合の和集合を検索することを指定するものとする。この場合、文書2,3が検索結果となる。なお、上記先行出願の請求項2のシステムでは、文書2のみが検索され、文書3は検索されない。   If n> 1 and the search word is less than n characters, the search word dividing means outputs all index words existing in the index that matches the search word from the first character, and the search condition analysis means These index words are synthesized by a union operator that takes a union of a plurality of search results. For example, if the search word is “e”, the search word dividing unit outputs “e” and “eo”, and the search condition analysis unit creates a search condition tree of #or. Here, #or (A, B) specifies that a union of a document set including the index word A and a document set including the index word B is searched. In this case, the documents 2 and 3 are search results. In the system of claim 2 of the prior application, only document 2 is searched, and document 3 is not searched.

本実施形態のシステムでは、n>1のときに1文字からなる検索語は複数の索引語の和集合演算結果として検索が行われる。したがって、1文字からなる検索語の検索が遅いという問題がある。そこで、本願の第2の実施形態では、1文字以上N文字以下の異なる長さの索引語を登録文書から抽出して索引を作成する。第1の実施形態の説明で用いた4つの文書をN=2として、第2の実施形態のシステムで登録した場合の索引を図3の表に示す。末尾に限らず1文字の出現が記録されている点が図2の表と異なる。   In the system of this embodiment, when n> 1, a search word consisting of one character is searched as the union operation result of a plurality of index words. Therefore, there is a problem that a search for a search word consisting of one character is slow. Therefore, in the second embodiment of the present application, index words having different lengths of 1 to N characters are extracted from the registered document to create an index. The index when the four documents used in the description of the first embodiment are registered in the system of the second embodiment with N = 2 is shown in the table of FIG. 2 is different from the table of FIG. 2 in that the appearance of one character is recorded.

このシステムでは、検索語がN+1文字以上の場合の処理は、第1の実施形態のシステムと同じである。一方、検索語が1文字以上N以下の場合、検索語分割手段は検索語を索引語とし、検索条件解析手段はその索引語からなる検索条件を作成する。検索語が「え」であれば、検索語分割手段は「え」を出力し、検索条件解析手段は′え′という検索条件木をつくる。第1の実施形態のように和集合演算を行うことなく、文書2,3が検索結果となることがわかる。   In this system, the processing when the search word is N + 1 characters or more is the same as the system of the first embodiment. On the other hand, when the search word is 1 character or more and N or less, the search word dividing means uses the search word as an index word, and the search condition analysis means creates a search condition including the index word. If the search word is “e”, the search word dividing unit outputs “e”, and the search condition analyzing unit creates a search condition tree of “e”. It can be seen that the documents 2 and 3 become the search results without performing the union operation as in the first embodiment.

第2の実施形態のシステムでは、1文字の検索語の処理は高速化されるが、その分索引が大きくなる。すなわち、第2の実施形態のように登録文書分割の長さを1以上とすることは望ましくない。そこで、第3の実施形態では、nを2以上の整数としたとき、n文字以上N文字以下の異なる長さの索引語を登録文書から抽出して索引を作成する。この場合、検索処理は第1の実施形態のように3つに場合分けされる。以下では、n=2,N=3として説明する。検索語が「あいうえ」であれば、検索語の長さはN以上なので、検索条件木は#distance[1](あいう,いうえ)となる。検索語が「あいう」であれば、n以上N以下なので、検索条件木は′あいう′となる。検索語が「あい」である場合も同様にして検索条件木は′あい′となる。検索語が「あ」であれば、n未満なので、検索条件木は#or(あ,ああ,あああ,…,あい,あいあ,…,あん,…,あんん)となる(ここでは、ひらがなのみからなる文書が登録されているものとしている)。   In the system of the second embodiment, the processing of a single character search term is speeded up, but the index is increased accordingly. That is, it is not desirable to set the length of the registered document division to 1 or more as in the second embodiment. Therefore, in the third embodiment, when n is an integer of 2 or more, index words having different lengths of n characters or more and N characters or less are extracted from the registered document to create an index. In this case, the search processing is divided into three cases as in the first embodiment. In the following description, it is assumed that n = 2 and N = 3. If the search term is “Aiue”, the length of the search term is N or more, so the search condition tree is #distance [1] (that is, Iue). If the search term is “Yes”, the search condition tree is “No” because it is n or more and N or less. Similarly, when the search term is “Ai”, the search condition tree is “Ai”. If the search term is “A”, it is less than n, so the search condition tree is #or (Ah, Ah, Ah,…, Ai, Aia,…, Ann,…, Ann) (Here, Hiragana It is assumed that a document consisting only of

第3の実施形態のシステムでは、n文字未満の検索語の処理において、検索語分割手段はその検索語と先頭部分が一致する索引に存在している全ての索引語を出力するため、和集合演算子で合成すべき索引語数が非常に大きくなる。そこで、第4の実施形態では、検索語分割手段はその検索語と先頭部分が一致する索引に存在しているn文字以下の索引語を出力する。登録時には、登録文書中に存在するn文字連鎖は必ず登録されているので、検索時はn以下の索引の文字連鎖を和集合演算子で合成すれば十分である。このようにn文字以下の索引語だけを出力することで、和集合演算子で合成すべき索引語が削減され、検索が高速化できる。例えば、n=2,N=3として、検索語が「あ」であれば、検索条件木は#or(あ,ああ,あい,…,あん)となる。   In the system of the third embodiment, in processing a search word with less than n characters, the search word dividing means outputs all index words existing in the index whose head part matches the search word, so The number of index words to be synthesized by the operator becomes very large. Therefore, in the fourth embodiment, the search word dividing means outputs an index word of n characters or less existing in an index whose head part matches the search word. Since n character chains existing in a registered document are always registered at the time of registration, it is sufficient to synthesize character chains of indexes of n or less with a union operator at the time of retrieval. By outputting only index words of n characters or less in this way, the index words to be synthesized by the union operator are reduced, and the search can be speeded up. For example, if n = 2 and N = 3 and the search term is “A”, the search condition tree is #or (Ah, Ah, Ai,..., A).

日本語には、カタカナ・ひらがな・漢字などの複数の文字種があり、以下のような特徴がある。
・同一文字種のみからなる単語が多い。
・同一文字種のみからなる単語の長さは、文字種によって異なる。
Japanese has multiple character types such as Katakana, Hiragana, and Kanji, and has the following characteristics.
・ Many words consist of only the same character type.
-The length of words consisting of only the same character type varies depending on the character type.

従って、第1〜第3の実施形態のシステムのように、登録文書・検索語を分割する際、文字種を無視するのは効率的とは言えない。これに対し第5の実施形態のシステムでは、文字種を考慮することで効率的な登録・検索処理を実現する。具体的には、文字種ごとに、第1・第2・第3の実施形態による処理方法を含む個別の方法を指定できるようにする。例えば、ある文字種に対する分割方法が第1の実施形態のシステムによるものであればその文字種に対するnを、第2の実施形態であればその文字種に対するNを、第3の実施形態であればその文字種に対するnとNを、指定できる。   Therefore, it is not efficient to ignore the character type when dividing the registered document / search word as in the systems of the first to third embodiments. On the other hand, in the system of the fifth embodiment, efficient registration / search processing is realized by considering the character type. Specifically, individual methods including the processing methods according to the first, second, and third embodiments can be designated for each character type. For example, if the division method for a certain character type is based on the system of the first embodiment, n for the character type, N for the character type in the second embodiment, and the character type in the third embodiment. N and N can be specified.

以下では、文字種にはカタカナ・漢字・その他の3種類があるものとして説明する。このとき、例えば、以下のように索引を作成することができる。
・カタカナに対しては、第3の実施形態による処理でn=2,N=3とする。
・漢字に対しては、第2の実施形態による処理でN=2とする。
・その他に対しては、第1の実施形態による処理でn=1とする。
In the following description, it is assumed that there are three types of character types: Katakana, Kanji, and others. At this time, for example, an index can be created as follows.
For katakana, n = 2 and N = 3 in the process according to the third embodiment.
-For kanji, N = 2 in the process according to the second embodiment.
For others, n = 1 in the process according to the first embodiment.

登録文書が例えば「検索システムを作る」であれば、「検」「検索」「索」「シス」「システ」「ステ」「ステム」「テム」「ム」「を」「作」「る」のように分割される。「ム」が切り出されているのは、「システム」というカタカナの連続部分の末尾に位置するn未満の文字連鎖だからである。   For example, if the registered document is “Create a search system”, “Search” “Search” “Search” “Sys” “System” “Ste” “Stem” “Tem” “M” “O” “Saku” “Ru” It is divided like “M” is cut out because it is a character chain of less than n located at the end of the continuous part of katakana “system”.

検索処理は、検索語が同一文字種だけで構成されているか否かによって異なる。同一文字種だけで構成されている場合、検索処理は、その文字種の分割方法に対応した検索処理となる。例えば、検索語が「検索」であれば第2の実施形態の処理を行うので検索条件木は′検索′となる。一方、異なる文字種から構成されている場合、同一文字種の連続部分に対しては上記方法で検索条件木(これを副検索条件木と呼ぶ)を作成し、それらを位置演算子で結合したものを最終的な検索条件木とする。例えば、検索語が「検索システム」であるとする。この場合、まず、漢字の連続部分「検索」に対する副検索条件木′検索′と、カタカナの連続部分「システム」に対する副検索条件木#distance[1](システ,ステム)がまず作成される。つぎに、「検索」と「システム」の距離(2文字)で2つの副検索条件木を結合した#distance[2](検索,#distance[1](システ,ステム))が最終的な検索条件木となる。   The search process differs depending on whether or not the search word is composed of only the same character type. In the case where only the same character type is used, the search process is a search process corresponding to the character type division method. For example, if the search term is “search”, the processing of the second embodiment is performed, so the search condition tree is “search”. On the other hand, if it is composed of different character types, a search condition tree (this is called a sub-search condition tree) is created by the above method for consecutive parts of the same character type, and these are combined with a position operator. The final search condition tree. For example, assume that the search term is “search system”. In this case, first, a sub-search condition tree “search” for the continuous part “search” of kanji and a sub-search condition tree #distance [1] (system, stem) for the continuous part “system” of katakana are created. Next, #distance [2] (search, #distance [1] (system, system)) that combines two sub-search condition trees at the distance (two characters) between “search” and “system” is the final search. It becomes a conditional tree.

ただし、検索語が異なる文字種から構成されており、同一文字種の連続部分の末尾以外のものの長さがその文字種の最小の切り出し長さnより短い場合の検索が効率的でないという問題がある。例えば、検索語が「ムを」であれば、「ム」に対する副検索条件木#or(ム,ムア,…)と、「を」に対する副検索条件木と′を′を結合して最終的な検索条件木を#distance[1](#or(ム,ムア,…),を)とする。しかし、「ム」に対する副検索条件木で和集合演算子で展開されている索引語のうち、「ム」以外は「を」以外の文字と連続している文字連鎖であるので、「を」との距離は1になり得ない。したがって、同一文字種の連続部分の末尾以外のものの長さがその文字種の最小の切り出し長さnより短い場合であっても、検索処理では、その連続部分に対してはその連続部分そのものである索引語を用いればよい。すなわち、検索語が「ムを」の場合の「ム」に対する副検索条件木は′ム′でよく、最終的な検索条件木は#distance[1](ム,を)となる。この場合、検索条件木は単純となり、検索も高速化できる。   However, there is a problem that the search is not efficient when the search word is composed of different character types, and the length of the portion other than the end of the continuous portion of the same character type is shorter than the minimum cutout length n of the character type. For example, if the search term is “M”, the sub search condition tree #or (M, Mua,...) For “M” and the sub search condition tree for “ The search condition tree is #distance [1] (#or (mu, mua,...)). However, among the index words expanded by the union operator in the sub search condition tree for "mu", since "m" is a character chain that is continuous with characters other than "o", " The distance between and cannot be 1. Therefore, even if the length of the character other than the end of the continuous portion of the same character type is shorter than the minimum cut-out length n of the character type, in the search process, for the continuous portion, the index that is the continuous portion itself Use words. That is, when the search term is “mu”, the sub search condition tree for “m” may be “mu”, and the final search condition tree is #distance [1] (mu,). In this case, the search condition tree becomes simple and the search can be speeded up.

第5の実施形態のシステムでは、検索語が異なる文字種から構成されており、同一文字種の連続部分の末尾のものの長さがその文字種の最小の切り出し長さnより短い場合の検索が効率的でないという問題がある(これに該当するのは、同一文字種の連続部分の末尾のものに対する切り出し方式が、第1の実施形態でn>1の場合および第3の実施形態の場合だけである)。例えば、検索語が「索シ」であれば、「索」に対する副検索条件木′索′と、「シ」に対する副検索条件木#or(シ,シア,…)となるため、最終的な検索条件木は#distance[1](#or(シ,シア,…)となる。しかし、このように位置演算子のなかに和集合演算子が含まれると、検索処理が複雑となり、検索時間が増大する。   In the system of the fifth embodiment, the search word is composed of different character types, and the search is not efficient when the length of the last part of the continuous portion of the same character type is shorter than the minimum cutout length n of the character type. (This applies only when the cut-out method for the end of the continuous part of the same character type is n> 1 and the third embodiment in the first embodiment). For example, if the search term is “search”, the sub search condition tree “search” for “search” and the sub search condition tree #or (si, shear,...) The search condition tree is #distance [1] (#or (si, shear,...). However, if the union operator is included in the position operator in this way, the search processing becomes complicated, and the search time is increased. Will increase.

これに対し、第6の実施形態のシステムでは、第1の実施形態でn>1の場合および第3の実施形態を適用する文字種に対しては、文書分割手段は登録文書中のその文字種の連続部分をn文字連鎖である索引語と、n′をn未満の整数とするときにその文字種の連続部分の末尾の文字を含むn′文字連鎖である索引語と、その文字種の連続部分の先頭の文字を含むn′文字連鎖である索引語とに分割する。例えば、登録文書が「検索システムを作る」であれば、「検」「検索」「索」「シ」「シス」「システ」「ステ」「ステム」「テム」「ム」「を」「作」「る」のように分割する。カタカナ連続部分の先頭文字を含む1文字連鎖である「シ」が単独で切り出されている点が、第5の実施形態による処理と異なる。   On the other hand, in the system of the sixth embodiment, for the character type to which the case of n> 1 and the third embodiment is applied in the first embodiment, the document dividing unit determines the character type in the registered document. An index word that is an n-character chain with a continuous part, an index word that is an n'-character chain that includes the last character of the continuous part of the character type when n 'is an integer less than n, and a continuous part of the character type The index word is divided into n 'character chains including the first character. For example, if the registered document is “Create a search system”, “Search” “Search” “Search” “Shi” “Sys” “System” “Ste” “Stem” “Tem” “M” “Create” “Create” ”And“ Ru ”. The difference from the processing according to the fifth embodiment is that “shi”, which is a single character chain including the first character of the katakana continuous part, is cut out independently.

検索処理は、検索語が同一文字種だけで構成されているか否かによって異なるが、同一文字種だけで構成されている場合は第5の実施形態と全く同様に処理すれば良い。一方、異なる文字種から構成されている場合、同一文字種の連続部分の末尾のものの長さがその文字種の最小の切り出し長さnより短い場合の処理が第5の実施形態と異なる。このとき、登録時には、同一文字種の連続部分の先頭文字を含むn′文字連鎖は索引語として抽出されているので、検索時にも、その連続部分に対してはその連続部分そのものである索引語を用いればよい。すなわち、検索語が「索シ」の場合の「シ」に対する副検索条件木は′シ′でよく、最終的な検索条件木は#distance[1](索,シ)となる。   The search process differs depending on whether or not the search word is composed of only the same character type, but if it is composed of only the same character type, the search process may be performed in exactly the same way as in the fifth embodiment. On the other hand, in the case of being composed of different character types, the processing in the case where the length of the last part of the continuous portion of the same character type is shorter than the minimum cut-out length n of the character type is different from the fifth embodiment. At this time, since the n ′ character chain including the first character of the continuous part of the same character type is extracted as an index word at the time of registration, the index word that is the continuous part itself is also applied to the continuous part at the time of search. Use it. That is, when the search word is “search”, the sub-search condition tree for “shi” may be “shi”, and the final search condition tree is #distance [1] (search, shi).

第5の実施形態のシステムでは、異なる文字種からなる2文字連鎖は索引に記録されることはなく、検索にも利用されることがない。しかし、文字種の組み合わせのなかには、検索語として指定されることの多いものもある。例えば、漢字・ひらがなの組合わせは「動き」のように活用語を構成するので、検索語としても使用されることが多い。しかし、第5の実施形態のシステムであれば、「動き」は#distance[1](動,き)という検索条件木として処理されるため、検索に時間がかかる。   In the system of the fifth embodiment, a two-character chain composed of different character types is not recorded in the index and is not used for searching. However, some combinations of character types are often specified as search terms. For example, a combination of kanji and hiragana constitutes a use word like “movement” and is often used as a search word. However, in the system of the fifth embodiment, “movement” is processed as a search condition tree of #distance [1] (motion, ki), and therefore it takes time to search.

そこで、第7の実施形態のシステムでは、指定された異なる文字種からなる2文字連鎖を索引に利用する。文書分割手段は、登録文書中の同一文字種の連続部分ごとにその文字種に対するnあるいはNに対応して索引語に分割するとともに、指定された異なる文字種からなる2文字連鎖も索引語として抽出する。例えば、第5の実施形態の例のように文字種ごとの処理方法を指定するのに加えて、漢字・ひらがなの組み合わせも索引に使用するとする。この場合、登録文書が「検索システムを作る」であれば、「検」「検索」「索」「シス」「システ」「ステ」「ステム」「テム」「ム」「を」「作」「る」に加えて、漢字・ひらがなの組合わせである「作る」も抽出する。   Therefore, in the system according to the seventh embodiment, a two-character chain composed of different designated character types is used as an index. The document dividing means divides each consecutive portion of the same character type in the registered document into index words corresponding to n or N for the character type, and also extracts a two-character chain consisting of designated different character types as an index word. For example, in addition to designating the processing method for each character type as in the fifth embodiment, a combination of kanji and hiragana is also used for the index. In this case, if the registered document is “Create a search system”, “Search” “Search” “Search” “Sys” “System” “Ste” “Stem” “Tem” “M” “O” “Saku” “ In addition to “Ru”, “Make”, which is a combination of kanji and hiragana, is also extracted.

検索語分割手段も、文書分割手段と同様に、検索語を分割する。検索条件解析手段は、検索語が指定された異なる文字種からなる2文字連鎖を含まない場合は、これまでと同様に、検索条件木を作成する。異なる文字種からなる2文字連鎖を含む場合は、それによって連結される連側部分を位置演算子で連結する副検索条件木を作成する対象と捉え、そのなかの同一文字種の連続部分を分割するとともに異なる文字種からなる2文字連鎖も索引語として抽出する。その上で、検索条件解析手段が、抽出された索引語を位置演算子で副検索条件木に組み上げる。   The search word dividing unit also divides the search word in the same manner as the document dividing unit. The search condition analysis means creates a search condition tree in the same manner as before when the search character analysis unit does not include a two-character chain consisting of different character types for which the search word is designated. When two character chains consisting of different character types are included, it is regarded as a target for creating a sub-search condition tree that connects the linked side portions connected by the position operator with the position operator, and the continuous portion of the same character type is divided. Two-character chains consisting of different character types are also extracted as index words. Then, the search condition analysis means assembles the extracted index terms into a sub search condition tree with a position operator.

例えば、漢字・カタカナの組み合わせが指定されている場合、検索語が「検索システム」であれば、「検索システム」全体を副検索条件木作成対象と捉え、漢字の連続部分「検索」とカタカナの連続部分「システム」から「検索」「システ」「ステム」を抽出し、さらに漢字・カタカナからなる「索シ」も抽出する。これから#distance[1](検索,#distance[1](索シ,#distance[1](システ,ステム)))という副検索条件木を作成する(この場合、検索語からひとつの副検索条件木作成対象が作成されないので、この副検索条件木が最終的な検索条件木になる)。   For example, when a combination of kanji and katakana is specified, if the search term is “search system”, the entire “search system” is regarded as the sub search condition tree creation target, and the continuous part of “kanji” “search” and katakana Extract "search", "system" and "stem" from the continuous part "system", and also extract "search" consisting of kanji and katakana. From this, a sub-search condition tree of #distance [1] (search, #distance [1] (search, #distance [1] (system, stem))) is created (in this case, one sub-search condition from the search term) Since the tree creation target is not created, this sub search condition tree becomes the final search condition tree).

また、検索語が「検索システム作成」であれば、「検索システム」と「作成」が副検索条件木作成対象となる「ム」と「作」で大きく分割されるのは、カタカナ・漢字の組み合わせは指定されていないからである。「検索システム」からは先の副検索条件木が作成され、「作成」からは副検索条件木′作成′が作成される。したがって、最終的な検索条件木は#distance[6](#distance[1](検索,#distance[1](索シ,#distance[1](システ,ステム))),作成)となる。   If the search term is “Create search system”, “Search system” and “Create” are largely divided into “mu” and “saku”, which are the sub search condition tree creation targets. This is because no combination is specified. The previous sub search condition tree is created from the “search system”, and the sub search condition tree “create” is created from “create”. Therefore, the final search condition tree is #distance [6] (#distance [1] (search, #distance [1] (search, #distance [1] (system, stem))), created).

第7の実施形態のシステムでは、検索語が指定された異なる文字種からなる2文字種連鎖を含んでおり、その前側の文字種の連続部分の長さが1文字の場合、検索処理に無駄が発生する。例えば、漢字・ひらがなに対する分割方法が第1の実施形態でn=2であり、漢字・ひらがなが指定されているとする。このとき、検索語が「動きが」であれば、漢字の連続部分「動」からは#or(動,動あ,…)が、ひらがなの連続部分「きが」からは′きが′が作成され、それと漢字・ひらがなの連続「動き」から生成された′動き′を組み合わせればよい最終的な検索条件木は#distance[1](#distance[0](#or(動,動あ,…),動き),きが)となる。しかし、#distance[0](#or(動,動あ,…),動き)は′動き′と等価であるので、上述した検索条件木を作成することは無駄である。   In the system of the seventh embodiment, when the search word includes a two-character type chain consisting of different character types designated, and the length of the continuous portion of the preceding character type is one character, the search processing is wasted. . For example, it is assumed that the division method for kanji and hiragana is n = 2 in the first embodiment, and kanji and hiragana are designated. At this time, if the search word is “movement”, the kanji continuous part “movement” is #or (movement, movement,...), And the hiragana continuous part “giga” is “kiga”. The final search condition tree that is created and combined with the 'motion' generated from the continuous "motion" of kanji and hiragana is #distance [1] (# distance [0] (# or (motion, motion , ...), movement), and giga). However, since #distance [0] (#or (motion, motion,...), Motion) is equivalent to 'motion', it is useless to create the above-described search condition tree.

そこで、第8の実施形態のシステムでは、検索語が指定された異なる文字種からなる2文字連鎖を含んでおり、その前側の文字種の連続部分の長さが1文字の場合、検索語分割手段はその前側の1文字に対応する索引語を生成しない。すなわち、「動きが」という検索語からは「動き」「きが」が抽出され、最終的な検索条件木も#distance[1](動き,きが)となる。その結果、検索処理が簡単となり、検索処理も高速化される。   Therefore, in the system of the eighth embodiment, when the search word includes a two-character chain consisting of different character types designated, and the length of the continuous portion of the preceding character type is one character, the search word dividing means The index word corresponding to the character on the front side is not generated. That is, “motion” and “giga” are extracted from the search term “motion is”, and the final search condition tree is also #distance [1] (motion, kiga). As a result, the search process is simplified and the search process is also speeded up.

第7の実施形態のシステムでは、検索語が指定された異なる文字種からなる2文字連鎖を含んでおり、その後側の文字種の連続部分の長さが1文字の場合、検索処理に無駄が発生する。例えば、漢字・ひらがなに対する分割方法が第1の実施形態でn=2であり、漢字・ひらがなが指定されているとする。このとき、検索語が「動作が」であれば、漢字の連続部分「動作」からは′動作′が、ひらがなの連続部分「が」からは#or(が,があ,…)が作成され、それと漢字・ひらがなの連続「作が」から生成された′作が′を組み合わせて、最終的な検索条件木#distance[1](動作,#distance[1](作が,#or(が,があ,…)))が作成される。しかし、#distance[1](作が,#or(が,があ,…))は′作が′と等価であるので、上述した検索条件木を作成することは無駄である。   In the system of the seventh embodiment, when the search term includes a two-character chain consisting of different character types designated, and the length of the continuous portion of the subsequent character type is one character, the search processing is wasted. . For example, it is assumed that the division method for kanji and hiragana is n = 2 in the first embodiment, and kanji and hiragana are designated. At this time, if the search word is “action”, “action” is created from the continuous part “motion” of kanji, and #or (ga, there, etc.) is created from the continuous part “ga” of hiragana. , And a combination of 'songs' generated from consecutive kaku and hiragana "sakuga", the final search condition tree #distance [1] (operation, #distance [1] (song, #or ( , There, ...))) is created. However, since #distance [1] (work is #or (has, is,...)) Is equivalent to “work is”, it is useless to create the search condition tree described above.

そこで、第9の実施形態のシステムでは、検索語が指定された異なる文字種からなる2文字連鎖を含んでおり、その後側の文字種の連続部分の長さが1文字の場合、検索語分割手段はその後側の1文字に対応する索引語を生成しない。すなわち、「動作が」という検索語からは「動作」「作が」が抽出され、最終的な検索条件木も#distance[1](動作が,作が)となる。その結果、検索処理が簡単となり、検索処理も高速化される。   Therefore, in the system of the ninth embodiment, when the search word includes a two-character chain consisting of different character types designated, and the length of the continuous portion of the subsequent character type is one character, the search word dividing means An index word corresponding to one character on the subsequent side is not generated. That is, “motion” and “sakuga” are extracted from the search term “motion is”, and the final search condition tree is also #distance [1] (motion is a product). As a result, the search process is simplified and the search process is also speeded up.

第7の実施形態のシステムでは、検索語が同一の文字種から構成されており、その長さがその文字種の最小の切り出し長さnより短い場合の検索が効率的でないという問題がある(これに該当するのは、同一文字種の連続部分の末尾のものに対する切り出し方式が、第1の実施形態でn>1の場合および第3の実施形態の場合だけである)。例えば、漢字およびひらがなに対する分割方法が第1の実施形態でn=2,ひらがな・漢字が指定されており、検索語が「あ」であれば、「あ」に対する検索条件木は#or(あ,ああ,…,あん,あ亜,…)となる。
ところが、文書登録においては「あ」に異なる文字種が続いていた場合には「あ」が抽出されているので、ひらがな・漢字の連続である索引語を含む文書はすべて「あ」に対応する索引に記録されている。したがって、検索語分割手段がひらがな・漢字を生成するのは無駄である。
In the system of the seventh embodiment, there is a problem that the search is not efficient when the search word is composed of the same character type and the length is shorter than the minimum cut-out length n of the character type (this is the case). This applies only when the cutout method for the end of the continuous part of the same character type is the case of n> 1 and the third embodiment in the first embodiment). For example, if the division method for kanji and hiragana is n = 2, hiragana / kanji is specified in the first embodiment, and the search word is “a”, the search condition tree for “a” is #or (a , Oh, ..., ann, aa ...).
However, in the document registration, if “A” is followed by a different character type, “A” is extracted, so all documents including index words that are a series of hiragana and kanji are index corresponding to “A”. Is recorded. Therefore, it is useless for the search word dividing means to generate hiragana and kanji.

第10の実施形態のシステムでは、検索語分割手段が、検索語が同一の文字種から構成されており、その長さがその文字種の最小の切り出し長さnより短い場合には、その検索語と先頭部分が一致する索引に存在しているその文字種だけから構成される索引語を出力する。例えば、「あ」に対する検索条件木は#or(あ,ああ,…,あん)となる。その結果、上述したような無駄な索引語を検索処理で用いなくなるので、検索が高速化される。   In the system of the tenth embodiment, the search word dividing means is configured such that, when the search words are composed of the same character type and the length is shorter than the minimum cutout length n of the character type, An index word composed only of the character type existing in the index whose head part matches is output. For example, the search condition tree for “A” is #or (Ah, Ah,... An). As a result, the useless index word as described above is not used in the search process, so that the search is speeded up.

これまでの手法では、検索語が2つ以上の索引語に分割される場合には位置演算子で合成した検索条件のみを用いて検索が実施されていた。この方法では、無駄な位置の突き合わせ処理の発生する可能性がある。例えば、文書1=“あいうえお”、文書2=“あいうえい”、文書3=“あいうえう”、文書4=“あいうええ”、文書5=“あいうえお”とし、第1の実施形態のシステムによる方法でn=2として索引を作成すると図4に示す表のようになる。   In the conventional methods, when the search word is divided into two or more index words, the search is performed using only the search condition synthesized by the position operator. In this method, there is a possibility that useless position matching processing occurs. For example, Document 1 = “Aiueo”, Document 2 = “Aiuei”, Document 3 = “Aiueo”, Document 4 = “Aiuee”, Document 5 = “Aiueo”, and the system according to the first embodiment. When an index is created with n = 2 by the method, the table shown in FIG. 4 is obtained.

第1の実施形態の説明に示した方法で検索語「あいいう」を処理すると、索引語として「あい」「いい」「いう」が得られ、#distance[2](#distance[1](あい,いい),いう)という検索条件木が作成される。しかし、「あい」と「いう」が距離2の位置にあれば、両者の間には必ず「いい」が存在するので、#distance[2](あい,いう)という検索条件木で十分である。位置演算子を含む検索条件の処理は、まず全ての索引語が出現している文書IDを特定し、次にその文書において索引語間の出現位置のズレが位置演算子の指定通りかを検査することで、その文書が本当に検索条件に該当するかを決定するという手順で実現できる。上記検索語では、出現位置のズレを検査する際には、「あい」「いう」の2つの索引語を用いれば良いが、文書IDの特定の際には、「いい」も用いた方が効率化される。索引には「いい」が登録されていないので、「いい」が出現しているか調べるだけで「あいいう」に該当する文書がないことがわかるからである(この手法は前述した先行出願特願平10−256974号の請求項8・9で提案済み)。以下、文書IDの特定処理を候補決定、出現位置のズレの検査処理を詳細判定と呼び、前者に使用する検索条件木を候補決定用条件木、後者に使用する検索条件木を詳細判定用条件木と呼ぶ。すると、この検索語に対しては、候補決定用条件木:#and(あい,いい,いう)、詳細判定用条件木:#distance[2](あい,いう)となる。ここで、#andは各オペランドに対する検索結果の集合積を検索結果とするもので、集合積演算子という。   When the search word “Ai” is processed by the method described in the first embodiment, “Ai”, “Good”, and “U” are obtained as index words, and #distance [2] (#distance [1] ( A search condition tree is created. However, if “ai” and “say” are at a distance of 2, there is always “good” between them, so the search condition tree #distance [2] (ai, say) is sufficient. . The search condition processing including the position operator first identifies the document ID in which all index words appear, and then checks whether the deviation of the appearance position between the index words in the document is as specified by the position operator. By doing so, it can be realized by the procedure of determining whether the document really meets the search condition. In the above search terms, two index words, “ai” and “say”, may be used when inspecting the deviation of the appearance position, but “good” should also be used when specifying the document ID. Increased efficiency. This is because “good” is not registered in the index, and it can be found that there is no document that corresponds to “ai” simply by checking whether “good” appears (this technique is based on the above-mentioned prior application patent application). (Proposed in claims 8 and 9 of Hei 10-256974). Hereinafter, the document ID specifying process is referred to as candidate determination, and the appearance position shift inspection process is referred to as detailed determination. The search condition tree used for the former is a candidate determination condition tree, and the search condition tree used for the latter is a detailed determination condition. Called a tree. Then, for this search term, the candidate determination condition tree: #and (ai, i.e.) and the detailed determination condition tree: #distance [2] (ai i.e.) are used. Here, #and uses the set product of the search results for each operand as the search result, and is called a set product operator.

検索語「いうえお」に対して上記方法を適用すると、候補決定条件木:#and(いう,うえ,えお)、詳細判定用条件木:#distance[2](いう,えお)となる。ところが、この場合、「いう」が出現している文書には必ず「うえ」が出現しているので、候補決定用条件木に「うえ」を加えても、候補文書を絞り込む効果はなく、索引語が増えたぶん処理が増大するので、検索が遅くなるという問題がある。   When the above method is applied to the search term “Iueo”, the candidate decision condition tree: #and (say, ue, eo), the detailed decision condition tree: #distance [2] (say, eo) Become. However, in this case, “up” always appears in the document in which “say” appears, so adding “up” to the candidate decision condition tree has no effect of narrowing down the candidate document, and the index Since the number of words increases, the processing increases, and there is a problem that the search becomes slow.

第11の実施形態及び第12の実施形態では、候補文書を絞り込む効果が期待できる索引語のみを候補決定用条件木に追加し、検索を高速化する。すなわち、単純に検索語から抽出された索引語を加えるのではなく、候補決定用条件木には、詳細判定用条件木に用いられる索引語と、それ以外の索引語のうち前後にある詳細判定用条件木に用いられる索引語よりも文書頻度が少ない索引語を使用する。例えば、検索語「あいいう」では、詳細判定に使用する「あい」「いう」の文書頻度5に対して「いい」の文書頻度は0なので、「いい」を使用することとなる。一方、検索語「いうえお」では、詳細決定に使用する「いう」の文書頻度5に対して「うえ」の文書頻度も5で小さくないので、「うえ」は使用しない。なお、第11の実施形態と第12の実施形態では、詳細判定用に使用する索引語として、第11の実施形態が最小個数のものを選択するのに対し、第12の実施形態が索引語ごとの文書頻度の合計が最小となるものを選択する点で異なっている。   In the eleventh and twelfth embodiments, only index words that can be expected to narrow down candidate documents are added to the candidate decision condition tree to speed up the search. That is, instead of simply adding an index word extracted from a search term, the candidate decision condition tree includes an index word used in the detail decision condition tree and detailed judgments before and after the other index words. Use index terms that have less document frequency than the index terms used in the conditional tree. For example, in the search word “Aii”, the document frequency of “Good” is 0 with respect to the document frequency 5 of “Ai” and “Ai” used for the detailed determination, so “Good” is used. On the other hand, in the search term “Iueo”, the document frequency of “U” is not as small as 5 compared to the document frequency of “U” used for detailed determination, so “U” is not used. In the eleventh embodiment and the twelfth embodiment, the index word used for the detailed determination is selected as the index word used in the eleventh embodiment while the twelfth embodiment selects the index word. The difference is that the document frequency with the smallest total is selected.

本願と同一人にて出願された他の先行出願として特願平10−020840号があるが、当該先行出願の請求項8では、検索条件木に複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行う。例えば、検索条件木が#or(#or(東京,江戸),大阪)であれば、#or(東京,江戸,大阪)とする。ここで、#orが集合和演算子である。   There is Japanese Patent Application No. 10-020840 as another prior application filed by the same person as the present application. In claim 8 of the prior application, a set sum operation that takes a set sum of a plurality of search results in a search condition tree. If the child is nested, the latter child node is made the former child node, and the latter is removed from the former element. For example, if the search condition tree is #or (#or (Tokyo, Edo), Osaka), it is #or (Tokyo, Edo, Osaka). Here, #or is a set sum operator.

ところが、集合和演算子に子ノードである集合和演算子の子ノード数が多い場合、平坦化の作業に処理コストがかかる。そこで、本願の第13の実施形態では、検索条件木に複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、集合和演算子に子ノードである集合和演算子の子ノード数がしきい値以下である場合に限って、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行う。その結果、集合和演算子に子ノードである集合和演算子の子ノード数が多い場合に処理コストが増大することを回避できる。   However, when the set-sum operator has a large number of child nodes of the set-sum operator, which is a child node, processing cost is required for the flattening operation. Therefore, in the thirteenth embodiment of the present application, when a set sum operator that takes a set sum of a plurality of search results is nested in the search condition tree, a set sum operator that is a child node is included in the set sum operator. Only when the number of child nodes is less than or equal to the threshold value, the latter child node is used as the former child node, and the latter is removed from the former element. As a result, it is possible to avoid an increase in processing cost when the set sum operator has a large number of child nodes in the set sum operator.

検索条件木に複数の検索結果の集合積をとる集合積演算子の子ノードに集合和演算子がある場合、集合和演算子の子ノードに集合積演算子が来るそれと等価な和標準形に変換することができる。例えば、#and(#or(東京,江戸),大阪)は#or(#and(東京,大阪),#and(江戸,大坂))となる。このように変形すると、集合和演算を行う対象となる文書集合が小さくなるので、検索を効率化できる。   If there is a set-sum operator in the child node of the set-product operator that takes the set product of multiple search results in the search condition tree, the sum-standard form is equivalent to the set-product operator coming to the child node of the set-sum operator Can be converted. For example, #and (#or (Tokyo, Edo), Osaka) becomes #or (#and (Tokyo, Osaka), #and (Edo, Osaka)). If the transformation is performed in this way, the set of documents to be subjected to the set sum operation becomes smaller, so that the search can be made efficient.

しかし、集合積演算子の子ノードにある集合和演算子の子ノード数が多いと、変換後の集合和演算子の子ノード数が膨大になってしまうことがある。例えば、#and(#or(東京,とうきょう,トウキョウ,TOKYO,tokyo,江戸,えど,エド,EDO,edo),#or(大阪,おおさか,オオサカ,OOSAKA,oosaka))であると、変換後の子ノード数は10×5=50個にもなり、変換作業にかかる処理コストも大きくなる。   However, if the number of child nodes of the set sum operator in the child nodes of the set product operator is large, the number of child nodes of the set sum operator after conversion may become enormous. For example, if it is #and (#or (Tokyo, Tokyo, Tokyo, Tokyo, Tokyo, Edo, Edo, Ed, EDO, edo), #or (Osaka, Osaka, Osaka, OOSAKA, Oosaka)) The number of child nodes is as large as 10 × 5 = 50, and the processing cost for the conversion work increases.

そこで、本願の第14の実施形態では、検索条件木に複数の検索結果の集合積をとる集合積演算子の子ノードに集合和演算子がある場合、集合和演算子の子ノードに集合積演算子が来るそれと等価な形式に、変換後の集合和演算子の子ノード数がしきい値以下である場合に限って、変換する。その結果、変換後の集合和演算子の子ノード数が多くなる場合に処理コストが増大することを回避できる。   Therefore, in the fourteenth embodiment of the present application, when there is a set sum operator in the child node of the set product operator that takes the set product of a plurality of search results in the search condition tree, the set product is set in the child node of the set sum operator. Only when the number of child nodes of the set sum operator after conversion is less than or equal to the threshold value is converted into the equivalent form to which the operator comes. As a result, it is possible to avoid an increase in processing cost when the number of child nodes of the set sum operator after conversion increases.

複数の索引語に分割される検索語を集合積演算子で合成したような検索条件の場合を考える。例えば、第1の実施形態のシステムによる処理(n=2)で索引を作成しているとき、#and(プリンタ,システム)という検索条件からは#and(#distance[2](#distance[1](プリ,リン),ンタ),#distance[2](#distance[1](シス,ステ),テム))という検索条件木が作成される。この検索条件木は、まず、#distance[2](#distance[1](プリ,リン),ンタ)で「プリンタ」に該当する文書を決定し、その文書が、#distance[2](#distance[1](シス,ステ),テム)で「システム」に該当するかを判定し、該当していれば検索結果に加えるという手順で、評価される。   Consider a search condition in which search terms divided into a plurality of index terms are combined by a set product operator. For example, when an index is created by the processing (n = 2) by the system of the first embodiment, #and (#distance [2] (#distance [1] ] (Pre, phosphorus), data), #distance [2] (#distance [1] (sys, ste), tem)) is created. In this search condition tree, first, a document corresponding to “printer” is determined by #distance [2] (#distance [1] (pre, phosphorus), data), and the document is #distance [2] (# The distance [1] (sys, ste), tem) is used to determine whether it corresponds to “system”, and if so, it is evaluated by adding it to the search result.

このとき、検索条件木はand(#distance[2](プリ,ンタ),#distance[2](シス,テム))となり、前記の特願平10−256974号の請求項8・請求項9あるいは請求項11・請求項12のシステムによる処理であれば、例えば、#distance[2](プリ,ンタ)に対しては#and(プリ,リン,ンタ)、#distance[2](シス,テム)に対しては#and(シス,ステ,テム)が候補決定用条件木として設定される。そこで、まず、#and(プリ,リン,ンタ)で「プリンタ」を含む候補文書を決定し、その文書が、#and(シス,ステ,テム)で「システム」を含む候補かを判定し、満たしていれば#distance[2](プリ,ンタ)で「プリンタ」を含むための位置条件を満たしているか判定し、満たしていれば#distance[2](シス,テム)で「システム」を含むための位置条件を満たしているか判定するという手順で、該当文書かを決定できる。この手順では、位置条件を満たしているかを判断する回数が少なくなるので、検索処理を高速化できる。   At this time, the search condition tree is and (#distance [2] (pre, data), #distance [2] (sys, tem)), and claims 8 and 9 of the Japanese Patent Application No. 10-256974. Alternatively, in the case of processing by the system of claims 11 and 12, for example, for #distance [2] (pre, enter), #and (pre, phosphorus, enter), #distance [2] (sys, #And (sys, stem, tem) is set as a candidate decision condition tree. Therefore, first, a candidate document including “printer” is determined by #and (pre, phosphorus, and data), and it is determined whether or not the document includes “system” by #and (sys, stem, and tem). If it is satisfied, it is determined whether the position condition for including “printer” is satisfied by #distance [2] (pre, data), and if it is satisfied, “system” is determined by #distance [2] (sys, tem). The document can be determined by the procedure of determining whether the position condition for inclusion is satisfied. In this procedure, the number of times of determining whether the position condition is satisfied is reduced, so that the search process can be speeded up.

そこで、本願の第15の実施形態では、子ノードの候補決定用条件木を集合積演算子で合成したものを候補決定用条件木として持つ。例えば、先の検索条件に対する候補決定用条件木は#and(プリ,リン,ンタ,シス,ステ,テム)となる。この方法では、候補文書決定の手間が減るので、検索処理をさらに高速化できる。   Therefore, in the fifteenth embodiment of the present application, a candidate determination condition tree is a combination of child node candidate determination condition trees using a set product operator. For example, the candidate decision condition tree for the previous search condition is #and (pre, phosphorus, data, cis, stem, tem). In this method, since the time and labor for determining candidate documents is reduced, the search process can be further speeded up.

第15の実施形態の方法では、#and(プリンタ,装置)のように子ノードに索引語ノードがある検索条件に対しては、そのノードが候補決定用条件木に含まれず、候補決定用条件木は#and(プリ,リン,ンタ)となる。そのため、候補文書が十分に絞り込まれず検索処理が遅くなる可能性がある。そこで、本発明の更に他の例では、集合積演算子の候補決定用条件木として子ノードが索引語ノードも付加する。例えば、先の検索条件に対する候補決定用条件木は#and(プリ,リン,ンタ,装置)となる。この方法では、候補文書が絞り込まれるので、検索処理を高速化できる。   In the method of the fifteenth embodiment, for a search condition having an index word node as a child node such as #and (printer, apparatus), the node is not included in the candidate determination condition tree, and the candidate determination condition The tree is #and (pre, phosphorus, data). Therefore, there is a possibility that candidate documents are not sufficiently narrowed down and search processing is delayed. Therefore, in still another example of the present invention, a child node also adds an index word node as a condition tree for determining a candidate for a set product operator. For example, the candidate decision condition tree for the previous search condition is #and (pre, phosphorus, data, device). In this method, candidate documents are narrowed down, so that the search process can be speeded up.

2つの検索結果の集合差をとる集合差演算子(以下#and−notと書く)で合成したような検索条件の場合を考える。例えば第1の実施形態の方法(n=2)で索引を作成しているとき、#and−not(プリンタ,システム)という検索条件からは#and−not(#distance[2](#distance[1](プリ,リン),ンタ),#distance[2](#distance[1]シス,ステ),テム))という検索条件木が作成される。この検索条件木は、まず、#distance[2](#distance[1](プリ,リン),ンタ)で「プリンタ」に該当する文書を決定し、その文書が#distance[2](#distance[1](シス,ステ),テム)で「システム」に該当するかを判定し、該当していなければ検索結果に加えるという手順で、評価される。   Consider the case of a search condition that is synthesized by a set difference operator (hereinafter referred to as # and-not) that takes a set difference between two search results. For example, when an index is created by the method of the first embodiment (n = 2), # and-not (#distance [2] (#distance [ 1] (pre, phosphorus), data), #distance [2] (#distance [1] sys, ste), tem)) is created. In this search condition tree, first, a document corresponding to “printer” is determined by #distance [2] (#distance [1] (pre, phosphorus), data), and the document is #distance [2] (#distance [1] (Sys, Ste), Tem), it is judged whether it corresponds to “system”, and if it does not, it is evaluated by the procedure of adding to the search result.

このとき、検索条件木は#and−not(#distance[2](プリ,ンタ),#distance[2]シス,テム))となり、上記特願平10−256974号の請求項8・請求項9あるいは請求項11・請求項12の方法であれば、例えば、#distance[2](プリ,ンタ)に対しては#and(プリ,リン,ンタ)、#distance[2]シス,テム)に対しては#and(シス,ステ,テム)が候補決定用条件木として設定される。そこで、まず、#and(プリ,リン,ンタ)と#distance[2](プリ,ンタ)を用いて「システム」を含む文書を決定し、その文書が、#and(シス,ステ,テム)で「システム」を含む候補かを判定し、満たしていなければ#distance[2]シス,テム)で「システム」を含むための位置条件を満たしているか判定するという手順で該当文書かを決定できる。この手順が本願の第17の実施形態であり、位置条件を満たしているか判断する回数が少なくなるので、検索処理を高速化できる。   At this time, the retrieval condition tree is # and-not (#distance [2] (pre, data), #distance [2] cis, tem)), and claims 8 and 256 of the above Japanese Patent Application No. 10-256974. 9 or claims 11 and 12, for example, for #distance [2] (pre, enter), #and (pre, phosphorus, enter), #distance [2] cis, tem) #And (Sys, Stem, Tem) is set as a candidate decision condition tree. Therefore, first, a document including “system” is determined using #and (pre, phosphorus, data) and #distance [2] (pre, data), and the document is #and (sys, stem, tem). To determine whether the document is a candidate, and if it is not satisfied, #distance [2] sys, tem) can be used to determine whether the document satisfies the position condition for including “system”. . This procedure is the seventeenth embodiment of the present application, and the number of times to determine whether the position condition is satisfied is reduced, so that the search process can be speeded up.

複数の索引語に分割される検索語を集合和演算子で合成したような検索条件の場合を考える。例えば、第1の実施形態の方法(n=2)で索引を作成しているとき、#or(プリンタ,システム)という検索条件からは#or#distance[2](プリ,ンタ),#distance[2]シス,テム))という検索条件木が作成される。   Consider a search condition in which search terms divided into a plurality of index terms are combined by a set sum operator. For example, when an index is created by the method of the first embodiment (n = 2), # or # distance [2] (pre, data), #distance from the search condition #or (printer, system) [2] A search condition tree called “sys, tem)) is created.

このとき、上記特願平10−25694号の請求項8・請求項9あるいは請求項11・請求項12の方法であれば、例えば、#distance[2](プリ,ンタ)に対しては#and(プリ,リン,ンタ)、#distance[2](シス,テム)に対しては#and(シス,ステ,テム)が候補決定用条件として設定される。この検索条件木は以下のように評価できる。まず、「プリンタ」に該当する文書を#and(プリ,リン,ンタ)および#distance[2](プリ,ンタ)を用いて決定する。次に、「システム」に該当する文書を#and(シス,ステ,テム)および#distance[2](シス,テム)を用いて決定する。そして最後に両者の集合和を求める。   At this time, in the method of claim 8 or claim 9 or claim 11 or claim 12 of the Japanese Patent Application No. 10-25694, for example, for #distance [2] (pre, enter), # For and (pre, phosphorus, data) and #distance [2] (sys, tem), #and (cis, stem, tem) is set as a candidate determination condition. This search condition tree can be evaluated as follows. First, a document corresponding to “printer” is determined using #and (pre, phosphorus, data) and #distance [2] (pre, data). Next, a document corresponding to “system” is determined using #and (sys, stem, tem) and #distance [2] (sys, tem). Finally, the set sum of the two is obtained.

ところが、「システム」に該当する文書を決定する際には、「プリンタ」に該当する文書はすでに検索結果に含まれることが判定済みなので、「システム」に該当するかを正確に判断する必要がない。したがって、上の説明における2番目の処理は、#and(シス,ステ,テム)で「システム」を含む候補文書を決定し、その文書が「プリンタ」に該当していなければ#distance[2](シス,テム)で「システムを含むための位置条件を満たしているかを判定し、満たしていれば結果集合に追加するが、その文書が「プリンタ」に該当していれば位置条件の判定は不要で次の候補文書の決定に進むこととできる。この処理を実現するのが、本願の第18の実施形態であり、この方法では、子ノードに対して位置条件を判断する回数が削減できるので、検索処理が高速化される。   However, when determining a document that corresponds to “system”, it has already been determined that a document that corresponds to “printer” is included in the search results, so it is necessary to accurately determine whether it corresponds to “system”. Absent. Therefore, in the second process in the above description, a candidate document including “system” is determined by #and (sys, stem, tem), and #distance [2] if the document does not correspond to “printer”. (Sys, Tem) “If the position condition for including the system is satisfied, it is added and if it is satisfied, it is added to the result set. It is unnecessary and can proceed to determination of the next candidate document. This process is implemented in the eighteenth embodiment of the present application, and in this method, the number of times of determining the position condition for the child node can be reduced, so that the search process is speeded up.

本発明による文書検索システムの概要を示すブロック図である。It is a block diagram which shows the outline | summary of the document search system by this invention. 第1の実施形態を説明するための表である。It is a table | surface for demonstrating 1st Embodiment. 第2の実施形態を説明するための表である。It is a table | surface for demonstrating 2nd Embodiment. 第10の実施形態を説明するための表である。It is a table | surface for demonstrating 10th Embodiment.

符号の説明Explanation of symbols

1…文書分割手段、2…索引、3…検索語分割手段、4…検索条件解析手段、5…検索条件評価手段。 DESCRIPTION OF SYMBOLS 1 ... Document division | segmentation means, 2 ... Index, 3 ... Search word division | segmentation means, 4 ... Search condition analysis means, 5 ... Search condition evaluation means.

Claims (4)

登録文書を索引の見出しとなる各文字列による索引語に分割する文書分割手段と、索引語を見出しとして、該索引語を含む文書数を表す文書頻度、索引語を含む文書の識別子、索引語の各文書内での出現回数を表す文書内頻度、及び索引語の各文書内での出現位置の並びを保持する索引と、検索条件中の検索語を索引に記録されている索引語に分割する検索語分割手段と、検索条件を解析して索引語あるいは前記検索語分割手段が検索語から索引語を一つも出力しない場合に対応して作成する該当文書のないことを表す空文書集合あるいはそれらの一方または両方を演算子で合成した検索条件木を生成する検索条件解析手段と、該検索条件木に基づいて前記索引から索引語に関する情報を取り出し検索結果合成処理を実行して検索結果を得る検索条件評価手段とを有する文書検索システムであって、前記検索語分割手段が検索語を2つ以上の索引語に分割する場合、前記検索条件解析手段は前記2つ以上の索引語を複数の検索結果の積集合をとる積集合演算子で合成した候補決定用条件木と、前記2つ以上の索引語から検索語を覆う最小個数のものを選択して出現位置間の距離を指定する位置演算子で合成した詳細判定用条件木とを作成し、前記検索条件評価手段はまず前記候補決定用条件木で該当文書の候補を求め、つぎに前記詳細判定用条件木で位置関係を考慮して候補文書の中から該当文書を決定し、前記候補決定用条件木には、前記詳細判定用条件木に用いられる索引語と、それ以外の索引語のうち前後にある前記詳細判定用条件木に用いられる索引語よりも文書頻度が少ない索引語とを使用し、
前記検索条件木において複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、集合和演算子に子ノードである集合和演算子の子ノード数がしきい値以下である場合に限って、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行うことを特徴とする文書検索システム。
Document dividing means for dividing a registered document into index words based on each character string serving as an index heading, document frequency representing the number of documents including the index word with the index word as a headline, an identifier of a document including the index word, and an index word An index that holds the frequency of occurrence in each document and the list of occurrence positions of each index word in each document, and the search word in the search condition is divided into index words recorded in the index. A search word dividing unit that analyzes the search condition and an empty word set indicating that there is no corresponding document to be created corresponding to an index word or a case where the search word dividing unit does not output any index word from the search word or A search condition analysis unit that generates a search condition tree obtained by combining one or both of them with an operator, and retrieves information on the index word from the index based on the search condition tree and executes a search result combining process to obtain a search result. obtain A search condition evaluation unit, wherein when the search word dividing unit divides the search word into two or more index words, the search condition analysis unit converts the two or more index words into a plurality of index words. A position for specifying a distance between occurrence positions by selecting a candidate decision condition tree synthesized by a product set operator that takes a product set of search results and a minimum number that covers the search word from the two or more index words A detailed decision condition tree synthesized by an operator, and the search condition evaluation means first obtains a candidate for the corresponding document using the candidate decision condition tree, and then considers the positional relationship in the detailed decision condition tree. The candidate document is determined from among the candidate documents, and the detailed decision condition tree in the candidate decision condition tree is the index word used in the detailed decision condition tree and the other of the other index words. Less frequent than index terms used in Using the index words have,
When a set sum operator that takes a set sum of a plurality of search results is nested in the search condition tree, the number of child nodes of the set sum operator that is a child node of the set sum operator is less than or equal to a threshold value A document retrieval system characterized by flattening only the latter child node as the former child node and removing the latter from the former element .
登録文書を索引の見出しとなる各文字列による索引語に分割する文書分割手段と、索引語を見出しとして、索引語を含む文書数を表す文書頻度、索引語を含む文書の識別子、索引語の各文書内での出現回数を表す文書内頻度、及び索引語の各文書内での出現位置の並びを保持する索引と、検索条件中の検索語を索引に記録されている索引語に分割する検索語分割手段と、検索条件を解析して索引語あるいは前記検索語分割手段が検索語から索引語を一つも出力しない場合に対応して作成する該当文書のないことを表す空文書集合あるいはそれらの一方または両方を演算子で合成した検索条件木を生成する検索条件解析手段と、該検索条件木に基づいて前記索引から索引語に関する情報を取り出し検索結果合成処理を実行して検索結果を得る検索条件評価手段とを有する文書検索システムであって、前記検索語分割手段が検索語を2つ以上の索引語に分割する場合、前記検索条件解析手段は前記2つ以上の索引語を複数の検索結果の積集合をとる積集合演算子で合成した候補決定用条件木と、前記2つ以上の索引語から検索語を覆いかつ索引語ごとの文書頻度の合計が最小となるような索引語を選択して出現位置間の距離を指定する位置演算子で合成した詳細判定用条件木とを作成し、前記検索条件評価手段はまず前記候補決定用条件木で該当文書の候補を求め、つぎに前記詳細判定用条件木で位置関係を考慮して候補文書の中から該当文書を決定し、前記候補決定用条件木には、前記詳細判定用条件木に用いられる索引語と、それ以外の索引語のうち前後にある前記詳細判定用条件木に用いられる索引語よりも文書頻度が少ない索引語を使用し、
前記検索条件木において複数の検索結果の集合和をとる集合和演算子が入れ子になっている場合、集合和演算子に子ノードである集合和演算子の子ノード数がしきい値以下である場合に限って、後者の子ノードを前者の子ノードとし、後者を前者の要素から取り除く平坦化を行うことを特徴とする文書検索システム。
Document dividing means for dividing a registered document into index words based on each character string serving as an index heading, document frequency indicating the number of documents including the index word, using the index word as a heading, identifier of the document including the index word, index word Divides the search term in the search condition into an index word recorded in the index and an index that holds the frequency in the document that represents the number of occurrences in each document and the list of occurrence positions in each document. Search term dividing means, an index word or an empty document set indicating that there is no corresponding document to be created corresponding to a case where the search term dividing means does not output any index word from the search term by analyzing the search condition Search condition analysis means for generating a search condition tree obtained by combining one or both of the above with an operator, information on index terms is extracted from the index based on the search condition tree, and search result combining processing is executed to obtain a search result Inspection A document search system having condition evaluation means, wherein when the search word dividing means divides a search word into two or more index words, the search condition analysis means searches the two or more index words for a plurality of searches. A candidate decision condition tree synthesized by a product set operator that takes the product set of the results, and an index word that covers the search term from the two or more index terms and minimizes the total document frequency for each index term A detailed decision condition tree synthesized by a position operator that selects and designates the distance between the appearance positions is created, and the search condition evaluation means first obtains a candidate for the corresponding document from the candidate decision condition tree, and then A relevant document is determined from candidate documents in consideration of the positional relationship in the detailed determination condition tree, and the candidate determination condition tree includes an index word used for the detailed determination condition tree and other indexes. The detailed judgment condition before and after the word Use the document less frequently index terms than the index words used to,
When a set sum operator that takes a set sum of a plurality of search results is nested in the search condition tree, the number of child nodes of the set sum operator that is a child node of the set sum operator is less than or equal to a threshold value A document retrieval system characterized by flattening only the latter child node as the former child node and removing the latter from the former element .
請求項1または2に記載の文書検索システムにおいて、集合積演算子では、子ノードの候補決定用条件木を集合積演算子で合成したものを候補決定用条件木とし、前記検索条件評価手段は集合積演算子の評価において、まず前記候補決定用条件木で該当文書の候補を求め、つぎにその前記集合積演算子の子ノードを用いて検索結果を決定することを特徴とする文書検索システム。 3. The document retrieval system according to claim 1, wherein the set product operator is a candidate decision condition tree obtained by combining the candidate decision condition trees of child nodes with the set product operator, and the search condition evaluation means includes: In the evaluation of the set product operator , a document search system characterized in that first a candidate for a corresponding document is obtained using the candidate decision condition tree, and then a search result is determined using a child node of the set product operator . . 請求項に記載の文書検索システムにおいて、集合積演算子の候補決定用条件木に該集合積演算子の子ノードである索引語ノードも付加することを特徴とする文書検索システム。 4. The document search system according to claim 3 , wherein an index word node that is a child node of the set product operator is also added to the condition tree for determining a candidate for the set product operator .
JP2007106800A 2007-04-16 2007-04-16 Document search system Expired - Lifetime JP4205753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007106800A JP4205753B2 (en) 2007-04-16 2007-04-16 Document search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007106800A JP4205753B2 (en) 2007-04-16 2007-04-16 Document search system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP23074999A Division JP4115048B2 (en) 1999-08-17 1999-08-17 Document search system

Publications (2)

Publication Number Publication Date
JP2007213606A JP2007213606A (en) 2007-08-23
JP4205753B2 true JP4205753B2 (en) 2009-01-07

Family

ID=38491913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007106800A Expired - Lifetime JP4205753B2 (en) 2007-04-16 2007-04-16 Document search system

Country Status (1)

Country Link
JP (1) JP4205753B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5408697B2 (en) * 2008-10-30 2014-02-05 Kddi株式会社 Content delivery method and system
JP5285491B2 (en) * 2009-04-10 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション Information retrieval system, method and program, index creation system, method and program,

Also Published As

Publication number Publication date
JP2007213606A (en) 2007-08-23

Similar Documents

Publication Publication Date Title
JP4115048B2 (en) Document search system
EP1907946B1 (en) A method for finding text reading order in a document
JP2007226797A (en) Rapid similarity links computation for table of contents determination
JP2005025763A (en) Division program, division device and division method for structured document
JPH07219969A (en) Device and method for retrieving picture parts
JP2006004417A (en) Method and device for recognizing specific type of information file
JP4017354B2 (en) Information classification apparatus and information classification program
JP4205753B2 (en) Document search system
JP3784060B2 (en) Database search system, search method and program thereof
JP5189413B2 (en) Voice data retrieval system
CN107526795A (en) Construction method and device, storage medium, the computing device of knowledge base
WO2009113289A1 (en) New case generation device, new case generation method, and new case generation program
CN105426490A (en) Tree structure based indexing method
JP2009271819A (en) Document search system, document search method and document search program
JP2009211277A (en) Document data sorting device, document data sorting method, its program, and recording medium
JP2007241568A (en) Topic image extraction method, device and program
JP4389102B2 (en) Technical literature search system
KR100818628B1 (en) Apparatus and method for building patent translation dictionary
JP2008243074A (en) Device, method, and program for retrieving document
JP2006073035A (en) Computerized document retrieval system, retrieval device and recording medium
JP4049543B2 (en) Document search device, document search program, recording medium
JP2007241636A (en) Document data analyzer and document data analysis program
JP6461832B2 (en) Oracle summary search apparatus, method, and program
WO2019119030A1 (en) Image analysis
JP3598738B2 (en) Information extraction device, information retrieval method and information extraction method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081014

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081016

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

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4205753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

EXPY Cancellation because of completion of term