Program, information processing device, method, and system
The system addresses the issue of inappropriate information for inexperienced users by performing database searches and generating prompts for a generation AI, ensuring relevant and coherent advice is provided.
Patent Information
- Application Number
- JP2025080855
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-11-27
- Estimated Expiration
- 2045-05-14
AI Technical Summary
Existing technologies risk outputting inappropriate information when used by inexperienced users due to inadequate query input.
A system that performs vector and text searches on a database containing detailed and list files, extracts relevant chunks, generates a prompt for a generation AI, and outputs an answer based on these chunks and the query.
Enables appropriate advice to be provided even to users with little experience in a specific field by ensuring the relevance and coherence of the output.
Smart Images

Figure 0007776839000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing device, a method, and a system. [Background technology]
[0002] There is a technology that uses a language model to generate a summary containing information useful to a user in response to a query input by the user (see Patent Document 1).
[0003] Patent document 1 discloses a method of obtaining a query, referring to the query, extracting one or more matching chunks that are chunks that match the query from one or more target chunks, generating instruction information for generating a summary of the one or more target chunks, the instruction information including one or more matching chunks, and obtaining output information output by a language model to which the instruction information is input. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2025-025519 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in Patent Document 1, there is a risk that useful information will not be output if used by an inexperienced user who is unable to input an appropriate query.
[0006] An object of the present disclosure is to output appropriate advice even when used by a user with little experience in a given field. [Means for solving the problem]
[0007] In order to solve the above problem, one embodiment of a program of the present disclosure is a program for operating a computer having a processor and a memory, and the program causes the processor to execute the following steps: accepting input of a query related to a question from a user; performing a vector search and a text search on a database in which multiple detail files and multiple list files, each created to constitute one chunk, are accumulated based on the accepted query, thereby extracting multiple chunks related to the query; generating a prompt to be input to a generation AI, the prompt including an instruction statement for outputting an answer to the question and data including the extracted chunks and the query; inputting the created prompt to the generation AI, obtaining an answer corresponding to the prompt from the generation AI, and presenting the obtained answer to the user. [Effects of the Invention]
[0008] According to the present disclosure, even when used by a user with little experience in a specific field, appropriate advice can be output. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a block diagram showing the overall configuration of a system 1. FIG. [Figure 2] 2 is a block diagram showing an example of the functional configuration of a terminal device 10. FIG. [Figure 3] 2 is a block diagram showing an example of the functional configuration of a server 20. FIG. [Figure 4] FIG. 2 is a diagram showing the data structure of a RAG database 40. [Figure 5] FIG. 2 is a diagram illustrating a data structure of a table. [Figure 6] FIG. 2 is a diagram illustrating an example of a processing flow in the system 1. [Figure 7] FIG. 10 is a diagram illustrating an example screen of the present disclosure. [Figure 8] FIG. 9 is a block diagram showing the basic hardware configuration of a computer 90. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated description will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.
[0011] In the following description, a "processor" refers to one or more processors. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit), but may also be another type of processor such as a GPU (Graphics Processing Unit). The at least one processor may be single-core or multi-core.
[0012] Furthermore, the at least one processor may be a processor in the broad sense, such as a hardware circuit (for example, a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) that performs part or all of the processing.
[0013] In the following explanation, information that produces an output for an input may be described using expressions such as "xxx table," but this information may be data of any structure, or may be a learning model such as a neural network that produces an output for an input. Therefore, an "xxx table" may be referred to as "xxx information."
[0014] Furthermore, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.
[0015] In addition, in the following explanation, processing may be described using the "program" as the subject, but since a program is executed by a processor to perform specified processing while appropriately using a memory unit and / or an interface unit, etc., the subject of the processing may also be the processor (or a device such as a controller that has that processor).
[0016] The program may be installed in a device such as a computer, or may be stored in, for example, a program distribution server or a computer-readable (e.g., non-transitory) recording medium. Also, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0017] Furthermore, in the following description, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers including alphabetic characters or symbols) may also be used.
[0018] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference symbols (or common symbols among the reference symbols) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference symbols) of the elements may be used.
[0019] In the following description, the control lines and information lines are those that are considered necessary for the description, and do not necessarily represent all the control lines and information lines in the product. All components may be interconnected.
[0020] Each information processing device is configured by a computer equipped with an arithmetic unit and a storage device. 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 terminal device 10 and the server 20, descriptions that overlap with the basic hardware configuration and basic functional configuration of the computer will be omitted.
[0021] <1. Overview> In this embodiment, the database stores multiple "detail files" and "list files," each of which is created to form one chunk, which is a search unit. The detail file is a text file that describes specific action procedures and know-how in a specific field of expertise. The list file is a text file that lists the titles and summaries of multiple detail files. When the server 20 receives a query from a user indicating a question about action procedures, the server 20 performs a vector search and a text search on the database based on the received query, and reads multiple chunks of detail files and list files that are related to the content of the query. The server 20 creates a prompt for the generation AI based on the query entered by the user and the information of the extracted chunks, inputs the prompt to the generation AI to generate an answer, and presents the answer to the user. For example, a large language model (LLM) can be used as the generation AI.
[0022] <2. Overall system configuration> FIG. 1 is a block diagram showing an example of the overall configuration of system 1. System 1 is, for example, a system for providing a support service that answers user questions using a generation AI. In this disclosure, an example will be described in which the support service is introduced into a specific business environment, and a non-expert with little experience engaged in the business uses the support service as a user.
[0023] 1 includes, for example, a terminal device 10, a server 20, a generation AI system 30, and a database for RAG 40. The terminal device 10, the server 20, the generation AI system 30, and the database for RAG 40 are communicatively connected via, for example, a network 80.
[0024] 1, for the sake of simplicity, an example is shown in which the system 1 includes one terminal device 10. However, in reality, the system 1 may include multiple terminal devices 10 for use by multiple users.
[0025] 1 shows an example in which the system 1 includes one server 20, but for example, a collection of multiple devices may be one server 20. The way in which the multiple functions required to realize the server 20 are allocated to one or multiple pieces of hardware can be determined appropriately depending on the processing capacity of each piece of hardware and / or the specifications required for the server 20.
[0026] While Figure 1 shows an example in which system 1 includes one generative AI system 30, system 1 may include two or more generative AI systems 30. Also, while Figure 1 shows an example in which generative AI system 30 is independent from server 20, server 20 may include the functionality of generative AI system 30. In other words, server 20 may store the LLM included in generative AI system 30.
[0027] 1 shows an example in which the RAG database 40 is independent from the server 20, the server 20 may include the functions of the RAG database 40. In other words, the RAG database 40 may be built in the server 20.
[0028] The terminal device 10 is, for example, an information processing device operated by a user. The terminal device 10 may be realized by, for example, a mobile terminal such as a smartphone or a tablet, or a desktop personal computer (PC), a laptop PC, or the like.
[0029] The terminal device 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage 16, and a processor 19. The input device 13 is a device (for example, a touch panel, a touchpad, a pointing device such as a mouse, a keyboard, etc.) for receiving input operations (such as query input) from a user. The output device 14 is a device (for example, a display, a speaker, etc.) for presenting information (such as an answer from the LLM) to the user.
[0030] The server 20 is, for example, an information processing device for managing and operating a business support service using a generation AI, and is an information processing device realized by a computer connected to a network 80. The server 20 may be, for example, an API (Application Programming Interface) server. As shown in FIG. 1, the server 20 includes a communication IF 22, an input / output IF 23, a memory 25, a storage 26, and a processor 29. The input / output IF 23 functions as an input device for receiving input operations from a manager / operator of the business support service, and as an interface for an output device for outputting information to the manager / operator.
[0031] The generation AI system 30 is, for example, a cloud server having an LLM. The number of LLMs included in the generation AI system 30 may be one or more.
[0032] LLM is a single-modal natural language model constructed by learning from large amounts of text data, and is used in many NLG (Natural Language Generation) tasks, such as generating answers to specific questions, automatically generating sentences, and summarizing text. LLM is an example of a generative AI model. Examples of LLMs include: OpenAI: GPT-4 Google: Gemini 1.5 Flash ·Anthropic: Claude 3.5 Sonnet
[0033] The generative AI system 30 inputs the text data (read chunk information and prompt) sent from the server 20 into the LLM and causes the LLM to output an answer to the input prompt. The generative AI system 30 transmits the answer output from the LLM to the server 20.
[0034] The RAG database 40 is a database that stores information about chunks that are search targets for RAG (Retrieval-Augmented Generation) executed by the server 20. In this embodiment, the chunk information includes multiple "detail files" that describe information about specific action procedures in a specific field (e.g., "who does what and when") and multiple "list files" that list the titles and summaries of the detail files. These detail files and list files are each configured to be treated as a single chunk, which is a search unit in RAG. The detail files may be written in Markdown format. Using Markdown format clarifies the text structure and improves the accuracy of determining relevance to a query. For example, detail files are created and updated by experts (experts) in each field to describe information necessary for advice so that non-experts receiving on-the-job training (OJT) can understand and implement the advice. List files can be used to grasp the overall picture of the detail files included in a specific category or to present options and summaries in response to abstract queries from users. For example, a list file lists the titles of the detail files in a category. When a detailed file is added or modified, the list file can be updated or newly created automatically or by an administrator to reflect the contents of the detailed file.
[0035] Each information processing device, such as the terminal device 10, the server 20, the generation AI system 30, and the RAG database 40, may be configured by a computer 90 equipped with an arithmetic unit and a storage device. The basic hardware configuration of the computer 90 and the basic functional configuration of the computer 90 realized by the basic hardware configuration will be described later. Note that for each of the terminal device 10, the server 20, the generation AI system 30, and the RAG database 40, explanations that overlap with the basic hardware configuration and basic functional configuration of the computer 90 will be omitted.
[0036] <3. Configuration of terminal device> Fig. 2 is a block diagram showing an example of the functional configuration of the terminal device 10. As shown in Fig. 2, the terminal device 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 17, a microphone 171, a speaker 172, a camera 160, a position information sensor 150, a storage unit 180, and a control unit 190. The blocks included in the terminal device 10 are electrically connected by, for example, a bus or the like.
[0037] The communication unit 120 performs processing such as modulation and demodulation for the terminal device 10 to communicate with other devices. The communication unit 120 performs transmission processing on the signal generated by the control unit 190 and transmits it to the outside (for example, the server 20). The communication unit 120 performs reception processing on the signal received from the outside and outputs it to the control unit 190.
[0038] The input device 13 is a device for inputting instructions or information by a user operating the terminal device 10. The input device 13 is realized, for example, by a touch-sensitive device 131 or the like, which inputs instructions by touching an operation surface. When the terminal device 10 is a PC or the like, the input device 13 may be realized by a reader, keyboard, mouse, or the like. The input device 13 converts instructions input by the user into electrical signals and outputs the electrical signals to the control unit 190. The input device 13 may include, for example, a receiving port that receives electrical signals input from an external input device.
[0039] The output device 14 is a device for presenting information to a user operating the terminal device 10. The output device 14 is realized, for example, by a display 141 or the like. The display 141 displays data according to the control of the control unit 190. The display 141 is realized, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display or the like.
[0040] The audio processing unit 17 performs, for example, digital-to-analog conversion processing of an audio signal. The audio processing unit 17 converts a signal provided from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The audio processing unit 17 also provides the audio signal to the speaker 172. The audio processing unit 17 is realized, for example, by a processor for audio processing. The microphone 171 receives audio input and provides an audio signal corresponding to the audio input to the audio processing unit 17. The speaker 172 converts the audio signal provided from the audio processing unit 17 into audio and outputs the audio to the outside of the terminal device 10.
[0041] The camera 160 is a device that receives light with a light receiving element and outputs the light as an image capturing signal.
[0042] The position information sensor 150 is a sensor that detects the position of the terminal device 10, and is, for example, a GPS (Global Positioning System) module. The GPS module is a receiving device used in a satellite positioning system. In the satellite positioning system, signals are received from at least three or four satellites, and the current position of the terminal device 10 equipped with the GPS module is detected based on the received signals. The position information sensor 150 may detect the current position of the terminal device 10 from the position of the wireless base station to which the terminal device 10 is connected.
[0043] The storage unit 180 is realized by, for example, the memory 15, the storage 16, etc., and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, user information 181.
[0044] The user information 181 includes, for example, information about the user who uses the terminal device 10. The information about the user includes, for example, the user's name, age, address, date of birth, contact information, and the like.
[0045] The control unit 190 is realized by the processor 19 reading a program stored in the storage unit 180 and executing instructions included in the program. The control unit 190 controls the operation of the terminal device 10. The control unit 190 functions as an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193 by operating in accordance with the program.
[0046] The operation reception unit 191 performs processing for receiving instructions or information input from the input device 13. Specifically, for example, the operation reception unit 191 receives instructions or information such as a query input from the touch-sensitive device 131 or the like.
[0047] Furthermore, the operation reception unit 191 receives voice instructions input from the microphone 171. Specifically, for example, the operation reception unit 191 receives a voice signal that is input from the microphone 171 and converted into a digital signal by the voice processing unit 17.
[0048] The transmitting / receiving unit 192 performs processing for the terminal device 10 to transmit and receive data to and from an external device such as the server 20 in accordance with a communication protocol. Specifically, for example, the transmitting / receiving unit 192 transmits information input by a user or instructions from a user to the server 20. In addition, the transmitting / receiving unit 192 receives information provided by the server 20.
[0049] The presentation control unit 193 controls the output device 14 to present information provided from the server 20 to the user. Specifically, for example, the presentation control unit 193 causes information such as an answer to a query transmitted from the server 20 to be displayed on the display 141. In addition, the presentation control unit 193 causes the information transmitted from the server 20 to be output from the speaker 172.
[0050] <4. Server configuration> Fig. 3 is a block diagram showing an example of the configuration of the server 20 shown in Fig. 1. As shown in Fig. 3, the server 20 performs the functions of a communication unit 201, a storage unit 202, and a control unit 203.
[0051] The communication unit 201 performs processing for the server 20 to communicate with external devices, such as the terminal device 10 and the generation AI system 30.
[0052] The memory unit 202 is realized by the memory 25 and the storage 26, and stores data and programs used by the server 20. The programs include application programs for providing business support services. The memory unit 202 also stores, for example, an instruction statement table 2021. The instruction statement table 2021 stores standard instruction statements (instruction statement templates) used to generate prompts for the generation AI system 30, and templates that are output formats for answers generated by the LLM.
[0053] The control unit 203 is realized by the processor 29 reading a program stored in the storage unit 202 and executing instructions included in the program. The control unit 203 controls the operation of the server 20. By operating in accordance with the read program, the control unit 203 fulfills the functions of a reception control module 2031, a transmission control module 2032, a presentation control module 2033, a question processing module 2034, an operation reception module 2035, and a bonus information generation module 2036.
[0054] The reception control module 2031 controls the process of receiving signals from external devices by the server 20 in accordance with a communication protocol. For example, it executes the process of receiving a query input from the terminal device 10 and a response from the generation AI system 30.
[0055] The transmission control module 2032 controls the process of the server 20 transmitting signals to external devices in accordance with a communication protocol. For example, it executes processes to control the transmission of prompts and related information to the generation AI system 30 and the transmission of answers to the terminal device 10.
[0056] The presentation control module 2033 controls the process of presenting the answer, the query information to be fed back, or the reward information obtained from the generation AI system 30 to the terminal device 10 used by the user, the administrator's terminal, etc. Specifically, it performs a process of formatting the information to be presented into an appropriate display format and instructing it to be transmitted via the transmission control module 2032.
[0057] The question processing module 2034 performs a series of processes to search for information in chunks related to a query input from a user and generate an answer using the LLM.
[0058] The operation reception module 2035 executes a process for receiving a query input by a user.
[0059] The bonus information generation module 2036 executes a process for generating bonus information for the creator of the detailed file based on predetermined conditions.
[0060] <5. Data Structure> The data structure used in the first embodiment will be described. Note that the data structure described is an example and does not exclude data that is not described. Furthermore, even if data is expressed as the same table, it may be stored in physically separate storage areas.
[0061] Fig. 4 is a diagram showing an example of the data structure of the RAG database 40. The RAG database 40 shown in Fig. 4 has a data structure that uses a category as a key, for example, to associate identification information (file ID) of chunks belonging to that category with their storage areas. Specifically, it can be conceptualized as a management table having columns for "category," "file ID," and "storage area," for example.
[0062] The RAG database 40 itself stores multiple detailed files and list files, each created as a chunk, for each category. For example, let's consider a detailed file for a specific category called "Employee Information." One of the detailed files in this category is "Office Usage Rules." This "Office Usage Rules" file might contain, for example, "First Floor Usage," which describes available hours, days of the week, and important points. It might also contain, for example, "First Floor Entry / Exit and Key Management Rules," which specifically describe key usage, management, precautions during use, and things to check when leaving the room. In addition to "Office Usage Rules," the "Employee Information" category also contains detailed files for "Dress Code" and "Company Work Structure Strategy." In this case, the list file might contain bulleted lists of the titles of the detailed files in the "Employee Information" category, such as "Office Usage Rules," "Dress Code," and "Company Work Structure Strategy." The detailed files can be edited and updated as needed, for example, by experts or system administrators. When a detailed file is added or modified, the list file is updated or newly created based on the addition or modification.
[0063] The "Category" item is an item that stores unique identification information (e.g., category name, category code) for grouping individual detailed files and list files by specific category or function. In the example of Figure 4, this corresponds to "Category 1", "Category 2", etc.
[0064] The item "File ID" is an item that stores, for example, identification information (e.g., file name, unique ID) for uniquely identifying each detailed file or list file. In the example of Figure 4, "D0001", "D0005", "D0008", etc. correspond to the identification information of detailed files, and "L0001", etc. correspond to the identification information of list files.
[0065] The item "storage area" is an item that stores information indicating, for example, the area (for example, file path) where the detailed file identified by the item "detailed file ID" is actually stored.
[0066] 4 stores, for example, category information, identification information of each detailed file and list file belonging to that category, and their storage areas in association with each other. This makes it possible to efficiently identify the locations of multiple chunks related to an input query.
[0067] Fig. 5 is a diagram showing an example of the data structure of the instruction statement table 2021 that can be stored in the storage unit 202. As shown in Fig. 5, the instruction statement table 2021 can be configured as a table having columns of categories and instruction statements, with an instruction statement ID as a key, for example.
[0068] The instruction ID is an item that stores an identifier for uniquely identifying an instruction associated with each category. The category indicates the field of expertise or type of business to which the user's query relates. The instruction is an item that stores a template for an instruction to be incorporated into a prompt for the generative AI system 30. Specifically, the instruction is, for example, character string (text) information to be included in the prompt, and includes information on each part exemplified by role instructions, answer generation instructions, reference information specification, query information specification, and output format instructions. Note that the order in which this information is written is not particularly limited. The instruction does not need to include all of this information, and may include character strings other than these.
[0069] The role instruction includes text that specifies the role (position) of the LLM when generating the answer. For example, the role instruction includes a sentence that specifies the position of the LLM when generating the answer, such as "You are an expert in XX business."
[0070] The answer generation instructions include text that instructs the LLM on what answer to generate. As an example, the answer generation instructions may include, "Generate specific advice based on the reference information below and the user-entered query." The answer generation instructions may vary depending on the category with which they are associated.
[0071] The reference information specification includes instructions for the LLM to recognize and use chunks (contents of detail files and list files) extracted from the RAG database 40 that are entered at the prompt, or placeholders indicating where to insert the chunk data.
[0072] The query information specification includes instructions for the LLM to recognize and use the content of the original query from the user entered in the prompt, as well as placeholders indicating where to insert the query string.
[0073] Output format instructions include instructions regarding the output format (template), structure, style, or elements to be included in the response (e.g., conclusion, reasons, specific steps) of the response generated by the LLM.
[0074] <6. Operation> The operation of the information processing system in this embodiment will be described below with reference to a flowchart of FIG.
[0075] In step S11, the server 20 accepts input of a query relating to the question from the user. Specifically, for example, the operation acceptance module 2035 accepts a query entered by the user operating the terminal device 10. The query is text information including a problem the user wants to solve, content the user wants to know, instructions, etc. For example, an example of a query when a user is looking for a solution to a bug is "Please tell me how to deal with error code E001."
[0076] In step S12, the server 20 executes a search on the database using the received query and retrieves multiple chunks related to the query. Specifically, the question processing module 2034 executes a vector search and a text search in the RAG database 40 using, for example, the query received in step S11. The question processing module 2034 identifies related chunks by, for example, a hybrid search that combines a semantic search based on the similarity between the vector expression of the query and the vector expression of the chunk, and a text search based on the degree of correspondence between keywords included in the query and text in the chunk, and retrieves the related chunks from the RAG database 40.
[0077] In step S13, the server 20 sorts the multiple chunks read in step S12 based on their relevance to the query, narrowing down the chunks to be used as input to the generation AI system 30. Specifically, the question processing module 2034 calculates or acquires a relevance score with respect to the original query for each read chunk. This relevance score is an evaluation value calculated by combining, for example, a score indicating the similarity between the query and the chunk obtained by vector search and a score indicating the degree of keyword match obtained by text search, using a predetermined weighting or calculation formula. The question processing module 2034 determines that a chunk with a higher relevance score thus obtained is more relevant to the original query. The question processing module 2034 ranks the multiple chunks in descending order of relevance score, and extracts a predetermined number of chunks from the top, or chunks with relevance scores exceeding a predetermined threshold, as information to be input to the generation AI system 30.
[0078] In step S14, the server 20 creates a prompt to be input to the generation AI system 30. Specifically, the question processing module 2034 generates a prompt that includes, for example, an instruction statement to output an answer to the question to be input to the generation AI, and data including the chunk extracted in step S13 and the query accepted in step S11. The instruction statement may use a template obtained from the instruction statement table 2021 in the storage unit 202. For example, if the instruction statement is "Please respond based on the information below," and the data includes reference information (the extracted chunk) and query information (the accepted query), the prompt is constructed by combining these.
[0079] In step S15, the server 20 inputs the created prompt to the generation AI system 30, causing the generation AI system 30 to generate an answer corresponding to the prompt. Specifically, the question processing module 2034 inputs the prompt created in step S14 and the reference information, which is the content of the chunk extracted in step S13, into the LLM of the generation AI system 30, causing the LLM to generate an answer to the query. The generation AI system 30 generates an answer to the prompt based on the input prompt and reference information, and transmits it to the server 20. The reception control module 2031 receives this answer.
[0080] In step S16, the server 20 presents the answer obtained from the generation AI system 30 to the user. Specifically, the presentation control module 2033 generates information for displaying the answer obtained in step S15 on the screen of the terminal device 10 used by the user, and the transmission control module 2032 transmits the information to the terminal device 10. This allows the user to check the answer from the generation AI system 30.
[0081] [Chunk type control] Furthermore, when extracting and narrowing down chunks in steps S12 and S13, the question processing module 2034 may determine the degree of specificity of the query received in step S11. The question processing module 2034 determines the degree of specificity based on, for example, the technicality of keywords included in the query, the presence or absence of proper nouns, the question format, etc. The question processing module 2034 then controls the type of chunks to be extracted based on the determined degree of specificity. For example, when a user inputs an abstract, comprehensive query asking about a policy itself, such as "I don't know what to do about XX," the question processing module 2034 controls the extraction of a "list file" from among highly relevant chunks. The extracted list file is input to the generation AI system 30 in subsequent steps S14 and S15, and the generation AI system 30 generates an answer, such as a list of options or an explanation of the overall picture, based on the list file.
[0082] The server 20 may also use the extracted list file as the first step in performing multi-stage processing as an AI agent. Specifically, the question processing module 2034 first creates a prompt based on the contents of the extracted list file to cause the AI system 30 to generate an initial answer for presenting summary information, options, etc. to the user, and inputs the prompt to the AI system 30. The presentation control module 2033 presents the initial answer obtained from the AI system 30 to the user. The question processing module 2034 then internally generates a new search query to extract a specific detailed file based on the user's input in response to the initial answer or the AI system 30's determination that further detailed information is needed. The server 20 can then perform a multi-stage process of repeatedly querying the AI system 30 and searching the RAG database 40, such as searching the RAG database 40 again using a method similar to steps S12 and S13.
[0083] When determining the degree of specificity of the query content received in step S11, if the user inputs a query asking for specific and detailed content such as "I don't know the procedure for a specific XX," the question processing module 2034 performs control to preferentially select a "detailed file" from among highly relevant chunks. The extracted detailed file is input to the generation AI system 30 in a subsequent step, and the generation AI system 30 generates a specific answer based on the detailed file.
[0084] [Feedback Processing] In this embodiment, the process up to the step S16 in which the server 20 presents the user with an answer to the user's question has been mainly described. However, the server 20 may also perform a feedback process in which the server 20 receives an evaluation from the user of the presented answer, and if the evaluation satisfies a predetermined standard (e.g., a low evaluation), presents the original query corresponding to the evaluation to a system administrator or an expert who created the extracted chunk.
[0085] In this case, after presenting the answer in step S16, the server 20 receives answer evaluation information by the user transmitted from the terminal device 10. This process is executed by, for example, the reception control module 2031. The evaluation information may include, for example, a satisfaction score, a flag indicating a high or low evaluation, or an evaluation comment.
[0086] The question processing module 2034 determines whether the received rating information meets a preset criterion for determining a "low rating." Such criteria may include a specific low score, a low rating flag, or a comment containing a negative keyword. If the criteria are met, the question processing module 2034 identifies the answer with the low rating and the query entered by the user that generated the answer. The module then outputs the identified query and related answers and rating information to the administrator via the presentation control module 2033 or the transmission control module 2032. This allows the administrator to easily identify answers with low accuracy and consider measures to revise detailed files, etc.
[0087] [Benefit information generation process] In this embodiment, the server 20 presents an answer to a user's question. In this embodiment, the number of times a detailed file is extracted as a chunk may be stored, and a process may be performed to grant a reward to the creator of the detailed file according to the number of times.
[0088] The bonus information generation module 2036 performs processing to grant bonuses when instructed by an administrator or according to a preset schedule. The bonus information generation module 2036 controls the processing to generate and output information regarding the granting of bonuses to the creator of a detailed file based on the number of times the detailed file is extracted from the RAG database 40. When narrowing down the chunks in step S13, if the extracted chunk is a "detailed file," the question processing module 2034 identifies the detailed file and increments an extraction count counter stored in the storage unit 202 in association with the identified detailed file.
[0089] The reward information generation module 2036 first accesses the storage unit 202 and reads the latest extraction count counter and creator information associated with each detailed file. Next, the reward information generation module 2036 identifies detailed files to which rewards are to be granted and their creators based on the read extraction counts and in accordance with predetermined reward granting rules. Then, for each identified file, generate reward granting information including details of the reward to be granted. Finally, the reward information generation module 2036 passes the generated reward granting information to the transmission control module 2032 or the presentation control module 2033 for subsequent processing, such as linking to an external personnel evaluation system, displaying a report to an administrator, or notifying the creator. This series of processes allows incentives to be granted to creators who provide useful detailed files.
[0090] <7. Screen Examples> An example of a screen on the display 141 of the terminal device 10 in the present disclosure will be described.
[0091] FIG. 7 shows an example of a chat-style interface screen that displays a query input from a user and a response from the AI generation system 30.
[0092] Area 1411 is an area where a user inputs a query to the system and the content of the query is displayed. In the example of Figure 7, the query "Please tell me how to deal with error code E001" is input by the user and displayed.
[0093] Area 1412 is an area that displays an answer generated by the generation AI system 30 in response to the query displayed in area 1411. This answer is generated by the generation AI system 30, taking into consideration related information (chunks) extracted from the RAG database 40 based on the query. In the example of Figure 7, an explanatory text on how to deal with error code E001 is generated and displayed by the generation AI system 30.
[0094] Area 1413 is an interface area for receiving evaluation feedback from the user regarding the answer displayed in area 1412. In the example of FIG. 7, a question "Are you satisfied with the answer?" is displayed along with a "Satisfied" button and an "Unsatisfied" button. The user can input an evaluation of the presented answer into the system by selecting and operating one of the buttons. The evaluation information input here is sent to server 20 and used in the feedback processing described above. In particular, if "Unsatisfied" is selected, the corresponding query and extracted chunks are presented to an administrator or the like, and can be used to improve the files in RAG database 40, etc.
[0095] <8.Summary> As described above, in the above embodiment, the server 20 first performs a vector search and a text search on a database containing multiple detailed files and multiple list files, each of which is organized as a single chunk (a search unit), based on a query received from a user. The server then extracts the detailed files or list files related to the query as chunks. The server then generates a prompt for input to the generation AI, which includes an instruction statement for outputting an answer to the question and data containing the extracted chunks and the query. The prompt is then input to the generation AI system 30 to obtain an answer, which is then presented to the user. Extracting chunks on a file-by-file basis allows for the handling of semantically coherent information, such as specific action steps or category summaries, without segmentation, and provides the LLM with information highly relevant to the query. This allows appropriate advice to be output, even for users with little experience in a given field.
[0096] <Basic computer hardware configuration> 8 is a block diagram showing the basic hardware configuration of a computer 90. The computer 90 includes at least a processor 901, a main memory device 902, an auxiliary memory device 903, and a communication IF 991 (interface), which are electrically connected to one another by a communication bus 921.
[0097] The processor 901 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.
[0098] The main memory device 902 is used to temporarily store programs, data to be processed by the programs, etc. For example, it is a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0099] The auxiliary storage device 903 is a storage device for saving data and programs, such as a flash memory, a hard disk drive (HDD), a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory.
[0100] The communication IF 991 is an interface for inputting and outputting signals for communicating with other computers via a network using wired or wireless communication standards. The network is composed of the Internet, a LAN, various mobile communication systems constructed by wireless base stations, etc. For example, the network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks (e.g., Wi-Fi (registered trademark)) that can connect to the Internet via a predetermined access point. In the case of a wireless connection, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). In the case of a wired connection, the network also includes a direct connection using a USB (Universal Serial Bus) cable, etc.
[0101] It should be noted that the computer 90 can be virtually realized by distributing all or part of each hardware configuration across multiple computers 90 and interconnecting them via a network. In this way, the computer 90 is a concept that includes not only a computer 90 housed in a single housing or case, but also a virtualized computer system.
[0102] <Basic functional configuration of computer 90> The following describes the functional configuration of a computer realized by the basic hardware configuration (FIG. 8) of the computer 90. The computer includes at least the functional units of a control unit, a storage unit, and a communication unit.
[0103] The functional units of the computer 90 can also be realized by distributing all or part of the functional units among multiple computers 90 interconnected via a network. The computer 90 is a concept that includes not only a single computer 90 but also a virtualized computer system.
[0104] The control unit is realized by the processor 901 reading out various programs stored in the auxiliary storage device 903, expanding them in the main storage device 902, and executing processing in accordance with the programs. The control unit can realize functional units that perform various types of information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0105] The storage unit is realized by a main storage device 902 and an auxiliary storage device 903. The storage unit stores data, various programs, and various databases. Furthermore, the processor 901 can allocate a storage area corresponding to the storage unit in the main storage device 902 or the auxiliary storage device 903 in accordance with the programs. Furthermore, the control unit can cause the processor 901 to execute processes for adding, updating, and deleting data stored in the storage unit in accordance with the various programs.
[0106] A database refers to a relational database, which manages data sets called masters and tables in a tabular format structurally defined by rows and columns, by relating them to each other. In a database, a table is called a table, a master, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables and masters can be set and associated. Typically, each table and each master has a column set as a primary key to uniquely identify a record, but setting a primary key to a column is not essential. The control unit can cause the processor 901 to add, delete, or update records in specific tables and masters stored in the storage unit according to various programs. Furthermore, by storing data, various programs, and various databases in the storage unit, it can be considered that the information processing device and information processing system according to the present disclosure have been manufactured.
[0107] Note that the databases and masters in this disclosure may include any data structure (list, dictionary, associative array, object, etc.) in which information is structurally defined. The data structure also includes data that can be considered as a data structure by combining data with functions, classes, methods, etc. written in any programming language.
[0108] The communication unit is realized by the communication IF 991. The communication unit realizes a function of communicating with other computers 90 via a network. The communication unit can receive information transmitted from other computers 90 and input the information to the control unit. The control unit can cause the processor 901 to execute information processing on the received information in accordance with various programs. In addition, the communication unit can transmit information output from the control unit to other computers 90.
[0109] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tape, non-volatile memory cards, and ROMs.
[0110] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, and Java (registered trademark).
[0111] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or storage medium.
[0112] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes programs stored in memory. In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions. If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.
[0113] Although several embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions.
[0114] <9. Notes> The matters described in the above embodiments will be supplemented below.
[0115] (Appendix 1) A program for operating a computer including a processor and a memory, the program causing the processor to: receiving an input of a query regarding a question from a user; a step of performing a vector search and a text search on a database in which a plurality of detail files and a plurality of list files, each of which is created to constitute one chunk, are accumulated based on the received query, and extracting a plurality of chunks related to the query; generating a prompt to be input to a generation AI, the prompt including an instruction sentence for outputting an answer to the question content, and data including the extracted chunk and the query; inputting the created prompt into a generation AI and obtaining an answer corresponding to the prompt from the generation AI; and presenting the obtained answer to the user. (Appendix 2) The database includes: As the detailed file, information about a predetermined procedure is described, and a plurality of text files created for each predetermined category are stored; The program described in (Appendix 1), wherein the list file is a text file created for each category and containing a list of multiple detailed files included in that category. (Appendix 3) The program according to (Appendix 1) or (Appendix 2), wherein the details file is written in Markdown format. (Appendix 4) In the step of extracting the chunks, The program according to any one of (Appendix 1) to (Appendix 3), which ranks the extracted chunks based on their similarity to the query, and extracts a predetermined number of chunks from the top rankings. (Appendix 5) the processor, The program described in any one of (Appendix 1) to (Appendix 4), further comprising the step of accepting a rating from the user for the answer, and if the rating is low, presenting the query corresponding to the answer with the low rating to an administrator. (Appendix 6) A program described in any of (Appendix 1) to (Appendix 5), wherein when the detailed file is added or modified, the list file is updated or newly created based on the addition or modification. (Appendix 7) the processor, A program described in any of (Appendix 1) to (Appendix 6), further executing a step of storing the number of times the detailed file has been extracted as the chunk and outputting information to grant a bonus to the creator of the detailed file depending on the number of times. (Appendix 8) A program described in any one of (Appendix 1) to (Appendix 7), wherein in the step of extracting the chunks, the program controls so that the extracted chunks are at least one of the detailed file and the list file depending on the degree of specificity of the content of the query. (Appendix 9) An information processing device including a processor and a memory, An information processing device in which the processor executes all steps in the program according to any one of (Supplementary Note 1) to (Supplementary Note 8). (Appendix 10) 1. A computer-implemented method comprising a processor and a memory, the method comprising: A method in which the processor executes all steps in the program described in any one of (Appendix 1) to (Appendix 8). (Appendix 11) A system comprising means for executing all steps in the program described in any one of (Appendix 1) to (Appendix 8). [Explanation of symbols]
[0116] 1. System 10...Terminal device 120…Communications Department 13...Input device 14...Output device 15...Memory 16…Storage 19...Processor 20...Server 22...Communication IF 23...Input / output interface 25…Memory 26…Storage 29...Processor 30...Generative AI system 40...RAG database
Claims
1. A program for operating a computer including a processor and a memory, the program causing the processor to: receiving an input of a query regarding a question from a user; a step of performing a vector search and a text search on a database in which a plurality of detail files and a plurality of list files, each created to constitute one chunk, are accumulated based on the received query, and extracting a plurality of chunks related to the query, wherein the extracted chunks are controlled to be at least one of the detail files and the list files depending on the degree of specificity of the query content; generating a prompt for input to a generation AI, the prompt including an instruction sentence for outputting an answer to the question content, and data including the extracted chunk and the query; inputting the created prompt to a generation AI and obtaining an answer corresponding to the prompt from the generation AI; and presenting the obtained answer to the user.
2. The database includes: As the detailed file, information about a predetermined procedure is described, and a plurality of text files created for each predetermined category are stored; 2. The program according to claim 1, wherein the list file is a text file created for each of the categories and containing a list of the detailed files included in the category.
3. The program according to claim 1 , wherein the details file is written in Markdown format.
4. In the step of extracting the chunks, The program according to claim 1 , further comprising: ranking the extracted chunks based on their similarity to the query; and extracting a predetermined number of chunks from the top rankings.
5. the processor, The program according to claim 1 , further comprising the step of: accepting a rating from the user for the answer; and, if the rating is low, presenting the query corresponding to the answer with the low rating to an administrator.
6. 2. The program according to claim 1, wherein when the detailed file is added or modified, the list file is updated or newly created based on the addition or modification.
7. the processor, The program according to claim 1, further comprising a step of storing the number of times the detailed file has been extracted as the chunk, and outputting information for granting a bonus to the creator of the detailed file according to the number of times.
8. An information processing device including a processor and a memory, An information processing device, wherein the processor executes all steps of the program according to any one of claims 1 to 7.
9. 1. A computer-implemented method comprising a processor and a memory, the method comprising: A method in which the processor executes all the steps in the program of any one of claims 1 to 7.
10. A system comprising means for executing all steps of the program according to any one of claims 1 to 7.
Citation Information
Patent Citations
Knowledge base processing method and device, computer equipment, medium and program product
CN119903033A
Information processing device, information processing method, program, and recording medium
JP2025025519A