Information processing device, information processing method, and program related to an automated program generation system (semi-automated).

JP7898666B1Active Publication Date: 2026-08-03NISSAY INFORMATION TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NISSAY INFORMATION TECH CO LTD
Filing Date
2026-03-05
Publication Date
2026-08-03

AI Technical Summary

Benefits of technology

【0020】 本発明によれば、独自フレームワークや共通処理を全体的に理解することなく、高品質なプログラミングを迅速に行うことを可能とした情報処理システムを提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007898666000001_ABST
    Figure 0007898666000001_ABST
Patent Text Reader

Abstract

This system provides an information processing system that enables high-quality programming to be performed quickly without requiring a comprehensive understanding of proprietary frameworks or common processes. [Solution] The information processing device 100 includes a receiving unit 130 that receives a request statement regarding the generation of an insurance system, written in natural language; a division unit 140 that divides the content of the program to be generated included in the request statement into processing units; a search unit 150 that, for each search vector obtained by vectorizing the text divided into processing units, searches for the vector based on the similarity between the search vector and the vectorized information stored in the knowledge database (DB), and obtains the knowledge corresponding to the vector as a search result; an acquisition unit 160 that inputs the request statement and a prompt based on the knowledge retrieved by the search unit to the AI ​​server device and obtains a response statement from the AI ​​server device; and an output unit 170 that outputs the response statement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, an information processing method, and a program related to a program automatic generation system (semi-automation).

Background Art

[0002] Conventionally, systems have been developed to improve the efficiency of program creation.

[0003] For example, Patent Document 1 describes a program generation device that improves the efficiency of program creation by generating a program by replacing the target specification of a template parameter with a target part interpreted by a relative position starting from an element at the same position in the hierarchical structure of the template in which the parameter is described and the hierarchical structure of the parts list.

[0004] Also, for example, in an insurance system, extensive system development of various functions that are strict and highly accurate based on insurance product terms and legal regulations is required. Such system development is required to maintain long-term maintainability while promptly responding to function modifications in accordance with changes in laws and regulations.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] In order to maintain long-term maintainability, a system development with high maintainability has been carried out by constructing and defining an original framework and common processing.

[0007] However, a significant amount of time was required to fully understand the proprietary framework and common processes, and a considerable amount of experience was needed to quickly produce high-quality programming.

[0008] Therefore, the present invention aims to provide an information processing system that enables high-quality programming to be performed quickly without having to understand the proprietary framework or common processes as a whole. [Means for solving the problem]

[0009] An information processing device according to one aspect of this disclosure includes: a receiving unit that receives a request statement concerning the generation of an insurance system, written in natural language; a splitting unit that divides the content of the program to be generated included in the request statement into processing units; a search unit that, for each search vector obtained by vectorizing the text divided into processing units, searches for the vector based on the similarity between the search vector and the vectorized information stored in a knowledge database (DB), and obtains the knowledge corresponding to the vector as a search result; an acquisition unit that inputs the request statement and a prompt based on the knowledge retrieved by the search unit to an AI server device and obtains a response statement from the AI ​​server device; and an output unit that outputs the response statement.

[0010] According to this embodiment, the information processing device can acquire the knowledge necessary for program generation based on a program generation request written in natural language, using a knowledge database, and obtain program code that takes this knowledge into account. As a result, users can quickly perform high-quality programming without having to understand the entire proprietary framework or common processing.

[0011] In the above-described information processing device, the knowledge database has multiple knowledge databases, each storing data corresponding to a functional unit of system development. The search unit may select one or more knowledge databases to be searched from the multiple knowledge databases based on the information in the request statement. According to this embodiment, the information processing device can acquire knowledge with higher search accuracy regarding the program to be generated and acquire a high-quality program.

[0012] In the above-described information processing device, the knowledge database may include at least one knowledge database for storing knowledge information related to the guide for common processing, and another knowledge database for storing knowledge information related to the program code for common processing. According to this embodiment, the information processing device can consider all knowledge information stored in a distributed manner across each document without omission.

[0013] In the above-described information processing device, the retrieved knowledge may include at least one of the following: a common processing namespace, a class name, a method name, a method argument, or a method return value. According to this embodiment, the information processing device can obtain a highly effective program.

[0014] In the above-described information processing device, the knowledge database may be a conventional RAG, such as a knowledge vector database, or a graph-type RAG, such as a knowledge graph database. According to this embodiment, the information processing device can use a desired RAG depending on the context of program generation to acquire program code related to business specifications with high accuracy.

[0015] In the above-described information processing device, the knowledge database is a knowledge graph database which is a graph-type RAG, and the device further includes a construction unit that generates a knowledge graph based on data related to system development and stores it in the knowledge database. The construction unit generates vectors for the knowledge graph based on the generated knowledge graph and stores them in the knowledge graph vector storage area of ​​the knowledge database. The search unit searches for candidate vectors based on the similarity between the vectorized information stored in the knowledge graph vector storage area and the search vectors, and in addition to the knowledge corresponding to the candidate vectors, it may also obtain related information as a search result by referring to the relationship structure of the knowledge graph starting from the elements on the knowledge graph associated with the candidate vectors. According to this embodiment, the information processing device can retrieve the most optimal knowledge information without omission by considering the relationships between elements on the knowledge graph.

[0016] In the above-described information processing device, the construction unit may input part or all of the generated knowledge graph into an AI server device to obtain a summary of the knowledge graph written in natural language, and then vectorize the obtained summary and store it in a vector storage area for the graph. According to this embodiment, the information processing device can efficiently retrieve more optimal knowledge information by creating vectors that can search for the meaning, function, and flow of the entire graph and subgraphs, which cannot be captured by individual nodes or edges.

[0017] In the above-described information processing device, the search unit may retrieve knowledge using any of the following search methods: vector search, hybrid search, or semantic hybrid search. According to this embodiment, the information processing device can obtain program code related to business specifications with high accuracy using a desired search method depending on the context of program generation.

[0018] Other aspects of the present disclosure include a method in which an information processing device receives a request for program generation relating to an insurance system, written in natural language; divides the content of the program to be generated included in the request into processing units; for each search vector obtained by vectorizing the text divided into processing units, searches for the vector based on the similarity between the search vector and the vectorized information stored in a knowledge database (DB), and obtains the knowledge corresponding to the vector as a search result; inputs the request and a prompt based on the retrieved knowledge to an AI server device, obtains a response from the AI ​​server device, and outputs the response.

[0019] A program relating to another aspect of this disclosure causes one or more computers to perform the following processes: receiving a request for program generation relating to an insurance system, written in natural language; dividing the content of the program to be generated included in the request into processing units; for each search vector obtained by vectorizing the text divided into processing units, searching for the vector based on the similarity between the search vector and the vectorized information stored in a knowledge database (DB), and obtaining the knowledge corresponding to the vector as a search result; inputting the request and prompts based on the retrieved knowledge to an AI server device, obtaining a response from the AI ​​server device, and outputting the response. [Effects of the Invention]

[0020] According to the present invention, it is possible to provide an information processing system that enables high-quality programming to be performed quickly without having to understand the proprietary framework or common processes as a whole. [Brief explanation of the drawing]

[0021] [Figure 1] This is a schematic diagram illustrating the processing of an information processing system according to one embodiment of the present invention. [Figure 2] This is a diagram illustrating the configuration of an information processing system related to one embodiment of the present invention. [Figure 3]It is a diagram showing the configuration of a server device according to an embodiment of the present invention. [Figure 4] It is a diagram showing an example of a request sentence (a) according to an embodiment of the present invention and a text (b) obtained by dividing the content of the program to be generated included in the request sentence into processing units. [Figure 5] It is a diagram showing an example of a program generation instruction according to an embodiment of the present invention. [Figure 6] It is a flowchart showing the processing in a server device according to an embodiment of the present invention. [Figure 7] It is a diagram showing an example of the hardware configuration of an information processing device according to an embodiment of the present invention.

Mode for Carrying Out the Invention

[0022] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The same elements are denoted by the same reference numerals, and redundant explanations are omitted. Further, the following embodiments are examples for explaining the present invention, and the present invention is not intended to be limited only to those embodiments. Furthermore, the present invention can be variously modified without departing from the gist thereof.

[0023] <00001​​​​​​​​Furthermore, because system revisions and product revisions are carried out continuously, the terms and conditions and administrative procedures applicable to existing contracts (old contracts) and new contracts often differ for extended periods, and the processing logic based on the old terms and conditions is frequently retained.

[0026] Due to the circumstances surrounding the insurance system described above, the processing logic for insurance products inevitably becomes complex, resulting in a vast number of branches and deep hierarchical structures of logic depending on differences in policyholder attributes, product characteristics, product composition, contract generations, review methods, etc. As a result, when creating programs, it is easy to fail to identify or reference the processing logic that should be referenced, and mistakes in applying conditional branches or exception handling become common, making it difficult to determine the scope of impact. According to the information processing system 1 of this embodiment, it may be possible to solve these problems.

[0027] <Outline configuration of Information Processing System 1> Figure 1 is a schematic diagram illustrating the processing of an information processing system 1 according to one embodiment of the present invention. The information processing system 1 is configured by connecting a server device 100 and a user terminal device 200, as shown in the figure, so that they can communicate with each other via a network N.

[0028] The server device 100 is a server computer connected to the network N, and is configured to realize server functions by running a predetermined server program on that server computer. In this embodiment, as shown in Figure 1, when the server device 100 receives a request from a user for program generation written in natural language, it uses the knowledge database (DB) 10 as a Retrieval-Augmented Generation (RAG) to search for knowledge related to the request from the knowledge DB 10, and can provide the user's terminal device 200 with a response obtained from the AI ​​server device based on the request and the searched knowledge.

[0029] In this embodiment, an example of generating a program related to an insurance system is described, but the information processing system 1 can be used in examples of generating any other program.

[0030] Knowledge DB10 stores knowledge that has been morphologically analyzed and vectorized from information about proprietary frameworks and common processes used for system development, which are managed by company X, a company that develops insurance systems.

[0031] Terminal device 200 is a computer connected to network N and capable of accessing server device 100. It is configured to perform its functions by running a predetermined user terminal program on that computer. Users of terminal device 200 can send a request for program generation, written in natural language, to server device 100 via terminal device 200, and receive program code from server device 100 that takes into account a proprietary framework and common processing.

[0032] In this embodiment, the user is a programmer, but is not limited to a programmer; it may be any user. In this embodiment, an example is described in which a programmer user develops an insurance system using the terminal device 200.

[0033] Network N is a communication line or network related to information processing, including, for example, the internet or a LAN (local area network) built within a company. Its specific configuration is not particularly limited as long as it is configured to enable the transmission and reception of data between the server device 100 and the terminal device 200, and it does not matter whether it is wired or wireless.

[0034] Furthermore, network N may be composed of multiple types of communication lines and networks and various network devices. For example, network N may include base stations and wireless LAN access points (such as WiFi routers) wirelessly connected to terminal devices 200, a mobile communication network connected to base stations, telephone lines, cable television lines or optical communication lines or other public lines connected from access points via routers and modems, the Internet connected to server devices 100, and gateway devices connecting the mobile communication network and public lines to the Internet.

[0035] <Detailed configuration of Information Processing System 1> Next, with reference to Figure 2, the detailed configuration of the information processing system 1 of this embodiment will be described. The information processing system 1 includes a server device 100, a terminal device 200, and an LLM (Large Language Model) server device 300.

[0036] The terminal device 200 includes an input interface, an output interface, and a communication interface. The input interface is an interface for the terminal device 200 to receive input from the user. The input interface may be a touch panel, microphone, camera, keyboard, mouse, etc. The output interface is an interface for transmitting information to the user via images, sound, etc. The output interface may be a display (which may also function as a touch panel) and speaker, etc. The communication interface is an interface for enabling communication with other devices via the communication network N. The communication interface may be a wireless communication interface or a wired communication interface. The terminal device 200 may access services provided by the server device 100, for example, via a web browser, or it may access such services by installing dedicated software.

[0037] The LLM server device 300 is a device that provides services using LLM and is an example of an AI server device. LLM may be a deep learning model with hundreds of millions of parameters and trained on hundreds of gigabytes or more of natural language data. An example of LLM is gpt-4o. In one example, the LLM server device 300 provides services using LLM via an API (Application Programming Interface).

[0038] In one embodiment, the LLM server device 300 receives an instruction (which can also be called a prompt) from another device and returns a response to the other device in accordance with the instruction. In one example, the instruction and response are in text format.

[0039] In this embodiment, when the server device 100 receives a request for program generation written in natural language from the terminal device 200, it searches the knowledge DB 10 for knowledge related to the request, sends instructions to the LLM server device 300 based on the request and the retrieved knowledge, and receives a response.

[0040] For example, Knowledge DB10 stores knowledge obtained by morphological analysis and vectorization of information about proprietary frameworks and common processes used for system development, which are managed by company X, a company that develops insurance systems.

[0041] <Functional configuration of server device 100> Figure 3 shows the configuration of a server device according to one embodiment of the present invention. In Figure 3, only the necessary functional configuration is shown, assuming a single server device 100, but the server device 100 can also be configured as part of a multifunctional distributed system consisting of multiple computer systems.

[0042] The server device 100 includes a storage unit 110, a construction unit 120, a receiving unit 130, a division unit 140, a search unit 150, an acquisition unit 160, and an output unit 170. Each of the units shown in Figure 3 can be realized, for example, by using a storage area or by having a processor execute a program stored in the storage area.

[0043] In this embodiment, it is desirable that the storage unit 110 includes a RAG construction data storage unit 111, a knowledge vector storage unit 112, and a knowledge graph storage unit 113.

[0044] The RAG construction data storage unit 111 includes multiple RAG construction data databases, each storing data corresponding to a functional unit of system development. For example, the RAG construction data storage unit 111 includes RAG construction data database 111-1 which stores data on public pensions, RAG construction data database 111-2 which stores data on insurance products, RAG construction data database 111-3 which stores data on guides for proprietary frameworks and common processes, and RAG construction data database 111-4 which stores data on program code for proprietary frameworks and common processes. However, the RAG construction data storage unit 111 is not limited to these and may include program code, design documents, specifications, documents, log files, etc., as information on various insurance systems, premium calculation logic, insurance payment rules, insurance policy terms and conditions, or information on the Insurance Business Act.

[0045] The knowledge vector storage unit 112 includes multiple knowledge vector databases (DBs) that store data corresponding to each functional unit of system development. In this embodiment, the knowledge vector storage unit 112 stores multiple knowledge vector databases that correspond to the RAG construction data databases included in the RAG construction data storage unit 111. For example, the knowledge vector storage unit 112 includes knowledge vector DB 112-1 which stores knowledge information about public pensions, knowledge vector DB 112-2 which stores knowledge information about insurance products, knowledge vector DB 112-3 which stores knowledge information about guides for proprietary frameworks and common processes, and knowledge vector DB 112-4 which stores knowledge information about program code for proprietary frameworks and common processes.

[0046] A knowledge vector database is a traditional RAG (Random Aggregation Database), and it stores information that has been vectorized and embedded in a vector space. Therefore, a knowledge vector database is constructed as a database specifically designed for vector searches.

[0047] The knowledge graph storage unit 113 includes multiple knowledge graph databases and multiple knowledge graph vector databases (an example of a knowledge graph vector storage area) that store data corresponding to each functional unit of system development. In this embodiment, the knowledge graph storage unit 113 stores multiple knowledge graph databases and multiple knowledge graph vector databases that correspond to each of the RAG construction data databases included in the RAG construction data storage unit 111. For example, the knowledge graph storage unit 113 includes a knowledge graph database 113-1 that stores knowledge information about public pensions and a knowledge graph vector database related to the knowledge graph database 113-1, a knowledge graph database 113-2 that stores knowledge information about insurance products and a knowledge graph vector database related to the knowledge graph database 113-2, a knowledge graph database 113-3 that stores knowledge information about guides for proprietary frameworks and common processes and a knowledge graph vector database related to the knowledge graph database 113-3, a knowledge graph database 113-4 that stores knowledge information about program code for proprietary frameworks and common processes and a knowledge graph vector database related to the knowledge graph database 113-4, and so on.

[0048] A knowledge graph database is a graph-type RAG (Resource Aggregation Database), representing knowledge information and the relationships between pieces of knowledge as nodes and edges. By structuring the relationships between information and utilizing this structure for search and inference, knowledge graph databases enable cross-context searches across documents. A vector database for knowledge graphs will be discussed later.

[0049] The construction unit 120 constructs a knowledge database. In this embodiment, the construction unit 120 constructs a corresponding knowledge vector database and a knowledge graph database based on the RAG construction data database of the RAG construction data storage unit 111. The construction unit 120 uses an embedding model to perform morphological analysis on the information in the RAG construction data database, vectorize it, and embed it in a high-dimensional vector space to construct the knowledge vector database. The information embedding process uses a technique that maps data such as text and images to a vector space. Through the embedding process by the construction unit 120, words, sentences, and entire documents of text are converted into numerical vectors, and semantically similar words and documents are placed close together in the vector space.

[0050] Furthermore, the construction unit 120 extracts entities and relationships between entities from the RAG construction data DB, generates nodes and edges based on the extracted results to create a structured knowledge graph, and stores it in the knowledge graph DB. Any existing technology can be used for the knowledge graph generation process. In addition, the construction unit 120 generates vectors for the knowledge graph based on the generated knowledge graph and stores them in the knowledge graph vector DB. In one example, the construction unit 120 vectorizes information corresponding to the components of the graph, such as node information, edge information, document fragments (chunks), and subgraph descriptions, and stores them in the knowledge graph vector DB.

[0051] In one embodiment, the construction unit 120 may input part or all of the generated knowledge graph into the LLM to obtain a summary text written in natural language for the corresponding knowledge graph, vectorize the obtained summary text, and store it in a knowledge graph vector DB. The input knowledge graph may be the entire knowledge graph, a subgraph which is a part of the knowledge graph, or a node-level knowledge graph. In particular, by obtaining a summary text for the entire knowledge graph or a subgraph, and vectorizing the obtained summary text to use as a search target, it becomes possible to search for the meaning, function, and flow of the entire graph or subgraph, which cannot be captured by individual nodes or edges.

[0052] The receiving unit 130 receives a request statement regarding program generation, written in natural language, from the terminal device 200. In one example, the receiving unit 130 receives a request statement from the terminal device 200 as shown in Figure 4(a). In the example shown in Figure 4(a), the request statement includes the context of the request, the processing procedure of the program to be generated, the requirements, and the constraints. In this embodiment, it is specified that the common processing at company X will be used as a constraint.

[0053] In one embodiment, the receiving unit 130 receives search conditions for the knowledge database from the terminal device 200. In one example, the search conditions include a search method and a database to use. The search method is information that specifies the search method used by the search unit 150, which will be described later, and can be either a vector search, a hybrid search, or a semantic hybrid search. The database to use is information that specifies the database to be used by the search unit 150, and can be either a knowledge vector database or a knowledge graph database. Vector search allows for faster and more relevant results compared to conventional keyword search by evaluating the relationships between vectorized data. Hybrid search is a search method that combines keyword search and vector search, and is expected to yield highly accurate search results by complementing the advantages and disadvantages of both keyword search and vector search. Semantic hybrid search is a search method that combines keyword search, vector search, and semantic search, and is expected to yield highly accurate search results by scoring the semantic closeness between the search results obtained by hybrid search and the search query using a ranking model and sorting the search results obtained by hybrid search based on this score.

[0054] The division unit 140 divides the content of the program to be generated included in the request statement into processing units. In this embodiment, the division unit 140 divides the content of the program to be generated included in the request statement into processing units by inputting the content of the program to be generated into a machine learning model. In one example, the machine learning model is configured to learn training data that includes a combination of the text of the program and the text obtained by dividing the program into processing units. The machine learning model may be an LLM hosted on the LLM server device 300, or it may be a machine learning model that is not an LLM hosted on the server device 100.

[0055] In this embodiment, the splitting unit 140 inputs an instruction (hereinafter referred to as a "program splitting instruction") to the LLM that includes information for obtaining text divided into processing units based on the content of the program to be generated received by the receiving unit 130, thereby obtaining text divided into processing units as shown in Figure 4(b).

[0056] The search unit 150 retrieves knowledge based on vectorized information using a knowledge vector DB or a knowledge graph DB. In this embodiment, the search unit 150 retrieves knowledge using either a knowledge vector DB or a knowledge graph DB specified in the search condition usage DB received by the receiving unit 130. Here, as mentioned above, the knowledge vector DB consists of multiple knowledge vector DBs, each corresponding to a RAG construction data DB that stores data corresponding to each functional unit of system development. Similarly, as mentioned above, the knowledge graph DB consists of multiple knowledge graph DBs, each corresponding to a RAG construction data DB that stores data corresponding to each functional unit of system development. In this embodiment, based on the constraints of the request statement and the search condition usage DB, the search unit 150, in the example using a knowledge vector DB, selects one or more knowledge vector DBs to be searched from the multiple knowledge vector DBs and performs a search process on each selected knowledge vector DB.

[0057] Furthermore, the search unit 150, based on the constraints of the request and the database used for the search conditions, first selects one or more knowledge graph vector databases to be searched from among multiple knowledge graph vector databases, and then performs a search operation on each selected knowledge graph vector database.

[0058] In this embodiment, the search unit 150 obtains a search vector by performing morphological analysis on the text divided into processing units by the division unit 140 and vectorizing it, and searches for vectorized information based on the similarity between the search vector and the vectorized information stored in the knowledge vector DB or the knowledge graph vector DB. In this embodiment, the search unit 150 searches for the vector with the highest similarity to the search vector from the knowledge vector DB or the knowledge graph vector DB using the search method of the search conditions received by the receiving unit 130, and obtains the knowledge corresponding to this candidate vector as the search result. Furthermore, in the example using the knowledge graph DB, in addition to the knowledge corresponding to the candidate vector, the search unit 150 obtains related information obtained by referring to the relationship structure of the knowledge graph starting from the element on the knowledge graph associated with the candidate vector as the search result.

[0059] The acquisition unit 160 acquires a response from the LLM server device 300 based on the request and the knowledge retrieved by the search unit 150. In this embodiment, the acquisition unit 160 sends an instruction (hereinafter referred to as a "program generation instruction") containing information for acquiring program code (hereinafter referred to as a "program generation instruction") to the LLM server device 300 based on the request and the knowledge retrieved by the search unit 150, and receives a response containing program code as a response.

[0060] In one example, the acquisition unit 160 sends a program generation instruction to the LLM server device 300 as shown in Figure 5. In the example shown in Figure 5, the program generation instruction includes knowledge of common processing based on the knowledge retrieved by the search unit 150.

[0061] The output unit 170 outputs the response text obtained from the LLM server device 300 to the terminal device 200.

[0062] <Operation> Next, we will explain how the information processing system works. (Knowledge database construction process) As preparation for the program generation process described later, the server device 100 constructs a knowledge vector DB and a knowledge graph DB. In this embodiment, it is assumed that various data are stored in the RAG construction data storage unit 111 before the knowledge DB construction process starts.

[0063] The construction unit 120 of the server device 100 constructs the corresponding knowledge vector DB and knowledge graph DB based on the RAG construction data DB of the RAG construction data storage unit 111. In this embodiment, the construction unit 120 uses an embedding model to perform morphological analysis on the information in the RAG construction data DB, vectorize it, and embed it in a high-dimensional vector space to construct the knowledge vector DB. The information embedding process uses a technique that maps data such as text and images to a vector space. Through the embedding process by the construction unit 120, words, sentences, and entire documents of text are converted into numerical vectors, and semantically similar words and documents are placed close together in the vector space.

[0064] Furthermore, the construction unit 120 extracts entities and relationships between entities from the RAG construction data DB, generates nodes and edges based on the extracted results to create a structured knowledge graph, and stores it in the knowledge graph DB. Any existing technology can be used for the knowledge graph generation process. In addition, the construction unit 120 generates vectors for the knowledge graph based on the generated knowledge graph and stores them in the knowledge graph vector DB. In one example, the construction unit 120 vectorizes information corresponding to the components, such as node information, edge information, document fragments (chunks), and subgraph descriptions, and stores it in the knowledge graph vector DB. Also, the construction unit 120 inputs part or all of the generated knowledge graph into the LLM to obtain a summary written in natural language about the corresponding knowledge graph, vectorizes the obtained summary, and stores it in the knowledge graph vector DB. In this embodiment, the construction unit 120 inputs the entire knowledge graph and subgraphs into the LLM to obtain a summary written in natural language about the corresponding knowledge graph, vectorizes the obtained summary, and stores it in the knowledge graph vector DB.

[0065] (Program generation process) Figure 6 is a flowchart showing the processing in a server device according to one embodiment of the present invention. In this embodiment, it is assumed that various data are stored in the storage unit 110 before the processing shown in Figure 6 is started.

[0066] In this embodiment, we will describe an example in which User A, a programmer developing an insurance system, sends a request from a terminal device 200.

[0067] In step S101, the receiving unit 130 of the server device 100 receives a request statement regarding program generation, written in natural language, from the terminal device 200. Here, it is assumed that the receiving unit 130 receives a request statement from the terminal device 200 as shown in Figure 4(a). As shown in Figure 4(a), the request statement includes the context of the request, the processing procedure of the program to be generated, the requirements, and the constraints, and the constraints specify that the common processing at company X must be used.

[0068] In this embodiment, the receiving unit 130 also receives search conditions for the knowledge database from the terminal device 200. In this embodiment, the search conditions include the search method and the database to be used. Here, it is assumed that the receiving unit 130 receives search conditions specifying "Search method: Semantic hybrid search" and "Database to be used: Knowledge graph database".

[0069] In step S102, the splitting unit 140 of the server device 100 divides the content of the program to be generated included in the request into processing units. In this embodiment, the splitting unit 140 divides the content of the program to be generated included in the request into processing units by inputting the content of the program to be generated included in the request into a machine learning model. Here, the splitting unit 140 inputs an instruction (hereinafter referred to as a "program splitting instruction") to the LLM that contains information for obtaining text divided into processing units based on the content of the program to be generated received by the receiving unit 130, thereby obtaining text divided into processing units as shown in Figure 4(b).

[0070] In step S103, the search unit 150 of the server device 100 searches for knowledge from the knowledge DB based on vectorized information. Here, the search condition specifies a knowledge graph DB, and as mentioned above, the knowledge graph DB has multiple knowledge graph DBs, each corresponding to a RAG construction data DB that stores data corresponding to each functional unit of system development. In this embodiment, based on the constraints of the request statement, the search unit 150 first selects one or more knowledge graph vector DBs to be searched from the multiple knowledge graph vector DBs, and performs a search process on each selected knowledge graph vector DB. Here, based on the constraint of the request statement "Use the common processing at company X", the search unit 150 selects a knowledge graph vector DB associated with knowledge graph DB 113-3, which stores knowledge information about the guide for the proprietary framework and common processing, and a knowledge graph vector DB associated with knowledge graph DB 113-4, which stores knowledge information about the program code for the proprietary framework and common processing, from among the multiple knowledge graph DBs, and performs a search process on each selected knowledge graph vector DB.

[0071] In this embodiment, the search unit 150 obtains a search vector by performing morphological analysis on the text divided into processing units by the division unit 140 and vectorizing it, and searches for vectorized information based on the similarity between the search vector and the vectorized information stored in the knowledge graph vector DB. In this embodiment, the search unit 150 searches the knowledge graph vector DB for the vector with the highest similarity to the search vector using the search method of the search conditions received by the receiving unit 130, and obtains the knowledge corresponding to this candidate vector as a search result. Furthermore, in addition to the knowledge corresponding to the candidate vector, the search unit 150 obtains related information obtained by referring to the relationship structure of the knowledge graph starting from the element on the knowledge graph associated with the candidate vector as a search result. Here, the search unit 150 obtains four search vectors based on the text divided into processing units by the division unit 140, and uses semantic hybrid search to obtain the vector with the highest similarity to each search vector from each knowledge graph vector DB as a candidate vector, and obtains each piece of knowledge corresponding to the candidate vector and each piece of related information obtained by referring to the knowledge graph DB based on each candidate vector as search results.

[0072] In step S104, the acquisition unit 160 of the server device 100 acquires a response from the LLM server device 300 based on the request and the knowledge retrieved by the search unit 150. In this embodiment, the acquisition unit 160 sends an instruction (hereinafter referred to as a "program generation instruction") containing information for acquiring program code (hereinafter referred to as a "program generation instruction") to the LLM server device 300 based on the request and the knowledge retrieved by the search unit 150, and receives a response containing program code as a response.

[0073] Here, it is assumed that the acquisition unit 160 sends a program generation instruction to the LLM server device 300 as shown in Figure 5. As shown in Figure 5, the program generation instruction includes knowledge of common processing based on the knowledge retrieved by the search unit 150. In the example shown in Figure 5, it is shown that the namespace, class name, method name, method arguments and return values ​​of the common processing were retrieved as knowledge of common processing.

[0074] In step S105, the output unit 170 of the server device 100 outputs the response text obtained from the LLM server device 300 to the terminal device 200.

[0075] Furthermore, any existing technology can be used to associate elements of the knowledge graph database with vectors in the knowledge graph vector database.

[0076] <Hardware configuration of server device 100> Next, an example of the hardware configuration of the server device 100 will be described with reference to Figure 7. As shown in Figure 7, the server device 100 includes, for example, a processor 101, memory 102, storage device 103, input I / F unit 104, data I / F unit 105, communication I / F unit 106, and display device 107.

[0077] The processor 101 is a control unit that controls various processes in the server device 100 by executing a program stored in the memory 102.

[0078] Memory 102 is a storage medium such as RAM (Random Access Memory). Memory 102 temporarily stores the program code of the program executed by the processor 101, as well as data required during program execution.

[0079] The storage device 103 is a non-volatile storage medium such as a hard disk drive (HDD) or flash memory. The storage device 103 stores the operating system and various programs necessary to implement the above configurations.

[0080] The input interface unit 104 is a device for receiving input from the user. The input interface unit 104 can be, for example, a keyboard, mouse, touch panel, various sensors, or a wearable device. The input interface unit 104 may be connected to the server device 100 via an interface such as USB (Universal Serial Bus).

[0081] The data I / F unit 105 is a device for inputting data from outside the server device 100. The data I / F unit 105 is, for example, a drive device for reading data stored on various storage media. The data I / F unit 105 may be provided outside the server device 100. If the data I / F unit 105 is provided outside the server device 100, it is connected to the server device 100 via an interface such as USB.

[0082] The communication interface unit 106 is a device for performing data communication with external devices of the server device 100 via a network such as the Internet, either by wire or wireless connection. The communication interface unit 106 may be located outside the server device 100. If the communication interface unit 106 is located outside the server device 100, it is connected to the server device 100 via an interface such as USB.

[0083] The display device 107 is a device for displaying various types of information. The display device 107 may be, for example, a liquid crystal display, an organic EL (Electro-Luminescence) display, or a display for a wearable device. The display device 107 may be located outside the server device 100. If the display device 107 is located outside the server device 100, it is connected to the server device 100, for example, via a display cable. Furthermore, if a touch panel is used as the input I / F unit 104, the display device 107 may be integrated with the input I / F unit 104.

[0084] As described above, according to this embodiment, the server device 100 can obtain the knowledge necessary for program generation from the knowledge database based on a program generation request written in natural language, and obtain program code that takes this knowledge into account. Therefore, users can quickly perform high-quality programming without having to understand the entire proprietary framework or common processing. For example, in this invention, by constructing a knowledge database (vector database and knowledge graph database) that integrates specifications, existing program code, dependencies between existing program code, etc., different processing logics and calculation basis can be systematically and structured and associated according to contractor attributes, product characteristics, product configuration, contract generation, revision form, etc. This makes it possible to identify all calculation formulas, conditional branches, exception handling, and existing code to be referenced during program generation, and to automatically generate candidate implementation code in a way that ensures consistency with existing assets.

[0085] Furthermore, the server device 100 can obtain knowledge with higher search accuracy regarding the program to be generated and obtain a high-quality program by selecting one or more knowledge databases to be searched based on the information in the request statement from multiple knowledge databases that store data corresponding to each functional unit of system development.

[0086] Furthermore, the server device 100 is equipped with a knowledge database that stores knowledge information related to the guide for common processing, and a knowledge database that stores knowledge information related to the program code for common processing, so that knowledge information stored in a distributed manner across each document can be considered without omission.

[0087] Furthermore, the server device 100 can obtain a highly effective program by acquiring knowledge that includes at least one of the following: the namespace of the common processing, the class name, the method name, the method arguments, and the method return value.

[0088] Furthermore, the server device 100 is equipped with a conventional RAG, namely a knowledge vector DB, and a graph-type RAG, namely a knowledge graph DB. It also provides vector search, hybrid search, and semantic hybrid search as search methods. In this way, by enabling six types of searches using three search methods and two databases, the desired RAG search can be realized according to the context of program generation. [Explanation of Symbols]

[0089] 1...Information processing system, 100...Server device (information processing device), 101...Processor, 102...Memory, 103...Storage device, 104...Input I / F unit, 105...Data I / F unit, 106...Communication I / F unit, 107...Display device, 110...Storage unit, 111...RAG construction data storage unit, 112...Knowledge vector storage unit (knowledge DB), 113...Knowledge graph storage unit (knowledge DB), 120...Construction unit, 130...Receiver unit, 140...Divider unit, 150...Search unit, 160...Acquisition unit, 170...Output unit, 200...Terminal device, 300...LLM server device, N...Network

Claims

1. A receiving unit that receives a request for program generation related to an insurance system, written in natural language, A division unit that divides the contents of the program to be generated included in the above request statement into processing units, A search unit that, for each search vector obtained by vectorizing the text divided into the aforementioned processing units, searches for the vector based on the similarity between the search vector and the vectorized information stored in the knowledge database (DB), and obtains the knowledge corresponding to the vector as a search result. An acquisition unit inputs the aforementioned request text and a prompt based on the knowledge retrieved by the search unit to the AI ​​server device and obtains a response text from the AI ​​server device. Output unit that outputs the aforementioned response text An information processing device equipped with the following features.

2. The information processing apparatus according to claim 1, wherein the knowledge database has a plurality of knowledge databases that store data corresponding to each functional unit of system development, and the search unit selects one or more knowledge databases to be searched from the plurality of knowledge databases based on the information in the request statement.

3. The aforementioned knowledge database includes at least a knowledge database that stores knowledge information relating to the guide of common processing, and a knowledge database that stores knowledge information relating to the program code of common processing. The information processing apparatus according to claim 2.

4. The knowledge retrieved above includes at least one of the following: the namespace of the common process, the class name, the method name, the method arguments, or the method return value. The information processing apparatus according to claim 1 or 2.

5. The information processing apparatus according to claim 1 or 2, wherein the knowledge DB is a conventional RAG, which is a knowledge vector DB, or a graph-type RAG, which is a knowledge graph DB.

6. The aforementioned knowledge database is a knowledge graph database, which is a graph-type RAG. The system further comprises a construction unit that generates a knowledge graph based on data related to system development and stores it in the knowledge database. The construction unit generates a vector for the knowledge graph based on the generated knowledge graph and stores it in the knowledge graph vector storage area of ​​the knowledge DB. The information processing apparatus according to claim 5, wherein the search unit searches for candidate vectors based on the similarity between the vectorized information stored in the knowledge graph vector storage area and the search vector, and obtains related information as a search result, in addition to the knowledge corresponding to the candidate vector, by referring to the relational structure of the knowledge graph starting from the elements on the knowledge graph associated with the candidate vector.

7. The information processing apparatus according to claim 6, wherein the construction unit inputs part or all of the generated knowledge graph to the AI ​​server device to obtain a summary of the knowledge graph written in natural language, vectorizes the obtained summary and stores it in the vector storage area for the knowledge graph.

8. The search unit retrieves knowledge using one of the following search methods: vector search, hybrid search, or semantic hybrid search. The information processing apparatus according to claim 1 or 2.

9. Information processing device, Receiving a request for program generation related to an insurance system, written in natural language, The contents of the program to be generated, as included in the aforementioned request, are divided into processing units. For each search vector obtained by vectorizing the text divided into the aforementioned processing units, the vector is searched based on its similarity to the vectorized information stored in the knowledge database (DB), and the knowledge corresponding to that vector is obtained as a search result. The above request and the prompt based on the retrieved knowledge are input to the AI ​​server device, and the response is obtained from the AI ​​server device. Output the aforementioned response A method that includes this.

10. On one or more computers, A process for receiving a request for program generation related to an insurance system, written in natural language, The process involves dividing the contents of the program to be generated, as included in the aforementioned request statement, into processing units. The process involves vectorizing the text divided into the aforementioned processing units to obtain each search vector, searching for the vector based on its similarity to the vectorized information stored in the knowledge database (DB), and obtaining the knowledge corresponding to that vector as a search result. The process involves inputting the aforementioned request and the prompt based on the retrieved knowledge into the AI ​​server device, and obtaining a response from the AI ​​server device. The process of outputting the aforementioned response A program that executes the command.

11. A receiving unit that receives a request for program generation written in natural language, A division unit that divides the contents of the program to be generated included in the above request statement into processing units, A search unit that, for each search vector obtained by vectorizing the text divided into the aforementioned processing units, searches for the vector based on the similarity between the search vector and the vectorized information stored in the knowledge database (DB), and obtains the knowledge corresponding to the vector as a search result. An acquisition unit inputs the aforementioned request text and a prompt based on the knowledge retrieved by the search unit to the AI ​​server device and obtains a response text from the AI ​​server device. Output unit that outputs the aforementioned response text An information processing device equipped with the following features.