WO2015001740A1 - 情報処理装置、及び、検索方法 - Google Patents

情報処理装置、及び、検索方法 Download PDF

Info

Publication number
WO2015001740A1
WO2015001740A1 PCT/JP2014/003230 JP2014003230W WO2015001740A1 WO 2015001740 A1 WO2015001740 A1 WO 2015001740A1 JP 2014003230 W JP2014003230 W JP 2014003230W WO 2015001740 A1 WO2015001740 A1 WO 2015001740A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
attribute
aggregate
search
pattern
Prior art date
Application number
PCT/JP2014/003230
Other languages
English (en)
French (fr)
Inventor
健太郎 山崎
佑嗣 小林
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2015001740A1 publication Critical patent/WO2015001740A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to an information processing apparatus and a search method, and more particularly to an information processing apparatus and a search method that perform a search by searching a tree structure.
  • Patent Literature 1 An example of a search system that searches for registration information that matches search information (input information) that is a set of attribute values that do not include a wild card from among registration information that is a set of attribute values that can include a wild card is disclosed in Patent Literature 1.
  • the search system described in Patent Document 1 generates a set of attributes (attribute patterns) whose attribute values are not wildcards when registering registration information. Then, when searching for registration information that matches the search information, for each attribute pattern, a search key is generated by replacing the attribute value of an attribute other than the attribute specified in the attribute pattern in the search information with a wild card, and the generation The registered information is retrieved using the retrieved key.
  • search information ⁇ sex: female ⁇ ⁇ age: 20s ⁇ ⁇ position: area A ⁇ is input, a search is performed using four search keys corresponding to the attribute pattern. That is, the search keys ⁇ sex: female ⁇ ⁇ age: 20s ⁇ ⁇ position: * ⁇ , ⁇ sex: female ⁇ ⁇ age: * ⁇ ⁇ position: * ⁇ , ⁇ sex: female ⁇ ⁇ age: 20's ⁇ ⁇ Location: Area A ⁇ and ⁇ Gender: * ⁇ ⁇ Age: 20's ⁇ ⁇ Location: Area A ⁇ .
  • a search key including a wild card is generated for the attribute pattern, so that a search key including a wild card is generated for all pairs of attributes.
  • the number of search keys can be reduced and the search time can be shortened.
  • An object of the present invention is to provide an information processing apparatus and a search method that can solve the above-described problems and can search registration information including a wild card that matches input information not including a wild card at high speed. That is.
  • the information processing apparatus is registration information that matches input information that is a set of attribute values of a plurality of attributes that do not include a wildcard attribute value, and the plurality of information that can include a wildcard attribute value
  • the search method includes registration information that matches input information that is a set of attribute values of a plurality of attributes that do not include a wildcard attribute value, and the plurality of attributes that can include a wildcard attribute value.
  • a search method for searching for registration information that is a set of attribute values of attributes, storing the registration information, and associating with an attribute pattern indicating an attribute set for which the attribute value related to the registration information is other than a wild card Storing aggregate information obtained by aggregating attribute values of the plurality of attributes of the registration information having the attribute pattern, and using the aggregate information, the attribute pattern included in the registration information that matches the input information Extraction is performed, and the registered information that matches the input information is searched using the extracted attribute pattern.
  • the computer-readable recording medium is registration information that matches input information that is a set of attribute values of a plurality of attributes that do not include a wild card attribute value.
  • a recording medium for storing a program for searching for registration information that is a set of attribute values of the plurality of attributes that can be included, wherein the registration information is stored in a computer, and the attribute value related to the registration information is a wild card In association with an attribute pattern indicating a set of attributes other than, storing aggregate information obtained by aggregating attribute values of each of the plurality of attributes of the registration information having the attribute pattern, and based on the aggregate information, An attribute pattern included in the registration information that matches the input information is extracted, and the registration information that matches the input information is searched using the extracted attribute pattern. Storing a program for executing the process.
  • step S210 shows the detail of an attribute pattern extraction process (step S210) in the 1st Embodiment of this invention. It is a figure which shows the example of the registration information 600 and the attribute pattern 800 in the 1st Embodiment of this invention. It is a figure which shows the example of the search information 700 in the 1st Embodiment of this invention. It is a figure which shows the example of the registration information 600 registered into the registration information storage part 125 in the 1st Embodiment of this invention. It is a figure which shows the example of a production
  • step S210 It is a flowchart which shows the detail of an attribute pattern extraction process (step S210) in the 2nd Embodiment of this invention. It is a figure which shows the example of the aggregated information 900 set in the aggregated information storage part 145 and the link 950 in the 2nd Embodiment of this invention.
  • registration information 600 (600a, b,%) And search information 700 according to the first embodiment of the present invention will be described.
  • an information processing system searches for registered information 600 that matches input search information (hereinafter also referred to as input information) 700.
  • Registration information 600 and search information 700 are a set of attribute values of a plurality of attributes.
  • a wild card indicating an arbitrary value may be set as the attribute value.
  • no wild card is set in the attribute value.
  • FIG. 8 is a diagram showing an example of the registration information 600 and the attribute pattern 800 in the first embodiment of the present invention.
  • the registration information 600 has three attributes “sex”, “age”, and “position”.
  • “sex: male”, “age: 20s”, and “position: area A” are set as attribute values of each attribute of the registration information 600a.
  • “sex: *”, “age: *”, and “position: area A” are set as attribute values of each attribute of the registration information 600b.
  • “Gender: *”, “Age: *”, and “Position: Area B” are set as the attribute value of each attribute of the registration information 600c.
  • the attribute value “*” is a wild card and indicates an arbitrary value. In this way, the registration information 600 in which one or more attribute values are set with a wild card is referred to as registration information 600 including the wild card.
  • FIG. 9 is a diagram showing an example of search information 700 in the first embodiment of the present invention.
  • the search information 700 has three attributes “gender”, “age”, and “position”, similar to the registration information 600 of FIG.
  • FIG. 2 is a block diagram showing the configuration of the search system in the first embodiment of the present invention.
  • the search system includes a search device 100, a registration information input device 300, a search information input device 400, and a search result output device 500.
  • the search apparatus 100 is an embodiment of the information processing apparatus of the present invention.
  • the registration information input device 300 receives the registration information 600 using an input device such as a keyboard or a data file, and transmits it to the search device 100.
  • the search information input device 400 receives the search information 700 using an input device such as a keyboard or a data file, and transmits the search information 700 to the search device 100.
  • the search device 100 searches the registration information 600 that matches the search information 700.
  • the search result output device 500 outputs (displays) the search result in the search device 100 using an output device such as a display or a data file.
  • the search apparatus 100 includes a registration information reception unit 110, a registration information management unit 120, a registration information storage unit 125, an attribute pattern generation unit 130, an aggregate information generation unit 140, an aggregate information storage unit 145, a search information reception unit 150, and an attribute pattern extraction. Part 160 and search part 170.
  • the registration information receiving unit 110 receives the registration information 600 from the registration information input device 300.
  • the registration information management unit 120 registers the registration information 600 received by the registration information receiving unit 110 in the registration information storage unit 125.
  • the registration information management unit 120 registers the registration information 600 together with an index such as a hash index or a B-tree index.
  • the registration information storage unit 125 stores the registration information 600 together with an index.
  • FIG. 10 is a diagram illustrating an example of the registration information 600 registered in the registration information storage unit 125 according to the first embodiment of this invention.
  • the registration information 600 is registered in association with the hash index of the registration information 600.
  • the registration information 600a is associated with Hash (male, 20s, area A).
  • the registration information 600b is associated with Hash (*, *, area A).
  • the attribute pattern generation unit 130 generates attribute patterns 800 (800a, b,%) Based on the registration information 600.
  • the attribute pattern 800 is a set of attributes whose attribute values are not wildcards related to the registration information 600 stored in the registration information storage unit 125.
  • the attribute pattern 800a is an attribute pattern 800 generated for the registration information 600a.
  • the attribute pattern 800a “sex & age & position” is generated.
  • an attribute pattern 800b is an attribute pattern 800 generated for the registration information 600b and c.
  • the attribute pattern 800b “position” is generated for the registration information 600b and c.
  • the aggregate information generation unit 140 generates and updates the aggregate information 900 and sets it in the aggregate information storage unit 145.
  • the aggregated information 900 is information that is generated for each attribute pattern 800 and aggregates attribute values of the attribute of the registration information 600 having the attribute pattern 800.
  • the aggregate information 900 is used to extract the attribute pattern 800 of the registration information 600 that matches the search information 700.
  • an aggregate information format for example, a set of attribute values for each attribute or a bit string indicating the presence / absence of the attribute value for each attribute is used.
  • the bit string for example, a bit string in which a predetermined bit is assigned for each attribute or a Bloom filter in which the attribute value is represented by a hash value having a predetermined bit length is used.
  • FIG. 11, FIG. 12, and FIG. 13 are diagrams showing an example of generation of the aggregate information 900 in the first embodiment of the present invention.
  • 11, 12, and 13 are examples in which the expression format of the aggregate information 900 is a set of attribute values, a bit string assigned for each attribute, and a Bloom filter, respectively.
  • the aggregate information format is a bit string or a Bloom filter assigned for each attribute
  • a conversion table in which attribute values and bit strings are associated is used.
  • a bit string is set such that the result of an AND operation with a possible attribute value is the attribute value.
  • the aggregate information generation unit 140 generates the aggregate information 900 by converting the registration information 600 into the aggregate information format and calculating the logical sum of the registration information 600 in the aggregate information format for the registration information 600 with the same attribute pattern 800. Update.
  • the aggregate information format is a set of attribute values for each attribute
  • the logical sum is calculated by the union of attribute values between the registration information 600 for each attribute.
  • the aggregate information format is a bit string or a Bloom filter assigned for each attribute
  • a logical sum is calculated by OR operation of the bit strings between the registration information 600.
  • the aggregate information generation unit 140 when the aggregate information format is a set of attribute values for each attribute, the aggregate information generation unit 140 generates aggregate information 900 as shown in FIG. That is, the aggregate information generation unit 140 sets the aggregate information 900a “for the attribute pattern 800a“ gender & age & position ”based on the aggregate information format registration information 600a“ ⁇ male ⁇ ⁇ 20s ⁇ ⁇ area A ⁇ ”. ⁇ Male ⁇ ⁇ 20s ⁇ ⁇ area A ⁇ ".
  • the aggregated information 900a is that the attribute value of the attribute “sex” of the registration information 600 of the attribute pattern 800a “gender & age & position” is “male”, the attribute value of the attribute “age” is “20s”, and the attribute “position”.
  • the attribute value indicates “area A”.
  • the aggregate information generation unit 140 registers the registration information 600b “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area A ⁇ ” and the registration information 600c “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area B” in the aggregate information format for the attribute pattern 800b “position”. ⁇ "Is calculated. Thereby, the aggregated information generation unit 140 generates aggregated information 900b “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area A, area B ⁇ ”. The aggregate information 900b indicates that the attribute value of the attribute “position” of the registration information 600 of the attribute pattern 800b “position” is “area A” or “area B”.
  • the aggregate information storage unit 145 stores the aggregate information 900 in association with the attribute pattern 800.
  • FIG. 14, FIG. 15, and FIG. 16 are diagrams showing examples of aggregate information 900 set in the aggregate information storage unit 145 in the first embodiment of the present invention.
  • FIGS. 14, 15, and 16 are examples in which the aggregate information format is a set of attribute values, a bit string assigned to each attribute, and a Bloom filter, respectively.
  • the aggregate information 900a “ ⁇ male ⁇ ⁇ 20s ⁇ ⁇ area A ⁇ ” is associated with the attribute pattern 800a “gender & age & position”. Further, the aggregated information 900b “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area A, area B ⁇ ” is associated with the attribute pattern 800b “position”.
  • the search information receiving unit 150 receives the search information 700 from the search information input device 400.
  • the attribute pattern extraction unit 160 extracts the attribute pattern 800 included in the registration information 600 that matches the search information 700 based on the aggregate information 900 stored in the aggregate information storage unit 145.
  • the attribute pattern extraction unit 160 converts the search information 700 into an aggregate information format, and calculates a logical product of the aggregate information format search information 700 and each aggregate information 900.
  • the registration information 600 matching the search information 700 is included in the registration information 600 having the attribute pattern 800 corresponding to the aggregate information 900. Means included. Therefore, the attribute pattern extraction unit 160 extracts the attribute pattern 800 corresponding to the aggregate information 900 in this case as the attribute pattern 800 included in the registration information 600 that matches the search information 700.
  • the logical product is calculated by a set of attribute value sets for each attribute between the search information 700 in the aggregate information format and the aggregate information 900.
  • the attribute value included in one set is a wild card
  • the result of the product set is the other set.
  • the aggregate information format is a bit string or a Bloom filter assigned for each attribute
  • a logical product is calculated by AND operation of bit strings between the aggregate information format search information 700 and the aggregate information 900.
  • FIGS. 17, 18 and 19 are diagrams showing examples of extracting the attribute pattern 800 in the first embodiment of the present invention.
  • FIGS. 17, 18, and 19 are examples in which the aggregate information format is a set of attribute values, a bit string assigned for each attribute, and a Bloom filter, respectively.
  • the attribute pattern extraction unit 160 searches the aggregate information format search information 700 “ ⁇ female ⁇ ⁇ 30's ⁇ ⁇ area B ⁇ . ”And each piece of aggregated information 900 is calculated. Then, the attribute pattern extraction unit 160 extracts aggregate information 900b in which the logical product calculation result matches the search information 700 in the aggregate information format. The attribute pattern extraction unit 160 extracts the attribute pattern 800 b “position” corresponding to the aggregate information 900 b as the attribute pattern 800 included in the registration information 600 that matches the search information 700.
  • the search unit 170 searches the registration information 600 stored in the registration information storage unit 125 for the registration information 600 that matches the search information 700.
  • the search unit 170 uses the attribute pattern 800 extracted by the attribute pattern extraction unit 160 to generate a search key 710 including a wild card from the search information 700.
  • the search unit 170 generates the search key 710 by setting the attribute value of the attribute of the search information 700 for the attribute specified by the attribute pattern 800 and setting a wild card for the other attributes.
  • FIG. 20 is a diagram showing a search example in the first embodiment of the present invention.
  • the search unit 170 sets the attribute value “area B” of the search information 700 to the attribute “position” specified by the attribute pattern 800b of FIG. 14, and sets a wild card to other attributes.
  • the set search key 710 “gender: *, age: *, position: area B” is generated.
  • search part 170 searches the registration information 600 which matches the search information 700 using the search key 710 containing a wild card similarly to patent document 1.
  • FIG. 1
  • the search unit 170 calculates the hash value (Hash (*, *, area B)) of the search key 710. Then, the search unit 170 extracts the registration information 600 c “gender: *, age: *, position: area B” associated with the hash value as registration information 600 that matches the search information 700.
  • the search device 100, the registration information input device 300, the search information input device 400, and the search result output device 500 may each be a computer that operates by control based on a program.
  • FIG. 3 is a block diagram showing a configuration when implemented by the computer of the search device 100 according to the first embodiment of the present invention.
  • the search device 100 includes a CPU (Central Processing Unit) 101 that executes a computer program.
  • the search device 100 further includes a storage unit (storage medium) 102 for storing data, a communication unit 103 for performing data communication with other devices, an input unit 104 such as a keyboard, and an output unit 105 such as a display.
  • a CPU Central Processing Unit
  • the search device 100 further includes a storage unit (storage medium) 102 for storing data, a communication unit 103 for performing data communication with other devices, an input unit 104 such as a keyboard, and an output unit 105 such as a display.
  • storage medium storage medium
  • the CPU 101 realizes the functions of the registration information receiving unit 110, the registration information management unit 120, the attribute pattern generation unit 130, the aggregate information generation unit 140, the search information reception unit 150, the attribute pattern extraction unit 160, and the search unit 170. Run the computer program.
  • the storage unit 102 stores data of the registration information storage unit 125 and the aggregate information storage unit 145.
  • the communication means 103 receives registration information 600 and search information 700 from the registration information input device 300 and the search information input device 400, respectively. In addition, the communication unit 103 transmits the search result to the search result output device 500.
  • the input unit 104 may receive registration information 600 and search information 700 from a user or the like, or the output unit 105 may output a search result to the user or the like.
  • FIG. 4 is a flowchart showing the registration process in the first embodiment of the present invention.
  • the registration information receiving unit 110 receives the registration information 600 from the registration information input device 300 (step S100).
  • the registration information receiving unit 110 receives the registration information 600a in FIG.
  • the attribute pattern generation unit 130 and the aggregate information generation unit 140 perform aggregate information update processing (step S110).
  • FIG. 5 is a flowchart showing details of the aggregate information update process (step S110) in the first embodiment of the present invention.
  • the attribute pattern generation unit 130 generates an attribute pattern 800 based on the registration information 600 (step S111).
  • the attribute pattern generation unit 130 generates an attribute pattern 800a for the registration information 600a as shown in FIG.
  • the aggregate information generation unit 140 converts the registration information 600 into an aggregate information format (step S112).
  • the aggregate information generation unit 140 converts the registration information 600a into an aggregate information format as shown in FIG.
  • the aggregate information generation unit 140 acquires aggregate information 900 for the attribute pattern 800 from the aggregate information storage unit 145 (step S113).
  • the aggregated information generation unit 140 updates the aggregated information 900 with the logical sum of the aggregated information format registration information 600 and the acquired aggregated information 900, and sets it in the aggregated information storage unit 145 as aggregated information 900 for the attribute pattern 800 (step S114).
  • the aggregate information format registration information 600 converted in step S112 is set as the aggregate information 900 for the attribute pattern 800.
  • the aggregate information generation unit 140 sets the aggregate information format registration information 600a in FIG. 11 as aggregate information 900a for the attribute pattern 800a as shown in FIG.
  • the registration information management unit 120 registers the registration information 600 in the registration information storage unit 125 (step S120).
  • the registration information storage unit 125 registers the registration information 600a in association with the hash index as shown in FIG.
  • the registration processing is similarly performed on the registration information 600b and c, so that the aggregation information 900 is set in the aggregation information storage unit 145 as shown in FIG. 14, and the registration information storage unit 125 in FIG. Thus, the registration information 600 is registered.
  • FIG. 6 is a flowchart showing search processing in the first embodiment of the present invention.
  • the search information receiving unit 150 receives the search information 700 from the search information input device 400 (step S200).
  • the registration information receiving unit 110 receives the search information 700 of FIG.
  • the attribute pattern extraction unit 160 performs an attribute pattern extraction process (step S210).
  • FIG. 7 is a flowchart showing details of the attribute pattern extraction process (step S210) in the first embodiment of the present invention.
  • the attribute pattern extraction unit 160 converts the search information 700 into an aggregate information format (step S211).
  • the attribute pattern extraction unit 160 converts the search information 700 into an aggregate information format as shown in FIG.
  • the attribute pattern extraction unit 160 selects one piece of aggregate information 900 stored in the aggregate information storage unit 145 (step S212).
  • the attribute pattern extraction unit 160 calculates a logical product of the search information 700 in the aggregate information format and the aggregate information 900. The attribute pattern extraction unit 160 determines whether the logical product calculation result matches the search information 700 in the aggregated information format (step S213).
  • step S213 If they match in step S213 (step S213 / Y), the attribute pattern extraction unit 160 determines that the attribute pattern 800 corresponding to the aggregate information 900 is the attribute pattern 800 included in the registration information 600 that matches the search information 700. Then, the attribute pattern extraction unit 160 extracts the attribute pattern 800 (step S214). The attribute pattern extraction unit 160 proceeds to step S215.
  • step S213 step S213 / N
  • the attribute pattern extraction unit 160 proceeds to step S215.
  • the attribute pattern extraction unit 160 sets the aggregation information 900 to “processed” (step S215).
  • the attribute pattern extraction unit 160 repeats the processes of steps S212 to S215 until all the aggregate information 900 stored in the aggregate information storage unit 145 becomes “processed” (step S216).
  • the attribute pattern extraction unit 160 has an attribute corresponding to the aggregate information 900b in which the logical product of the aggregate information format search information 700 and the aggregate information 900 matches the aggregate information format search information 700.
  • the pattern 800b is extracted.
  • the search unit 170 selects one attribute pattern 800 extracted by the attribute pattern extraction unit 160 (step S220).
  • the search unit 170 generates a search key 710 including a wild card from the search information 700 using the attribute pattern 800 (step S230).
  • the search unit 170 searches the registration information 600 that matches the search information 700 using the search key 710 generated in step S230 (step S240).
  • the attribute pattern extraction unit 160 sets the attribute pattern 800 to “processed” (step S250).
  • the attribute pattern extraction unit 160 repeats the processing of steps S220 to S250 until all the attribute patterns 800 extracted by the attribute pattern extraction unit 160 are “processed” (step S260).
  • the search unit 170 outputs the search result to the search result output device 500 (step S270).
  • the search result output device 500 displays search results and the like.
  • the search unit 170 generates a search key 710 from the search information 700 as shown in FIG. 20, using the attribute pattern 800b of FIG. Then, the search unit 170 uses the search key 710 to extract the registration information 600c as the registration information 600 that matches the search information 700 from the registration information 600 of FIG. The search unit 170 outputs the registration information 600c as a search result.
  • FIG. 1 is a block diagram showing a characteristic configuration of the first embodiment of the present invention.
  • the search apparatus 100 is registered information 600 that matches search information (input information) 700 that is a set of attribute values of a plurality of attributes that do not include a wildcard attribute value, and that includes a plurality of attributes that can include a wildcard attribute value.
  • the registration information 600 that is a set of attribute values of attributes is searched.
  • the search device 100 includes a registration information storage unit 125, an aggregate information storage unit 145, an attribute pattern extraction unit 160, and a search unit 170.
  • the registration information storage unit 125 stores the registration information 600.
  • the aggregated information storage unit 145 associates each attribute of the plurality of attributes of the registration information 600 having the attribute pattern 800 with the attribute pattern 800 indicating an attribute set whose attribute value related to the registration information 600 is other than a wild card.
  • Aggregated information 900 in which values are aggregated is stored.
  • the attribute pattern extraction unit 160 extracts the attribute pattern 800 included in the registration information 600 that matches the search information 700 based on the aggregate information 900.
  • the search unit 170 searches the registered information 600 that matches the search information 700 using the extracted attribute pattern 800.
  • a high-speed search when searching for registration information 600 that includes a wild card that matches search information 700 that does not include a wild card, a high-speed search can be performed.
  • the attribute pattern extraction unit 160 extracts the attribute pattern 800 included in the registration information 600 that matches the search information 700 based on the aggregate information 900 obtained by aggregating the attribute values of a plurality of attributes. Then, the search unit 170 uses the extracted attribute pattern 800 to search for the registration information 600 that matches the search information 700.
  • the search unit 170 can generate the search key 710 including the wild card that matches the registration information 600 using the extracted attribute pattern 800. Since the search key 710 that does not match the registration information 600 is not generated, the number of searches is reduced and the search time is shortened.
  • the second embodiment of the present invention is different from the first embodiment of the present invention in that the attribute pattern extraction process described above is made efficient by using the inclusion relationship between the aggregated information 900.
  • FIG. 21 is a block diagram showing a configuration of a search system according to the second embodiment of the present invention.
  • the search device 100 according to the second embodiment of the present invention includes a link management unit 180 in addition to the configuration of the search device 100 according to the first embodiment of the present invention.
  • the link management unit 180 generates and updates the link 950 (950 dg, dh,).
  • the link 950 is information indicating the inclusion relationship between the aggregate information 900.
  • the aggregate information storage unit 145 stores the link 950 generated by the link management unit 180 in addition to the aggregate information 900.
  • FIG. 24 is a diagram illustrating an example of the aggregate information 900 and the link 950 set in the aggregate information storage unit 145 according to the second embodiment of this invention.
  • FIG. 24 shows an example in which the aggregate information format is a set of attribute values.
  • the aggregate information 900d “ ⁇ male ⁇ ⁇ * ⁇ ⁇ * ⁇ ” has a link 950dg to the aggregate information 900g “ ⁇ male ⁇ ⁇ 20s ⁇ ⁇ * ⁇ ”.
  • the aggregated information 900d “ ⁇ male ⁇ ⁇ * ⁇ ⁇ * ⁇ ” further includes aggregated information 900h “ ⁇ male ⁇ ⁇ * ⁇ ⁇ area A, area B ⁇ ”, aggregated information 900j “ ⁇ male ⁇ ⁇ 30s ⁇ ⁇ area B ⁇ "links 950dh and 950dj.
  • links 950dg, 950dh, and 950dj indicate that a set of attribute values of each attribute in the aggregate information 900g, 900h, and 900j is included in a set of attribute values of the attribute in the aggregate information 900d.
  • the update of the link 950 by the link management unit 180 is performed when the aggregate information 900 is generated and updated by the aggregate information generation unit 140, and the aggregate information 900 that has been generated and updated and the other aggregate information 900 are updated. This is done by determining the inclusive relationship between them.
  • the link management unit 180 when the aggregate information 900f is updated from “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area B ⁇ ” to “ ⁇ * ⁇ ⁇ * ⁇ ⁇ area A, area B ⁇ ”, the link management unit 180 The inclusion relationship between the aggregate information 900f and other aggregate information 900 is determined. Since the aggregate information 900f includes the aggregate information 900h after the update of the aggregate information 900f, the link management unit 180 adds a link 950fh from the aggregate information 900f to the aggregate information 900h. Further, after the update of the aggregate information 900f, the aggregate information 900f does not include the aggregate information 900j, so the link management unit 180 deletes the link 950fj from the aggregate information 900f to the aggregate information 900j.
  • the attribute pattern extraction unit 160 when the calculation result of the logical product of the search information 700 and the aggregate information 900 does not match the search information 700 in the aggregate information format, other aggregate information associated with the link 950 Calculation of the logical product with 900 is omitted. Thereby, the attribute pattern extraction unit 160 can improve the attribute pattern extraction process.
  • the search information 700 in FIG. 9 is searched for the aggregated information 900 in FIG.
  • the logical product of the search information 700 “ ⁇ female ⁇ ⁇ 30's ⁇ ⁇ area B ⁇ ” in the aggregate information format and the aggregate information 900d “ ⁇ male ⁇ ⁇ * ⁇ ⁇ * ⁇ ” is the search information in the aggregate information format. 700 does not match. Therefore, the attribute pattern extraction unit 160 omits the calculation of the logical product of the search information 700 and the aggregate information 900g, 900h, and 900j associated with the aggregate information 900d by the links 950dg, 950dh, and 950dj.
  • the aggregated information update process (step S110) is different from the first embodiment of the present invention.
  • FIG. 22 is a flowchart showing details of the aggregate information update process (step S110) in the second embodiment of the present invention.
  • step S311 to S314 the processing until the aggregate information generation unit 140 sets the aggregate information 900 (steps S311 to S314) is the same as that in the first embodiment (FIG. 5, steps S111 to S114) of the present invention.
  • the link management unit 180 selects one aggregated information 900 other than the aggregated information 900 updated in step S314 from the aggregated information 900 stored in the aggregated information storage unit 145 (step S315).
  • the link management unit 180 determines the inclusion relationship between the updated aggregate information 900 and the aggregate information 900 selected in step S315 (step S316).
  • the link management unit 180 updates the link 950 between the updated aggregate information 900 and the selected aggregate information 900 based on the determination result of the inclusion relationship in step S316 (step S317).
  • the link management unit 180 sets the selected aggregate information 900 to “processed” (step S318).
  • the link management unit 180 repeats the processes of steps S315 to S318 until all the aggregated information 900 other than the updated aggregated information 900 is “processed” (step S319).
  • the link management unit 180 determines the inclusion information 900 to be subjected to the determination of the inclusion relationship and the update of the link 950 in order to reduce the number of pieces of the aggregation information 900 to be processed in steps S315 to S319 described below. You may restrict to. That is, the link management unit 180 applies the target aggregate information 900 to the aggregate information 900 including the updated aggregate information 900 and the attribute pattern 800 having a larger number of attributes than the attribute pattern 800 for the updated aggregate information 900.
  • the aggregated information 900 may be limited.
  • the attribute pattern extraction process (step S210) is different from the first embodiment of the present invention.
  • FIG. 23 is a flowchart showing details of the attribute pattern extraction processing (step S210) in the second embodiment of the present invention.
  • step S411 to S413 the processing until the attribute pattern extraction unit 160 calculates the logical product of the search information 700 in the aggregated information format and the aggregated information 900 (steps S411 to S413) is the first embodiment of the present invention (FIG. 7). , Steps S211 to S213).
  • step S413 the attribute pattern extraction unit 160 determines that the attribute pattern 800 corresponding to the aggregate information 900 is the attribute pattern 800 included in the registration information 600 matching the search information 700. To do. Then, the attribute pattern extraction unit 160 extracts the attribute pattern 800 (step S414). The attribute pattern extraction unit 160 proceeds to step S416.
  • step S413 / N the attribute pattern extraction unit 160 refers to the link 950 set in the aggregate information 900. Then, the attribute pattern extraction unit 160 sets other aggregated information 900 included in the aggregated information 900 to “processed” (step S415). The attribute pattern extraction unit 160 proceeds to step S416.
  • the attribute pattern extraction unit 160 sets the aggregation information 900 to “processed” (step S416).
  • the attribute pattern extraction unit 160 repeats the processes of steps S412 to S416 until all the aggregated information 900 stored in the aggregated information storage unit 145 becomes “processed” (step S417).
  • search information 700 in FIG. 9 is searched for the aggregated information 900 in FIG.
  • the attribute pattern extraction unit 160 when the attribute pattern extraction unit 160 performs processing from the beginning of the aggregate information 900 of FIG. 24, the logical product of the aggregate information format search information 700 and the aggregate information 900d matches the aggregate information format search information 700. do not do. Therefore, the attribute pattern extraction unit 160 omits the calculation of the logical product with the aggregate information 900g, 900h, and 900j. Then, the attribute pattern extraction unit 160 calculates a logical product with the aggregate information 900d, 900e, 900f, and 900i. The attribute pattern extraction unit 160 extracts the attribute pattern 800f corresponding to the aggregate information 900f because the logical product of the aggregate information format search information 700 and the aggregate information 900f matches the aggregate information format search information 700.
  • the search can be speeded up as compared with the first embodiment of the present invention.
  • the attribute pattern extraction unit 160 calculates the logical product with the other aggregate information 900 included in the aggregate information 900. This is because it is omitted.
  • the present invention can be applied to a search device that searches a data group including a wild card indicating an arbitrary value or a database storing data including a wild card.
  • the present invention can be applied to a situation-dependent service such as a concierge service or real-time advertisement distribution that needs to detect in real time matching between a large number of rules including wild cards and user status information.
  • search device 101 CPU DESCRIPTION OF SYMBOLS 102 Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 ワイルドカードを含まない入力情報と合致するワイルドカードを含む登録情報の検索を高速に行う。 集約情報記憶部(145)は、登録情報600に係る属性値がワイルドカード以外である属性の組を示す属性パタン(800)に対応づけて、当該属性パタン(800)を有する登録情報(600)の複数の属性の各々の属性値を集約した集約情報(900)を記憶する。属性パタン抽出部(160)は、集約情報(900)をもとに、検索情報(700)に合致する登録情報が有する属性パタン(800)を抽出する。検索部(170)は、抽出された属性パタン(800)を用いて、検索情報(700)に合致する登録情報(600)を検索する。

Description

情報処理装置、及び、検索方法
 本発明は、情報処理装置、及び、検索方法に関し、特に、木構造の探索により検索を行う情報処理装置、及び、検索方法に関する。
 ワイルドカードを含みうる属性値の組である登録情報の中から、ワイルドカードを含まない属性値の組である検索情報(入力情報)と合致する登録情報を検索する検索システムの一例が、特許文献1に記載されている。
 特許文献1に記載の検索システムでは、登録情報を登録するときに、属性値がワイルドカードでない属性の組(属性パタン)を生成する。そして、検索情報と合致する登録情報を検索するときに、属性パタンごとに、検索情報における属性パタンで指定された属性以外の属性の属性値をワイルドカードに置き換えた検索キーを生成し、当該生成された検索キーを用いて登録情報を検索する。
 例えば、3種類の属性「性別」、「年齢」、「位置」について、6つの登録情報{{性別:男性}{年齢:20代}{位置:*}}、{{性別:男性}{年齢:*}{位置:*}}、{{性別:*}{年齢:20代}{位置:エリアB}}、{{性別:男性}{年齢:20代}{位置:エリアC}}、{{性別:*}{年齢:20代}{位置:エリアA}}、及び、{{性別:*}{年齢:30代}{位置:エリアA}}が登録されたと仮定する。この場合、属性パタンとしては、{性別&年齢}、{性別}、{性別&年齢&位置}、及び、{年齢&位置}の4つが生成される。
 そして、検索情報{{性別:女性}{年齢:20代}{位置:エリアA}}が入力された場合、属性パタンに対応する4つの検索キーを用いて、検索が行われる。すなわち、検索キー{{性別:女性}{年齢:20代}{位置:*}}、{{性別:女性}{年齢:*}{位置:*}}、{{性別:女性}{年齢:20代}{位置:エリアA}}、及び、{{性別:*}{年齢:20代}{位置:エリアA}}で検索が行われる。
 このように、特許文献1に記載の検索システムでは、属性パタンに対してワイルドカードを含む検索キーを生成するため、属性のすべての組に対してワイルドカードを含む検索キーを生成する場合に比べて、検索キーの数を低減し、検索時間を短縮できる。
特開2011-227656号公報
 しかしながら、特許文献1に記載の検索システムでは、登録情報に係る属性パタンの数が多くなると、検索キーの数が増加し、検索時間が長くなる。
 本発明の目的は、上述の課題を解決し、ワイルドカードを含まない入力情報と合致するワイルドカードを含む登録情報の検索を高速に行うことができる、情報処理装置、及び、検索方法を提供することである。
 本発明の一態様における情報処理装置は、ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索する情報処理装置であって、前記登録情報を記憶する登録情報記憶手段と、
 前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶する、集約情報記憶手段と、前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出する、属性パタン抽出手段と、前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する検索手段と、を備える。
 本発明の一態様における検索方法は、ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索する検索方法であって、前記登録情報を記憶し、前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶し、前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出し、前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する。
 本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索するためのプログラムを格納する記録媒体であって、コンピュータに、前記登録情報を記憶し、前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶し、前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出し、前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する、処理を実行させるプログラムを格納する。
 ワイルドカードを含まない入力情報と合致するワイルドカードを含む登録情報の検索を高速に行う。
本発明の第1の実施の形態の特徴的な構成を示すブロック図である。 本発明の第1の実施の形態における、検索システムの構成を示すブロック図である。 本発明の第1の実施の形態における、検索装置100のコンピュータにより実現される場合の構成を示すブロック図である。 本発明の第1の実施の形態における、登録処理を示すフローチャートである。 本発明の第1の実施の形態における、集約情報更新処理(ステップS110)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、検索処理を示すフローチャートである。 本発明の第1の実施の形態における、属性パタン抽出処理(ステップS210)の詳細を示すフローチャートである。 本発明の第1の実施の形態における、登録情報600と属性パタン800の例を示す図である。 本発明の第1の実施の形態における、検索情報700の例を示す図である。 本発明の第1の実施の形態における、登録情報記憶部125に登録された登録情報600の例を示す図である。 本発明の第1の実施の形態における、集約情報900の生成例を示す図である。 本発明の第1の実施の形態における、集約情報900の他の生成例を示す図である。 本発明の第1の実施の形態における、集約情報900の他の生成例を示す図である。 本発明の第1の実施の形態における、集約情報記憶部145に設定された集約情報900の例を示す図である。 本発明の第1の実施の形態における、集約情報記憶部145に設定された集約情報900の他の例を示す図である。 本発明の第1の実施の形態における、集約情報記憶部145に設定された集約情報900の他の例を示す図である。 本発明の第1の実施の形態における、属性パタン800の抽出例を示す図である。 本発明の第1の実施の形態における、属性パタン800の他の抽出例を示す図である。 本発明の第1の実施の形態における、属性パタン800の他の抽出例を示す図である。 本発明の第1の実施の形態における、検索例を示す図である。 本発明の第2の実施の形態における、検索システムの構成を示すブロック図である。 本発明の第2の実施の形態における、集約情報更新処理(ステップS110)の詳細を示すフローチャートである。 本発明の第2の実施の形態における、属性パタン抽出処理(ステップS210)の詳細を示すフローチャートである。 本発明の第2の実施の形態における、集約情報記憶部145に設定された集約情報900、及び、リンク950の例を示す図である。
 (第1の実施の形態)
 本発明の第1の実施の形態について説明する。
 はじめに、本発明の第1の実施の形態における、登録情報600(600a、b、…)と検索情報700について説明する。
 本発明の第1の実施の形態においては、情報処理システム(以下、検索システムとも言う)は、入力された検索情報(以下、入力情報とも言う)700に合致する登録情報600を検索する。登録情報600、及び、検索情報700は、複数の属性の属性値の組である。登録情報600では、属性値に、任意の値を示すワイルドカードが設定されていてもよい。検索情報700では、属性値にワイルドカードは設定されない。
 図8は、本発明の第1の実施の形態における、登録情報600と属性パタン800の例を示す図である。図8の例では、登録情報600は、3つの属性「性別」、「年齢」、「位置」を有する。
 図8において、登録情報600aの各属性の属性値には、「性別:男性」、「年齢:20代」、「位置:エリアA」が設定されている。また、登録情報600bの各属性の属性値には、「性別:*」、「年齢:*」、「位置:エリアA」が設定されている。登録情報600cの各属性の属性値には、「性別:*」、「年齢:*」、「位置:エリアB」が設定されている。ここで、属性値「*」はワイルドカードであり、任意の値を示す。このように、1つ以上の属性値にワイルドカードが設定されている登録情報600を、ワイルドカードを含む登録情報600と呼ぶ。
 図9は、本発明の第1の実施の形態における、検索情報700の例を示す図である。図9の例では、検索情報700は、図8の登録情報600と同様に、3つの属性「性別」、「年齢」、「位置」を有する。
 図9において、検索情報700の各属性の属性値には、「性別:女性」、「年齢:30代」、「位置:エリアB」が設定されている。
 次に、本発明の第1の実施の形態の構成について説明する。
 図2は、本発明の第1の実施の形態における、検索システムの構成を示すブロック図である。
 図2を参照すると、本発明の第1の実施の形態における検索システムは、検索装置100、登録情報入力装置300、検索情報入力装置400、及び、検索結果出力装置500を含む。検索装置100は、本発明の情報処理装置の一実施形態である。
 登録情報入力装置300は、登録情報600を、キーボード等の入力デバイスや、データファイルにより受け付け、検索装置100に送信する。
 検索情報入力装置400は、検索情報700を、キーボード等の入力デバイスや、データファイルにより受け付け、検索装置100に送信する。
 検索装置100は、検索情報700に合致する登録情報600を検索する。
 検索結果出力装置500は、検索装置100における検索結果を、ディスプレイ等の出力デバイスや、データファイルにより出力(表示)する。
 検索装置100は、登録情報受信部110、登録情報管理部120、登録情報記憶部125、属性パタン生成部130、集約情報生成部140、集約情報記憶部145、検索情報受信部150、属性パタン抽出部160、及び、検索部170を含む。
 登録情報受信部110は、登録情報入力装置300より登録情報600を受信する。
 登録情報管理部120は、登録情報受信部110が受信した登録情報600を、登録情報記憶部125に登録する。ここで、登録情報管理部120は、登録情報600を、例えば、ハッシュ索引やBツリーインデックスのような索引とともに登録する。
 登録情報記憶部125は、登録情報600を索引とともに記憶する。
 図10は、本発明の第1の実施の形態における、登録情報記憶部125に登録された登録情報600の例を示す図である。図10の例では、登録情報600は、当該登録情報600のハッシュ索引に関連付けて登録されている。例えば、登録情報600aは、Hash(男性,20代,エリアA)に関連付けられている。また、登録情報600bは、Hash(*,*,エリアA)に関連付けられている。
 属性パタン生成部130は、登録情報600をもとに属性パタン800(800a、b、…)を生成する。属性パタン800は、登録情報記憶部125に記憶されている登録情報600に係る、属性値がワイルドカードでない属性の組である。
 図8において、属性パタン800aは、登録情報600aについて生成される属性パタン800である。登録情報600aでは、属性値がワイルドカードでない属性は「性別」、「年齢」、「位置」であるため、属性パタン800a「性別&年齢&位置」が生成される。また、図8において、属性パタン800bは、登録情報600b、cについて生成される属性パタン800である。登録情報600b、cでは、属性値がワイルドカードでない属性は「位置」であるため、登録情報600b、cに対して属性パタン800b「位置」が生成される。
 集約情報生成部140は、集約情報900を生成、更新し、集約情報記憶部145に設定する。集約情報900は、属性パタン800毎に生成され、当該属性パタン800を有する登録情報600の当該属性の属性値を集約した情報である。集約情報900は、検索情報700が合致する登録情報600の属性パタン800を抽出するために用いられる。
 集約情報900の表現形式(以下、集約情報形式と呼ぶ)としては、例えば、属性ごとの属性値の集合や、属性ごとの属性値の有無を表すビット列が用いられる。ここで、ビット列としては、例えば、属性ごとに所定のビットを割り当てたビット列や、属性値を所定のビット長のハッシュ値で表したブルームフィルタが用いられる。
 図11、図12、及び、図13は、本発明の第1の実施の形態における、集約情報900の生成例を示す図である。図11、図12、及び、図13は、それぞれ、集約情報900の表現形式を属性値の集合、属性ごとに割り当てたビット列、ブルームフィルタとした場合の例である。
 集約情報形式が属性ごとに割り当てたビット列やブルームフィルタの場合、属性値とビット列とを対応づけた変換表が用いられる。この場合、属性値がワイルドカードの属性については、とりうる属性値とのAND演算の結果が、当該属性値となるようなビット列が設定される。
 集約情報生成部140は、登録情報600を集約情報形式に変換し、同じ属性パタン800の登録情報600について、集約情報形式の登録情報600の論理和を算出することにより、集約情報900を生成、更新する。集約情報形式が属性ごとの属性値の集合の場合、論理和は、属性ごとの、登録情報600間の属性値の和集合により算出される。また、集約情報形式が属性ごとに割り当てたビット列やブルームフィルタの場合、論理和は、登録情報600間のビット列のOR演算により算出される。
 例えば、集約情報形式を属性ごとの属性値の集合とした場合、集約情報生成部140は、図11に示すように、集約情報900を生成する。すなわち、集約情報生成部140は、属性パタン800a「性別&年齢&位置」について、集約情報形式の登録情報600a「{男性}{20代}{エリアA}」をもとに、集約情報900a「{男性}{20代}{エリアA}」を生成する。集約情報900aは、属性パタン800a「性別&年齢&位置」の登録情報600の属性「性別」の属性値は「男性」、属性「年齢」の属性値は「20代」、属性「位置」の属性値は「エリアA」であることを示している。
 また、集約情報生成部140は、属性パタン800b「位置」について、集約情報形式の登録情報600b「{*}{*}{エリアA}」、登録情報600c「{*}{*}{エリアB}」の論理和を算出する。これにより、集約情報生成部140は、集約情報900b「{*}{*}{エリアA,エリアB}」を生成する。集約情報900bは、属性パタン800b「位置」の登録情報600の属性「位置」の属性値は「エリアA」か「エリアB」であることを示している。
 集約情報記憶部145は、集約情報900を、属性パタン800に対応づけて記憶する。
 図14、図15、及び、図16は、本発明の第1の実施の形態における、集約情報記憶部145に設定された集約情報900の例を示す図である。図14、図15、及び、図16は、それぞれ、集約情報形式を属性値の集合、属性ごとに割り当てたビット列、ブルームフィルタとした場合の例である。
 図14の例では、集約情報900a「{男性}{20代}{エリアA}」は、属性パタン800a「性別&年齢&位置」に関連付けられている。また、集約情報900b「{*}{*}{エリアA、エリアB}」は、属性パタン800b「位置」に関連付けられている。
 検索情報受信部150は、検索情報入力装置400より検索情報700を受信する。
 属性パタン抽出部160は、集約情報記憶部145に記憶された集約情報900をもとに、検索情報700に合致する登録情報600が有する属性パタン800を抽出する。
 属性パタン抽出部160は、検索情報700を集約情報形式に変換し、集約情報形式の検索情報700と各集約情報900との論理積を算出する。ここで、論理積の算出結果が、集約情報形式の検索情報700と一致した場合、集約情報900に対応する属性パタン800を有する登録情報600の中に、検索情報700に合致する登録情報600が含まれていることを意味する。従って、属性パタン抽出部160は、この場合の集約情報900に対応する属性パタン800を、検索情報700に合致する登録情報600が有する属性パタン800として抽出する。
 論理積は、集約情報形式が属性ごとの属性値の集合の場合、集約情報形式の検索情報700と集約情報900との間の、属性ごとの、属性値の集合の積集合により算出される。なお、一方の集合に含まれる属性値がワイルドカードのとき、積集合の結果は、他方の集合となる。また、集約情報形式が属性ごとに割り当てたビット列やブルームフィルタの場合、論理積は、集約情報形式の検索情報700と集約情報900との間のビット列のAND演算により算出される。
 図17、図18、及び、図19は、本発明の第1の実施の形態における、属性パタン800の抽出例を示す図である。図17、図18、及び、図19は、それぞれ、集約情報形式を属性値の集合、属性ごとに割り当てたビット列、ブルームフィルタとした場合の例である。
 例えば、集約情報形式を属性ごとの属性値の集合とした場合、図17に示すように、属性パタン抽出部160は、集約情報形式の検索情報700「{女性}{30代}{エリアB}」と各集約情報900との論理積を算出する。そして、属性パタン抽出部160は、論理積の算出結果が集約情報形式の検索情報700と一致する集約情報900bを抽出する。属性パタン抽出部160は、当該集約情報900bに対応する属性パタン800b「位置」を、検索情報700に合致する登録情報600が有する属性パタン800として抽出する。
 検索部170は、登録情報記憶部125に記憶された登録情報600の中から、検索情報700に合致する登録情報600を検索する。
 ここで、検索部170は、属性パタン抽出部160により抽出された属性パタン800を用いて、検索情報700から、ワイルドカードを含む検索キー710を生成する。検索部170は、属性パタン800で指定された属性には検索情報700の当該属性の属性値を設定し、他の属性にはワイルドカードを設定することにより、検索キー710を生成する。
 図20は、本発明の第1の実施の形態における、検索例を示す図である。
 例えば、検索部170は、図20に示すように、図14の属性パタン800bで指定された属性「位置」に検索情報700の属性値「エリアB」を設定し、他の属性にワイルドカードを設定した、検索キー710「性別:*、年齢:*、位置:エリアB」を生成する。
 そして、検索部170は、特許文献1と同様に、ワイルドカードを含む検索キー710を用いて、検索情報700に合致する登録情報600を検索する。
 例えば、図20に示すように、登録情報600がハッシュ索引で管理されている場合、検索部170は、検索キー710のハッシュ値(Hash(*、*、エリアB))を算出する。そして、検索部170は、当該ハッシュ値に関連付けられている登録情報600c「性別:*、年齢:*、位置:エリアB」を、検索情報700に合致する登録情報600として抽出する。
 なお、検索装置100、登録情報入力装置300、検索情報入力装置400、及び、検索結果出力装置500は、それぞれ、プログラムに基づく制御によって動作するコンピュータであってもよい。
 図3は、本発明の第1の実施の形態における、検索装置100のコンピュータにより実現される場合の構成を示すブロック図である。この場合、検索装置100は、コンピュータプログラムを実行するCPU(Central Processing Unit)101を含む。検索装置100は、さらに、データを記憶する記憶手段(記憶媒体)102、他の装置等とデータ通信を行う通信手段103、キーボード等の入力手段104、及び、ディスプレイ等の出力手段105を含む。
 CPU101は、登録情報受信部110、登録情報管理部120、属性パタン生成部130、集約情報生成部140、検索情報受信部150、属性パタン抽出部160、及び、検索部170の機能を実現するためのコンピュータプログラムを実行する。記憶手段102は、登録情報記憶部125、及び、集約情報記憶部145のデータを記憶する。通信手段103は、登録情報入力装置300、検索情報入力装置400から、それぞれ、登録情報600、検索情報700を受信する。また、通信手段103は検索結果出力装置500へ、検索結果を送信する。なお、入力手段104が、ユーザ等から、登録情報600、検索情報700を受け付ける、あるいは、出力手段105が、ユーザ等へ検索結果を出力してもよい。
 次に、本発明の第1の実施の形態の動作について説明する。
 はじめに、本発明の第1の実施の形態における、登録処理について説明する。
 図4は、本発明の第1の実施の形態における、登録処理を示すフローチャートである。
 登録情報受信部110は、登録情報入力装置300より登録情報600を受信する(ステップS100)。
 例えば、登録情報受信部110は、図8の登録情報600aを受信する。
 属性パタン生成部130と集約情報生成部140とは、集約情報更新処理を行う(ステップS110)。
 図5は、本発明の第1の実施の形態における、集約情報更新処理(ステップS110)の詳細を示すフローチャートである。
 属性パタン生成部130は、登録情報600をもとに属性パタン800を生成する(ステップS111)。
 例えば、属性パタン生成部130は、図8のように、登録情報600aに対して属性パタン800aを生成する。
 集約情報生成部140は、登録情報600を集約情報形式に変換する(ステップS112)。
 例えば、集約情報生成部140は、図11のように、登録情報600aを集約情報形式に変換する。
 集約情報生成部140は、集約情報記憶部145から、属性パタン800に対する集約情報900を取得する(ステップS113)。
 集約情報生成部140は、集約情報形式の登録情報600と取得した集約情報900との論理和で集約情報900を更新し、属性パタン800に対する集約情報900として集約情報記憶部145に設定する(ステップS114)。
 なお、ステップS113で、集約情報記憶部145に属性パタン800に対する集約情報900が登録されていない場合、ステップS112で変換した集約情報形式の登録情報600が、属性パタン800に対する集約情報900として設定される。
 例えば、集約情報生成部140は、図11における集約情報形式の登録情報600aを、図14のように、属性パタン800aに対する集約情報900aとして設定する。
 次に、登録情報管理部120は、登録情報600を登録情報記憶部125に登録する(ステップS120)。
 例えば、登録情報記憶部125は、図10のように、登録情報600aをハッシュ索引に関連付けて登録する。
 さらに、登録情報600b、cに対しても同様に登録処理が行われることにより、集約情報記憶部145に、図14のように集約情報900が設定され、登録情報記憶部125に、図10のように登録情報600が登録される。
 次に、本発明の第1の実施の形態における、検索処理について説明する。
 図6は、本発明の第1の実施の形態における、検索処理を示すフローチャートである。
 検索情報受信部150は、検索情報入力装置400より検索情報700を受信する(ステップS200)。
 例えば、登録情報受信部110は、図9の検索情報700を受信する。
 属性パタン抽出部160は、属性パタン抽出処理を行う(ステップS210)。
 図7は、本発明の第1の実施の形態における、属性パタン抽出処理(ステップS210)の詳細を示すフローチャートである。
 属性パタン抽出部160は、検索情報700を集約情報形式に変換する(ステップS211)。
 例えば、属性パタン抽出部160は、図17のように、検索情報700を集約情報形式に変換する。
 属性パタン抽出部160は、集約情報記憶部145に記憶された集約情報900を一つ選択する(ステップS212)。
 属性パタン抽出部160は、集約情報形式の検索情報700と集約情報900との論理積を算出する。属性パタン抽出部160は、論理積の算出結果が集約情報形式の検索情報700と一致するかどうかを判定する(ステップS213)。
 ステップS213で一致する場合(ステップS213/Y)、属性パタン抽出部160は、集約情報900に対応する属性パタン800を、検索情報700に合致する登録情報600が有する属性パタン800と判断する。そして、属性パタン抽出部160は、当該属性パタン800を抽出する(ステップS214)。属性パタン抽出部160は、ステップS215へ進む。
 一方、ステップS213で一致しない場合(ステップS213/N)、属性パタン抽出部160は、ステップS215へ進む。
 属性パタン抽出部160は、集約情報900を「処理済み」とする(ステップS215)。
 属性パタン抽出部160は、集約情報記憶部145に記憶された全ての集約情報900が「処理済み」となるまで、ステップS212~S215の処理を繰り返す(ステップS216)。
 例えば、属性パタン抽出部160は、図17のように、集約情報形式の検索情報700と集約情報900との論理積が、集約情報形式の検索情報700に一致する、集約情報900bに対応する属性パタン800bを抽出する。
 次に、検索部170は、属性パタン抽出部160により抽出された属性パタン800を一つ選択する(ステップS220)。
 検索部170は、属性パタン800を用いて、検索情報700から、ワイルドカードを含む検索キー710を生成する(ステップS230)。
 検索部170は、ステップS230で生成された検索キー710を用いて、検索情報700に合致する登録情報600を検索する(ステップS240)。
 属性パタン抽出部160は、属性パタン800を「処理済み」とする(ステップS250)。
 属性パタン抽出部160は、属性パタン抽出部160により抽出された全ての属性パタン800が「処理済み」となるまで、ステップS220~S250の処理を繰り返す(ステップS260)。
 検索部170は、検索結果を検索結果出力装置500に出力する(ステップS270)。
 そして、検索結果出力装置500により、検索結果の表示等が行われる。
 例えば、検索部170は、図14の属性パタン800bを用いて、図20のように、検索情報700から検索キー710を生成する。そして、検索部170は、図20のように、検索キー710を用いて、図10の登録情報600の中から、登録情報600cを、検索情報700に合致する登録情報600として抽出する。検索部170は、登録情報600cを、検索結果として出力する。
 以上により、本発明の第1の実施の形態の動作が完了する。
 次に、本発明の第1の実施の形態の特徴的な構成を説明する。図1は、本発明の第1の実施の形態の特徴的な構成を示すブロック図である。
 検索装置100は、ワイルドカードの属性値を含まない複数の属性の属性値の組である検索情報(入力情報)700に合致する登録情報600であって、ワイルドカードの属性値を含みうる複数の属性の属性値の組である登録情報600を検索する。検索装置100は、登録情報記憶部125、集約情報記憶部145、属性パタン抽出部160、及び、検索部170を備える。
 ここで、登録情報記憶部125は、登録情報600を記憶する。集約情報記憶部145は、登録情報600に係る属性値がワイルドカード以外である属性の組を示す属性パタン800に対応づけて、当該属性パタン800を有する登録情報600の複数の属性の各々の属性値を集約した集約情報900を記憶する。属性パタン抽出部160は、集約情報900をもとに、検索情報700に合致する登録情報600が有する属性パタン800を抽出する。検索部170は、抽出された属性パタン800を用いて、検索情報700に合致する登録情報600を検索する。
 本発明の第1の実施の形態によれば、ワイルドカードを含まない検索情報700に合致するワイルドカードを含む登録情報600を検索する場合に、高速な検索ができる。
 その理由は、以下の通りである。すなわち、属性パタン抽出部160が、複数の属性の各々の属性値を集約した集約情報900をもとに、検索情報700に合致する登録情報600が有する属性パタン800を抽出する。そして、検索部170が、抽出された属性パタン800を用いて、検索情報700に合致する登録情報600を検索するためである。
 これにより、検索部170は、抽出された属性パタン800を用いて、登録情報600と合致する、ワイルドカードを含む検索キー710を生成できる。登録情報600と合致しない検索キー710の生成はされないため、検索の回数が減少し、検索時間が短縮される。
 (第2の実施の形態)
 次に、本発明の第2の実施の形態について説明する。
 本発明の第2の実施の形態では、集約情報900間の包含関係を用いて、上述の属性パタン抽出処理を効率化する点において、本発明の第1の実施の形態と異なる。
 はじめに、本発明の第2の実施の形態の構成について説明する。
 図21は、本発明の第2の実施の形態における、検索システムの構成を示すブロック図である。
 図21を参照すると、本発明の第2の実施の形態における検索装置100は、本発明の第1の実施の形態の検索装置100の構成に加えて、リンク管理部180を含む。
 リンク管理部180は、リンク950(950dg、dh、…)を生成、更新する。リンク950は、集約情報900間の包含関係を示す情報である。
 例えば、集約情報Aにおける各属性の属性値の集合が、集約情報Bにおける当該属性の属性値の集合に含まれる場合、すなわち、各属性について、「集約情報Bの属性値の集合⊃集約情報Aの属性値の集合」である場合、集約情報Bは集約情報Aを包含する。この場合、集約情報Bには、集約情報Aへのリンク950が設定される。
 集約情報記憶部145は、集約情報900に加えて、リンク管理部180により生成されたリンク950を記憶する。
 図24は、本発明の第2の実施の形態における、集約情報記憶部145に設定された集約情報900、及び、リンク950の例を示す図である。図24は、集約情報形式を属性値の集合とした場合の例である。
 図24において、例えば、集約情報900d「{男性}{*}{*}」は、集約情報900g「{男性}{20代}{*}」へのリンク950dgを持つ。集約情報900d「{男性}{*}{*}」は、さらに、集約情報900h「{男性}{*}{エリアA、エリアB}」、集約情報900j「{男性}{30代}{エリアB}」へのリンク950dh、950djを持つ。これらのリンク950dg、950dh、950djは、集約情報900g、900h、900jにおける各属性の属性値の集合が、集約情報900dにおける当該属性の属性値の集合に含まれることを示している。
 リンク管理部180によるリンク950の更新は、集約情報生成部140により集約情報900の生成、更新が行われたときに、当該生成、更新が行われた集約情報900と他の集約情報900との間の包含関係を判定することにより行われる。
 例えば、図24において、集約情報900fが「{*}{*}{エリアB}」から「{*}{*}{エリアA、エリアB}」に更新された場合、リンク管理部180は、集約情報900fと他の集約情報900との間の包含関係を判定する。集約情報900fの更新後、集約情報900fは集約情報900hを包含するため、リンク管理部180は、集約情報900fから集約情報900hへのリンク950fhを追加する。また、集約情報900fの更新後、集約情報900fは集約情報900jを包含しないため、リンク管理部180は、集約情報900fから集約情報900jへのリンク950fjを削除する。
 属性パタン抽出部160は、属性パタン抽出処理において、検索情報700と集約情報900との論理積の算出結果が集約情報形式の検索情報700と一致しない場合、リンク950により関連付けられた他の集約情報900との論理積の算出を省略する。これにより、属性パタン抽出部160は、属性パタン抽出処理を効率化できる。
 例えば、図24の集約情報900に対して、図9の検索情報700の検索を行うと仮定する。この場合、集約情報形式の検索情報700「{女性}{30代}{エリアB}」と集約情報900d「{男性}{*}{*}」との論理積は、集約情報形式の検索情報700と一致しない。従って、属性パタン抽出部160は、検索情報700と、集約情報900dにリンク950dg、950dh、950djにより関連付けられた集約情報900g、900h、900jとの論理積の算出を省略する。
 次に、本発明の第2の実施の形態の動作について説明する。
 はじめに、本発明の第2の実施の形態における、登録処理について説明する。
 本発明の第2の実施の形態における登録処理では、集約情報更新処理(ステップS110)が、本発明の第1の実施の形態と異なる。
 図22は、本発明の第2の実施の形態における、集約情報更新処理(ステップS110)の詳細を示すフローチャートである。
 ここで、集約情報生成部140が集約情報900を設定するまでの処理(ステップS311~S314)は、本発明の第1の実施の形態(図5、ステップS111~S114)と同様である。
 リンク管理部180は、集約情報記憶部145に記憶された集約情報900の内、ステップS314で更新された集約情報900以外の集約情報900を一つ選択する(ステップS315)。
 リンク管理部180は、更新された集約情報900と、ステップS315で選択された集約情報900との間の包含関係を判定する(ステップS316)。
 リンク管理部180は、ステップS316における包含関係の判定結果をもとに、更新された集約情報900と、選択された集約情報900との間のリンク950を更新する(ステップS317)。
 リンク管理部180は、選択された集約情報900を「処理済み」とする(ステップS318)。
 リンク管理部180は、更新された集約情報900以外の全ての集約情報900について「処理済み」となるまで、ステップS315~S318の処理を繰り返す(ステップS319)。
 なお、リンク管理部180は、上述のステップS315~S319において、処理すべき集約情報900の数を減らすために、包含関係の判定、リンク950の更新を行う対象の集約情報900を、以下のように制限してもよい。すなわち、リンク管理部180は、対象の集約情報900を、更新された集約情報900を包含する集約情報900、及び、更新された集約情報900に対する属性パタン800よりも属性数が多い属性パタン800に対する集約情報900に制限してもよい。
 次に、本発明の第2の実施の形態における、検索処理について説明する。
 本発明の第2の実施の形態における検索処理では、属性パタン抽出処理(ステップS210)が、本発明の第1の実施の形態と異なる。
 図23は、本発明の第2の実施の形態における、属性パタン抽出処理(ステップS210)の詳細を示すフローチャートである。
 ここで、属性パタン抽出部160が集約情報形式の検索情報700と集約情報900との論理積を算出するまでの処理(ステップS411~S413)は、本発明の第1の実施の形態(図7、ステップS211~S213)と同様である。
 ステップS413で論理積が一致する場合(ステップS413/Y)、属性パタン抽出部160は、集約情報900に対応する属性パタン800を、検索情報700に合致する登録情報600が有する属性パタン800と判断する。そして、属性パタン抽出部160は、当該属性パタン800を抽出する(ステップS414)。属性パタン抽出部160は、ステップS416へ進む。
 ステップS413で、論理積の算出結果が集約情報形式の検索情報700と一致しない場合(ステップS413/N)、属性パタン抽出部160は、集約情報900に設定されているリンク950を参照する。そして、属性パタン抽出部160は、集約情報900が包含している他の集約情報900を「処理済み」とする(ステップS415)。属性パタン抽出部160は、ステップS416へ進む。
 属性パタン抽出部160は、集約情報900を「処理済み」とする(ステップS416)。
 属性パタン抽出部160は、集約情報記憶部145に記憶された全ての集約情報900が「処理済み」となるまで、ステップS412~S416の処理を繰り返す(ステップS417)。
 例えば、図24の集約情報900に対して、図9の検索情報700の検索を行うと仮定する。
 ここで、属性パタン抽出部160が、図24の集約情報900の先頭から処理を行う場合、集約情報形式の検索情報700と集約情報900dとの論理積は、集約情報形式の検索情報700と一致しない。従って、属性パタン抽出部160は、集約情報900g、900h、900jとの論理積の算出を省略する。そして、属性パタン抽出部160は、集約情報900d、900e、900f、900iとの論理積の算出を行う。属性パタン抽出部160は、集約情報形式の検索情報700と集約情報900fとの論理積が、集約情報形式の検索情報700に一致するため、集約情報900fに対応する属性パタン800fを抽出する。
 以上により、本発明の第2の実施の形態の動作が完了する。
 本発明の第2の実施の形態によれば、本発明の第1の実施に比べて、検索をより高速化できる。
 その理由は、検索情報700と集約情報900との論理積が検索情報700と一致しない場合、属性パタン抽出部160が、当該集約情報900が包含する他の集約情報900との論理積の算出を省略するためである。
 これにより、属性パタン抽出処理が効率化され、検索時間がより短縮される。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2013年7月1日に出願された日本出願特願2013-138055を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、任意の値を示すワイルドカードを含んだデータ群に対して検索を行う検索装置や、ワイルドカードを含んだデータを格納したデータベースに適用できる。また、本発明は、ワイルドカードを含んだ大量のルールとユーザの状態情報とのマッチングをリアルタイムに検出する必要がある、コンシェルジュサービスやリアルタイム広告配信等の状況依存サービスに適用できる。
 100  検索装置
 101  CPU
 102  記憶手段
 103  通信手段
 110  登録情報受信部
 120  登録情報管理部
 125  登録情報記憶部
 130  属性パタン生成部
 140  集約情報生成部
 145  集約情報記憶部
 150  検索情報受信部
 160  属性パタン抽出部
 170  検索部
 180  リンク管理部
 300  登録情報入力装置
 400  検索情報入力装置
 500  検索結果出力装置
 600  登録情報
 700  検索情報
 710  検索キー
 800  属性パタン
 900  集約情報
 950  リンク 

Claims (18)

  1.  ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索する情報処理装置であって、
     前記登録情報を記憶する登録情報記憶手段と、
     前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶する、集約情報記憶手段と、
     前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出する、属性パタン抽出手段と、
     前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する検索手段と、
    を備えた情報処理装置。
  2.  前記集約情報は、前記属性パタンを有する前記登録情報の論理和であり、
     前記属性パタン抽出手段は、前記入力情報と前記集約情報との論理積が前記入力情報と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項1に記載の情報処理装置。
  3.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の集合の組であり、
     前記属性パタン抽出手段は、前記複数の属性の各々について、前記入力情報の当該属性の属性値と前記集約情報の当該属性の属性値の集合との積集合が、前記入力情報の当該属性の属性値と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項2に記載の情報処理装置。
  4.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の有無を表すビット列であり、
     前記属性パタン抽出手段は、前記入力情報に係るビット列と前記集約情報のビット列との積が、前記入力情報に係るビット列と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項2に記載の情報処理装置。
  5.  前記集約情報記憶手段は、さらに、前記集約情報間の包含関係を記憶し、
     前記属性パタン抽出手段は、前記集約情報のいずれかと前記入力情報との論理積が、当該入力情報と一致しない場合、当該集約情報が包含する他の集約情報と前記入力情報との論理積の算出を省略する、
    請求項2乃至4のいずれかに記載の情報処理装置。
  6.  前記検索手段は、前記入力情報における、前記抽出された属性パタンで示される属性以外の属性の属性値をワイルドカードに置き換えた属性値の組を用いて、前記入力情報に合致する前記登録情報を検索する、
    請求項1乃至5のいずれかに記載の情報処理装置。
  7.  ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索する検索方法であって、
     前記登録情報を記憶し、
     前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶し、
     前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出し、
     前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する、
    検索方法。
  8.  前記集約情報は、前記属性パタンを有する前記登録情報の論理和であり、
     前記属性パタンを抽出する場合、前記入力情報と前記集約情報との論理積が前記入力情報と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項7に記載の検索方法。
  9.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の集合の組であり、
     前記属性パタンを抽出する場合、前記複数の属性の各々について、前記入力情報の当該属性の属性値と前記集約情報の当該属性の属性値の集合との積集合が、前記入力情報の当該属性の属性値と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項8に記載の検索方法。
  10.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の有無を表すビット列であり、
     前記属性パタンを抽出する場合、前記入力情報に係るビット列と前記集約情報のビット列との積が、前記入力情報に係るビット列と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    請求項8に記載の検索方法。
  11.  さらに、前記集約情報間の包含関係を記憶し、
     前記属性パタンを抽出する場合、前記集約情報のいずれかと前記入力情報との論理積が、当該入力情報と一致しない場合、当該集約情報が包含する他の集約情報と前記入力情報との論理積の算出を省略する、
    請求項7乃至10のいずれかに記載の検索方法。
  12.  前記登録情報を検索する場合、前記入力情報における、前記抽出された属性パタンで示される属性以外の属性の属性値をワイルドカードに置き換えた属性値の組を用いて、前記入力情報に合致する前記登録情報を検索する、
    請求項7乃至11のいずれかに記載の検索方法。
  13.  ワイルドカードの属性値を含まない複数の属性の属性値の組である入力情報に合致する登録情報であって、ワイルドカードの属性値を含みうる前記複数の属性の属性値の組である登録情報を検索するためのプログラムを格納する記録媒体であって、
     コンピュータに、
     前記登録情報を記憶し、
     前記登録情報に係る属性値がワイルドカード以外である属性の組を示す属性パタンに対応づけて、当該属性パタンを有する前記登録情報の前記複数の属性の各々の属性値を集約した集約情報を記憶し、
     前記集約情報をもとに、前記入力情報に合致する前記登録情報が有する属性パタンを抽出し、
     前記抽出された属性パタンを用いて、前記入力情報に合致する前記登録情報を検索する、
    処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  14.  前記集約情報は、前記属性パタンを有する前記登録情報の論理和であり、
     前記属性パタンを抽出する場合、前記入力情報と前記集約情報との論理積が前記入力情報と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    処理を実行させる請求項13に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  15.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の集合の組であり、
     前記属性パタンを抽出する場合、前記複数の属性の各々について、前記入力情報の当該属性の属性値と前記集約情報の当該属性の属性値の集合との積集合が、前記入力情報の当該属性の属性値と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    処理を実行させる請求項14に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  16.  前記集約情報は、前記属性パタンを有する前記登録情報の、前記複数の属性の各々に係る属性値の有無を表すビット列であり、
     前記属性パタンを抽出する場合、前記入力情報に係るビット列と前記集約情報のビット列との積が、前記入力情報に係るビット列と一致した場合、当該集約情報に対応する属性パタンを抽出する、
    処理を実行させる請求項14に記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  17.  さらに、前記集約情報間の包含関係を記憶し、
     前記属性パタンを抽出する場合、前記集約情報のいずれかと前記入力情報との論理積が、当該入力情報と一致しない場合、当該集約情報が包含する他の集約情報と前記入力情報との論理積の算出を省略する、
    処理を実行させる請求項13乃至16のいずれかに記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。
  18.  前記登録情報を検索する場合、前記入力情報における、前記抽出された属性パタンで示される属性以外の属性の属性値をワイルドカードに置き換えた属性値の組を用いて、前記入力情報に合致する前記登録情報を検索する、
    処理を実行させる請求項13乃至17のいずれかに記載のプログラムを格納する、コンピュータが読み取り可能な記録媒体。 
PCT/JP2014/003230 2013-07-01 2014-06-17 情報処理装置、及び、検索方法 WO2015001740A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-138055 2013-07-01
JP2013138055 2013-07-01

Publications (1)

Publication Number Publication Date
WO2015001740A1 true WO2015001740A1 (ja) 2015-01-08

Family

ID=52143343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/003230 WO2015001740A1 (ja) 2013-07-01 2014-06-17 情報処理装置、及び、検索方法

Country Status (1)

Country Link
WO (1) WO2015001740A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011004846A1 (ja) * 2009-07-07 2011-01-13 日本電気株式会社 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
JP2011227655A (ja) * 2010-04-19 2011-11-10 Nec Corp 情報検索システム、情報検索方法およびプログラム
WO2012127986A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 情報検索システム、情報検索方法および情報検索プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011004846A1 (ja) * 2009-07-07 2011-01-13 日本電気株式会社 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
JP2011227655A (ja) * 2010-04-19 2011-11-10 Nec Corp 情報検索システム、情報検索方法およびプログラム
WO2012127986A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 情報検索システム、情報検索方法および情報検索プログラム

Similar Documents

Publication Publication Date Title
US10776400B2 (en) Clustering using locality-sensitive hashing with improved cost model
WO2018031958A1 (en) Aggregate features for machine learning
CN104866471B (zh) 一种基于局部敏感哈希策略的实例匹配方法
JP2021022359A (ja) 管理システム及び管理方法
CN110928986B (zh) 法律证据的排序和推荐方法、装置、设备及存储介质
CN112231555A (zh) 基于用户画像标签的召回方法、装置、设备及存储介质
JP2014123286A (ja) 文書分類装置及びプログラム
US20180276244A1 (en) Method and system for searching for similar images that is nearly independent of the scale of the collection of images
KR20200013130A (ko) 인공 지능 기술 기반의 머신 러닝을 사용하는 특허 도면 이미지의 도면 부호에 대응되는 도면 부호의 설명 데이터 처리 방법 및 장치
JP2017045291A (ja) 類似画像検索システム
CN108268611B (zh) 一种基于MapReduce的k-means文本聚类的方法及装置
CN111339778B (zh) 文本处理方法、装置、存储介质和处理器
WO2015001740A1 (ja) 情報処理装置、及び、検索方法
JP5928446B2 (ja) 情報検索システム、情報検索方法および情報検索プログラム
CN102622354B (zh) 一种基于特征向量的聚合数据快速查找方法
JP6495206B2 (ja) 文書概念ベース生成装置、文書概念検索装置、方法、及びプログラム
JP6542546B2 (ja) 文書データ処理方法およびシステム
CN111125486B (zh) 一种基于多特征的微博用户属性分析方法
WO2011016281A2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
CN111090743A (zh) 一种基于词嵌入和多值形式概念分析的论文推荐方法及装置
CN112540973A (zh) 一种基于关联规则的网络可视化方法
WO2015159702A1 (ja) 部分情報抽出システム
WO2020234930A1 (ja) クラスタ解析方法、クラスタ解析システム、及びクラスタ解析プログラム
JP2011248740A (ja) データ出力装置、データ出力方法およびデータ出力プログラム
JP2004206355A (ja) テキスト自動分類方法及び装置並びにプログラム及び記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14819240

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14819240

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP