WO2015190203A1 - 検出装置、修正システム、検出方法およびプログラム - Google Patents
検出装置、修正システム、検出方法およびプログラム Download PDFInfo
- Publication number
- WO2015190203A1 WO2015190203A1 PCT/JP2015/063527 JP2015063527W WO2015190203A1 WO 2015190203 A1 WO2015190203 A1 WO 2015190203A1 JP 2015063527 W JP2015063527 W JP 2015063527W WO 2015190203 A1 WO2015190203 A1 WO 2015190203A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- test
- training data
- unit
- classifier
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Definitions
- Embodiments described herein relate generally to a detection device, a correction system, a detection method, and a program.
- the intention understanding model is an example of a classifier that classifies the intention of information input by a user by speaking or the like and outputs a label for identifying the classified intention.
- the classifier is generated by machine learning of previously collected training data (learning data).
- learning data is generated by collecting information from an unspecified number of users via the Internet.
- the reliability of the original training data affects the accuracy of the classifier. For this reason, in order to generate a highly accurate classifier, it is necessary to correct the error of the training data and improve the reliability.
- An error in the training data can be detected by performing a closed test or a cross-validation test on the classifier.
- the detection apparatus is a detection apparatus that detects an error in training data for generating a classifier, and a first test unit that tests the classifier generated by machine learning of the training data; A deletion unit that generates reduced training data obtained by deleting at least one input data from the training data, a second test unit that tests a test classifier generated by machine learning of the reduced training data, and the classifier
- the at least one input data deleted from the training data to generate the reduced training data is erroneous.
- An output unit for outputting as a candidate.
- FIG. 1 is a diagram illustrating a configuration of a detection device 10 according to the embodiment.
- FIG. 2 is a diagram showing training data and a classifier.
- FIG. 3 is a diagram illustrating a processing flow of the detection apparatus 10 according to the embodiment.
- FIG. 4 is a diagram illustrating an example of a test result of a classifier generated by machine learning of training data.
- FIG. 5 is a diagram illustrating an example of a test result of a test classifier generated by machine learning of reduced training data.
- FIG. 6 is a diagram illustrating a processing flow of the detection apparatus 10 according to the modification.
- FIG. 7 is a diagram illustrating a configuration of the correction system 50 according to the embodiment.
- FIG. 8 is a diagram for explaining the processing content of the closed test.
- FIG. 1 is a diagram illustrating a configuration of a detection device 10 according to the embodiment.
- FIG. 2 is a diagram showing training data and a classifier.
- FIG. 3 is a diagram illustrating a
- FIG. 9 is a diagram for explaining the processing contents of the cross-validation test.
- FIG. 10 is a diagram illustrating a processing flow of the correction system 50 according to the embodiment.
- FIG. 11 is a diagram illustrating a display example of a test result by the potential test unit 64.
- FIG. 12 is a diagram illustrating a display example of test results of the closed test and the cross-validation test.
- FIG. 13 is a diagram illustrating an operation example for correcting training data.
- FIG. 14 is a diagram illustrating an example of correction of training data.
- FIG. 15 is a diagram illustrating a hardware configuration of the detection device 10 and the correction system 50 according to the embodiment.
- An object of the detection apparatus 10 according to the present embodiment is to easily and reliably detect training data error candidates for generating a classifier by machine learning.
- the classifier receives input data, classifies the input data, and outputs output data representing the classification result.
- the correction system 50 according to the present embodiment aims to efficiently correct errors in training data.
- FIG. 1 is a diagram illustrating a configuration of a detection device 10 according to the embodiment.
- the detection apparatus 10 includes an input unit 21, a first machine learning unit 22, a first test unit 23, a storage unit 24, a deletion unit 25, a second machine learning unit 26, a second test unit 27, A determination unit 28 and an output unit 29 are provided.
- the input unit 21 inputs training data from a server on the network.
- the training data will be described with reference to FIG. Then, the input unit 21 gives the input training data to the first machine learning unit 22 and the deletion unit 25.
- the first machine learning unit 22 performs machine learning on the training data input by the input unit 21 to generate a classifier.
- the first machine learning unit 22 gives the generated classifier to the first test unit 23.
- the first test unit 23 tests a classifier generated by machine learning of training data. More specifically, the first test unit 23 inputs predetermined input data to the classifier, and determines whether the output data output from the classifier matches the predetermined expected data. To do. The first test unit 23 determines that the input data is acceptable (OK) when the output data output from the classifier matches the expected data, and rejects the input data when the data does not match ( NG). Then, the first test unit 23 gives the input data that has failed (NG) as a result of the test to the storage unit 24.
- NG input data that has failed
- the first test unit 23 executes a closed test or a cross validation test as an example.
- the closed test will be further described with reference to FIG.
- the cross-validation test will be further described with reference to FIG.
- the 1st test part 23 may perform a random test as an example.
- the random test is a test using unknown input data not included in the training data. The random test can verify the accuracy of the classifier for unknown input data.
- the storage unit 24 receives the input data that has failed (NG) by the test from the first test unit 23 and stores it.
- the deletion unit 25 generates reduced training data in which at least one input data is deleted from the training data.
- the deletion unit 25 may delete one input data from the training data, or may delete two or more input data.
- the deletion unit 25 gives the generated reduced training data to the second machine learning unit 26.
- the deletion unit 25 gives the output unit 29 the deleted input data and the output data associated with the input data deleted in the training data.
- the second machine learning unit 26 performs machine learning on the reduced training data given from the deletion unit 25 to generate a test classifier.
- the second machine learning unit 26 gives the generated test classifier to the second test unit 27.
- the second test unit 27 tests the test classifier generated by machine learning of the reduced training data. More specifically, the second test unit 27 executes the same test as the test by the first test unit 23. As an example, the second test unit 27 executes the same closed test or cross-validation test as the first test unit 23. For example, the second test unit 27 may execute the same random test as the first test unit 23. The second test unit 27 gives the input data that has passed (OK) as a result of the test to the determination unit 28.
- the determination unit 28 compares the input data received from the second test unit 27 with the input data stored in the storage unit 24, and determines whether or not they match. That is, the determination unit 28 fails (NG) in the classifier test (test by the first test unit 23), and passes (OK) in the test classifier test (test by the second test unit 27). ) Is determined whether there is input data. When such input data exists, the determination unit 28 notifies the output unit 29 to that effect.
- the deleted at least one input data is output as an error candidate.
- the output unit 29 outputs output data in association with the input data deleted from the training data.
- the output unit 29 associates the input data and the output data deleted from the training data, and outputs them to the display device or the like as error candidates. Then, the user refers to the error candidates displayed on the display device, confirms whether or not an error actually exists, and corrects the corresponding input data in the training data if an error exists. .
- FIG. 2 is a diagram showing training data and a classifier.
- the training data is a data set including a plurality of output data and a plurality of input data associated with any one of the output data.
- the output data is data for specifying information output from the classifier.
- Input data is an example of data input to the classifier.
- the classifier inputs text uttered or input by a person as input data, and outputs a label for classifying the intention of the input text as output data.
- the output data included in the training data includes a label, an ID, and a question sentence.
- the label is a code for specifying output data.
- ID is a number for identifying output data.
- the question sentence is text for making the user recognize the contents of the intention.
- the input data included in the training data is an example of text uttered by a person (an utterance example).
- the classifier can input unknown text that is not included in the training data as input data. However, the classifier outputs any one output data included in the training data as a classification result obtained by classifying the input data.
- Training data is generated by registering output data in advance and collecting input data examples related to each output data from an unspecified number of people.
- the training data is generated by presenting the question sentence of each output data to the user and collecting the text having the same intention as the question sentence from the user.
- the presentation of the question sentence to the user and the collection of the text are executed by, for example, crowdsourcing via a network.
- the training data may be managed for each acquisition source (for example, acquired user).
- the training data may be managed so that the input data collected from the same acquisition source (same user) is arranged in the same column of the table.
- the classifier is generated by machine learning of such training data.
- the classifier may be a program executed by a computer or the like, or a finite state transducer (a finite state automaton with an output sign).
- a classifier inputs the text which the user uttered or input, and outputs the label which identifies the intention of the input text. The same applies to the test classifier.
- FIG. 3 is a diagram illustrating a processing flow of the detection apparatus 10 according to the embodiment.
- the detection device 10 executes processing from the following step S11.
- step S11 the input unit 21 inputs training data.
- step S12 the first machine learning unit 22 performs machine learning on the input training data to generate a classifier.
- step S13 the first test unit 23 tests the classifier (first test).
- the first test unit 23 performs a closed test, a cross-validation test, a random test, or the like.
- step S14 the storage unit 24 stores the input data that has been rejected (NG) by the test of the classifier.
- step S15 the deletion unit 25 selects at least one input data from the training data.
- step S16 the deletion unit 25 deletes the selected input data from the training data, and generates reduced training data.
- step S17 the second machine learning unit 26 performs machine learning on the reduced training data to generate a test classifier.
- step S18 the second test unit 27 tests the test classifier generated by machine learning of the reduced training data (second test). In this case, the second test unit 27 executes the same test as the test (first test) by the first test unit 23 in step S13.
- step S19 the determination unit 28 fails (NG) in the classifier test (first test by the first test unit 23), and the test classifier test (second test unit). It is determined whether or not there is input data that passes (OK) in the second test of No. 27.
- step S20 the determination unit 28 determines whether or not all input data of training data has been selected in the process of step S15. When all input data has been selected (Yes in step S20), the determination unit 28 ends this flow. If all input data has not been selected yet (No in step S20), the determination unit 28 returns the process to step S15 and repeats the process. In step S15, the deletion unit 25 selects at least one other input data that has not yet been selected from the training data.
- step S19 When there is input data that fails the classifier test (NG) and passes the test classifier test (OK) (Yes in step S19), the determination unit 28 proceeds to step S21. .
- step S21 the output unit 29 outputs the input data deleted from the training data in step S16 as a candidate for training data error. And the output part 29 complete
- the detection apparatus 10 can provide candidates for training data errors to the user.
- FIG. 4 is a diagram illustrating an example of a test result of a classifier generated by machine learning of training data.
- the detection device 10 inputs a plurality of input data (text) to a classifier generated by machine learning of training data.
- the detection apparatus 10 compares the output data (label) output from the classifier with the expected data, and passes (OK) if the label and the expected data match, and rejects (NG) if they do not match. Output.
- the expected data becomes output data associated with the input data.
- the expected data when the text “Do not open the door” is input is “Close door (s.door.close)”.
- the classifier when the text “Do not open the door” is input, the classifier outputs the label “Open the door (s.door.open)”. Therefore, in the example of FIG. 4, the test result of the classifier when the text “Do not open the door” is input is a failure (NG).
- FIG. 5 is a diagram illustrating an example of a test result of a test classifier generated by machine learning of reduced training data.
- the detection apparatus 10 deletes a part of the training data and generates reduced training data.
- the reduced training data is generated by deleting the input data (text) “do not open the door” and “let's close the door” from the training data.
- the detection apparatus 10 performs the same test as the first test on the test classifier generated by machine learning of the reduced training data, and if the label and the expected data match. Pass (OK), if it does not match, output fail (NG).
- the test classifier when the text “Do not open the door” is input, the test classifier outputs the label “S.door.close”.
- the expected data when the text “Do not open the door” is input is “Shut door (s.door.close)”. Therefore, in the example of FIG. 5, the test result of the test classifier when the text “Do not open the door” is input is OK (OK).
- the detection apparatus 10 outputs the input data deleted from the training data to generate the reduced training data as an error candidate. Then, the user refers to the error candidate, confirms visually whether or not an error actually exists, and corrects the corresponding input data in the training data if an error exists. As a result, the user does not need to check all the training data, but only needs to check some narrowed-down error candidates, so that errors in the input data can be easily corrected.
- training data that is difficult to detect mechanically, such that the test passes (OK) even though it is actually wrong. can be detected efficiently and the user can easily correct the error.
- the deletion unit 25 may generate reduced training data by deleting a plurality of input data having the same acquisition source from the training data. For example, when the input data collected from the same acquisition source (the same user) is arranged in the same column of the table, the deletion unit 25 deletes the training data in units of columns. For example, when input data is collected from an unspecified number of people by crowdsourcing, there is a possibility that some people intentionally include errors. Therefore, the detection apparatus 10 can output an error due to such a factor as a candidate by deleting it in units of users.
- FIG. 6 is a diagram illustrating a processing flow of the detection apparatus 10 according to the modification.
- the detection device 10 may add and execute the processing from step S31 shown in FIG. 6 following step S19 in FIG.
- step S19 when there is input data that is rejected (NG) in the classifier test and passed (OK) in the test classifier test (Yes in step S19), the determination unit 28 performs processing in step S31. To proceed.
- step S31 the deletion unit 25 further selects and selects a part of the input data from the input data selected in step S15 (input data actually deleted). Subsequently, in step S32, the deletion unit 25 deletes a part of the input data selected by narrowing down from the training data, and generates new reduced training data.
- step S33 the second machine learning unit 26 performs machine learning on the new reduced training data generated in step S32 to generate a new test classifier.
- step S34 the second test unit 27 tests a new test classifier generated by machine learning of new reduced training data (third test). In this case, the second test unit 27 executes the same test as the test (first test) by the first test unit 23 in step S13.
- step S35 the determination unit 28 fails (NG) in the classifier test (first test by the first test unit 23), and tests a new test classifier (second). It is determined whether or not there is input data that passes (OK) in the third test by the test unit 27.
- step S35 the determination unit 28 proceeds to step S31. Return to and repeat the process.
- the deletion unit 25 selects at least one other input data not yet selected from the input data selected in step S15 (actually deleted input data).
- step S35 If there is input data that fails the classifier test (NG) and passes the new test classifier test (OK) (Yes in step S35), the determination unit 28 proceeds to step S36. To proceed.
- step S36 the output unit 29 outputs the selected input data further narrowed down from the deleted input data as an error candidate. And the output part 29 complete
- the detection apparatus 10 can further reduce the number of error candidates provided to the user. Thereby, the user can easily confirm whether or not an error actually exists.
- the detection apparatus 10 may add the process similar to step S31 to step S36 one or more times after Yes of step S35. Thereby, the detection apparatus 10 can reduce the number of error candidates, and can correct the error more easily.
- FIG. 7 is a diagram illustrating a configuration of the correction system 50 according to the embodiment.
- the correction system 50 includes a training data storage unit 60, a duplication detection unit 61, a closed test unit 62, a cross validation test unit 63, a potential test unit 64, a display control unit 65, a correction unit 66, and a control unit. 67.
- the training data storage unit 60 stores training data.
- the duplication detection unit 61 detects duplication of input data included in the training data stored in the training data storage unit 60.
- the closed test unit 62 performs a closed test on the classifier generated by machine learning of the training data stored in the training data storage unit 60.
- the cross-validation test unit 63 performs a cross-validation test on the classifier generated by machine learning of the training data stored in the training data storage unit 60.
- the potential test unit 64 performs a test on the classifier generated by machine learning of the training data stored in the training data storage unit 60 using the detection device 10 described with reference to FIGS. 1 to 6.
- the display control unit 65 displays the input data duplication detection result by the duplication detection unit 61 on the display device.
- the display control unit 65 causes the display device to display the results of tests by the closed test unit 62, the cross validation test unit 63, and the potential test unit 64.
- the correction unit 66 corrects the duplication of the training data stored in the training data storage unit 60 in accordance with the user operation corresponding to the display of the duplication detection result.
- the correction unit 66 corrects an error in the training data stored in the training data storage unit 60 in accordance with a user operation corresponding to the display of the test results by the closed test unit 62, the cross validation test unit 63, and the potential test unit 64. .
- the control unit 67 controls the execution order of tests performed by the duplication detection unit 61, the closed test unit 62, the cross validation test unit 63, and the potential test unit 64.
- control unit 67 causes the duplication detection unit 61 to detect duplication and correct training data prior to execution of tests by the closed test unit 62, the cross-validation test unit 63, and the potential test unit 64.
- control unit 67 causes the closed test unit 62 to execute the closed test and the correction unit 66 to correct the training data one or more times.
- the control unit 67 performs the cross-validation test by the cross-validation test unit 63 and the correction of training data by the correction unit 66 Run one or more times.
- the control part 67 complete finishes a process, when the precision of a classifier is more than the predetermined 2nd specified value (2nd specified value is smaller than the 1st specified value) as a result of the cross validation test
- the control unit 67 performs the test and correction unit by the potential test unit 64. 66, correction of training data is executed. Then, after executing the test and the correction of the training data by the potential test unit 64, the control unit 67 executes the closed test again, and if the accuracy of the classifier becomes equal to or higher than the first specified value, the cross validation is performed. Run test and training data corrections.
- control unit 67 executes the cross-validation test and the correction of the training data for a predetermined number of times or more and the accuracy of the classifier does not exceed the second specified value.
- the test and correction by the potential test unit 64 is performed.
- the correction of the training data by the unit 66 is executed.
- the control unit 67 executes the cross-validation test again, and when the accuracy of the classifier becomes equal to or higher than the second specified value, End.
- FIG. 8 is a diagram for explaining the processing content of the closed test.
- the closed test is a test in which input data included in training data is input to a classifier.
- the closed test has a small processing amount and a relatively short processing time. Therefore, the correction system 50 can correct the error of the training data efficiently as a whole by executing the closed test prior to other tests.
- FIG. 9 is a diagram for explaining the processing contents of the cross-validation test.
- training data is divided into a plurality of divided training data.
- machine learning is performed on all other division training data to generate a test classifier, and the input data included in the selected division training data is input to the test classifier for testing. To do.
- one piece of training data is divided into three pieces of first divided training data, second divided training data, and third divided training data.
- a first test classifier is generated using the second and third divided training data, and the first divided training data is input to the first test classifier for testing.
- a second test classifier is generated using the third and first divided training data, and the second divided training data is input to the second test classifier for testing.
- a third test classifier is generated using the first and second divided training data, and the third divided training data is input to the third test classifier for testing.
- the correction system 50 can correct the error of the training data as a whole efficiently by executing the cross-validation test after the training data is corrected to some extent by the closed test.
- FIG. 10 is a diagram illustrating a processing flow of the correction system 50 according to the embodiment.
- the correction system 50 executes processing from the following step S41.
- step S41 the duplication detection unit 61 detects duplication of input data included in the training data stored in the training data storage unit 60.
- step S42 the display control unit 65 causes the display device to display the duplication of the input data detected by the duplication detection unit 61.
- step S43 the correction unit 66 corrects the duplication of the training data stored in the training data storage unit 60 in accordance with the user operation corresponding to the display of the duplication result. Thereby, the correction part 66 can produce
- control part 67 advances processing to Step S44, after Step S43 is completed.
- step S44 the closed test unit 62 performs a closed test on the classifier generated by machine learning of the training data stored in the training data storage unit 60. Subsequently, in step S45, the closed test unit 62 calculates the accuracy of the classifier based on the test result in step S44. As an example, the closed test unit 62 calculates, as accuracy, the ratio of the number of input data that has passed (OK) to the number of input data input for the test.
- step S46 the control unit 67 determines whether or not the accuracy calculated in step S45 is equal to or higher than a predetermined first specified value. For example, the control unit 67 determines whether or not the accuracy calculated in step S45 is 95% or more.
- step S45 determines whether or not the closed test in step S44 has been executed a predetermined number of times or more. For example, the control unit 67 determines whether or not the closed test has been executed twice or more.
- step S47 When the closed test is executed a predetermined number of times or more (Yes in step S47), the control unit 67 advances the process to step S50. If the closed test has not been executed a predetermined number of times or more (No in step S47), the control unit 67 advances the process to step S48.
- step S48 the display control unit 65 causes the display device to display the test result detected by the closed test.
- step S49 the correction unit 66 corrects an error in the training data stored in the training data storage unit 60 in accordance with a user operation for displaying the test result of the closed test. Thereby, the correction part 66 can correct the error detected by the closed test in training data.
- control part 67 returns processing to Step S44, after Step S49 is completed.
- step S50 the potential test unit 64 detects the classifier generated by machine learning of the training data stored in the training data storage unit 60, and has been described with reference to FIGS. Run the test with Subsequently, in step S51, the display control unit 65 causes the display device to display the test result obtained by the detection device 10. Subsequently, in step S ⁇ b> 52, the correction unit 66 corrects an error in the training data stored in the training data storage unit 60 in accordance with a user operation on the display of the test result by the detection device 10. Thereby, the correction part 66 can correct the error of the input data which is not rejected (NG) in the test. And control part 67 returns processing to Step S44, after Step S52 is completed.
- NG not rejected
- step S45 the accuracy of the classifier based on the closed test
- the accuracy calculated in step S45 is equal to or higher than the first specified value (Yes in step S46). Then, the process proceeds to step S53. Note that the control unit 67 may stop this flow in the middle when the accuracy does not become the first specified value or more even if the steps S44 to S52 are repeated a certain number of times.
- step S53 the cross-validation test unit 63 performs a cross-validation test on the classifier generated by machine learning of the training data stored in the training data storage unit 60. Subsequently, in step S54, the cross-validation test unit 63 calculates the accuracy of the classifier based on the test result in step S53.
- step S55 the control unit 67 determines whether or not the accuracy calculated in step S54 is equal to or higher than a predetermined second specified value. For example, the control unit 67 determines whether or not the accuracy calculated in step S54 is 85% or more.
- step S54 determines whether or not the accuracy calculated in step S54 is not equal to or higher than the second specified value (No in step S55). If the accuracy calculated in step S54 is not equal to or higher than the second specified value (No in step S55), the controller 67 advances the process to step S56.
- step S56 the control unit 67 determines whether or not the cross validation test in step S53 has been executed a predetermined number of times or more. As an example, the control unit 67 determines whether or not the cross-validation test has been executed twice or more.
- step S56 When the cross-validation test is executed a predetermined number of times or more (Yes in step S56), the control unit 67 advances the process to step S59. When the cross-validation test has not been executed a predetermined number of times or more (No in step S56), the control unit 67 advances the process to step S57.
- step S57 the display control unit 65 causes the display device to display the test result detected by the cross validation test.
- step S58 the correction unit 66 corrects an error in the training data stored in the training data storage unit 60 in accordance with a user operation for displaying the test result of the cross-validation test. Thereby, the correction part 66 can correct the error detected by the cross-validation test in training data.
- control part 67 returns processing to Step S53, after Step S58 is completed.
- step S59 the potential test unit 64 detects the classifier generated by machine learning of the training data stored in the training data storage unit 60, and the detection apparatus 10 described with reference to FIGS. Run the test with Subsequently, in step S60, the display control unit 65 causes the display device to display the test result obtained by the detection device 10. Subsequently, in step S ⁇ b> 61, the correction unit 66 corrects an error in the training data stored in the training data storage unit 60 in accordance with a user operation on the display of the test result by the detection device 10. Thereby, the correction part 66 can correct the error of the input data which is not rejected (NG) in the test. And control part 67 returns processing to Step S53, after Step S61 is completed.
- NG not rejected
- step S53 When the control unit 67 repeatedly executes step S53 to step S61, the accuracy of the classifier based on the cross-validation test (the accuracy calculated in step S54) is equal to or higher than the second specified value (Yes in step S55). ), This flow ends. Note that the control unit 67 may cancel this flow in the middle when the accuracy does not become the second specified value or more after repeating steps S53 to S61 a certain number of times.
- the error of the training data is detected and corrected using the three different tests of the closed test, the cross validation test, and the test by the potential test unit 64. Can do. Further, the correction system 50 executes the closed test, the cross-validation test, and the test by the potential test unit 64 in an efficient order, so that the accuracy of the training data can be improved at a low cost.
- FIG. 11 is a diagram showing a display example of the result of the test by the potential test unit 64.
- the display control unit 65 receives the result of the test by the potential test unit 64. Specifically, the display control unit 65 receives at least one input data detected as an error candidate in the test by the potential test unit 64 and output data associated with the training data.
- the display control unit 65 receives a label, an ID, and a question sentence as output data. Then, the display control unit 65 displays the received at least one input data and the associated output data (label, ID, and question sentence) in a table format. Thereby, the display control part 65 can make a user easily judge whether the relationship between the input data used as the error candidate and the associated problem sentence is correct.
- FIG. 12 is a diagram showing a display example of test results of the closed test and the cross-validation test.
- the display control unit 65 receives input data from the closed test unit 62 and the cross-validation test unit 63 whose test result is rejected (NG). Furthermore, the display control unit 65 outputs the output data (label, ID, question sentence) included in the training data associated with each input data that has been rejected (NG), and is output from the classifier by the test. The received output data (label, ID, question sentence) is received.
- the display control unit 65 displays the rejected input data, the output data included in the training data, and the output data output from the classifier by the test in one row of the table.
- the display control unit 65 determines whether the output data included in the training data is incorrect for the user, whether the output data output from the classifier by the test is incorrect, or both are incorrect. Can be easily determined.
- the display control unit 65 can also make the user easily determine whether the input data is incorrect.
- the display control unit 65 outputs the output data (“door closed”) included in the training data for the input data “lock” and output from the classifier by the test. It can be judged that the data ("lock") is correct.
- the display control unit 65 can determine that the input data “stop the mirror heater wo” is an error “stop the mirror heater”.
- the display control unit 65 correctly outputs the output data included in the training data (“stop the mirror heater”) from the classifier for the input data “stop the mirror heater wo”. It is possible to determine that the output data (“activate the mirror heater”) is incorrect.
- the display control unit 65 outputs the input data “open the window” from the classifier by the output data included in the training data (“operate the power window”) and the test. It can be determined that both of the output data (“open power window”) are incorrect.
- FIG. 13 is a diagram illustrating an operation example for correcting the training data.
- the correction unit 66 receives a user operation on the table displayed on the display device by the display control unit 65.
- the user displays at least a part of the output data included in the training data on the table ( For example, an operation of deleting ID) and leaving the output data output from the classifier is performed. Then, when such an operation, that is, an operation that the output data output from the classifier is correct is performed, the correction unit 66 outputs the input data that has been rejected from the classifier in the training data. Execute processing to associate with the output data.
- the user displays at least one of the output data output from the classifier on the table.
- An operation of deleting a part (for example, ID) and leaving the output data included in the training data as it is is performed. Then, when such an operation, that is, an operation that the output data included in the training data is correct is performed, the correcting unit 66 performs a process that does not correct the input data that has been rejected.
- the user displays the output data output from the classifier on the table.
- An operation of deleting both at least a part (for example, ID) and at least a part (for example, ID) of output data included in the training data is performed. Then, when such an operation, that is, an operation in which both the output data output from the classifier and the output data included in the training data are erroneous, the correction unit 66 determines that the training data is invalid. Execute the process to delete the input data that passed.
- the correction part 66 performs the process which corrects the content of the input data in training data.
- FIG. 14 is a diagram showing an example of correction of training data.
- the correction unit 66 can associate the erroneous input data with the correct output data by performing the correction as shown in FIG. For example, as shown in FIG. 14, the input data “locking” can be moved from the output data “closing door” to the output data “locking”.
- the correction system 50 which concerns on this embodiment, the error of training data can be corrected easily and efficiently.
- FIG. 15 is a diagram illustrating a hardware configuration of the detection device 10 and the correction system 50 according to the embodiment.
- the detection device 10 and the correction system 50 include a CPU (Central Processing Unit) 101, an operation unit 102, a display unit 103, a ROM (Read Only Memory) 104, a RAM (Random Access Memory) 105, and a storage unit 106. And a communication device 107. Each unit is connected by a bus 108.
- the CPU 101 executes various processes in cooperation with various programs stored in advance in the ROM 104 or the storage unit 106 using a predetermined area of the RAM 105 as a work area, and performs overall operations of the units constituting the detection device 10 and the correction system 50. To control.
- the CPU 101 controls the operation unit 102, the display unit 103, the communication device 107, and the like in cooperation with a program stored in advance in the ROM 104 or the storage unit 106.
- the operation unit 102 is an input device such as a mouse and a keyboard, and receives information input by the user as an instruction signal, and outputs the instruction signal to the CPU 101.
- the display unit 103 is a display device such as an LCD (Liquid Crystal Display).
- the display unit 103 displays various information based on a display signal from the CPU 101. For example, the display unit 103 displays error candidates output from the detection apparatus 10 and test results output from the correction system 50.
- the ROM 104 stores a program and various setting information used for controlling the detection device 10 and the correction system 50 in a non-rewritable manner.
- the RAM 105 is a volatile storage medium such as SDRAM (Synchronous Dynamic Random Access Memory).
- SDRAM Serial Dynamic Random Access Memory
- the RAM 105 functions as a work area for the CPU 101. Specifically, it functions as a buffer or the like that temporarily stores various variables and parameters used by the detection device 10 and the correction system 50.
- the storage unit 106 is a rewritable recording device such as a semiconductor storage medium such as a flash memory or a magnetically or optically recordable storage medium.
- the storage unit 106 stores programs used for controlling the detection apparatus 10 and the correction system 50, various setting information, and the like.
- the storage unit 106 stores training data, various information related to the generated classifier, and the like. Note that the storage unit 24 and the training data storage unit 60 included in the detection apparatus 10 may be realized by either the RAM 105 or the storage unit 106.
- the communication device 107 communicates with an external device and is used for data input and output.
- the program executed by the detection apparatus 10 and the correction system 50 of the present embodiment is a file in an installable format or an executable format, and is a CD-ROM, flexible disk (FD), CD-R, DVD (Digital Versatile Disk). Or the like recorded on a computer-readable recording medium.
- the program executed by the detection device 10 and the correction system 50 according to the present embodiment may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. . Moreover, you may comprise so that the program run with the detection apparatus 10 and the correction system 50 of this embodiment may be provided or distributed via networks, such as the internet. Moreover, you may comprise so that the program run by the detection apparatus 10 and the correction system 50 of this embodiment may be provided by previously incorporating in ROM etc.
- the program executed by the detection device 10 includes each unit (the input unit 21, the first machine learning unit 22, the first test unit 23, the storage unit 24, the deletion unit 25, the second machine) of the detection device 10 described above.
- the module includes a learning unit 26, a second test unit 27, a determination unit 28, and an output unit 29).
- each of the above units is a main storage device. Loaded on the detection device 10 (input unit 21, first machine learning unit 22, first test unit 23, storage unit 24, deletion unit 25, second machine learning unit 26, second test unit 27, determination unit 28 And an output unit 29) are generated on the main memory. Note that part or all of the detection apparatus 10 may be configured by hardware.
- the program executed by the correction system 50 includes the components of the correction system 50 described above (the training data storage unit 60, the duplication detection unit 61, the closed test unit 62, the cross validation test unit 63, the potential test unit 64, and the display.
- the module configuration includes a control unit 65, a correction unit 66, and a control unit 67).
- the CPU 101 processor
- the CPU 101 reads a program from a storage medium or the like and executes it, the above-described units are loaded onto the main storage device and corrected.
- a system 50 (training data storage unit 60, duplication detection unit 61, closed test unit 62, cross validation test unit 63, potential test unit 64, display control unit 65, correction unit 66, and control unit 67) is generated on the main storage device. It has come to be. Part or all of the correction system 50 may be configured by hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
訓練データの誤りの候補を容易に且つ確実に検出する。分類器を生成するための訓練データの誤りを検出する検出装置であって、訓練データを機械学習して生成した分類器をテストする第1テスト部と、訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する削除部と、縮小訓練データを機械学習して生成したテスト用分類器をテストする第2テスト部と、分類器のテストで不合格であり且つテスト用分類器のテストで合格である入力データが存在する場合、縮小訓練データを生成するために訓練データから削除した少なくとも1つの入力データを誤りの候補として出力する出力部と、を備える検出装置を提供する。
Description
本発明の実施形態は、検出装置、修正システム、検出方法およびプログラムに関する。
音声対話システム等で用いられる意図理解モデルが知られている。意図理解モデルは、ユーザが発話等により入力した情報の意図を分類し、分類した意図を識別するラベルを出力する分類器の一例である。
分類器は、予め収集された訓練データ(学習データ)を機械学習することにより生成される。訓練データは、一例として、インターネットを介して、不特定多数のユーザから情報を収集することにより生成される。
ところで、元となる訓練データの信頼性は、分類器の精度に影響を与える。このため、精度の高い分類器を生成するためには、訓練データの誤りを修正して信頼性を向上させる必要がある。訓練データの誤りは、分類器に対してクローズドテストまたはクロスバリデーションテスト等をすれば検出することができる。
しかし、分類器に対してクローズドテストまたはクロスバリデーションテスト等をしても、実際には誤っているにも関わらず、テストでは合格(OK)となってしまう誤りを検出することは困難である。また、訓練データは、データ量が膨大である。このため、訓練データの全てを人手で確認して、このような誤りを検出することは困難である。
本実施形態に係る検出装置は、分類器を生成するための訓練データの誤りを検出する検出装置であって、前記訓練データを機械学習して生成した前記分類器をテストする第1テスト部と、前記訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する削除部と、前記縮小訓練データを機械学習して生成したテスト用分類器をテストする第2テスト部と、前記分類器のテストで不合格であり且つ前記テスト用分類器のテストで合格である入力データが存在する場合、前記縮小訓練データを生成するために前記訓練データから削除した前記少なくとも1つの入力データを誤りの候補として出力する出力部と、を備える。
以下、図面を参照しながら実施形態に係る検出装置10および修正システム50について詳細に説明する。本実施形態に係る検出装置10は、分類器を機械学習により生成するための訓練データの誤りの候補を容易に且つ確実に検出することを目的とする。なお、分類器は、入力データを入力し、入力した入力データを分類し、分類結果を表す出力データを出力する。また、本実施形態に係る修正システム50は、訓練データの誤りを効率良く修正することを目的とする。
図1は、実施形態に係る検出装置10の構成を示す図である。検出装置10は、入力部21と、第1機械学習部22と、第1テスト部23と、保存部24と、削除部25と、第2機械学習部26と、第2テスト部27と、判定部28と、出力部29とを備える。
入力部21は、ネットワーク上のサーバ等から訓練データを入力する。訓練データについては、図2において説明する。そして、入力部21は、入力した訓練データを第1機械学習部22および削除部25へと与える。
第1機械学習部22は、入力部21が入力した訓練データを機械学習して分類器を生成する。第1機械学習部22は、生成した分類器を第1テスト部23へと与える。
第1テスト部23は、訓練データを機械学習して生成した分類器をテストする。より具体的には、第1テスト部23は、予め定められた入力データを分類器に入力し、分類器から出力された出力データが、予め定められた期待データと一致するか否かを判定する。第1テスト部23は、分類器から出力された出力データが期待データと一致する場合には、その入力データを合格(OK)と判定し、一致しない場合には、その入力データを不合格(NG)と判定する。そして、第1テスト部23は、テストにより不合格(NG)となった入力データを保存部24へと与える。
第1テスト部23は、一例として、クローズドテストまたはクロスバリデーションテストを実行する。なお、クローズドテストについては図8においてさらに説明する。また、クロスバリデーションテストについては図9においてさらに説明する。また、第1テスト部23は、一例として、ランダムテストを実行してもよい。ランダムテストは、訓練データに含まれない未知の入力データを用いるテストである。ランダムテストは、未知の入力データに対する分類器の精度を検証することができる。
保存部24は、テストにより不合格(NG)となった入力データを第1テスト部23から受け取って保存する。
削除部25は、訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する。削除部25は、訓練データから1つの入力データを削除してもよいし、2以上の入力データを削除してもよい。削除部25は、生成した縮小訓練データを第2機械学習部26へと与える。また、削除部25は、削除した入力データ、および、訓練データにおいて削除した入力データに関連付けられている出力データを出力部29へ与える。
第2機械学習部26は、削除部25から与えられた縮小訓練データを機械学習してテスト用分類器を生成する。第2機械学習部26は、生成したテスト用分類器を第2テスト部27へと与える。
第2テスト部27は、縮小訓練データを機械学習して生成したテスト用分類器をテストする。より具体的には、第2テスト部27は、第1テスト部23によるテストと同一のテストを実行する。第2テスト部27は、一例として、第1テスト部23と同一のクローズドテストまたはクロスバリデーションテストを実行する。また、第2テスト部27は、一例として、第1テスト部23と同一のランダムテストを実行してもよい。第2テスト部27は、テストにより合格(OK)となった入力データを判定部28へと与える。
判定部28は、第2テスト部27から受け取った入力データと、保存部24に保存されている入力データとを比較して、一致するか否かを判断する。すなわち、判定部28は、分類器のテスト(第1テスト部23によるテスト)で不合格(NG)であり、且つ、テスト用分類器のテスト(第2テスト部27によるテスト)で合格(OK)である入力データが存在するか否かを判断する。判定部28は、このような入力データが存在する場合には、その旨を出力部29に通知する。
出力部29は、分類器のテストで不合格であり且つテスト用分類器のテストで合格である入力データが存在すると判定部28により判定された場合、縮小訓練データを生成するために訓練データから削除した少なくとも1つの入力データを、誤りの候補として出力する。この場合において、出力部29は、訓練データから削除した入力データと関連付けて出力データも出力する。
出力部29は、一例として、訓練データから削除した入力データと出力データとを関連付けて、誤りの候補として表示装置等に出力する。そして、ユーザは、表示装置に表示された誤りの候補を参照して、実際に誤りが存在するか否かを確認し、誤りが存在していれば、訓練データにおける対応する入力データを修正する。
図2は、訓練データおよび分類器を示す図である。訓練データは、複数の出力データと、それぞれの何れかの出力データに関連付けられた複数の入力データとを含むデータ集合である。出力データは、分類器から出力される情報を特定するためのデータである。入力データは、分類器に対して入力されるデータ例である。
本実施形態において、分類器は、人が発話または入力したテキストを入力データとして入力し、入力したテキストの意図を分類するラベルを出力データとして出力する。また、本実施形態において、訓練データに含まれる出力データは、ラベルと、IDと、問題文とを含む。ラベルは、出力データを特定するためのコードである。IDは、出力データを識別するための番号である。問題文は、意図の内容をユーザに認識させるためのテキストである。また、本実施形態において、訓練データに含まれる入力データは、人が発話するテキストの一例(発話例)である。
なお、分類器は、訓練データに含まれていない未知のテキストを入力データとして入力することができる。ただし、分類器は、訓練データに含まれる何れか1つの出力データを、入力データを分類した分類結果として出力する。
訓練データは、予め出力データを登録しておき、それぞれの出力データに関連する入力データ例を不特定多数の人から収集することにより生成される。例えば、訓練データは、それぞれの出力データの問題文をユーザに提示し、問題文と同一の意図のテキストをユーザから収集することにより生成される。ユーザへの問題文の提示およびテキストの収集は、例えばネットワークを介してクラウドソーシング等により実行される。
また、訓練データは、一例として、取得元(例えば、取得したユーザ)毎に入力データを管理してもよい。例えば、訓練データは、表の同一の列に、同一の取得元(同一のユーザ)から収集した入力データが配置されるように、それぞれの入力データを管理してもよい。
分類器は、このような訓練データを機械学習することにより生成される。分類器は、一例として、コンピュータ等により実行されるプログラム、または、有限状態トランスデューサ(出力符号付きの有限状態オートマトン)等であってよい。本実施形態においては、分類器は、ユーザが発話または入力したテキストを入力し、入力したテキストの意図を識別するラベルを出力する。なお、テスト用分類器も同様である。
図3は、実施形態に係る検出装置10の処理フローを示す図である。検出装置10は、訓練データの誤りの候補を検出する場合、以下のステップS11から処理を実行する。
まず、ステップS11において、入力部21は、訓練データを入力する。続いて、ステップS12において、第1機械学習部22は、入力した訓練データを機械学習して分類器を生成する。
続いて、ステップS13において、第1テスト部23は、分類器をテストする(第1のテスト)。第1テスト部23は、一例として、クローズドテスト、クロスバリデーションテストまたはランダムテスト等を実行する。続いて、ステップS14において、保存部24は、分類器のテストにより不合格(NG)となった入力データを保存する。
続いて、ステップS15において、削除部25は、訓練データから少なくとも1つの入力データを選択する。続いて、ステップS16において、削除部25は、訓練データから、選択した入力データを削除し、縮小訓練データを生成する。
続いて、ステップS17において、第2機械学習部26は、縮小訓練データを機械学習してテスト用分類器を生成する。続いて、ステップS18において、第2テスト部27は、縮小訓練データを機械学習して生成したテスト用分類器をテストする(第2のテスト)。この場合において、第2テスト部27は、ステップS13の第1テスト部23によるテスト(第1のテスト)と同一のテストを実行する。
続いて、ステップS19において、判定部28は、分類器のテスト(第1テスト部23による第1のテスト)で不合格(NG)であり、且つ、テスト用分類器のテスト(第2テスト部27による第2のテスト)で合格(OK)である入力データが存在するか否かを判断する。
分類器のテストで不合格(NG)であり且つテスト用分類器のテストで合格(OK)である入力データが存在しない場合(ステップS19のNo)、判定部28は、ステップS20に処理を進める。ステップS20において、判定部28は、ステップS15の処理で訓練データの全ての入力データが選択されたか否かを判断する。全ての入力データが選択された場合には(ステップS20のYes)、判定部28は、本フローを終了する。まだ全ての入力データは選択されていない場合には(ステップS20のNo)、判定部28は、処理をステップS15に戻して、処理を繰り返す。そして、ステップS15において、削除部25は、訓練データから、まだ選択されていない他の少なくとも1つの入力データを選択する。
分類器のテストで不合格(NG)であり且つテスト用分類器のテストで合格(OK)である入力データが存在する場合(ステップS19のYes)、判定部28は、ステップS21に処理を進める。
ステップS21において、出力部29は、ステップS16で訓練データから削除した入力データを、訓練データの誤りの候補として出力する。そして、出力部29は、ステップS21の処理を終えると、本フローを終了する。このような処理を実行することにより、検出装置10は、ユーザに対して訓練データの誤りの候補を提供することができる。
図4は、訓練データを機械学習して生成した分類器のテスト結果の一例を示す図である。検出装置10は、第1のテストにおいて、訓練データを機械学習して生成した分類器に対して、複数の入力データ(テキスト)を入力する。そして、検出装置10は、分類器から出力された出力データ(ラベル)と期待データとを比較し、ラベルと期待データとが一致すれば合格(OK)、一致しなければ不合格(NG)を出力する。
クローズドテストまたはクロスバリデーションテストでは、訓練データに含まれる入力データが入力され、期待データは、その入力データに関連付けられた出力データとなる。例えば、「ドアをあけないで」というテキストを入力した場合の期待データは、「ドアをしめる(s.door.close)」である。
ここで、図4の例においては、「ドアをあけないで」というテキストを入力した場合に、分類器は「ドアをあける(s.door.open)」というラベルを出力する。従って、図4の例においては、「ドアをあけないで」というテキストを入力した場合の分類器のテスト結果は、不合格(NG)である。
図5は、縮小訓練データを機械学習して生成したテスト用分類器のテスト結果の一例を示す図である。つぎに、検出装置10は、訓練データの一部の入力データを削除して、縮小訓練データを生成する。図5の例においては、訓練データから「ドアをあけない」および「ドアとじましょう」という入力データ(テキスト)を削除して、縮小訓練データが生成されている。
検出装置10は、第2のテストにおいて、縮小訓練データを機械学習して生成したテスト用分類器に対して、第1のテストと同一のテストを実行し、ラベルと期待データとが一致すれば合格(OK)、一致しなければ不合格(NG)を出力する。
ここで、図5の例においては、「ドアをあけないで」というテキストを入力した場合に、テスト用分類器は「ドアをしめる(s.door.close)」というラベルを出力する。「ドアをあけないで」というテキストを入力した場合の期待データは、「ドアをしめる(s.door.close)」である。従って、図5の例においては、「ドアをあけないで」というテキストを入力した場合のテスト用分類器のテスト結果は、合格(OK)である。
つまり、「ドアをあけないで」という入力データ(テキスト)は、第1のテスト(分類器のテスト)で不合格(NG)であったのに、第2のテスト(テスト用分類器のテスト)で合格(OK)となっている。このようなテスト結果の変化は、入力データの削除による影響であると推測される。すなわち、第1のテスト(分類器のテスト)において、「ドアをあけないで」というテキストを分類器に入力した場合に、テスト結果が不合格(NG)となる原因は、縮小訓練データを生成するために削除した入力データ(「ドアをあけない」および「ドアとじましょう」)に誤りが含まれるためであると推定される。
そこで、検出装置10は、縮小訓練データを生成するために訓練データから削除した入力データを、誤りの候補として出力する。そして、ユーザは、誤りの候補を参照し、実際に誤りが存在するか否かを目視等で確認し、誤りが存在していれば、訓練データにおける対応する入力データを修正する。これにより、ユーザは、全ての訓練データを確認するのではなく、絞り込まれた一部の誤りの候補を確認すればよいので、入力データの誤りを容易に修正することができる。
以上のように、本実施形態に係る検出装置10によれば、実際には誤っているにも関わらずテストでは合格(OK)となってしまうような、機械的には検出が困難な訓練データの誤りを、効率良く検出し、ユーザに容易に誤りを修正させることができる。
なお、削除部25は、訓練データから、取得元が共通する複数の入力データを削除して縮小訓練データを生成してもよい。例えば、削除部25は、表の同一の列に同一の取得元(同一のユーザ)から収集した入力データが配置されている場合には、訓練データを列単位で削除する。例えば、クラウドソーシングにより不特定多数の人から入力データを収集した場合、わざと誤りを含める人がいる可能性もある。従って、検出装置10は、ユーザ単位で削除することにより、このような要因による誤りを候補として出力することができる。
図6は、変形例に係る検出装置10の処理フローを示す図である。検出装置10は、図3のステップS19に続けて、図6に示すステップS31からの処理を追加して実行してもよい。
まず、分類器のテストで不合格(NG)であり且つテスト用分類器のテストで合格(OK)である入力データが存在する場合(ステップS19のYes)、判定部28は、ステップS31に処理を進める。
続いて、ステップS31において、削除部25は、ステップS15で選択した入力データ(実際に削除した入力データ)の中から、さらに一部の入力データを絞り込んで選択する。続いて、ステップS32において、削除部25は、訓練データから、絞り込んで選択した一部の入力データを削除し、新たな縮小訓練データを生成する。
続いて、ステップS33において、第2機械学習部26は、ステップS32で生成した新たな縮小訓練データを機械学習して、新たなテスト用分類器を生成する。続いて、ステップS34において、第2テスト部27は、新たな縮小訓練データを機械学習して生成した、新たなテスト用分類器をテストする(第3のテスト)。この場合において、第2テスト部27は、ステップS13の第1テスト部23によるテスト(第1のテスト)と同一のテストを実行する。
続いて、ステップS35において、判定部28は、分類器のテスト(第1テスト部23による第1のテスト)で不合格(NG)であり、且つ、新たなテスト用分類器のテスト(第2テスト部27による第3のテスト)で合格(OK)である入力データが存在するか否かを判断する。
分類器のテストで不合格(NG)であり且つ新たなテスト用分類器のテストで合格(OK)である入力データが存在しない場合(ステップS35のNo)、判定部28は、ステップS31に処理を戻して、処理を繰り返す。この場合、ステップS31において、削除部25は、ステップS15で選択した入力データ(実際に削除した入力データ)の中から、まだ選択されていない他の少なくとも1つの入力データを選択する。
分類器のテストで不合格(NG)であり且つ新たなテスト用分類器のテストで合格(OK)である入力データが存在する場合(ステップS35のYes)、判定部28は、ステップS36に処理を進める。
続いて、ステップS36において、出力部29は、削除した入力データから、さらに絞り込んで選択した入力データを誤りの候補として出力する。そして、出力部29は、ステップS36の処理を終えると、本フローを終了する。
このような処理を実行することにより、検出装置10は、ユーザに対して提供する誤りの候補の数を、より少なくすることができる。これにより、ユーザは、実際に誤りが存在するか否かを、容易に確認することができる。なお、検出装置10は、ステップS35のYesの後に、さらに、ステップS31からステップS36までと同様の処理を1回以上追加してもよい。これにより、検出装置10は、誤りの候補をより少なくすることができ、より容易に誤りの修正をさせることができる。
図7は、実施形態に係る修正システム50の構成を示す図である。修正システム50は、訓練データ記憶部60と、重複検出部61と、クローズドテスト部62と、クロスバリデーションテスト部63と、ポテンシャルテスト部64と、表示制御部65と、修正部66と、制御部67とを備える。
訓練データ記憶部60は、訓練データを記憶する。重複検出部61は、訓練データ記憶部60に記憶された訓練データに含まれる入力データの重複を検出する。
クローズドテスト部62は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、クローズドテストを実行する。クロスバリデーションテスト部63は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、クロスバリデーションテストを実行する。ポテンシャルテスト部64は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、図1から図6を参照して説明した検出装置10によりテストを実行する。
表示制御部65は、重複検出部61による入力データの重複の検出結果を表示装置に表示させる。また、表示制御部65は、クローズドテスト部62、クロスバリデーションテスト部63およびポテンシャルテスト部64によるテストの結果を表示装置に表示させる。
修正部66は、重複の検出結果の表示に応じたユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの重複を修正する。修正部66は、クローズドテスト部62、クロスバリデーションテスト部63およびポテンシャルテスト部64によるテストの結果の表示に応じたユーザ操作に従って、訓練データ記憶部60に記憶されている訓練データの誤りを修正する。
制御部67は、重複検出部61、クローズドテスト部62、クロスバリデーションテスト部63およびポテンシャルテスト部64によるテストの実行順序を制御する。
より具体的には、制御部67は、クローズドテスト部62、クロスバリデーションテスト部63およびポテンシャルテスト部64によるテストの実行に先だって、重複検出部61による重複の検出および訓練データの修正をさせる。
また、制御部67は、クローズドテスト部62によるクローズドテストおよび修正部66による訓練データの修正を、1回以上実行させる。また、制御部67は、クローズドテストの結果、分類器の精度が予め定められた第1の規定値以上である場合、クロスバリデーションテスト部63によるクロスバリデーションテストおよび修正部66による訓練データの修正を、1回以上実行させる。そして、制御部67は、クロスバリデーションテストの結果、分類器の精度が予め定められた第2の規定値(第2の規定値は第1の規定値より小さい)以上である場合、処理を終了させる。
一方、制御部67は、クローズドテストおよび訓練データの修正を予め定められた回数以上実行しても、分類器の精度が第1の規定値以上とならない場合、ポテンシャルテスト部64によるテストおよび修正部66による訓練データの修正を実行させる。そして、制御部67は、ポテンシャルテスト部64によるテストおよび訓練データの修正を実行した後、再度クローズドテストを実行して分類器の精度が第1の規定値以上となった場合には、クロスバリデーションテストおよび訓練データの修正を実行させる。
一方、制御部67は、クロスバリデーションテストおよび訓練データの修正を予め定められた回数以上実行しても、分類器の精度が第2の規定値以上とならない場合、ポテンシャルテスト部64によるテストおよび修正部66による訓練データの修正を実行させる。そして、制御部67は、ポテンシャルテスト部64によるテストおよび訓練データの修正を実行した後、再度クロスバリデーションテストを実行して分類器の精度が第2の規定値以上となった場合には、処理を終了させる。
図8は、クローズドテストの処理内容を説明するための図である。クローズドテストは、訓練データに含まれる入力データを、分類器に入力するテストである。クローズドテストは、処理量が少なく処理時間が比較的に短い。従って、修正システム50は、クローズドテストを、他のテストに先だって実行することにより、全体として効率良く訓練データの誤りを修正することができる。
図9は、クロスバリデーションテストの処理内容を説明するための図である。クロスバリデーションテストは、まず、訓練データを複数の分割訓練データに分割する。そして、それぞれの分割訓練データ毎に、他の全ての分割訓練データを機械学習してテスト用分類器を生成し、選択した分割訓練データに含まれる入力データをテスト用分類器に入力してテストする。
例えば、図9に示されるように、1つの訓練データを、第1の分割訓練データ、第2の分割訓練データおよび第3の分割訓練データの3つに分割したとする。この場合、最初に、第2、第3の分割訓練データを用いて第1のテスト用分類器を生成し、第1の分割訓練データを第1のテスト用分類器に入力してテストする。次に、第3、第1の分割訓練データを用いて第2のテスト用分類器を生成し、第2の分割訓練データを第2のテスト用分類器に入力してテストする。最後に、第1、第2の分割訓練データを用いて第3のテスト用分類器を生成し、第3の分割訓練データを第3のテスト用分類器に入力してテストする。
クロスバリデーションテストでは、未知の入力データに対する分類の精度を確認することができる。しかし、クロスバリデーションテストは、処理量が多く処理時間が比較的に長い。従って、修正システム50は、クロスバリデーションテストを、クローズドテストにより訓練データがある程度修正された後に実行することにより、全体として効率良く訓練データの誤りを修正することができる。
図10は、実施形態に係る修正システム50の処理フローを示す図である。修正システム50は、以下のステップS41から処理を実行する。
まず、ステップS41において、重複検出部61は、訓練データ記憶部60に記憶された訓練データに含まれる入力データの重複を検出する。続いて、ステップS42において、表示制御部65は、重複検出部61により検出された入力データの重複を表示装置に表示させる。続いて、ステップS43において、修正部66は、重複結果の表示に応じたユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの重複を修正する。これにより、修正部66は、入力データの重複を無くした訓練データを生成することができる。そして、制御部67は、ステップS43が終了すると、処理をステップS44に進める。
ステップS44において、クローズドテスト部62は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、クローズドテストを実行する。続いて、ステップS45において、クローズドテスト部62は、ステップS44のテスト結果に基づき分類器の精度を算出する。クローズドテスト部62は、一例として、テストのために入力した入力データ数に対して、合格(OK)であった入力データの数の割合を精度として算出する。
続いて、ステップS46において、制御部67は、ステップS45で算出した精度が、予め定められた第1の規定値以上であるか否かを判定する。例えば、制御部67は、ステップS45で算出した精度が、95%以上であるか否かを判定する。
ステップS45で算出した精度が第1の規定値以上ではない場合(ステップS46のNo)、制御部67は、ステップS47に処理を進める。ステップS47において、制御部67は、ステップS44のクローズドテストを所定回以上実行したか否かを判定する。制御部67は、一例として、クローズドテストを2回以上実行したか否かを判定する。
制御部67は、クローズドテストを所定回以上実行した場合(ステップS47のYes)、処理をステップS50に進める。制御部67は、クローズドテストを所定回以上実行していない場合(ステップS47のNo)、処理をステップS48に進める。
ステップS48において、表示制御部65は、クローズドテストにより検出されたテスト結果を表示装置に表示させる。続いて、ステップS49において、修正部66は、クローズドテストのテスト結果の表示に対するユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの誤りを修正する。これにより、修正部66は、訓練データにおけるクローズドテストにより検出された誤りを修正することができる。そして、制御部67は、ステップS49が終了すると、処理をステップS44に戻す。
また、ステップS50において、ポテンシャルテスト部64は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、図1から図6を参照して説明した検出装置10によりテストを実行する。続いて、ステップS51において、表示制御部65は、検出装置10によるテスト結果を表示装置に表示させる。続いて、ステップS52において、修正部66は、検出装置10によるテスト結果の表示に対するユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの誤りを修正する。これにより、修正部66は、テストでは不合格(NG)とならない入力データの誤りを修正することができる。そして、制御部67は、ステップS52が終了すると、処理をステップS44に戻す。
制御部67は、ステップS44からステップS52までを繰り返し実行した結果、クローズドテストに基づく分類器の精度(ステップS45で算出した精度)が第1の規定値以上となった場合(ステップS46のYes)、処理をステップS53に進める。なお、制御部67は、ステップS44からステップS52までを一定回数繰り返しても精度が第1の規定値以上とならなかった場合には、本フローを途中で中止してもよい。
ステップS53において、クロスバリデーションテスト部63は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、クロスバリデーションテストを実行する。続いて、ステップS54において、クロスバリデーションテスト部63は、ステップS53のテスト結果に基づき分類器の精度を算出する。
続いて、ステップS55において、制御部67は、ステップS54で算出した精度が、予め定められた第2の規定値以上であるか否かを判定する。例えば、制御部67は、ステップS54で算出した精度が、85%以上であるか否かを判定する。
ステップS54で算出した精度が第2の規定値以上ではない場合(ステップS55のNo)、制御部67は、ステップS56に処理を進める。ステップS56において、制御部67は、ステップS53のクロスバリデーションテストを所定回以上実行したか否かを判定する。制御部67は、一例として、クロスバリデーションテストを2回以上実行したか否かを判定する。
制御部67は、クロスバリデーションテストを所定回以上実行した場合(ステップS56のYes)、処理をステップS59に進める。制御部67は、クロスバリデーションテストを所定回以上実行していない場合(ステップS56のNo)、処理をステップS57に進める。
ステップS57において、表示制御部65は、クロスバリデーションテストにより検出されたテスト結果を表示装置に表示させる。続いて、ステップS58において、修正部66は、クロスバリデーションテストのテスト結果の表示に対するユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの誤りを修正する。これにより、修正部66は、訓練データにおけるクロスバリデーションテストにより検出された誤りを修正することができる。そして、制御部67は、ステップS58が終了すると、処理をステップS53に戻す。
また、ステップS59において、ポテンシャルテスト部64は、訓練データ記憶部60に記憶された訓練データを機械学習して生成した分類器に対して、図1から図6を参照して説明した検出装置10によりテストを実行する。続いて、ステップS60において、表示制御部65は、検出装置10によるテスト結果を表示装置に表示させる。続いて、ステップS61において、修正部66は、検出装置10によるテスト結果の表示に対するユーザの操作に従って、訓練データ記憶部60に記憶されている訓練データの誤りを修正する。これにより、修正部66は、テストでは不合格(NG)とならない入力データの誤りを修正することができる。そして、制御部67は、ステップS61が終了すると、処理をステップS53に戻す。
制御部67は、ステップS53からステップS61までを繰り返し実行した結果、クロスバリデーションテストに基づく分類器の精度(ステップS54で算出した精度)が第2の規定値以上となった場合(ステップS55のYes)、本フローを終了する。なお、制御部67は、ステップS53からステップS61までを一定回数繰り返しても精度が第2の規定値以上とならなかった場合には、本フローを途中で中止してもよい。
以上のように、本実施形態に係る修正システム50によれば、クローズドテスト、クロスバリデーションテストおよびポテンシャルテスト部64によるテストの3つの異なるテストを用いて、訓練データの誤りを検出して修正することができる。また、修正システム50は、クローズドテスト、クロスバリデーションテストおよびポテンシャルテスト部64によるテストを、効率の良い順番で実行するので、少ないコストで訓練データの精度を向上させることができる。
図11は、ポテンシャルテスト部64によるテストの結果の表示例を示す図である。表示制御部65は、ポテンシャルテスト部64によるテストの結果を受け取る。具体的には、表示制御部65は、ポテンシャルテスト部64によるテストで誤りの候補として検出された少なくとも1つの入力データと、訓練データ上で関連付けられている出力データとを受け取る。
本実施形態においては、表示制御部65は、出力データとして、ラベル、IDおよび問題文を受け取る。そして、表示制御部65は、受け取った少なくとも1つの入力データと、関連付けられた出力データ(ラベル、IDおよび問題文)を表形式で表示させる。これにより、表示制御部65は、ユーザに対して、誤りの候補となっている入力データと、関連付けられた問題文との関係が誤っていないかどうかを容易に判断させることができる。
図12は、クローズドテストおよびクロスバリデーションテストのテスト結果の表示例を示す図である。表示制御部65は、クローズドテスト部62およびクロスバリデーションテスト部63から、テストの結果が不合格(NG)であった入力データを受け取る。さらに、表示制御部65は、不合格(NG)であったそれぞれの入力データに関連付けられている訓練データに含まれる出力データ(ラベル、ID、問題文)、並びに、テストにより分類器から出力された出力データ(ラベル、ID、問題文)を受け取る。
そして、表示制御部65は、不合格であった入力データと、訓練データに含まれる出力データと、テストにより分類器から出力された出力データとを、表の1つの行に表示させる。これにより、表示制御部65は、ユーザに対して、訓練データに含まれる出力データが誤っているのか、テストにより分類器から出力された出力データが誤っているのか、または、両者が誤っているのか容易に判断させることができる。また、表示制御部65は、ユーザに対して、入力データが誤っているのかも容易に判断させることができる。
例えば、図12において、表示制御部65は、「カギをする」という入力データについて、訓練データに含まれる出力データ(「ドアをしめる」)が誤っており、テストにより分類器から出力された出力データ(「カギをしめる」)が正しいと判断させることができる。
また、図12において、表示制御部65は、「ミラーヒータwo停止する」という入力データが「ミラーヒータを停止する」の誤りであると判断させることができる。
また、図12において、表示制御部65は、「ミラーヒータwo停止する」という入力データについて、訓練データに含まれる出力データ(「ミラーヒータを停止する」)が正しく、テストにより分類器から出力された出力データ(「ミラーヒータを作動させる」)が誤っていると判断させることができる。
また、図12において、表示制御部65は、「窓をあけて」という入力データについて、訓練データに含まれる出力データ(「パワーウィンドウを操作する」)、および、テストにより分類器から出力された出力データ(「パワーウィンドウを開ける」)の両者が誤っていると判断させることができる。
図13は、訓練データを修正するための操作例を示す図である。修正部66は、表示制御部65により表示装置に表示された表に対する、ユーザの操作を受け付ける。
例えば、ある入力データについて、分類器から出力された出力データが正しく、訓練データに含まれる出力データが誤っている場合、ユーザは、表上において、訓練データに含まれる出力データの少なくとも一部(例えば、ID)を削除し、分類器から出力された出力データをそのまま残す操作をする。そして、修正部66は、このような操作、すなわち、分類器から出力された出力データが正しいとする操作がされた場合には、不合格であった入力データを、訓練データにおける分類器から出力された出力データに関連付ける処理を実行する。
また、例えば、ある入力データについて、訓練データに含まれる出力データが正しく、分類器から出力された出力データが誤っている場合、ユーザは、表上において、分類器から出力された出力データの少なくとも一部(例えば、ID)を削除し、訓練データに含まれる出力データをそのまま残す操作をする。そして、修正部66は、このような操作、すなわち、訓練データに含まれる出力データが正しいとする操作がされた場合には、不合格であった入力データを修正しない処理を実行する。
また、例えば、ある入力データについて、分類器から出力された出力データおよび訓練データに含まれる出力データの何れもが誤っている場合、ユーザは、表上において、分類器から出力された出力データの少なくとも一部(例えば、ID)、および、訓練データに含まれる出力データの少なくとも一部(例えば、ID)の両者を削除する操作をする。そして、修正部66は、このような操作、すなわち、分類器から出力された出力データおよび訓練データに含まれる出力データの何れも誤っているとする操作がされた場合には、訓練データにおける不合格であった入力データを削除する処理を実行する。
また、例えば、ある入力データが誤っている場合、ユーザは、表上において、その入力データの内容を修正する操作をする。そして、修正部66は、このような操作、すなわち、入力データを修正する操作がされた場合、訓練データにおけるその入力データの内容を修正する処理を実行する。
図14は、訓練データの修正例を示す図である。修正部66は、図13に示したような修正をすることにより、誤っていた入力データを正しい出力データに関連付けることができる。例えば、図14に示すように、「カギをする」という入力データを、「ドアをしめる」という出力データから「カギをしめる」という出力データへと関連付けを移動させることができる。このように、本実施形態に係る修正システム50によれば、訓練データの誤りを容易に且つ効率良く修正することができる。
図15は、実施形態に係る検出装置10および修正システム50のハードウェア構成を示す図である。検出装置10および修正システム50は、CPU(Central Processing Unit)101と、操作部102と、表示部103と、ROM(Read Only Memory)104と、RAM(Random Access Memory)105と、記憶部106と、通信装置107とを備える。各部は、バス108により接続される。
CPU101は、RAM105の所定領域を作業領域としてROM104または記憶部106に予め記憶された各種プログラムとの協働により各種処理を実行し、検出装置10および修正システム50を構成する各部の動作を統括的に制御する。また、CPU101は、ROM104または記憶部106に予め記憶されたプログラムとの協働により、操作部102、表示部103および通信装置107等を制御する。
操作部102は、マウスおよびキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をCPU101に出力する。
表示部103は、LCD(Liquid Crystal Display)等の表示装置である。表示部103は、CPU101からの表示信号に基づいて、各種情報を表示する。例えば、表示部103は、検出装置10が出力する誤りの候補および修正システム50が出力するテスト結果等を表示する。
ROM104は、検出装置10および修正システム50の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。RAM105は、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性の記憶媒体である。RAM105は、CPU101の作業領域として機能する。具体的には、検出装置10および修正システム50が用いる各種変数およびパラメータ等を一時記憶するバッファ等として機能する。
記憶部106は、フラッシュメモリ等の半導体による記憶媒体、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶部106は、検出装置10および修正システム50の制御に用いられるプログラムおよび各種設定情報等を記憶する。また、記憶部106は、訓練データおよび生成した分類器等に係る各種の情報等を記憶する。なお、検出装置10が備える保存部24および訓練データ記憶部60は、RAM105および記憶部106の何れにより実現されてもよい。
通信装置107は、外部の機器と通信して、データの入力および出力等に用いられる。
本実施形態の検出装置10および修正システム50で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の検出装置10および修正システム50で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の検出装置10および修正システム50で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態の検出装置10および修正システム50で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施形態の検出装置10で実行されるプログラムは、上述した検出装置10の各部(入力部21、第1機械学習部22、第1テスト部23、保存部24、削除部25、第2機械学習部26、第2テスト部27、判定部28および出力部29)を含むモジュール構成となっており、CPU101(プロセッサ)が記憶媒体等からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、検出装置10(入力部21、第1機械学習部22、第1テスト部23、保存部24、削除部25、第2機械学習部26、第2テスト部27、判定部28および出力部29)が主記憶装置上に生成されるようになっている。なお、検出装置10の一部または全部は、ハードウェアにより構成されていてもよい。
本実施形態の修正システム50で実行されるプログラムは、上述した修正システム50の各部(訓練データ記憶部60、重複検出部61、クローズドテスト部62、クロスバリデーションテスト部63、ポテンシャルテスト部64、表示制御部65、修正部66および制御部67)を含むモジュール構成となっており、CPU101(プロセッサ)が記憶媒体等からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、修正システム50(訓練データ記憶部60、重複検出部61、クローズドテスト部62、クロスバリデーションテスト部63、ポテンシャルテスト部64、表示制御部65、修正部66および制御部67)が主記憶装置上に生成されるようになっている。なお、修正システム50の一部または全部は、ハードウェアにより構成されていてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
Claims (16)
- 分類器を生成するための訓練データの誤りを検出する検出装置であって、
前記訓練データを機械学習して生成した分類器をテストする第1テスト部と、
前記訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する削除部と、
前記縮小訓練データを機械学習して生成したテスト用分類器をテストする第2テスト部と、
前記分類器のテストで不合格であり且つ前記テスト用分類器のテストで合格である入力データが存在する場合、前記縮小訓練データを生成するために前記訓練データから削除した前記少なくとも1つの入力データを誤りの候補として出力する出力部と、
を備える検出装置。 - 前記第2テスト部は、前記第1テスト部によるテストと同一のテストを実行する
請求項1に記載の検出装置。 - 前記第1テスト部および前記第2テスト部は、クローズドテストを実行する
請求項2に記載の検出装置。 - 前記第1テスト部および前記第2テスト部は、クロスバリデーションテストを実行する
請求項2に記載の検出装置。 - 前記削除部は、前記訓練データから、取得元が共通する複数の入力データを削除して前記縮小訓練データを生成する
請求項1から4の何れか1項に記載の検出装置。 - 前記削除部は、前記分類器のテストで不合格であり且つ前記テスト用分類器のテストで合格である入力データが存在する場合、削除した複数の入力データの中からさらに一部の入力データを絞り込んで選択し、前記訓練データから、絞り込んで選択した一部の入力データを削除した新たな縮小訓練データを生成し、
前記第2テスト部は、前記新たな縮小訓練データを機械学習して生成した新たなテスト用分類器をテストし、
前記出力部は、前記分類器のテストで不合格となった入力データが、前記新たなテスト用分類器のテストで合格となった場合、絞り込んで選択した入力データを誤りの候補として出力する
請求項1から5の何れか1項に記載の検出装置。 - 前記訓練データに含まれる入力データは、人が発話または入力したテキストである
請求項1から6の何れか1項に記載の検出装置。 - 分類器を生成するための訓練データの誤りを修正する修正システムであって、
前記分類器に対してクローズドテストを実行するクローズドテスト部と、
前記分類器に対してクロスバリデーションテストを実行するクロスバリデーションテスト部と、
前記分類器に対して請求項1から7の何れか1項に記載の検出装置によりテストを実行するポテンシャルテスト部と、
前記クローズドテスト部、前記クロスバリデーションテスト部および前記ポテンシャルテスト部によるテスト結果の表示に対するユーザ操作に応じて、前記訓練データの誤りを修正する修正部と、
テストの実行順序を制御する制御部と、
を備え、
前記制御部は、
前記クローズドテスト部または前記クロスバリデーションテスト部によるテストを実行した後に、前記分類器の精度が予め定められた規定値より小さい場合に、前記修正部に前記訓練データの誤りを修正させ、
前記クローズドテスト部または前記クロスバリデーションテスト部によるテストを予め定められた回数実行した後に、前記分類器の精度が前記規定値より小さい場合に、前記ポテンシャルテスト部によるテストを実行させる
修正システム。 - 前記制御部は、
前記クローズドテスト部によるテストを実行した後に、前記訓練データの精度が前記規定値以上である場合に、前記クロスバリデーションテスト部によるテストを実行させ、
前記クロスバリデーションテスト部によるテストを実行した後に、前記訓練データの精度が前記規定値以上である場合に、修正を終了させる
請求項8に記載の修正システム。 - 前記分類器をテストした結果が不合格であった場合、不合格であった入力データと、不合格であった入力データに関連付けられた前記訓練データに含まれる出力データと、テストにより前記分類器から出力された出力データとを関連付けて表示させる表示制御部をさらに備える
請求項8または9に記載の修正システム。 - 前記表示制御部は、不合格であった入力データと、不合格であった入力データに関連付けられた前記訓練データに含まれる出力データと、テストにより前記分類器から出力された出力データとを、表の1つの行に表示させる
請求項10に記載の修正システム。 - 前記修正部は、前記分類器から出力された出力データが正しいとする操作がされた場合には、不合格であった入力データを、前記訓練データにおける前記分類器から出力された出力データに関連付ける
請求項10または11に記載の修正システム。 - 前記修正部は、前記訓練データに含まれる出力データが正しいとする操作がされた場合には、前記訓練データにおける、不合格であった入力データを修正しない
請求項10から12の何れか1項に記載の修正システム。 - 前記修正部は、前記分類器から出力された出力データおよび前記訓練データに含まれる出力データの何れも誤っているとする操作がされた場合には、前記訓練データにおける不合格であった前記訓練データを削除する
請求項10から13の何れか1項に記載の修正システム。 - 分類器を生成するための訓練データの誤りを検出する検出方法であって、
前記訓練データを機械学習して生成した前記分類器をテストする第1テストステップと、
前記訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する削除ステップと、
前記縮小訓練データを機械学習して生成したテスト用分類器をテストする第2テストステップと、
前記分類器のテストで不合格であり且つ前記テスト用分類器のテストで合格である入力データが存在する場合、前記縮小訓練データを生成するために前記訓練データから削除した前記少なくとも1つの入力データを誤りの候補として出力する出力ステップと、
を備える検出方法。 - コンピュータを、分類器を生成するための訓練データの誤りを検出する検出装置として機能させるためのプログラムであって、
前記コンピュータを、
前記訓練データを機械学習して生成した前記分類器をテストする第1テスト部と、
前記訓練データから少なくとも1つの入力データを削除した縮小訓練データを生成する削除部と、
前記縮小訓練データを機械学習して生成したテスト用分類器をテストする第2テスト部と、
前記分類器のテストで不合格であり且つ前記テスト用分類器のテストで合格である入力データが存在する場合、前記縮小訓練データを生成するために前記訓練データから削除した前記少なくとも1つの入力データを誤りの候補として出力する出力部と、
して機能させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014119959A JP6173972B2 (ja) | 2014-06-10 | 2014-06-10 | 検出装置、修正システム、検出方法およびプログラム |
JP2014-119959 | 2014-06-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015190203A1 true WO2015190203A1 (ja) | 2015-12-17 |
Family
ID=54833308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/063527 WO2015190203A1 (ja) | 2014-06-10 | 2015-05-11 | 検出装置、修正システム、検出方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6173972B2 (ja) |
WO (1) | WO2015190203A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020209963A1 (en) * | 2019-04-08 | 2020-10-15 | Microsoft Technology Licensing, Llc | Leveraging a collection of training tables to accurately predict errors within a variety of tables |
JP2020533692A (ja) * | 2017-09-15 | 2020-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 訓練データを更新するための方法、システム、およびコンピュータ・プログラム |
US20210295212A1 (en) * | 2020-03-23 | 2021-09-23 | Yokogawa Electric Corporation | Data management system, data management method, and recording medium having recorded thereon a data management program |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019216263A1 (ja) * | 2018-05-10 | 2019-11-14 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7095467B2 (ja) * | 2018-08-01 | 2022-07-05 | 株式会社デンソー | 訓練データ評価装置、訓練データ評価方法、およびプログラム |
JP7060824B2 (ja) * | 2018-08-15 | 2022-04-27 | 日本電信電話株式会社 | 分類器評価装置、分類器評価方法、及びプログラム |
JP7046760B2 (ja) * | 2018-08-23 | 2022-04-04 | アンリツ株式会社 | 信号解析装置及び信号解析方法並びに信号解析プログラム |
KR102270169B1 (ko) * | 2019-07-26 | 2021-06-25 | 주식회사 수아랩 | 데이터 관리 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059080A (ja) * | 2006-08-29 | 2008-03-13 | Matsushita Electric Works Ltd | 信号識別装置の学習データの選択方法 |
JP2013080395A (ja) * | 2011-10-04 | 2013-05-02 | Nippon Telegr & Teleph Corp <Ntt> | 誤分類検出装置、方法、及びプログラム |
JP2014092878A (ja) * | 2012-11-01 | 2014-05-19 | Nippon Telegr & Teleph Corp <Ntt> | 分類モデル更新支援装置及び方法及びプログラム |
-
2014
- 2014-06-10 JP JP2014119959A patent/JP6173972B2/ja not_active Expired - Fee Related
-
2015
- 2015-05-11 WO PCT/JP2015/063527 patent/WO2015190203A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059080A (ja) * | 2006-08-29 | 2008-03-13 | Matsushita Electric Works Ltd | 信号識別装置の学習データの選択方法 |
JP2013080395A (ja) * | 2011-10-04 | 2013-05-02 | Nippon Telegr & Teleph Corp <Ntt> | 誤分類検出装置、方法、及びプログラム |
JP2014092878A (ja) * | 2012-11-01 | 2014-05-19 | Nippon Telegr & Teleph Corp <Ntt> | 分類モデル更新支援装置及び方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
DAICHI TAKATORI ET AL.: "Improvement of Support Vector Machine by Removing Outliers and its Application to Shot Boundary Detection", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS DAI 19 KAI PROCEEDINGS OF DATA ENGINEERING WORKSHOP, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS DATA KOGAKU KENKYU SENMON IINKAI, 7 April 2008 (2008-04-07), pages 1 - 7, ISSN: 1347-4413 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020533692A (ja) * | 2017-09-15 | 2020-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 訓練データを更新するための方法、システム、およびコンピュータ・プログラム |
JP7052016B2 (ja) | 2017-09-15 | 2022-04-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 訓練データを更新するための方法、システム、およびコンピュータ・プログラム |
WO2020209963A1 (en) * | 2019-04-08 | 2020-10-15 | Microsoft Technology Licensing, Llc | Leveraging a collection of training tables to accurately predict errors within a variety of tables |
US11157479B2 (en) | 2019-04-08 | 2021-10-26 | Microsoft Technology Licensing, Llc | Leveraging a collection of training tables to accurately predict errors within a variety of tables |
CN113728321A (zh) * | 2019-04-08 | 2021-11-30 | 微软技术许可有限责任公司 | 利用训练表的集合来准确预测各种表内的错误 |
US20210295212A1 (en) * | 2020-03-23 | 2021-09-23 | Yokogawa Electric Corporation | Data management system, data management method, and recording medium having recorded thereon a data management program |
Also Published As
Publication number | Publication date |
---|---|
JP2015232847A (ja) | 2015-12-24 |
JP6173972B2 (ja) | 2017-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6173972B2 (ja) | 検出装置、修正システム、検出方法およびプログラム | |
JP5607741B2 (ja) | ランタイム挙動に基づくアプリケーションの自動修正 | |
US9886372B2 (en) | Automatic correction of application based on runtime behavior | |
US10176079B2 (en) | Identification of elements of currently-executing component script | |
JP5874891B2 (ja) | プログラムテスト装置、プログラムテスト方法、およびプログラム | |
WO2019211830A1 (en) | Method and apparatus for automatic testing of web pages | |
US11580012B2 (en) | Smart test case generator | |
JP2017041171A (ja) | テストシナリオ生成支援装置およびテストシナリオ生成支援方法 | |
AU2017202743A1 (en) | Method for automatically validating data against a predefined data specification | |
JP2019029015A (ja) | インタラクティブなソフトウェアプログラムの修復 | |
CN104346035A (zh) | 对自动地更正的单词的指示 | |
US20180196649A1 (en) | Web application adjustment for different browsers | |
JP2018092362A (ja) | テストスクリプト修正装置及びテストスクリプト修正プログラム | |
JP2018092361A (ja) | テストスクリプト修正装置及びテストスクリプト修正プログラム | |
KR102144044B1 (ko) | 기계학습 기반 소프트웨어 정적 시험 거짓경보 분류 장치 및 방법 | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
KR101563494B1 (ko) | 파일 변경에 따른 실시간 소스코드 보안 약점 탐지 장치 및 방법 | |
KR102176133B1 (ko) | 소프트웨어 테스트 케이스 자동 생성 방법 및 장치 | |
EP4131010A1 (en) | Method and system for performing human machine interface (hmi) automation testing | |
JPWO2016151710A1 (ja) | 仕様構成装置および方法 | |
KR101534493B1 (ko) | 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법 | |
US10417110B2 (en) | Method for verifying traceability of first instructions in a procedural programming language generated from second instructions in a modelling language | |
US20220100640A1 (en) | Generating test input values for functional components based on test coverage analysis | |
JP6369177B2 (ja) | 開発支援プログラム,開発支援方法及び開発支援装置 | |
CN107704484B (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: 15805760 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15805760 Country of ref document: EP Kind code of ref document: A1 |