Information processing systems and programs

The system accelerates preprocessing by combining same-data-type column data and using machine learning to generate models, enhancing prediction accuracy in matching tabular data with different formats.

JP2026113200APending Publication Date: 2026-07-07FUJIFILM BUSINESS INNOVATION CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJIFILM BUSINESS INNOVATION CORP
Filing Date
2024-12-25
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

The existing methods for generating trained models to match tabular data with different formats require extensive preprocessing time due to the verification of all possible data sequences, which is inefficient and time-consuming.

Method used

An information processing system that generates second training data by combining column data of the same data type, uses machine learning to create multiple models, and presents candidates for association based on prediction accuracy, allowing for efficient preprocessing.

Benefits of technology

Reduces preprocessing time and improves prediction accuracy by focusing on same-data-type combinations, enabling faster and more accurate model generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026113200000001_ABST
    Figure 2026113200000001_ABST
Patent Text Reader

Abstract

This mechanism reduces the time required for preprocessing compared to verifying correspondences that improve the accuracy of predicting correctness by examining all data columns of two tabular data sets with different formats. [Solution] The information processing system has a processor, which receives the first table data and the second table data for which the matching results are correct as training data, generates second training data by combining the first column data of the first table data and the second column data of the second table data for which the respective data types are the same, and presents candidates for relating the first column data and the second column data using the second training data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing system and a program.

Background Art

[0002] Today, there are services that utilize IT (= Information Technology) technology to support business operations. For example, there are services that utilize a machine-learned model (hereinafter referred to as a "trained model") to support a user's business operations. However, to provide a highly accurate service, the generation of a dedicated trained model specialized for the user's business content is required.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] For example, in generating a trained model for matching two tabular data with different formats, it is necessary to select a data sequence for use in learning. For example, a user manually selects a correspondence relationship for use in learning from among the two tabular data. On the other hand, there is also a mechanism in which combination candidates are verified for all data sequences of the two tabular data and presented to the user. However, if this mechanism is adopted, the preprocessing time before generating the trained model, which is the ultimate goal, becomes long.

[0005] An object of the present invention is to shorten the time required for preprocessing as compared with the case of verifying a correspondence relationship with high prediction accuracy for all data sequences of two tabular data with different formats.

Means for Solving the Problems

[0006] The invention described in claim 1 is an information processing system comprising a processor, the processor receiving first table data and second table data for which the matching result is correct as training data, generating second training data by combining first column data and second column data for which the respective data types of the first column data of the first table data and the second column data of the second table data are the same, and presenting candidates for associating the first column data and the second column data using a trained model generated from the second training data. The invention described in claim 2 is an information processing system according to claim 1, wherein the processor generates a plurality of second training data by combining one first column data and one second column data of the same data type, generates a plurality of learning models by individually machine learning the plurality of second training data, and presents the candidates for the first column data or the second column data based on the prediction accuracy of each of the plurality of learning models that have been generated. The invention described in claim 3 is an information processing system according to claim 1, wherein the processor presents the candidates on a screen that prompts the user to specify column data in the other table data to be combined with the first column data or the second column data. The invention described in claim 4 is an information processing system according to claim 3, wherein the processor presents the candidates as initial values ​​for the column data. The invention described in claim 5 is an information processing system according to claim 3, wherein the processor presents the auxiliary in response to a predetermined call operation. The invention described in claim 6 is an information processing system according to claim 3, wherein the processor presents features that specify parameters to be used to generate the trained model, in association with the candidates. The invention described in claim 7 is the information processing system described in claim 6, wherein when the data type is numerical, the feature quantity is one of the four basic arithmetic operations. The invention described in claim 8 is the information processing system described in claim 1, wherein the processor presents the prediction accuracy calculated for each candidate. The invention described in claim 9 is an information processing system according to claim 8, wherein when the processor presents the candidates in association with the first column data or the second column data, it also presents the corresponding prediction accuracy. The invention described in claim 10 is the information processing system described in claim 8, wherein the processor presents the candidates and corresponding prediction accuracies in a list format. The invention described in claim 11 is an information processing system according to claim 1, wherein the processor extracts a portion of the training data to generate partial training data, generates second partial training data with errors in the matching relationship from the generated partial training data, combines first column data of the first table data and second column data of the second table data included in the second partial training data, where the respective data types of the first column data and the second column data are the same, to generate third partial training data, and generates a trained model from the third partial training data. The invention described in claim 12 is an information processing system according to claim 1, wherein the processor provides the trained model with third training data including the correctness of the matching result between the first row data of the first table data and the second row data of the second table data, and calculates the prediction accuracy. The invention described in claim 13 is a program for a computer that provides the following functions: a function to accept first table data and second table data whose matching results are correct as training data; a function to generate second training data by combining first column data of the first table data and second column data of the second table data, each having the same data type; and a function to present candidates for associating the first column data and second column data using a trained model generated from the second training data. [Effects of the Invention]

[0007] According to the invention described in claim 1, the time required for preprocessing can be reduced compared to verifying a correspondence that improves the accuracy of predicting correctness by examining all data columns of two tabular data sets of different formats. According to the invention described in claim 2, it is possible to compare combinations of one first column data and one second column data of the same data type. According to the invention described in claim 3, it is possible to support the user in performing association tasks. According to the invention described in claim 4, the user's association work can be made more efficient. According to the invention described in claim 5, the presenting of association candidates can be limited to cases where assistance is needed. According to the invention described in claim 6, it is possible to present the information necessary for generating a highly accurate model. According to the invention described in claim 7, it is possible to present a calculation method that improves the prediction accuracy of matching numerical column data. According to the invention described in claim 8, it is possible to enable the user to verify the presented association candidates. According to the invention described in claim 9, the user's association work can be made more efficient. According to the invention described in claim 10, the prediction accuracy of multiple association candidates can be compared. According to the invention described in claim 11, the amount of computation can be reduced compared to the case where all row data of the received Table 1 data and Table 2 data is used. According to the invention described in claim 12, it is possible to verify prediction accuracy, including for different data types. According to the invention described in claim 13, the time required for preprocessing can be reduced compared to verifying a correspondence that improves the accuracy of predicting correctness by examining all data columns of two tabular data sets of different formats. [Brief explanation of the drawing]

[0008] [Figure 1] This figure illustrates an example of a business support system assumed in the embodiment. [Figure 2] This diagram illustrates an example of the hardware configuration of a business support server. [Figure 3] This diagram illustrates the reconciliation process based on incoming payments. [Figure 4] This is a diagram illustrating an example of a butt joint operation. [Figure 5]This is a diagram explaining the data type for each column data of the correct teacher data. [Figure 6] This is a diagram explaining an example of the correct teacher data. [Figure 7] This is a diagram explaining the upload of the correct teacher data from the user terminal to the business support server. [Figure 8] This is a diagram explaining an example of preprocessing for generating a learned model. [Figure 9] This is a diagram explaining an example of the correct / incorrect teacher data. [Figure 10] This is a diagram explaining the classification of column data by data type. [Figure 11] This is a diagram explaining specific examples of the correct / incorrect teacher data by data type. [Figure 12] This is a diagram explaining the generation process of combinations of column data in data type units. [Figure 13] This is a diagram explaining an example of combinations of data columns by data type. [Figure 14] This is a diagram explaining the correct / incorrect teacher data corresponding to the combinations of data columns prepared by data type. [Figure 15] This is a diagram explaining the generation process of learning teacher data. [Figure 16] This is a diagram explaining an example of learning teacher data with features assigned for each combination. [Figure 17] This is a diagram explaining an example of the generation of learning teacher data corresponding to a combination. [Figure 18] This is a diagram explaining the generation process of a learned model. [Figure 19] This is a diagram explaining the evaluation process of the learned model generated for each combination of column data. [Figure 20] This is a diagram explaining an example of a score corresponding to a learned model. [Figure 21] This is a sequence diagram explaining an example of providing a business support service. [Figure 22] This is a diagram explaining an example of the display of a matching target designation reception screen displayed on the user terminal. [Figure 23] This diagram illustrates other display examples of the screen for selecting matching targets. [Figure 24] This diagram illustrates other display examples of the screen for selecting matching targets. [Figure 25] This is a sequence diagram illustrating other examples of business support service provision. [Figure 26] This diagram illustrates an example of the display of the matching target selection screen shown on the user's terminal. [Figure 27] This diagram illustrates the screen changes corresponding to steps 122 and 123. [Figure 28] This is a sequence diagram illustrating other examples of business support service provision. [Figure 29] This diagram illustrates screen switching that occurs in response to user actions. [Figure 30] This is a sequence diagram illustrating other examples of business support service provision. [Figure 31] This diagram illustrates an example of the display screen for specifying matching targets. [Modes for carrying out the invention]

[0009] Embodiments of the present invention will be described below with reference to the drawings. <Embodiment>

[0010] <System Configuration> Figure 1 is a diagram illustrating an example of a business support system 1 assumed in the embodiment. The business support system 1 shown in Figure 1 includes a business support server 10 and a user terminal 20. Incidentally, user terminal 20 is a terminal operated by a user in charge at a company receiving business support services. In Figure 1, there are multiple companies using the business support service, but it could also be just one. In Figure 1, company A is depicted with only one user terminal 20. However, company A may have multiple user terminals 20. Furthermore, the number of user terminals 20 may differ for each company.

[0011] The business support server 10 is a server that provides business support services. In Figure 1, there is one business support server 10, but there may be multiple servers. Furthermore, the business support services may be provided through the cooperation of multiple business support servers 10. Multiple business support servers 10 that cooperate can communicate, for example, through a network N. However, the network N used by the multiple business support servers 10 for cooperation may be a different network from the network N used by the business support server 10 to connect with the user terminal 20.

[0012] The user terminal 20 can be, for example, a desktop computer, a laptop computer, a tablet computer, or a smartphone. Network N may be, for example, the Internet, a LAN (Local Area Network), or a 4G, 5G, or other mobile communication system. Network N may be a wired network, a wireless network, or a hybrid network of these.

[0013] <Hardware configuration of the business support server> Figure 2 illustrates an example of the hardware configuration of the business support server 10. Here, the business support server 10 is an example of an information processing system. Alternatively, business support system 1 (see Figure 1) may also be considered an example of an information processing system.

[0014] The business support server 10 shown in Figure 2 includes a processor 11, semiconductor memory 12, auxiliary storage device 13, and communication interface 14. Each device is connected via a bus or other signal lines 15.

[0015] The processor 11 is a device that performs various functions through the execution of a program. The semiconductor memory 12 may include, for example, a ROM (Read Only Memory) in which UEFI (Unified Extensible Firmware Interface) is stored, and a RAM (Random Access Memory) used as a work area for the processor 11. The processor 11 and semiconductor memory 12 function as a computer.

[0016] The auxiliary storage device 13 is composed of, for example, a hard disk drive or semiconductor storage. Programs and various types of data are stored in the auxiliary storage device 13. The term "program" is used as a general term for the OS (Operating System) and application programs. In the case of the business support server 10, one of the application programs is a program for supporting business operations (hereinafter also referred to as the "business support program").

[0017] The auxiliary storage device 13 also stores data necessary for providing business support services. In the case of Figure 2, the auxiliary storage device 13 stores the correct training data 13A, the training training data 13B, and the trained model 13C. These data are stored one or more sets for each company using the business support services. The correct training data 13A is provided as two tabular data sets from the two tabular data sets that are the subject of the matching operation, and whose matching results have been verified to be correct.

[0018] The training data 13B is training data for machine learning, generated based on the correct training data 13A. The pre-trained model 13C is a pre-trained model that assists in matching two tabular datasets. The communication interface 14 is an interface for communicating with user terminals 20 and the like via the network N. The communication interface 14 supports various communication standards. These communication standards include, for example, Ethernet (registered trademark), Wi-Fi (registered trademark), and mobile communication systems.

[0019] <Processing operation of the business support server> The following sections will explain, in order, the various processes performed when providing business support services.

[0020] <User-assisted matching> Figure 3 illustrates the reconciliation process based on payments received. This reconciliation process is an example of a matching process. Figure 3 explains the case where payment data 200 and invoice data 210 are matched. Needless to say, payment data 200 and invoice data 210 are examples of data to be matched. As shown in Figure 3, the payment data 200 and the invoice data 210 are in tabular format.

[0021] For example, deposit data 200 includes data number 200A, deposit date 200B, administrative code 200C, deposit notification number 200D, deposit notification name 200E, deposit notification amount 200F, and deposit type 200G. Needless to say, the items shown are just examples. The billing data 210 includes data number 210A, deposit type 210B, billing amount 210C, billing date 210D, payment due date 210E, payment promised date 210F, business code 210G, billing business name 210H, and billing business name 210I. Needless to say, the items shown are just examples. Thus, the tabular formats of payment data 200 and invoice data 210 are different.

[0022] The names and order of the column data in the deposit data 200 and invoice data 210 may differ depending on the program used by each company and any customizations made by each company. Furthermore, the details of the transactions appearing in the table data will vary from company to company. The user in charge at each company visually checks the contents that appear in these two tabular data sets and matches them one by one to the corresponding transactions. The payment data 200 shown here is an example of data from Table 1, and the invoice data 210 is an example of data from Table 2.

[0023] Figure 4 illustrates an example of a matching process. Figure 4 includes corresponding symbols for parts that correspond to those in Figure 3. In Figure 4, only a portion of the transaction data is shown to illustrate the correct relationship in the matching results. In Figure 4, for example, the transaction data for "AB Motors" in deposit data 200 corresponds to the transaction data for "AB Motors Shibata Branch" in invoice data 210. The bidirectional arrows indicate the two corresponding transaction data. The reason why the deposit notification amount "757585" in deposit data 200 and the invoice amount "84597" in invoice data 210 do not match is that although the matching result shows a correct relationship, the deposits from other invoice data were combined into a single payment. Sometimes, from the perspective of deposit fees, the amounts of multiple invoices are combined into a single payment. In the following, the tabular data extracted from transaction data whose matching results have been verified as correct will be referred to as the correct training data 13A (see Figure 2).

[0024] Figure 5 is a diagram illustrating the data types for each column of the correct training data 13A. The correct training data 13A shown in Figure 5 consists of two table data sets 230 and 240. Specifically, it consists of two sets: payment data 230, which contains only transaction data whose matching results have been verified to be correct with the transaction data in billing data 210, and billing data 240, which contains only transaction data whose matching results have been verified to be correct with the transaction data in payment data 200.

[0025] In Figure 5, each row of the deposit data 230 and each row of the invoice data 240 are arranged in a corresponding order. For example, the transaction data for "AB Motors" in the first row of the deposit data 230 corresponds to the transaction data for "AB Motors Shibata Branch" in the first row of the invoice data 240. The same applies to subsequent entries.

[0026] In Figure 5, the data type of "Deposit Date" in deposit data 230 is classified as "Date," the data type of "Administrative Management Code" is classified as "Number," the data type of "Deposit Notification Number" is classified as "Number," the data type of "Deposit Notification Name" is classified as "String," the data type of "Deposit Notification Amount" is classified as "Number," and the data type of "Deposit Type" is classified as "Category."

[0027] In billing data 240, the data type of "Deposit Type" is classified as "Category," the data type of "Billing Amount" is classified as "Number," the data type of "Billing Date" is classified as "Date," the data type of "Scheduled Payment Date" is classified as "Date," the data type of "Pledged Payment Date" is classified as "Date," the data type of "Office Code" is classified as "Number," the data type of "Billing Destination Business Code" is classified as "Number," and the data type of "Billing Destination Business Name" is classified as "String." Here, "Category" is a type of "String," but it classifies items whose uniqueness rate is lower than a threshold (e.g., 0.05). The uniqueness rate is calculated, for example, by the number of types of strings that can be associated with an item / the number of data. In the case of Figure 3 mentioned above, the number of types of strings associated with "Payment Type" is three: "Bank Transfer," "Bill Receivable," and "Check." Items that are not classified as "Category" are classified as "String."

[0028] Figure 6 illustrates an example of the correct training data 13A1. Figure 6 shows corresponding parts with corresponding labels in Figure 5. The correct training data 13A1 shown in Figure 6 has a data structure in which two corresponding transaction data, deposit data 230 and invoice data 240, are combined into a single row. Two corresponding transaction data means, for example, that data number 200A (see Figure 5) and data number 210A (see Figure 5) are the same. The correct training data 13A1 is generated by combining transaction data with the same data number from deposit data 200 and invoice data 210 (see Figure 5). In addition, the correct training data 13A1 has the target variable 250 added as column data, and data indicating "correct" is recorded for each transaction data. This concludes the preliminary preparation work for each company.

[0029] <Uploading correct training data> Figure 7 illustrates the uploading of correct training data 13A or 13A1 from the user terminal 20 to the business support server 10 (see Figure 1). In Figure 7, corresponding parts with reference numerals are shown. In this embodiment, the business support server 10 uses the uploaded correct training data 13A or 13A1 to generate a pre-trained model 13C specifically for the uploading company. This pre-trained model 13C is used to match company A's payment data 200 (see Figure 3) with its invoice data 210 (see Figure 3).

[0030] <Generating training data> Figure 8 illustrates an example of preprocessing for generating the trained model 13C (see Figure 7). Figure 8 uses corresponding reference numerals to indicate parts that correspond to those in Figure 6. The preprocessing shown in Figure 8 is achieved through the execution of a business support program by the processor 11 (see Figure 2).

[0031] When the business support server 10 receives correct training data 13A (see Figure 5), which includes payment data 230 (see Figure 5) and invoice data 240 (see Figure 5), it generates correct training data 13A1 by combining the two table data. In the case of Figure 8, the correct training data 13A1 contains, for example, 600,000 rows of transaction data. Of course, the number of rows is just an example.

[0032] The processor 11 (see Figure 2) samples a portion of the correct training data 13A1 designated for processing, extracting, for example, only 1000 rows. This extracts only a portion of the transaction data, reducing the computational load. In Figure 8, the extracted transaction data is referred to as the ground truth training data 13A11.

[0033] Next, the processor 11 uses the correct training data 13A11 to generate incorrect training data 13A12. Incorrect training data 13A12 is generated, for example, by randomly rearranging the order of row data (transaction data) in the billing data. By rearranging the order, transaction data from deposit data and transaction data from billing data that do not correspond to each other end up on the same row. In other words, transaction data is generated in which the correspondence between transaction data from the deposit data and transaction data from the billing data is broken.

[0034] Since this involves replacing transaction data, the generated incorrect training data 13A12 also contains 1000 rows of transaction data. Next, the processor 11 adds 1,000 rows of incorrect training data 13A12 to 1,000 rows of correct training data 13A11 to generate 2,000 rows of correct / incorrect training data 13A13.

[0035] Figure 9 illustrates an example of the correct / incorrect answer training data 13A13. Figure 9 includes corresponding labels for parts that correspond to those in Figure 6. The correct / incorrect answer training data 13A13 also has a data structure in which the transaction data of the corresponding deposit data 230 and invoice data 240 are combined into a single row. In Figure 9, only some of the column data is shown to facilitate verification of the accuracy of the matching results. The target variable 250 corresponding to each transaction data is recorded as either "correct" or "incorrect." Naturally, "correct" is recorded for the correct training data 13A11, and "incorrect" is recorded for the incorrect training data 13A12.

[0036] Figure 9 shows a specific example of incorrect training data 13A12. In Figure 9, the payment data "AB Motors" is associated with the invoice data 240 "Tanaka Lease Co., Ltd. Nagoya Branch". This is because the order of transaction data in the invoice data 240 of the correct training data 13A11 was randomly rearranged. Note that "Incorrect" is recorded as the target variable 250 for these transaction data.

[0037] <Classification of column data by data type> Figure 10 illustrates the classification of column data by data type. Once the correct / incorrect training data 13A13 is generated, the processor 11 classifies the column data corresponding to the payment data 230 (see Figure 9) and the column data corresponding to the billing data 240 (see Figure 9) according to their respective data types. For example, the data types of the column data in payment data 230 and invoice data 240 can be classified into four categories: "numeric," "date," "string," and "category."

[0038] Figure 10 shows the results of classifying the item names that make up each piece of data, categorized by data type, for both the payment data 230 and the invoice data 240. For payment data 230, the data type "Numeric" includes "Administrative Management Code," "Payment Notification Number," and "Payment Notification Amount." For billing data 240, the data type "Numeric" includes "Billing Amount," "Administrative Code," and "Billing Destination Business Code."

[0039] For deposit data 230, the data type "Date" is classified as "Deposit Date". For invoice data 240, the data type "Date" is classified as "Invoice Date", "Scheduled Payment Date", and "Pledged Payment Date". For payment data 230, the data type "String" is classified as "Payment Notification Name". For invoice data 240, the data type "String" is classified as "Billing Destination Business Name".

[0040] For deposit data 230, the "Category" data type is classified as "Deposit Type". For invoice data 240, the "Category" data type is classified as "Deposit Type". Once the classification of item names by data type is complete, the processor 11 generates correct / incorrect training data 13A13(1) for "numeric" type, correct / incorrect training data 13A13(2) for "date" type, correct / incorrect training data 13A13(3) for "string" type, and correct / incorrect training data 13A13(4) for "category" type.

[0041] In this embodiment, the correct and incorrect training data for each data type includes 1000 rows of correct training data and 1000 rows of incorrect training data. Therefore, each set of correct and incorrect training data contains 2000 rows of transaction data.

[0042] Figure 11 illustrates specific examples of correct / incorrect training data 13A13(1)~(4) for each data type. In Figure 11, corresponding parts with corresponding symbols are indicated. In Figure 11, for illustrative purposes, the correct / incorrect training data 13A13(3) of type "string" is shown, where each of the classified payment data 230 and invoice data 240 contains only one column of data.

[0043] The correct / incorrect answer training data 13A13(1) of the "numerical" type contains three data columns each for the payment data 230 and the billing data 240. Additionally, the correct / incorrect answer training data 13A13(2) of the "Date" type includes one data column for the payment data 230 and three data columns for the billing data 240. Additionally, the "category" type correct / incorrect answer training data 13A13(4) includes one data column each for the payment data 230 and the billing data 240.

[0044] <Generating combinations of column data at the data type level> Figure 12 illustrates the process of generating combinations of column data at the data type level. Once the correct and incorrect training data 13A13(1) to (4) for each data type are generated, the processor 11 uses the correct and incorrect training data 13A13(1) to (4) for each data type to generate all combinations of one data column of the deposit data 230 (see Figure 11) and one data column of the billing data 240 (see Figure 11).

[0045] Figure 13 illustrates examples of data column combinations for different data types. In Figure 13, corresponding parts with those in Figure 10 are indicated with corresponding symbols. For example, for the "numeric" type, nine different combinations can be generated. For example, for the "Date" type, three different combinations can be generated. For example, for the "string" type, only one combination is generated. For example, for the "category" type, only one combination is generated. The correct / incorrect training data corresponding to each combination consists of 2000 rows of transaction data.

[0046] Figure 14 illustrates the correct and incorrect training data 13A13(1-1)~(1-9), 13A13(2-1)~(2-3), 13A13(3-1), and 13A13(4-1) corresponding to the combinations of data columns provided for each data type. In Figure 14, corresponding labels are used to indicate the parts that correspond to those in Figures 2 and 10. The leading number in parentheses indicates the data type identifier, and the trailing number in parentheses indicates the combination number within the same data type. Incidentally, the identifier "1" is a number, "2" is a date, "3" is a string, and "4" is a category.

[0047] The correct / incorrect training data 13A13(1-1) to 13A13(4-1) shown in Figure 14 consists of a data column 230A for payment data, a data column 240A for billing data, a data type 260, and a target variable 250. The correct / incorrect training data sets 13A13(1-1) to 13A13(4-1) each contain 2000 rows of transaction data. Of course, half of the data is correct transaction data, and the other half is incorrect transaction data.

[0048] <Generating training data with features> Figure 15 illustrates the process of generating training data. When correct and incorrect training data 13A13(1-1) to 13A13(4-1) are generated by combining one data column of deposit data and one data column of invoice data for each data type, the processor 11 generates training training data 13B (see Figure 2) with features for each combination. Training training data 13B is also an example of correct and incorrect training data. Note that training data 13B is an example of the second training data.

[0049] Figure 16 illustrates an example of training data 13B with features assigned to each combination. In Figure 16, corresponding parts with the same symbols as in Figure 14 are indicated. Each row of the training data 13B shown in Figure 16 corresponds to each row of the correct / incorrect training data 13A13(1-1) to 13A13(4-1) shown in Figure 14. As shown in Figure 16, the 270 features of the "numerical" type correct / incorrect training data 13A13(1-1)~(1-9) are assigned the "four basic arithmetic operations". The four basic arithmetic operations are addition, subtraction, multiplication, and division.

[0050] The 270 features in the correct / incorrect training data 13A13(2-1)~(2-3) of the "date" type are assigned the "difference" value. The 270 features in the correct / incorrect answer training data 13A13(3-1), which are of the "string" type, are assigned the "edit distance". Incidentally, the "category" type correct / incorrect training data 13A13(4-1) does not have feature 270 assigned to it. Therefore, "-" is indicated in the figure.

[0051] Figure 17 illustrates an example of generating training data corresponding to combinations. Figure 17 includes corresponding labels for parts that correspond to those in Figure 16. As mentioned above, the calculation of the 270 features (see Figure 16) corresponding to the numerical type correct / incorrect training data 13A13(1-1)~(1-9) uses "addition," "subtraction," "multiplication," and "division." Therefore, for example, from the correct / incorrect training data 13A13(1-1) which combines the "administrative management code" of the payment data and the "invoice amount" of the billing data, four training data sets 13B1, 13B2, 13B3, and 13B4 are generated, each with a different calculation method used to calculate the feature vector 270.

[0052] For example, in each transaction data in the training data 13B1, the sum of the "business management code" and the "billing amount" is recorded as feature 270. For example, in each transaction data in the training data 13B2, the subtraction value between the "business management code" and the "billing amount" is recorded as feature 270. For example, in each transaction data in the training data 13B3, the product of the "business management code" and the "billing amount" is recorded as feature 270. For example, in each transaction data in the training data 13B4, the division value between the "business management code" and the "invoice amount" is recorded as feature 270. In the division operation, for example, the "business management code" is used as the numerator and the "invoice amount" as the denominator.

[0053] Similarly, four training data sets are generated from each of the correct / incorrect training data sets 13A13(1-2)~(1-9). Specifically, four training data sets 13B5-8 are generated from the correct / incorrect training data 13A13(1-2), four training data sets 13B9-12 are generated from the correct / incorrect training data 13A13(1-3), and four training data sets 13B13-16 are generated from the correct / incorrect training data 13A13(1-4). The same applies to the following steps, so the explanation is omitted.

[0054] From the correct / incorrect training data 13A13(2-1), which combines the "payment date" from the payment data and the "invoice date" from the invoice data, one training training data 13B37 is generated. This feature 270 records, for example, the result of subtracting the "invoice date" from the "payment date" (i.e., the difference value). From the correct / incorrect training data 13A13(2-2), which combines the "deposit date" from the deposit data and the "scheduled payment date" from the invoice data, one training data 13B38 is generated. This feature 270 records, for example, the result of subtracting the "scheduled payment date" from the "deposit date" (i.e., the difference value).

[0055] From the correct / incorrect training data 13A13(2-3), which combines the "payment date" from the deposit data and the "payment due date" from the invoice data, one training training data 13B39 is generated. This feature 270 records, for example, the result of subtracting the "payment due date" from the "payment date" (i.e., the difference value). From the correct / incorrect training data 13A13(3-1), which combines the "payment notification name" from the payment data and the "billing recipient business name" from the invoice data, one training training data 13B40 is generated. This feature 270 records, for example, the edit distance from the "payment notification name" to the "billing recipient business name".

[0056] From the correct / incorrect training data 13A13(4-1), which combines the "deposit type" from the deposit data and the "deposit type" from the invoice data, one training training data 13B41 is generated. This feature 270 records, for example, the edit distance from "deposit type" to "deposit type".

[0057] <Generating a pre-trained model> Figure 18 illustrates the process of generating a pre-trained model. Once training data 13B1-41, each with its own set of features, is generated, the processor 11 individually performs machine learning on the feature-enhanced training data 13B1-41 to generate trained models 13C1-41. For example, the training data 13B1 with features is used to generate pre-trained models 13C1 for different combinations of column data with the same data type. This pre-trained model 13C1 is a model that has learned the relationship between the "office management code" and the "billing amount" of the input data for addition operations. The same applies to the other pre-trained models 13C2 to 13C41.

[0058] <Evaluation of a pre-trained model> Next, we evaluate the pre-trained models 13C1-41 for different combinations of column data with the same data type. In other words, we evaluate the performance of each model in outputting the correct set of transaction data for matching. For example, the probability that the output of pre-trained models 13C1-41 is correct is output as the evaluation result. Figure 19 illustrates the evaluation process for the trained models 13C1 to 41, which were generated for each combination of column data. In Figure 19, corresponding parts with those in Figure 9 are indicated with corresponding labels.

[0059] First, the processor 11 generates evaluation data (hereinafter referred to as "evaluation data"). Therefore, the processor 11 samples a portion of the transaction data (the remaining portion after excluding 1,000 rows out of 600,000 rows) that was not used to generate the correct / incorrect training data 13A13 (see Figure 9) from the correct training data 13A1 (see Figure 6). For example, 500 rows of transaction data are sampled. Note that 500 rows is just an example, and the number of rows could be more or less than 500.

[0060] Next, processor 11 generates incorrect training data from the sampled correct training data. In this example, for example, 500 rows of incorrect training data are generated. Subsequently, processor 11 combines the correct and incorrect training data to generate correct and incorrect training data for evaluation. The processing up to this point is the same as that shown in Figure 8. The correct training data consists of 500 rows, and the incorrect training data consists of 500 rows. Therefore, the correct and incorrect training data for evaluation contains 1000 rows of transaction data.

[0061] Figure 19 shows an example of the generated correct / incorrect training data for evaluation. This data structure is the same as the correct / incorrect training data 13A13 shown in Figure 9. However, the content of the transaction data is different. Once evaluation transaction data is generated, processor 11 provides the evaluation correct and incorrect training data to the trained models 13C1-41 and calculates the accuracy rate. Specifically, the processor 11 provides the trained model 13C1 with transaction data given as pairs of deposit data 230 and invoice data 240 as input data, and obtains output data of "correct" or "incorrect" for each input data.

[0062] Next, the processor 11 determines whether the "correct" or "incorrect" output data for the input data matches the target variable 250 of the input data. If the correctness of the output data matches that of the target variable 250, it is considered "correct." If the correctness of the output data does not match that of the target variable 250, it is considered "incorrect." Then, for each trained model, the accuracy rate is calculated using the total number of correct and incorrect training data points as the denominator and the number of correct and incorrect transaction data points as the numerator. Below, the calculated accuracy rate value will be referred to as the score.

[0063] As a result, evaluation results are obtained for each of the trained models 13C1 to 41. Figure 20 illustrates an example of scores corresponding to the trained models 13C1-41. For clarity, some details of the trained model 13C (see Figure 2) have been omitted in Figure 20. For example, the score of the trained model 13C1 is 0.011. This indicates that the trained model 13C1 correctly determined the correctness of only 11 out of 1000 rows of transaction data.

[0064] The score of the pre-trained model 13C25 is 0.839. This indicates that the pre-trained model 13C25 correctly determined the correctness of 839 out of 1000 rows of transaction data. The score of the trained model 13C40 is 0.868. This indicates that the trained model 13C40 correctly determined the correctness of 868 out of 1000 rows of transaction data.

[0065] <Examples of business support services provided> The following describes an example of providing business support services that utilize the evaluation results of the pre-trained model mentioned above. <Provision example 1> Figure 21 is a sequence diagram illustrating an example of business support service provision. The symbol S in the figure represents a step. First, the user terminal 20 uploads training data 13A1 (see Figure 6) containing the correct matching results of payment data and billing data to the business support server 10 (step 101).

[0066] Upon receiving the upload, the business support server 10 stores the correct training data 13A1, which is the result of matching the payment data and the billing data (step 102). The correct training data 13A1 at this point is stored in a dedicated area for the user who uploaded it. Next, the business support server 10 extracts a portion of the correct training data (step 103). Next, the business support server 10 generates incorrect training data 13A12 (step 104). Furthermore, the business support server 10 combines the correct training data and the incorrect training data to generate correct / incorrect training data 13A13 (see Figure 9) (step 105). Steps 103 to 105 correspond to the processes explained using Figures 8 to 9.

[0067] Next, the business support server 10 classifies the column data by data type (step 106). This process corresponds to the process explained using Figures 10 and 11. Subsequently, the business support server 10 generates all possible combinations of one column of payment data and one column of invoice data for each data type (step 107). This process corresponds to the process explained using Figures 12 to 14. Next, the business support server 10 calculates feature quantities for each combination and generates training data (step 108). This process corresponds to the process explained using Figures 15 to 17.

[0068] Subsequently, the business support server 10 generates pre-trained models 13C1 to 41 (see Figure 18) in combination units and presents a matching target selection screen to the user terminal 20, using the combination of item names corresponding to the model with the highest score as the initial value (step 109). Part of this process corresponds to the process explained using Figures 18 to 20. Figure 22 illustrates an example of the display of the matching target selection screen 300 shown on the user terminal 20. The matching target selection screen 300 shown in Figure 22 includes a progress bar 310 and a setting field 320 for the association target. Here, "association" refers to selectively linking one item of one table data to one item of the other table data. More specifically, it means associating items that are thought to have a high correlation with the target variable to be calculated when calculating features. In this example, the "target variable to be calculated" is the correct combination of the matching result between the billing data and the input data.

[0069] In the case of the progress bar 310 shown in Figure 22, the progress is presented in three stages. The first stage is "specifying training data." This stage accepts the correct training data 13A1 (see Figure 6). The second stage is "Specifying Associated Items." In the case of progress bar 310, it is labeled "Select Common Key Item." In Figure 22, the current stage is the second stage.

[0070] The third stage is "Generating a trained model." In the case of progress bar 310, it is labeled "Generating AI model." In the third stage, the "trained model" refers to a trained model that performs the matching process on behalf of a human. In other words, the "trained model" in the third stage refers to a trained model used for matching two tabular data sets that have not been matched by a human. Therefore, the "trained model" in the third stage is different from the trained model generated for each combination of data sequences mentioned earlier. Once the generation of the trained model begins here, progress bar 310 moves to the third position.

[0071] The setting field 320 for the associated items has two areas 320A and 320B. Area 320A displays the table data from which the matching originates. In this embodiment, "payment data" is displayed. Area 320B displays the table data to which the matching destination originates. In this embodiment, "invoice data" is displayed. In Figure 22, a portion of region 320A is enlarged and shown in the callout 330. In Figure 22, three input fields are shown in callout 330: "Date of deposit," "Name of deposit notification," and "Amount of deposit notification."

[0072] As shown in Figure 22, the matching target selection screen 300 presents, as shown in step 109 (see Figure 21), combinations of column data corresponding to trained models with higher scores as initial values. For example, the "Payment Date" field initially displays the "Scheduled Payment Date," which, when combined with the "Payment Date," results in a higher score. In Figure 22, the checkbox labeled "Use for learning" is checked by default.

[0073] By linking the "payment date" and the "scheduled payment date" and advancing machine learning, even when payment and invoice data are input before manual matching, the accuracy of the matching results produced by the ultimately trained model is likely to increase. Users can also uncheck individual checkboxes. If the user follows the initial recommendation, for example, they will check the box displayed to the left of "Payment Date". This will also check the box displayed to the left of "Scheduled Payment Date" in area 320B.

[0074] However, if the checkbox labeled "Use for learning" is checked, the user may not need to take any further action. When the business support server 10 (see Figure 1) receives a request, the business support server 10 updates the display in areas 320A and 320B so that, for example, "payment date" and "scheduled payment date" are paired together.

[0075] Incidentally, the default value for "Payment Notification Name" is "Billing Company Name." Also, the default value for "Payment Notification Amount" is "Invoice Amount." Note that even with the same data type, the pre-trained models 13C1 to 41 (see Figure 20), which are assigned to different combinations of column data, may use different operations to calculate features. For example, if the data type is "numerical," four pre-trained models 13C will be generated for a single combination of column data, each using a different type of arithmetic operation to calculate features. Therefore, the initial values ​​may include the types of arithmetic operations used during machine learning.

[0076] In Figure 22, a "Cancel" button 340 and a "Start Learning" button 350 are located in the lower right corner of the matching target selection screen 300. If the "Cancel" button 340 is clicked, the business support server 10 cancels all previously received association target specifications. Alternatively, clicking the "Cancel" button 340 may terminate the current pre-trained model generation process.

[0077] On the other hand, if the "Start Learning" button 350 is clicked (step 110 in Figure 21), the business support server 10 starts machine learning on the items in the correct training data whose association relationships are specified and the corresponding features (step 111 in Figure 21). At this point, the current stage on the progress bar 310 moves to the third stage. Subsequently, the business support server 10 saves the generated trained model (step 112 in Figure 21).

[0078] Figure 23 illustrates another example of the display of the matching target selection screen 300. In Figure 23, parts corresponding to those in Figure 22 are indicated with corresponding reference numerals. The matching target selection screen 300 shown in Figure 23 includes a combination information field 360 used as the basis for the initial value. In Figure 23, the combination information field 360 is shown in an enlarged view in the callout 370. The combination information section 360 shown in Figure 23 has the following display items: "Explanatory variable A of the matching source", "Explanatory variable B of the matching target", "Processing method between A and B", and "Score (0-100)".

[0079] In this embodiment, the matching source is "payment data," and the matching destination is "invoice data." The combination information field 360 displays the top-scoring combinations. For example, it displays the top 10 combinations regardless of data type. However, in Figure 23, only four are displayed due to space limitations. Note that combinations corresponding to the top 11th to 20th scores may also be displayed in the combination information field 360, but only if the score is greater than a pre-set threshold.

[0080] In Figure 23, the top-scoring combination is the one where the features of "Payment Notification Name" and "Billing Business Name" are calculated using "Similarity." The score is 60. While Figure 23 uses "Similarity" to evaluate features, as mentioned earlier, "Edit Distance" can also be used. Incidentally, "Edit Distance" is a form of similarity. Similarity can also be calculated as "Match Rate." The score here is an example of prediction accuracy. Furthermore, in Figure 23, the prediction accuracy for each combination candidate is displayed in a list format.

[0081] Incidentally, even in the case of the matching target selection screen 300 shown in Figure 22 mentioned above, it can be seen that the candidate matching target displayed as the initial value scores higher in relation to the matching source than when combined with other items. However, it is not possible to know the order of the scores or the magnitude of the scores.

[0082] On the other hand, the matching target selection screen 300 shown in Figure 23 displays the information field 360 as described above. This makes it possible to check the order of scores between combinations of explanatory variables and the score values ​​corresponding to each combination. As a result, the basis for deciding whether or not to designate the candidates recommended as initial values ​​as targets for combination becomes clear. If the information field 360 shown in Figure 23 is displayed, it can be seen that there are no combinations that yield a high score other than the combination of "Payment Notification Name" and "Billing Business Name," which use similarity as a feature.

[0083] Figure 24 illustrates another example of the display of the matching target selection screen 300. In Figure 24, corresponding parts with reference numerals are shown in relation to Figure 22. The matching target selection screen 300 shown in Figure 24 includes a score in the display field for the initial value of the matching candidate. In this case, the user can also determine whether the candidate displayed as the initial value is suitable as the explanatory variable for the matching target in the association target setting field 320. Furthermore, when displaying other items using the dropdown menu, the calculated score for each item will also be shown.

[0084] <Usage example 2> Figure 25 is a sequence diagram illustrating another example of business support service provision. Figure 25 is denoted with corresponding reference numerals for parts that correspond to those in Figure 21. The processing up to step 108 in the processing sequence shown in Figure 25 is the same as the processing sequence explained in Figure 21. In this use case as well, the evaluation of the trained model is performed for each combination of column data of the same data type, simultaneously with the uploading of the correct training data.

[0085] However, in this usage example, the evaluation results are not presented to the user terminal 20 as initial values. In other words, once the processing up to step 108 is completed, the business support server 10 presents the matching target designation acceptance screen 300A (see Figure 26) to the user terminal 20 (step 121).

[0086] Figure 26 illustrates an example of the display of the matching target selection screen 300A shown on the user terminal 20. In Figure 26, parts corresponding to those in Figure 22 are indicated with corresponding reference numerals. The layout of the matching target selection screen 300A is basically the same as the matching target selection screen 300 (see Figure 22).

[0087] However, the matching target selection screen 300A shown in Figure 26 differs from the matching target selection screen 300 in that the candidates to associate with each item are not displayed as initial values. Therefore, in area 320A of the setting field 320 for the association target, the source table data is displayed as is, as shown in the callout 330, and in area 320B, the target table data is displayed as is.

[0088] Return to the explanation of step 121 in Figure 25. In this example, when the user terminal 20 receives a request to display recommended items (step 122), the business support server 10 presents the combination with the specified item that has the highest score as recommended items to the user terminal 20 (step 123). Figure 27 illustrates the screen changes corresponding to steps 122 and 123 (see Figure 25). Figure 27 shows an example where the recommendation field 390 is displayed in a pull-down menu format when the mouse cursor 380 clicks on the "Payment Date" item. This click is an example of a predefined call operation.

[0089] The information displayed in recommendation field 390 is the same as the information displayed as the default value. In this use case, the recommendation field 390 is displayed only when the user wants to know the recommended values ​​for candidate explanatory variables to combine with the source explanatory variable. This allows for switching the screen display according to the skill level of the user operating the user terminal 20. Note that the processing after step 123 (i.e., steps 110-112) is the same as in the aforementioned example 1.

[0090] <Usage example 3> Figure 28 is a sequence diagram illustrating another example of business support service provision. Figure 28 is denoted with corresponding reference numerals for parts that correspond to those in Figure 21. The processing up to step 102 in the processing sequence shown in Figure 28 is the same as the processing sequence described in Figure 21. That is, the business support server 10 stores the correct training data uploaded from the user terminal 20. Next, the business support server 10 presents the matching target designation acceptance screen 300A (see Figure 26) to the user terminal (step 131). Having received the instruction, the business support server 10 presents the trained model generation screen 400 (see Figure 29) to the user terminal 20 (step 132).

[0091] Figure 29 illustrates the screen switching that occurs in response to user screen operations. Figure 29 is denoted with corresponding reference numerals for parts that correspond to those in Figure 26. When the user clicks the "Start Learning" button 350 on the matching target selection screen 300A with the mouse cursor 380, the display switches to the trained model generation screen 400. In Figure 29, the current position of the progress bar 410 is that it has moved to the third stage. Furthermore, all transaction data from the correct training data 13A1 (see Figure 6) is used to generate the trained model.

[0092] Therefore, the screen 400 for generating the trained model includes a progress display section 420. In the case of Figure 29, the progress is managed in four stages. For example, these are "data preprocessing," "model building," "post-processing," and "training result generation." In Figure 29, only "data preprocessing" is displayed in an active state, while the other three are displayed in a grayed-out state. Steps 103 and onward, as described above, are executed as "data preprocessing." Additionally, the screen 400 for generating the trained model includes a "Stop Training" button 440 and a "Run in Background" button 450.

[0093] Returning to the explanation of Figure 28. After the execution of step 132 described above, the business support server 10 executes the processes in steps 103 to 108 in order. In other words, once the training data 13B (see Figure 2) is obtained, the business support server 10 generates trained models 13C (see Figure 2) for each combination of column data with the same data type, and obtains the combination of item names corresponding to the model with the highest score (step 133). Next, the business support server 10 starts machine learning on the combinations obtained from the correct training data 13A1 (see Figure 6) and the corresponding features (step 134). Subsequently, the business support server 10 saves the generated trained model (step 112).

[0094] <Usage example 4> Figure 30 is a sequence diagram illustrating another example of business support service provision. Figure 30 is denoted with corresponding reference numerals for parts that correspond to those in Figure 28. The processing up to step 131 in the processing sequence shown in Figure 30 is the same as the processing sequence explained in Figure 28. That is, when the user uploads the correct training data 13A1 (see Figure 6), the business support server 10 displays the matching target designation acceptance screen 300B (see Figure 31) on the user terminal 20.

[0095] Meanwhile, the user terminal 20 accepts operation of the "Advanced Settings" button 460 (see Figure 31) (step 141). The "Advanced Settings" button 460 is located on the matching target selection screen 300B. Upon receiving notification of this operation, the business support server 10 executes the processes from step 103 to step 108 in order. Subsequently, the business support server 10 presents the user terminal 20 with a combination information field 360 (see Figure 23) showing the combinations with the highest score values ​​(step 142).

[0096] Next, the user specifies the combination of explanatory variables to be used in machine learning, referring to the combination information field 360 provided. Once the specifications are finalized, the user operates the "Start Learning" button 350 (see Figure 23). In other words, the user terminal 20 accepts the operation of the "Start Learning" button 350 (step 110). Upon receiving notification of the operation, the business support server 10 executes steps 111 to 112 in order.

[0097] Figure 31 illustrates an example of the display of the matching target selection screen 300B. In Figure 31, parts corresponding to those in Figure 26 are indicated with corresponding reference numerals. In the upper right corner of the matching target selection screen 300B shown in Figure 31, there is a "Detailed Settings" button 460. In this example, the "Detailed Settings" button 460 serves as the button to start the execution of steps 103 to 108 described above. If the "Start Training" button 350 is pressed without pressing the "Advanced Settings" button 460, the generation of a trained model will begin according to the association relationships specified by the user.

[0098] On the other hand, if the "Advanced Settings" button 460 is pressed before the "Start Learning" button 350 is pressed, the combination information field 360 will appear on the matching target selection screen 300B. The combination information field 360 shows the evaluation results of the trained model for each combination, which was trained by assigning features to the combination of one of the column data constituting the source table data (given as the correct training data 13A1) and one of the column data constituting the target table data. Therefore, the user can specify the target explanatory variable to associate with the source explanatory variable by referring to the displayed combination information field 360.

[0099] <Summary> By using the aforementioned business support server 10 (see Figure 1), the time required for preprocessing can be reduced compared to verifying correlation relationships that improve the accuracy of correct / incorrect predictions by examining all data columns of two tabular data sets with different formats (for example, all data columns of the correct training data 13A1 (see Figure 6)). Furthermore, in the case of the aforementioned business support server 10, even if the user is unfamiliar with specifying explanatory variables for machine learning, it can assist the user in specifying them, for example, as shown in Usage Example 1 (see Figures 22-24), Usage Example 2 (see Figure 27), and Usage Example 4 (see Figure 31).

[0100] <Other Embodiments> (1) Although embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the embodiments described above. It is clear from the claims that embodiments with various modifications or improvements made to those described above are also included in the technical scope of the present invention.

[0101] (2) In the embodiments described above, the embodiments were explained on the premise of generating a trained model that supports the reconciliation work based on payments. However, the matching work to be supported is not limited to reconciliation. For example, the matching work to be supported may be invoice matching, customer data integration, or name matching.

[0102] (3) In the above-described embodiment, the correct training data 13A1 (see Figure 6) uploaded by the user is used as is, but before starting the data processing described above, a process to convert the data into a data format suitable for data processing (so-called data cleansing) may be performed. For example, calendar information such as days of the week and holidays may be added to the training data. Alternatively, missing parts of the training data may be imputed with the mode. Alternatively, specific symbols contained in a string may be extracted and whether the corresponding numerical value is a negative or positive number may be imputed. Alternatively, items such as the month may be created from the date and time. Alternatively, a standardization process such as uppercase and lowercase letters, full-width and half-width characters may be performed.

[0103] (4) In the above embodiment, a trained model is generated from training data 13B41 (see Figure 17) corresponding to combinations of items whose data type belongs to "category". However, it is not necessary to generate a trained model for items that belong to "category".

[0104] (5) In the embodiments described above, each process is performed on any computer. Furthermore, any computer may perform these processes using a processor as hardware, a program as software, or a combination thereof. In that case, the processor is configured to work with the program to perform various processes in the embodiment, and can also function as a unit or means in the embodiment.

[0105] Furthermore, the order in which the processor executes the processes is not limited to the order described and may be changed as appropriate. Any computer may be a general-purpose computer, a computer designed for a specific purpose, a workstation, or any other system capable of performing each process. A processor may consist of one or more pieces of hardware, and the type of hardware is not limited. For example, a processor may consist of a CPU (=Central Processing Unit), an MPU (=Micro Processing Unit), a programmable logic device such as an FPGA (=Field Programmable Gate Array), a dedicated circuit for performing specific processing such as an ASIC (=Application Specific Integrated Circuit), a GPU (=Graphic Processing Unit), or an NPU (=Neural Processing Unit).

[0106] Furthermore, the hardware may be a combination of different types of hardware. When multiple hardware components are configured to execute one or more processes of a processor, these components may reside in physically separate devices or in the same device. Also, in any embodiment, the order of each process performed by the processor is not limited to the order described above and may be changed as appropriate. The hardware is composed of electrical circuits, etc., which are combinations of circuit elements such as semiconductor elements.

[0107] Furthermore, the program may be firmware or software such as microcode. Alternatively, the program may be, for example, a group of program modules, each of which may be implemented by a processor configured to perform its respective function. The program may also be program code or multiple code segments stored in one or more non-temporary computer-readable media (e.g., storage media or other storage devices).

[0108] A program may be divided and stored on multiple non-temporary computer-readable media located on devices that are physically separated from each other. Program code or code segments may represent any combination of procedures, functions, subprograms, routines, subroutines, modules, software packages, classes, or instructions, data structures, or program statements. Program code or code segments may be connected to other code segments or hardware circuits by sending and receiving information, data, arguments, parameters, or memory contents.

[0109] (5) The present invention can also be applied to programs and program products.

[0110] <Note> (((1))) An information processing system comprising a processor, the processor receiving first table data and second table data for which the matching results are correct as training data, generating second training data by combining first column data and second column data for which the respective data types of the first column data and second column data of the second table data are the same, and presenting candidates for associating the first column data and second column data using a trained model generated from the second training data. (((2))) The information processing system according to (((1))), wherein the processor generates a plurality of second training data by combining one first column data and one second column data of the same data type, generates a plurality of learning models by individually machine learning the plurality of second training data, and presents the candidate for the first column data or the second column data based on the prediction accuracy of each of the plurality of learning models that have been generated. (((3))) The information processing system according to (((1))) or (((2))), wherein the processor presents the candidates on a screen that prompts the user to specify column data in the other table data to be combined with the first column data or the second column data. (((4))) The information processing system according to (((3))), wherein the processor presents the candidates as initial values ​​for the column data. (((5))) The information processing system according to (((3))), wherein the processor presents the candidates in response to a predetermined call operation. (((6))) The information processing system according to (((3))), wherein the processor presents features that specify parameters to be used to generate the trained model, in association with the candidates. (((7))) The information processing system described in (((6))), wherein, if the data type is numerical, the feature quantity is one of the four basic arithmetic operations. (((8))) The processor is an information processing system according to any one of (((1))) to (((7))) that presents the prediction accuracy calculated for each candidate. (((9))) The information processing system according to (((8))), wherein the processor presents the candidate in association with the first column data or the second column data, and also presents the corresponding prediction accuracy. (((10))) The information processing system described in (((8))) is characterized in that the processor presents the candidates and their corresponding prediction accuracies in a list format. (((11))) The information processing system according to any one of (((1))) to (((10))), wherein the processor extracts a portion of the training data to generate partial training data, generates second partial training data with errors in the matching relationship from the generated partial training data, combines first column data and second column data of the first table data and second table data of the second table data that have the same data type, respectively, to generate third partial training data, and generates a trained model from the third partial training data. (((12))) The information processing system according to any one of (((1))) to (((11))), wherein the processor provides the trained model with third training data including the correctness of the matching result between the first row data of the first table data and the second row data of the second table data, and calculates the prediction accuracy. (((13))) A program for a computer that provides the following functions: a function to accept first table data and second table data with correct matching results as training data; a function to generate second training data by combining first column data of the first table data and second column data of the second table data, each having the same data type; and a function to present candidates for associating the first column data and second column data using a trained model generated from the second training data.

[0111] According to the information processing system described in (((1))), the time required for preprocessing can be reduced compared to verifying correspondences that improve the accuracy of predicting correctness by examining all data columns of two tabular data sets of different formats. According to the information processing system described in (((2))), it is possible to compare combinations of one first column data and one second column data of the same data type. According to the information processing system related to (((3))), it is possible to support users in performing association tasks. According to the information processing system related to (((4))), the association work performed by users can be made more efficient. According to the information processing system related to (((5))), the presentation of association candidates can be limited to cases where support is needed. According to the information processing system related to (((6))), it is possible to present the information necessary for generating a highly accurate prediction model. According to the information processing system related to (((7))), it is possible to present calculations that improve the prediction accuracy of matching numerical column data. According to the information processing system related to (((8))), it is possible to enable the user to verify the presented association candidates. According to the information processing system related to (((9))), the association work performed by users can be made more efficient. According to the information processing system related to (((10))), the prediction accuracy of multiple association candidates can be compared. According to the information processing system related to (((11))), the amount of computation can be reduced compared to using all the row data of the received Table 1 and Table 2 data. According to the information processing system related to (((12))), it is possible to verify prediction accuracy, including different data types. According to the program described in (((13))), the time required for preprocessing can be reduced compared to verifying correspondences that improve the accuracy of predicting correctness by examining all data columns of two tabular data sets with different formats. [Explanation of Symbols]

[0112] 1…Business support system, 10…Business support server, 11…Processor, 12…Semiconductor memory, 13…Auxiliary storage device, 13A…Correct answer training data, 13B…Training training data, 13C…Trained model, 14…Communication interface, 20…User terminal

Claims

1. It has a processor, The aforementioned processor, The data from Table 1 and Table 2, which have correct matching results, are accepted as training data. The first column data of the first table data and the second column data of the second table data, each having the same data type, are combined to generate the second training data. Using the trained model generated from the second training data, candidates for associating the first column data with the second column data are presented. Information processing system.

2. The aforementioned processor, Multiple second training data sets are generated by combining one of the first column data and one of the second column data with the same data type. Multiple learning models are generated by individually performing machine learning on the aforementioned multiple sets of second training data. Based on the prediction accuracy of each of the generated learning models, the candidates for the first column data or the second column data are presented. The information processing system according to claim 1.

3. The aforementioned processor, On a screen that prompts the user to specify the column data in the other table data to be combined with the first column data or the second column data, the candidates are presented. The information processing system according to claim 1.

4. The aforementioned processor, The aforementioned candidates are presented as initial values ​​for the column data. The information processing system according to claim 3.

5. The aforementioned processor, In response to a predetermined call operation, the aforementioned candidates are presented. The information processing system according to claim 3.

6. The aforementioned processor, Features that specify the parameters used to generate the aforementioned trained model are presented in association with the candidates. The information processing system according to claim 3.

7. If the data type is numerical, the feature is one of the four basic arithmetic operations. The information processing system according to claim 6.

8. The aforementioned processor, The prediction accuracy calculated for each of the aforementioned candidates is presented. The information processing system according to claim 1.

9. The aforementioned processor, When presenting the candidates in relation to the first column data or the second column data, the corresponding prediction accuracy is also presented. The information processing system according to claim 8.

10. The aforementioned processor, The candidates and their corresponding prediction accuracy are presented in a list format. The information processing system according to claim 8.

11. The aforementioned processor, A portion of the aforementioned training data is extracted to generate partial training data. When generating a second set of training data with errors in the matching relationship from the generated partial training data, The first column data of the first table data and the second column data of the second table data, both of which are included in the second partial training data, are combined to generate the third partial training data, A trained model is generated from the third portion of the training data. The information processing system according to claim 1.

12. The aforementioned processor, The trained model is then given third training data, which includes the correctness of the matching results between the first row of data in the first table and the second row of data in the second table, to calculate the prediction accuracy. The information processing system according to claim 1.

13. On the computer, A function that accepts the data from Table 1 and Table 2, whose matching results have been verified to be correct, as training data, A function to generate second training data by combining the first column data of the first table data and the second column data of the second table data, each having the same data type, A function that presents candidates for associating the first column data with the second column data using a trained model generated from the second training data, A program to achieve this.