WO2021240707A1 - データ分類システム、データ分類方法および記録媒体 - Google Patents

データ分類システム、データ分類方法および記録媒体 Download PDF

Info

Publication number
WO2021240707A1
WO2021240707A1 PCT/JP2020/021055 JP2020021055W WO2021240707A1 WO 2021240707 A1 WO2021240707 A1 WO 2021240707A1 JP 2020021055 W JP2020021055 W JP 2020021055W WO 2021240707 A1 WO2021240707 A1 WO 2021240707A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
likelihood
classes
unknown
target data
Prior art date
Application number
PCT/JP2020/021055
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 JP2022527378A priority Critical patent/JPWO2021240707A5/ja
Priority to US17/925,880 priority patent/US20230195851A1/en
Priority to PCT/JP2020/021055 priority patent/WO2021240707A1/ja
Publication of WO2021240707A1 publication Critical patent/WO2021240707A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a data classification system, a data classification method, and a recording medium.
  • the correct class of test data is not in the teacher data, in order to classify this test data into the correct class, it is necessary to classify this test data into a class that does not exist in the teacher data.
  • the class existing in the teacher data will be referred to as a known class, and the class not existing will be referred to as an unknown class.
  • Learning a data classification method that also enables identification of data belonging to an unknown class is called Zero Shot Learning.
  • the data classification technology that enables identification of data belonging to an unknown class using zero-shot learning will be referred to as a zero-shot type data classification technology.
  • the class likelihood for test data is calculated using the attributes of the class
  • the class to which the test data belongs is calculated using the calculated class likelihood.
  • the class attribute of the test data is estimated, and the class likelihood is calculated using the similarity between the estimated class attribute and the attribute of each class.
  • the probability that the test data belongs to a known class is used to correct the class likelihood obtained by the existing zero-shot data classification technique, and the newly obtained corrected class likelihood is used.
  • the class to which the test data belongs is estimated.
  • An object of the present invention is to provide a data classification system, a data classification method, and a recording medium capable of solving the above-mentioned problems.
  • the target data is in the known class among all the known classes.
  • a known class likelihood calculator that calculates the known class likelihood of belonging and at least one of all the classes in the classification, excluding at least one known class based on the known class likelihood.
  • the target data belongs to the class among all the classes for each of the class candidate selection means for selecting the class as the candidate of the class to which the target data belongs and at least each of the classes included in the candidate.
  • An all-class likelihood calculation means that calculates all-class likelihood indicating plausibility, and a class that estimates the class to which the target data belongs as one of the candidates based on the all-class likelihood. It is equipped with an estimation means.
  • the target data is in the known class among all the known classes.
  • the subject is to calculate the known class likelihood indicating the plausibility of belonging, and to exclude at least one known class from all the classes in the classification based on the known class likelihood.
  • Select as a candidate for the class to which the data belongs and calculate the likelihood of all classes indicating the plausibility that the target data belongs to that class among all the classes, at least for each of the classes included in the candidate. This includes estimating the class to which the target data belongs as one of the candidates based on the likelihood of all the classes.
  • the recording medium is a computer, and for each of the known classes which are the classes shown in the teacher data used for learning the classification, the target data is known among all the known classes.
  • the class existing in the teacher data will be referred to as a known class
  • the class not existing will be referred to as an unknown class.
  • the number of known classes and the number of unknown classes are both finite, and the test data belongs to either the known class or the unknown class.
  • the known class is the class that appears in the teacher data.
  • the unknown class is a class that does not appear in the teacher data.
  • the test data referred to here is data to be classified into classes.
  • the test data is not limited to the data for evaluation of the classification, and may be the data to be classified in the actual operation. Write the test data as x.
  • the test data is also referred to as target data.
  • FIG. 1 is a schematic block diagram showing a configuration example of a data classification system according to the first embodiment.
  • the data classification system 101 includes a known class likelihood calculation unit 111, an unknown class likelihood calculation unit 112, an all-class likelihood calculation unit 113, a class candidate selection unit 114, and a class estimation unit. It includes 115, a model storage unit 116, a teacher data storage unit 121, a class attribute storage unit 122, and a model generation unit 123.
  • the data classification system 101 classifies the test data to be classified into either a known class or an unknown class.
  • the data classification system 101 may be configured as one device. Alternatively, the data classification system 101 may be configured by a combination of a plurality of devices.
  • the known class likelihood calculation unit 111 calculates the class likelihood of the test data in the known class.
  • the likelihood of the test data x calculated by the known class likelihood calculation unit 111 in the known class c s i is referred to as the known class likelihood, and is written as L S (c s i
  • the likelihood of the test data x here is the probability that the test data x belongs to a certain class c when the test data x is observed, that is, p (c
  • the known class likelihood is the probability that data belongs to a particular known class when the known class is the class to be classified. That is, the known class likelihood L S (c s i
  • the known class likelihood calculation unit 111 can calculate the likelihood of the test data in the known class.
  • the known class likelihood calculated by the known class likelihood calculation unit 111 the class likelihood calculated by a support vector machine, logistic regression, neural network, or the like may be used.
  • the known class likelihood calculated by the known class likelihood calculation unit 111 the likelihood of the known class based on the test data by the known zero-shot type data classifier may be used.
  • the known class likelihood calculation unit 111 corresponds to an example of a known class likelihood calculation means.
  • the unknown class likelihood calculation unit 112 calculates the class likelihood of the test data in the unknown class.
  • the likelihood of the test data x calculated by the unknown class likelihood calculation unit 112 in the unknown class c u j is referred to as the unknown class likelihood, and is written as L U (c u j
  • the unknown class likelihood is the probability that data belongs to a specific unknown class when the unknown class is the class to be classified. That is, the unknown class likelihood L U (c u j
  • the unknown class likelihood calculation unit 112 As a method for the unknown class likelihood calculation unit 112 to calculate the likelihood of the test data in the unknown class, various methods can be used. For example, as the unknown class likelihood calculated by the unknown class likelihood calculation unit 112, the likelihood of an unknown class based on the test data by a known zero-shot type data classifier may be used.
  • the unknown class likelihood calculation unit 112 corresponds to an example of an unknown class likelihood calculation means.
  • the all-class likelihood calculation unit 113 calculates the class likelihood in a class in which all known and unknown classes of test data are combined. After that, the class c of either the known class or the unknown class of the test data x calculated by the likelihood calculation unit 113 for all classes. Likelihood in is called all-class likelihood, L Write (c
  • the all-class likelihood is the probability that the data belongs to a specific class when all the classes are classified. That is, all class likelihood L (c
  • the all-class likelihood calculation unit 113 can calculate the likelihood of the test data in all the classes. For example, as the all-class likelihood calculated by the all-class likelihood calculation unit 113, the class likelihood based on the test data by a known zero-shot type data classifier may be used.
  • the all-class likelihood calculation unit 113 corresponds to an example of the all-class likelihood calculation means.
  • the class candidate selection unit 114 selects a plurality of class candidates related to the test data x using the known class likelihood L S (c s i
  • the class candidate set related to the test data x will be expressed as C ⁇ x.
  • the class candidate related to the data here is, for example, a candidate of the class to which the data belongs.
  • the class candidate selection unit 114 may select a predetermined number of classes for each of the known class and the unknown class in descending order of the likelihood to which the test data x belongs. Specifically, the class candidate selection unit 114 selects K known classes with high known class likelihood in order from the top with respect to a predetermined integer value K (c s [1] , ..., c). s [K] ) Select. Further, the class candidate selection unit 114 arranges L unknown classes having high likelihoods of unknown classes in order from the top with respect to a predetermined integer value L (c u [1] , ..., c u [L].
  • the class candidate selection unit 114 may select a class having a likelihood higher than a predetermined value for each of the known class and the unknown class. Specifically, the class candidate selection unit 114 selects a known class whose known class likelihood L S ( cs i
  • the class estimation unit 115 calculates the likelihood of each class of the class candidate set C ⁇ x related to the test data x obtained by the class candidate selection unit 114 by the all-class likelihood calculation unit 113. Then, the class estimation unit 115 estimates the class that returns the highest likelihood in C ⁇ x as the class to which the test data x belongs.
  • the class estimation unit 115 corresponds to an example of a class estimation means.
  • the all-class likelihood calculation unit 113 calculates the all-class likelihood for at least each class included in the class candidate set so that the class estimation unit 115 can estimate the class to which the test data belongs using the all-class likelihood. ..
  • the all-class likelihood calculation unit 113 may calculate the all-class likelihood for all known classes and all unknown classes.
  • the model storage unit 116 stores the trained likelihood calculation models used by the known class likelihood calculation unit 111, the unknown class likelihood calculation unit 112, and the all-class likelihood calculation unit 113, respectively.
  • the teacher data storage unit 121 stores teacher data.
  • the teacher data stored in the teacher data storage unit 121 is configured as a set of data that can be used as teacher data and a pair of classes to which the data belongs. All the data here belong to the known class, and the teacher data does not include the data belonging to the unknown class.
  • the class attribute storage unit 122 stores the class attributes of all the classes including the known class and the unknown class.
  • a class attribute may be represented by a multidimensional numeric vector containing an integer element, a real numeric element, or both.
  • the class attribute may be a set of a character string indicating the name and comment of the class and a plurality of tags expressing the class.
  • the model generation unit 123 stores the teacher data stored in the teacher data storage unit 121 and the class attribute storage unit 122 when the trained probability calculation model used in each probability calculation unit does not exist in the model storage unit 116.
  • Each likelihood calculation model is generated by learning using the class attributes stored in.
  • the model generation unit 123 uses the teacher data obtained by the teacher data storage unit 121 and the class attributes obtained by the class attribute storage unit 122, and trained zero shots. You may generate a type data classifier.
  • the model generation unit 123 is subjected to the teacher data storage unit 121.
  • a trained likelihood calculation model that calculates a known class likelihood may be generated using the obtained supervised learning data.
  • FIG. 2 is a flow chart showing an operation example during learning in the data classification system 101.
  • the model generation unit 123 determines whether or not the model storage unit 116 has a trained known class likelihood calculation model (step S101). When it is determined that there is a trained known class likelihood calculation model (step S101: YES), the data classification system 101 ends the processing of a group of steps S101 and S102.
  • step S101 when it is determined that there is no trained known class likelihood calculation model (step S101: NO), the model generation unit 123 generates a known class likelihood calculation model using the teacher data and the class attributes, and stores the model. It is stored in the unit 116 (step S102). After step S102, the data classification system 101 ends the processing of a group of steps S101 and S102.
  • the model generation unit 123 determines whether or not the model storage unit 116 has a trained unknown class likelihood calculation model (step S103). When it is determined that there is a trained unknown class likelihood calculation model (step S103: YES), the data classification system 101 ends the processing of a group of steps S103 and S104.
  • step S103 when it is determined that there is no trained unknown class likelihood calculation model (step S103: NO), the model generation unit 123 generates an unknown class likelihood calculation model using the teacher data and the class attributes, and stores the model. It is stored in the unit 116 (step S104). After step S104, the data classification system 101 ends the processing of a group of steps S103 and S104.
  • the model generation unit 123 determines whether or not the model storage unit 116 has a trained all-class likelihood calculation model (step S105). When it is determined that there is a trained all-class likelihood calculation model (step S105: YES), the data classification system 101 ends the processing of a group of steps S105 and S106.
  • step S105 when it is determined that there is no trained all-class likelihood calculation model (step S105: NO), the model generation unit 123 generates an all-class likelihood calculation model using the teacher data and the class attributes, and stores the model. It is stored in the unit 116 (step S106). After step S106, the data classification system 101 ends the processing of a group of steps S105 and S106.
  • the processing of the group of steps S101 and S102, the processing of the group of steps S103 and S104, and the processing of the group of steps S105 and S106 can be executed in parallel.
  • the model generation unit 123 may execute these processes in parallel processing.
  • FIG. 3 is a flow chart showing an operation example at the time of inference in which the data classification system 101 classifies test data.
  • the data classification system 101 reads the test data (step S201).
  • the known class likelihood calculation unit 111 which has read the learned known class likelihood calculation model from the model storage unit 116, calculates the known class likelihood of the input test data (step S202). Further, the unknown class likelihood calculation unit 112, which has read the learned unknown class likelihood calculation model from the model storage unit 116, calculates the unknown class likelihood of the input test data (step S203).
  • the process of step S202 and the process of step S203 can be executed in parallel.
  • the class candidate selection unit 114 selects a class candidate related to the test data using the known class likelihood of the test data and the unknown class likelihood of the test data (step S204).
  • the all-class likelihood calculation unit 113 which has read the learned all-class likelihood calculation model from the model storage unit 116, calculates the all-class likelihood of each of the class candidates obtained in step S204 (step S205). ..
  • the class estimation unit 115 estimates the class to which the test data belongs using the all-class likelihood obtained in step S205 (step S206). After step S206, the data classification system 101 ends the process of FIG.
  • the effect of the first embodiment will be described.
  • the number of classes to be classified by the class estimation unit 115 is reduced because the class candidate selection unit 114 selects a class.
  • the class selected by the class candidate selection unit 114 is limited to the class to which the known class likelihood calculation unit 111 and the unknown class likelihood calculation unit 112 have a high class likelihood. That is, the class selected by the class candidate selection unit 114 is a class that is highly related to the correct answer class of the test data. As a result, it is expected that the accuracy of class classification will be improved by limiting the estimation target class of the class estimation unit 115 to the class selected by the class candidate selection unit 114.
  • the target data belongs to the known class among all the known classes for each of the known classes which are the classes shown in the teacher data used for learning the classification. Calculate the known class likelihood that indicates the likelihood of a thing.
  • the class candidate selection unit 114 selects a class obtained by removing at least one known class from all the classes in the classification based on the known class likelihood as a candidate for the class to which the target data belongs.
  • the all-class likelihood calculation unit 113 determines the all-class likelihood indicating the plausibility that the target data belongs to the class among all the classes, at least for each of the classes included in the candidate of the class to which the target data belongs. calculate.
  • the class estimation unit 115 estimates the class to which the target data belongs as one of the candidates for the class to which the target data belongs.
  • the data classification system 101 can perform class classification with relatively high accuracy by narrowing down the class candidates to which the target data belongs based on the known class likelihood by the class candidate selection unit 114. For example, consider a case where, among known classes, the class with the highest known class likelihood and the class with the highest all-class likelihood are different, and the known class likelihood of the class with the highest all-class likelihood is relatively low.
  • the known class likelihood calculation model classifies the classes that appear in the teacher data more than the all-class likelihood calculation model. In that respect, it is expected that the training accuracy of the model will be high. From this, under the assumption that the correct answer class to which the target data belongs is one of the known classes, it is better to perform class estimation using known class likelihood, and to perform class estimation using all class likelihood. Expected to be more accurate than done.
  • the class estimation unit 115 estimates the known class with the highest likelihood of all classes as the class to which the target data belongs, the estimation result is incorrect because the known class likelihood of the estimated class is relatively low. Is likely to be.
  • the class candidate selection unit 114 excludes this known class from the candidates of the class to which the target class belongs. There is expected. Since the class candidate selection unit 114 excludes this known class, the class estimation unit 115 does not estimate this known class as the class to which the target data belongs. This is expected to avoid mispresumption. As described above, according to the data classification system 101, it is possible to improve the accuracy of class classification including an unknown class which is a class not shown in the teacher data.
  • the unknown class likelihood calculation unit 112 determines the likelihood of the unknown class belonging to the unknown class among all the unknown classes for each unknown class that is a class other than the known class. calculate.
  • the class candidate selection unit 114 selects a candidate for the class to which the target data belongs by using the known class likelihood and the unknown class likelihood.
  • the class estimation unit 115 estimates the class to which the target data belongs to any of the unknown classes, it is expected that the estimation accuracy will be high.
  • the unknown class estimated by the class estimation unit 115 is a class in which both the unknown class likelihood and the all-class likelihood are relatively high.
  • the estimation result of the class estimation unit 115 has received a relatively high evaluation by any of the plurality of evaluation methods, and the estimation accuracy is expected to be high.
  • the class candidate selection unit 114 belongs to a predetermined number of known classes in descending order of known class likelihood of the target data and a predetermined number of unknown classes in descending order of unknown class likelihood of the target data. Select as a candidate for the class to be used. As a result, the class candidate selection unit 114 can select candidates by a relatively simple process of ranking each of the known class and the unknown class in descending order of likelihood and selecting a predetermined number of them, and the processing load is relatively large. It's light.
  • the class candidate selection unit 114 includes a class in which the known class likelihood of the target data is higher than a predetermined threshold value among the known classes and a class in which the unknown class likelihood of the target data is higher than the predetermined threshold value among the unknown classes. , Select as a candidate for the class to which the target data belongs. As a result, the class candidate selection unit 114 can select candidates for each of the known class and the unknown class by a relatively simple process of comparing the likelihood and the threshold value, and the processing load can be relatively light.
  • FIG. 4 is a schematic block diagram showing a configuration example of the data classification system according to the second embodiment.
  • the data classification system 102 includes a known class likelihood calculation unit 111, an unknown class likelihood calculation unit 112, an all-class likelihood calculation unit 113, a class candidate selection unit 114, and a class estimation unit. It includes 115, a model storage unit 116, an inter-class similarity calculation unit 117, a teacher data storage unit 121, a class attribute storage unit 122, and a model generation unit 123.
  • the same parts as in the case of the data classification system 101 are designated by the same reference numerals as in the case of FIG. 1, and detailed description thereof will be omitted.
  • the difference between the data classification system 102 according to the second embodiment and the first embodiment is that the data classification system 102 includes an interclass similarity calculation unit 117. Further, in the second embodiment, the specific method in which the unknown class likelihood calculation unit 112 calculates the unknown class likelihood is different from that in the first embodiment. Further, the model storage unit 116 of the second embodiment does not need to store the unknown class likelihood calculation model.
  • the class-to-class similarity calculation unit 117 calculates the similarity between the two classes. For example, the class-to-class similarity calculation unit 117 reads class attributes from the class attribute storage unit 122 for each of the two classes. Then, the class-to-class similarity calculation unit 117 calculates an output value (similarity function value) in which the class attributes of the two classes are input to the similarity function. When the range of the similarity function contains only non-negative real values, the class-to-class similarity calculation unit 117 uses the output value of the similarity function as the similarity between the two classes. On the other hand, when the range of the similarity function contains a negative real value, the class-to-class similarity calculation unit 117 converts the output value of the similarity function into a non-negative real value. Used as the similarity between the two classes.
  • the class-to-class similarity calculation unit 117 may use a cosine similarity or a Gaussian function as the similarity function.
  • the inter-class similarity calculation unit 117 may be used as a similarity function such as a Levenshtein distance or a Jaro-Winkler distance.
  • the class-to-class similarity calculation unit 117 may use the Jackard similarity or the Simpson coefficient as the similarity function.
  • the inter-class similarity calculation unit 117 corresponds to an example of the inter-class similarity calculation means.
  • the class-to-class similarity calculation unit 117 always performs a conversion on the similarity function value so that it becomes a non-negative real value.
  • the transformation in which the similarity function value is always converted to a non-negative real value may be a transformation in which the offset corresponding to the minimum value of the similarity function is subtracted from the similarity function value. If the minimum value of the similarity function is negative, subtracting the offset corresponding to the minimum value of the similarity function is by adding the positive value corresponding to the absolute value of the minimum value of the similarity function. be.
  • the transformation in which the similarity function value is always converted to a non-negative real value may be a transformation for calculating the similarity function value power of the Napier number.
  • the class attribute of the class c stored in the class attribute storage unit 122 will be represented as a c. Further, the similarity between the two classes c and c'by the class-to-class similarity calculation unit 117 is expressed as sim (a c , a c').
  • the unknown class likelihood calculation unit 112 may calculate the unknown class likelihood L U (c u j
  • a plurality of selected classes c s [1] may be summed.
  • the unknown class likelihood calculation unit 112 calculates the unknown class likelihood L U (c u j
  • Various means can be used as a means of selecting a plurality of classes c s [1] , ..., c s [K] among all known classes. For example, for the predetermined integer value K described in the first embodiment, K classes with high known class likelihood are arranged in order from the top c s [1] , ..., c s [ K] You may adopt the method of selection.
  • the class candidate selection unit 114 may select a plurality of classes c s [1] , ..., c s [K] from all the known classes. Alternatively, the unknown class likelihood calculator 112 may make this selection. Alternatively, the class-to-class similarity calculation unit 117 may make this selection.
  • FIG. 5 is a flow chart showing an operation example during learning in the data classification system 102.
  • the model generation unit 123 determines whether or not the model storage unit 116 has a trained known class likelihood calculation model (step S301). When it is determined that there is a trained known class likelihood calculation model (step S301: YES), the data classification system 102 ends the processing of a group of steps S301 and S302.
  • step S301 when it is determined that there is no trained known class likelihood calculation model (step S301: NO), the model generation unit 123 generates a known class likelihood calculation model using the teacher data and the class attributes, and stores the model. It is stored in the unit 116 (step S302). After step S302, the data classification system 102 ends the processing of a group of steps S301 and S302.
  • the model generation unit 123 determines whether or not the model storage unit 116 has a trained all-class likelihood calculation model (step S303). When it is determined that there is a trained all-class likelihood calculation model (step S303: YES), the data classification system 102 ends the processing of a group of steps S303 and S304.
  • step S303 when it is determined that there is no trained all-class likelihood calculation model (step S303: NO), the model generation unit 123 generates an all-class likelihood calculation model using the teacher data and the class attributes, and stores the model. It is stored in the unit 116 (step S304). After step S304, the data classification system 102 ends the processing of a group of steps S303 and S304.
  • the processing of the group of steps S301 and S302 and the processing of the group of steps S303 and S304 can be executed in parallel.
  • the model generation unit 123 may execute these processes in parallel processing.
  • FIG. 6 is a flow chart showing an operation example at the time of inference in which the data classification system 102 classifies test data.
  • the data classification system 102 reads the test data (step S401).
  • the known class likelihood calculation unit 111 which has read the learned known class likelihood calculation model from the model storage unit 116, calculates the known class likelihood of the input test data (step S402).
  • the class-to-class similarity calculation unit 117 calculates the similarity between the known class and the unknown class using the class attribute obtained from the class attribute storage unit 122 (step S403).
  • the process of step S402 and the process of S403 can be executed in parallel.
  • the unknown class likelihood calculator 112 calculates the unknown class likelihood of the input test data using the known class likelihood and the interclass similarity (step S404).
  • the class candidate selection unit 114 selects a class candidate related to the test data by using the known class likelihood of the test data and the unknown class likelihood of the test data (step S405).
  • the all-class likelihood calculation unit 113 which has read the learned all-class likelihood calculation model from the model storage unit 116, calculates the all-class likelihood of each of the class candidates obtained in step S405 (step S406). ..
  • the class estimation unit 115 estimates the class to which the test data belongs using the all-class likelihood obtained in step S406 (step S407). After step S407, the data classification system 102 ends the process of FIG.
  • the unknown class selected by the class candidate selection unit 114 has a high similarity to the known class having a high known class likelihood.
  • the classifier using the known class likelihood calculation unit 111 classifies the test data into the classes appearing in the teacher data rather than the all-class likelihood calculation unit 113. It is expected that the learning accuracy will be high in terms of points, and in this respect, the classification accuracy will be high.
  • a known class with a high known class likelihood has a high likelihood of having a high similarity with the correct answer class of the test data, and an unknown class having a high similarity with the correct answer class of the test data also has a high likelihood of being a zero-shot type.
  • the classification accuracy of data classification technology is improved.
  • the class-to-class similarity calculation unit 117 calculates the similarity between the two classes.
  • the unknown class likelihood calculation unit 112 calculates the unknown class likelihood of the test data by using the known class likelihood and the class similarity. It is expected that the learning accuracy of the known class likelihood calculation model is high and the accuracy of the known class likelihood is high in that the known class is a class that appears in the teacher data. It is expected that the unknown class likelihood calculation unit 112 calculates the unknown class likelihood using the highly accurate known class likelihood, so that the accuracy of the unknown class likelihood is high.
  • the known class likelihood calculation unit 111 selects a class to which the known class likelihood calculation unit gives a high likelihood to the test image from the classes existing in the image database.
  • x be the test image, for example, the known class to be classified this time is "Kita fox, Shiba inu, calico cat, horse", and the known class likelihood calculation unit 111 is L S (Kita fox
  • x) 0.5, L S.
  • x) 0.3
  • x) 0.1
  • x) 0.1.
  • the class candidate selection unit 114 selects a class having a likelihood of a predetermined threshold value of 0.25 or more among known classes. In this case, the class candidate selection unit 114 selects "Kita fox, Shiba inu" from the known classes.
  • the class candidate selection unit 114 selects a class to which the unknown class likelihood calculation unit gives a high likelihood from the classes that do not exist in the image database.
  • the unknown class to be classified this time is "Fennec, Japanese wolf, Persian cat", and the unknown class likelihood calculation unit 112 has L U (Fennec
  • x) 0.6, L U (Japanese wolf
  • x) 0.3, L.
  • x) 0.1 is calculated. It is assumed that the class candidate selection unit 114 selects a class having a likelihood of a predetermined threshold value of 0.3 or more among unknown classes. In this case, the class candidate selection unit 114 selects "Fennec fox, Japanese wolf" from the unknown classes.
  • the class candidate selection unit 114 sets the set of the selected known class and the selected unknown class as the class candidate set C ⁇ x for the test image x.
  • the class candidate selection unit 114 tests a set ⁇ Kitakitsune, Shiba Inu, Fennec, Japanese wolf ⁇ of the selected known classes "Kita fox” and "Shiba inu” and the selected unknown classes “Fennec” and "Japanese wolf”.
  • C ⁇ x be a class candidate set for x.
  • the all-class likelihood calculation unit 113 calculates the all-class likelihood of each class included in the class candidate set C ⁇ x.
  • the all-class likelihood calculation unit 113 may calculate the all-class likelihood using a known zero-shot type data classification technique.
  • the class estimation unit 115 estimates the class to which the test image x belongs by using the all-class likelihood calculated by the all-class likelihood calculation unit 113. For example, if each class of the class candidate set C ⁇ x is arranged in descending order of the likelihood of all classes, consider the case where the order is "Fennec", "Red fox", “Shiba Inu", and "Japanese wolf". In this case, the class estimation unit 115 outputs the class "Fennec" having the highest all-class likelihood as the estimation class to which the test image x belongs.
  • the class of the Persian cat when the Persian cat is a cat, is not a canine, is not a fox, is not a bird, has no big ears, and is not a brown animal, the class of the Persian cat.
  • the possibility that the unknown class likelihood calculation unit 112 gives a high class likelihood to the Persian cat is low, and the class candidate selection unit 114 does not include the "Persian cat" in the class candidate set.
  • misclassification can be avoided and the classification accuracy is improved by not including the "Persian cat” having a low similarity to the "Fennec" of the canine family in the class candidate set. There is expected.
  • the sentence classification for classifying sentences into the category to which the sentences belong It is expected that the categories of sentences belonging to the categories not included in the sentence database can be correctly estimated. For example, for a comment on a certain product posted on SNS (Social Networking Service) etc., if the product name pointed to by the comment is a product that does not yet exist in the text database such as a new product, the comment Consider correctly estimating the product name pointed to by.
  • SNS Social Networking Service
  • the procedure is the same as described above by replacing the image in the image classification task with a comment, the class to which the image belongs with the product name, and the class attribute of the image with the class attribute of the product determined by the product genre, component, and the like.
  • the product name pointed to by the comment can be estimated with high accuracy.
  • FIG. 7 is a diagram showing a configuration example of the data classification system according to the fourth embodiment.
  • the data classification system 501 includes a known class likelihood calculation unit 511, a class candidate selection unit 512, an all-class likelihood calculation unit 513, and a class estimation unit 514.
  • the known class likelihood calculation unit 511 has the target data belong to the known class among all the known classes for each of the known classes which are the classes shown in the teacher data used for learning the classification. Calculate the known class likelihood that indicates the likelihood of.
  • the class candidate selection unit 512 selects, as a candidate for the class to which the target data belongs, a class obtained by removing at least one known class from all the classes in the classification based on the known class likelihood.
  • the all-class likelihood calculation unit 513 determines, at least for each of the classes included in the candidate classes to which the target data belongs, the all-class likelihood indicating the plausibility that the target data is the class among all the classes. calculate.
  • the class estimation unit 514 estimates the class to which the target data belongs as one of the candidates for the class to which the target data belongs, based on the likelihood of all classes.
  • the data classification system 501 can perform class classification with relatively high accuracy by narrowing down the class candidates to which the target data belongs based on the known class likelihood by the class candidate selection unit 512. According to the data classification system 501, in this respect, it is possible to improve the accuracy of class classification including classes not shown in the teacher data.
  • FIG. 8 is a diagram showing an example of a processing procedure in the data classification method according to the fifth embodiment.
  • the data classification method shown in FIG. 8 includes a known class likelihood calculation step (step S501), a class candidate selection step (step S502), an all-class likelihood calculation step (step S503), and a class estimation step (step S504). And include.
  • the target data belongs to the known class among all the known classes. Calculate the known class likelihood that indicates the likelihood.
  • the class candidate selection step step S502 a class obtained by removing at least one known class from all the classes in the class classification based on the known class likelihood is selected as a candidate for the class to which the target data belongs.
  • step S503 At least for each of the classes included in the candidate of the class to which the target data belongs, all the likelihood that the target data belongs to the class among all the classes is shown. Calculate the class likelihood.
  • step S504 the class to which the target data belongs is estimated as one of the candidates of the class to which the target data belongs based on the likelihood of all classes.
  • class classification can be performed with relatively high accuracy by narrowing down the class candidates to which the target data belongs based on the known class likelihood. According to the data classification method shown in FIG. 8, in this respect, it is possible to improve the accuracy of class classification including classes not shown in the teacher data.
  • FIG. 9 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
  • the computer 700 includes a CPU 710, a main storage device 720, an auxiliary storage device 730, and an interface 740. Any one or more of the above-mentioned data classification system 101, data classification system 102, and data classification system 501 may be mounted on the computer 700. In that case, the operation of each of the above-mentioned processing units is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • the CPU 710 secures a storage area corresponding to each of the above-mentioned storage units in the main storage device 720 according to the program. Communication between each device and other devices is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710.
  • the known class likelihood calculation unit 111 When the data classification system 101 is implemented in the computer 700, the known class likelihood calculation unit 111, the unknown class likelihood calculation unit 112, the all-class likelihood calculation unit 113, the class candidate selection unit 114, the class estimation unit 115, and The operation of the model generation unit 123 is stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to the model storage unit 116, the teacher data storage unit 121, and the class attribute storage unit 122 in the main storage device 720 according to the program.
  • the known class likelihood calculation unit 111 When the data classification system 102 is implemented in the computer 700, the known class likelihood calculation unit 111, the unknown class likelihood calculation unit 112, the all-class likelihood calculation unit 113, the class candidate selection unit 114, the class estimation unit 115, and the class-to-class
  • the operations of the similarity calculation unit 117 and the model generation unit 123 are stored in the auxiliary storage device 730 in the form of a program.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to the model storage unit 116, the teacher data storage unit 121, and the class attribute storage unit 122 in the main storage device 720 according to the program.
  • the operations of the known class likelihood calculation unit 511, the class candidate selection unit 512, the all-class likelihood calculation unit 513, and the class estimation unit 514 are assisted in the form of a program. It is stored in the storage device 730.
  • the CPU 710 reads the program from the auxiliary storage device 730, expands it to the main storage device 720, and executes the above processing according to the program.
  • a program for executing all or part of the processing performed by the determination device 100 and the determination measure 210 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system. You may perform the processing of each part by executing it.
  • the term "computer system” as used herein includes hardware such as an OS and peripheral devices.
  • the "computer-readable recording medium” includes a flexible disk, a magneto-optical disk, a portable medium such as a ROM (Read Only Memory) and a CD-ROM (Compact Disc Read Only Memory), and a hard disk built in a computer system. It refers to a storage device such as.
  • the above-mentioned program may be for realizing a part of the above-mentioned functions, and may be further realized for realizing the above-mentioned functions in combination with a program already recorded in the computer system.
  • the embodiment of the present invention may be applied to a data classification system, a data classification method, and a recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ分類システムが、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する、既知クラス尤度計算手段と、前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択する、クラス候補選択手段と、少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算する、全クラス尤度計算手段と、前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定する、クラス推定手段と、を備える。

Description

データ分類システム、データ分類方法および記録媒体
 本発明はデータ分類システム、データ分類方法および記録媒体に関する。
 テストデータの正解クラスが教師データにない場合、このテストデータを正解クラスに分類するためには、このテストデータを教師データに存在していないクラスに分類する必要がある。以降、教師データに存在するクラスを既知クラス、存在しないクラスを未知クラスと呼ぶことにする。
 未知クラスに所属するデータの識別も可能にするデータ分類方法の学習はゼロショット学習(Zero Shot Learning)と呼ばれる。以降、ゼロショット学習を用いた未知クラスに所属するデータの識別も可能にするデータ分類技術をゼロショット型データ分類技術と呼ぶことにする。
 ゼロショット型データ分類技術で、各クラスに付随する属性と呼ばれる情報を読み込み、テストデータに対するクラス尤度をクラスの属性を用いて計算し、計算されたクラス尤度を用いてテストデータの所属クラスを推定するものがある。
 例えば、非特許文献1では、テストデータのクラス属性を推定し、その推定したクラス属性と各クラスの属性との類似度を用いてクラス尤度を計算している。
 また、特許文献1では、テストデータが既知クラスに所属する確率を用いて、既存のゼロショット型データ分類技術によって得られるクラス尤度を補正し、新しく得られた補正済みクラス尤度を用いてテストデータの所属クラスを推定している。
国際公開第2019/171416号
Mohammad Norouzi、外7名、"Zero-shot learning by convex combination of semantic embeddings"、International Conference on Learning Representations 2014、2014年
 教師データに示されないクラスを含むクラス分類の精度の向上を図れることが好ましい。
 本発明は、上述の課題を解決することのできるデータ分類システム、データ分類方法および記録媒体を提供することを目的としている。
 本発明の第1の態様によれば、データ分類システムは、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する、既知クラス尤度計算手段と、前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択する、クラス候補選択手段と、少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算する、全クラス尤度計算手段と、前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定する、クラス推定手段と、を備える。
 本発明の第2の態様によれば、データ分類方法は、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算することと、前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択することと、少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算することと、前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定することと、を含む。
 本発明の第3の態様によれば、記録媒体は、コンピュータに、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算することと、前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択することと、少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算することと、前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定することと、を実行させるためのプログラムを記録する記録媒体である。
 上記したデータ分類システム、データ分類方法および記録媒体によれば、教師データに示されないクラスを含むクラス分類の精度の向上を図ることができる。
第1の実施形態に係るデータ分類システムの構成例を示す概略ブロック図である。 第1の実施形態に係るデータ分類システムにおける学習時の動作例を示す流れ図である。 第1の実施形態に係るデータ分類システムがテストデータを分類する推論時の動作例を示す流れ図である。 第2の実施形態に係るデータ分類システムの構成例を示す概略ブロック図である。 第2の実施形態に係るデータ分類システムにおける学習時の動作例を示す流れ図である。 第2の実施形態に係るデータ分類システムにおける推論時の動作例を示す流れ図である。 第4の実施形態に係るデータ分類システムの構成例を示す図である。 第5の実施形態に係る判定方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 以降、教師データに存在するクラスを既知クラス、存在しないクラスを未知クラスと呼ぶことにする。また、既知クラスの個数および未知クラスの個数は何れも有限とし、テストデータは既知クラスのいずれか、または、未知クラスのいずれかに所属するとする。
 上述したように、既知クラスは教師データに現れるクラスである。未知クラスは教師データに現れないクラスである。M個の既知クラスを cs 1, ..., cs M、N個の未知クラスをcu 1, ..., cu Nと書く。
 また、ここでいうテストデータは、クラス分類対象のデータである。ただし、テストデータは、クラス分類の評価のためのデータに限らず、実運用におけるクラス分類対象のデータであってもよい。テストデータをxと書く。また、テストデータを対象データとも称する。
(第1の実施の形態)
(構成の説明)
 図1は、第1の実施形態に係るデータ分類システムの構成例を示す概略ブロック図である。図1に示す構成で、データ分類システム101は、既知クラス尤度計算部111と、未知クラス尤度計算部112と、全クラス尤度計算部113と、クラス候補選択部114と、クラス推定部115と、モデル記憶部116と、教師データ記憶部121と、クラス属性記憶部122と、モデル生成部123と、を備える。
 データ分類システム101は、分類対象であるテストデータを、既知クラスの何れか、または、未知クラスの何れかに分類する。
 データ分類システム101が、1つの装置として構成されていても良い。あるいは、データ分類システム101が、複数の装置の組み合わせにて構成されていても良い。
 既知クラス尤度計算部111は、テストデータの既知クラスにおけるクラス尤度を計算する。以降、既知クラス尤度計算部111が計算するテストデータxの既知クラスcs iにおける尤度を既知クラス尤度と称し、L(cs i | x)と書く。
 ここでいうテストデータxの尤度は、テストデータxが観測されたときに、そのテストデータxが、あるクラスcに所属する確率、すなわちp (c | x)である。pは確率を表し、p ( | ) は条件付確率を表す。
 既知クラス尤度は、既知クラスを分類対象のクラスとした場合に、データが特定の既知クラスに所属する確率である。すなわち、既知クラス尤度L(cs i | x)は、テストデータxが全ての既知クラスのうち何れかのクラスに所属するとの仮定の下で、そのテストデータxが特定の既知クラスcs iに所属する確率である。
 ただし、既知クラス尤度が、必ずしも確率の要件を満たす必要は無い。テストデータが、全ての既知クラスのうちある既知クラスに所属することの尤もらしさを示す指標値を、既知クラス尤度として用いることができる。
 既知クラス尤度計算部111がテストデータの既知クラスにおける尤度を計算する方法として、いろいろな方法を用いることができる。例えば、既知クラス尤度計算部111が計算する既知クラス尤度として、サポートベクターマシンやロジスティック回帰、ニューラルネットワークなどによって計算されるクラス尤度を用いても良い。また、既知クラス尤度計算部111が計算する既知クラス尤度として、公知のゼロショット型データ分類器によるテストデータに基づいた既知クラスの尤度を用いても良い。
 既知クラス尤度計算部111は、既知クラス尤度計算手段の例に該当する。
 未知クラス尤度計算部112は、テストデータの未知クラスにおけるクラス尤度を計算する。以降、未知クラス尤度計算部112が計算するテストデータxの未知クラスcu における尤度を未知クラス尤度と称し、L(cu j | x)と書く。
 未知クラス尤度は、未知クラスを分類対象のクラスとした場合に、データが特定の未知クラスに所属する確率である。すなわち、未知クラス尤度L(cu j | x)は、テストデータxが全ての未知クラスのうち何れかのクラスに所属するとの仮定の下で、そのテストデータxが特定の未知クラスcu jに所属する確率である。
 ただし、未知クラス尤度が、必ずしも確率の要件を満たす必要は無い。テストデータが、全ての未知クラスのうちある未知クラスに所属することの尤もらしさを示す指標値を、未知クラス尤度として用いることができる。
 未知クラス尤度計算部112がテストデータの未知クラスにおける尤度を計算する方法として、いろいろな方法を用いることができる。例えば、未知クラス尤度計算部112が計算する未知クラス尤度として、公知のゼロショット型データ分類器によるテストデータに基づいた未知クラスの尤度を用いても良い。
 未知クラス尤度計算部112は、未知クラス尤度計算手段の例に該当する。
 全クラス尤度計算部113は、テストデータの既知クラスと未知クラスの全てを合わせたクラスにおけるクラス尤度を計算する。以降、全クラス尤度計算部113が計算するテストデータxの既知クラス、未知クラスいずれかのクラスc における尤度を全クラス尤度と称し、L (c | x)と書く。全ての既知クラスと全ての未知クラスとを合わせたクラス全体を全クラスと称する。
 全クラス尤度は、全クラスを分類対象のクラスとした場合に、データが特定のクラスに所属する確率である。すなわち、全クラス尤度L (c | x)は、テストデータxが全てのクラスのうち何れかのクラスに所属するとの仮定の下で、そのテストデータxが特定のクラスcに所属する確率である。
 ただし、全クラス尤度が、必ずしも確率の要件を満たす必要は無い。テストデータが、全てのクラスのうちあるクラスに所属することの尤もらしさを示す指標値を、全クラス尤度として用いることができる。
 全クラス尤度計算部113がテストデータの全てのクラスにおける尤度を計算する方法として、いろいろな方法を用いることができる。例えば、全クラス尤度計算部113が計算する全クラス尤度として、公知のゼロショット型データ分類器によるテストデータに基づいたクラス尤度を用いても良い。
 全クラス尤度計算部113は、全クラス尤度計算手段の例に該当する。
 クラス候補選択部114は、既知クラス尤度L(cs i | x) と未知クラス尤度L(cu j | x) を用いてテストデータxに関連するクラスの候補を複数個選択し、それらのクラスをまとめたクラス候補集合を出力する。以降、テストデータxに関連するクラス候補集合を C^ x と表すことにする。ここでいう、データに関連するクラスの候補とは、例えば、そのデータが属するクラスの候補である。
 クラス候補選択部114がテストデータxに関連するクラス候補を選ぶ方法として、いろいろな方法を用いることができる。例えば、クラス候補選択部114が、既知クラス、未知クラスのそれぞれについて、テストデータxが所属する尤度の高い順に所定個のクラスを選択しても良い。具体的には、クラス候補選択部114は、予め定められた整数値Kに対して、既知クラス尤度が高い既知クラスを上から順番にK個(cs [1], ..., cs [K])選択する。また、クラス候補選択部114は、予め定められた整数値Lに対して、未知クラス尤度が高い未知クラスを上から順番にL個(cu [1], ..., cu [L])選択する。そして、クラス候補選択部114は、それらのクラスを合わせた要素 (K+L) 個の集合 C^ x = { cs [1], ..., cs [K], cu [1], ..., cu [L] } をテストデータxに関連するクラス候補集合C^ xとして出力する。
 あるいは、例えば、クラス候補選択部114が、既知クラス、未知クラスのそれぞれについて、尤度が所定値以上に高いクラスを選択しても良い。具体的には、クラス候補選択部114は、予め定められた実数値θに対して、既知クラス尤度L(cs i | x) が θ 以上となる既知クラスを選択する。また、クラス候補選択部114は、予め定められた実数値ηに対して、未知クラス尤度L(cu j | x) が η 以上となる未知クラスを選択する。そして、クラス候補選択部114は、それらのクラスをまとめた集合をテストデータxに関連するクラス候補集合C^ xとして出力する。
 クラス候補選択部114は、クラス候補選択手段の例に該当する。
 クラス推定部115は、クラス候補選択部114で求めたテストデータxに関連するクラス候補集合 C^ x の各クラスの尤度を全クラス尤度計算部113により計算する。そして、クラス推定部115は、 C^ x の中で一番大きい尤度を返すクラスをテストデータxの所属クラスとして推定する。
 クラス推定部115は、クラス推定手段の例に該当する。
 クラス推定部115が全クラス尤度を用いてテストデータの所属クラスを推定できるように、全クラス尤度計算部113は、少なくともクラス候補集合に含まれる各クラスについて、全クラス尤度を計算する。全クラス尤度計算部113が、全ての既知クラスおよび全ての未知クラスについて、全クラス尤度を計算するようにしてもよい。
 モデル記憶部116は、既知クラス尤度計算部111と未知クラス尤度計算部112と全クラス尤度計算部113で用いる学習済み尤度計算モデルをそれぞれ記憶する。
 教師データ記憶部121は、教師データを記憶する。教師データ記憶部121が記憶する教師データは、教師データとして使用できるデータとそのデータが所属するクラスのペアの集合として構成される。ここでのデータは全て既知クラスに所属しており、教師データには、未知クラスに所属するデータは含まれていない。
 クラス属性記憶部122は、既知クラスと未知クラスを合わせた全クラスのクラス属性を記憶する。
 例えば、クラス属性は、整数値の要素または実数値の要素あるいはそれら両方を含む多次元数値ベクトルで表現されていても良い。
 あるいは、クラス属性は、そのクラスの名前やコメントなどを示す文字列およびそのクラスを表現する複数のタグなどをまとめた集合であっても良い。
 モデル生成部123は、各尤度計算部で用いる学習済み尤度計算モデルがモデル記憶部116に存在していない場合に、教師データ記憶部121が記憶する教師データ、および、クラス属性記憶部122が記憶するクラス属性を用いる学習にて、各尤度計算モデルを生成する。
 尤度計算モデルにゼロショット型データ分類器を用いる場合、モデル生成部123が、教師データ記憶部121によって得られる教師データとクラス属性記憶部122によって得られるクラス属性を用いて、学習済みゼロショット型データ分類器を生成しても良い。
 既知クラス尤度計算部111において、サポートベクターマシンやロジスティック回帰、ニューラルネットワークなどの教師あり学習で用いられる手法を尤度計算モデルの学習に用いる場合、モデル生成部123が、教師データ記憶部121によって得られる教師データを用いて既知クラス尤度を計算する学習済み尤度計算モデルを生成しても良い。
(動作の説明)
 次に、データ分類システム101の動作について図2および図3を用いて説明する。
 図2は、データ分類システム101における学習時の動作例を示す流れ図である。
 図2の処理で、モデル生成部123は、モデル記憶部116に学習済みの既知クラス尤度計算モデルが有るか否かを判定する(ステップS101)。学習済みの既知クラス尤度計算モデルが有ると判定した場合(ステップS101:YES)、データ分類システム101は、ステップS101およびS102の一群の処理を終了する。
 一方、学習済みの既知クラス尤度計算モデルが無いと判定した場合(ステップS101:NO)、モデル生成部123は、教師データとクラス属性を用いて既知クラス尤度計算モデルを生成し、モデル記憶部116に記憶させる(ステップS102)。ステップS102の後、データ分類システム101は、ステップS101およびS102の一群の処理を終了する。
 また、モデル生成部123は、モデル記憶部116に学習済みの未知クラス尤度計算モデルが有るか否かを判定する(ステップS103)。学習済みの未知クラス尤度計算モデルが有ると判定した場合(ステップS103:YES)、データ分類システム101は、ステップS103およびS104の一群の処理を終了する。
 一方、学習済みの未知クラス尤度計算モデルが無いと判定した場合(ステップS103:NO)、モデル生成部123は、教師データとクラス属性を用いて未知クラス尤度計算モデルを生成し、モデル記憶部116に記憶させる(ステップS104)。ステップS104の後、データ分類システム101は、ステップS103およびS104の一群の処理を終了する。
 また、モデル生成部123は、モデル記憶部116に学習済みの全クラス尤度計算モデルが有るか否かを判定する(ステップS105)。学習済みの全クラス尤度計算モデルが有ると判定した場合(ステップS105:YES)、データ分類システム101は、ステップS105およびS106の一群の処理を終了する。
 一方、学習済みの全クラス尤度計算モデルが無いと判定した場合(ステップS105:NO)、モデル生成部123は、教師データとクラス属性を用いて全クラス尤度計算モデルを生成し、モデル記憶部116に記憶させる(ステップS106)。ステップS106の後、データ分類システム101は、ステップS105およびS106の一群の処理を終了する。
 ステップS101およびS102の一群の処理と、ステップS103およびS104の一群の処理と、ステップS105およびS106の一群の処理とは並列実行可能である。モデル生成部123が、これらの処理を並行処理で実行するようにしても良い。
 ステップS101およびS102の一群の処理と、ステップS103およびS104の一群の処理と、ステップS105およびS106の一群の処理とを終了した場合、データ分類システム101は、図2の処理を終了する。
 図3は、データ分類システム101がテストデータを分類する推論時の動作例を示す流れ図である。
 まず、データ分類システム101はテストデータを読み取る(ステップS201)。
 次に、モデル記憶部116から学習済みの既知クラス尤度計算モデルを読み込んだ既知クラス尤度計算部111は、入力されたテストデータの既知クラス尤度を計算する(ステップS202)。
 また、モデル記憶部116から学習済みの未知クラス尤度計算モデルを読み込んだ未知クラス尤度計算部112は、入力されたテストデータの未知クラス尤度を計算する(ステップS203)。ステップS202の処理とステップS203の処理とは並列実行可能である。
 ステップS202およびS203の後、クラス候補選択部114は、テストデータの既知クラス尤度とテストデータの未知クラス尤度を用いて、テストデータに関連するクラス候補を選択する(ステップS204)。
 次に、モデル記憶部116から学習済みの全クラス尤度計算モデルを読み込んだ全クラス尤度計算部113は、ステップS204で得られるクラス候補の各々の全クラス尤度を計算する(ステップS205)。
 次に、クラス推定部115は、ステップS205で得られる全クラス尤度を用いて、テストデータの所属クラスを推定する(ステップS206)。
 ステップS206の後、データ分類システム101は、図3の処理を終了する。
(効果の説明)
 次に、第1の実施の形態の効果について説明する。
 第1の実施の形態では、クラス候補選択部114がクラスを選択したことにより、クラス推定部115の分類対象クラス数が減少している。また、クラス候補選択部114が選択するクラスは、既知クラス尤度計算部111と未知クラス尤度計算部112が高いクラス尤度を付けたクラスに限定される。つまり、クラス候補選択部114によって選ばれるクラスはテストデータの正解クラスと関連が高いクラスになっている。
 これにより、クラス推定部115の推定対象クラスをクラス候補選択部114が選択したクラスに制限することで、クラス分類の精度が向上することが期待される。
 以上のように、既知クラス尤度計算部111は、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する。クラス候補選択部114は、クラス分類における全てのクラスのうち、少なくとも1つの既知クラスを既知クラス尤度に基づいて除いたクラスを、対象データが所属するクラスの候補として選択する。全クラス尤度計算部113は、少なくとも対象データが所属するクラスの候補に含まれるクラスの各々について、対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算する。クラス推定部115は、全クラス尤度に基づいて、対象データが所属するクラスを、対象データが所属するクラスの候補のうち何れかのクラスと推定する。
 このように、クラス候補選択部114が、対象データが所属するクラスの候補を既知クラス尤度に基づいて絞り込むことで、データ分類システム101が比較的高精度にクラス分類を行えると期待される。
 例えば、既知クラスのうち、既知クラス尤度が最も高いクラスと、全クラス尤度が最も高いクラスとが異なり、全クラス尤度が最も高いクラスの既知クラス尤度は比較的低い場合を考える。
 このように、既知クラス尤度と全クラス尤度とで齟齬が生じている場合、既知クラス尤度計算モデルのほうが、全クラス尤度計算モデルよりも、教師データに現れるクラスへの分類を行う点で、モデルの学習の精度が高いと期待される。このことからすると、対象データが所属する正解クラスが既知クラスの何れかであるとの仮定の下では、既知クラス尤度を用いてクラス推定を行うほうが、全クラス尤度を用いてクラス推定を行うよりも精度が高いと期待される。
 仮に、クラス推定部115が、全クラス尤度が最も高い既知クラスを、対象データが所属するクラスと推定した場合、推定されたクラスの既知クラス尤度が比較的低いことから、推定結果が誤りである可能性が高い。
 これに対して、全クラス尤度が最も高い既知クラスの既知クラス尤度が比較的低いことで、クラス候補選択部114が、この既知クラスを、対象クラスが所属するクラスの候補から除外することが期待される。クラス候補選択部114が、この既知クラスを除外することで、クラス推定部115が、この既知クラスを、対象データが所属するクラスと推定することは無い。これにより、誤推定を回避できると期待される。
 このように、データ分類システム101によれば、教師データに示されないクラスである未知クラスを含むクラス分類の精度の向上を図ることができる。
 また、未知クラス尤度計算部112は、既知クラス以外のクラスである未知クラスの各々について、対象データが全ての未知クラスのうちその未知クラスに所属することの尤もらしさを示す未知クラス尤度を計算する。クラス候補選択部114は、既知クラス尤度と未知クラス尤度を用いて、対象データが所属するクラスの候補を選択する。
 これにより、クラス推定部115が、対象データが所属するクラスを未知クラスの何れかに推定する場合も、推定精度が高いことが期待される。具体的には、クラス推定部115が推定する未知クラスは、未知クラス尤度および全クラス尤度の何れも比較的高いクラスである。この点で、クラス推定部115の推定結果は、複数の評価方法の何れでも比較的高い評価を受けていると解することができ、推定精度が高いと期待される。
 また、クラス候補選択部114は、対象データの既知クラス尤度が高い順に所定の個数の既知クラスと、対象データの未知クラス尤度が高い順に所定の個数の未知クラスとを、対象データが所属するクラスの候補として選択する。
 これにより、クラス候補選択部114は、既知クラス、未知クラスそれぞれを尤度が高い順に順位付けをして所定の個数だけ選択するという比較的簡単な処理で候補を選択でき、処理負荷が比較的軽くて済む。
 また、クラス候補選択部114は、既知クラスのうち対象データの既知クラス尤度が所定の閾値よりも高いクラスと、未知クラスのうち対象データの未知クラス尤度が所定の閾値よりも高いクラスを、対象データが所属するクラスの候補として選択する。
 これにより、クラス候補選択部114は、既知クラス、未知クラスそれぞれについて、尤度と閾値とを比較するという比較的簡単な処理で候補を選択でき、処理負荷が比較的軽くて済む。
(第2の実施の形態)
(構成の説明)
 図4は、第2の実施形態に係るデータ分類システムの構成例を示す概略ブロック図である。図4に示す構成で、データ分類システム102は、既知クラス尤度計算部111と、未知クラス尤度計算部112と、全クラス尤度計算部113と、クラス候補選択部114と、クラス推定部115と、モデル記憶部116と、クラス間類似度計算部117と、教師データ記憶部121と、クラス属性記憶部122と、モデル生成部123と、を備える。
 データ分類システム102の各部のうちデータ分類システム101(図1)の場合と同様の部分については、図1の場合と同一の符号を付して詳細な説明を省略する。
 第2の実施形態に係るデータ分類システム102の、第1の実施形態との違いは、データ分類システム102がクラス間類似度計算部117を備えていることにある。
 また、第2の実施形態では未知クラス尤度計算部112が未知クラス尤度を計算する具体的方法が、第1の実施形態の場合と異なる。また、第2の実施形態のモデル記憶部116は未知クラス尤度計算モデルを記憶しておく必要が無い。
 クラス間類似度計算部117は、二つのクラスの類似度を計算する。
 例えば、クラス間類似度計算部117は、二つのクラスそれぞれについてクラス属性記憶部122からクラス属性を読み出す。そしてクラス間類似度計算部117は、二つのクラスのクラス属性を類似度関数に入力した出力値(類似度関数値)を計算する。類似度関数の値域が非負の実数値のみを含む場合、クラス間類似度計算部117は、類似度関数の出力値を、二つのクラスの類似度として用いる。一方、類似度関数の値域が負の実数値を含む場合、クラス間類似度計算部117は、類似度関数の出力値に対して必ず非負の実数値になるような変換を施した値を、二つのクラスの類似度として用いる。
 クラス間類似度計算部117が用いる類似度関数として、いろいろな関数を用いることができる。
 例えば、クラス属性が多次元数値ベクトルの場合、クラス間類似度計算部117が、コサイン類似度またはガウス関数などを類似度関数として用いても良い。
 また、例えば、クラス属性が文字列の場合、クラス間類似度計算部117が、レーベンシュタイン距離またはジャロ・ウィンクラー距離など類似度関数として用いても良い。また、クラス属性が集合の場合、クラス間類似度計算部117が、ジャッカード類似度またはシンプソン係数などを類似度関数として用いても良い。
 クラス間類似度計算部117は、クラス間類似度計算手段の例に該当する。
 上記のように、類似度関数値が負の実数値をとり得る場合、クラス間類似度計算部117は、類似度関数値に対して必ず非負の実数値になるような変換を施す。この変換の仕方としていろいろな方法を用いることができる。
 例えば、類似度関数値が必ず非負の実数値に変換されるような変換は、類似度関数値から、類似度関数の最小値に相当するオフセットを減算する変換であっても良い。類似度関数の最小値が負の値である場合、類似度関数の最小値に相当するオフセットを減算することは、類似度関数の最小値の絶対値に相当する正の値を加算することである。
 あるいは、類似度関数値が必ず非負の実数値に変換されるような変換は、ネイピア数の類似度関数値乗を計算する変換であっても良い。
 以下の説明では、クラス属性記憶部122が記憶するクラスcのクラス属性をacと表すことにする。また、クラス間類似度計算部117による二つのクラスcとc’の類似度をsim(a, ac’) と表すことにする。未知クラス尤度計算部112が、テストデータxの未知クラスcu j における未知クラス尤度L(cu j | x) を、以下に示す式(1)のように算出してもよい。
Figure JPOXMLDOC01-appb-M000001
 また、式(1)において全ての既知クラスに関して和を取るのではなく、全ての既知クラスcs 1, ..., cs Mのうち選択した複数個のクラスcs [1], ..., cs [K] に関して和を取っても良い。この場合、未知クラス尤度計算部112が、テストデータxの未知クラスcu j における未知クラス尤度L(cu j | x) を、以下に示す式(2)のように算出してもよい。
Figure JPOXMLDOC01-appb-M000002
 全ての既知クラスのうち複数個のクラスcs [1], ..., cs [K] を選択する手段として、いろいろな手段を用いることができる。
 例えば、第1の実施の形態で述べた、予め定められた整数値Kに対して、既知クラス尤度が高いクラスを上から順番にK個cs [1], ..., cs [K] 選択する方法を採用しても良い。
 クラス候補選択部114が、全ての既知クラスのうち複数個のクラスcs [1], ..., cs [K] を選択するようにしても良い。あるいは、未知クラス尤度計算部112が、この選択を行うようにしても良い。あるいは、クラス間類似度計算部117が、この選択を行うようにしても良い。
(動作の説明)
 次に、データ分類システム102の動作について図5および図6を用いて説明する。
 図5は、データ分類システム102における学習時の動作例を示す流れ図である。
 図5の処理で、モデル生成部123は、モデル記憶部116に学習済みの既知クラス尤度計算モデルが有るか否かを判定する(ステップS301)。学習済みの既知クラス尤度計算モデルが有ると判定した場合(ステップS301:YES)、データ分類システム102は、ステップS301およびS302の一群の処理を終了する。
 一方、学習済みの既知クラス尤度計算モデルが無いと判定した場合(ステップS301:NO)、モデル生成部123は、教師データとクラス属性を用いて既知クラス尤度計算モデルを生成し、モデル記憶部116に記憶させる(ステップS302)。ステップS302の後、データ分類システム102は、ステップS301およびS302の一群の処理を終了する。
 また、モデル生成部123は、モデル記憶部116に学習済みの全クラス尤度計算モデルが有るか否かを判定する(ステップS303)。学習済みの全クラス尤度計算モデルが有ると判定した場合(ステップS303:YES)、データ分類システム102は、ステップS303およびS304の一群の処理を終了する。
 一方、学習済みの全クラス尤度計算モデルが無いと判定した場合(ステップS303:NO)、モデル生成部123は、教師データとクラス属性を用いて全クラス尤度計算モデルを生成し、モデル記憶部116に記憶させる(ステップS304)。ステップS304の後、データ分類システム102は、ステップS303およびS304の一群の処理を終了する。
 ステップS301およびS302の一群の処理と、ステップS303およびS304の一群の処理とは並列実行可能である。モデル生成部123が、これらの処理を並行処理で実行するようにしても良い。
 ステップS301およびS302の一群の処理と、ステップS303およびS304の一群の処理とを終了した場合、データ分類システム101は、図5の処理を終了する。
 図6は、データ分類システム102がテストデータを分類する推論時の動作例を示す流れ図である。
 まず、データ分類システム102はテストデータを読み取る(ステップS401)。
 次に、モデル記憶部116から学習済みの既知クラス尤度計算モデルを読み込んだ既知クラス尤度計算部111は、入力されたテストデータの既知クラス尤度を計算する(ステップS402)。
 また、クラス間類似度計算部117は、クラス属性記憶部122から得られるクラス属性を用いて既知クラスと未知クラスの類似度を計算する(ステップS403)。ステップS402の処理とS403の処理とは並列実行可能である。
 ステップS402およびS403の後、未知クラス尤度計算部112は、入力されたテストデータの未知クラス尤度を、既知クラス尤度とクラス間類似度を用いて計算する(ステップS404)。
 次に、クラス候補選択部114は、テストデータの既知クラス尤度とテストデータの未知クラス尤度を用いて、テストデータに関連するクラスの候補を選択する(ステップS405)。
 次に、モデル記憶部116から学習済みの全クラス尤度計算モデルを読み込んだ全クラス尤度計算部113は、ステップS405で得られるクラス候補の各々の全クラス尤度を計算する(ステップS406)。
 次に、クラス推定部115は、ステップS406で得られる全クラス尤度を用いて、テストデータの所属クラスを推定する(ステップS407)。
 ステップS407の後、データ分類システム102は、図6の処理を終了する。
(効果の説明)
 次に、本実施の形態の効果について説明する。
 第2の実施形態では、クラス候補選択部114によって選ばれる未知クラスは、高い既知クラス尤度を持つ既知クラスと高い類似性を持つ。一般的に、テストデータが既知クラスに所属する場合には、全クラス尤度計算部113よりも既知クラス尤度計算部111を用いた分類器のほうが、教師データに現れるクラスへの分類を行う点で学習の精度が高いと期待され、この点で、分類精度が高い。そのため、高い既知クラス尤度を持つ既知クラスはテストデータの正解クラスと高い類似度を持つ可能性が高く、テストデータの正解クラスと類似度が高い未知クラスの尤度も高くなり、ゼロショット型データ分類技術の分類精度が向上する。
 以上のように、クラス間類似度計算部117は、二つのクラスの類似度を計算する。未知クラス尤度計算部112は、既知クラス尤度とクラスの類似度を用いて、テストデータの未知クラス尤度を計算する。
 既知クラスが教師データに現れるクラスである点で、既知クラス尤度計算モデルの学習精度が高く、既知クラス尤度の精度が高いことが期待される。未知クラス尤度計算部112が、精度の高い既知クラス尤度を用いて未知クラス尤度を計算することで、未知クラス尤度の精度が高いことが期待される。
(第3の実施形態)
 第3の実施形態では、第2の実施形態に係るデータ分類システム102が行う処理の、より具体的な例について説明する。
 一例として、画像分類タスクにおいて、教師データとしての画像データベースに含まれていないクラスに所属するテスト画像のクラスを正しく推定することを考える。ここでは、テスト画像のクラスが画像データベースにない「フェネック」クラスに所属する場合を考える。
 まず、既知クラス尤度計算部111が、テスト画像に対し、画像データベースの中に存在するクラスの中から既知クラス尤度計算部が高い尤度を付与するクラスを選択する。テスト画像をxとし、例えば、今回の分類対象の既知クラスが「キタキツネ、柴犬、三毛猫、馬」で、既知クラス尤度計算部111が、LS (キタキツネ|x)=0.5、 LS (柴犬|x)=0.3、 LS (三毛猫|x)=0.1、 L(馬|x)=0.1と算出した場合を考える。
 クラス候補選択部114は、既知クラスのうち予め定義された閾値0.25以上の尤度を持つクラスを選択するものとする。この場合、クラス候補選択部114は、既知クラスのうち「キタキツネ、柴犬」を選択する。
 次に、クラス候補選択部114は、画像データベースの中に存在しないクラスの中から未知クラス尤度計算部が高い尤度を付与するクラスを選択する。例えば、今回の分類対象の未知クラスが「フェネック、ニホンオオカミ、ペルシャ猫」で、未知クラス尤度計算部112が、L(フェネック|x)=0.6, L(ニホンオオカミ|x)=0.3, L(ペルシャ猫|x)=0.1と算出した場合を考える。
 クラス候補選択部114は、未知クラスのうち予め定義された閾値0.3以上の尤度を持つクラスを選択するものとする。この場合、クラス候補選択部114は、未知クラスのうち「フェネック、ニホンオオカミ」を選択する。
 第2の実施形態における未知クラス尤度計算部112が未知クラス尤度Lを計算する際には、クラス間類似度計算部117が、属性データベースから得られるクラス属性を用いてクラス間類似度を計算する。
 フェネックがネコ目で、イヌ科で、キツネ属で、鳥類でなく、耳が大きくて、茶色い動物の場合に、フェネックのクラス属性はaフェネック = (1, 1, 1, 0, 1, 1) と0と1で表現されるベクトルとして定義されていてもよい。
 クラス候補選択部114は、選択した既知クラスと選択した未知クラスとの集合を、テスト画像xに対するクラス候補集合C^ xとする。ここでは、クラス候補選択部114は、選択した既知クラス「キタキツネ」および「柴犬」と、選択した未知クラス「フェネック」および「ニホンオオカミ」との集合{キタキツネ,柴犬,フェネック,ニホンオオカミ}を、テスト画像xに対するクラス候補集合C^ xとする。
 全クラス尤度計算部113は、クラス候補集合C^ xに含まれる各クラスの全クラス尤度を計算する。全クラス尤度計算部113が、公知のゼロショット型データ分類技術を用いて全クラス尤度を計算するようにしてもよい。
 クラス推定部115は、全クラス尤度計算部113が計算した全クラス尤度を用いて、テスト画像xの所属するクラスを推定する。
 例えば、クラス候補集合C^ xの各クラスを全クラス尤度の大きい順に並べると、「フェネック」、「キタキツネ」、「柴犬」、「ニホンオオカミ」の順番になる場合を考える。この場合、クラス推定部115は、一番高い全クラス尤度を持つクラス「フェネック」をテスト画像xの所属する推定クラスとして出力する。
 また、上記のフェネックスのテスト画像の例で、仮に、公知のゼロショット型データ分類技術を用いると「ペルシャ猫」のクラス尤度が全クラスの中で一番高くなってしまう場合について考える。この場合、公知のゼロショット型データ分類技術による分類器では、「ペルシャ猫」をテスト画像が所属する推定クラスとして出力すると考えられる。すると、この分類器は、「フェネック」の画像を「ペルシャ猫」の画像と誤分類してしまうことになる。
 これに対し、データ分類システム102が行うクラス分類では、ペルシャ猫がネコ目で、イヌ科でなく、キツネ属でなく、鳥類でなく、耳が大きくなく、茶色い動物でない場合に、ペルシャ猫のクラス属性はaペルシャ猫 = (1, 0, 0, 0, 0, 0) となる。このため、クラス間類似度計算部117が計算するイヌ科の「キタキツネ、柴犬」の各々とペルシャ猫とのクラス間類似度は何れも低くなる。これにより、未知クラス尤度計算部112がペルシャ猫に高いクラス尤度を付与する可能性は低くなり、クラス候補選択部114は、「ペルシャ猫」をクラス候補集合に含めない。第2の実施形態に係るデータ分類システム102では、イヌ科の「フェネック」と類似度が低い「ペルシャ猫」をクラス候補集合に入れないことで、誤分類を避けることができ、分類精度の向上が期待される。
 また、第1の実施形態に係るデータ分類システム101、および、第2の実施形態に係るデータ分類システム102によれば、他にも、文章をその文章が所属するカテゴリに分類する文章分類において、文章データベースに含まれていないカテゴリに所属する文章のカテゴリを正しく推定することができると期待される。例えば、SNS(Social Networking Service)等に投稿されたある商品に対するコメントに対して、そのコメントが指している商品名が新商品などの文章データベースにまだ存在していない商品である場合に、そのコメントが指している商品名を正しく推定することを考える。このとき、前記の画像分類タスクにおける画像をコメントに、画像が所属するクラスを商品名に、画像のクラス属性を商品ジャンルや成分などから定まる商品のクラス属性に置き換えることで、上述した手続と同様の手続きで、コメントが指している商品名を高精度で推定することができる。
(第4の実施形態)
 図7は、第4の実施形態に係るデータ分類システムの構成例を示す図である。図7に示す構成で、データ分類システム501は、既知クラス尤度計算部511と、クラス候補選択部512と、全クラス尤度計算部513と、クラス推定部514とを備える。
 かかる構成で、既知クラス尤度計算部511は、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する。クラス候補選択部512は、クラス分類における全てのクラスのうち、少なくとも1つの既知クラスを既知クラス尤度に基づいて除いたクラスを、対象データが所属するクラスの候補として選択する。全クラス尤度計算部513は、少なくとも、対象データが所属するクラスの候補に含まれるクラスの各々について、対象データが全てのクラスのうちそのクラスにすることの尤もらしさを示す全クラス尤度を計算する。クラス推定部514は、全クラス尤度に基づいて、対象データが所属するクラスを、対象データが所属するクラスの候補のうち何れかのクラスと推定する。
 このように、クラス候補選択部512が、対象データが所属するクラスの候補を既知クラス尤度に基づいて絞り込むことで、データ分類システム501が比較的高精度にクラス分類を行えると期待される。データ分類システム501によれば、この点で、教師データに示されないクラスを含むクラス分類の精度の向上を図ることができる。
(第5の実施形態)
 図8は、第5の実施形態に係るデータ分類方法における処理手順の例を示す図である。
 図8に示すデータ分類方法は、既知クラス尤度計算工程(ステップS501)と、クラス候補選択工程(ステップS502)と、全クラス尤度計算工程(ステップS503)と、クラス推定工程(ステップS504)とを含む。
 既知クラス尤度計算工程(ステップS501)では、クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する。
 クラス候補選択工程(ステップS502)では、クラス分類における全てのクラスのうち、少なくとも1つの既知クラスを既知クラス尤度に基づいて除いたクラスを、対象データが所属するクラスの候補として選択する。
 全クラス尤度計算工程(ステップS503)では、少なくとも、対象データが所属するクラスの候補に含まれるクラスの各々について、対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算する。
 クラス推定工程(ステップS504)では、全クラス尤度に基づいて、対象データが所属するクラスを、対象データが所属するクラスの候補のうち何れかのクラスと推定する。
 図8に示すデータ分類方法によれば、対象データが所属するクラスの候補を既知クラス尤度に基づいて絞り込むことで、比較的高精度にクラス分類を行えると期待される。図8に示すデータ分類方法によれば、この点で、教師データに示されないクラスを含むクラス分類の精度の向上を図ることができる。
 図9は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
 図9に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
 上記のデータ分類システム101、データ分類システム102およびデータ分類システム501のうち何れか1つ以上が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。
 データ分類システム101がコンピュータ700に実装される場合、既知クラス尤度計算部111、未知クラス尤度計算部112、全クラス尤度計算部113、クラス候補選択部114、クラス推定部115、および、モデル生成部123の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、モデル記憶部116、教師データ記憶部121、および、クラス属性記憶部122に対応する記憶領域を主記憶装置720に確保する。
 データ分類システム102がコンピュータ700に実装される場合、既知クラス尤度計算部111、未知クラス尤度計算部112、全クラス尤度計算部113、クラス候補選択部114、クラス推定部115、クラス間類似度計算部117、および、モデル生成部123の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 また、CPU710は、プログラムに従って、モデル記憶部116、教師データ記憶部121、および、クラス属性記憶部122に対応する記憶領域を主記憶装置720に確保する。
 データ分類システム501がコンピュータ700に実装される場合、既知クラス尤度計算部511、クラス候補選択部512、全クラス尤度計算部513、および、クラス推定部514の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
 なお、判定装置100、および、判定措置210が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
 本発明の実施形態は、データ分類システム、データ分類方法および記録媒体に適用してもよい。
101、102、501 データ分類システム
111、511 既知クラス尤度計算部
112 未知クラス尤度計算部
113、513 全クラス尤度計算部
114、512 クラス候補選択部
115、514 クラス推定部
116 モデル記憶部
117 クラス間類似度計算部
121 教師データ記憶部
122 クラス属性記憶部
123 モデル生成部

Claims (7)

  1.  クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算する、既知クラス尤度計算手段と、
     前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択する、クラス候補選択手段と、
     少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算する、全クラス尤度計算手段と、
     前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定する、クラス推定手段と、
     を備えるデータ分類システム。
  2.  前記既知クラス以外のクラスである未知クラスの各々について、前記対象データが全ての未知クラスのうちその未知クラスに所属することの尤もらしさを示す未知クラス尤度を計算する、未知クラス尤度計算手段、
     をさらに備え、
     前記クラス候補選択手段は、前記既知クラス尤度と前記未知クラス尤度を用いて、前記候補を選択する、
     請求項1記載のデータ分類システム。
  3.  前記クラス候補選択手段は、前記対象データの前記既知クラス尤度が高い順に所定の個数の前記既知クラスと、前記対象データの前記未知クラス尤度が高い順に所定の個数の前記未知クラスとを、前記候補として選択する、
     請求項2記載のデータ分類システム。
  4.  前記クラス候補選択手段は、前記既知クラスのうち前記対象データの前記既知クラス尤度が所定の閾値よりも高いクラスと、前記未知クラスのうち前記対象データの前記未知クラス尤度が所定の閾値よりも高いクラスを前記候補として選択する、
     請求項2記載のデータ分類システム。
  5.  二つのクラスの類似度を計算する、クラス間類似度計算手段
     をさらに備え、
     前記未知クラス尤度計算手段は、前記既知クラス尤度と前記類似度を用いて、前記対象データの前記未知クラス尤度を計算する、
     請求項2から4の何れか一項記載のデータ分類システム。
  6.  クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算することと、
     前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択することと、
     少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算することと、
     前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定することと、
     を含むデータ分類方法。
  7.  コンピュータに、
     クラス分類の学習に用いられる教師データに示されるクラスである既知クラスの各々について、対象データが全ての既知クラスのうちその既知クラスに所属することの尤もらしさを示す既知クラス尤度を計算することと、
     前記クラス分類における全てのクラスのうち、少なくとも1つの前記既知クラスを前記既知クラス尤度に基づいて除いたクラスを、前記対象データが所属するクラスの候補として選択することと、
     少なくとも前記候補に含まれるクラスの各々について、前記対象データが全てのクラスのうちそのクラスに所属することの尤もらしさを示す全クラス尤度を計算することと、
     前記全クラス尤度に基づいて、前記対象データが所属するクラスを前記候補のうち何れかのクラスと推定することと、
     を実行させるためのプログラムを記録する記録媒体。
PCT/JP2020/021055 2020-05-28 2020-05-28 データ分類システム、データ分類方法および記録媒体 WO2021240707A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022527378A JPWO2021240707A5 (ja) 2020-05-28 データ分類システム、データ分類方法およびプログラム
US17/925,880 US20230195851A1 (en) 2020-05-28 2020-05-28 Data classification system, data classification method, and recording medium
PCT/JP2020/021055 WO2021240707A1 (ja) 2020-05-28 2020-05-28 データ分類システム、データ分類方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/021055 WO2021240707A1 (ja) 2020-05-28 2020-05-28 データ分類システム、データ分類方法および記録媒体

Publications (1)

Publication Number Publication Date
WO2021240707A1 true WO2021240707A1 (ja) 2021-12-02

Family

ID=78723097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/021055 WO2021240707A1 (ja) 2020-05-28 2020-05-28 データ分類システム、データ分類方法および記録媒体

Country Status (2)

Country Link
US (1) US20230195851A1 (ja)
WO (1) WO2021240707A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328988A (zh) * 2022-10-14 2022-11-11 山东商业职业技术学院 一种基于大数据和互联网的信息管理方法
WO2023144871A1 (ja) * 2022-01-25 2023-08-03 日本電気株式会社 文書分類装置、文書分類方法、および文書分類プログラム
WO2023144872A1 (ja) * 2022-01-25 2023-08-03 日本電気株式会社 文書分類装置、文書分類方法、および文書分類プログラム
JP7428267B2 (ja) 2020-10-21 2024-02-06 日本電信電話株式会社 学習装置、推定装置、学習方法、推定方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190051292A1 (en) * 2017-08-14 2019-02-14 Samsung Electronics Co., Ltd. Neural network method and apparatus
JP2020042765A (ja) * 2018-09-07 2020-03-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法及び情報処理システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200466B2 (en) * 2015-10-28 2021-12-14 Hewlett-Packard Development Company, L.P. Machine learning classifiers
US10460256B2 (en) * 2016-08-09 2019-10-29 Microsot Technology Licensing, LLC Interactive performance visualization of multi-class classifier
WO2018170321A1 (en) * 2017-03-15 2018-09-20 Exari Group, Inc. Machine evaluation of contract terms
US11416518B2 (en) * 2018-10-30 2022-08-16 Optum, Inc. Machine learning for machine-assisted data classification
WO2020141587A1 (ja) * 2019-01-02 2020-07-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理装置、情報処理方法及びプログラム
US10402641B1 (en) * 2019-03-19 2019-09-03 Capital One Services, Llc Platform for document classification
US11907672B2 (en) * 2019-06-05 2024-02-20 Refinitiv Us Organization Llc Machine-learning natural language processing classifier for content classification
JP2020204909A (ja) * 2019-06-17 2020-12-24 アイシン精機株式会社 機械学習装置
WO2021040791A1 (en) * 2019-08-23 2021-03-04 Landmark Graphics Corporation Probability distribution assessment for classifying subterranean formations using machine learning
US11983611B2 (en) * 2019-12-30 2024-05-14 Armis Security Ltd. System and method for determining device attributes using a classifier hierarchy
US11481648B2 (en) * 2020-05-07 2022-10-25 Microsoft Technology Licensing, Llc Software categorization based on knowledge graph and machine learning techniques
US11514444B2 (en) * 2020-11-03 2022-11-29 Capital One Services, Llc Leveraging blockchain based machine learning modeling for expense categorization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190051292A1 (en) * 2017-08-14 2019-02-14 Samsung Electronics Co., Ltd. Neural network method and apparatus
JP2020042765A (ja) * 2018-09-07 2020-03-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法及び情報処理システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BENDALE; ABHIJIT; TERRANCE BOULT: "Towards Open Set Deep Networks", ARXIV, 19 November 2015 (2015-11-19), pages 1563 - 1572, XP002782024, Retrieved from the Internet <URL:https://arxiv.org/pdf/1511.06233vl> [retrieved on 20200820] *
SAITO, NAOKI ET AL.: "Category Classification of Tourism Images in Image Sharing Services", IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, vol. 9, 1 September 2016 (2016-09-01), pages 848 - 860, ISSN: 1881-0225, Retrieved from the Internet <URL:https://search.ieice.org/bin/pdf.php?lang=J&year=2016&fname=j99-d_9_848&abst=> [retrieved on 20200820], DOI: 10.14923/transinfj.20161 EP 0005 *
TAKEKI AKITO, IKAMI DAIKI, IRIE GO, AIZAWA KIYOHARU: "Deep Meta-Recognition Networks for Open Set Recognition", PROCEEDINGS OF 16TH FORUM ON INFORMATION TECHNOLOGY (FIT2017), 5 September 2017 (2017-09-05), pages 81 - 84, XP055877289 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428267B2 (ja) 2020-10-21 2024-02-06 日本電信電話株式会社 学習装置、推定装置、学習方法、推定方法及びプログラム
WO2023144871A1 (ja) * 2022-01-25 2023-08-03 日本電気株式会社 文書分類装置、文書分類方法、および文書分類プログラム
WO2023144872A1 (ja) * 2022-01-25 2023-08-03 日本電気株式会社 文書分類装置、文書分類方法、および文書分類プログラム
CN115328988A (zh) * 2022-10-14 2022-11-11 山东商业职业技术学院 一种基于大数据和互联网的信息管理方法
CN115328988B (zh) * 2022-10-14 2023-01-24 山东商业职业技术学院 一种基于大数据和互联网的信息管理方法

Also Published As

Publication number Publication date
JPWO2021240707A1 (ja) 2021-12-02
US20230195851A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
WO2021240707A1 (ja) データ分類システム、データ分類方法および記録媒体
CN111401084B (zh) 一种机器翻译的方法、设备以及计算机可读存储介质
US20230027526A1 (en) Method and apparatus for classifying document based on attention mechanism and semantic analysis
CN112711953A (zh) 一种基于注意力机制和gcn的文本多标签分类方法和系统
CN110852755A (zh) 针对交易场景的用户身份识别方法和装置
CN109948140B (zh) 一种词向量嵌入方法及装置
CN112116090A (zh) 神经网络结构搜索方法、装置、计算机设备及存储介质
CN114298050A (zh) 模型的训练方法、实体关系抽取方法、装置、介质、设备
CN112036185A (zh) 一种基于工业企业构建命名实体识别模型的方法及装置
JP2019204214A (ja) 学習装置、学習方法、プログラム及び推定装置
CN112036647A (zh) 基于人工智能的简历信息处理方法、装置、设备及介质
CN112819024A (zh) 模型处理方法、用户数据处理方法及装置、计算机设备
JP2019105871A (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
US11948387B2 (en) Optimized policy-based active learning for content detection
CN117131348B (zh) 基于差分卷积特征的数据质量分析方法及系统
JP4328362B2 (ja) 言語解析モデル学習装置、言語解析モデル学習方法、言語解析モデル学習プログラム及びその記録媒体
JP2010272004A (ja) 判別装置及び判別方法、並びにコンピューター・プログラム
CN111611796A (zh) 下位词的上位词确定方法、装置、电子设备及存储介质
CN113239699B (zh) 一种融合多特征的深度知识追踪方法及系统
US20170293863A1 (en) Data analysis system, and control method, program, and recording medium therefor
Fan et al. A medical pre-diagnosis system for histopathological image of breast cancer
CN115170599A (zh) 通过图神经网络的链路预测进行血管分割的方法和装置
US10929761B2 (en) Systems and methods for automatically detecting and repairing slot errors in machine learning training data for a machine learning-based dialogue system
CN114255381A (zh) 图像识别模型的训练方法、图像识别方法、装置及介质
JP6509391B1 (ja) 計算機システム

Legal Events

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

Ref document number: 20938135

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022527378

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20938135

Country of ref document: EP

Kind code of ref document: A1