Information processing device, information processing method, and information processing program

The information processing apparatus addresses the challenge of accessing SDK and API information by generating implementation documents and answers using a language model, improving developer efficiency and convenience.

JP7830403B2Active Publication Date: 2026-03-16LY CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-09-20
Publication Date
2026-03-16

AI Technical Summary

Technical Problem

Users face challenges in finding and accessing relevant information within SDKs and APIs, necessitating a more efficient method for providing content that they wish to check regarding programs.

Method used

An information processing apparatus and method utilizing a language model to generate implementation documentation and answer information based on user input, reducing the burden of creating such documents and providing immediate responses to questions.

Benefits of technology

Facilitates the creation of implementation documents and answers to questions, enhancing user convenience and reducing the workload for developers by leveraging a language model to generate necessary information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007830403000001
    Figure 0007830403000001
  • Figure 0007830403000002
    Figure 0007830403000002
  • Figure 0007830403000003
    Figure 0007830403000003
Patent Text Reader

Abstract

To provide an information processing device, an information processing method, and an information processing program that support appropriate provision of a content that a user wants to check about a program.SOLUTION: An information processing device includes an acquisition unit and a generation unit. The acquisition unit obtains question information indicating a question about a program. The generation unit generates answer information indicating an answer to the question indicated by the question information which is obtained by the acquisition unit, by using a language model that generates and outputs information according to the input information.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] ,

[0006] , , , , , ,

[0005] , , ,

[0003] , , , , , ,

[0001] The present invention relates to an information processing apparatus, an information processing method, and an information processing program.

Background Art

[0002] Conventionally, for the purpose of enabling software developers to easily construct software such as applications, a development environment such as an SDK (Software Development Kit) has been provided.

Prior Art Document

Patent Document

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, for example, when there are items that a user wants to check in an SDK or the like, the user has to find the item to be checked after downloading the implementation document included in the SDK. Therefore, it is desired to appropriately provide the content that the user wants to check regarding the program.

[0005] The present application has been made in view of the above, and an object thereof is to provide an information processing apparatus, an information processing method, and an information processing program that can assist in appropriately providing the content that a user wants to check regarding a program.

Means for Solving the Problems

[0006] The information processing device according to the present invention comprises an acquisition unit and a generation unit. The acquisition unit acquires question information, which is information indicating a question about a program. The generation unit generates answer information, which is information indicating the answer to the question indicated by the question information acquired by the acquisition unit, using a language model that generates and outputs information according to the input information. [Effects of the Invention]

[0007] According to one embodiment, the program has the effect of providing appropriate support to enable users to confirm the information they wish to verify. [Brief explanation of the drawing]

[0008] [Figure 1] Figure 1 is a diagram illustrating the information processing according to the embodiment. [Figure 2] Figure 2 shows an example of the SDK document creation support function in the information processing device according to the embodiment. [Figure 3] Figure 3 shows an example of the API document creation support function in the information processing device according to the embodiment. [Figure 4] Figure 4 shows an example of the response function in the information processing device according to the embodiment. [Figure 5] Figure 5 shows an example of the configuration of an information processing system according to the embodiment. [Figure 6] Figure 6 shows an example of the configuration of an information processing device according to the embodiment. [Figure 7] Figure 7 shows an example of a user information table stored in the user information storage unit of the information processing device according to the embodiment. [Figure 8] Figure 8 shows an example of a question information table stored in the question answer information storage unit of the information processing device according to the embodiment. [Figure 9] Figure 9 shows an example of a response information table stored in the question and answer information storage unit of the information processing device according to the embodiment. [Figure 10]Figure 10 shows an example of a generation information table stored in the generation history storage unit of the information processing apparatus according to the embodiment. [Figure 11] Figure 11 shows an example of the configuration of the generation unit of the information processing apparatus according to the embodiment. [Figure 12] Figure 12 is a flowchart showing an example of information processing by the processing unit of the information processing device according to the embodiment. [Figure 13] Figure 13 is a flowchart showing an example of the first implementation document generation process by the processing unit of the information processing device according to the embodiment. [Figure 14] Figure 14 is a flowchart showing an example of the second implementation document generation process by the processing unit of the information processing device according to the embodiment. [Figure 15] Figure 15 is a flowchart showing an example of the response information generation process by the processing unit of the information processing device according to the embodiment. [Figure 16] Figure 16 is a flowchart showing an example of response processing by the processing unit of the information processing device according to the embodiment. [Figure 17] Figure 17 is a hardware configuration diagram showing an example of a computer that implements the functions of the information processing device according to the embodiment. [Modes for carrying out the invention]

[0009] The following describes in detail, with reference to the drawings, the embodiments for implementing the information processing apparatus, information processing method, and information processing program according to the present application (hereinafter referred to as "embodiments"). Note that these embodiments do not limit the information processing apparatus, information processing method, and information processing program according to the present application. Furthermore, each embodiment can be appropriately combined as long as the processing content is not inconsistent. Also, the same parts are denoted by the same reference numerals in each of the following embodiments, and redundant descriptions are omitted.

[0010] [1. An example of information processing] First, an example of the information processing according to the embodiment will be described using FIG. 1. FIG. 1 is a diagram for explaining the information processing according to the embodiment.

[0011] The information processing apparatus 1 shown in FIG. 1 is an information processing apparatus that cooperates with the terminal apparatuses 2 of each user U and provides various types of information to the user U online, and is realized by, for example, one or more servers or a cloud system. In the following, for convenience of explanation, the plurality of terminal apparatuses 2 will be described separately as the terminal apparatus 2A, the terminal apparatus 2B, and the terminal apparatus 2C.

[0012] In the description shown in FIG. 1, only one terminal apparatus 2A, one terminal apparatus 2B, and one terminal apparatus 2C are shown, but the information processing system includes a plurality of terminal apparatuses 2A, 2B, and 2C respectively. Hereinafter, the user U who uses the terminal apparatus 2A may be described as the user UA, the user U who uses the terminal apparatus 2B may be described as the user UB, and the user U who uses the terminal apparatus 2C may be described as the user UC.

[0013] The information processing apparatus 1 has various functions such as a function for creating an implementation document of an SDK (Software Development Kit), a function for creating an implementation document of an API (Application Programming Interface), and an answering function for answering questions regarding various programs including the SDK and the API.

[0014] [[ID=…]] The user UA is, for example, an SDK developer, the user UB is, for example, an API developer, and the user UC is, for example, a software developer, but is not limited to such examples.

[0015] The SDK is a set of development information for developing specific software such as a specific platform, a specific system, or a specific software application, and includes various types of information necessary for developing software. For example, the SDK includes the SDK itself and various documents.

[0016] The SDK itself may include, for example, test code and source code. Source code may include, but is not limited to, code for libraries, classes, methods, and other functions used in the implementation of specific software. The SDK may also include tools such as compilers, debuggers, and emulators.

[0017] Library code is, for example, code that implements a specific function. Library code includes program components such as classes, methods, other functions, constants, and variables, but is not limited to such examples; it simply includes code that implements a specific function.

[0018] Test code is, for example, code used by SDK users to verify whether methods, functions, etc., return the expected results when they implement their own code. For example, test code is provided for each library. Note that test code may be part of a test application (hereinafter sometimes referred to as a test app), or part of one such application.

[0019] Documentation includes, for example, implementation documentation that SDK users refer to when implementing SDK code into a specific application. Implementation documentation includes, but is not limited to, information describing the functionality of the SDK code (e.g., library functionality), information describing the implementation procedure for the SDK code (e.g., library implementation procedure), and sample code.

[0020] An API is an interface for exchanging information between software programs. Such an API defines the procedures and data formats for calling and using the functions and data of one software program from another. API code includes the API source code, API test code, etc. Note that the test code may be a test application, or a part of one.

[0021] The information processing device 1 comprises a storage unit 11 and a processing unit 12. In the information processing device 1, information on various SDKs, various APIs, various programs, related confluences, and development materials is stored in the storage unit 11, and the processing unit 12 performs functions such as creating SDK implementation documentation, creating API implementation documentation, and providing answers based on the information stored in the storage unit 11.

[0022] Related confluence is, for example, team collaboration software that provides various functions such as document and note sharing and project and task management. Development documentation includes, for example, documentation used during the development of SDKs and various APIs, and includes information such as meeting minutes between SDK developers and meeting minutes between API developers. The information and meeting minutes managed by related confluence include, for example, information that shows the background and policies of each code development.

[0023] The following sections will explain the SDK implementation documentation creation function, the API implementation documentation creation function, and the response function in that order.

[0024] [1.1. SDK Implementation Documentation Creation Function] A user UA, who is an SDK developer, can operate terminal device 2A to access information processing device 1 and use the SDK document creation support function in information processing device 1. Figure 2 shows an example of the SDK document creation support function in information processing device 1 according to this embodiment.

[0025] The SDK documentation creation support function assists in creating implementation documentation that SDK users refer to when implementing the SDK's core code into specific applications. Implementation documentation is the documentation that SDK users refer to when implementing the SDK's core code into specific applications.

[0026] Implementation documentation includes, for example, information on each function implemented by the target code, sample code, etc. For example, implementation documentation is a document that describes the overall overview of the target code, the items, content (description), and code of each function implemented by the target code, in the order of implementation, but is not limited to such examples.

[0027] The processing unit 12 of the information processing device 1 displays information on the terminal device 2A that shows a list of codes (e.g., test codes, libraries, classes, methods, and other functions) included in the SDK stored in the storage unit 11. The processing unit 12 can also display information on the terminal device 2A that shows a list of codes newly added to the SDK or codes modified in the SDK.

[0028] The user agent (UA) selects a target code from the list of codes displayed on terminal device 2A, which is the code to be included in the implementation document (step S1). As a result, target code identification information, which identifies the target code selected by the user agent (UA), is transmitted from terminal device 2A to information processing device 1.

[0029] The target code includes SDK test code and SDK source code. For example, the target code may include code that calls SDK functions in test code, the code that processes before and after such calls, libraries, classes, methods, and other functions in the source code, but is not limited to these examples; it may also include code within a range selected by the user agent.

[0030] The processing unit 12 of the information processing device 1 receives target code identification information transmitted from the terminal device 2A and extracts the target code identified by the target code identification information from the SDK stored in the storage unit 11 (step S2).

[0031] Next, the processing unit 12 of the information processing device 1 inputs the input information, including the target code obtained in step S2, to a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document containing information about the target code (step S3).

[0032] A language model is a model such as a transformer that has been trained to estimate and output the next token from an input sequence of tokens, and is also called a Large Language Model (LLM).

[0033] The language model resides in the internal memory unit or an external information processing unit and is independently created by the operator of information processing unit 1. Furthermore, by training the input information so that it is not used as a new response (output), personal information and other sensitive data can be kept confidential.

[0034] The processing unit 12, for example, uses an API provided by a service provider that offers language model services to input input information to the language model and obtain information generated by the language model. However, the information processing device 1 may also be configured to include the language model.

[0035] The processing unit 12 receives input information, for example, that includes the target code obtained in step S2 and instruction information, which is information indicating instructions for outputting implementation documentation for the target code, and causes the language model to generate implementation documentation containing information about the target code. The instruction information is an example of information indicating instructions for outputting information about the target code.

[0036] Instructional information includes, for example, information specifying the format of the implementation documentation. The format of the implementation documentation includes, for example, information identifying multiple elements that make up the implementation documentation, information indicating the arrangement order of the multiple elements, and information defining the content of each element. Elements that make up the implementation documentation include, but are not limited to, the functionality of the target code, the procedures and methods for implementing the target code, and sample code.

[0037] Instructional information includes, for example, information that identifies the format of the implementation document, and information that identifies the type of format of the implementation document. Information that identifies the type of format is, for example, information that indicates the type of format or information that indicates the content of the type of format (e.g., format structure or format examples). Examples of implementation document format types include demo format, tutorial format, reference format, and use case format.

[0038] A demo format is a format in which an overview of the target code is written at the beginning, followed by a recurring pattern of sets of a few lines of explanation and the code itself. These sets of a few lines of explanation and the code may include, for example, code that is required to be implemented within the test code, along with an explanation of that code.

[0039] The tutorial format is designed so that essential functions are covered if you read through from the beginning. It also features test code where multiple essential code snippets are placed next to each other, with a high degree of relevance. For example, the code for ad requests and the code for displaying ads are placed next to each other.

[0040] The reference format is a format that comprehensively describes multiple functions of the target code. For example, it includes not only several code entries that are mandatory to implement in the test code, but also code entries that are optional to implement, and each code entry is arranged according to its function.

[0041] The use case format is a format that explains implementations for each purpose, such as wanting to retrieve and display advertisements or measure the effectiveness of advertisements. This allows the user agent (UA) to perform the necessary implementations based on their desired objectives, improving user convenience in situations where the search function is ineffective due to a large number of features.

[0042] The processing unit 12 takes as input information information, for example, the string "Please create the implementation document for the following code in the format specified below." (an example of instruction information), the target code obtained in step S2, and information specifying the format of the implementation document, and causes the language model to generate the implementation document.

[0043] Alternatively, the language model may be generated by performing transfer learning on a pre-trained language model using training information that includes predetermined unit codes and implementation documents containing information about those codes. Such transfer learning is also called fine-tuning, for example. The implementation documents in the training information can be used, for example, as labels.

[0044] Code in predetermined units includes, for example, code from other SDKs or code with Javadoc comments. If the code in predetermined units is code with Javadoc comments, then the information about the code is, for example, the Javadoc comments.

[0045] When using a language model that has undergone transfer learning in this manner, the processing unit 12 can, for example, cause the language model to generate implementation documentation using information including the target code obtained in step S2 as input information, without using instruction information. In this case as well, the string "Please create implementation documentation for the following code." (an example of instruction information) may be included in the input information.

[0046] Furthermore, the processing unit 12 can cause the language model to generate implementation documentation for the target code without performing transfer learning of the language model. For example, the processing unit 12 can cause the language model to generate implementation documentation by taking information including the target code, other implementation documentation which is implementation documentation for other code different from the target code, and instruction information as input information.

[0047] For example, the processing unit 12 uses the information including the string "Please create the implementation document for the following code by referring to the implementation document below." (an example of instruction information), the target code obtained in step S2, and other implementation documents as input information to cause the language model to generate the implementation document.

[0048] Other implementation documentation may include, for example, implementation documentation for the code of other SDKs, implementation documentation previously generated by language models, or implementation documentation generated by Javadoc, but it may also be the implementation documentation for the code of the target SDK.

[0049] Furthermore, the processing unit 12 can also cause the language model to generate an implementation document by taking information that includes code corresponding to other implementation documents as input information. In this case, the code corresponding to other implementation documents and the other implementation documents are used as examples of input and output for learning so-called temporary memory in the language model.

[0050] The processing unit 12 takes information as input to input the language model, for example, the information of the string "<Input Example>", the code corresponding to other implementation documents, the information of the string "<Output Example>", other implementation documents, the information of the string "Please create an implementation document for the following code referring to the example above." (an example of instruction information), and the target code.

[0051] Furthermore, the processing unit 12 generates implementation documentation for the language model using information including commented source code as input information for the target code, but it can also generate implementation documentation for the language model using information including code without comments as input information.

[0052] Furthermore, the processing unit 12 can also cause the language model to generate implementation documentation by taking information that further includes information from the development documentation of the target code (for example, documentation related to the target API and development documentation for the target code) as input information.

[0053] Note that the instruction information is not limited to the examples above, but can be anything that causes the language model to appropriately generate implementation documentation. Also, if the language model is one that can input system prompts and user prompts separately (for example, OpenAI's gpt-3.5 or gpt-4), the instruction information may be included in the input information as a system prompt. A system prompt is represented, for example, by {"role":"system", "content":prompt}. The prompt is a system prompt and is represented as text information.

[0054] Furthermore, if the language model is one that allows input to be divided into system prompts, user prompts, and assistant prompts (for example, OpenAI's gpt-3.5 or gpt-4), the processing unit 12 can also include information in the user prompt and assistant prompt that illustrates the above-mentioned input and output examples in the input information.

[0055] Furthermore, the processing unit 12 can, for example, cause the language model to generate a task for generating implementation documentation for the target code, and then input the result of this task into the language model to generate the implementation documentation for the target code.

[0056] For example, the processing unit 12 can input information including the string "Please tell me the information necessary to generate the implementation documentation for the following code." (an example of instruction information) and the target code into the language model as input information, thereby causing the language model to generate specific information that identifies the information necessary to generate the implementation documentation for the target code.

[0057] In this case, the processing unit 12 collects information identified by the specific information output from the language model from the storage unit 11 or an external information processing device. The information identified by the specific information may include, for example, code different from the target code, or other implementation documents that are implementation documents for code different from the target code. For example, the processing unit 12 can use information including the information identified by the specific information and the target code as input information to cause the language model to generate an implementation document for the target code.

[0058] In this way, the processing unit 12 can, for example, input input information including the target code into the language model and cause the language model to generate implementation documentation for the target code. Note that the input information to be input into the language model is not limited to the example described above; it is sufficient to cause the language model to generate implementation documentation for the target code.

[0059] Next, the processing unit 12 of the information processing device 1 stores the implementation document generated in step S3 in the storage unit 11 (step S4). In step S4, the processing unit 12 incorporates the implementation document generated in step S3 into the SDK by, for example, associating it with the target code and storing it in the storage unit 11. As a result, the information processing device 1 can significantly reduce the burden of creating implementation documents for SDK development engineers.

[0060] Furthermore, the processing unit 12 of the information processing device 1 can also display the implementation document generated in step S3 in an editable format on the user UA's terminal device 2A before incorporating it into the SDK. The user UA can modify the implementation document generated in step S3 by operating the terminal device 2A, and then have the processing unit 12 execute the process of incorporating the modified implementation document into the SDK.

[0061] Furthermore, in the example described above, the target code is selected by the user agent (UA), but the target code may also be selected by the processing unit 12 of the information processing device 1. For example, the processing unit 12 can select newly generated code or modified code as the target code.

[0062] In this way, the information processing device 1 acquires the target code, which is included in the SDK and is the code that will be the subject of the implementation documentation. It then inputs the acquired target code into a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document that includes information about the target code. This reduces the burden on the information processing device 1 to create implementation documentation for the code included in the SDK.

[0063] [1.2. API Implementation Documentation Creation Function] User UB, who is an API developer, can operate terminal device 2B to access information processing device 1 and use the API document creation support function in information processing device 1. Figure 3 shows an example of the API document creation support function in information processing device 1 according to this embodiment.

[0064] The API documentation creation support function assists in creating implementation documentation that API users refer to when implementing API code into specific applications. Implementation documentation is the documentation that API users refer to when implementing API code into specific applications.

[0065] Implementation documentation includes, for example, information on each function implemented by the target API, sample code, etc. For example, implementation documentation is a document that describes the overall overview of the API, the items, content (description), and code of each function implemented by the API, in the order of implementation, but is not limited to such examples.

[0066] The processing unit 12 of the information processing device 1 displays information on the terminal device 2B that shows a list of APIs stored in the storage unit 11. The processing unit 12 can also display information on the terminal device 2B that shows a list of newly added APIs or modified APIs.

[0067] The user UB selects the API to be included in the implementation document from the list of APIs displayed on terminal device 2B (step S11). As a result, API identification information, which identifies the API selected by the user UB, is sent from terminal device 2B to information processing device 1. In the following, the API identified by the API identification information may be referred to as the target API.

[0068] The processing unit 12 of the information processing device 1 receives API identification information transmitted from the terminal device 2B and extracts the code of the target API identified by the API identification information from among the multiple API codes stored in the storage unit 11 as the target code (step S12).

[0069] The API code extracted in step S12 may be, for example, API test code or API source code. The target code may also be code selected by the user UB from the target API code.

[0070] Next, the processing unit 12 of the information processing device 1 inputs the input information, including the target code obtained in step S12, to a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document containing information about the target code (step S13).

[0071] A language model is a model such as a transformer that has been trained to predict and output the next token from an input sequence of tokens, and is also called a large-scale language model.

[0072] The language model resides in the internal memory unit or an external information processing unit and is independently created by the operator of information processing unit 1. Furthermore, by training the input information so that it is not used as a new response (output), personal information and other sensitive data can be kept confidential.

[0073] The processing unit 12, for example, uses an API provided by a service provider that offers language model services to input input information to the language model and obtain information generated by the language model. However, the information processing device 1 may also be configured to include the language model.

[0074] The processing unit 12 receives input information, for example, the target code obtained in step S12 and instruction information, which is information indicating instructions for outputting implementation documentation for the target code, and causes the language model to generate implementation documentation containing information about the target code. The instruction information is an example of information indicating instructions for outputting information about the target code.

[0075] Instructional information includes, for example, information specifying the format of the implementation documentation. The format of the implementation documentation includes, for example, information identifying multiple elements that make up the implementation documentation, information indicating the arrangement order of the multiple elements, and information defining the content of each element. Elements that make up the implementation documentation include, but are not limited to, the functionality of the target code, the procedures and methods for implementing the target code, and sample code.

[0076] Instructional information includes, for example, information that identifies the format of the implementation document, and information that identifies the type of format of the implementation document. Information that identifies the type of format is, for example, information that indicates the type of format or information that indicates the content of the type of format (e.g., format structure or format examples). Examples of implementation document format types include demo format, tutorial format, reference format, and use case format.

[0077] A demo format is a format in which an overview of the target code is written at the beginning, followed by a recurring pattern of sets of a few lines of explanation and the code itself. These sets of a few lines of explanation and the code may include, for example, code that is required to be implemented within the test code, along with an explanation of that code.

[0078] The tutorial format is designed so that essential functions are covered if you read through from the beginning. It also features test code where multiple essential code snippets are placed next to each other, with a high degree of relevance. For example, the code for ad requests and the code for displaying ads are placed next to each other.

[0079] The reference format is a format that comprehensively describes multiple functions of the target code. For example, it includes not only several code entries that are mandatory to implement in the test code, but also code entries that are optional to implement, and each code entry is arranged according to its function.

[0080] The use case format, for example, describes implementations for each purpose, listing items, explanations, and code for each purpose. This allows users to perform the necessary implementations based on their desired objectives, improving user convenience when there are many features and search functions are ineffective.

[0081] The processing unit 12 takes as input information information, for example, the string "Please create the implementation document for the following code in the format specified below." (an example of instruction information), the target code obtained in step S12, and information specifying the format of the implementation document, and causes the language model to generate the implementation document.

[0082] Alternatively, the language model may be generated by performing transfer learning on a pre-trained language model using training information that includes code from other APIs and implementation documentation containing information about that code. Such transfer learning is also known as fine-tuning. The implementation documentation in the training information can be used, for example, as labels.

[0083] When using a language model that has undergone transfer learning in this manner, the processing unit 12 can, for example, cause the language model to generate an implementation document using information including the target code obtained in step S12 as input information, without using instruction information. In this case as well, the string "Please create an implementation document for the following code." (an example of instruction information) may be included in the input information.

[0084] Furthermore, the processing unit 12 can cause the language model to generate implementation documentation for the target code without performing transfer learning of the language model. For example, the processing unit 12 uses information including the target code obtained in step S12, other implementation documents which are implementation documents for other APIs, and instruction information as input information to cause the language model to generate implementation documentation.

[0085] For example, the processing unit 12 uses the information including the string "Please create the implementation document for the following code by referring to the implementation document below," the target code obtained in step S12, and other implementation documents as input information to cause the language model to generate the implementation document.

[0086] Other implementation documentation may include, but is not limited to, implementation documentation for APIs other than the target API, implementation documentation created by API engineers, or implementation documentation previously generated by language models.

[0087] Furthermore, the processing unit 12 can also cause the language model to generate an implementation document by taking as input information information that includes, in addition to other implementation documents, the code of other APIs corresponding to those other implementation documents. In this case, the other implementation documents and the code of other APIs corresponding to those other implementation documents are used as examples of input and output for learning so-called temporary memory in the language model.

[0088] The processing unit 12 takes information as input to the language model, for example, including the string "<Input Example>", the code of other APIs corresponding to other implementation documents, the string "<Output Example>", other implementation documents, the string "Please create an implementation document for the following code referring to the example above." (an example of instruction information), and the target code.

[0089] Furthermore, the processing unit 12 generates implementation documentation for the language model using information including commented source code as input information for the target code, but it can also generate implementation documentation for the language model using information including code without comments as input information.

[0090] Furthermore, the processing unit 12 can also cause the language model to generate implementation documentation by taking information that further includes information from the development documentation of the target API (for example, documentation related to the target API and development documentation for the target API) as input information.

[0091] Note that the instruction information is not limited to the examples above, but can be anything that causes the language model to appropriately generate implementation documentation. Also, if the language model is one that can input system prompts and user prompts separately (for example, OpenAI's gpt-3.5 or gpt-4), the instruction information may be included in the input information as a system prompt. A system prompt is represented, for example, by {"role":"system", "content":prompt}. The prompt is a system prompt and is represented as text information.

[0092] Furthermore, if the language model is one that allows input to be divided into system prompts, user prompts, and assistant prompts (for example, OpenAI's gpt-3.5 or gpt-4), the processing unit 12 can also include information in the user prompt and assistant prompt that illustrates the above-mentioned input and output examples in the input information.

[0093] Furthermore, the processing unit 12 can, for example, cause the language model to generate a task for generating implementation documentation for the target code, and then input the result of this task into the language model to generate the implementation documentation for the target code.

[0094] For example, the processing unit 12 can input information including the string "Please tell me the information necessary to generate the implementation documentation for the following code." (an example of instruction information) and the target code into the language model as input information, thereby causing the language model to generate specific information that identifies the information necessary to generate the implementation documentation for the target code.

[0095] In this case, the processing unit 12 collects information identified by the specific information output from the language model from the storage unit 11 or an external information processing device. The information identified by the specific information may include, for example, code different from the target code, or other implementation documents that are implementation documents for such code. For example, the processing unit 12 can use information including the information identified by the specific information and the target code as input information to cause the language model to generate an implementation document for the target code.

[0096] In this way, the processing unit 12 can, for example, input input information including the target code into the language model and cause the language model to generate implementation documentation for the target code. Note that the input information to be input into the language model is not limited to the example described above; it is sufficient to cause the language model to generate implementation documentation for the target code.

[0097] Next, the processing unit 12 of the information processing device 1 stores the implementation document generated in step S13 in the storage unit 11 (step S14). This allows the information processing device 1 to significantly reduce the burden on API development engineers in creating implementation documents.

[0098] Furthermore, the processing unit 12 of the information processing device 1 can also display the implementation document generated in step S13 in an editable format on the user UB's terminal device 2B before storing it in the storage unit 11. The user UB can modify the implementation document generated in step S13 by operating the terminal device 2B, and then have the processing unit 12 execute the process of storing the modified implementation document in the storage unit 11.

[0099] Furthermore, in the example described above, the target API is selected by the user UB, but the target API may also be selected by the processing unit 12 of the information processing device 1. For example, the processing unit 12 can select as target APIs APIs for which implementation documentation has not been created, APIs containing newly generated code or modified code, etc.

[0100] In this way, the information processing device 1 obtains the target code, which is the code of the API that is the subject of the implementation document, and inputs the input information, including the obtained target code, to a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document that includes information about the target code. As a result, the information processing device 1 can reduce the burden of creating the API implementation document.

[0101] [1.3. Function to answer questions about the program] The user UC, who is a software developer, can access the information processing device 1 by operating the terminal device 2C and utilize the response function in the information processing device 1. Figure 4 shows an example of the response function in the information processing device 1 according to this embodiment.

[0102] The storage unit 11 of the information processing device 1 stores question information, which is information indicating a question, and answer information, which is information indicating the answer to the question, linked together. The question information is stored in a vectorized format.

[0103] The vectorization of question information is performed, for example, by embedding using a language model (e.g., a transformer-based model). The vectorized question information can be represented as a vector with hundreds of dimensions, for example, but is not limited to such examples.

[0104] Language model-based embeddings include, but are not limited to, embeddings using, for example, text-embedding-ada provided by OpenAI®, Inc., or BERT (Bidirectional Encoder Representations from Transformers).

[0105] Furthermore, the vectorization of question information is not limited to embedding using language models; for example, it may also be performed using methods such as Doc2Vec or averaging word embeddings. For word embedding, for example, Word2Vec or fastText can be used.

[0106] In the information processing device 1, the storage unit 11 contains a set of question information and answer information for each question, and at least a portion of this information is generated by the processing unit 12 and stored in the storage unit 11. The processing by the processing unit 12 will be described in detail below.

[0107] First, the processing unit 12 of the information processing device 1 extracts code in predetermined units from the SDK, API, and related confluences stored in the storage unit 11 (step S20). The predetermined units of code are, for example, library-unit code, class-unit code, method-unit code, or other function-unit code, but are not limited to these examples.

[0108] Next, the processing unit 12 of the information processing device 1 acquires question information, which is information indicating a question about the program (step S21). The questions about the program are questions related to predetermined unit codes acquired in step S1. For example, if a user UC asks a question, it is a question that the operator of the information processing device 1 has anticipated, and if a user UC asks a question, it is a question that the users UA and UB have anticipated.

[0109] If the operator of the information processing device 1 operates an unillustrated terminal device and inputs information indicating a program question that user UC is expected to ask about regarding a predetermined unit code extracted in step S20, such information indicating the question is acquired as question information from the unillustrated terminal device by the processing unit 12.

[0110] Furthermore, if user UA operates terminal device 2A and inputs information indicating a question about the SDK that user UC is expected to ask regarding a predetermined unit code extracted in step S20, such question information is acquired from terminal device 2A by processing unit 12 as question information.

[0111] Furthermore, if user UB operates terminal device 2B and inputs information indicating a question about an API that user UC is expected to ask about regarding a predetermined unit code extracted in step S20, such question information is acquired from terminal device 2B by processing unit 12 as question information.

[0112] Furthermore, the processing unit 12 can cause a language model to generate information about questions related to predetermined unit codes obtained in step S1, and can also obtain such information about questions from the language model. The language model is, for example, a transformer model trained to estimate and output the next token from an input sequence of tokens, but is not limited to such examples.

[0113] For example, the processing unit 12 receives input information that includes a predetermined unit code extracted in step S20 and instruction information, which is information indicating instructions for outputting information indicating a question expected for that code, and performs a process for each predetermined unit code to cause the language model to generate information indicating a question about the predetermined unit code.

[0114] For example, the processing unit 12 takes as input information the string "Please tell us what questions you might have regarding the following codes." (an example of instruction information) and the codes of predetermined units extracted in step S20, and causes the language model to generate information indicating questions regarding the codes of predetermined units.

[0115] The language model may also be generated by performing transfer learning on a pre-trained language model using training information that includes combinations of past question and answer information for each question. The combinations of past question and answer information are different from the information stored in the memory unit 11, but are not limited to combinations of past question and answer information in SDKs, APIs, and related confluences.

[0116] For example, if the processing unit 12 has combinations of past question information and answer information for codes stored in the memory unit 11, it can use such combinations as part or all of the learning information.

[0117] When using a language model that has undergone transfer learning in this manner, the processing unit 12 can, for example, cause the language model to generate question information using information containing predetermined unit codes extracted in step S20 as input information, without using instruction information. In this case as well, the instruction information described above may be included in the input information.

[0118] Next, the processing unit 12 of the information processing device 1 generates answer information, which is information indicating the answer to the question indicated by the question information obtained in step S21, using a language model that generates and outputs information corresponding to the input information (step S22). The language model is, for example, a model such as a transformer that has been trained to estimate and output the next token from the input token sequence, but is not limited to such an example.

[0119] In step S22, the processing unit 12 inputs information including the question information obtained in step S21 as input information to the language model, causing the language model to generate answer information or information for obtaining answer information.

[0120] For example, the processing unit 12 uses information including the string "Please create answers to the following questions." and the question information obtained in step S21 as input information to cause the language model to generate answer information.

[0121] Furthermore, the processing unit 12 can also use information including, for example, the string "We have the following question regarding the following code. Please create an answer to this question.", the code extracted in step S20, and the question information obtained in step S21 as input information to cause the language model to generate answer information.

[0122] Furthermore, the processing unit 12 can cause the language model to generate information for obtaining answer information, using as input information information that includes, for example, the string "Please create answers to the following questions." (an example of instruction information) and the question information obtained in step S21. In this case, the processing unit 12 can also include the code extracted in step S20 in the input information.

[0123] Furthermore, the processing unit 12 can, for example, cause the language model to generate information for obtaining answer information by taking as input information information that includes the string "Please tell me the information necessary to answer the following questions." (an example of instruction information) and the question information obtained in step S21.

[0124] In this case, the processing unit 12 can also include the code extracted in step S20 as input information. For example, the processing unit 12 can cause the language model to generate information for obtaining answer information using input information that includes the string "Please provide the information necessary to answer the following question regarding the following code," the code extracted in step S20, and the question information obtained in step S21.

[0125] The information used to obtain the answer is, for example, search information corresponding to the question indicated by the question information obtained in step S21. The search information includes, for example, information that identifies the search target. The information that identifies the search target is, for example, information that identifies the code extracted in step S20 and related classes and resources.

[0126] The classes associated with the code extracted in step S20 include, for example, classes containing methods and functions used by the code extracted in step S20, and classes inherited by the classes of the code extracted in step S20.

[0127] Furthermore, the resources associated with the code extracted in step S20 include, for example, information about the resources required to execute the code extracted in step S20. Resources include configuration files, databases, and hardware resources. Hardware resources include, but are not limited to, CPU (Central Processing Unit), GPU (Graphics Processing Unit), RAM (Random Access Memory), and disk capacity.

[0128] When the processing unit 12 causes the language model to generate response acquisition information, which is information for obtaining response information, it retrieves the response acquisition information generated by the language model from the storage unit 11 or an external information processing device. Then, the processing unit 12 inputs the information including the retrieved response acquisition information as input information to the language model, causing the language model to generate response information.

[0129] For example, if the processing unit 12 has the language model generate search information as answer acquisition information, it searches for related information related to the question indicated by the question information obtained in step S21 based on this search information. The related information is, for example, information such as classes and resources related to the code extracted in step S20.

[0130] Then, the processing unit 12 inputs the information including the related information retrieved as described above and the question information obtained in step S21 as input information to the language model, causing the language model to generate the answer information. In this case, the processing unit 12 may also use information including the code extracted in step S20 as input information.

[0131] Next, the processing unit 12 of the information processing device 1 links the question information acquired in step S21 and the answer information generated in step S22 together and stores them in the storage unit 11 (step S23).

[0132] The processing unit 12 of the information processing device 1 vectorizes the question information acquired in step S21 and stores it in the storage unit 11. The vectorization of the question information is performed by embedding using language models such as text-embedding-ada or BERT, as described above.

[0133] For example, the processing unit 12 inputs the question information acquired in step S21 as input information to the language model via an API or the like, and obtains vectorized information of the question information acquired in step S21 from the language model.

[0134] The language model for vectorizing the question information may be provided in the information processing device 1, for example. In this case, the processing unit 12 can vectorize the question information acquired in step S21 using the language model provided in the information processing device 1.

[0135] Furthermore, the vectorization of question information is not limited to embedding using a language model; for example, it may also be performed using methods such as Doc2Vec or word embedding averaging.

[0136] The processing unit 12 of the information processing device 1 stores information in the storage unit 11 for each question, by repeating the processes in steps S20 to S23, thereby linking the question information and answer information together. In step S21, it is also possible to obtain information indicating multiple questions for a predetermined unit code. In this case, the processing unit 12 causes the language model to generate answer information for each of the multiple question pieces for each predetermined unit code.

[0137] Next, the processing unit 12 of the information processing device 1 receives a program-related question from the user UC and obtains information indicating the program-related question received from the user UC (step S24).

[0138] The user UC operates terminal device 2C and inputs information indicating a question about the program into terminal device 2C. After performing an operation to transmit the input information, the terminal device 2C transmits the information indicating the question about the program from the user UC to information processing device 1.

[0139] Information processing device 1 receives program-related questions from user UC by receiving information indicating the program-related questions from the user UC. Then, information processing device 1 obtains the information indicating the program-related questions received from user UC.

[0140] The processing unit 12 of the information processing device 1 vectorizes the information indicating the program question from the user UC obtained in step S24 (step S25). The vectorization of the information indicating the program question from the user UC is performed by the same process as the vectorization of the question information described above. In the following, the information obtained by vectorizing the information indicating the program question from the user UC may be referred to as input vector information for convenience.

[0141] Next, the processing unit 12 of the information processing device 1 extracts answer information from among the multiple question information stored in the storage unit 11 that corresponds to the question information indicating the program question from the user UC obtained in step S24 (step S26). The question information stored in the storage unit 11 is vectorized as described above, and in the following, the vectorized question information may be referred to as question vector information for convenience.

[0142] In step S26, the processing unit 12 extracts question vector information with a high similarity to the input vector information from the storage unit 11, for example, by vector neighbor search. For example, the processing unit 12 extracts the question vector information with the highest similarity to the input vector information from the storage unit 11. Alternatively, the processing unit 12 can also extract m (where m is an integer of 2 or more) question vector information from the storage unit 11 in order of decreasing similarity to the input vector information.

[0143] Then, the processing unit 12 extracts the answer information associated with the acquired question vector information from the storage unit 11. If there are multiple acquired question vector information, the processing unit 12 extracts the answer information associated with each of the acquired question vector information from the storage unit 11.

[0144] Next, the processing unit 12 of the information processing device 1 provides the response information extracted in step S26 or the response information based on that response information to the user UC (step S27). For example, if there is only one response information extracted in step S26, the processing unit 12 provides the response information extracted in step S26 to the user UC by transmitting the response information extracted in step S26 to the terminal device 2C.

[0145] Furthermore, if there is only one answer information extracted in step S26, the processing unit 12 can input information including this answer information and information indicating the program question from the user UC obtained in step S24 as input information to the language model, causing the language model to generate answer information for the program question from the user UC.

[0146] For example, the processing unit 12 takes as input information the string "Please provide an appropriate answer to the following question, referring to the following example answer." (instruction information), information indicating the program question from the user UC obtained in step S24, and information containing one answer extracted in step S26, and causes the language model to generate answer information to the program question from the user UC. The information containing one answer extracted in step S26 is used as information indicating an example answer.

[0147] Furthermore, if there are multiple response pieces of information extracted in step S26, the processing unit 12 inputs information including these multiple response pieces of information and information indicating the program-related questions from the user UC obtained in step S24 as input information to the language model, causing the language model to generate response information to the program-related questions from the user UC.

[0148] For example, the processing unit 12 takes the string "Please provide an appropriate answer to the following question, referring to the following example answer" (instruction information), information indicating the program question from the user UC obtained in step S24, and information containing multiple answer information extracted in step S26 as input information to cause the language model to generate answer information to the program question from the user UC. The information containing multiple answer information extracted in step S26 is used as information indicating an example answer.

[0149] Furthermore, the processing unit 12 can also use information that includes related information related to the question indicated by the question information obtained in step S21 as input information to cause the language model to generate answer information to the program question from the user UC.

[0150] Furthermore, in the example described above, the processing unit 12 extracts question vector information with a high similarity to the input vector information from the storage unit 11, but the method of extracting question information is not limited to this example. For example, the processing unit 12 can determine similarity using Jaccard coefficients or Dice coefficients instead of vectorization, or it can also determine similarity using TF-IDF (Term Frequency Inverse Document Frequency), etc.

[0151] Furthermore, the processing unit 12 can also determine similarity using a language model. For example, the processing unit 12 can input information containing two pieces of information to be compared and information indicating instructions for comparing these two pieces of information (for example, the string "Please determine the similarity between the following two questions.") as input information to the language model, and have the language model determine the similarity and output the result.

[0152] Furthermore, if the processing unit 12 receives a question about the program from the user UC, it can perform the processing in steps S21 and S22 and provide the answer information generated in step S22 to the user UC.

[0153] In this way, the information processing device 1 acquires question information, which is information indicating a question about the program, and generates answer information, which is information indicating the answer to the question indicated by the question information, using a language model that generates and outputs information according to the input information. As a result, the information processing device 1 can support the user UC in appropriately providing the information they want to confirm regarding the program.

[0154] The configuration of the information processing system, including the information processing device 1 and multiple terminal devices 2 that perform such processing, will be described in detail below.

[0155] [2. Configuration of the Information Processing System] Figure 5 shows an example of the configuration of an information processing system according to the embodiment. As shown in Figure 5, the information processing system 100 according to the embodiment includes an information processing device 1 and a plurality of terminal devices 2.

[0156] Multiple terminal devices 2 are used by different users U. Terminal devices 2 include, for example, notebook PCs (personal computers), desktop PCs, smartphones, tablet PCs, and wearable devices. Wearable devices include, but are not limited to, smart glasses or smartwatches.

[0157] Each of the information processing device 1 and the terminal device 2 is connected to each other via a network N, either by wire or wireless, enabling communication between them. Note that the information processing system 100 shown in Figure 5 may include multiple information processing devices 1, etc.

[0158] Network N includes, for example, WANs (Wide Area Networks) such as the Internet, and mobile communication networks such as LTE (Long Term Evolution), 4G (4th Generation), and 5G (5th Generation: 5th Generation Mobile Communication System).

[0159] Terminal device 2 can connect to network N via short-range wireless communication such as a mobile communication network, Bluetooth®, or Wi-Fi (Local Area Network), and communicate with information processing device 1.

[0160] [3. Configuration of Information Processing Device 1] Figure 6 shows an example of the configuration of an information processing device 1 according to an embodiment. As shown in Figure 6, the information processing device 1 includes a communication unit 10, a storage unit 11, and a processing unit 12.

[0161] [3.1. Communications Section 10] The communication unit 10 is implemented, for example, by a communication module or a NIC (Network Interface Card). The communication unit 10 is connected to the network N by wire or wireless connection and transmits and receives information with various other devices. For example, the communication unit 10 transmits and receives information with the terminal device 2 via the network N.

[0162] [3.2. Storage section 11] The memory unit 11 is implemented by, for example, semiconductor memory elements such as RAM and flash memory, or storage devices such as hard disks and optical discs. The memory unit 11 stores user information storage unit 20, program-related information storage unit 21, question and answer information storage unit 22, and generation history storage unit 23.

[0163] [3.2.1. User information storage unit 20] The user information storage unit 20 stores information about user U. Figure 7 shows an example of a user information table stored in the user information storage unit 20 of the information processing device 1 according to this embodiment. As shown in Figure 7, the user information table stored in the user information storage unit 20 includes items such as "User ID (Identifier)", "Attribute Information", and "History Information".

[0164] "User ID" is identification information that identifies user U. "Attribute Information" is information about the user attributes of user U corresponding to the "User ID," and includes psychographic attribute information and demographic attribute information. Demographic attributes include, for example, gender, age, place of residence, and occupation, while psychographic attributes include interests such as travel, clothing, cars, and religion, lifestyle, and beliefs and tendencies.

[0165] "History information" includes the activity history of user U associated with the "User ID". User U's activity history includes, for example, the history of questions asked by user U, and the history of answers provided to user U by the information processing device 1 in response to questions asked by user U.

[0166] [3.2.2. Program-related information storage unit 21] The program-related information storage unit 21 stores various types of information related to the program. For example, the program-related information storage unit 21 stores information on various SDKs, various APIs, various programs, related confluences, and development documentation.

[0167] An SDK is a set of development information intended for the development of specific software, such as a particular platform, system, or software application. It includes various types of information necessary for developing software. For example, an SDK includes the SDK itself and various documentation.

[0168] An API is an interface for exchanging information between software programs. Such an API defines the procedures and data formats for calling and using the functions and data of one software program from another. API information includes, for example, the API's source code and test code. Note that the test code may be a test application, or a part of one.

[0169] The information stored in the program-related information storage unit 21 is stored in the program-related information storage unit 21 in a way that allows it to be extracted in predetermined units, for example. The predetermined units are, for example, library units, class units, method units, or other function units, but are not limited to these examples.

[0170] [3.2.3. Question and answer information storage unit 22] The question and answer information storage unit 22 stores question information and answer information linked to each other for each piece of question information. The question and answer information storage unit 22 stores multiple tables, including a question information table and an answer information table.

[0171] Each table is, for example, a database. The question information table is a database that stores vectorized data, for example, a vector database, but is not limited to such an example. The answer information table is, for example, a relational database, but is not limited to such an example.

[0172] Figure 8 shows an example of a question information table stored in the question answer information storage unit 22 of the information processing device 1 according to this embodiment. As shown in Figure 8, the question information table stored in the question answer information storage unit 22 includes items such as "Question ID" and "Question Information".

[0173] The "Question ID" is identification information that identifies a question. The "Question Information" is question information that indicates the question corresponding to the "Question ID," and such question information is vectorized.

[0174] Figure 9 shows an example of an answer information table stored in the question answer information storage unit 22 of the information processing device 1 according to the embodiment. As shown in Figure 9, the answer information table stored in the question answer information storage unit 22 includes items such as "Answer ID", "Question ID", and "Answer Information".

[0175] The "Answer ID" is an identifier that identifies the answer information. The "Question ID" is a question ID that identifies the question information associated with the answer information corresponding to the "Answer ID". The "Answer Information" is the answer information corresponding to the "Answer ID".

[0176] [3.2.4. Generation History Storage Unit 23] The generation history storage unit 23 stores implementation documents previously generated by the processing unit 12. Figure 10 shows an example of a generation information table stored in the generation history storage unit 23 of the information processing device 1 according to this embodiment.

[0177] As shown in Figure 10, the generation information table stored in the generation history storage unit 23 includes items such as "generation ID," "target code," and "implementation document." The "generation ID" is identification information that identifies the implementation document generated by the processing unit 12.

[0178] "Target Code" is information that identifies the target code, which is the code covered by the implementation document corresponding to the "Generation ID". "Implementation Document" is the implementation document corresponding to the "Generation ID" or information that identifies the said implementation document.

[0179] Implementation documentation includes, for example, information on each function implemented by the target code, sample code, etc. For example, implementation documentation is a document that describes the overall overview of the target code, the items, content (description), and code of each function implemented by the target code, in the order of implementation, but is not limited to such examples.

[0180] [3.3. Processing Unit 12] The processing unit 12 is a controller, and is realized by a processor such as a CPU or MPU (Micro Processing Unit) executing various programs (corresponding to an example of an information processing program) stored in the memory device inside the information processing device 1, using RAM or the like as a working area.

[0181] Furthermore, the processing unit 12 is a controller, and may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or GPGPU (General Purpose Graphic Processing Unit).

[0182] As shown in Figure 6, the processing unit 12 includes an acquisition unit 30, a reception unit 31, a generation unit 32, a storage processing unit 33, an extraction unit 34, and a provision unit 35, and realizes or executes the information processing functions and operations described below. Note that the internal configuration of the processing unit 12 is not limited to the configuration shown in Figure 6, and other configurations are also acceptable as long as they perform the information processing described later.

[0183] [3.3.1. Acquisition part 30] The acquisition unit 30 acquires various types of information from external information processing devices or terminal devices 2 via the communication unit 10. For example, the acquisition unit 30 acquires user information from an external information processing device or terminal device 2 and updates the user information table stored in the user information storage unit 20 based on the acquired user information.

[0184] Furthermore, the acquisition unit 30 acquires information such as various SDKs, various APIs, various programs, related confluences, and development documentation from an external information processing device via the communication unit 10, and stores the acquired information in the program-related information storage unit 21.

[0185] Furthermore, the acquisition unit 30 acquires various types of information contained in the request received by the reception unit 31. For example, if the request received by the reception unit 31 is an implementation document generation request, the acquisition unit 30 acquires the information contained in such an implementation document generation request. An implementation document generation request includes information that identifies the code to which the implementation document will be generated.

[0186] Furthermore, the acquisition unit 30 acquires various types of information from the storage unit 11. For example, the acquisition unit 30 acquires target code, which is code included in the SDK and is subject to implementation documentation, from the program-related information storage unit 21 or the like. The target code includes, for example, the source code and test code included in the SDK, but may also be just one of these codes.

[0187] Furthermore, the acquisition unit 30 acquires the target code, which is the code of the API covered by the implementation document, from the program-related information storage unit 21 or the like. The target code includes, for example, the API source code and the API test code, but may also be just one of these codes. The target code may also be a code selected by the user UB from among the code of the target API.

[0188] For example, when the acquisition unit 30 receives target code identification information from the reception unit 31, it acquires the code identified in the target code identification information as the target code from the program-related information storage unit 21 or the like.

[0189] Furthermore, the acquisition unit 30 acquires information indicating questions related to the program. For example, if a question about the program from user U is received by the reception unit 31, the acquisition unit 30 acquires information indicating the question received by the reception unit 31 as question information. Questions about the program are questions related to predetermined units of code, and for example, when user U asks a question, it is a question that the operator of the information processing device 1 or user U has anticipated.

[0190] Furthermore, the acquisition unit 30 acquires question information that is generated by the language model and indicates a question for a predetermined unit of code. For example, the acquisition unit 30 acquires question information that is generated by the generation unit 32 and indicates a question for a predetermined unit of code.

[0191] Furthermore, the acquisition unit 30 acquires codes in predetermined units from the program-related information storage unit 21 and the like. The predetermined units of codes are, for example, library-level codes, class-level codes, or method-level codes, but are not limited to these examples.

[0192] Furthermore, the acquisition unit 30 acquires the response acquisition information generated in the language model from the storage unit 11 or an external information processing device.

[0193] [3.3.2. Reception Department 31] The reception unit 31 receives various requests and information from terminal devices 2 or external information processing devices via the communication unit 10.

[0194] For example, the reception unit 31 receives a code list request transmitted from the terminal device 2. User U can operate the terminal device 2 to send a code list request from the terminal device 2 to the information processing device 1. The code list request may be, for example, an SDK code list request or an API list request, but is not limited to such examples.

[0195] Furthermore, the reception unit 31 receives target code identification information transmitted from the terminal device 2, which is information that identifies the target code selected by user U. The target code is the SDK test code or the SDK source code. For example, the target code may be the code that calls the SDK functions in the test code and the code that processes before and after it, the source code library, class, method, or other function, but is not limited to such examples and may be any code within the range selected by user U.

[0196] For example, the reception unit 31 receives program-related questions from user U. The reception unit 31 receives program-related questions from user U by receiving information that indicates the program-related questions from user U and is transmitted from the terminal device 2.

[0197] [3.3.3. Generation unit 32] The generation unit 32 generates various types of information. For example, the generation unit 32 generates implementation documentation corresponding to the code of a language model that generates and outputs information according to the input information, implementation documentation corresponding to the code of an API, answer information, question information, and so on.

[0198] [3.3.3.1. Generating implementation documentation corresponding to the SDK code] The generation unit 32 generates an implementation document containing information about the target code, which is the SDK code, using a language model that generates and outputs information according to the input information. The information about the target code includes, for example, one or more of the following: information indicating the functionality of the target code and information indicating the implementation procedure of the target code, but is not limited to such examples.

[0199] For example, the generation unit 32 receives input information, including the target code acquired by the acquisition unit 30, as input to a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document containing information about the target code.

[0200] The language model is, for example, a transformer model that has been trained to estimate and output the next token from an input sequence of tokens. The language model resides in the internal memory unit or an external information processing unit and is independently created by the operator of information processing unit 1. Furthermore, by training the input information so that it is not used as a new answer (output), it is possible to conceal information such as input personal information.

[0201] The generation unit 32, for example, uses an API provided by a business that provides language model services to input information to the language model and obtains the information generated by the language model via the communication unit 10. However, the information processing device 1 may also be configured to include the language model.

[0202] The generation unit 32 receives input information that includes, for example, the target code acquired by the acquisition unit 30 and instruction information, which is information indicating instructions for outputting implementation documentation for the target code, and causes the language model to generate implementation documentation containing information about the target code. The instruction information is an example of information indicating instructions for outputting information about the target code.

[0203] Instructional information includes, for example, information specifying the format of the implementation documentation. The format of the implementation documentation includes, for example, information identifying multiple elements that make up the implementation documentation, information indicating the arrangement order of the multiple elements, and information defining the content of each element. Elements that make up the implementation documentation include, but are not limited to, the functionality of the target code, the procedures and methods for implementing the target code, and sample code.

[0204] Instructional information includes, for example, information that identifies the format of the implementation document, and information that identifies the type of format of the implementation document. Information that identifies the type of format is, for example, information that indicates the type of format or information that indicates the content of the type of format (e.g., format structure or format examples). Examples of implementation document format types include demo format, tutorial format, reference format, and use case format.

[0205] A demo format is a format in which an overview of the target code is written at the beginning, followed by a recurring pattern of sets of a few lines of explanation and the code itself. These sets of a few lines of explanation and the code may include, for example, code that is required to be implemented within the test code, along with an explanation of that code.

[0206] The tutorial format is designed so that essential functions are covered if you read through from the beginning. It also features test code where multiple essential code snippets are placed next to each other, with a high degree of relevance. For example, the code for ad requests and the code for displaying ads are placed next to each other.

[0207] The reference format is a format that comprehensively describes multiple functions of the target code. For example, it includes not only several code entries that are mandatory to implement in the test code, but also code entries that are optional to implement, and each code entry is arranged according to its function.

[0208] The use case format, for example, describes implementations for each purpose. For instance, it might describe how to retrieve and display advertisements, or how to measure the effectiveness of advertisements, listing the items, explanations, and code for each purpose. This allows users to implement the necessary steps based on their desired objectives, improving user convenience, especially in cases where the search function is ineffective due to the large number of features.

[0209] The generation unit 32 uses as input information information, for example, the string "Please create the implementation documentation for the following code in the format specified below." (an example of instruction information), the target code obtained by the acquisition unit 30, and information specifying the format of the implementation documentation, to cause the language model to generate the implementation documentation.

[0210] Alternatively, the language model may be generated by performing transfer learning on a pre-trained language model using training information that includes code different from the target code and implementation documentation containing information about that code. Such transfer learning is also called fine-tuning, for example. The implementation documentation in the training information can be used, for example, as labels.

[0211] Code included in learning information that differs from the target code is, for example, code of a predetermined unit. Code of a predetermined unit is, for example, code from another SDK or code with Javadoc comments. If the code of a predetermined unit is code with Javadoc comments, the information about the code is, for example, the Javadoc comments.

[0212] When using a language model that has undergone transfer learning in this manner, the generation unit 32 can, for example, generate an implementation document in the language model using information including the target code acquired by the acquisition unit 30 as input information, without using instruction information. In this case as well, the string "Please create an implementation document for the following code." (an example of instruction information) may be included in the input information.

[0213] Furthermore, the generation unit 32 can cause the language model to generate implementation documentation for the target code without performing transfer learning of the language model. For example, the generation unit 32 can cause the language model to generate implementation documentation by taking as input information information that further includes other implementation documentation, which is implementation documentation for other code different from the target code.

[0214] For example, the generation unit 32 takes information including the target code, other implementation documents which are implementation documents for other code different from the target code, and instruction information as input information to cause the language model to generate an implementation document.

[0215] For example, the generation unit 32 uses the information including the string "Please create the implementation documentation for the following code by referring to the implementation documentation below." (an example of instruction information), the target code obtained by the acquisition unit 30, and other implementation documentation as input information to cause the language model to generate the implementation documentation.

[0216] Other implementation documentation includes, for example, implementation documentation for code different from the SDK code, and implementation documentation previously generated by language models. Examples of implementation documentation for code different from the SDK code include implementation documentation for other SDKs and implementation documentation generated by Javadoc. Note that other implementation documentation may also be the implementation documentation for the target SDK code.

[0217] Furthermore, the generation unit 32 can also cause the language model to generate an implementation document by taking information that further includes code corresponding to other implementation documents as input information. In this case, the code corresponding to other implementation documents and the other implementation documents are used as examples of input and output for learning so-called temporary memory in the language model.

[0218] The generation unit 32 takes as input information the language model, for example, the information of the string "<Input Example>", the code corresponding to other implementation documents, the information of the string "<Output Example>", other implementation documents, the information of the string "Please create an implementation document for the following code referring to the example above." (an example of instruction information), and the target code.

[0219] Furthermore, the generation unit 32 generates implementation documentation in the language model using information including commented source code as input information for the target code, but it can also generate implementation documentation in the language model using information including code without comments as input information.

[0220] Furthermore, the generation unit 32 can also cause the language model to generate implementation documentation by taking as input information information that includes further information such as documentation related to the target API and development documentation for the target code.

[0221] Note that the instruction information is not limited to the examples above, but can be anything that causes the language model to appropriately generate implementation documentation. Also, if the language model is one that can input system prompts and user prompts separately (for example, OpenAI's gpt-3.5 or gpt-4), the instruction information may be included in the input information as a system prompt. A system prompt is represented, for example, by {"role":"system", "content":prompt}. The prompt is a system prompt and is represented as text information.

[0222] Furthermore, if the language model is one that allows input to be divided into system prompts, user prompts, and assistant prompts (for example, OpenAI's gpt-3.5 or gpt-4), the generation unit 32 can also include information in the user prompt and assistant prompt that illustrates the above-mentioned input and output examples in the input information.

[0223] Furthermore, the generation unit 32 can, for example, cause the language model to generate a task for generating implementation documentation for the target code, and then input the result of this task into the language model to generate the implementation documentation for the target code.

[0224] For example, the generation unit 32 can input information including the string "Please tell me the information necessary to generate the implementation documentation for the following code." (an example of instruction information) and the target code into the language model as input information, thereby causing the language model to generate specific information that identifies the information necessary to generate the implementation documentation for the target code.

[0225] In this case, the generation unit 32 collects information identified by the specific information output from the language model from the storage unit 11 or an external information processing device. The information identified by the specific information may include, for example, code different from the target code, or other implementation documents that are implementation documents for code different from the target code. The generation unit 32 can, for example, use information including the information identified by the specific information and the target code as input information to cause the language model to generate an implementation document for the target code.

[0226] In this way, the generation unit 32 can, for example, input input information including the target code into the language model, causing the language model to generate implementation documentation for the target code. Note that the input information to be input into the language model is not limited to the examples described above; it is sufficient to have the language model generate implementation documentation for the target code.

[0227] [3.3.3.2. Generating implementation documentation corresponding to the API code] The generation unit 32 generates an implementation document containing information about the target code, which is the API code, using a language model that generates and outputs information according to the input information. The information about the target code includes, for example, one or more of the following: information indicating the functionality of the target code and information indicating the implementation procedure of the target code, but is not limited to such examples.

[0228] For example, the generation unit 32 receives input information, including the target code acquired by the acquisition unit, as input to a language model that generates and outputs information according to the input information, causing the language model to generate an implementation document containing information about the target code.

[0229] The language model is, for example, a transformer model that has been trained to estimate and output the next token from an input sequence of tokens. The language model resides in the internal memory unit or an external information processing unit and is independently created by the operator of information processing unit 1. Furthermore, by training the input information so that it is not used as a new answer (output), it is possible to conceal information such as input personal information.

[0230] The generation unit 32 inputs input information to the language model using, for example, an API provided by a business that provides language model services, and obtains the information generated by the language model. However, the information processing device 1 may also be configured to include the language model.

[0231] The generation unit 32 receives input information that includes, for example, the target code acquired by the acquisition unit 30 and instruction information, which is information indicating instructions for outputting implementation documentation for the target code, and causes the language model to generate implementation documentation containing information about the target code. The instruction information is an example of information indicating instructions for outputting information about the target code.

[0232] Instructional information includes, for example, information specifying the format of the implementation documentation. The format of the implementation documentation includes, for example, information identifying multiple elements that make up the implementation documentation, information indicating the arrangement order of the multiple elements, and information defining the content of each element. Elements that make up the implementation documentation include, but are not limited to, the functionality of the target code, the procedures and methods for implementing the target code, and sample code.

[0233] Instructional information includes, for example, information that identifies the format of the implementation document, and information that identifies the type of format of the implementation document. Information that identifies the type of format is, for example, information that indicates the type of format or information that indicates the content of the type of format (e.g., format structure or format examples). Examples of implementation document format types include demo format, tutorial format, reference format, and use case format.

[0234] A demo format is a format in which an overview of the target code is written at the beginning, followed by a recurring pattern of sets of a few lines of explanation and the code itself. These sets of a few lines of explanation and the code may include, for example, code that is required to be implemented within the test code, along with an explanation of that code.

[0235] The tutorial format is designed so that essential functions are covered if you read through from the beginning. It also features test code where multiple essential code snippets are placed next to each other, with a high degree of relevance. For example, the code for ad requests and the code for displaying ads are placed next to each other.

[0236] The reference format is a format that comprehensively describes multiple functions of the target code. For example, it includes not only several code entries that are mandatory to implement in the test code, but also code entries that are optional to implement, and each code entry is arranged according to its function.

[0237] The use case format, for example, describes implementations for each purpose, listing items, explanations, and code for each purpose. This allows users to perform the necessary implementations based on their desired objectives, improving user convenience when there are many features and search functions are ineffective.

[0238] The generation unit 32 uses as input information information, for example, the string "Please create the implementation documentation for the following code in the format specified below." (an example of instruction information), the target code obtained by the acquisition unit 30, and information specifying the format of the implementation documentation, to cause the language model to generate the implementation documentation.

[0239] Alternatively, the language model may be generated by performing transfer learning on a pre-trained language model using training information that includes the code of another API different from the target API (which is the API covered by the implementation documentation) and implementation documentation containing information about that code. Such transfer learning is also called fine-tuning, for example. The implementation documentation in the training information can be used, for example, as labels.

[0240] When using a language model that has undergone transfer learning in this manner, the generation unit 32 can, for example, generate an implementation document in the language model using information including the target code acquired by the acquisition unit 30 as input information, without using instruction information. In this case as well, the string "Please create an implementation document for the following code." (an example of instruction information) may be included in the input information.

[0241] Furthermore, the generation unit 32 can cause the language model to generate implementation documentation for the target code without performing transfer learning of the language model. For example, the generation unit 32 uses information including the target code obtained by the acquisition unit 30, other implementation documentation which is implementation documentation for other APIs, and instruction information as input information to cause the language model to generate implementation documentation.

[0242] For example, the generation unit 32 uses the information of the string "Please create the implementation documentation for the following code by referring to the implementation documentation below.", the target code obtained by the acquisition unit 30, and other implementation documentation as input information to cause the language model to generate the implementation documentation.

[0243] Other implementation documentation may include, but is not limited to, implementation documentation for APIs other than the target API, implementation documentation created by API engineers, or implementation documentation previously generated by language models. Furthermore, in cases where code is added to or modified in the target API, implementation documentation previously generated by language models may also be implementation documentation for the target API's code.

[0244] Furthermore, the generation unit 32 can also cause the language model to generate implementation documents by taking as input information information that includes, in addition to other implementation documents, the code of other APIs corresponding to those other implementation documents. In this case, the other implementation documents and the code of other APIs corresponding to those other implementation documents are used as examples of input and output for learning so-called temporary memory in the language model.

[0245] The generation unit 32 takes as input information the language model, for example, the information of the string "<Input Example>", the code of other APIs corresponding to other implementation documents, the information of the string "<Output Example>", other implementation documents, the information of the string "Please create an implementation document for the following code referring to the example above." (an example of instruction information), and the target code.

[0246] Furthermore, the generation unit 32 generates implementation documentation in the language model using information including commented source code as input information for the target code, but it can also generate implementation documentation in the language model using information including code without comments as input information.

[0247] Furthermore, the generation unit 32 can also cause the language model to generate implementation documentation by taking as input information information that includes further information such as documentation related to the target API and development documentation for the target API.

[0248] Note that the instruction information is not limited to the examples above, but can be anything that causes the language model to appropriately generate implementation documentation. Also, if the language model is one that can input system prompts and user prompts separately (for example, OpenAI's gpt-3.5 or gpt-4), the instruction information may be included in the input information as a system prompt. A system prompt is represented, for example, by {"role":"system", "content":prompt}. The prompt is a system prompt and is represented as text information.

[0249] Furthermore, if the language model is one that allows input to be divided into system prompts, user prompts, and assistant prompts (for example, OpenAI's gpt-3.5 or gpt-4), the generation unit 32 can also include information in the user prompt and assistant prompt that illustrates the above-mentioned input and output examples in the input information.

[0250] Furthermore, the generation unit 32 can, for example, cause the language model to generate a task for generating implementation documentation for the target code, and then input the result of this task into the language model to generate the implementation documentation for the target code.

[0251] For example, the generation unit 32 can input information including the string "Please tell me the information necessary to generate the implementation documentation for the following code." (an example of instruction information) and the target code into the language model as input information, thereby causing the language model to generate specific information that identifies the information necessary to generate the implementation documentation for the target code.

[0252] In this case, the generation unit 32 collects information identified by the specific information output from the language model from the storage unit 11 or an external information processing device. The information identified by the specific information may include, for example, code different from the target code, or other implementation documents that are implementation documents for such code. The generation unit 32 can, for example, use information including the information identified by the specific information and the target code as input information to cause the language model to generate an implementation document for the target code.

[0253] In this way, the generation unit 32 can, for example, input input information including the target code into the language model, causing the language model to generate implementation documentation for the target code. Note that the input information to be input into the language model is not limited to the examples described above; it is sufficient to have the language model generate implementation documentation for the target code.

[0254] [3.3.3.3. Generating Question and Answer Information] The generation unit 32 generates question information and answer information using a language model that generates and outputs information according to the input information.

[0255] [3.3.3.3.1. Generating Question Information] First, let's explain the generation of question information. The generation unit 32 causes the language model to generate information about questions related to codes acquired by the acquisition unit 30, and then retrieves such question information from the language model. For example, the generation unit 32 causes the language model to generate information about questions related to codes acquired by the acquisition unit 30 in predetermined units, and then retrieves such question information from the language model.

[0256] Code in predetermined units includes, but is not limited to, code in library units, class units, method units, and other function units. Language models include, but are not limited to, models such as transformers that have been trained to estimate and output the next token from an input sequence of tokens.

[0257] The generation unit 32, for example, receives input information that includes a code for a predetermined unit and instruction information which is information indicating instructions for outputting information indicating a question expected for that code, and performs a process for each predetermined unit code to cause the language model to generate information indicating a question about the predetermined unit code.

[0258] For example, the generation unit 32 takes as input information the string "Please tell us what questions you might have regarding the following code." (an example of instruction information) and the code of a predetermined unit as input information, and causes the language model to generate information indicating questions regarding the code of a predetermined unit.

[0259] The language model may also be generated by performing transfer learning on a pre-trained language model using training information that includes combinations of past question and answer information for each question. The combinations of past question and answer information are different from the information stored in the memory unit 11, but are not limited to combinations of past question and answer information in SDKs, APIs, and related confluences.

[0260] For example, if the generation unit 32 has a combination of past question information and answer information for a code stored in the program-related information storage unit 21 or the like, stored in the question-answer information storage unit 22 or the like, it can use such combination as part or all of the learning information.

[0261] When using a language model that has undergone transfer learning in this manner, the generation unit 32 can, for example, cause the language model to generate question information by taking information containing predetermined unit codes as input information, without using instruction information. In this case as well, the instruction information described above may be included in the input information.

[0262] [3.3.3.3.2. Generating response information] Next, the generation of response information will be explained. The generation unit 32 generates response information, which is information indicating the answer to the question indicated by the question information acquired by the acquisition unit 30, using a language model that generates and outputs information according to the input information. The language model is, for example, a transformer model that has been trained to estimate and output the next token from the input token sequence, but is not limited to such an example.

[0263] For example, the generation unit 32 inputs information including the question information acquired by the acquisition unit 30 as input information to the language model, causing the language model to generate answer information or information for obtaining answer information.

[0264] For example, the generation unit 32 uses information including the string "Please create answers to the following questions." and the question information obtained by the acquisition unit 30 as input information to cause the language model to generate answer information.

[0265] Furthermore, the generation unit 32 can also use information including, for example, the string "The following questions are asked regarding the following code. Please create answers to these questions." as input information, along with the code extracted by the extraction unit 34 and the question information obtained by the acquisition unit 30, to cause the language model to generate answer information.

[0266] Furthermore, the generation unit 32 can cause the language model to generate information for obtaining answer information, using as input information information that includes, for example, the string "Please create answers to the following questions." (an example of instruction information) and the question information obtained by the acquisition unit 30. In this case, the generation unit 32 can also include the code extracted by the extraction unit 34 in the input information.

[0267] Furthermore, the generation unit 32 can, for example, use information including the string "Please provide the information necessary to answer the following questions." (an example of instruction information) and the question information acquired by the acquisition unit 30 as input information to generate information for obtaining answer information in the language model.

[0268] In this case, the generation unit 32 can also include the codes extracted by the extraction unit 34 in the input information. For example, the generation unit 32 can cause the language model to generate information for obtaining answer information using as input information the string "Please provide the information necessary to answer the following questions regarding the following codes," the codes extracted by the extraction unit 34, and the question information obtained by the acquisition unit 30.

[0269] The information used to obtain the answer is, for example, search information corresponding to the question indicated by the question information obtained by the acquisition unit 30. The search information includes, for example, information that identifies the search target. The information that identifies the search target is, for example, information that identifies the code extracted by the extraction unit 34 and related classes and resources.

[0270] The classes associated with the code extracted by the extraction unit 34 include, for example, classes containing methods and functions used by the code extracted by the extraction unit 34, and classes inherited by the classes of the code extracted by the extraction unit 34.

[0271] Furthermore, the resources associated with the code extracted by the extraction unit 34 include, for example, information about the resources necessary to execute the code extracted by the extraction unit 34. Resources include configuration files, databases, and hardware resources. Hardware resources include, but are not limited to, CPU, GPU, RAM, and disk capacity.

[0272] The generation unit 32 inputs information including the response acquisition information generated by the language model and acquired by the acquisition unit 30 as input information to the language model, causing the language model to generate response information.

[0273] For example, when the generation unit 32 causes the language model to generate search information as answer acquisition information in the language model, based on such search information, it searches for related information related to the question indicated by the question information acquired by the acquisition unit 30 from the storage unit 11 or the like. The related information is, for example, information such as classes and resources related to the code extracted by the extraction unit 34.

[0274] Then, the generation unit 32 inputs information including the related information searched as described above and the question information acquired by the acquisition unit 30 into the language model as input information, and causes the language model to generate answer information. Also, in this case, the generation unit 32 can also use information further including the code extracted by the extraction unit 34 as input information.

[0275] When there is one piece of answer information extracted by the extraction unit 34, the generation unit 32 inputs information including this answer information and information indicating a question regarding the program from the user U acquired by the acquisition unit 30 into the language model as input information, and can also cause the language model to generate answer information for the question regarding the program from the user U. In the following, there may be cases where the answer information generated by causing the language model to use the information including the answer information extracted by the extraction unit 34 as input information is described as answer information based on the answer information.

[0276] For example, the generation unit 32 uses, as input information, information (instruction information) of the character string "Please teach an appropriate answer to the following question referring to the following answer examples.", information indicating a question regarding the program from the user U acquired by the acquisition unit 30, and information including one piece of answer information extracted by the extraction unit 34, and causes the language model to generate answer information for the question regarding the program from the user U. The information including one piece of answer information extracted by the extraction unit 34 is used as information indicating an answer example.

[0277] Furthermore, if the extraction unit 34 extracts multiple response pieces of information, the generation unit 32 inputs information including these multiple response pieces of information and information indicating the program-related questions from user U obtained by the acquisition unit 30 as input information to the language model, causing the language model to generate response information to the program-related questions from user U.

[0278] For example, the generation unit 32 takes as input information the string "Please provide an appropriate answer to the following question, referring to the following example answer." (instruction information), information indicating the program question from user U obtained by the acquisition unit 30, and information containing multiple answer pieces extracted by the extraction unit 34, and causes the language model to generate answer information to the program question from user U. The information containing multiple answer pieces extracted by the extraction unit 34 is used as information indicating an example answer.

[0279] Furthermore, the generation unit 32 can also use information that includes related information related to the question indicated by the question information acquired by the acquisition unit 30 as input information to cause the language model to generate answer information to the program question from user U.

[0280] Furthermore, when the receiving unit 31 receives a program-related question from user U and the acquisition unit 30 acquires question information indicating the program-related question from user U, the generation unit 32 can input information including the information indicating the program-related question from user U as input information to the language model, causing the language model to generate answer information or information for obtaining answer information.

[0281] [3.3.3.3.3. Example of the configuration of the generation unit 32] Figure 11 shows an example of the configuration of the generation unit 32 of the information processing device 1 according to the embodiment. In the example shown in Figure 11, the generation unit 32 comprises a first generation unit 40, a search unit 41, and a second generation unit 42.

[0282] The first generation unit 40 generates implementation documentation for the target code, question information, answer information, information for obtaining answers, etc. For example, the first generation unit 40 uses a language model that generates and outputs information according to the input information to generate implementation documentation that includes information about the target code, which is the SDK code.

[0283] Furthermore, the first generation unit 40 generates implementation documentation, which includes information about the target code, which is the API code, using a language model that generates and outputs information corresponding to the input information. The first generation unit 40 also inputs the information including the question information acquired by the acquisition unit 30 as input information to the language model, and generates answer information in the language model, which is information indicating the answer to the question indicated by the question information.

[0284] Furthermore, the first generation unit 40 inputs information including the question information acquired by the acquisition unit 30 as input information to the language model, causing the language model to generate search information corresponding to the question indicated by the question information.

[0285] For example, the first generation unit 40 uses the information including the string "Please tell me the information necessary to answer the following questions." (an example of instruction information) and the question information acquired by the acquisition unit 30 as input information to cause the language model to generate the search information described above, which is information for obtaining answer information.

[0286] The first generation unit 40 can also include the codes extracted by the extraction unit 34 as input information. For example, the first generation unit 40 can use information including the string "Please provide the information necessary to answer the following questions regarding the following codes," the codes extracted by the extraction unit 34, and the question information acquired by the acquisition unit 30 as input information to generate search information for the language model.

[0287] The search information includes, for example, information that identifies the search target. As mentioned above, the information that identifies the search target is, for example, information that identifies the code extracted by the extraction unit 34 and related classes and resources.

[0288] The search unit 41 searches for related information related to the question based on the search information generated by the first generation unit 40. For example, if the first generation unit 40 has caused the language model to generate search information, the search unit 41 searches for related information related to the question indicated by the question information obtained by the acquisition unit 30 from the storage unit 11, etc., based on such search information. The related information is, for example, information such as classes and resources related to the code extracted by the extraction unit 34.

[0289] The second generation unit 42 inputs information including the question information acquired by the acquisition unit 30 and the related information retrieved by the search unit 41 as input information to the language model, causing the language model to generate answer information, which is information indicating the answer corresponding to the question.

[0290] [3.3.4. Memory Processing Unit 33] The memory processing unit 33 associates the question information and answer information with each other and stores them in the question-answer information storage unit 22 for each set of question information. For example, the memory processing unit 33 associates the question information acquired by the acquisition unit 30 with the answer information generated by the generation unit 32 and stores them in the question-answer information storage unit 22 for each set of question information.

[0291] For example, the memory processing unit 33 vectorizes the question information, associates the vectorized question information with the answer information, and stores it in the question-answer information storage unit 22. The vectorization of the question information is performed by embedding using language models such as text-embedding-ada or BERT. For example, the memory processing unit 33 inputs the question information as input information to the language model via an API or the like, and retrieves the vectorized question information from the language model.

[0292] Note that the language model for vectorizing question information may be provided in, for example, the information processing apparatus 1. In this case, the storage processing unit 33 can vectorize the question information using the language model provided in the information processing apparatus 1. Note that the vectorization of question information is not limited to embedding by a language model, and for example, the question information may be vectorized by Doc2Vec, the average of word embeddings, or the like.

[0293] [[3.3.5. Extraction unit 34]] The extraction unit 34 extracts the answer information associated with the question information corresponding to the information indicating the question about the program from the user U acquired by the acquisition unit 30 among the plurality of question information stored in the question and answer information storage unit 22.

[0294] For example, the extraction unit 34 vectorizes the information indicating the question about the program from the user U acquired by the acquisition unit 30 and generates input vector information. The vectorization of the information indicating the question about the program from the user U is performed by the same process as the vectorization of the question information.

[0295] Then, the extraction unit 34 extracts from the question and answer information storage unit 22 the answer information associated with the question vector information corresponding to the input vector information among the plurality of question information stored in the question and answer information storage unit 22. The question vector information is the question information vectorized as described above. [[ID=FIG=16]]

[0296] The extraction unit 34 extracts, for example, question vector information with a high similarity to the input vector information from the question and answer information storage unit 22 by vector neighborhood search or the like. For example, the extraction unit 34 extracts from the question and answer information storage unit 22 the question vector information with the highest similarity to the input vector information. Also, the extraction unit 34 can, for example, extract m (m is an integer of 2 or more) pieces of question vector information from the question and answer information storage unit 22 in descending order of similarity to the input vector information.

[0297] The extraction unit 34 then extracts the answer information associated with the acquired question vector information from the question answer information storage unit 22. If there are multiple acquired question vector information, the extraction unit 34 extracts the answer information associated with each of the acquired question vector information from the question answer information storage unit 22.

[0298] In this way, the extraction unit 34 can extract from the storage unit the answer information associated with the vectorized question information corresponding to the vectorized information indicating the question acquired by the acquisition unit 30.

[0299] In the example described above, the extraction unit 34 extracts question vector information with a high similarity to the input vector information from the storage unit 11, but the method of extracting question information is not limited to this example. For example, instead of vectorization, the extraction unit 34 can determine similarity using Jaccard coefficients or Dice coefficients, or it can also determine similarity using TF-IDF or the like.

[0300] Furthermore, the extraction unit 34 can also determine similarity using a language model. For example, the extraction unit 34 can input information including two pieces of information to be compared and information indicating instructions for comparing these two pieces of information (for example, the string "Please determine the similarity between the following two questions.") as input information to the language model, and have the language model determine the similarity and output it.

[0301] [3.3.6.Providing Department 35] The information provision unit 35 provides various information. For example, the information provision unit 35 provides various information to the user U by transmitting various information to the terminal device 2 via the communication unit 10.

[0302] When the receiving unit 31 receives a request for a list of SDK codes, the providing unit 35 displays information on the terminal device 2 showing a list of codes included in the SDK stored in the program-related information storage unit 21 (for example, test codes, libraries, classes, methods, and other functions). The providing unit 35 can also display information on the terminal device 2 showing a list of codes newly added to the SDK or codes modified in the SDK.

[0303] Furthermore, the provisioning unit 35 causes the terminal device 2 to display information showing a list of APIs stored in the program-related information storage unit 21. The processing unit 12 can also display information showing a list of newly added APIs or modified APIs on the terminal device 2.

[0304] When user U selects a code or API by operating terminal device 2 while a list of SDK codes or APIs is displayed on terminal device 2, a request for implementation document generation is sent from terminal device 2 to information processing device 1.

[0305] Furthermore, the provisioning unit 35 can also transmit the implementation document generated by the generation unit 32 to the terminal device 2, and display the implementation document generated by the generation unit 32 on the terminal device 2 in an editable format by the user U.

[0306] Furthermore, the providing unit 35 provides user U with the response information extracted by the extraction unit 34 or response information based on said response information. If there is one or more response information extracted by the extraction unit 34, the providing unit 35 provides user U with one or more response information extracted by the extraction unit 34 by transmitting one or more of the extracted response information to the terminal device 2.

[0307] Furthermore, the providing unit 35 can also provide user U with response information based on the response information extracted by the extraction unit 34 by transmitting the response information generated by the generation unit 32 using one or more response pieces extracted by the extraction unit 34 to the terminal device 2.

[0308] Furthermore, the providing unit 35 provides user U with the answer information generated by the generation unit 32, which is information indicating the answer to the question received by the receiving unit 31 and the question information indicating the question received by the receiving unit 31. The providing unit 35 provides user U with the answer information generated by the generation unit 32 by transmitting the answer information generated by the generation unit 32 to the terminal device 2.

[0309] [4. Processing Procedure] Next, the procedure for information processing by the processing unit 12 of the information processing device 1 according to the embodiment will be described. Figure 12 is a flowchart showing an example of information processing by the processing unit 12 of the information processing device 1 according to the embodiment.

[0310] As shown in Figure 12, the processing unit 12 of the information processing device 1 determines whether or not it is the first generation timing (step S30). The first generation timing is the timing when the SDK implementation document generation request is received from the terminal device 2, but it may also be the timing when code is added to the SDK, the timing when the SDK code is modified, or the timing when a request is made by the operator of the information processing device 1.

[0311] If the processing unit 12 determines that it is the first generation timing (step S30: Yes), it executes the first implementation document generation process (step S31). The process in step S31 is the process in steps S40 to S43 shown in Figure 13, which will be described in detail later.

[0312] If the processing in step S31 is completed, or if it is determined that it is not the first generation timing (step S30: No), the processing unit 12 determines whether or not it is the second generation timing (step S32).

[0313] The second generation timing is the timing when the API implementation document generation request is received from terminal device 2, but it may also be the timing when a new API is created, when code is added to an API, when the API code is modified, or when a request is made by the operator of information processing device 1.

[0314] If the processing unit 12 determines that it is the second generation timing (step S32: Yes), it executes the second implementation document generation process (step S33). The process in step S33 is the process in steps S50 to S54 shown in Figure 14, which will be described in detail later.

[0315] If the processing in step S33 is completed, or if it is determined that it is not the second generation timing (step S32: No), the processing unit 12 determines whether or not it is the third generation timing (step S34).

[0316] The third generation timing is, for example, the timing when a request is made by the operator of the information processing device 1, but it may also be the timing when code is added to the SDK, when the SDK code is modified, when a new API is generated, when code is added to the API, or when the API code is modified.

[0317] If the processing unit 12 determines that it is the third generation timing (step S34: Yes), it executes the response information generation process (step S35). The process in step S35 is the process in steps S60 to S63 shown in Figure 15, which will be described in detail later.

[0318] If the processing in step S35 is completed, or if it is determined that it is not the third generation timing (step S34: No), the processing unit 12 determines whether or not it has received a question from user U (step S36).

[0319] If the processing unit 12 determines that it has received a question from user U (step S36: Yes), it executes the answer processing (step S37). The processing in step S37 is the same as the processing in steps S70 to S72 shown in Figure 16, which will be described in detail later.

[0320] When the processing in step S37 is completed, or when it is determined that no questions have been received from user U (step S36: No), the processing unit 12 determines whether it is time to terminate operation (step S38). The processing unit 12 determines that it is time to terminate operation, for example, when the power to the information processing device 1 is turned off.

[0321] If the processing unit 12 determines that it is not yet time to terminate the operation (step S38: No), it proceeds to step S30. If it determines that it is time to terminate the operation (step S38: Yes), it terminates the process shown in Figure 12.

[0322] Figure 13 is a flowchart showing an example of the first implementation document generation process by the processing unit 12 of the information processing device 1 according to the embodiment. As shown in Figure 13, the processing unit 12 selects the code included in the SDK as the target code (step S40) and extracts the selected target code from the storage unit 11 (step S41).

[0323] Next, the processing unit 12 generates an implementation document containing information about the target code using the language model (step S42). Then, the processing unit 12 stores the implementation document generated in step S42 in the storage unit 11 (step S43), and terminates the process shown in Figure 13.

[0324] Figure 14 is a flowchart showing an example of the second implementation document generation process by the processing unit 12 of the information processing device 1 according to the embodiment. As shown in Figure 14, the processing unit 12 selects an API (step S50) and extracts the code of the selected API from the storage unit 11 as the target code (step S51).

[0325] Next, the processing unit 12 generates an implementation document containing information about the target code using the language model (step S52). Then, the processing unit 12 stores the implementation document generated in step S52 in the storage unit 11 (step S53), and terminates the process shown in Figure 14.

[0326] Figure 15 is a flowchart showing an example of the response information generation process by the processing unit 12 of the information processing device 1 according to the embodiment. As shown in Figure 15, the processing unit 12 extracts a code from the storage unit 11 (step S60) and generates response information for the code extracted in step S60 using a language model (step S61).

[0327] Next, the processing unit 12 stores the answer information generated in step S61 in the storage unit 11, linking it with the question information (step S62). When the processing in step S62 is completed, the processing unit 12 determines whether or not all the codes that are the target of the answer have been extracted (step S63).

[0328] If the processing unit 12 determines that it has not extracted all the codes (step S63: No), it proceeds to step S60. If it determines that it has extracted all the codes (step S63: Yes), it terminates the process shown in Figure 15.

[0329] Figure 16 is a flowchart showing an example of the response processing by the processing unit 12 of the information processing device 1 according to the embodiment. As shown in Figure 16, the processing unit 12 obtains information indicating a question about a program from the storage unit 11 (step S70), and obtains response information corresponding to the information indicating the question about the program (step S71). Then, it provides the obtained response information to the user U (step S72), and terminates the process shown in Figure 16.

[0330] [5. Variations] The generation unit 32 can also generate response information corresponding to the attributes of user U who asked the question. In this case, the generation unit 32 can cause the language model to generate information for obtaining response information by taking as input information information that includes, for example, the string "Please create a response to the following question for a questioner with the following attributes." (an example of instruction information), the question information obtained by the acquisition unit 30, and information indicating the attributes of user U who asked the question.

[0331] Furthermore, the generation unit 32 can generate implementation documents, including a system configuration diagram. The generation unit 32 can generate a system configuration diagram from target code, for example, using a multimodal language model (e.g., gpt4) or an image generation AI (Artificial Intelligence).

[0332] Furthermore, the generation unit 32 can also use information that includes information stored in a knowledge database such as KDocs (Knowledge, Documents, and Collaboration System) as input information for the language model to generate implementation documents, answer information, question information, etc.

[0333] Furthermore, when generating multiple implementation documents consecutively, the generation unit 32 can use information including the implementation document previously generated using the language model as input information to cause the language model to generate the next implementation document. For example, when multiple code sets that are the target of the implementation document are selected, or when the entire SDK code is selected, the generation unit 32 uses information including the implementation document previously generated using the language model as input information to cause the language model to generate the next implementation document.

[0334] Furthermore, the source code in the aforementioned target code may also include, for example, the names of classes and methods in the source code, or variables and added comments in the classes and methods in the source code.

[0335] Furthermore, the generation unit 32 can also cause the language model to generate implementation documents by taking as input information information that includes the generated answer information and question information as described above.

[0336] [6. Hardware Configuration] The information processing device 1 according to the above embodiment is implemented by a computer 80 having a configuration such as that shown in Figure 17. Figure 17 is a hardware configuration diagram showing an example of a computer 80 that implements the functions of the information processing device 1 according to the embodiment. The computer 80 has a CPU 81, RAM 82, ROM (Read Only Memory) 83, HDD (Hard Disk Drive) 84, communication interface (I / F) 85, input / output interface (I / F) 86, and media interface (I / F) 87.

[0337] The CPU 81 operates based on programs stored in the ROM 83 or HDD 84, and controls various parts. The ROM 83 stores the boot program executed by the CPU 81 when the computer 80 starts up, as well as programs that depend on the computer 80's hardware.

[0338] HDD84 stores programs executed by CPU81 and data used by such programs. The communication interface85 receives data from other devices via network N (see Figure 5) and sends it to CPU81, and transmits the data generated by CPU81 to other devices via network N.

[0339] The CPU 81 controls output devices such as displays and printers, and input devices such as keyboards or mice, via the input / output interface 86. The CPU 81 acquires data from input devices via the input / output interface 86. The CPU 81 also outputs data it has generated to output devices via the input / output interface 86.

[0340] The media interface 87 reads a program or data stored in the recording medium 88 and provides it to the CPU 81 via the RAM 82. The CPU 81 loads the program from the recording medium 88 onto the RAM 82 via the media interface 87 and executes the loaded program. The recording medium 88 can be, for example, an optical recording medium such as a DVD (Digital Versatile Disc) or PD (Phase Change Rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.

[0341] For example, when the computer 80 functions as an information processing device 1 according to the embodiment, the CPU 81 of the computer 80 realizes the functions of the processing unit 12 by executing a program loaded on the RAM 82. The HDD 84 stores data from the storage unit 11. The CPU 81 of the computer 80 reads and executes these programs from the recording medium 88, but as another example, these programs may be obtained from other devices via a network N.

[0342] [7. Other] Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by known methods. In addition, the processing procedures, specific names, and various data and parameters shown in the above document and drawings can be changed at will unless otherwise specified. For example, the various information shown in each figure is not limited to the information shown.

[0343] Furthermore, the components of each illustrated device are functionally conceptual and do not necessarily need to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads and usage conditions.

[0344] For example, the information processing device 1 described above may be implemented using a terminal device and a server computer, or using multiple server computers. Furthermore, depending on the function, it may be implemented by calling external platforms via APIs or network computing, allowing for flexible configuration changes.

[0345] Furthermore, the embodiments and modifications described above can be combined as appropriate, provided that the processing content is not inconsistent.

[0346] [8. Effects] As described above, the information processing device 1 according to the embodiment comprises an acquisition unit 30 and a generation unit 32. The acquisition unit 30 acquires question information, which is information indicating a question about a program. The generation unit 32 uses a language model that generates and outputs information according to the input information to generate answer information, which is information indicating the answer to the question indicated by the question information acquired by the acquisition unit 30. In this way, the information processing device 1 can appropriately provide the user U with the information they want to confirm about the program.

[0347] Furthermore, the generation unit 32 inputs information including the question information acquired by the acquisition unit 30 as input information to the language model, causing the language model to generate answer information or information for obtaining answer information. In this way, the information processing device 1 can appropriately provide the user U with the information they wish to confirm regarding the program.

[0348] Furthermore, the generation unit 32 includes a first generation unit 40 that inputs information including question information acquired by the acquisition unit 30 as input information to the language model and causes the language model to generate search information corresponding to the question; a search unit 41 that searches for related information related to the question based on the search information generated by the first generation unit 40; and a second generation unit 42 that inputs information including the question information acquired by the acquisition unit 30 and the related information searched by the search unit 41 as input information to the language model and causes the language model to generate answer information, which is information indicating the answer corresponding to the question. As a result, the information processing device 1 can appropriately provide the user U with the information they want to confirm regarding the program.

[0349] Furthermore, the information processing device 1 includes a storage processing unit 33 that links question information and answer information together and stores them in a storage unit 11 for each piece of question information; a reception unit 31 that receives questions about the program from user U; an extraction unit 34 that extracts answer information linked to question information corresponding to information indicating a question acquired by the acquisition unit 30 from among the multiple pieces of question information stored in the storage unit 11; and a provision unit 35 that provides the answer information extracted by the extraction unit 34 or answer information based on said answer information to user U.In this way, the information processing device 1 can help provide user U with the information they want to confirm regarding the program in an appropriate manner.

[0350] Furthermore, the memory processing unit 33 stores the vectorized question information in the memory unit 11, linking it to the answer information, and the extraction unit 34 extracts from the memory unit 11 the answer information that corresponds to the vectorized question information, which is information indicating the question acquired by the acquisition unit 30. In this way, the information processing device 1 can appropriately provide the user U with the information they want to confirm regarding the program.

[0351] Furthermore, the acquisition unit 30 acquires codes for predetermined units, the generation unit 32 causes the language model to generate information indicating questions for the codes for predetermined units, and the acquisition unit 30 acquires the information indicating questions for the codes for predetermined units generated by the language model as question information. In this way, the information processing device 1 can appropriately provide the user U with the information they want to confirm regarding the program.

[0352] The predetermined unit codes are library-level codes, class-level codes, or method-level codes. This allows the information processing device 1 to appropriately provide the user U with the information they wish to verify regarding the program.

[0353] Furthermore, the information processing device 1 includes a reception unit 31 that receives questions about the program from user U, and a provision unit 35 that provides user U with answer information generated by a generation unit 32, which indicates the answer to the question received by the reception unit 31. The acquisition unit 30 acquires information indicating the question received by the reception unit 31 as question information. In this way, the information processing device 1 can appropriately provide user U with the information they wish to confirm regarding the program.

[0354] Although embodiments of the present application have been described in detail based on the drawings, these are illustrative examples, and the present invention can be implemented in various other forms, including those described in the disclosure section of the invention, based on the knowledge of those skilled in the art.

[0355] Furthermore, the terms "section, module, unit" mentioned above can be replaced with "means" or "circuit," etc. For example, the acquisition unit can be replaced with acquisition means or acquisition circuit. [Explanation of Symbols]

[0356] 1. Information Processing Device 2,2A,2B,2C Terminal devices 10 Communications Department 11 Storage section 12 Processing Units 20 User information storage unit 21 Program-related information storage unit 22 Question and answer information storage section 23 Generation History Storage Unit 30 Acquisition Department 31 Reception Department 32 Generation part 33 Memory Processing Unit 34 Extraction part 35 Provision Department 40 1st generation part 41 Search Section 42 Second generation part N Network

Claims

1. A unit that obtains question information, which is information indicating a question about the program, The system includes a generation unit that generates and outputs answer information, which is information indicating the answer to the question indicated by the question information acquired by the acquisition unit, using a language model that generates and outputs information corresponding to the input information. The generating unit is The language model generates information indicating a question about the program, The acquisition unit is, Information indicating a question about the program generated by the language model is obtained as the question information. An information processing device characterized by the following:

2. An acquisition unit that acquires question information which is information indicating a question about a program, A generation unit generates answer information, which is information indicating the answer to a question indicated by the question information acquired by the acquisition unit, using a language model that generates and outputs information corresponding to the input information. A storage processing unit that links the aforementioned question information and the aforementioned answer information together and stores them in a storage unit for each piece of question information, A reception desk that accepts questions from users about the program, An extraction unit extracts the answer information associated with the question information corresponding to the question information obtained by the acquisition unit from among the plurality of question information stored in the storage unit, The system comprises: a providing unit that provides the user with the response information extracted by the extraction unit, or the response information generated by the language model based on the response information extracted by the extraction unit. An information processing device characterized by the following:

3. An acquisition unit that acquires question information which is information indicating a question about a program, The system includes a generation unit that generates and outputs answer information, which is information indicating the answer to the question indicated by the question information acquired by the acquisition unit, using a language model that generates and outputs information corresponding to the input information. The acquisition unit is, Obtain the code for a predetermined unit, The generating unit is The language model is made to generate information indicating a question for the code of the predetermined unit, The acquisition unit is, Information indicating a question for the code of the predetermined unit generated by the language model is obtained as the question information. An information processing device characterized by the following:

4. The generating unit is The information, including the question information acquired by the acquisition unit, is input to the language model as input information, causing the language model to generate the answer information or information for obtaining the answer information. The information processing apparatus according to any one of claims 1 to 3.

5. The generating unit is A first generation unit inputs the information including the question information acquired by the acquisition unit as input information to the language model, and causes the language model to generate search information corresponding to the question. A search unit searches for related information related to the question based on the search information generated by the first generation unit, The system includes a second generation unit that inputs information including the question information acquired by the acquisition unit and the related information retrieved by the search unit as input information to the language model, and causes the language model to generate answer information which is information indicating the answer corresponding to the question. The information processing apparatus according to feature 4.

6. The memory processing unit, The vectorized question information is linked to the answer information and stored in the memory unit. The extraction unit is The storage unit extracts the answer information from the storage unit, which is associated with the vectorized question information corresponding to the vectorized question information obtained by the acquisition unit. The information processing apparatus according to feature 2.

7. The codes for the predetermined units mentioned above are: This can be code at the library level, the class level, or the method level. The information processing apparatus according to claim 3.

8. A reception desk that accepts questions from users about the program, The system comprises a providing unit that provides to the user information indicating the answer to a question received by the receiving unit, and the answer information generated by the generating unit. The acquisition unit is, Information indicating the question received by the reception desk is acquired as the question information. The information processing apparatus according to claim 1 or 3.

9. A method of information processing performed by a computer, The acquisition process involves obtaining question information, which is information indicating a question about the program, The process includes a generation step that generates and outputs answer information, which is information indicating the answer to the question indicated by the question information acquired in the acquisition step, using a language model that generates and outputs information corresponding to the input information, The aforementioned generation step is The language model generates information indicating a question about the program, The acquisition process described above is: Information indicating a question about the program generated by the language model is obtained as the question information. An information processing method characterized by the following:

10. A computer-based information processing method, The acquisition process involves obtaining question information, which is information indicating a question about the program, A generation step that generates response information, which is information indicating the answer to the question indicated by the question information obtained in the acquisition step, using a language model that generates and outputs information according to the input information, A storage processing step involves linking the aforementioned question information and the aforementioned answer information and storing them in a storage unit for each piece of question information. A reception process for receiving questions from users about the program, An extraction step of extracting the answer information associated with the question information corresponding to the information indicating the question acquired by the acquisition step from among the plurality of question information stored in the storage unit, The process includes providing the user with the response information extracted by the extraction process, or the response information generated by the language model based on the response information extracted by the extraction process. An information processing method characterized by the following:

11. A computer-based information processing method, The acquisition process involves obtaining question information, which is information indicating a question about the program, The process includes a generation step that generates and outputs answer information, which is information indicating the answer to the question indicated by the question information acquired in the acquisition step, using a language model that generates and outputs information corresponding to the input information, The acquisition process described above is: Obtain the code for a predetermined unit, The aforementioned generation step is The language model is made to generate information indicating a question for the code of the predetermined unit, The acquisition process described above is: Information indicating a question for the code of the predetermined unit generated by the language model is obtained as the question information. An information processing method characterized by the following:

12. The procedure for obtaining question information, which is information indicating a question about the program, Using a language model that generates and outputs information corresponding to the input information, the computer is instructed to execute a generation procedure that generates answer information, which is information indicating the answer to the question indicated by the question information obtained by the acquisition procedure, The aforementioned generation procedure is: The language model generates information indicating a question about the program, The acquisition procedure described above is: Information indicating a question about the program generated by the language model is obtained as the question information. An information processing program characterized by the following features.

13. A procedure for obtaining question information, which is information indicating a question about a program, A generation procedure that generates and outputs answer information, which is information indicating the answer to the question indicated by the question information obtained by the acquisition procedure, using a language model that generates and outputs information according to the input information, A storage processing procedure that links the aforementioned question information and the aforementioned answer information together and stores them in a storage unit for each piece of question information, A procedure for receiving questions from users about the program, An extraction procedure for extracting the answer information associated with the question information corresponding to the information indicating the question obtained by the acquisition procedure, from among the plurality of question information stored in the memory unit, The computer is instructed to execute a provisioning procedure which provides the user with the response information extracted by the extraction procedure, or the response information generated by the language model based on the response information extracted by the extraction procedure. An information processing program characterized by the following features.

14. A procedure for obtaining question information, which is information indicating a question about a program, Using a language model that generates and outputs information corresponding to the input information, the computer is instructed to execute a generation procedure that generates answer information, which is information indicating the answer to the question indicated by the question information obtained by the acquisition procedure, The acquisition procedure described above is: Obtain the code for a predetermined unit, The aforementioned generation procedure is: The language model is made to generate information indicating a question for the code of the predetermined unit, The acquisition procedure described above is: Information indicating a question for the code of the predetermined unit generated by the language model is obtained as the question information. An information processing program characterized by the following features.

Citation Information

Patent Citations

  • Development supporting system, development support method, and development support program

    JP2017204246A

  • JPP7325152B

  • Augmenting machine learning language models using search engine results

    US20230244934A1