WO2019198165A1 - 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体 - Google Patents

情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2019198165A1
WO2019198165A1 PCT/JP2018/015144 JP2018015144W WO2019198165A1 WO 2019198165 A1 WO2019198165 A1 WO 2019198165A1 JP 2018015144 W JP2018015144 W JP 2018015144W WO 2019198165 A1 WO2019198165 A1 WO 2019198165A1
Authority
WO
WIPO (PCT)
Prior art keywords
cluster
data
basic
label
unit
Prior art date
Application number
PCT/JP2018/015144
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 PCT/JP2018/015144 priority Critical patent/WO2019198165A1/ja
Publication of WO2019198165A1 publication Critical patent/WO2019198165A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to an information processing apparatus, a data classification support system, a data classification support method, and a non-transitory computer readable medium storing a data classification support program, and in particular, data classification for solving a super multi-label classification problem.
  • the present invention relates to an information processing apparatus, a data classification support system, a data classification support method, and a non-transitory computer-readable medium storing a data classification support program.
  • a classification problem called “multi-label classification” is that when data is classified into the corresponding category from the characteristics of the data, one data belongs to multiple categories (labels) at the same time. It is a classification problem that allows That is, the classification problem of “multi-label classification” is a problem of estimating one or more labels attached to data that has not yet been labeled (that is, unclassified data). In other words, the classification problem of “multi-label classification” is a problem of forming a classifier that calculates one or more labels attached to unclassified data.
  • the multi-label classification problem called “extra-large multi-label classification” is a multi-label classification in which the number of data, the number of features expressing the data, and the number of labels are enormous.
  • the super large-scale multi-label classification problem corresponds to a problem in which the number of features and the number of labels reaches several million or more.
  • the data group to be classified is divided into a plurality of groups in advance, and the conventional multi-label classification problem is solved independently for a relatively small problem for each divided group. It is known that the method is effective.
  • Non-Patent Document 1 and Non-Patent Document 2 can be mentioned.
  • Non-Patent Document 1 is a method of simply dividing data having similar features using the K-means method for dividing the data.
  • Non-Patent Document 2 uses the Graph-Cut method for data division.
  • Non-Patent Document 2 is a method of performing data division from a K-neighbor graph obtained by extending an edge between data that shares data with one node and a plurality of labels (between nodes). As a result, it is known that label information can be used to increase the accuracy of multi-label classification after division.
  • Patent Document 1 discloses a technique related to a learning method for generating a predetermined data pair from a learning data set and learning a hyperplane.
  • the number of labels given to each feature vector included in the data set, the number of types of labels, the number of feature vectors given the same label, and the like are counted.
  • Patent Document 2 discloses a technique related to an identification information adding device for giving identification information (label) to learning target data.
  • the identification information assigning device first creates a decision tree based on learning data that is a combination of a feature vector extracted from a learning target and identification information assigned to the learning target. And the said identification information provision apparatus groups each data based on a decision tree.
  • Patent Document 3 discloses a technique relating to a feature word extraction system that extracts a feature word group for each category from a document set including multi-label documents.
  • the feature word extraction system first groups document sets including multi-label documents into document sets of the same category number. Then, if the grouped document set is a set of multi-label documents, the feature word extraction system divides it into a set of single-label documents. Thereafter, the feature word extraction system extracts feature words for each category from the document set of the divided single label documents.
  • Non-Patent Documents 1 and 2 the classification accuracy after that depends on the way of division at the time of data division performed in advance in order to solve the super large-scale multi-label classification problem, and the classification accuracy becomes low. There is a problem that there is a risk of being.
  • Non-Patent Document 1 since the label information is not used when the super-large-scale multi-label classification problem is divided, the accuracy of the multi-label classifier after the division depends on how the problem is divided. There is a low possibility. In particular, when a label having a low appearance frequency is divided into different groups (problems) by data division, it becomes more difficult to construct a classifier for the label, and the accuracy is lowered.
  • Non-Patent Document 2 labels with low appearance frequency are not necessarily assigned to the same cluster. Therefore, as in Non-Patent Document 1, labels with low appearance frequency are divided into different groups (problems) by data division, and the accuracy of the divided multi-label classifier may be lowered. In the technique according to Non-Patent Document 2, a long calculation time is required to construct the K neighborhood graph.
  • the present disclosure has been made to solve such problems, and is an information processing apparatus, a data classification support system, and a data classification support method for improving classification accuracy for solving a super-large-scale multi-label classification problem. It is an object of the present invention to provide a data classification support program.
  • M is a natural number greater than or equal to 2) types of feature quantities
  • N is a natural number greater than or equal to 2.
  • a setting unit that sets multiple allocation conditions for allocating a part of the data to one of multiple groups
  • a basic cluster constructing unit that constructs a plurality of basic clusters based on the plurality of groups by allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group
  • a cluster allocation unit that performs cluster integration and refinement on the plurality of basic clusters, and determines cluster allocation for each of the N pieces of data; Is provided.
  • the data classification support system includes: M (M is a natural number greater than or equal to 2) types of feature quantities, and N (L is a natural number greater than or equal to 2). ) A storage unit that stores the data of the matter, A setting unit for setting a plurality of allocation conditions for allocating a part of the N pieces of data stored in the storage unit to any of a plurality of groups; A basic cluster constructing unit that constructs a plurality of basic clusters based on the plurality of groups by allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group; A cluster allocation unit that performs cluster integration and refinement on the plurality of basic clusters, and determines cluster allocation for each of the N pieces of data; Is provided.
  • the data classification support method includes: Computer M (M is a natural number greater than or equal to 2) types of feature quantities, and N (L is a natural number greater than or equal to 2). ) Set multiple allocation conditions to allocate part of the data to one of multiple groups, Of the N pieces of data, assign two or more data corresponding to the same assignment condition to the same group, and construct a plurality of basic clusters based on the plurality of groups, Cluster integration and refinement are performed on the plurality of basic clusters, and cluster allocation is determined for each of the N pieces of data.
  • a data classification support program includes: M (M is a natural number greater than or equal to 2) types of feature quantities, and N (L is a natural number greater than or equal to 2). ) Setting multiple allocation conditions to allocate a part of the data to one of multiple groups, A process of allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group and constructing a plurality of basic clusters based on the plurality of groups; A process of performing cluster integration and refinement for the plurality of basic clusters, and determining a cluster assignment for each of the N pieces of data; Is executed on the computer.
  • an information processing apparatus for improving classification accuracy for solving a super-large-scale multi-label classification problem.
  • FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to a first embodiment.
  • 6 is a flowchart for explaining a flow of a data classification support method according to the first exemplary embodiment; It is a block diagram which shows the whole structure of the data classification assistance system concerning this Embodiment 2. It is a figure explaining the concept of the relationship between the feature matrix and label matrix concerning this Embodiment 2. FIG. It is a figure explaining the concept of the cluster allocation information concerning this Embodiment 2.
  • FIG. It is a flowchart for demonstrating the flow of the data classification assistance method concerning this Embodiment 2.
  • FIG. It is a figure explaining the example of the hierarchical structure of the cluster structure concerning this Embodiment 2.
  • FIG. 12 is a flowchart for explaining a flow of a data classification support method according to the third exemplary embodiment. It is a block diagram which shows the whole structure of the data classification assistance system concerning this Embodiment 4.
  • FIG. 1 is a block diagram illustrating a configuration of the information processing apparatus 1 according to the first embodiment.
  • the information processing apparatus 1 is a computer that performs cluster analysis on N (N is a natural number of 2 or more) data.
  • the result of the cluster analysis can be used to form a classifier for solving the multi-label classification problem.
  • each of the N pieces of data has M (M is a natural number of 2 or more) types of feature amounts.
  • M is a natural number of 2 or more) types of feature amounts.
  • Each of the N pieces of data defines the presence or absence of each of L (L is a natural number of 2 or more) types of labels.
  • Each of the M types of feature amounts, the L types of labels, and the N pieces of data is one million or more. Therefore, the information processing apparatus 1 according to the first embodiment can be used to form a classifier for solving the super large-scale multi-label classification problem.
  • the information processing apparatus 1 includes a setting unit 11, a basic cluster construction unit 12, and a cluster allocation unit 13.
  • the setting unit 11 sets a plurality of allocation conditions for allocating a part of N data to any of a plurality of groups. That is, the allocation condition is condition information that is applied to a part of the N pieces of data.
  • the allocation condition is information defining a feature amount or a label presence / absence condition in each data.
  • the basic cluster construction unit 12 assigns two or more data corresponding to the same assignment condition among the N pieces of data to the same group, and constructs a plurality of basic clusters based on the plurality of groups.
  • the basic cluster construction unit 12 only needs to allocate at least a part of the data to which the allocation condition is applied among N data to any of a plurality of groups. Then, the basic cluster construction unit 12 may construct one group as it is as one basic cluster.
  • the basic cluster construction unit 12 may integrate a plurality of groups and construct a single basic cluster. For this reason, the basic cluster is a set of data to which one or more of the N pieces of data belong. Further, the basic cluster may include data that is not subject to the allocation condition among N pieces of data.
  • the condition for allocating data that is not subject to the allocation condition may be anything other than the allocation condition.
  • the cluster allocation unit 13 performs cluster integration and sophisticate on the plurality of basic clusters constructed by the basic cluster construction unit 12, and determines cluster allocation for each of N pieces of data. It should be noted that known techniques can be used for cluster integration and refinement. However, the cluster allocating unit 13 does not use a plurality of basic clusters as a final cluster as they are, but integrates at least a plurality of basic clusters by a predetermined method, and then refines the integrated cluster by a predetermined method. In other words, a plurality of clusters are generated by dividing. Therefore, each data assigned to one of the plurality of basic clusters is assigned to at least one of the plurality of clusters generated by the cluster assigning unit 13.
  • the information processing apparatus 1 includes a processor, a memory, and a storage device as components not shown. Further, the storage device stores a computer program in which the data classification support processing according to the present embodiment is implemented. Then, the processor reads a computer program from the storage device into the memory and executes the computer program. Thereby, the processor realizes the functions of the setting unit 11, the basic cluster construction unit 12, and the cluster allocation unit 13.
  • the storage device may further store the N data described above.
  • the setting unit 11 acquires N pieces of data from the storage device, temporarily stores the data in the memory, and performs the setting.
  • the N pieces of data described above may be stored in an external storage device connected to the information processing apparatus 1 via a communication line.
  • the setting unit 11 acquires N pieces of data from the external storage device via a communication line, temporarily stores them in the memory, and performs the setting.
  • the setting unit 11 performs the setting by temporarily storing the allocation condition at least in the memory.
  • the basic cluster construction unit 12 refers to the N data and allocation conditions stored in the memory, constructs allocation to the group and basic clusters, and stores the plurality of constructed basic clusters in at least the memory.
  • the cluster allocation unit 13 refers to the N data and basic clusters stored in the memory, determines cluster allocation, and stores the determined cluster allocation in at least the memory.
  • the cluster allocation unit 13 may store the determined cluster allocation in the storage device or output the cluster allocation to the outside of the information processing device 1.
  • FIG. 2 is a flowchart for explaining the flow of the data classification support method according to the first embodiment.
  • the setting unit 11 sets a plurality of allocation conditions for allocating a part of N (N is a natural number of 2 or more) data to any of a plurality of groups (S11).
  • the basic cluster construction unit 12 assigns two or more data corresponding to the same assignment condition among the N pieces of data to the same group to form a plurality of groups.
  • the basic cluster construction unit 12 constructs a plurality of basic clusters based on the assigned groups (S12).
  • the cluster allocation unit 13 performs cluster integration and refinement on the plurality of basic clusters, and determines cluster allocation for each of the N pieces of data (S13).
  • the classification accuracy for solving the super-large-scale multi-label classification problem can be improved. That is, the data classification support method according to the present embodiment does not perform initial classification (data division) uniformly on all N pieces of data under the same conditions, but some data satisfying a specific allocation condition. Is assigned to a specific base cluster. Therefore, for example, data having a label with a relatively low appearance frequency among all data among L labels can be assigned to a specific basic cluster by applying a specific division rule. That is, it is possible to prevent data labeled with a low appearance frequency from being distributed to different basic clusters.
  • the information processing apparatus 1 according to the present embodiment can be called a malware classification support apparatus.
  • the information processing apparatus 1 according to the present embodiment can also be called a moving image data tagging support apparatus.
  • the information processing apparatus 1 according to the present embodiment can also be called a Web page recommendation support apparatus.
  • the second embodiment is an application example of the first embodiment described above.
  • the data classification support system according to the second exemplary embodiment includes a storage unit, a setting unit, a basic cluster construction unit, and a cluster allocation unit.
  • the storage unit stores N pieces of data that have M types of feature values and that define the presence or absence of each of the L types of labels.
  • the setting unit, the basic cluster construction unit, and the cluster allocation unit may have at least the same functions as those of the first embodiment.
  • the setting unit sets the allocation condition to have a part of the L types of labels. In this way, by using the presence / absence of a label as a base cluster assignment criterion, the classification accuracy based on the label can be improved.
  • the setting unit selects a part of the L types of labels as attention labels based on the appearance frequency of the labels in the N data, and sets a set of the attention labels as the allocation condition. It is desirable to set as
  • the basic cluster construction unit preferably constructs the basic cluster by allocating two or more data defined as having the same attention label among the N pieces of data to the same group. Thereby, since a basic cluster can be constructed taking into account the label of interest based on the appearance frequency of the label, data with a common label is assigned to the same basic cluster, and the classification accuracy is improved.
  • the setting unit calculates the appearance frequency of the label in the N data for each of the L types of labels, and is lower than a predetermined order in the descending order of the appearance frequency among the L types of labels.
  • a label may be selected as the attention label.
  • the setting unit corresponds to each of the N data, and based on the appearance frequency of the label calculated from N label vectors including the presence or absence of each of the L types of labels, The attention label may be selected.
  • the basic cluster construction unit may construct the basic cluster by allocating two or more label vectors having elements having the same target label among the N label vectors to the same group. . As a result, it is possible to construct a basic cluster with high accuracy without using a feature vector, thereby improving processing performance.
  • the basic cluster construction unit allocates the specific data to two or more different groups corresponding to the allocation conditions, Each group may be constructed as the basic cluster.
  • a basic cluster that directly reflects the allocation condition can be constructed, and the basic cluster can be finely defined.
  • the basic cluster construction unit may integrate the two or more groups and construct one basic cluster. Thereby, while maintaining the classification accuracy, the number of basic clusters can be reduced, and the efficiency of subsequent cluster integration and refinement processing can be improved.
  • the cluster allocation unit performs the following processing.
  • the cluster allocating unit hierarchizes the plurality of basic clusters based on the feature amount of each data belonging to the basic cluster or the presence / absence of the label, and creates a hierarchical structure by the integration. Record.
  • the cluster allocation unit divides the cluster from the integrated cluster to a predetermined hierarchy in the hierarchical structure.
  • the cluster allocation unit determines the cluster allocation so that each of the N pieces of data belongs to one of the divided clusters. For example, by agglomerative clustering, the hierarchical structure is integrated from basic clusters that are effectively allocated for data that satisfies some conditions. Therefore, there is a high probability that data satisfying the specific condition is classified in advance in the same cluster in the lower hierarchy, and it becomes possible to determine cluster allocation with high accuracy.
  • each of the M types of feature quantities, the L types of labels, and the N pieces of data is one million or more. As a result, it can be applied to an ultra-large multi-label classification problem.
  • FIG. 3 is a block diagram showing the overall configuration of the data classification support system 100 according to the second embodiment.
  • the data classification support system 100 is realized by one or a plurality of computer devices.
  • the data classification support system 100 includes a storage unit 110, a control unit 120, a memory 130, and an IF (InterFace) unit 140.
  • IF InterFace
  • the storage unit 110 is a storage device such as a hard disk or a flash memory.
  • the storage unit 110 includes a feature matrix 111, a label matrix 112, an attention label definition 113, an attention label set 114, cluster allocation information 115, a return condition 116, and a program 117.
  • the feature matrix 111 represents each of N pieces of data as an M-dimensional feature vector.
  • each M-dimensional element corresponds to the above-described M types of feature amounts.
  • each row corresponds to a feature vector of each data.
  • the label matrix 112 is expressed by a label vector that defines the presence or absence of each of L types of labels for each of N data.
  • each row corresponds to a label vector of each data. That is, the label matrix 112 can be said to be a binary matrix in which each element indicates the presence or absence of a label. For example, when the element in the I-th row and the J-th column of the label matrix 112 is 1, it indicates that the I-th data has the J-th label. On the other hand, when the element in the I-th row and the J-th column is 0, it indicates that the I-th data does not have the J-th label.
  • FIG. 4 is a diagram for explaining the concept of the relationship between the feature matrix 111 and the label matrix 112 according to the second embodiment.
  • the feature matrix 111 includes N feature vectors 1111, 1112, ... 111N.
  • the feature vector 1111 has M types of feature amounts 11111,.
  • each of the other feature vectors 1112,... 111N has M types of feature amounts.
  • the label matrix 112 includes N label vectors 1121, 1122,... 112N.
  • the label vector 1121 has L types of label flags 11211,.
  • each of the other label vectors 1122, ... 112N has L types of labels.
  • the attention label definition 113 is a definition for selecting an attention label used when an attention label is set by the attention label setting unit 122 described later.
  • the attention label is an example of the allocation condition described above, and indicates the type of label that serves as a reference when allocating to the same group when the basic cluster construction unit 123 described later constructs the basic cluster. Therefore, the attention label can be said to be a constraint condition for forcibly assigning data having the same attention label to the same basic cluster.
  • the attention label definition 113 may be set as an arbitrary definition by the user.
  • the attention label definition 113 may be a definition of a predetermined order when an appearance label having an appearance frequency lower than a predetermined order among L types of labels is set as the attention label.
  • the attention label definition 113 may be defined as the label having the lowest appearance frequency among the L types of labels, that is, the label having the lowest appearance frequency.
  • the attention label set 114 is a collection of attention labels selected by the attention label setting unit 122 among L types of labels.
  • the cluster assignment information 115 is information indicating a plurality of clusters to which each of N pieces of data corresponding to each row of the feature matrix 111 and the label matrix 112 is assigned.
  • the cluster allocation information 115 includes basic cluster information 1151 and hierarchical structure information 1152.
  • FIG. 5 is a diagram for explaining the concept of the cluster allocation information 115 according to the second embodiment.
  • the basic cluster information 1151 includes a plurality of basic clusters 11511, 11512,.
  • the number of basic clusters is 2 or more and less than N.
  • the basic cluster is a set of links to one or more pieces of data identification information or data storage destination addresses.
  • the basic cluster is a minimum unit of clusters to be integrated by cluster integration in the cluster integration unit 124 described later.
  • the basic cluster may include a cluster ID, an ID of data to which the basic cluster belongs, allocation conditions for the basic cluster, and the like.
  • the hierarchical structure information 1152 includes a plurality of pieces of node information 11521, 11522,. Note that the number of node information is greater than or equal to the number of basic clusters.
  • the node information is information for defining a hierarchical structure in an integrated cluster obtained by integrating a basic cluster and a plurality of basic clusters.
  • the node information includes, for example, a node ID, a left node ID, and a right node ID.
  • the node ID in the node information corresponding to the basic cluster is the cluster ID of the basic cluster.
  • the node ID in the node information corresponding to the integrated cluster is the cluster ID of the integrated cluster.
  • the specific configurations of the cluster allocation information, basic cluster information, basic cluster, hierarchical structure information, and node information are not limited to those described above.
  • the return condition 116 is information that defines a condition for refining and dividing the cluster after integration by the cluster refinement unit 125 described later (dividing and returning the integrated cluster).
  • the program 117 is an example of a data classification support program, and is a computer program in which the data classification support process according to the present embodiment is implemented.
  • the attention label set 114 and the cluster allocation information 115 do not necessarily need to be stored in the storage unit 110, and are held in at least the memory 130 during the processing of the basic cluster construction unit 123, the cluster integration unit 124, and the cluster refinement unit 125. It only has to be.
  • the memory 130 is a volatile storage device such as a RAM (Random Access Memory), and is a storage area for temporarily storing information when the control unit 120 operates.
  • the IF unit 140 is an interface that performs input / output with the outside of the data classification support system 100. For example, the IF unit 140 receives a user operation via an input device (not shown) such as a keyboard, a mouse, and a touch panel, and outputs the received operation content to the control unit 120. Further, the IF unit 140 performs output to a touch panel, a display device, a printer, or the like (not shown) according to an instruction from the control unit 120.
  • an input device not shown
  • the IF unit 140 performs output to a touch panel, a display device, a printer, or the like (not shown) according to an instruction from the control unit 120.
  • the control unit 120 is a processor such as a CPU (Central Processing Unit) and controls each component of the data classification support system 100.
  • the control unit 120 reads the program 117 from the storage unit 110 into the memory 130 and executes the program 117. Thereby, the control unit 120 implements the functions of the input acquisition unit 121, the attention label setting unit 122, the basic cluster construction unit 123, the cluster integration unit 124, and the cluster refinement unit 125.
  • the attention label setting unit 122 is an example of the setting unit 11 described above.
  • the basic cluster construction unit 123 is an example of the basic cluster construction unit 12 described above.
  • the cluster integration unit 124 and the cluster refinement unit 125 are examples of the cluster allocation unit 13 described above.
  • the input acquisition unit 121 acquires the feature matrix 111 and the label matrix 112 from the storage unit 110 as inputs. Then, the input acquisition unit 121 outputs at least one of the feature matrix 111 and the label matrix 112 to the attention label setting unit 122. In the following description, the input acquisition unit 121 outputs the label matrix 112 to the target label setting unit 122. Further, the input acquisition unit 121 outputs the feature matrix 111 and the label matrix 112 to the basic cluster construction unit 123.
  • the attention label setting unit 122 refers to the attention label definition 113 in the storage unit 110, analyzes the label matrix 112, and sets that it has a part of the L types of labels as an allocation condition. Specifically, the attention label setting unit 122 selects some of the L types of labels as attention labels based on the appearance frequency of the labels in the label matrix 112. Then, the attention label setting unit 122 sets the attention label set 114 which is a set of the selected attention labels as an allocation condition. For example, the attention label setting unit 122 calculates the appearance frequency of labels in N label vectors for each of L types of labels.
  • the attention label setting unit 122 selects a label lower than the predetermined rank in order of appearance frequency among the L types of labels as the attention label. Note that the attention label setting unit 122 outputs the attention label set 114 to the basic cluster construction unit 123. At this time, the attention label setting unit 122 may deliver the attention label set 114 to the basic cluster construction unit 123 via the memory 130 or the storage unit 110.
  • the basic cluster construction unit 123 receives the feature matrix 111, the label matrix 112, and the attention label set 114, constructs a basic cluster that is the minimum unit of clusters that are aggregated in the aggregation-type clustering, and outputs the basic cluster to the cluster integration unit 124. . That is, the basic cluster construction unit 123 assigns two or more data defined as having the same attention label to the same group among N pieces of data (feature vectors or label vectors), and assigns a plurality of basic clusters. To construct. For example, the basic cluster construction unit 123 constructs a basic cluster by allocating two or more label vectors having elements having the same target label among N label vectors to the same group.
  • the basic cluster construction unit 123 assigns the specific data to two or more different groups corresponding to each attention label. assign. In this case, the basic cluster construction unit 123 may construct each group as a separate basic cluster. Alternatively, the basic cluster construction unit 123, when specific data among N pieces of data is assigned to two or more groups, can integrate the two or more groups and construct a single basic cluster. For example, when a certain label vector has two or more attention labels, the basic cluster construction unit 123 may integrate a group corresponding to each attention label into one basic cluster. The handling of data that does not have the attention label is arbitrary.
  • the basic cluster construction unit 123 may assign a label vector having no attention label to the basic cluster using a clustering method different from the above. Alternatively, the basic cluster construction unit 123 does not have to use a label vector having no attention label for construction of the basic cluster.
  • the basic cluster construction unit 123 includes the constructed basic clusters in the basic cluster information 1151 and stores them in the memory 130 or the storage unit 110, and passes them to the cluster integration unit 124 via the memory 130 or the storage unit 110. good.
  • the input acquisition unit 121 or the basic cluster construction unit 123 outputs the feature matrix 111 and the label matrix 112 to the cluster integration unit 124 and the cluster refinement unit 125.
  • the cluster integration unit 124 receives the feature matrix 111, the label matrix 112, and the basic cluster information 1151, and performs agglomerative clustering. Then, the cluster integration unit 124 records the hierarchical structure information 1152 when integrating the clusters as a tree structure, and outputs the basic cluster information 1151 and the hierarchical structure information 1152 to the cluster refinement unit 125. That is, the cluster integration unit 124 integrates clusters by hierarchizing a plurality of basic clusters based on the feature amount of each data belonging to the basic cluster or the presence / absence of a label, and records the hierarchical structure by the integration. Note that the basic cluster construction unit 123 or the cluster integration unit 124 generates the above-described node information corresponding to each basic cluster.
  • the cluster integration unit 124 calculates the distance between any two basic clusters based on a predetermined distance scale from the feature vector or label vector of the data belonging to each basic cluster. Then, the cluster integration unit 124 integrates the two basic clusters that are closest to each other into one integrated cluster. At this time, the cluster integration unit 124 generates the above-described node information corresponding to the integrated cluster, for example. That is, the cluster integration unit 124 generates a new node ID corresponding to the integrated cluster, the cluster ID (node ID) of one basic cluster to be integrated is the left node ID, and the cluster ID of the other basic cluster is the right node ID. These are associated with each other as node information.
  • the cluster integration unit 124 repeats cluster integration until the number of clusters becomes one. During this time, as described above, the cluster integration unit 124 records the hierarchical structure information 1152 as a tree structure in order to generate node information. Note that the cluster integration unit 124 may store the generated hierarchical structure information 1152 in the memory 130 or the storage unit 110 and pass it to the cluster refinement unit 125 via the memory 130 or the storage unit 110.
  • the distance scale may be the distance between the two closest points belonging to the cluster or the distance between the farthest points.
  • the distance measure may use an average of distances of all points between clusters.
  • the distance scale may calculate the cluster centers and use the distances.
  • Various distances such as a cosine distance and an Euclidean distance may be used as the distance described above.
  • the cluster refinement unit 125 receives the feature matrix 111, the label matrix 112, the basic cluster information 1151, and the hierarchical structure information 1152, and divides the cluster from one cluster after integration to a predetermined hierarchy in the hierarchical structure. Then, the cluster refinement unit 125 determines cluster allocation so that each of the N pieces of data belongs to one of the divided clusters. Then, the cluster refinement unit 125 saves the determined cluster assignment in the storage unit 110 as cluster assignment information 115 or outputs it to the outside.
  • the cluster refinement unit 125 refers to the return condition 116 in the storage unit 110, determines which level the cluster is divided from the hierarchical structure information 1152, and divides the integrated cluster to the determined level.
  • the cluster refinement unit 125 may delete node information corresponding to a hierarchy above the corresponding hierarchy.
  • the return condition 116 may be the maximum value of the position of the hierarchy in which the integrated cluster is to be divided from the highest hierarchy and the size of the cluster (the number of belonging data).
  • the return condition 116 may be a density within the cluster.
  • the density either the feature space or the label space, or a combination thereof may be used.
  • FIG. 6 is a flowchart for explaining the flow of the data classification support method according to the second embodiment.
  • the attention label setting unit 122 sets a plurality of attention labels from the label matrix 112, and outputs them as the attention label set 114 to the basic cluster construction unit 123 (S1).
  • the basic cluster construction unit 123 constructs a plurality of basic clusters using the attention label set 114 and the feature matrix 111 or the label matrix 112 (S2).
  • the cluster integration unit 124 calculates the cluster center of each basic cluster (S3).
  • the cluster integration unit 124 integrates two clusters having the smallest distance between the cluster centers (S4).
  • the cluster integration unit 124 updates the hierarchical structure information 1152 indicating the positional relationship on the tree structure of the integrated cluster (S5). Then, the cluster integration unit 124 determines whether there is one remaining cluster after integration (S6). If the number of remaining clusters is 2 or more, steps S3 to S5 are executed again, and repeated until there is one cluster after integration. Thereafter, when it is determined that there is one cluster after integration, the cluster refinement unit 125 searches, from the highest cluster in the tree structure (cluster after integration), a cluster that satisfies the return condition 116 with depth priority (S7). ). Then, the cluster refiner 125 divides the clusters so that all the clusters satisfy the return condition 116 and the tree structure hierarchy is the shallowest (S8).
  • the attention label is determined by the appearance frequency.
  • Only the data having the attention label is used for the basic cluster.
  • the average of the label vector is used for the cluster center.
  • a cosine distance is used as the distance between cluster centers.
  • the return condition is the number of data belonging to the cluster.
  • the label matrix 112 to be processed is as follows.
  • the attention label definition 113 is defined as a label whose appearance frequency is 2 or less based on the above (1)
  • the basic cluster construction unit 123 first assigns data having the label to the cluster in order from the label with the lowest appearance frequency in the attention label set Z.
  • the attention label 8 (appearance frequency 1) is followed by the attention labels 5, 6, and 7 (appearance frequency 2).
  • Data 5 (label vector in the fifth row) is assigned to the cluster (group) corresponding to the target label 8.
  • Data 2 and 7 (label vectors in the 2nd and 7th rows) are assigned to the cluster corresponding to the target label 5.
  • Data 4 and 6 (label vectors in the 4th and 6th rows) are assigned to the cluster corresponding to the target label 6.
  • Data 2 and 3 (label vectors in the 2nd and 3rd rows) are assigned to the cluster corresponding to the target label 7.
  • the basic cluster construction unit 123 After assigning all the data having the attention label to the cluster, the basic cluster construction unit 123 confirms whether there is data in which the assignment is duplicated among a plurality of clusters. And when the cluster with which data overlap exists, the basic cluster construction part 123 unifies those clusters, and constructs
  • FIG. 7 is a diagram for explaining an example of the hierarchical structure of the cluster configuration according to the second embodiment. After the processing by the basic cluster construction unit 123, the basic clusters C1, C2, and C3 are constructed.
  • the cluster integration unit 124 performs cluster integration using the plurality of constructed basic clusters.
  • the cluster integration unit 124 sets the cluster center as the average of the elements of the label vector of the data belonging to each basic cluster, and the distance between the cluster centers is the following cosine distance.
  • the cluster integration unit 124 calculates the cosine distance between the clusters for each pair of sets for all the basic clusters. Then, the cluster integration unit 124 integrates clusters at a distance that is the smallest of all the calculated cosine distances. Then, the cluster integration unit 124 calculates a cosine distance between the cluster after integration and each of the other clusters. Then, the cluster integration unit 124 performs cluster integration under the same conditions, and repeats until the number of clusters after integration becomes one.
  • the cluster integration unit 124 calculates the distance between the basic clusters C1 and C2, the distance between the basic clusters C1 and C3, and the distance between the basic clusters C2 and C3, respectively. Since the distance between the basic clusters C1 and C2 is the smallest among the above three distances, the cluster integration unit 124 integrates the basic clusters C1 and C2 to generate an integrated cluster C4. For example, the cluster integration unit 124 issues a node ID (C4) corresponding to the integrated cluster C4, sets the left node ID to C1, the right node ID to C2, and generates C4, C1, and C2 as node information in association with each other. . Therefore, the allocation condition of the integrated cluster C4 satisfies either the basic cluster C1 or C2.
  • C4 node ID
  • the cluster integration unit 124 calculates the distance between the integrated cluster C4 and the basic cluster C3, integrates the integrated cluster C4 and the basic cluster C3, and generates an integrated cluster C5. As a result, a tree structure as shown in FIG. 7 is obtained.
  • the cluster refinement unit 125 divides the cluster so as to satisfy the return condition 116 based on the cluster and the tree structure after the integration. Then, the cluster refinement unit 125 performs the process until the return condition 116 is satisfied, or until all the basic clusters are obtained.
  • the cluster refinement unit 125 searches the cluster, which is the number of data belonging to the cluster, from the top of the cluster after integration in a depth-first manner. For example, the cluster size in the return condition 116 is set to 3. In this example, since the number of data belonging to the integrated cluster C5 in the highest hierarchy H is 6 (data 2, 3, 4, 5, 6, 7), the cluster refinement unit 125 first has one hierarchy below. The integrated clusters C4 and C5 in the hierarchy H + 1 are further searched.
  • the cluster refinement unit 125 Since the number of data belonging to the integrated cluster C4 is 3 (data 4, 5, 6) and the number of data belonging to the basic cluster C3 is 3 (data 2, 3, 7), the cluster refinement unit 125 , It is determined that the hierarchy H + 1 satisfies the return condition 116. Therefore, the cluster refinement unit 125 divides the integrated cluster C5 up to the hierarchy H + 1. That is, the integrated cluster C5 is returned to the integrated cluster C4 and the basic cluster C3. Therefore, the cluster refinement unit 125 determines the cluster assignment for the data 4, 5, and 6 as the integrated cluster C4 and the cluster assignment for the data 2, 3, and 7 as the basic cluster C3.
  • forced cluster assignment is introduced into agglomerative clustering so as to always divide labels with a relatively low appearance frequency into the same problem, and data division is performed. . Therefore, it is possible to suppress the possibility of causing deterioration in classification accuracy for labels with a relatively low appearance frequency. Then, it is possible to prevent data having labels with a relatively low appearance frequency from being assigned to different clusters.
  • the basic cluster uses individual data as a unit.
  • a set of data including one or more data is used as the unit of the basic cluster. is there.
  • the third embodiment is an improved example of the second embodiment described above.
  • the information processing apparatus or data classification support system according to the third embodiment further includes a learning unit that learns a branch function for classifying arbitrary input vector data having M types of feature quantities into a predetermined cluster. is there.
  • the learning unit uses N feature vectors having M types of feature amounts and the determined cluster assignment. Thereby, classification can be determined at high speed.
  • FIG. 8 is a block diagram showing the overall configuration of the data classification support system 100a according to the third embodiment.
  • the data classification support system 100a is an improvement of the above-described data classification support system 100.
  • the program 117 is replaced with the program 117a, the branch function 118 is added to the storage unit 110, and the branch function learning unit 126 is added to the control unit 120. It has been done.
  • Other configurations are the same as those in FIG. 3, and thus detailed description thereof is omitted.
  • the program 117a is a computer program in which processing of a branch function learning unit 126 described later is implemented in addition to the function of the program 117.
  • the branch function 118 is a function that calculates a determination value for determining a branch to one of two clusters using an arbitrary feature amount vector having M types of feature amounts as an argument.
  • the bifurcation function 118 is, for example, a binary classifier.
  • the branch function learning unit 126 uses the feature matrix 111 and the cluster allocation information 115 determined by the cluster refinement unit 125 to classify arbitrary input vector data having M types of feature quantities into a predetermined cluster. It is an example of the learning part which learns a branch function. That is, the branch function learning unit 126 receives the tree structure generated by the cluster integration unit 124, the cluster assignment determined by the cluster refinement unit 125, and the feature matrix 111 as input, and learns a plurality of assignments to the cluster. It outputs a binary classifier.
  • the plurality of binary classifiers are described as f 1 (x), ... f k (x).
  • k is the number of branches and depends on the hierarchical structure.
  • the branch function learning unit 126 first generates a tree structure in which all the clusters other than the final cluster made by the cluster refinement unit 125 are deleted from the input tree structure. Next, the branch function learning unit 126 performs binary classifier learning for determining a branch for each branch. In this learning, the left side of the data that belongs after branching is used as a positive example and the right side as a negative example. This binary classifier is constructed for every branch.
  • FIG. 9 is a diagram for explaining the concept of a branch function to be learned according to the third embodiment. This makes it possible to determine at high speed which cluster the test data should be classified into.
  • Various binary classifiers used for the branch function learning unit 126 can be used.
  • the binary classifier may be a classifier that takes the form of linear regression or a kernel SVM (Support Vector Vector Machine) that uses kernel tricks.
  • FIG. 10 is a flowchart for explaining the flow of the data classification support method according to the third embodiment.
  • steps S1 to S8 are the same as those in FIG. Therefore, after step S8, the branch function learning unit 126 uses the cluster obtained by the cluster refinement unit 125, the tree structure obtained by the cluster integration unit 124, and the cluster that has been integrated and the divided clusters. Is deleted from the tree structure (S9).
  • the branch function learning unit 126 learns a binary classifier for each branch of the tree structure (S10).
  • the branch function learning unit 126 outputs the divided cluster, the tree structure, and the branch function corresponding to each branch of the tree structure as a divided multi-label classification problem.
  • the operation of the data classification support system 100a according to the third embodiment will be described using a specific example.
  • the setting of the second embodiment described above is used.
  • the processing up to the cluster refinement unit 125 is the same as in the second embodiment as described above. Therefore, it is assumed that a tree structure as shown in FIG. 7 is obtained as a processing result of the cluster refinement unit 125.
  • the branch function learning unit 126 learns the branch function 118 at each branch. Specifically, first, when f 1 (x) is learned for the first branch, data having one or more of label 6 or label 8 is a positive example, either label 5 or label 7 As a negative example, data having one or more is learned as a binary classifier. Similarly, when learning f 2 (x) for the next branch, the data having label 6 and not having label 8 is a positive example, label 8 is provided, and label 6 is assigned Data that does not have is learned as a binary classifier as a negative example. This enables high-speed cluster allocation of test data using a tree structure.
  • the fourth embodiment is an example of a mode different from the second embodiment described above.
  • the data classification support system according to the fourth embodiment has a configuration in which the storage unit that stores the feature matrix and the label matrix is separated from the attention label setting unit and the like.
  • FIG. 11 is a block diagram showing the overall configuration of the data classification support system 200 according to the fourth embodiment.
  • the data classification support system 200 includes a data management device 21 and a data classification support device 22.
  • the data management device 21 and the data classification support device 22 are communicably connected via the network N.
  • the data management device 21 is a computer such as one or a plurality of storage servers.
  • the data management device 21 includes a storage unit 211 and a communication unit 212.
  • the storage unit 211 is a storage device such as a hard disk or a flash memory.
  • the storage unit 211 stores a feature matrix 111 and a label matrix 112. However, the storage unit 211 only needs to store either the feature matrix 111 or the label matrix 112.
  • the communication unit 212 transmits / receives data to / from the data classification support device 22 via the network N.
  • the communication unit 212 receives an acquisition request for the feature matrix 111 and the label matrix 112 from the data classification support apparatus 22 via the network N.
  • the communication unit 212 reads the feature matrix 111 and the label matrix 112 from the storage unit 211 and returns them to the data classification support device 22 via the network N.
  • the data management device 21 includes a processor and a memory as a configuration (not shown).
  • the storage unit 211 stores a predetermined program.
  • the predetermined program receives the acquisition request from the data classification support device 22, it is assumed that a process of reading the designated data from the storage unit 211 and returning it to the data classification support device 22 is implemented. .
  • the processor reads the predetermined program from the storage unit 211 into the memory and executes the program. Thereby, the processor realizes the function of the communication unit 212.
  • the data classification support device 22 is obtained by replacing the program 117 with a program 117b, the input acquisition unit 121 with an input acquisition unit 121a, and the IF unit 140 with a communication unit 140a.
  • the program 117b is replaced with processing via the network N in the acquisition processing of the feature matrix 111 and the label matrix 112.
  • the communication unit 140a transmits data via the network N in response to an instruction from the control unit 120, and outputs data received via the network N to the control unit 120. .
  • the input acquisition unit 121a transmits an acquisition request specifying the feature matrix 111 and the label matrix 112 to the data management device 21 via the network N. Then, the input acquisition unit 121a outputs the feature matrix 111 and the label matrix 112 received from the data management device 21 via the network N to the target label setting unit 122 and the like.
  • the fourth embodiment can achieve the same effects as the first and second embodiments described above. Furthermore, the improvement of the third embodiment can be applied to the data classification support system 200 according to the fourth embodiment.
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium).
  • Examples of non-transitory computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, DVD (Digital Versatile Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)).
  • the program may also be supplied to the computer by various types of temporary computer-readable media.
  • Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • a setting unit that sets multiple allocation conditions for allocating a part of the data to one of multiple groups, A basic cluster constructing unit that constructs a plurality of basic clusters based on the plurality of groups by allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group; A cluster allocation unit that performs cluster integration and refinement on the plurality of basic clusters, and determines cluster allocation for each of the N pieces of data;
  • An information processing apparatus comprising: (Appendix A2) The setting unit The information processing apparatus according to appendix A1, wherein the allocation condition includes setting a part of the L types of labels.
  • (Appendix A3) The setting unit Based on the appearance frequency of the labels in the N pieces of data, select some labels among the L types of labels as attention labels, and set a set of the attention labels as the allocation condition,
  • the basic cluster building unit The information processing apparatus according to attachment A2, wherein among the N pieces of data, two or more pieces of data defined as having the same attention label are assigned to the same group, and the basic cluster is constructed.
  • (Appendix A4) The setting unit For each of the L types of labels, calculate the frequency of appearance of the label in the N data, The information processing apparatus according to Supplementary Note A3, wherein a label lower than a predetermined rank in the descending order of the appearance frequency among the L types of labels is selected as the attention label.
  • the setting unit The attention label is selected based on the appearance frequency of the label calculated from N label vectors corresponding to each of the N data and having the presence or absence of each of the L types of labels as elements.
  • the basic cluster building unit The information processing apparatus according to appendix A3 or A4, wherein two or more label vectors having elements having the same target label among the N label vectors are assigned to the same group, and the basic cluster is constructed. .
  • the basic cluster construction unit allocates the specific data to two or more different groups corresponding to each allocation condition when specific data among the N pieces of data corresponds to the two or more allocation conditions.
  • the information processing apparatus according to any one of appendices A1 to A5.
  • (Appendix A7) The basic cluster building unit When specific data among the N pieces of data is assigned to two or more groups, the two or more groups are integrated and constructed as one basic cluster.
  • (Appendix A8) The cluster allocation unit Based on the feature amount of each data belonging to the basic cluster or the presence or absence of the label, the plurality of basic clusters are hierarchized to integrate the clusters, and the hierarchical structure by the integration is recorded, Dividing the cluster from the integrated cluster to a predetermined hierarchy in the hierarchical structure, The information processing apparatus according to any one of appendices A1 to A7, wherein assignment of the cluster is determined so that each of the N pieces of data belongs to any of the divided clusters.
  • a storage unit that stores the data of the matter, A setting unit for setting a plurality of allocation conditions for allocating a part of the N pieces of data stored in the storage unit to any of a plurality of groups; A basic cluster constructing unit that constructs a plurality of basic clusters based on the plurality of groups by allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group; A cluster allocation unit that performs cluster integration and refinement on the plurality of basic clusters, and determines cluster allocation for each of the N pieces of data; A data classification support system comprising: (Appendix B2) The setting unit The data classification support system according to appendix B1, wherein the allocation condition includes setting a part of the L types of labels.
  • Setting multiple allocation conditions to allocate a part of the data to one of multiple groups A process of allocating two or more data corresponding to the same allocation condition among the N pieces of data to the same group and constructing a plurality of basic clusters based on the plurality of groups; A process of performing cluster integration and refinement for the plurality of basic clusters, and determining a cluster assignment for each of the N pieces of data; Data classification support program that causes a computer to execute.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置(1)は、M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部(11)と、N件のデータのうち、同一の割当条件に該当する2以上のデータを同一のグループに割り当てて、複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部(12)と、複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部(13)と、を備える。

Description

情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体
 本発明は、情報処理装置、データ分類支援システム、データ分類支援方法、及び、データ分類支援プログラムが格納された非一時的なコンピュータ可読媒体に関し、特に、超マルチラベル分類問題を解くためのデータ分類を支援するための情報処理装置、データ分類支援システム、データ分類支援方法、及び、データ分類支援プログラムが格納された非一時的なコンピュータ可読媒体に関する。
 「マルチラベル分類」(Multi-Label classification)と呼ばれる分類問題は、あるデータについてそのデータの特徴から該当するカテゴリに分類する際に、1つのデータが複数のカテゴリ(ラベル)に同時に属する(分類される)ことを許容する分類問題である。すなわち、「マルチラベル分類」という分類問題は、未だラベルが付されていないデータ(つまり、未分類データ)に付される1つ又は複数のラベルを推定する問題である。換言すると、「マルチラベル分類」という分類問題は、未分類データに付される1つ又は複数のラベルを算出する分類器を形成する問題である。
 ここで、「超大規模マルチラベル分類」(eXtreme Multi-Label classification)と呼ばれるマルチラベル分類問題は、データ数、データを表現する特徴数、及び、ラベル数が膨大なマルチラベル分類である。例えば、超大規模マルチラベル分類問題には、特徴数やラベル数が数百万以上に及ぶものが該当する。超大規模マルチラベル分類問題を解くためには、分類対象のデータ群を予め複数のグループに分割し、分割された各グループごとの比較的小さな問題に対して独立に従来のマルチラベル分類問題を解く、という方法が有効であることが知られている。例えば、非特許文献1及び非特許文献2が挙げられる。
 非特許文献1は、データの分割にK-means法を用いて、近しい特徴を持つデータを単純に分割する手法である。また、非特許文献2は、データの分割にGraph-Cut手法を用いるものである。つまり、非特許文献2は、データを一つのノード、複数のラベル共有するデータ間(ノード間)にはエッジを張るということを行うことによって得られるK近傍グラフからデータ分割を行う手法である。これによってラベルの情報を利用し、分割後のマルチラベル分類の精度を高くすることができることが知られている。
 尚、特許文献1には、学習用のデータセットから所定のデータペアを生成して超平面を学習する学習方法に関する技術が開示されている。当該学習方法では、データセットに含まれる各特徴量ベクトルに付与されたラベルの数、ラベルの種類の数、同一ラベルが付与された特徴量ベクトルの数等を計数する。
 また、特許文献2には、学習対象データに対して識別情報(ラベル)を付与するための識別情報付与装置に関する技術が開示されている。当該識別情報付与装置は、まず、学習対象から抽出された特徴ベクトルと、学習対象に付与された識別情報とを組みにした学習データに基づいて決定木を作成する。そして、当該識別情報付与装置は、決定木に基づいて各データのグループ化を行う。
 また、特許文献3には、マルチラベルの文書を含む文書集合からカテゴリごとの特徴語群を抽出する特徴語抽出システムに関する技術が開示されている。当該特徴語抽出システムは、まず、マルチラベルの文書を含む文書集合について、同一カテゴリ数の文書集合にグループ分けする。そして、当該特徴語抽出システムは、グループ分けした文書集合がマルチラベル文書の集合であればシングルラベル文書の集合に分割する。その後、当該特徴語抽出システムは、分割したシングルラベル文書の文書集合からカテゴリごとの特徴語の抽出を行う。
国際公開2014/118976号 特開2013-054512号公報 特開2004-030202号公報
K. Bhatia, H. Jain, P. Kar, M. Varma and P. Jain. Sparse local embeddings for extreme multi-label classification. In Advances in Neural Information Processing Systems, Montreal, Canada, December 2015. Tagami, Yukihiro. AnnexML: Approximate Nearest Neighbor Search for Extreme Multi-label Classification. Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2017.
 しかしながら、非特許文献1及び2には、超大規模マルチラベル分類問題を解くために事前に行われるデータ分割時の分割のされ方によって、その後の分類精度が依存してしまい、分類精度が低くなってしまうおそれがあるという問題点がある。
 例えば、非特許文献1では、超大規模マルチラベル分類問題の分割を行う際にラベルの情報を使っていないために、当該問題の分割のされ方によっては、分割後のマルチラベル分類器の精度が低い可能性がある。特に、出現頻度が小さいラベルがデータ分割によって異なるグループ(問題)へと分割された場合には、そのラベルに対する分類器の構築がより困難になるため、精度が低くなる。
 また、非特許文献2では、出現頻度の低いラベルを必ず同じクラスタへと割り当てるわけではない。そのため、非特許文献1と同様に、出現頻度が小さいラベルがデータ分割によって異なるグループ(問題)へと分割され、分割後のマルチラベル分類器の精度が低くなる可能性がある。また、非特許文献2にかかる技術では、K近傍グラフの構築に大きな計算時間を必要とする。
 尚、特許文献1から3にかかる技術についても上述した問題点を解決するものではない。
 本開示は、このような問題点を解決するためになされたものであり、超大規模マルチラベル分類問題を解くための分類精度を向上するための情報処理装置、データ分類支援システム、データ分類支援方法、及び、データ分類支援プログラムを提供することを目的とする。
 本開示の第1の態様にかかる情報処理装置は、
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
 を備える。
 本開示の第2の態様にかかるデータ分類支援システムは、
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータを記憶する記憶部と、
 前記記憶部に記憶された前記N件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
 を備える。
 本開示の第3の態様にかかるデータ分類支援方法は、
 コンピュータが、
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定し、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築し、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する。
 本開示の第4の態様にかかるデータ分類支援プログラムは、
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する処理と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する処理と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する処理と、
 をコンピュータに実行させる。
 本発明により、超大規模マルチラベル分類問題を解くための分類精度を向上するための情報処理装置、データ分類支援システム、データ分類支援方法、及び、データ分類支援プログラムを提供することができる。
本実施の形態1にかかる情報処理装置の構成を示すブロック図である。 本実施の形態1にかかるデータ分類支援方法の流れを説明するためのフローチャートである。 本実施の形態2にかかるデータ分類支援システムの全体構成を示すブロック図である。 本実施の形態2にかかる特徴行列とラベル行列の関係の概念を説明する図である。 本実施の形態2にかかるクラスタ割当情報の概念を説明する図である。 本実施の形態2にかかるデータ分類支援方法の流れを説明するためのフローチャートである。 本実施の形態2にかかるクラスタ構成の階層構造の例を説明する図である。 本実施の形態3にかかるデータ分類支援システムの全体構成を示すブロック図である。 本実施の形態3にかかる学習される分岐関数の概念を説明する図である。 本実施の形態3にかかるデータ分類支援方法の流れを説明するためのフローチャートである。 本実施の形態4にかかるデータ分類支援システムの全体構成を示すブロック図である。
 以下では、本開示の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
<実施の形態1>
 図1は、本実施の形態1にかかる情報処理装置1の構成を示すブロック図である。情報処理装置1は、N(Nは2以上の自然数。)件のデータについてクラスタ分析を行うコンピュータである。そして、当該クラスタ分析の結果は、マルチラベル分類問題を解くための分類器の形成に用いることができる。ここで、N件のデータのそれぞれは、M(Mは2以上の自然数。)種類の特徴量を有するものである。また、N件のデータのそれぞれは、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されている。尚、M種類の特徴量、L種類のラベル、及び、N件のデータのそれぞれは、百万以上である。そのため、本実施の形態1にかかる情報処理装置1は、超大規模マルチラベル分類問題を解くための分類器を形成するために用いることができる。
 情報処理装置1は、設定部11と、基礎クラスタ構築部12と、クラスタ割当部13とを備える。設定部11は、N件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する。つまり、割当条件は、N件のデータのうち一部のデータに対して適用される条件情報である。例えば、割当条件は、各データにおける特徴量又はラベルの有無の条件を定義した情報である。
 基礎クラスタ構築部12は、N件のデータのうち、同一の割当条件に該当する2以上のデータを同一のグループに割り当てて、複数のグループに基づいて複数の基礎クラスタを構築する。ここで、基礎クラスタ構築部12は、N件のデータのうち割当条件の適用対象となる少なくとも一部のデータに対して、複数のグループのいずれかに割り当てるものであればよい。そして、基礎クラスタ構築部12は、1つのグループをそのまま1つの基礎クラスタとして構築してもよい。または、基礎クラスタ構築部12は、複数のグループを統合して1つの基礎クラスタとして構築してもよい。そのため、基礎クラスタとは、N件のデータのうち1以上のデータが所属するデータの集合である。また、基礎クラスタには、N件のデータのうち割当条件の適用対象外のデータが含まれても良い。この時、割当条件の適用対象外のデータを割り当てる条件は、当該割当条件以外のものであればよい。尚、複数の基礎クラスタの間で所属するデータの重複があっても構わないものとする。つまり、基礎クラスタに割り当てられた各データは、他の基礎クラスタに所属しても構わない。
 クラスタ割当部13は、基礎クラスタ構築部12により構築された複数の基礎クラスタに対して、クラスタの統合及び洗練(sophisticate)を行い、N件のデータのそれぞれについてのクラスタの割り当てを決定する。尚、クラスタの統合及び洗練には、公知の技術を用いることが可能である。但し、クラスタ割当部13は、複数の基礎クラスタをそのまま最終的なクラスタとするのではなく、少なくとも複数の基礎クラスタを所定の方法で統合し、その後、統合後のクラスタを所定の方法で洗練、つまり、分割することにより、複数のクラスタを生成するものとする。そのため、複数の基礎クラスタのいずれかに割り当てられた各データは、クラスタ割当部13により生成された複数のクラスタの少なくとも1つ以上に割り当てられることとなる。
 尚、情報処理装置1は、図示しない構成としてプロセッサ、メモリ、記憶装置を備えるものである。また、当該記憶装置には、本実施の形態にかかるデータ分類支援処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、設定部11、基礎クラスタ構築部12及びクラスタ割当部13の機能を実現する。
 尚、前記記憶装置は、上述したN件のデータをさらに記憶するものであってもよい。その場合、設定部11は、前記記憶装置からN件のデータを取得して、前記メモリへ一時的に保存し、前記設定を行う。または、上述したN件のデータは、情報処理装置1と通信回線を介して接続された外部の記憶装置に記憶されたものであってもよい。その場合、設定部11は、通信回線を介して前記外部の記憶装置からN件のデータを取得して、前記メモリへ一時的に保存し、前記設定を行う。
 また、設定部11は、前記割当条件を少なくとも前記メモリに一時的に保存することにより前記設定を行う。そして、基礎クラスタ構築部12は、前記メモリに保存されたN件のデータ及び割当条件を参照して、グループへの割り当て及び基礎クラスタを構築し、構築した複数の基礎クラスタを少なくとも前記メモリに保存する。そして、クラスタ割当部13は、前記メモリに保存されたN件のデータ及び基礎クラスタを参照して、クラスタの割り当てを決定し、決定したクラスタの割り当てを少なくとも前記メモリに保存する。また、クラスタ割当部13は、決定したクラスタの割り当てを前記記憶装置に保存するか、情報処理装置1の外部へ出力してもよい。
 図2は、本実施の形態1にかかるデータ分類支援方法の流れを説明するためのフローチャートである。まず、設定部11は、N(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する(S11)。次に、基礎クラスタ構築部12は、N件のデータのうち、同一の割当条件に該当する2以上のデータを同一のグループに割り当てて複数のグループとする。そして、基礎クラスタ構築部12は、割り当てられた複数のグループに基づいて複数の基礎クラスタを構築する(S12)。そして、クラスタ割当部13は、複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、N件のデータのそれぞれについてのクラスタの割り当てを決定する(S13)。
 このように、本実施の形態により、超大規模マルチラベル分類問題を解くための分類精度を向上することができる。すなわち、本実施の形態にかかるデータ分類支援方法は、N件のデータ全てに対して一律に同じ条件で初期の分類(データ分割)を行うのではなく、特定の割当条件を満たす一部のデータに対して、特定の基礎クラスタに割り当てるものである。そのため、例えば、L件のラベルのうち全データの中で出現頻度が相対的に低いラベルを有するデータについては、特定の分割ルールを適用して特定の基礎クラスタに割り当てることができる。つまり、出現頻度の低いラベルが付されたデータが異なる基礎クラスタに分散されてしまうことを防ぐことができる。そして、このようにして割り当てられた基礎クラスタに対してクラスタの統合及び洗練を行うため、その後のクラスタの割り当てを用いて分類器の学習を行う際に、学習処理時間を短縮し、かつ、精度良く学習できる。そのため、分類精度の高い分類器を形成できる。よって、超大規模マルチラベル分類問題を精度良く、解くことができる。
 尚、本実施の形態で対象とする超大規模マルチラベル分類問題としては、例えば、マルウェアに複数のカテゴリを分類する問題が挙げられる。そのため、本実施の形態にかかる情報処理装置1は、マルウェア分類支援装置と呼ぶことができる。また、本実施の形態で対象とする超大規模マルチラベル分類問題としては、例えば、動画データに複数のタグを付与する問題が挙げられる。そのため、本実施の形態にかかる情報処理装置1は、動画データタグ付け支援装置と呼ぶこともできる。また、本実施の形態で対象とする超大規模マルチラベル分類問題としては、例えば、Webページを推薦するためにWebページに複数のラベルを付与する問題が挙げられる。そのため、本実施の形態にかかる情報処理装置1は、Webページ推薦支援装置と呼ぶこともできる。
<実施の形態2>
 本実施の形態2は、上述した実施の形態1の応用例である。本実施の形態2にかかるデータ分類支援システムは、記憶部と、設定部と、基礎クラスタ構築部と、クラスタ割当部とを備える。記憶部は、M種類の特徴量を有し、かつ、L種類のラベルのそれぞれの有無が定義されたN件のデータを記憶する。尚、設定部と、基礎クラスタ構築部と、クラスタ割当部とは、少なくとも上述した実施の形態1と同様の機能を有するものであればよい。
 また、前記設定部は、前記L種類のラベルのうち一部のラベルを有することを前記割当条件として設定するものである。このように、ラベルの有無を基礎クラスタの割り当て基準とすることで、ラベルに基づく分類精度を向上させることができる。
 さらに、前記設定部は、前記N件のデータ内でのラベルの出現頻度に基づいて、前記L種類のラベルのうち一部のラベルを注目ラベルとして選択し、当該注目ラベルの集合を前記割当条件として設定することが望ましい。そして、前記基礎クラスタ構築部は、前記N件のデータのうち、同一の前記注目ラベルが有と定義された2以上のデータを同一のグループに割り当てて、前記基礎クラスタを構築することが望ましい。これにより、ラベルの出現頻度に基づく注目ラベルを加味して基礎クラスタを構築できるため、ラベルが共通するデータを同一の基礎クラスタに割り当てられて、分類精度が向上する。
 さらに、前記設定部は、前記L種類のラベルのそれぞれについて前記N件のデータ内でのラベルの出現頻度を算出し、前記L種類のラベルのうち前記出現頻度が大きい順で所定の順位より低いラベルを前記注目ラベルとして選択するとよい。これにより、出現頻度の低いラベルが付加された2以上のデータが異なる基礎クラスタに割り当てられることを防げるため、分類精度が向上する。
 さらに、前記設定部は、前記N件のデータのそれぞれに対応し、かつ、前記L種類のラベルのそれぞれの有無を要素とするN件のラベルベクトルから算出した前記ラベルの出現頻度に基づいて、前記注目ラベルを選択するとよい。そして、前記基礎クラスタ構築部は、前記N件のラベルベクトルのうち同一の前記注目ラベルを有とした要素を有する2以上のラベルベクトルを、同一のグループに割り当てて、前記基礎クラスタを構築するとよい。これにより、特徴量ベクトルを用いずとも、精度の高い基礎クラスタを構築できるため、処理性能が向上する。
 さらに、前記基礎クラスタ構築部は、前記N件のデータのうち特定のデータが2以上の前記割当条件に該当する場合、各割当条件に対応する異なる2以上のグループに当該特定データを割り当てて、各グループのそれぞれを前記基礎クラスタとして構築するとよい。これにより、割当条件を直接反映した基礎クラスタを構築することができ、基礎クラスタをきめ細かく定義できる。
 さらに、前記基礎クラスタ構築部は、前記N件のデータのうち特定のデータについて、2以上のグループに割り当てられた場合、当該2以上のグループを統合して1の前記基礎クラスタとして構築するとよい。これにより、分類精度を維持しつつ、基礎クラスタの数を減らし、その後のクラスタ統合及び洗練処理の効率を向上させることができる。
 さらに、前記クラスタ割当部は、次のように処理することが望ましい。まず、前記クラスタ割当部は、前記基礎クラスタに属する各データの前記特徴量又は前記ラベルの有無に基づいて、前記複数の基礎クラスタを階層化して前記クラスタの統合を行い、当該統合による階層構造を記録する。次に、前記クラスタ割当部は、前記統合後のクラスタから、前記階層構造のうち所定の階層までクラスタを分割する。そして、前記クラスタ割当部は、前記N件のデータのそれぞれについて前記分割したクラスタのいずれかに属するように、前記クラスタの割り当てを決定する。例えば、凝集型クラスタリングにより、その階層構造は、一部の条件を満たすデータについて効果的に割り当てられた基礎クラスタから統合されたものとなる。そのため、特定条件を満たすデータが予め下位階層で同一クラスタに分類されている確率が高く、精度の高いクラスタ割り当てを決定することが可能となる。
 また、前記M種類の特徴量、前記L種類のラベル、及び、前記N件のデータのそれぞれは、百万以上である。これにより、超大規模マルチラベル分類問題に適用できる。
 図3は、本実施の形態2にかかるデータ分類支援システム100の全体構成を示すブロック図である。データ分類支援システム100は、1又は複数台のコンピュータ装置により実現される。データ分類支援システム100は、記憶部110と、制御部120と、メモリ130と、IF(InterFace)部140とを備える。
 記憶部110は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部110は、特徴行列111と、ラベル行列112と、注目ラベル定義113と、注目ラベル集合114と、クラスタ割当情報115と、戻し条件116と、プログラム117とを備える。
 特徴行列111は、N件のデータのそれぞれをM次元の特徴ベクトルで表現したものである。ここで、M次元の各要素は、上述したM種類の特徴量に相当する。そして、特徴行列111は、各行が各データの特徴ベクトルに対応する。
 ラベル行列112は、N件のデータのそれぞれについてL種類のラベルのそれぞれの有無を定義したラベルベクトルで表現したものである。そして、ラベル行列112は、各行が各データのラベルベクトルに対応する。つまり、ラベル行列112は、各要素がラベルの有無を示すバイナリ行列といえる。例えば、ラベル行列112のI行目J列目の要素が1である場合、I番目のデータはJ番目のラベルを有することを示す。一方、I行目J列目の要素が0である場合、I番目のデータはJ番目のラベルを有さないことを示す。
 図4は、本実施の形態2にかかる特徴行列111とラベル行列112の関係の概念を説明する図である。特徴行列111は、N件の特徴ベクトル1111、1112、・・・111Nを備える。そして、例えば、特徴ベクトル1111は、M種類の特徴量11111、・・・1111Mを有する。また、他の特徴ベクトル1112、・・・111Nのそれぞれについても同様にM種類の特徴量を有する。ラベル行列112は、N件のラベルベクトル1121、1122、・・・112Nを備える。そして、例えば、ラベルベクトル1121は、L種類のラベルフラグ11211、・・・1121Lを有する。また、他のラベルベクトル1122、・・・112Nのそれぞれについても同様にL種類のラベルを有する。
 図3に戻り説明を続ける。注目ラベル定義113は、後述する注目ラベル設定部122により注目ラベルを設定する際に用いる注目ラベルを選択する際の定義である。ここで、注目ラベルとは、上述した割当条件の一例であり、後述する基礎クラスタ構築部123が基礎クラスタを構築する際に、同一のグループに割り当てる際の基準となるラベルの種類を示す。そのため、注目ラベルとは、同じ注目ラベルを持つデータ同士を強制的に同じ基礎クラスタへと割り当てさせるための制約条件ともいえる。そして、注目ラベル定義113は、ユーザにより任意の定義が設定されてもよい。例えば、注目ラベル定義113は、L種類のラベルのうち出現頻度が所定の順位より低いものを注目ラベルとして設定する場合、所定の順位の定義としてもよい。または、注目ラベル定義113は、L種類のラベルのうち出現頻度が最下位、つまり、出現頻度が最も少ないラベルという定義としてもよい。
 注目ラベル集合114は、L種類のラベルのうち、注目ラベル設定部122により選択された注目ラベルの集合である。
 クラスタ割当情報115は、特徴行列111及びラベル行列112の各行に対応するN件のデータのそれぞれが割り当てられた複数のクラスタを示す情報である。クラスタ割当情報115は、基礎クラスタ情報1151及び階層構造情報1152を含む。
 図5は、本実施の形態2にかかるクラスタ割当情報115の概念を説明する図である。基礎クラスタ情報1151は、複数の基礎クラスタ11511、11512、・・・を含む。尚、基礎クラスタの数は、2以上かつN未満となる。基礎クラスタは、1以上のデータの識別情報又はデータの保存先アドレスへのリンクの集合である。基礎クラスタは、後述するクラスタ統合部124におけるクラスタ統合の統合対象となるクラスタの最小単位である。例えば、基礎クラスタは、クラスタID、所属するデータのID、当該基礎クラスタへの割当条件等を含むとよい。
 階層構造情報1152は、複数のノード情報11521、11522、・・・を含む。尚、ノード情報の数は、基礎クラスタの数以上となる。ノード情報は、基礎クラスタ及び複数の基礎クラスタを統合した統合クラスタにおける階層構造を定義するための情報である。ノード情報は、例えば、ノードID、左ノードID、右ノードIDを含む。例えば、基礎クラスタに対応するノード情報におけるノードIDは、当該基礎クラスタのクラスタIDである。また、統合クラスタに対応するノード情報におけるノードIDは、当該統合クラスタのクラスタIDである。尚、クラスタ割当情報、基礎クラスタ情報、基礎クラスタ、階層構造情報、ノード情報の具体的な構成は上述したものに限定されない。
 図3に戻り説明を続ける。戻し条件116は、後述するクラスタ洗練部125により統合後のクラスタを洗練、分割する(統合したクラスタを分割して戻す)際の条件を定義した情報である。プログラム117は、データ分類支援プログラムの一例であり、本実施形態にかかるデータ分類支援処理が実装されたコンピュータプログラムである。
 尚、注目ラベル集合114及びクラスタ割当情報115は、必ずしも記憶部110に記憶される必要はなく、基礎クラスタ構築部123、クラスタ統合部124及びクラスタ洗練部125の処理中に少なくともメモリ130に保持されていればよい。
 メモリ130は、RAM(Random Access Memory)等の揮発性記憶装置であり、制御部120の動作時に一時的に情報を保持するための記憶領域である。IF部140は、データ分類支援システム100の外部との入出力を行うインタフェースである。例えば、IF部140は、キーボード、マウス、タッチパネル等の入力デバイス(不図示)を介して、ユーザの操作を受け付け、受け付けた操作内容を制御部120へ出力する。また、IF部140は、制御部120からの指示に応じて、タッチパネル、表示装置、プリンタ等(不図示)へ出力を行う。
 制御部120は、CPU(Central Processing Unit)等のプロセッサであり、データ分類支援システム100の各構成を制御する。制御部120は、記憶部110からプログラム117をメモリ130へ読み込み、プログラム117を実行する。これにより、制御部120は、入力取得部121、注目ラベル設定部122、基礎クラスタ構築部123、クラスタ統合部124及びクラスタ洗練部125の機能を実現する。尚、注目ラベル設定部122は、上述した設定部11の一例である。また、基礎クラスタ構築部123は、上述した基礎クラスタ構築部12の一例である。また、クラスタ統合部124及びクラスタ洗練部125は、上述したクラスタ割当部13の一例である。
 入力取得部121は、記憶部110から特徴行列111及びラベル行列112を入力として取得する。そして、入力取得部121は、特徴行列111及びラベル行列112の少なくとも一方を注目ラベル設定部122へ出力する。尚、以下の説明では、入力取得部121は、ラベル行列112を注目ラベル設定部122へ出力するものとする。また、入力取得部121は、特徴行列111及びラベル行列112を基礎クラスタ構築部123へ出力する。
 注目ラベル設定部122は、記憶部110内の注目ラベル定義113を参照し、ラベル行列112を解析して、L種類のラベルのうち一部のラベルを有することを割当条件として設定する。具体的には、注目ラベル設定部122は、ラベル行列112内でのラベルの出現頻度に基づいて、L種類のラベルのうち一部のラベルを注目ラベルとして選択する。そして、注目ラベル設定部122は、選択した注目ラベルの集合である注目ラベル集合114を割当条件として設定する。例えば、注目ラベル設定部122は、L種類のラベルのそれぞれについてN件のラベルベクトル内でのラベルの出現頻度を算出する。そして、注目ラベル定義113に順位が定義されていた場合、注目ラベル設定部122は、L種類のラベルのうち出現頻度が大きい順で所定の順位より低いラベルを注目ラベルとして選択する。尚、注目ラベル設定部122は、注目ラベル集合114を基礎クラスタ構築部123へ出力する。このとき、注目ラベル設定部122は、メモリ130又は記憶部110を介して注目ラベル集合114を基礎クラスタ構築部123へ受け渡しても良い。
 基礎クラスタ構築部123は、特徴行列111、ラベル行列112及び注目ラベル集合114を受け付け、凝集型クラスタリングの際に凝集するクラスタの最小単位である基礎クラスタを構築して、クラスタ統合部124へ出力する。すなわち、基礎クラスタ構築部123は、N件のデータ(特徴ベクトル又はラベルベクトル)のうち、同一の注目ラベルが有と定義された2以上のデータを同一のグループに割り当てて、複数の基礎クラスタを構築する。例えば、基礎クラスタ構築部123は、N件のラベルベクトルのうち同一の注目ラベルを有とした要素を有する2以上のラベルベクトルを、同一のグループに割り当てて、基礎クラスタを構築する。また、基礎クラスタ構築部123は、N件のデータのうち特定のデータについて、複数の注目ラベルが有と定義されていた場合、各注目ラベルに対応する異なる2以上のグループに当該特定のデータを割り当てる。この場合、基礎クラスタ構築部123は、各グループのそれぞれを別個の基礎クラスタとして構築してもよい。または、基礎クラスタ構築部123は、N件のデータのうち特定のデータについて、2以上のグループに割り当てられた場合、当該2以上のグループを統合して1の基礎クラスタとして構築することができる。例えば、基礎クラスタ構築部123は、あるラベルベクトルが2以上の注目ラベルを有する場合、それぞれの注目ラベルに対応するグループを統合して1つの基礎クラスタとしてもよい。尚、注目ラベルを有さないデータの扱いは任意とする。例えば、基礎クラスタ構築部123は、注目ラベルを有さないラベルベクトルについては、上記とは異なるクラスタリング手法を用いて基礎クラスタに割り当てても良い。または、基礎クラスタ構築部123は、注目ラベルを有さないラベルベクトルについて基礎クラスタの構築に用いなくても良い。尚、基礎クラスタ構築部123は、構築した複数の基礎クラスタを基礎クラスタ情報1151に含めてメモリ130又は記憶部110に記憶し、メモリ130又は記憶部110を介してクラスタ統合部124へ受け渡しても良い。尚、入力取得部121又は基礎クラスタ構築部123は、特徴行列111及びラベル行列112をクラスタ統合部124及びクラスタ洗練部125へ出力する。
 クラスタ統合部124は、特徴行列111、ラベル行列112及び基礎クラスタ情報1151を受け付け、凝集型クラスタリングを行う。そして、クラスタ統合部124は、クラスタを統合する際の階層構造情報1152を木構造として記録し、基礎クラスタ情報1151及び階層構造情報1152をクラスタ洗練部125へ出力する。すなわち、クラスタ統合部124は、基礎クラスタに属する各データの特徴量又はラベルの有無に基づいて、複数の基礎クラスタを階層化してクラスタの統合を行い、当該統合による階層構造を記録する。尚、基礎クラスタ構築部123又はクラスタ統合部124は、各基礎クラスタに対応する上述したノード情報を生成しているものとする。
 ここで、クラスタ統合部124は、各基礎クラスタについて所属するデータの特徴ベクトル又はラベルベクトルから、所定の距離尺度に基づいて、任意の2つの基礎クラスタの間での距離を算出する。そして、クラスタ統合部124は、距離が最も近い2つの基礎クラスタを統合して、1つの統合クラスタとする。このとき、クラスタ統合部124は、例えば、統合クラスタに対応する上述したノード情報を生成する。つまり、クラスタ統合部124は、統合クラスタに対応する新たなノードIDを生成し、統合する一方の基礎クラスタのクラスタID(ノードID)を左ノードID、他方の基礎クラスタのクラスタIDを右ノードIDとし、これらを対応付けてノード情報とする。
 そして、クラスタ統合部124は、クラスタが一つになるまでクラスタの統合を繰り返す。この間、上述の通り、クラスタ統合部124は、ノード情報を生成するため、階層構造情報1152を木構造として記録する。尚、クラスタ統合部124は、生成した階層構造情報1152をメモリ130又は記憶部110に記憶し、メモリ130又は記憶部110を介してクラスタ洗練部125へ受け渡しても良い。
 ここで、上述したクラスタ間の距離を算出する際の距離尺度には、様々なものを用いることができる。例えば、距離尺度は、クラスタに属する2点で最も近い点同士の距離、又は、最も遠い点同士の距離としてもよい。また、距離尺度は、クラスタ間の全ての点の距離の平均を用いてもよい。また、距離尺度は、クラスタ中心を計算し、それらの距離を用いてもよい。また、上述した距離には、コサイン距離やユークリッド距離など、様々なものを用いてよい。
 クラスタ洗練部125は、特徴行列111、ラベル行列112、基礎クラスタ情報1151及び階層構造情報1152を受け付け、統合後の1つのクラスタから、階層構造のうち所定の階層までクラスタを分割する。そして、クラスタ洗練部125は、N件のデータのそれぞれについて、分割したクラスタのいずれかに属するように、クラスタの割り当てを決定する。そして、クラスタ洗練部125は、決定したクラスタの割り当てをクラスタ割当情報115として記憶部110に保存又は外部へ出力する。ここで、クラスタ洗練部125は、記憶部110内の戻し条件116を参照し、階層構造情報1152からどの階層までをクラスタを分割するかを判定し、判定した階層まで統合クラスタを分割する。例えば、クラスタ洗練部125は、該当する階層より上の階層に相当するノード情報を削除してもよい。また、戻し条件116には様々な定義を用いることができる。例えば、戻し条件116は、統合クラスタを最上位の階層から分割すべき階層の位置、クラスタのサイズ(所属するデータの数)の最大値としてもよい。または、戻し条件116は、クラスタ内の密度としてもよい。ここで、密度には、特徴空間又はラベル空間上のいずれか、または、これら組み合わせを用いてもよい。
 図6は、本実施の形態2にかかるデータ分類支援方法の流れを説明するためのフローチャートである。まず、注目ラベル設定部122は、ラベル行列112から複数の注目ラベルを設定し、注目ラベル集合114として基礎クラスタ構築部123へ出力する(S1)。次に、基礎クラスタ構築部123は、注目ラベル集合114と特徴行列111又はラベル行列112を用いて、複数の基礎クラスタを構築する(S2)。そして、クラスタ統合部124は、各基礎クラスタのクラスタ中心を算出する(S3)。続いて、クラスタ統合部124は、クラスタ中心間の距離が最小である2つのクラスタを統合する(S4)。そして、クラスタ統合部124は、統合したクラスタの木構造上の位置関係を示す階層構造情報1152を更新する(S5)。そして、クラスタ統合部124は、統合後に残りのクラスタが1つか否かを判定する(S6)。残りのクラスタが2以上の場合、ステップS3からS5を再度実行し、統合後のクラスタが1つになるまで繰り返す。その後、統合後のクラスタが1つと判定された場合、クラスタ洗練部125は、木構造の最上位のクラスタ(統合後のクラスタ)から、戻し条件116を満たすクラスタを深さ優先で検索する(S7)。そして、クラスタ洗練部125は、全てのクラスタが戻し条件116を満たし、かつ、木構造の階層が最も浅くなるように、クラスタの分割を行う(S8)。
 続いて、具体例を用いて、本実施の形態2にかかるデータ分類支援システム100の動作を説明する。ここでは、以下の設定で処理を行うものとする。
(1)注目ラベルを出現頻度によって定める。
(2)基礎クラスタには注目ラベルを持つデータのみを用いる。
(3)クラスタ中心はラベルベクトルの平均を用いる。
(4)クラスタ中心間の距離にはコサイン距離を用いる。
(5)戻し条件をクラスタに所属するデータの数とする。
 まず、処理対象となるラベル行列112は、以下であるものとする。
Figure JPOXMLDOC01-appb-M000001
これに対して、上記(1)に基づき注目ラベル定義113を出現頻度が2以下のラベルと定義した場合、注目ラベル設定部122は、注目ラベル集合Z={5,6,7,8}として設定する。この注目ラベル集合Zを用いて基礎クラスタを構成する。
 基礎クラスタ構築部123は、上記(2)に基づき基礎クラスタを構築するために、まず、注目ラベル集合Z中の出現頻度の低いラベルから順にそのラベルを持つデータをクラスタに割り当てる。例えば、注目ラベル集合Zにおいては、注目ラベル8(出現頻度1)、注目ラベル5,6,7(出現頻度2)の順となる。そして、注目ラベル8に対応するクラスタ(グループ)にはデータ5(5行目のラベルベクトル)が割り当てられる。また、注目ラベル5に対応するクラスタにはデータ2及び7(2及び7行目のラベルベクトル)が割り当てられる。また、注目ラベル6に対応するクラスタにはデータ4及び6(4及び6行目のラベルベクトル)が割り当てられる。また、注目ラベル7に対応するクラスタにはデータ2及び3(2及び3行目のラベルベクトル)が割り当てられる。
 そして、注目ラベルを有する全てのデータをクラスタへと割り当てた後に、基礎クラスタ構築部123は、複数のクラスタの間で割り当てが重複しているデータが存在するかを確認する。そして、基礎クラスタ構築部123は、データが重複するクラスタが存在する場合は、それらのクラスタを統合し、一つの基礎クラスタとして構築する。この例の場合、注目ラベル5と注目ラベル7に対応する各クラスタには、データ2が重複する。そのため、基礎クラスタ構築部123は、注目ラベル5又は注目ラベル7のいずれか1つ以上を有するデータが所属する基礎クラスタとする。例えば、上述した基礎クラスタへの割当条件を注目ラベル5又は注目ラベル7のいずれか1つ以上を含むこと、とする。
 図7は、本実施の形態2にかかるクラスタ構成の階層構造の例を説明する図である。尚、基礎クラスタ構築部123の処理後では、基礎クラスタC1、C2及びC3が構築されたこととなる。
 続いて、クラスタ統合部124は、構築された複数の基礎クラスタを用いてクラスタの統合を行う。ここでは、上記(3)及び(4)に基づき、クラスタ統合部124は、クラスタ中心を各基礎クラスタに属しているデータのラベルベクトルの要素の平均とし、クラスタ中心間の距離を以下のコサイン距離で計算する。
Figure JPOXMLDOC01-appb-M000002
 そして、クラスタ統合部124は、全ての基礎クラスタについて一対の組ごとにクラスタ間のコサイン距離を算出する。そして、クラスタ統合部124は、算出した全てのコサイン距離の中で最小となる距離におけるクラスタ同士を統合する。そして、クラスタ統合部124は、統合後のクラスタと、他のクラスタのそれぞれとの間のコサイン距離を算出する。そして、クラスタ統合部124は、同様の条件でクラスタの統合を行い、統合後のクラスタが1つとなるまで繰り返す。
 この例の場合、クラスタ統合部124は、基礎クラスタC1及びC2間の距離、基礎クラスタC1及びC3間の距離、基礎クラスタC2及びC3間の距離をそれぞれ算出する。そして、上記3つの距離のうち、基礎クラスタC1及びC2間の距離が最小であるため、クラスタ統合部124は、基礎クラスタC1及びC2を統合し、統合クラスタC4を生成する。例えば、クラスタ統合部124は、統合クラスタC4に対応するノードID(C4)を発行し、左ノードIDをC1、右ノードIDをC2とし、C4、C1及びC2を対応付けてノード情報として生成する。それ故、統合クラスタC4の割当条件は、基礎クラスタC1又はC2のいずれかを満たすこととなる。そして、クラスタ統合部124は、統合クラスタC4及び基礎クラスタC3の距離を算出し、統合クラスタC4及び基礎クラスタC3を統合し、統合クラスタC5を生成する。その結果、図7のような木構造になる。
 その後、クラスタ洗練部125は、統合後のクラスタと木構造に基づき、戻し条件116を満たすようにクラスタを分割する。そして、クラスタ洗練部125は、戻し条件116を満たすまで、又は、全てが基礎クラスタになるまで行う。
 すなわち、クラスタ洗練部125は、上記(5)に基づき、クラスタに所属するデータの数となるクラスタを統合後のクラスタの最上位から深さ優先で検索する。例えば、戻し条件116におけるクラスタサイズを3とする。この例では、クラスタ洗練部125は、まず、最上位の階層Hにおける統合クラスタC5に所属するデータ数が6(データ2,3,4,5、6,7)であるため、1階層下の階層H+1における統合クラスタC4及びC5をさらに検索する。そして、統合クラスタC4に所属するデータ数が3(データ4,5、6)、また、基礎クラスタC3に所属するデータ数が3(データ2,3,7)であるため、クラスタ洗練部125は、階層H+1が戻し条件116を満たすと判定する。そこで、クラスタ洗練部125は、統合クラスタC5を階層H+1まで分割する。つまり、統合クラスタC5を統合クラスタC4及び基礎クラスタC3まで戻す。そのため、クラスタ洗練部125は、データ4,5、6についてのクラスタの割り当てを統合クラスタC4、データ2,3,7についてのクラスタの割り当てを基礎クラスタC3として決定する。
 このように、本実施の形態では、例えば、出現頻度が相対的に小さいラベルを必ず同じ問題へと分割するように強制的なクラスタ割り当てを凝集型クラスタリングに導入し、データ分割を行うものである。そのため、出現頻度が相対的に小さいラベルに対する分類精度の悪化を引き起こす可能性を抑制できる。そして、出現頻度が相対的に低いラベルを持つデータが異なるクラスタへと割り当てされてしまうことを防ぐことができる。
 尚、通常の凝集型クラスタリング手法では、基礎クラスタが個別のデータを単位とするものであるが、本実施の形態では、1つ以上のデータを含むデータの集合を基礎クラスタの単位とするものである。
<実施の形態3>
 本実施の形態3は、上述した実施の形態2の改良例である。本実施の形態3にかかる情報処理装置又はデータ分類支援システムは、M種類の特徴量を有する任意の入力ベクトルデータを所定のクラスタに分類するための分岐関数を学習する学習部をさらに備えるものである。ここで、学習部は、M種類の特徴量を有するN件の特徴ベクトルと、前記決定されたクラスタの割り当てとを用いるものである。これにより、分類を高速に決定できる。
 図8は、本実施の形態3にかかるデータ分類支援システム100aの全体構成を示すブロック図である。データ分類支援システム100aは、上述したデータ分類支援システム100を改良したものであり、プログラム117がプログラム117aに置き換わり、記憶部110内に分岐関数118、制御部120内に分岐関数学習部126が追加されたものである。それ以外の構成は、図3と同等であるため、詳細な説明を省略する。
 プログラム117aは、プログラム117の機能に加え、後述する分岐関数学習部126の処理が実装されたコンピュータプログラムである。分岐関数118は、M種類の特徴量を有する任意の特徴量ベクトルを引数とし、2つのクラスタのいずれかへの分岐を判定するための判定値を算出する関数である。分岐関数118は、例えば、二値分類器である。
 分岐関数学習部126は、特徴行列111と、クラスタ洗練部125により決定されたクラスタ割当情報115とを用いて、M種類の特徴量を有する任意の入力ベクトルデータを所定のクラスタに分類するための分岐関数を学習する学習部の一例である。つまり、分岐関数学習部126は、クラスタ統合部124で生成した木構造と、クラスタ洗練部125により決定されたクラスタの割り当てと、特徴行列111とを入力とし、クラスタへの割当を学習した複数の二値分類器を出力するものである。ここで、複数の二値分類器としては、f(x)、・・・f(x)と記載するものとする。ここで、kは分岐数とし、階層構造に依存する。
 ここで、分岐関数学習部126は、まず、入力された木構造から、クラスタ洗練部125により最終的なクラスタとされた以外のクラスタを全て削除した木構造を生成する。次に、分岐関数学習部126は、各分岐に対して、分岐を決定するための二値分類器学習する。この学習には、分岐した後に属するデータの左側を正例、右側を負例として用いる。この二値分類器をすべての分岐に対して構築する。図9は、本実施の形態3にかかる学習される分岐関数の概念を説明する図である。これによって、テストデータの分類をどのクラスタで行えばよいかを高速に決定することができるようになる。尚、分岐関数学習部126に用いる二値分類器は様々なものを用いることができる。例えば、二値分類器は、線形回帰の形をとる分類器でもよいし、カーネルトリックを用いるカーネルSVM(Support Vector Machine)でもよい。
 図10は、本実施の形態3にかかるデータ分類支援方法の流れを説明するためのフローチャートである。ここで、ステップS1からS8は、上述した図6と同様であるため、説明を省略する。そこで、ステップS8の後、分岐関数学習部126は、クラスタ洗練部125で得られたクラスタと、クラスタ統合部124で得られた木構造を用いて、統合されているクラスタと、分割されたクラスタを木構造から削除する(S9)。次に、分岐関数学習部126は、木構造の各分岐に対して、二値分類器を学習する(S10)。そして、分岐関数学習部126は、分割されたクラスタ、及び、木構造、並びに、木構造の各分岐に対応する分岐関数を分割されたマルチラベル分類問題として出力する。
 続いて、具体例を用いて、本実施の形態3にかかるデータ分類支援システム100aの動作を説明する。ここでは、上述した実施の形態2の設定を用いるものとする。また、本実施の形態3では、上述した通りクラスタ洗練部125の処理までは実施の形態2と同様である。そのため、クラスタ洗練部125の処理結果として図7のような木構造が得られたものとする。
 本実施の形態3ではこれに引き続き、分岐関数学習部126は、分岐関数118について各分岐において学習を行う。具体的には、まず、最初の分岐に対してf(x)を学習する際に、ラベル6又はラベル8のいずれかを一つ以上有するデータを正例、ラベル5又はラベル7のいずれかを一つ以上有するデータを負例として二値分類器として学習する。同様に、次の分岐に対してf(x)を学習する際に、ラベル6を有し、かつ、ラベル8を有さないデータを正例、ラベル8を有し、かつ、ラベル6を有さないデータを負例として二値分類器として学習する。これにより、木構造を用いたテストデータの高速なクラスタ割り当てを可能とする。
<実施の形態4>
 本実施の形態4は、上述した実施の形態2とは異なる態様の実施例である。本実施の形態4にかかるデータ分類支援システムは、特徴行列及びラベル行列を記憶する記憶部が、注目ラベル設定部等とは別体となった構成である。
 図11は、本実施の形態4にかかるデータ分類支援システム200の全体構成を示すブロック図である。データ分類支援システム200は、データ管理装置21とデータ分類支援装置22とを備える。そして、データ管理装置21とデータ分類支援装置22とは、ネットワークNを介して通信可能に接続されている。データ管理装置21は、1又は複数台のストレージサーバ等のコンピュータである。データ管理装置21は、記憶部211と、通信部212とを備える。記憶部211は、ハードディスク、フラッシュメモリ等の記憶装置である。また、記憶部211は、特徴行列111と、ラベル行列112とを記憶する。但し、記憶部211は、特徴行列111又はラベル行列112のいずれか一方が記憶されたものであればよい。その場合、他方の行列データは、記憶部110に記憶されているものとする。通信部212は、ネットワークNを介してデータ分類支援装置22とデータの送受信を行う。通信部212は、データ分類支援装置22からネットワークNを介して特徴行列111及びラベル行列112の取得要求を受信する。この場合、通信部212は、記憶部211から特徴行列111及びラベル行列112を読み出し、ネットワークNを介してデータ分類支援装置22へ返信する。
 例えば、データ管理装置21は、図示しない構成としてプロセッサ及びメモリを備えるものである。また、記憶部211には、所定のプログラムが記憶されている。当該所定のプログラムは、データ分類支援装置22からの上記取得要求を受信した場合に、指定されたデータを記憶部211から読み出し、データ分類支援装置22へ返信する処理が実装されているものとする。そして、当該プロセッサは、記憶部211から上記所定のプログラムを前記メモリへ読み込み、当該プログラムを実行する。これにより、前記プロセッサは、通信部212の機能を実現する。
 データ分類支援装置22は、データ分類支援システム100と比べて、プログラム117がプログラム117bに、入力取得部121が入力取得部121aに、IF部140が通信部140aに置き換わったものである。プログラム117bは、プログラム117と比べて特徴行列111及びラベル行列112の取得処理においてネットワークNを介した処理に置き換わったものである。通信部140aは、IF部140の機能に加え、制御部120からの指示に応じて、ネットワークNを介してデータを送信し、また、ネットワークNを介して受信したデータを制御部120へ出力する。
 入力取得部121aは、データ管理装置21に対してネットワークNを介して、特徴行列111及びラベル行列112を指定した取得要求を送信する。そして、入力取得部121aは、データ管理装置21からネットワークNを介して受信した特徴行列111及びラベル行列112を注目ラベル設定部122等へ出力する。
 以上のことから、本実施形態4は、上述した実施形態1及び2と同等の効果を奏することができる。さらに、本実施形態4にかかるデータ分類支援システム200には、実施形態3の改良を適用することもできる。
<その他の実施の形態>
 尚、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
 上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、DVD(Digital Versatile Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
 (付記A1)
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
 を備える情報処理装置。
 (付記A2)
 前記設定部は、
 前記L種類のラベルのうち一部のラベルを有することを前記割当条件として設定する
 付記A1に記載の情報処理装置。
 (付記A3)
 前記設定部は、
 前記N件のデータ内でのラベルの出現頻度に基づいて、前記L種類のラベルのうち一部のラベルを注目ラベルとして選択し、当該注目ラベルの集合を前記割当条件として設定し、
 前記基礎クラスタ構築部は、
 前記N件のデータのうち、同一の前記注目ラベルが有と定義された2以上のデータを同一のグループに割り当てて、前記基礎クラスタを構築する
 付記A2に記載の情報処理装置。
 (付記A4)
 前記設定部は、
 前記L種類のラベルのそれぞれについて前記N件のデータ内でのラベルの出現頻度を算出し、
 前記L種類のラベルのうち前記出現頻度が大きい順で所定の順位より低いラベルを前記注目ラベルとして選択する
 付記A3に記載の情報処理装置。
 (付記A5)
 前記設定部は、
 前記N件のデータのそれぞれに対応し、かつ、前記L種類のラベルのそれぞれの有無を要素とするN件のラベルベクトルから算出した前記ラベルの出現頻度に基づいて、前記注目ラベルを選択し、
 前記基礎クラスタ構築部は、
 前記N件のラベルベクトルのうち同一の前記注目ラベルを有とした要素を有する2以上のラベルベクトルを、同一のグループに割り当てて、前記基礎クラスタを構築する
 付記A3又はA4に記載の情報処理装置。
 (付記A6)
 前記基礎クラスタ構築部は、前記N件のデータのうち特定のデータが2以上の前記割当条件に該当する場合、各割当条件に対応する異なる2以上のグループに当該特定データを割り当てて、各グループのそれぞれを前記基礎クラスタとして構築する
 付記A1乃至A5のいずれか1項に記載の情報処理装置。
 (付記A7)
 前記基礎クラスタ構築部は、
 前記N件のデータのうち特定のデータについて、2以上のグループに割り当てられた場合、当該2以上のグループを統合して1の前記基礎クラスタとして構築する
 付記A1乃至A5のいずれか1項に記載の情報処理装置。
 (付記A8)
 前記クラスタ割当部は、
 前記基礎クラスタに属する各データの前記特徴量又は前記ラベルの有無に基づいて、前記複数の基礎クラスタを階層化して前記クラスタの統合を行い、当該統合による階層構造を記録し、
 前記統合後のクラスタから、前記階層構造のうち所定の階層までクラスタを分割し、
 前記N件のデータのそれぞれについて前記分割したクラスタのいずれかに属するように、前記クラスタの割り当てを決定する
 付記A1乃至A7のいずれか1項に記載の情報処理装置。
 (付記A9)
 前記N件のデータのそれぞれに対応し、かつ、前記M種類の特徴量を有するN件の特徴ベクトルと、前記決定されたクラスタの割り当てとを用いて、前記M種類の特徴量を有する任意の入力ベクトルデータを、所定のクラスタに分類するための分岐関数を学習する学習部をさらに備える
 付記A1乃至A8のいずれか1項に記載の情報処理装置。
 (付記A10)
 前記M種類の特徴量、前記L種類のラベル、及び、前記N件のデータのそれぞれは、百万以上である
 付記A1乃至A9のいずれか1項に記載の情報処理装置。
 (付記B1)
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータを記憶する記憶部と、
 前記記憶部に記憶された前記N件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
 を備えるデータ分類支援システム。
 (付記B2)
 前記設定部は、
 前記L種類のラベルのうち一部のラベルを有することを前記割当条件として設定する
 付記B1に記載のデータ分類支援システム。
 (付記C1)
 コンピュータが、
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定し、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築し、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する
 データ分類支援方法。
 (付記D1)
 M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する処理と、
 前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する処理と、
 前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する処理と、
 をコンピュータに実行させるデータ分類支援プログラム。
 1 情報処理装置
 11 設定部
 12 基礎クラスタ構築部
 13 クラスタ割当部
 100 データ分類支援システム
 100a データ分類支援システム
 110 記憶部
 111 特徴行列
 1111 特徴ベクトル
 11111 特徴量
 1111M 特徴量
 1112 特徴ベクトル
 111N 特徴ベクトル
 112 ラベル行列
 1121 ラベルベクトル
 11211 ラベルフラグ
 1121L ラベルフラグ
 1122 ラベルベクトル
 112N ラベルベクトル
 113 注目ラベル定義
 114 注目ラベル集合
 115 クラスタ割当情報
 1151 基礎クラスタ情報
 11511 基礎クラスタ
 11512 基礎クラスタ
 1152 階層構造情報
 11521 ノード情報
 11522 ノード情報
 116 戻し条件
 117 プログラム
 117a プログラム
 118 分岐関数
 120 制御部
 121 入力取得部
 122 注目ラベル設定部
 123 基礎クラスタ構築部
 124 クラスタ統合部
 125 クラスタ洗練部
 126 分岐関数学習部
 130 メモリ
 140 IF部
 200 データ分類支援システム
 21 データ管理装置
 211 記憶部
 212 通信部
 N ネットワーク
 22 データ分類支援装置
 117b プログラム
 121a 入力取得部
 140a 通信部
 C1 基礎クラスタ
 C2 基礎クラスタ
 C3 基礎クラスタ
 C4 統合クラスタ
 C5 統合クラスタ

Claims (14)

  1.  M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
     前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
     前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
     を備える情報処理装置。
  2.  前記設定部は、
     前記L種類のラベルのうち一部のラベルを有することを前記割当条件として設定する
     請求項1に記載の情報処理装置。
  3.  前記設定部は、
     前記N件のデータ内でのラベルの出現頻度に基づいて、前記L種類のラベルのうち一部のラベルを注目ラベルとして選択し、当該注目ラベルの集合を前記割当条件として設定し、
     前記基礎クラスタ構築部は、
     前記N件のデータのうち、同一の前記注目ラベルが有と定義された2以上のデータを同一のグループに割り当てて、前記基礎クラスタを構築する
     請求項2に記載の情報処理装置。
  4.  前記設定部は、
     前記L種類のラベルのそれぞれについて前記N件のデータ内でのラベルの出現頻度を算出し、
     前記L種類のラベルのうち前記出現頻度が大きい順で所定の順位より低いラベルを前記注目ラベルとして選択する
     請求項3に記載の情報処理装置。
  5.  前記設定部は、
     前記N件のデータのそれぞれに対応し、かつ、前記L種類のラベルのそれぞれの有無を要素とするN件のラベルベクトルから算出した前記ラベルの出現頻度に基づいて、前記注目ラベルを選択し、
     前記基礎クラスタ構築部は、
     前記N件のラベルベクトルのうち同一の前記注目ラベルを有とした要素を有する2以上のラベルベクトルを、同一のグループに割り当てて、前記基礎クラスタを構築する
     請求項3又は4に記載の情報処理装置。
  6.  前記基礎クラスタ構築部は、
     前記N件のデータのうち特定のデータが2以上の前記割当条件に該当する場合、各割当条件に対応する異なる2以上のグループに当該特定データを割り当てて、各グループのそれぞれを前記基礎クラスタとして構築する
     請求項1乃至5のいずれか1項に記載の情報処理装置。
  7.  前記基礎クラスタ構築部は、
     前記N件のデータのうち特定のデータについて、2以上のグループに割り当てられた場合、当該2以上のグループを統合して1の前記基礎クラスタとして構築する
     請求項1乃至5のいずれか1項に記載の情報処理装置。
  8.  前記クラスタ割当部は、
     前記基礎クラスタに属する各データの前記特徴量又は前記ラベルの有無に基づいて、前記複数の基礎クラスタを階層化して前記クラスタの統合を行い、当該統合による階層構造を記録し、
     前記統合後のクラスタから、前記階層構造のうち所定の階層までクラスタを分割し、
     前記N件のデータのそれぞれについて前記分割したクラスタのいずれかに属するように、前記クラスタの割り当てを決定する
     請求項1乃至7のいずれか1項に記載の情報処理装置。
  9.  前記N件のデータのそれぞれに対応し、かつ、前記M種類の特徴量を有するN件の特徴ベクトルと、前記決定されたクラスタの割り当てとを用いて、前記M種類の特徴量を有する任意の入力ベクトルデータを、所定のクラスタに分類するための分岐関数を学習する学習部をさらに備える
     請求項1乃至8のいずれか1項に記載の情報処理装置。
  10.  前記M種類の特徴量、前記L種類のラベル、及び、前記N件のデータのそれぞれは、百万以上である
     請求項1乃至9のいずれか1項に記載の情報処理装置。
  11.  M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータを記憶する記憶部と、
     前記記憶部に記憶された前記N件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する設定部と、
     前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する基礎クラスタ構築部と、
     前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定するクラスタ割当部と、
     を備えるデータ分類支援システム。
  12.  前記設定部は、
     前記L種類のラベルのうち一部のラベルを有することを前記割当条件として設定する
     請求項11に記載のデータ分類支援システム。
  13.  コンピュータが、
     M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定し、
     前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築し、
     前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する
     データ分類支援方法。
  14.  M(Mは2以上の自然数。)種類の特徴量を有し、かつ、L(Lは2以上の自然数。)種類のラベルのそれぞれの有無が定義されたN(Nは2以上の自然数。)件のデータのうち一部を複数のグループのいずれかに割り当てるための複数の割当条件を設定する処理と、
     前記N件のデータのうち、同一の前記割当条件に該当する2以上のデータを同一のグループに割り当てて、前記複数のグループに基づいて複数の基礎クラスタを構築する処理と、
     前記複数の基礎クラスタに対して、クラスタの統合及び洗練を行い、前記N件のデータのそれぞれについてのクラスタの割り当てを決定する処理と、
     をコンピュータに実行させるデータ分類支援プログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2018/015144 2018-04-10 2018-04-10 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体 WO2019198165A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/015144 WO2019198165A1 (ja) 2018-04-10 2018-04-10 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/015144 WO2019198165A1 (ja) 2018-04-10 2018-04-10 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2019198165A1 true WO2019198165A1 (ja) 2019-10-17

Family

ID=68164132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/015144 WO2019198165A1 (ja) 2018-04-10 2018-04-10 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2019198165A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232805A (ja) * 2014-06-10 2015-12-24 株式会社豊田自動織機 画像処理方法、画像処理装置、および画像処理プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015232805A (ja) * 2014-06-10 2015-12-24 株式会社豊田自動織機 画像処理方法、画像処理装置、および画像処理プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BHATIA, KUSH ET AL.: "Sparse Local Embeddings for Extreme Multi-label Classification", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 28, 2015, pages 1 - 9, XP055643906, Retrieved from the Internet <URL:http://papers.nips.cc/pager/5969-sparse-local-embeddings-for-extreme-multi-label-classification.pdf> [retrieved on 20180706] *
KAUR, NAVNEET, A COMBINATORIAL TWEET CLUSTERING METHODOLOGY UTILIZING INTER AND INTRA COSINE SIMILARITY, July 2015 (2015-07-01), pages 1 - 88, XP055643901, Retrieved from the Internet <URL:https://ourspace.uregina.ca/bitstream/handle/10294/6549/Kaur_Navneet_200331665_MASC_SSE_Fa112015.pdf> [retrieved on 20180706] *

Similar Documents

Publication Publication Date Title
Tao Deep neural network ensembles
Fulzele et al. A hybrid model for music genre classification using LSTM and SVM
JP6879433B2 (ja) 回帰装置、回帰方法、及びプログラム
Goo et al. Taxonomy-regularized semantic deep convolutional neural networks
US20210149924A1 (en) Clustering of data records with hierarchical cluster ids
CN111538766B (zh) 一种文本分类方法、装置、处理设备和票据分类系统
CN110708285B (zh) 流量监控方法、装置、介质及电子设备
JP2020101856A (ja) コンピュータ、構成方法、及びプログラム
JP2013054512A (ja) 識別情報付与プログラム及び識別情報付与装置
CN117546160A (zh) 使用机器学习模型的自动化数据层次结构提取和预测
US11657596B1 (en) System and method for cascading image clustering using distribution over auto-generated labels
Chugh et al. Data mining application in segmenting customers with clustering
KR102273867B1 (ko) 비지도학습방법론에 기인한 지도학습모델 생성 방법 및 그 장치와, 이를 이용한 비지도학습모델 해석 방법 및 그 장치
Haripriya et al. Multi label prediction using association rule generation and simple k-means
CN111126038B (zh) 信息获取模型生成方法、装置及信息获取方法、装置
WO2019198165A1 (ja) 情報処理装置、データ分類支援システム及び方法、非一時的なコンピュータ可読媒体
WO2016132683A1 (ja) クラスタリングシステム、方法およびプログラム
CN116186298A (zh) 信息检索方法和装置
JP2014085996A (ja) 多クラス識別器、データ識別装置、多クラス識別、データ識別方法、及びプログラム
JP2020027590A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN113762298B (zh) 相似人群扩展方法和装置
US20220222265A1 (en) Insight expansion in smart data retention systems
JP7292235B2 (ja) 分析支援装置及び分析支援方法
US11468065B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable recording medium
Chaitra et al. Bug triaging: right developer recommendation for bug resolution using data mining technique

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18914805

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP