WO2023223448A1 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
WO2023223448A1
WO2023223448A1 PCT/JP2022/020610 JP2022020610W WO2023223448A1 WO 2023223448 A1 WO2023223448 A1 WO 2023223448A1 JP 2022020610 W JP2022020610 W JP 2022020610W WO 2023223448 A1 WO2023223448 A1 WO 2023223448A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
degree
influence
error
information processing
Prior art date
Application number
PCT/JP2022/020610
Other languages
English (en)
French (fr)
Inventor
于洋 董
昌文 榎本
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2022/020610 priority Critical patent/WO2023223448A1/ja
Publication of WO2023223448A1 publication Critical patent/WO2023223448A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Definitions

  • the present invention relates to techniques for analyzing data.
  • Patent Document 1 describes a technology that enables highly accurate data analysis by appropriately responding to data inconsistencies between business systems. It is described that the contents of the cleansing process are specified and the data cleansing process is performed with the specified contents.
  • One aspect of the present invention has been made in view of the above problems, and one example of its purpose is to enable appropriate error correction depending on the analysis task.
  • An information processing device includes an acquisition unit that acquires target data, and an information processing device that determines the degree of influence that a plurality of errors included in the target data have on an evaluation index of a machine learning model for each error or the
  • the apparatus includes a calculating means for calculating each attribute of an error, and a determining means for determining data to be corrected from among the target data based on the degree of influence calculated by the calculating means.
  • An information processing method includes at least one processor acquiring target data, and determining the degree of influence that a plurality of errors included in the target data have on an evaluation index of a machine learning model.
  • the method includes calculating for each error or each attribute of the error, and determining data to be corrected from among the target data based on the calculated degree of influence.
  • a program includes an acquisition means for acquiring target data, and a computer program that determines the degree of influence that a plurality of errors included in the target data have on the evaluation index of a machine learning model for each error or It functions as a calculation means that calculates for each attribute of the error, and a determination means that determines data to be corrected from among the target data based on the degree of influence calculated by the calculation means.
  • appropriate error correction can be performed according to the analysis task.
  • FIG. 1 is a block diagram showing the configuration of an information processing device according to exemplary embodiment 1.
  • FIG. 3 is a flow diagram showing the flow of an information processing method according to exemplary embodiment 1.
  • FIG. 2 is a block diagram showing the configuration of an information processing device according to exemplary embodiment 2.
  • FIG. 3 is a flow diagram showing the flow of an information processing method according to exemplary embodiment 2.
  • FIG. 7 is a diagram illustrating a specific example of an error detected by an error detection unit according to exemplary embodiment 2.
  • FIG. FIG. 7 is a diagram illustrating a specific example of grouping errors by a grouping unit according to the second exemplary embodiment.
  • 7 is a diagram illustrating a specific example of evaluation data generated by an evaluation data generation unit according to exemplary embodiment 2.
  • FIG. 7 is a diagram illustrating a specific example of the degree of influence calculated by the degree of influence calculation unit according to the second exemplary embodiment.
  • 7 is a diagram illustrating a specific example of determination processing by a determination unit according to exemplary embodiment 2.
  • FIG. 7 is a diagram illustrating a specific example of data correction processing by a data cleansing unit according to exemplary embodiment 2.
  • FIG. FIG. 2 is a diagram illustrating an example of a computer that executes instructions of a program that is software that implements each function of each device according to each exemplary embodiment.
  • FIG. 1 is a block diagram showing the configuration of the information processing device 1. As shown in FIG.
  • the information processing device 1 includes an acquisition section 11, a calculation section 12, and a determination section 13.
  • the acquisition unit 11 acquires target data.
  • the calculation unit 12 calculates the degree of influence that a plurality of errors included in the target data have on the evaluation index of the machine learning model for each error or each attribute of the error.
  • the determining unit 13 determines data to be modified from among the target data based on the degree of influence calculated by the calculating unit 12.
  • the acquisition unit 11 that acquires target data and the influence that a plurality of errors included in the target data have on the evaluation index of a machine learning model.
  • a calculation unit 12 that calculates the degree of influence for each error or each attribute of the error, and a determination unit 13 that determines data to be corrected from among the target data based on the degree of influence calculated by the calculation unit 12. configuration has been adopted. Therefore, according to the information processing device 1 according to the present exemplary embodiment, it is possible to perform appropriate error correction according to the analysis task.
  • the functions of the information processing device 1 described above can also be realized by a program.
  • the information processing program according to the present exemplary embodiment includes a computer, an acquisition means for acquiring target data, and a method for determining the degree of influence of a plurality of errors included in the target data on the evaluation index of a machine learning model. and a determining means that determines data to be corrected from among the target data based on the degree of influence calculated by the calculating means.
  • FIG. 2 is a flow diagram showing the flow of the information processing method S1.
  • the execution entity of each step in the information processing method S1 may be a processor provided in the information processing device 1, or may be a processor provided in another device, and the execution entity of each step may be provided in a different device.
  • the processor may also be a
  • step S11 at least one processor acquires target data.
  • step S12 at least one processor calculates the degree of influence of the plurality of errors included in the target data on the evaluation index of the machine learning model for each error or each attribute of the error.
  • step S13 at least one processor determines data to be corrected from among the target data based on the degree of influence calculated in step S12.
  • At least one processor acquires target data to be evaluated, and a plurality of errors included in the target data are processed by a machine learning model. calculating the degree of influence on the evaluation index for each error or attribute type of the error; and determining data to be corrected from among the target data based on the calculated degree of influence.
  • a configuration including has been adopted. Therefore, according to the information processing method S1 according to the present exemplary embodiment, it is possible to perform appropriate error correction according to the analysis task.
  • Example Embodiment 2 A second exemplary embodiment of the invention will be described in detail with reference to the drawings. Note that components having the same functions as those described in the first exemplary embodiment are designated by the same reference numerals, and the description thereof will not be repeated.
  • FIG. 3 is a block diagram showing the configuration of an information processing device 1A according to the second exemplary embodiment.
  • the information processing device 1A includes a control section 10A, a storage section 20A, an input/output section 30A, and a communication section 40A.
  • Input/output section Input/output devices such as a keyboard, mouse, display, printer, touch panel, etc. are connected to the input/output unit 30A.
  • the input/output unit 30A receives input of various types of information from connected input devices to the information processing apparatus 1A. Further, the input/output section 30A outputs various information to the connected output device under the control of the control section 10A. Examples of the input/output unit 30A include an interface such as a USB (Universal Serial Bus). Further, the input/output unit 30A may include a display panel, a speaker, a keyboard, a mouse, a touch panel, and the like.
  • the communication unit 40A communicates with a device external to the information processing device 1A via a communication line.
  • a communication line includes a wireless LAN (Local Area Network), wired LAN, WAN (Wide Area Network), public line network, and mobile data. communication network, or a combination of these.
  • the communication unit 40A transmits data supplied from the control unit 10A to other devices, and supplies data received from other devices to the control unit 10A.
  • the control unit 10A includes an acquisition unit 11, a calculation unit 12, a determination unit 13, an error detection unit 14, a data cleansing unit 18, an evaluation unit 19, and an analysis result output unit 20. Further, the calculation section 12 includes a group section 15 , an evaluation data generation section 16 , and an influence degree calculation section 17 .
  • the acquisition unit 11 acquires target data D.
  • the target data D is the target of data analysis, and is data including a plurality of records, for example.
  • Examples of data containing multiple records include structured data such as table data, semi-structured data written in a data description language such as JSON (JavaScript Object Notation: registered trademark) or XML (Extensible Markup Language), and natural language. Examples include unstructured data that represents documents written in .
  • a record is, for example, a row of a table, and includes a set of one or more attribute names and attribute values corresponding to columns of the table.
  • the target data D includes multiple errors. Errors occur due to various factors, such as aggregation errors and different data notations. Errors include, for example, the data types of the attribute values included in the records (numeric type, character type, date type, etc.) are different, the same record is included twice in the target data D, the record contains missing values, etc. The record may contain incorrect data.
  • the precision of the data analysis will be poor, or the correct data analysis results will not be obtained. Therefore, when the target data D includes errors, the accuracy of analysis can be improved by performing data cleansing.
  • the error detection unit 14 detects multiple errors included in the target data D.
  • the error detection unit 14 may use any method to detect errors, but for example, the error detection unit 14 may detect errors included in the target data D using a rule-based detection method. Errors may be detected by inference using the learned model.
  • the error detection unit 14 detects, for example, (i) the attribute value is missing, (ii) the attribute value is not within a predetermined range, (iii) the first attribute name An error may be determined if the attribute value of the second attribute name is inconsistent with the attribute value of the second attribute name, or (iv) the format of the attribute value is incorrect.
  • the machine learning method of the trained model is not limited, and for example, a decision tree-based, linear regression, or neural network method may be used. , or two or more of these methods may be used.
  • the input of the learned model includes, for example, a record included in the target data D
  • the output of the learned model includes, for example, a label indicating the presence or absence of an error included in the record or the type of error.
  • the calculation unit 12 calculates the degree of influence that an error included in the target data D has on the evaluation index of the analysis model for each error or each error attribute.
  • the analysis model is a machine learning model corresponding to the analysis task. Examples of analysis tasks include, but are not limited to, annual income prediction, sales prediction, morbidity prediction, and the like.
  • An error attribute is an index for classifying an error or information indicating the result of classifying an error, and examples thereof include the type of error, information for identifying each group in which errors are divided into multiple groups, etc. .
  • groups of errors into multiple groups they may be grouped by error type, or multiple types of errors may be included in one group. In other words, multiple types may be associated with one attribute.
  • the analysis model is a model for analyzing the target data D, and is generated by machine learning, for example.
  • the analysis model MD i ′ may be, for example, a linear model that performs regression analysis on prediction of annual income.
  • the machine learning method for the analytical model is not limited, and as an example, a decision tree-based, linear regression, or neural network method may be used, or two or more of these methods may be used. .
  • the input of the analysis model includes target data D, as an example.
  • the output of the analytical model includes, for example, information indicating the estimated annual income.
  • the input and output of the analysis model are not limited to the above example, and may include other information.
  • the grouping unit 15 groups the plurality of errors detected by the error detection unit 14 according to the characteristics of the errors. Although the method of grouping by the grouping unit 15 is arbitrary, for example, it may be grouped by error type, or a plurality of types of errors may be combined into one group. More specifically, the grouping section 15 may perform grouping for each type of detection method (for example, for each rule) of the error detection section 14, for example. Further, the grouping unit 15 may cluster a plurality of errors using a clustering method such as spectral clustering, for example.
  • n is the number of evaluation data D i ', and is the number of errors or error attributes. If there is a one-to-one correspondence between the error attribute and the evaluation data D i ′, the evaluation data generation unit 16 generates a pseudo error of each attribute and includes it in the evaluation data D i ′, for example.
  • the evaluation data generation unit 16 when there is a one-to-one correspondence between an error and the evaluation data D i ′, the evaluation data generation unit 16 , for example, generates a pseudo error similar to each error and assigns it to the evaluation data D i ′ . include.
  • the evaluation data D i ′ can be generated in any way, but as an example, the evaluation data generation unit 16 may generate the evaluation data using a rule-based generation method such as deleting existing data or removing hyphens. data D i ' may be generated. Further, as another example, the evaluation data generation unit 16 may generate the evaluation data D i ' using a generative model such as an autoencoder or a generative adversarial network (GAN). In this case, the input of the generative model includes the target data D as an example, and the output includes the evaluation data D i ' as an example.
  • a generative model such as an autoencoder or a generative adversarial network (GAN).
  • GAN generative adversarial network
  • the impact calculation unit 17 calculates the impact for each error or each error attribute. More specifically, as an example, the influence calculation unit 17 calculates the influence for each attribute corresponding to each group divided by the grouping unit 15. In this case, more specifically, the influence degree calculation unit 17 calculates the influence degree s i using the evaluation data D i ′, as an example.
  • the influence calculation unit 17 calculates, for example, the performance of the analytical model MD init generated using the target data D and the analytical model generated using the evaluation data D i '.
  • the degree of influence s i is calculated based on the comparison result with each performance of MD i ′.
  • the degree of influence s i is, for example, a value representing the degree of change (eg, rate of change) in the performance of the analysis model.
  • the partial data is data included in the target data D, and is, for example, a record included in table data including a plurality of records. In other words, when the target data D is table data including a plurality of records, the determining unit 13 determines the record to be corrected based on the degree of influence S calculated for each type of error, for example.
  • the data cleansing unit 18 corrects the data determined by the determining unit 13. For example, the data cleansing unit 18 may modify data according to a user's operation. More specifically, the data cleansing unit 18 outputs the data to be corrected to an output device such as a display panel, and also corrects the data based on information input by an input device operated by the user. good.
  • the data cleansing unit 18 may correct the data by inference using a learned model that has been machine learned, for example.
  • the machine learning method for the trained model is not limited, and for example, a decision tree-based, linear regression, or neural network method may be used, or two or more of these methods may be used. It's okay to be hit.
  • the input of the trained model includes, for example, a set of attribute names and attribute values of records containing errors.
  • the output of the trained model includes, for example, the attribute value after correction.
  • the data cleansing method performed by the data cleansing unit 18 is not limited to the above-mentioned example, and other methods may be used.
  • the data cleansing unit 18 may perform data modification based on a rule.
  • the evaluation unit 19 generates an analysis model MD clean using the corrected data D clean whose errors have been corrected by the data cleansing unit 18, and evaluates the performance of the generated analysis model MD clean .
  • the evaluation unit 19 stops the sequential determination processing when the result of evaluating the corrected data D clean whose errors have been corrected by the data cleansing unit 18 using the analysis model MD satisfies a predetermined condition.
  • a predetermined condition is that the mean square error (MSE) of the predicted value indicating the prediction result by the analysis model MD clean is less than a predetermined threshold.
  • MSE mean square error
  • the determining unit 13 and the evaluating unit 19 are examples of determining means according to this specification.
  • the analysis result output unit 20 outputs information indicating the analysis result.
  • the information indicating the analysis result includes, for example, at least one of the corrected data D clean and the analysis model MD clean . Further, the information indicating the analysis result may include at least one of the influence degree S calculated by the calculation unit 12 and the second influence degree for each partial data.
  • the analysis result output unit 20 may output the above information by transmitting information indicating the analysis result to another device connected via the communication unit 40A, or may output the above information by transmitting information indicating the analysis result to another device connected via the input/output unit 30A. The above information may be output to a designated output device. Further, the analysis result output section 20 may output the above information by writing the above information to the storage section 20A or another external storage device.
  • the storage unit 20A includes target data D, evaluation data D1 ', D2 ',..., Dn ', corrected data Dclean , analysis model MD init , and analysis model MD1 ', MD2 ',..., MD. n ′, analysis model MD clean , is stored.
  • the analysis models MD 1 ′, MD 2 ′ when there is no need to distinguish between the analysis model MD, the analysis models MD 1 ′, MD 2 ′ , .
  • the expression that the analytical model MD is stored in the storage unit 20A means that the parameters that define the analytical model MD are stored in the storage unit 20A.
  • FIG. 4 describes the flow of the information processing method S1A, which is an example of the information processing method according to the second exemplary embodiment, with reference to FIG.
  • FIG. 4 is a flow diagram showing the flow of the information processing method S1A.
  • Step S101 the acquisition unit 11 acquires the target data D and the analysis task.
  • the target data D includes training data D train used to generate the analytical model and test data D test for evaluating the performance of the analytical model.
  • the acquisition unit 11 may receive the target data D and the analysis task from another device via the communication unit 40A, or may receive the target data D and the analysis task from an input device connected via the input/output unit 30A. You may obtain it. Further, the acquisition unit 11 may acquire the target data D and the analysis task by reading the target data D and the analysis task from the storage unit 20A or another external storage device.
  • Step S102 the error detection unit 14 detects a plurality of errors included in the target data D, and outputs an error index indicating the location of the error.
  • the error detection unit 14 detects errors using a rule-based detection method, for example. Further, the error detection unit 14 may detect errors by inference using a learned model generated by machine learning.
  • FIG. 5 is a diagram showing a specific example of an error detected by the error detection unit 14.
  • the error detection unit 14 detects, for example, the attribute value is missing, the attribute value of a predetermined attribute name is not within a predetermined range, the attribute value of the first attribute name, and the attribute value of the second attribute name.
  • An error is determined when the attribute value of a given attribute name is inconsistent with the attribute value, or the format of the attribute value of a predetermined attribute name is incorrect.
  • the error detection unit 14 detects errors E1 to E5 in the target data D.
  • FIG. 6 is a diagram showing a specific example of grouping by the grouping section 15.
  • the grouping unit 15 stores multiple errors E1 to E5 in four groups: a missing value group g 1 , a format error group g 2 , a contradiction group g 3 , and an outlier group g 4 . Categorize into groups.
  • Step S104 For each of the groups g 1 , g 2 , ..., g n , the evaluation data generation unit 16 increases the number of errors similar to the errors belonging to that group, and generates new evaluation data D i '. .
  • FIG. 7 is a diagram showing a specific example of the evaluation data D i '.
  • the evaluation data generation unit 16 replaces some of the attribute values of records included in the target data D with missing values E11, thereby generating evaluation data D1 corresponding to the missing value group g1 . ⁇ is generated.
  • the evaluation data generation unit 16 replaces the attribute value of "zip code" of the record included in the target data D with the attribute value E12 with the hyphen removed, thereby generating the evaluation data corresponding to the format error group g2 .
  • Step S105 the influence calculation unit 17 generates an analytical model MD i ′ using each of the n pieces of evaluation data D i ′ as training data, and evaluates the generated analytical model MD i ′ .
  • the analysis model MD i ′ and the analysis model MD init are models corresponding to the analysis task acquired by the acquisition unit 11 in step S101, and these are generated by a common generation method corresponding to the analysis task.
  • the influence calculation unit 17 evaluates the generated analytical model MD i ′ using a function eval( ) for evaluating the analytical model.
  • the function eval() is a function that takes an analytical model as input and outputs a score for evaluating its performance.
  • MSE mean squared error
  • FIG. 8 is a diagram for explaining a specific example of the influence degree s i calculated by the influence degree calculation unit 17.
  • the horizontal axis indicates the number of increased errors
  • the vertical axis indicates the analytical performance of the analytical model.
  • the analysis model MD 4 ′ generated using the evaluation data D 4 ′ has a performance of 0.0 compared to the analysis model MD init generated using the target data D, which is the original data. It's down by 1.
  • the performance of the analysis model MD 3 ′ generated using the evaluation data D 3 ′ is 0.2 lower than that of the analysis model MD init .
  • the influence calculation unit 17 calculates, as an example, the amount of decrease in the performance of the analysis model MD i ' with respect to the analysis model MD init as the influence.
  • the input to the determining unit 13 includes target data D and influence degree S.
  • the output of the determining unit 13 includes the priority order I of modification of the data record.
  • the determining unit 13 determines the priority order of data to be modified based on the degree of influence S.
  • the determining unit 13 uses the degree of influence S calculated by the calculating unit 12 to select the above-mentioned evaluation index for each of the plurality of records included in the target data D.
  • a second degree of influence is calculated, and a record to be modified is determined based on the calculated second degree of influence for each record.
  • FIG. 9 is a diagram illustrating a specific example of determination processing by the determination unit 13.
  • target data D includes records r1 to r3.
  • the sum of the influence degrees s i corresponding to the error attributes included in each record is calculated as the second influence degree of each record.
  • the influence degree of group g1 is "0.3", the influence degree of group g2 is "0.2", the influence degree of group g3 is “0.2”, and the influence degree of group g4 is "0.2".
  • the degree of influence of is "0.1”
  • the determining unit 13 determines the record with the second highest degree of influence as the record to be modified.
  • step S107 the data cleansing unit 18 corrects the data determined in step S106.
  • the input to the data cleansing unit 18 includes, as an example, the target data D and the order priority I of the record to be modified.
  • the output of the data cleansing unit 18 includes, for example, corrected data D clean in which the record to be corrected in the target data D has been corrected.
  • step S107 the number of records that the data cleansing unit 18 modifies at one time may be set in advance.
  • the data cleansing unit 18 selects a preset number of records from among the plurality of records to be modified based on the priority order I, and modifies the selected records.
  • the data cleansing unit 18 may modify the data in any way, but for example, the data cleansing unit 18 outputs a screen for the user to modify data on the display, and modifies the data according to the user's operation. Good too. Further, the data cleansing unit 18 may modify the data to be modified using a rule-based modification method. Further, the data cleansing unit 18 may correct the data by inference using a learned model generated by machine learning.
  • FIG. 10 is a diagram showing a specific example of data correction processing by the data cleansing unit 18.
  • the data cleansing unit 18 corrects the attribute value of "age” and the attribute value of "annual income" of record r1 included in the target data D.
  • the modified data D clean includes a modified record r1 clean in which the record r1 was modified.
  • Step S108 the evaluation unit 19 generates an analysis model MD clean using the corrected data D clean , and evaluates the performance of the generated analysis model MD clean .
  • the evaluation method by the evaluation unit 19 is arbitrary, but as an example, the evaluation unit 19 performs regression analysis on the prediction of annual income using a linear model for the annual income prediction task, and performs analysis using the mean square error (MSE) of the predicted value. The results may be evaluated.
  • MSE mean square error
  • Step S109 the evaluation unit 19 determines whether the evaluation result satisfies a predetermined stopping condition.
  • a predetermined stopping condition is that MSE (prediction error) is less than 0.2. If the evaluation result satisfies the stop condition (YES in step S109), the evaluation unit 19 ends the process. On the other hand, if the evaluation result does not satisfy the stop condition (NO in step S109), the evaluation unit 19 returns to the process in step S106 and continues the data correction process.
  • the determining unit 13 sequentially determines the data to be modified by referring to the priority order, and the evaluating unit 19 determines whether the data determined by the determining unit 13 in the target data D is modified. If the evaluation result of the corrected data D clean satisfies a predetermined target value, the sequential determination process is stopped.
  • the calculation unit 12 calculates the degree of influence s i for each attribute corresponding to each group in which the plurality of errors are grouped according to the characteristics of the errors. configuration has been adopted. Therefore, according to the information processing apparatus 1A according to the present exemplary embodiment, data to be corrected can be determined by taking into account the degree of influence of each group divided according to the characteristics of the error.
  • the calculation unit 12 calculates the evaluation data D 1 ′, D 2 ′, ..., D n ′ including pseudo errors in the target data D by using the above-mentioned A configuration is adopted in which the degree of influence S is calculated using the generated evaluation data D 1 ′, D 2 ′, . . . , D n ′ that are generated for each error or each attribute of the error. Therefore, according to the information processing device 1A according to the present exemplary embodiment, data to be corrected is determined more accurately by calculating the degree of influence using evaluation data generated for each error or each error attribute. can do.
  • the determining unit 13 uses the influence degree S calculated by the calculating unit 12 to calculate the evaluation index for each of the plurality of records included in the target data D.
  • a configuration is adopted in which a second degree of influence exerted on each record is calculated, and a record to be modified is determined based on the calculated second degree of influence for each record. Therefore, according to the information processing apparatus 1A according to the present exemplary embodiment, it is possible to more suitably select a record to be modified from among a plurality of records.
  • the determining unit 13 is configured to determine the priority order of data to be modified based on the degree of influence S. Therefore, according to the information processing apparatus 1A according to the present exemplary embodiment, by determining the priority order of data to be corrected based on the degree of influence of an error, the priority order can be determined more suitably.
  • the determining unit 13 is configured to sequentially determine data to be modified by referring to the priority order. Therefore, according to the information processing apparatus 1A according to the present exemplary embodiment, the process of sequentially determining data to be corrected can be performed with higher accuracy.
  • the determining unit 13 performs sequential determination when the evaluation result of the corrected data D clean , in which the determined data is corrected, satisfies a predetermined target value.
  • a configuration is adopted that stops processing. By repeating cleansing until the stopping conditions are met, the accuracy of data analysis at a given cost can be made higher than before, and the cost to achieve a given accuracy goal can be made lower than before. This has the effect that it can be done.
  • it is possible to realize data cleansing in which the quality of target data satisfies a predetermined target value while suppressing the processing load related to data cleansing.
  • Some or all of the functions of the information processing devices 1 and 1A may be realized by hardware such as an integrated circuit (IC chip), or may be realized by software.
  • the information processing devices 1 and 1A are realized, for example, by a computer that executes instructions of a program that is software that realizes each function.
  • a computer that executes instructions of a program that is software that realizes each function.
  • An example of such a computer (hereinafter referred to as computer C) is shown in FIG.
  • Computer C includes at least one processor C1 and at least one memory C2.
  • a program P for operating the computer C as the information processing apparatus 1, 1A is recorded in the memory C2.
  • the processor C1 reads the program P from the memory C2 and executes it, thereby realizing each function of the information processing apparatuses 1 and 1A.
  • Examples of the processor C1 include a CPU (Central Processing Unit), GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating Point Number Processing Unit), and PPU (Physics Processing Unit). , a microcontroller, or a combination thereof.
  • a flash memory for example, a flash memory, an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a combination thereof can be used.
  • the computer C may further include a RAM (Random Access Memory) for expanding the program P during execution and temporarily storing various data. Further, the computer C may further include a communication interface for transmitting and receiving data with other devices. Further, the computer C may further include an input/output interface for connecting input/output devices such as a keyboard, a mouse, a display, and a printer.
  • RAM Random Access Memory
  • the program P can be recorded on a non-temporary tangible recording medium M that is readable by the computer C.
  • a recording medium M for example, a tape, a disk, a card, a semiconductor memory, or a programmable logic circuit can be used.
  • Computer C can acquire program P via such recording medium M.
  • the program P can be transmitted via a transmission medium.
  • a transmission medium for example, a communication network or broadcast waves can be used.
  • Computer C can also obtain program P via such a transmission medium.
  • An information processing apparatus comprising: determining means for determining data to be corrected from among the target data based on the degree of influence calculated by the calculating means.
  • the calculation means calculates the degree of influence based on a comparison result between the performance of the machine learning model generated using the target data and the performance of each machine learning model generated using the evaluation data.
  • the information processing device according to supplementary note 3.
  • the determining means uses the degree of influence calculated by the calculation means to calculate a second degree of influence exerted on the evaluation index for each of the plurality of partial data included in the target data.
  • the information processing device according to any one of Supplementary Notes 1 to 4, wherein the partial data to be corrected is determined based on the second degree of influence of each partial data.
  • Appendix 6 The information processing device according to any one of appendices 1 to 5, wherein the determining means determines the priority order of data to be modified based on the degree of influence.
  • Appendix 7 The information processing device according to appendix 6, wherein the determining means sequentially determines the data to be modified by referring to the priority order.
  • Appendix 8 The information processing device according to appendix 7, wherein the determining means stops the sequential determining process when the evaluation result of the corrected data obtained by correcting the determined data satisfies a predetermined target value.
  • At least one processor acquires target data and calculates the degree of influence that a plurality of errors included in the target data have on the evaluation index of the machine learning model for each error or each attribute of the error. and determining data to be modified from among the target data based on the calculated degree of influence.
  • Appendix 10 a computer, an acquisition means for acquiring target data, and a calculation means for calculating the degree of influence that a plurality of errors included in the target data have on an evaluation index of a machine learning model for each error or each attribute of the error. and determining means for determining data to be modified from among the target data based on the degree of influence calculated by the calculating means.
  • the processor includes at least one processor, and the processor performs an acquisition process for acquiring target data and determines the degree of influence that a plurality of errors included in the target data have on the evaluation index of the machine learning model for each error or for each error.
  • An information processing apparatus that executes a calculation process for calculating each attribute of the target data, and a determination process for determining data to be modified from among the target data based on the degree of influence calculated in the calculation process.
  • this information processing device may further include a memory, and this memory stores a program for causing the processor to execute the acquisition process, the calculation process, and the determination process. Good too. Further, this program may be recorded on a computer-readable non-transitory tangible recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

分析タスクに応じた適切なエラー修正を可能にするために、情報処理装置(1)は、対象データを取得する取得部(11)と、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性毎に算出する算出部(12)と、算出部(12)が算出した影響度に基づいて、上記対象データから修正するデータを決定する決定部(13)と、を備える。

Description

情報処理装置、情報処理方法及びプログラム
 本発明は、データを分析するための技術に関する。
 データ分析においてデータの品質が問題になる。ここで、データの品質が問題になる場合としては、例えば、「表記ゆれ」、「欠損値」、「異常値」、「フォーマットずれ」等がある。データに含まれるエラー等を修正する、いわゆるデータクレンジング技術を開示した文献として、例えば特許文献1が挙げられる。特許文献1には、業務システム間でのデータ不整合に適宜に対応して、精度良好なデータ分析を可能とする技術として、各業務システムの間でのオブジェクトに関する業務データのずれに基づいてデータクレンジング処理の内容を特定し、特定した内容でのデータクレンジング処理を行うことが記載されている。
国際公開第2018/207506号
 しかしながら、データクレンジングにおいて、修正すべきエラーは、機械学習における分析タスクの種類によって異なることが知られている。特許文献1に記載の技術では、分析タスクを考慮にいれたエラー修正を行うことができないという課題がある。
 本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、分析タスクに応じた適切なエラー修正を可能にすることである。
 本発明の一側面に係る情報処理装置は、対象データを取得する取得手段と、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段とを備える。
 本発明の一側面に係る情報処理方法は、少なくとも1つのプロセッサが、対象データを取得することと、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出することと、前記算出した影響度に基づいて、前記対象データの中から修正するデータを決定することと、を含む。
 本発明の一側面に係るプログラムは、コンピュータを、対象データを取得する取得手段と、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段と、として機能させる。
 本発明の一態様によれば、分析タスクに応じた適切なエラー修正を行うことができる。
例示的実施形態1に係る情報処理装置の構成を示すブロック図である。 例示的実施形態1に係る情報処理方法の流れを示すフロー図である。 例示的実施形態2に係る情報処理装置の構成を示すブロック図である。 例示的実施形態2に係る情報処理方法の流れを示すフロー図である。 例示的実施形態2に係るエラー検出部が検出するエラーの具体例を示す図である。 例示的実施形態2に係るグループ部によるエラーのグループ化の具体例を示す図である。 例示的実施形態2に係る評価用データ生成部が生成する評価用データの具体例を示す図である。 例示的実施形態2に係る影響度算出部が算出する影響度の具体例を示す図である。 例示的実施形態2に係る決定部の決定処理の具体例を示す図である。 例示的実施形態2に係るデータクレンジング部によるデータ修正処理の具体例を示す図である。 各例示的実施形態に係る各装置の各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータの一例を示す図である。
 〔例示的実施形態1〕
 本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
 (情報処理装置の構成)
 本例示的実施形態に係る情報処理装置1の構成について、図1を参照して説明する。図1は、情報処理装置1の構成を示すブロック図である。情報処理装置1は、取得部11、算出部12及び決定部13を備える。
 取得部11は、対象データを取得する。算出部12は、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性毎に算出する。決定部13は、算出部12が算出した影響度に基づいて、上記対象データの中から修正するデータを決定する。
 以上のように、本例示的実施形態に係る情報処理装置1においては、対象データを取得する取得部11と、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性毎に算出する算出部12と、算出部12が算出した影響度に基づいて、上記対象データの中から修正するデータを決定する決定部13とを備える構成が採用されている。このため、本例示的実施形態に係る情報処理装置1によれば、分析タスクに応じた適切なエラー修正を行うことができるという効果が得られる。
 (情報処理プログラム)
 上述の情報処理装置1の機能は、プログラムによって実現することもできる。本例示的実施形態に係る情報処理プログラムは、コンピュータを、対象データを取得する取得手段と、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性毎に算出する算出手段と、上記算出手段が算出した影響度に基づいて、上記対象データの中から修正するデータを決定する決定手段と、として機能させる。
 (情報処理方法の流れ)
 本例示的実施形態に係る情報処理方法S1の流れについて、図2を参照して説明する。図2は、情報処理方法S1の流れを示すフロー図である。情報処理方法S1における各ステップの実行主体は、情報処理装置1が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
 ステップS11では、少なくとも1つのプロセッサが、対象データを取得する。ステップS12では、少なくとも1つのプロセッサが、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性毎に算出する。ステップS13では、少なくとも1つのプロセッサが、ステップS12において算出した影響度に基づいて、上記対象データの中から修正するデータを決定する。
 以上のように、本例示的実施形態に係る情報処理方法S1においては、少なくとも1つのプロセッサが、評価対象である対象データを取得することと、上記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、上記エラー毎又は上記エラーの属性種類毎に算出することと、上記算出した影響度に基づいて、上記対象データの中から修正するデータを決定することと、を含む構成が採用されている。このため、本例示的実施形態に係る情報処理方法S1によれば、分析タスクに応じた適切なエラー修正を行うことができるという効果が得られる。
 〔例示的実施形態2〕
 本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
 <情報処理装置の構成>
 図3は、例示的実施形態2に係る情報処理装置1Aの構成を示すブロック図である。情報処理装置1Aは、制御部10A、記憶部20A、入出力部30A及び通信部40Aを備える。
 (入出力部)
 入出力部30Aには、キーボード、マウス、ディスプレイ、プリンタ、タッチパネル等の入出力機器が接続される。入出力部30Aは、接続された入力機器から情報処理装置1Aに対する各種の情報の入力を受け付ける。また、入出力部30Aは、制御部10Aの制御の下、接続された出力機器に各種の情報を出力する。入出力部30Aとしては、例えばUSB(Universal Serial Bus)などのインタフェースが挙げられる。また、入出力部30Aは、表示パネル、スピーカ、キーボード、マウス、タッチパネル等を備えていてもよい。
 (通信部)
 通信部40Aは、情報処理装置1Aの外部の装置と通信回線を介して通信する。通信回線の具体的構成は本例示的実施形態を限定するものではないが、通信回線は一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、又は、これらの組み合わせである。通信部40Aは、制御部10Aから供給されたデータを他の装置に送信したり、他の装置から受信したデータを制御部10Aに供給したりする。
 (制御部)
 制御部10Aは、取得部11、算出部12、決定部13、エラー検出部14、データクレンジング部18、評価部19、及び分析結果出力部20を備える。また、算出部12は、グループ部15、評価用データ生成部16、及び影響度算出部17を備える。
 (取得部)
 取得部11は、対象データDを取得する。対象データDは、データ分析の対象であり、一例として、複数のレコードを含むデータである。複数のレコードを含むデータとしては、例えば、テーブルデータ等の構造データ、JSON(JavaScript Object Notation:登録商標)又はXML(Extensible Markup Language)等のデータ記述言語で記述された半構造データ、及び自然言語で記された文書を表す非構造データが挙げられる。レコードは、一例として、テーブルの行であり、テーブルの列に対応する1又は複数の属性名及び属性値のセットを含む。
 本例示的実施形態において、対象データDは複数のエラーを含む。エラーは、例えば集計ミス、異なるデータの表記ゆれなど、様々な要因により発生する。エラーとしては、例えば、レコードに含まれる属性値のデータ型(数値型、文字型、日付型、等)が異なっている、対象データDに同一レコードが重複して含まれる、レコードが欠損値を含む、レコードに誤ったデータが含まれる、といったものが挙げられる。
 このようなエラーを含んだ対象データDをそのまま分析すると、データ分析の精度がよくない、或いは、正しいデータ分析の結果が得られない。そのため、対象データDがエラーを含む場合、データクレンジングを行うことで分析の精度を上げることができる。
 (エラー検出部)
 エラー検出部14は、対象データDに含まれる複数のエラーを検出する。エラー検出部14がエラーを検出する手法は任意であるが、エラー検出部14は一例として、ルールベースの検出手法により対象データDに含まれるエラーを検出してもよく、また、機械学習により生成された学習済モデルを用いた推論によりエラーを検出してもよい。
 ルールベースの検出手法によりエラーを検出する場合、エラー検出部14は例えば、(i)属性値が欠損している、(ii)属性値が所定の範囲内でない、(iii)第1の属性名の属性値と、第2の属性名の属性値とが矛盾している、(iv)属性値のフォーマットが正しくない、といった場合にエラーであると判定してもよい。
 また、学習済モデルを用いた推論によりエラーを検出する場合、学習済モデルの機械学習の手法は限定されず、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。学習済モデルの入力は一例として、対象データDに含まれるレコードを含み、学習済モデルの出力は一例として、レコードに含まれるエラーの有無又はエラーの種類を示すラベルを含む。
 (算出部)
 算出部12は、対象データDに含まれるエラーが分析モデルの評価指標に対して及ぼす影響度をエラー毎又はエラーの属性毎に算出する。ここで、分析モデルは、分析タスクに対応する機械学習モデルである。分析タスクとしては例えば、年収予測、売上予測、罹患予測等が挙げられるが、これらに限られない。
 エラーの属性とは、エラーを分類するための指標又はエラーの分類結果を示す情報であり、一例として、エラーの種類、エラーを複数のグループにグループ分けした各グループを識別する情報、等である。エラーを複数のグループにグループ分けする場合、エラーの種類毎にグループ分けされてもよく、また、複数の種類のエラーがひとつのグループに含まれてもよい。換言すると、ひとつの属性に複数の種類が対応付けられてもよい。
 (分析モデル)
 分析モデルは、対象データDを分析するためのモデルであり、一例として、機械学習により生成される。分析モデルMD´は一例として、年収の予測について回帰分析を行う線形モデルであってもよい。分析モデルの機械学習の手法は限定されず、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。
 分析モデルの入力は一例として、対象データDを含む。分析モデルの出力は一例として、年収の推定結果を示す情報を含む。ただし、分析モデルの入力と出力は上述した例に限られず、他の情報を含んでいてもよい。
 (グループ部)
 グループ部15は、エラー検出部14が検出した複数のエラーをエラーの特徴に応じてグループ分けする。グループ部15によるグループ分けの方法は任意であるが、一例として、エラーの種類毎にグループ分けしてもよく、また、複数の種類のエラーをひとつのグループにまとめてもよい。より具体的には、グループ部15は一例として、エラー検出部14の検出手法の種類毎(例えば、ルール毎)にグループ分けを行ってもよい。また、グループ部15は一例として、スペクトラルクラスタリング等のクラスタリング手法を用いて複数のエラーをクラスタリングしてもよい。
 (評価用データ生成部)
 評価用データ生成部16は、対象データDに疑似的なエラーを含めた評価用データD´(i=1、2、…、n)をエラー毎又はエラーの属性毎に生成する。ここで、nは評価用データD´の数であり、エラー又はエラーの属性の数である。エラーの属性と評価用データD´とが1対1で対応する場合、評価用データ生成部16は一例として、各属性のエラーを疑似的に生成して評価用データD´に含める。また、エラーと評価用データD´とが1対1で対応する場合、評価用データ生成部16は一例として、各エラーに類似するエラーを疑似的に生成して評価用データD´に含める。
 評価用データD´の生成の方法は任意であるが、一例として、評価用データ生成部16は、もともとあったデータを欠損させたり、ハイフンを取り除いたりする、といったルールベースの生成手法により評価用データD´を生成してもよい。また、他の例として、評価用データ生成部16は、オートエンコーダ、又は敵対的生成ネットワーク(Generative adversarial network:GAN)等の生成モデルにより評価用データD´を生成してもよい。この場合、生成モデルの入力は一例として対象データDを含み、出力は一例として評価用データD´を含む。
 (影響度算出部)
 影響度算出部17は、影響度をエラー毎又はエラーの属性毎に算出する。より具体的には、影響度算出部17は一例として、グループ部15がグループ分けした各グループに対応する属性毎に影響度を算出する。この場合、より具体的には、影響度算出部17は一例として、評価用データD´を用いて影響度sを算出する。
 評価用データD´を用いる場合、影響度算出部17は一例として、対象データDを用いて生成された分析モデルMDinitの性能と、評価用データD´を用いて生成された分析モデルMD´のそれぞれの性能との比較結果に基づき、影響度sを算出する。影響度sは一例として、分析モデルの性能の変化の度合い(例えば、変化率)を表す値である。影響度算出部17がn個の評価用データD´のそれぞれについて影響度sを算出することにより、n個の影響度sが得られる。以下では、影響度S={s、s、…,s}とする。
 (決定部)
 決定部13は、算出部12が算出した影響度S={s、s、…,s}に基づいて、対象データDの中から修正するデータを決定する。より具体的には、決定部13は一例として、算出部12が算出した影響度Sを用いて、対象データDに含まれる複数の部分データのそれぞれについて、上記評価指標に対して及ぼす第2の影響度を算出し、算出した部分データ毎の第2の影響度に基づいて、修正する部分データを決定する。ここで、部分データは、対象データDに含まれるデータであり、一例として、複数のレコードを含むテーブルデータに含まれるレコードである。換言すると、対象データDが複数のレコードを含むテーブルデータである場合、決定部13は、一例として、エラーの種類毎に算出された影響度Sに基づいて、修正するレコードを決定する。
 (データクレンジング部)
 データクレンジング部18は、決定部13が決定したデータを修正する。データクレンジング部18は一例として、ユーザの操作に応じてデータを修正してもよい。より具体的には、データクレンジング部18は例えば、修正対象であるデータを表示パネル等の出力装置に出力するとともに、ユーザにより操作される入力装置が入力する情報に基づき、データを修正してもよい。
 また、データクレンジング部18は一例として、機械学習された学習済モデルによる推論により、データ修正を行ってもよい。この場合、学習済モデルの機械学習の手法は限定されず、一例として、決定木ベース、線形回帰、又はニューラルネットワークの手法が用いられてもよく、また、これらのうちの2以上の手法が用いられてもよい。ここで、学習済モデルの入力は一例として、エラーを含むレコードの属性名及び属性値のセットを含む。また、学習済モデルの出力は一例として、修正後の属性値を含む。ただし、データクレンジング部18が行うデータクレンジングの手法は上述した例に限られず、他の手法であってもよい。例えば、データクレンジング部18は、ルールベースによるデータ修正を行ってもよい。
 (評価部)
 評価部19は、データクレンジング部18によりエラーが修正された修正後データDcleanを用いて分析モデルMDcleanを生成し、生成した分析モデルMDcleanの性能を評価する。ここで、評価部19は、データクレンジング部18によりエラーが修正された修正後データDcleanを分析モデルMDにより評価した結果が所定の条件を満たす場合に、逐次的な決定処理を停止する。所定の条件は、一例として、分析モデルMDcleanによる予測結果を示す予測値の平均二乗誤差(MSE)が所定の閾値未満である、といった条件である。決定部13及び評価部19は本明細書に係る決定手段の一例である。
 (分析結果出力部)
 分析結果出力部20は、分析結果を示す情報を出力する。分析結果を示す情報は、一例として、修正後データDclean、及び分析モデルMDcleanの少なくともいずれか一方を含む。また、分析結果を示す情報は、算出部12が算出した影響度S、及び部分データ毎の第2の影響度の少なくともいずれか一方を含んでもよい。分析結果出力部20は、通信部40Aを介して接続された他の装置へ分析結果を示す情報を送信することにより、上記情報を出力してもよく、また、入出力部30Aを介して接続された出力装置に上記情報を出力してもよい。また、分析結果出力部20は、記憶部20A又は他の外部記憶装置へ上記情報を書き込むことにより上記情報を出力してもよい。
 (記憶部)
 記憶部20Aは、対象データD、評価用データD´,D´,…,D´、修正後データDclean、分析モデルMDinit、分析モデルMD´,MD´,…,MD´、分析モデルMDclean、を記憶する。以下では、分析モデルMD、分析モデルMD´,MD´,…,MD´、分析モデルMDclean、を各々区別する必要がない場合には、これらを単に「分析モデルMD」ともいう。ここで、分析モデルMDが記憶部20Aに記憶されているとは、分析モデルMDを規定するパラメータが記憶部20Aに記憶されていることをいう。
 <情報処理方法の流れ>
 図4は、例示的実施形態2に係る情報処理方法の一例である情報処理方法S1Aの流れについて、図4を参照して説明する。図4は、情報処理方法S1Aの流れを示すフロー図である。
 (ステップS101)
 ステップS101において、取得部11は、対象データD及び分析タスクを取得する。この例で、対象データDは、分析モデルの生成に用いられる訓練データDtrainと、分析モデルの性能を評価するためのテストデータDtestとを含む。取得部11は、通信部40Aを介して他の装置から対象データD及び分析タスクを受信してもよく、また、入出力部30Aを介して接続された入力装置から対象データD及び分析タスクを取得してもよい。また、取得部11は、記憶部20A又は他の外部記憶装置から対象データD及び分析タスクを読み出すことにより対象データD及び分析タスクを取得してもよい。
 (ステップS102)
 ステップS102において、エラー検出部14は、対象データDに含まれる複数のエラーを検出し、エラーの場所を示すエラーインデックスを出力する。エラー検出部14は、一例として、ルールベースの検出手法によりエラーを検出する。また、エラー検出部14は、機械学習により生成された学習済モデルを用いた推論によりエラーを検出してもよい。
 図5は、エラー検出部14が検出するエラーの具体例を示す図である。図5の例で、エラー検出部14は例えば、属性値が欠損している、所定の属性名の属性値が所定の範囲内でない、第1の属性名の属性値と、第2の属性名の属性値とが矛盾している、所定の属性名の属性値のフォーマットが正しくない、といった場合にエラーであると判定する。図5の例では、エラー検出部14は、対象データDにおいて、エラーE1~E5を検出する。
 (ステップS103)
 ステップS103において、グループ部15は、エラー検出部14が検出した複数のエラーを複数のグループにグループ分けし、エラーグループの集合G={g,g,…,g}を出力する。
 図6は、グループ部15によるグループ化の具体例を示す図である。図6の例で、グループ部15は、複数のエラーE1~E5を、欠損値のグループg、フォーマットエラーのグループg、矛盾のグループg、及び外れ値のグループg、の4つのグループに分類する。
 (ステップS104)
 ステップS104において、評価用データ生成部16は、グループg,g,…,gのそれぞれについて、そのグループに属するエラーに類似するエラーを増やし、新たな評価用データD´を生成する。
 図7は、評価用データD´の具体例を示す図である。図7の例で、評価用データ生成部16は、対象データDに含まれるレコードの属性値の一部を欠損値E11に置き換えることにより、欠損値のグループgに対応する評価用データD´を生成する。また、評価用データ生成部16は、対象データDに含まれるレコードの「郵便番号」の属性値をハイフンを削除した属性値E12に置き換えることにより、フォーマットエラーのグループgに対応する評価用データD´を生成する。
 (ステップS105)
 ステップS105において、影響度算出部17は、n個の評価用データD´のそれぞれを訓練データとして分析モデルMD´を生成し、生成した分析モデルMD´を評価する。本動作例において、分析モデルMD´及び分析モデルMDinitはステップS101で取得部11が取得した分析タスクに対応するモデルであり、これらは分析タスクに対応する共通の生成手法により生成される。
 影響度算出部17は一例として、分析モデルを評価する関数eval()を用いて、生成した分析モデルMD´を評価する。ここで、関数eval()は、分析モデルを入力とし、その性能を評価するスコアを出力する関数である。この場合、換言すると、影響度sは、
=eval(MD´)
により算出される。分析の性能評価指標は任意であるが、一例として、上記の回帰分析の際に、MSE(平均二乗誤差)を算出してもよく、また、元のデータである対象データDについて算出されたMSEとの差分を算出してもよい。
 図8は、影響度算出部17が算出する影響度sの具体例を説明するための図である。図8の例で、横軸は増やしたエラーの数を示し、縦軸は分析モデルの分析性能を示す。図8の例では、評価用データD´を用いて生成された分析モデルMD´は、元のデータである対象データDを用いて生成された分析モデルMDinitに対し、性能が0.1下がっている。また、評価用データD´を用いて生成された分析モデルMD´は、分析モデルMDinitに対し、性能が0.2下がっている。また、評価用データD´を用いて生成された分析モデルMD´は、分析モデルMDinitに対し、性能が0.3下がっている。また、評価用データD´を用いて生成された分析モデルMD´は、分析モデルMDinitに対し、性能が0.5下がっている。図8の例では、影響度算出部17は一例として、分析モデルMDinitに対する分析モデルMD´の性能の低下量を影響度として算出する。
 (ステップS106)
 ステップS106において、決定部13は、n個の評価結果(影響度s)の集合である影響度S={s,s,…,s}を用いて、修正するデータを決定する。この例で、決定部13の入力は、対象データDと影響度Sとを含む。決定部13の出力は、データレコードの修正の優先順位Iを含む。換言すると、本動作例において、決定部13は、影響度Sに基づいて修正するデータの優先順位を決定する。
 修正データの選択方法は任意であるが、決定部13は一例として、算出部12が算出した影響度Sを用いて、対象データDに含まれる複数のレコードのそれぞれについて、上記評価指標に対して及ぼす第2の影響度を算出し、算出したレコード毎の第2の影響度に基づいて、修正するレコードを決定する。
 図9は、決定部13の決定処理の具体例を示す図である。図9の例では、対象データDは、レコードr1~r3を含む。図9の例では、各レコードに含まれるエラーの属性に対応する影響度sの総和を、各レコードの第2の影響度として算出する。
 図9の例で、グループg1の影響度が「0.3」であり、グループg2の影響度が「0.2」であり、グループg3の影響度が「0.2」であり、グループg4の影響度が「0.1」である場合、レコードr1~r3の第2の影響度は以下の値となる。レコードr1には、グループg2のエラーが2つ含まれるため、レコードr1の第2の影響度は、0.5+0.5=1である。レコードr2には、グループg1のエラーとグループg4のエラーが1つずつ含まれるため、レコードr2の第2の影響度は、0.3+0.1=0.4である。レコードr3には、グループg3のエラーが1つ含まれるため、レコードr3の第2の影響度は、0.2である。図9の例において、決定部13は、第2の影響度の高いレコードを修正するレコードとして決定する。
 (ステップS107)
 ステップS107において、データクレンジング部18は、ステップS106で決定したデータを修正する。ここで、データクレンジング部18への入力は一例として、対象データDと、修正対象であるレコードの順番優先順位Iとを含む。データクレンジング部18の出力は一例として、対象データDにおいて修正対象であるレコードが修正された修正後データDcleanを含む。
 ステップS107において、データクレンジング部18が一度に修正するレコードの数が予め設定されていてもよい。この場合、データクレンジング部18は、修正対象である複数のレコードの中から、予め設定された数のレコードを優先順位Iに基づき選択し、選択したレコードを修正する。
 データクレンジング部18によるデータの修正方法は任意であるが、データクレンジング部18は一例として、ユーザがデータを修正するための画面をディスプレイに出力し、ユーザの操作内容に応じてデータを修正してもよい。また、データクレンジング部18はルールベースの修正手法により修正対象のデータを修正してもよい。また、データクレンジング部18は機械学習により生成された学習済モデルを用いた推論によりデータを修正してもよい。
 図10は、データクレンジング部18によるデータ修正処理の具体例を示す図である。図10の例で、データクレンジング部18は、対象データDに含まれるレコードr1の「年齢」の属性値及び「年収」の属性値を修正する。修正後データDcleanは、レコードr1が修正された修正後レコードr1cleanを含む。
 (ステップS108)
 ステップS108において、評価部19は、修正後データDcleanを用いて分析モデルMDcleanを生成し、生成した分析モデルMDcleanの性能を評価する。評価部19による評価方法は任意であるが、評価部19は一例として、年収の予測タスクに対して、線形モデルで年収の予測について回帰分析を行い、予測値の平均二乗誤差(MSE)で分析の結果を評価してもよい。
 (ステップS109)
 ステップS109において、評価部19は、評価結果が所定の停止条件を満たすかを判定する。提示条件は一例として、MSE(予測誤差)が0.2未満である、といった条件である。評価結果が停止条件を満たす場合(ステップS109にてYES)、評価部19は処理を終了する。一方、評価結果が停止条件を満たさない場合(ステップS109にてNO)、評価部19はステップS106の処理に戻り、データの修正処理を継続する。
 換言すると、ステップS106~S109において、決定部13は、上記優先順位を参照して、修正するデータを逐次的に決定し、評価部19は、対象データDにおいて決定部13が決定したデータが修正された修正後データDcleanの評価結果が所定の目標値を満たす場合に、上記逐次的な決定処理を停止する。
 <情報処理装置の効果>
 ところで、大規模データにおいて、全てのエラーを修正してからデータ分析を行うことは現実的ではない。なぜなら、大規模データに含まれる全てのエラーを修正することは、膨大な時間及びコストを要するためである。それに対し本例示的実施形態では、分析タスクに影響が大きいエラーを優先的にクレンジングすることにより、コストを抑えつつ、より精度のよいデータ分析を実現することができる。
 また、従来のデータクレンジング技術では、修正可能なエラー及び適用可能な機械学習モデルが限られるという課題がある。また、修正すべきエラーは、機械学習における分析タスクの種類によって異なることが知られており、分析タスクを考慮にいれたエラー修正を行うことができない。それに対し本例示的実施形態に係る情報処理装置1Aによれば、エラーの種類毎に機械学習モデル(すなわち分析タスク)に基づく影響度を算出し、修正するべきデータを決定している。そのため、本発明は、エラーの種類に関わらず任意の機械学習モデルに対して、分析タスクを考慮したエラー修正が可能になるという効果を奏する。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、算出部12は、上記複数のエラーをエラーの特徴に応じてグループ分けした各グループに対応する属性毎に影響度sを算出する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、エラーの特徴に応じてグループ分されたグループ毎の影響度を加味して修正するデータを決定することができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、算出部12は、対象データDに疑似的なエラーを含めた評価用データD´、D´、…、D´を上記エラー毎又はエラーの属性毎に生成し、生成した評価用データD´、D´、…、D´を用いて影響度Sを算出する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、エラー毎又はエラーの属性毎に生成した評価用データを用いて影響度を算出することにより、修正するデータをより精度よく決定することができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、算出部12は、対象データDを用いて生成された分析モデルMDの性能と、評価用データD´、D´、…、D´を用いて生成された分析モデルMD´、MD´、…、MD´のそれぞれの性能との比較結果に基づき、影響度S={s、s、…、s}を算出する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、疑似的なエラーを含めた評価用データを用いて生成した分析モデルの性能の変化に基づいて影響度を算出することにより、修正するデータをより精度よく決定することができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、決定部13は、算出部12が算出した影響度Sを用いて、対象データDに含まれる複数のレコードのそれぞれについて、上記評価指標に対して及ぼす第2の影響度を算出し、算出したレコード毎の第2の影響度に基づいて、修正するレコードを決定する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、複数のレコードの中から修正するレコードをより好適に選択することができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、決定部13は、影響度Sに基づいて修正するデータの優先順位を決定する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、エラーの影響度に基づいて修正するデータの優先順位を決定することにより、優先順位をより好適に決定することができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、決定部13は、上記優先順位を参照して、修正するデータを逐次的に決定する構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、修正するデータを逐次的に決定する処理をより精度よく行うことができる。
 また、本例示的実施形態に係る情報処理装置1Aにおいては、決定部13は、決定したデータが修正された修正後データDcleanの評価結果が所定の目標値を満たす場合に、逐次的な決定処理を停止する構成が採用されている。停止条件を満たすまでクレンジングを繰り返し実行することにより、一定のコストの場合におけるデータ分析の精度を従来よりも高くすることができ、また、一定の精度目標を達成するためのコストを従来よりも低くすることができる、という効果を奏する。このように、本例示的実施形態によれば、データクレンジングに係る処理負荷を抑えつつ、対象データの品質が所定の目標値を満たすデータクレンジングを実現することができる。
 〔ソフトウェアによる実現例〕
 情報処理装置1、1Aの一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
 後者の場合、情報処理装置1、1Aは、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図11に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを情報処理装置1、1Aとして動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、情報処理装置1、1Aの各機能が実現される。
 プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
 なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
 また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
 〔付記事項1〕
 本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
 〔付記事項2〕
 上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
 (付記1)
 対象データを取得する取得手段と、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段と、を備える情報処理装置。
 (付記2)
 前記算出手段は、前記複数のエラーをエラーの特徴に応じてグループ分けした各グループに対応する属性毎に前記影響度を算出する、付記1に記載の情報処理装置。
 (付記3)
 前記算出手段は、前記対象データに疑似的なエラーを含めた評価用データを前記エラー毎又は前記エラーの属性毎に生成し、生成した評価用データを用いて前記影響度を算出する、付記1又は2に記載の情報処理装置。
 (付記4)
 前記算出手段は、前記対象データを用いて生成された機械学習モデルの性能と、前記評価用データを用いて生成された機械学習モデルのそれぞれの性能との比較結果に基づき、前記影響度を算出する、付記3に記載の情報処理装置。
 (付記5)
 前記決定手段は、前記算出手段が算出した前記影響度を用いて、前記対象データに含まれる複数の部分データのそれぞれについて、前記評価指標に対して及ぼす第2の影響度を算出し、算出した部分データ毎の第2の影響度に基づいて、修正する部分データを決定する、付記1から4のいずれか1つに記載の情報処理装置。
 (付記6)
 前記決定手段は、前記影響度に基づいて修正するデータの優先順位を決定する、付記1から5のいずれか1つに記載の情報処理装置。
 (付記7)
 前記決定手段は、前記優先順位を参照して、修正するデータを逐次的に決定する、付記6に記載の情報処理装置。
 (付記8)
 前記決定手段は、決定したデータが修正された修正後データの評価結果が所定の目標値を満たす場合に、逐次的な決定処理を停止する、付記7に記載の情報処理装置。
 (付記9)
 少なくとも1つのプロセッサが、対象データを取得することと、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出することと、前記算出した影響度に基づいて、前記対象データの中から修正するデータを決定することと、を含む情報処理方法。
 (付記10)
 コンピュータを、対象データを取得する取得手段と、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段と、として機能させるプログラム。
 〔付記事項3〕
 上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
 少なくとも1つのプロセッサを備え、前記プロセッサは、対象データを取得する取得処理と、前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出処理と、前記算出処理において算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定処理とを実行する情報処理装置。
 なお、この情報処理装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記算出処理と、前記決定処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
1、1A 情報処理装置
11 取得部
12 算出部
13 決定部

 

Claims (10)

  1.  対象データを取得する取得手段と、
     前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、
     前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段と、
    を備える情報処理装置。
  2.  前記算出手段は、前記複数のエラーをエラーの特徴に応じてグループ分けした各グループに対応する属性毎に前記影響度を算出する、
    請求項1に記載の情報処理装置。
  3.  前記算出手段は、前記対象データに疑似的なエラーを含めた評価用データを前記エラー毎又は前記エラーの属性毎に生成し、生成した評価用データを用いて前記影響度を算出する、
    請求項1又は2に記載の情報処理装置。
  4.  前記算出手段は、前記対象データを用いて生成された機械学習モデルの性能と、前記評価用データを用いて生成された機械学習モデルのそれぞれの性能との比較結果に基づき、前記影響度を算出する、
    請求項3に記載の情報処理装置。
  5.  前記決定手段は、
     前記算出手段が算出した前記影響度を用いて、前記対象データに含まれる複数の部分データのそれぞれについて、前記評価指標に対して及ぼす第2の影響度を算出し、
     算出した部分データ毎の第2の影響度に基づいて、修正する部分データを決定する、
    請求項1又は2に記載の情報処理装置。
  6.  前記決定手段は、前記影響度に基づいて修正するデータの優先順位を決定する、
    請求項1又は2に記載の情報処理装置。
  7.  前記決定手段は、前記優先順位を参照して、修正するデータを逐次的に決定する、
    請求項6に記載の情報処理装置。
  8.  前記決定手段は、決定したデータが修正された修正後データの評価結果が所定の目標値を満たす場合に、逐次的な決定処理を停止する、
    請求項7に記載の情報処理装置。
  9.  少なくとも1つのプロセッサが、
     対象データを取得することと、
     前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出することと、
     前記算出した影響度に基づいて、前記対象データの中から修正するデータを決定することと、
    を含む情報処理方法。
  10.  コンピュータを、
     対象データを取得する取得手段と、
     前記対象データに含まれる複数のエラーが機械学習モデルの評価指標に対して及ぼす影響度を、前記エラー毎又は前記エラーの属性毎に算出する算出手段と、
     前記算出手段が算出した影響度に基づいて、前記対象データの中から修正するデータを決定する決定手段と、
    として機能させるプログラム。
PCT/JP2022/020610 2022-05-18 2022-05-18 情報処理装置、情報処理方法及びプログラム WO2023223448A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020610 WO2023223448A1 (ja) 2022-05-18 2022-05-18 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020610 WO2023223448A1 (ja) 2022-05-18 2022-05-18 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2023223448A1 true WO2023223448A1 (ja) 2023-11-23

Family

ID=88834900

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/020610 WO2023223448A1 (ja) 2022-05-18 2022-05-18 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2023223448A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146141A (zh) * 2018-07-25 2019-01-04 上海交通大学 一种燃煤电站回转式空气预热器漏风率预测方法
US20200104651A1 (en) * 2018-09-28 2020-04-02 Hartford Steam Boiler Inspection & Insurance Compa Dynamic outlier bias reduction system and method
CN112420187A (zh) * 2020-10-15 2021-02-26 南京邮电大学 一种基于迁移联邦学习的医疗疾病分析方法
CN113537415A (zh) * 2021-09-17 2021-10-22 中国南方电网有限责任公司超高压输电公司广州局 基于多信息融合的换流站巡检方法、装置和计算机设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146141A (zh) * 2018-07-25 2019-01-04 上海交通大学 一种燃煤电站回转式空气预热器漏风率预测方法
US20200104651A1 (en) * 2018-09-28 2020-04-02 Hartford Steam Boiler Inspection & Insurance Compa Dynamic outlier bias reduction system and method
CN112420187A (zh) * 2020-10-15 2021-02-26 南京邮电大学 一种基于迁移联邦学习的医疗疾病分析方法
CN113537415A (zh) * 2021-09-17 2021-10-22 中国南方电网有限责任公司超高压输电公司广州局 基于多信息融合的换流站巡检方法、装置和计算机设备

Similar Documents

Publication Publication Date Title
EP3690762A1 (en) Providing insights about a dynamic machine learning model
US10068176B2 (en) Defect prediction method and apparatus
JP2017224184A (ja) 機械学習装置
JP2008146591A (ja) 異常兆候検出装置および方法
JP6231944B2 (ja) 学習モデル作成装置、判定システムおよび学習モデル作成方法
JP5338492B2 (ja) 入力変数選択支援装置
WO2018168193A1 (ja) 業務改善支援装置および業務改善支援方法
US20190130308A1 (en) Learning the structure of hierarchical extraction models
JP2015087973A (ja) 生成装置、生成方法、およびプログラム
JP2018156346A5 (ja)
US20220405605A1 (en) Learning support device, learning device, learning support method, and learning support program
JPWO2014199920A1 (ja) 予測関数作成装置、予測関数作成方法、及びプログラム
US20200394211A1 (en) Multi-term query subsumption for document classification
JP6962123B2 (ja) ラベル推定装置及びラベル推定プログラム
US10885593B2 (en) Hybrid classification system
CN104021180A (zh) 一种组合式软件缺陷报告分类方法
JP6988995B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
US20220114478A1 (en) System and method for enhancing inference models based on prediction data
WO2023223448A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
JP4255779B2 (ja) データ分析装置およびデータ分析方法並びにデータ分析プログラム
WO2022079919A1 (ja) 検知プログラム、検知方法および検知装置
JP2007213441A (ja) 多変数決定木構築システム、多変数決定木構築方法および多変数決定木を構築するためのプログラム
JP2022072149A (ja) 機械学習プログラム、装置、及び方法
JP6016613B2 (ja) ソフトウェア信頼性評価装置、ソフトウェア信頼性評価方法、及びプログラム

Legal Events

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

Ref document number: 22942653

Country of ref document: EP

Kind code of ref document: A1