Document selection device, program, and method for selecting document

The document selection device uses a trained language model to automate the process of matching document features with suitable templates, addressing the challenges of time-consuming and skill-dependent template selection.

JP2025071757APending Publication Date: 2025-05-08WINGARC 1ST
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024075210
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-23
Filing Date
2024-05-07
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

Selecting a suitable template for document creation can be time-consuming and requires skill, as users need to manually search through multiple templates to find one that matches their document's features.

Method used

A document selection device and method that utilizes a trained language model to receive input about the document's features and match them with suitable templates from a database, streamlining the template selection process.

Benefits of technology

The solution significantly reduces the time and effort required to select a suitable template by automating the matching process based on document features, making it easier for users to find appropriate templates for their documents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025071757000001_ABST
    Figure 2025071757000001_ABST
Patent Text Reader

Abstract

To provide a document selection device, a program, and a method for selecting a document which can more easily select a template suitable for a document to prepare.SOLUTION: The document selection device according to an embodiment has a first acquisition unit. The first acquisition unit acquires an output showing the template which fits the feature of a document from a learned language model by inputting, into the learned language model, a first prompt including a first letter string showing the feature of the document and a second letter string instructing selection of a template which fits the feature from a database storing plural templates of the document, and the database.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a document selection device, a program, and a document selection method. [Background technology]

[0002] Creators of documents such as forms may use templates to create documents. However, it may be time-consuming to select a template suitable for the document you want to create. In addition, selecting a template suitable for the document you want to create may require skill. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2008 / 066142 Summary of the Invention [Problem to be solved by the invention]

[0004] An object of the present invention is to provide a document selection device, a program, and a document selection method that enable a user to more easily select a template suitable for a document to be created than ever before. [Means for solving the problem]

[0005] A document selection device according to an embodiment includes a first acquisition unit that inputs a first prompt including a first string indicating a feature of a document and a second string instructing a user to select a template matching the feature from a database including a plurality of templates for the document, and the database to a trained language model, and acquires an output indicating the template matching the feature from the language model. [Brief description of the drawings]

[0006] [Figure 1]FIG. 1 is a block diagram showing an example of a configuration of a main part of a document generation device according to an embodiment. [Diagram 2] 2 is a flowchart showing an example of processing by a processor in FIG. 1 . [Diagram 3] 2 is a flowchart showing an example of processing by a processor in FIG. 1 . DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] The document generation device according to the embodiment will be described below with reference to the drawings. Note that the scale of each part in each drawing used in the following description of the embodiment may be changed as appropriate. Also, for the purpose of explanation, each drawing used in the following description of the embodiment may be shown with configurations omitted. Also, in each drawing and in this specification, the same reference numerals indicate similar elements.

[0008] 1 is a block diagram showing an example of a configuration of a main part of a document generation device 100 according to an embodiment. Note that each component of each device may be built-in or external.

[0009] The document generation device 100 is a device that selects an appropriate document template from among a plurality of document templates using a large language model (LLM). The document generation device 100 is also a device that modifies and edits the selected document template. A document template is a document template. The document that the document generation device 100 handles is an electronic document. The document that the document generation device 100 handles is preferably a paper document, and more preferably a form. The document generation device 100 includes, as an example, a processor 110, a read-only memory (ROM) 120, a random-access memory (RAM) 130, an auxiliary storage device 140, an input device 150, a display device 160, and a communication interface 170. A bus 180 and the like connect these components. The document generation device 100 is an example of a document selection device.

[0010] The processor 110 is a central part of a computer that performs processes such as calculations and control necessary for the operation of the document generation device 100, and performs various calculations and processes. The processor 110 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a system on a chip (SoC), a digital signal processor (DSP), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field-programmable gate array (FPGA). Alternatively, the processor 110 is a combination of a plurality of these. The processor 110 may also be a combination of these with a hardware accelerator or the like. The processor 110 controls each part to realize various functions of the document generation device 100 based on programs such as firmware, system software, and application software stored in the ROM 120 or the auxiliary storage device 140. The processor 110 also executes processes described below based on the programs. A part or all of the programs may be incorporated in the circuitry of the processor 110.

[0011] The ROM 120 and the RAM 130 are main storage devices of the computer with the processor 110 at its core. The ROM 120 is a non-volatile memory used exclusively for reading data. The ROM 120 stores, for example, firmware among the above programs. The ROM 120 also stores data used by the processor 110 when performing various processes.

[0012] The RAM 130 is a memory used for reading and writing data. The RAM 130 is used as a work area for storing data that is temporarily used when the processor 110 performs various processes. The RAM 130 is typically a volatile memory.

[0013] The auxiliary storage device 140 is an auxiliary storage device of a computer with the processor 110 at its core. The auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), a HDD (hard disk drive), or a flash memory. The auxiliary storage device 140 stores, for example, system software and application software among the above programs. The auxiliary storage device 140 also stores data used by the processor 110 in performing various processes, data generated by the processes in the processor 110, various setting values, and the like.

[0014] The application software stored in the auxiliary storage device 140 includes one or more application software (hereinafter referred to as "instruction applications") that can be operated by instruction data. The instruction data is data that describes the content of the operation to be executed by the instruction application. When the instruction application reads the instruction data, it automatically executes the operation indicated by the instruction data. Note that a file that includes instruction data is referred to as an instruction file. As an example, an instruction file is a file in which the instruction data is written in text format. An example of a file written in text format is a batch file. Note that the data format of the instruction file may be other formats. The instruction data is sometimes called a macro.

[0015] The data stored in the auxiliary storage device 140 includes, for example, an LLM 141, a document DB (database) 142, a vectorized DB (database) 143, and a software DB 144.

[0016] The LLM 141 is a trained AI (artificial intelligence) model. The LLM 141 is a language model capable of natural language processing. The LLM 141 may be the same as a well-known LLM. Therefore, a detailed description of the LLM 141 will be omitted.

[0017] The document DB 142 is a database that stores a plurality of document templates. The document DB 142 includes information such as the type, size, and layout of each document template. The layout includes information indicating whether the document is written vertically or horizontally. Examples of document types include purchase orders and invoices. Purchase orders and invoices are both forms. Furthermore, it is preferable that the document DB 142 is provided with metadata indicating the characteristics of each document template. The file format of the document template is, for example, XML (Extensible Markup Language) such as SVF (Super Visual Formade). The file format of the document template may be other file formats.

[0018] The vectorized DB 143 is, for example, a vector database, which is the vectorized document DB 142. The processor 110 generates the vectorized DB 143 by vectorizing the document DB 142.

[0019] The software DB 144 is a database that stores information about a command application for each command application. The information about the command application includes information indicating the specification of command data for the command application. The information about the command application includes, for example, information indicating what type of application software the command application is and information indicating what functions the command application has. The software DB 144 is preferably a vector database.

[0020] The input device 150 accepts operations by an operator of the document generation device 100 (hereinafter simply referred to as "operator"). The input device 150 is, for example, a keyboard, a keypad, a touchpad, a mouse, or a controller. The input device 150 may also be a device for voice input. The operator is an example of a user.

[0021] The display device 160 displays a screen for notifying an operator or the like of various pieces of information. The display device 160 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display. A touch panel can also be used as the input device 150 and the display device 160. That is, a display panel provided in the touch panel can be used as the display device 160, and a pointing device provided in the touch panel by touch input can be used as the input device 150.

[0022] The communication interface 170 is an interface for the document generation device 100 to communicate via a network such as the Internet or a LAN (local area network).

[0023] The bus 180 includes a control bus, an address bus, a data bus, etc., and transmits signals exchanged among the various components of the document generating device 100 .

[0024] The operation of the document generation device 100 according to the embodiment will be described below with reference to Figs. 2 and 3. Note that the contents of the process in the following operation description are merely examples, and various processes capable of obtaining similar results can be used as appropriate. Figs. 2 and 3 are flowcharts showing an example of a process by the processor 110 of the document generation device 100. The processor 110 executes the process of Figs. 2 and 3 based on a program stored in, for example, the ROM 120 or the auxiliary storage device 140.

[0025] In step ST11 of FIG. 2, the processor 110 of the document generation device 100 determines whether to start accepting input of instructions. When the operator wishes to instruct the document generation device 100 on the document to be created, the operator performs an operation using the input device 150 indicating that the operator is to give the instruction. The processor 110 determines to start accepting input of instructions in response to the operation. The document that the operator wishes to create is hereinafter referred to as the "desired document." If the processor 110 does not determine to start accepting input of instructions, it determines No in step ST11 and repeats the processing of step ST11. On the other hand, if the processor 110 determines to start accepting input of instructions, it determines Yes in step ST11 and proceeds to step ST12.

[0026] In step ST12, processor 110 generates an image corresponding to the first input screen. Then, processor 110 instructs display device 160 to display the generated image. In response to the display instruction, display device 160 displays the first input screen.

[0027] The first input screen is a screen for receiving an input indicating what type of document the desired document is. The first input screen includes, as an example, an input field for inputting the contents of the instruction. The operator inputs the contents of the instruction into the input field using, for example, the input device 150. The operator inputs the contents of the instruction in, for example, a natural language. The contents of the instruction are, for example, contents indicating what type of document the desired document is. The contents of the instruction include, for example, contents indicating the type of document. An example of a sentence to be input into the input field on the first input screen is a sentence such as "Create an invoice from item data." The item data will be described later.

[0028] The first input screen also includes an instruction confirmation button. The instruction confirmation button is a button that the operator operates when deciding on the content of the instruction. The operator operates the instruction confirmation button in a state where the content of the instruction is input in the input field.

[0029] Processor 110 may accept input of instructions by voice. In this case, processor 110 does not need to display the first input screen.

[0030] In step ST13, processor 110 waits for the instruction content to be determined. That is, processor 110 waits for a predetermined operation, such as operating an instruction determination button, to be performed in a state in which the instruction content has been input on the first input screen. In the case where the instruction content is input by voice, processor 110 determines that the instruction content has been determined, for example, when it is determined that the vocalization indicating the instruction has ended. If processor 110 determines that the instruction content has been determined, it determines Yes in step ST13 and proceeds to step ST14.

[0031] In step ST14, the processor 110 acquires item data corresponding to the desired document. To this end, the processor 110 accepts, for example, an input instructing which data to use as the item data. The operator instructs the document generation device 100 which data to use as the item data by, for example, operating the input device 150. For example, the auxiliary storage device 140 stores the item data. The processor 110 acquires the instructed data as item data from the auxiliary storage device 140 or the like. It should be noted that the processor 110 may acquire multiple items of item data.

[0032] The item data is data composed of character strings. The item data is data including the item names of each item that the operator wishes to input into the desired document. The item data may include not only the item names but also data to be input into each item (hereinafter referred to as "input data"). Examples of item names include company name, address, period, date, sales quantity, billing amount, and sales amount. The item data is, for example, data in a DSV (delimiter-separated values) format such as a CSV (comma-separated values) format, or other structured data. Alternatively, the item data may be in other data formats. Note that the item data is an example of first data including at least one of the item names of items to be input into the document and the input data to be input into the document.

[0033] In step ST15, the processor 110 inputs a prompt and the vectorized DB 143 to the LLM 141. The prompt includes the instruction content input by the operator on the first input screen, the item data acquired in step ST14, and a first basic instruction sentence. The first basic instruction sentence includes, as an example, a sentence having the content of either (A1) or (A2) below. The first basic instruction sentence may also include a sentence having the content of (A3) below. Here, N is a predetermined integer of 2 or more.

[0034] (A1) A sentence indicating an instruction to select one document template suitable for the input instruction content and the item indicated by the input item data from the vectorized DB 143 and to indicate its name. (A2) A sentence indicating an instruction to select N document templates suitable for the input instruction content and the items indicated by the input item data from the vectorized DB143 in an appropriate order, and to display the names of each selected template. (A3) A text instructing the user to output an answer in a specific format. The specific format is, for example, a data description language or other computer language. An example of the data description language is JSON (JavaScript Object Notation).

[0035] The processor 110 executes the LLM 141 to which the prompt and the vectorized DB 143 have been input. The LLM 141 executed by the processor 110 generates an output for the input. That is, the LLM 141 generates and outputs a response to the instruction indicated by the prompt. The processor 110 may input the document DB 142 to the LLM 141 instead of the vectorized DB 143. Based on the input prompt, the LLM 141 analyzes the contents indicated by the prompt and generates a response.

[0036] The LLM 141, for example, vectorizes the input instruction content and compares it with the vectorized DB 143 to select a suitable document template.

[0037] In step ST16, the processor 110 waits for an answer to be output by the LLM 141. When the LLM 141 outputs an answer, the processor 110 acquires the answer.

[0038] The prompt input in step ST15 is an example of a first prompt including a first character string and a second character string. Each of the instruction content and item data in the prompt input in step ST15 is an example of a first character string indicating the characteristics of the document. The first basic instruction sentence is an example of a second character string instructing to select a template that matches the characteristics from a database containing multiple templates of the document. (A2) is an example of a character string instructing to select a predetermined number of templates, two or more, that match the characteristics from the database in order of suitability.

[0039] As described above, processor 110 functions as an example of a first acquisition unit by performing the processes of steps ST15 and ST16. The first acquisition unit inputs the first prompt and the database to a trained language model, and acquires an output indicating a template matching the feature from the language model.

[0040] In step ST17, the processor 110 generates an image corresponding to the first result screen. Then, the processor 110 instructs the display device 160 to display this generated image. In response to the display instruction, the display device 160 displays the first result screen.

[0041] The first result screen is a screen for notifying the operator of the answer content acquired in step ST16. The first result screen includes the answer content. The answer content is expected to include the names of one or N document templates selected by the LLM 141 from the vectorized DB 143. In addition, if the answer content includes the names of N document templates, the names are expected to be displayed in an order suitable for the instruction content input by the operator and the item data acquired in step ST14. Here, the following processing will be described assuming that the answer content includes the expected content. In addition, if the answer content does not include the expected content, the processor 110 may perform, for example, a predetermined exception processing.

[0042] Furthermore, the names of one or N document templates displayed on the first result screen can be selected. Furthermore, the first result screen includes a document decision button. The instruction decision button is a button that the operator operates when deciding which document template to use. The operator operates the document decision button with the document template he or she wants to use selected. Note that, if there is only one document template displayed on the first result screen, the operator may operate the document decision button without selecting a document template. In this case, processor 110 considers that one document template to be selected.

[0043] In step ST18, processor 110 waits for the document template to be used to be determined. That is, processor 110 waits for a predetermined operation, such as operating a document determination button with a document template selected. If the document template to be used has been determined, processor 110 determines Yes in step ST18 and proceeds to step ST19.

[0044] Note that, when the first basic instruction sentence input to the LLM 141 instructs the selection of one document template and the number of document templates displayed on the first result screen is one, the processor 110 may skip the process of step ST18 or proceed to step ST19. In this case, the processor 110 considers that the one document template displayed on the first result screen has been selected.

[0045] In step ST19, processor 110 refers to document DB 142 and acquires the document template selected on the first result screen.

[0046] In step ST20, the processor 110 modifies the document template acquired in step ST19 based on the item data acquired in step ST14. For example, the processor 110 modifies the document template according to the period of input data in the item data. For example, if the input data is data for a period of five months, the processor 110 modifies the document template so that data for a period of five months can be input. In addition, the processor 110 adds, for example, an item that is in the item data but not in the document template to the document plate. The processor 110 may also input the input data into the document template. The processor 110 stores the modified document template in the auxiliary storage device 140 or the like.

[0047] As described above, processor 110 functions as an example of a correction unit by performing the process of step ST20. The correction unit corrects the template shown by the output based on data including at least one of the item names of items to be input into the document and the input data to be input into the document.

[0048] In step ST21, the processor 110 reduces the amount of data of the document template in order to reduce the amount of data to be input to the LLM 141. Here, the processor 110 uses the document template after the process of step ST20. However, if no correction is made in step ST20, the processor 110 may use the document template acquired in step ST19. For example, the processor 110 reduces the amount of data of the document template by removing data unnecessary for the LLM 141 from the document data. An example of data unnecessary for the LLM 141 is data related to color. However, data related to color is not necessarily unnecessary for the LLM 141. Data that may change color is also necessary data for color. The document template whose data has been reduced by the process of step ST21 is hereinafter referred to as "reduced data". After the process of step ST21, the processor 110 proceeds to step ST22 in FIG. 3.

[0049] In step ST22, processor 110 generates an image corresponding to the second input screen. Then, processor 110 instructs display device 160 to display the generated image. In response to the display instruction, display device 160 displays the second input screen.

[0050] The second input screen is a screen for receiving input instructing what changes to make to the document. The second input screen includes, as an example, an input field for inputting the contents of the instructions. The operator inputs the contents of the instructions into the input field using, for example, the input device 150. The operator inputs the contents of the instructions in, for example, a natural language. Examples of changes to the document include adding and deleting items, changing item names, changing and deleting text, changing fonts, changing formatting, and adding, changing, moving, transforming, and deleting figures, images, and objects. The contents of the instructions may include a sentence specifying which instruction app to use.

[0051] The second input screen also includes an instruction confirmation button and an end button. The instruction confirmation button is a button that the operator operates when deciding on the instruction content. The operator operates the instruction confirmation button after inputting the instruction content in the input field. The end button is a button that the operator operates when ending the changes to the document.

[0052] Processor 110 may accept input of instructions by voice. In this case, processor 110 does not need to display the second input screen.

[0053] In step ST23, processor 110 determines whether or not to end the process without modifying the document. If processor 110 determines not to end the process, processor 110 determines No in step ST23 and proceeds to step ST24.

[0054] In step ST24, processor 110 determines whether the instruction contents have been confirmed. Processor 110 determines that the instruction contents have been confirmed when a predetermined operation, such as operating an instruction confirmation button, is performed with the instruction contents input on the second input screen. In the case where the instruction contents are input by voice, processor 110 determines that the instruction contents have been confirmed when it is determined that the vocalization indicating the instruction has ended, for example. If processor 110 does not determine that the instruction contents have been confirmed, it determines No in step ST24 and returns to step ST23. Thus, processor 110 enters a standby state in which it repeats steps ST23 and ST24 until it determines that the document change is to be completed or it determines that the instruction contents have been confirmed.

[0055] If processor 110 determines that the instruction content has been confirmed while in a standby state in which steps ST23 and ST24 are repeated, it determines Yes in step ST24 and proceeds to step ST25.

[0056] In step ST25, the processor 110 inputs a prompt and the software DB 144 to the LLM 141. The prompt includes the instruction content, the reduced data, and the second basic instruction sentence input by the operator on the second input screen. The second basic instruction sentence includes, as an example, sentences with the contents of (B1) to (B7) below. The second basic instruction sentence also includes, as an example, sentences with the contents of either (B7) or (B8) below.

[0057] (B1) A sentence indicating that the software DB144 is to create instruction data in accordance with the specifications set forth therein. (B2) A sentence indicating that the instruction data is to make the changes indicated by the input instruction content to the document template. (B3) A sentence indicating that the instruction data includes application designation information, target designation information, and execution content information. Note that the application designation information, target designation information, and execution content information will be described later. (B4) A sentence indicating that the reduced data indicates the document template to be changed. (B5) A sentence specifying the storage location of the document template to be changed. The storage location is the storage location of the document template after the process in step ST20 or the document template acquired in step ST19. (B6) A sentence indicating that software DB144 contains information about the instruction application and that the specifications of the instruction data are indicated in software DB144. (B7) A sentence that specifies the instruction app to be used. (B8) A sentence indicating that the software DB144 is referred to to select an appropriate instruction app for making the changes indicated by the input instruction content, and an instruction app selected is instructed to be answered.

[0058] The processor 110 executes the LLM 141 to which the prompt and the software DB 144 are input. The LLM 141 executed by the processor 110 generates an output for the input. That is, the LLM 141 generates and outputs a response to the instruction indicated by the prompt. Based on the input prompt, the LLM 141 analyzes the content indicated by the prompt and generates the response.

[0059] In step ST26, the processor 110 waits for the LLM 141 to output a response. When the LLM 141 outputs a response, the processor 110 acquires the response. The response is expected to include instruction data. The instruction data is expected to include, for example, application designation information, target designation information, and execution content information. The application designation information includes, for example, information indicating which instruction application is to be used. The application designation information includes, for example, a command instructing to start the instruction application. The target designation information includes, for example, information capable of identifying data to be changed. The target designation information includes a command instructing to open the target. The target is the document template after the process of step ST20 or the document template acquired in step ST19. The target designation information identifies the target by, for example, the storage location of the file that is the target. The execution content information includes content to be executed by the instruction application. The content is indicated by the instruction content inputted on the second input screen. The application designation information, target designation information, and execution content information are described, for example, in a programming language, a data description language, or another computer language. Here, the following process will be described assuming that the answer includes instruction data, and the instruction data includes application designation information, target designation information, and execution content information. If the answer is not as expected, processor 110 may perform, for example, a predetermined exception process.

[0060] An example of the description of the execution content information is shown in the following {}. This example shows that the font size is to be changed to 20.0. {'batch_commands': [ {'action': 'ChangeTextStyleItem', 'itm_type': 'Text', 'itm_name': 'Date', 'size': '20.0'} ]}

[0061] The prompt input in step ST25 is an example of a second prompt including a third character string and a fourth character string. The instruction content in the prompt input in step ST25 is an example of a third character string indicating the content of the change to be made to the template indicated by the output. The instruction data included in the answer acquired in step ST26 is an example of second data that, when input to the software, causes the software to execute the change. The second basic instruction sentence is an example of a fourth character string that instructs the software to output the second data. (B7) is an example of a character string that instructs the software to select software suitable for the change.

[0062] As described above, processor 110 functions as an example of a second acquisition unit by performing the processes of steps ST25 and ST26. The second acquisition unit inputs a second prompt to a language model, thereby acquiring the second data output from the language model.

[0063] In step ST27, the processor 110 generates an image corresponding to the second result screen. Then, the processor 110 instructs the display device 160 to display this generated image. In response to the display instruction, the display device 160 displays the second result screen.

[0064] The second result screen is a screen for notifying the operator of the answer content acquired in step ST26. The second result screen is, for example, the second input screen to which the answer content has been added.

[0065] In step ST28, the processor 110 acquires instruction data included in the response from the response acquired in step ST26. Then, the processor 110 generates an instruction file including the instruction data. Then, the processor 110 stores the instruction file in the auxiliary storage device 140 or the like.

[0066] In step ST29, the processor 110 executes the instruction file generated in step ST28. The execution of the instruction file includes the following processes (C1) to (C3).

[0067] (C1) The processor 110 launches a designated application indicated by application designation information included in the instruction file.

[0068] (C2) The processor 110 opens the document template indicated by the target designation information included in the instruction file in the instruction application opened in (C1).

[0069] (C3) Processor 110 executes the process indicated by the execution content information included in the instruction file. To this end, processor 110 instructs the instruction application opened in (C1) to execute the process. Processor 110 issues this instruction, for example, by inputting the execution content information into the instruction application. Based on the instruction, the instruction application executes the process.

[0070] Through the processes (C1) to (C3), processor 110 makes the changes indicated by the instructions entered on the second input screen to the document template.

[0071] After the process of (C3), the processor 110 preferably saves the file to which the change is to be applied in order to apply the changes made in (C3) to the file. After saving the file, the processor 110 may close the instruction application opened in (C1).

[0072] Processor 110 continues to display the second result screen even after processing step ST29. Therefore, the operator can input further instruction contents. However, processor 110 sets the input field for inputting instruction contents to a state where nothing is displayed so that new instructions can be input. Also, the operator can operate the end button.

[0073] As described above, processor 110 functions as an example of an execution section by performing the process of step ST29. The execution section modifies the template by executing the second data.

[0074] In step ST30, processor 110 determines whether or not the instruction content has been decided. If processor 110 determines that the instruction content has not been decided, processor 110 determines No in step ST30 and proceeds to step ST31.

[0075] In step ST31, processor 110 determines whether or not to end the document change. If processor 110 does not determine that the document change is to be ended, processor 110 determines No in step ST31 and returns to step ST30. Thus, processor 110 enters a standby state in which it repeats steps ST30 and ST31 until it determines that the instruction content has been confirmed or that the document change is to be ended.

[0076] If processor 110 determines that the instruction content has been confirmed while in a standby state in which steps ST30 and ST31 are repeated, it determines Yes in step ST30 and proceeds to step ST32.

[0077] In step ST32, the processor 110 inputs a prompt and the software DB 144 to the LLM 141. The prompt includes the instruction content input by the operator on the second result screen and the third basic instruction sentence. The third basic instruction sentence includes, as an example, sentences with the contents of the following (D1) to (D3). The third basic instruction sentence also includes, as an example, sentences with the contents of either of the following (D4) or (D5).

[0078] (D1) A sentence indicating that further changes will be made to the document template to be changed. (D2) A sentence indicating that the further change is indicated by the input instructions. (D3) A sentence indicating an instruction to create instruction data for making the further change. (D4) A sentence indicating that the same instruction app as last time will be used. (D5) A sentence indicating that the software DB144 is referred to to select an appropriate instruction app for making the changes indicated by the input instruction content, and an instruction app selected is instructed to be answered.

[0079] The prompt in step ST32 may include the instruction content, the reduced data, and the second basic instruction sentence input by the operator on the second result screen.

[0080] The prompt in step ST32 may also include any prompts previously input to the LLM 141 and any answers to those prompts.

[0081] After processing step ST32, processor 110 returns to step ST26. As described above, processor 110 performs the processes of steps ST22 to ST29 to make a first change to the document template, and then performs second and subsequent changes to the document template in steps ST25 to ST32. Processor 110 can make multiple changes to the document template by repeating the processes of steps ST25 to ST32.

[0082] If processor 110 determines to end the document change while in a standby state in which steps ST30 and ST31 are repeated, it determines Yes in step ST31 and proceeds to step ST33. Also, if processor 110 determines to end the document change while in a standby state in which steps ST23 and ST24 are repeated, it determines Yes in step ST23 and proceeds to step ST33.

[0083] In step ST33, the processor 110 converts the document template into a print file. When proceeding from step ST23 to step ST33, the document template converted into the print file is the document template after processing in step ST20 or the document template acquired in step ST19. When proceeding from step ST31 to step ST33, the document template converted into the print file is the document template modified based on the instruction data. The print file is, for example, a file written in PDF (Portable Document Format) or other page description language. After processing in step ST33, the processor 110 ends the process shown in FIG. 3.

[0084] The document generation device 100 of the embodiment inputs a prompt including a character string indicating a feature of a document and a first basic instruction sentence to the LLM 141. Then, the document generation device 100 of the embodiment obtains an output indicating a document template appropriate for the feature from the LLM 141. Therefore, by using the document generation device 100 of the embodiment, an operator can find a desired document template more easily than before.

[0085] Furthermore, the document generation device 100 of the embodiment uses a sentence input by an operator as a character string indicating the characteristics of a document. Therefore, the operator can find a desired document template by inputting the characteristics of a document to be created in a natural language. In other words, by using the document generation device 100 of the embodiment, the operator can find a desired document template more easily than in the past.

[0086] Furthermore, the document generation device 100 of the embodiment inputs the item data to the LLM 141. This enables the document generation device 100 of the embodiment to improve the accuracy of the selection of the document template by the LLM 141.

[0087] Furthermore, the document generation device 100 of the embodiment inputs a prompt including (A2) to the LLM 141. Then, the LLM 141 selects multiple document templates. This allows the operator to select a desired document template from multiple document templates that are suitable for the document to be created.

[0088] Furthermore, the document generation device 100 according to the embodiment modifies the document template selected by the LLM 141 based on the item data, so that the document template becomes closer to the document that the operator wants to create.

[0089] Furthermore, the document generation device 100 of the embodiment inputs a prompt to the LLM 141, the prompt including the content of the changes to be made to the document and the content of the instruction to output instruction data for making the changes. The LLM 141 then outputs the instruction data. The operator can easily make changes to the document by using the instruction data. Furthermore, by using the document generation device 100 of the embodiment, the operator can make changes to the document more easily than before.

[0090] Furthermore, the software operating device 100 of the embodiment operates the software via instruction data. If instruction data is not used, additional learning must be performed on the LLM 141. Therefore, the software operating device 100 of the embodiment can operate the software more easily than if instruction data is not used.

[0091] Furthermore, the document generation device 100 of the embodiment modifies the document by executing the instruction data. Therefore, by using the document generation device 100 of the embodiment, the operator can modify the document more easily than in the past.

[0092] Furthermore, the document generation device 100 of the embodiment selects software suitable for the content of the change to be made to the document. Therefore, by using the document generation device 100 of the embodiment, the operator can make changes to the document without knowing which software can be used to make the desired change to the document.

[0093] Furthermore, the document generation device 100 of the embodiment uses forms as documents. Forms often have parts that are divided into items. In other words, many parts are structured. For this reason, the LLM 141 can accurately select a template for a form.

[0094] The above embodiment can be modified as follows.

[0095] In the above embodiment, the processor 110 inputs a prompt including the instruction content, item data, and the first basic instruction sentence to the LLM 141 in step ST15 of Fig. 2. However, the processor 110 may input a prompt including either the instruction content or the item data, and the first basic instruction sentence to the LLM 141. In this case, the part of (A1) and (A2) of the first basic instruction sentence, "the input instruction content and the item indicated by the input item data", should be "the input instruction content" or "the input item data".

[0096] In the above embodiment, the document generation device 100 uses the document DB 142 or the vectorized DB 143 as external data available to the LLM 141. However, the document generation device 100 may use an LLM trained on the document DB 142 or the vectorized DB 143 instead of the LLM 141. In this case, the processor 110 of the document generation device 100, for example, additionally trains the document DB 142 or the vectorized DB 143 in the LLM 141.

[0097] In the above embodiment, the document generation device 100 uses the document DB 142 or the vectorized DB 143 as external data available to the LLM 141. However, the document generation device 100 may input the document DB 142 or the vectorized DB 143 to the LLM 141 as a prompt.

[0098] In the above embodiment, the document generation device 100 uses the software DB 144 as external data available to the LLM 141. However, the document generation device 100 may use an LLM trained with the software DB 144 instead of the LLM 141. In this case, the processor 110 of the document generation device 100, for example, additionally trains the software DB 144 in the LLM 141.

[0099] In the above embodiment, the document generation device 100 uses the software DB 144 as external data available to the LLM 141. However, the document generation device 100 may input the software DB 144 to the LLM 141 as a prompt.

[0100] In the above embodiment, the processor 110 inputs a prompt including the reduced data to the LLM 141. However, the processor 110 may use the document template after the processing of step ST20 in FIG. 3 or the document template obtained in step ST19 instead of the reduced data.

[0101] The instruction data may not include application designation information. In this case, the processor 110 launches the instruction application without relying on the instruction data. For example, the answer content acquired in step ST26 may include a description indicating which instruction application to use in a portion other than the instruction data. The processor 110 identifies the instruction application to be used based on this description, and launches the instruction application. Alternatively, the processor 110 may launch a predetermined instruction application. Alternatively, the processor 110 may launch an instruction application designated by the operator.

[0102] The instruction data may not include target designation information. In this case, the processor 110 opens the document template to be modified, not based on the instruction data. For example, the answer content acquired in step ST26 may include a description that can specify which document template to modify in a portion other than the instruction data. The processor 110 identifies the instruction application to be used based on this description, and starts the instruction application. Alternatively, the processor 110 opens the document template after the processing of step ST20 or the document template acquired in step ST19. Alternatively, the processor 110 opens the document template specified by the operator.

[0103] In the above embodiment, the processor 110 automatically executes the instruction file. However, the processor 110 does not have to automatically execute the instruction file. In this case, the processor 110 proceeds to the process of step ST30 after the process of step ST28. The operator can instruct the document generation device 100 to execute the instruction file by performing an operation to open the saved instruction file. Based on the instruction, the processor 110 of the document generation device 100 executes the instruction file.

[0104] The document generation device 100 may use information stored in a format other than a database instead of a database.

[0105] The processor 110 may add the document template modified by the processing of step ST20 as a new document template to the document DB 142. When the processor 110 adds a new document template to the document DB 142, the processor 110 vectorizes the document DB 142 to which the new document template has been added, and creates a new vectorized DB 143.

[0106] The processor 110 may add the document template modified based on the instruction data as a new document template to the document DB 142. However, it is preferable that the processor 110 add data, excluding the input data, from the document template to the document DB 142.

[0107] The second basic instruction sentence and the third basic instruction sentence may include a sentence instructing the operator to create a suitable instruction app if there is no instruction app suitable for executing the instruction content input by the operator on the second input screen. If the prompt includes this sentence, the LLM 141 creates a command app suitable for the instruction content.

[0108] The instruction file may be executed from the instruction app while the instruction app is running. In this case, the operator can operate the instruction app to read the instruction file, thereby causing the instruction app to execute the instruction file.

[0109] The document generation device of the embodiment may be composed of a plurality of devices. The document generation device of the embodiment may be realized by using cloud computing. As an example, the document generation device includes a terminal device and a server device. The server device is a server in cloud computing. The server device executes LLM141. The terminal device transmits a prompt to the server device through a communication network such as the Internet or a LAN (local area network). The processor of the server device uses the prompt to execute the processes of steps ST15 and ST16 in FIG. 2 or steps ST25 and ST26 in FIG. 3. Then, the server device transmits the acquired answer to the terminal device through the communication network. The terminal device uses the answer to execute the processes of steps ST17 and after in FIG. 2 or steps ST27 and after in FIG. 3.

[0110] The processor 110 may implement part or all of the processes implemented by the programs in the above-described embodiments by using a hardware circuit configuration.

[0111] The program for implementing the process of the embodiment is transferred in a state in which it is stored in, for example, a non-transitory computer-readable storage medium in the device. However, the device may be transferred in a state in which the program is not stored. The program may then be transferred separately and written to the device. The program may be transferred in this case by, for example, recording it in a removable non-transitory computer-readable storage medium, or by downloading it via a network such as the Internet or a LAN.

[0112] Although the embodiment of the present invention has been described above, it is merely an example and does not limit the scope of the present invention. The embodiment of the present invention can be implemented in various forms without departing from the gist of the present invention. [Explanation of symbols]

[0113] 100 Document generation device 110 Processor 120 ROM 130 RAM 140 Auxiliary storage 141 LLM 142 Document DB 143 Vectorized DB 144 Software DB 150 Input Devices 160 Display Devices 170 Communication Interface 180 Bus

Claims

1. A document selection device comprising a first acquisition unit that inputs a first prompt including a first string indicating a characteristic of a document and a second string instructing the user to select a template that matches the characteristic from a database including a plurality of document templates, and the database into a trained language model, and thereby acquires an output from the language model indicating the template that matches the characteristic.

2. 2. The document selection device of claim 1, wherein the first character string includes a sentence input by a user.

3. 3. The document selection device according to claim 1, wherein the first character string includes a character string indicating a name of an item to be input to the document.

4. the second character string is a character string instructing the system to select a predetermined number of templates, two or more, that match the characteristics from the database in order of matching degree, The document selection apparatus of claim 1 , wherein the output indicates the number of the templates that match the feature.

5. 2. The document selection device according to claim 1, wherein the template indicated by the output is modified based on first data including at least one of an item name of an item to be input to the document and input data to be input to the document.

6. 2. The document selection device of claim 1, further comprising a second acquisition unit that acquires the second data output from the language model by inputting a second prompt to the language model, the second prompt including a third string indicating a content of a change to be made to the template indicated by the output, and a fourth string instructing the software to output second data that, when input to the software, causes the software to execute the change.

7. The document selection device according to claim 6 , further comprising an execution unit configured to execute the second data to make the changes to the template.

8. 7. The document selection device according to claim 6, wherein the fourth character string includes a character string instructing the user to select the software suitable for the change.

9. 2. The document selection device according to claim 1, wherein the document is a form.

10. A processor included in the document selection device, A program that functions as a first acquisition unit that inputs a first prompt including a first string indicating a characteristic of a document and a second string instructing the user to select a template that matches the characteristic from a database containing a plurality of document templates, and the database into a trained language model, and acquires an output from the language model indicating the template that matches the characteristic.

11. A document selection method comprising: inputting a first prompt including a first string indicating a characteristic of a document and a second string instructing the user to select a template that matches the characteristic from a database including a plurality of document templates, and the database, into a trained language model, thereby obtaining an output from the language model indicating the template that matches the characteristic.

Citation Information

Patent Citations

  • Form making system, network system using same, and form making method

    WO2008066142A1