WO2012127986A1 - Information search system, information search method, and information search programme - Google Patents
Information search system, information search method, and information search programme Download PDFInfo
- Publication number
- WO2012127986A1 WO2012127986A1 PCT/JP2012/054673 JP2012054673W WO2012127986A1 WO 2012127986 A1 WO2012127986 A1 WO 2012127986A1 JP 2012054673 W JP2012054673 W JP 2012054673W WO 2012127986 A1 WO2012127986 A1 WO 2012127986A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- attribute
- registration
- list
- attribute name
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
Definitions
- the present invention relates to an information retrieval technique for retrieving registration information that matches evaluation information by comparing registration information including at least one attribute information having an attribute name and an attribute value with evaluation information.
- the information search method described in Patent Document 1 is based on a transposed array, a search key, and a relevance evaluation function for one attribute corresponding to the first transposed array in the search order of the transposed array among a plurality of attributes.
- the data group included in the search range is acquired.
- the next search process is executed for each attribute according to the search order of the transposed array until a predetermined stop condition is satisfied.
- a process for acquiring a data group included in the search range is performed for the corresponding attribute based on the transposed array, the search key, and the relevance evaluation function.
- These acquired data groups are individual solution candidate sets. In this search method, these individual solution candidate sets and the current solution candidate set are merged to generate a new solution candidate set.
- the information search method described in Patent Document 1 specifies a data search range by using a single method between attributes. Therefore, the information search method described in Patent Document 1 has a problem that the processing cannot be executed with an appropriate calculation amount or memory amount when the load of the data search processing performed for each attribute is large.
- An object of the present invention is to provide an information search system, an information management apparatus, a method, and a program that can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is large. One of them.
- a first information search system receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name.
- a combination expansion processing means for generating a registration key corresponding to the registration information by performing first information processing that differs depending on whether or not the attribute information included in the information has, and at least one attribute information The evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name.
- Information search means for generating a search key for searching for registration information corresponding to the registration key.
- the first information retrieval method receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name. Depending on whether or not the attribute information included in the information has different first information processing, a registration key corresponding to the registration information is generated, and evaluation information including one or more attribute information is received, Each attribute information included in the evaluation information corresponds to the registration key by performing a second information process that differs depending on whether or not the attribute information has a predetermined attribute name. A search key for searching registration information is generated.
- the first information search program receives registration information including one or more attribute information having an attribute name and an attribute value in a computer, and each attribute name for each predetermined attribute name
- the evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name.
- An example of the effect of the present invention is that data search processing can be executed with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
- FIG. 1 is a block diagram showing the configuration of the information search system in the first embodiment of the present invention.
- FIG. 2 is a diagram illustrating an example of registration information and evaluation information.
- FIG. 3 is a diagram illustrating an example of registration information including a wild card.
- FIG. 4 is a diagram illustrating an example of registration information that does not include a wild card.
- FIG. 5 is a block diagram illustrating an example of a configuration included in the combination development determination unit according to the first embodiment of the present invention.
- FIG. 6 is a diagram illustrating an example of the combination expansion target attribute name designation list.
- FIG. 7 is a diagram illustrating an example of registration information.
- FIG. 8 is a diagram illustrating an example of the combination expansion target attribute name list.
- FIG. 1 is a block diagram showing the configuration of the information search system in the first embodiment of the present invention.
- FIG. 2 is a diagram illustrating an example of registration information and evaluation information.
- FIG. 3 is a diagram illustrating an example of registration information including
- FIG. 9 is a block diagram showing an example of the configuration of the combination development processing unit in the first embodiment of the present invention.
- FIG. 10 is a diagram illustrating an example of the combination expansion target attribute value list.
- FIG. 11 is a diagram illustrating an example of registration information after the combination expansion process.
- FIG. 12 is a block diagram illustrating an example of the configuration of the information registration unit according to the first embodiment of this invention.
- FIG. 13 is a block diagram showing an example of the configuration of the power set expansion processing unit in the first embodiment of the present invention.
- FIG. 14 is a diagram illustrating an example of the evaluation information.
- FIG. 15 is a diagram illustrating an example of the power set expansion target attribute information list.
- FIG. 16 is a diagram illustrating an example of a non-power set expansion target attribute information list.
- FIG. 17 is a diagram illustrating an example of a power set expansion target expansion list.
- FIG. 18 is a diagram illustrating an example of evaluation target information after the power set expansion processing.
- FIG. 19 is a block diagram showing an example of the configuration of the information search unit in the first embodiment of the present invention.
- FIG. 20 is a flowchart showing the operation of the information registration flow in the operation of the information search system in the first embodiment of the present invention.
- FIG. 21 is a flowchart showing the operation of the combination expansion determination process in the information registration flow.
- FIG. 22 is a flowchart showing the operation of the combination expansion process in the information registration flow.
- FIG. 23 is a flowchart showing the operation of the information evaluation flow in the operation of the information search system in the first embodiment of the present invention.
- FIG. 24 is a block diagram showing a configuration of an information search system according to the second embodiment of the present invention.
- FIG. 25 is a block diagram showing an example of the configuration of the combination expansion target attribute name designation list creation unit in the second embodiment of the present invention.
- FIG. 26 is a diagram illustrating an example of the attribute value number list.
- FIG. 27 is a flowchart showing the operation of the combination expansion target attribute name designation list creation unit in the operation of the information search system according to the second embodiment of the present invention.
- FIG. 28 is a block diagram showing the configuration of the information search system in the third embodiment of the present invention.
- FIG. 29 is a diagram showing a hardware configuration of the information search system and its peripheral devices according to the third embodiment of the present invention.
- FIG. 30 is a flowchart showing an outline of the operation of the information search system according to the third embodiment of the present invention.
- FIG. 1 is a block diagram showing a configuration of an information search system 10 in the first embodiment of the present invention.
- the information search system 10 includes a registration information receiving unit 101, a combination expansion target attribute name designation list storage unit 102, a combination expansion determination unit 103, a combination expansion processing unit 104, and an information registration unit 105.
- the information search system 10 receives a registration information registration request, and determines whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names. (First determination). And the information search system 10 produces
- the information search system 10 receives the evaluation information as a search request, and determines whether or not each attribute information included in the evaluation information has a predetermined attribute name (second determination). And the information search system 10 produces
- the information search system 10 can search for registration information corresponding to a registration key that matches the search key. With this configuration, the information search system 10 according to the first embodiment can execute data search processing with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
- FIG. 2 is a diagram illustrating an example of registration information. Referring to FIG. 2, the registration information includes one or more attribute information, and the attribute information includes a combination of an attribute name and an attribute value. The registration information shown in FIG. 2 represents “a 20-year-old man in Tokyo”. FIG. 2 also shows an example of evaluation information. The evaluation information includes one or more attribute information. The information search system 10 in the first embodiment can register registration information including a wild card. FIG.
- FIG. 3 is a diagram illustrating an example of registration information not including a wild card
- FIG. 4 is a diagram illustrating an example of registration information including a wild card.
- the wild card is information indicating that the attribute value of the corresponding attribute information may be arbitrary.
- the registration information including all attribute information as shown in FIG. 3 does not include a wild card. It is called registration information.
- registration information that does not include all attribute information as shown in FIG. 4 is referred to as registration information that includes a wild card.
- the registration information including the wild card shown in FIG. 4 represents “a man in his twenties”.
- the combination expansion target attribute name designation list storage unit 102 stores a combination expansion target attribute name designation list which is a list in which attribute names to be subjected to combination expansion processing are designated.
- the combination expansion target attribute name designation list is also referred to as a designation list.
- the combination expansion target attribute name designation list storage unit 102 is also referred to as a designation list storage unit.
- the combination expansion process is a process for obtaining all combinations of values that can be taken by each attribute value between predetermined attribute information.
- the combination expansion determination unit 103 passes the received registration information and a combination expansion target attribute name list described later to the combination expansion processing unit 104 described later.
- the combination expansion determination unit 103 acquires the combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102.
- the combination expansion determination unit 103 is information including attribute names excluding the attribute names included in the registration information received by the registration information receiving unit 101 from the attribute names included in the combination expansion target attribute name designation list.
- a certain combination expansion target attribute name list is generated. In the present invention, this function is called a combination expansion target attribute name list generation function.
- the function is performed by the combination expansion target attribute name list generation unit 131.
- FIG. 5 is a diagram illustrating an example of a configuration included in the combination development determination unit 103.
- the combination development determination unit 103 is also referred to as a determination unit.
- the combination expansion target attribute name list is also referred to as an attribute name list.
- FIG. 8 shows combinations when the registration information shown in FIG. 7 is input to the information search system 10 and the combination expansion target attribute name designation list storage unit 102 stores the combination expansion target attribute name designation list shown in FIG. It is a figure which shows an example of an expansion
- the attribute names included in the registration information shown in FIG. 7 are Interest (interest) and Location (location).
- the attribute names specified by the combination expansion target attribute name specification list shown in FIG. 6 are Interest (interest), Gender (gender), and Terminal (terminal state).
- FIG. 9 is a diagram illustrating functions provided in the combination development processing unit 104.
- the combination expansion processing unit 104 includes a combination expansion target attribute value list storage unit 141 and a combination generation processing unit 142.
- the combination expansion processing unit 104 stores the combination expansion target attribute value list in the combination expansion target attribute value list storage unit 141.
- the combination expansion target attribute value list is information in which a list of attribute values that can be taken by each piece of attribute information for performing combination expansion processing is associated with the corresponding attribute name. In the present invention, this function is referred to as a combination expansion target attribute value list storage function. In the present invention, the combination expansion target attribute value list is also referred to as an attribute value list.
- the combination expansion target attribute value list includes values that can be taken by the attribute values included in the attribute information corresponding to the attribute names specified by the combination expansion target attribute name specification list.
- the combination expansion target attribute value list shown in FIG. 10 indicates that the attribute “Interest” has 12 kinds of values of Music, Movie, Sports, Shopping, Cooking, Drive, Game, Computer, TV, Outdoor, Novell, and Comics. ing. Further, this combination expansion target attribute value list indicates that the attribute “Gender” has binary values of “Male” and “Female”.
- the combination expansion target attribute value list indicates that the attribute “Terminal” has two values of open and close.
- the combination expansion processing unit 104 acquires a combination expansion target attribute value list corresponding to the attribute name included in the combination expansion target attribute name list from the combination expansion target attribute value list storage unit 141. Then, the combination expansion processing unit 104 generates registration information after combination expansion processing in which registration information is combined with combinations of values included in the acquired combination expansion target attribute value list and attribute names of those values. In the present invention, this function is called a combination generation processing function or a combination expansion processing function.
- the combination generation processing function is performed by the combination generation processing unit 142. For example, the combination generation processing unit 142 receives the registration information shown in FIG. 7 and the combination expansion target attribute name list shown in FIG.
- the combination generation processing unit 142 passes the generated registration information after the four combination expansion processes to the information registration unit 105.
- the information registration unit 105 may specify the hash value of the linked attribute information as the registration key.
- the information registration unit 105 includes a registration unit 153 that sends a registration request including a registration key and registration information to the information storage unit 106 described later.
- the information storage unit 106 stores registration information using the registration key as a key. That is, the information storage unit 106 stores the registration key and the corresponding registration information in association with each other. Further, the information storage unit 106 accepts a search request including a search key described later.
- the information storage unit 106 uses the search key as a key, and returns registration information stored in association with the registration key corresponding to the search key.
- the information storage unit 106 may be a key value store such as a hash table.
- FIG. 2 is a diagram illustrating an example of evaluation information.
- the evaluation information received by the evaluation information receiving unit 107 includes one or more attribute information.
- the attribute information has an attribute name and an attribute value.
- the power set expansion processing unit 108 passes the evaluation information after the power set expansion processing to the information search unit 109 described later.
- the power set expansion processing unit 108 is also referred to as a set expansion processing unit. Details of the “evaluation information after the power set expansion process” will be described later.
- FIG. 13 is a diagram illustrating an example of a configuration included in the power set expansion processing unit 108.
- the power set expansion processing unit 108 has a function of performing the following processing using the evaluation information received from the evaluation information receiving unit 107 and the combination expansion target attribute name designation list acquired from the combination expansion target attribute name designation list storage unit 102. Prepare.
- the power set expansion processing unit 108 generates a power set expansion target attribute information list obtained by removing the attribute information corresponding to the attribute name specified by the combination expansion target attribute name specification list from the attribute information included in the evaluation information. To do. Further, the power set expansion processing unit 108 extracts a non-power set expansion target attribute information list obtained by extracting attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the attribute information included in the evaluation information. Generate. In the present invention, these functions are referred to as evaluation information dividing functions.
- the evaluation information dividing unit 181 performs the evaluation dividing function. Specifically, the evaluation information dividing unit 181 divides the evaluation information into a power set expansion target attribute information list and a non power set expansion target attribute information list.
- FIG. 15 is an example of a power set expansion target attribute information list generated by the power set expansion processing unit 108.
- the combination expansion target attribute name designation list storage unit 102 stores the combination expansion target attribute name designation list shown in FIG. 6, the set expansion processing unit 108 that should receive the evaluation information shown in FIG. A set expansion target attribute information list of 15 examples is generated.
- FIG. 16 is an example of a non-exponent set expansion target attribute information list generated in the same case as the above example.
- “Interest”, “Gender”, and “Terminal” are designated.
- the power set expansion processing unit 108 generates a power set of a set having attribute information included in the generated power generation target attribute information list as elements.
- the power set expansion processing unit 108 generates a set expansion target expansion list that should include each element of the power set as a list.
- these functions are called partial power generation functions. These functions are realized by the partial power generation unit 182.
- the partial power set generation unit 182 receives a power set expansion target attribute information list.
- the partial power set generation unit 182 generates a power set of a set having attribute information included in the received set expansion target attribute information list as an element.
- the partial power set generation unit 182 generates a power set expansion target expansion list that includes each element of the power set in the list.
- the power set expansion processing unit 108 identifies the generated power set as a power set expansion target expansion list.
- FIG. 17 is a diagram illustrating an example of a set expansion target expansion list that should be specified by the power set expansion processing unit 108.
- the power set expansion processing unit 108 should have combined the power set expansion target attribute information list with the power set expansion target expansion list based on the power set expansion target expansion list and the power set expansion target attribute information list. Evaluation information after the set expansion process is generated.
- this function is referred to as a non-expansion attribute synthesis function.
- the function is performed by the non-expansion attribute synthesis unit 183.
- the information search unit 109 includes a sorting unit 191 that sorts attribute information of evaluation information after power set expansion processing in a specific order.
- the specific order includes, for example, alphabetical order of attribute names or attribute values, alphabetical order, numerical ascending order, numerical descending order, and the like.
- the information search unit 109 includes a key generation unit 192 that connects the sorted attribute information and generates a search key based on the connected attribute information.
- the information search unit 109 may specify the hash value of the linked attribute information as the search key.
- FIG. 19 the information search unit 109 includes a sorting unit 191 that sorts attribute information of evaluation information after power set expansion processing in a specific order.
- the specific order includes, for example, alphabetical order of attribute names or attribute values, alphabetical order, numerical ascending order, numerical descending order, and the like.
- the information search unit 109 includes a key generation unit 192 that connects the sorted attribute information and generates a search key based on the connected attribute information.
- the information search unit 109 includes a search unit 193 that passes a search request including the generated search key to the information storage unit 106.
- the combination development determination unit 103, the combination development processing unit 104, and the information registration unit 105 are collectively referred to as a first development processing unit.
- the power set expansion processing unit 108 and the information search unit 109 are collectively referred to as a second expansion processing unit. The same applies to the second embodiment of the present invention.
- the operation of the information search system 10 in the first embodiment will be described in detail with reference to the drawings.
- the overall operation of the information search system 10 in the first embodiment can be broadly divided into an information registration flow for registering registration information and an information evaluation flow for searching for registration information that matches the evaluation information.
- FIG. 20 is a flowchart showing the operation of the information registration flow in the operation of the information search system 10 in the first embodiment.
- the registration information receiving unit 101 receives registration information including one or more attribute information (step S-101S).
- the registration information receiving unit 101 passes the registration information to the combination development determining unit 103.
- the process of the information search system 10 proceeds to step S102S.
- the registration information includes one or more attribute information, and the attribute information includes a pair of an attribute name and an attribute value.
- the information search system 10 in the first embodiment can register registration information including a wild card.
- the combination development determination unit 103 receives registration information.
- the combination expansion determination unit 103 performs a combination expansion determination process (step S-102S). Then, the combination expansion determination unit 103 passes the registration information and the combination expansion target attribute name list to the combination expansion processing unit 104. Then, the process of the information search system 10 proceeds to step S-103S.
- FIG. 21 is a flowchart showing the operation of the combination development determination process. The operation of the combination development determination process will be described below.
- the combination development determination unit 103 receives registration information (step S-102S-01). Then, the process of the combination development determination unit 103 proceeds to step S-102S-02.
- the combination expansion determination unit 103 acquires a combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102 (step S-102S-02).
- the combination development determination unit 103 sets the counter i to 0 (steps S-102S-03). Then, the process of the combination development determination unit 103 proceeds to step S-102S-04.
- the combination expansion determination unit 103 compares the counter i with the number of attribute names that is the number of attribute names included in the combination expansion target attribute name designation list (step S-102S-04). If the counter i is smaller than the number of attribute names included in the combination expansion target attribute name designation list (“Yes” in step S-102S-04), the processing of the combination expansion determination unit 103 proceeds to step S-102S-05. .
- the combination expansion determination process of the combination expansion determination unit 103 ends.
- the combination expansion determination unit 103 extracts the i-th attribute name from the combination expansion target attribute name designation list (step S-102S-05). Then, the process of the combination development determination unit 103 proceeds to step S-102S-06.
- the combination development determination unit 103 sets the counter j to 0 (steps S-102S-06). Then, the process of the combination development determination unit 103 proceeds to step S-102S-07.
- the combination development determination unit 103 extracts the attribute name of the jth attribute information from the registration information (step S-102S-07).
- step S-102S-08 The combination expansion determination unit 103 compares the attribute name acquired in step S-102S-05 with the attribute name acquired in step S-102S-07 (step S-102S-08). If the attribute values match (“Yes” in step S-102S-08), the process of the combination development determination unit 103 proceeds to step S-102S-12. On the other hand, if the attribute values do not match (“No” in step S-102S-08), the process of the combination development determination unit 103 proceeds to step S-102S-09. The combination development determination unit 103 adds 1 to the counter j (steps S-102S-09). Then, the process of the combination development determination unit 103 proceeds to step S-102S-10.
- the combination development determination unit 103 compares the counter j with the number of attributes that is the number of attribute information included in the registration information (step S-102S-10). When the counter j is smaller than the number of attributes included in the registration information (“Yes” in step S-102S-10), the processing of the combination expansion determination unit 103 proceeds to step S-102S-07. On the other hand, when the counter j is larger than the number of attributes included in the registration information (“No” in step S-102S-10), the process of the combination expansion determination unit 103 proceeds to step S-102S-11. The combination expansion determination unit 103 adds the attribute name determined to have been matched in step S-102S-08 to the combination expansion target attribute name list (step S-102S-11).
- step S-102S-12 the process of the combination development determination unit 103 proceeds to step S-102S-12.
- the combination development determination unit 103 adds 1 to the counter i (step S-102S-12).
- step S-102S-04 the process of the combination development determination unit 103 proceeds to step S-102S-04.
- the above is the operation of the combination development determination unit 103.
- the combination expansion determination unit 103 passes the combination expansion target attribute name list including the attribute name added in step S-102S-11 to the combination expansion processing unit 104 when the processing is ended in step S-102S-04.
- the process of the information search system 10 proceeds to step S-103S.
- the combination expansion processing unit 104 receives registration information and a combination expansion target attribute name list.
- step S-103S determines whether or not the combination expansion target attribute name list is empty. If the combination expansion target attribute name list is empty (“Yes” in step S-103S), the processing of the information search system 10 proceeds to step S-106S. On the other hand, when the combination expansion target attribute name list is not empty (“No” in step S-103S), the process of the information search system 10 proceeds to step S-104S.
- the combination expansion processing unit 104 performs combination expansion processing (step S-104S). Then, the combination expansion processing unit 104 passes the registration information after the combination expansion processing to the information registration unit 105. Then, the processing of the information processing system 10 proceeds to step S-105S.
- FIG. 22 is a flowchart showing the operation of the combination development process.
- the combination expansion processing unit 104 receives a combination expansion target attribute name list (step S-104S-01). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-02. The combination development processing unit 104 sets the counter i to 0 (step S-104S-02). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-03. The combination expansion processing unit 104 compares the counter i with the number of attribute names that is the number of attribute names included in the combination expansion target attribute name list (step S-104S-03).
- step S-104S-03 When the counter i is smaller than the number of attribute names included in the combination expansion target attribute name list (“Yes” in step S-104S-03), the processing of the combination expansion processing unit 104 proceeds to step S-104S-04. On the other hand, when the counter i is larger than the number of attribute names included in the combination expansion target attribute name list (“No” in step S-104S-03), the combination expansion processing unit 104 proceeds to step S-104S-07. move on. The combination expansion processing unit 104 extracts the i-th attribute name from the combination expansion target attribute name list (steps S-104S-04). Then, the process of the combination development processing unit 104 proceeds to step S-104S-05.
- the combination expansion processing unit 104 acquires a combination expansion target attribute value list corresponding to the attribute name acquired in Step S-104S-04 from the combination expansion target attribute value list storage unit 141 (Step S-104S-05). Then, the process of the combination development processing unit 104 proceeds to step S-104S-06. The combination expansion processing unit 104 adds 1 to the counter i (step S-104S-06). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-03. The combination expansion processing unit 104 generates an attribute value combination list that is a possible combination of the attribute values included in the combination expansion target attribute value list acquired in step S-104S-05 (step S-104S-07). .
- step S-104S-08 If there is no attribute value list, the attribute value combination list is empty.
- the combination development processing unit 104 sets the counter j to 0 (steps S-104S-08). Then, the process of the combination development processing unit 104 proceeds to step S-104S-09.
- the combination expansion processing unit 104 compares the number of possible pairs of values included in the combination list of the counter j and the attribute value (steps S-104S-09). When the counter j is smaller than the number of value pairs included in the attribute value combination list (“Yes” in step S-104S-09), the processing of the combination expansion processing unit 104 proceeds to step S-104S-10. .
- the combination expansion processing unit 104 ends the combination expansion processing.
- the combination expansion processing unit 104 acquires the jth attribute value pair from the attribute value combination list (step S-104S-10). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-11.
- the combination expansion processing unit 104 generates new registration information by combining attribute value pairs and attribute names corresponding to the attribute value pairs into the registration information as attribute information. Then, the combination development processing unit 104 adds the generated registration information to one of the “registration information after the combination development process” (step S-104S-11).
- step S-104S-12 the processing of the combination development processing unit 104 proceeds to step S-104S-12.
- the combination development processing unit 104 adds 1 to the counter j (step S-104S-12).
- step S-104S-09 the processing of the combination development processing unit 104 proceeds to step S-104S-09.
- the above is the operation of the combination development processing unit 104. That is, when the combination expansion processing unit 104 ends the processing in step S-104S-09, it passes the registration information after the combination expansion processing added in step S-104S-11 to the information registration unit 105. Then, the process of the information search system 10 proceeds to step S-105S.
- the information registration unit 105 extracts one piece of unregistered registration information from one or more pieces of registration information (step S-105S).
- step S-106S The information registration unit 105 extracts attribute information from the registration information extracted in step S-105S. Then, the information registration unit 105 arranges the attribute information in a specific order (step S-106S). Then, the process of the information search system 10 proceeds to step S-107S.
- the specific order may be an order determined based on attribute names included in the attribute information. Further, the specific order may be alphabetical order of the attribute names included in the attribute information, alphabetical order, numerical ascending order, or numerical descending order.
- the information registration unit 105 extracts attribute information from the registration information, and generates a registration key based on the information obtained by connecting the attribute information (step S-107S). Then, the process of the information search system 10 proceeds to step S-108S.
- the information registration unit 105 passes the registration request including the registration key and registration information generated in step S-107S to the information storage unit 106.
- the information storage unit 106 stores the registration information based on the registration key included in the received registration request (step S-108S). Then, the process of the information search system 10 proceeds to step S-109S.
- the information registration unit 105 determines whether registration processing has been performed for all registration information (step S-109S). If registration processing has been performed for all registration information (“Yes” in step S-109S), the information processing system 10 ends the information registration flow. On the other hand, if the registration process has not been performed for all the registration information (“No” in step S-109S), the process of the information search system 10 proceeds to step S-105S. By performing the process according to the above steps, registration information is stored in the information storage unit 106 based on the registration key generated by the combination expansion process. FIG.
- the evaluation information receiving unit 107 receives evaluation information including one or more attribute information (step S-101E).
- the evaluation information receiving unit 107 passes the evaluation information to the power set expansion processing unit 108.
- the process of the information search system 10 proceeds to step S-102E.
- the evaluation information includes one or more attribute information, and the attribute information includes a pair of an attribute name and an attribute value.
- the power set expansion processing unit 108 acquires the combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102 (step S-102E). Then, the process of the information search system 10 proceeds to step S-103E.
- the power set expansion processing unit 108 generates a set expansion target attribute information list that should be a list of attribute information excluding attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the evaluation information.
- the power set expansion processing unit 108 generates a non-power set expansion target attribute information list that is a list of attribute information obtained by extracting attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the evaluation information. (Step S-103E). Then, the process of the information search system 10 proceeds to step S-104E.
- the power set expansion processing unit 108 obtains a power set of a set having attribute information included in the power set expansion target attribute information list as an element.
- the power set expansion processing unit 108 generates a set expansion target expansion list in which each element of the power set should be an element of the list (step S-104E). Then, the process of the information search system 10 proceeds to step S-105E.
- the power set expansion processing unit 108 sets the counter i to 0 (step S-105E). Then, the process of the power set expansion processing unit 108 proceeds to step S-106E.
- the power set expansion processing unit 108 compares the counter i with the number of elements included in the power set expansion target expansion list (step S-106E). When the counter i is smaller than the number of elements in the power set expansion target expansion list (“Yes” in step S-106E), the processing of the information search system 10 proceeds to step S-107E.
- step S-111E when the counter i is larger than the number of elements in the power set expansion target expansion list (“No” in step S-106E), the processing of the information search system 10 proceeds to step S-111E.
- the power set expansion processing unit 108 extracts the i-th element of the power set expansion target expansion list (step S-107E). Then, the process of the information search system 10 proceeds to step S-108E.
- the power set expansion processing unit 108 combines the attribute information included in the non-power set expansion target attribute information list with the element extracted in step S-107E (step S-108E). Then, the process of the information search system 10 proceeds to step S-109E.
- the power set expansion processing unit 108 adds the element synthesized in step S-108E to one of the “evaluation information after the power set expansion processing” (step S-109E). Then, the process of the information search system 10 proceeds to step S-110E.
- the power set expansion processing unit 108 adds 1 to the counter i (step S-110E). Then, the process of the information search system 10 proceeds to step S-106E.
- the information search unit 109 extracts one piece of unsearched evaluation information from one or more pieces of evaluation information (step S-111E). Then, the process of the information search system 10 proceeds to step S-112E.
- the information search unit 109 extracts attribute information from the evaluation information extracted in step S-111E, and arranges the attribute information in a specific order (step S-112E). Then, the process of the information search system 10 proceeds to step S-113E.
- the information search unit 109 extracts attribute information from the evaluation information, and generates a search key based on the information obtained by connecting the attribute information (step S-113E). Then, the process of the information search system 10 proceeds to step S-114E.
- the information search unit 109 passes the search request including the search key generated in step S-113E to the information storage unit 106.
- the information storage unit 106 outputs the registration information (step S-114E).
- the processing of the information processing system 10 that has finished the search request processing proceeds to step S-115E.
- the information search unit 109 determines whether search processing has been performed for all evaluation information (step S-115E). When the search process has been performed for all the evaluation information (“Yes” in step S-115E), the information search system 10 ends the information search flow. On the other hand, when the search process has not been performed for all evaluation information (“No” in step S-115E), the process of the information search system 10 proceeds to step S-111E. By performing the processing according to the above steps, the information search system 10 associates with the registration key that matches the search key generated by the power set expansion processing even when registration information including a wild card is registered. The registered information thus registered can be acquired from the information storage unit 106.
- the information search system 10 includes a combination expansion determination unit 103, a combination expansion processing unit 104, an information registration unit 105, a power set expansion processing unit 108, and an information search unit 109.
- the combination expansion determination unit 103 acquires a list (combination expansion target attribute name designation list) indicating attribute information to be subjected to the combination expansion process. Then, the combination expansion determination unit 103 determines that attribute information that is handled by the information search system 10 but is not included in the received registration information is a target of combination expansion processing.
- the combination expansion determination unit 103 passes a combination expansion target attribute name list indicating the attribute names included in the attribute information determined to be the target of the combination expansion process to the combination expansion processing unit 104.
- the combination expansion processing unit 104 performs combination expansion processing of attribute values respectively corresponding to the attribute names included in the combination expansion target attribute name list generated by the combination expansion determination unit 103. In the combination expansion process, the combination expansion processing unit 104 generates all combinations of attribute values included in the attribute information determined to be the target of the combination expansion process. Then, the combination expansion processing unit 104 generates registration information after the combination expansion processing by combining each of the generated combinations with attribute information included in the registration information that has not been determined to be the target of the combination expansion processing.
- the information registration unit 105 generates a registration key based on the registration information. For example, the following conditions are assumed as a specific example.
- the first condition is a condition that “the information search system 10 handles attribute information including any of four attribute names, ⁇ position, gender, age, physical condition ⁇ as attribute information”.
- the third condition is a condition that “the target of the combination development process is attribute information having either of two attribute names, gender or physical condition”.
- the fourth condition is that "attribute values that can be taken by attribute information having an attribute name of gender are ⁇ male, female ⁇ , and attribute values that can be taken by attribute information having an attribute name of physical condition are ⁇ good, bad ⁇ " It is a condition.
- attribute information having a certain attribute name X is simply represented by the attribute name X.
- the power set expansion processing unit 108 identifies attribute information that is not the target of the combination expansion processing as the target of the power set expansion processing. Then, the power set expansion processing unit 108 generates a power set of a set having the attribute information as an element for the attribute information subjected to the power set expansion processing.
- the information search system 10 according to the first embodiment can adjust the balance between the calculation amount and the used memory amount by appropriately adjusting the contents of the list indicating the attribute information for which the combination expansion is performed.
- the combination expansion determination unit 103 determines that combination expansion is performed only on attribute information with a small number of possible attribute values, thereby preventing an increase in registration keys and combining all the attribute information. In comparison, the amount of memory can be reduced.
- the amount of memory required for storing the registration key when all the attribute information is expanded in combination is n for the number of attribute information and Xn for the type of attribute value of each attribute information.
- Equation 1 indicates that the memory amount becomes very large when at least one large numerical value is included in the attribute value type Xn of each attribute information. Therefore, the related art of the present invention has a problem that the amount of calculation in the information evaluation flow is large. In particular, when the number of attributes increases, the increase in calculation amount becomes significant. When a power set is created in the information evaluation flow, the amount of calculation greatly increases depending on the number of attributes, and there is a possibility that the throughput of the system may be reduced.
- the combination expansion determination unit 103 determines that combination expansion is performed only on attribute information whose number of possible attribute values is equal to or less than T indicating a predetermined number, and performs attribute expansion. Assume that the number of information is a.
- the information retrieval system 10 can suppress the memory amount necessary for storing the registration key to the value represented by [Equation 2], and can reduce the memory amount.
- the power set expansion processing unit 108 deletes the attribute information on which the combination expansion is performed from the elements that are the targets of the power set generation processing. Therefore, the information search system 10 can reduce the amount of calculation compared to the case where all the attribute information is expanded into a power set.
- the system expands all attribute information into a power set without considering the combination expansion process.
- the order of calculation amount of the power set generation process is expressed by [Expression 3].
- [Expression 3] means that the amount of calculation increases in an exponential order with respect to the number of attributes, and the technique in the related technology indicates that the technique is very weak against the increase in the number of attributes. .
- all combinations of possible values of attribute values included in the attribute information included in the registration information are generated and the information is registered in the information registration flow. Then, although the method in the related art reduces the calculation amount, it cannot be processed with a realistic memory amount.
- the order of calculation amount of the power set generation processing is expressed by [Equation 4].
- the information search system 10 according to the first embodiment can adjust the balance between the calculation amount and the used memory amount in order to keep the calculation amount as small as possible with the mountable memory amount. That is, the information search system 10 according to the first embodiment can realize a high-speed search with a small amount of memory in searching for registration information including one or more attribute information having a pair of attribute name and attribute value. The reason is as follows.
- the information search system 10 performs combination expansion processing on predetermined attribute information (for example, the number of possible attribute value types is small) among the attribute information included in the registration information. This is because the information search system 10 can select attribute information with high memory use efficiency and generate a registration key for speeding up the search in advance.
- the information search system 10 according to the first embodiment can reduce the amount of calculation in the information evaluation flow in searching for registration information including one or more attribute information having a pair of attribute name and attribute value. The reason is as follows. That is, the information search system 10 can omit the power set generation process for the attribute information for which the combination expansion process is performed.
- the information search system 20 includes a registration information receiving unit 101, a combination expansion target attribute name designation list storage unit 102, a combination expansion determination unit 103, a combination expansion processing unit 104, and an information registration unit 105. , An information storage unit 106, an evaluation information receiving unit 107, a power set expansion processing unit 108, an information search unit 109, and a combination expansion target attribute name designation list generation unit 210.
- the combination expansion target attribute name designation list generation unit 210 uses a predetermined threshold value so that the memory resource (memory amount) consumed by the information search system 20 and the processing speed ( (Computation amount) is realized.
- memory amount memory amount
- processing speed (Computation amount) is realized.
- the attribute value number list is information including the number of types of attribute values that each attribute information handled by the information search system 20 can take.
- the threshold is a value for determining whether or not to perform the combination expansion process based on the number of types of attribute values of each attribute information.
- FIG. 25 is a diagram illustrating an example of a configuration included in the combination expansion target attribute name designation list generation unit 210.
- the combination expansion target attribute name designation list generation unit 210 includes an attribute value number list reception unit 211, a threshold reception unit 212, and a combination expansion target attribute determination unit 213.
- the attribute value number list receiving unit 211 receives an attribute value number list including the attribute value number indicating the number of types of attribute values that can be taken by each attribute information shown in FIG.
- the attribute value number list is a list including, as elements, a combination of an attribute name and the number of types of attribute values that can be taken by attribute information indicated by the attribute name.
- the threshold receiving unit 212 receives a threshold that is information for determining whether or not to perform the combination expansion process based on the number of attribute value types of each attribute information. Various values may be set as the threshold value.
- the threshold value may be the maximum value of the types of attribute values included in the attribute information to be expanded.
- the combination expansion target attribute determination unit 213 executes the combination expansion process on the attribute name corresponding to the attribute information whose type of attribute value that can be taken out of the elements included in the attribute value number list is equal to or less than the threshold value.
- the attribute name corresponding to the attribute information to be added is added to the combination expansion target attribute name specification list. Then, the combination expansion target attribute determination unit 213 stores the combination expansion target attribute name designation list to which the attribute name is added in the combination expansion target attribute name designation list storage unit 102. Further, for example, the threshold value may be the upper limit number of attribute information on which power set expansion processing is performed. In this case, the combination expansion target attribute determining unit 213 excludes the number of elements indicated by the threshold from the attribute information having a large number of attribute value types from among the elements included in the attribute value number list. Then, the combination expansion target attribute determining unit 213 adds the remaining attribute information as attribute information for executing the combination expansion process, and adds attribute names corresponding to the attribute information to the combination expansion target attribute name designation list.
- the combination expansion target attribute determining unit 213 selects attribute names from the element name included in the attribute value number list to the number indicated by the threshold value in order from the attribute name associated with the smaller value. It may be added to the specified list.
- the threshold value may be an upper limit of a memory size used when storing registration information.
- the combination expansion target attribute determination unit 213 specifies the combination expansion target attribute name from the attribute value list having the smallest number of attribute value types until the memory usage exceeds the threshold value. You may add it to the list.
- the threshold value is the maximum value of the number of attribute value types included in the attribute information to be expanded.
- FIG. 27 is a flowchart illustrating an outline of the operation of the combination expansion target attribute name designation list generation unit 210 according to the second embodiment.
- the combination expansion target attribute name designation list generation unit 210 receives the threshold value (step S-201). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-202.
- the combination expansion target attribute name designation list generation unit 210 receives the attribute value number list (step S-202). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-203.
- the combination expansion target attribute name designation list generation unit 210 extracts one unprocessed element from the attribute value number list (step S-203).
- step S-204 The combination expansion target attribute name designation list generation unit 210 compares the number of attribute values of the element extracted in step S-203 with the threshold acquired in step S-201 (step S-204). If the number of attribute values is equal to or less than the threshold (“Yes” in step S-204), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-205. On the other hand, if the number of attribute values is greater than the threshold (“No” in step S-204), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-206.
- the combination expansion target attribute name designation list generation unit 210 extracts the attribute name of the element extracted in step S-203 and adds it to the combination expansion target attribute name designation list (step S-205). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-206.
- the combination expansion target attribute name designation list generation unit 210 determines whether or not processing has been performed for all elements in the attribute value number list (step S-206). When processing has been performed for all elements in the attribute value number list (“Yes” in step S-206), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-207.
- step S-206 if processing has not been performed for all elements in the attribute value number list (“No” in step S-206), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-203. move on.
- the combination expansion target attribute name designation list generation unit 210 stores the combination expansion target attribute name designation list generated in step S-205 in the combination expansion target attribute name designation list storage unit 102 (step S-207). Then, the processing of the combination expansion target attribute name designation list generation unit 210 ends.
- the information search system 20 can specify the attribute information for combination expansion based on the threshold value for combination expansion processing.
- the number of attribute values that can be attributed is less than the number of attribute values that can be attributed.
- 10 entries are required to store registration information.
- two entries are sufficient for storing registration information.
- the information search system 20 in the second embodiment includes the same configuration as the information search system 10 in the first embodiment. Therefore, the information search system 20 in the second embodiment has the same effects as the information search system 10 in the first embodiment. Furthermore, the information search system 20 according to the second embodiment can realize generation of an optimum combination expansion target attribute name designation list according to system resources by setting a threshold value.
- FIG. 28 is a block diagram showing the configuration of the information search system 30 in the third embodiment.
- the first expansion processing unit 301 determines whether or not the attribute information included in the registration information includes each attribute name for each of the predetermined attribute names.
- the first expansion processing unit 301 generates a registration key, which is information corresponding to the above-described registration information, by performing first information processing, which is different processing depending on the above-described determination result.
- the first development processing unit 301 may store information indicating a predetermined attribute name in advance, or may receive and receive information indicating a predetermined attribute name from an external device (not shown) or a function unit included in the information search system 30.
- the predetermined attribute name may be specified based on the information.
- the functional means included in the information search system 30 described above may be the combination expansion target attribute name designation list storage unit 102 in the first embodiment.
- the information indicating the predetermined attribute name may be the combination expansion target attribute name designation list in the first embodiment.
- the first information processing for example, when the attribute information included in the registration information does not have a predetermined attribute name, values that can be taken by the attribute value corresponding to the attribute name are respectively added to the registration information. And so on.
- the first information processing is not limited to the above-described processing.
- the search key is a key for searching for registration information corresponding to the registration key by comparison with the registration key generated by the first expansion processing unit 301.
- the second expansion processing unit 302 may store information indicating a predetermined attribute name in advance, or may receive and receive information indicating a predetermined attribute name from an external device (not shown) or a function unit included in the information search system 30.
- the predetermined attribute name may be specified based on the information.
- the functional means included in the information search system 30 described above may be the combination expansion target attribute name designation list storage unit 102 in the first embodiment.
- the information indicating the predetermined attribute name may be the combination expansion target attribute name designation list in the first embodiment.
- FIG. 29 is a diagram showing a hardware configuration of the information search system 30 and its peripheral devices in the third embodiment of the present invention.
- the information search system 30 includes a CPU 391, a communication I / F 392 (communication interface 392) for network connection, a memory 393, and a storage device 394 such as a hard disk for storing programs.
- the information retrieval system 30 is connected to an input device 395 and an output device 396 via a bus 397.
- the CPU 391 operates the operating system to control the entire information search system 30 according to the third embodiment of the present invention. Further, the CPU 391 reads out programs and data from the recording medium 398 mounted on, for example, a drive device to the memory 393, and in accordance therewith, the first expansion processing unit 301 and the second expansion processing unit in the third embodiment. As 302, various processes are executed.
- the storage device 394 is, for example, an optical disk, a flexible disk, a magnetic optical disk, a hard disk, or a semiconductor memory, and records a computer program so that it can be read by a computer.
- the computer program may be downloaded from an external computer (not shown) connected to the communication network.
- the input device 395 is realized by, for example, a mouse, a keyboard, a built-in key button, and the like, and is used for an input operation.
- the input device 395 is not limited to a mouse, a keyboard, and a built-in key button, but may be a touch panel, an accelerometer, a gyro sensor, a camera, or the like.
- the output device 396 is realized by a display, for example, and is used for confirming the output.
- the block diagram (FIG. 28) used in the description of the third embodiment shows functional unit blocks, not hardware unit configurations. These functional blocks are realized by the hardware configuration shown in FIG. However, the means for realizing each unit included in the information search system 30 is not particularly limited.
- the information search system 30 may be realized by one physically coupled device, or by two or more physically separated devices connected by wire or wirelessly, and realized by the plurality of devices. Also good.
- the CPU 391 may read a computer program recorded in the storage device 394 and operate as the first expansion processing unit 301 and the second expansion processing unit 302 according to the program.
- a recording medium (or storage medium) in which the above-described program code is recorded may be supplied to the information retrieval system 30, and the information retrieval system 30 may read and execute the program code stored in the recording medium. That is, the present invention also includes a recording medium 398 that temporarily or non-temporarily stores software (information processing program) to be executed by the information search system 30 according to the third embodiment.
- the first development processing unit 301 receives registration information (step S-301).
- the first expansion processing unit 301 selects one of the predetermined attribute names, and determines whether or not the attribute information included in the registration information includes the attribute name (step S-302).
- the first development processing unit 301 performs different first information processing based on the determination result in step S-302 (step S-303).
- the first expansion processing unit 301 determines whether all of the predetermined attribute names have been selected (step S-304). If all the attribute names have been selected (“Yes” in step S-304), the processing of the information search system 30 proceeds to step S-305.
- step S-304 when all the attribute names have not been selected (“No” in step S-304), the process of the information search system 30 proceeds to step S-302.
- the second development processing unit 302 receives the evaluation information (step S-305).
- the second expansion processing unit 302 selects one of the attribute information included in the received evaluation information, and determines whether the attribute information has a predetermined attribute name (step S-306).
- the second development processing unit 302 performs different second information processing based on the determination result in step S-306 (step S-307).
- step S-308 determines whether all attribute information included in the evaluation information has been selected (step S-308). If all the attribute information has been selected (“Yes” in step S-308), the processing of the information search system 30 ends.
- the information search system 30 in the third embodiment receives a registration information registration request, and determines whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names. To do. And the information search system 30 produces
- the information search system 30 receives evaluation information as a search request, and determines whether or not each attribute information included in the evaluation information has a predetermined attribute name.
- the information search system 30 produces
- the information search system 30 can search for registration information corresponding to a registration key that matches the search key.
- the information search system 30 according to the third embodiment can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
- An example of the effect of the present invention is that data search processing can be executed with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
- Each component in each embodiment of the present invention can be realized by a computer and a program as well as its function in hardware.
- the program is provided by being recorded on a computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up.
- the read program causes the computer to function as a component in each of the embodiments described above by controlling the operation of the computer.
- the target attribute name designation list generation unit 210 can be realized by, for example, a dedicated program for realizing the function of each unit, which is read from a recording medium storing the program into the memory, and a processor that executes the program. .
- the combination expansion target attribute name designation list storage unit 102 and the information storage unit 106 can be realized by a memory or a hard disk device included in the computer.
- the registration information receiving unit 101, the combination expansion target attribute name designation list storage unit 102, the combination expansion determination unit 103, the combination expansion processing unit 104, the information registration unit 105, the information storage unit 106, and the evaluation information reception Part or all of the unit 107, the power set expansion processing unit 108, the information search unit 109, and the combination expansion target attribute name designation list generation unit 210 can be realized by a dedicated circuit that realizes the function of each unit. .
- a part or all of each of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
- (Appendix 1) Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names
- a first expansion processing means for generating a registration key corresponding to the registration information by performing different first information processing; By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name,
- a second expansion processing means for generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key;
- An information retrieval system comprising: (Appendix 2) A designation list storage means for storing a designation list indicating a predetermined attribute name;
- the first expansion processing means is different from the first information for each of the attribute names indicated in the specified list depending on whether or not the attribute information included in the registration information has each attribute name.
- the second expansion processing means performs the second information processing, which differs depending on whether or not each of the attribute information included in the evaluation information has an attribute name indicated by the specified list.
- the first expansion processing means includes a determination means for specifying an attribute name list indicating an attribute name specified based on a difference between an attribute name included in the registration information and an attribute name included in the designation list,
- the first expansion processing means includes Stores an attribute value list that stores attribute values that attribute information corresponding to each attribute name can have in association with the attribute name, and as the first information processing, attribute names included in the attribute name list
- combination expansion processing means for adding to the registration information an attribute value associated with the attribute name in the attribute value list;
- the information search system according to claim 2, further comprising: an information registration unit that generates the registration key based on the registration information to which the attribute name and the attribute value are added.
- the second expansion processing means includes A set expansion processing means for generating a set having the attribute information of the attribute name specified based on the difference between the attribute name included in the evaluation information and the attribute name included in the specified list;
- the specified list is The information search system according to any one of appendices 2 to 4, further comprising: a specified list creating unit that generates and stores the specified list in the specified list storage unit.
- the designation list creating means adds an attribute name associated with a value equal to or less than the threshold in the attribute value number list to the designation list.
- appendix 7 The information according to appendix 5 or 6, wherein the designation list creating means adds the attribute names to the designation list in order from the attribute name associated with a small value in the attribute value number list to the number indicated by the threshold at most.
- Search system. The specified list creating means includes the value of the attribute value that can be taken until the memory usage specified based on the number of types of the value that can be taken by the attribute value exceeds the threshold.
- the information search system according to any one of appendices 5 to 7, wherein an attribute name corresponding to the number of types is added to the designation list.
- the combination expansion processing unit selects any one of attribute values associated with each attribute name for each attribute name included in the attribute name list, and the attribute value and the attribute name are selected as the registration information. And add to the registration information for all combinations of attribute names and attribute values, 4.
- the information search system according to appendix 3, wherein the information registration unit generates the registration key for each registration information to which the attribute name and the attribute value are added.
- the set expansion processing unit generates a power set of attribute information having an attribute name specified based on a difference between an attribute name included in the evaluation information and an attribute name included in the specified list,
- the information search system according to appendix 4, wherein the information search means generates a search key based on a combination of the evaluation information and complementary information including attribute information indicated by each element included in the power set.
- the information registering unit concatenates the attribute name and attribute value to be added to the registration information and the attribute name and attribute value of the attribute information included in the registration information, and is identified based on the concatenated information 13.
- the information search system according to any one of appendices 3 to 8, 11 and 12, wherein the registration key is generated based on a value.
- the information search means includes an attribute name and attribute value included in attribute information corresponding to an attribute name included in the specified list in the evaluation information, and an attribute name included in attribute information indicated by each element included in the set
- the information search system according to any one of appendices 4 to 8 and 12, wherein the search key is generated based on a hash value specified based on the linked information.
- (Appendix 15) Comprising information storage means for storing the registration information and the registration key corresponding to the registration information in association with each other;
- the second expansion processing means searches the registration information corresponding to the registration key by collating the search key with the registration key stored in the information storage means. Additional notes 1 to 8, and 11 to 14.
- the information search system according to any one of 14 above.
- the information search system according to the present invention can be applied to a system that executes specific processing at high speed for input evaluation target information such as grouping processing, stream processing, and rule matching.
- the information search system according to the present invention can be applied to a use such as a similar search in which a search is performed that does not completely match but includes a lot of matching information.
- the information search system according to the present invention can be applied to a real-time mobile advertisement distribution, recommendation system, and notification system as a specific system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (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
[Problem] The inability to execute a process using an appropriate computational complexity or amount of memory when the load of a data enquiry process carried out for each attribute is large. [Solution] An information search system receives registration information containing at least one item of attribute information having an attribute name and an attribute value, and creates a registration key corresponding to the registration information by implementing first information processing on each of multiple specified attribute names, said processing differing depending on whether or not the attribute information included in the registration information comprises each attribute name; and the system receives evaluation information containing at least one item of attribute information, and creates a search key for searching for registration information corresponding to the registration key by means of a comparison with the registration key, said search key being created by implementing second information processing on each item of attribute information included in the evaluation information, said processing differing depending on whether or not specified attribute names are included.
Description
本発明は、属性名と属性値とを有する属性情報を1つ以上含んだ登録情報と評価情報とを比較することで、評価情報にマッチする登録情報を検索する情報検索技術に関する。
The present invention relates to an information retrieval technique for retrieving registration information that matches evaluation information by comparing registration information including at least one attribute information having an attribute name and an attribute value with evaluation information.
属性名と属性値とを有する属性情報を1つ以上含んだ登録情報の中から、所望の条件(評価情報)にマッチする情報を検索する情報検索システムが知られている。
例えば特許文献1に記載の情報検索方法は、複数の属性のうち転置配列の検索順序の先頭の転置配列に対応する1つの属性について、当該転置配列と検索キーと関連度評価関数とに基づいて、その探索範囲に含まれるデータ群を取得する。そしてこの検索方法は、所定の停止条件を満足するまで、転置配列の検索順序に従って、属性毎に次の探索処理を実行する。その探索処理では、対応する属性について、その転置配列と上記検索キーと上記関連度評価関数とに基づいて、上記探索範囲に含まれるデータ群が取得される処理が行われる。取得されたこれらのデータ群は個別解候補集合である。この検索方法は、これらの個別解候補集合と現在の解候補集合とを併合し、新たな解候補集合を生成する。 There is known an information retrieval system that retrieves information matching a desired condition (evaluation information) from registration information including one or more attribute information having an attribute name and an attribute value.
For example, the information search method described in Patent Document 1 is based on a transposed array, a search key, and a relevance evaluation function for one attribute corresponding to the first transposed array in the search order of the transposed array among a plurality of attributes. The data group included in the search range is acquired. In this search method, the next search process is executed for each attribute according to the search order of the transposed array until a predetermined stop condition is satisfied. In the search process, a process for acquiring a data group included in the search range is performed for the corresponding attribute based on the transposed array, the search key, and the relevance evaluation function. These acquired data groups are individual solution candidate sets. In this search method, these individual solution candidate sets and the current solution candidate set are merged to generate a new solution candidate set.
例えば特許文献1に記載の情報検索方法は、複数の属性のうち転置配列の検索順序の先頭の転置配列に対応する1つの属性について、当該転置配列と検索キーと関連度評価関数とに基づいて、その探索範囲に含まれるデータ群を取得する。そしてこの検索方法は、所定の停止条件を満足するまで、転置配列の検索順序に従って、属性毎に次の探索処理を実行する。その探索処理では、対応する属性について、その転置配列と上記検索キーと上記関連度評価関数とに基づいて、上記探索範囲に含まれるデータ群が取得される処理が行われる。取得されたこれらのデータ群は個別解候補集合である。この検索方法は、これらの個別解候補集合と現在の解候補集合とを併合し、新たな解候補集合を生成する。 There is known an information retrieval system that retrieves information matching a desired condition (evaluation information) from registration information including one or more attribute information having an attribute name and an attribute value.
For example, the information search method described in Patent Document 1 is based on a transposed array, a search key, and a relevance evaluation function for one attribute corresponding to the first transposed array in the search order of the transposed array among a plurality of attributes. The data group included in the search range is acquired. In this search method, the next search process is executed for each attribute according to the search order of the transposed array until a predetermined stop condition is satisfied. In the search process, a process for acquiring a data group included in the search range is performed for the corresponding attribute based on the transposed array, the search key, and the relevance evaluation function. These acquired data groups are individual solution candidate sets. In this search method, these individual solution candidate sets and the current solution candidate set are merged to generate a new solution candidate set.
特許文献1に記載の情報検索方法は、属性間で単一の方法を用いることでデータの探索範囲を特定している。従って特許文献1に記載の情報検索方法は、属性毎に行うデータの探索処理の負荷が大きい場合に、適切な計算量またはメモリ量でその処理を実行できないという問題がある。
本発明は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる情報検索システム、情報管理装置、方法、および、プログラムを提供することを目的の一つとする。 The information search method described in Patent Document 1 specifies a data search range by using a single method between attributes. Therefore, the information search method described in Patent Document 1 has a problem that the processing cannot be executed with an appropriate calculation amount or memory amount when the load of the data search processing performed for each attribute is large.
An object of the present invention is to provide an information search system, an information management apparatus, a method, and a program that can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is large. One of them.
本発明は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる情報検索システム、情報管理装置、方法、および、プログラムを提供することを目的の一つとする。 The information search method described in Patent Document 1 specifies a data search range by using a single method between attributes. Therefore, the information search method described in Patent Document 1 has a problem that the processing cannot be executed with an appropriate calculation amount or memory amount when the load of the data search processing performed for each attribute is large.
An object of the present invention is to provide an information search system, an information management apparatus, a method, and a program that can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is large. One of them.
本発明の一態様による第一の情報検索システムは、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する組み合わせ展開処理手段と、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する情報検索手段と、を備える。
本発明の一態様における第一の情報検索方法は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する。
本発明の一態様における第一の情報検索プログラムは、コンピュータに、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させる。 A first information search system according to an aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name. A combination expansion processing means for generating a registration key corresponding to the registration information by performing first information processing that differs depending on whether or not the attribute information included in the information has, and at least one attribute information The evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name. Information search means for generating a search key for searching for registration information corresponding to the registration key.
The first information retrieval method according to one aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name. Depending on whether or not the attribute information included in the information has different first information processing, a registration key corresponding to the registration information is generated, and evaluation information including one or more attribute information is received, Each attribute information included in the evaluation information corresponds to the registration key by performing a second information process that differs depending on whether or not the attribute information has a predetermined attribute name. A search key for searching registration information is generated.
The first information search program according to one aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value in a computer, and each attribute name for each predetermined attribute name A process for generating a registration key corresponding to the registration information by performing first information processing that differs depending on whether or not the attribute information included in the registration information has, and includes at least one attribute information The evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name. Generating a search key for searching for registration information corresponding to the registration key.
本発明の一態様における第一の情報検索方法は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する。
本発明の一態様における第一の情報検索プログラムは、コンピュータに、属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させる。 A first information search system according to an aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name. A combination expansion processing means for generating a registration key corresponding to the registration information by performing first information processing that differs depending on whether or not the attribute information included in the information has, and at least one attribute information The evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name. Information search means for generating a search key for searching for registration information corresponding to the registration key.
The first information retrieval method according to one aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value, and registers each attribute name for each predetermined attribute name. Depending on whether or not the attribute information included in the information has different first information processing, a registration key corresponding to the registration information is generated, and evaluation information including one or more attribute information is received, Each attribute information included in the evaluation information corresponds to the registration key by performing a second information process that differs depending on whether or not the attribute information has a predetermined attribute name. A search key for searching registration information is generated.
The first information search program according to one aspect of the present invention receives registration information including one or more attribute information having an attribute name and an attribute value in a computer, and each attribute name for each predetermined attribute name A process for generating a registration key corresponding to the registration information by performing first information processing that differs depending on whether or not the attribute information included in the registration information has, and includes at least one attribute information The evaluation information is received, and each of the attribute information included in the evaluation information is subjected to second information processing that differs depending on whether or not the attribute information has a predetermined attribute name. Generating a search key for searching for registration information corresponding to the registration key.
本発明の効果の一例は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できることである。
An example of the effect of the present invention is that data search processing can be executed with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施の形態において、同様の機能を備える構成要素には同様の符号が与えられている。
[第一の実施の形態]
図1は、本発明の第一の実施の形態における情報検索システム10の構成を示すブロック図である。
図1を参照すると、情報検索システム10は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、を備える。
第一の実施の形態における情報検索システム10は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(第一の判定)。そして情報検索システム10は、第一の判定の結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム10は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する(第二の判定)。そして情報検索システム10は、第二の判定の結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム10は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第一の実施の形態における情報検索システム10は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
図2は、登録情報の一例を示す図である。図2を参照すると、登録情報は、一つ以上の属性情報を含んでおり、この属性情報は、属性名と属性値との組を有する。図2に示される登録情報は、「20歳の男で東京にいる人」を表す。
また、図2は、評価情報の一例も示している。評価情報は、一つ以上の属性情報を含んでいる。
第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。図3は、ワイルドカードを含まない登録情報の一例を示す図であり、図4は、ワイルドカードを含む登録情報との一例を示す図である。ワイルドカードとは、対応する属性情報の属性値が任意でよいことを示す情報である。
本発明において、情報検索システム10が扱うすべての属性情報が、性別、年齢、場所の3つの場合、図3に示されるようなすべての属性情報を含んでいる登録情報は、ワイルドカードを含まない登録情報と称される。また、前述の例の場合に、図4に示されるようなすべての属性情報を含んでいない登録情報は、ワイルドカードを含む登録情報と称される。
図4に示される、ワイルドカードを含む登録情報は、「20代の男」を表す。このような登録情報が登録される際に、図2に示される、「20歳の男で東京にいる人」を表す評価情報が入力されたと仮定する。この場合、「20歳の男で東京にいる人」の集合は、「20代の男」の集合に包含されている。すなわち、「20歳の男で東京にいる人⊂20代の男」という関係が成立する。したがって情報検索システム10は、図4に示される登録情報を取得する。
===登録情報受信部101===
登録情報受信部101は、登録情報を図示しない外部装置または情報検索システム10が備える機能手段から受け取る。そして登録情報受信部101は、受け取った登録情報を、後述の組み合わせ展開判定部103に渡す。図2は、登録情報受信部101が受け取る登録情報の一例を示す図である。登録情報受信部101が受信する登録情報は、一つ以上の属性情報を含んでいる。またこの登録情報は、図4に示されるようにワイルドカードを含んでいてもよい。
===組み合わせ展開対象属性名指定リスト記憶部102===
組み合わせ展開対象属性名指定リスト記憶部102は、組み合わせ展開処理を行う対象の属性名が指定されるリストである組み合わせ展開対象属性名指定リストを記憶する。本発明では、組み合わせ展開対象属性名指定リストは、指定リストとも称される。また、本発明において、組み合わせ展開対象属性名指定リスト記憶部102は、指定リスト記憶部とも称される。組み合わせ展開処理とは、所定の属性情報間でそれぞれが有する各属性値が取り得る値のすべての組み合わせを求める処理である。
図6は、組み合わせ展開対象属性名指定リスト記憶部102が記憶する組み合わせ展開対象属性名指定リストの一例を示す図である。
図6を参照すると、組み合わせ展開対象属性名指定リストは、情報検索システム10がInterest(興味)、Gender(性別)およびTerminal(端末状態)の属性名を有する属性情報に対して組み合わせ展開処理を行うこと、を示している。
===組み合わせ展開判定部103===
組み合わせ展開判定部103は、登録情報受信部101から登録情報を受け取る。そして組み合わせ展開判定部103は、受け取った登録情報と後述の組み合わせ展開対象属性名リストとを、後述の組み合わせ展開処理部104に渡す。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102が記憶している組み合わせ展開対象属性名指定リストを取得する。そして組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストに含まれる属性名のうち、登録情報受信部101が受け取る登録情報に含まれる属性情報が有する属性名を除いた属性名を含む情報である、組み合わせ展開対象属性名リストを生成する。本発明において、この機能は組み合わせ展開対象属性名リスト生成機能と称される。また当該機能は、組み合わせ展開対象属性名リスト生成部131が行う。図5は、組み合わせ展開判定部103が備える構成の一例を示す図である。
本発明において、組み合わせ展開判定部103は、判定部とも称される。また組み合わせ展開対象属性名リストは、属性名リストとも称される。
図8は、図7に示される登録情報が情報検索システム10に入力され、組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶する場合の、組み合わせ展開対象属性名リストの一例を示す図である。
図7に示される登録情報に含まれる属性名は、Interest(興味)およびLocation(場所)である。また図6に示される組み合わせ展開対象属性名指定リストが指定する属性名は、Interest(興味)、Gender(性別)およびTerminal(端末状態)である。よって組み合わせ展開判定部103は、Interest(興味)、Gender(性別)およびTerminal(端末状態)からInterest(興味)およびLocation(場所)を除いた組み合わせ展開対象属性名リストを生成する。具体的には組み合わせ展開判定部103は、図8に示されるような、Gender(性別)およびTerminal(端末状態)を含む組み合わせ展開対象属性名リストを生成する。
===組み合わせ展開処理部104===
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、後述の情報登録部105に組み合わせ展開処理後の登録情報を渡す。「組み合わせ展開処理後の登録情報」の詳細は後述される。図9は、組み合わせ展開処理部104が備える機能を示す図である。図9を参照すると、組み合わせ展開処理部104は、組み合わせ展開対象属性値リスト記憶部141と、組み合わせ生成処理部142とを備える。
組み合わせ展開処理部104は、組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141に記憶する。組み合わせ展開対象属性値リストとは、組み合わせ展開処理を行う各属性情報の取りえる属性値のリストをその対応する属性名と対応付けた情報である。本発明において当該機能は、組み合わせ展開対象属性値リスト記憶機能と称される。また本発明において、組み合わせ展開対象属性値リストは属性値リストとも称される。
図10は、組み合わせ展開対象属性値リスト記憶機能によって組み合わせ展開対象属性値リスト記憶部141が記憶する、組み合わせ展開対象属性値リストの一例を示す図である。図10を参照すると、組み合わせ展開対象属性値リストは、組み合わせ展開対象属性名指定リストによって指定されている属性名に対応する属性情報が有する属性値が取り得る値が含まれている。
図10に示される組み合わせ展開対象属性値リストは、Interestという属性がMusic、Movie、Sports、Shopping、Cooking、Drive、Game、Computer、TV、Outdoor、NovelおよびComicの12種類の値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Genderという属性がMaleおよびFemaleの2値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Terminalという属性がopenおよびcloseの2値を持つことを示している。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストに含まれる属性名に対応する組み合わせ展開対象属性値リストを、組み合わせ展開対象属性値リスト記憶部141から取得する。そして組み合わせ展開処理部104は、取得した組み合わせ展開対象属性値リストに含まれる値の組み合わせとそれらの値の属性名とに登録情報を結合した、組み合わせ展開処理後の登録情報を生成する。本発明において、この機能は、組み合わせ生成処理機能または組み合わせ展開処理機能と称される。組み合わせ生成処理機能は、組み合わせ生成処理部142が行う。
例えば、組み合わせ生成処理部142は、図7に示される登録情報と図8に示される組み合わせ展開対象属性名リストとを受け取り、図11に示される組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、組み合わせ展開対象属性名リストに含まれるGenderおよびTerminalに対応する組み合わせ展開対象属性値リストGender:{Male,Female},Terminal:[Open,Close]を組み合わせ展開対象属性値リスト記憶部141から取得する。そして、組み合わせ生成処理部142は、取得した組み合わせ展開対象属性値リストの値の組み合わせとそれらの属性名とを含む情報である{Gender=Male,Terminal=Open}、{Gender=Male,Terminal=Close}、
{Gender=Female,Terminal=Open}、および{Gender=Female,Terminal=Close}を生成する。そして、組み合わせ生成処理部142は、図7に示される登録情報
{Interest=Music,Location=Area1}を前述の情報とそれぞれ結合し、4つの組み合わせ展開処理後の登録情報を生成する。具体的には組み合わせ生成処理部142は、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Open}、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Close}、
{Interest=Music,Location=Area1,Gender=Female,Terminal=Open}、および
{Interest=Music,Location=Area1,Gender=Female,Terminal=Close}という4つの組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、生成された4つの組み合わせ展開処理後の登録情報を情報登録部105に渡す。
===情報登録部105===
情報登録部105は、組み合わせ展開処理部104から登録情報を受け取る。そして情報登録部105は、受け取った登録情報に基づいて登録キーを生成し、後述の情報記憶部106にその登録キーと登録情報とを関連付けて記憶する。
情報登録部105は、図12に示されるように、登録情報の属性情報を特定の順序にソートするソート部151を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報登録部105は、図12に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて登録キーを生成するキー生成部152を備える。例えば情報登録部105は、連結された属性情報のハッシュ値を登録キーと特定してもよい。
情報登録部105は、図12に示されるように、後述の情報記憶部106に登録キーと登録情報とを含む登録要求を送る登録部153を備える。
===情報記憶部106===
情報記憶部106は、登録キーと登録情報とを含む登録要求を受け付ける。そして情報記憶部106は、登録キーをキーとして登録情報を記憶する。つまり情報記憶部106は登録キーと対応する登録情報とを対応付けて記憶する。また情報記憶部106は、後述の検索キーを含む検索要求を受け付ける。そして情報記憶部106は、検索キーをキーとして、その検索キーに対応する登録キーに対応付けられて記憶されている登録情報を返す。
情報記憶部106は、例えばハッシュテーブルのようなキーバリューストアであってもよい。
===評価情報受信部107===
評価情報受信部107は、評価情報を受信する。そして評価情報受信部107は、後述のべき集合展開判定部108に、受信した評価情報を渡す。図2は評価情報の一例を示す図である。評価情報受信部107が受信する評価情報は1つ以上の属性情報を含んでいる。属性情報は属性名および属性値を有する。
===べき集合展開処理部108===
べき集合展開処理部108は、評価情報を受け取る。そしてべき集合展開処理部108は、後述の情報検索部109にべき集合展開処理後の評価情報を渡す。本発明では、べき集合展開処理部108は、集合展開処理部とも称される。「べき集合展開処理後の評価情報」の詳細は、後述される。
図13は、べき集合展開処理部108が備える構成の一例を示す図である。
べき集合展開処理部108は、評価情報受信部107から受け取る評価情報と組み合わせ展開対象属性名指定リスト記憶部102から取得する組み合わせ展開対象属性名指定リストを利用して、以下の処理を行う機能を備える。すなわち、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストによって指定される属性名に対応する属性情報を除いた、べき集合展開対象属性情報リストを生成する。また、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストで指定される属性名に対応する属性情報を抽出した、非べき集合展開対象属性情報リストを生成する。本発明においてこれらの機能は評価情報分割機能と称される。当該評価分割機能は、評価情報分割部181が行う。具体的には評価情報分割部181は、評価情報をべき集合展開対象属性情報リストと非べき集合展開対象属性情報リストとに分割する。
図15は、べき集合展開処理部108が生成する、べき集合展開対象属性情報リストの一例である。組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶していた場合に、図14に示される評価情報を受け取ったべき集合展開処理部108は、図15の例のべき集合展開対象属性情報リストを生成する。また、図16は、前述の例と同じ場合に生成される、非べき集合展開対象属性情報リストの一例である。
図14に示される評価情報は、
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}である。そして図6に示される組み合わせ展開対象属性名指定リストにはInterest、GenderおよびTerminalが指定されている。そのため評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が除かれた{Location=Area1,Age=20}が、図15に示されるべき集合展開対象属性情報リストとなる。また評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が抽出された{Interest=Music,Terminal=Open,Gender=Male}が、図16に示される非べき集合展開対象属性情報リストとなる。
べき集合展開処理部108は、生成されたべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そしてべき集合展開処理部108は、べき集合の各要素をリストとして含むべき集合展開対象展開リストを生成する。本発明においてこれらの機能は部分べき集合生成機能と称される。またこれらの機能は部分べき集合生成部182によって実現される。具体的には、部分べき集合生成部182は、べき集合展開対象属性情報リストを受け取る。そして部分べき集合生成部182は、受け取ったべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そして部分べき集合生成部182は、べき集合の各要素をリストに含む、べき集合展開対象展開リストを生成する。
例えば、べき集合展開処理部108は、図15に示される、べき集合展開対象属性情報リストを受け取った場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合
{Location=Area1,Age=20}のべき集合
{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}を生成する。そしてべき集合展開処理部108は、生成したべき集合をべき集合展開対象展開リストと特定する。図17は、べき集合展開処理部108が特定したべき集合展開対象展開リストの一例を示す図である。
また、べき集合展開処理部108は、べき集合展開対象展開リストと非べき集合展開対象属性情報リストとに基づいて、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成させたべき集合展開処理後の評価情報を生成する。本発明において、この機能は、非べき展開属性合成機能と称される。また当該機能は、非べき展開属性合成部183が行う。
例えば、べき集合展開処理部108は、図17に示されるべき集合展開対象展開リスト{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}と図16に示される非べき集合展開対象属性情報リスト{Interest=Music,Terminal=Open,Gender=Male}を生成する場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成する。そしてべき集合展開処理部108は、べき集合展開処理後の評価情報である
{Interest=Music,Terminal=Open,Gender=Male},{Location=Area1,Interest=Music,Terminal=Open,Gender=Male},{Age=20,Interest=Music,Terminal=Open,Gender=Male},および{Location=Area1,Age=20,Interest=Music,Terminal=Open,Gender=Male}を得る。図18は、べき集合展開処理部108が取得するべき集合展開処理後の評価情報の一例を示す情報である。
===情報検索部109===
情報検索部109は、図19に示されるように、べき集合展開処理後の評価情報の属性情報を特定の順序にソートするソート部191を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報検索部109は、図19に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて検索キーを生成するキー生成部192を備える。例えば情報検索部109は、連結された属性情報のハッシュ値を検索キーと特定してもよい。
情報検索部109は、図19に示されるように、生成された検索キーを含む検索要求を情報記憶部106に渡す検索部193を備える。
本発明の第一の実施の形態において、組み合わせ展開判定部103、組み合わせ展開処理部104および情報登録部105は、まとめて第一の展開処理部とも称される。また、本発明の第一の実施の形態において、べき集合展開処理部108および情報検索部109はまとめて第二の展開処理部とも称される。本発明の第二の実施の形態においても、上記事項は同様である。
次に、第一の実施の形態における情報検索システム10の動作について図面を参照して詳細に説明する。
第一の実施の形態における情報検索システム10の全体の動作は、登録情報の登録を行う情報登録フローと、評価情報に対してマッチする登録情報を検索する情報評価フローに大きく分けられる。
図20は、第一の実施の形態における情報検索システム10の動作において、情報登録フローの動作を示すフローチャートである。
登録情報受信部101は、1つ以上の属性情報を含む登録情報を受け取る(ステップS−101S)。登録情報受信部101は、組み合わせ展開判定部103に登録情報を渡す。情報検索システム10の処理はステップS102Sに進む。登録情報は1つ以上の属性情報を含んでおり、属性情報は属性名と属性値との組を有する。また第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。
組み合わせ展開判定部103は、登録情報を受け取る。組み合わせ展開判定部103は、組み合わせ展開判定処理を行う(ステップS−102S)。そして組み合わせ展開判定部103は、組み合わせ展開処理部104に登録情報と組み合わせ展開対象属性名リストを渡す。そして情報検索システム10の処理は、ステップS−103Sに進む。図21は、組み合わせ展開判定処理の動作を示すフローチャートである。以下組み合わせ展開判定処理の動作について説明する。
組み合わせ展開判定部103は、登録情報を受け取る(ステップS−102S−01)。そして組み合わせ展開判定部103の処理は、ステップS−102S−02に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102S−02)。そして組み合わせ展開判定部103の処理はステップS−102S−03に進む。
組み合わせ展開判定部103はカウンタiを0に設定する(ステップS−102S−03)。そして組み合わせ展開判定部103の処理はステップS−102S−04に進む。
組み合わせ展開判定部103は、カウンタiと組み合わせ展開対象属性名指定リストに含まれる属性名の数である属性名数とを比較する(ステップS−102S−04)。そしてカウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも少ない場合(ステップS−102S−04の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−05に進む。一方、カウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも多い場合(ステップS−102S−04の“No”)、組み合わせ展開判定部103の組み合わせ展開判定処理は、終了する。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストからi番目の属性名を取り出す(ステップS−102S−05)。そして組み合わせ展開判定部103の処理はステップS−102S−06に進む。
組み合わせ展開判定部103は、カウンタjを0に設定する(ステップS−102S−06)。そして組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。
組み合わせ展開判定部103は、登録情報からj番目の属性情報の属性名を取り出す(ステップS−102S−07)。そして組み合わせ展開判定部103の処理はステップS−102S−08に進む。
組み合わせ展開判定部103は、ステップS−102S−05において取得された属性名とステップS−102S−07において取得された属性名とを比較する(ステップS−102S−08)。それらの属性値が一致した場合(ステップS−102S−08の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−12に進む。一方、それらの属性値が一致しなかった場合(ステップS−102S−08の“No”)、組み合わせ展開判定部103の処理はステップS−102S−09に進む。
組み合わせ展開判定部103は、カウンタjを1追加する(ステップS−102S−09)。そして組み合わせ展開判定部103の処理はステップS−102S−10に進む。
組み合わせ展開判定部103は、カウンタjと登録情報に含まれる属性情報の数である属性数とを比較する(ステップS−102S−10)。カウンタjが登録情報に含まれる属性数よりも少ない場合(ステップS−102S−10の“Yes”)、組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。一方、カウンタjが登録情報に含まれる属性数よりも多い場合(ステップS−102S−10の“No”)、組み合わせ展開判定部103の処理は、ステップS−102S−11に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名リストに、ステップS−102S−08において一致したと判定された属性名を追加する(ステップS−102S−11)。そして組み合わせ展開判定部103の処理は、ステップS−102S−12に進む。
組み合わせ展開判定部103はカウンタiを1追加する(ステップS−102S−12)。そして組み合わせ展開判定部103の処理は、ステップS−102S−04に進む。
以上が組み合わせ展開判定部103の動作である。
組み合わせ展開判定部103は、ステップS−102S−04において処理を終了した際に、ステップS−102S−11において追加した属性名を含む組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。そして情報検索システム10の処理は、ステップS−103S進む。
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、組み合わせ展開対象属性名リストが空か否かを判定する(ステップS−103S)。組み合わせ展開対象属性名リストが空であった場合(ステップS−103Sの“Yes”)、情報検索システム10の処理は、ステップS−106Sに進む。一方、組み合わせ展開対象属性名リストが空でない場合(ステップS−103Sの“No”)、情報検索システム10の処理は、ステップS−104Sに進む。
組み合わせ展開処理部104は、組み合わせ展開処理を行う(ステップS−104S)。そして組み合わせ展開処理部104は、情報登録部105に、組み合わせ展開処理後の登録情報を渡す。そして情報処理システム10の処理は、ステップS−105Sに進む。図22は、組み合わせ展開処理の動作を示すフローチャートである。以下、組み合わせ展開処理部104の動作について説明する。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストを受け取る(ステップS−104S−01)。そして組み合わせ展開処理部104の処理は、ステップS−104S−02に進む。
組み合わせ展開処理部104は、カウンタiを0に設定する(ステップS−104S−02)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、カウンタiと組み合わせ展開対象属性名リストに含まれる属性名の数である属性名数とを比較する(ステップS−104S−03)。カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも少ない場合(ステップS−104S−03の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−04に進む。一方、カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも多い場合(ステップS−104S−03の“No”)、組み合わせ展開処理部104の処理は、ステップS−104S−07に進む。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストからi番目の属性名を取り出す(ステップS−104S−04)。そして組み合わせ展開処理部104の処理は、ステップS−104S−05に進む。
組み合わせ展開処理部104は、ステップS−104S−04において取得された属性名に対応する組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141から取得する(ステップS−104S−05)。そして組み合わせ展開処理部104の処理はステップS−104S−06に進む。
組み合わせ展開処理部104は、カウンタiを1追加する(ステップS−104S−06)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、ステップS−104S−05において取得された組み合わせ展開対象属性値リストに含まれる属性値の取り得る組み合わせである属性値の組み合わせリストを生成する(ステップS−104S−07)。そして組み合わせ展開処理部104の処理はステップS−104S−08に進む。属性値リストがない場合、属性値の組み合わせリストは空である。
組み合わせ展開処理部104は、カウンタjを0に設定する(ステップS−104S−08)。そして組み合わせ展開処理部104の処理は、ステップS−104S−09に進む。
組み合わせ展開処理部104は、カウンタjと属性値の組み合わせリストに含まれる値の取り得る組の数を比較する(ステップS−104S−09)。カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも少ない場合(ステップS−104S−09の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−10に進む。一方、カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも多い場合(ステップS−104S−09の“No”)、組み合わせ展開処理部104は、組み合わせ展開処理を終了する。
組み合わせ展開処理部104は、属性値の組み合わせリストからj番目の属性値の組を取得する(ステップS−104S−10)。そして、組み合わせ展開処理部104の処理は、ステップS−104S−11に進む。
組み合わせ展開処理部104は、属性値の組とそれらに対応する属性名とを属性情報として登録情報に結合することによって新たな登録情報を生成する。そして組み合わせ展開処理部104は生成した登録情報を、「組み合わせ展開処理後の登録情報」の一つに追加する(ステップS−104S−11)。そして組み合わせ展開処理部104の処理は、ステップS−104S−12に進む。
組み合わせ展開処理部104は、カウンタjを1追加する(ステップS−104S−12)。そして組み合わせ展開処理部104の処理はステップS−104S−09に進む。
以上が組み合わせ展開処理部104の動作である。
すなわち組み合わせ展開処理部104はステップS−104S−09において処理を終了した際に、ステップS−104S−11において追加された組み合わせ展開処理後の登録情報を情報登録部105に渡す。そして情報検索システム10の処理は、ステップS−105Sに進む。
情報登録部105は、1つ以上の登録情報から未登録の登録情報を1つ抽出する(ステップS−105S)。そして情報検索システム10の処理は、ステップS−106Sに進む。
情報登録部105は、ステップS−105Sにおいて抽出された登録情報から属性情報を抽出する。そして情報登録部105は、属性情報を特定の順序に並べる(ステップS−106S)。そして情報検索システム10の処理は、ステップS−107Sに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報登録部105が{年齢=20,性別=F,場所=東京}という登録情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報登録部105は、登録情報から属性情報を抽出し、属性情報を連結した情報に基づいて登録キーを生成する(ステップS−107S)。そして情報検索システム10の処理はステップS−108Sに進む。例えば、情報登録部105は、{性別=F,年齢=20,場所=東京}という登録情報に対して、{性別F年齢20場所東京}という登録キーを生成してもよい。
情報登録部105は、ステップS−107Sにおいて生成された登録キーおよび登録情報を含む登録要求を情報記憶部106に渡す。情報記憶部106は受け付けた登録要求に含まれる登録キーに基づき登録情報を記憶する(ステップS−108S)。そして情報検索システム10の処理はステップS−109Sに進む。
情報登録部105は、すべての登録情報に対して登録処理を行ったか否か判定する(ステップS−109S)。すべての登録情報に対して登録処理が行われた場合(ステップS−109Sの“Yes”)、情報処理システム10は情報登録フローを終了する。一方、すべての登録情報に対して登録処理を行われていない場合(ステップS−109Sの“No”)、情報検索システム10の処理は、ステップS−105Sに進む。
以上のステップによる処理が行われることにより、組み合わせ展開処理によって生成された登録キーに基づいて登録情報が情報記憶部106に記憶される。
図23は、第一の実施の形態における情報検索システム10の動作において、情報評価フローを説明する図である。
評価情報受信部107は、1つ以上の属性情報を含む評価情報を受け取る(ステップS−101E)。評価情報受信部107は、べき集合展開処理部108に評価情報を渡す。そして、情報検索システム10の処理は、ステップS−102Eに進む。評価情報は1つ以上の属性情報を含んでおり、属性情報は、属性名と属性値との組を有する。
べき集合展開処理部108は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102E)。そして情報検索システム10の処理は、ステップS−103Eに進む。
べき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を除いた属性情報のリストであるべき集合展開対象属性情報リストを生成する。またべき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を抽出した属性情報のリストである非べき集合展開対象属性情報リストを生成する(ステップS−103E)。そして情報検索システム10の処理は、ステップS−104Eに進む。
べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を求める。べき集合展開処理部108は、べき集合の各要素をリストの要素とするべき集合展開対象展開リストを生成する(ステップS−104E)。そして情報検索システム10の処理は、ステップS−105Eに進む。
べき集合展開処理部108はカウンタiを0に設定する(ステップS−105E)。そしてべき集合展開処理部108の処理はステップS−106Eに進む。
べき集合展開処理部108は、カウンタiとべき集合展開対象展開リストに含まれる要素数とを比較する(ステップS−106E)。カウンタiがべき集合展開対象展開リストの要素数よりも少ない場合(ステップS−106Eの“Yes”)、情報検索システム10の処理は、ステップS−107Eに進む。一方、カウンタiがべき集合展開対象展開リストの要素数よりも多い場合(ステップS−106Eの“No”)、情報検索システム10の処理は、ステップS−111Eに進む。
べき集合展開処理部108は、べき集合展開対象展開リストのi番目の要素を抽出する(ステップS−107E)。そして情報検索システム10の処理は、ステップS−108Eに進む。
べき集合展開処理部108は、ステップS−107Eにおいて抽出された要素に、非べき集合展開対象属性情報リストに含まれる属性情報を合成する(ステップS−108E)。そして情報検索システム10の処理は、ステップS−109Eに進む。
べき集合展開処理部108は、ステップS−108Eにおいて合成された要素を、「べき集合展開処理後の評価情報」の一つに追加する(ステップS−109E)。そして情報検索システム10の処理は、ステップS−110Eに進む。
べき集合展開処理部108は、カウンタiを1追加する(ステップS−110E)。そして情報検索システム10の処理は、ステップS−106Eに進む。
情報検索部109は、1つ以上の評価情報から未検索の評価情報を1つ抽出する(ステップS−111E)。そして情報検索システム10の処理はステップS−112Eに進む。
情報検索部109は、ステップS−111Eにおいて抽出された評価情報から属性情報を抽出し、属性情報を特定の順序に並べる(ステップS−112E)。そして情報検索システム10の処理は、ステップS−113Eに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報検索部109が、{年齢=20,性別=F,場所=東京}という評価情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報検索部109は、評価情報から属性情報を抽出し、属性情報を連結した情報に基づいて検索キーを生成する(ステップS−113E)。そして情報検索システム10の処理は、ステップS−114Eに進む。例えば、情報検索部109は、{性別=F,年齢=20,場所=東京}という評価情報に対して、{性別F年齢20場所東京}という検索キーを生成してもよい。
情報検索部109は、ステップS−113Eにおいて生成された検索キーを含む検索要求を情報記憶部106に渡す。情報記憶部106は、検索キーに一致する登録キーに対応付けられて登録されている登録情報が存在する場合に、その登録情報を出力する(ステップS−114E)。検索要求処理を終えた情報処理システム10の処理は、ステップS−115Eに進む。
情報検索部109は、すべての評価情報に対して検索処理を行ったか否かを判定する(ステップS−115E)。すべての評価情報に対して検索処理が行われた場合(ステップS−115Eの“Yes”)、情報検索システム10は情報検索フローを終了する。一方、すべての評価情報に対して検索処理が行われていない場合(ステップS−115Eの“No”)、情報検索システム10の処理はステップS−111Eに進む。
以上のステップによる処理が行われることにより、情報検索システム10は、ワイルドカードを含む登録情報の登録がされる場合にも、べき集合展開処理によって生成された検索キーと一致する登録キーに対応付けられて登録された登録情報を情報記憶部106から取得することができる。
第一の実施の形態における情報検索システム10は、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、べき集合展開処理部108と、情報検索部109とを備える。
組み合わせ展開判定部103は、組み合わせ展開処理を行う対象の属性情報を示すリスト(組み合わせ展開対象属性名指定リスト)を取得する。そして組み合わせ展開判定部103は、情報検索システム10が扱う属性情報であるが受け取った登録情報に含まれていない属性情報を、組み合わせ展開処理の対象と判定する。組み合わせ展開判定部103は、組み合わせ展開処理の対象と判定された属性情報が有する属性名を示す組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。
組み合わせ展開処理部104は、組み合わせ展開判定部103が生成した組み合わせ展開対象属性名リストに含まれる属性名にそれぞれ対応する属性値の組み合わせ展開処理を行う。
組み合わせ展開処理において、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された属性情報が有する属性値のそれぞれのすべての組み合わせを生成する。そして組み合わせ展開処理部104は、生成された組み合わせのそれぞれと、組み合わせ展開処理の対象と判定されなかった登録情報に含まれる属性情報とを結合することによって組み合わせ展開処理後の登録情報を生成する。情報登録部105は、その登録情報に基づいて登録キーを生成する。
例えば、具体例として下記の条件を仮定する。第一の条件は、「情報検索システム10が属性情報として4つの属性名、{位置、性別、年齢、体調}のいずれかを含む属性情報を扱う」という条件である。第二の条件は、「登録情報として2つの属性情報を含む{位置=新宿,年齢=20}が情報検索システム10に入力される」という条件である。第三の条件は、「組み合わせ展開処理の対象が2つの属性名、性別と体調とのいずれかを有する属性情報である」という条件である。第四の条件は、「性別という属性名を有する属性情報の取り得る属性値が{男,女}、体調という属性名の有する属性情報の取り得る属性値が{良い、悪い}である」という条件である。以下の具体例では、ある属性名Xを有する属性情報のことが、単に属性名Xで代用して表記される。
これらの条件が仮定された場合、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された性別と体調との取り得る属性値のすべての組み合わせ{{性別=男,体調=良い},{性別=男,体調=悪い},{性別=女,体調=良い},{性別=女,体調=悪い}}を生成する。そして組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定されなかった属性情報である位置と年齢とのそれぞれである{位置=新宿}および{年齢=20}を前述のすべての組み合わせのそれぞれに結合する。つまり組み合わせ展開処理部104は、この結合の処理によって、登録キー{位置=新宿,性別=男,年齢=20,体調=良い},{位置=新宿,性別=男,年齢=20,体調=悪い},{位置=新宿,性別=女,年齢=20,体調=良い}および{位置=新宿,性別=女,年齢=20,体調=悪い}を生成する。
べき集合展開処理部108は、組み合わせ展開処理の対象となっていない属性情報をべき集合展開処理の対象と特定する。そしてべき集合展開処理部108は、べき集合展開処理の対象となった属性情報に対して、その属性情報を要素とする集合のべき集合を生成する。
情報検索部109は、べき集合展開処理の対象とならなかった属性情報と生成されたべき集合の要素のそれぞれと結合させることで検索キーを生成する。
例えば、評価情報として{位置=新宿,性別=男,年齢=20,体調=悪い}が情報検索システム10に入力され、組み合わせ展開処理の対象が性別と体調である場合を仮定する。この場合、情報検索部109は、組み合わせ展開処理を行っていない属性情報{位置=新宿,年齢=20}に対して、べき集合{{φ},{位置=新宿},{年齢=20},{位置=新宿,年齢=20}}を生成する。そして情報検索部109は、組み合わせ展開処理を行っている属性情報{性別=男,体調=悪い}を前述のべき集合の要素のそれぞれに結合させた検索キー{性別=男,体調=悪い},{位置=新宿,性別=男,体調=悪い},{性別=男,年齢=20,体調=悪い}および{位置=新宿,性別=男,年齢=20,体調=悪い}を生成する。
第一の実施の形態における情報検索システム10は、組み合わせ展開を行う属性情報を示すリストの内容を適宜調整することによって、計算量と使用メモリ量のバランスを調整することができる。組み合わせ展開を行う属性が増やされれば、使用メモリ量は増加するが、べき集合展開処理部108の計算量は低下する。また、組み合わせ展開を行う属性が減らされれば、使用メモリ量は減少するが、べき集合展開処理部108の計算量は増加する。
また、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることで、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
本発明の関連技術において、すべての属性情報が組み合わせ展開される場合の登録キーの記憶のために必要なメモリ量は、属性情報の数をn、各属性情報の属性値の種類をXn、登録キーのサイズをKとすると、[数1]のように表される。
[数1]は、各属性情報の属性値の種類Xnに1つでも大きな数値が含まれている場合に、メモリ量が非常に大きくなることを示している。
よって、本発明の関連技術は、情報評価フローでの計算量が多いという問題がある。特に、属性数が増えた場合に計算量の増加は顕著となる。
情報評価フローにおいてべき集合の作成が行われる場合、属性数に応じて計算量が大きく上昇し、システムのスループットの低下が起こる可能性がある。
一方、第一の実施の形態において、組み合わせ展開判定部103は、取り得る属性値の数が所定数を示すT以下の属性情報に対してのみ組み合わせ展開を行う判定をし、組み合わせ展開を行う属性情報の数がaとなる場合を仮定する。この場合、情報検索システム10は、登録キーの記憶に必要なメモリ量を[数2]に示される値に抑えることができ、メモリ量を減らすことができる。
また、べき集合展開処理部108は、組み合わせ展開を行っている属性情報を、べき集合生成処理の対象となる要素から削除する。よって、情報検索システム10は、すべての属性情報をべき集合に展開する場合に比較して、計算量を低減できる。
本発明の関連技術において、システムが、組み合わせ展開処理を考慮せず、すべての属性情報をべき集合に展開する場合を仮定する。この場合、属性情報の数をnと仮定すると、べき集合生成処理の計算量のオーダーは、[数3]で表される。
[数3]は、属性数に対して計算量が指数オーダーで増加することを意味しており、関連技術における手法は、属性数の増加に対して非常に弱い手法であることを示している。
また、本発明の関連技術において、情報登録フローにおいて登録情報に含まれる属性情報が有する属性値の取り得る値の組み合わせのすべてが生成され、それらの情報の登録が行われる場合を仮定する。すると関連技術における手法は、計算量が少なくなるが、現実的なメモリ量で処理できない。
一方、第一の実施の形態における情報検索システム10の場合、組み合わせ展開を行っている属性情報の数をmと仮定すると、べき集合生成処理の計算量のオーダーは、[数4]で表される。
すなわち、本発明の関連技術は、計算量が多くなりすぎてしまうか、使用メモリ量が大きくなりすぎてしまうかのどちらかの問題を生じてしまう。
第一の実施の形態における情報検索システム10は、実装可能なメモリ量で可能な限り計算量を小さく抑えるために、計算量と使用メモリ量のバランスを調整することができる。
つまり、第一の実施の形態における情報検索システム10は、属性名と属性値との組を有する属性情報を一以上含む登録情報の検索において、少量のメモリで高速な検索を実現できる。その理由は、以下のとおりである。つまり情報検索システム10は、登録情報に含まれる属性情報のうち、所定の(例えば、取り得る属性値の種類の数が少ない)属性情報に対して、組み合わせ展開処理を行う。これによって情報検索システム10は、メモリの使用効率の良い属性情報を選別して、事前に検索高速化のための登録キーの生成を行うことができるからである。
また、第一の実施の形態における情報検索システム10は、属性名と属性値の組を有する属性情報を一以上含む登録情報の検索において、情報評価フローにおける計算量を低減できることができる。その理由は、以下のとおりである。つまり情報検索システム10は、組み合わせ展開処理を行っている属性情報に対して、べき集合生成処理を省略できるからである。
[第二の実施の形態]
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
図24は、本発明の第二の実施の形態における情報検索システム20の構成を示すブロック図である。
図24を参照すると、情報検索システム20は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210とを備える。
第二の実施の形態における情報検索システム20は、組み合わせ展開対象属性名指定リスト生成部210が、所定の閾値を用いることにより、情報検索システム20が消費するメモリリソース(メモリ量)と処理速度(計算量)の制御を実現する。
===組み合わせ展開対象属性名指定リスト生成部210===
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストと閾値とに基づいて組み合わせ展開対象属性名指定リストを生成し、組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
属性値数リストとは、情報検索システム20で扱う各属性情報の取り得る属性値の種類数を含む情報である。閾値は、各属性情報の属性値の種類の数に基づいて、組み合わせ展開処理を行うか否かを判定するための値である。
図25は、組み合わせ展開対象属性名指定リスト生成部210が備える構成の一例を示す図である。図25を参照すると、組み合わせ展開対象属性名指定リスト生成部210は、属性値数リスト受信部211と閾値受信部212と組み合わせ展開対象属性決定部213とを備える。
属性値数リスト受信部211は、情報検索システム20で扱われる、例えば図26で示される各属性情報の取り得る属性値の種類の数を示す属性値数を含む属性値数リストを受信する。属性値数リストは、属性名とその属性名で示される属性情報の取り得る属性値の種類の数との組を要素として含むリストである。
閾値受信部212は、各属性情報の属性値の種類の数に基づいて組み合わせ展開処理を行うか否か判定するための情報である閾値を受信する。
閾値として様々な値が設定されてよい。例えば、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち取り得る属性値の種類がその閾値以下である属性情報に対応する属性名を、組み合わせ展開処理を実行する属性情報に対応する属性名として組み合わせ展開対象属性名指定リストに追加する。そして組み合わせ展開対象属性決定部213は、属性名が追加された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
また例えば、閾値は、べき集合展開処理が行われる属性情報の上限数であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、属性値の種類の数が多い属性情報から閾値が示す個数分だけ除外する。そして組み合わせ展開対象属性決定部213は、残りの属性情報を、組み合わせ展開処理を実行する属性情報として、各属性情報に対応する属性名を組み合わせ展開対象属性名指定リストに追加する。
この閾値に基づいて、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、小さい値に対応付けられている属性名から順に高々閾値が示す個数まで、属性名を前記指定リストに追加してもよい。
また例えば、閾値は、登録情報の記憶の際に使用されるメモリサイズの上限であってもよい。この場合、組み合わせ展開対象属性決定部213は、メモリ使用量が閾値を超えるまで、前述の属性値数リストの要素のうち属性値の種類の数の少ないほうから属性名を組み合わせ展開対象属性名指定リストに追加してもよい。
以降、第二の実施の形態における説明では、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であると仮定して説明される。
次に、第二の実施の形態における情報検索システム20の動作について図面を参照して詳細に説明する。図27は、第二の実施の形態における組み合わせ展開対象属性名指定リスト生成部210の動作の概要を示すフローチャートである。
組み合わせ展開対象属性名指定リスト生成部210は、閾値を受信する(ステップS−201)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−202に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストを受信する(ステップS−202)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストから未処理の要素を1つ抽出する(ステップS−203)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−204に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性値数とステップS−201において取得された閾値とを比較する(ステップS−204)。属性値数が閾値以下の場合(ステップS−204の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−205に進む。一方、属性値数が閾値よりも大きい場合(ステップS−204の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性名を抽出し、組み合わせ展開対象属性名指定リストに追加する(ステップS−205)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストのすべての要素に対して処理を行ったか否かを判定する(ステップS−206)。属性値数リストの全ての要素に対して処理が行われた場合(ステップS−206の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−207に進む。一方、属性値数リストの全ての要素に対して処理が行われていない場合(ステップS−206の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−205において生成された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する(ステップS−207)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、終了する。
以上のステップが行われることにより、情報検索システム20は、組み合わせ展開処理のための閾値に基づいて、組み合わせ展開対象の属性情報の指定が可能となる。本発明の各実施の形態における情報検索システムでは、属性の取り得る属性値の種類が多いものより少ないものが組み合わせ展開対象であるほうが、メモリの効率面で有利である。例えば、10個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のために10個のエントリが必要になる。一方、2個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のためには2個のエントリで済む。
第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の構成を含む。したがって、第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の効果を奏する。
さらに第二の実施の形態における情報検索システム20は、閾値を設定することでシステムのリソースに応じた最適の組み合わせ展開対象属性名指定リストの生成が実現できる。
特に、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることができる。よって情報検索システム20は、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
[第三の実施の形態]
図28は、第三の実施の形態における情報検索システム30の構成を示すブロック図である。図28を参照すると、情報検索システム30は、第一の展開処理部301と第二の展開処理部302とを備える。
===第一の展開処理部301===
第一の展開処理部301は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を図示しない外部装置または情報検索システム30が備える機能手段から受け取る。そして第一の展開処理部301は、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。第一の展開処理部301は、前述の判定結果に応じてそれぞれ異なる処理である、第一の情報処理を行うことによって、前述の登録情報に対応する情報である登録キーを生成する。
第一の展開処理部301は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第一の情報処理とは、例えば所定の属性名を登録情報に含まれる属性情報が有していない場合に、その属性名に対応する属性値が取り得る値がそれぞれ登録情報に追加される、という処理などが挙げられる。これは例示であって第一の情報処理は前述の処理に限られない。
===第二の展開処理部302===
第二の展開処理部302は、属性情報を一つ以上含む評価情報を受け取る。そして第二の展開処理部302は、受け取った評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じてそれぞれ異なる処理である、第二の情報処理を行うことによって検索キーを生成する。検索キーとは、第一の展開処理部301が生成した登録キーとの比較により、その登録キーに対応する登録情報を検索するためのキーである。
第二の展開処理部302は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第二の情報処理とは、例えば評価情報に含まれる属性情報が有する属性名が所定の属性名を有していない場合に、その属性情報の部分集合を要素とするべき集合が生成され、そのべき集合の各要素がそれぞれ評価情報に追加される、という処理などが挙げられる。これは例示であって、第二の情報処理は前述の処理に限られない。
図29は、本発明の第三の実施の形態における情報検索システム30とその周辺装置のハードウェア構成を示す図である。図29に示されるように、情報検索システム30は、CPU391、ネットワーク接続用の通信I/F392(通信インターフェース392)、メモリ393、およびプログラムを格納するハードディスク等の記憶装置394を含む。また、情報検索システム30は、バス397を介して入力装置395および出力装置396に接続されている。
CPU391は、オペレーティングシステムを動作させて本発明の第三の実施の形態に係る情報検索システム30の全体を制御する。また、CPU391は、例えばドライブ装置などに装着された記録媒体398からメモリ393にプログラムやデータを読み出し、これにしたがって第三の実施の形態における第一の展開処理部301および第二の展開処理部302として各種の処理を実行する。
記憶装置394は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、ハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
入力装置395は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置395は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
出力装置396は、例えばディスプレイで実現され、出力を確認するために用いられる。
なお、第三の実施の形態の説明において利用されるブロック図(図28)には、ハードウェア単位の構成ではなく、機能単位のブロックが示されている。これらの機能ブロックは図29に示すハードウェア構成によって実現される。ただし、情報検索システム30が備える各部の実現手段は特に限定されない。すなわち、情報検索システム30は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
また、CPU391は、記憶装置394に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、第一の展開処理部301および第二の展開処理部302として動作してもよい。
また、前述のプログラムのコードを記録した記録媒体(または記憶媒体)が、情報検索システム30に供給され、情報検索システム30が記録媒体に格納されたプログラムのコードを読み出し実行してもよい。すなわち、本発明は、第三の実施の形態における情報検索システム30が実行するためのソフトウェア(情報処理プログラム)を一時的に記憶するまたは非一時的に記憶する記録媒体398も含む。
図30は、第三の実施の形態における情報検索システム30の動作の概要を示すフローチャートである。
第一の展開処理部301は、登録情報を受け取る(ステップS−301)。そして第一の展開処理部301は、所定の属性名のある一つを選択し、その属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(ステップS−302)。第一の展開処理部301は、ステップS−302における判定結果に基づいてそれぞれ異なる第一の情報処理を行う(ステップS−303)。
第一の展開処理部301は、所定の属性名のすべてが選択されているか否か判定する(ステップS−304)。すべての属性名が選択されている場合(ステップS−304の“Yes”)、情報検索システム30の処理はステップS−305に進む。一方、すべての属性名が選択されていない場合(ステップS−304の“No”)、情報検索システム30の処理は、ステップS−302に進む。
第二の展開処理部302は、評価情報を受け取る(ステップS−305)。第二の展開処理部302は、受け取った評価情報に含まれる属性情報の一つを選択し、その属性情報が所定の属性名を有するか否か判定する(ステップS−306)。第二の展開処理部302は、ステップS−306における判定結果に基づいてそれぞれ異なる第二の情報処理を行う(ステップS−307)。
第二の展開処理部302は、評価情報に含まれるすべての属性情報が選択されているか否か判定する(ステップS−308)。すべての属性情報が選択されている場合(ステップS−308の“Yes”)、情報検索システム30の処理は終了する。一方、すべての属性名が選択されていない場合(ステップS−308の“No”)、情報検索システム30の処理は、ステップS−306に進む。
第三の実施の形態における情報検索システム30は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム30は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム30は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第三の実施の形態における情報検索システム30は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
本発明の効果の一例は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できることである。
本発明の各実施の形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
登録情報受信部101と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、組み合わせ展開対象属性名指定リスト記憶部102と、情報記憶部106は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
上記の各実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する第一の展開処理手段と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する第二の展開処理手段と、
を備える情報検索システム。
(付記2)
所定の属性名を示す指定リストを記憶する指定リスト記憶手段を備え、
前記第一の展開処理手段は、前記指定リストで示される属性名のそれぞれに対して、各属性名を前記登録情報に含まれる属性情報が有するか否かに応じて異なる、前記第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
前記第二の展開処理手段は、前記評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、前記第二の情報処理を行うことによって、前記検索キーを生成する、付記1に記載の情報検索システム。
(付記3)
前記第一の展開処理手段は、前記登録情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を示す属性名リストを特定する判定手段を備え、
前記第一の展開処理手段は、
各属性名に対応する属性情報が有する属性値の取り得る値を当該属性名と対応付けて記憶する属性値リストを記憶し、前記第一の情報処理として、前記属性名リストに含まれる属性名と前記属性値リストにおいて当該属性名に対応付けられている属性値とを前記登録情報に追加する組み合わせ展開処理手段と、
前記属性名と前記属性値とが追加された前記登録情報に基づいて前記登録キーを生成する情報登録手段と、を備える付記2に記載の情報検索システム。
(付記4)
前記第二の展開処理手段は、
評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名の属性情報を要素とする集合を生成する集合展開処理手段と、
前記第二の情報処理として、前記評価情報と前記集合に含まれる各要素が示す属性情報との組み合わせに基づいて検索キーを生成する情報検索手段と、を備える付記2または3に記載の情報検索システム。
(付記5)
各属性名に対応する属性情報が有する属性値の取り得る値の種類の数と当該属性名とを対応付けた情報である属性値数リストと、所定の閾値とに基づいて、前記指定リストを生成し、当該指定リストを前記指定リスト記憶手段に記憶する指定リスト作成手段を備える、付記2ないし4のいずれか1項に記載の情報検索システム。
(付記6)
前記指定リスト作成手段は、前記属性値数リストにおいて前記閾値以下の値に対応付けられている属性名を前記指定リストに追加する、付記5に記載の情報検索システム。
(付記7)
前記指定リスト作成手段は、前記属性値数リストにおいて小さい値に対応付けられている属性名から順に高々閾値が示す個数まで当該属性名を前記指定リストに追加する、付記5または6に記載の情報検索システム。
(付記8)
前記指定リスト作成手段は、前記属性値数リストに含まれる、属性値の取り得る値の種類の数に基づいて特定されるメモリ使用量が前記閾値を超えるまで、当該属性値の取りえる値の種類の数に対応する属性名を前記指定リストに追加する、付記5ないし7のいずれか1項に記載の情報検索システム。
(付記9)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する、情報検索方法。
(付記10)
コンピュータに、
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させるための情報検索プログラム。
(付記11)
前記組み合わせ展開処理手段は、前記属性名リストに含まれる属性名毎に各属性名に対応付けられている属性値のうちからいずれか1つ選択し、前記属性値および前記属性名を前記登録情報に追加し、すべての属性名および属性値の組み合わせについてそれぞれ前記登録情報に追加し、
前記情報登録手段は、前記属性名および前記属性値が追加された前記登録情報毎に前記登録キーを生成する、付記3に記載の情報検索システム。
(付記12)
前記集合展開処理手段は、評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を有する属性情報のべき集合を生成し、
前記情報検索手段は、前記評価情報と前記べき集合に含まれる各要素が示す属性情報を含む補完情報との組み合わせに基づいて検索キーを生成する、付記4に記載の情報検索システム。
(付記13)
前記情報登録手段は、前記登録情報に追加する前記属性名および前記属性値と前記登録情報が含む属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記登録キーを生成する、付記3ないし8、11および12のいずれか1項に記載の情報検索システム。
(付記14)
前記情報検索手段は、前記評価情報のうち前記指定リストに含まれている属性名に対応する属性情報が有する属性名および属性値と、前記集合に含まれる各要素が示す属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記検索キーを生成する、付記4ないし8および12のいずれか1項に記載の情報検索システム。
(付記15)
前記登録情報と当該登録情報に対応する前記登録キーとを対応付けて記憶する情報記憶手段を備え、
前記第二の展開処理手段は、前記検索キーと前記情報記憶手段に記憶されている登録キーとの照合を行うことによって登録キーに対応する登録情報を検索する、付記1ないし8、および11ないし14のいずれか1項に記載の情報検索システム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2011年3月18日に出願された日本出願特願2011−061046を基礎とする優先権を主張し、その開示の全てをここに取り込む。 Embodiments for carrying out the present invention will be described in detail with reference to the drawings. In each embodiment described in each drawing and specification, the same reference numerals are given to components having the same function.
[First embodiment]
FIG. 1 is a block diagram showing a configuration of aninformation search system 10 in the first embodiment of the present invention.
Referring to FIG. 1, theinformation search system 10 includes a registration information receiving unit 101, a combination expansion target attribute name designation list storage unit 102, a combination expansion determination unit 103, a combination expansion processing unit 104, and an information registration unit 105. , An information storage unit 106, an evaluation information receiving unit 107, a power set expansion processing unit 108, and an information search unit 109.
Theinformation search system 10 according to the first embodiment receives a registration information registration request, and determines whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names. (First determination). And the information search system 10 produces | generates the registration key corresponding to the above-mentioned registration information by performing different 1st information processing according to the result of a 1st determination. The information search system 10 receives the evaluation information as a search request, and determines whether or not each attribute information included in the evaluation information has a predetermined attribute name (second determination). And the information search system 10 produces | generates the search key corresponding to the above-mentioned evaluation information by performing different 2nd information processing according to the result of a 2nd determination. The information search system 10 can search for registration information corresponding to a registration key that matches the search key.
With this configuration, theinformation search system 10 according to the first embodiment can execute data search processing with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
FIG. 2 is a diagram illustrating an example of registration information. Referring to FIG. 2, the registration information includes one or more attribute information, and the attribute information includes a combination of an attribute name and an attribute value. The registration information shown in FIG. 2 represents “a 20-year-old man in Tokyo”.
FIG. 2 also shows an example of evaluation information. The evaluation information includes one or more attribute information.
Theinformation search system 10 in the first embodiment can register registration information including a wild card. FIG. 3 is a diagram illustrating an example of registration information not including a wild card, and FIG. 4 is a diagram illustrating an example of registration information including a wild card. The wild card is information indicating that the attribute value of the corresponding attribute information may be arbitrary.
In the present invention, when all the attribute information handled by theinformation search system 10 is gender, age, and place, the registration information including all attribute information as shown in FIG. 3 does not include a wild card. It is called registration information. In the case of the above-described example, registration information that does not include all attribute information as shown in FIG. 4 is referred to as registration information that includes a wild card.
The registration information including the wild card shown in FIG. 4 represents “a man in his twenties”. When such registration information is registered, it is assumed that evaluation information representing “a 20-year-old man in Tokyo” shown in FIG. 2 is input. In this case, the set of “20-year-old man in Tokyo” is included in the set of “20-year-old man”. That is, the relationship “a 20-year-old man who is in Tokyo in his 20s” is established. Therefore, theinformation search system 10 acquires the registration information shown in FIG.
=== RegistrationInformation Receiving Unit 101 ===
The registrationinformation receiving unit 101 receives registration information from an external device (not shown) or a function unit included in the information search system 10. Then, the registration information receiving unit 101 passes the received registration information to the combination development determining unit 103 described later. FIG. 2 is a diagram illustrating an example of registration information received by the registration information receiving unit 101. The registration information received by the registration information receiving unit 101 includes one or more attribute information. The registration information may include a wild card as shown in FIG.
=== Combination Expansion Target Attribute Name SpecificationList Storage Unit 102 ===
The combination expansion target attribute name designationlist storage unit 102 stores a combination expansion target attribute name designation list which is a list in which attribute names to be subjected to combination expansion processing are designated. In the present invention, the combination expansion target attribute name designation list is also referred to as a designation list. In the present invention, the combination expansion target attribute name designation list storage unit 102 is also referred to as a designation list storage unit. The combination expansion process is a process for obtaining all combinations of values that can be taken by each attribute value between predetermined attribute information.
FIG. 6 is a diagram illustrating an example of a combination expansion target attribute name designation list stored in the combination expansion target attribute name designationlist storage unit 102.
Referring to FIG. 6, in the combination expansion target attribute name designation list, theinformation search system 10 performs a combination expansion process on attribute information having attribute names of Interest (interest), Gender (gender), and Terminal (terminal state). It is shown that.
=== CombinationDevelopment Determination Unit 103 ===
The combinationdevelopment determination unit 103 receives registration information from the registration information reception unit 101. Then, the combination expansion determination unit 103 passes the received registration information and a combination expansion target attribute name list described later to the combination expansion processing unit 104 described later.
The combinationexpansion determination unit 103 acquires the combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102. The combination expansion determination unit 103 is information including attribute names excluding the attribute names included in the registration information received by the registration information receiving unit 101 from the attribute names included in the combination expansion target attribute name designation list. A certain combination expansion target attribute name list is generated. In the present invention, this function is called a combination expansion target attribute name list generation function. The function is performed by the combination expansion target attribute name list generation unit 131. FIG. 5 is a diagram illustrating an example of a configuration included in the combination development determination unit 103.
In the present invention, the combinationdevelopment determination unit 103 is also referred to as a determination unit. The combination expansion target attribute name list is also referred to as an attribute name list.
FIG. 8 shows combinations when the registration information shown in FIG. 7 is input to theinformation search system 10 and the combination expansion target attribute name designation list storage unit 102 stores the combination expansion target attribute name designation list shown in FIG. It is a figure which shows an example of an expansion | deployment object attribute name list.
The attribute names included in the registration information shown in FIG. 7 are Interest (interest) and Location (location). The attribute names specified by the combination expansion target attribute name specification list shown in FIG. 6 are Interest (interest), Gender (gender), and Terminal (terminal state). Therefore, the combinationexpansion determination unit 103 generates a combination expansion target attribute name list in which Interest (interest) and Location (location) are excluded from the Interest (interest), Gender (gender), and Terminal (terminal state). Specifically, the combination expansion determination unit 103 generates a combination expansion target attribute name list including Gender (gender) and Terminal (terminal state) as shown in FIG.
=== CombinationDevelopment Processing Unit 104 ===
The combinationexpansion processing unit 104 receives registration information and a combination expansion target attribute name list. Then, the combination expansion processing unit 104 passes the registration information after the combination expansion processing to the information registration unit 105 described later. Details of the “registration information after the combination expansion process” will be described later. FIG. 9 is a diagram illustrating functions provided in the combination development processing unit 104. Referring to FIG. 9, the combination expansion processing unit 104 includes a combination expansion target attribute value list storage unit 141 and a combination generation processing unit 142.
The combinationexpansion processing unit 104 stores the combination expansion target attribute value list in the combination expansion target attribute value list storage unit 141. The combination expansion target attribute value list is information in which a list of attribute values that can be taken by each piece of attribute information for performing combination expansion processing is associated with the corresponding attribute name. In the present invention, this function is referred to as a combination expansion target attribute value list storage function. In the present invention, the combination expansion target attribute value list is also referred to as an attribute value list.
FIG. 10 is a diagram illustrating an example of a combination expansion target attribute value list stored in the combination expansion target attribute valuelist storage unit 141 by the combination expansion target attribute value list storage function. Referring to FIG. 10, the combination expansion target attribute value list includes values that can be taken by the attribute values included in the attribute information corresponding to the attribute names specified by the combination expansion target attribute name specification list.
The combination expansion target attribute value list shown in FIG. 10 indicates that the attribute “Interest” has 12 kinds of values of Music, Movie, Sports, Shopping, Cooking, Drive, Game, Computer, TV, Outdoor, Novell, and Comics. ing. Further, this combination expansion target attribute value list indicates that the attribute “Gender” has binary values of “Male” and “Female”. The combination expansion target attribute value list indicates that the attribute “Terminal” has two values of open and close.
The combinationexpansion processing unit 104 acquires a combination expansion target attribute value list corresponding to the attribute name included in the combination expansion target attribute name list from the combination expansion target attribute value list storage unit 141. Then, the combination expansion processing unit 104 generates registration information after combination expansion processing in which registration information is combined with combinations of values included in the acquired combination expansion target attribute value list and attribute names of those values. In the present invention, this function is called a combination generation processing function or a combination expansion processing function. The combination generation processing function is performed by the combination generation processing unit 142.
For example, the combinationgeneration processing unit 142 receives the registration information shown in FIG. 7 and the combination expansion target attribute name list shown in FIG. 8, and generates registration information after the combination expansion processing shown in FIG. The combination generation processing unit 142 combines a combination expansion target attribute value list corresponding to Gender and Terminal included in the combination expansion target attribute name list with Gender: {Male, Female}, Terminal: [Open, Close]. Obtained from the storage unit 141. Then, the combination generation processing unit 142 is information including a combination of values of the acquired combination expansion target attribute value list and the attribute names thereof {Gender = Male, Terminal = Open}, {Gender = Male, Terminal = Close },
Generate {Gender = Female, Terminal = Open} and {Gender = Female, Terminal = Close}. Then, the combinationgeneration processing unit 142 registers the registration information shown in FIG.
{Interest = Music, Location = Area1} is combined with the above-described information, respectively, to generate registration information after four combination expansion processes. Specifically, the combinationgeneration processing unit 142
{Interest = Music, Location = Area1, Gender = Male, Terminal = Open},
{Interest = Music, Location = Area1, Gender = Male, Terminal = Close},
{Interest = Music, Location = Area1, Gender = Female, Terminal = Open}, and
Registration information after four combination expansion processes of {Interest = Music, Location = Area1, Gender = Female, Terminal = Close} is generated. The combinationgeneration processing unit 142 passes the generated registration information after the four combination expansion processes to the information registration unit 105.
===Information Registration Unit 105 ===
Theinformation registration unit 105 receives registration information from the combination development processing unit 104. Then, the information registration unit 105 generates a registration key based on the received registration information, and stores the registration key and registration information in association with each other in the information storage unit 106 described later.
As shown in FIG. 12, theinformation registration unit 105 includes a sorting unit 151 that sorts attribute information of registration information in a specific order. The specific order includes, for example, alphabetical order of attribute names or attribute values, alphabetical order, numerical ascending order, numerical descending order, and the like.
As shown in FIG. 12, theinformation registration unit 105 includes a key generation unit 152 that connects the sorted attribute information and generates a registration key based on the connected attribute information. For example, the information registration unit 105 may specify the hash value of the linked attribute information as the registration key.
As shown in FIG. 12, theinformation registration unit 105 includes a registration unit 153 that sends a registration request including a registration key and registration information to the information storage unit 106 described later.
===Information Storage Unit 106 ===
Theinformation storage unit 106 receives a registration request including a registration key and registration information. The information storage unit 106 stores registration information using the registration key as a key. That is, the information storage unit 106 stores the registration key and the corresponding registration information in association with each other. Further, the information storage unit 106 accepts a search request including a search key described later. Then, the information storage unit 106 uses the search key as a key, and returns registration information stored in association with the registration key corresponding to the search key.
Theinformation storage unit 106 may be a key value store such as a hash table.
=== EvaluationInformation Receiving Unit 107 ===
The evaluationinformation receiving unit 107 receives evaluation information. Then, the evaluation information receiving unit 107 passes the received evaluation information to the set expansion determining unit 108 to be described later. FIG. 2 is a diagram illustrating an example of evaluation information. The evaluation information received by the evaluation information receiving unit 107 includes one or more attribute information. The attribute information has an attribute name and an attribute value.
=== Power SetExpansion Processing Unit 108 ===
The power setexpansion processing unit 108 receives the evaluation information. The power set expansion processing unit 108 passes the evaluation information after the power set expansion processing to the information search unit 109 described later. In the present invention, the power set expansion processing unit 108 is also referred to as a set expansion processing unit. Details of the “evaluation information after the power set expansion process” will be described later.
FIG. 13 is a diagram illustrating an example of a configuration included in the power setexpansion processing unit 108.
The power setexpansion processing unit 108 has a function of performing the following processing using the evaluation information received from the evaluation information receiving unit 107 and the combination expansion target attribute name designation list acquired from the combination expansion target attribute name designation list storage unit 102. Prepare. That is, the power set expansion processing unit 108 generates a power set expansion target attribute information list obtained by removing the attribute information corresponding to the attribute name specified by the combination expansion target attribute name specification list from the attribute information included in the evaluation information. To do. Further, the power set expansion processing unit 108 extracts a non-power set expansion target attribute information list obtained by extracting attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the attribute information included in the evaluation information. Generate. In the present invention, these functions are referred to as evaluation information dividing functions. The evaluation information dividing unit 181 performs the evaluation dividing function. Specifically, the evaluation information dividing unit 181 divides the evaluation information into a power set expansion target attribute information list and a non power set expansion target attribute information list.
FIG. 15 is an example of a power set expansion target attribute information list generated by the power setexpansion processing unit 108. When the combination expansion target attribute name designation list storage unit 102 stores the combination expansion target attribute name designation list shown in FIG. 6, the set expansion processing unit 108 that should receive the evaluation information shown in FIG. A set expansion target attribute information list of 15 examples is generated. FIG. 16 is an example of a non-exponent set expansion target attribute information list generated in the same case as the above example.
The evaluation information shown in FIG.
{Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20}. In the combination expansion target attribute name designation list shown in FIG. 6, “Interest”, “Gender”, and “Terminal” are designated. Therefore, evaluation information
Attribute information corresponding to Interest, Gender, and Terminal specified in the combination expansion target attribute name specification list is removed from {Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20} {Location = Area1, Age = 20} is the set expansion target attribute information list to be shown in FIG. Evaluation information
Attribute information corresponding to Interest, Gender, and Terminal specified in the combination expansion target attribute name specification list is extracted from {Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20} {Interest = Music, Terminal = Open, Gender = Male} is the non-exponential set expansion target attribute information list shown in FIG.
The power setexpansion processing unit 108 generates a power set of a set having attribute information included in the generated power generation target attribute information list as elements. The power set expansion processing unit 108 generates a set expansion target expansion list that should include each element of the power set as a list. In the present invention, these functions are called partial power generation functions. These functions are realized by the partial power generation unit 182. Specifically, the partial power set generation unit 182 receives a power set expansion target attribute information list. The partial power set generation unit 182 generates a power set of a set having attribute information included in the received set expansion target attribute information list as an element. Then, the partial power set generation unit 182 generates a power set expansion target expansion list that includes each element of the power set in the list.
For example, when the power setexpansion processing unit 108 receives the power set expansion target attribute information list shown in FIG. 15, the power set expansion processing unit 108 performs the following processing. In other words, the power set expansion processing unit 108 uses the attribute information included in the power set expansion target attribute information list as an element.
{Location = Area1, Age = 20} power set
{{Φ}, {Location = Area1}, {Age = 20}, {Location = Area1, Age = 20}} are generated. The power setexpansion processing unit 108 identifies the generated power set as a power set expansion target expansion list. FIG. 17 is a diagram illustrating an example of a set expansion target expansion list that should be specified by the power set expansion processing unit 108.
Further, the power setexpansion processing unit 108 should have combined the power set expansion target attribute information list with the power set expansion target expansion list based on the power set expansion target expansion list and the power set expansion target attribute information list. Evaluation information after the set expansion process is generated. In the present invention, this function is referred to as a non-expansion attribute synthesis function. The function is performed by the non-expansion attribute synthesis unit 183.
For example, the power setexpansion processing unit 108 has a set expansion target expansion list {{φ}, {Location = Area1}, {Age = 20}, {Location = Area1, Age = 20}} shown in FIG. When generating the non-exponential set expansion target attribute information list {Interest = Music, Terminal = Open, Gender = Male} shown in FIG. 16, the following processing is performed. That is, the power set expansion processing unit 108 synthesizes a non-power set expansion target attribute information list with the power set expansion target expansion list. The power set expansion processing unit 108 is evaluation information after the power set expansion processing.
{Interest = Music, Terminal = Open, Gender = Male}, {Location = Area1, Interest = Music, Terminal = Open, Gender = Male}, {Age = 20, Interest = Music, Terminal = Mend, Mender} And {Location = Area1, Age = 20, Interest = Music, Terminal = Open, Gender = Male}. FIG. 18 is information indicating an example of evaluation information after the set expansion processing to be acquired by the power setexpansion processing unit 108.
===Information Retrieval Unit 109 ===
As shown in FIG. 19, theinformation search unit 109 includes a sorting unit 191 that sorts attribute information of evaluation information after power set expansion processing in a specific order. The specific order includes, for example, alphabetical order of attribute names or attribute values, alphabetical order, numerical ascending order, numerical descending order, and the like.
As shown in FIG. 19, theinformation search unit 109 includes a key generation unit 192 that connects the sorted attribute information and generates a search key based on the connected attribute information. For example, the information search unit 109 may specify the hash value of the linked attribute information as the search key.
As shown in FIG. 19, theinformation search unit 109 includes a search unit 193 that passes a search request including the generated search key to the information storage unit 106.
In the first embodiment of the present invention, the combinationdevelopment determination unit 103, the combination development processing unit 104, and the information registration unit 105 are collectively referred to as a first development processing unit. In the first embodiment of the present invention, the power set expansion processing unit 108 and the information search unit 109 are collectively referred to as a second expansion processing unit. The same applies to the second embodiment of the present invention.
Next, the operation of theinformation search system 10 in the first embodiment will be described in detail with reference to the drawings.
The overall operation of theinformation search system 10 in the first embodiment can be broadly divided into an information registration flow for registering registration information and an information evaluation flow for searching for registration information that matches the evaluation information.
FIG. 20 is a flowchart showing the operation of the information registration flow in the operation of theinformation search system 10 in the first embodiment.
The registrationinformation receiving unit 101 receives registration information including one or more attribute information (step S-101S). The registration information receiving unit 101 passes the registration information to the combination development determining unit 103. The process of the information search system 10 proceeds to step S102S. The registration information includes one or more attribute information, and the attribute information includes a pair of an attribute name and an attribute value. Further, the information search system 10 in the first embodiment can register registration information including a wild card.
The combinationdevelopment determination unit 103 receives registration information. The combination expansion determination unit 103 performs a combination expansion determination process (step S-102S). Then, the combination expansion determination unit 103 passes the registration information and the combination expansion target attribute name list to the combination expansion processing unit 104. Then, the process of the information search system 10 proceeds to step S-103S. FIG. 21 is a flowchart showing the operation of the combination development determination process. The operation of the combination development determination process will be described below.
The combinationdevelopment determination unit 103 receives registration information (step S-102S-01). Then, the process of the combination development determination unit 103 proceeds to step S-102S-02.
The combinationexpansion determination unit 103 acquires a combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102 (step S-102S-02). Then, the process of the combination development determination unit 103 proceeds to step S-102S-03.
The combinationdevelopment determination unit 103 sets the counter i to 0 (steps S-102S-03). Then, the process of the combination development determination unit 103 proceeds to step S-102S-04.
The combinationexpansion determination unit 103 compares the counter i with the number of attribute names that is the number of attribute names included in the combination expansion target attribute name designation list (step S-102S-04). If the counter i is smaller than the number of attribute names included in the combination expansion target attribute name designation list (“Yes” in step S-102S-04), the processing of the combination expansion determination unit 103 proceeds to step S-102S-05. . On the other hand, when the counter i is larger than the number of attribute names included in the combination expansion target attribute name designation list (“No” in steps S-102S-04), the combination expansion determination process of the combination expansion determination unit 103 ends.
The combinationexpansion determination unit 103 extracts the i-th attribute name from the combination expansion target attribute name designation list (step S-102S-05). Then, the process of the combination development determination unit 103 proceeds to step S-102S-06.
The combinationdevelopment determination unit 103 sets the counter j to 0 (steps S-102S-06). Then, the process of the combination development determination unit 103 proceeds to step S-102S-07.
The combinationdevelopment determination unit 103 extracts the attribute name of the jth attribute information from the registration information (step S-102S-07). Then, the process of the combination development determination unit 103 proceeds to step S-102S-08.
The combinationexpansion determination unit 103 compares the attribute name acquired in step S-102S-05 with the attribute name acquired in step S-102S-07 (step S-102S-08). If the attribute values match (“Yes” in step S-102S-08), the process of the combination development determination unit 103 proceeds to step S-102S-12. On the other hand, if the attribute values do not match (“No” in step S-102S-08), the process of the combination development determination unit 103 proceeds to step S-102S-09.
The combinationdevelopment determination unit 103 adds 1 to the counter j (steps S-102S-09). Then, the process of the combination development determination unit 103 proceeds to step S-102S-10.
The combinationdevelopment determination unit 103 compares the counter j with the number of attributes that is the number of attribute information included in the registration information (step S-102S-10). When the counter j is smaller than the number of attributes included in the registration information (“Yes” in step S-102S-10), the processing of the combination expansion determination unit 103 proceeds to step S-102S-07. On the other hand, when the counter j is larger than the number of attributes included in the registration information (“No” in step S-102S-10), the process of the combination expansion determination unit 103 proceeds to step S-102S-11.
The combinationexpansion determination unit 103 adds the attribute name determined to have been matched in step S-102S-08 to the combination expansion target attribute name list (step S-102S-11). Then, the process of the combination development determination unit 103 proceeds to step S-102S-12.
The combinationdevelopment determination unit 103 adds 1 to the counter i (step S-102S-12). Then, the process of the combination development determination unit 103 proceeds to step S-102S-04.
The above is the operation of the combinationdevelopment determination unit 103.
The combinationexpansion determination unit 103 passes the combination expansion target attribute name list including the attribute name added in step S-102S-11 to the combination expansion processing unit 104 when the processing is ended in step S-102S-04. Then, the process of the information search system 10 proceeds to step S-103S.
The combinationexpansion processing unit 104 receives registration information and a combination expansion target attribute name list. Then, the combination expansion processing unit 104 determines whether or not the combination expansion target attribute name list is empty (step S-103S). If the combination expansion target attribute name list is empty (“Yes” in step S-103S), the processing of the information search system 10 proceeds to step S-106S. On the other hand, when the combination expansion target attribute name list is not empty (“No” in step S-103S), the process of the information search system 10 proceeds to step S-104S.
The combinationexpansion processing unit 104 performs combination expansion processing (step S-104S). Then, the combination expansion processing unit 104 passes the registration information after the combination expansion processing to the information registration unit 105. Then, the processing of the information processing system 10 proceeds to step S-105S. FIG. 22 is a flowchart showing the operation of the combination development process. Hereinafter, the operation of the combination development processing unit 104 will be described.
The combinationexpansion processing unit 104 receives a combination expansion target attribute name list (step S-104S-01). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-02.
The combinationdevelopment processing unit 104 sets the counter i to 0 (step S-104S-02). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-03.
The combinationexpansion processing unit 104 compares the counter i with the number of attribute names that is the number of attribute names included in the combination expansion target attribute name list (step S-104S-03). When the counter i is smaller than the number of attribute names included in the combination expansion target attribute name list (“Yes” in step S-104S-03), the processing of the combination expansion processing unit 104 proceeds to step S-104S-04. On the other hand, when the counter i is larger than the number of attribute names included in the combination expansion target attribute name list (“No” in step S-104S-03), the combination expansion processing unit 104 proceeds to step S-104S-07. move on.
The combinationexpansion processing unit 104 extracts the i-th attribute name from the combination expansion target attribute name list (steps S-104S-04). Then, the process of the combination development processing unit 104 proceeds to step S-104S-05.
The combinationexpansion processing unit 104 acquires a combination expansion target attribute value list corresponding to the attribute name acquired in Step S-104S-04 from the combination expansion target attribute value list storage unit 141 (Step S-104S-05). Then, the process of the combination development processing unit 104 proceeds to step S-104S-06.
The combinationexpansion processing unit 104 adds 1 to the counter i (step S-104S-06). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-03.
The combinationexpansion processing unit 104 generates an attribute value combination list that is a possible combination of the attribute values included in the combination expansion target attribute value list acquired in step S-104S-05 (step S-104S-07). . Then, the process of the combination development processing unit 104 proceeds to step S-104S-08. If there is no attribute value list, the attribute value combination list is empty.
The combinationdevelopment processing unit 104 sets the counter j to 0 (steps S-104S-08). Then, the process of the combination development processing unit 104 proceeds to step S-104S-09.
The combinationexpansion processing unit 104 compares the number of possible pairs of values included in the combination list of the counter j and the attribute value (steps S-104S-09). When the counter j is smaller than the number of value pairs included in the attribute value combination list (“Yes” in step S-104S-09), the processing of the combination expansion processing unit 104 proceeds to step S-104S-10. . On the other hand, when the counter j is greater than the number of value pairs included in the attribute value combination list (“No” in steps S-104S-09), the combination expansion processing unit 104 ends the combination expansion processing.
The combinationexpansion processing unit 104 acquires the jth attribute value pair from the attribute value combination list (step S-104S-10). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-11.
The combinationexpansion processing unit 104 generates new registration information by combining attribute value pairs and attribute names corresponding to the attribute value pairs into the registration information as attribute information. Then, the combination development processing unit 104 adds the generated registration information to one of the “registration information after the combination development process” (step S-104S-11). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-12.
The combinationdevelopment processing unit 104 adds 1 to the counter j (step S-104S-12). Then, the processing of the combination development processing unit 104 proceeds to step S-104S-09.
The above is the operation of the combinationdevelopment processing unit 104.
That is, when the combinationexpansion processing unit 104 ends the processing in step S-104S-09, it passes the registration information after the combination expansion processing added in step S-104S-11 to the information registration unit 105. Then, the process of the information search system 10 proceeds to step S-105S.
Theinformation registration unit 105 extracts one piece of unregistered registration information from one or more pieces of registration information (step S-105S). Then, the process of the information search system 10 proceeds to step S-106S.
Theinformation registration unit 105 extracts attribute information from the registration information extracted in step S-105S. Then, the information registration unit 105 arranges the attribute information in a specific order (step S-106S). Then, the process of the information search system 10 proceeds to step S-107S. The specific order may be an order determined based on attribute names included in the attribute information. Further, the specific order may be alphabetical order of the attribute names included in the attribute information, alphabetical order, numerical ascending order, or numerical descending order. For example, when the information registration unit 105 sorts the attribute names into the alphabetical order for the registration information {age = 20, gender = F, location = Tokyo}, the sorted attribute information is {gender = F, age = 20, location = Tokyo}.
Theinformation registration unit 105 extracts attribute information from the registration information, and generates a registration key based on the information obtained by connecting the attribute information (step S-107S). Then, the process of the information search system 10 proceeds to step S-108S. For example, the information registration unit 105 may generate a registration key {gender F age 20 location Tokyo} for registration information {sex = F, age = 20, location = Tokyo}.
Theinformation registration unit 105 passes the registration request including the registration key and registration information generated in step S-107S to the information storage unit 106. The information storage unit 106 stores the registration information based on the registration key included in the received registration request (step S-108S). Then, the process of the information search system 10 proceeds to step S-109S.
Theinformation registration unit 105 determines whether registration processing has been performed for all registration information (step S-109S). If registration processing has been performed for all registration information (“Yes” in step S-109S), the information processing system 10 ends the information registration flow. On the other hand, if the registration process has not been performed for all the registration information (“No” in step S-109S), the process of the information search system 10 proceeds to step S-105S.
By performing the process according to the above steps, registration information is stored in theinformation storage unit 106 based on the registration key generated by the combination expansion process.
FIG. 23 is a diagram for explaining an information evaluation flow in the operation of theinformation search system 10 in the first embodiment.
The evaluationinformation receiving unit 107 receives evaluation information including one or more attribute information (step S-101E). The evaluation information receiving unit 107 passes the evaluation information to the power set expansion processing unit 108. Then, the process of the information search system 10 proceeds to step S-102E. The evaluation information includes one or more attribute information, and the attribute information includes a pair of an attribute name and an attribute value.
The power setexpansion processing unit 108 acquires the combination expansion target attribute name designation list stored in the combination expansion target attribute name designation list storage unit 102 (step S-102E). Then, the process of the information search system 10 proceeds to step S-103E.
The power setexpansion processing unit 108 generates a set expansion target attribute information list that should be a list of attribute information excluding attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the evaluation information. The power set expansion processing unit 108 generates a non-power set expansion target attribute information list that is a list of attribute information obtained by extracting attribute information corresponding to the attribute name specified in the combination expansion target attribute name specification list from the evaluation information. (Step S-103E). Then, the process of the information search system 10 proceeds to step S-104E.
The power setexpansion processing unit 108 obtains a power set of a set having attribute information included in the power set expansion target attribute information list as an element. The power set expansion processing unit 108 generates a set expansion target expansion list in which each element of the power set should be an element of the list (step S-104E). Then, the process of the information search system 10 proceeds to step S-105E.
The power setexpansion processing unit 108 sets the counter i to 0 (step S-105E). Then, the process of the power set expansion processing unit 108 proceeds to step S-106E.
The power setexpansion processing unit 108 compares the counter i with the number of elements included in the power set expansion target expansion list (step S-106E). When the counter i is smaller than the number of elements in the power set expansion target expansion list (“Yes” in step S-106E), the processing of the information search system 10 proceeds to step S-107E. On the other hand, when the counter i is larger than the number of elements in the power set expansion target expansion list (“No” in step S-106E), the processing of the information search system 10 proceeds to step S-111E.
The power setexpansion processing unit 108 extracts the i-th element of the power set expansion target expansion list (step S-107E). Then, the process of the information search system 10 proceeds to step S-108E.
The power setexpansion processing unit 108 combines the attribute information included in the non-power set expansion target attribute information list with the element extracted in step S-107E (step S-108E). Then, the process of the information search system 10 proceeds to step S-109E.
The power setexpansion processing unit 108 adds the element synthesized in step S-108E to one of the “evaluation information after the power set expansion processing” (step S-109E). Then, the process of the information search system 10 proceeds to step S-110E.
The power setexpansion processing unit 108 adds 1 to the counter i (step S-110E). Then, the process of the information search system 10 proceeds to step S-106E.
Theinformation search unit 109 extracts one piece of unsearched evaluation information from one or more pieces of evaluation information (step S-111E). Then, the process of the information search system 10 proceeds to step S-112E.
Theinformation search unit 109 extracts attribute information from the evaluation information extracted in step S-111E, and arranges the attribute information in a specific order (step S-112E). Then, the process of the information search system 10 proceeds to step S-113E. The specific order may be an order determined based on attribute names included in the attribute information. Further, the specific order may be alphabetical order of the attribute names included in the attribute information, alphabetical order, numerical ascending order, or numerical descending order. For example, when the information search unit 109 sorts the attribute names in the alphabetical order for the evaluation information {age = 20, gender = F, place = Tokyo}, the sorted attribute information is {gender = F, Age = 20, place = Tokyo}.
Theinformation search unit 109 extracts attribute information from the evaluation information, and generates a search key based on the information obtained by connecting the attribute information (step S-113E). Then, the process of the information search system 10 proceeds to step S-114E. For example, the information search unit 109 may generate a search key {gender F age 20 place Tokyo} for the evaluation information {sex = F, age = 20, place = Tokyo}.
Theinformation search unit 109 passes the search request including the search key generated in step S-113E to the information storage unit 106. When there is registration information registered in association with the registration key that matches the search key, the information storage unit 106 outputs the registration information (step S-114E). The processing of the information processing system 10 that has finished the search request processing proceeds to step S-115E.
Theinformation search unit 109 determines whether search processing has been performed for all evaluation information (step S-115E). When the search process has been performed for all the evaluation information (“Yes” in step S-115E), the information search system 10 ends the information search flow. On the other hand, when the search process has not been performed for all evaluation information (“No” in step S-115E), the process of the information search system 10 proceeds to step S-111E.
By performing the processing according to the above steps, theinformation search system 10 associates with the registration key that matches the search key generated by the power set expansion processing even when registration information including a wild card is registered. The registered information thus registered can be acquired from the information storage unit 106.
Theinformation search system 10 according to the first embodiment includes a combination expansion determination unit 103, a combination expansion processing unit 104, an information registration unit 105, a power set expansion processing unit 108, and an information search unit 109.
The combinationexpansion determination unit 103 acquires a list (combination expansion target attribute name designation list) indicating attribute information to be subjected to the combination expansion process. Then, the combination expansion determination unit 103 determines that attribute information that is handled by the information search system 10 but is not included in the received registration information is a target of combination expansion processing. The combination expansion determination unit 103 passes a combination expansion target attribute name list indicating the attribute names included in the attribute information determined to be the target of the combination expansion process to the combination expansion processing unit 104.
The combinationexpansion processing unit 104 performs combination expansion processing of attribute values respectively corresponding to the attribute names included in the combination expansion target attribute name list generated by the combination expansion determination unit 103.
In the combination expansion process, the combinationexpansion processing unit 104 generates all combinations of attribute values included in the attribute information determined to be the target of the combination expansion process. Then, the combination expansion processing unit 104 generates registration information after the combination expansion processing by combining each of the generated combinations with attribute information included in the registration information that has not been determined to be the target of the combination expansion processing. The information registration unit 105 generates a registration key based on the registration information.
For example, the following conditions are assumed as a specific example. The first condition is a condition that “theinformation search system 10 handles attribute information including any of four attribute names, {position, gender, age, physical condition} as attribute information”. The second condition is a condition that “{position = Shinjuku, age = 20} including two pieces of attribute information as registration information is input to the information search system 10”. The third condition is a condition that “the target of the combination development process is attribute information having either of two attribute names, gender or physical condition”. The fourth condition is that "attribute values that can be taken by attribute information having an attribute name of gender are {male, female}, and attribute values that can be taken by attribute information having an attribute name of physical condition are {good, bad}" It is a condition. In the following specific example, attribute information having a certain attribute name X is simply represented by the attribute name X.
When these conditions are assumed, the combinationdevelopment processing unit 104 determines all combinations of attribute values that can be taken by the gender and physical condition determined to be the target of the combination development process {{gender = male, physical condition = good}, { Gender = male, physical condition = bad}, {gender = female, physical condition = good}, {gender = female, physical condition = bad}}. Then, the combination expansion processing unit 104 sets {position = Shinjuku} and {age = 20}, which are the position and age, which are attribute information that has not been determined as the combination expansion processing target, to all the above combinations. Join. In other words, the combination development processing unit 104 performs registration processing such that the registration key {position = Shinjuku, gender = male, age = 20, physical condition = good}, {position = Shinjuku, gender = male, age = 20, physical condition = bad. }, {Position = Shinjuku, gender = female, age = 20, physical condition = good} and {position = Shinjuku, gender = female, age = 20, physical condition = bad}.
The power setexpansion processing unit 108 identifies attribute information that is not the target of the combination expansion processing as the target of the power set expansion processing. Then, the power set expansion processing unit 108 generates a power set of a set having the attribute information as an element for the attribute information subjected to the power set expansion processing.
Theinformation search unit 109 generates a search key by combining the attribute information that was not the target of the power set expansion process and the elements of the generated power set.
For example, it is assumed that {position = Shinjuku, gender = male, age = 20, physical condition = poor} is input to theinformation search system 10 as evaluation information, and the target of combination development processing is gender and physical condition. In this case, the information search unit 109 performs the power set {{φ}, {position = Shinjuku}, {age = 20}, for the attribute information {position = Shinjuku, age = 20} not subjected to the combination expansion process. {Position = Shinjuku, Age = 20}} is generated. Then, the information search unit 109 combines the attribute information {gender = male, physical condition = bad}, which is performing the combination expansion process, with the search key {gender = male, physical condition = bad}, which is combined with each element of the above-mentioned set. {Position = Shinjuku, Gender = Male, Physical Condition = Poor}, {Gender = Male, Age = 20, Physical Condition = Poor} and {Position = Shinjuku, Gender = Male, Age = 20, Physical Condition = Poor} are generated.
Theinformation search system 10 according to the first embodiment can adjust the balance between the calculation amount and the used memory amount by appropriately adjusting the contents of the list indicating the attribute information for which the combination expansion is performed. If the number of attributes for performing combination expansion increases, the amount of memory used increases, but the calculation amount of the power set expansion processing unit 108 decreases. Further, if the attribute for performing combination expansion is reduced, the amount of memory used decreases, but the amount of calculation of the power set expansion processing unit 108 increases.
In addition, the combinationexpansion determination unit 103 determines that combination expansion is performed only on attribute information with a small number of possible attribute values, thereby preventing an increase in registration keys and combining all the attribute information. In comparison, the amount of memory can be reduced.
In the related art of the present invention, the amount of memory required for storing the registration key when all the attribute information is expanded in combination is n for the number of attribute information and Xn for the type of attribute value of each attribute information. When the key size is K, it is expressed as [Equation 1].
[Equation 1] indicates that the memory amount becomes very large when at least one large numerical value is included in the attribute value type Xn of each attribute information.
Therefore, the related art of the present invention has a problem that the amount of calculation in the information evaluation flow is large. In particular, when the number of attributes increases, the increase in calculation amount becomes significant.
When a power set is created in the information evaluation flow, the amount of calculation greatly increases depending on the number of attributes, and there is a possibility that the throughput of the system may be reduced.
On the other hand, in the first embodiment, the combinationexpansion determination unit 103 determines that combination expansion is performed only on attribute information whose number of possible attribute values is equal to or less than T indicating a predetermined number, and performs attribute expansion. Assume that the number of information is a. In this case, the information retrieval system 10 can suppress the memory amount necessary for storing the registration key to the value represented by [Equation 2], and can reduce the memory amount.
Further, the power set expansion processing unit 108 deletes the attribute information on which the combination expansion is performed from the elements that are the targets of the power set generation processing. Therefore, the information search system 10 can reduce the amount of calculation compared to the case where all the attribute information is expanded into a power set.
In the related art of the present invention, it is assumed that the system expands all attribute information into a power set without considering the combination expansion process. In this case, assuming that the number of attribute information is n, the order of calculation amount of the power set generation process is expressed by [Expression 3].
[Expression 3] means that the amount of calculation increases in an exponential order with respect to the number of attributes, and the technique in the related technology indicates that the technique is very weak against the increase in the number of attributes. .
Further, in the related technology of the present invention, it is assumed that all combinations of possible values of attribute values included in the attribute information included in the registration information are generated and the information is registered in the information registration flow. Then, although the method in the related art reduces the calculation amount, it cannot be processed with a realistic memory amount.
On the other hand, in the case of theinformation search system 10 in the first embodiment, assuming that the number of attribute information that is being expanded in combination is m, the order of calculation amount of the power set generation processing is expressed by [Equation 4]. The
That is, the related technology of the present invention causes a problem that either the calculation amount becomes too large or the used memory amount becomes too large.
Theinformation search system 10 according to the first embodiment can adjust the balance between the calculation amount and the used memory amount in order to keep the calculation amount as small as possible with the mountable memory amount.
That is, theinformation search system 10 according to the first embodiment can realize a high-speed search with a small amount of memory in searching for registration information including one or more attribute information having a pair of attribute name and attribute value. The reason is as follows. That is, the information search system 10 performs combination expansion processing on predetermined attribute information (for example, the number of possible attribute value types is small) among the attribute information included in the registration information. This is because the information search system 10 can select attribute information with high memory use efficiency and generate a registration key for speeding up the search in advance.
In addition, theinformation search system 10 according to the first embodiment can reduce the amount of calculation in the information evaluation flow in searching for registration information including one or more attribute information having a pair of attribute name and attribute value. The reason is as follows. That is, the information search system 10 can omit the power set generation process for the attribute information for which the combination expansion process is performed.
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 24 is a block diagram showing the configuration of theinformation search system 20 in the second embodiment of the present invention.
Referring to FIG. 24, theinformation search system 20 includes a registration information receiving unit 101, a combination expansion target attribute name designation list storage unit 102, a combination expansion determination unit 103, a combination expansion processing unit 104, and an information registration unit 105. , An information storage unit 106, an evaluation information receiving unit 107, a power set expansion processing unit 108, an information search unit 109, and a combination expansion target attribute name designation list generation unit 210.
In theinformation search system 20 according to the second embodiment, the combination expansion target attribute name designation list generation unit 210 uses a predetermined threshold value so that the memory resource (memory amount) consumed by the information search system 20 and the processing speed ( (Computation amount) is realized.
=== Combination Expansion Target Attribute Name SpecificationList Generation Unit 210 ===
The combination expansion target attribute name designationlist generation unit 210 generates a combination expansion target attribute name designation list based on the attribute value number list and the threshold value, and stores it in the combination expansion target attribute name designation list storage unit 102.
The attribute value number list is information including the number of types of attribute values that each attribute information handled by theinformation search system 20 can take. The threshold is a value for determining whether or not to perform the combination expansion process based on the number of types of attribute values of each attribute information.
FIG. 25 is a diagram illustrating an example of a configuration included in the combination expansion target attribute name designationlist generation unit 210. Referring to FIG. 25, the combination expansion target attribute name designation list generation unit 210 includes an attribute value number list reception unit 211, a threshold reception unit 212, and a combination expansion target attribute determination unit 213.
The attribute value numberlist receiving unit 211 receives an attribute value number list including the attribute value number indicating the number of types of attribute values that can be taken by each attribute information shown in FIG. The attribute value number list is a list including, as elements, a combination of an attribute name and the number of types of attribute values that can be taken by attribute information indicated by the attribute name.
Thethreshold receiving unit 212 receives a threshold that is information for determining whether or not to perform the combination expansion process based on the number of attribute value types of each attribute information.
Various values may be set as the threshold value. For example, the threshold value may be the maximum value of the types of attribute values included in the attribute information to be expanded. In this case, the combination expansion targetattribute determination unit 213 executes the combination expansion process on the attribute name corresponding to the attribute information whose type of attribute value that can be taken out of the elements included in the attribute value number list is equal to or less than the threshold value. The attribute name corresponding to the attribute information to be added is added to the combination expansion target attribute name specification list. Then, the combination expansion target attribute determination unit 213 stores the combination expansion target attribute name designation list to which the attribute name is added in the combination expansion target attribute name designation list storage unit 102.
Further, for example, the threshold value may be the upper limit number of attribute information on which power set expansion processing is performed. In this case, the combination expansion targetattribute determining unit 213 excludes the number of elements indicated by the threshold from the attribute information having a large number of attribute value types from among the elements included in the attribute value number list. Then, the combination expansion target attribute determining unit 213 adds the remaining attribute information as attribute information for executing the combination expansion process, and adds attribute names corresponding to the attribute information to the combination expansion target attribute name designation list.
Based on this threshold value, the combination expansion targetattribute determining unit 213 selects attribute names from the element name included in the attribute value number list to the number indicated by the threshold value in order from the attribute name associated with the smaller value. It may be added to the specified list.
For example, the threshold value may be an upper limit of a memory size used when storing registration information. In this case, the combination expansion targetattribute determination unit 213 specifies the combination expansion target attribute name from the attribute value list having the smallest number of attribute value types until the memory usage exceeds the threshold value. You may add it to the list.
Hereinafter, in the description of the second embodiment, it is assumed that the threshold value is the maximum value of the number of attribute value types included in the attribute information to be expanded.
Next, the operation of theinformation search system 20 in the second embodiment will be described in detail with reference to the drawings. FIG. 27 is a flowchart illustrating an outline of the operation of the combination expansion target attribute name designation list generation unit 210 according to the second embodiment.
The combination expansion target attribute name designationlist generation unit 210 receives the threshold value (step S-201). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-202.
The combination expansion target attribute name designationlist generation unit 210 receives the attribute value number list (step S-202). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-203.
The combination expansion target attribute name designationlist generation unit 210 extracts one unprocessed element from the attribute value number list (step S-203). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-204.
The combination expansion target attribute name designationlist generation unit 210 compares the number of attribute values of the element extracted in step S-203 with the threshold acquired in step S-201 (step S-204). If the number of attribute values is equal to or less than the threshold (“Yes” in step S-204), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-205. On the other hand, if the number of attribute values is greater than the threshold (“No” in step S-204), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-206.
The combination expansion target attribute name designationlist generation unit 210 extracts the attribute name of the element extracted in step S-203 and adds it to the combination expansion target attribute name designation list (step S-205). Then, the process of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-206.
The combination expansion target attribute name designationlist generation unit 210 determines whether or not processing has been performed for all elements in the attribute value number list (step S-206). When processing has been performed for all elements in the attribute value number list (“Yes” in step S-206), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-207. On the other hand, if processing has not been performed for all elements in the attribute value number list (“No” in step S-206), the processing of the combination expansion target attribute name designation list generation unit 210 proceeds to step S-203. move on.
The combination expansion target attribute name designationlist generation unit 210 stores the combination expansion target attribute name designation list generated in step S-205 in the combination expansion target attribute name designation list storage unit 102 (step S-207). Then, the processing of the combination expansion target attribute name designation list generation unit 210 ends.
By performing the above steps, theinformation search system 20 can specify the attribute information for combination expansion based on the threshold value for combination expansion processing. In the information search system in each embodiment of the present invention, it is more advantageous in terms of memory efficiency that the number of attribute values that can be attributed is less than the number of attribute values that can be attributed. For example, if an attribute that takes 10 attribute values is a combination expansion target, 10 entries are required to store registration information. On the other hand, when an attribute that takes two attribute values is a combination expansion target, two entries are sufficient for storing registration information.
Theinformation search system 20 in the second embodiment includes the same configuration as the information search system 10 in the first embodiment. Therefore, the information search system 20 in the second embodiment has the same effects as the information search system 10 in the first embodiment.
Furthermore, theinformation search system 20 according to the second embodiment can realize generation of an optimum combination expansion target attribute name designation list according to system resources by setting a threshold value.
In particular, the combinationexpansion determination unit 103 can determine to perform combination expansion only on attribute information with a small number of possible attribute values. Therefore, the information search system 20 can prevent an increase in registration keys, and can suppress the memory amount as compared with a case where all attribute information is combined and expanded.
[Third embodiment]
FIG. 28 is a block diagram showing the configuration of the information search system 30 in the third embodiment. Referring to FIG. 28, the information search system 30 includes a firstexpansion processing unit 301 and a second expansion processing unit 302.
=== FirstExpansion Processing Unit 301 ===
The firstexpansion processing unit 301 receives registration information including one or more attribute information having an attribute name and an attribute value from an external device (not shown) or a functional unit included in the information search system 30. Then, the first expansion processing unit 301 determines whether or not the attribute information included in the registration information includes each attribute name for each of the predetermined attribute names. The first expansion processing unit 301 generates a registration key, which is information corresponding to the above-described registration information, by performing first information processing, which is different processing depending on the above-described determination result.
The firstdevelopment processing unit 301 may store information indicating a predetermined attribute name in advance, or may receive and receive information indicating a predetermined attribute name from an external device (not shown) or a function unit included in the information search system 30. The predetermined attribute name may be specified based on the information. The functional means included in the information search system 30 described above may be the combination expansion target attribute name designation list storage unit 102 in the first embodiment. The information indicating the predetermined attribute name may be the combination expansion target attribute name designation list in the first embodiment.
With the first information processing, for example, when the attribute information included in the registration information does not have a predetermined attribute name, values that can be taken by the attribute value corresponding to the attribute name are respectively added to the registration information. And so on. This is an example, and the first information processing is not limited to the above-described processing.
=== Seconddevelopment processing unit 302 ===
The secondexpansion processing unit 302 receives evaluation information including one or more attribute information. Then, the second development processing unit 302 performs second information processing, which is different processing depending on whether or not each attribute information included in the received evaluation information has a predetermined attribute name. To generate a search key. The search key is a key for searching for registration information corresponding to the registration key by comparison with the registration key generated by the first expansion processing unit 301.
The secondexpansion processing unit 302 may store information indicating a predetermined attribute name in advance, or may receive and receive information indicating a predetermined attribute name from an external device (not shown) or a function unit included in the information search system 30. The predetermined attribute name may be specified based on the information. The functional means included in the information search system 30 described above may be the combination expansion target attribute name designation list storage unit 102 in the first embodiment. The information indicating the predetermined attribute name may be the combination expansion target attribute name designation list in the first embodiment.
For example, when the attribute name included in the evaluation information does not have a predetermined attribute name, a set that should have a subset of the attribute information as an element is generated. For example, a process in which each element of the power set is added to the evaluation information. This is an example, and the second information processing is not limited to the above-described processing.
FIG. 29 is a diagram showing a hardware configuration of the information search system 30 and its peripheral devices in the third embodiment of the present invention. As shown in FIG. 29, the information search system 30 includes aCPU 391, a communication I / F 392 (communication interface 392) for network connection, a memory 393, and a storage device 394 such as a hard disk for storing programs. The information retrieval system 30 is connected to an input device 395 and an output device 396 via a bus 397.
TheCPU 391 operates the operating system to control the entire information search system 30 according to the third embodiment of the present invention. Further, the CPU 391 reads out programs and data from the recording medium 398 mounted on, for example, a drive device to the memory 393, and in accordance therewith, the first expansion processing unit 301 and the second expansion processing unit in the third embodiment. As 302, various processes are executed.
Thestorage device 394 is, for example, an optical disk, a flexible disk, a magnetic optical disk, a hard disk, or a semiconductor memory, and records a computer program so that it can be read by a computer. The computer program may be downloaded from an external computer (not shown) connected to the communication network.
Theinput device 395 is realized by, for example, a mouse, a keyboard, a built-in key button, and the like, and is used for an input operation. The input device 395 is not limited to a mouse, a keyboard, and a built-in key button, but may be a touch panel, an accelerometer, a gyro sensor, a camera, or the like.
Theoutput device 396 is realized by a display, for example, and is used for confirming the output.
The block diagram (FIG. 28) used in the description of the third embodiment shows functional unit blocks, not hardware unit configurations. These functional blocks are realized by the hardware configuration shown in FIG. However, the means for realizing each unit included in the information search system 30 is not particularly limited. In other words, the information search system 30 may be realized by one physically coupled device, or by two or more physically separated devices connected by wire or wirelessly, and realized by the plurality of devices. Also good.
TheCPU 391 may read a computer program recorded in the storage device 394 and operate as the first expansion processing unit 301 and the second expansion processing unit 302 according to the program.
Further, a recording medium (or storage medium) in which the above-described program code is recorded may be supplied to the information retrieval system 30, and the information retrieval system 30 may read and execute the program code stored in the recording medium. That is, the present invention also includes arecording medium 398 that temporarily or non-temporarily stores software (information processing program) to be executed by the information search system 30 according to the third embodiment.
FIG. 30 is a flowchart showing an outline of the operation of the information search system 30 in the third embodiment.
The firstdevelopment processing unit 301 receives registration information (step S-301). The first expansion processing unit 301 selects one of the predetermined attribute names, and determines whether or not the attribute information included in the registration information includes the attribute name (step S-302). The first development processing unit 301 performs different first information processing based on the determination result in step S-302 (step S-303).
The firstexpansion processing unit 301 determines whether all of the predetermined attribute names have been selected (step S-304). If all the attribute names have been selected (“Yes” in step S-304), the processing of the information search system 30 proceeds to step S-305. On the other hand, when all the attribute names have not been selected (“No” in step S-304), the process of the information search system 30 proceeds to step S-302.
The seconddevelopment processing unit 302 receives the evaluation information (step S-305). The second expansion processing unit 302 selects one of the attribute information included in the received evaluation information, and determines whether the attribute information has a predetermined attribute name (step S-306). The second development processing unit 302 performs different second information processing based on the determination result in step S-306 (step S-307).
The secondexpansion processing unit 302 determines whether all attribute information included in the evaluation information has been selected (step S-308). If all the attribute information has been selected (“Yes” in step S-308), the processing of the information search system 30 ends. On the other hand, when all the attribute names have not been selected (“No” in step S-308), the process of the information search system 30 proceeds to step S-306.
The information search system 30 in the third embodiment receives a registration information registration request, and determines whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names. To do. And the information search system 30 produces | generates the registration key corresponding to the above-mentioned registration information by performing different 1st information processing according to the above-mentioned determination result. The information search system 30 receives evaluation information as a search request, and determines whether or not each attribute information included in the evaluation information has a predetermined attribute name. And the information search system 30 produces | generates the search key corresponding to the above-mentioned evaluation information by performing different 2nd information processing according to the above-mentioned determination result. The information search system 30 can search for registration information corresponding to a registration key that matches the search key.
With this configuration, the information search system 30 according to the third embodiment can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
An example of the effect of the present invention is that data search processing can be executed with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
Each component in each embodiment of the present invention can be realized by a computer and a program as well as its function in hardware. The program is provided by being recorded on a computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up. The read program causes the computer to function as a component in each of the embodiments described above by controlling the operation of the computer.
Registrationinformation receiving unit 101, combination expansion determining unit 103, combination expansion processing unit 104, information registration unit 105, evaluation information receiving unit 107, power set expansion processing unit 108, information search unit 109, and combination expansion The target attribute name designation list generation unit 210 can be realized by, for example, a dedicated program for realizing the function of each unit, which is read from a recording medium storing the program into the memory, and a processor that executes the program. . The combination expansion target attribute name designation list storage unit 102 and the information storage unit 106 can be realized by a memory or a hard disk device included in the computer. Alternatively, the registration information receiving unit 101, the combination expansion target attribute name designation list storage unit 102, the combination expansion determination unit 103, the combination expansion processing unit 104, the information registration unit 105, the information storage unit 106, and the evaluation information reception Part or all of the unit 107, the power set expansion processing unit 108, the information search unit 109, and the combination expansion target attribute name designation list generation unit 210 can be realized by a dedicated circuit that realizes the function of each unit. .
A part or all of each of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names A first expansion processing means for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, A second expansion processing means for generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key;
An information retrieval system comprising:
(Appendix 2)
A designation list storage means for storing a designation list indicating a predetermined attribute name;
The first expansion processing means is different from the first information for each of the attribute names indicated in the specified list depending on whether or not the attribute information included in the registration information has each attribute name. By performing processing, a registration key corresponding to the registration information is generated,
The second expansion processing means performs the second information processing, which differs depending on whether or not each of the attribute information included in the evaluation information has an attribute name indicated by the specified list. The information search system according to appendix 1, wherein the search key is generated.
(Appendix 3)
The first expansion processing means includes a determination means for specifying an attribute name list indicating an attribute name specified based on a difference between an attribute name included in the registration information and an attribute name included in the designation list,
The first expansion processing means includes
Stores an attribute value list that stores attribute values that attribute information corresponding to each attribute name can have in association with the attribute name, and as the first information processing, attribute names included in the attribute name list And combination expansion processing means for adding to the registration information an attribute value associated with the attribute name in the attribute value list;
The information search system according toclaim 2, further comprising: an information registration unit that generates the registration key based on the registration information to which the attribute name and the attribute value are added.
(Appendix 4)
The second expansion processing means includes
A set expansion processing means for generating a set having the attribute information of the attribute name specified based on the difference between the attribute name included in the evaluation information and the attribute name included in the specified list;
The information search according toappendix 2 or 3, further comprising: information search means for generating a search key based on a combination of the evaluation information and attribute information indicated by each element included in the set as the second information processing system.
(Appendix 5)
Based on the attribute value number list, which is information associating the number of types of values that the attribute value corresponding to each attribute name can have with the attribute name, and a predetermined threshold, the specified list is The information search system according to any one ofappendices 2 to 4, further comprising: a specified list creating unit that generates and stores the specified list in the specified list storage unit.
(Appendix 6)
The information search system according to appendix 5, wherein the designation list creating means adds an attribute name associated with a value equal to or less than the threshold in the attribute value number list to the designation list.
(Appendix 7)
The information according to appendix 5 or 6, wherein the designation list creating means adds the attribute names to the designation list in order from the attribute name associated with a small value in the attribute value number list to the number indicated by the threshold at most. Search system.
(Appendix 8)
The specified list creating means includes the value of the attribute value that can be taken until the memory usage specified based on the number of types of the value that can be taken by the attribute value exceeds the threshold. The information search system according to any one of appendices 5 to 7, wherein an attribute name corresponding to the number of types is added to the designation list.
(Appendix 9)
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names By performing different first information processing, a registration key corresponding to the registration information is generated,
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, An information search method for generating a search key for searching for registration information corresponding to a registration key by comparison with the registration key.
(Appendix 10)
On the computer,
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names Processing for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, An information search program for executing a process of generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key.
(Appendix 11)
The combination expansion processing unit selects any one of attribute values associated with each attribute name for each attribute name included in the attribute name list, and the attribute value and the attribute name are selected as the registration information. And add to the registration information for all combinations of attribute names and attribute values,
4. The information search system according to appendix 3, wherein the information registration unit generates the registration key for each registration information to which the attribute name and the attribute value are added.
(Appendix 12)
The set expansion processing unit generates a power set of attribute information having an attribute name specified based on a difference between an attribute name included in the evaluation information and an attribute name included in the specified list,
The information search system according to appendix 4, wherein the information search means generates a search key based on a combination of the evaluation information and complementary information including attribute information indicated by each element included in the power set.
(Appendix 13)
The information registering unit concatenates the attribute name and attribute value to be added to the registration information and the attribute name and attribute value of the attribute information included in the registration information, and is identified based on the concatenated information 13. The information search system according to any one of appendices 3 to 8, 11 and 12, wherein the registration key is generated based on a value.
(Appendix 14)
The information search means includes an attribute name and attribute value included in attribute information corresponding to an attribute name included in the specified list in the evaluation information, and an attribute name included in attribute information indicated by each element included in the set The information search system according to any one of appendices 4 to 8 and 12, wherein the search key is generated based on a hash value specified based on the linked information.
(Appendix 15)
Comprising information storage means for storing the registration information and the registration key corresponding to the registration information in association with each other;
The second expansion processing means searches the registration information corresponding to the registration key by collating the search key with the registration key stored in the information storage means. Additional notes 1 to 8, and 11 to 14. The information search system according to any one of 14 above.
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-061046 for which it applied on March 18, 2011, and takes in those the indications of all here.
[第一の実施の形態]
図1は、本発明の第一の実施の形態における情報検索システム10の構成を示すブロック図である。
図1を参照すると、情報検索システム10は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、を備える。
第一の実施の形態における情報検索システム10は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(第一の判定)。そして情報検索システム10は、第一の判定の結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム10は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する(第二の判定)。そして情報検索システム10は、第二の判定の結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム10は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第一の実施の形態における情報検索システム10は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
図2は、登録情報の一例を示す図である。図2を参照すると、登録情報は、一つ以上の属性情報を含んでおり、この属性情報は、属性名と属性値との組を有する。図2に示される登録情報は、「20歳の男で東京にいる人」を表す。
また、図2は、評価情報の一例も示している。評価情報は、一つ以上の属性情報を含んでいる。
第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。図3は、ワイルドカードを含まない登録情報の一例を示す図であり、図4は、ワイルドカードを含む登録情報との一例を示す図である。ワイルドカードとは、対応する属性情報の属性値が任意でよいことを示す情報である。
本発明において、情報検索システム10が扱うすべての属性情報が、性別、年齢、場所の3つの場合、図3に示されるようなすべての属性情報を含んでいる登録情報は、ワイルドカードを含まない登録情報と称される。また、前述の例の場合に、図4に示されるようなすべての属性情報を含んでいない登録情報は、ワイルドカードを含む登録情報と称される。
図4に示される、ワイルドカードを含む登録情報は、「20代の男」を表す。このような登録情報が登録される際に、図2に示される、「20歳の男で東京にいる人」を表す評価情報が入力されたと仮定する。この場合、「20歳の男で東京にいる人」の集合は、「20代の男」の集合に包含されている。すなわち、「20歳の男で東京にいる人⊂20代の男」という関係が成立する。したがって情報検索システム10は、図4に示される登録情報を取得する。
===登録情報受信部101===
登録情報受信部101は、登録情報を図示しない外部装置または情報検索システム10が備える機能手段から受け取る。そして登録情報受信部101は、受け取った登録情報を、後述の組み合わせ展開判定部103に渡す。図2は、登録情報受信部101が受け取る登録情報の一例を示す図である。登録情報受信部101が受信する登録情報は、一つ以上の属性情報を含んでいる。またこの登録情報は、図4に示されるようにワイルドカードを含んでいてもよい。
===組み合わせ展開対象属性名指定リスト記憶部102===
組み合わせ展開対象属性名指定リスト記憶部102は、組み合わせ展開処理を行う対象の属性名が指定されるリストである組み合わせ展開対象属性名指定リストを記憶する。本発明では、組み合わせ展開対象属性名指定リストは、指定リストとも称される。また、本発明において、組み合わせ展開対象属性名指定リスト記憶部102は、指定リスト記憶部とも称される。組み合わせ展開処理とは、所定の属性情報間でそれぞれが有する各属性値が取り得る値のすべての組み合わせを求める処理である。
図6は、組み合わせ展開対象属性名指定リスト記憶部102が記憶する組み合わせ展開対象属性名指定リストの一例を示す図である。
図6を参照すると、組み合わせ展開対象属性名指定リストは、情報検索システム10がInterest(興味)、Gender(性別)およびTerminal(端末状態)の属性名を有する属性情報に対して組み合わせ展開処理を行うこと、を示している。
===組み合わせ展開判定部103===
組み合わせ展開判定部103は、登録情報受信部101から登録情報を受け取る。そして組み合わせ展開判定部103は、受け取った登録情報と後述の組み合わせ展開対象属性名リストとを、後述の組み合わせ展開処理部104に渡す。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102が記憶している組み合わせ展開対象属性名指定リストを取得する。そして組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストに含まれる属性名のうち、登録情報受信部101が受け取る登録情報に含まれる属性情報が有する属性名を除いた属性名を含む情報である、組み合わせ展開対象属性名リストを生成する。本発明において、この機能は組み合わせ展開対象属性名リスト生成機能と称される。また当該機能は、組み合わせ展開対象属性名リスト生成部131が行う。図5は、組み合わせ展開判定部103が備える構成の一例を示す図である。
本発明において、組み合わせ展開判定部103は、判定部とも称される。また組み合わせ展開対象属性名リストは、属性名リストとも称される。
図8は、図7に示される登録情報が情報検索システム10に入力され、組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶する場合の、組み合わせ展開対象属性名リストの一例を示す図である。
図7に示される登録情報に含まれる属性名は、Interest(興味)およびLocation(場所)である。また図6に示される組み合わせ展開対象属性名指定リストが指定する属性名は、Interest(興味)、Gender(性別)およびTerminal(端末状態)である。よって組み合わせ展開判定部103は、Interest(興味)、Gender(性別)およびTerminal(端末状態)からInterest(興味)およびLocation(場所)を除いた組み合わせ展開対象属性名リストを生成する。具体的には組み合わせ展開判定部103は、図8に示されるような、Gender(性別)およびTerminal(端末状態)を含む組み合わせ展開対象属性名リストを生成する。
===組み合わせ展開処理部104===
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、後述の情報登録部105に組み合わせ展開処理後の登録情報を渡す。「組み合わせ展開処理後の登録情報」の詳細は後述される。図9は、組み合わせ展開処理部104が備える機能を示す図である。図9を参照すると、組み合わせ展開処理部104は、組み合わせ展開対象属性値リスト記憶部141と、組み合わせ生成処理部142とを備える。
組み合わせ展開処理部104は、組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141に記憶する。組み合わせ展開対象属性値リストとは、組み合わせ展開処理を行う各属性情報の取りえる属性値のリストをその対応する属性名と対応付けた情報である。本発明において当該機能は、組み合わせ展開対象属性値リスト記憶機能と称される。また本発明において、組み合わせ展開対象属性値リストは属性値リストとも称される。
図10は、組み合わせ展開対象属性値リスト記憶機能によって組み合わせ展開対象属性値リスト記憶部141が記憶する、組み合わせ展開対象属性値リストの一例を示す図である。図10を参照すると、組み合わせ展開対象属性値リストは、組み合わせ展開対象属性名指定リストによって指定されている属性名に対応する属性情報が有する属性値が取り得る値が含まれている。
図10に示される組み合わせ展開対象属性値リストは、Interestという属性がMusic、Movie、Sports、Shopping、Cooking、Drive、Game、Computer、TV、Outdoor、NovelおよびComicの12種類の値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Genderという属性がMaleおよびFemaleの2値を持つことを示している。またこの組み合わせ展開対象属性値リストは、Terminalという属性がopenおよびcloseの2値を持つことを示している。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストに含まれる属性名に対応する組み合わせ展開対象属性値リストを、組み合わせ展開対象属性値リスト記憶部141から取得する。そして組み合わせ展開処理部104は、取得した組み合わせ展開対象属性値リストに含まれる値の組み合わせとそれらの値の属性名とに登録情報を結合した、組み合わせ展開処理後の登録情報を生成する。本発明において、この機能は、組み合わせ生成処理機能または組み合わせ展開処理機能と称される。組み合わせ生成処理機能は、組み合わせ生成処理部142が行う。
例えば、組み合わせ生成処理部142は、図7に示される登録情報と図8に示される組み合わせ展開対象属性名リストとを受け取り、図11に示される組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、組み合わせ展開対象属性名リストに含まれるGenderおよびTerminalに対応する組み合わせ展開対象属性値リストGender:{Male,Female},Terminal:[Open,Close]を組み合わせ展開対象属性値リスト記憶部141から取得する。そして、組み合わせ生成処理部142は、取得した組み合わせ展開対象属性値リストの値の組み合わせとそれらの属性名とを含む情報である{Gender=Male,Terminal=Open}、{Gender=Male,Terminal=Close}、
{Gender=Female,Terminal=Open}、および{Gender=Female,Terminal=Close}を生成する。そして、組み合わせ生成処理部142は、図7に示される登録情報
{Interest=Music,Location=Area1}を前述の情報とそれぞれ結合し、4つの組み合わせ展開処理後の登録情報を生成する。具体的には組み合わせ生成処理部142は、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Open}、
{Interest=Music,Location=Area1,Gender=Male,Terminal=Close}、
{Interest=Music,Location=Area1,Gender=Female,Terminal=Open}、および
{Interest=Music,Location=Area1,Gender=Female,Terminal=Close}という4つの組み合わせ展開処理後の登録情報を生成する。組み合わせ生成処理部142は、生成された4つの組み合わせ展開処理後の登録情報を情報登録部105に渡す。
===情報登録部105===
情報登録部105は、組み合わせ展開処理部104から登録情報を受け取る。そして情報登録部105は、受け取った登録情報に基づいて登録キーを生成し、後述の情報記憶部106にその登録キーと登録情報とを関連付けて記憶する。
情報登録部105は、図12に示されるように、登録情報の属性情報を特定の順序にソートするソート部151を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報登録部105は、図12に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて登録キーを生成するキー生成部152を備える。例えば情報登録部105は、連結された属性情報のハッシュ値を登録キーと特定してもよい。
情報登録部105は、図12に示されるように、後述の情報記憶部106に登録キーと登録情報とを含む登録要求を送る登録部153を備える。
===情報記憶部106===
情報記憶部106は、登録キーと登録情報とを含む登録要求を受け付ける。そして情報記憶部106は、登録キーをキーとして登録情報を記憶する。つまり情報記憶部106は登録キーと対応する登録情報とを対応付けて記憶する。また情報記憶部106は、後述の検索キーを含む検索要求を受け付ける。そして情報記憶部106は、検索キーをキーとして、その検索キーに対応する登録キーに対応付けられて記憶されている登録情報を返す。
情報記憶部106は、例えばハッシュテーブルのようなキーバリューストアであってもよい。
===評価情報受信部107===
評価情報受信部107は、評価情報を受信する。そして評価情報受信部107は、後述のべき集合展開判定部108に、受信した評価情報を渡す。図2は評価情報の一例を示す図である。評価情報受信部107が受信する評価情報は1つ以上の属性情報を含んでいる。属性情報は属性名および属性値を有する。
===べき集合展開処理部108===
べき集合展開処理部108は、評価情報を受け取る。そしてべき集合展開処理部108は、後述の情報検索部109にべき集合展開処理後の評価情報を渡す。本発明では、べき集合展開処理部108は、集合展開処理部とも称される。「べき集合展開処理後の評価情報」の詳細は、後述される。
図13は、べき集合展開処理部108が備える構成の一例を示す図である。
べき集合展開処理部108は、評価情報受信部107から受け取る評価情報と組み合わせ展開対象属性名指定リスト記憶部102から取得する組み合わせ展開対象属性名指定リストを利用して、以下の処理を行う機能を備える。すなわち、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストによって指定される属性名に対応する属性情報を除いた、べき集合展開対象属性情報リストを生成する。また、べき集合展開処理部108は、評価情報に含まれる属性情報から、組み合わせ展開対象属性名指定リストで指定される属性名に対応する属性情報を抽出した、非べき集合展開対象属性情報リストを生成する。本発明においてこれらの機能は評価情報分割機能と称される。当該評価分割機能は、評価情報分割部181が行う。具体的には評価情報分割部181は、評価情報をべき集合展開対象属性情報リストと非べき集合展開対象属性情報リストとに分割する。
図15は、べき集合展開処理部108が生成する、べき集合展開対象属性情報リストの一例である。組み合わせ展開対象属性名指定リスト記憶部102が図6に示される組み合わせ展開対象属性名指定リストを記憶していた場合に、図14に示される評価情報を受け取ったべき集合展開処理部108は、図15の例のべき集合展開対象属性情報リストを生成する。また、図16は、前述の例と同じ場合に生成される、非べき集合展開対象属性情報リストの一例である。
図14に示される評価情報は、
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}である。そして図6に示される組み合わせ展開対象属性名指定リストにはInterest、GenderおよびTerminalが指定されている。そのため評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が除かれた{Location=Area1,Age=20}が、図15に示されるべき集合展開対象属性情報リストとなる。また評価情報
{Interest=Music,Terminal=Open,Location=Area1,Gender=Male,Age=20}から組み合わせ展開対象属性名指定リストで指定されるInterest、GenderおよびTerminalに対応する属性情報が抽出された{Interest=Music,Terminal=Open,Gender=Male}が、図16に示される非べき集合展開対象属性情報リストとなる。
べき集合展開処理部108は、生成されたべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そしてべき集合展開処理部108は、べき集合の各要素をリストとして含むべき集合展開対象展開リストを生成する。本発明においてこれらの機能は部分べき集合生成機能と称される。またこれらの機能は部分べき集合生成部182によって実現される。具体的には、部分べき集合生成部182は、べき集合展開対象属性情報リストを受け取る。そして部分べき集合生成部182は、受け取ったべき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を生成する。そして部分べき集合生成部182は、べき集合の各要素をリストに含む、べき集合展開対象展開リストを生成する。
例えば、べき集合展開処理部108は、図15に示される、べき集合展開対象属性情報リストを受け取った場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合
{Location=Area1,Age=20}のべき集合
{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}を生成する。そしてべき集合展開処理部108は、生成したべき集合をべき集合展開対象展開リストと特定する。図17は、べき集合展開処理部108が特定したべき集合展開対象展開リストの一例を示す図である。
また、べき集合展開処理部108は、べき集合展開対象展開リストと非べき集合展開対象属性情報リストとに基づいて、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成させたべき集合展開処理後の評価情報を生成する。本発明において、この機能は、非べき展開属性合成機能と称される。また当該機能は、非べき展開属性合成部183が行う。
例えば、べき集合展開処理部108は、図17に示されるべき集合展開対象展開リスト{{φ},{Location=Area1},{Age=20},{Location=Area1,Age=20}}と図16に示される非べき集合展開対象属性情報リスト{Interest=Music,Terminal=Open,Gender=Male}を生成する場合、以下の処理を行う。すなわち、べき集合展開処理部108は、べき集合展開対象展開リストに非べき集合展開対象属性情報リストを合成する。そしてべき集合展開処理部108は、べき集合展開処理後の評価情報である
{Interest=Music,Terminal=Open,Gender=Male},{Location=Area1,Interest=Music,Terminal=Open,Gender=Male},{Age=20,Interest=Music,Terminal=Open,Gender=Male},および{Location=Area1,Age=20,Interest=Music,Terminal=Open,Gender=Male}を得る。図18は、べき集合展開処理部108が取得するべき集合展開処理後の評価情報の一例を示す情報である。
===情報検索部109===
情報検索部109は、図19に示されるように、べき集合展開処理後の評価情報の属性情報を特定の順序にソートするソート部191を備える。この特定の順序とは、例えば属性名または属性値のアルファベット順、五十音順、数値の昇順、数値の降順などが挙げられる。
情報検索部109は、図19に示されるように、ソートされた属性情報を連結し、連結された属性情報に基づいて検索キーを生成するキー生成部192を備える。例えば情報検索部109は、連結された属性情報のハッシュ値を検索キーと特定してもよい。
情報検索部109は、図19に示されるように、生成された検索キーを含む検索要求を情報記憶部106に渡す検索部193を備える。
本発明の第一の実施の形態において、組み合わせ展開判定部103、組み合わせ展開処理部104および情報登録部105は、まとめて第一の展開処理部とも称される。また、本発明の第一の実施の形態において、べき集合展開処理部108および情報検索部109はまとめて第二の展開処理部とも称される。本発明の第二の実施の形態においても、上記事項は同様である。
次に、第一の実施の形態における情報検索システム10の動作について図面を参照して詳細に説明する。
第一の実施の形態における情報検索システム10の全体の動作は、登録情報の登録を行う情報登録フローと、評価情報に対してマッチする登録情報を検索する情報評価フローに大きく分けられる。
図20は、第一の実施の形態における情報検索システム10の動作において、情報登録フローの動作を示すフローチャートである。
登録情報受信部101は、1つ以上の属性情報を含む登録情報を受け取る(ステップS−101S)。登録情報受信部101は、組み合わせ展開判定部103に登録情報を渡す。情報検索システム10の処理はステップS102Sに進む。登録情報は1つ以上の属性情報を含んでおり、属性情報は属性名と属性値との組を有する。また第一の実施の形態における情報検索システム10は、ワイルドカードを含む登録情報の登録が可能である。
組み合わせ展開判定部103は、登録情報を受け取る。組み合わせ展開判定部103は、組み合わせ展開判定処理を行う(ステップS−102S)。そして組み合わせ展開判定部103は、組み合わせ展開処理部104に登録情報と組み合わせ展開対象属性名リストを渡す。そして情報検索システム10の処理は、ステップS−103Sに進む。図21は、組み合わせ展開判定処理の動作を示すフローチャートである。以下組み合わせ展開判定処理の動作について説明する。
組み合わせ展開判定部103は、登録情報を受け取る(ステップS−102S−01)。そして組み合わせ展開判定部103の処理は、ステップS−102S−02に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102S−02)。そして組み合わせ展開判定部103の処理はステップS−102S−03に進む。
組み合わせ展開判定部103はカウンタiを0に設定する(ステップS−102S−03)。そして組み合わせ展開判定部103の処理はステップS−102S−04に進む。
組み合わせ展開判定部103は、カウンタiと組み合わせ展開対象属性名指定リストに含まれる属性名の数である属性名数とを比較する(ステップS−102S−04)。そしてカウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも少ない場合(ステップS−102S−04の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−05に進む。一方、カウンタiが組み合わせ展開対象属性名指定リストに含まれる属性名数よりも多い場合(ステップS−102S−04の“No”)、組み合わせ展開判定部103の組み合わせ展開判定処理は、終了する。
組み合わせ展開判定部103は、組み合わせ展開対象属性名指定リストからi番目の属性名を取り出す(ステップS−102S−05)。そして組み合わせ展開判定部103の処理はステップS−102S−06に進む。
組み合わせ展開判定部103は、カウンタjを0に設定する(ステップS−102S−06)。そして組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。
組み合わせ展開判定部103は、登録情報からj番目の属性情報の属性名を取り出す(ステップS−102S−07)。そして組み合わせ展開判定部103の処理はステップS−102S−08に進む。
組み合わせ展開判定部103は、ステップS−102S−05において取得された属性名とステップS−102S−07において取得された属性名とを比較する(ステップS−102S−08)。それらの属性値が一致した場合(ステップS−102S−08の“Yes”)、組み合わせ展開判定部103の処理はステップS−102S−12に進む。一方、それらの属性値が一致しなかった場合(ステップS−102S−08の“No”)、組み合わせ展開判定部103の処理はステップS−102S−09に進む。
組み合わせ展開判定部103は、カウンタjを1追加する(ステップS−102S−09)。そして組み合わせ展開判定部103の処理はステップS−102S−10に進む。
組み合わせ展開判定部103は、カウンタjと登録情報に含まれる属性情報の数である属性数とを比較する(ステップS−102S−10)。カウンタjが登録情報に含まれる属性数よりも少ない場合(ステップS−102S−10の“Yes”)、組み合わせ展開判定部103の処理は、ステップS−102S−07に進む。一方、カウンタjが登録情報に含まれる属性数よりも多い場合(ステップS−102S−10の“No”)、組み合わせ展開判定部103の処理は、ステップS−102S−11に進む。
組み合わせ展開判定部103は、組み合わせ展開対象属性名リストに、ステップS−102S−08において一致したと判定された属性名を追加する(ステップS−102S−11)。そして組み合わせ展開判定部103の処理は、ステップS−102S−12に進む。
組み合わせ展開判定部103はカウンタiを1追加する(ステップS−102S−12)。そして組み合わせ展開判定部103の処理は、ステップS−102S−04に進む。
以上が組み合わせ展開判定部103の動作である。
組み合わせ展開判定部103は、ステップS−102S−04において処理を終了した際に、ステップS−102S−11において追加した属性名を含む組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。そして情報検索システム10の処理は、ステップS−103S進む。
組み合わせ展開処理部104は、登録情報と組み合わせ展開対象属性名リストとを受け取る。そして組み合わせ展開処理部104は、組み合わせ展開対象属性名リストが空か否かを判定する(ステップS−103S)。組み合わせ展開対象属性名リストが空であった場合(ステップS−103Sの“Yes”)、情報検索システム10の処理は、ステップS−106Sに進む。一方、組み合わせ展開対象属性名リストが空でない場合(ステップS−103Sの“No”)、情報検索システム10の処理は、ステップS−104Sに進む。
組み合わせ展開処理部104は、組み合わせ展開処理を行う(ステップS−104S)。そして組み合わせ展開処理部104は、情報登録部105に、組み合わせ展開処理後の登録情報を渡す。そして情報処理システム10の処理は、ステップS−105Sに進む。図22は、組み合わせ展開処理の動作を示すフローチャートである。以下、組み合わせ展開処理部104の動作について説明する。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストを受け取る(ステップS−104S−01)。そして組み合わせ展開処理部104の処理は、ステップS−104S−02に進む。
組み合わせ展開処理部104は、カウンタiを0に設定する(ステップS−104S−02)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、カウンタiと組み合わせ展開対象属性名リストに含まれる属性名の数である属性名数とを比較する(ステップS−104S−03)。カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも少ない場合(ステップS−104S−03の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−04に進む。一方、カウンタiが組み合わせ展開対象属性名リストに含まれる属性名数よりも多い場合(ステップS−104S−03の“No”)、組み合わせ展開処理部104の処理は、ステップS−104S−07に進む。
組み合わせ展開処理部104は、組み合わせ展開対象属性名リストからi番目の属性名を取り出す(ステップS−104S−04)。そして組み合わせ展開処理部104の処理は、ステップS−104S−05に進む。
組み合わせ展開処理部104は、ステップS−104S−04において取得された属性名に対応する組み合わせ展開対象属性値リストを組み合わせ展開対象属性値リスト記憶部141から取得する(ステップS−104S−05)。そして組み合わせ展開処理部104の処理はステップS−104S−06に進む。
組み合わせ展開処理部104は、カウンタiを1追加する(ステップS−104S−06)。そして組み合わせ展開処理部104の処理は、ステップS−104S−03に進む。
組み合わせ展開処理部104は、ステップS−104S−05において取得された組み合わせ展開対象属性値リストに含まれる属性値の取り得る組み合わせである属性値の組み合わせリストを生成する(ステップS−104S−07)。そして組み合わせ展開処理部104の処理はステップS−104S−08に進む。属性値リストがない場合、属性値の組み合わせリストは空である。
組み合わせ展開処理部104は、カウンタjを0に設定する(ステップS−104S−08)。そして組み合わせ展開処理部104の処理は、ステップS−104S−09に進む。
組み合わせ展開処理部104は、カウンタjと属性値の組み合わせリストに含まれる値の取り得る組の数を比較する(ステップS−104S−09)。カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも少ない場合(ステップS−104S−09の“Yes”)、組み合わせ展開処理部104の処理は、ステップS−104S−10に進む。一方、カウンタjが属性値の組み合わせリストに含まれる値の組の数よりも多い場合(ステップS−104S−09の“No”)、組み合わせ展開処理部104は、組み合わせ展開処理を終了する。
組み合わせ展開処理部104は、属性値の組み合わせリストからj番目の属性値の組を取得する(ステップS−104S−10)。そして、組み合わせ展開処理部104の処理は、ステップS−104S−11に進む。
組み合わせ展開処理部104は、属性値の組とそれらに対応する属性名とを属性情報として登録情報に結合することによって新たな登録情報を生成する。そして組み合わせ展開処理部104は生成した登録情報を、「組み合わせ展開処理後の登録情報」の一つに追加する(ステップS−104S−11)。そして組み合わせ展開処理部104の処理は、ステップS−104S−12に進む。
組み合わせ展開処理部104は、カウンタjを1追加する(ステップS−104S−12)。そして組み合わせ展開処理部104の処理はステップS−104S−09に進む。
以上が組み合わせ展開処理部104の動作である。
すなわち組み合わせ展開処理部104はステップS−104S−09において処理を終了した際に、ステップS−104S−11において追加された組み合わせ展開処理後の登録情報を情報登録部105に渡す。そして情報検索システム10の処理は、ステップS−105Sに進む。
情報登録部105は、1つ以上の登録情報から未登録の登録情報を1つ抽出する(ステップS−105S)。そして情報検索システム10の処理は、ステップS−106Sに進む。
情報登録部105は、ステップS−105Sにおいて抽出された登録情報から属性情報を抽出する。そして情報登録部105は、属性情報を特定の順序に並べる(ステップS−106S)。そして情報検索システム10の処理は、ステップS−107Sに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報登録部105が{年齢=20,性別=F,場所=東京}という登録情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報登録部105は、登録情報から属性情報を抽出し、属性情報を連結した情報に基づいて登録キーを生成する(ステップS−107S)。そして情報検索システム10の処理はステップS−108Sに進む。例えば、情報登録部105は、{性別=F,年齢=20,場所=東京}という登録情報に対して、{性別F年齢20場所東京}という登録キーを生成してもよい。
情報登録部105は、ステップS−107Sにおいて生成された登録キーおよび登録情報を含む登録要求を情報記憶部106に渡す。情報記憶部106は受け付けた登録要求に含まれる登録キーに基づき登録情報を記憶する(ステップS−108S)。そして情報検索システム10の処理はステップS−109Sに進む。
情報登録部105は、すべての登録情報に対して登録処理を行ったか否か判定する(ステップS−109S)。すべての登録情報に対して登録処理が行われた場合(ステップS−109Sの“Yes”)、情報処理システム10は情報登録フローを終了する。一方、すべての登録情報に対して登録処理を行われていない場合(ステップS−109Sの“No”)、情報検索システム10の処理は、ステップS−105Sに進む。
以上のステップによる処理が行われることにより、組み合わせ展開処理によって生成された登録キーに基づいて登録情報が情報記憶部106に記憶される。
図23は、第一の実施の形態における情報検索システム10の動作において、情報評価フローを説明する図である。
評価情報受信部107は、1つ以上の属性情報を含む評価情報を受け取る(ステップS−101E)。評価情報受信部107は、べき集合展開処理部108に評価情報を渡す。そして、情報検索システム10の処理は、ステップS−102Eに進む。評価情報は1つ以上の属性情報を含んでおり、属性情報は、属性名と属性値との組を有する。
べき集合展開処理部108は、組み合わせ展開対象属性名指定リスト記憶部102に記憶されている組み合わせ展開対象属性名指定リストを取得する(ステップS−102E)。そして情報検索システム10の処理は、ステップS−103Eに進む。
べき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を除いた属性情報のリストであるべき集合展開対象属性情報リストを生成する。またべき集合展開処理部108は、評価情報から組み合わせ展開対象属性名指定リストにおいて指定される属性名に対応する属性情報を抽出した属性情報のリストである非べき集合展開対象属性情報リストを生成する(ステップS−103E)。そして情報検索システム10の処理は、ステップS−104Eに進む。
べき集合展開処理部108は、べき集合展開対象属性情報リストに含まれる属性情報を要素とする集合のべき集合を求める。べき集合展開処理部108は、べき集合の各要素をリストの要素とするべき集合展開対象展開リストを生成する(ステップS−104E)。そして情報検索システム10の処理は、ステップS−105Eに進む。
べき集合展開処理部108はカウンタiを0に設定する(ステップS−105E)。そしてべき集合展開処理部108の処理はステップS−106Eに進む。
べき集合展開処理部108は、カウンタiとべき集合展開対象展開リストに含まれる要素数とを比較する(ステップS−106E)。カウンタiがべき集合展開対象展開リストの要素数よりも少ない場合(ステップS−106Eの“Yes”)、情報検索システム10の処理は、ステップS−107Eに進む。一方、カウンタiがべき集合展開対象展開リストの要素数よりも多い場合(ステップS−106Eの“No”)、情報検索システム10の処理は、ステップS−111Eに進む。
べき集合展開処理部108は、べき集合展開対象展開リストのi番目の要素を抽出する(ステップS−107E)。そして情報検索システム10の処理は、ステップS−108Eに進む。
べき集合展開処理部108は、ステップS−107Eにおいて抽出された要素に、非べき集合展開対象属性情報リストに含まれる属性情報を合成する(ステップS−108E)。そして情報検索システム10の処理は、ステップS−109Eに進む。
べき集合展開処理部108は、ステップS−108Eにおいて合成された要素を、「べき集合展開処理後の評価情報」の一つに追加する(ステップS−109E)。そして情報検索システム10の処理は、ステップS−110Eに進む。
べき集合展開処理部108は、カウンタiを1追加する(ステップS−110E)。そして情報検索システム10の処理は、ステップS−106Eに進む。
情報検索部109は、1つ以上の評価情報から未検索の評価情報を1つ抽出する(ステップS−111E)。そして情報検索システム10の処理はステップS−112Eに進む。
情報検索部109は、ステップS−111Eにおいて抽出された評価情報から属性情報を抽出し、属性情報を特定の順序に並べる(ステップS−112E)。そして情報検索システム10の処理は、ステップS−113Eに進む。特定の順序とは、属性情報に含まれる属性名に基づいて定まる順序であってもよい。また特定の順序とは、属性情報に含まれる属性名のアルファベット順もしくは五十音順もしくは数値の昇順もしくは数値の降順であってもよい。例えば、情報検索部109が、{年齢=20,性別=F,場所=東京}という評価情報に対して、五十音順に属性名をソートすると、ソートされた属性情報は、{性別=F,年齢=20,場所=東京}となる。
情報検索部109は、評価情報から属性情報を抽出し、属性情報を連結した情報に基づいて検索キーを生成する(ステップS−113E)。そして情報検索システム10の処理は、ステップS−114Eに進む。例えば、情報検索部109は、{性別=F,年齢=20,場所=東京}という評価情報に対して、{性別F年齢20場所東京}という検索キーを生成してもよい。
情報検索部109は、ステップS−113Eにおいて生成された検索キーを含む検索要求を情報記憶部106に渡す。情報記憶部106は、検索キーに一致する登録キーに対応付けられて登録されている登録情報が存在する場合に、その登録情報を出力する(ステップS−114E)。検索要求処理を終えた情報処理システム10の処理は、ステップS−115Eに進む。
情報検索部109は、すべての評価情報に対して検索処理を行ったか否かを判定する(ステップS−115E)。すべての評価情報に対して検索処理が行われた場合(ステップS−115Eの“Yes”)、情報検索システム10は情報検索フローを終了する。一方、すべての評価情報に対して検索処理が行われていない場合(ステップS−115Eの“No”)、情報検索システム10の処理はステップS−111Eに進む。
以上のステップによる処理が行われることにより、情報検索システム10は、ワイルドカードを含む登録情報の登録がされる場合にも、べき集合展開処理によって生成された検索キーと一致する登録キーに対応付けられて登録された登録情報を情報記憶部106から取得することができる。
第一の実施の形態における情報検索システム10は、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、べき集合展開処理部108と、情報検索部109とを備える。
組み合わせ展開判定部103は、組み合わせ展開処理を行う対象の属性情報を示すリスト(組み合わせ展開対象属性名指定リスト)を取得する。そして組み合わせ展開判定部103は、情報検索システム10が扱う属性情報であるが受け取った登録情報に含まれていない属性情報を、組み合わせ展開処理の対象と判定する。組み合わせ展開判定部103は、組み合わせ展開処理の対象と判定された属性情報が有する属性名を示す組み合わせ展開対象属性名リストを組み合わせ展開処理部104に渡す。
組み合わせ展開処理部104は、組み合わせ展開判定部103が生成した組み合わせ展開対象属性名リストに含まれる属性名にそれぞれ対応する属性値の組み合わせ展開処理を行う。
組み合わせ展開処理において、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された属性情報が有する属性値のそれぞれのすべての組み合わせを生成する。そして組み合わせ展開処理部104は、生成された組み合わせのそれぞれと、組み合わせ展開処理の対象と判定されなかった登録情報に含まれる属性情報とを結合することによって組み合わせ展開処理後の登録情報を生成する。情報登録部105は、その登録情報に基づいて登録キーを生成する。
例えば、具体例として下記の条件を仮定する。第一の条件は、「情報検索システム10が属性情報として4つの属性名、{位置、性別、年齢、体調}のいずれかを含む属性情報を扱う」という条件である。第二の条件は、「登録情報として2つの属性情報を含む{位置=新宿,年齢=20}が情報検索システム10に入力される」という条件である。第三の条件は、「組み合わせ展開処理の対象が2つの属性名、性別と体調とのいずれかを有する属性情報である」という条件である。第四の条件は、「性別という属性名を有する属性情報の取り得る属性値が{男,女}、体調という属性名の有する属性情報の取り得る属性値が{良い、悪い}である」という条件である。以下の具体例では、ある属性名Xを有する属性情報のことが、単に属性名Xで代用して表記される。
これらの条件が仮定された場合、組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定された性別と体調との取り得る属性値のすべての組み合わせ{{性別=男,体調=良い},{性別=男,体調=悪い},{性別=女,体調=良い},{性別=女,体調=悪い}}を生成する。そして組み合わせ展開処理部104は、組み合わせ展開処理の対象と判定されなかった属性情報である位置と年齢とのそれぞれである{位置=新宿}および{年齢=20}を前述のすべての組み合わせのそれぞれに結合する。つまり組み合わせ展開処理部104は、この結合の処理によって、登録キー{位置=新宿,性別=男,年齢=20,体調=良い},{位置=新宿,性別=男,年齢=20,体調=悪い},{位置=新宿,性別=女,年齢=20,体調=良い}および{位置=新宿,性別=女,年齢=20,体調=悪い}を生成する。
べき集合展開処理部108は、組み合わせ展開処理の対象となっていない属性情報をべき集合展開処理の対象と特定する。そしてべき集合展開処理部108は、べき集合展開処理の対象となった属性情報に対して、その属性情報を要素とする集合のべき集合を生成する。
情報検索部109は、べき集合展開処理の対象とならなかった属性情報と生成されたべき集合の要素のそれぞれと結合させることで検索キーを生成する。
例えば、評価情報として{位置=新宿,性別=男,年齢=20,体調=悪い}が情報検索システム10に入力され、組み合わせ展開処理の対象が性別と体調である場合を仮定する。この場合、情報検索部109は、組み合わせ展開処理を行っていない属性情報{位置=新宿,年齢=20}に対して、べき集合{{φ},{位置=新宿},{年齢=20},{位置=新宿,年齢=20}}を生成する。そして情報検索部109は、組み合わせ展開処理を行っている属性情報{性別=男,体調=悪い}を前述のべき集合の要素のそれぞれに結合させた検索キー{性別=男,体調=悪い},{位置=新宿,性別=男,体調=悪い},{性別=男,年齢=20,体調=悪い}および{位置=新宿,性別=男,年齢=20,体調=悪い}を生成する。
第一の実施の形態における情報検索システム10は、組み合わせ展開を行う属性情報を示すリストの内容を適宜調整することによって、計算量と使用メモリ量のバランスを調整することができる。組み合わせ展開を行う属性が増やされれば、使用メモリ量は増加するが、べき集合展開処理部108の計算量は低下する。また、組み合わせ展開を行う属性が減らされれば、使用メモリ量は減少するが、べき集合展開処理部108の計算量は増加する。
また、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることで、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
本発明の関連技術において、すべての属性情報が組み合わせ展開される場合の登録キーの記憶のために必要なメモリ量は、属性情報の数をn、各属性情報の属性値の種類をXn、登録キーのサイズをKとすると、[数1]のように表される。
よって、本発明の関連技術は、情報評価フローでの計算量が多いという問題がある。特に、属性数が増えた場合に計算量の増加は顕著となる。
情報評価フローにおいてべき集合の作成が行われる場合、属性数に応じて計算量が大きく上昇し、システムのスループットの低下が起こる可能性がある。
一方、第一の実施の形態において、組み合わせ展開判定部103は、取り得る属性値の数が所定数を示すT以下の属性情報に対してのみ組み合わせ展開を行う判定をし、組み合わせ展開を行う属性情報の数がaとなる場合を仮定する。この場合、情報検索システム10は、登録キーの記憶に必要なメモリ量を[数2]に示される値に抑えることができ、メモリ量を減らすことができる。
本発明の関連技術において、システムが、組み合わせ展開処理を考慮せず、すべての属性情報をべき集合に展開する場合を仮定する。この場合、属性情報の数をnと仮定すると、べき集合生成処理の計算量のオーダーは、[数3]で表される。
また、本発明の関連技術において、情報登録フローにおいて登録情報に含まれる属性情報が有する属性値の取り得る値の組み合わせのすべてが生成され、それらの情報の登録が行われる場合を仮定する。すると関連技術における手法は、計算量が少なくなるが、現実的なメモリ量で処理できない。
一方、第一の実施の形態における情報検索システム10の場合、組み合わせ展開を行っている属性情報の数をmと仮定すると、べき集合生成処理の計算量のオーダーは、[数4]で表される。
第一の実施の形態における情報検索システム10は、実装可能なメモリ量で可能な限り計算量を小さく抑えるために、計算量と使用メモリ量のバランスを調整することができる。
つまり、第一の実施の形態における情報検索システム10は、属性名と属性値との組を有する属性情報を一以上含む登録情報の検索において、少量のメモリで高速な検索を実現できる。その理由は、以下のとおりである。つまり情報検索システム10は、登録情報に含まれる属性情報のうち、所定の(例えば、取り得る属性値の種類の数が少ない)属性情報に対して、組み合わせ展開処理を行う。これによって情報検索システム10は、メモリの使用効率の良い属性情報を選別して、事前に検索高速化のための登録キーの生成を行うことができるからである。
また、第一の実施の形態における情報検索システム10は、属性名と属性値の組を有する属性情報を一以上含む登録情報の検索において、情報評価フローにおける計算量を低減できることができる。その理由は、以下のとおりである。つまり情報検索システム10は、組み合わせ展開処理を行っている属性情報に対して、べき集合生成処理を省略できるからである。
[第二の実施の形態]
次に、本発明の第二の実施の形態について図面を参照して詳細に説明する。
図24は、本発明の第二の実施の形態における情報検索システム20の構成を示すブロック図である。
図24を参照すると、情報検索システム20は、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210とを備える。
第二の実施の形態における情報検索システム20は、組み合わせ展開対象属性名指定リスト生成部210が、所定の閾値を用いることにより、情報検索システム20が消費するメモリリソース(メモリ量)と処理速度(計算量)の制御を実現する。
===組み合わせ展開対象属性名指定リスト生成部210===
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストと閾値とに基づいて組み合わせ展開対象属性名指定リストを生成し、組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
属性値数リストとは、情報検索システム20で扱う各属性情報の取り得る属性値の種類数を含む情報である。閾値は、各属性情報の属性値の種類の数に基づいて、組み合わせ展開処理を行うか否かを判定するための値である。
図25は、組み合わせ展開対象属性名指定リスト生成部210が備える構成の一例を示す図である。図25を参照すると、組み合わせ展開対象属性名指定リスト生成部210は、属性値数リスト受信部211と閾値受信部212と組み合わせ展開対象属性決定部213とを備える。
属性値数リスト受信部211は、情報検索システム20で扱われる、例えば図26で示される各属性情報の取り得る属性値の種類の数を示す属性値数を含む属性値数リストを受信する。属性値数リストは、属性名とその属性名で示される属性情報の取り得る属性値の種類の数との組を要素として含むリストである。
閾値受信部212は、各属性情報の属性値の種類の数に基づいて組み合わせ展開処理を行うか否か判定するための情報である閾値を受信する。
閾値として様々な値が設定されてよい。例えば、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち取り得る属性値の種類がその閾値以下である属性情報に対応する属性名を、組み合わせ展開処理を実行する属性情報に対応する属性名として組み合わせ展開対象属性名指定リストに追加する。そして組み合わせ展開対象属性決定部213は、属性名が追加された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する。
また例えば、閾値は、べき集合展開処理が行われる属性情報の上限数であってもよい。この場合、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、属性値の種類の数が多い属性情報から閾値が示す個数分だけ除外する。そして組み合わせ展開対象属性決定部213は、残りの属性情報を、組み合わせ展開処理を実行する属性情報として、各属性情報に対応する属性名を組み合わせ展開対象属性名指定リストに追加する。
この閾値に基づいて、組み合わせ展開対象属性決定部213は、前述の属性値数リストに含まれる要素のうち、小さい値に対応付けられている属性名から順に高々閾値が示す個数まで、属性名を前記指定リストに追加してもよい。
また例えば、閾値は、登録情報の記憶の際に使用されるメモリサイズの上限であってもよい。この場合、組み合わせ展開対象属性決定部213は、メモリ使用量が閾値を超えるまで、前述の属性値数リストの要素のうち属性値の種類の数の少ないほうから属性名を組み合わせ展開対象属性名指定リストに追加してもよい。
以降、第二の実施の形態における説明では、閾値は、展開対象とする属性情報が有する属性値の種類の数の最大値であると仮定して説明される。
次に、第二の実施の形態における情報検索システム20の動作について図面を参照して詳細に説明する。図27は、第二の実施の形態における組み合わせ展開対象属性名指定リスト生成部210の動作の概要を示すフローチャートである。
組み合わせ展開対象属性名指定リスト生成部210は、閾値を受信する(ステップS−201)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−202に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストを受信する(ステップS−202)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストから未処理の要素を1つ抽出する(ステップS−203)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−204に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性値数とステップS−201において取得された閾値とを比較する(ステップS−204)。属性値数が閾値以下の場合(ステップS−204の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−205に進む。一方、属性値数が閾値よりも大きい場合(ステップS−204の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−203において抽出された要素の属性名を抽出し、組み合わせ展開対象属性名指定リストに追加する(ステップS−205)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−206に進む。
組み合わせ展開対象属性名指定リスト生成部210は、属性値数リストのすべての要素に対して処理を行ったか否かを判定する(ステップS−206)。属性値数リストの全ての要素に対して処理が行われた場合(ステップS−206の“Yes”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−207に進む。一方、属性値数リストの全ての要素に対して処理が行われていない場合(ステップS−206の“No”)、組み合わせ展開対象属性名指定リスト生成部210の処理は、ステップS−203に進む。
組み合わせ展開対象属性名指定リスト生成部210は、ステップS−205において生成された組み合わせ展開対象属性名指定リストを組み合わせ展開対象属性名指定リスト記憶部102に記憶する(ステップS−207)。そして組み合わせ展開対象属性名指定リスト生成部210の処理は、終了する。
以上のステップが行われることにより、情報検索システム20は、組み合わせ展開処理のための閾値に基づいて、組み合わせ展開対象の属性情報の指定が可能となる。本発明の各実施の形態における情報検索システムでは、属性の取り得る属性値の種類が多いものより少ないものが組み合わせ展開対象であるほうが、メモリの効率面で有利である。例えば、10個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のために10個のエントリが必要になる。一方、2個の属性値を取る属性が組み合わせ展開対象であった場合、登録情報の記憶のためには2個のエントリで済む。
第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の構成を含む。したがって、第二の実施の形態における情報検索システム20は、第一の実施の形態における情報検索システム10と同様の効果を奏する。
さらに第二の実施の形態における情報検索システム20は、閾値を設定することでシステムのリソースに応じた最適の組み合わせ展開対象属性名指定リストの生成が実現できる。
特に、組み合わせ展開判定部103は、取り得る属性値の数が少ない属性情報に対してのみ組み合わせ展開を行う判定をすることができる。よって情報検索システム20は、登録キーの増加を防ぎ、すべての属性情報を組み合わせ展開する場合に比較してメモリ量を抑えることができる。
[第三の実施の形態]
図28は、第三の実施の形態における情報検索システム30の構成を示すブロック図である。図28を参照すると、情報検索システム30は、第一の展開処理部301と第二の展開処理部302とを備える。
===第一の展開処理部301===
第一の展開処理部301は、属性名と属性値とを有する属性情報を一つ以上含む登録情報を図示しない外部装置または情報検索システム30が備える機能手段から受け取る。そして第一の展開処理部301は、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。第一の展開処理部301は、前述の判定結果に応じてそれぞれ異なる処理である、第一の情報処理を行うことによって、前述の登録情報に対応する情報である登録キーを生成する。
第一の展開処理部301は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第一の情報処理とは、例えば所定の属性名を登録情報に含まれる属性情報が有していない場合に、その属性名に対応する属性値が取り得る値がそれぞれ登録情報に追加される、という処理などが挙げられる。これは例示であって第一の情報処理は前述の処理に限られない。
===第二の展開処理部302===
第二の展開処理部302は、属性情報を一つ以上含む評価情報を受け取る。そして第二の展開処理部302は、受け取った評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じてそれぞれ異なる処理である、第二の情報処理を行うことによって検索キーを生成する。検索キーとは、第一の展開処理部301が生成した登録キーとの比較により、その登録キーに対応する登録情報を検索するためのキーである。
第二の展開処理部302は、所定の属性名を示す情報をあらかじめ記憶してもよいし、図示しない外部装置または情報検索システム30が備える機能手段から所定の属性名を示す情報を受け取り、受け取った情報に基づいて所定の属性名を特定してもよい。前述の情報検索システム30が備える機能手段は、第一の実施の形態における組み合わせ展開対象属性名指定リスト記憶部102であってもよい。そして前述の所定の属性名を示す情報は、第一の実施の形態における、組み合わせ展開対象属性名指定リストであってもよい。
第二の情報処理とは、例えば評価情報に含まれる属性情報が有する属性名が所定の属性名を有していない場合に、その属性情報の部分集合を要素とするべき集合が生成され、そのべき集合の各要素がそれぞれ評価情報に追加される、という処理などが挙げられる。これは例示であって、第二の情報処理は前述の処理に限られない。
図29は、本発明の第三の実施の形態における情報検索システム30とその周辺装置のハードウェア構成を示す図である。図29に示されるように、情報検索システム30は、CPU391、ネットワーク接続用の通信I/F392(通信インターフェース392)、メモリ393、およびプログラムを格納するハードディスク等の記憶装置394を含む。また、情報検索システム30は、バス397を介して入力装置395および出力装置396に接続されている。
CPU391は、オペレーティングシステムを動作させて本発明の第三の実施の形態に係る情報検索システム30の全体を制御する。また、CPU391は、例えばドライブ装置などに装着された記録媒体398からメモリ393にプログラムやデータを読み出し、これにしたがって第三の実施の形態における第一の展開処理部301および第二の展開処理部302として各種の処理を実行する。
記憶装置394は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、ハードディスク、または半導体メモリ等であって、コンピュータプログラムをコンピュータ読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
入力装置395は、例えばマウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置395は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネル、加速度計、ジャイロセンサ、カメラなどでもよい。
出力装置396は、例えばディスプレイで実現され、出力を確認するために用いられる。
なお、第三の実施の形態の説明において利用されるブロック図(図28)には、ハードウェア単位の構成ではなく、機能単位のブロックが示されている。これらの機能ブロックは図29に示すハードウェア構成によって実現される。ただし、情報検索システム30が備える各部の実現手段は特に限定されない。すなわち、情報検索システム30は、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
また、CPU391は、記憶装置394に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、第一の展開処理部301および第二の展開処理部302として動作してもよい。
また、前述のプログラムのコードを記録した記録媒体(または記憶媒体)が、情報検索システム30に供給され、情報検索システム30が記録媒体に格納されたプログラムのコードを読み出し実行してもよい。すなわち、本発明は、第三の実施の形態における情報検索システム30が実行するためのソフトウェア(情報処理プログラム)を一時的に記憶するまたは非一時的に記憶する記録媒体398も含む。
図30は、第三の実施の形態における情報検索システム30の動作の概要を示すフローチャートである。
第一の展開処理部301は、登録情報を受け取る(ステップS−301)。そして第一の展開処理部301は、所定の属性名のある一つを選択し、その属性名を前述の登録情報に含まれる属性情報が有するか否か判定する(ステップS−302)。第一の展開処理部301は、ステップS−302における判定結果に基づいてそれぞれ異なる第一の情報処理を行う(ステップS−303)。
第一の展開処理部301は、所定の属性名のすべてが選択されているか否か判定する(ステップS−304)。すべての属性名が選択されている場合(ステップS−304の“Yes”)、情報検索システム30の処理はステップS−305に進む。一方、すべての属性名が選択されていない場合(ステップS−304の“No”)、情報検索システム30の処理は、ステップS−302に進む。
第二の展開処理部302は、評価情報を受け取る(ステップS−305)。第二の展開処理部302は、受け取った評価情報に含まれる属性情報の一つを選択し、その属性情報が所定の属性名を有するか否か判定する(ステップS−306)。第二の展開処理部302は、ステップS−306における判定結果に基づいてそれぞれ異なる第二の情報処理を行う(ステップS−307)。
第二の展開処理部302は、評価情報に含まれるすべての属性情報が選択されているか否か判定する(ステップS−308)。すべての属性情報が選択されている場合(ステップS−308の“Yes”)、情報検索システム30の処理は終了する。一方、すべての属性名が選択されていない場合(ステップS−308の“No”)、情報検索システム30の処理は、ステップS−306に進む。
第三の実施の形態における情報検索システム30は、登録情報の登録要求を受け、所定の属性名のそれぞれに対して、各属性名を前述の登録情報に含まれる属性情報が有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第一の情報処理を行うことによって、前述の登録情報に対応する登録キーを生成する。また情報検索システム30は、検索要求として評価情報を受け取り、その評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否か判定する。そして情報検索システム30は、前述の判定結果に応じて異なる第二の情報処理を行うことによって、前述の評価情報に対応する検索キーを生成する。そして情報検索システム30は、その検索キーと一致する登録キーに対応する登録情報を検索することができる。
この構成により第三の実施の形態における情報検索システム30は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できる。
本発明の効果の一例は、属性毎に行う処理の負荷が大きい場合でも、適切な計算量またはメモリ量でデータの探索処理を実行できることである。
本発明の各実施の形態における各構成要素は、その機能をハードウェア的に実現することはもちろん、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における構成要素として機能させる。
登録情報受信部101と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210は、例えば、プログラムを記憶する記録媒体からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサにより実現することができる。また、組み合わせ展開対象属性名指定リスト記憶部102と、情報記憶部106は、コンピュータが含むメモリやハードディスク装置により実現することができる。あるいは、登録情報受信部101と、組み合わせ展開対象属性名指定リスト記憶部102と、組み合わせ展開判定部103と、組み合わせ展開処理部104と、情報登録部105と、情報記憶部106と、評価情報受信部107と、べき集合展開処理部108と、情報検索部109と、組み合わせ展開対象属性名指定リスト生成部210の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
上記の各実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する第一の展開処理手段と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する第二の展開処理手段と、
を備える情報検索システム。
(付記2)
所定の属性名を示す指定リストを記憶する指定リスト記憶手段を備え、
前記第一の展開処理手段は、前記指定リストで示される属性名のそれぞれに対して、各属性名を前記登録情報に含まれる属性情報が有するか否かに応じて異なる、前記第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
前記第二の展開処理手段は、前記評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、前記第二の情報処理を行うことによって、前記検索キーを生成する、付記1に記載の情報検索システム。
(付記3)
前記第一の展開処理手段は、前記登録情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を示す属性名リストを特定する判定手段を備え、
前記第一の展開処理手段は、
各属性名に対応する属性情報が有する属性値の取り得る値を当該属性名と対応付けて記憶する属性値リストを記憶し、前記第一の情報処理として、前記属性名リストに含まれる属性名と前記属性値リストにおいて当該属性名に対応付けられている属性値とを前記登録情報に追加する組み合わせ展開処理手段と、
前記属性名と前記属性値とが追加された前記登録情報に基づいて前記登録キーを生成する情報登録手段と、を備える付記2に記載の情報検索システム。
(付記4)
前記第二の展開処理手段は、
評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名の属性情報を要素とする集合を生成する集合展開処理手段と、
前記第二の情報処理として、前記評価情報と前記集合に含まれる各要素が示す属性情報との組み合わせに基づいて検索キーを生成する情報検索手段と、を備える付記2または3に記載の情報検索システム。
(付記5)
各属性名に対応する属性情報が有する属性値の取り得る値の種類の数と当該属性名とを対応付けた情報である属性値数リストと、所定の閾値とに基づいて、前記指定リストを生成し、当該指定リストを前記指定リスト記憶手段に記憶する指定リスト作成手段を備える、付記2ないし4のいずれか1項に記載の情報検索システム。
(付記6)
前記指定リスト作成手段は、前記属性値数リストにおいて前記閾値以下の値に対応付けられている属性名を前記指定リストに追加する、付記5に記載の情報検索システム。
(付記7)
前記指定リスト作成手段は、前記属性値数リストにおいて小さい値に対応付けられている属性名から順に高々閾値が示す個数まで当該属性名を前記指定リストに追加する、付記5または6に記載の情報検索システム。
(付記8)
前記指定リスト作成手段は、前記属性値数リストに含まれる、属性値の取り得る値の種類の数に基づいて特定されるメモリ使用量が前記閾値を超えるまで、当該属性値の取りえる値の種類の数に対応する属性名を前記指定リストに追加する、付記5ないし7のいずれか1項に記載の情報検索システム。
(付記9)
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する、情報検索方法。
(付記10)
コンピュータに、
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させるための情報検索プログラム。
(付記11)
前記組み合わせ展開処理手段は、前記属性名リストに含まれる属性名毎に各属性名に対応付けられている属性値のうちからいずれか1つ選択し、前記属性値および前記属性名を前記登録情報に追加し、すべての属性名および属性値の組み合わせについてそれぞれ前記登録情報に追加し、
前記情報登録手段は、前記属性名および前記属性値が追加された前記登録情報毎に前記登録キーを生成する、付記3に記載の情報検索システム。
(付記12)
前記集合展開処理手段は、評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を有する属性情報のべき集合を生成し、
前記情報検索手段は、前記評価情報と前記べき集合に含まれる各要素が示す属性情報を含む補完情報との組み合わせに基づいて検索キーを生成する、付記4に記載の情報検索システム。
(付記13)
前記情報登録手段は、前記登録情報に追加する前記属性名および前記属性値と前記登録情報が含む属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記登録キーを生成する、付記3ないし8、11および12のいずれか1項に記載の情報検索システム。
(付記14)
前記情報検索手段は、前記評価情報のうち前記指定リストに含まれている属性名に対応する属性情報が有する属性名および属性値と、前記集合に含まれる各要素が示す属性情報が有する属性名および属性値とを連結し、連結された情報に基づいて特定されるハッシュ値に基づいて前記検索キーを生成する、付記4ないし8および12のいずれか1項に記載の情報検索システム。
(付記15)
前記登録情報と当該登録情報に対応する前記登録キーとを対応付けて記憶する情報記憶手段を備え、
前記第二の展開処理手段は、前記検索キーと前記情報記憶手段に記憶されている登録キーとの照合を行うことによって登録キーに対応する登録情報を検索する、付記1ないし8、および11ないし14のいずれか1項に記載の情報検索システム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2011年3月18日に出願された日本出願特願2011−061046を基礎とする優先権を主張し、その開示の全てをここに取り込む。 Embodiments for carrying out the present invention will be described in detail with reference to the drawings. In each embodiment described in each drawing and specification, the same reference numerals are given to components having the same function.
[First embodiment]
FIG. 1 is a block diagram showing a configuration of an
Referring to FIG. 1, the
The
With this configuration, the
FIG. 2 is a diagram illustrating an example of registration information. Referring to FIG. 2, the registration information includes one or more attribute information, and the attribute information includes a combination of an attribute name and an attribute value. The registration information shown in FIG. 2 represents “a 20-year-old man in Tokyo”.
FIG. 2 also shows an example of evaluation information. The evaluation information includes one or more attribute information.
The
In the present invention, when all the attribute information handled by the
The registration information including the wild card shown in FIG. 4 represents “a man in his twenties”. When such registration information is registered, it is assumed that evaluation information representing “a 20-year-old man in Tokyo” shown in FIG. 2 is input. In this case, the set of “20-year-old man in Tokyo” is included in the set of “20-year-old man”. That is, the relationship “a 20-year-old man who is in Tokyo in his 20s” is established. Therefore, the
=== Registration
The registration
=== Combination Expansion Target Attribute Name Specification
The combination expansion target attribute name designation
FIG. 6 is a diagram illustrating an example of a combination expansion target attribute name designation list stored in the combination expansion target attribute name designation
Referring to FIG. 6, in the combination expansion target attribute name designation list, the
=== Combination
The combination
The combination
In the present invention, the combination
FIG. 8 shows combinations when the registration information shown in FIG. 7 is input to the
The attribute names included in the registration information shown in FIG. 7 are Interest (interest) and Location (location). The attribute names specified by the combination expansion target attribute name specification list shown in FIG. 6 are Interest (interest), Gender (gender), and Terminal (terminal state). Therefore, the combination
=== Combination
The combination
The combination
FIG. 10 is a diagram illustrating an example of a combination expansion target attribute value list stored in the combination expansion target attribute value
The combination expansion target attribute value list shown in FIG. 10 indicates that the attribute “Interest” has 12 kinds of values of Music, Movie, Sports, Shopping, Cooking, Drive, Game, Computer, TV, Outdoor, Novell, and Comics. ing. Further, this combination expansion target attribute value list indicates that the attribute “Gender” has binary values of “Male” and “Female”. The combination expansion target attribute value list indicates that the attribute “Terminal” has two values of open and close.
The combination
For example, the combination
Generate {Gender = Female, Terminal = Open} and {Gender = Female, Terminal = Close}. Then, the combination
{Interest = Music, Location = Area1} is combined with the above-described information, respectively, to generate registration information after four combination expansion processes. Specifically, the combination
{Interest = Music, Location = Area1, Gender = Male, Terminal = Open},
{Interest = Music, Location = Area1, Gender = Male, Terminal = Close},
{Interest = Music, Location = Area1, Gender = Female, Terminal = Open}, and
Registration information after four combination expansion processes of {Interest = Music, Location = Area1, Gender = Female, Terminal = Close} is generated. The combination
===
The
As shown in FIG. 12, the
As shown in FIG. 12, the
As shown in FIG. 12, the
===
The
The
=== Evaluation
The evaluation
=== Power Set
The power set
FIG. 13 is a diagram illustrating an example of a configuration included in the power set
The power set
FIG. 15 is an example of a power set expansion target attribute information list generated by the power set
The evaluation information shown in FIG.
{Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20}. In the combination expansion target attribute name designation list shown in FIG. 6, “Interest”, “Gender”, and “Terminal” are designated. Therefore, evaluation information
Attribute information corresponding to Interest, Gender, and Terminal specified in the combination expansion target attribute name specification list is removed from {Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20} {Location = Area1, Age = 20} is the set expansion target attribute information list to be shown in FIG. Evaluation information
Attribute information corresponding to Interest, Gender, and Terminal specified in the combination expansion target attribute name specification list is extracted from {Interest = Music, Terminal = Open, Location = Area1, Gender = Male, Age = 20} {Interest = Music, Terminal = Open, Gender = Male} is the non-exponential set expansion target attribute information list shown in FIG.
The power set
For example, when the power set
{Location = Area1, Age = 20} power set
{{Φ}, {Location = Area1}, {Age = 20}, {Location = Area1, Age = 20}} are generated. The power set
Further, the power set
For example, the power set
{Interest = Music, Terminal = Open, Gender = Male}, {Location = Area1, Interest = Music, Terminal = Open, Gender = Male}, {Age = 20, Interest = Music, Terminal = Mend, Mender} And {Location = Area1, Age = 20, Interest = Music, Terminal = Open, Gender = Male}. FIG. 18 is information indicating an example of evaluation information after the set expansion processing to be acquired by the power set
===
As shown in FIG. 19, the
As shown in FIG. 19, the
As shown in FIG. 19, the
In the first embodiment of the present invention, the combination
Next, the operation of the
The overall operation of the
FIG. 20 is a flowchart showing the operation of the information registration flow in the operation of the
The registration
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The above is the operation of the combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The combination
The above is the operation of the combination
That is, when the combination
The
The
The
The
The
By performing the process according to the above steps, registration information is stored in the
FIG. 23 is a diagram for explaining an information evaluation flow in the operation of the
The evaluation
The power set
The power set
The power set
The power set
The power set
The power set
The power set
The power set
The power set
The
The
The
The
The
By performing the processing according to the above steps, the
The
The combination
The combination
In the combination expansion process, the combination
For example, the following conditions are assumed as a specific example. The first condition is a condition that “the
When these conditions are assumed, the combination
The power set
The
For example, it is assumed that {position = Shinjuku, gender = male, age = 20, physical condition = poor} is input to the
The
In addition, the combination
In the related art of the present invention, the amount of memory required for storing the registration key when all the attribute information is expanded in combination is n for the number of attribute information and Xn for the type of attribute value of each attribute information. When the key size is K, it is expressed as [Equation 1].
Therefore, the related art of the present invention has a problem that the amount of calculation in the information evaluation flow is large. In particular, when the number of attributes increases, the increase in calculation amount becomes significant.
When a power set is created in the information evaluation flow, the amount of calculation greatly increases depending on the number of attributes, and there is a possibility that the throughput of the system may be reduced.
On the other hand, in the first embodiment, the combination
In the related art of the present invention, it is assumed that the system expands all attribute information into a power set without considering the combination expansion process. In this case, assuming that the number of attribute information is n, the order of calculation amount of the power set generation process is expressed by [Expression 3].
Further, in the related technology of the present invention, it is assumed that all combinations of possible values of attribute values included in the attribute information included in the registration information are generated and the information is registered in the information registration flow. Then, although the method in the related art reduces the calculation amount, it cannot be processed with a realistic memory amount.
On the other hand, in the case of the
The
That is, the
In addition, the
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
FIG. 24 is a block diagram showing the configuration of the
Referring to FIG. 24, the
In the
=== Combination Expansion Target Attribute Name Specification
The combination expansion target attribute name designation
The attribute value number list is information including the number of types of attribute values that each attribute information handled by the
FIG. 25 is a diagram illustrating an example of a configuration included in the combination expansion target attribute name designation
The attribute value number
The
Various values may be set as the threshold value. For example, the threshold value may be the maximum value of the types of attribute values included in the attribute information to be expanded. In this case, the combination expansion target
Further, for example, the threshold value may be the upper limit number of attribute information on which power set expansion processing is performed. In this case, the combination expansion target
Based on this threshold value, the combination expansion target
For example, the threshold value may be an upper limit of a memory size used when storing registration information. In this case, the combination expansion target
Hereinafter, in the description of the second embodiment, it is assumed that the threshold value is the maximum value of the number of attribute value types included in the attribute information to be expanded.
Next, the operation of the
The combination expansion target attribute name designation
The combination expansion target attribute name designation
The combination expansion target attribute name designation
The combination expansion target attribute name designation
The combination expansion target attribute name designation
The combination expansion target attribute name designation
The combination expansion target attribute name designation
By performing the above steps, the
The
Furthermore, the
In particular, the combination
[Third embodiment]
FIG. 28 is a block diagram showing the configuration of the information search system 30 in the third embodiment. Referring to FIG. 28, the information search system 30 includes a first
=== First
The first
The first
With the first information processing, for example, when the attribute information included in the registration information does not have a predetermined attribute name, values that can be taken by the attribute value corresponding to the attribute name are respectively added to the registration information. And so on. This is an example, and the first information processing is not limited to the above-described processing.
=== Second
The second
The second
For example, when the attribute name included in the evaluation information does not have a predetermined attribute name, a set that should have a subset of the attribute information as an element is generated. For example, a process in which each element of the power set is added to the evaluation information. This is an example, and the second information processing is not limited to the above-described processing.
FIG. 29 is a diagram showing a hardware configuration of the information search system 30 and its peripheral devices in the third embodiment of the present invention. As shown in FIG. 29, the information search system 30 includes a
The
The
The
The
The block diagram (FIG. 28) used in the description of the third embodiment shows functional unit blocks, not hardware unit configurations. These functional blocks are realized by the hardware configuration shown in FIG. However, the means for realizing each unit included in the information search system 30 is not particularly limited. In other words, the information search system 30 may be realized by one physically coupled device, or by two or more physically separated devices connected by wire or wirelessly, and realized by the plurality of devices. Also good.
The
Further, a recording medium (or storage medium) in which the above-described program code is recorded may be supplied to the information retrieval system 30, and the information retrieval system 30 may read and execute the program code stored in the recording medium. That is, the present invention also includes a
FIG. 30 is a flowchart showing an outline of the operation of the information search system 30 in the third embodiment.
The first
The first
The second
The second
The information search system 30 in the third embodiment receives a registration information registration request, and determines whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names. To do. And the information search system 30 produces | generates the registration key corresponding to the above-mentioned registration information by performing different 1st information processing according to the above-mentioned determination result. The information search system 30 receives evaluation information as a search request, and determines whether or not each attribute information included in the evaluation information has a predetermined attribute name. And the information search system 30 produces | generates the search key corresponding to the above-mentioned evaluation information by performing different 2nd information processing according to the above-mentioned determination result. The information search system 30 can search for registration information corresponding to a registration key that matches the search key.
With this configuration, the information search system 30 according to the third embodiment can execute a data search process with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
An example of the effect of the present invention is that data search processing can be executed with an appropriate calculation amount or memory amount even when the processing load for each attribute is heavy.
Each component in each embodiment of the present invention can be realized by a computer and a program as well as its function in hardware. The program is provided by being recorded on a computer-readable recording medium such as a magnetic disk or a semiconductor memory, and is read by the computer when the computer is started up. The read program causes the computer to function as a component in each of the embodiments described above by controlling the operation of the computer.
Registration
A part or all of each of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names A first expansion processing means for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, A second expansion processing means for generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key;
An information retrieval system comprising:
(Appendix 2)
A designation list storage means for storing a designation list indicating a predetermined attribute name;
The first expansion processing means is different from the first information for each of the attribute names indicated in the specified list depending on whether or not the attribute information included in the registration information has each attribute name. By performing processing, a registration key corresponding to the registration information is generated,
The second expansion processing means performs the second information processing, which differs depending on whether or not each of the attribute information included in the evaluation information has an attribute name indicated by the specified list. The information search system according to appendix 1, wherein the search key is generated.
(Appendix 3)
The first expansion processing means includes a determination means for specifying an attribute name list indicating an attribute name specified based on a difference between an attribute name included in the registration information and an attribute name included in the designation list,
The first expansion processing means includes
Stores an attribute value list that stores attribute values that attribute information corresponding to each attribute name can have in association with the attribute name, and as the first information processing, attribute names included in the attribute name list And combination expansion processing means for adding to the registration information an attribute value associated with the attribute name in the attribute value list;
The information search system according to
(Appendix 4)
The second expansion processing means includes
A set expansion processing means for generating a set having the attribute information of the attribute name specified based on the difference between the attribute name included in the evaluation information and the attribute name included in the specified list;
The information search according to
(Appendix 5)
Based on the attribute value number list, which is information associating the number of types of values that the attribute value corresponding to each attribute name can have with the attribute name, and a predetermined threshold, the specified list is The information search system according to any one of
(Appendix 6)
The information search system according to appendix 5, wherein the designation list creating means adds an attribute name associated with a value equal to or less than the threshold in the attribute value number list to the designation list.
(Appendix 7)
The information according to appendix 5 or 6, wherein the designation list creating means adds the attribute names to the designation list in order from the attribute name associated with a small value in the attribute value number list to the number indicated by the threshold at most. Search system.
(Appendix 8)
The specified list creating means includes the value of the attribute value that can be taken until the memory usage specified based on the number of types of the value that can be taken by the attribute value exceeds the threshold. The information search system according to any one of appendices 5 to 7, wherein an attribute name corresponding to the number of types is added to the designation list.
(Appendix 9)
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names By performing different first information processing, a registration key corresponding to the registration information is generated,
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, An information search method for generating a search key for searching for registration information corresponding to a registration key by comparison with the registration key.
(Appendix 10)
On the computer,
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names Processing for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, An information search program for executing a process of generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key.
(Appendix 11)
The combination expansion processing unit selects any one of attribute values associated with each attribute name for each attribute name included in the attribute name list, and the attribute value and the attribute name are selected as the registration information. And add to the registration information for all combinations of attribute names and attribute values,
4. The information search system according to appendix 3, wherein the information registration unit generates the registration key for each registration information to which the attribute name and the attribute value are added.
(Appendix 12)
The set expansion processing unit generates a power set of attribute information having an attribute name specified based on a difference between an attribute name included in the evaluation information and an attribute name included in the specified list,
The information search system according to appendix 4, wherein the information search means generates a search key based on a combination of the evaluation information and complementary information including attribute information indicated by each element included in the power set.
(Appendix 13)
The information registering unit concatenates the attribute name and attribute value to be added to the registration information and the attribute name and attribute value of the attribute information included in the registration information, and is identified based on the concatenated information 13. The information search system according to any one of appendices 3 to 8, 11 and 12, wherein the registration key is generated based on a value.
(Appendix 14)
The information search means includes an attribute name and attribute value included in attribute information corresponding to an attribute name included in the specified list in the evaluation information, and an attribute name included in attribute information indicated by each element included in the set The information search system according to any one of appendices 4 to 8 and 12, wherein the search key is generated based on a hash value specified based on the linked information.
(Appendix 15)
Comprising information storage means for storing the registration information and the registration key corresponding to the registration information in association with each other;
The second expansion processing means searches the registration information corresponding to the registration key by collating the search key with the registration key stored in the information storage means. Additional notes 1 to 8, and 11 to 14. The information search system according to any one of 14 above.
While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2011-061046 for which it applied on March 18, 2011, and takes in those the indications of all here.
本発明における情報検索システムは、グルーピング処理やストリーム処理、ルールマッチングといった入力された評価対象情報に対して高速に特定の処理を実行するシステムに適用できる。また、本発明における情報検索システムは、完全には一致しないが一致する情報が多く含まれているものを探す、という類似検索といった用途にも適用できる。本発明における情報検索システムは、具体的なシステムとして、リアルタイムなモバイル広告配信、推薦システム、通知システムに適用できる。
The information search system according to the present invention can be applied to a system that executes specific processing at high speed for input evaluation target information such as grouping processing, stream processing, and rule matching. In addition, the information search system according to the present invention can be applied to a use such as a similar search in which a search is performed that does not completely match but includes a lot of matching information. The information search system according to the present invention can be applied to a real-time mobile advertisement distribution, recommendation system, and notification system as a specific system.
10 情報検索システム
20 情報検索システム
30 情報検索システム
101 登録情報受信部
102 組み合わせ展開対象属性名指定リスト記憶部
103 組み合わせ展開判定部
104 組み合わせ展開処理部
105 情報登録部
106 情報記憶部
107 評価情報受信部
108 べき集合展開処理部
109 情報検索部
131 組み合わせ展開対象属性名リスト生成部
141 組み合わせ展開対象属性値リスト記憶部
142 組み合わせ生成処理部
151 ソート部
152 キー生成部
153 登録部
181 評価情報分割部
182 部分べき集合生成部
183 非べき展開属性合成部
191 ソート部
192 キー生成部
193 検索部
210 組み合わせ展開対象属性名指定リスト生成部
211 属性値数リスト受信部
212 閾値受信部
213 組み合わせ展開対象属性決定部
301 第一の展開処理部
302 第二の展開処理部
391 CPU
392 通信I/F
393 メモリ
394 記憶装置
395 入力装置
396 出力装置
397 バス
398 記録媒体 DESCRIPTION OFSYMBOLS 10 Information search system 20 Information search system 30 Information search system 101 Registration information receiving part 102 Combination expansion object attribute name designation | designated list memory | storage part 103 Combination expansion determination part 104 Combination expansion process part 105 Information registration part 106 Information storage part 107 Evaluation information receiving part 108 power set expansion processing unit 109 information search unit 131 combination expansion target attribute name list generation unit 141 combination expansion target attribute value list storage unit 142 combination generation processing unit 151 sorting unit 152 key generation unit 153 registration unit 181 evaluation information division unit 182 part Power set generation unit 183 Non-expansion expansion attribute composition unit 191 Sort unit 192 Key generation unit 193 Search unit 210 Combination expansion target attribute name designation list generation unit 211 Attribute value number list reception unit 212 Threshold reception unit 213 sets Matching deployment target attribute determination unit 301 First deployment processing unit 302 Second deployment processing unit 391 CPU
392 Communication I / F
393Memory 394 Storage device 395 Input device 396 Output device 397 Bus 398 Recording medium
20 情報検索システム
30 情報検索システム
101 登録情報受信部
102 組み合わせ展開対象属性名指定リスト記憶部
103 組み合わせ展開判定部
104 組み合わせ展開処理部
105 情報登録部
106 情報記憶部
107 評価情報受信部
108 べき集合展開処理部
109 情報検索部
131 組み合わせ展開対象属性名リスト生成部
141 組み合わせ展開対象属性値リスト記憶部
142 組み合わせ生成処理部
151 ソート部
152 キー生成部
153 登録部
181 評価情報分割部
182 部分べき集合生成部
183 非べき展開属性合成部
191 ソート部
192 キー生成部
193 検索部
210 組み合わせ展開対象属性名指定リスト生成部
211 属性値数リスト受信部
212 閾値受信部
213 組み合わせ展開対象属性決定部
301 第一の展開処理部
302 第二の展開処理部
391 CPU
392 通信I/F
393 メモリ
394 記憶装置
395 入力装置
396 出力装置
397 バス
398 記録媒体 DESCRIPTION OF
392 Communication I / F
393
Claims (10)
- 属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する第一の展開処理手段と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する第二の展開処理手段と、
を備える情報検索システム。 Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names A first expansion processing means for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, A second expansion processing means for generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key;
An information retrieval system comprising: - 所定の属性名を示す指定リストを記憶する指定リスト記憶手段を備え、
前記第一の展開処理手段は、前記指定リストで示される属性名のそれぞれに対して、各属性名を前記登録情報に含まれる属性情報が有するか否かに応じて異なる、前記第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
前記第二の展開処理手段は、前記評価情報に含まれる属性情報のそれぞれに対して、前記指定リストが示す属性名を有するか否かに応じて異なる、前記第二の情報処理を行うことによって、前記検索キーを生成する、請求項1に記載の情報検索システム。 A designation list storage means for storing a designation list indicating a predetermined attribute name;
The first expansion processing means is different from the first information for each of the attribute names indicated in the specified list depending on whether or not the attribute information included in the registration information has each attribute name. By performing processing, a registration key corresponding to the registration information is generated,
The second expansion processing means performs the second information processing, which differs depending on whether or not each of the attribute information included in the evaluation information has an attribute name indicated by the specified list. The information search system according to claim 1, wherein the search key is generated. - 前記第一の展開処理手段は、前記登録情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名を示す属性名リストを特定する判定手段を備え、
前記第一の展開処理手段は、
各属性名に対応する属性情報が有する属性値の取り得る値を当該属性名と対応付けて記憶する属性値リストを記憶し、前記第一の情報処理として、前記属性名リストに含まれる属性名と前記属性値リストにおいて当該属性名に対応付けられている属性値とを前記登録情報に追加する組み合わせ展開処理手段と、
前記属性名と前記属性値とが追加された前記登録情報に基づいて前記登録キーを生成する情報登録手段と、を備える請求項2に記載の情報検索システム。 The first expansion processing means includes a determination means for specifying an attribute name list indicating an attribute name specified based on a difference between an attribute name included in the registration information and an attribute name included in the designation list,
The first expansion processing means includes
Stores an attribute value list that stores attribute values that attribute information corresponding to each attribute name can have in association with the attribute name, and as the first information processing, attribute names included in the attribute name list And combination expansion processing means for adding to the registration information an attribute value associated with the attribute name in the attribute value list;
The information search system according to claim 2, further comprising: an information registration unit that generates the registration key based on the registration information to which the attribute name and the attribute value are added. - 前記第二の展開処理手段は、
評価情報に含まれる属性名と前記指定リストに含まれる属性名との差分に基づいて特定される属性名の属性情報を要素とする集合を生成する集合展開処理手段と、
前記第二の情報処理として、前記評価情報と前記集合に含まれる各要素が示す属性情報との組み合わせに基づいて検索キーを生成する情報検索手段と、を備える請求項2または3に記載の情報検索システム。 The second expansion processing means includes
A set expansion processing means for generating a set having the attribute information of the attribute name specified based on the difference between the attribute name included in the evaluation information and the attribute name included in the specified list;
The information according to claim 2 or 3, further comprising: information search means for generating a search key based on a combination of the evaluation information and attribute information indicated by each element included in the set as the second information processing. Search system. - 各属性名に対応する属性情報が有する属性値の取り得る値の種類の数と当該属性名とを対応付けた情報である属性値数リストと、所定の閾値とに基づいて、前記指定リストを生成し、当該指定リストを前記指定リスト記憶手段に記憶する指定リスト作成手段を備える、請求項2ないし4のいずれか1項に記載の情報検索システム。 Based on the attribute value number list that is information that associates the attribute name with the number of types of attribute values that the attribute information corresponding to each attribute name can take, and the predetermined list, the specified list is 5. The information search system according to claim 2, further comprising: a specified list creating unit that generates and stores the specified list in the specified list storage unit. 6.
- 前記指定リスト作成手段は、前記属性値数リストにおいて前記閾値以下の値に対応づけられている属性名を前記指定リストに追加する、請求項5に記載の情報検索システム。 6. The information search system according to claim 5, wherein the specified list creating means adds an attribute name associated with a value equal to or less than the threshold in the attribute value number list to the specified list.
- 前記指定リスト作成手段は、前記属性値数リストにおいて小さい値に対応付けられている属性名から順に高々閾値が示す個数まで当該属性名を前記指定リストに追加する、請求項5または6に記載の情報検索システム。 The said designation | designated list preparation means adds the said attribute name to the said designation | designated list from the attribute name matched with the small value in the said attribute value number list to the number which a threshold shows at most. Information retrieval system.
- 前記指定リスト作成手段は、前記属性値数リストに含まれる、属性値の取り得る値の種類の数に基づいて特定されるメモリ使用量が前記閾値を超えるまで、当該属性値の取りえる値の種類の数に対応する属性名を前記指定リストに追加する、請求項5ないし7のいずれか1項に記載の情報検索システム。 The specified list creating means includes the value of the attribute value that can be taken until the memory usage specified based on the number of types of the value that can be taken by the attribute value exceeds the threshold. The information search system according to claim 5, wherein an attribute name corresponding to the number of types is added to the specified list.
- 属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成し、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する、情報検索方法。 Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names By performing different first information processing, a registration key corresponding to the registration information is generated,
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, An information search method for generating a search key for searching for registration information corresponding to a registration key by comparison with the registration key. - コンピュータに、
属性名と属性値とを有する属性情報を一つ以上含む登録情報を受け取り、所定の属性名のそれぞれに対して、各属性名を当該登録情報に含まれる属性情報が有するか否かに応じて異なる、第一の情報処理を行うことによって、当該登録情報に対応する登録キーを生成する処理と、
属性情報を一つ以上含む評価情報を受け取り、当該評価情報に含まれる属性情報のそれぞれに対して、所定の属性名を有するか否かに応じて異なる、第二の情報処理を行うことによって、登録キーとの比較により当該登録キーに対応する登録情報を検索するための検索キーを生成する処理と、を実行させるための情報検索プログラムを記憶する記録媒体。 On the computer,
Receive registration information including one or more attribute information having an attribute name and an attribute value, and depending on whether or not the attribute information included in the registration information has each attribute name for each of the predetermined attribute names Processing for generating a registration key corresponding to the registration information by performing different first information processing;
By receiving evaluation information including one or more attribute information and performing second information processing that differs depending on whether or not each attribute information included in the evaluation information has a predetermined attribute name, A recording medium storing an information search program for executing a process for generating a search key for searching for registration information corresponding to the registration key by comparison with the registration key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013505861A JP5928446B2 (en) | 2011-03-18 | 2012-02-20 | Information search system, information search method, and information search program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011061046 | 2011-03-18 | ||
JP2011-061046 | 2011-03-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012127986A1 true WO2012127986A1 (en) | 2012-09-27 |
Family
ID=46879146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/054673 WO2012127986A1 (en) | 2011-03-18 | 2012-02-20 | Information search system, information search method, and information search programme |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5928446B2 (en) |
WO (1) | WO2012127986A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001740A1 (en) * | 2013-07-01 | 2015-01-08 | 日本電気株式会社 | Information processing device and search method |
WO2015049804A1 (en) * | 2013-10-04 | 2015-04-09 | 富士通株式会社 | Search program, search method, and search device |
US20220092186A1 (en) * | 2019-01-25 | 2022-03-24 | Nec Corporation | Security information analysis device, system, method and program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008102754A1 (en) * | 2007-02-21 | 2008-08-28 | Nec Corporation | Information associating system, user information associating method and program |
JP2010198223A (en) * | 2009-02-24 | 2010-09-09 | Nippon Telegr & Teleph Corp <Ntt> | Relevance analysis system and relevance analysis method |
WO2011004846A1 (en) * | 2009-07-07 | 2011-01-13 | 日本電気株式会社 | Information search system, information management device, information search method, information management method, and recording medium |
JP2011053868A (en) * | 2009-09-01 | 2011-03-17 | Fujitsu Ltd | Processing method for index management device, and index management device |
-
2012
- 2012-02-20 JP JP2013505861A patent/JP5928446B2/en not_active Expired - Fee Related
- 2012-02-20 WO PCT/JP2012/054673 patent/WO2012127986A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008102754A1 (en) * | 2007-02-21 | 2008-08-28 | Nec Corporation | Information associating system, user information associating method and program |
JP2010198223A (en) * | 2009-02-24 | 2010-09-09 | Nippon Telegr & Teleph Corp <Ntt> | Relevance analysis system and relevance analysis method |
WO2011004846A1 (en) * | 2009-07-07 | 2011-01-13 | 日本電気株式会社 | Information search system, information management device, information search method, information management method, and recording medium |
JP2011053868A (en) * | 2009-09-01 | 2011-03-17 | Fujitsu Ltd | Processing method for index management device, and index management device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015001740A1 (en) * | 2013-07-01 | 2015-01-08 | 日本電気株式会社 | Information processing device and search method |
WO2015049804A1 (en) * | 2013-10-04 | 2015-04-09 | 富士通株式会社 | Search program, search method, and search device |
JPWO2015049804A1 (en) * | 2013-10-04 | 2017-03-09 | 富士通株式会社 | Search program, search method, and search device |
US20220092186A1 (en) * | 2019-01-25 | 2022-03-24 | Nec Corporation | Security information analysis device, system, method and program |
Also Published As
Publication number | Publication date |
---|---|
JP5928446B2 (en) | 2016-06-01 |
JPWO2012127986A1 (en) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107436875B (en) | Text classification method and device | |
US9588991B2 (en) | Image search device, image search method, program, and computer-readable storage medium | |
JP5449628B2 (en) | Determining category information using multistage | |
KR100692209B1 (en) | Method and system for providing information of commodity customized to each user | |
US20130311487A1 (en) | Semantic search using a single-source semantic model | |
US20120109990A1 (en) | Information search system, information management device, information search method, information management method, and recording medium | |
CN112231555B (en) | Recall method, device, equipment and storage medium based on user portrait label | |
CN109829073B (en) | Image searching method and device | |
JP6185379B2 (en) | RECOMMENDATION DEVICE AND RECOMMENDATION METHOD | |
EP2862104A1 (en) | Search method and apparatus | |
US20190362187A1 (en) | Training data creation method and training data creation apparatus | |
JP5194818B2 (en) | Data classification method and data processing apparatus | |
JP5928446B2 (en) | Information search system, information search method, and information search program | |
CN109635072B (en) | Public opinion data distributed storage method, public opinion data distributed storage device, storage medium and terminal equipment | |
KR20210023636A (en) | Method and system for long-term relevant document clustering | |
CN109241360B (en) | Matching method and device of combined character strings and electronic equipment | |
CN115543994A (en) | Metadata retrieval method, server, retrieval method and terminal equipment | |
US9600565B2 (en) | Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium | |
CN109446408A (en) | Retrieve method, apparatus, equipment and the computer readable storage medium of set of metadata of similar data | |
JP2003016106A (en) | Device for calculating degree of association value | |
JP6639749B1 (en) | Search device, search method, and machine learning device | |
JP2011108242A (en) | Method and system for dynamically extracting and providing most suitable image according to user's request, and computer-readable recording medium | |
US20130185401A1 (en) | Configuration management device, configuration management method, and configuration management program | |
CN110689383B (en) | Information pushing method, device, server and storage medium | |
JP2010271959A (en) | Method, program and apparatus for calculating similarity between work processes |
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: 12761046 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013505861 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12761046 Country of ref document: EP Kind code of ref document: A1 |