WO2021245924A1 - 処理装置、処理方法および処理プログラム - Google Patents
処理装置、処理方法および処理プログラム Download PDFInfo
- Publication number
- WO2021245924A1 WO2021245924A1 PCT/JP2020/022366 JP2020022366W WO2021245924A1 WO 2021245924 A1 WO2021245924 A1 WO 2021245924A1 JP 2020022366 W JP2020022366 W JP 2020022366W WO 2021245924 A1 WO2021245924 A1 WO 2021245924A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data set
- input data
- label
- function
- labeling
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Definitions
- the present invention relates to a processing apparatus, a processing method and a processing program.
- Machine learning is widespread in a wide range of fields.
- supervised learning a training data set with a correct answer is prepared in advance, and the classifier learns based on the training data set.
- the cost of creating a training dataset with the correct answer is a problem in machine learning.
- a function corresponding to the rule is implemented in the system based on the knowledge of the subject who gives the correct answer, and the system attaches the correct answer to the input data set according to the function.
- the dataset with the correct answer is added to the training dataset.
- Non-Patent Document 1 extracts an input data set in which the majority vote of the output is broken or no vote is taken when the implemented rule is applied to the input data set group. Add a rule to get the correct answer for the input data set randomly selected from the extracted input data set.
- Non-Patent Document 1 does not make use of the method of learning with weak supervised learning in consideration of dealing with duplication and contradiction between rules. Efficient, such as taking time to properly add rules, as rules are added to randomly sampled input datasets out of unvoted input datasets with a broken majority vote in the output. Learning can be difficult to achieve.
- the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of appropriately presenting an input data set to which a correct answer should be given in learning with weak supervised learning.
- the processing apparatus of one aspect of the present invention labeled the input data set with the labeling function with reference to the function data including the labeling function that labels the input data set or withdraws if the labeling is not possible. From the result, the first processing unit that outputs the first output data that associates the probability corresponding to each label with each input data set, and the first output data of each input data set corresponds to each label.
- a labeling function newly created for the input data set specified from the first output data by the specific unit is provided in the function data by providing a specific unit for specifying an input data set in which the variation in probability satisfies a predetermined condition. Will be inserted.
- the processing method of one aspect of the present invention refers to the function data including the labeling function in which the computer labels the input data set or withdraws if the labeling cannot be performed, and the input data set is displayed by the labeling function. From the labeled result, the step of outputting the first output data that associates each input data set with the probability corresponding to each label, and the computer in each input data set in each label in the first output data.
- a labeling function newly created for the input data set specified from the first output data in the step of specifying an input data set in which the variation of the corresponding probability satisfies a predetermined condition is a function. Inserted into the data.
- One aspect of the present invention is a processing program that causes a computer to function as the processing device.
- FIG. 1 is a diagram illustrating a functional block of the processing apparatus according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of a data structure of input data.
- FIG. 3 is a diagram illustrating an example of a data structure of function data.
- FIG. 4 is a flowchart illustrating an outline of processing by the processing apparatus according to the first embodiment.
- FIG. 5 is a diagram illustrating an example of a data structure of labeled input data.
- FIG. 6 is a diagram illustrating an example of a data structure of the first output data.
- FIG. 7 is a flowchart illustrating an outline of processing by the first processing unit according to the first embodiment.
- FIG. 8 is a diagram illustrating a functional block of the processing apparatus according to the second embodiment.
- FIG. 1 is a diagram illustrating a functional block of the processing apparatus according to the first embodiment.
- FIG. 2 is a diagram illustrating an example of a data structure of input data.
- FIG. 3 is a diagram illustrating
- FIG. 9 is a flowchart illustrating an outline of processing by the processing apparatus according to the second embodiment.
- FIG. 10 is a diagram illustrating an example of a data structure of training data.
- FIG. 11 is a flowchart illustrating an outline of processing by the second processing unit according to the second embodiment.
- FIG. 12 is a diagram illustrating a functional block of the processing apparatus according to the third embodiment.
- FIG. 13 is a flowchart illustrating an outline of processing by the processing apparatus according to the third embodiment.
- FIG. 14 is a diagram illustrating a processing result by the processing apparatus.
- FIG. 15 is a diagram illustrating a hardware configuration of a computer used in a processing device.
- the processing device 1 specifies an input data set to be given a labeling function based on an output result by an existing labeling function in weak supervised learning.
- the processing device 1 can efficiently generate a labeling function by adding a labeling function for labeling the specified input data set to the existing labeling function.
- the processing device 1 shown in FIG. 1 includes an input data 5, a function data 6, a first processing unit 10, a specific unit 31, a reference data set 32, a new labeling function 33, an update unit 34, and an output unit 40.
- the processing unit is implemented in the CPU 901, and the data is stored in the memory 902 or the storage 903.
- the input data 5 is the data to be labeled by the labeling function. As shown in FIG. 2, the input data 5 is a set of a plurality of input data sets. In the embodiment of the present invention, the number of input data sets included in the input data 5 is
- the function data 6 is the data of the labeling function that labels each input data set of the input data 5.
- the labeling function is a function that labels an input data set or abstains if it cannot be labeled. As shown in FIG. 3, the function data 6 is a set of a plurality of labeling functions. In the embodiment of the present invention, the number of labeling functions included in the function data 6 is
- the first processing unit 10 outputs the first output data 14 that associates the probability corresponding to each label with each input data set from the result of labeling the input data set with the labeling function.
- a high value is given to the probability of corresponding to the label
- a low value is given. Granted. The process of outputting the first output data 14 by the first processing unit 10 will be described in detail later.
- the specifying unit 31 specifies, among the input data sets, the input data set in which the variation in the probability corresponding to each label in the first output data 14 satisfies a predetermined condition as the reference data set 32.
- the identification unit 31 identifies an input data set in which the variation is larger than a predetermined threshold.
- An input data set with a large variation in probability corresponding to each label has a high priority specified as a reference data set 32, and an input data set with a small variation in probability corresponding to each label is specified as a reference data set 32. The priority is low.
- a new labeling function 33 is generated to label the reference dataset 32.
- the number of input data sets in the reference data set 32 and the number of functions in the new labeling function 33 are arbitrary.
- a new labeling function 33 an arbitrary subject E.
- the domain expert may manually generate a labeling function for the reference data set 32 presented by the specific unit 31.
- a computer such as existing machine learning may generate a labeling function by a predetermined program.
- External knowledge such as an existing ontology may generate a labeling function.
- a labeling function newly created for the input data set specified from the first output data 14 by the specific unit 31 is inserted into the function data 6.
- the update unit 34 inserts the new labeling function 33 into the function data 6.
- the number of labeling functions included in the function data 6 is larger than
- the first processing unit 10 again labels each input data set of the input data 5, and the probability that each input data set corresponds to each label.
- the first output data 14 associated with the above is output.
- the update process of the function data 6 by the first processing unit 10 and the specific unit 31 and the like is repeated until a predetermined condition is satisfied.
- a predetermined condition a condition indicating that an appropriate labeling function is contained in the function data 6 is set.
- the predetermined condition is determined by, for example, the number of repetitions, the processing time, and the like until the number of data sets of the reference data set 32 becomes zero.
- the output unit 40 outputs the learning result based on the first output data 14 obtained after satisfying the predetermined conditions.
- the output unit 40 is the most in each input data set in the first output data 14 obtained by executing the first processing unit 10 after the newly created labeling function is inserted into the function data 6.
- the label corresponding to the high probability is associated and output.
- FIG. 4 The outline of the processing of the processing apparatus 1 according to the first embodiment will be described with reference to FIG. 4 is an example and is not limited to this.
- step S1 the processing device 1 generates the first output data 14 by the processing by the first processing unit 10.
- the first output data 14 is data in which each input data set is associated with the probability of corresponding to each label.
- step S2 the processing device 1 determines whether or not the function data 6 contains an appropriate function and it is time to output the learning result. For example, if the processing in step S1 is the first time, or the number of data sets in the reference data set 32 is not zero, additional consideration of the labeling function is required, and it is not the timing to output the learning result, the process proceeds to step S3. On the other hand, if the process of step S1 is repeated a plurality of times, or the number of data sets of the reference data set 32 at the time of the previous process is zero, and the number of data sets of the reference data set 32 does not need to be added and the learning result is output, the process proceeds to step S6.
- step S3 the processing device 1 specifies, in the first output data 14, an input data set in which the variation in the probability corresponding to each label satisfies a predetermined condition as the reference data set 32.
- step S4 the processing apparatus 1 acquires the new labeling function 33 generated for the reference data set 32 specified in step S3.
- step S5 the processing apparatus 1 adds the new labeling function 33 acquired in step S4 to the function data 6 accommodating the existing labeling function. After that, returning to step S1, the processing apparatus 1 refers to the function data 6 to which the new labeling function 33 is added, and generates the first output data 14.
- step S6 the processing device 1 associates each input data set with the label having the highest probability in the first output data 14 and outputs it as a learning result.
- the first processing unit 10 includes a labeling unit 11, a labeled input data 12, a model processing unit 13, and a first output data 14.
- the labeling unit 11 labels each input data set of the input data 5 with each labeling function of the function data 6, and stores the result as the labeled input data 12.
- the value of the labeled input data 12 is set corresponding to the identifier that specifies the input data set and the identifier that specifies the labeling function.
- the first character after the alphabet v is an identifier that identifies the input data set
- the second character is the identifier of the labeling function that processed the input data set.
- the identifier of the determined label is set in the value.
- a value indicating that the identification could not be made is set in the value.
- the value indicating that the determination could not be made is, for example, 0, and a value that is not set by the identifier of the label is set.
- the model processing unit 13 When the labeled input data 12 is generated, the model processing unit 13 generates the first output data 14.
- the first output data 14 associates each input data set with a probability corresponding to each label. As shown in FIG. 6, the value of the first output data 14 is set corresponding to the identifier that identifies the input data set and the identifier that identifies the label.
- the first character after the alphabet v is an identifier that identifies the input data set, and the second character is the identifier of the label corresponding to the input data set.
- the example shown in FIG. 6 describes a case where any of
- the model processing unit 13 calculates the probability of corresponding to each label for each input data set based on the degree of credible voting of each labeling function and the duplication and inconsistency that occurs between the labeling functions by the labeling model. ..
- the model processing unit 13 has a higher probability for a label with a high-reliability function and a lower probability for a label with a low-reliability function in consideration of the reliability of each labeling function. So, for each input dataset, the probabilities that correspond to each label are returned.
- the labeling model is, for example, Snorkel.
- the three labeling functions are a first labeling function for discriminating the first label, a second labeling function for discriminating the second label, and a third labeling function for discriminating the third label, respectively.
- the reliability of each labeling function it is assumed that the first labeling function has the highest reliability and the third labeling function has the lowest reliability.
- each labeling function returns the identifier of the discriminated label when the label can be discriminated, and returns 0 when the label cannot be discriminated and abstains.
- the model processing unit 13 outputs the probabilities corresponding to the first to third labels for one input data set.
- the model processing unit 13 attaches to each label in consideration of the reliability of each labeling function. As the corresponding probability, the probability of ⁇ 0.7,0.15,0.15 ⁇ is output. If the result of each of the three labeling functions discriminating for another input data set is ⁇ 0,0,1 ⁇ , the model processing unit 13 determines that the probability corresponding to each label is ⁇ 0.25,0. It outputs the probability of 25,0.5 ⁇ . A high probability is set for the result determined by the labeling function with high reliability, and a low probability is set for the result determined by the labeling function with low reliability.
- the first labeling function is determined to be the first label
- the third labeling function is determined to be the third label
- the determination result is ⁇ 1,0,3 ⁇ .
- the model processing unit 13 outputs, for example, a probability of ⁇ 0.55, 0.1, 0.35 ⁇ . Even if a contradiction occurs, a high probability is set for the result determined by the labeling function with high reliability, and a low probability is set for the result determined by the labeling function with low reliability.
- the model processing unit 13 outputs, for example, the probability of ⁇ 0.33, 0.33, 0.33 ⁇ .
- the model processing unit 13 generates the first output data 14 for calculating the probability that each data set corresponds to each label for the output of the labeling function in consideration of the reliability of each labeling function.
- the first processing by the first processing unit 10 will be described with reference to FIG. 7.
- the process shown in FIG. 7 is an example and is not limited to this.
- the first processing unit 10 repeats the processing of steps S51 to S54 for each input data set of the input data 5.
- the first processing unit 10 repeats the processing of steps S51 to S53 for each labeling function of the target input data set and the function data 6.
- step S51 the first processing unit 10 determines whether the target input data set can be discriminated by the target labeling function. If it can be discriminated, the first processing unit 10 in step S52 associates the discriminated label identifier with the target input data set and the target labeling function. If the determination cannot be made, the first processing unit 10 in step S53 associates the target input data set and the target labeling function with a value indicating that the determination is not possible.
- step S54 the first processing unit 10 associates the probabilities corresponding to each label with respect to the target input data set by using the labeling model.
- steps S51 to S54 are processed for the new target input data set.
- the first processing unit 10 When the processing of steps S51 to S54 is completed for each input data set of the input data 5, the first processing unit 10 outputs the first output data 14 in step S55.
- the first output data 14 is a set of associations between the input data set and the probabilities corresponding to each label generated in step S54.
- the specific unit 31 determines that the variation in the probability of corresponding to each label in the first output data 14 of each input data set is a predetermined condition. Identify the input dataset to meet. When the variation in the probability corresponding to each label is expressed by a predetermined index, the identification unit 31 identifies an input data set in which the variation is larger than a predetermined threshold.
- the probability corresponding to each label is ⁇ 1,0,0 ⁇
- the variation of the probability is the smallest. Since the reliability of all three labeling functions is high, it is shown that only the first labeling function discriminates the label and the other labeling functions cannot discriminate for one data set, so this data set is the first. The probability of falling under the label of is very high, and the variation in probability is low. On the other hand, when the probability corresponding to each label is ⁇ 0.33, 0.33, 0.33 ⁇ , the variation of the probability is the highest. Since it indicates that neither labeling function can be discriminated, the probability of falling under any of the labels is very low for this dataset, and the probability variability is large.
- the specifying unit 31 specifies a data set in which the variation in the probability corresponding to each label satisfies a predetermined condition as the reference data set 32.
- the predetermined condition is, for example, when each labeling function withdraws from a certain input data set and the probabilities corresponding to each label are the same, the unreliable labeling function is used and the difference in the probabilities corresponding to each label is used. It shows that the variation of the probability is large, such as when the number is small.
- the specifying unit 31 specifies an input data set that meets such conditions in advance as a reference data set 32.
- Predetermined conditions may be set by an index of variation in probability corresponding to each label.
- predetermined conditions are set by entropy.
- the specific unit 31 calculates- ⁇ p1log (p1) + p2log (p2) + p3log (p3) ⁇ as the entropy. do. If the calculated entropy for a given input dataset is higher than a predetermined threshold, then that input dataset is specified as the reference dataset 32.
- the identification unit 31 specifies an input data set having an entropy higher than a predetermined threshold value calculated from the probability corresponding to each label as the reference data set 32.
- the first processing unit 10 labels the input data set with the labeling function, and the labeling model is used to consider the reliability of each labeling function.
- the input data set calculates the probability of corresponding to each label and outputs the first output data 14.
- the specifying unit 31 refers to the first output data 14 and identifies an input data set having a large variation in probability corresponding to each label. A new labeling function is generated to label the identified input dataset.
- the processing device 1 presents to the subject E a reference data set 32 to which the labeling function should be created so that the subject E can create a labeling function created in the learning with weak supervised learning that leads to improvement in learning accuracy.
- the subject E can create an effective labeling function at low cost by creating a labeling function based on the presented reference data set 32 and adding it to the function data 6.
- the processing apparatus 1 appropriately identifies an input data set to be newly generated from the probability corresponding to each label calculated in consideration of the reliability of the labeling function. can do. Since the subject E that newly generates the labeling function only needs to generate the labeling function for labeling the specified input data set, the processing device 1 can increase the effective labeling function.
- the processing apparatus 1 is more reliable than the labeling model when there is a contradiction between the labeling functions such that a plurality of labels are attached to the input data set by the plurality of labeling functions.
- a high probability is given by the high labeling function of. Since the processing device 1 evaluates by the continuous value of the output result of the labeling function in consideration of the reliability of the labeling function, the input data set referred to when newly generating the labeling function is specified more appropriately. be able to.
- the processing device 1 can appropriately present the input data set to which the correct answer should be given in the learning with weak supervised learning, so that the cost of generating the labeling function can be reduced and the labeling function can be obtained. It is possible to realize the improvement of the quality of.
- the processing apparatus 1a according to the second embodiment will be described with reference to FIG.
- the processing device 1a includes a second processing unit 20, and the specific unit 31a and the output unit 40a are the first output data 14.
- the difference is that the second output data 24 is referred to.
- the second processing unit 20 inputs a plurality of training data sets in which each input data set is associated with the label corresponding to the highest probability in the first output data 14, and inputs each input data set to the classifier 23.
- the second output data 24 corresponding to the probability corresponding to each label is output to.
- a high value is given to the probability of corresponding to the label
- a low value is given. Granted.
- the second output data 24 has the same data format as the first output data 14, and is generated by a method different from that of the first output data 14.
- the specifying unit 31a specifies an input data set in which the variation in the probability corresponding to each label in the second output data 24 satisfies a predetermined condition among the input data sets.
- the identification unit 31a identifies an input data set in which the variation is larger than a predetermined threshold.
- An input data set with a large variation in probability corresponding to each label has a high priority specified as a reference data set 32, and an input data set with a small variation in probability corresponding to each label is specified as a reference data set 32. The priority is low.
- the identification unit 31a inserts a new labeling function 33 newly created for the input data set specified from the second output data 24 into the function data 6.
- the first processing unit 10 again labels each input data set of the input data 5, and the probability that each input data set corresponds to each label.
- the first output data 14 is output, and the second processing unit 20 generates and outputs the second output data 24 from the first output data 14.
- the update process of the function data 6 by the first processing unit 10, the second processing unit 20, the specific unit 31a, and the like is repeated until a predetermined condition is satisfied.
- a predetermined condition a condition indicating that an appropriate labeling function is contained in the function data 6 is set.
- the predetermined condition is determined by, for example, the number of repetitions, the processing time, and the like until the number of data sets of the reference data set 32 becomes zero.
- the output unit 40a outputs the learning result based on the second output data 24 obtained by satisfying the predetermined conditions.
- the output unit 40a is the most input data set in the second output data 24 obtained by executing the second processing unit 20 after the newly created labeling function is inserted into the function data 6.
- the label corresponding to the high probability is associated and output.
- FIG. 9 The outline of the processing of the processing apparatus 1a according to the second embodiment will be described with reference to FIG.
- the process shown in FIG. 9 is an example and is not limited to this.
- step S101 the processing device 1a generates the first output data 14 by the processing by the first processing unit 10.
- step S102 the processing device 1a generates the second output data 24 by the processing by the second processing unit 20.
- the first output data 14 and the second output data 24 are data for associating each input data set with the probability corresponding to each label.
- step S103 the processing device 1a determines whether or not the function data 6 contains an appropriate function and it is time to output the learning result. If it is not the timing to output the learning result, the process proceeds to step S104. In the case of the timing to output the learning result, the process proceeds to step S107.
- step S104 the processing device 1a specifies, in the second output data 24, an input data set in which the variation in the probability corresponding to each label satisfies a predetermined condition as the reference data set 32.
- step S105 the processing apparatus 1a acquires the new labeling function 33 generated for the reference data set 32 specified in step S104.
- step S106 the processing apparatus 1a adds the new labeling function 33 acquired in step S105 to the function data 6 accommodating the existing labeling function. After that, returning to step S101, the processing apparatus 1a generates the first output data 14 and the second output data 24 with reference to the function data 6 to which the new labeling function 33 is added.
- step S107 the processing device 1a associates each input data set with the label having the highest probability in the second output data 24 and outputs it as a learning result.
- the second processing unit 20 includes a generation unit 21, training data 22, a classifier 23, and a second output data.
- the generation unit 21 generates training data 22 from the first output data 14.
- the training data 22 is data in which labels are associated with each input data set, for example, as shown in FIG.
- the generation unit 21 generates the training data 22 by associating the labels with the highest probabilities with each input data set in the first output data 14.
- the classifier 23 is a trained machine learning model.
- the classifier 23 refers to the training data 22 and outputs a second output data 24 that associates each input data set with a probability corresponding to each label.
- the classifier 23 refers to the training data 22 to calculate the probabilities of each label for each input data set.
- the second processing by the second processing unit 20 will be described with reference to FIG.
- the process shown in FIG. 11 is an example and is not limited to this.
- the second processing unit 20 repeats the processing of steps S151 to S152 for each input data set of the input data 5.
- step S151 the second processing unit 20 associates the target input data set with the identifier of the label with the highest probability in the first output data.
- step S152 the second processing unit 20 associates the target input data set with the probabilities corresponding to each label in the classifier 23.
- the second processing unit 20 When the processing of steps S151 to S152 is completed for each input data set of the input data 5, the second processing unit 20 outputs the second output data 24 in step S153.
- the second output data 24 is a set of associations between the input data set and the probabilities corresponding to each label generated in step S152.
- the specific unit 31a according to the second embodiment has the same input data as the specific unit 31 according to the first embodiment.
- the input data set in which the variation in the probability corresponding to each label in the second output data 24 satisfies a predetermined condition is specified.
- the predetermined condition is, for example, when each labeling function withdraws from a certain input data set and the probabilities corresponding to each label are the same, the unreliable labeling function is used and the difference in the probabilities corresponding to each label is used. It shows that the variation of the probability is large, such as when the number is small.
- the specifying unit 31a specifies an input data set that meets such conditions in advance as a reference data set 32.
- Predetermined conditions may be set by an index of variation in probability corresponding to each label.
- predetermined conditions are set by entropy.
- the specifying unit 31a specifies an input data set having an entropy higher than a predetermined threshold value calculated from the probability corresponding to each label among the input data sets as the reference data set 32.
- the processing apparatus 1a generates the second output data from the first output data 14 by the second processing unit 20 that performs processing different from that of the first processing unit 10.
- a new labeling function 33 generated for an input data set in which the variation in the probability corresponding to each label in the output data 24 of 2 satisfies a predetermined condition is added to the function data 6.
- the processing device 1a identifies an input data set effective for improving the learning result of the classifier 23 in order to generate a new labeling function 33 in consideration of the result of the classifier 23 in the second processing unit 20. Can be done.
- the processing apparatus 1b according to the third embodiment will be described with reference to FIG.
- the processing device 1b is different from the processing device 1a according to the second embodiment shown in FIG. 8 in that the specific unit 31b refers to both the first output data 14 and the second output data 24. ..
- the reference data set 32 is specified from the variation in the probability corresponding to each label in the first output data 14.
- the reference data set 32 is specified from the variation in the probability corresponding to each label in the second output data 24.
- the input data set having a difference in the probability variation between the first output data 14 and the second output data 24 is specified as the reference data set 32.
- the distance between the probability vector corresponding to each label in the first output data 14 and the probability vector corresponding to each label in the second output data 24 in each input data set is equal to or larger than the threshold value.
- the input data set of is specified as the reference data set 32.
- the new labeling function 33 created in is inserted into the function data 6.
- the specific unit 31b has an appropriate labeling function in the function data 6 when there is a difference between the result obtained by the first processing unit 10 and the result obtained by the second processing unit 20 for a certain input data set. It is believed that it has not been contained. Therefore, an input data set having a difference between the result obtained by the first processing unit 10 and the result obtained by the second processing unit 20 is specified as the reference data set 32, and new labeling of the reference data set 32 is performed.
- the function is accommodated in the function data 6.
- FIG. 13 the outline of the processing of the processing apparatus 1b according to the third embodiment will be described.
- the process shown in FIG. 13 is an example and is not limited to this.
- step S201 the processing device 1b generates the first output data 14 by the processing by the first processing unit 10.
- step S202 the processing device 1b generates the second output data 24 by the processing by the second processing unit 20.
- the first output data 14 and the second output data 24 are data for associating each input data set with the probability corresponding to each label.
- step S203 the processing device 1b determines whether or not the function data 6 contains an appropriate function and it is time to output the learning result. If it is not the timing to output the learning result, the process proceeds to step S204. In the case of the timing to output the learning result, the process proceeds to step S207.
- the processing apparatus 1b includes a vector of probability corresponding to each label in the first output data 14 and a vector of probability corresponding to each label in the first output data 14 of each input data set.
- the input data set whose distance is equal to or greater than the threshold value is specified as the reference data set 32.
- the processing apparatus 1b acquires the new labeling function 33 generated for the reference data set 32 specified in step S204.
- the processing apparatus 1b adds the new labeling function 33 acquired in step S205 to the function data 6 accommodating the existing labeling function. After that, returning to step S201, the processing apparatus 1b generates the first output data 14 and the second output data 24 with reference to the function data 6 to which the new labeling function 33 is added.
- step S207 the processing device 1b associates each input data set with the label having the highest probability in the second output data 24 and outputs it as a learning result.
- the processing apparatus 1b identifies the reference data set 32 for specifying the new labeling function 33 by paying attention to the difference between the output results of the first output data 14 and the second output data 24. do.
- the processing apparatus 1b can specify the reference data set 32 from a viewpoint different from that of the first embodiment and the second embodiment.
- the input data set may be specified by integrating two or more of these three specific methods.
- the specifying unit 31 may calculate an index in which each index in two or three specific methods is integrated, and specify an input data set as a reference data set 32 according to the integrated index.
- the integrated indicators have a positive correlation with each of the indicators calculated by the three specific methods.
- the identification unit 31 outputs each input data set specified in descending order of the integrated index as a reference data set 32.
- the diversity of the function data 6 can be efficiently realized by generating a new labeling function for the input data set selected from a plurality of viewpoints.
- Interrogative classification is a problem of classifying what is being asked about an interrogative sentence.
- the TREC6 (TREC: TextREtrievalConference) dataset is classified into six labels: ABBR (abbreviation), DESC (description), ENTER (thing), LOC (location), HUM (person or organization), and NUM (number). ..
- the input data set of the input data 5 is a sentence starting with an interrogative sentence.
- the open source software Snorkel is used for the labeling model referred to by the model processing unit 13.
- Bidirectional LSTM Long Short Term Memory
- the specifying unit 31 describes a method of calculating the priority when the reference data set 32 is specified from the input data set of the input data 5. Since the TREC6 dataset is classified into six, the output of the labeling model is the probability of each of the six labels. The specifying unit 31 refers to the first output data 14 as a variation in the probability corresponding to each label in the first output data 14, and calculates the entropy of the probability for each input data set.
- the output of the classifier 23 for each data is also the probability of each of the 6 classes.
- the specifying unit 31 refers to the second output data 24 as a variation in the probability corresponding to each label in the second output data 24, and calculates the entropy of the probability for each input data set.
- the specific unit 31 describes the cosine similarity with both probabilities as vectors for each input data set.
- 1-cos ⁇ is calculated from the degree cos ⁇ .
- the priority is the entropy calculated from the first output data 14, the entropy calculated from the second output data 24, and the similarity of the probabilities of the first output data 14 and the second output data 24 cos ⁇ .
- the product or logarithmic sum of each index of 1-cos ⁇ calculated from is used.
- the specifying unit 31 identifies the top 10 question sentences with the highest priority from the input data 5 as the reference data set 32, and presents the specified question sentences to the subject E.
- the subject E generates a new labeling function 33 that can be applied to many interrogative sentences in the presented interrogative sentences while considering the priority attached to each interrogative sentence.
- the new labeling function 33 is inserted into the function data 6.
- the computer calculates the priority of the sentences that can give the correct answer by adding the labeling function to the 10 sentences shown in the reference data set 32 presented by the specific unit 31. , The labeling function with the highest priority was added to the function data 6.
- the candidate of the labeling function abstains from each question sentence presented as the reference data set 32, the same processing is performed for the question sentence having the next highest priority after the reference data set 32.
- Non-Patent Document 1 In the method described in Non-Patent Document 1, it is extended to multi-class identification, and the question sentence abstained from all labeling functions is given the first priority, and if there are multiple tie-breaking tops, the question is given the second priority. .. If the number of priority 1st place is more than 10, 10 sentences are randomly selected from the priority 1st place, and if it is insufficient, 10 sentences are randomly selected by combining the question sentences of priority 2nd place. .. A new labeling function is added with a large number of sentences that can be applied to all the labeling function candidates for those 10 sentences. If the number of applicable sentences is the same, it is randomly selected from them.
- 10 sentences to be presented to the subject E are randomly selected, and a sentence having a large number of sentences to which all labeling function candidates can be applied is added as a new labeling function to the selected 10 sentences. Will be done. If the number of applicable sentences is the same, it is randomly selected from them.
- FIG. 14 shows the result of adding the labeling function by the four methods in this way.
- the vertical axis is the macro F value, which is an index of verification, and the horizontal axis is the number of labeling functions.
- the processing apparatus 1 can add a labeling function with high accuracy and efficiency.
- the processing device 1 of the present embodiment described above includes, for example, a CPU (Central Processing Unit, processor) 901, a memory 902, a storage 903 (HDD: Hard Disk Drive, SSD: Solid State Drive), and a communication device 904.
- a general purpose computer system including an input device 905 and an output device 906 is used.
- each function of the processing device 1 is realized by executing the processing program loaded on the memory 902 by the CPU 901.
- the processing device 1 may be mounted on one computer or may be mounted on a plurality of computers. Further, the processing device 1 may be a virtual machine mounted on a computer.
- the processing device 1 program can be stored in a computer-readable recording medium such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), DVD (Digital Versatile Disc), or distributed via a network. You can also do it.
- a computer-readable recording medium such as HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), DVD (Digital Versatile Disc), or distributed via a network. You can also do it.
- the present invention is not limited to the above embodiment, and many modifications can be made within the scope of the gist thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
処理装置1は、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データ6を参照して、入力データセットを、ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データ14を出力する第1の処理部10と、各入力データセットのうち、第1の出力データ14において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する特定部31を備える。特定部31によって、第1の出力データ14から特定された入力データセットに対して新たに作成されたラベリング関数が、関数データ6に挿入される。
Description
本発明は、処理装置、処理方法および処理プログラムに関する。
機械学習、特にいわゆる教師あり学習が、幅広い分野で普及している。教師あり学習は、入力データセットに正解を付した訓練データセットを事前に用意し、訓練データセットをもとに識別器が学習する。正解を付した訓練データセットの作成に要するコストが、機械学習における問題となる。
コンピュータ処理により訓練データセットを追加する能動学習と弱教師あり学習が、提案される。
能動学習では、既存の訓練データセットと識別器を用いて、正解なし入力データセット群のうち、正解がわかると識別子の性能が上がるデータセットを提示する。提示されたデータセットに正解が付されて、訓練データセットに追加する。
弱教師あり学習は、正解を付す主体が持つ知見をルールに対応した関数をシステムに実装し、システムが関数に従って入力データセットに正解を付す。正解が付されたデータセットが訓練データセットに追加される。
弱教師あり学習において、能動学習に類似する方法でルールを追加する技術もある(非特許文献1)。非特許文献1は、実装済みのルールを入力データセット群に適用した際、出力の多数決が割れる、または無投票な入力データセットを抽出する。抽出された入力データセットからランダムに選択された入力データセットについて、正解に導くためのルールを追加する。
Benjamin Cohen-Wang、外3名、" Interactive Programmatic Labeling for Weak Supervision"、2019年8月4日-8日、Workshop at KDD
しかしながら非特許文献1に記載の方法は、ルール間の重複および矛盾への対応を考慮した弱教師あり学習の手法を生かしていない。出力の多数決が割れる、または無投票な入力データセットのうちランダムに抽出された入力データセットに対してルールが追加されるので、適切にルールが追加されるのに時間を要するなど、効率的な学習の実現が困難な場合がある。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、弱教師あり学習において正解を付すべき入力データセットを適切に提示可能な技術を提供することである。
本発明の一態様の処理装置は、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、入力データセットを、ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データを出力する第1の処理部と、各入力データセットのうち、第1の出力データにおいて各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する特定部を備え、特定部によって、第1の出力データから特定された入力データセットに対して新たに作成されたラベリング関数が、関数データに挿入される。
本発明の一態様の処理方法は、コンピュータが、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、入力データセットを、ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データを出力するステップと、コンピュータが、各入力データセットのうち、第1の出力データにおいて各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定するステップを備え、特定するステップにおいて、第1の出力データから特定された入力データセットに対して新たに作成されたラベリング関数が、関数データに挿入される。
本発明の一態様は、上記処理装置として、コンピュータを機能させる処理プログラムである。
本発明によれば、弱教師あり学習において正解を付すべき入力データセットを適切に提示可能な技術を提供することができる。
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
(第1の実施の形態)
第1の実施の形態に係る処理装置1は、弱教師あり学習において、既存のラベリング関数による出力結果に基づいて、ラベリング関数を与える対象となる入力データセットを特定する。処理装置1は、特定された入力データセットに対してラベルを付すためのラベリング関数を既存のラベリング関数に追加することで、効率的にラベリング関数を生成することができる。
第1の実施の形態に係る処理装置1は、弱教師あり学習において、既存のラベリング関数による出力結果に基づいて、ラベリング関数を与える対象となる入力データセットを特定する。処理装置1は、特定された入力データセットに対してラベルを付すためのラベリング関数を既存のラベリング関数に追加することで、効率的にラベリング関数を生成することができる。
図1に示す処理装置1は、入力データ5、関数データ6、第1の処理部10、特定部31、参照データセット32、新規ラベリング関数33、更新部34および出力部40を備える。これらの各要素のうち、処理部は、CPU901に実装され、データは、メモリ902またはストレージ903に記憶される。
入力データ5は、ラベリング関数によってラベル付けされる対象となるデータである。入力データ5は、図2に示すように、複数の入力データセットの集合である。本発明の実施の形態において入力データ5が含む入力データセットの数は、|D|である。
関数データ6は、入力データ5の各入力データセットをラベル付けするラベリング関数のデータである。ラベリング関数は、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権する関数である。関数データ6は、図3に示すように、複数のラベリング関数の集合である。本発明の実施の形態において関数データ6が含むラベリング関数の数は、|F|である。
第1の処理部10は、入力データセットを、ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データ14を出力する。ここで、ラベルに該当する確率に、信頼度の高いラベリング関数が前記ラベルに該当すると判断した場合、高い値が付与され、信頼度の低いラベリング関数がラベルに該当すると判断した場合、低い値が付与される。第1の処理部10が、第1の出力データ14を出力する処理は、後に詳述する。
特定部31は、各入力データセットのうち、第1の出力データ14において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを、参照データセット32として特定する。各ラベルに該当する確率のばらつきが、所定の指標で表現される場合、特定部31は、ばらつきが、所定の閾値よりも大きい入力データセットを特定する。各ラベルに該当する確率のばらつきが大きい入力データセットは、参照データセット32として特定される優先度が高く、各ラベルに該当する確率のばらつきが小さい入力データセットは、参照データセット32として特定される優先度が低い。参照データセット32にラベルを付すための新規ラベリング関数33が生成される。参照データセット32の入力データセットの数および新規ラベリング関数33の関数の数は、任意である。
新規ラベリング関数33、任意の主体Eによって生成される。例えば、特定部31が提示した参照データセット32に対して、ドメインエキスパートが、手動でラベリング関数を生成しても良い。既存の機械学習などコンピュータが、所定のプログラムによりラベリング関数を生成しても良い。既存のオントロジーなどの外部知識が、ラベリング関数を生成しても良い。
更新部34は、特定部31によって、第1の出力データ14から特定された入力データセットに対して新たに作成されたラベリング関数が、関数データ6に挿入される。具体的には更新部34は、新規ラベリング関数33を関数データ6に挿入する。これにより、関数データ6が含むラベリング関数の数は、|F|よりも、新規ラベリング関数33の関数の数だけ増える。
新規ラベリング関数33が追加された関数データ6を参照して、再度、第1の処理部10は、入力データ5の各入力データセットをラベル付けし、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データ14を出力する。
第1の処理部10および特定部31等による関数データ6の更新処理が、所定条件を満たすまで繰り返される。所定条件は、関数データ6に適切なラベリング関数が収容されたことを示す条件が設定される。所定条件は、例えば、参照データセット32のデータセット数がゼロになるまで、繰り返し回数、処理時間等で定められる。
出力部40は、所定条件を満たした後に得られた第1の出力データ14に基づいて、学習結果を出力する。出力部40は、新たに作成されたラベリング関数が、関数データ6に挿入された後に、第1の処理部10を実行して得られた第1の出力データ14において、各入力データセットに最も高い確率に対応するラベルを対応づけて出力する。
図4を参照して、第1の実施の形態に係る処理装置1の処理の概要を説明する。図4に示す処理は一例であって、これに限るものではない。
まずステップS1において処理装置1は、第1の処理部10による処理で、第1の出力データ14を生成する。第1の出力データ14は、各入力データセットに各ラベルに該当する確率を対応づけるデータである。
ステップS2において処理装置1は、関数データ6に適切な関数が収容され、学習結果を出力するタイミングであるか否かを判断する。例えばステップS1の処理が1回目である、または参照データセット32のデータセット数がゼロでないなど、ラベリング関数の追加の検討が必要で、学習結果を出力するタイミングでない場合、ステップS3に進む。一方ステップS1の処理を複数回繰り返した、または前回処理時の参照データセット32のデータセット数がゼロなど、ラベリング関数の追加が必要なく、学習結果を出力するタイミングの場合、ステップS6に進む。
ステップS3において処理装置1は、第1の出力データ14において、各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを、参照データセット32として特定する。ステップS4において処理装置1は、ステップS3において特定された参照データセット32に対して生成された新規ラベリング関数33を取得する。ステップS5において処理装置1は、ステップS4で取得した新規ラベリング関数33を、既存のラベリング関数を収容する関数データ6に追加する。その後、ステップS1に戻って処理装置1は、新規ラベリング関数33を追加した関数データ6を参照して、第1の出力データ14を生成する。
ステップS6において処理装置1は、学習結果として、各入力データセットに、第1の出力データ14において最も確率の高いラベルを対応づけて、出力する。
(第1の処理部)
次に、第1の処理部10を説明する。第1の処理部10は、ラベル付け部11、ラベルあり入力データ12、モデル処理部13および第1の出力データ14を備える。
次に、第1の処理部10を説明する。第1の処理部10は、ラベル付け部11、ラベルあり入力データ12、モデル処理部13および第1の出力データ14を備える。
ラベル付け部11は、入力データ5の各入力データセットを、関数データ6の各ラベリング関数で、ラベル付けして、その結果を、ラベルあり入力データ12として記憶する。ラベルあり入力データ12は、図5に示すように、入力データセットを特定する識別子と、ラベリング関数を特定する識別子に対応して、値が設定される。図5に示す例において、アルファベットvの後の1つ目の文字が、入力データセットを特定する識別子で、2つめの文字が、その入力データセットを処理したラベリング関数の識別子である。
対応するラベリング関数で対応する入力データセットのラベルを判別できた場合、値に、その判別されたラベルの識別子が設定される。一方、対応するラベリング関数で対応する入力データセットのラベルを判別できない場合、値に、判別できなかったことを示す値が設定される。判別できなかったことを示す値は、例えば、0などで、ラベルの識別子で設定されない値が設定される。
ラベルあり入力データ12が生成されると、モデル処理部13は、第1の出力データ14を生成する。第1の出力データ14は、各入力データセットに各ラベルに該当する確率を対応づける。第1の出力データ14は、図6に示すように、入力データセットを特定する識別子と、ラベルを特定する識別子に対応して、値が設定される。図6に示す例において、アルファベットvの後の1つ目の文字が、入力データセットを特定する識別子で、2つめの文字が、その入力データセットに対応するラベルの識別子である。なお図6に示す例は、入力データセットを、|L|個のラベルのいずれかを割り当てる場合を説明する。
モデル処理部13は、ラベリングモデルにより、各ラベリング関数がどの程度信用できる投票しているか、ラベリング関数間で生じる重複および矛盾を元に、各入力データセットについて、各ラベルに該当する確率を算出する。モデル処理部13は、各ラベリング関数の信頼度を考慮して、信頼度の高い関数が付したラベルに対してより確率が高く、信頼度の低い関数が付したラベルに対してより確率が低くなるように、各入力データセットについて、各ラベルに該当する確率を返す。ラベリングモデルは、例えばSnorkelである。
ここで、3ラベル{1,2,3}の識別問題において、3つのラベリング関数について、モデル処理部13の処理の一例を説明する。3つのラベリング関数は、それぞれ第1のラベルを判別する第1のラベリング関数、第2のラベルを判別する第2のラベリング関数および第3のラベルを判別する第3のラベリング関数である。各ラベリング関数の信頼度は、第1のラベリング関数が最も高く、第3のラベリング関数が最も低いとする。また各ラベリング関数は、ラベルを判別できた場合、判別したラベルの識別子を返し、ラベルを判別できず棄権する場合、0を返すとする。モデル処理部13は、1つの入力データセットについて、第1ないし第3のラベルに該当するそれぞれの確率を出力する。
例えば、ある入力データセットについて、3つのラベリング関数がそれぞれ判別した結果が、{1,0,0}である場合、各ラベリング関数の信頼度を考慮して、モデル処理部13は、各ラベルに該当する確率として、{0.7,0.15,0.15}の確率を出力する。別の入力データセットについて、3つのラベリング関数がそれぞれ判別した結果が、{0,0,1}である場合、モデル処理部13は、各ラベルに該当する確率として、{0.25,0.25,0.5}の確率を出力する。信頼度が高いラベリング関数が判別した結果に対して、高い確率が設定され、信頼度が低いラベリング関数が判別した結果に対して、低い確率が設定される。
判別した結果が{1,0,3}となるなど、1つの入力データセットについて、第1のラベリング関数が第1のラベルと判別し、第3のラベリング関数が第3のラベルと判別するような矛盾が起きる場合を説明する。モデル処理部13は、例えば{0.55,0.1,0.35}の確率を出力する。矛盾が生じた場合でも、信頼度が高いラベリング関数が判別した結果に対して、高い確率が設定され、信頼度が低いラベリング関数が判別した結果に対して、低い確率が設定される。
判別した結果が{0,0,0}の場合、具体的には、各ラベリング関数が判別できないと判断した場合を説明する。モデル処理部13は、各ラベルに該当する確率を判断する材料がないので、例えば{0.33,0.33,0.33}の確率を出力する。
このように、モデル処理部13は、各ラベリング関数の信頼度を考慮して、ラベリング関数の出力について、各データセットが各ラベルに該当する確率を算出する第1の出力データ14を生成する。
図7を参照して、第1の処理部10による第1の処理を説明する。図7に示す処理は一例であって、これに限るものではない。
第1の処理部10は、入力データ5の各入力データセットについて、ステップS51からS54の処理を繰り返す。
第1の処理部10は、対象入力データセットおよび関数データ6の各ラベリング関数についてステップS51ないしステップS53の処理を繰り返す。ステップS51において第1の処理部10は、対象入力データセットを、対象ラベリング関数で判別できるかを判定する。判別できる場合、ステップS52において第1の処理部10は、対象入力データセットおよび対象ラベリング関数に、判別されたラベルの識別子を対応づける。判別できない場合、ステップS53において第1の処理部10は、対象入力データセットおよび対象ラベリング関数に、判別されないことを示す値を対応づける。
対象入力データセットおよび各ラベリング関数について、ステップS51ないしステップS53の処理が終了すると、ステップS54に進む。ステップS54において第1の処理部10は、対象入力データセットについて、ラベリングモデルを用いて、各ラベルに該当する確率を対応づける。対象入力データセットについて、ステップS51ないしステップS54の処理が終了すると、新たな対象入力データセットについて、ステップS51ないしステップS54を処理する。
入力データ5の各入力データセットについて、ステップS51ないしステップS54の処理が終了すると、ステップS55において第1の処理部10は、第1の出力データ14を出力する。第1の出力データ14は、ステップS54で生成した、入力データセットと各ラベルに該当する確率の対応付けの集合である。
第1の処理部10によって第1の出力データ14が生成されると、特定部31は、各入力データセットのうち、第1の出力データ14において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する。各ラベルに該当する確率のばらつきが、所定の指標で表現される場合、特定部31は、ばらつきが、所定の閾値よりも大きい入力データセットを特定する。
ここで、各ラベルに該当する確率が{1,0,0}である場合、確率のばらつきが最も低い。3つのラベリング関数の信頼がいずれも高く、1つのデータセットに対して、第1のラベリング関数のみがラベルを判別し、そのほかのラベリング関数が判別できないことを示すので、このデータセットが、第1のラベルに該当する確率は大変高く、確率のばらつきは低い。一方、各ラベルに該当する確率が{0.33,0.33,0.33}である場合、確率のばらつきが最も高い。いずれのラベリング関数も判別できないことを示すので、このデータセットについて、いずれかのラベルに該当する確率は大変低く、確率のばらつきは大きい。
そこで特定部31は、各ラベルに該当する確率のばらつきが所定条件を満たすデータセットを、参照データセット32として特定する。所定条件は、例えば、ある入力データセットに対して、各ラベリング関数が棄権し、各ラベルに該当する確率が同率の場合、信頼性の低いラベリング関数が用いられ、各ラベルに該当する確率の差が少ない場合など、確率のばらつきが大きいことを示す。特定部31は、このような条件に予め合う入力データセットを、参照データセット32として特定する。
所定条件は、各ラベルに該当する確率のばらつきの指標で設定されても良い。例えば所定条件は、エントロピーにより設定される。ある入力データセットについて各クラスに該当する確率が、{p1,p2,p3}の場合、特定部31は、エントロピーとして、-{p1log(p1)+p2log(p2)+p3log(p3)}を算出する。ある入力データセットについて算出されたエントロピーが所定の閾値よりも高い場合、その入力データセットを参照データセット32として特定する。特定部31は、各入力データセットのうち、各ラベルに該当する確率から算出されたエントロピーが所定の閾値よりも高い入力データセットを、参照データセット32として特定する。
このように第1の実施の形態に係る処理装置1において、第1の処理部10が入力データセットをラベリング関数でラベル付けし、ラベリングモデルを用いて、各ラベリング関数の信頼度を考慮して、入力データセットが、各ラベルに該当する確率を算出して、第1の出力データ14を出力する。特定部31が、第1の出力データ14を参照して、各ラベルに該当する確率のばらつきが大きい入力データセットを特定する。特定された入力データセットにラベルを付すための新たなラベリング関数が生成される。
処理装置1は、弱教師あり学習において作成するラベリング関数について、学習精度の向上につながるものを主体Eが作成できるように、主体Eに、ラベリング関数を作成すべき参照データセット32を提示する。主体Eは、その提示された参照データセット32をもとにラベリング関数を作成し、関数データ6に追加することにより、少ないコストで、効果的なラベリング関数を作成することができる。
第1の実施の形態に係る処理装置1は、ラベリング関数の信頼性を考慮して算出された各ラベルに該当する確率から、新たにラベリング関数を生成する対象となる入力データセットを適切に特定することができる。新たにラベリング関数を生成する主体Eは、特定された入力データセットにラベルを付すためのラベリング関数を生成すればよいことから、処理装置1は、効果的なラベリング関数を増やすことができる。
また第1の実施の形態に係る処理装置1は、入力データセットに対して、複数のラベリング関数により複数のラベルが付されるなど、ラベリング関数間で矛盾が生じる場合において、ラベリングモデルにより信頼性の高いラベリング関数により高い確率を付す。処理装置1は、ラベリング関数の信頼性も考慮して、ラベリング関数の出力結果連続値で評価するので、新たにラベリング関数を生成する際に参照される入力データセットを、より適切に、特定することができる。
このように第1の実施の形態に係る処理装置1は、弱教師あり学習において正解を付すべき入力データセットを適切に提示することができるので、ラベリング関数の生成のコストを軽減と、ラベリング関数の品質の向上を実現することができる。
(第2の実施の形態)
図8を参照して、第2の実施の形態に係る処理装置1aを説明する。処理装置1aは、図1に示す第1の実施の形態にかかる処理装置1と比べて、第2の処理部20を備える点、特定部31aおよび出力部40aが、第1の出力データ14でなく第2の出力データ24を参照する点が異なる。
図8を参照して、第2の実施の形態に係る処理装置1aを説明する。処理装置1aは、図1に示す第1の実施の形態にかかる処理装置1と比べて、第2の処理部20を備える点、特定部31aおよび出力部40aが、第1の出力データ14でなく第2の出力データ24を参照する点が異なる。
第2の処理部20は、各入力データセットに、第1の出力データ14において最も高い確率に対応するラベルを対応づけた複数の訓練データセットを識別器23に入力して、各入力データセットに各ラベルに該当する確率を対応づける第2の出力データ24を出力する。ここで、ラベルに該当する確率に、信頼度の高いラベリング関数が前記ラベルに該当すると判断した場合、高い値が付与され、信頼度の低いラベリング関数がラベルに該当すると判断した場合、低い値が付与される。第2の出力データ24は、第1の出力データ14と同様のデータ形式を有し、第1の出力データ14とは異なる方法で生成される。
第2の実施の形態に係る特定部31aは、各入力データセットのうち、第2の出力データ24において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する。各ラベルに該当する確率のばらつきが、所定の指標で表現される場合、特定部31aは、ばらつきが、所定の閾値よりも大きい入力データセットを特定する。各ラベルに該当する確率のばらつきが大きい入力データセットは、参照データセット32として特定される優先度が高く、各ラベルに該当する確率のばらつきが小さい入力データセットは、参照データセット32として特定される優先度が低い。特定部31aによって、第2の出力データ24から特定された入力データセットに対して新たに作成された新規ラベリング関数33が、関数データ6に挿入される。
新規ラベリング関数33が追加された関数データ6を参照して、再度、第1の処理部10は、入力データ5の各入力データセットをラベル付けし、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データ14を出力し、第2の処理部20は、第1の出力データ14から第2の出力データ24を生成して出力する。
第1の処理部10、第2の処理部20および特定部31a等による関数データ6の更新処理が、所定条件を満たすまで繰り返される。所定条件は、関数データ6に適切なラベリング関数が収容されたことを示す条件が設定される。所定条件は、例えば、参照データセット32のデータセット数がゼロになるまで、繰り返し回数、処理時間等で定められる。
出力部40aは、所定条件を満たして得られた第2の出力データ24に基づいて、学習結果を出力する。出力部40aは、新たに作成されたラベリング関数が、関数データ6に挿入された後に、第2の処理部20を実行して得られた第2の出力データ24において、各入力データセットに最も高い確率に対応するラベルを対応づけて出力する。
図9を参照して、第2の実施の形態に係る処理装置1aの処理の概要を説明する。図9に示す処理は一例であって、これに限るものではない。
まずステップS101において処理装置1aは、第1の処理部10による処理で、第1の出力データ14を生成する。ステップS102において処理装置1aは、第2の処理部20による処理で、第2の出力データ24を生成する。第1の出力データ14および第2の出力データ24は、各入力データセットに各ラベルに該当する確率を対応づけるデータである。
ステップS103において処理装置1aは、関数データ6に適切な関数が収容され、学習結果を出力するタイミングであるか否かを判断する。学習結果を出力するタイミングでない場合、ステップS104に進む。学習結果を出力するタイミングの場合、ステップS107に進む。
ステップS104において処理装置1aは、第2の出力データ24において、各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを、参照データセット32として特定する。ステップS105において処理装置1aは、ステップS104において特定された参照データセット32に対して生成された新規ラベリング関数33を取得する。ステップS106において処理装置1aは、ステップS105で取得した新規ラベリング関数33を、既存のラベリング関数を収容する関数データ6に追加する。その後、ステップS101に戻って処理装置1aは、新規ラベリング関数33を追加した関数データ6を参照して、第1の出力データ14および第2の出力データ24を生成する。
ステップS107において処理装置1aは、学習結果として、各入力データセットに、第2の出力データ24において最も確率の高いラベルを対応づけて、出力する。
(第2の処理部)
次に、第2の処理部20を説明する。第2の処理部20は、生成部21、訓練データ22、識別器23および第2の出力データを備える。
次に、第2の処理部20を説明する。第2の処理部20は、生成部21、訓練データ22、識別器23および第2の出力データを備える。
生成部21は、第1の出力データ14から訓練データ22を生成する。訓練データ22は、例えば図10に示すように、各入力データセットに、ラベルを対応づけたデータである。生成部21は、第1の出力データ14において、各入力データセットについて、最も確率の高いラベルを対応づけて、訓練データ22を生成する。
識別器23は、学習済みの機械学習モデルである。識別器23は、訓練データ22を参照して、各入力データセットに各ラベルに該当する確率を対応づける第2の出力データ24を出力する。識別器23は、訓練データ22を参照して、各入力データセットについて、各ラベルに該当する確率を算出する。
図11を参照して、第2の処理部20による第2の処理を説明する。図11に示す処理は一例であって、これに限るものではない。
第2の処理部20は、入力データ5の各入力データセットについて、ステップS151からS152の処理を繰り返す。
ステップS151において第2の処理部20は、対象入力データセットについて、第1の出力データにおいて最も高い確率を付けたラベルの識別子を対応づける。ステップS152において第2の処理部20は、対象入力データセットについて、識別器23で各ラベルに該当する確率を対応づける。対象入力データセットについて、ステップS151ないしステップS152の処理が終了すると、新たな対象入力データセットについて、ステップS151ないしステップS152を処理する。
入力データ5の各入力データセットについて、ステップS151ないしステップS152の処理が終了すると、ステップS153おいて第2の処理部20は、第2の出力データ24を出力する。第2の出力データ24は、ステップS152で生成した、入力データセットと各ラベルに該当する確率の対応付けの集合である。
第2の処理部20によって第2の出力データ24が生成されると、第2の実施の形態に係る特定部31aは、第1の実施の形態にかかる特定部31と同様に、各入力データセットのうち、第2の出力データ24において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する。所定条件は、例えば、ある入力データセットに対して、各ラベリング関数が棄権し、各ラベルに該当する確率が同率の場合、信頼性の低いラベリング関数が用いられ、各ラベルに該当する確率の差が少ない場合など、確率のばらつきが大きいことを示す。特定部31aは、このような条件に予め合う入力データセットを、参照データセット32として特定する。
所定条件は、各ラベルに該当する確率のばらつきの指標で設定されても良い。例えば所定条件は、エントロピーにより設定される。特定部31aは、各入力データセットのうち、各ラベルに該当する確率から算出されたエントロピーが所定の閾値よりも高い入力データセットを、参照データセット32として特定する。
第2の実施の形態において処理装置1aは、第1の出力データ14から、第1の処理部10とは異なる処理を行う第2の処理部20によって、第2の出力データを生成し、第2の出力データ24において各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットについて生成された新規ラベリング関数33を関数データ6に追加する。処理装置1aは、第2の処理部20における識別器23による結果を考慮して、新規ラベリング関数33を生成するために、識別器23の学習結果の向上に有効な入力データセットを特定することができる。
(第3の実施の形態)
図12を参照して、第3の実施の形態に係る処理装置1bを説明する。処理装置1bは、図8に示す第2の実施の形態にかかる処理装置1aと比べて、特定部31bが、第1の出力データ14と第2の出力データ24の両方を参照する点が異なる。
図12を参照して、第3の実施の形態に係る処理装置1bを説明する。処理装置1bは、図8に示す第2の実施の形態にかかる処理装置1aと比べて、特定部31bが、第1の出力データ14と第2の出力データ24の両方を参照する点が異なる。
第1の実施の形態において、第1の出力データ14における各ラベルに該当する確率のばらつきから、参照データセット32が特定される。第2の実施の形態において、第2の出力データ24における各ラベルに該当する確率のばらつきから、参照データセット32が特定される。第3の実施の形態において、第1の出力データ14と第2の出力データ24との確率のばらつきに差のある入力データセットが、参照データセット32として特定される。
特定部31bは、各入力データセットのうち、第1の出力データ14における各ラベルに該当する確率のベクトルと、第2の出力データ24における各ラベルに該当する確率のベクトルとの距離が閾値以上の入力データセットを、参照データセット32として特定する。特定部31bによって、第1の出力データ14における各ラベルに該当する確率のベクトルと第2の出力データ24における各ラベルに該当する確率のベクトルとの距離から特定された入力データセットに対して新たに作成された新規ラベリング関数33が、関数データ6に挿入される。
特定部31bは、ある入力データセットについて、第1の処理部10によって得られた結果と第2の処理部20によって得られた結果に違いが見られる場合、関数データ6に適切なラベリング関数が収容されていないと考えられる。そこで、第1の処理部10によって得られた結果と第2の処理部20によって得られた結果に違いがある入力データセットを、参照データセット32として特定し、参照データセット32についての新規ラベリング関数を、関数データ6に収容する。
図13を参照して、第3の実施の形態に係る処理装置1bの処理の概要を説明する。図13に示す処理は一例であって、これに限るものではない。
まずステップS201において処理装置1bは、第1の処理部10による処理で、第1の出力データ14を生成する。ステップS202において処理装置1bは、第2の処理部20による処理で、第2の出力データ24を生成する。第1の出力データ14および第2の出力データ24は、各入力データセットに各ラベルに該当する確率を対応づけるデータである。
ステップS203において処理装置1bは、関数データ6に適切な関数が収容され、学習結果を出力するタイミングであるか否かを判断する。学習結果を出力するタイミングでない場合、ステップS204に進む。学習結果を出力するタイミングの場合、ステップS207に進む。
ステップS204において処理装置1bは、各入力データセットのうち、第1の出力データ14において、各ラベルに該当する確率のベクトルと、第1の出力データ14において、各ラベルに該当する確率のベクトルとの距離が、閾値以上の入力データセットを、参照データセット32として特定する。ステップS205において処理装置1bは、ステップS204において特定された参照データセット32に対して生成された新規ラベリング関数33を取得する。ステップS206において処理装置1bは、ステップS205で取得した新規ラベリング関数33を、既存のラベリング関数を収容する関数データ6に追加する。その後、ステップS201に戻って処理装置1bは、新規ラベリング関数33を追加した関数データ6を参照して、第1の出力データ14および第2の出力データ24を生成する。
ステップS207において処理装置1bは、学習結果として、各入力データセットに、第2の出力データ24において最も確率の高いラベルを対応づけて、出力する。
第3の実施の形態において処理装置1bは、第1の出力データ14と第2の出力データ24の出力結果の差に着目して、新規ラベリング関数33を特定するための参照データセット32を特定する。処理装置1bは、第1の実施の形態および第2の実施の形態と異なる視点で、参照データセット32を特定することができる。
(第4の実施の形態)
参照データセット32とする入力データセットを特定する方法として、3つの方法を説明した。第1の実施の形態において、第1の出力データ14における各ラベルに該当する確率のばらつきから特定する方法を説明した。第2の実施の形態において、第2の出力データ24における各ラベルに該当する確率のばらつきから特定する方法を説明した。第3の実施の形態において、第1の出力データ14における各ラベルに該当する確率と第2の出力データ24における各ラベルに該当する確率の距離から特定する方法を説明した。
参照データセット32とする入力データセットを特定する方法として、3つの方法を説明した。第1の実施の形態において、第1の出力データ14における各ラベルに該当する確率のばらつきから特定する方法を説明した。第2の実施の形態において、第2の出力データ24における各ラベルに該当する確率のばらつきから特定する方法を説明した。第3の実施の形態において、第1の出力データ14における各ラベルに該当する確率と第2の出力データ24における各ラベルに該当する確率の距離から特定する方法を説明した。
第4の実施の形態において、これら3つの特定方法のうち、2つ以上の特定方法を統合して、入力データセットを特定しても良い。
例えば、特定部31は、2つまたは3つの特定方法でのそれぞれの指標を統合した指標を算出して、統合した指標に従って、参照データセット32とする入力データセットを特定しても良い。統合した指標は、3つの特定方法で算出されるそれぞれの指標と正の相関を持つ。特定部31は、統合した指標の高い順に特定される各入力データセットを、参照データセット32として出力する。
第4の実施の形態により、複数の観点で選択された入力データセットに対して新たなラベリング関数を生成することにより、関数データ6の多様性を効率的に実現することができる。
(検証)
ここで、本発明の実施の形態に係る処理装置1の検証を説明する。ここでは、第4の実施の形態に示すように、第1の実施の形態ないし第3の実施の形態でそれぞれ説明した指標と正の相関を持つ指標を用いる。
ここで、本発明の実施の形態に係る処理装置1の検証を説明する。ここでは、第4の実施の形態に示すように、第1の実施の形態ないし第3の実施の形態でそれぞれ説明した指標と正の相関を持つ指標を用いる。
検証として、疑問文分類を例に説明する。疑問文分類は、疑問文に対して何を問われているかを分類する問題である。TREC6(TREC:Text REtrieval Conference)データセットは、ABBR(略語)、DESC(記述)、ENTY(もの)、LOC(場所)、HUM(人または組織)、NUM(数)の6つのラベルに分類する。入力データ5の入力データセットは、疑問文で始まる文章である。
ラベリング関数の例を以下に示す。表1に示すラベリング関数は、疑問文が“Where”で始まれば“LOC”という正解付けを行い、それ以外の場合は棄権することを示す。
def lf_where:
if sentence.startswith(‘Where’):
return ‘LOC’
return ‘ABSTAIN’
def lf_where:
if sentence.startswith(‘Where’):
return ‘LOC’
return ‘ABSTAIN’
モデル処理部13が参照するラベリングモデルに、オープンソースソフトウェアのSnorkelを用いる。識別器23に、Bidirectional LSTM(Long Short Term Memory)を用いる。
特定部31が、入力データ5の入力データセットから参照データセット32を特定する際の優先度の算出方法を説明する。TREC6データセットは、6つに分類されるため、ラベリングモデルの出力は、6ラベルのそれぞれの確率となる。特定部31は、第1の出力データ14における各ラベルに該当する確率のばらつきとして、第1の出力データ14を参照して、各入力データセットについて、その確率のエントロピーを算出する。
各データに対する識別器23の出力も6クラスそれぞれの確率となる。特定部31は、第2の出力データ24における各ラベルに該当する確率のばらつきとして、第2の出力データ24を参照して、各入力データセットについて、その確率のエントロピーを算出する。
第1の出力データ14における各ラベルに該当する確率と第2の出力データ24における各ラベルに該当する確率の距離として、特定部31は、各入力データセットについて、両確率をベクトルとしたコサイン類似度cosθから、1-cosθを算出する。
検証において優先度は、第1の出力データ14から算出されたエントロピー、第2の出力データ24から算出されたエントロピー、および第1の出力データ14および第2の出力データ24の確率の類似度cosθから算出された1-cosθの各指標の、積または対数和が用いられる。
特定部31が、参照データセット32として、入力データ5から、優先度が上位10個の疑問文を特定し、特定された疑問文を主体Eに提示する。主体Eは、提示された疑問文の中で、各疑問文に付された優先度を考慮しつつ、多くの疑問文に適用できる新規ラベリング関数33を生成する。新規ラベリング関数33は、関数データ6に挿入される。
例えば、参照データセット32として、表2に示す10文が提示されたとする。表2は、優先度の高い順に、文章を並べる。表2に示す10文から、“How many”および“How far”等の“How + 数量を表す形容詞”で始まる文を、ラベル“NUM”と判別するラベリング関数が生成されれば良いことがわかる。
How many yards are in 1 mile?
How many questions are on this thing?
Tell me what city the Kentucky Horse Park is near?
How many cullions does a male have?
How many horses are there on a polo team?
How far is the longest hole in 1 on any golf course and where did it happen?
Which city has the oldest relationship as a sister city with Los Angeles?
How many events make up the decathlon?
How many neurons are in the human brain?
How many types of cheese are there in France?
How many questions are on this thing?
Tell me what city the Kentucky Horse Park is near?
How many cullions does a male have?
How many horses are there on a polo team?
How far is the longest hole in 1 on any golf course and where did it happen?
Which city has the oldest relationship as a sister city with Los Angeles?
How many events make up the decathlon?
How many neurons are in the human brain?
How many types of cheese are there in France?
ここで、検証のため、事前に追加しうるラベリング関数を予め用意した上で、関数データ6に6つのラベリング関数を設定し、その後、ラベリング関数を1つずつ追加する場合を説明する。主体Eの作業を模するため、コンピュータが、特定部31が提示した参照データセット32で示された10の文章に対して、ラベリング関数を追加することで正解を出せる文章の優先度を算出し、最大の優先度となるラベリング関数を、関数データ6に追加した。ラベリング関数の候補が、参照データセット32として提示された各疑問文に対してそれぞれ棄権した場合、参照データセット32の次に優先度が高い疑問文に対して、同様の処理を行う。
ここで検証として、実施の形態に係る提案手法を用いた場合のほか、非特許文献1に記載の方法を用いた場合、ランダムに文章を追加する場合、およびランダムにラベリング関数を追加した場合を用いる。どの手法においても、関数データ6に最初に設定される6つラベリング関数は、同じである。
非特許文献1に記載の方法において、多クラス識別に拡張し、全てのラベリング関数に棄権された疑問文を優先度1位、投票されているが同点トップが複数あれば優先度2位とする。優先度1位の数が10より多い場合、優先度1位のなかからランダムで10文を選択し、不足する場合、優先度2位の疑問文を合わせて、ランダムに10文が選択される。それら10文に対して全ラベリング関数候補について適用できる文数が多いものが、新規ラベリング関数として追加される。適用可能文数が同数であれば、その中からランダムに選択される。
ランダムに文章を追加する方法において、主体Eに提示する10文がランダムに選択され、選択された10文に対して、全ラベリング関数候補を適用できる文数が多い文章が、新規ラベリング関数として追加される。適用可能文数が同数であれば、その中からランダムに選択される。
このように4つの方法でラベリング関数を追加した結果を、図14に示す。縦軸は、検証の指標であるマクロF値であって、横軸は、ラベリング関数の数である。
実施の形態に係る提案手法を用いた場合、ラベリング関数の追加が少ない状態において、他の方法よりもF値が高い。従って、本発明の実施の形態に係る処理装置1は、高精度かつ効率的にラベリング関数を追加できる。
上記説明した本実施形態の処理装置1は、例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムが用いられる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた処理プログラムを実行することにより、処理装置1の各機能が実現される。
なお、処理装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また処理装置1は、コンピュータに実装される仮想マシンであっても良い。
処理装置1プログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
1 処理装置
5 入力データ
6 関数データ
10 第1の処理部
11 ラベル付け部
12 ラベルあり入力データ
13 モデル処理部
14 第1の出力データ
20 第2の処理部
21 生成部
22 訓練データ
23 識別器
24 第2の出力データ
31 特定部
32 参照データセット
33 新規ラベリング関数
34 更新部
901 CPU
902 メモリ
903 ストレージ
904 通信装置
905 入力装置
906 出力装置
E 主体
5 入力データ
6 関数データ
10 第1の処理部
11 ラベル付け部
12 ラベルあり入力データ
13 モデル処理部
14 第1の出力データ
20 第2の処理部
21 生成部
22 訓練データ
23 識別器
24 第2の出力データ
31 特定部
32 参照データセット
33 新規ラベリング関数
34 更新部
901 CPU
902 メモリ
903 ストレージ
904 通信装置
905 入力装置
906 出力装置
E 主体
Claims (8)
- 入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、
入力データセットを、前記ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データを出力する第1の処理部と、
各入力データセットのうち、前記第1の出力データにおいて各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定する特定部を備え、
前記特定部によって、前記第1の出力データから特定された入力データセットに対して新たに作成されたラベリング関数が、前記関数データに挿入される
処理装置。 - 新たに作成されたラベリング関数が、前記関数データに挿入された後に、前記第1の処理部を実行して得られた第1の出力データにおいて、各入力データセットに最も高い確率に対応するラベルを対応づけて出力する出力部
をさらに備える請求項1に記載の処理装置。 - 各入力データセットに、前記第1の出力データにおいて最も高い確率に対応するラベルを対応づけた複数の訓練データセットを識別器に入力して、各入力データセットに各ラベルに該当する確率を対応づける第2の出力データを出力する第2の処理部をさらに備え、
前記特定部は、各入力データセットのうち、前記第2の出力データにおいて各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定し、
前記特定部によって、前記第2の出力データから特定された入力データセットに対して新たに作成されたラベリング関数が、前記関数データに挿入される
請求項1に記載の処理装置。 - 前記特定部は、各入力データセットのうち、前記第1の出力データにおける各ラベルに該当する確率のベクトルと、前記第2の出力データにおける各ラベルに該当する確率のベクトルとの距離が閾値以上の入力データセットを特定し、
前記特定部によって、前記第1の出力データにおける各ラベルに該当する確率のベクトルと前記第2の出力データにおける各ラベルに該当する確率のベクトルとの距離から特定された入力データセットに対して新たに作成されたラベリング関数が、前記関数データに挿入される
請求項3に記載の処理装置。 - 新たに作成されたラベリング関数が、前記関数データに挿入された後に、前記第1の処理部および前記第2の処理部を実行して得られた第2の出力データにおいて、各入力データセットに最も高い確率に対応するラベルを対応づけて出力する出力部
をさらに備える請求項3または4に記載の処理装置。 - 前記ラベルに該当する確率に、信頼度の高いラベリング関数が前記ラベルに該当すると判断した場合、高い値が付与され、信頼度の低いラベリング関数が前記ラベルに該当すると判断した場合、低い値が付与される
請求項1ないし5のいずれか1項に記載の処理装置。 - コンピュータが、入力データセットにラベル付けを行う、あるいはラベル付けができない場合は棄権するラベリング関数を含む関数データを参照して、
入力データセットを、前記ラベリング関数でラベル付けした結果から、各入力データセットに各ラベルに該当する確率を対応づける第1の出力データを出力するステップと、
前記コンピュータが、各入力データセットのうち、前記第1の出力データにおいて各ラベルに該当する確率のばらつきが所定条件を満たす入力データセットを特定するステップを備え、
前記特定するステップにおいて、前記第1の出力データから特定された入力データセットに対して新たに作成されたラベリング関数が、前記関数データに挿入される
を備える処理方法。 - コンピュータを、請求項1ないし請求項6のいずれか1項に記載の処理装置として機能させるための処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/928,155 US20230206085A1 (en) | 2020-06-05 | 2020-06-05 | Processing device, processing method and processing program |
PCT/JP2020/022366 WO2021245924A1 (ja) | 2020-06-05 | 2020-06-05 | 処理装置、処理方法および処理プログラム |
JP2022528384A JP7389389B2 (ja) | 2020-06-05 | 2020-06-05 | 処理装置、処理方法および処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/022366 WO2021245924A1 (ja) | 2020-06-05 | 2020-06-05 | 処理装置、処理方法および処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021245924A1 true WO2021245924A1 (ja) | 2021-12-09 |
Family
ID=78830772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/022366 WO2021245924A1 (ja) | 2020-06-05 | 2020-06-05 | 処理装置、処理方法および処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230206085A1 (ja) |
JP (1) | JP7389389B2 (ja) |
WO (1) | WO2021245924A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023119415A1 (ja) * | 2021-12-21 | 2023-06-29 | 日本電信電話株式会社 | 処理装置、処理方法および処理プログラム |
WO2024013847A1 (ja) * | 2022-07-12 | 2024-01-18 | 日本電信電話株式会社 | 学習装置、学習方法、およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106662A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
WO2019202941A1 (ja) * | 2018-04-18 | 2019-10-24 | 日本電信電話株式会社 | 自己訓練データ選別装置、推定モデル学習装置、自己訓練データ選別方法、推定モデル学習方法、およびプログラム |
JP2020086519A (ja) * | 2018-11-15 | 2020-06-04 | キヤノンメディカルシステムズ株式会社 | 医用画像処理装置、医用画像処理方法、およびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017027227A (ja) * | 2015-07-17 | 2017-02-02 | 日本電信電話株式会社 | ラベル推定関数学習装置、方法、ラベル推定装置、方法及びプログラム |
-
2020
- 2020-06-05 US US17/928,155 patent/US20230206085A1/en active Pending
- 2020-06-05 WO PCT/JP2020/022366 patent/WO2021245924A1/ja active Application Filing
- 2020-06-05 JP JP2022528384A patent/JP7389389B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106662A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
WO2019202941A1 (ja) * | 2018-04-18 | 2019-10-24 | 日本電信電話株式会社 | 自己訓練データ選別装置、推定モデル学習装置、自己訓練データ選別方法、推定モデル学習方法、およびプログラム |
JP2020086519A (ja) * | 2018-11-15 | 2020-06-04 | キヤノンメディカルシステムズ株式会社 | 医用画像処理装置、医用画像処理方法、およびプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023119415A1 (ja) * | 2021-12-21 | 2023-06-29 | 日本電信電話株式会社 | 処理装置、処理方法および処理プログラム |
WO2024013847A1 (ja) * | 2022-07-12 | 2024-01-18 | 日本電信電話株式会社 | 学習装置、学習方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP7389389B2 (ja) | 2023-11-30 |
JPWO2021245924A1 (ja) | 2021-12-09 |
US20230206085A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11816078B2 (en) | Automatic entity resolution with rules detection and generation system | |
CN103299324B (zh) | 使用潜在子标记来学习用于视频注释的标记 | |
JP6629678B2 (ja) | 機械学習装置 | |
Nie et al. | Multimedia answering: enriching text QA with media information | |
CN112287126B (zh) | 一种适于多模态知识图谱的实体对齐方法及设备 | |
CN110097094B (zh) | 一种面向人物交互的多重语义融合少样本分类方法 | |
CN110532353B (zh) | 基于深度学习的文本实体匹配方法、系统、装置 | |
CN112860852B (zh) | 信息分析方法及装置、电子设备和计算机可读存储介质 | |
JP7024515B2 (ja) | 学習プログラム、学習方法および学習装置 | |
US20220230089A1 (en) | Classifier assistance using domain-trained embedding | |
WO2021245924A1 (ja) | 処理装置、処理方法および処理プログラム | |
Yu et al. | Multimedia event recounting with concept based representation | |
US20200234009A1 (en) | Word semantic relation estimation device and word semantic relation estimation method | |
CN116932730B (zh) | 基于多叉树和大规模语言模型的文档问答方法及相关设备 | |
US20180329983A1 (en) | Search apparatus and search method | |
KR20180129001A (ko) | 다언어 특질 투영된 개체 공간 기반 개체 요약본 생성 방법 및 시스템 | |
CN111680506A (zh) | 数据库表的外键映射方法、装置、电子设备和存储介质 | |
Domin et al. | Improving plagiarism detection in coding assignments by dynamic removal of common ground | |
CN112685550A (zh) | 智能问答方法、装置、服务器及计算机可读存储介质 | |
CN110633456B (zh) | 语种识别方法、装置、服务器及存储介质 | |
CN112035631A (zh) | 结合rpa及ai的对话问答方法、装置、设备及存储介质 | |
CN111144546A (zh) | 评分方法、装置、电子设备及存储介质 | |
JP5812534B2 (ja) | 質問応答装置、方法、及びプログラム | |
JP2015018372A (ja) | 表現抽出モデル学習装置、表現抽出モデル学習方法、および、コンピュータ・プログラム | |
CN115146073B (zh) | 一种跨空间语义知识注入的试题知识点标记方法及应用 |
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: 20939382 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022528384 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: 20939382 Country of ref document: EP Kind code of ref document: A1 |