Programs, methods, information processing devices, systems
A computer-based program using a large-scale language model effectively identifies worksheet names, header rows, and target columns, addressing the challenge of non-standard formats in data extraction.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- AI INSIDE INC
- Filing Date
- 2024-11-12
- Publication Date
- 2026-05-22
Smart Images

Figure 2026085154000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a program, a method, an information processing apparatus, and a system.
Background Art
[0002] Techniques for formatting data are known. Patent Document 1 discloses a technique for reducing the complexity of formatting when using data and supporting the efficient use of data.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] When extracting input data within a predetermined range from a group of worksheets consisting of worksheets input in various non-standard formats, there is a problem that worksheet names, header rows, target columns, etc. cannot be suitably specified. Therefore, the present disclosure has been made to solve the above problems, and its object is to provide a technique for suitably specifying worksheet names, header rows, target columns, etc.
Means for Solving the Problems
[0005] A program to be executed by a computer having a processor and a memory unit, wherein the processor performs the following steps: a worksheet group acquisition step of acquiring a group of worksheets including multiple worksheets in spreadsheet software; a worksheet identification step of identifying a predetermined worksheet from the group of worksheets acquired in the worksheet group acquisition step; a first prompt creation step of creating a first prompt by including at least a part of the predetermined worksheet identified in the worksheet identification step in an instruction to identify a header row from data entered in the worksheet; and a header row identification step of identifying a predetermined header row of a predetermined worksheet based on first output information output in response to inputting the first prompt created in the first prompt creation step to a large-scale language model. [Effects of the Invention]
[0006] According to this disclosure, the worksheet name, header row, target column, etc., can be more preferably identified. [Brief explanation of the drawing]
[0007] [Figure 1] This is a block diagram showing the functional configuration of System 1. [Figure 2] This block diagram shows the functional configuration of Server 10. [Figure 3] This is a block diagram showing the functional configuration of user terminal 20. [Figure 4] This diagram shows the data structure of user table 1012. [Figure 5] This diagram shows the data structure of the first ledger table 1013. [Figure 6] This diagram shows the data structure of the first sheet table 1014. [Figure 7] This diagram shows the data structure of the second ledger table 1015. [Figure 8] This diagram shows the data structure of the second sheet table 1016. [Figure 9]This diagram shows the data structure of rule table 1017. [Figure 10] This flowchart shows the operation of the data transfer process. [Figure 11] This is a diagram showing the screen for confirming the transcription range. [Figure 12] A block diagram showing the basic hardware configuration of Computer 90. [Modes for carrying out the invention]
[0008] The embodiments of this disclosure will be described below with reference to the drawings. In all the drawings illustrating the embodiments, common components are denoted by the same reference numerals, and repeated explanations are omitted. The following embodiments are not intended to unduly limit the content of this disclosure as described in the claims. Not all components shown in the embodiments are necessarily essential components of this disclosure. Also, each drawing is a schematic diagram and is not necessarily a strict illustration.
[0009] <Configuration of System 1> System 1 in this disclosure is an information processing system that provides an information processing service that formats the information contained in the worksheet of the first ledger (first ledger) into a predetermined format and transfers it to the worksheet of the second ledger (second ledger). System 1 comprises a server 10 and user terminals 20, which are connected via network N and include information processing devices. Figure 1 is a block diagram showing the functional configuration of System 1. Figure 2 is a block diagram showing the functional configuration of server 10. Figure 3 is a block diagram showing the functional configuration of the user terminal 20.
[0010] Each information processing device is composed of a computer having an arithmetic unit and a storage unit. The basic hardware configuration of the computer and the basic functional configuration of the computer realized by the hardware configuration will be described later. For each of the server 10 and the user terminal 20, descriptions overlapping with the basic hardware configuration of the computer and the basic functional configuration of the computer described later will be omitted.
[0011] <Configuration of Server 10> The server 10 is an information processing device that provides an information processing service for formatting the information of the first ledger into a format of a predetermined format and posting it to the second ledger. The server 10 includes a storage unit 101 and a control unit 104.
[0012] <Configuration of Storage Unit 101 of Server 10> The storage unit 101 of the server 10 includes an application program 1011, a user table 1012, a first ledger table 1013, a first sheet table 1014, a second ledger table 1015, a second sheet table 1016, and a rule table 1017.
[0013] The application program 1011 is a program for causing the control unit 104 of the server 10 to function as each functional unit. The application program 1011 includes applications such as a web browser application.
[0014] The user table 1012 is a table that stores and manages information of member users (hereinafter referred to as users) who use the service. By registering for use of the service, the information of the user is stored in a new record of the user table 1012. Thereby, the user can use the service according to the present disclosure. The user table 1012 is a table having columns of user ID, user name, and user data with the user ID as the primary key. FIG. 4 is a diagram showing the data structure of the user table 1012.
[0015] The User ID is an item that stores user identification information to identify a user. User identification information is an item that is set to a unique value for each user. The username field is used to store the user's real name. However, the username can also be a nickname or any other string of characters. User data includes unique information about individual users, as well as attribute information related to the user's characteristics and background. User-specific information includes user-specific information such as date of birth (age) and gender. User attribute information includes information such as the user's educational history (highest level of education, major, graduation year), occupation, work history, interests, place of residence, and language.
[0016] The first ledger table 1013 is a table for storing and managing information related to the first ledger (first ledger information). Specifically, the first ledger includes workbooks, etc., used in spreadsheet software such as Excel to store and manage multiple worksheets. The first ledger table 1013 is a table that has the first ledger ID as its primary key and contains columns for the first ledger ID and the first ledger name. Figure 5 shows the data structure of the first ledger table 1013.
[0017] The First Ledger ID is an item that stores the First Ledger Identification Information used to identify the First Ledger. The First Ledger Identification Information is an item that has a unique value set for each piece of First Ledger information. The "First Ledger Name" field stores the name of the first ledger. The "First Ledger Name" can be set to any string.
[0018] The first sheet table 1014 is a table for storing and managing information related to the first sheet (first sheet information). Specifically, the first sheet includes each worksheet contained in a workbook in spreadsheet software such as Excel. The first sheet table 1014 is a table with the first sheet ID as the primary key, and has the following columns: first sheet ID, first ledger ID, first sheet data, first sheet name, first sheet type, formatted data, header data, and column data. Figure 6 shows the data structure of the first sheet table 1014.
[0019] The 1st Sheet ID is an item that stores the 1st Sheet Identification Information used to identify the 1st sheet. The 1st Sheet Identification Information is an item that has a unique value set for each piece of 1st Sheet information. The first ledger ID is an item that stores the first ledger identification information used to identify the first ledger. The first sheet data is the item that stores the information entered into each item (row and column) of the spreadsheet sheet corresponding to the first sheet. Specifically, the first sheet data includes cell values (data such as text, numbers, formulas, calculation formulas, and functions), cell formatting (styles such as font, size, color, alignment, and borders, including conditional formatting applied based on specific conditions), merged cells (information if multiple cells are merged), sheet protection settings, information on objects inserted into the sheet such as charts and pivot tables, hyperlinks (information such as URLs and external links set in some or all of the text within a cell), and the content of comments attached to cells. The "First Sheet Name" field stores the name of the first sheet. The "First Sheet Name" can be set to any string. The first sheet type is an item that stores the type of the first sheet. Specifically, the first sheet type includes information that identifies ledgers used for accounting and tax processing, such as fixed asset ledgers, depreciation statements, lease asset management ledgers, repair history ledgers, asset disposal ledgers, asset transfer history ledgers, impairment accounting management ledgers, capital investment plan ledgers, insurance ledgers, maintenance plan ledgers, tax depreciation asset ledgers, asset valuation ledgers, departmental fixed asset management ledgers, asset acquisition ledgers, useful life management ledgers, asset sales ledgers, asset inventory ledgers, equipment utilization rate management ledgers, capital expenditure / revenue expenditure management ledgers, and fixed asset tax declaration ledgers. The present invention can be applied to any ledgers, sheets, etc. other than those used for accounting and tax processing. The formatted data field is where data that has been formatted from the first sheet is stored. Header data is a string representing the input value of the row corresponding to the header in the first sheet. Header data may also include information that identifies the string representing the input value of the row corresponding to the header in the first sheet. For example, header data may include information that identifies the header row in the first sheet, such as the row number and row name (row index). Column data is an item that stores information that identifies one or more columns on the first sheet, such as the column number and column name of the column to be processed on the first sheet.
[0020] The second ledger table 1015 is a table for storing and managing information related to the second ledger (second ledger information). The second ledger table 1015 is a table that has the second ledger ID as its primary key and contains columns for the second ledger ID and the second ledger name. Figure 7 shows the data structure of the second ledger table 1015.
[0021] The Second Ledger ID is an item that stores Second Ledger Identification Information used to identify the Second Ledger. The Second Ledger Identification Information is an item with a unique value assigned to each piece of Second Ledger information. The "Second Ledger Name" field stores the name of the second ledger. The "Second Ledger Name" can be set to any string.
[0022] The second sheet table 1016 is a table for storing and managing information related to the second sheet (second sheet information). Specifically, the second sheet includes each worksheet contained in a workbook in spreadsheet software such as Excel. The second sheet table 1016 is a table with the sheet ID as the primary key and has columns for sheet ID, second ledger ID, second sheet data, and second sheet type. Figure 8 shows the data structure of the second sheet table 1016.
[0023] The Sheet ID is an item that stores sheet identification information to identify a sheet. This sheet identification information is a unique value assigned to each sheet. The Second Ledger ID is an item that stores the Second Ledger identification information used to identify the Second Ledger. The second sheet data is the section that stores the information entered into each item (row and column) of the spreadsheet sheet corresponding to the second sheet. The items stored in the second sheet data are the same as those stored in the first sheet data, so the explanation is omitted. The "Second Sheet Type" field stores the type of the second sheet. Since the items stored in the "Second Sheet Type" field are the same as those stored in the "Second Sheet Type" field, their explanation is omitted.
[0024] Rule table 1017 is a table for storing and managing information about rules (rule information). Rule table 1017 is a table with Rule ID as the primary key, and has columns for Rule ID, Sheet Type, and Rule Data. Figure 9 shows the data structure of rule table 1017.
[0025] The Rule ID is an item that stores rule identification information to identify a rule. Rule identification information is an item with a unique value assigned to each piece of rule information. The sheet type is an item that stores the type of sheet. The sheet type includes information that identifies ledgers used for accounting and tax processing, as explained in the first sheet data. The rule data includes information for identifying the sheet type, header row data, and target column data from the first ledger name, first sheet name, and first sheet data. Specifically, the rule data includes instruction statements (third instruction statement, first instruction statement, second instruction statement) for generating AI50 to output the sheet type, header row data, and target column data based on the first ledger name, first sheet name, and first sheet data. Additionally, formatting rules for dates, strings, units, etc., during the transcription process may be included. The information processing system 1 described herein identifies the sheet type, header row data, and target column data based on rule data specified for each first sheet type of the first sheet. Using the header row data and target column data, it performs information processing to convert the first sheet data into formatted data.
[0026] <Configuration of the control unit 104 of server 10> The control unit 104 of the server 10 includes a user registration control unit 1041. The control unit 104 realizes each functional unit by executing the application program 1011 stored in the storage unit 101.
[0027] The user registration control unit 1041 processes information of users who wish to use the services related to this disclosure and stores it in the user table 1012. Information stored in the user table 1012 is obtained when a user opens a web page operated by the service provider from any information processing terminal, enters information into a designated input form, and sends it to the server 10. The user registration control unit 1041 stores the received information in a new record in the user table 1012, and user registration is completed. As a result, users stored in the user table 1012 can use the service. Prior to the registration of user information in the user table 1012 by the user registration control unit 1041, the service provider may perform a prescribed review and restrict whether or not the user can use the service. The user ID can be any string or number that can identify the user, and may be any string or number that the user wishes, or the user registration control unit 1041 may automatically set any string or number.
[0028] <Configuration of User Terminal 20> The user terminal 20 is an information processing device operated by a user of the service. The user terminal 20 may be, for example, a mobile device such as a smartphone or tablet, or a stationary PC (Personal Computer) or laptop PC. It may also be a wearable device such as an HMD (Head Mount Display) or a smartwatch. The user terminal 20 includes a storage unit 201, a control unit 204, an input device 206, and an output device 208.
[0029] <Configuration of the storage unit 201 of the user terminal 20> The storage unit 201 of the user terminal 20 includes a user ID 2011 and an application program 2012.
[0030] User ID 2011 is the user's account ID. The user sends User ID 2011 from user terminal 20 to server 10. Server 10 identifies the user based on User ID 2011 and provides the services related to this disclosure to the user. User ID 2011 includes information such as a session ID that is temporarily assigned by server 10 to identify the user using user terminal 20.
[0031] The application program 2012 may be pre-stored in the memory unit 201, or it may be configured to be downloaded from a web server operated by the service provider via a communication interface. Application Program 2012 includes applications such as web browser applications. Application program 2012 includes an interpreted programming language such as JavaScript (registered trademark) that runs on a web browser application stored on the user terminal 20.
[0032] <Configuration of the control unit 204 of the user terminal 20> The control unit 204 of the user terminal 20 comprises an input control unit 2041 and an output control unit 2042. The control unit 204 realizes each functional unit by executing the application program 2012 stored in the memory unit 201.
[0033] <Configuration of the input device 206 of the user terminal 20> The input device 206 of the user terminal 20 includes a camera 2061, a microphone 2062, a position information sensor 2063, a motion sensor 2064, and a touch device 2065.
[0034] <Configuration of the output device 208 of the user terminal 20> The output device 208 of the user terminal 20 includes a display 2081 and a speaker 2082.
[0035] <System 1 operation> The following describes each process in System 1. Figure 10 is a flowchart showing the operation of the data transfer process. Figure 11 shows the screen for confirming the transcription range.
[0036] <Transfer process> The transfer process is the process of transferring some or all of the data from a predetermined worksheet included in the first group of worksheets to a second worksheet.
[0037] <Overview of data transfer process> The data transfer process is a series of steps that involve identifying one or more predetermined worksheets from a group of worksheets (workbook) consisting of multiple worksheets, identifying the header row of those predetermined worksheets, identifying the target column (predetermined target column) related to the extraction target of the identified header row, obtaining the input values of the worksheet identified based on the header row and target column, presenting the obtained input values, and transferring them to another second worksheet.
[0038] <Details of the data transfer process> The details of the data transfer process are explained below.
[0039] In step S101, the control unit 104 of the server 10 executes a worksheet group acquisition step to acquire a group of worksheets that include multiple worksheets in the spreadsheet software. Specifically, the control unit 104 of the server 10 searches the first ledger table 1013 and retrieves a record of the first ledger information (a workbook in spreadsheet software). In this disclosure, the posting process for one record of the first ledger information is described as an example, but the same process may be performed for each of multiple records of the first ledger information. The data transfer process may be triggered by a request received from the user's terminal 20. Alternatively, the data transfer process may be performed periodically at predetermined intervals. Furthermore, the data transfer process may be initiated upon receiving a file containing ledger information from the user's terminal 20. The data transfer process may be performed in response to user input, or it may be performed without receiving any user input. The control unit 104 of the server 10 searches the first ledger ID item in the first sheet table 1014 based on the first ledger ID included in the acquired first ledger information, and acquires one or more first sheet information items associated with the first ledger. If the first ledger is a workbook, one or more worksheets included in that workbook may be acquired as first sheet information.
[0040] In step S101, the control unit 104 of the server 10 executes a worksheet identification step to identify a predetermined worksheet from the worksheet group acquired in the worksheet group acquisition step. Specifically, the control unit 104 of the server 10 identifies the first sheet ID of one or more worksheets (first sheets) included in the first ledger based on the acquired first ledger name, the first sheet name included in one or more first sheet information, and the first sheet data. The procedure for identifying one or more primary sheet IDs is described below.
[0041] The worksheet identification step involves identifying a specific worksheet relating to the fixed asset register. In this disclosure, as an example, an example is given of identifying one or more worksheets relating to the fixed asset register from among several worksheets included in the first register. Furthermore, this disclosure is not limited to fixed asset registers and can be applied to any register. For example, applicable registers are exemplified in the first sheet type of the first sheet table 1014.
[0042] The control unit 104 of server 10 obtains one or more rule information items, including a rule ID, sheet type, and rule data, by referring to the rule table 1017. Each piece of rule information includes the following third instruction (a third instruction depending on the rule type).
[0043] The control unit 104 of the server 10 executes a third prompt creation step, which creates a third prompt by including the names of multiple worksheets included in the worksheet group, or at least a portion of the worksheets, in the instruction to identify a predetermined worksheet from the worksheet group. Specifically, the control unit 104 of the server 10 creates a third prompt by including the acquired first ledger name, the first sheet name contained in the first sheet information, and the input values of the first sheet data in an instruction statement (third instruction statement) that includes an instruction to extract a predetermined worksheet from the worksheet group. An example of the third instruction is shown below. The name of the first ledger will be inserted where ${ledger name} is. The name of the first sheet will be inserted where ${sheet name} is. Some or all of the data from the first sheet will be inserted where ${sheet data} is. This will create the third prompt. For example, the first sheet data extracts input values from the first row to the tenth row of a spreadsheet software such as Excel, and inserts them into the ${sheet data} section of the third instruction.
[0044] The control unit 104 of the server 10 may, in advance, create a third prompt for first sheets whose first sheet name contains a predetermined string, and exclude first sheets whose first sheet name does not contain a predetermined string from being selected as sheets. The control unit 104 of the server 10 may, in advance, create a third prompt for first sheets whose first sheet name does not contain a predetermined string, and exclude first sheets whose first sheet name contains a predetermined string from the selection of sheets by not creating a third prompt for those first sheets. In addition, for first sheets whose first sheet data is similar to each other, one or both may be excluded from the sheet identification target and a third prompt may not be created. In other words, the control unit 104 of the server 10 may create a third prompt for first sheets that are expected to be related to the identification target (fixed asset register in this disclosure) in advance, and exclude other first sheets from the target of creating a third prompt. This reduces the number of requests sent to the generating AI50 and the number of tokens used in those requests.
[0045] <3rd directive> #Instructions Based on the information below, please answer yes if the file is a fixed asset register, and no otherwise. #Ledger name: ${Ledger Name} #Sheet name: ${sheet name} #Sheet data: ${sheet data}
[0046] <Data from Sheet 1> 2024 / 4 / 21,,,, Code, Building Name, Address, Acquisition Price, Area 003, Patent Tower, Invention City 1-1 Invention District Patent Town, 10000, 500 004, Innovate Building, Technology Town 2-3, Creative District, Idea Market, 85000, 450 005, Intellectual Property Museum, Knowledge City 3-4, Invention Area, Patent Park, 12000, 600
[0047] In step S101, the worksheet identification step performs the step of identifying a predetermined worksheet based on the third output information that is output in response to inputting the third prompt created in the third prompt creation step into the large-scale language model. Specifically, the control unit 104 of the server 10 sends a request containing the created third prompt to a predetermined API endpoint (URL) provided by the generation AI 50. The generation AI 50 outputs a response to the request and sends it to the server 10. The response includes the strings "yes" or "no," which are the evaluation results for the first sheet data.
[0048] The control unit 104 of the server 10 creates one or more third prompts using one or more rule data stored in the rule table 1017 for each of the one or more first sheets acquired in step S101, and sends them to the generating AI 50, thereby obtaining an evaluation result of whether or not a sheet is a type for each combination of first sheet information and rule information. When the output result for the third prompt is "yes", the control unit 104 of the server 10 stores the value of the rule type of the rule information for that output result in the item of the first sheet type of the target first sheet information. As a result, the control unit 104 of the server 10 can identify the sheet type for each of the one or more first sheet information stored in the first sheet table 1014 according to the rule data stored in the rule table 1017, and store it associated with the first sheet type. If the sheet does not match any of the sheet types, the control unit 104 of the server 10 stores a blank or null value for the first sheet type.
[0049] In this disclosure, an example is given in which a worksheet relating to a fixed asset register is identified as the first sheet information. Furthermore, when the control unit 104 of the server 10 receives the output content "yes" from the generating AI 50 in step S101, it uses the first instruction and the second instruction included in the rule data to execute the header row identification step in step S102 and the target column identification step in step S103.
[0050] In step S102, the control unit 104 of the server 10 executes a first prompt creation step, which creates a first prompt by including at least a portion of the predetermined worksheet identified in the worksheet identification step in the instruction to identify the header row from the data entered in the worksheet. The first prompt creation step involves creating the first prompt by including at least a portion of a given worksheet in the instructions to identify rows corresponding to the asset name, acquisition date, and acquisition price. The first prompt creation step involves creating a first prompt by including at least a portion of the range data entered in the range from row A to row B of a given worksheet. The first prompt creation step involves creating the first prompt by including data with some rows excluded from the range data. Specifically, the control unit 104 of the server 10 creates a first prompt by including the acquired first ledger name, the first sheet name contained in the first sheet information, and the input values of the first sheet data in an instruction statement (first instruction statement) that includes an instruction to identify the header row from the worksheet. An example of the first instruction is shown below. The name of the first ledger is inserted in place of ${ledger name}. The name of the first sheet is inserted in place of ${sheet name}. Some or all of the data of the first sheet is inserted in place of ${sheet data}. This creates the first prompt. The first sheet data may be the same as the first sheet data described in step S101.
[0051] The control unit 104 of server 10 may exclude rows that are unlikely to be header rows from the first sheet data and include them in the first instruction statement. For example, the control unit 104 of server 10 may calculate the percentage of input values filled in for each row of the first sheet data (the number of cells in the columns of the first sheet data that have input values entered rather than being blank), and exclude rows where the percentage is 50% or less (a predetermined percentage such as 40% or less, 45% or less, 55% or less can be set) to identify the first sheet data. In addition, the control unit 104 of the server 10 may identify the first sheet data by including or excluding rows that contain a predetermined string, or rows that do not contain a predetermined string, for each row of the first sheet data. This allows for saving the number of tokens in requests sent to the generating AI50, and improves the output quality from the generating AI50 by not including extraneous information in the input prompt.
[0052] <1st directive> #Instructions Find a specific line that contains all of the following text elements: "Asset Name, Item Name, Product Name, Asset Name," "Acquisition Date," and "Acquisition Cost, Acquisition Price." #Ledger name: ${Ledger Name} #Sheet name: ${sheet name} #Sheet data: ${sheet data}
[0053] The first prompt creation step involves creating a first prompt based on an instruction to output a string corresponding to the header row. The first instruction may include an instruction to output a string corresponding to the header row as the format of the output data. <First instruction (Embodiment 1)> #Instructions Find a specific line that contains all of the following characters: "Asset Name, Name, Item Name, Asset Name", "Acquisition Date", and "Acquisition Cost, Acquisition Price". Output the string of that line.
[0054] The first prompt creation step performs the step of creating a first prompt based on an instruction to output the row index of the header row. The first instruction may include an instruction to output information that identifies the header row (row number, row index) as the format of the output data. <First instruction (Embodiment 2)> #Instructions Find a specific line that contains all of the following text elements: "Asset Name, Item Name, Product Name, Asset Name," "Acquisition Date," and "Acquisition Cost, Acquisition Price." Output the line number from the beginning of that line.
[0055] In step S102, the control unit 104 of the server 10 performs a header row identification step to identify a predetermined header row of a predetermined worksheet based on the first output information output in response to inputting the first prompt created in the first prompt creation step into the large-scale language model. Specifically, the control unit 104 of the server 10 sends a request including the created first prompt to a predetermined API endpoint (URL) provided by the generation AI 50. The generation AI 50 outputs a response to the request and sends it to the server 10. The response may include the string "Code, Building Name, Address, Acquisition Price, Area" which corresponds to the header row of the data in the first sheet mentioned above. The response may include "2", which is information (row number, row index) that identifies the row in the header row of the first sheet data mentioned above.
[0056] In step S102, the header row identification step involves identifying the row index of a predetermined header row by comparing the string contained in the first output information with the string for each row of a predetermined worksheet, row by row. Specifically, when the first instruction includes an instruction to output a string relating to the header row, the control unit 104 of the server 10 compares the string "code, building name, address, acquisition price, area" included in the response (the string included in the first output information) with the strings in each row of the first sheet data, and identifies rows of the first sheet data that match or are similar. The calculation of the match or similarity may be performed using algorithms that calculate the similarity of arbitrary strings, such as cosine similarity, the reciprocal of the Levenshtein distance, the reciprocal of the Jaccard distance, or other algorithms that calculate the similarity of arbitrary strings. For example, the control unit 104 of the server 10 may identify the row number of the row with the highest similarity (1) as the row index of the header row. In this disclosure, by comparing the string "Code, Building Name, Address, Acquisition Price, Area" included in the first output information with each row (rows 1 to 5) of the first sheet data shown below, it is determined that the string "Code, Building Name, Address, Acquisition Price, Area" included in the response (the string included in the first output information) matches the string that appears in row 2. This identifies the row index of the header row as "2". <Data from Sheet 1> (First line) 2024 / 4 / 21,,,, (Second row) Code, Building name, Address, Acquisition price, Area (3rd line) 003, Patent Tower, Invention City 1-1 Invention District Patent Town, 10000, 500 (Line 4) 004, Innova Building, Technology Town 2-3 Creative District Idea City, 85000, 450 (5th line) 005, Intellectual Property Museum, Knowledge City 3-4 Invention District Patent Park, 12000, 600
[0057] In step S103, the control unit 104 of the server 10 executes a header data acquisition step to acquire header data identified by the predetermined header row identified in the header row identification step from a predetermined worksheet. Specifically, the control unit 104 of server 10 obtains the input value of the row index of the header row from the first sheet data. The control unit 104 of server 10 obtains the second row of the first sheet data, which is "Code, Building Name, Address, Acquisition Price, Area", as the header data.
[0058] In step S103, the control unit 104 of the server 10 executes a second prompt creation step, which creates a second prompt by including at least a portion of the header data acquired in the header data acquisition step and the input values of the predetermined worksheet corresponding to the header data in an instruction to identify one or more columns corresponding to one or more items. The second prompt creation step involves creating a second prompt by including at least some of the header data and the input values of the predetermined worksheet corresponding to the header data in the instructions that identify the columns corresponding to the asset name, acquisition date, and acquisition price. The second prompt creation step involves creating a second prompt based on instructions to output column indexes that indicate one or more columns corresponding to one or more items. Specifically, the control unit 104 of the server 10 creates a second prompt by including the acquired header data in an instruction statement (second instruction statement) that includes instructions to identify one or more columns corresponding to one or more items. The control unit 104 of the server 10 may also insert part or all of the first sheet data into the second instruction statement. The first sheet data may be the same as the first sheet data described in step S101. An example of the second instruction is shown below. The header data "Code, Building Name, Address, Acquisition Price, Area" will be inserted in the ${Header Data} section. Some or all of the first sheet data will be inserted in the ${Sheet Data} section. This will create the second prompt.
[0059] The second prompt creation step involves creating a second prompt by including data with some columns excluded from the header data and at least a portion of a predetermined worksheet corresponding to the excluded data. The control unit 104 of server 10 may exclude columns that are unlikely to be the target columns from the header data and include them in the second instruction. For example, the control unit 104 of server 10 may identify the header data by including or excluding columns that contain a predetermined string, or columns that do not contain a predetermined string, for each column of the header data. For example, you could prepare a dictionary of strings to be excluded beforehand, and exclude columns containing strings from the header data. Alternatively, you could identify the first sheet data with the excluded columns removed and insert it into the ${sheet data} section. This allows us to save on the number of tokens in the request sent to the generating AI50, and improve the output quality from the generating AI50 by not including extraneous information in the input prompt.
[0060] <Second directive> #Instructions Please select the column number (column index) that corresponds to "Asset Name," "Acquisition Date," and "Acquisition Price." #Header data ${header data} #Sheet data: ${sheet data}
[0061] In step S103, the control unit 104 of the server 10 performs a target column identification step to identify a predetermined target column corresponding to one or more items in a predetermined worksheet, based on the second output information output in response to inputting the second prompt created in the second prompt creation step into the large-scale language model. specifically,
[0062] In step S103, the target column identification step performs the step of identifying the asset name, acquisition date, and acquisition price columns of a predetermined worksheet based on the second output information. specifically,
[0063] In step S103, the target column identification step performs the step of identifying the column index of a predetermined target column corresponding to one or more items. Specifically, the control unit 104 of the server 10 sends a request including the created second prompt to a predetermined API endpoint (URL) provided by the generation AI 50. The generation AI 50 outputs a response to the request and sends it to the server 10. The response may include numerical column indices such as "5, 8, 16" that indicate the target columns ("Asset Name", "Acquisition Date", "Acquisition Price") in the header row of the first sheet data. The response may also be configured to retrieve information associated with each column item such as "Asset Name", "Acquisition Date", and "Acquisition Price", specifically the corresponding column indices "5", "8", and "16". This allows the control unit 104 of the server 10 to identify the column index of the input value in the first sheet data for each column item such as "asset name," "acquisition date," and "acquisition price."
[0064] In step S104, the control unit 104 of the server 10 performs a source presentation step in which it presents input values from a predetermined worksheet that are identified based on the header row and target column of the predetermined worksheet. Specifically, the control unit 104 of the server 10 extracts input values (transfer range) from the row index of the header row (start row) identified in step S102 to the largest row index (end row) where input values of the first sheet data are entered, and based on the column index identified in step S103. For each of the multiple worksheets included in the first ledger, the control unit 104 of the server 10 extracts input values included in the first sheet data according to the row index of the header row and the column index, based on rule data corresponding to the sheet type. For example, the control unit 104 of the server 10 can identify the worksheet related to the fixed asset ledger from a workbook containing many worksheets and extract only the input values for the asset name, acquisition date, and acquisition price from the many input values entered in the fixed asset ledger. The control unit 104 of the server 10 may also determine and exclude rows in which subtotals, totals, etc., are entered. The control unit 104 of the server 10 transmits the input values corresponding to the transfer range from the first sheet data to the user terminal 20. The control unit 204 of the user terminal 20 displays the received input values corresponding to the transfer range on the display 2081 of the user terminal 20. This allows the user to confirm the input values of the first sheet data corresponding to the transfer range.
[0065] In step S104, the source presentation step performs the step of presenting information indicating a predetermined worksheet, information indicating a predetermined header row, and information indicating a predetermined target column, along with at least a portion of these, together with the input values of the predetermined worksheet. Specifically, the control unit 104 of the server 10 transmits the first sheet ID identified in step S101, the row index of the header row identified in step S102, and the column index of the target column identified in step S103, along with the transfer range, to the user terminal 20. The control unit 204 of the user terminal 20 displays the received first sheet ID, the row index of the header row, and the column index of the target column, along with the transfer range, on the display 2081 of the user terminal 20.
[0066] Figure 11 shows an example of the transfer confirmation screen in the transfer confirmation step. The user terminal 20's display 2081 shows the transfer confirmation page D1. The transfer confirmation page D1 includes the transfer range D101, the first sheet IDD121, the header row index D122, the target column index D123, and the transfer button D131. This allows the user to confirm the data to be transferred from a given worksheet to another worksheet, along with the extraction criteria from that worksheet.
[0067] In step S105, the control unit 104 of the server 10 executes a transfer step in which it transfers the input values of a predetermined worksheet that were presented in the source presentation step to a second worksheet. Specifically, the user presses the transfer button D131 by operating the input device D206 of the user terminal 20. The control unit 204 of the user terminal 20 sends a request to the server 10 to instruct the transfer process. Upon receiving the request, the control unit 104 of the server 10 creates a new record in the second ledger table 1015. Alternatively, it may identify an existing record in the second ledger table 1015. The control unit 104 of server 10 stores the input values corresponding to the received transfer range in the second sheet data item of the new record in the second sheet table 1016. The control unit 104 of server 10 may also store the first sheet type (information indicating the fixed asset register) in the second sheet type. This allows the control unit 104 of server 10 to transfer the input values corresponding to the transfer range of the first sheet data to the second sheet data.
[0068] The control unit 104 of the server 10 may transfer the data to be transferred within the transfer range to one or more predetermined worksheets (second sheet information) in the second workbook. For example, the control unit 104 may transfer the input values within the transfer range to the second worksheet by flowing the input values within the transfer range into the worksheets corresponding to templates prepared for each sheet type in the second workbook.
[0069] The step of presenting the transfer range for step S104 may be omitted, and step S104 may be executed without any input from the user. In other words, the input values for the transfer range may be stored in the items of the second sheet data without accepting any input from the user.
[0070] <Basic Computer Hardware Configuration> Figure 12 is a block diagram showing the basic hardware configuration of computer 90. Computer 90 includes at least a processor 901, main memory 902, auxiliary memory 903, and a communication interface IF991. These are electrically connected to each other by a communication bus 921.
[0071] The processor 901 is hardware for executing the instruction set written in a program. The processor 901 consists of an arithmetic unit, registers, peripheral circuits, etc.
[0072] Main memory 902 is used to temporarily store programs and data processed by programs, etc. For example, it is a volatile memory such as DRAM (Dynamic Random Access Memory).
[0073] Auxiliary storage device 903 refers to a storage device for saving data and programs. Examples include flash memory, HDD (Hard Disc Drive), magneto-optical disk, CD-ROM, DVD-ROM, and semiconductor memory.
[0074] The IF991 communication interface is an interface for inputting and outputting signals for communication with other computers via a network using wired or wireless communication standards. A network consists of various mobile communication systems, such as the internet, LANs, and wireless base stations. For example, a network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks that can connect to the internet via designated access points (e.g., Wi-Fi®). When connecting wirelessly, communication protocols include, for example, Z-Wave®, ZigBee®, and Bluetooth®. When connecting via a wired connection, the network also includes connections made directly via USB (Universal Serial Bus) cables, etc.
[0075] Furthermore, by distributing all or part of each hardware configuration across multiple computers 90 and connecting them to each other via a network, a computer 90 can be virtually realized. Thus, the concept of computer 90 includes not only a computer 90 housed in a single enclosure or case, but also a virtualized computer system.
[0076] <Basic Functional Configuration of Computer 90> The functional configuration of the computer realized by the basic hardware configuration of computer 90 (Figure 12) will be explained. The computer comprises at least one functional unit: a control unit, a memory unit, and a communication unit.
[0077] Furthermore, the functional units of computer 90 can also be realized by distributing all or part of each functional unit across multiple computers 90 interconnected via a network. The concept of computer 90 includes not only a single computer 90 but also a virtualized computer system.
[0078] The control unit is realized when the processor 901 reads various programs stored in the auxiliary storage device 903, loads them into the main memory device 902, and executes processing according to those programs. The control unit can realize various functional units that perform information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0079] The functions realized by the components described herein may be implemented in a circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor includes transistors and other circuits and is considered a circuitry or processing circuitry. A processor may be a programmed processor that executes a program stored in memory. In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein. If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0080] The memory unit is implemented by the main memory 902 and the auxiliary memory 903. The memory unit stores data, various programs, and various databases. The processor 901 can also reserve memory areas corresponding to the memory unit in the main memory 902 or the auxiliary memory 903 according to the program. The control unit can also cause the processor 901 to perform operations such as adding, updating, and deleting data stored in the memory unit according to the various programs.
[0081] A database, specifically a relational database, is used to manage and link together tabular data sets called masters, which are structurally defined by rows and columns. In a database, tables are called tables, masters are called masters, the columns of tables are called columns, and the rows of tables are called records. In a relational database, relationships can be established and linked between tables and masters. Typically, each table and master has a primary key column to uniquely identify records, but setting a primary key column is not mandatory. The control unit can instruct the processor 901 to add, delete, or update records in specific tables and masters stored in the memory unit, according to various programs. Furthermore, by storing data, various programs, and various databases in the memory unit, the information processing device and information processing system related to this disclosure can be considered to have been manufactured.
[0082] Furthermore, the databases and masters in this disclosure may include any data structures (lists, dictionaries, associative arrays, objects, etc.) in which information is structurally defined. Data structures also include data that can be considered as data structures by combining data with functions, classes, methods, etc., written in any programming language.
[0083] The communication unit is implemented by the communication IF991. The communication unit provides the functionality to communicate with other computers 90 via the network. The communication unit can receive information transmitted from other computers 90 and input it to the control unit. The control unit can cause the processor 901 to perform information processing on the received information according to various programs. The communication unit can also transmit information output from the control unit to other computers 90.
[0084] <Note> The details described in each of the above embodiments are noted below.
[0085] (Note 1) A program to be executed by a computer having a processor and a memory unit, wherein the processor performs the following steps: a worksheet group acquisition step (S101) to acquire a group of worksheets including multiple worksheets in spreadsheet software; a worksheet identification step (S101) to identify a predetermined worksheet from the group of worksheets acquired in the worksheet group acquisition step; a first prompt creation step (S102) to create a first prompt by including at least a part of the predetermined worksheet identified in the worksheet identification step in an instruction to identify a header row from data entered in the worksheet; and a header row identification step (S102) to identify a predetermined header row of a predetermined worksheet based on first output information output in response to inputting the first prompt created in the first prompt creation step to a large-scale language model. This makes it possible to identify the appropriate header row for worksheets even when data is entered using various non-standard formats.
[0086] (Note 2) The program as described in Appendix 1, wherein the worksheet identification step (S101) is a step of identifying a predetermined worksheet relating to the fixed asset register, and the first prompt creation step (S102) is a step of creating a first prompt by including at least a portion of the predetermined worksheet in an instruction to identify a row corresponding to the asset name, acquisition date, and acquisition price. This makes it possible to identify the appropriate header row in the worksheet related to the fixed asset register.
[0087] (Note 3) The program described in Appendix 1 is a program in which the first prompt creation step (S102) is performed by including at least a portion of the range data entered in the range from row A to row B of a given worksheet. This allows you to identify a more appropriate header row for the worksheet.
[0088] (Note 4) The first prompt creation step (S102) is a step in the program described in Appendix 3, which creates the first prompt by including data with some rows excluded from the range data. This allows for saving the number of tokens in requests sent to the generating AI50, and improves the output quality from the generating AI50 by not including extraneous information in the input prompt.
[0089] (Note 5) The program described in Appendix 1, wherein the processor performs a header data acquisition step (S103) in which it acquires header data identified by a predetermined header row identified in a header row identification step from a predetermined worksheet; a second prompt creation step (S103) in which it creates a second prompt by including at least a portion of the header data acquired in the header data acquisition step and the input values of a predetermined worksheet corresponding to the header data in an instruction to identify one or more columns corresponding to one or more items; and a target column identification step (S103) in which it identifies a predetermined target column corresponding to one or more items in a predetermined worksheet based on second output information output in response to inputting the second prompt created in the second prompt creation step to a large-scale language model. This allows you to identify a more appropriate header row for the worksheet.
[0090] (Note 6) The program as described in Appendix 5, wherein the worksheet identification step (S101) is a step to identify a predetermined worksheet relating to a fixed asset register; the second prompt creation step (S103) is a step to create a second prompt by including at least some of the header data and the input values of the predetermined worksheet corresponding to the header data in an instruction to identify columns corresponding to the asset name, acquisition date, and acquisition price; and the target column identification step (S103) is a step to identify the asset name, acquisition date, and acquisition price columns of the predetermined worksheet based on the second output information. This makes it possible to identify the appropriate target column in the worksheet related to the fixed asset register.
[0091] (Note 7) The program described in Appendix 6 is a step in which the second prompt creation step (S103) is to create a second prompt by including data with some columns excluded from the header data and at least a portion of a predetermined worksheet corresponding to the excluded data. This allows for saving the number of tokens in requests sent to the generating AI50, and improves the output quality from the generating AI50 by not including extraneous information in the input prompt.
[0092] (Note 8) The program as described in Appendix 1, wherein the first prompt creation step (S102) is a step of creating a first prompt based on an instruction to output a string relating to a header row, and the header row identification step (S102) is a step of identifying the row index of a predetermined header row by comparing the string contained in the first output information with the string for each row of a predetermined worksheet row by row. This allows you to identify a more appropriate header row for the worksheet.
[0093] (Note 9) The program as described in Appendix 5, wherein the second prompt creation step (S103) is a step of creating a second prompt based on an instruction to output a column index indicating one or more columns corresponding to one or more items, and the target column identification step (S103) is a step of identifying the column index of a predetermined target column corresponding to one or more items. This allows you to identify the more appropriate target column in the worksheet.
[0094] (Note 10) The program as described in Appendix 1, wherein the processor performs a third prompt creation step (S101) in which it creates a third prompt by including the names of multiple worksheets included in the worksheet group, or at least a portion of the worksheets, in an instruction to identify a predetermined worksheet from a group of worksheets, and the worksheet identification step (S101) is a step in which it identifies a predetermined worksheet based on third output information output in response to inputting the third prompt created in the third prompt creation step to a large-scale language model. This allows you to identify the appropriate worksheet from the set of worksheets.
[0095] (Note 11) The program described in Appendix 5, which includes a source presentation step (S104) in which the processor presents input values of a predetermined worksheet identified based on the header row and target column of the predetermined worksheet. This allows the user to confirm the data to be transferred from one of the designated worksheets to the other second worksheet.
[0096] (Note 12) The program described in Appendix 11 is a step in which the source information presentation step (S104) presents information indicating a predetermined worksheet, information indicating a predetermined header row, and information indicating a predetermined target column, along with at least a portion of these, together with the input values of the predetermined worksheet. This allows the user to confirm the data to be transferred from a given worksheet to another worksheet, along with the extraction criteria from that worksheet.
[0097] (Note 13) The program described in Appendix 11, wherein the processor performs a transfer step (S105) in which it transfers the input values of a predetermined worksheet presented in the source presentation step to a second worksheet. This allows data to be transferred from a designated worksheet to another second worksheet, within its specified transfer range.
[0098] (Note 14) A method to be performed on an information processing apparatus comprising a processor and a memory unit, wherein the processor performs all steps performed in any of the inventions described in Appendix 1 to Appendix 13. This makes it possible to identify the appropriate header row for worksheets even when data is entered using various non-standard formats.
[0099] (Note 15) An information processing apparatus comprising a processor and a memory unit, wherein the processor performs all steps performed in any of the inventions described in Appendix 1 to Appendix 13. This makes it possible to identify the appropriate header row for worksheets even when data is entered using various non-standard formats.
[0100] (Note 16) A system comprising means for performing all steps performed in any of the inventions described in Appendix 1 to Appendix 13. This makes it possible to identify the appropriate header row for worksheets even when data is entered using various non-standard formats. [Explanation of symbols]
[0101] 1 System, 10 Servers, 101 Storage Unit, 104 Control Unit, 106 Input Device, 108 Output Device, 20 User Terminals, 201 Storage Unit, 204 Control Unit, 206 Input Device, 208 Output Device
Claims
1. A program to be executed by a computer having a processor and a memory unit, The aforementioned processor, A worksheet group acquisition step for acquiring a group of worksheets containing multiple worksheets in spreadsheet software, A worksheet identification step in which a predetermined worksheet is identified from the worksheet group acquired in the worksheet group acquisition step, A first prompt creation step involves creating a first prompt by including at least a portion of the predetermined worksheet identified in the worksheet identification step in the instruction to identify the header row from the data entered in the worksheet, A header row identification step which identifies a predetermined header row of a predetermined worksheet based on first output information output in response to inputting the first prompt created in the first prompt creation step into a large-scale language model, A program that executes this task.
2. The worksheet identification step is a step of identifying the predetermined worksheet relating to the fixed asset register, The first prompt creation step is to create the first prompt by including at least a portion of the predetermined worksheet in the instruction to identify a row corresponding to the asset name, acquisition date, and acquisition price. The program according to claim 1.
3. The first prompt creation step is to create the first prompt by including at least a portion of the range data entered in the range from row A to row B of the predetermined worksheet. The program according to claim 1.
4. The first prompt creation step is a step of creating the first prompt by including data with some rows excluded from the range data. The program according to claim 3.
5. The aforementioned processor, A header data acquisition step which acquires header data identified by the predetermined header row identified in the header row identification step from the predetermined worksheet, A second prompt creation step involves creating a second prompt by including at least a portion of the header data obtained in the header data acquisition step and the input values of the predetermined worksheet corresponding to the header data in an instruction to identify one or more columns corresponding to one or more items, A target column identification step, in which a predetermined target column is identified according to one or more items in the predetermined worksheet, based on the second output information output in response to inputting the second prompt created in the second prompt creation step into a large-scale language model, Execute The program according to claim 1.
6. The worksheet identification step is a step of identifying the predetermined worksheet relating to the fixed asset register, The second prompt creation step is a step of creating the second prompt by including at least a portion of the header data and the input values of the predetermined worksheet corresponding to the header data in an instruction to identify columns corresponding to the asset name, acquisition date, and acquisition price. The aforementioned step of identifying the target column is a step of identifying the asset name, acquisition date, and acquisition price columns of the predetermined worksheet based on the second output information. The program according to claim 5.
7. The second prompt creation step is to create the second prompt by including data obtained by excluding some columns from the header data and at least a portion of the predetermined worksheet corresponding to the excluded data. The program according to claim 6.
8. The first prompt creation step is a step of creating the first prompt based on an instruction to output a string relating to the header row, The header row identification step is a step of identifying the row index of the predetermined header row by comparing the string contained in the first output information with the string for each row of the predetermined worksheet, row by row. The program according to claim 1.
9. The second prompt creation step is a step of creating the second prompt based on an instruction to output a column index indicating one or more columns corresponding to one or more items, The step of identifying the target column is to identify the column index of the predetermined target column corresponding to the one or more items. The program according to claim 5.
10. The aforementioned processor, A third prompt creation step involves creating a third prompt by including the names of the multiple worksheets included in the worksheet group, or at least a portion of the worksheets, in an instruction to identify a predetermined worksheet from the worksheet group. Execute, The worksheet identification step is a step in which a predetermined worksheet is identified based on third output information that is output in response to inputting the third prompt created in the third prompt creation step into a large-scale language model. The program according to claim 1.
11. The aforementioned processor, A source presentation step which presents the input values of the predetermined worksheet identified based on the header row and the target column of the predetermined worksheet, Execute The program according to claim 5.
12. The aforementioned source presentation step is a step of presenting information indicating the predetermined worksheet, information indicating the predetermined header row, and information indicating the predetermined target column, along with at least a portion of these, together with the input values of the predetermined worksheet. The program according to claim 11.
13. The aforementioned processor, A transfer step in which the input values of the predetermined worksheet presented in the transfer source presentation step are transferred to a second worksheet, Execute The program according to claim 11.
14. A method to be performed on an information processing apparatus comprising a processor and a storage unit, wherein the processor performs all steps performed in the invention according to any one of claims 1 to 13.
15. An information processing apparatus comprising a processor and a storage unit, wherein the processor performs all steps performed in the invention according to any one of claims 1 to 13.
16. A system comprising means for performing all steps performed in the invention according to any one of claims 1 to 13.