WO2013153725A1 - データ検索装置、データ検索方法およびデータ検索用プログラム - Google Patents

データ検索装置、データ検索方法およびデータ検索用プログラム Download PDF

Info

Publication number
WO2013153725A1
WO2013153725A1 PCT/JP2013/000977 JP2013000977W WO2013153725A1 WO 2013153725 A1 WO2013153725 A1 WO 2013153725A1 JP 2013000977 W JP2013000977 W JP 2013000977W WO 2013153725 A1 WO2013153725 A1 WO 2013153725A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
mapping
search
criterion
viewpoint
Prior art date
Application number
PCT/JP2013/000977
Other languages
English (en)
French (fr)
Inventor
伸治 加美
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2014510029A priority Critical patent/JP6065001B2/ja
Publication of WO2013153725A1 publication Critical patent/WO2013153725A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model

Definitions

  • the present invention relates to a data extraction apparatus, a data search method, and a data search program that extract a subset of highly interested data from a data group to be searched.
  • Nearest neighbor search is known as a method for searching data close to the characteristics of the data of interest. This is a method of extracting a plurality of pieces of data having feature vectors similar to the feature vectors used as search (query) keys, such as image data represented by feature vectors.
  • KNN K-Nearest Neighbor
  • ANN Appearance Nearest Neighbor
  • a spatial index in a feature vector space is created in advance in a tree structure, and data in which the distance between feature vectors is within a specified range is searched.
  • This tree structure is created for the purpose of improving the search speed.
  • ANN is a method for further speeding up the search process by performing an approximate search.
  • LSH Location Sensitive Hashing
  • Patent Document 1 describes a search device that searches for high-dimensional feature vectors.
  • the search device described in Patent Document 1 does not index feature vectors themselves, but uses a quantization code obtained by quantizing feature vectors, thereby reducing the memory usage rate.
  • each query may be merged after issuing a plurality of queries independently.
  • the feature A and the feature B should not be considered in the same space as the feature vector. In this case, it becomes very difficult to create the query itself, and it is also necessary to recreate the feature vector space itself.
  • the work of structuring the index of the feature vector space has a heavy calculation load. Therefore, when performing a free search flexibly and interactively, it is not preferable to reconfigure the feature vector space too frequently.
  • the above problem occurs when there are multiple viewpoints for judging similarity.
  • the above problem occurs when the viewpoint of similarity of data is different from the viewpoint representing the level of interest in data.
  • the similarity of data is an amount used for limiting a condition in data search and used for determining whether data existing in the vicinity can be regarded as approximately the same data.
  • the high interest in data is an amount used to determine what kind of data the searching user is interested in.
  • the feature of interest is a region where similar text information is concentrated
  • data that is simply concentrated as similar text information may be used.
  • the viewpoint may be changed, and it may be assumed that it is not just the similarity of text information, but that it is desired to make a selection based on a more complicated viewpoint. In this case, it may be necessary to recreate the feature vector space itself.
  • the viewpoints indicating a plurality of similarities to be considered may be used differently.
  • the neighborhood search processing in the feature vector space is performed by a general method, there are problems that the query becomes complicated or that restructuring for data search is necessary. For this reason, it is desirable that data search can be performed at high speed and flexibly even when a complicated search is performed based on a viewpoint showing a plurality of similarities.
  • the present invention provides a data search apparatus, a data search method, and a data search method that can perform data search at high speed and flexibly even when searching based on a viewpoint that shows a plurality of similarities between data.
  • the purpose is to provide a program.
  • the data search apparatus includes a proximity criterion used as a criterion for determining similarity of data to be searched, an allowable neighborhood range criterion indicating a range in which the data to be searched are similar, and a viewpoint criterion indicating a search viewpoint.
  • Spatial mapping generation that generates spatial attribute mapping that maps data to be searched on a space where similarity with other data can be determined based on the neighborhood criteria and allowable neighborhood range criteria in response to a query input including Means for generating viewpoint attribute mapping for mapping one or more pieces of given data under a total ordered set based on the viewpoint criterion in response to an input of the query, and the spatial attribute mapping Is used to convert the search target data to generate spatial attribute information corresponding to the data, and the empty neighborhood according to the allowable neighborhood range criterion.
  • a subset generation unit that divides a set of attribute information and creates a set of search target data corresponding to each of the divided space attribute information as a subset of the search target data; and A mapping means for mapping a subset to a fully ordered set and a search result for identifying each subset corresponding to the mapped total ordered set according to the order determined based on the element And a specifying means.
  • the data search method includes a proximity criterion used as a criterion for determining the similarity of data to be searched, an allowable neighborhood range criterion indicating a range in which the data to be searched are similar, and a viewpoint criterion indicating a viewpoint for searching.
  • a viewpoint attribute map that maps one or more pieces of given data under a total ordered set based on the viewpoint criteria
  • converts the search target data using the spatial attribute map To generate spatial attribute information corresponding to the data, divide the set of spatial attribute information according to the allowable neighborhood range criterion, and search corresponding to each divided spatial attribute information
  • a set of image data as a subset of search target data, and using the viewpoint attribute mapping, each of the subsets is mapped to a total ordered set, and each corresponding to the mapped total ordered set element
  • the search result is specified according to the order in which the subset is determined based on the element.
  • the data search program provides a computer with a viewpoint of searching for a vicinity reference used as a reference for determining similarity of data to be searched, an allowable vicinity range reference indicating a range in which the data to be searched is similar, and the like.
  • a spatial mapping generation process that generates a viewpoint attribute mapping that maps one or more pieces of given data under a total ordered set based on the viewpoint criterion in response to an input of the query, the space Spatial attribute information generation processing for generating spatial attribute information corresponding to the data by converting the data to be searched using the attribute map, the allowable neighborhood range Using the viewpoint attribute mapping, a subset generation process for dividing the set of spatial attribute information according to a standard, and creating a set of search target data corresponding to each divided spatial attribute information as a subset of the search target data , Mapping processing for mapping each of the subsets to the elements of the total ordered set, and each subset corresponding to the elements of the mapped total ordered set to the search results according to the order determined based on the elements
  • a search result specifying process for specifying is executed.
  • the data search can be performed at high speed and flexibly.
  • FIG. FIG. 1 is a block diagram showing a configuration example of a first embodiment of a data search apparatus according to the present invention.
  • the data search device of this embodiment includes a data registration unit 110 and a data search unit 120.
  • the data search apparatus is an apparatus that outputs output subset data 103 that is a subset of data 101 input (registered) in advance when a query 102 according to a user request is input.
  • the data 101 is data to be searched, and is input data that is registered and updated in advance or sequentially by the user.
  • the format of the data 101 is arbitrary.
  • the data 101 is typically represented as data having a plurality of arbitrary attributes for one data entry, as represented by a relational database. In the present embodiment, this attribute is designated to perform data search.
  • the query 102 is a search condition that a searcher (hereinafter referred to as a user) inputs to the data search apparatus according to the present invention in order to acquire data of interest.
  • the query 102 includes at least a neighborhood criterion used as a criterion for determining the similarity of data, an allowable neighborhood range criterion indicating a range in which search target data is similar, and a user's interest (that is, a search viewpoint). Including viewpoint criteria. It can be said that the allowable neighborhood range criterion is information defining a range of data that can be identified.
  • the neighborhood criterion is specifically a criterion indicating the similarity of a plurality of given data.
  • the neighborhood criterion is a criterion by which the similarity of data can be determined based on the relationship of the distance in the space by mapping the data to the space in which the distance is defined. This distance can take various forms such as Euclidean distance and Hamming distance.
  • the neighborhood criterion may be handled by defining a distance relationship using, for example, a multidimensional scaling method.
  • the permissible neighborhood range criterion is a range parameter that specifies a range of data that is handled as one data group having features with very high similarity.
  • the allowable neighborhood range criterion is represented by a D-dimensional sphere designated with an appropriate radius.
  • the viewpoint criterion indicates which data group has a higher interest when comparing data groups belonging to areas that can be judged to be highly similar (hereinafter referred to as neighborhood areas). It is a parameter to specify.
  • the viewpoint criterion may be, for example, information specifying which data set the searcher prefers when comparing two arbitrary data sets. This parameter can be used to map an arbitrary data group to the base of a totally ordered set.
  • the output subset data 103 is a set of all data subsets output for the query 102 input by the user.
  • the data registration unit 110 includes a database management unit 111 and a database 112.
  • the database 112 stores the attributes included in the data 101 so that they can be identified.
  • the database 112 may manage the attributes of the data 101 in a table format, may be managed in a key-value format, or may be managed in a graph format.
  • the database management unit 111 manages the database 112. Specifically, when the data 101 is input, the database management unit 111 registers the input data in the database 112. Further, the database management unit 111 performs necessary processing in response to a data update or data acquisition request.
  • the data registration unit 110 is typically realized by an RDBMS (relational database management system) represented by a database system constructed by MYSQL (registered trademark).
  • the data registration unit 110 may be realized using a NoSQL database such as Hadoop, Cassandra, and Graph database.
  • the data registration unit 110 may be realized by an array management system developed on a memory or the like.
  • the data search unit 120 includes a query analysis unit 121, a data reconstruction unit 122, a reconstruction data management unit 123, a reconstruction data storage unit 124, and a sampling unit 125.
  • the query analysis unit 121 analyzes the query 102 and transmits information necessary for the reconstruction process of the database 112 to the data reconstruction unit 122.
  • the sampling unit 125 which will be described later, samples data that matches the query 102 from the reconstructed data based on the viewpoint criteria. Therefore, the query analysis unit 121 transmits information necessary for the processing based on the viewpoint criterion to the sampling unit 125. Details of the information transmitted by the query analysis unit 121 to each unit will be described later.
  • the data reconstruction unit 122 reconstructs data included in the database 112 according to the parameters input from the query analysis unit 121. Specifically, the data reconstruction unit 122 converts the original data using the parameters input from the query analysis unit 121, and adds the converted information to the base data.
  • information obtained by converting the original data is referred to as space attribute portion or space attribute information. That is, the reconstructed data is data in which the space attribute portion extracted from the original data is added to the original data.
  • FIG. 2 is an explanatory diagram showing an example of the data reconstruction process.
  • the example shown in FIG. 2 shows that a space attribute part is added to data stored in the relational database format.
  • a method for the data reconstruction unit 122 to reconstruct data will be described later.
  • the reconfiguration data storage unit 124 stores the data reconfigured by the data reconfiguration unit 122 (that is, the original data and the data including the space attribute part).
  • the reconfiguration data management unit 123 manages the reconfiguration data storage unit 124. Specifically, the reconfiguration data management unit 123 performs processing to save, update, or acquire the reconfigured data in the reconfiguration data storage unit 124 in response to a request. Similar to the database 112, the reconfiguration data storage unit 124 is typically realized by an RDBMS. However, the method of realizing the reconfiguration data storage unit 124 is not limited to RDBMS.
  • the reconstruction data storage unit 124 is realized by, for example, a magnetic disk.
  • the sampling unit 125 extracts the output subset data 103 from the reconstructed data using the information received from the query analysis unit 121. Specifically, the sampling unit 125 receives from the query analysis unit 121 information used for division processing (hereinafter referred to as division information) and information used for viewpoint evaluation. In addition, the sampling unit 125 acquires reconstruction data from the reconstruction data management unit 123.
  • division information information used for division processing
  • viewpoint evaluation information used for viewpoint evaluation
  • the sampling means 125 extracts the output subset data 103 based on these pieces of information. A specific method by which the sampling unit 125 extracts the output subset data 103 will be described later.
  • the query analysis unit 121, the data reconstruction unit 122, the reconstruction data management unit 123, and the sampling unit 125 are realized by a CPU of a computer that operates according to a program (data search program).
  • the program is stored in a storage unit (not shown) of the data search apparatus, and the CPU reads the program, and in accordance with the program, the query analysis unit 121, the data reconstruction unit 122, the reconstruction data management unit 123, and The sampling unit 125 may be operated.
  • the query analysis unit 121, the data reconstruction unit 122, the reconstruction data management unit 123, and the sampling unit 125 may each be realized by dedicated hardware.
  • FIG. 3 is a flowchart illustrating an operation example of the data search apparatus according to the first embodiment.
  • the data search is started when the user inputs a query.
  • the user inputs a query necessary for the search (step S301).
  • the query includes a neighborhood criterion, an allowable neighborhood range criterion, and a viewpoint criterion for the data stored in the database 112 illustrated in FIG.
  • the query analysis unit 121 analyzes the received query (step S302), and based on the neighborhood criterion, the allowable neighborhood criterion, and the viewpoint criterion, the spatial attribute mapping f: E ⁇ ⁇ , the viewpoint attribute mapping g: E ⁇ V, and Create split information.
  • E is a data set having one data in the database 112 as a source e.
  • indicates a space in which similarity is defined.
  • V indicates a totally ordered set.
  • the query analysis unit 121 transmits information indicating the spatial attribute mapping f to the data reconstruction unit 122 (step S303). Further, the query analysis unit 121 transmits information indicating the division information and the viewpoint attribute mapping g to the sampling unit 125 (step S304).
  • the processing of the query analysis unit 121 will be further described.
  • the query analysis unit 121 creates the spatial attribute map f from the neighborhood criterion and the allowable neighborhood range criterion. That is, information necessary for creating the spatial attribute map f is specified in the neighborhood criterion and the allowable neighborhood range criterion.
  • the spatial attribute map f converts attribute information of data to be searched. This conversion is performed for the purpose of quantitatively evaluating the similarity between the data using the attribute information of the data.
  • the query as the details of the spatial attribute mapping, which attribute is used and what conversion is performed among the attribute information of the data is described.
  • the query also describes a similarity index defined in the mapping destination space.
  • a conversion method for example, a coordinate system of a mapping destination and a conversion formula to the coordinate system are designated.
  • a plurality of pieces of attribute information having appropriate numerical values may be used as vectors, and an appropriate conversion formula and parameter values may be designated as vector conversion methods.
  • the allowable neighborhood range criterion is mainly used to determine the value of the parameter.
  • a vector data is configured with the specified attribute information, and an arithmetic expression for performing an appropriate algebraic operation on the vector data is specified. Further, a coefficient matrix used as a parameter of the arithmetic expression is determined from the specified allowable neighborhood range criterion. Since the spatial attribute mapping is uniquely determined by these pieces of information, the data to be searched can be mapped by this spatial attribute mapping. For the mapped data, for example, the similarity between the data is evaluated using the Euclidean distance in the mapped space.
  • This spatial attribute map f is generally defined as a map that converts a data set E including a plurality of data into a set ⁇ of spatial attributes ⁇ .
  • the space attribute map f can be said to be a map that defines a method for converting a data attribute to a metric space in which a quantitative index capable of determining similarity between arbitrary data is defined.
  • the query analysis unit 121 prepares a plurality of options in advance as a mapping creation method, and creates a spatial attribute map f based on designation of keyword information indicating which mapping is selected and a parameter value determination method. May be.
  • the administrator may implement mapping as a method in advance, and the query analysis unit 121 may create the spatial attribute mapping f in accordance with designation of pointer information that allows selection of a corresponding method.
  • the viewpoint attribute mapping g is a mapping that maps a given data set to the base of a totally ordered set based on viewpoint criteria.
  • the viewpoint attribute map g can be said to be a map that defines a method for converting data attributes into a totally ordered set.
  • the query analysis unit 121 may create the viewpoint attribute map g by a method similar to the method of creating the space attribute map f.
  • the division information is information describing a method of dividing the space mapped by the space attribute map f.
  • the query analysis unit 121 creates division information using information specified in the neighborhood criterion and the allowable neighborhood range criterion.
  • the query analysis unit 121 may create the division information by a method similar to the method of creating the space attribute map f.
  • the query analysis unit 121 does not have to create the division information.
  • FIG. 4 is an explanatory diagram showing an example of the spatial attribute map f and the viewpoint attribute map g.
  • the data sets E1 and E2 each include four data (e1, e2, e3, e4).
  • the spatial attribute map f illustrated in FIG. 4 is a map for converting the data set E into a spatial attribute set ⁇ . From the four data (e1, e2, e3, e4), four spatial attributes ⁇ ( ⁇ 1, ⁇ 2). , ⁇ 3, ⁇ 4).
  • the viewpoint attribute map g illustrated in FIG. 4 is a map for converting the data set E into a totally ordered set V, and v satisfying the properties of the totally ordered set from four data (e1, e2, e3, e4). Indicates that it has been converted to.
  • FIG. 5 is an explanatory diagram showing an example of mapping.
  • the mapping result 501 illustrated in FIG. 5 shows an example in which the data reconstruction unit 122 maps the data in the database 112 to the two-dimensional Euclidean space.
  • the data reconfiguration unit 122 transmits (ei, ⁇ i) to the reconfiguration data management unit 123 and makes a request for saving to the reconfiguration data storage unit 124.
  • the reconfiguration data management unit 123 stores the data information (ei illustrated in FIG. 5) and the spatial attribute information ( ⁇ i illustrated in FIG. 5) received from the data reconfiguration unit 122 in the reconfiguration data storage unit 124. When the process is completed, a storage completion notification is sent to the data reconstruction unit 122.
  • the data reconfiguration unit 122 When the data reconfiguration unit 122 receives the storage end notification for all the reconfiguration data, the data reconfiguration unit 122 notifies the query analysis unit 121 of the data reconfiguration completion.
  • the query analysis unit 121 When the query analysis unit 121 receives the data reconstruction completion notification, it sends a sampling start notification to the sampling unit 125 (step S306).
  • the sampling unit 125 acquires the reconstruction data from the reconstruction data management unit 123. Then, the sampling unit 125 divides the data information (ei illustrated in FIG. 5) of the reconstructed data into a set of subsets using the spatial attribute information and the allowable neighborhood range information of the reconstructed data (step S307). ). The sampling means 125 divides all data into each subset according to the conditions described in the allowable neighborhood range criterion. Note that, when the query analysis unit 121 creates division information, the sampling unit 125 may divide all data into each subset based on the division information. Each subset forms an allowed neighborhood area according to an allowed neighborhood range criterion.
  • a parameter that specifies a specific distance criterion is specified as the allowable neighborhood range criterion.
  • the sampling unit 125 divides the space so that the Euclidean space distance between all data included in the subset is within a certain distance.
  • a parameter that designates a probabilistic distance criterion is designated as the allowable neighborhood range criterion. In this case, the sampling unit 125 divides the space based on the average distribution spread.
  • the method by which the sampling unit 125 divides the data space is not limited to the above method.
  • the sampling unit 125 may divide the space according to the probability distribution.
  • the sampling unit 125 may divide the data using another method as long as the space can be divided so that the subset of the reconstructed data is included in the range indicated by the allowable neighborhood range criterion.
  • the mapping result 502 illustrated in FIG. 5 shows an example in which the sampling unit 125 divides the mapping result 501 into four neighboring areas (N1 to N4).
  • the neighborhood area N1 includes three data, and these three data are a subset of the reconstructed data.
  • pi g (Ei) ⁇ using the viewpoint attribute mapping g for each obtained subset Ei belonging to each neighboring region Ni (step S308). ). Since P is a fully ordered set, any element of P is comparable. Therefore, the sampling means 125 can perform sampling such as selecting in descending order such as the top Q.
  • the mapping result 503 illustrated in FIG. 5 shows an example in which viewpoint evaluation values (v1 to v4) are calculated for each of four neighboring regions (N1 to N4). This set of viewpoint evaluation values is a totally ordered set.
  • the sampling policy may be a predetermined static parameter. If the query 102 includes a sampling policy, the sampling unit 125 may perform sampling using the policy. In the sampling policy, for example, information such as “select top Q” and “number of upper limit data” is set. However, the content of the policy is not limited to the exemplified content. Other contents may be used as long as they specify the size of data actually sampled from the data stored in the original database.
  • v1 to v4 are evaluation values (real values) obtained by mapping the neighboring areas N1 to N4. Therefore, the sampling unit 125 may select a subset illustrated in FIG. 5 based on the evaluation value.
  • Each element of the set ⁇ corresponds to a set of data included in each neighboring area.
  • Each subset included in the output subset data 103 obtained in this way is a set of data satisfying the concept of the allowable neighborhood range specified by the user in the query, and becomes data of high user interest. These data do not necessarily have to be similar to each other, and each data has desirable characteristics and is extracted as a grouped group of similar parts. It becomes possible.
  • the data reconstruction unit 122 and the sampling unit 125 can select the processing to be performed with the calculation amount of order N with respect to the total number of data N. It becomes possible.
  • the user Since it has such characteristics, even if the data that the user wants is not always clear, the data that is really necessary among the data on the database can be accessed at high speed. Specifically, the user first makes a hypothesis what kind of data he wants to acquire, inputs a query to the hypothesis, and analyzes the output subset data of the return value. Then, the user may verify the hypothesis and perform verification again with a new hypothesis corrected. In this embodiment, such a hypothesis verification loop can also be performed interactively.
  • the query analysis unit 121 is based on the neighborhood criterion and the allowable neighborhood range criterion according to the input of the query including the neighborhood criterion, the allowable neighborhood range criterion, and the viewpoint criterion.
  • a space attribute map f is generated, and a viewpoint attribute map g is generated based on the viewpoint criteria.
  • the data reconstruction unit 122 generates the spatial attribute information corresponding to the data by converting the search target data using the spatial attribute map f.
  • the sampling means 125 divides the space attribute information according to the allowable neighborhood range criterion, and creates a set of search target data corresponding to each divided space attribute information as a subset of the search target data.
  • the sampling means 125 maps each subset to a total ordered set using the viewpoint attribute mapping, and the order in which each subset corresponding to the mapped total ordered set is determined based on the element.
  • the search result is specified according to
  • the data search can be performed at high speed and flexibly.
  • the present embodiment even if there are a plurality of similarities between data and an attribute indicating a viewpoint at the time of search, it is possible to prevent the query from becoming complicated. Further, according to the present embodiment, data reconstruction is not performed. Therefore, it is possible to perform a highly flexible search.
  • FIG. FIG. 6 is a block diagram showing a configuration example of the second embodiment of the data search apparatus according to the present invention.
  • symbol same as FIG. 1 is attached
  • subjected and description is abbreviate
  • the data search unit 120 of the first embodiment further includes a condition determination unit 601.
  • the condition determination means 601 is also realized by a CPU of a computer that operates according to a program (data search program).
  • the query 102 of this embodiment includes conditions (hereinafter, referred to as output conditions) used by the condition determination unit 601 for determination in addition to the vicinity criterion, the allowable vicinity range criterion, and the viewpoint criterion.
  • the query analysis unit 121 extracts an output condition from the input query 102 and notifies the condition determination unit 601 of the output condition. For example, the upper limit number of data and the characteristics of the subset actually extracted are set as the output condition. Note that when the output condition is determined in advance, the query 102 may not include the output condition.
  • the condition determination unit 601 receives the output condition from the query analysis unit 121.
  • the condition determining unit 601 checks whether the output result from the sampling unit 125 satisfies the output condition before actually outputting.
  • the condition determination unit 601 When the output result satisfies the output condition, the condition determination unit 601 outputs the output result as it is as the output subset data 103. On the other hand, when the output result does not satisfy the output condition, any or all of the spatial attribute mapping, the viewpoint attribute mapping, and the allowable neighborhood range criterion are updated. By updating these, conditions can be relaxed or restricted.
  • condition when the upper limit number of data is not reached, the condition may be relaxed and adjusted so that more data can be obtained.
  • the condition determination unit 601 may relax the condition by changing the spatial attribute mapping so that more data can be obtained.
  • the condition determining unit 601 may relax the condition by changing the method by which the sampling unit 125 divides the space so that a larger number of data can be obtained.
  • Such a feedback mechanism may be realized by changing a parameter in a predetermined method, and by adopting a change corrected in a preferable direction by a parameter change that introduces a random process such as a genetic algorithm. It may be realized.
  • FIG. 7 is a block diagram showing a configuration example of this embodiment of the data search apparatus according to the present invention.
  • the data search apparatus according to this embodiment includes a data registration unit 710 and a data search unit 720.
  • the data registration unit 710 and the data search unit 720 of this example correspond to the data registration unit 110 and the data search unit 120 of the first embodiment (or the second embodiment), respectively.
  • the data registration unit 710 includes a database management unit 711 and a database 712.
  • the database management unit 711 and the database 712 correspond to the database management unit 111 and the database 112 of the first embodiment, respectively.
  • the data search unit 720 includes a query analysis unit 721, a data reconstruction unit 722, a reconstruction data management unit 723, a reconstruction data storage unit 724, a clustering unit 725, a cluster selection unit 726, and a data shaping unit. 727.
  • the query analysis unit 721, the data reconstruction unit 722, the reconstruction data management unit 723, and the reconstruction data storage unit 724 are the query analysis unit 121, the data reconstruction unit 122, and the reconstruction unit 724 of the first embodiment. It corresponds to the configuration data management means 123 and the reconfiguration data storage means 124, respectively.
  • clustering means 725 and the cluster selection means 726 correspond to the sampling method 125 of the first embodiment.
  • the data 701 includes a vector x on the D-dimensional Euclidean space, a time t, appropriate category data u, and text information q.
  • the vector x is, for example, a vector composed of coordinate values of a place where the user with the user ID u created the text information q at a certain time t.
  • a place is defined by latitude and longitude, the place is expressed as a two-dimensional coordinate, so x is a two-dimensional vector.
  • the query 702 is “text data including a certain word w as much as possible among text data distributed in a region having an average spatial extent of about 1 km and created for about one hour. I want to collect a group of data created for a simple user.
  • This query is assumed to be created in order to improve the reliability of information in a situation where an action is performed to find a place where an event deeply related to the word w is performed. Specifically, in consideration of real-time characteristics, it is assumed that "information is assumed to have spread to users in the vicinity of the event in about an hour, and information is emitted from multiple sources as much as possible rather than by a limited number of limited users. If the user wants to search for "", the above query is prepared.
  • the description format of the query 702 is arbitrary.
  • an API Application Program Interface
  • an abstract class that defines an interface function may be provided to the user application side.
  • the user may implement an application using this API, and generate the query 702 using the application.
  • input parameters may be defined on the data search device side, and the query 702 may be generated according to the parameters input by the user.
  • the user may select a parameter from preset values, may input a value as a parameter, or may specify a value in a predetermined range as a parameter.
  • a method in which a user designates input parameters will be described as an example.
  • the allowable neighborhood range criterion indicates an average spatial extent of about 1 km.
  • a subset is created by dividing the space by randomization.
  • a method of dividing space and time based on a fixed grid is also conceivable. However, when such a method is used, it may be desirable depending on the division method. Therefore, it is more preferable to divide the space by randomization. Further, other division methods may be used as necessary.
  • the division method may be predetermined within the data search apparatus, or may be specified in detail in the query 702.
  • a randomization parameter defined in the data search apparatus is used by specifying “random with an average width of 1 km and a time width of 1 hour” in the query 702.
  • the neighborhood criterion is designated as “similarity evaluation including word w in text and linear transformation of time and place”. This neighborhood criterion assumes that texts that do not include w have infinite dissimilarity, and that texts that include w are considered the same from the viewpoint of text. In addition, this neighborhood criterion further assumes that a spatial attribute map is generated by linear transformation in consideration of temporal and locational distances.
  • the query analysis unit 721 determines the spatial attribute mapping, the division information, and the viewpoint attribute mapping. Hereinafter, these determination methods will be described.
  • the query analyzing unit 721 the Ew, conversion to 3-dimensional Euclidean space R 3 obtained by synthesizing the spatial coordinates X ⁇ R 2 time coordinate t ⁇ R ⁇ : exemplified as Ew ⁇ R 3, in formula 1 below Define the mapping ⁇ to be.
  • R represents a real number field.
  • Y in Equation 1 is a three-dimensional vector obtained by combining x and t.
  • a in Formula 1 is a matrix generated based on the allowable neighborhood range criterion, and is a matrix having coefficients for normalizing 1 km and 1 hour to unit length 1 as diagonal components at corresponding positions. .
  • the calculation can be performed by extracting the time and place components from the result of the mapping ⁇ (e) for each element e. More generally, for example, linear transformation is performed using a plurality of attributes of a single data e, or a plurality of spatial attribute information groups are calculated for a plurality of data groups. It is also possible to define a mapping.
  • the data reconstruction unit 722 randomly divides the space to which the spatial attribute information belongs according to the keyword “random” specified in the neighborhood criterion and the information “average spatial extent of about 1 km” specified in the allowable neighborhood range information. Create split information to do
  • the dimension of the space to be divided is three dimensions. Further, in this embodiment, as parameters necessary for the division processing described later, a positive integer B, a positive integer M, an integer C of 2 or more, and a probability density distribution h having an average value of 1 for a random variable W is 1 Assume that (W) is preset. Note that these values may be acquired from the query 702.
  • the data reconstruction unit 722 considers dividing a three-dimensional space using these parameters. Specifically, the data reconstructing means 722 divides the parallel vector so that the direction B of random direction vectors is uniformly directed and the interval takes a random variable W in each direction.
  • Equation 2 a is a two-dimensional vector that uniformly faces a random direction.
  • is a two-dimensional random vector composed of random numbers according to an independent standard normal distribution N (0, 1)
  • the target space is a three-dimensional space, but in general, a is calculated in the same manner even in the case of the D dimension.
  • Equation 2 u is a random number that follows a uniform distribution in the range of [0, 1). W is an actual value of the random variable W according to the probability density distribution h (W) having an average value of 1.
  • FIG. 8 is an explanatory diagram showing an example of dividing a two-dimensional space.
  • the geometric meaning represented by Equation 2 is that the space is divided by a plane in which the normal direction faces a and is arranged at an interval w.
  • Arbitrary vectors having the same index number calculated using Expression 2 belong to the same divided area.
  • the space can be divided by B planes arranged in parallel in a random direction. Each divided area is expressed by a set of index numbers. Further, by performing this process of dividing the space M times independently, a result of dividing the space into M spaces in different directions and intervals can be obtained.
  • sjk (ajk, wjk, ujk) be the realization value of each random variable in Equation 2.
  • the query analysis unit 721 is given a frequency distribution ⁇ r1, r2,..., Rk ⁇ of the user attribute u in a certain data group Eu.
  • the viewpoint attribute map g is defined by Equation 3 shown below.
  • Equation 3 is an example of expressing user diversity.
  • the query analysis unit 721 may express the user diversity by other methods as long as it can specify the order of diversity, such as Simpson's diversity index. In this way, the query analysis unit 721 selects the viewpoint attribute mapping according to the contents described in the query viewpoint reference.
  • the query analysis unit 721 transmits information indicating the above ⁇ (E) and ⁇ (Ew) to the data reconstruction unit 722 as information on the spatial attribute mapping f. In addition, the query analysis unit 721 transmits the above-described division parameters S and C to the clustering unit 725 as the division information. Further, the query analysis unit 721 transmits information indicating the above-described Expression 3 to the cluster selection unit 726 as information on the viewpoint attribute mapping g.
  • the query analysis means 721 may transmit the mapping information by previously sharing the contents of the mapping with the transmission destination and transmitting only the parameters to the transmission destination. Further, the query analysis means 721 may implement mapping as a method on the transmission side and provide mapping information as a callback function. Further, the query analysis unit 721 may issue a command for selecting a method corresponding to the content of the mapping among methods pre-installed on the receiving side.
  • the query analysis means 721 may transmit the division information by sharing the contents of the above formula 2 with the transmission destination in advance and transmitting only the parameters to the transmission destination.
  • the query analysis unit 721 can transmit the viewpoint attribute mapping information by providing a method indicating the contents of “user diversity” shown in the above-described Expression 3 to the cluster selection unit 726 as a callback function. Good.
  • the query analysis unit 721 transmits information on the viewpoint attribute mapping by issuing a command for selecting a method corresponding to the processing of Expression 3 from the evaluation functions implemented in the cluster selection unit 726. May be.
  • the data reconstruction unit 722 When the data reconstruction unit 722 receives the information of the spatial attribute map f, the data reconstruction unit 722 acquires the data of the database 712 through the database management unit 711. The data reconstruction unit 722 acquires all data including w in the text information using a normal query defined in the database. Then, the data reconstruction unit 722 obtains ⁇ by performing the process shown in Equation 1 using the three-dimensional vector y composed of space and time information for each piece of acquired data.
  • the data reconstruction unit 722 adds the acquired ⁇ to the attribute of the original data e as the space attribute information, and requests the reconstruction data management unit 723 to save this data.
  • the reconfiguration data management unit 723 stores the requested data in the reconfiguration data storage unit 724.
  • the reconfiguration data management unit 723 returns a completion notification to the data reconfiguration unit 722 when the storage process is completed. When this process is repeated and registration of all data in the reconfiguration data storage unit 724 is completed, a data reconfiguration completion notification is sent to the query analysis unit 721.
  • the query analysis unit 721 Upon receiving the data reconstruction completion notification, the query analysis unit 721 requests the clustering unit 725 to cluster the data stored in the reconstruction data storage unit 724.
  • the clustering means 725 performs space division M times using the received division information. At this time, the spatial attribute information of the reconstruction data is also used.
  • the clustering means 725 groups data belonging to the area divided by each division process (hereinafter referred to as trial) as one subset.
  • the cluster selection unit 726 creates a frequency distribution of user types for the subset Ei, j in each trial i from this output ⁇ . Then, the cluster selection unit 726 calculates the user diversity index Pi, j using Equation 3 shown above. As a result, ⁇ P1,1, ..., P1, K1 ⁇ , ⁇ P2,1, ..., P2, K2 ⁇ , ..., ⁇ PM, 1, ..., PM, KM ⁇ Is obtained.
  • the cluster selection means 726 selects the upper Q from the ones having a large user diversity index Pi, j.
  • Q may be a predetermined value or a value specified by a query.
  • each subset ⁇ Ei, 1,..., Ei, Q ⁇ and ⁇ Ej, 1,..., Ej, Q ⁇ extracted for different trial numbers i and j are in similar spatial regions. There is a possibility of distribution.
  • these subsets may be exactly the same or may include partially overlapping data. In such a case, it may be better to format and output the data as one.
  • “Union ( ⁇ Zi ⁇ ) ⁇ range of i ⁇ ” means taking the union of Zi corresponding to i within the specified range in the set ⁇ Zi ⁇ .
  • the data shaping means 727 searches for another Xj including an overlapping element for a certain Xi.
  • the data shaping unit 727 creates a set obtained by integrating a certain Xi and another Xi, and performs predetermined processing on the set ⁇ Xi ⁇ .
  • the data shaping unit 727 repeats this operation until all sets have no overlapping elements.
  • the data shaping unit 727 may output the data as it is without shaping the data according to the policy. That is, the data shaping unit 727 may output data in a format that matches the user's request.
  • the clustering unit 725 may divide the space on a plane other than the plane by performing plane division after performing nonlinear conversion once.
  • the clustering means 725 may divide the space by a method other than random division.
  • the clustering unit 725 may divide the space in consideration of the localization of the data distribution.
  • the clustering means 725 may perform Voronoi division.
  • the clustering unit 725 may divide the space by using a space index using a tree structure such as R-Tree.
  • Various other clustering methods can be applied to the method in which the clustering means 725 divides the space.
  • response time becomes important in consideration of repeated hypothesis testing.
  • the clustering process takes time, it is more preferable in the present invention to use a method that is faster than accuracy.
  • FIG. 9 is an explanatory diagram illustrating an example in which data search is performed via a communication network.
  • a data management apparatus 907 illustrated in FIG. 9 corresponds to the data search apparatus of the present invention.
  • the user uses the client PC 901 to access the application 903 via the communication network 902 represented by the Internet.
  • a query necessary for data acquisition is issued from the client PC 901, and data is acquired from the distributed database 910.
  • the application 903 provides a service to the client PC 901 by accessing a database storing large-scale data and performing desired processing.
  • the application 903 is typically implemented as a Web application. In this embodiment, it is assumed that the application 903 does not have a function for processing large-scale data itself, and processes small-scale data necessary to respond to a request from the client PC 901.
  • the application 903 is an application that processes text information to which position information and time are added.
  • the application 903 displays a certain range on the map requested from the client PC 901 by changing the color according to the position distribution of diversity indicated by the text information.
  • the processing performed by the application 903 is not limited to this example.
  • the data management device 907 provides an API (Application Program Interface) 905 to the application 903, and the application 903 uses this API 905 to issue a search query.
  • API Application Program Interface
  • the client PC 901 has a function of selecting a display range and a zoom level when displaying a map on the browser.
  • the application 903 automatically calculates an allowable neighborhood range that can be considered to be the same region based on human sensitivity from the display range and zoom level. In this embodiment, the application 903 sets the neighborhood reference described in the first embodiment.
  • Interface 906 is provided as a comparator that stipulates comparing any two sets.
  • T is a data class and a set is expressed by a list of List ⁇ T> and T
  • the comparator is described as “public int evaluator (List ⁇ T> lst1, List ⁇ T> lst2)).
  • the application 903 implements the comparison processing by designating the reconstructed data class DataClass to be actually handled as T as shown by the interface implementation 904 in FIG.
  • the data management device 907 receives a data search query issued from the application 903 when the display range is selected for the client PC 901.
  • This data search query includes a data display range, a neighborhood criterion, an allowable neighborhood criterion, and a viewpoint criterion. Then, the data management device 907 uses the database driver 908 to acquire the corresponding data, perform data reconstruction and sampling, and return a set of data subsets to the application 903.
  • the results are output as a set of data clusters sorted by viewpoint criteria for each neighborhood. For example, when the results are displayed on the browser, the results are displayed in a list form in a list format, and the diversity is displayed at a corresponding location on the map based on a predetermined color coding. For example, the higher the diversity, the brighter the color may be displayed.
  • the application 903 may implement a function for interactively searching for customer behavior trends as a marketing tool.
  • the user is a marketer and analyzes customer information such as past log data when considering a marketing strategy.
  • customer behavior trends will be described.
  • customer information includes the residence location, purchase item ID, purchase item category, purchase time, customer age, and the like. Based on this information, the marketer is supposed to make a store opening plan and a sales plan.
  • the marketer narrows down the purchased item category to the main product category (for example, food).
  • the marketer uses the residence position as a neighborhood reference.
  • the marketer sets the allowable neighborhood range reference to, for example, 5 km.
  • the marketer also sets the viewpoint standard to low customer age diversity. If the data management device 907 is used under such an assumption, it is possible to extract only data of residential areas where the purchase layer is concentrated in a specific age part as a subset of the original data. By analyzing the extracted information, it is possible to determine which age group is the main purchase layer in each region.
  • the marketer can obtain more information by using the extracted subset. For example, marketers use age and residence location as neighborhood criteria. Further, the marketer sets the allowable neighborhood range reference to, for example, 10 years old and a position range of 5 km, respectively. In addition, the marketer sets the viewpoint criterion as to which purchase item ID is purchased in which purchase time zone (for example, every hour) from the viewpoint of low diversity.
  • the data management device 907 can be determined whether a specific age group purchases a specific purchase item at a specific time in a specific area. For example, it is determined that a resident in his 20s who lives in a certain region often purchases instant foods around 23:00.
  • the example shown in this embodiment is a simple example of information set in a query.
  • Information (for example, neighborhood criteria and viewpoint criteria) set in the query may be more complicated.
  • a general function for extracting data from a database when searching for a complicated case, it is necessary to describe a complicated search sentence.
  • the search processing can be performed flexibly and at high speed.
  • hypothesis verification can be efficiently performed by repeatedly issuing a search query with the above-described flexibility.
  • FIG. 10 is a block diagram illustrating a configuration example of the data search apparatus according to the present embodiment.
  • the data search apparatus illustrated in FIG. 10 includes a data registration unit 110, a data search unit 1020, and a data search unit 1030.
  • the data search apparatus includes a plurality of data search units, so that search processing can be performed based on a plurality of criteria.
  • the query 1001 specifies two sets of neighborhood criteria, allowable neighborhood range criteria, and viewpoint criteria, respectively.
  • the data search unit 1020 creates a spatial attribute based on the first neighborhood criterion and the first allowable neighborhood range criterion. Further, the data search unit 1020 samples a set of subsets of data divided using the space attribute based on the first viewpoint criterion.
  • the sampled data is input to the data search unit 1030.
  • the data search unit 1030 creates a spatial attribute for the sampled data based on the second neighborhood criterion and the second allowable neighborhood range criterion. Further, the data search unit 1030 samples a set of subsets of data divided using the space attribute based on the second viewpoint criterion.
  • the data search apparatus includes a plurality of data search units, so that the sampling process can be repeated.
  • the query analysis unit 121 updates conditions such as an appropriate neighborhood criterion, an allowable neighborhood range criterion, and a viewpoint criterion from the sampled result, and notifies the data reconstruction unit 122 and the sampling unit 125 of the information again. It is sufficient to perform a loop process.
  • FIG. 11 is a block diagram showing an outline of a data search apparatus according to the present invention.
  • the data search apparatus according to the present invention includes a proximity criterion used as a criterion for determining similarity of data to be searched, an allowable neighborhood range criterion indicating a range in which the data to be searched are similar, and a viewpoint criterion indicating a search viewpoint.
  • a spatial attribute mapping mapping the search target data on a space in which similarity with other data can be determined
  • a spatial mapping generation unit 81 for example, a query analysis unit 121) that generates a spatial attribute mapping f
  • a viewpoint mapping generation unit 82 for example, query analysis unit 121) that generates a viewpoint attribute mapping (for example, viewpoint attribute mapping g) to be originally mapped, and a search object using the spatial attribute mapping
  • the space attribute information generating unit 83 for example, the data reconstructing unit 122 that generates the spatial attribute information corresponding to the data, and the set of the spatial attribute information are divided according to the allowable neighborhood range criterion.
  • Each subset is generated using a subset generation means 84 (for example, sampling means 125) that creates a set of search target data corresponding to each spatial attribute information as a subset of the search target data, and a viewpoint attribute map.
  • mapping means 85 for example, sampling means 125 for mapping each of the subsets corresponding to the elements of the mapped total ordered set according to the order determined based on the elements.
  • Search result specifying means 86 for example, sampling means 125 for specifying search results (for example, selecting Q items in descending order) is provided.
  • the data search can be performed at high speed and flexibly.
  • a query including a neighborhood criterion used as a criterion for judging similarity of search target data, an allowable neighborhood range criterion indicating a range in which the search target data is similar, and a viewpoint criterion indicating a search viewpoint
  • a spatial mapping generation unit that generates a spatial attribute mapping that maps data to be searched on a space where similarity with other data can be determined
  • a viewpoint mapping generating means for generating viewpoint attribute mapping that maps one or more pieces of given data under a total ordered set, and a search using the spatial attribute mapping
  • spatial attribute information generating means for generating spatial attribute information corresponding to the data, and dividing the set of spatial attribute information according to the allowable neighborhood range criterion
  • a subset generation means for creating a set of search object data corresponding to each divided space attribute
  • the spatial mapping generation unit generates a spatial attribute mapping that maps the data specified as the search result based on the new neighborhood criterion and the allowable neighborhood range criterion, and the viewpoint mapping generation unit generates the new viewpoint criterion.
  • the viewpoint attribute mapping is generated based on the spatial attribute information generating means, and the spatial attribute information generating means generates the spatial attribute information corresponding to the data by converting the data specified as the search result using the spatial attribute mapping. Or the data search device according to appendix 2.
  • the search result output means is either a spatial attribute map, a viewpoint attribute map, or an allowable neighborhood range criterion, or a spatial attribute map, a viewpoint attribute map, and The data search device according to supplementary note 3, wherein all of the allowable neighborhood range criteria are updated.
  • Spatial attribute mapping is a mapping that prescribes a method for converting a data attribute to a metric space in which a quantitative index that can determine the similarity between arbitrary data is defined.
  • the range of data that can be identified is defined
  • the viewpoint attribute map is a map that defines a method for converting data attributes into a fully ordered set, according to any one of appendix 1 to appendix 8. Data retrieval device.
  • the viewpoint criterion is any one of supplementary notes 1 to 9 in which information indicating which data set the searcher prefers when comparing two arbitrary data sets is specified.
  • a query including a neighborhood criterion used as a criterion for determining similarity of search target data, an allowable neighborhood range criterion indicating a range in which the search target data is similar, and a viewpoint criterion indicating a search viewpoint
  • a neighborhood criterion used as a criterion for determining similarity of search target data
  • an allowable neighborhood range criterion indicating a range in which the search target data is similar
  • a viewpoint criterion indicating a search viewpoint
  • Spatial mapping generation processing for generating a spatial attribute mapping that maps data to be searched on a space where similarity with other data can be determined based on the neighborhood criterion and the allowable neighborhood range criterion according to an input of a query including In response to the input of the query, based on the viewpoint criteria, a viewpoint mapping generation process for generating a viewpoint attribute mapping that maps one or more pieces of given data under a total ordered set, using the spatial attribute mapping Spatial attribute information generation processing for generating spatial attribute information corresponding to the data by converting search target data, and the spatial attribute information according to the allowable neighborhood range criterion A subset generation process for dividing a set and creating a set of search target data corresponding to each divided space attribute information as a subset of the
  • a computer is caused to execute a data extraction process for extracting data satisfying a specified condition from the data stored in the data storage means for storing data to be searched. 14.
  • the present invention is preferably applied to a data search apparatus that extracts a subset of highly interested data from a data group to be searched.

Landscapes

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

Abstract

 空間写像生成手段81は、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する。観点写像生成手段82は、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する。空間属性情報生成手段83は、空間属性写像を用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成する。部分集合生成手段84は、許容近傍範囲基準に従って空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する。写像手段85は、観点属性写像を用いて、各部分集合を全順序集合の元に写像する。

Description

データ検索装置、データ検索方法およびデータ検索用プログラム
 本発明は、検索対象とするデータ群から関心の高いデータの部分集合を抽出するデータ抽出装置、データ検索方法およびデータ検索用プログラムに関する。
 関心のあるデータの特徴に近いデータを検索する方法として、最近傍検索が知られている。これは、画像データなどが特徴ベクトルで表現され、検索(クエリ)キーとして用いられるこの特徴ベクトルに類似した特徴ベクトルを有するデータを複数抽出する方法である。
 特に、複数(K個)の類似ベクトルを検索する方法として、KNN(K-Nearest Neighbor)探索などが知られている。また、検索方法として、木構造を用いたR-treeや、ANN(Approximate Nearest Neighbor)なども使用される。
 R-treeなどの方法では、特徴ベクトル空間における空間インデックスを予め木構造で作成しておき、特徴ベクトル間の距離などが、所定の指定範囲に収まるデータを検索する。なお、この木構造は、検索速度を向上する目的で作成される。
 ANNは、近似的に検索を行うことで、検索処理をさらに高速化させる方法である。また、高次元の特徴ベクトルに対しても検索処理が有効に作用することを目的として、LSH(Locality Sensitive Hashing)なども提案されている(非特許文献1参照。)
 また、特許文献1には、高次元の特徴ベクトルを検索する検索装置が記載されている。特許文献1に記載された検索装置は、特徴ベクトルそのものをインデックス化するのではなく、特徴ベクトルを量子化することにより得られる量子化コードを用いることで、メモリ使用率を削減する。
特開2011-257970号公報
Datar, M., Immorlica, N., Indyk, P., and Mirrokni, V., "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions", SCG '04 Proceedings of the ACM Symposium on Computational Geometry, ACM Press, p.253-262, 2004
 上述する方法では、検索したいデータ(すなわち、関心の高いデータ)がデータ間の類似性を判断するために考慮される特徴ベクトル空間に表現されることが、暗黙的に仮定されている。つまり、上述する方法では、検索したいデータを特徴ベクトル空間の一点として表現している(すなわち、検索者の関心を特徴ベクトルで表現している)。そのため、上述する方法では、空間上に表現された点の近傍を、いかに効率的に検索するかが課題になる。
 しかし、例えば、ある特徴ベクトル空間を作成した場合に、その空間の中で「飛び地」的に分散(分布)するデータを検索することを想定する。この場合、上述する方法では、検索のために複雑なクエリを作成する必要がある。
 例えば、実行しようとするクエリが同じ特徴ベクトル空間内で「特徴Aまたは特徴Bを有するデータ」を検索するクエリであれば、独立に複数のクエリを発行した後でそれぞれの結果をマージすればよい。しかし、そもそも、特徴ベクトルとして、特徴Aと特徴Bとを同じ空間で考えるべきではない場合も存在する。この場合、クエリ自体の作成が大変困難になり、特徴ベクトル空間自体を別途作成し直すことも必要になる。
 一般に、特徴ベクトル空間のインデックスなどを構造化する作業は計算負荷が大きい。そのため、自由な検索を柔軟かつインタラクティブに行う場合、あまり頻繁に特徴ベクトル空間を再構成することは、好ましくない。
 上記問題は、類似性を判断する観点が複数ある場合などに生じる。また、上記問題は、データの類似性の視点と、データに対する関心の高さを表す視点とが異なる場合などに生じる。ここで、データの類似性は、データ検索において条件を制限するために用いられ、近辺に存在するデータをおおよそ同じデータとみなしてよいか判断するために用いられる量である。また、データに対する関心の高さは、検索するユーザがどのようなデータに興味があるか判断するために用いられる量である。
 例えば、位置情報が付与されたテキストデータを対象に、「類似するテキスト情報がなるべく密集している領域」を検索する場合を想定する。この場合、データの類似性を判断する際、テキスト情報の類似性だけでなく、位置的な類似性も同時に考慮する必要がある。
 一般的な方法を利用して、単一の特徴ベクトル空間でこれを表現するには、テキスト情報と位置情報の両方が含まれる特徴ベクトル空間を作成する必要がある。そして、テキスト情報のみで考えた場合に近距離に存在する(すなわち、類似する)データの中で、位置情報でも類似するデータ群を許容された範囲の条件に応じて検索する必要がある。さらに、この検索を行うための処理を一般的な近傍検索で用いられる書式で作成する場合、その処理を作成するのは、非常に複雑になる。
 さらに、関心のある特徴が、類似するテキスト情報が密集する領域であれば、類似するテキスト情報として単に密集するデータを用いればよい。しかし、観点が変更され、単にテキスト情報の類似性ではなく、もっと複雑な観点による判断をしてデータの取捨選択を行いたいことも想定される。この場合、特徴ベクトル空間自体も合わせて作り直す必要が生じる可能性がある。
 このように、データ検索処理では、複数の類似性を示す観点が存在する場合や、各データ検索処理において、考慮すべき複数の類似性を示す観点の使われ方が異なる場合も存在する。特徴ベクトル空間における近傍検索処理を一般的な方法で行う場合、クエリが複雑になったり、データ検索のための再構造化が必要なったりする問題がある。そのため、複数の類似性を示す観点に基づいて複雑な検索を行う場合であっても、高速かつ柔軟にデータ検索を行えることが望ましい。
 そこで、本発明は、データ間の複数の類似性を示す観点に基づいて検索を行う場合であっても、高速かつ柔軟にデータ検索を行うことができるデータ検索装置、データ検索方法およびデータ検索用プログラムを提供することを目的とする。
 本発明によるデータ検索装置は、検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成手段と、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成手段と、前記空間属性写像を用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成する空間属性情報生成手段と、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成手段と、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像手段と、写像された全順序集合の元に対応する各部分集合を、その元に基づいて判断される順序に応じて検索結果を特定する検索結果特定手段とを備えたことを特徴とする。
 本発明によるデータ検索方法は、検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成し、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成し、前記空間属性写像を用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成し、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成し、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像し、写像された全順序集合の元に対応する各部分集合を、その元に基づいて判断される順序に応じて検索結果を特定することを特徴とする。
 本発明によるデータ検索用プログラムは、コンピュータに、検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成処理、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成処理、前記空間属性写像を用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成する空間属性情報生成処理、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成処理、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像処理、および、写像された全順序集合の元に対応する各部分集合を、その元に基づいて判断される順序に応じて検索結果を特定する検索結果特定処理を実行させることを特徴とする。
 本発明によれば、データ間の複数の類似性を示す観点に基づいて検索を行う場合であっても、高速かつ柔軟にデータ検索を行うことができる。
本発明によるデータ検索装置の第1の実施形態の構成例を示すブロック図である。 データ再構成処理の例を示す説明図である。 第1の実施形態のデータ検索装置の動作例を示すフローチャートである。 空間属性写像および観点属性写像の例を示す説明図である。 マッピングの例を示す説明図である。 本発明によるデータ検索装置の第2の実施形態の構成例を示すブロック図である。 本発明によるデータ検索装置の第1の実施例の構成例を示すブロック図である。 2次元空間を分割した例を示す説明図である。 通信ネットワークを介してデータ検索を行う例を示す説明図である。 発明によるデータ検索装置の第3の実施例の構成例を示すブロック図である。 本発明によるデータ検索装置の概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
 図1は、本発明によるデータ検索装置の第1の実施形態の構成例を示すブロック図である。本実施形態のデータ検索装置は、データ登録部110と、データ検索部120とを備えている。データ検索装置は、ユーザの要求に応じたクエリ102が入力されると、予め入力(登録)されたデータ101の部分集合である出力部分集合データ103を出力する装置である。
 データ101は、検索対象のデータであり、ユーザによって事前に又は逐次的に、登録および更新される入力データである。データ101の形式は任意である。データ101は、典型的には、リレーショナルデータベースに代表されるように、一つのデータエントリに対して複数の任意の属性を有するデータとして表わされる。本実施形態では、この属性を指示してデータ検索が行われる。
 クエリ102は、検索者(以下、ユーザと記す)が、関心をもつデータを取得するために本発明によるデータ検索装置に入力する検索条件である。クエリ102は、少なくとも、データの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、ユーザの関心の高さ(すなわち、検索する観点)を示す観点基準を含む。なお、許容近傍範囲基準は、同一視可能なデータの範囲を規定した情報とも言える。
 近傍基準は、具体的には、与えられた複数のデータの類似性を示す基準である。望ましくは、近傍基準は、距離が定義された空間へデータをマッピングすることにより、空間上の距離の関係に基づいてデータの類似性を判断できる基準である。この距離は、例えば、ユークリッド距離や、ハミング距離など、様々な形態をとり得る。
 また、近傍基準がカテゴリーデータのように定量的でないデータの場合であっても、例えば、多次元尺度法などを用いて距離関係を定義して、近傍基準を取り扱ってもよい。
 許容近傍範囲基準は、具体的には、類似性の非常に高い特徴を有する一つのデータ群として取り扱われるデータの範囲を指定する範囲パラメータである。例えば、検索対象とするデータの距離を距離メトリックで表わすことができるD次元空間では、許容近傍範囲基準は、適当な半径で指定されるD次元球などで表わされる。
 観点基準は、具体的には、類似性が高いと判断され得る領域(以下、近傍領域と記す。)に属するデータ群同士を比較する際に、どのデータ群に対してより高い関心を有するか指定するパラメータである。観点基準は、例えば、任意の二つのデータ集合を比較した時に検索者がどちらのデータ集合をより好むか指定した情報と言うこともできる。このパラメータは、任意のデータ群を全順序集合の元にマッピング可能なものである。
 ここで、全順序集合とは、任意の元a,b,cに対して、二項関係≦および=(同値)が定義でき、さらに、反射律(a≦a)、推移律(a≦bかつb≦cならa≦c)、反対称律(a≦bかつb≦aならa=b)、および、完全律(全ての元の比較が可能)が成り立つ集合を表す。
 出力部分集合データ103は、ユーザによって入力されたクエリ102に対して出力される全データの部分集合の集合である。
 データ登録部110は、データベース管理手段111と、データベース112とを含む。データベース112は、データ101に含まれる属性を識別可能に保存する。データベース112は、例えば、データ101の属性をテーブル形式で管理してもよく、キーバリュー形式で管理してもよく、グラフ形式で管理してもよい。
 データベース管理手段111は、データベース112を管理する。具体的には、データベース管理手段111は、データ101が入力されると、入力されたデータをデータベース112に登録する。また、データベース管理手段111は、データの更新やデータの取得要求に対して、必要な処理を行う。
 データ登録部110は、典型的には、MYSQL(登録商標)によって構築されるデータベースシステムに代表されるRDBMS(リレーショナルデータベースマネジメントシステム)などにより実現される。データ登録部110は、例えば、Hadoop、CassandraおよびGraph databaseなどのNoSQL系データベースを用いて実現されてもよい。また、データサイズが大きくない場合、データ登録部110は、メモリ上に展開された配列の管理システムなどで実現されてもよい。
 データ検索部120は、クエリ分析手段121と、データ再構成手段122と、再構成データ管理手段123と、再構成データ記憶手段124と、標本化手段125とを含む。
 クエリ分析手段121は、クエリ102を分析し、データベース112の再構成処理に必要な情報をデータ再構成手段122に送信する。なお、後述する標本化手段125は、観点基準に基づいて、再構成されたデータからクエリ102に合致するデータを標本化する。そこで、クエリ分析手段121は、上記観点基準に基づく処理に必要な情報を標本化手段125に送信する。なお、クエリ分析手段121が各手段に送信する情報の詳細は、後述される。
 データ再構成手段122は、クエリ分析手段121から入力されるパラメータに従って、データベース112に含まれるデータを再構成する。具体的には、データ再構成手段122は、クエリ分析手段121から入力されるパラメータを用いて元のデータを変換し、変換した情報を基のデータに付加する。以下、元のデータを変換した情報を、空間属性部または空間属性情報と記す。すなわち、再構成化されたデータは、元のデータから抽出された空間属性部を、元のデータに付けくわえたデータである。
 図2は、データ再構成処理の例を示す説明図である。図2に示す例では、リレーショナルデータベースの形式で記憶されるデータに空間属性部を付加させたことを示す。なお、データ再構成手段122がデータを再構成する方法については、後述される。
 再構成データ記憶手段124は、データ再構成手段122によって再構成されたデータ(すなわち、元のデータおよび空間属性部を含むデータ)を記憶する。
 再構成データ管理手段123は、再構成データ記憶手段124を管理する。具体的には、再構成データ管理手段123は、要求に応じて、再構成されたデータを再構成データ記憶手段124に保存したり、更新したり、取得したりする処理を行う。再構成データ記憶手段124はデータベース112と同様に、典型的にはRDBMSにより実現される。ただし、再構成データ記憶手段124を実現する方法は、RDBMSに限定されない。再構成データ記憶手段124は、例えば、磁気ディスク等により実現される。
 標本化手段125は、クエリ分析手段121から受け取った情報を用いて再構成データから出力部分集合データ103を抽出する。具体的には、標本化手段125は、クエリ分析手段121から分割処理に用いられる情報(以下、分割情報と記す。)と観点評価に用いられる情報を受け取る。また、標本化手段125は、再構成データ管理手段123から再構成データを取得する。
 標本化手段125は、これらの情報に基づいて、出力部分集合データ103を抽出する。なお、標本化手段125が出力部分集合データ103を抽出する具体的方法は後述される。
 クエリ分析手段121と、データ再構成手段122と、再構成データ管理手段123と、標本化手段125とは、プログラム(データ検索用プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、データ検索装置の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、クエリ分析手段121、データ再構成手段122、再構成データ管理手段123、および標本化手段125として動作してもよい。
 また、クエリ分析手段121と、データ再構成手段122と、再構成データ管理手段123と、標本化手段125とは、それぞれが専用のハードウェアで実現されていてもよい。
 次に、本実施形態のデータ検索装置の動作を説明する。図3は、第1の実施形態のデータ検索装置の動作例を示すフローチャートである。図3に示す例では、ユーザがクエリを入力することにより、データ検索が開始される。
 まず、ユーザが検索に必要なクエリを入力する(ステップS301)。クエリは、図1に例示するデータベース112に格納されたデータに対する近傍基準、許容近傍範囲基準および観点基準を含む。
 クエリ分析手段121は、受け取ったクエリを分析し(ステップS302)、近傍基準、許容近傍基準および観点基準をもとに、空間属性写像f:E→Φ、観点属性写像g:E→V、および分割情報を作成する。ここで、Eは、データベース112内の一つのデータを元eとするデータ集合である。Φは、類似性が定義される空間を示す。Vは、全順序集合を示す。
 クエリ分析手段121は、空間属性写像fを示す情報をデータ再構成手段122に送信する(ステップS303)。また、クエリ分析手段121は、分割情報および観点属性写像gを示す情報を標本化手段125に送信する(ステップS304)。
 クエリ分析手段121の処理をさらに説明する。クエリ分析手段121は、空間属性写像fを近傍基準および許容近傍範囲基準から作成する。すなわち、近傍基準および許容近傍範囲基準には、空間属性写像fを作成するために必要な情報が指定される。空間属性写像fは、検索対象とするデータの属性情報を変換するものである。この変換は、データの属性情報を用いてデータ間の類似性を定量的に評価する目的で行われる。
 具体的には、クエリには、空間属性写像の詳細として、データの持つ属性情報のうち、どの属性を用いてどのような変換を施すかが記述される。また、クエリには、写像先の空間で定義される類似性の指標も記述される。このような変換方法として、例えば、写像先の座標系とその座標系への変換式が指定される。この場合、適当な数値をもつ複数の属性情報をベクトルとし、ベクトルの変換方法として適当な変換式およびそのパラメータ値を指定すればよい。この際、許容近傍範囲基準は、主にパラメータの値を決定するために使用される。
 例えば、指定された属性情報でベクトルデータを構成し、そのベクトルデータに対して適当な代数演算を行う演算式が指定される。さらに、指定された許容近傍範囲基準から演算式のパラメータとして用いられる係数行列が決定される。これらの情報により、空間属性写像が一意に決定されるため、この空間属性写像によって検索対象とするデータをマッピングすることができる。マッピングされたデータは、例えば、マッピングされた空間におけるユークリッド距離を用いてデータ間の類似性が評価される。
 この空間属性写像fは、一般には、複数のデータを含むデータ集合Eを空間属性φの集合Φに変換する写像として定義される。ただし、この空間属性写像fは、単一のデータeを単一の空間属性φに変換する写像φ=f(e)として定義されてもよい。
 言い換えると、この空間属性写像fは、データの属性から、任意のデータ間の類似性を判断可能な定量的指標が定義された距離空間へ変換する方法を規定する写像と言える。
 クエリ分析手段121は、例えば、写像の作成方法として予め複数の選択肢を用意しておき、どの写像を選択するかを示すキーワード情報およびパラメータ値の決定方法の指定に基づいて空間属性写像fを作成してもよい。また、予め管理者がメソッドとして写像を実装しておき、クエリ分析手段121は、対応するメソッドを選択できるようなポインタ情報の指定に応じて空間属性写像fを作成してもよい。
 観点属性写像gは、与えられたデータ集合を観点基準に基づいて全順序集合の元にマッピングする写像である。言い換えると、観点属性写像gは、データの属性から全順序集合へ変換する方法を規定する写像と言える。クエリ分析手段121は、空間属性写像fを作成する方法と同様の方法で観点属性写像gを作成すればよい。
 分割情報は、空間属性写像fによってマッピングされた空間を分割する方法を記述した情報である。クエリ分析手段121は、近傍基準および許容近傍範囲基準に指定された情報を用いて分割情報を作成する。クエリ分析手段121は、空間属性写像fを作成する方法と同様の方法で分割情報を作成すればよい。なお、後述する許容近傍範囲基準に基づいて分割処理を行うことができる場合、クエリ分析手段121は、分割情報を作成しなくてもよい。
 図4は、空間属性写像fおよび観点属性写像gの例を示す説明図である。図4に示す例では、データ集合E1およびE2が、それぞれ4つのデータ(e1,e2,e3,e4)を含んでいることを示す。
 図4に例示する空間属性写像fは、データ集合Eを空間属性の集合Φに変換する写像であり、4つのデータ(e1,e2,e3,e4)から、4つの空間属性φ(φ1,φ2,φ3,φ4)に変換したことを示す。
 また、図4に例示する観点属性写像gは、データ集合Eを全順序集合Vに変換する写像であり、4つのデータ(e1,e2,e3,e4)から、全順序集合の性質を満たすvに変換したことを示す。
 データ再構成手段122は、空間属性写像fの情報を受け取ると、データ集合Eに含まれる全てのe∈Eに対応するφ∈Φ(空間属性Φ=f(E))を計算する(図3におけるステップS305)。具体的には、データ再構成手段122は、データベース112に格納された全てのデータをデータベース管理手段111に要求する。そして、データ再構成手段122は、取得したデータベース112のデータ群Eに属する各データeiの空間属性情報φiを計算する。
 図5は、マッピングの例を示す説明図である。図5に例示するマッピング結果501は、データ再構成手段122がデータベース112のデータを2次元ユークリッド空間へマッピングした例を示す。
 そして、データ再構成手段122は、再構成データ管理手段123に(ei、φi)を送信し、再構成データ記憶手段124へ保存する要求を行う。
 再構成データ管理手段123は、データ再構成手段122より受け取ったデータ情報(図5に例示するei)および空間属性情報(図5に例示するφi)を再構成データ記憶手段124へ保存し、保存が終了したらデータ再構成手段122に保存終了通知を行う。
 データ再構成手段122は、全ての再構成データに対して保存終了通知を受け取ると、クエリ分析手段121にデータ再構成完了通知を行う。
 クエリ分析手段121はデータ再構成完了通知を受け取ると、標本化手段125に標本化開始通知を行う(ステップS306)。
 標本化手段125は、再構成データ管理手段123から再構成データを取得する。そして、標本化手段125は、再構成データの空間属性情報および許容近傍範囲情報を使って、再構成データのデータ情報(図5に例示するei)を部分集合の集合へと分割する(ステップS307)。標本化手段125は、許容近傍範囲基準に記載された条件に沿って、全てのデータを各部分集合に分割する。なお、クエリ分析手段121が分割情報を作成している場合、標本化手段125は、その分割情報に基づいて全てのデータを各部分集合に分割してもよい。各部分集合は、許容近傍範囲基準に従って許容される近傍領域を形成する。
 許容近傍範囲基準には、例えば、具体的な距離基準を指定するパラメータが指定される。この場合、標本化手段125は、部分集合に含まれる全てのデータ間のユークリッド空間距離が一定距離以内になるように空間を分割する。また、許容近傍範囲基準には、例えば、確率的距離基準を指定するパラメータが指定される。この場合、標本化手段125は、平均的な分布の広がりに基づいて空間を分割する。
 ただし、標本化手段125がデータ空間を分割する方法は、上記方法に限定されない。例えば、許容近傍範囲基準として適当な確率分布およびそのパラメータが指定された場合、標本化手段125は、その確率分布に従って空間を分割してもよい。すなわち、許容近傍範囲基準で示す範囲に再構成データの部分集合が含まれるように空間を分割できる方法であれば、標本化手段125は、他の方法を用いてデータを分割してもよい。
 図5に例示するマッピング結果502は、標本化手段125がマッピング結果501を4つの近傍領域(N1~N4)に空間を分割した例を示す。例えば、図5に示す例では、近傍領域N1には、3つのデータが含まれ、この3つのデータが再構成データの部分集合になる。
 標本化手段125は、得られた各近傍領域Niに属する部分集合Eiごとに、観点属性写像gを用いて、全順序集合P={pi|pi=g(Ei)}を計算する(ステップS308)。Pは全順序集合であるため、Pの任意の要素は比較可能である。そのため、標本化手段125は、上位Q個などのように、順序が高い順に選択するなどの標本化が可能である。
 図5に例示するマッピング結果503は、4つの近傍領域(N1~N4)ごとに観点評価値(v1~v4)を算出した例を示す。この観点評価値の集合は、全順序集合である。
 標本化のポリシは、予め定められた静的パラメタであってもよい。また、クエリ102に標本化のポリシが含まれている場合、標本化手段125は、そのポリシを用いて標本化を行ってもよい。標本化のポリシには、例えば、「上位Q個を選択する」、「上限データ数」などの情報が設定される。ただし、ポリシの内容は、例示した内容に限定されない。元のデータベースに記憶されたデータから実際に標本化されるデータのサイズを指定するものであれば、他の内容であってもよい。
 標本化手段125は、このようにして得られた部分集合の集合Ψ={Ψ1、Ψ2、・・・、ΨQ}を出力部分集合データ103として出力し、処理を終了する。
 図5に示す例では、v1~v4は、近傍領域N1~N4をマッピングした評価値(実数値)である。そこで、標本化手段125は、この評価値を基準に図5に例示する部分集合を選択すればよい。上記集合Ψの各要素は、各近傍領域に含まれるデータの集合に相当する。
 このようにして得られた出力部分集合データ103に含まれる各部分集合は、ユーザがクエリで指定した許容近傍範囲の概念を満たしたデータの集合であり、かつユーザの関心の高いデータになる。これらのデータは、必ずしも全てのデータが類似している必要はなく、各々のデータが望ましい特性を有し、かつ類似した部分でまとめられたグループとして抽出されるため、柔軟性の高いデータ検索が可能になる。
 また、上述するように、本実施形態では、データ再構成手段122や標本化手段125は、全データ数Nに対して、オーダーNの計算量で行う処理を選択可能なため、高速な応答が可能になる。
 このような特性を有するため、ユーザが必ずしも欲しいデータが明確でない場合でも、においても、データベース上のデータの中で本当に必要なデータに高速にアクセスすることができるようになる。具体的には、ユーザは、まず、どのようなデータを取得したいか仮説を立て、その仮説に対してクエリ入力を行い、戻り値の出力部分集合データを分析する。そして、ユーザは、その仮説を検証し、仮説を修正した新たな仮説で再度検証を行えばよい。本実施形態では、このような仮説検証ループをインタラクティブに行うことも可能である。
 以上のように、本実施形態によれば、クエリ分析手段121が、近傍基準と、許容近傍範囲基準と、観点基準とを含むクエリの入力に応じ、近傍基準および許容近傍範囲基準に基づいて、空間属性写像fを生成し、観点基準に基づいて観点属性写像gを生成する。データ再構成手段122が、空間属性写像fを用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成する。
 また、標本化手段125が、許容近傍範囲基準に従って空間属性情報を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する。標本化手段125は、観点属性写像を用いて各部分集合を全順序集合の元に写像し、写像された全順序集合の元に対応する各部分集合を、その元に基づいて判断される順序に応じて検索結果を特定する。
 よって、データ間の複数の類似性を示す観点に基づいて検索を行う場合であっても、高速かつ柔軟にデータ検索を行うことができる。
 具体的には、本実施形態によれば、データ間の複数の類似性や、検索時の観点を示す属性が存在しても、クエリが複雑になることを抑制できる。また、本実施形態によれば、データの再構成を行うことがない。そのため、柔軟性の高い検索を行うことが可能になる。
 また、例えば、一般的な近傍検索処理では、検索者がはっきりと欲しいデータの条件を指定できるほど事前知識がない場合には、効率的にデータを取得できないという問題があった。それは、事前知識が乏しい場合、検索時の制限や欲しいデータの観点など、適切な条件を事前に指定することが難しいからである。そのため、必ずしも最適に構造化されず、検索条件に合わせて取得したデータを見ながらインタラクティブに検索条件を変えていくことで所望のデータを取得することは困難であった。特にデータサイズが膨大になると、この作業は非常に時間を要してしまう。このように、一般的な方法では、対象とするデータの中から、試行錯誤を繰り返しながら、必要な情報が多く含まれる場所をインタラクティブかつ高速に特定することは難しかった。
 しかし、本実施形態によれば、上述するような柔軟性を有するため、仮説の設定と検索処理を繰り返す(すなわち、試行錯誤する)ことが可能である。このようなインタラクティブなアプローチが行えるため、検索に対する事前知識が乏しい中でも、適切なデータにアクセスすることが可能になる。
実施形態2.
 図6は、本発明によるデータ検索装置の第2の実施形態の構成例を示すブロック図である。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。本実施形態のデータ検索装置は、第1の実施形態のデータ検索部120が条件判断手段601をさらに含む。なお、条件判断手段601も、プログラム(データ検索用プログラム)に従って動作するコンピュータのCPUによって実現される。
 本実施形態のクエリ102は、近傍基準、許容近傍範囲基準、観点基準の他、条件判断手段601が判断に用いる条件(以下、出力条件と記す。)を含む。クエリ分析手段121は、入力されたクエリ102から、出力条件を抽出し、条件判断手段601に通知する。出力条件には、例えば、データ上限数や、実際に抽出される部分集合の特性などが設定される。なお、予め出力条件が定められている場合、クエリ102は、出力条件を含まなくてもよい。
 条件判断手段601は、クエリ分析手段121から出力条件を受け取る。そして、条件判断手段601は、標本化手段125による出力結果が、出力条件を満たしているかを実際に出力する前にチェックする。
 出力結果が出力条件を満たしている場合、条件判断手段601は、出力結果を出力部分集合データ103としてそのまま出力する。一方、出力結果が出力条件を満たしていない場合、空間属性写像、観点属性写像、許容近傍範囲基準のいずれか、または全てを更新する。これらを更新することにより、条件を緩和したり制限したりできる。
 例えば、データ上限数に満たない場合は、条件を緩和してさらに多くのデータを得られるように調整すればよい。具体的には、条件判断手段601は、空間属性写像を変更することで条件を緩和し、より多くのデータが得られるようにしてもよい。また、条件判断手段601は、標本化手段125が空間を分割する方法を変更することで条件を緩和し、より多くのデータ数が得られるようにしてもよい。
 このようなフィードバック機構は、予め決められた方法でパラメータを変更することにより実現されてもよく、遺伝アルゴリズムのようにランダムプロセスを導入したパラメータ変更によって好ましい方向に修正された変更を採用することにより実現されてもよい。
 以上のような構成により、ユーザの要件により適した検索結果を出力できる。
 以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。
 図7は、本発明によるデータ検索装置の本実施例の構成例を示すブロック図である。本実施例のデータ検索装置は、データ登録部710と、データ検索部720とを備えている。本実施例のデータ登録部710およびデータ検索部720は、それぞれ、第1の実施形態(または、第2の実施形態)のデータ登録部110およびデータ検索部120に相当する。
 データ登録部710は、データベース管理手段711と、データベース712とを含む。データベース管理手段711と、データベース712は、第1の実施形態のデータベース管理手段111と、データベース112にそれぞれ相当する。
 データ検索部720は、クエリ分析手段721と、データ再構成手段722と、再構成データ管理手段723と、再構成データ記憶手段724と、クラスタ化手段725と、クラスタ選定手段726と、データ整形手段727とを含む。
 クエリ分析手段721と、データ再構成手段722と、再構成データ管理手段723と、再構成データ記憶手段724とは、第1の実施形態のクエリ分析手段121と、データ再構成手段122と、再構成データ管理手段123と、再構成データ記憶手段124にそれぞれ相当する。
 また、クラスタ化手段725およびクラスタ選定手段726は、第1の実施形態の標本化手法125に相当する。
 本実施例では、データ701が、D次元ユークリッド空間上のベクトルx、時間t、適当なカテゴリーデータuおよびテキスト情報qを含むとする。ベクトルxは、例えば、ユーザIDがuであるユーザが、ある時間tにテキスト情報qを作成した場所の座標値で構成されたベクトルであるとする。ここで、場所が緯度および経度で定義される場合、場所は2次元座標として表現されるため、xは、2次元ベクトルになる。
 また、本実施例では、ユーザがクエリ702に収集したいデータ群を示す情報を記述する。ここでは、クエリ702が、「1km程度の平均的空間的広がりを持つ領域に分布し、かつ1時間程度の間に作成されたテキストデータの中で、ある単語wを含むテキストデータが、なるべく様々なユーザに作成されているデータ群を収集したい」ことを示すものとする。
 このクエリは、wという単語に深く関係するイベントが行われた場所を探すアクションを行う状況において情報の信頼性を高めるために作成されることが想定される。具体的には、リアルタイム性を考慮し、「情報がイベント近傍のユーザに1時間程度で広がったものと仮定し、少数の限られたユーザによってではなく、なるべく複数の発生源から発せられた情報」を検索したい場合、上記クエリが準備される。
 クエリ702の記述様式は任意である。例えば、インターフェース関数を規定した抽象クラスを用いたAPI(Application Program Interface )をユーザアプリケーション側に提供してもよい。この場合、ユーザが、このAPIを利用してアプリケーションを実装し、そのアプリケーションを用いてクエリ702を生成してもよい。
 また、データ検索装置側で入力パラメータを規定し、ユーザによって入力されるパラメータに応じてクエリ702を生成するようにしてもよい。なお、ユーザには、パラメータを予め設定した値の中から選択させてもよいし、パラメータとして値を入力させてもよいし、パラメータとして所定の範囲の値を指定させてもよい。本実施例では、ユーザが入力パラメータを指定する方法を例に説明する。
 本実施例では、許容近傍範囲基準は、1km程度の平均的空間広がりを示すものとする。また、ランダム化により空間を分割することによって、部分集合が作成されるものとする。なお、固定されたグリッドに基づいて空間や時間を分割する方法も考えられる。しかし、このような方法を用いた場合、分割する方法によっては望ましい可能性があるため、ランダム化により空間を分割する方がより好ましい。また、必要に応じて、他の分割方法が用いられてもよい。
 なお、分割方法は、データ検索装置の内部に予め定められていてもよく、クエリ702に詳細に指定されていてもよい。本実施例では、クエリ702で“平均1km幅、時間幅1時間でのrandom”と指定されることにより、データ検索装置の内部に定められたランダム化パラメータが用いられるとする。
 また、近傍基準には、“テキスト内に単語wを含み、時間かつ場所の線形変換による類似性評価”と指定されるとする。この近傍基準は、wを含まないテキスト同士が無限大の非類似性を有するとし、wを含むテキストがテキストという観点からは同一とみなされることを想定する。また、この近傍基準は、さらに、時間的および場所的距離を考慮して、線形変換によって空間属性写像が生成されることを想定する。
 また、観点基準には、“ユーザ多様性”が指定されているとする。
 クエリ分析手段721は、クエリ702が入力されると、空間属性写像、分割情報および観点属性写像を決定する。以下、これらの決定方法を説明する。
<空間属性写像>
 あるデータeのテキストt中に単語wを含むことを、便宜的にw∈e.tと表す。クエリ分析手段721は、まず、データベース712に格納された全てのデータの集合Eから、テキストtに単語wを含むデータのみからなる集合Ew(Ew={e∈E|w∈e.t})を取り出す写像θ:E→EをEw=θ(E)と定義する。
 さらに、クエリ分析手段721は、Ewから、空間座標x∈Rと時間座標t∈Rとを合成した3次元ユークリッド空間Rへの変換σ:Ew→Rとして、以下の式1に例示する写像σを定義する。ここで、Rは、実数体を示す。
 φ=σ(e)=Ay  (式1)
 式1におけるyは、xとtとを合成した3次元ベクトルである。また、式1におけるAは、許容近傍範囲基準に基づいて生成される行列であり、それぞれ1kmおよび1時間を単位長さ1に正規化する係数を対応する位置の対角成分に有する行列である。
 なお、本実施例では、時間および場所をスケール変換した値をそのまま用いるため、各元eに対する写像σ(e)の結果から、時間と場所成分を抜き出すだけで計算可能である。なお、より一般には、単一のデータeが有する複数の属性を用いて、例えば、線形変換を施したり、さらには複数のデータ群に対して複数の空間属性情報群を計算したりするような写像を定義することも可能である。
 以下、Ewの元全てに、上記の式1で示す変換を行う写像を便宜的にΦ=σ(Ew)と記す。ただしΦ={φ=σ(e)|e∈Ew}である。つまり、空間属性写像fは、θとfを合成した写像Φ=f(E)=σ(θ(E))で表現できる。
<分割情報>
 データ再構成手段722は、近傍基準に指定された“random”というキーワードと、許容近傍範囲情報に指定された「1km程度の平均的空間広がり」という情報に従って、空間属性情報が属する空間をランダム分割するための分割情報を作成する。
 本実施例では、分割する対象の空間の次元は、3次元である。また、本実施例では、後述する分割処理で必要なパラメータとして、正の整数Bと、正の整数Mと、2以上の整数Cと、ランダム変数Wに対する平均値が1である確率密度分布h(W)とが予め設定されているとする。なお、これらの値は、クエリ702から取得されてもよい。
 データ再構成手段722は、これらのパラメータを使って3次元空間を分割することを考える。具体的には、データ再構成手段722は、方線ベクトルがランダムなB個の方向を一様に向き、各方向に対して、その間隔がランダム変数Wをとるような平行平面で分割する。
 まず、以下に示す式2で表わされるインデックス計算式が定義される。
Figure JPOXMLDOC01-appb-M000001
 式2において、aは、ランダムな方向を一様に向いた2次元ベクトルである。各成分が独立な標準正規分布N(0,1)に従うランダム数で構成された2次元のランダムベクトルをζとすると、aは、a=ζ/|ζ|で算出される。なお、本実施例では、対象の空間が3次元空間であるが、一般には、D次元の場合でも、aは、同様に算出される。
 また、式2において、uは[0,1)の範囲の一様分布に従うランダム数である。また、wは、平均値が1の確率密度分布h(W)に従うランダム変数Wの実現値である。
 式2において、サイズ制限パラメータCは、インデックス番号の上限値をC-1に限定するために付加される。また、C=∞が指定された場合、mod Cは省略されるとする。
 図8は、2次元空間を分割した例を示す説明図である。式2が示す幾何学的な意味は、法線方向がaを向き、間隔wで配置された平面で空間を分割することである。式2を用いて計算されるインデックス番号が同じ値を持つ任意のベクトルは、同じ分割領域に属することになる。
 この分割処理をB回独立に繰り返すと、B個の一様ランダムな方向に平行に並んだ平面で空間を分割することができる。また、各分割領域は、そのインデックス番号の組みで表現される。さらに、空間を分割するこの処理をM回独立に行うことで、異なる方向および間隔でM個の空間に分割した結果が得られる。
 式2におけるランダム変数のそれぞれの実現値をsjk=(ajk,wjk,ujk)とする。ここで、j∈{1、・・・、M}、およびk∈{1、・・・、B}である。この場合、クエリ分析手段721は、分割パラメータS={{s11、s12、・・・、s1B}、・・・、{sM1、・・・、sMB}}、およびCを分割情報として用いる。
<観点属性写像>
 クエリ分析手段721は、クエリで指定された“ユーザ多様性”を表現するため、あるデータ群Euにおいて、ユーザ属性uの頻度分布{r1,r2,・・・,rk}が与えられた場合、以下に示す式3で、観点属性写像gを定義する。
Figure JPOXMLDOC01-appb-M000002
 式3において、r=r1+r2+・・・+rkである。式3は、ユーザ多様性を表現する一例である。クエリ分析手段721は、シンプソンの多様性指数など、多様性の順序が指定できる方法であれば、他の方法でユーザ多様性を表現してもよい。このように、クエリ分析手段721は、クエリの観点基準に記述された内容に応じて、観点属性写像を選択する。
 クエリ分析手段721は、空間属性写像fの情報として、上記のθ(E)およびσ(Ew)を示す情報をデータ再構成手段722に送信する。また、クエリ分析手段721は、分割情報として、上記の分割パラメータSおよびCをクラスタ化手段725に送信する。また、クエリ分析手段721は、観点属性写像gの情報として、上記の式3を示す情報をクラスタ選定手段726に送信する。
 なお、クエリ分析手段721は、送信先との間で写像の内容を予め共有しておき、送信先にパラメータだけ送信することによって、写像の情報を送信するようにしてもよい。また、クエリ分析手段721は、送信側で写像をメソッドとして実装しておき、コールバック関数として写像の情報を提供してもよい。また、クエリ分析手段721は、受信側に予め実装されたメソッドのうち、写像の内容に対応するメソッドを選択するコマンドを発行してもよい。
 また、クエリ分析手段721は、送信先との間で上記の式2の内容を予め共有しておき、送信先にパラメータだけ送信することにより、分割情報を送信するようにしてもよい。
 また、クエリ分析手段721は、上記の式3で示す“ユーザ多様性”の内容を示すメソッドを、クラスタ選定手段726にコールバック関数として提供することにより、観点属性写像の情報を送信してもよい。また、クエリ分析手段721は、クラスタ選定手段726に実装されている評価関数の中から、上記の式3の処理に該当するメソッドを選択するコマンドを発行することにより、観点属性写像の情報を送信してもよい。
 データ再構成手段722は、空間属性写像fの情報を受信すると、データベース管理手段711を通して、データベース712のデータを取得する。データ再構成手段722は、データベースに定義された通常のクエリを用いて、テキスト情報にwを含むデータを全て取得する。そして、データ再構成手段722は、取得した各データに対して空間および時間情報で構成された3次元ベクトルyを用いて、式1に示す処理を行うことで、φを取得する。
 データ再構成手段722は、元のデータeの属性に取得したφを空間属性情報として付け加え、再構成データ管理手段723にこのデータの保存要求を行う。
 再構成データ管理手段723は、要求されたデータを再構成データ記憶手段724に保存する。再構成データ管理手段723は、保存処理が完了したら完了通知をデータ再構成手段722に返す。この処理を繰り返し、再構成データ記憶手段724へ全てのデータの登録が完了したら、クエリ分析手段721にデータ再構成完了通知が行われる。
 データ再構成完了通知を受けたクエリ分析手段721は、再構成データ記憶手段724に記憶されたデータのクラスタ化をクラスタ化手段725に要求する。
 クラスタ化手段725は、受け取った分割情報を用いて空間分割をM回行う。この際、再構成データの空間属性情報も用いられる。クラスタ化手段725は、各分割処理(以下、試行と記す。)で分割された領域に属するデータを一つの部分集合としてグループ化する。
 この結果、各試行i(i=1、・・・、M)で分割された領域の総数をKiとし、分割された領域それぞれに属するデータの部分集合をEi,j(j=1、・・・、Ki)とすると、出力Ωは、Ω={{E1,1、・・・、E1,K1}、{E2,1、・・・、E2,K2}、・・・、{EM,1、・・・、EM、KM}}になる。
 クラスタ選定手段726は、この出力Ωから、各試行iにおける部分集合Ei,jについて、ユーザ種類の頻度分布を作成する。そして、クラスタ選定手段726は、上記に示す式3を用いて、そのユーザ多様性指数Pi,jを計算する。この結果、{{P1,1、・・・、P1,K1}、{P2,1、・・・、P2,K2}、・・・、{PM,1、・・・、PM、KM}}が得られる。
 クラスタ選定手段726は、ユーザ多様性指数Pi,jの大きいものから上位Qを選択する。選択した結果(以下、標本化部分集合データΩQと記す。)は、ΩQ={{E1,1、・・・、E1,Q}、{E2,1、・・・、E2,Q}、・・・、{EM,1、・・・、EM,Q}}と表わすことができる。この処理により、考慮している空間の中で、ユーザ多様性の高い領域のデータの部分集合をサンプリングすることができる。なお、Qは、予め決められた値であってもよく、クエリで指定される値であってもよい。
 最後に、データ整形手段727は、必要に応じて、この標本化部分集合データΩQ={{E1,1、・・・、E1,Q}、{E2,1、・・・、E2,Q}、・・・、{EM,1、・・・、EM,Q}}を加工し、また、整形して、出力部分集合データ703として出力する。
 一般に、異なる試行番号iとjについて抽出されたそれぞれの部分集合{Ei,1、・・・、Ei,Q}と{Ej,1、・・・、Ej,Q}は、類似する空間領域に分布する可能性がある。また、これらの部分集合は、全く同一の場合もあるし、一部重複するデータを含む場合もある。このような場合、一つにまとめるように整形して出力する方がよい場合もある。
 データの整形方法は、ポリシに依存する。例えば、「共通データを有する部分集合は、一つの部分集合に統合する」というポリシを想定する。この場合、データ整形手段727は、入力集合{Xi}(i=1、・・・、L)が与えられた時、その出力{Yj}は、『Yj=Union({Xi}){i∈Lj}』かつ「j1≠j2に対してYj1∩Yj2=φ(空集合)」を満たすように{Yj}を作成すればよい。
 ここで、『Union({Zi}){iの範囲}』は、集合{Zi}の中で指定の範囲内にあるiに対応するZiの和集合を取ることを意味する。また、Lj⊆{1、・・・、L}は、異なるi1∈Ljとi2∈Ljに対して、Xi1∩Xi2≠φ(空集合)を満たし、かつ異なるj1とj2に対して、Lj1∩Lj2=φ(空集合)を満たすインデックス集合である。
 この場合、データ整形手段727は、あるXiに対して、重複する元を含む他のXjを探索する。データ整形手段727は、あるXiと他のXiとを統合した集合を作成し、その集合{Xi}に対して所定の処理を行う。データ整形手段727は、全ての集合が重複する元を持たなくなるまでこの操作(オペレーション)を繰り返す。
 なお、データ整形手段727がデータを整形する方法は、上記方法に限定されない。データ整形手段727は、ポリシに応じて、データ整形をせず、データをそのまま出力してもよい。すなわち、データ整形手段727は、ユーザの要望に合致した形式でデータを出力すればよい。
 本実施例では、(超)平面で空間をランダム分割する方法を説明した。なお、クラスタ化手段725は、一度非線形変換を行った後に平面分割を行うことにより、平面以外の面で空間を分割してもよい。
 また、クラスタ化手段725は、ランダム分割以外の方法で空間を分割してもよい。クラスタ化手段725は、例えば、データ分布の局在性を考慮して空間を分割してもよい。また、クラスタ化手段725は、ボロノイ分割を行ってもよい。また、クラスタ化手段725は、R-Treeなどのツリー構造を用いた空間インデックスを用いて空間を分割してもよい。クラスタ化手段725が空間を分割する方法には、その他様々なクラスタリング手法が適用可能である。
 ただし、仮説の検証を繰り返すことを考慮すると、応答時間が重要になる。一般に、クラスタリング処理は時間がかかるため、精度よりも高速性に優れた手法を用いる方が、本発明ではより好ましい。
 第2の実施例では、図1に例示するデータベース112が分散データベースとして配置され、ユーザがインターネットに代表される通信ネットワークを介して、クライアントPC(Personal Computer )からデータ検索装置を利用する例を説明する。図9は、通信ネットワークを介してデータ検索を行う例を示す説明図である。図9に例示するデータ管理装置907が、本発明のデータ検索装置に相当する。
 ユーザは、クライアントPC901を用いて、インターネットに代表される通信ネットワーク902を介してアプリケーション903にアクセスする。この際、クライアントPC901から、データの取得に必要なクエリが発行され、分散データベース910から、データを取得する。
 アプリケーション903は、大規模データが保存されたデータベースにアクセスし、所望の処理を行うことでクライアントPC901に対してサービスを提供する。アプリケーション903は、典型的には、Webアプリケーションとして実装される。本実施例では、アプリケーション903は、大規模データを処理する機能自体の実装は具備していないものとし、クライアントPC901の要求に対して応答するために必要な小規模データを処理するとする。
 本実施例では、アプリケーション903は、位置情報や時間が付加されたテキスト情報を処理するアプリケーションであるものとする。アプリケーション903は、例えば、クライアントPC901から要求された地図上のある範囲に対して、テキスト情報が示す多様性の位置分布に応じて色を変えて表示する。ただし、アプリケーション903が行う処理は、この例に限定されない。
 検索対象とするデータは、通信ネットワーク909を介して接続された分散データベース910上に格納され、管理されるものとする。また、データ管理装置907は、データベースドライバ908を用いて、分散データベース910にアクセス可能であるとする。このデータ管理装置907は、アプリケーション903にAPI(Application Program Interface )905を提供しており、アプリケーション903は、このAPI905を利用して検索クエリを発行する。
 クライアントPC901は、ブラウザに地図を表示する際、表示範囲やズームレベルを選択できる機能を有する。アプリケーション903は、表示範囲とズームレベルとから、人間の感性をもとに大体同じ地域と考えて差し支えのない許容近傍範囲を自動的に算出する。また、本実施例では、アプリケーション903は、実施例1で説明した近傍基準を設定する。
 さらに、データ管理装置907の提供するAPI905にインターフェース906を実装することで、観点基準としてユーザ多様性が指定される。
 インターフェース906は、任意の二つの集合を比較することを規定したコンパレータとして提供される。ここで、Tをデータクラスとし、集合をList<T>とTのリストで表現すると、コンパレータは、「public int evaluator(List<T> lst1,List<T> lst2))と記述される。
 アプリケーション903は、図9のインターフェース実装904で示すように、実際に取り扱う再構成データクラスDataClassをTに指定し、比較処理を実装する。
 データ管理装置907は、クライアントPC901に対して表示範囲の選択が行われたことを契機としてアプリケーション903から発行されるデータ検索クエリを受信する。このデータ検索クエリには、データの表示範囲、近傍基準、許容近傍基準および観点基準が含まれる。そして、データ管理装置907は、データベースドライバ908を用いて、該当データを取得し、データの再構成および標本化を行い、データの部分集合の集合をアプリケーション903に返信する。
 結果は、近傍ごとに、観点基準でソートされたデータクラスタの集合として出力される。例えば、結果をブラウザに表示する場合、結果がリスト形式で一覧表示され、対応する地図上の場所に多様度が、予め決められた色分けに基づいて表示される。例えば、多様度が高いほど、明るい色で表示するように設定しておいてもよい。
 他にも、アプリケーション903は、マーケティングツールとして、顧客の行動動向をインタラクティブに検索できる機能を実装していてもよい。この場合、ユーザは、マーケターであり、マーケティング戦略を考える上で過去のログデータなどの顧客情報を分析するとする。以下、顧客の行動動向を分析する方法の例を説明する。
 顧客情報は、居住位置、購入アイテムID、購入アイテムカテゴリ、購入時間、顧客年齢などを含むとする。マーケターは、この情報をもとに、出店店舗計画、および販売計画を立てるとする。
 まず、マーケターは、購入アイテムカテゴリを主要製品のカテゴリ(例えば食品など)に絞る。また、マーケターは、居住位置を近傍基準に使用する。さらに、マーケターは、許容近傍範囲基準を、例えば5kmと設定する。また、マーケターは、観点基準を、顧客年齢の多様性の低さとする。このような想定でデータ管理装置907が利用されると、ある特定の年齢部分に購買層が集中する居住地域のみのデータを、元データの部分集合として抽出できる。抽出された情報を分析することで、各地域で具体的にどの年齢層が主たる購買層なのか判断できる。
 さらに、マーケターは、抽出した部分集合を利用して、さらに情報を得ることができる。例えば、マーケターは、年齢および居住位置を近傍基準に使用する。さらに、マーケターは、許容近傍範囲基準を、例えば10歳および位置範囲5kmとそれぞれ設定する。また、マーケターは、観点基準を、多様性の低さの観点から、どの購入アイテムIDをどの購入時間帯(例えば1時間区切りなどで)に購入しているか、と設定する。
 このような想定でデータ管理装置907が利用されると、ある特定地域で、特定年齢層が、特定購入アイテムを特定時間に購入しているのかが判断できる。例えば、ある地域に住む20代の住民が、23時頃にインスタント食品をよく購入しているといったことが判断される。
 これらの情報が取得できれば、例えば、どの地域に、どのような店舗を出店し、その店舗で何時頃にどのような商品を入荷すればよいか判断するための情報を得ることができる。
 本実施例で示した例は、クエリに設定する情報の簡単な一例である。クエリに設定する情報(例えば、近傍基準や観点基準)は、さらに複雑であってもよい。例えば、データベースからデータを抽出する一般的な機能を利用する場合、複雑な事案に関する検索を行う場合、複雑な検索文を記載する必要がある。しかし、本実施例によれば、複雑な検索文を記載しなければならない事案に関する検索を行う場合であっても、柔軟かつ高速に検索処理を行うことができる。
 また、必ずしも事前に明らかではない検索条件が必要な場合、少しずつ検索条件の組み合わせを変更する試行錯誤プロセスが必須である。本実施例によれば、上述する柔軟性により、検索クエリの繰り返し発行することによって、効率的に仮説検証を行うことができる。
 第3の実施例では、データ検索装置が第1の実施形態のデータ検索部120を多段に接続した例を説明する。図10は、本実施例のデータ検索装置の構成例を示すブロック図である。図10に例示するデータ検索装置は、データ登録部110と、データ検索部1020と、データ検索部1030とを備えている。
 図10に例示するように、データ検索装置がデータ検索部を複数備えることで、複数の基準に基づいて検索処理を行うことが可能になる。
 例えば、クエリ1001が、それぞれ、近傍基準、許容近傍範囲基準および観点基準の組を2つ指定するものとする。この場合、データ検索部1020は、第一の近傍基準および第一の許容近傍範囲基準によって空間属性を作成する。また、データ検索部1020は、空間属性を用いて分割されたデータの部分集合の集合を、第一の観点基準に基づいて標本化する。
 標本化されたデータは、データ検索部1030に入力される。データ検索部1030は、その標本化されたデータに対して、第二の近傍基準および第二の許容近傍範囲基準によって空間属性を作成する。また、データ検索部1030は、空間属性を用いて分割されたデータの部分集合の集合を、第二の観点基準に基づいて標本化する。本実施例では、データ検索装置がデータ検索部を複数備えることで、標本化する処理を繰り返すことが可能になる。
 なお、図10に示す例では、データ検索部が2つの場合を例示しているが、データ検索部の数は、2つに限定されず、3つ以上であってもよい。また、データ検索装置がデータ検索部を複数備えるような構成ではなく、第2の実施形態で示した構成であってもよい。この場合、クエリ分析手段121が、標本化した結果から、適切な近傍基準、許容近傍範囲基準および観点基準などの条件を更新し、データ再構成手段122や標本化手段125に、再度情報を通知するループ処理を行えばよい。
 次に、本発明の概要を説明する。図11は、本発明によるデータ検索装置の概要を示すブロック図である。本発明によるデータ検索装置は、検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリ(例えば、クエリ102)の入力に応じ、近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像(例えば、空間属性写像f)を生成する空間写像生成手段81(例えば、クエリ分析手段121)と、クエリの入力に応じ、観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像(例えば、観点属性写像g)を生成する観点写像生成手段82(例えば、クエリ分析手段121)と、空間属性写像を用いて検索対象のデータを変換することにより、そのデータに対応する空間属性情報を生成する空間属性情報生成手段83(例えば、データ再構成手段122)と、許容近傍範囲基準に従って空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成手段84(例えば、標本化手段125)と、観点属性写像を用いて、各部分集合を全順序集合の元に写像する写像手段85(例えば、標本化手段125)と、写像された全順序集合の元に対応する各部分集合を、その元に基づいて判断される順序に応じて検索結果を特定する(例えば、順序が高い順にQ個選択する)検索結果特定手段86(例えば、標本化手段125)とを備えている。
 そのような構成により、データ間の複数の類似性を示す観点に基づいて検索を行う場合であっても、高速かつ柔軟にデータ検索を行うことができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成手段と、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成手段と、前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成する空間属性情報生成手段と、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成手段と、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像手段と、写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定する検索結果特定手段とを備えたことを特徴とするデータ検索装置。
(付記2)検索対象のデータを記憶するデータ記憶手段と、前記データ記憶手段に記憶されたデータから、指定された条件を満たすデータを抽出するデータ抽出手段とを備え、空間属性情報生成手段は、抽出されたデータを空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する付記1記載のデータ検索装置。
(付記3)空間写像生成手段は、新たな近傍基準および許容近傍範囲基準に基づいて、検索結果として特定されたデータを写像する空間属性写像を生成し、観点写像生成手段は、新たな観点基準に基づいて観点属性写像を生成し、空間属性情報生成手段は、検索結果として特定されたデータを前記空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する付記1または付記2記載のデータ検索装置。
(付記4)検索結果出力手段は、特定された検索結果が指定された条件を満たさない場合、空間属性写像、観点属性写像もしくは許容近傍範囲基準のいずれか、または空間属性写像、観点属性写像および許容近傍範囲基準の全てを更新する付記3記載のデータ検索装置。
(付記5)部分集合生成手段は、許容近傍範囲基準に従って空間属性情報をランダム分割することにより、検索対象データの部分集合を作成する付記1から付記4のうちのいずれか1つに記載のデータ検索装置。
(付記6)データ記憶手段は、各データの属性をテーブル形式、キーバリュー形式またはグラフ形式で管理する付記2記載のデータ検索装置。
(付記7)データ記憶手段は、記憶されたデータにSQLまたはNoSQLを用いてアクセスできる付記6記載のデータ検索装置。
(付記8)データ記憶手段は、分散化可能に配置される付記6または付記7に記載のデータ検索装置。
(付記9)空間属性写像は、データの属性から、任意のデータ間の類似性を判断可能な定量的指標が定義された距離空間へ変換する方法を規定する写像であり、許容近傍範囲基準には、同一視可能なデータの範囲が規定され、観点属性写像は、データの属性から全順序集合へ変換する方法を規定する写像である付記1から付記8のうちのいずれか1つに記載のデータ検索装置。
(付記10)観点基準には、任意の二つのデータ集合を比較したときに、検索者がどちらのデータ集合をより好むかを示す情報が指定される付記1から付記9のうちのいずれか1つに記載のデータ検索装置。
(付記11)検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成し、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成し、前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成し、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成し、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像し、写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定することを特徴とするデータ検索方法。
(付記12)検索対象のデータを記憶するデータ記憶手段に記憶された当該データから、指定された条件を満たすデータを抽出し、抽出されたデータを空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する付記11記載のデータ検索方法。
(付記13)コンピュータに、検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成処理、前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成処理、前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成する空間属性情報生成処理、前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成処理、前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像処理、および、写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定する検索結果特定処理を実行させるためのデータ検索用プログラム。
(付記14)コンピュータに、検索対象のデータを記憶するデータ記憶手段に記憶された当該データから、指定された条件を満たすデータを抽出するデータ抽出処理を実行させ、空間属性情報生成処理で、抽出されたデータを空間属性写像を用いて変換させることにより、当該データに対応する空間属性情報を生成させる付記13記載のデータ検索用プログラム。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2012年4月12日に出願された日本特許出願2012-091085を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、検索対象とするデータ群から関心の高いデータの部分集合を抽出するデータ検索装置に好適に適用される。
 101 データ
 102 クエリ
 103 出力部分集合データ
 110 データ登録部
 111 データベース管理手段
 112 データベース
 120 データ検索部
 121 クエリ分析手段
 122 データ再構成手段
 123 再構成データ管理手段
 124 再構成データ記憶手段
 125 標本化手段
 601 条件判断手段

Claims (10)

  1.  検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成手段と、
     前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成手段と、
     前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成する空間属性情報生成手段と、
     前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成手段と、
     前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像手段と、
     写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定する検索結果特定手段とを備えた
     ことを特徴とするデータ検索装置。
  2.  検索対象のデータを記憶するデータ記憶手段と、
     前記データ記憶手段に記憶されたデータから、指定された条件を満たすデータを抽出するデータ抽出手段とを備え、
     空間属性情報生成手段は、抽出されたデータを空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する
     請求項1記載のデータ検索装置。
  3.  空間写像生成手段は、新たな近傍基準および許容近傍範囲基準に基づいて、検索結果として特定されたデータを写像する空間属性写像を生成し、
     観点写像生成手段は、新たな観点基準に基づいて観点属性写像を生成し、
     空間属性情報生成手段は、検索結果として特定されたデータを前記空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する
     請求項1または請求項2記載のデータ検索装置。
  4.  検索結果出力手段は、特定された検索結果が指定された条件を満たさない場合、空間属性写像、観点属性写像もしくは許容近傍範囲基準のいずれか、または空間属性写像、観点属性写像および許容近傍範囲基準の全てを更新する
     請求項3記載のデータ検索装置。
  5.  部分集合生成手段は、許容近傍範囲基準に従って空間属性情報をランダム分割することにより、検索対象データの部分集合を作成する
     請求項1から請求項4のうちのいずれか1項に記載のデータ検索装置。
  6.  データ記憶手段は、各データの属性をテーブル形式、キーバリュー形式またはグラフ形式で管理する
     請求項2記載のデータ検索装置。
  7.  検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成し、
     前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成し、
     前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成し、
     前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成し、
     前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像し、
     写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定する
     ことを特徴とするデータ検索方法。
  8.  検索対象のデータを記憶するデータ記憶手段に記憶された当該データから、指定された条件を満たすデータを抽出し、
     抽出されたデータを空間属性写像を用いて変換することにより、当該データに対応する空間属性情報を生成する
     請求項7記載のデータ検索方法。
  9.  コンピュータに、
     検索対象のデータの類似性を判断する基準として用いられる近傍基準と、検索対象のデータが類似する範囲を示す許容近傍範囲基準と、検索する観点を示す観点基準とを含むクエリの入力に応じ、前記近傍基準および許容近傍範囲基準に基づいて、他のデータとの類似性が判断可能な空間上に検索対象のデータを写像する空間属性写像を生成する空間写像生成処理、
     前記クエリの入力に応じ、前記観点基準に基づいて、与えられた1つ以上のデータを全順序集合の元に写像する観点属性写像を生成する観点写像生成処理、
     前記空間属性写像を用いて検索対象のデータを変換することにより、当該データに対応する空間属性情報を生成する空間属性情報生成処理、
     前記許容近傍範囲基準に従って前記空間属性情報の集合を分割し、分割された各空間属性情報に対応する検索対象データの集合を、検索対象データの部分集合として作成する部分集合生成処理、
     前記観点属性写像を用いて、前記各部分集合を全順序集合の元に写像する写像処理、および、
     写像された全順序集合の元に対応する各部分集合を、当該元に基づいて判断される順序に応じて検索結果を特定する検索結果特定処理
     を実行させるためのデータ検索用プログラム。
  10.  コンピュータに、
     検索対象のデータを記憶するデータ記憶手段に記憶された当該データから、指定された条件を満たすデータを抽出するデータ抽出処理を実行させ、
     空間属性情報生成処理で、抽出されたデータを空間属性写像を用いて変換させることにより、当該データに対応する空間属性情報を生成させる
     請求項9記載のデータ検索用プログラム。
PCT/JP2013/000977 2012-04-12 2013-02-21 データ検索装置、データ検索方法およびデータ検索用プログラム WO2013153725A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014510029A JP6065001B2 (ja) 2012-04-12 2013-02-21 データ検索装置、データ検索方法およびデータ検索用プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-091085 2012-04-12
JP2012091085 2012-04-12

Publications (1)

Publication Number Publication Date
WO2013153725A1 true WO2013153725A1 (ja) 2013-10-17

Family

ID=49327322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/000977 WO2013153725A1 (ja) 2012-04-12 2013-02-21 データ検索装置、データ検索方法およびデータ検索用プログラム

Country Status (2)

Country Link
JP (1) JP6065001B2 (ja)
WO (1) WO2013153725A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069696A (zh) * 2017-09-21 2019-07-30 阿里巴巴集团控股有限公司 一种搜索方法、混合排序方法、设备以及系统
WO2020095373A1 (ja) * 2018-11-07 2020-05-14 三菱電機株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128771A (ja) * 2008-11-27 2010-06-10 Ntt Communications Kk クラスタリング結果表示装置、その方法及びプログラム
JP2010286910A (ja) * 2009-06-09 2010-12-24 Sony Corp 情報処理装置および方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128771A (ja) * 2008-11-27 2010-06-10 Ntt Communications Kk クラスタリング結果表示装置、その方法及びプログラム
JP2010286910A (ja) * 2009-06-09 2010-12-24 Sony Corp 情報処理装置および方法、並びにプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069696A (zh) * 2017-09-21 2019-07-30 阿里巴巴集团控股有限公司 一种搜索方法、混合排序方法、设备以及系统
WO2020095373A1 (ja) * 2018-11-07 2020-05-14 三菱電機株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
KR20210052573A (ko) * 2018-11-07 2021-05-10 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 정보 처리 방법, 및 정보 처리 프로그램
CN112912866A (zh) * 2018-11-07 2021-06-04 三菱电机株式会社 信息处理装置、信息处理方法和信息处理程序
KR102386373B1 (ko) 2018-11-07 2022-04-14 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 정보 처리 방법, 및 정보 처리 프로그램
US11836449B2 (en) 2018-11-07 2023-12-05 Mitsubishi Electric Corporation Information processing device and information processing method for judging the semantic relationship between words and sentences
CN112912866B (zh) * 2018-11-07 2023-12-12 三菱电机株式会社 信息处理装置、信息处理方法和记录介质

Also Published As

Publication number Publication date
JPWO2013153725A1 (ja) 2015-12-17
JP6065001B2 (ja) 2017-01-25

Similar Documents

Publication Publication Date Title
Ristoski et al. Mining the web of linked data with rapidminer
Eldawy SpatialHadoop: towards flexible and scalable spatial processing using mapreduce
Duggal et al. Big Data analysis: Challenges and solutions
US8949232B2 (en) Social network recommended content and recommending members for personalized search results
US20230086966A1 (en) Search systems and methods utilizing search based user clustering
US11409752B1 (en) Dimensional reduction of complex vectors in artificially intelligent solutions to compare similarity of natural language text
EP2410446A1 (en) Personal music recommendation mapping
EP3807784B1 (en) Providing query recommendations
US9721000B2 (en) Generating and using a customized index
US9552415B2 (en) Category classification processing device and method
KR101823463B1 (ko) 연구자 검색 서비스 제공 장치 및 그 방법
Singh et al. Nearest keyword set search in multi-dimensional datasets
CN104484392A (zh) 数据库查询语句生成方法及装置
JP2017097823A (ja) 分散ネットワークで使用するための検索サーバ、端末装置、及び検索方法
CN114817717A (zh) 搜索方法、装置、计算机设备和存储介质
Zhang et al. Fast eclat algorithms based on minwise hashing for large scale transactions
CN114175007A (zh) 用于数据匹配的主动学习
CN111143400A (zh) 一种全栈式检索方法、系统、引擎及电子设备
Zhao et al. Monochromatic and bichromatic ranked reverse boolean spatial keyword nearest neighbors search
KR20200044644A (ko) Cnn 기반 이미지 검색 방법 및 장치
JP6065001B2 (ja) データ検索装置、データ検索方法およびデータ検索用プログラム
De Vries et al. Parallel streaming signature em-tree: A clustering algorithm for web scale applications
US11755671B2 (en) Projecting queries into a content item embedding space
JP6976537B1 (ja) 情報検索装置、情報検索方法および情報検索用プログラム
Dass et al. Amelioration of Big Data analytics by employing Big Data tools and techniques

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: 13775741

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014510029

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: 13775741

Country of ref document: EP

Kind code of ref document: A1