WO2006059425A1 - データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法 - Google Patents

データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法 Download PDF

Info

Publication number
WO2006059425A1
WO2006059425A1 PCT/JP2005/017696 JP2005017696W WO2006059425A1 WO 2006059425 A1 WO2006059425 A1 WO 2006059425A1 JP 2005017696 W JP2005017696 W JP 2005017696W WO 2006059425 A1 WO2006059425 A1 WO 2006059425A1
Authority
WO
WIPO (PCT)
Prior art keywords
name
appearance information
ancestor path
ancestor
attribute
Prior art date
Application number
PCT/JP2005/017696
Other languages
English (en)
French (fr)
Inventor
Mitsuaki Inaba
Yuji Kanno
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US10/587,770 priority Critical patent/US20070168363A1/en
Publication of WO2006059425A1 publication Critical patent/WO2006059425A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Definitions

  • Database construction apparatus database retrieval apparatus, database apparatus, database construction method, and database retrieval method
  • the present invention relates to a database apparatus that manages structured documents having a logical structure such as XML, and in particular, a database construction apparatus that accumulates and manages a large amount of structured documents, and structured documents stored in the database efficiently.
  • the present invention relates to a database search device for searching.
  • Japanese Patent Application Laid-Open No. 2002-202973 discloses a structure document management apparatus that registers structured documents based on a logical structure and performs full text search by specifying the logical structure.
  • FIG. 33 is a configuration diagram of a conventional structured document management apparatus.
  • a structured document input unit 2402 inputs a structured document to be registered.
  • the structure analysis unit 2407 analyzes the input structured document into a tree structure.
  • the structure information creation unit 2408 allocates a name ID to the tag name (element name) of each element and stores it in the name ID table storage unit 2418 in the data storage unit 2406.
  • a path name ID is assigned to a path name of each element, that is, a character string in which tag names are described in order from the highest layer, and is stored in the path name index storage unit 2416.
  • a path hierarchy index storage unit 2417 assigns a node hierarchy ID to a character string that describes the path hierarchy of each element, that is, the order of appearance of each hierarchy of path names.
  • the order of appearance of each hierarchy of path names indicates the number of elements that appear among the elements of the same tag name that have the same parent element.
  • element entity a code (hereinafter referred to as “search unit identifier”) that uniquely represents the search unit is assigned to each element entity.
  • search unit identifier Stored in the element management table storage unit 2415.
  • FIG. 34 is a diagram showing an example of an element management table in a conventional structured document management apparatus.
  • the element management table 2501 is composed of a set of a document number 2503, a nose name ID 2504, a nose hierarchy ID 2505, and a name ID 2506 using the search unit identifier U child 2502 as a key.
  • the character string index creation unit 2409 performs pre-processing on the character string that is the content of each element entity. A character chain of a predetermined number of characters is taken out. Then, the character string index creation unit 2409, for this character chain, the corresponding search unit identifier and a number indicating the number of the character in the element content (hereinafter referred to as “character position number”). Are stored in the character string index storage unit 2419.
  • Figure 35A shows an example of a structured document.
  • FIG. 35B is a diagram showing an example of a character string index in the conventional structured document management apparatus. In FIG.
  • the record 2606 of the character ⁇ IJ index 2602 indicates that the character string 2603 “structure” is included in the character string of the element “search unit identifier additional child 2604” 1 and the character position number 2605 is “1”. "In other words,” is present at the first character from the beginning of the element ".
  • FIG. 36A is a diagram showing an example of setting search conditions.
  • the search condition 2701 specifying the structure indicates “a document whose path name is“ Z paper Z bibliography Z title ”and the character string“ structured ”is included in the element”.
  • the search condition analysis unit 2410 refers to the path name index storage unit 2416 and converts the path name of the search condition into a path name ID “N2” (2702).
  • the character string index search unit 2411 takes out the two-character chain “structure” and “structure” from “structure”, and refers to the character string index and continues to “structure” and “structure”.
  • the search unit identifier of the entry that appears at the same time and has the same search unit identifier is obtained (2703).
  • the search unit identifier “1” or “8” is obtained as the character string index search result group as shown in FIG. 36C.
  • the structure matching unit 2412 obtains a search result that satisfies the structure specification of the search conditions 2702 and 2703.
  • the structure matching unit 2412 searches the element management table 2501 shown in FIG. 36B using the search unit identifier obtained as the character string index search result group as a key. Then, an entry that matches the path name ID power N2 ”is determined as a search result.
  • the search result is shown in FIG. 36C.
  • the structure matching unit 24 12 If the search condition is a condition specifying a tag name, the structure matching unit 24 12 The search result is an entry whose element management table name ID matches the name ID of the specified tag name. If the search condition is a condition that specifies both the path name and the path hierarchy, the structure matching unit 2412 The path name ID of the element management table matches the path name ID of the specified path name, and the path hierarchy ID matches the path hierarchy ID of the specified path hierarchy. Let an entry be a search result.
  • Japanese Patent Laid-Open No. 2004-310607 discloses a document management apparatus that generates an index that links an element included in a structure document with a position on a hierarchical structure. Even if this document management device is an element that has the same search path to a position in the hierarchical structure, that is, an element that has multiple child nodes for one parent node, multiple Each element can be identified and managed.
  • the above-described conventional structured document management apparatus first obtains a search unit identifier in which a specified character string appears by referring to a character string index, and then determines whether the search unit identifier satisfies the specified structural condition. Is determined with reference to the element management table. For this reason, it is necessary to specify the character string search condition when performing a document search, and it is not possible to perform a search specifying only the structure condition. In other words, in order to perform a search by specifying only the structural conditions, the entire element management table is searched for whether or not the force satisfies the structural conditions for all search unit identifiers. Therefore, there exists a subject that efficiency is very bad.
  • the data structure is such that the logical structure data is added to the search index data for full-text search. For this reason, it is not possible to construct search data having a structure that enables an efficient search for a search that specifies only the structural conditions.
  • the database construction device of the present invention appears in a structured document based on an input document analysis unit that assigns a unique document number to a structured document and analyzes the structure, and an analysis result of the input document analysis unit.
  • An element name registration unit that assigns a unique element name ID to each element name and registers it in the element name dictionary, and each ancestor node name that appears in the structured document based on the analysis result of the input document analysis unit
  • An ancestor path name registration unit that assigns a unique ancestor path name ID and registers it in the ancestor path name dictionary, and the document number, character position, and ancestor path name ID in which the element of interest appears based on the analysis result of the input document analysis unit
  • element appearance information including at least branching order information in the element appearance information storage section using the element name ID as a key.
  • an appearance information registration unit that registers ancestor path appearance information including at least the document number, character position, element name ID, and branch order information in the ancestor path appearance information storage unit using the ance
  • This database construction device generates an appropriate appearance information index based on the appearance information of elements when registering and storing a structure document. Therefore, the database construction device of the present invention is not limited to the case where both the character string search condition and the structure condition are specified, but also to various search conditions in which only the structure condition is specified without the character string search condition. It is possible to construct search data having a structure capable of efficiently searching for a desired document.
  • FIG. 1 is a block diagram showing a configuration of a database apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a flowchart showing a procedure of document registration processing in Embodiment 1 of the present invention.
  • FIG. 3 is a diagram showing an example of a structure document to be registered and searched in Embodiment 1 of the present invention.
  • FIG. 4 is a diagram showing an example of the result of analyzing the logical structure of the structure document in the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining ancestor path names in Embodiment 1 of the present invention.
  • FIG. 6 is a diagram showing an example of the contents of an element name dictionary in the first embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of the contents of an ancestor path name dictionary in the first embodiment of the present invention.
  • FIG. 8 is a diagram showing an example of the contents of an attribute name dictionary in the first embodiment of the present invention.
  • FIG. 9 is a diagram for explaining character positions in the first embodiment of the present invention.
  • FIG. 10A is a diagram for explaining element appearance information according to Embodiment 1 of the present invention.
  • FIG. 10B is a diagram for explaining element appearance information according to Embodiment 1 of the present invention.
  • FIG. 11 is a diagram for explaining ancestor path appearance information in Embodiment 1 of the present invention.
  • FIG. 12A is a diagram for explaining attribute appearance information in Embodiment 1 of the present invention.
  • FIG. 12B is a diagram for explaining attribute appearance information in Embodiment 1 of the present invention.
  • FIG. 13 is a diagram for explaining text appearance information in Embodiment 1 of the present invention.
  • FIG. 14 is a diagram showing an example of a search expression in the first embodiment of the present invention.
  • FIG. 15 is a flowchart showing a procedure of a search process of the database device in the first embodiment of the present invention.
  • FIG. 16A is a diagram for explaining an example of a search condition in the first embodiment of the present invention.
  • FIG. 16B is a diagram for explaining the search operation of the database apparatus in the first embodiment of the present invention.
  • FIG. 16C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 17A is a diagram for explaining an example of search conditions in the first embodiment of the present invention.
  • FIG. 17B is a diagram for explaining the search operation of the database device in the first embodiment of the present invention. .
  • FIG. 17C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 18A is a diagram for explaining an example of a search condition in the first embodiment of the present invention.
  • FIG. 18B is a diagram for explaining a search operation of the database apparatus in the first embodiment of the present invention.
  • FIG. 18C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 19A is a diagram for explaining an example of search conditions in the first embodiment of the present invention.
  • FIG. 19B explains the search operation of the database device according to the first embodiment of the present invention.
  • FIG. 19C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 20A is a diagram for explaining an example of search conditions in the first embodiment of the present invention.
  • FIG. 20B is a diagram for explaining a search operation of the database device in the first embodiment of the present invention.
  • FIG. 20C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 21A is a diagram for explaining an example of a search condition in the first embodiment of the present invention.
  • FIG. 21B is a diagram for explaining a search operation of the database device in the first embodiment of the present invention. .
  • FIG. 21C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 22A is a diagram for explaining an example of the search condition in the first embodiment of the present invention.
  • FIG. 22B is a diagram for explaining the search operation of the database device in the first embodiment of the present invention. .
  • FIG. 22C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 23A is a diagram for explaining an example of a search condition in Embodiment 1 of the present invention.
  • FIG. 23B is a diagram for explaining a search operation of the database device in Embodiment 1 of the present invention. .
  • FIG. 23C is a diagram for explaining a search result in the first embodiment of the present invention.
  • FIG. 24 is a diagram used for explaining the order of empty elements in the second embodiment of the present invention.
  • FIG. 25A is a diagram illustrating a partial ancestor path name according to the second embodiment of the present invention.
  • FIG. 25B is a diagram showing the contents of the ancestor path name dictionary according to Embodiment 2 of the present invention.
  • FIG. 25C is a diagram for explaining an ancestor path name ID string in the second embodiment of the present invention.
  • FIG. 26 is a diagram for explaining element appearance information in the second embodiment of the present invention.
  • FIG. 27 is a diagram for explaining ancestor path appearance information according to the second embodiment of the present invention.
  • FIG. 28 is a diagram showing an example of a search expression in the second embodiment of the present invention.
  • FIG. 29A is a diagram for explaining a search operation according to the second embodiment of the present invention.
  • FIG. 29B is a diagram for explaining a search result in the second embodiment of the present invention.
  • FIG. 30 is a block diagram showing a configuration of the database apparatus in the third embodiment of the present invention.
  • FIG. 31 is a flowchart showing a procedure for document registration processing of the database apparatus in the third embodiment of the present invention.
  • FIG. 32 is a diagram for explaining grouped element appearance information according to the third embodiment of the present invention.
  • FIG. 33 is a block diagram of a conventional structured document management apparatus.
  • FIG. 34 is a diagram showing an example of an element management table in the conventional structure document management apparatus.
  • FIG. 35A is a diagram showing an example of a structured document processed by a conventional structured document management apparatus.
  • FIG. 35B is a diagram showing an example of a character string index in the conventional structure document management apparatus.
  • FIG. 36A is a diagram for explaining an example of search conditions in the conventional structured document management apparatus.
  • FIG. 36B is a diagram for explaining a search operation in the conventional structured document management apparatus.
  • FIG. 36C is a diagram for explaining a search result in the conventional structured document management apparatus.
  • FIG. 1 is a block diagram showing the configuration of the database device according to Embodiment 1 of the present invention.
  • the database apparatus inputs a structured document group 101 to be registered in the database, assigns a unique document number to each document in the inputted structure document group 101, and creates a logical structure.
  • Input document analysis unit 10 inputs a structured document group 101 to be registered in the database, assigns a unique document number to each document in the inputted structure document group 101, and creates a logical structure.
  • the element name that appears in the document is unique.
  • a unique identifier hereinafter referred to as “element name ID”
  • the ancestor path names appearing in the document (attention An element name of an element's ancestor elements, separated from each other by a slash in order from the top level, and not including the element name of the element of interest itself (! /,).
  • the ancestor path name registration unit 104 and the input document analysis unit 102 which are registered in the ancestor path name dictionary 108, are assigned unique identifiers (hereinafter referred to as attribute names) appearing in the document.
  • the attribute name registration unit 105 and the input document analysis unit 102 which are assigned to the attribute name dictionary 109 and assigned to the attribute name dictionary 109, are assigned the element appearance information storage unit 111 of the appearance position index 110, the ancestor path Appearance information storage unit 112, Attribute appearance information storage unit 11 3.
  • An appearance information registration unit 106 for registering four types of appearance information in the text appearance information storage unit 114 is provided.
  • the database device includes an element name dictionary 107 in which the element name ID and the corresponding element name are recorded, an ancestor path name dictionary 108 in which the ancestor path name ID and the corresponding ancestor path name are recorded, and an attribute name ID. And an attribute name dictionary 109 in which attribute names corresponding to the attribute names are recorded, and an appearance position index 110 in which four types of appearance information are respectively stored.
  • the appearance position index 110 includes an element appearance information storage unit 111, an ancestor path appearance information storage unit 112, an attribute appearance information storage unit 113, and a text appearance information storage unit 114.
  • the element appearance information storage unit 111 stores the document number, character position, number of characters, and ancestor path name ID branching information in which each element appears, using the element name ID as a key, and the ancestor path appearance information storage unit 112. Stores the document number, character position, number of characters, element name ID, and branch order information of each element, using the ancestor path name ID of that element as a key. Stores the document number, character position, number of characters, element name ID, ancestor path name ID, and branching order information using the attribute name ID as a key, and the text appearance information storage unit 114 stores the information from the text in the element.
  • the document number, character position, ancestor path name ID, element name ID, attribute name ID, and branching order information that appears are displayed as partial characters.
  • the database device analyzes the search condition given to the search condition input unit 116 that receives the search expression 115 and the search condition input unit 116, converts it into an internal condition, and outputs it to the appearance information acquisition unit 118.
  • search condition analysis unit 117 and search condition analysis unit 117 4 types of appearance information stored in the position index 110 Appropriate information is selected and acquired, and the appearance information acquisition unit 118 that obtains the result data set that matches the search condition, and the result data set in the appropriate format as a search result 120 As a search result output unit 119.
  • FIG. 2 is a flowchart showing the procedure of the document registration process in the first embodiment of the present invention.
  • step 2201 the input document analysis unit 102 reads one structured document from the structured document group 101 and assigns a unique document number to each document.
  • FIG. 3 is a diagram showing an example of a structure document to be registered and searched in Embodiment 1 of the present invention.
  • the structure document 101a shown in FIG. 3 has a book element at the highest level, and the book element includes a title element and two chapter elements.
  • the title element contains the string “document search” of the element entity, and the first chapter element is another title element, two section elements, and a keyword whose attribute value is “history” (keyword ) Attribute.
  • FIG. 4 shows the result of the input document analysis unit 102 analyzing the structure document 101a into a tree structure.
  • FIG. 4 is a diagram showing a result of analyzing the logical structure of the structure document in the first embodiment of the present invention.
  • a square frame of the tree structure 300 represents elements 301 to 303, and a character string written in the frame represents an element name 304.
  • An elliptical dotted line frame indicates the attribute 305, and a character string written in the frame indicates the attribute name 306 (update).
  • FIG. 5 is a diagram for explaining ancestor path names in Embodiment 1 of the present invention.
  • the node name 701 of the element 302 shaded in FIG. 4 is composed of an ancestor path name 702 and an element name 703.
  • branch order 307 of the element 302 is “1Z2Z3”.
  • the branching order for each element in the nose name This is a sequence of numbers indicating the number of occurrences among the elements with the same parent element and the same element name.
  • the element 302 shaded in FIG. 4 and the element 303 to the left of the element 302 have the same path name, but branch orders 307 and 308 are different.
  • the notation method of the branch order is not limited to this. For example, the depth of a hierarchy having a value other than 1 and its value may be arranged. In this way, branch order 307 is expressed as “2: 2, 3: 3”.
  • the element name registration unit 103 checks whether the element name of the element of interest has been registered in the element name dictionary 107. If it is registered, the corresponding element name ID is obtained. If it is not registered, a new element name ID (> 0) is assigned, and the element name and element name ID are registered in the element name dictionary 107. To do.
  • FIG. 6 shows an example (407) of the contents of the element name dictionary 107 after the structured document 101a shown in FIG. 3 is registered.
  • the ancestor path name registration unit 104 checks whether the ancestor path name of the element of interest has already been registered in the ancestor path name dictionary 108. If it is registered, the corresponding ancestor path name ID is acquired. If not registered, a new ancestor path name ID (> 0) is assigned, and the ancestor path name is assigned to the ancestor path name dictionary 108. sign up.
  • FIG. 7 shows an example (408) of the contents of the ancestor path name dictionary 108 after the registration process of the structure document 10 la shown in FIG.
  • step 2205 if the element of interest has an attribute, the process proceeds to step 2206, and if not, the process proceeds to step 2207.
  • the attribute name registration unit 105 checks whether or not the attribute name of each attribute of the element of interest has been registered in the attribute name dictionary 109. If it is registered, the corresponding attribute name ID is acquired. If it is not registered, a new attribute name ID (> 0) is assigned and the attribute name is registered in the attribute name dictionary 109.
  • FIG. 8 shows an example (409) of the contents of the attribute name dictionary 109 after the structured document 101a shown in FIG. 3 is registered.
  • the appearance information registration unit 106 performs element appearance information on the element of interest.
  • the information is registered in the element appearance information storage unit 111 using the element name ID as a key.
  • the element appearance information is a set of the following five types of values: the document number, the first character position and number of characters (other than the tag) contained in the element of interest (including descendant elements), ancestor path name ID, branch order It consists of a set of values.
  • FIG. 9 is a diagram for explaining how to count character positions in the database apparatus according to the present embodiment.
  • a table 410 indicates the character position 412 of each character 411 in a character string in which all texts in the document excluding tags are connected.
  • the first character position is “0”.
  • FIGS. 10A-10B are diagrams for explaining element appearance information in Embodiment 1 of the present invention.
  • the character position of the first character 321 is “115”, and the number of characters of the entire element entity 322 is “40”.
  • Element appearance information 501 regarding the section element 302 is shown in FIG. 10A.
  • the element name ID (502) of the section element 302 is “4”, and the document number (503) is “1”.
  • the section element 302 includes an element entity having a length of “40” (number of characters 505) starting from the “115” character (character position 504) force.
  • the ancestor path name ID (506) of the section element 302 is “3”, and the branch order (507) is “1/2/3”.
  • the ancestor path name with the ancestor path name ID 506 of “3” is “ZbookZchapter”.
  • the appearance information registration unit 106 registers the ancestor path appearance information related to the element of interest in the ancestor path appearance information storage unit 112 using the ancestor path name ID as a key.
  • This ancestor path appearance information includes the following five types of values: the document number, the first character position and number of characters (other than tags) included in the element of interest (including descendant elements), and the element name. It consists of a set of ID and branch order values.
  • FIG. 11 is a diagram for explaining ancestor path appearance information according to Embodiment 1 of the present invention.
  • FIG. 11 shows the contents 511 of the ancestor path appearance information related to the element 302 shown with shading in FIG.
  • the element appearance information and ancestor path appearance information related to the same element differ in that the key item is the element name I D502 or the force that is the ancestor path name ID506. Is only
  • step 2209 if the target element has an attribute, the process proceeds to step 2210. If the target element does not have an attribute, the process proceeds to step 2211.
  • the appearance information registration unit 106 assigns attributes related to the attributes of the element of interest. Appearance information is registered in the attribute appearance information storage unit 113 using the attribute name ID as a key.
  • the attribute expression information is composed of the following six types of value pairs: document number, first character position and number of attribute values, ancestor nose name ID, element name ID, and branch order value.
  • the FIG. 12A-12B is a diagram for explaining attribute appearance information in Embodiment 1 of the present invention.
  • the section element 302 shaded in FIG. 4 includes the update attribute 305.
  • the attribute value 350 of the update attribute 305 is the character position 351 of the first character 351 is “115”, Value 305
  • the total number of characters 352 is “6”.
  • the character position of the first character of the attribute value is virtually the first character of the text (other than the tag) included in the element of interest 322 (including the descendant elements) as shown in FIG. 12B.
  • the attribute appearance information 521 regarding the update attribute 305 of the section element 302 is shown in FIG. 12A.
  • the attribute name ID (522) is “2”
  • the document number (503) is “1”.
  • the update attribute 305 has an attribute value of “6” characters (number of characters 505) starting with the “115” character (character position 504) force.
  • the ancestor path name ID (506) of the element to which the update attribute 305 belongs is “3”
  • the element name ID (502) is “4”
  • the branch order (507) is “1/2/3”.
  • the attribute name with ID name “2” is “update”
  • the ancestor path name with ancestor path name ID 506 “3” is “ZbookZsection”.
  • the element name with element name ID 502 of “4” is “te”.
  • the appearance information registration unit 106 cuts out a partial character string from the text power of the entity content of the element of interest. Then, the text appearance information is registered in the text appearance information storage unit 114 with the extracted partial character string as a key. At this time, 0 is always stored in the attribute name ID to distinguish it from the attribute value.
  • the text appearance information consists of the following six types of values: the document number, the first character position of the extracted substring, the ancestor path name ID, the element name ID, the attribute name ID, and the branch order value. Composed of a set.
  • step 2212 if the element of interest has an attribute, the process proceeds to step 2213, and if it does not have an attribute, the process proceeds to step 2214.
  • step 2213 the appearance information registration unit 106 cuts out a partial character string from the attribute value character string of each attribute of the element of interest. Then, the partial character string is registered in the text appearance information storage unit 114 as a key. The attribute value appears virtually at the position shown in Fig. 11. As with the attribute appearance information, the character position is calculated.
  • step 2213 unlike the processing in step 2211, the attribute name ID (> 0) of the attribute of interest is stored in the attribute name ID.
  • FIG. 13 is a diagram for explaining text appearance information in Embodiment 1 of the present invention.
  • the text appearance information 531 (— portion) is the text appearance information about the element entity (text) of the section element 302 shaded in FIG.
  • the appearance information record 1201 shows an example of the element entity of the section element 302.
  • the element entity part of the section element 302 Character string (532) “Maximum” appears at the “118” character (character position 5004) of the document whose document number (503) is “1”.
  • the element containing the substring, that is, the ancestor path name ID (506) of the section element 302 is “3”, the element name ID (502) is “4”, and the branch order (507) is “1/2/3”. It is.
  • the ancestor path name with the ancestor path name ID 506 of 3 is “ZbookZsection”, and the element name with the element name ID 502 of 4 is “chapter”.
  • whether or not the partial character string 532 is an attribute value can be determined according to the attribute name ID 522.
  • the attribute name ID is “0”
  • An appearance information record 1202 shows an example of an attribute value of the update attribute 305 in the section element 302.
  • the substring (532) “00” of the attribute value of the update attribute 305 appears at the “116” character (character position 504) of the document whose document number (503) is “1”.
  • the attribute element including the partial character string, that is, the ancestor path name ID of the section element 302 is “3”
  • the element name ID (502) is “4”
  • the branch order (507) is “1Z2Z3”.
  • the attribute name ID (522) belonging to the element is “2”.
  • the ancestor path name ID power “3” has an ancestor path name “ZbookZsection”
  • the element name ID “4” has an element name “chapter”
  • the attribute name ID “2” has an attribute name “update”. .
  • step 2214 it is checked whether or not the processing has been completed for all elements appearing in this document. If there are any unprocessed elements, the process returns to step 2203 and the process is repeated.
  • step 2215 it is checked whether or not processing has been completed for all input documents. If unprocessed documents remain! / Return, the processing returns to step 2201 to repeat the processing.
  • the database apparatus registers a document and completes the database construction process. Next, a description will be given of processing for searching for a registered document group by the database apparatus according to the present embodiment.
  • FIG. 14 is a diagram showing an example of a search expression in the first embodiment of the present invention.
  • These search expressions 2101-2107 are described in the XPath language published as a recommendation of the World Wide Web Consortium (W3C). The detailed specifications of the XPath language are described in the URL "http: ZZwww. W3. OrgZTRZxpath”.
  • a search expression 2101 represents “a title element that is a child of a chapter element that is a child of a book element in the highest hierarchy”.
  • the search expression 2102 represents “any child element of a chapter element that is a child of a book element in the highest hierarchy”.
  • the search expression 2103 represents “Title elements in any hierarchy”.
  • Retrieval expression 2104 represents “second section element child of chapter element child of top-level book element”.
  • the search expression 2105 represents “update attribute of a section element child of a chapter element child of a book element of the highest hierarchy”.
  • the search expression 2106 represents “an element that is a section element that is a child of a chapter element that is a child of a book element in the highest hierarchy and includes the character string“ maximum word ”in the element entity content”.
  • the search expression 2107 represents “an attribute that is an update attribute of a section element that is a child of a chapter element that is a child of a book element of the highest hierarchy, and that the attribute value includes
  • FIG. 15 is a flowchart showing the procedure of the search process of the database device in the first embodiment of the present invention.
  • step 2301 the search condition input unit 116 inputs the search expression 2101.
  • step 2305 the appearance information acquisition unit 118 compares the acquired number of entries N with the number of entries M. If N ⁇ M, go to step 2306, otherwise go to step 2310.
  • the element appearance information storage unit 111 in FIG. 16B is selected.
  • step 2307 the appearance information acquisition unit 118 checks whether the ancestor path name ID of this entry is 3. If the ancestor path name ID is 3, go to step 2308; otherwise, go to step 2309.
  • step 2308 the appearance information acquisition unit 118 adds the data of this entry to the result data set 1302.
  • Figure 16C shows the result data set.
  • Each data of the result data set 1302 is stored in a format such as (document number, ancestor path name ID, element name ID, attribute name ID, branch order).
  • step 2309 the appearance information acquisition unit 118 checks whether all N entries have been processed. If there is an entry that has not yet been processed, return to step 2306 and repeat the process.
  • step 2314 the appearance information acquisition unit 118 outputs the obtained result data set to the search result output unit 119.
  • the search result output unit 119 is a sentence of the obtained result data set. Output the search results in an appropriate format, such as by acquiring the book entity.
  • the database apparatus selects the one having the designated ancestor path name ID from the entry of the designated element name ID in the element appearance information storage unit 111 for the search expression 2101. Either the process or the process of selecting the entry having the specified element name ID from the specified ancestor path name ID entry in the ancestor path appearance information storage unit 112 is selected. Therefore, the amount of processing can be suppressed according to the characteristics of the logical structure of the search target structured document group, and a desired document can be searched efficiently.
  • the result data set 1502 is output to the search result output unit 119 as shown in FIG. 18C.
  • the search result output unit 119 outputs the search results in an appropriate format, for example, by acquiring the document entity of the obtained result data set 1502.
  • the database apparatus only needs to acquire the entry of the designated ancestor path name ID in the ancestor path appearance information storage unit 112 for the search expression 2102. Can be searched efficiently.
  • the search result output unit 119 outputs the search results in an appropriate format, for example, by acquiring the document entity of the obtained result data set 1602.
  • the database apparatus only needs to acquire the entry of the specified element name ID in the element appearance information storage unit 111 for the search expression 2103. You can search efficiently.
  • the search result output unit 119 outputs a search result in an appropriate format, for example, by acquiring a document entity of the obtained result data set.
  • the database apparatus has an ancestor path name ID designated from the entry of the designated element name ID in the element appearance information storage unit 111 and the branch order for the search expression 2104.
  • the process of selecting the object and the element having the specified element name ID and branching order from the entry of the specified ancestor node name ID in the ancestor path appearance information storage unit 112 is selected. Select which of the processing power and the number of entries is smaller. As a result, it is possible to reduce the amount of search processing and to efficiently search for a desired document.
  • the appearance information acquisition unit 118 performs a search result as a result data set 1802 in a format such as (document number, ancestor path name ID, element name ID, attribute name ID, branch order), for example.
  • the search result output unit 119 outputs the search result in an appropriate format by acquiring the document entity of the obtained result data set.
  • the database apparatus uses the ancestor path name ID and the element name ID specified from the entry of the specified attribute name ID in the attribute appearance information storage unit 113 for the search expression 2105. It is possible to search for a desired document by selecting what it has.
  • the appearance information acquisition unit 118 refers to the appearance position index 110 and performs a concatenation operation on the “maximum” entry 1901 and the “word” entry 1902 in the text appearance information storage unit 114, as shown in FIG. 22B.
  • the ancestor path name ID is 3, the element name ID is 4, and the attribute name ID is 0, because the document number is the same, but the word “word” is positioned just two characters behind the “maximum”.
  • the branch information is checked to determine whether the branch order is the same, and an entry satisfying the condition is obtained.
  • Result number, ancestor path name ID, element name ID, attribute name ID, branch order is output to the search result output unit 119 as a result data set 1903.
  • the search result output unit 119 outputs a search result in an appropriate format, for example, by obtaining a document entity of the obtained result data set.
  • the database apparatus uses the ancestor path name ID and element when performing a concatenation operation between the partial character string entries in the text appearance information storage unit 114 for the search expression 2106. It is possible to search for a desired document by selecting a value (1904, 1905) in which the name ID is a specified value, the branching order is the same, and the attribute name ID is 0.
  • the appearance information acquisition unit 118 refers to the appearance position index 110, and performs a concatenation operation between the entry 2001 of “20” and the entry 2002 of “04” in the text appearance information storage unit 114, as shown in FIG. 23B. To do.
  • the appearance information acquisition unit 118 has an ancestor path name ID 3 and an element name ID 4 that are just the same document number and that “20” is positioned two characters behind “04”. Check if the attribute name ID is 2 and the branch order is the same, and find the entry that satisfies the condition. Then, as shown in FIG. 23C, the appearance information acquisition unit 118 searches the result data set 2003 in a format such as (document number, ancestor path name ID, element name ID, attribute name ID, branch order). Result Output to output unit 119.
  • the search result output unit 119 outputs a search result in an appropriate format, for example, by acquiring a document entity of the obtained result data set.
  • the database apparatus for the search expression 2107, performs an ancestor path name ID and an element when performing a concatenation operation between entries of partial character strings in the text appearance information storage unit 114. Select a value (2004, 2005) with the specified name ID, the branch order is the same, and the attribute name ID is the specified value (> 0) (2004, 2005). It becomes possible to search.
  • the database apparatus stores an element appearance information storage unit that stores element appearance information using an element name ID as a key, and element appearance information.
  • An ancestor path appearance information storage unit stored using an ancestor path name ID as a key and an attribute appearance information storage unit stored using attribute name ID as a key are provided. Therefore, this database device can efficiently search for a desired document even with a search expression that specifies only a structural condition.
  • the database device further includes a text appearance information storage unit that stores text character strings of element entities and attribute information of attributes of elements and appearance information of the extracted partial character strings. Provide. For this reason, this database device can perform a character string search not only on the text of the element entity but also on the attribute value.
  • the database device applies the present invention even if the query condition expression is given in another query language having the same meaning as the force described as giving the search condition expression as an X-nos expression in the database search process. It is possible to do.
  • the database apparatus when registering a structured document, a list of element names, ancestor path names, and attribute names indicating the document structure included in the structured document is stored. And an index of appearance position information in the structure document. For this reason, this database device efficiently searches for documents having a desired logical structure not only for search conditions that specify both character string search conditions and structure conditions, but also for various search conditions that specify only structures. You can build a database.
  • the document structure is analyzed to construct dictionary data and appearance position index data, and the structure text
  • a configuration for registering a document and a configuration for efficiently searching a registered document based on dictionary data and appearance position index data for a document indicated by a retrieval formula indicating the accepted document structure are realized simultaneously.
  • a configuration with only registered functions may be implemented as a database construction device, and a configuration with only a search may be implemented as a database retrieval device.
  • dictionary data for elements and ancestor paths and appearance position index data are generated and registered, and a dictionary for attributes in this configuration is registered.
  • the configuration for generating and registering the data and appearance position index data and the configuration for generating and registering the appearance position index data for the text of the element or attribute value in this configuration are simultaneously realized. However, it can be realized as a configuration in which only elements and ancestor paths are registered, a configuration in which attributes are registered for this configuration, or a configuration in which text is added to this configuration and registered. Also good.
  • the database apparatus in the present embodiment has almost the same configuration as that of the first embodiment shown in FIG. However, this database device is different from the first embodiment in the following points.
  • the ancestor path name registration unit 104 has a unique ancestor path name ID for each partial ancestor path name obtained by dividing the ancestor path name that appears in the document into parts. Is registered in the ancestor path name dictionary 108.
  • the appearance information registration unit 106 uses the element name ID as a key for the document number, character position, number of characters, ancestor path name ID string, branch order, and empty element order in which each element appears. And stored in the element appearance information storage unit 111.
  • this database device uses the ancestor path name ID column as a key for the document number, character position, number of characters, element name ID, branch order, and empty element order in which each element appears. To store. In addition, this database device uses the document name, character position, number of characters, element name ID, ancestor path name ID column, branch order, and empty element order information in which each attribute appears, and the attribute name ID as a key for attribute appearance information. The information is stored in the information storage unit 113. This database device also cuts from the text in the element.
  • the value of the attribute of the extracted partial character string and element For the extracted partial character string, the document number, character position, ancestor path name ID string, element name ID, attribute name ID, branch order, empty element that appear
  • the order information is stored in the text appearance information storage unit 114 using the partial character string as a key.
  • step 2201 the input document analysis unit 102 reads one structured document and assigns a unique document number.
  • step 2202 the logical structure of the structure document is analyzed.
  • empty element is an element that does not have any element entity text, including descendant elements
  • empty element order is the first sibling element that has the same parent element. 1 if the element is a force or the immediately preceding sibling element is not an empty element, otherwise 1 (the preceding sibling element is an empty element). The value added with is obtained and arranged in each layer from the highest layer to the element.
  • FIG. 24 is a diagram for explaining the order of empty elements in the second embodiment of the present invention.
  • Figure 24 shows an example of the document tree structure 310 and the empty element order.
  • a square frame with diagonal lines shows elements 2801, 2804, and 2805 including the text of the actual element, and a plain square frame indicates empty elements 2802 and 2803 that do not include the element entity.
  • the character string written in the form of “” represents the information of the empty element order 2806 of each element.
  • the first two numbers "1Z2" indicated by the empty element order of sibling elements 2801 to 2804 correspond to the empty element order of the ancestor elements.
  • the notation method in the order of empty elements is not limited to this.
  • the depth of a hierarchy having a value other than 1 and its value may be displayed side by side. If the empty element order 2806 (“lZ2Z 3”) is expressed in this way, “2: 2, 3: 3” is obtained.
  • the value of depth 1 is “1”, it is omitted, the value of depth 2 is “2”, and the value of depth 3 is “3”. For this reason, when dealing with documents in which empty elements rarely appear, that is, documents whose empty element order value is almost “1”, the latter notation can reduce the size of the appearance position index file.
  • step 2203 as in the first embodiment, the element name registration unit 103 performs a registration process on the element name dictionary 107 for the element name of the element of interest.
  • the ancestor path name registration unit 104 divides the ancestor path name of the element of interest into every three levels, and checks whether each divided ancestor path name after registration is registered in the ancestor path name dictionary 108. Investigate. If it is registered, the corresponding ancestor path name ID is acquired. If it is not registered, a new ancestor path name ID (> 0) is assigned and registered in the ancestor path name dictionary 108. If the depth of the ancestor path name is 3 levels or less, the ancestor path name ID column becomes a single ancestor path name ID as in the first embodiment.
  • FIG. 25A is a diagram for explaining a partial ancestor path name in Embodiment 2 of the present invention
  • FIG. 25B is a diagram showing the contents of an ancestor path name dictionary
  • FIG. 25C is a diagram for explaining an ancestor path name ID column. It is a figure.
  • ancestor path name 2901 excluding element name 2911 from path name 2900 "Z AZBZCZAZBZCZAZBZCJ is further broken down into partial path names ⁇ / ⁇ / ⁇ / CJ (2913, 2 914) and" ZAZBZ "(2915) it can.
  • FIG. 25A ancestor path name 2901 excluding element name 2911 from path name 2900 "Z AZBZCZAZBZCZAZBZCJ is further broken down into partial path names ⁇ / ⁇ / ⁇ / CJ (2913, 2 914) and" ZAZBZ "(2915) it can.
  • FIG. 25A a diagram for
  • the ancestor path name 2905 “ZAZBZC” and “ZAZB” ancestor path IDs 2904 are registered in the contents 2903 of the ancestor path name dictionary 108 as “83” and “25”, respectively.
  • an ancestor path name 2901 is an ancestor path name ID column 2902 “83: 83: 25” using an ancestor path ID 2904 indicating each decomposed ancestor path name 2905 and the symbol “:”. "Can be expressed.
  • an ancestor path name 2901 is divided and an ancestor path name ID 2904 is assigned to each partial ancestor path name 2905, and an ancestor path name that has already been registered with the ancestor element and other elements of the element. ID2904 can be used in common.
  • the number of overlapping ancestor path name IDs can be reduced, and the size of the ancestor path name dictionary 108 can be reduced. Note that although an example in which the ancestor path name is divided every three layers has been described in the present embodiment, the dividing method is not limited to this. For example, it is possible to divide every four layers and change the division width according to the depth of the layer. Also, 1S using the symbol ":" as a delimiter for the ancestor path name ID string may be another delimiter.
  • step 2205 to step 2206 the attribute name registration unit 105 proceeds to the attribute name dictionary 109 of each attribute of the element of interest as in the first embodiment. Registration process.
  • the appearance information registration unit 106 registers the element appearance information related to the element of interest in the element appearance information storage unit 111 using the element name ID as a key.
  • the element appearance information includes the following six types of values: document number, first character position and number of characters (other than tags) included in the element of interest (including descendant elements), ancestor path name ID string, branch It consists of a set of values in order and empty element order. “Character position” represents the number of the first character in the character string in which all texts in the document excluding the tag are connected. If the element of interest is an empty element, the first character position of the text (other than the tag) that appears for the first time after the element of interest is regarded as the first character position of the element of interest.
  • FIG. 26 shows an example of element appearance information.
  • FIG. 26 is a diagram for explaining element appearance information according to the second embodiment of the present invention.
  • the ancestor path name 506 of the element appearance information 541 has an ancestor path name ID column in which one or more ancestor path name IDs are connected by a delimiter instead of a single ancestor path name ID. To be recorded and to include information on the order of 548 empty elements.
  • the appearance information registration unit 106 registers the ancestor path appearance information related to the element of interest in the ancestor path appearance information storage unit 112 using the ancestor path name ID column as a key.
  • the ancestor path appearance information includes the following six types of values: document number, the first character position and number of characters (other than tags) included in the element of interest (including descendant elements), element name ID, branch order , Consisting of a set of values in the order of empty elements.
  • Fig. 27 An example of ancestor path appearance information is shown in Fig. 27.
  • FIG. 27 is a diagram for explaining ancestor path appearance information according to Embodiment 2 of the present invention.
  • the ancestor path appearance information 551 includes the information of the empty element order 548, and the ancestor node name ID 506 includes one or more ancestor path names instead of a single ancestor path name ID.
  • the appearance information registration unit 106 uses the attribute appearance information for each attribute of the element of interest as the attribute appearance information using the attribute name ID as a key. Register in the storage unit 113.
  • the attribute appearance information is composed of the following seven types of value pairs: document number, first character position and number of characters of attribute value, ancestor path name ID string, element name ID, branch order, empty element order.
  • Embodiment 1 The difference from Embodiment 1 is that an ancestor path name ID column in which one or more ancestor path name IDs are combined with a delimiter instead of a single ancestor path name ID in the attribute appearance information ancestor path name ID is recorded. And information on the order of empty elements.
  • the appearance information registration unit 106 cuts out the text power partial character string of the entity content of the element of interest, and registers the text appearance information in the text appearance information storage unit 114 using the cut out partial character string as a key.
  • the text appearance information is not an attribute value, the value “0” is always stored in the attribute name ID.
  • Text appearance information consists of the following seven types of values: document number, leading character position of the extracted partial character string, ancestor path name ID column, element name ID, attribute name ID, branch order, empty element order Consists of a set of values.
  • the ancestor path name ID of the text appearance information is not a single ancestor path name ID, but an ancestor nose name ID column in which one or more ancestor path name IDs are connected by a delimiter. And including information about the order of empty elements.
  • the appearance information registration unit 106 cuts out a partial character string from the attribute value character string of each attribute of the element of interest, The partial character string is registered in the appearance information storage unit 114 as a key.
  • the difference from the first embodiment is that an ancestor path name ID column in which one or more ancestor path name IDs are separated by a delimiter instead of a single ancestor path name ID is recorded in the text appearance information. And including information on the order of empty elements.
  • steps 2214 to 2215 are executed in the same manner as in the first embodiment, and a document is registered to construct a database.
  • the search condition analysis unit 117 obtains an ancestor path name ID from the ancestor path name and converts it into an internal condition. Ancestors This can be realized by changing the process to obtain the ancestor path name ID column from the source name. In other words, the search condition analysis unit 117 divides the ancestor path name into three layers, refers to the ancestor path name dictionary 108, obtains ancestor path name IDs corresponding to the divided partial ancestor path names, and determines the ancestor paths. An ancestor path name ID column is obtained by sequentially separating the name IDs with a delimiter.
  • the format of the ancestor path name ID column is the same as the example shown in Figs. 25A-25C in the description of the document registration process.
  • the appearance information acquisition unit 118 can collate with the ancestor path name ID and change each process to collate with the ancestor path name ID column to obtain the search result. .
  • FIG. 28 is a diagram showing an example of a search expression in Embodiment 2 of the present invention.
  • the search expression 3201 shown in FIG. 28 represents “a Y element that is a sibling element of the X element of the B element child of the A element child of the highest hierarchy and appears after the X element”.
  • the search expression 3 201 is input from the search condition input unit 116.
  • the search condition analysis unit 117 analyzes the search expression 3201, converts it into an internal condition with reference to the element name dictionary 107 and the ancestor path name dictionary 108, and outputs it to the appearance information acquisition unit 118.
  • the ancestor path name ID corresponding to the ancestor path name ⁇ / ⁇ / Bj is 25
  • the element name ID corresponding to the element name “X” is “10”
  • the element name ID is “14”.
  • condition C3 is necessary for the internal condition is that the character position is the same for the empty element and the element located immediately after it, so the values in the order of the empty elements must be compared to determine the context. Because it is.
  • the appearance information acquisition unit 118 refers to the occurrence position index 110, and as shown in FIG. 29A, the element name ID is 10 among the entries whose ancestor path name ID is 25 in the ancestor path appearance information storage unit 112. (Cx) and the element name ID 14 (Cy). Next, Cx and Cy entry pairs 3301 and 3302 that satisfy C1 and (C2 or C3) are obtained. Then, the appearance information acquisition unit 118 As shown in 29B, for example, the result data set 3303 is output to the search result output unit 119 in the format (document number, ancestor path name ID, element name ID, attribute name ID, branch order, empty element order). To do.
  • the search result output unit 119 outputs a search result in an appropriate format, for example, by acquiring a document entity of the obtained result data set.
  • the number of entries of the designated ancestor path name ID in the ancestor nose appearance information storage unit 112 and the number of entries of the specified element name ID in the element appearance information storage unit 111 are calculated. Compare and choose the lesser one, and ask for it.
  • the database device uses the search expression 3201 to refer to the appearance positions of the two elements obtained by referring to the ancestor path appearance information storage unit 112 or the element appearance information storage unit 111. Even if the two elements are the same, that is, when the two elements are in the relationship between the empty element and the next element, the information on the order of the empty elements is compared to eliminate the ambiguity of the context, Can be requested.
  • the ancestor path name registration unit 104 divides the ancestor path name and is unique to each partial ancestor path name after the division. An ID is assigned and registered in the ancestor path name dictionary 108. Therefore, the size of the ancestor path name dictionary can be reduced.
  • the appearance information registration unit 106 also stores information in the order of empty elements in the element appearance information storage unit 111, the ancestor path appearance information storage unit 112, the attribute appearance information storage unit 113, and the text appearance information storage unit 114. To do. Therefore, the database device according to the present embodiment can eliminate the ambiguity of the context that the start character position of the empty element and the element immediately after it are the same, and can obtain the correct LV and the search result.
  • the database device allows the first character of the text to appear first after the element of interest when the element of the structural document is an empty element that does not contain any text.
  • the position is regarded as the first character position of the element of interest. Therefore, the appearance order of empty elements is generated as an appearance position index, and not only when the structured document contains empty elements but also when consecutive empty elements are included, the entire structure of the document structure is displayed.
  • sentence search it is possible to efficiently search for a document indicated by a search expression indicating a document structure including empty elements.
  • the database device registers an ancestor path string based on partial path names obtained by dividing ancestor path names under certain conditions. Therefore, the database device in the present embodiment can reduce the size of the ancestor nose dictionary without accumulating partial paths, and even a structured document containing many structured objects can be obtained. It is possible to efficiently search for the document indicated by the search formula indicating the document structure.
  • the database apparatus when registering a structured document, analyzes the document structure, constructs dictionary data and appearance position index data, and registers the structure document, A configuration in which the document indicated by the retrieval formula indicating the received document structure is efficiently retrieved based on the dictionary data and the appearance position index data is simultaneously realized.
  • it may be realized as a configuration with only a function for registering a structured document or a configuration with only a search.
  • the database apparatus when registering a structured document, the database apparatus according to the present embodiment generates and registers appearance position index data corresponding to an empty element having no text element, and an ancestor path name.
  • FIG. 30 is a block diagram showing a configuration of the database device according to Embodiment 3 of the present invention.
  • the database device in the third embodiment has almost the same configuration as that in the second embodiment.
  • this database device differs from Embodiment 2 in the following points.
  • An appearance information grouping unit 3401 for duplicating information stored in the element appearance information storage unit 111, the ancestor path appearance information storage unit 112, the attribute appearance information storage unit 113, and the text appearance information storage unit 114 is provided. Added.
  • FIG. 31 is a flowchart showing a procedure for document registration processing of the database apparatus according to the third embodiment of the present invention.
  • the processing from steps 2201 to 2215 is the same as in the second embodiment. Since it is the same, description is abbreviate
  • the appearance information group part 3401 is registered in the element appearance information storage part 111 using the same element name ID as a key, and the document number and the character position in the entry group are registered. Collect the entries that have the same value for all four types of information items (number of characters, ancestor path name ID, branch order, empty element order), and set the number of those entries to a threshold (for example, 10 entries). If so, group those entries.
  • the appearance information grouping unit 3401 selects any of the four types of information items (number of characters, ancestor path name ID, branch order, empty element order) from the remaining entry groups excluding the document number and character position.
  • the appearance information group part 3401 similarly creates a group of entries in which the values of the two information items of any force are common.
  • the appearance information grouping part 3401 creates a group of entries in which the value of one type of information item is common, and the last remaining entry is registered as a group having no common information item.
  • FIG. 32 is a diagram for explaining grouped element appearance information according to Embodiment 3 of the present invention.
  • the element appearance information whose element name ID is 14 is grouped, and is composed of group information and individual entries.
  • the group information 3601 to 3604 the values of information items common to the entries 3605 to 3608 belonging to each group and the links to the individual entries'
  • Each entry 3605 belonging to the group stores only the document number and character position.
  • Individual entry 3606 The number of characters is stored together with the document number and character position.
  • Each entry 3607 stores the branch order together with the document number and character position.
  • the fourth group information 3604 is a group having no common information item, and all information items are stored in each entry 3608.
  • each piece of information stored in the ancestor path appearance information storage unit 112, the attribute appearance information storage unit 113, and the text appearance information storage unit 114 also has an information item having a common value other than the document number and the character position. Group them together and complete the database construction process for registering documents.
  • the appearance information acquisition unit 118 of the database apparatus searches all registered information items based on the contents and group information of grouped entries as a process of searching for registered document groups.
  • the search result is obtained in the same manner as in the second embodiment.
  • the appearance information grouping unit 3401 of the database apparatus groups entries stored in the appearance position index 110, and information items that are common within the group. Enclose the values of individual ,. Therefore, the database apparatus in the present embodiment can reduce the index size.
  • the database apparatus groups the parts where information item values are common under certain conditions for the appearance position information of each element, ancestor path, etc. Store in a different structure from the parts that cannot be shared. This reduces the size of the index without duplicating and storing common parts.
  • the database construction device can construct retrieval data having a structure that allows efficient retrieval of structured documents, and is useful for a database device that can efficiently retrieve data.

Landscapes

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

Abstract

 データベース装置は、要素の出現情報を、要素名IDをキーにして格納した要素出現情報格納部と、要素の出現情報を、その要素の祖先パス名IDをキーにして格納した祖先パス出現情報格納部と、属性の出現情報を、属性名IDをキーにして格納した属性出現情報格納部と、要素実体のテキスト文字列と要素の持つ属性の属性値に関する出現情報を、部分文字列をキーにして格納したテキスト出現情報格納部とを備える。このことによって、様々な検索条件での構造化文書を構造条件のみで検索でき、また、属性値に対する文字列検索できるデータベース装置を得る。

Description

明 細 書
データベース構築装置、データベース検索装置、データベース装置、デ ータベース構築方法、及びデータベース検索方法 技術分野
[0001] 本発明は、 XMLなどの論理構造を有する構造化文書を管理するデータベース装 置に関し、特に、大量の構造化文書を蓄積管理するデータベース構築装置とそれに 蓄積された構造化文書を効率良く検索するデータベース検索装置に関する。
背景技術
[0002] 特開 2002— 202973号公報は、構造化文書を論理構造に基づいて登録し、論理 構造を指定して全文検索する構造ィ匕文書管理装置を開示している。
[0003] 図 33は、従来の構造化文書管理装置の構成図である。構造化文書入力部 2402 は登録対象の構造化文書を入力する。構造解析部 2407は入力された構造化文書 を木構造に解析する。検索エンジン 2405内で、構造情報作成部 2408は、各要素 のタグ名(要素名)に名称 IDを割り振り、データ格納部 2406内の名称 IDテーブル格 納部 2418に格納する。また、各要素のパス名称、すなわち、最上位階層から順にタ グ名を連ねて記述した文字列には、パス名称 IDを割り振り、パス名称インデックス格 納部 2416に格納する。各要素のパス階層、すなわち、パス名称の各階層の出現順 序を連ねて記述した文字列には、ノ ス階層 IDを割り当て、パス階層インデックス格納 部 2417に格納する。なお、パス名称の各階層の出現順序は、同じ親要素を持つ同 じタグ名の要素の中で何番目に出現した要素かを示す。実体 (テキスト)を持つ要素( 以下、「要素実体」と記載する)の場合は、各要素実体に対し、検索単位を一意に表 す符合 (以下、「検索単位識別子」と記載する)を割り当て、要素管理テーブル格納 部 2415に格納する。図 34は、従来の構造化文書管理装置における要素管理テー ブルの例を示す図である。図 34においては、要素管理テーブル 2501は、検索単位 識另 U子 2502をキーとして、文書番号 2503、ノ ス名称 ID2504、ノ ス階層 ID2505、 名称 ID2506の組とで構成されて!、る。
[0004] 次に、文字列索引作成部 2409は、各要素実体の内容である文字列に対して、予 め定められた文字数の文字連鎖を取り出す。そして、文字列索引作成部 2409は、こ の文字連鎖について、該当する検索単位識別子と、該文字連鎖先頭文字がその要 素内容において何番目の文字かを表す番号 (以下、「文字位置番号」と記載する)と を文字列索引格納部 2419に格納する。図 35Aは、構造化文書の例を示す。また、 図 35Bは、従来の構造化文書管理装置における文字列索引の例を示す図である。 図 35Bにおいて、文字歹 IJ索引 2602のレコード 2606は、「検索単位識另 U子 2604カ ' 1"の要素の文字列中に、 "構造"という文字連鎖 2603が、文字位置番号 2605が" 1 "、すなわち、要素の先頭から" 1"文字目に存在する」ことを表す。
[0005] 次に、このようにして格納されたデータを用いた検索の概要を説明する。図 36A— 36Cを用いて、従来の構造ィ匕文書管理装置における検索処理の動作を説明する。 図 36 Aは、検索条件の設定例を示す図である。図 36Aにおいて、構造を指定した検 索条件 2701は、「パス名称が" Z論文 Z書誌 Zタイトル"である要素に"構造化"とい う文字列が含まれる文書」、を示す。検索条件解析部 2410は、パス名称インデックス 格納部 2416を参照して、検索条件のパス名称をパス名称 ID"N2"に変換する(270 2)。次に文字列索引検索部 2411は、 "構造化"から 2文字連鎖"構造"ど'造化"を取 り出す。そして、文字列索引を参照して、 "構造"ど'造化"が連続して出現し、かつ、 検索単位識別子が同一のエントリの検索単位識別子を求める(2703)。ここでは、文 字列索引検索結果群として、図 36Cに示すように、検索単位識別子" 1"ど' 8"が求め られたとして説明する。
[0006] 次に、構造照合部 2412は、検索条件 2702、 2703の構造指定を満たす検索結果 を求める。ここで、構造照合部 2412は、文字列索引検索結果群として得られた検索 単位識別子をキーにして、図 36Bに示す要素管理テーブル 2501を検索する。そし て、パス名称 ID力 N2"に一致するエントリを検索結果として決定する。検索結果を 図 36Cに示す。もし、検索条件がタグ名を指定した条件の場合には、構造照合部 24 12は、要素管理テーブルの名称 IDが指定タグ名の名称 IDと一致するエントリを検索 結果とする。また、検索条件が、パス名称とパス階層をともに指定した条件の場合に は、構造照合部 2412は、要素管理テーブルのパス名称 IDが指定したパス名称のパ ス名称 IDと一致し、かつ、パス階層 IDが指定したパス階層のパス階層 IDと一致する エントリを検索結果とする。
[0007] また、特開 2004— 310607号公報は、構造ィ匕文書に含まれる要素を階層構造上 の位置と結び付けるインデクスを生成する文書管理装置を開示して 、る。この文書管 理装置は、階層構造上の位置までの探索経路が同じである要素、すなわち 1の親ノ ードに対して複数の子ノードが存在するような構成の要素であっても、複数の要素そ れぞれを識別して管理することができる。
[0008] 上記従来の構造化文書管理装置は、まず文字列索引を参照して指定された文字 列の出現する検索単位識別子を求めた後、検索単位識別子が指定された構造条件 を満たす力どうかを、要素管理テーブルを参照して判定する。そのため、文書検索を するときに文字列検索条件を指定する必要があり、構造条件だけを指定した検索が できない。すなわち、構造条件だけを指定して検索するためには、全ての検索単位 識別子について構造条件を満たす力どうかについて、要素管理テーブル全体をサ ーチして判定する。そのため、効率が非常に悪いという課題がある。
[0009] また、構造ィ匕文書データを蓄積する際に、全文検索のための検索インデクスデータ に論理構造データを付加するデータ構造としている。そのため、構造条件だけを指 定した検索に対して効率的な検索を可能とする構造の検索用データを構築すること ができない。
[0010] また、文字列索引は要素実体の内容文字列に対してのみ作成されるため、要素の 属性値に対しては文字列検索することができな!/、。
発明の開示
[0011] 本発明のデータベース構築装置は、構造化文書にユニークな文書番号を割り当て るとともに構造を解析する入力文書解析部と、入力文書解析部の解析結果に基づい て、構造化文書に出現する各要素名に対してユニークな要素名 IDを割り当てて要素 名辞書に登録する要素名登録部と、入力文書解析部の解析結果に基づいて、構造 化文書に出現する各祖先ノ ス名に対してユニークな祖先パス名 IDを割り当てて祖先 パス名辞書に登録する祖先パス名登録部と、入力文書解析部の解析結果に基づい て、着目要素の出現する文書番号と文字位置と祖先パス名 IDと分岐順の情報を少 なくとも含む要素出現情報を、要素名 IDをキーとして要素出現情報格納部に登録し 、かつ、文書番号と文字位置と要素名 IDと分岐順の情報を少なくとも含む祖先パス 出現情報を、祖先パス名 IDをキーとして祖先パス出現情報格納部に登録する出現 情報登録部とを備える。
[0012] このデータベース構築装置では、構造ィ匕文書を登録蓄積する際に、要素の出現情 報に基づいて適切な出現情報インデクスを生成する。したがって、文字列検索条件 と構造条件をともに指定した場合だけでなく、文字列検索条件を伴わな 、構造条件 だけを指定した様々な検索条件に対しても、本発明のデータベース構築装置は、所 望の文書を効率良く検索することが可能な構造の検索用データを構築できる。
図面の簡単な説明
[0013] [図 1]図 1は本発明の実施の形態 1におけるデータベース装置の構成を示すブロック 図である。
[図 2]図 2は本発明の実施の形態 1における文書登録処理の手順を示す流れ図であ る。
[図 3]図 3は本発明の実施の形態 1における登録検索対象となる構造ィ匕文書の例を 示す図である。
[図 4]図 4は本発明の実施の形態 1における構造ィ匕文書の論理構造を解析した結果 の例を示す図である。
[図 5]図 5は本発明の実施の形態 1における祖先パス名を説明する図である。
[図 6]図 6は本発明の実施の形態 1における要素名辞書の内容の例を示す図である。
[図 7]図 7は本発明の実施の形態 1における祖先パス名辞書の内容の例を示す図で ある。
[図 8]図 8は本発明の実施の形態 1における属性名辞書の内容の例を示す図である。
[図 9]図 9は本発明の実施の形態 1における文字位置を説明する図である。
[図 10A]図 10Aは本発明の実施の形態 1における要素出現情報を説明する図である
[図 10B]図 10Bは本発明の実施の形態 1における要素出現情報を説明する図である
[図 11]図 11は本発明の実施の形態 1における祖先パス出現情報を説明する図であ る。
圆 12A]図 12Aは本発明の実施の形態 1における属性出現情報を説明する図である 圆 12B]図 12Bは本発明の実施の形態 1における属性出現情報を説明する図である 圆 13]図 13は本発明の実施の形態 1におけるテキスト出現情報を説明する図である
[図 14]図 14は本発明の実施の形態 1における検索式の例を示す図である。
[図 15]図 15は本発明の実施の形態 1におけるデータベース装置の検索処理の手順 を示す流れ図である。
圆 16A]図 16Aは本発明の実施の形態 1における検索条件の例を説明する図である
[図 16B]図 16Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 16C]図 16Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 17A]図 17Aは本発明の実施の形態 1における検索条件の例を説明する図である 圆 17B]図 17Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 17C]図 17Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 18A]図 18Aは本発明の実施の形態 1における検索条件の例を説明する図である
[図 18B]図 18Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 18C]図 18Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 19A]図 19Aは本発明の実施の形態 1における検索条件の例を説明する図である
[図 19B]図 19Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 19C]図 19Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 20A]図 20Aは本発明の実施の形態 1における検索条件の例を説明する図である
[図 20B]図 20Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 20C]図 20Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 21A]図 21Aは本発明の実施の形態 1における検索条件の例を説明する図である 圆 21B]図 21Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 21C]図 21Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 22A]図 22Aは本発明の実施の形態 1における検索条件の例を説明する図である 圆 22B]図 22Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 22C]図 22Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 23A]図 23Aは本発明の実施の形態 1における検索条件の例を説明する図である 圆 23B]図 23Bは本発明の実施の形態 1におけるデータベース装置の検索動作を説 明する図である。
圆 23C]図 23Cは本発明の実施の形態 1における検索結果を説明する図である。 圆 24]図 24は本発明の実施の形態 2における空要素順の説明に用いる図である。 圆 25A]図 25Aは本発明の実施の形態 2における部分祖先パス名を説明する図であ る。
圆 25B]図 25Bは本発明の実施の形態 2における祖先パス名辞書の内容を示す図で ある。
[図 25C]図 25Cは本発明の実施の形態 2における祖先パス名 ID列を説明する図であ る。
圆 26]図 26は本発明の実施の形態 2における要素出現情報を説明する図である。 圆 27]図 27は本発明の実施の形態 2における祖先パス出現情報を説明する図であ る。
[図 28]図 28は本発明の実施の形態 2における検索式の例を示す図である。
圆 29A]図 29Aは本発明の実施の形態 2における検索動作を説明する図である。 圆 29B]図 29Bは本発明の実施の形態 2における検索結果を説明する図である。
[図 30]図 30は本発明の実施の形態 3におけるデータベース装置の構成を示すブロッ ク図である。
[図 31]図 31は本発明の実施の形態 3におけるデータベース装置の文書登録処理の 手順を示す流れ図である。
圆 32]図 32は本発明の実施の形態 3におけるグループ化された要素出現情報を説 明する図である。
圆 33]図 33は従来の構造化文書管理装置の構成図である。
圆 34]図 34は従来の構造ィ匕文書管理装置における要素管理テーブルの例を示す 図である。
[図 35A]図 35Aは従来の構造化文書管理装置で処理する構造化文書の例を示す図 である。
圆 35B]図 35Bは従来の構造ィ匕文書管理装置における文字列索引の例を示す図で ある。
[図 36A]図 36Aは従来の構造化文書管理装置における検索条件の例を説明する図 である。
[図 36B]図 36Bは従来の構造化文書管理装置における検索動作を説明する図であ る。
[図 36C]図 36Cは従来の構造化文書管理装置における検索結果を説明する図であ る。
符号の説明
101 構造化文書群 102 入力文書解析部
103 要素名登録部
104 祖先パス名登録部
105 属性名登録部
106 出現情報登録部
107 要素名辞書
108 祖先パス名辞書
109 属性名辞書
110 出現位置索引
111 要素出現情報格納部
112 祖先パス出現情報格納部
113 属性出現情報格納部
114 テキスト出現情報格納部
115 検索式
116 検索条件入力部
117 検索条件解析部
118 出現情報取得部
119 検索結果出力部
120 検索結果
2101, 2102, 2103, 2104, 2105, 2106, 2107, 3201 検索式
3401 出現情報グループ化部
発明を実施するための最良の形態
(実施の形態 1)
図 1は、本発明の実施の形態 1におけるデータベース装置の構成を示すブロック図 である。図 1において、本実施の形態におけるデータベース装置は、データベースに 登録する構造化文書群 101を入力し、入力された構造ィ匕文書群 101の各文書につ いてユニークな文書番号を割り振るとともに論理構造を解析する入力文書解析部 10
2、入力文書解析部 102の解析結果から、文書に出現する要素名に対してユニーク な識別子 (以下、「要素名 ID」と記載する)を割り当てて要素名辞書 107に登録する 要素名登録部 103、入力文書解析部 102の解析結果から、文書に出現する祖先パ ス名(着目要素の祖先要素の要素名を最上位階層から順にスラッシュで区切って並 ベた文字列で、着目要素自身の要素名は含まな!/、)に対してユニークな識別子 (以 下、「祖先パス名 ID」と記載する)を割り当てて祖先パス名辞書 108に登録する祖先 パス名登録部 104、入力文書解析部 102の解析結果から、文書に出現する属性名 に対してユニークな識別子 (以下、「属性名 ID」と記載する)を割り当てて属性名辞書 109に登録する属性名登録部 105、入力文書解析部 102の解析結果から、出現位 置索引 110の要素出現情報格納部 111、祖先パス出現情報格納部 112、属性出現 情報格納部 113、テキスト出現情報格納部 114に 4種の出現情報を登録する出現情 報登録部 106を備える。さらにデータベース装置は、上述した要素名 IDとそれに対 応する要素名が記録された要素名辞書 107、祖先パス名 IDとそれに対応する祖先 パス名が記録された祖先パス名辞書 108、属性名 IDとそれに対応する属性名が記 録された属性名辞書 109、 4種の出現情報がそれぞれ格納されている出現位置索引 110を備える。この出現位置索引 110は、要素出現情報格納部 111、祖先パス出現 情報格納部 112、属性出現情報格納部 113、テキスト出現情報格納部 114を備える 。要素出現情報格納部 111は、各要素の出現する文書番号、文字位置、文字数、祖 先パス名 ID 分岐順の情報を、要素名 IDをキーにして格納し、祖先パス出現情報格 納部 112は、各要素の出現する文書番号、文字位置、文字数、要素名 ID、分岐順 の情報を、その要素の祖先パス名 IDをキーにして格納し、属性出現情報格納部 113 は、各属性の出現する文書番号、文字位置、文字数、要素名 ID、祖先パス名 ID、分 岐順の情報を、属性名 IDをキーにして格納し、テキスト出現情報格納部 114は、要 素内のテキストから切り出した部分文字列、および要素の持つ属性の値から切り出し た部分文字列に関して、出現する文書番号、文字位置、祖先パス名 ID、要素名 ID、 属性名 ID、分岐順の情報を、部分文字列をキーにして格納する。さらに、データべ ース装置は、検索式 115を受け付ける検索条件入力部 116、検索条件入力部 116 に与えられた検索式を解析し、内部条件に変換して出現情報取得部 118に出力す る検索条件解析部 117、検索条件解析部 117の出力した内部条件に応じて、出現 位置索引 110に格納された 4種の出現情報力 適切な情報を選択して取得し、検索 条件にマッチする結果データ集合を求める出現情報取得部 118、結果データ集合を 適切な形式で検索結果 120として出力する検索結果出力部 119を備える。
[0016] 本実施の形態におけるデータベース装置の動作について説明する。
[0017] はじめに、文書登録するデータベース構築処理について説明する。図 2は、本発明 の実施の形態 1における文書登録処理の手順を示す流れ図である。
[0018] ステップ 2201において、入力文書解析部 102は、構造化文書群 101から構造ィ匕 文書を 1つ読み込んで、文書毎にユニークな文書番号を割り振る。
[0019] ステップ 2202において、入力文書解析部 102は、この文書の論理構造を解析する 。図 3は、本発明の実施の形態 1における登録検索対象となる構造ィ匕文書の例を示 す図である。図 3に示した構造ィ匕文書 101aは、最上位階層にブック (book)要素を 持ち、さらに、ブック要素はタイトル (title)要素と 2つのチヤプタ(chapter)要素を含 む。タイトル要素は、要素実体の文字列"文書検索"を含み、さらに、 1つ目のチヤプ タ要素は別のタイトル要素と 2つのセクション(section)要素および属性値が"歴史" であるキーワード (keyword)属性を持つ。また、入力文書解析部 102が構造ィ匕文書 101aを木構造に解析した結果を図 4に示す。図 4は、本発明の実施の形態 1におけ る構造ィ匕文書の論理構造を解析した結果を示す図である。図 4において、木構造 30 0の四角い枠は要素 301〜303を表し、枠内に記された文字列は要素名 304を示す 。また、楕円の点線枠は属性 305を表し、枠内に記された文字列は属性名 306 (アツ プデート(update) )を示す。
[0020] 木構造 300の最上位階層の要素 301から着目要素に至る経路の途中に存在する 要素 (以下、「祖先要素」と記載する)の要素名をスラッシュ記号" Z"で区切り順に並 ベたものを「パス名」と呼ぶ。パス名の末尾部分、すなわち、着目要素自身の要素名 を除いた部分を「祖先パス名」と呼ぶ。図 5は、本発明の実施の形態 1における祖先 パス名を説明する図である。図 5において、図 4で網掛けを施した要素 302のノ ス名 701は、祖先パス名 702、要素名 703で構成される。
[0021] また、図 4において、各要素の右肩に記した文字列を「分岐順」と呼ぶ。例えば、要 素 302の分岐順 307は「1Z2Z3」である。分岐順は、ノ ス名中の各要素について、 同じ親要素を持つ同じ要素名の要素の中で何番目に出現したかを示す番号を順に 並べたものである。図 4で網掛けした要素 302とその左隣の要素 303とは、パス名は 同じであるが、分岐順 307、 308は異なる。なお、分岐順の表記方法はこれに限らな い。例えば、 1以外の値を持つ階層の深さとその値を並べる方法でもよい。この方法 で分岐順 307を表記すると「2 : 2, 3 : 3」となる。これは、深さ 1の値は「1」なので省略 し、深さ 2の値力「2」であり、深さ 3の値力「3」であるためである。同じ要素名の兄弟要 素がめったに現れない文書、すなわち、分岐順の値がほとんど「1」であるような文書 を格納する場合には、この表記方法の方が出現位置索引ファイルのサイズを小さくで きる。
[0022] ステップ 2203において、要素名登録部 103は、着目要素の要素名が要素名辞書 107に登録済みかどうかを調べる。もし、それが登録済みであれば対応する要素名 I Dを取得し、登録されていなければ新たに要素名 ID ( >0)を割り当てて、要素名と要 素名 IDを要素名辞書 107に登録する。図 6に、図 3で示した構造化文書 101aを登 録処理した後における要素名辞書 107の内容の例 (407)を示す。
[0023] ステップ 2204において、祖先パス名登録部 104は、着目要素の祖先パス名が祖 先パス名辞書 108に登録済み力どうかを調べる。もし、それが登録済みであれば対 応する祖先パス名 IDを取得し、登録されて 、なければ新たに祖先パス名 ID ( >0)を 割り当てて、祖先パス名を祖先パス名辞書 108に登録する。図 7に、図 3で示した構 造ィ匕文書 10 laを登録処理した後における祖先パス名辞書 108の内容の例 (408)を 示す。
[0024] ステップ 2205において、もし、着目要素が属性を持っていれば、ステップ 2206へ 進み、持っていなければ、ステップ 2207へ進む。
[0025] ステップ 2206において、属性名登録部 105は、着目要素の各属性の属性名が属 性名辞書 109に登録済みかどうかを調べる。もし、それが登録済みであれば対応す る属性名 IDを取得し、登録されて ヽなければ新たに属性名 ID ( >0)を割り当てて、 属性名を属性名辞書 109に登録する。ここで、図 8に、図 3で示した構造化文書 101 aを登録処理した後における属性名辞書 109の内容の例 (409)を示す。
[0026] ステップ 2207において、出現情報登録部 106は、着目要素に関する要素出現情 報を、要素名 IDをキーとして要素出現情報格納部 111に登録する。要素出現情報 は、次の 5種類の値の組、すなわち、文書番号、着目要素 (子孫要素も含む)に含ま れる(タグ以外の)テキストの先頭文字位置および文字数、祖先パス名 ID、分岐順の 値の組から構成される。図 9は本実施の形態におけるデータベース装置での文字位 置の数え方を説明する図である。図 9において、テーブル 410は、タグを除く当該文 書内の全てのテキストをつなげた文字列において、各文字 411の文字位置 412を示 す。なお、先頭の文字位置は「0」とする。図 10A—10Bは、本発明の実施の形態 1 における要素出現情報を説明する図である。図 10Bにおいて、図 4で網掛けを施し たセクション要素 302の要素実体 304は、先頭文字 321の文字位置が「115」であり 、要素実体 322全体の文字数が「40」である。セクション要素 302に関する要素出現 情報 501を図 10Aに示す。図 10Aにおいて、セクション要素 302の要素名 ID (502) は「4」、文書番号(503)は「1」である。そして、セクション要素 302は、「115」文字目 (文字位置 504)力 始まる長さ「40」文字 (文字数 505)の要素実体を含む。セクショ ン要素 302の祖先パス名 ID (506)は「3」、分岐順(507)は「1/2/3」である。なお 、祖先パス名 ID506が「3」の祖先パス名は「ZbookZchapter」である。
[0027] ステップ 2208において、出現情報登録部 106は、着目要素に関する祖先パス出 現情報を、祖先パス名 IDをキーとして祖先パス出現情報格納部 112に登録する。こ の祖先パス出現情報は、次の 5種類の値の組、すなわち、文書番号、着目要素 (子 孫要素も含む)に含まれる(タグ以外の)テキストの先頭文字位置および文字数、要 素名 ID、分岐順の値の組で構成する。図 11は、本発明の実施の形態 1における祖 先パス出現情報を説明する図である。図 11において、図 4の網掛けを施した要素 30 2に関する祖先パス出現情報の内容 511を示して 、る。図 10Aと図 11に示すように、 同一要素に関する要素出現情報と祖先パス出現情報は、キーとなる項目が要素名 I D502である力、あるいは、祖先パス名 ID506である力、という点が異なるのみである
[0028] ステップ 2209において、もし、着目要素が属性を持っているならば、ステップ 2210 に進み、着目要素が属性を持っていなければ、ステップ 2211へ進む。
[0029] ステップ 2210において、出現情報登録部 106は着目要素の各属性に関する属性 出現情報を、属性名 IDをキーとして属性出現情報格納部 113に登録する。属性出 現情報は、次の 6種類の値の組、すなわち、文書番号、属性値の先頭文字位置およ び文字数、祖先ノ ス名 ID、要素名 ID、分岐順の値の組から構成される。図 12A— 1 2Bは、本発明の実施の形態 1における属性出現情報を説明する図である。図 12B にお 、て、図 4で網掛けを施したセクション要素 302はアップデート属性 305を含み、 そのアップデート属性 305の属性値 350は、先頭文字 351の文字位置 351が「115」 であり、属性値 305全体の文字数 352が「6」である。なお、属性出現情報における、 属性値の先頭文字の文字位置は、図 12Bに示すように、仮想的に着目要素 322 (子 孫要素も含む)に含まれる(タグ以外の)テキストの先頭文字 321の文字位置と同じ値 とする。セクション要素 302のアップデート属性 305に関する属性出現情報 521を図 12Aに示す。図 12Aにおいて、属性名 ID (522)は「2」、文書番号(503)は「1」であ る。そして、アップデート属性 305は、「115」文字目(文字位置 504)力も始まる長さ「 6」文字 (文字数 505)の属性値を持つ。アップデート属性 305の所属する要素の祖 先パス名 ID (506)は「3」、要素名 ID (502)は「4」、分岐順 (507)は「1/2/3」であ る。なお、属性名 ID力「2」の属性名は「update」であり、祖先パス名 ID506が「3」の 祖先パス名は「ZbookZsection」である。また、要素名 ID502が「4」の要素名は「s ection」で teる。
[0030] ステップ 2211において、出現情報登録部 106は、着目要素の実体内容のテキスト 力も部分文字列を切り出す。そして、テキスト出現情報を、切り出した部分文字列をキ 一としてテキスト出現情報格納部 114に登録する。このとき、属性値と区別するため、 属性名 IDには常に 0を格納する。テキスト出現情報は、次の 6種類の値の組、すなわ ち、文書番号、切り出された部分文字列の先頭文字位置、祖先パス名 ID、要素名 ID 、属性名 ID、分岐順の値の組から構成される。
[0031] ステップ 2212において、もし、着目要素が属性を持っているならば、ステップ 2213 に進み、属性を持っていなければ、ステップ 2214に進む。
[0032] ステップ 2213において、出現情報登録部 106は、着目要素が持つ各属性の属性 値文字列から部分文字列を切り出す。そして、テキスト出現情報格納部 114に部分 文字列をキーとして登録する。なお、属性値は図 11に示す位置に仮想的に出現して いるとして、属性出現情報と同様に、文字位置を算出する。また、ステップ 2213では 、ステップ 2211での処理とは異なり、属性名 IDには、着目している属性の属性名 ID ( >0)を格納する。図 13は、本発明の実施の形態 1におけるテキスト出現情報を説 明する図である。図 13において、テキスト出現情報 531 (—部分)は、図 4で網掛けを 施したセクション要素 302の要素実体 (テキスト)と、セクション要素 302のアップデー ト属性 305の属性値についてのテキスト出現情報を含む。出現情報レコード 1201は 、セクション要素 302の要素実体の例を示す。セクション要素 302の要素実体の部分 文字列(532) "極大"は、文書番号 (503)が「1」の文書の「118」文字目(文字位置 5 04)に現れる。そして、部分文字列の含まれる要素、すなわちセクション要素 302の 祖先パス名 ID (506)は「3」、要素名 ID (502)は「4」、分岐順(507)は「1/2/3」 である。なお、祖先パス名 ID506が 3の祖先パス名は「ZbookZsection」であり、要 素名 ID502が 4の要素名は「chapter」である。ここで、部分文字列 532が属性値で あるか否かは、属性名 ID522に応じて判別できる。ここでは、もし、属性名 IDが「0」 であれば、部分文字列 532は属性値であると判別する。また、出現情報レコード 120 2は、セクション要素 302におけるアップデート属性 305の属性値の例を示す。アップ デート属性 305の属性値の部分文字列(532) "00"は、文書番号(503)が「1」の文 書の「116」文字目(文字位置 504)に現れる。そして、部分文字列の含まれる属性の 要素、すなわちセクション要素 302の祖先パス名 IDは「3」、要素名 ID (502)は「4」、 分岐順 (507)は「1Z2Z3」である。またその要素に属する属性名 ID (522)は「2」で ある。なお、祖先パス名 ID力 「3」の祖先パス名は「ZbookZsection」、要素名 IDが 「4」の要素名は「chapter」、属性名 IDが「2」の属性名は「update」である。
[0033] ステップ 2214において、この文書に出現する全ての要素について処理が終わった 力どうかを調べ、もし未処理の要素が残っていればステップ 2203に戻って処理を繰 り返す。
[0034] ステップ 2215において、全ての入力文書に対して処理が終わったかどうかを調べ 、未処理の文書が残って!/ヽればステップ 2201に戻って処理を繰り返す。
[0035] 以上のようにして、本実施の形態におけるデータベース装置は、文書登録し、デー タベース構築処理を完了する。 [0036] 次に、本実施の形態におけるデータベース装置が登録済みの文書群を検索する 処理に関して説明する。
[0037] 図 14は、本発明の実施の形態 1における検索式の例を示す図である。これらの検 索式 2101— 2107は W3C (World Wide Web Consortium)の勧告として公開 されているエックスパス(XPath)言語で記述されている。なお、エックスパス言語の詳 細な仕様は URL"http : ZZwww. w3. orgZTRZxpath"に記載されている。
[0038] 検索式 2101は「最上位階層のブック要素の子のチヤプタ要素の子であるタイトル 要素」を表す。検索式 2102は「最上位階層のブック要素の子のチヤプタ要素のいず れかの子要素」を表す。検索式 2103は、「いずれかの階層にあるタイトル要素」を表 す。検索式 2104は「最上位階層のブック要素の子のチヤプタ要素の子の 2番目のセ クシヨン要素」を表す。検索式 2105は、「最上位階層のブック要素の子のチヤプタ要 素の子のセクション要素のアップデート属性」を表す。検索式 2106は、「最上位階層 のブック要素の子のチヤプタ要素の子のセクション要素で、かつ要素実体内容に"極 大単語"という文字列を含む要素」を表す。検索式 2107は、「最上位階層のブック要 素の子のチヤプタ要素の子のセクション要素のアップデート属性で、かつその属性値 に" 2004"という文字列を含む属性」を表す。
[0039] 次に、それぞれの検索式に対して、本実施の形態におけるデータベース装置が検 索処理する動作を順に説明する。
[0040] (検索式 2101の場合)
まず、検索式 2101を検索条件として与えた場合の動作について説明する。図 15 は、本発明の実施の形態 1におけるデータベース装置の検索処理の手順を示す流 れ図である。
[0041] ステップ 2301において、検索条件入力部 116は検索式 2101を入力する。
[0042] ステップ 2302において、検索条件解析部 117は、図 16Aに示すように、入力され た検索式 2101を解析し、要素名辞書 107、祖先パス名辞書 108を参照して内部条 件「祖先パス名 ID = 3かつ要素名 ID = 2」に変換する。そして結果を出現情報取得 部 118に出力する。
[0043] ステップ 2303において、出現情報取得部 118は、出現位置索引 110を参照し、要 素出現情報格納部 111における要素名 ID = 2のエントリ数 Nを取得する。
[0044] ステップ 2304において、出現情報取得部 118は、出現位置索引 110を参照し、祖 先パス出現情報格納部 112における祖先パス名 ID = 3のエントリ数 Mを取得する。
[0045] ステップ 2305において、出現情報取得部 118は、取得したエントリ数 Nとエントリ数 Mとを比較する。もし、 N< Mならば、ステップ 2306へ進み、そうでなければ、ステツ プ 2310へ進む。図 16Bは、要素出現情報格納部 111における要素名 ID= 2のェン トリ 1301、図 17Bは祖先パス出現情報格納部 112における祖先パス名 ID = 3のェン トリ 1401の例を示す。図 16Aに示した例では、 N = 8、 M= 12である。この場合、 N く Mとなり、ステップ 2306へ進む。図 16Bの要素出現情報格納部 111を選択する。
[0046] ステップ 2306において、出現情報取得部 118は、要素出現情報格納部 111の要 素名 ID = 2のエントリ 1301から 1つ取得する。
[0047] ステップ 2307において、出現情報取得部 118は、このエントリの祖先パス名 IDが 3 であるかどうかを調べる。そして、もし祖先パス名 IDが 3であればステップ 2308へ進 み、そうでなければ、ステップ 2309へ進む。
[0048] ステップ 2308において、出現情報取得部 118は、このエントリのデータを結果デー タ集合 1302に追加する。図 16Cに結果データ集合を示す。結果データ集合 1302 の各データは、例えば、(文書番号,祖先パス名 ID,要素名 ID,属性名 ID,分岐順) のような形式で格納される。
[0049] ステップ 2309において、出現情報取得部 118は、 Nエントリ全てについて処理した か調べる。もし、まだ処理していないエントリがあればステップ 2306に戻って処理を 繰り返す。
[0050] 次に、ステップ 2305において、出現情報取得部 118は、 N< Mでないと判定した 場合には、ステップ 2310へ進む。そして、出現情報取得部 118は、図 17Bに示すよ うに、祖先パス出現情報格納部 112における祖先パス名 ID= 3の各エントリ 1401を 調べる。そして、出現情報取得部 118は、要素名 IDが 2であるものを求め、図 17Cに 示すように結果データ集合 1402に追加する(ステップ 2310〜ステップ 2313)。
[0051] ステップ 2314において、出現情報取得部 118は、求められた結果データ集合を検 索結果出力部 119に出力する。検索結果出力部 119は求めた結果データ集合の文 書実体を取得するなどして適切な形式で検索結果を出力する。
[0052] このように、本実施の形態におけるデータベース装置は、検索式 2101に対しては 、要素出現情報格納部 111における指定した要素名 IDのエントリから指定した祖先 パス名 IDを持つものを選ぶ処理と、祖先パス出現情報格納部 112における指定した 祖先パス名 IDのエントリから指定した要素名 IDを持つエントリを選ぶ処理のどちらか 、エントリ数の少ない方を選択する。そのため、検索対象構造化文書群の論理構造 の特性に応じて処理量を抑えることができ、所望の文書を効率良く検索できる。
[0053] (検索式 2102の場合)
次に、検索条件入力部 116に検索式 2102を入力した場合の動作について説明す る。検索条件解析部 117は、図 18Aに示すように、検索式 2102を解析し、祖先パス 名辞書 108を参照して内部条件「祖先パス名 ID = 3」に変換する。そして、結果を出 現情報取得部 118に出力する。出現情報取得部 118は、出現位置索引 110を参照 し、図 18Bに示すように祖先パス出現情報格納部 112における祖先パス名 ID = 3の 全てのエントリ 1501を求める。そして、例えば (文書番号,祖先パス名 ID,要素名 ID ,属性名 ID,分岐順)のような形式で、図 18Cに示すように、結果データ集合 1502と して検索結果出力部 119に出力する。検索結果出力部 119は求めた結果データ集 合 1502の文書実体を取得するなどして適切な形式で検索結果を出力する。
[0054] このように、本実施の形態におけるデータベース装置は、検索式 2102に対しては 、祖先パス出現情報格納部 112における指定した祖先パス名 IDのエントリを取得す るだけで良いため、所望の文書を効率良く検索できる。
[0055] (検索式 2103の場合)
次に、検索条件入力部 116に検索式 2103を入力した場合の動作について説明す る。検索条件解析部 117は、図 19Aに示すように、検索式 2103を解析し、要素名辞 書 107を参照して内部条件「要素名 ID = 2」に変換する。そして、結果を出現情報取 得部 118に出力する。出現情報取得部 118は、出現位置索引 110を参照し、図 19B のように要素出現情報格納部 111における要素名 ID = 2の全てのエントリ 1601を求 める。そして、例えば (文書番号,祖先パス名 ID,要素名 ID,属性名 ID,分岐順)の ような形式で、図 19Cに示すように、結果データ集合 1602を検索結果出力部 119に 出力する。検索結果出力部 119は求められた結果データ集合 1602の文書実体を 取得するなどして適切な形式で検索結果を出力する。
[0056] このように、本実施の形態におけるデータベース装置は、検索式 2103に対しては 、要素出現情報格納部 111における指定した要素名 IDのエントリを取得するだけで 良いため、所望の文書を効率良く検索することができる。
[0057] (検索式 2104の場合)
次に、検索条件入力部 116に検索式 2104を入力した場合の動作について説明す る。検索条件解析部 117は図 20Aに示すように、検索式 2104を解析し、要素名辞 書 107、祖先パス名辞書 108を参照して内部条件「祖先パス名 ID = 3かつ要素名 ID =4かつ分岐順 = *Z*Z2」に変換する。そして、結果を出現情報取得部 118に 出力する。分岐順のアスタリスク「 *」の部分はどんな数字でもマッチすることを表す。 出現情報取得部 118は、出現位置索引 110を参照して、要素出現情報格納部 111 における要素名 ID = 4のエントリ数 Nと祖先ノ ス出現情報格納部 112における祖先 パス名 ID = 3のエントリ数 Mとを求める。そして、エントリ数 Nと Mとを比較し、少ない 方を選択する。もし、 N< Mでなければ、図 20Bに示すように祖先パス出現情報格納 部 112における祖先パス名 ID = 3の各エントリ 1701を調べる。要素名 IDが 4であり、 かつ分岐順が「*Z*Z2」であるエントリのデータを求める。そして、結果データ集 合 1702として、図 20Cに示すように、例えば (文書番号,祖先パス名 ID,要素名 ID ,属性名 ID,分岐順)のような形式で検索結果出力部 119に出力する。もし、 N< M ならば、図示しな!、要素出現情報格納部 111における要素名 ID =4の各エントリを 調べる。そして、祖先ノ ス名 IDが 3であり、かつ分岐順が「*Z*Z2」であるエントリ のデータを求め、結果データ集合 1702として検索結果出力部 119に出力する。検 索結果出力部 119は求められた結果データ集合の文書実体を取得するなどして適 切な形式で検索結果を出力する。
[0058] このように、本実施の形態におけるデータベース装置は、検索式 2104に対しては 、要素出現情報格納部 111における指定した要素名 IDのエントリから指定した祖先 パス名 IDと分岐順を持つものを選ぶ処理と、祖先パス出現情報格納部 112における 指定した祖先ノ ス名 IDのエントリから指定した要素名 IDと分岐順を持つものを選ぶ 処理の、どちら力、エントリ数の少ない方を選択する。これにより、検索の処理量を減 らすことが可能となり、所望の文書を効率良く検索することができる。
[0059] (検索式 2105の場合)
次に、検索条件入力部 116に検索式 2105を入力した場合の動作について説明す る。検索条件解析部 117は、図 21Aに示すように、検索式 2105を解析し、要素名辞 書 107、祖先パス名辞書 108、属性名辞書 109を参照して内部条件「祖先パス名 ID = 3かつ要素名 ID=4かつ属性名 ID= 2」に変換する。そして、結果を出現情報取 得部 118に出力する。出現情報取得部 118は、出現位置索引 110を参照し、図 21B に示すように属性出現情報格納部 113における属性名 ID = 2の各エントリ 1801を調 ベる。そして、祖先パス名 IDが 3であり、要素名 IDが 4であるエントリのデータを求め る。そして、出現情報取得部 118は、図 21Cに示すように、例えば (文書番号,祖先 パス名 ID,要素名 ID,属性名 ID,分岐順)のような形式で結果データ集合 1802とし て検索結果出力部 119に出力する。検索結果出力部 119は求められた結果データ 集合の文書実体を取得するなどして適切な形式で検索結果を出力する。
[0060] このように、本実施の形態におけるデータベース装置は、検索式 2105に対しては 、属性出現情報格納部 113における指定した属性名 IDのエントリから指定した祖先 パス名 IDと要素名 IDを持つものを選び、所望の文書を検索することが可能となる。
[0061] (検索式 2106の場合)
次に、検索条件入力部 116に検索式 2106を入力した場合の動作について説明す る。検索条件解析部 117は、図 22Aに示すように、検索式 2106を解析し、要素名辞 書 107、祖先パス名辞書 108を参照して内部条件「祖先パス名 ID = 3かつ要素名 ID =4かつ要素内に文字列"極大単語"を含む」に変換する。そして、結果を出現情報 取得部 118に出力する。出現情報取得部 118は、出現位置索引 110を参照し、図 2 2Bに示すように、テキスト出現情報格納部 114における"極大"のエントリ 1901と、 " 単語"のエントリ 1902とで連接演算する。その際、文書番号が同一であることど'単語 "が"極大"の 2文字後方に位置することだけでなぐ祖先パス名 IDが 3、かつ要素名 I Dが 4、かつ属性名 IDが 0、かつ分岐順が同一であるかチェックして、条件を満たす エントリを求める。そして、出現情報取得部 118は、図 22Cに示すように、例えば (文 書番号,祖先パス名 ID,要素名 ID,属性名 ID,分岐順)のような形式で結果データ 集合 1903として検索結果出力部 119に出力する。検索結果出力部 119は、求めら れた結果データ集合の文書実体を取得するなどして適切な形式で検索結果を出力 する。
[0062] このように、本実施の形態におけるデータベース装置は、検索式 2106に対しては 、テキスト出現情報格納部 114における部分文字列のエントリ同士で連接演算する 際に、祖先パス名 IDおよび要素名 IDが指定した値であって、分岐順が同一であり、 かつ属性名 IDが 0であるもの(1904、 1905)を選び、所望の文書を検索することが 可能となる。
[0063] (検索式 2107の場合)
次に、検索条件入力部 116に検索式 2107を入力した場合の動作について説明す る。検索条件解析部 117は、図 23Aに示すように、検索式 2107を解析し、要素名辞 書 107、祖先パス名辞書 108、属性名辞書 109を参照して内部条件「祖先パス名 ID = 3かつ要素名 ID=4かつ属性名 ID= 2かつ属性値に文字列" 2004"を含む」に変 換する。そして、結果を出現情報取得部 118に出力する。出現情報取得部 118は、 出現位置索引 110を参照し、図 23Bに示すように、テキスト出現情報格納部 114に おける" 20"のエントリ 2001と" 04"のエントリ 2002との間で、連接演算する。その際 、出現情報取得部 118は、文書番号が同一であることと" 20"が" 04"の 2文字後方に 位置することだけでなぐ祖先パス名 IDが 3、かつ要素名 IDが 4、かつ属性名 IDが 2 、かつ分岐順が同一であるかをチェックし、条件を満たすエントリを求める。そして、出 現情報取得部 118は、図 23Cに示すように、例えば (文書番号,祖先パス名 ID,要 素名 ID,属性名 ID,分岐順)のような形式で結果データ集合 2003として検索結果 出力部 119に出力する。検索結果出力部 119は求められた結果データ集合の文書 実体を取得するなどして適切な形式で検索結果を出力する。
[0064] このように、本実施の形態におけるデータベース装置は、検索式 2107に対しては 、テキスト出現情報格納部 114における部分文字列のエントリ同士で連接演算する 際に、祖先パス名 IDおよび要素名 IDが指定した値であって、分岐順が同一であり、 かつ属性名 IDが指定した値(>0)であるもの(2004、 2005)を選び、所望の文書を 検索することが可能となる。
[0065] 以上説明したように、本実施の形態におけるデータベース装置は、要素の出現情 報を、要素名 IDをキーにして格納した要素出現情報格納部と、要素の出現情報を、 その要素の祖先パス名 IDをキーにして格納した祖先パス出現情報格納部と、属性の 出現情報を、属性名 IDをキーにして格納した属性出現情報格納部とを設ける。その ため、このデータベース装置は、構造条件だけを指定した検索式に対しても効率良く 所望の文書を検索することができる。
[0066] また、本実施の形態におけるデータベース装置は、要素実体のテキスト文字列およ び要素の持つ属性の属性値力 切り出した部分文字列の出現情報を格納したテキ スト出現情報格納部をさらに設ける。そのため、このデータベース装置は、要素実体 のテキストに対してだけでなく属性値に対しても文字列検索できる。
[0067] なお、本実施の形態におけるデータベース装置は、データベース構築処理におい て、要素実体や属性値力 固定長の 2文字連鎖で部分文字列を切り出す説明したが 、他の切り出し方法、例えば特開平 8— 249354号公報「文書検索装置および単語 索引作成方法および文書検索方法」に記載の方法等でも構わない。
[0068] また、本実施の形態におけるデータベース装置は、データベース検索処理におい て、検索条件式をエックスノ ス式で与えるとして説明した力 同様の意味を表す他の クエリ言語で与えるとしても本発明を適用することは可能である。
[0069] このようにすることによって、本実施の形態におけるデータベース装置では、構造ィ匕 文書の登録の際に、構造化文書に含まれる文書構造を示す要素名と祖先パス名と 属性名の一覧と、それらの構造ィヒ文書中での出現位置情報のインデクスを生成する 。そのため、このデータベース装置は、文字列検索条件と構造条件をともに指定した 検索条件のみならず、構造だけを指定した様々な検索条件に対しても、所望の論理 構造を持つ文書を効率良く検索するデータベースを構築できる。
[0070] また、要素実体のテキスト文字列に対してだけでなぐ属性値に対しても文字列検 索できる。
[0071] なお、本実施の形態におけるデータベース装置では、構造化文書を登録する際に 、文書構造を解析して辞書データおよび出現位置索引データを構築して構造ィ匕文 書を登録する構成と、受け付けた文書構造を示す検索式に示される文書を辞書デー タおよび出現位置索引データに基づいて登録文書を効率的に検索する構成とを、 同時に実現する形態とした。しかし、登録する機能のみの構成をデータベース構築 装置として、ある 、は検索のみの構成をデータベース検索装置として実現してもよ ヽ
[0072] なお、本実施の形態におけるデータベース装置では、構造化文書を登録する際に 、要素と祖先パスに対する辞書データならびに出現位置索引データを生成して登録 する構成と、この構成に属性に対する辞書データならびに出現位置索引データを生 成して登録する構成と、さらにこの構成に要素や属性値のテキストに対する出現位置 索引データを生成して登録する構成とを同時に実現する形態とした。しかし、要素と 祖先パスのみを対象として登録する構成、あるいは、この構成に属性を対象にカ卩えて 登録する構成、あるいは、さらにこの構成にテキストを対象に加えて登録する構成とし て実現してもよい。
[0073] (実施の形態 2)
次に、本実施の形態 2におけるデータベース装置の構成と動作について説明する 。本実施の形態におけるデータベース装置は、図 1に示した実施の形態 1とほぼ同じ 構成をしている。しかし、このデータベース装置は、次の点が実施の形態 1とは異なつ ている。このデータベース装置は、祖先パス名登録部 104が、文書に出現する各祖 先パス名に対してではなぐ祖先パス名をいくつかに分割した各部分祖先パス名に 対してユニークな祖先パス名 IDを割り当てて祖先パス名辞書 108に登録する。また、 このデータベース装置は、出現情報登録部 106が、各要素の出現する文書番号、文 字位置、文字数、祖先パス名 ID列、分岐順、空要素順の情報を、要素名 IDをキーに して要素出現情報格納部 111へ格納する。また、このデータベース装置は、各要素 の出現する文書番号、文字位置、文字数、要素名 ID、分岐順、空要素順の情報を、 祖先パス名 ID列をキーにして祖先パス出現情報格納部 112へ格納する。また、この データベース装置は、各属性の出現する文書番号、文字位置、文字数、要素名 ID、 祖先パス名 ID列、分岐順、空要素順の情報を、属性名 IDをキーにして属性出現情 報格納部 113へ格納する。また、このデータベース装置は、要素内のテキストから切 り出した部分文字列、および要素の持つ属性の値力 切り出した部分文字列に関し て、出現する文書番号、文字位置、祖先パス名 ID列、要素名 ID、属性名 ID、分岐 順、空要素順の情報を、部分文字列をキーにしてテキスト出現情報格納部 114へ格 納する。
[0074] 本実施の形態におけるデータベース装置が文書登録しデータベース構築する処 理の動作について図 2を用いて説明する。なお、実施の形態 1と同様の処理につい ては説明を省略する。
[0075] ステップ 2201において、入力文書解析部 102は構造化文書を 1つ読み込みュ- ークな文書番号を割り振る。
[0076] ステップ 2202において、この構造ィ匕文書の論理構造を解析する。その際、実施の 形態 1の場合での処理に加え、各要素に関する「空要素順」の情報についても求め る。ここで、「空要素」とは、子孫要素を含めて要素実体のテキストを全く持たない要 素のことであり、「空要素順」とは、同じ親要素を持つ兄弟要素のうちで、先頭の要素 である力もしくは直前の兄弟要素が空要素でない要素の場合には 1、それ以外の場 合、すなわち、直前の兄弟要素が空要素である場合には、その空要素順の値に 1を 加えた値を、最上位階層から当該要素に至るまでの各階層において求めて並べたも のである。
[0077] 図 24は、本発明の実施の形態 2における空要素順の説明する図である。図 24にお いて、文書の木構造 310と空要素順の一例を示す。斜線模様の四角い枠は要素実 体のテキストを含む要素 2801、 2804、 2805を、無地の四角い枠は要素実体を含ま ない空要素 2802、 2803を、各要素の右肩に「1/2/3」の形式で記された文字列 は、各要素の空要素順 2806の情報を表す。
[0078] 兄弟要素 2801〜2804の空要素順が示す最初の 2つの数字「1Z2」は祖先要素 の空要素順にあたる。兄弟要素に共通であり、末尾の数字 nが兄弟要素毎に変わりう る。要素 2801は兄弟要素の中の先頭要素であるので n= lとなる。要素 2802は直 前の要素 2801が空要素ではないので n= lとなる。要素 2803は直前の要素 2802 が空要素なので 1を加えて n= 2となる。要素 2804は直前の要素 2803が空要素な のでさらに 1をカ卩えて n= 3となる。したがって、兄弟要素 2801〜2804の空要素順は それぞれ、 Γΐ/2/lJ , Γΐ/2/lJ , Γΐ/2/2] ,「1/2/3」となる。
[0079] なお、空要素順の表記方法はこれに限らない。例えば、 1以外の値を持つ階層の 深さとその値を並べて表記する方法でもよい。この方法で空要素順 2806 (「lZ2Z 3」)を表記すると、「2 : 2, 3 : 3」となる。ここで、深さ 1の値は「1」なので省略し、深さ 2 の値が「2」であり、深さ 3の値が「3」である。そのため、空要素がほとんど現れない文 書、すなわち、空要素順の値がほとんど「1」である文書を扱う場合には、後者の表記 方法の方が出現位置索引ファイルのサイズを小さくできる。
[0080] ステップ 2203において、実施の形態 1と同様に、要素名登録部 103は、着目要素 の要素名について、要素名辞書 107への登録処理をする。
[0081] ステップ 2204において、祖先パス名登録部 104は、着目要素の祖先パス名を 3階 層毎に分割し、分割後の各部分祖先パス名が祖先パス名辞書 108に登録済みかど うかを調べる。もし、それが登録済みであれば対応する祖先パス名 IDを取得し、それ が登録されて 、なければ新たに祖先パス名 ID ( > 0)を割り当てて、祖先パス名辞書 108に登録する。なお、祖先パス名の深さが 3階層以下ならば、祖先パス名 ID列は、 実施の形態 1の場合と同じように単一の祖先パス名 IDとなる。
[0082] 図 25Aは、本発明の実施の形態 2における部分祖先パス名を説明する図、図 25B は、祖先パス名辞書の内容を示す図、図 25Cは、祖先パス名 ID列を説明する図で ある。図 25Aにおいて、パス名 2900より要素名 2911を除いた祖先パス名 2901「Z AZBZCZAZBZCZAZBZCJは、さらに部分パス名 Γ/Α/Β/CJ (2913、 2 914)と「ZAZBZ」(2915)とに分解できる。ここで、図 25Bに示すように、祖先パス 名辞書 108の内容 2903に、祖先パス名 2905「ZAZBZC」、「ZAZB」の祖先パ ス ID2904力 それぞれ「83」、「25」と登録されている。この場合、図 25Cに示すよう に、祖先パス名 2901は、分解した各祖先パス名 2905を示す祖先パス ID2904と、 記号「:」を用いて、祖先パス名 ID列 2902「83: 83: 25」のように表現できる。
[0083] このように、祖先パス名 2901を分割して各部分祖先パス名 2905に祖先パス名 ID 2904を割り当て、当該要素の祖先要素や他の要素との間で、登録済みの祖先パス 名 ID2904を共通に用いることができる。また、祖先パス名 IDの重なる数を小さくでき 、祖先パス名辞書 108のサイズを小さくできる。 [0084] なお、本実施例では祖先パス名を 3階層毎に分割する例を示したが、分割の方法 はこれに限らない。例えば 4階層毎に分割し、階層の深さによって分割幅を変化させ るようにしても構わない。また、祖先パス名 ID列の区切り文字として記号":"を用いた 1S 他の区切り文字でも構わない。
[0085] もし、着目要素が属性を持っているならば、ステップ 2205〜ステップ 2206におい て、属性名登録部 105は、実施の形態 1と同様に、着目要素の各属性の属性名辞書 109への登録処理をする。
[0086] ステップ 2207において、出現情報登録部 106は、着目要素に関する要素出現情 報を、要素名 IDをキーとして要素出現情報格納部 111に登録する。要素出現情報 は、次の 6種類の値の組、すなわち、文書番号、着目要素 (子孫要素も含む)に含ま れる (タグ以外の)テキストの先頭文字位置および文字数、祖先パス名 ID列、分岐順 、空要素順の値の組から構成される。なお、「文字位置」は、タグを除く当該文書内の 全てのテキストをつなげた文字列において先頭力 何文字目にあたるかで表す。ま た、着目要素が空要素である場合には、着目要素以降に初めて現れる (タグ以外の) テキストの先頭文字位置を着目要素の先頭文字位置とみなす。要素出現情報の一 例を図 26に示す。図 26は、本発明の実施の形態 2における要素出現情報を説明す る図である。実施の形態 1と異なるのは、要素出現情報 541の祖先パス名 506に、単 一の祖先パス名 IDではなく 1つ以上の祖先パス名 IDを区切り文字で連ねた祖先パ ス名 ID列が記録されることと、空要素順 548の情報を含むことである。
[0087] ステップ 2208において、出現情報登録部 106は、着目要素に関する祖先パス出 現情報を、祖先パス名 ID列をキーとして祖先パス出現情報格納部 112に登録する。 祖先パス出現情報は、次の 6種類の値の組、すなわち、文書番号、着目要素 (子孫 要素も含む)に含まれる(タグ以外の)テキストの先頭文字位置および文字数、要素 名 ID、分岐順、空要素順の値の組で構成する。祖先パス出現情報の一例を図 27に 示す。図 27は、本発明の実施の形態 2における祖先パス出現情報を説明する図で ある。実施の形態 1と異なるのは、祖先パス出現情報 551に空要素順 548の情報を 含むことと、祖先ノ ス名 ID506に、単一の祖先パス名 IDではなく 1つ以上の祖先パ ス名 IDを区切り文字で連ねた祖先パス名 ID列をキーとして登録することである。 [0088] もし、着目要素が属性を持っているならば、ステップ 2209〜ステップ 2210におい て、出現情報登録部 106は着目要素の各属性に関する属性出現情報を、属性名 ID をキーとして属性出現情報格納部 113に登録する。属性出現情報は、次の 7種類の 値の組、すなわち、文書番号、属性値の先頭文字位置および文字数、祖先パス名 I D列、要素名 ID、分岐順、空要素順の値の組から構成される。実施の形態 1と異なる のは、属性出現情報の祖先パス名 IDに単一の祖先パス名 IDではなく 1つ以上の祖 先パス名 IDを区切り文字で連ねた祖先パス名 ID列を記録することと、空要素順の情 報を含むことである。
[0089] ステップ 2211において、出現情報登録部 106は、着目要素の実体内容のテキスト 力 部分文字列を切り出し、テキスト出現情報を、切り出した部分文字列をキーとして テキスト出現情報格納部 114に登録する。ただし、テキスト出現情報は属性値ではな いので、属性名 IDには常に値「0」を格納する。テキスト出現情報は、次の 7種類の値 の組、すなわち、文書番号、切り出した部分文字列の先頭文字位置、祖先パス名 ID 列、要素名 ID、属性名 ID、分岐順、空要素順の値の組から構成される。実施の形態 1と異なるのは、テキスト出現情報の祖先パス名 IDに単一の祖先パス名 IDではなく、 1つ以上の祖先パス名 IDを区切り文字で連ねた祖先ノ ス名 ID列が記録されることと 、空要素順の情報を含むことである。
[0090] もし、着目要素が属性を持っているならば、ステップ 2212〜ステップ 2213におい て、出現情報登録部 106は、着目要素が持つ各属性の属性値文字列から部分文字 列を切り出し、テキスト出現情報格納部 114に部分文字列をキーとして登録する。ス テツプ 2211と同様に、実施の形態 1と異なるのは、テキスト出現情報に単一の祖先 パス名 IDではなく 1つ以上の祖先パス名 IDを区切り文字で連ねた祖先パス名 ID列 を記録することと、空要素順の情報を含むことである。
[0091] 以降、ステップ 2214〜2215を実施の形態 1と同様に実行し、文書登録してデータ ベース構築する。
[0092] 次に、登録済みの文書群を検索する処理に関して説明する。実施の形態 1で示し た検索式と同様の形式の検索式による索処理については、検索条件解析部 117に おいて、祖先パス名から祖先パス名 IDを求めて内部条件に変換する処理を、祖先パ ス名から祖先パス名 ID列を求める処理に変更することで実現できる。すなわち、検索 条件解析部 117は祖先パス名を 3階層毎に分割し、祖先パス名辞書 108を参照して 分割後の各部分祖先パス名に対応する祖先パス名 IDを求め、それらの祖先パス名 I Dを順に区切り文字で区切って並べ祖先パス名 ID列を求める。祖先パス名 ID列の 形式は、文書登録処理の説明で図 25A—25Cに示した例と同様であり、祖先パス名 の深さが 3階層以下の場合には単一の祖先パス名 IDとなる。実施の形態 1では出現 情報取得部 118にお 、て祖先パス名 IDで照合して 、た各処理を、祖先パス名 ID列 で照合するように変更することで、検索結果を求めることができる。
[0093] (検索式 3201の場合)
図 28は、本発明の実施の形態 2における検索式の例を示す図である。図 28に示 す検索式 3201は「最上位階層の A要素の子の B要素の子の X要素の兄弟要素であ り、かつ、 X要素より後ろに現れる Y要素」を表す。検索条件入力部 116より検索式 3 201を入力する。検索条件解析部 117は、検索式 3201を解析し、要素名辞書 107 、祖先パス名辞書 108を参照して内部条件に変換し、出現情報取得部 118に出力 する。ただし、内部条件は、「C1かつ(C2または C3)、ただし、 Cx: {祖先パス名 ID = 25かつ要素名 ID= 10}、 Cy: {祖先パス名 ID= 25かつ要素名 ID= 14}、 Cl : {Cx と Cyの文書番号が同一で、かつ分岐順が末尾以外等しい }、 C2 : {Cxより Cyの方が 文字位置の値が大きい }、 C3 : {Cxと Cyの文字位置の値が等しぐかつ Cxより Cyの 方が空要素順の末尾の値が大きい }」である。ここで、祖先パス名 Γ/Α/Bjに対応 する祖先パス名 IDは 25であり、要素名「X」に対応する要素名 IDは「10」であり、要 素名「Y」に対応する要素名 IDは「14」ある。ここで内部条件に条件 C3を必要とする 理由は、空要素とその直後に位置する要素では文字位置が同一になるため、前後 関係を判断するために空要素順の値を比較しなければならな 、からである。
[0094] 本発明の実施の形態 2における検索動作を説明する。出現情報取得部 118は、出 現位置索引 110を参照し、図 29Aに示すように、祖先パス出現情報格納部 112にお ける祖先パス名 IDが 25であるエントリのうち、要素名 IDが 10であるもの(Cx)、およ び要素名 IDが 14であるもの(Cy)を求める。続いて、 C1かつ(C2または C3)を満た す Cx、 Cyのエントリの組 3301、 3302を求める。そして、出現情報取得部 118は、図 29Bに示すように、例えば、(文書番号,祖先パス名 ID,要素名 ID,属性名 ID,分岐 順,空要素順)のような形式で結果データ集合 3303として検索結果出力部 119に出 力する。検索結果出力部 119は、求めた結果データ集合の文書実体を取得するなど して適切な形式で検索結果を出力する。
[0095] なお、 Cxおよび Cyのエントリを求める際に、祖先ノ ス出現情報格納部 112におけ る指定祖先パス名 IDのエントリ数と、要素出現情報格納部 111における指定要素名 I Dのエントリ数を比較して少な 、方を選択して求めてもょ 、。
[0096] このようにして、本実施の形態におけるデータベース装置は、検索式 3201に対し て、祖先パス出現情報格納部 112または要素出現情報格納部 111を参照して求め た 2つの要素の出現位置が同じ場合、すなわち、 2つの要素が、空要素とその直後の 要素の関係にある場合であっても、空要素順の情報を比較して、前後関係の曖昧さ を排除し、正しく検索結果を求めることができる。
[0097] 以上説明したように、本実施の形態におけるデータベース装置は、祖先パス名登 録部 104が祖先パス名を分割し、分割後の各部分祖先パス名に対してユニークな祖 先パス名 IDを割り当てて祖先パス名辞書 108に登録する。そのため、祖先パス名辞 書のサイズを小さくすることができる。
[0098] また、出現情報登録部 106は要素出現情報格納部 111と、祖先パス出現情報格納 部 112と、属性出現情報格納部 113と、テキスト出現情報格納部 114に空要素順の 情報も格納する。そのため、本実施の形態におけるデータベース装置は、空要素と その直後の要素の開始文字位置が同じになるという前後関係の曖昧さを排除し、正 LV、検索結果を求めることができる。
[0099] このようにすることによって、本実施の形態におけるデータベース装置は、構造文 書の要素にテキストが全く含まれない空要素である場合には、着目要素以降に初め て現れるテキストの先頭文字位置を着目要素の先頭文字位置とみなす。そのため、 空要素の出現順を出現位置インデクスとして生成し、構造化文書に空要素が含まれ る場合だけでなく空要素が連続して含まれる場合であっても、構造ィ匕文書構造の全 文検索のみならず、空要素を含む文書構造を示す検索式に示される文書を効率的 に検索することができる。 [0100] また、本実施の形態におけるデータベース装置は、祖先パス名を一定の条件で分 割した部分パス名に基づいて祖先パス列として登録する。そのため、本実施の形態 におけるデータベース装置は、部分パスを重複して蓄積することなぐ結果的に祖先 ノ ス辞書のサイズを小さくでき、また、構造化対象を多く含む構造化文書であっても、 文書構造を示す検索式に示される文書を効率的に検索できる。
[0101] なお、本実施の形態におけるデータベース装置は、構造化文書を登録する際に、 文書構造を解析して辞書データおよび出現位置索引データを構築して構造ィヒ文書 を登録する構成と、受け付けた文書構造を示す検索式に示される文書を辞書データ および出現位置索引データに基づいて登録文書を効率的に検索する構成とを同時 に実現する形態とした。しかし、構造化文書を登録する機能のみの構成、あるいは検 索のみの構成として実現してもよ 、。
[0102] なお、本実施の形態におけるデータベース装置は、構造化文書を登録する際に、 テキスト要素を持たない空要素に対応する出現位置索引データを生成して登録する 構成と、祖先パス名をいくつかに分割した各部分祖先パス名に対する辞書データな らびに出現位置索引データを生成して登録する構成とを同時に実現する形態とした 。しかし、空要素のみを対象として登録する構成、あるいは、祖先パス名のみを対象 として登録する構成として実現してもよ!/、。
[0103] (実施の形態 3)
次に、本実施の形態 3におけるデータベース装置の構成と動作について説明する 。図 30は、本発明の実施の形態 3におけるデータベース装置の構成を示すブロック 図である。図 30において、本実施の形態 3におけるデータベース装置は、実施の形 態 2とほぼ同じ構成をしている。しかし、このデータベース装置は次の点が実施の形 態 2と異なっている。要素出現情報格納部 111、祖先パス出現情報格納部 112、属 性出現情報格納部 113、テキスト出現情報格納部 114に格納されて 、る情報をダル ープ化する出現情報グループィ匕部 3401が追加されて 、る。
[0104] 文書登録するデータベース構築処理の動作について説明する。図 31は、本発明 の実施の形態 3におけるデータベース装置の文書登録処理の手順を示す流れ図で ある。図 31において、ステップ 2201〜2215までの処理は実施の形態 2の場合と同 じであるので、説明を省略する。
[0105] 最後のステップ 3501において、出現情報グループィ匕部 3401は、要素出現情報格 納部 111に同じ要素名 IDをキーとして登録されて 、るエントリ群の中で、文書番号と 文字位置を除いた 4種類の情報項目(文字数、祖先パス名 ID、分岐順、空要素順) の値が全て共通しているエントリ同士を集め、それらのエントリの数が閾値 (例えば、 1 0エントリ)を超えていたらそれらのエントリをグループィ匕する。次に、出現情報グルー プ化部 3401は、残りのエントリ群について、文書番号と文字位置を除いた 4種類の 情報項目(文字数、祖先パス名 ID、分岐順、空要素順)のうち、いずれか 3種類の情 報項目の値が共通して 、るエントリ群を求め、そのエントリの数が閾値を超えて 、たら グループィ匕する。なお、複数のグループに属する可能性があるエントリは、エントリ数 の最も多いグループに含める。さらに、出現情報グループィ匕部 3401は、同様に、い ずれ力 2種類の情報項目の値が共通するエントリのグループを作成する。さらに、出 現情報グループィ匕部 3401は、いずれ力 1種類の情報項目の値が共通するエントリ のグループを作成し、最後に残ったエントリは共通情報項目無しのグループとして登 録する。
[0106] 図 32は、本発明の実施の形態 3におけるグループ化された要素出現情報を説明 する図である。図 32において、要素名 IDが 14である要素出現情報がグループ化さ れ、グループ情報と個々のエントリで構成されている。グループ情報 3601〜3604に は、各グループに属するエントリ 3605〜3608に共通する情報項目の値と、個々の エントリへのリンク' |·青報 3615〜3618を格糸内して!/ヽる。偶々のエントリ 3605〜3608【こ は、共通しな 、情報項目の値のみを格納して 、る。
[0107] 第 1のグループ情報 3601は、当該グループに属する要素出現情報のエントリはい ずれも(文字数 = 10,祖先パス名 ID= 100,分岐順 ="1Z1Z1",空要素順 ="1
という値を共通に持つ。当該グループに属する個々のエントリ 3605は、そ れぞれの文書番号と文字位置だけを格納している。第 2のグループ情報 3602は、当 該グループに属する要素出現情報のエントリはいずれも (祖先パス名 ID= 200,分 岐順 ="1Z2Z1",空要素順 ="1Z2Z3")という値を共通に持つが、記号「*」で 示される文字数の情報項目は共通な値ではないことを表す。個々のエントリ 3606は 、文書番号、文字位置とともに文字数を格納する。第 3のグループ情報 3603は、当 該グループに属する要素出現情報のエントリはいずれも(文字数 =8,祖先パス名 ID = 150,空要素順 = "1Z2")という値を共通に持ち、記号「*」で示される分岐順の 情報項目は共通な値ではないことを表す。個々のエントリ 3607は文書番号、文字位 置とともに分岐順を格納する。第 4のグループ情報 3604は共通する情報項目がない グループであり、各エントリ 3608に全ての情報項目を格納する。
[0108] 祖先パス出現情報格納部 112、属性出現情報格納部 113、テキスト出現情報格納 部 114に格納する各情報についても同様に、文書番号と文字位置以外の共通な値 の情報項目を持つエントリ同士をグループィ匕し、文書登録するデータベース構築処 理を完了する。
[0109] そのため、本実施の形態におけるデータベース装置の出現情報取得部 118は、登 録済みの文書群を検索する処理として、グループィ匕した各エントリの内容とグループ 情報に基づいて全ての情報項目の値を復元し、実施の形態 2と同様に検索結果を 求める。
[0110] このようにして、本実施の形態におけるデータベース装置の出現情報グループィ匕 部 3401は、出現位置索引 110に格納されるエントリ群をグループィ匕し、そのグルー プ内で共通する情報項目の値を括りだし、個々
Figure imgf000033_0001
、。そのため 、本実施の形態におけるデータベース装置は、索引サイズを減らすことができる。
[0111] このように、本実施の形態におけるデータベース装置は、各要素、祖先パスなどの 出現位置情報につ!、て、ある条件下で情報項目の値が共通する部分をグループ化 して、共通化できない部分とは異なる構造で格納する。そのため、共通する部分を重 複して蓄積することなぐ索引のサイズを小さくできる。
産業上の利用可能性
[0112] 本発明によるデータベース構築装置は、構造化文書を効率良く検索することが可 能な構造の検索用データを構築でき、効率良く検索可能なデータベース装置等に 有用である。

Claims

請求の範囲
[1] 構造化文書を管理するデータベース構築装置において、
構造ィヒ文書にユニークな文書番号を割り当てるとともに構造を解析する入力文書解 析部と、
前記入力文書解析部の解析結果に基づいて、前記構造化文書に出現する各要素 名に対してユニークな要素名 IDを割り当てて要素名辞書に登録する要素名登録部 と、
前記入力文書解析部の解析結果に基づいて、前記構造化文書に出現する各祖先 パス名に対してユニークな祖先パス名 IDを割り当てて祖先パス名辞書に登録する祖 先パス名登録部と、
前記入力文書解析部の解析結果に基づいて、着目要素の出現する文書番号と文字 位置と祖先パス名 IDと分岐順の情報を少なくとも含む要素出現情報を、要素名 IDを キーとして要素出現情報格納部に登録し、かつ、着目要素の出現する文書番号と文 字位置と要素名 IDと分岐順の情報を少なくとも含む祖先パス出現情報を、祖先パス 名 IDをキーとして祖先パス出現情報格納部に登録する出現情報登録部と、 を有するデータベース構築装置。
[2] 前記入力文書解析部の解析結果に基づいて、構造化文書に出現する各属性名に 対してユニークな属性名 IDを割り当てて属性名辞書に登録する属性名登録部を有 し、
前記出現情報登録部が、前記入力文書解析部の解析結果に基づいて、着目属性 の出現する文書番号と文字位置と祖先パス名 IDと要素名 IDと分岐順の情報を少な くとも含む属性出現情報を、属性名 IDをキーとして属性出現情報格納部に登録する 請求項 1に記載のデータベース構築装置。
[3] 前記出現情報登録部が、前記入力文書解析部の解析結果に基づ!、て、要素実体テ キストおよび属性値力 切り出された部分文字列に関し、出現する文書番号と文字位 置と祖先ノ ス名 IDと要素名 IDと属性名 IDと分岐順の情報を少なくとも含むテキスト 出現情報を、切り出された部分文字列をキーとしてテキスト出現情報格納部に登録 する 請求項 1に記載のデータベース構築装置。
[4] 前記要素出現情報は、着目要素の出現する文書番号と文字位置と祖先パス名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記祖先パス出現情報は、着目要素の出現する文書番号と文字位置と要素名 IDと 分岐順と空要素順の情報を少なくとも含む
請求項 1に記載のデータベース構築装置。
[5] 前記要素出現情報は、着目要素の出現する文書番号と文字位置と祖先パス名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記祖先パス出現情報は、着目要素の出現する文書番号と文字位置と要素名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記属性出現情報は、着目属性の出現する文書番号と文字位置と祖先パス名 IDと 要素名 IDと分岐順と空要素順の情報を少なくとも含む
請求項 2に記載のデータベース構築装置。
[6] 前記要素出現情報は、着目要素の出現する文書番号と文字位置と祖先パス名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記祖先パス出現情報は、着目要素の出現する文書番号と文字位置と要素名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記テキスト出現情報は、要素実体テキストおよび属性値カゝら切り出された部分文字 列に関し、出現する文書番号と文字位置と祖先パス名 IDと要素名 IDと属性名 IDと 分岐順と空要素順の情報を少なくとも含む
請求項 3に記載のデータベース構築装置。
[7] 前記祖先パス名登録部は、前記構造ィ匕文書に出現する各祖先パス名を 1つ以上に 分割した各々の部分祖先パス名に対してユニークな祖先パス名 IDを割り当てて前記 祖先パス名辞書に登録する
請求項 1に記載のデータベース構築装置。
[8] 前記要素出現情報格納部に同じ要素名 IDをキーにして登録されて 、る前記要素出 現情報のエントリ群と、前記祖先パス出現情報格納部に同じ祖先パス名 IDをキーに して登録されている前記祖先パス出現情報のエントリ群とに対して、文書番号と文字 位置以外の 1つ以上の情報項目の値が共通するエントリ同士をグループィ匕する出現 情報グループ化部を有する
請求項 1に記載のデータベース構築装置。
[9] 構造化文書を管理するデータベース検索装置において、
構造ィ匕文書に出現する各要素名に対してユニークな要素名 IDを登録した要素名辞 書と、
前記構造ィ匕文書に出現する各祖先ノ ス名に対してユニークな祖先パス名 IDを登録 した祖先パス名辞書と、
前記構造化文書の解析結果に基づいて、着目要素の出現する文書番号と文字位置 と祖先パス名 IDと分岐順の情報を少なくとも含む要素出現情報を、要素名 IDをキー として格納した要素出現情報格納部と、
前記構造化文書の解析結果に基づいて、着目要素の出現する文書番号と文字位置 と要素名 IDと分岐順の情報を少なくとも含む祖先パス出現情報を、祖先パス名 IDを キーとして格納した、祖先パス出現情報格納部と、
検索式を入力するための検索条件入力部と、
前記要素名辞書と前記祖先パス名辞書とを参照して、前記入力された検索式を内部 条件式に変換する検索条件解析部と、
前記検索条件解析部の出力した内部条件式にしたがって、前記要素出現情報格納 部からの要素出現情報および、前記祖先パス出現情報格納部力 の祖先パス出現 情報から検索結果群を求める出現情報取得部と、
を有するデータベース検索装置。
[10] 属性名 IDと対応する属性名の記録された属性名辞書と、
着目属性の出現する文書番号と文字位置と祖先パス名 IDと要素名 IDと分岐順の情 報を少なくとも含む属性出現情報を、属性名 IDをキーとして格納した属性出現情報 格納部とを有し、
前記検索条件解析部が、前記要素名辞書と前記祖先パス名辞書と前記属性名辞書 とを参照して、前記検索条件入力部力 入力された検索式を内部条件式に変換し、 前記出現情報取得部が、前記検索条件解析部の出力した内部条件式にしたがって 、前記要素出現情報格納部からの要素出現情報、前記祖先パス出現情報格納部か らの祖先パス出現情報および、前記属性出現情報格納部からの属性出現情報から 検索結果群を求める
請求項 9に記載のデータベース検索装置。
[11] 要素実体テキストおよび属性値力 切り出された部分文字列に関し、出現する文書 番号と文字位置と祖先パス名 IDと要素名 IDと属性名 IDと分岐順の情報を少なくとも 含むテキスト出現情報を、切り出された部分文字列をキーとして格納した、テキスト出 現情報格納部を有し、
前記出現情報取得部が、前記検索条件解析部の出力した内部条件式にしたがって 、前記要素出現情報格納部からの要素出現情報、前記祖先パス出現情報格納部か らの祖先パス出現情報、および、前記テキスト出現情報格納部力 のテキスト出現情 報から検索結果群を求める
請求項 9に記載のデータベース検索装置。
[12] 前記出現情報取得部は、前記要素出現情報格納部における指定要素名 IDのェント リ数と、前記祖先パス出現情報格納部における指定祖先パス名 IDのエントリ数の大 小を比較し、少な 、方の出現情報を参照するようにして検索結果群を求める 請求項 9乃至 11のいずれかに記載のデータベース検索装置。
[13] 構造化文書を管理するデータベース構築方法にお!、て、
構造ィ匕文書にユニークな文書番号を割り当てるとともに構造を解析するステップと、 前記解析結果に基づいて、構造化文書に出現する各要素名に対してユニークな要 素名 IDを割り当てて要素名辞書に登録するステップと、
前記解析結果に基づいて、構造ィ匕文書に出現する各祖先パス名に対してユニーク な祖先ノ ス名 IDを割り当てて祖先パス名辞書に登録するステップと、
前記解析結果に基づいて、着目要素の出現する文書番号と文字位置と祖先パス名 I Dと分岐順の情報を少なくとも含む要素出現情報を、要素名 IDをキーとして要素出 現情報格納部に、着目要素の出現する文書番号と文字位置と要素名 IDと分岐順の 情報を少なくとも含む祖先ノ ス出現情報を、祖先パス名 IDをキーとして祖先パス出 現情報格納部にそれぞれ登録するステップと、 を有するデータベース構築方法。
[14] 前記要素出現情報は、着目要素の出現する文書番号と文字位置と祖先パス名 IDと 分岐順と空要素順の情報を少なくとも含み、
前記祖先パス出現情報は、着目要素の出現する文書番号と文字位置と要素名 IDと 分岐順と空要素順の情報を少なくとも含む、
請求項 13に記載のデータベース構築方法。
[15] 前記祖先パス名辞書に登録するステップは、構造化文書に出現する各祖先パス名 を 1つ以上に分割した各々の部分祖先パス名に対してユニークな祖先ノ ス名 IDを割 り当てて登録するステップであり、
前記要素出現情報には、単一の祖先パス名 IDの代わりに 1つ以上の祖先パス名 ID の列を含み、
前記祖先パス出現情報格納部には、単一の祖先パス名 IDの代わりに 1つ以上の祖 先パス名 IDの列をキーとして前記祖先ノ ス出現情報を登録する、
請求項 13記載のデータベース構築方法。
[16] 前記要素出現情報格納部に同一の要素名 IDをキーとして登録され、文書番号と文 字位置以外の情報項目の値が共通であるような前記要素出現情報のエントリ同士を グループィ匕し、前記祖先パス出現情報格納部に同一の祖先パス名 IDをキーとして 登録され、文書番号と文字位置以外の情報項目の値が共通であるような前記祖先パ ス出現情報のエントリ同士をグループィ匕するステップを有する
請求項 13記載のデータベース構築方法。
[17] 構造化文書を管理するデータベース検索方法において、
構造ィ匕文書に出現する各要素名に対してユニークな要素名 IDを登録した要素名辞 書と、
前記構造ィ匕文書に出現する各祖先ノ ス名に対してユニークな祖先パス名 IDを登録 した祖先パス名辞書と、
前記構造化文書の解析結果に基づいて、着目要素の出現する文書番号と文字位置 と祖先パス名 IDと分岐順の情報を少なくとも含む要素出現情報を、要素名 IDをキー として格納した要素出現情報格納部と、 前記構造化文書の解析結果に基づいて、着目要素の出現する文書番号と文字位置 と要素名 IDと分岐順の情報を少なくとも含む祖先パス出現情報を、祖先パス名 IDを キーとして格納した、祖先パス出現情報格納部と、を備えたデータベース検索装置を 用い、
検索式を入力するためのステップと、
前記要素名辞書と前記祖先パス名辞書とを参照して、前記入力された検索式を内部 条件式に変換するステップと、
前記内部条件式にしたがって、前記要素出現情報格納部からの要素出現情報およ び、前記祖先パス出現情報格納部からの祖先パス出現情報力 検索結果群を求め るステップと、
を有するデータベース検索方法。
構造化文書を管理するデータベース装置において、
構造ィ匕文書に出現する各要素名に対してユニークな要素名 IDを記憶する要素名辞 書と、
前記構造化文書に出現する各祖先パス名に対してユニークな祖先パス名 IDを記憶 する祖先パス名辞書と、
構造ィヒ文書にユニークな文書番号を割り当てるとともに構造を解析する入力文書解 析部と、
前記入力文書解析部の解析結果に基づいて、前記構造化文書に出現する各要素 名に対してユニークな要素名 IDを割り当てて前記要素名辞書に登録する要素名登 録部と、
前記入力文書解析部の解析結果に基づいて、前記構造化文書に出現する各祖先 パス名に対してユニークな祖先パス名 IDを割り当てて前記祖先パス名辞書に登録す る祖先パス名登録部と、
文書番号と文字位置と祖先パス名 IDと分岐順の情報を少なくとも含む要素出現情報 を、要素名 IDをキーとして記憶する要素出現情報格納部と、
文書番号と文字位置と要素名 IDと分岐順の情報を少なくとも含む祖先パス出現情報 を、祖先パス名 IDをキーとして記憶する祖先パス出現情報格納部と、 前記入力文書解析部の解析結果に基づいて、着目要素の出現する文書番号と文字 位置と祖先パス名 IDと分岐順の情報を少なくとも含む要素出現情報を、前記着目要 素の要素名 IDをキーとして前記要素出現情報格納部に登録し、かつ、前記着目要 素の出現する文書番号と文字位置と要素名 IDと分岐順の情報を少なくとも含む祖先 パス出現情報を、前記着目要素の祖先パス名 IDをキーとして前記祖先パス出現情 報格納部に登録する出現情報登録部とを具備するデータベース構築装置と、 検索式を入力する検索条件入力部と、
前記要素名辞書と前記祖先パス名辞書とを参照して、前記検索条件入力部で入力 された検索式につ!ヽて要素名と祖先パス名とをそれぞれ要素名 IDと祖先パス名 IDと で表現した内部条件式に変換する検索条件解析部と、
前記要素出現情報格納部に記憶している要素出現情報、および、前記祖先パス出 現情報格納部に記憶している祖先パス出現情報から、前記検索条件解析部で生成 された前記内部条件式にあてはまる検索結果群データを抽出する出現情報取得部 とを具備するデータベース検索装置と
を有するデータベース装置。
属性名 IDと対応する属性名を記憶する属性名辞書と、
前記入力文書解析部の解析結果に基づいて、前記構造化文書に出現する各属性 名に対してユニークな属性名 IDを割り当てて前記属性名辞書に登録する属性名登 録部と、
文書番号と文字位置と祖先パス名 IDと要素名 IDと分岐順の情報を少なくとも含む属 性出現情報を、属性名 IDをキーとして記憶する属性出現情報格納部とをさらに有し 前記出現情報登録部は、さらに、前記入力文書解析部の解析結果に基づいて、着 目属性の出現する文書番号と文字位置と祖先パス名 IDと要素名 IDと分岐順の情報 を少なくとも含む属性出現情報を、属性名 IDをキーとして前記属性出現情報格納部 に登録するようにし、
前記検索条件解析部は、さらに、前記属性名辞書を参照して、前記検索条件入力 部で入力された検索式にっ 、て、属性名を属性 IDで表現した内部条件式に変換す るようにし、
前記出現情報取得部は、さらに、前記要素出現情報格納部に記憶している要素出 現情報と、前記祖先パス出現情報格納部に記憶している祖先パス出現情報と、前記 属性出現情報格納部に記憶している属性出現情報とから前記検索条件解析部の出 力した前記内部条件式にあてはまる検索結果群データを抽出する
請求項 18に記載のデータベース装置。
PCT/JP2005/017696 2004-11-30 2005-09-27 データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法 WO2006059425A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/587,770 US20070168363A1 (en) 2004-11-30 2005-09-27 Database constructing apparatus, database search apparatus, database apparatus, method of constructing database, and method of searching database

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004345392 2004-11-30
JP2004-345392 2004-11-30
JP2005131992A JP2006185408A (ja) 2004-11-30 2005-04-28 データベース構築装置及びデータベース検索装置及びデータベース装置
JP2005-131992 2005-04-28

Publications (1)

Publication Number Publication Date
WO2006059425A1 true WO2006059425A1 (ja) 2006-06-08

Family

ID=36564865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/017696 WO2006059425A1 (ja) 2004-11-30 2005-09-27 データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法

Country Status (3)

Country Link
US (1) US20070168363A1 (ja)
JP (1) JP2006185408A (ja)
WO (1) WO2006059425A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4860416B2 (ja) * 2006-09-29 2012-01-25 株式会社ジャストシステム 文書検索装置、文書検索方法および文書検索プログラム
JP4770694B2 (ja) * 2006-10-18 2011-09-14 セイコーエプソン株式会社 デバイスと接続される装置、データ内を検索する方法、コンピュータプログラム、および、インデックスデータ
JP4445509B2 (ja) 2007-03-20 2010-04-07 株式会社東芝 構造化文書検索システム及びプログラム
US20120284661A1 (en) * 2010-04-05 2012-11-08 Makoto Mikuriya Map information processing device
US11487707B2 (en) * 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
WO2013175524A1 (ja) * 2012-05-22 2013-11-28 株式会社 東芝 構造文書管理システム、構造文書管理方法及びプログラム
US9104730B2 (en) 2012-06-11 2015-08-11 International Business Machines Corporation Indexing and retrieval of structured documents
US8914356B2 (en) 2012-11-01 2014-12-16 International Business Machines Corporation Optimized queries for file path indexing in a content repository
US9323761B2 (en) 2012-12-07 2016-04-26 International Business Machines Corporation Optimized query ordering for file path indexing in a content repository
JP6212639B2 (ja) * 2014-06-30 2017-10-11 株式会社日立製作所 検索方法
JP6841322B2 (ja) 2017-04-06 2021-03-10 富士通株式会社 インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331490A (ja) * 2000-03-17 2001-11-30 Fujitsu Ltd 構造化文書格納装置、構造化文書検索装置、構造化文書格納検索装置及びプログラム並びにプログラム記録媒体
JP2002202973A (ja) * 2000-10-25 2002-07-19 Matsushita Electric Ind Co Ltd 構造化文書管理装置
JP2003067403A (ja) * 2001-08-24 2003-03-07 Fuji Xerox Co Ltd 構造化文書管理装置及び構造化文書管理方法、検索装置、検索方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3887867B2 (ja) * 1997-02-26 2007-02-28 株式会社日立製作所 構造化文書の登録方法
CA2242158C (en) * 1997-07-01 2004-06-01 Hitachi, Ltd. Method and apparatus for searching and displaying structured document
JP4141556B2 (ja) * 1998-12-18 2008-08-27 株式会社日立製作所 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP3754253B2 (ja) * 1999-11-19 2006-03-08 株式会社東芝 構造化文書検索方法、構造化文書検索装置及び構造化文書検索システム
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
JP2001167087A (ja) * 1999-12-14 2001-06-22 Fujitsu Ltd 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
JP3692054B2 (ja) * 2001-05-21 2005-09-07 株式会社東芝 文書構造変換方法および文書構造変換装置およびプログラム
US7249133B2 (en) * 2002-02-19 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a real time XML reporter
JP4267336B2 (ja) * 2003-01-30 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造パターン候補を生成する方法、システムおよびプログラム
US20060053122A1 (en) * 2004-09-09 2006-03-09 Korn Philip R Method for matching XML twigs using index structures and relational query processors
JP2006127235A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 構造化文書管理システム、構造化文書管理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331490A (ja) * 2000-03-17 2001-11-30 Fujitsu Ltd 構造化文書格納装置、構造化文書検索装置、構造化文書格納検索装置及びプログラム並びにプログラム記録媒体
JP2002202973A (ja) * 2000-10-25 2002-07-19 Matsushita Electric Ind Co Ltd 構造化文書管理装置
JP2003067403A (ja) * 2001-08-24 2003-03-07 Fuji Xerox Co Ltd 構造化文書管理装置及び構造化文書管理方法、検索装置、検索方法

Also Published As

Publication number Publication date
US20070168363A1 (en) 2007-07-19
JP2006185408A (ja) 2006-07-13

Similar Documents

Publication Publication Date Title
WO2006059425A1 (ja) データベース構築装置、データベース検索装置、データベース装置、データベース構築方法、及びデータベース検索方法
US10169354B2 (en) Indexing and search query processing
CN109492077B (zh) 基于知识图谱的石化领域问答方法及系统
US6853992B2 (en) Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents
US8504553B2 (en) Unstructured and semistructured document processing and searching
US8005819B2 (en) Indexing and searching product identifiers
US20170235841A1 (en) Enterprise search method and system
JP2005092889A (ja) ウェブページのための情報ブロック抽出装置及び情報ブロック抽出方法
US7124147B2 (en) Data structures related to documents, and querying such data structures
CN102254014A (zh) 一种网页特征自适应的信息抽取方法
Chen et al. BibPro: A citation parser based on sequence alignment
US8214403B2 (en) Structured document management device and method
CN115358200A (zh) 一种基于SysML元模型的模板化文档自动生成方法
JP5225021B2 (ja) 全文検索方法及び装置及びプログラム
KR101174184B1 (ko) 통계에 의한 시소러스 데이터베이스 구축 방법 및 시소러스 데이터 구축 시스템
JP3719089B2 (ja) 文書処理装置
JP7371989B1 (ja) 検索サーバー、検索システム、及び検索プログラム
EP1072986A2 (en) System and method for extracting data from semi-structured text
Xu et al. N-gram index structure study for semantic based mathematical formula
JP5225022B2 (ja) Xmlデータ検索方法及び装置及びプログラム
CN118051619A (zh) 一种基于网络嵌入和语义表征的作者姓名消歧方法
Min et al. Method of Understanding Structure and Building Database with Material Experiment Data
Han et al. Wrapping Data into XML
JPH09282326A (ja) 文書高速構造検索方式
Baggam et al. DATA MINING TECHNOQUES AND ITS APPLICATIONS A SURVEY

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007168363

Country of ref document: US

Ref document number: 10587770

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200580003630.3

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 10587770

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 05787950

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5787950

Country of ref document: EP