System
The system automates software documentation updates by analyzing source code and incorporating user feedback, addressing the inefficiencies of manual updates and ensuring reliable, timely documentation.
Patent Information
- Application Number
- JP2024125350
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
Manual updates of software documentation are labor-intensive and often overlooked, leading to reduced reliability and efficiency in software development projects.
A system that automates the process of acquiring source code, analyzing it for changes, generating documentation, and periodically updating it using AI-driven text and diagram generation technologies, with user review and feedback mechanisms.
This system significantly reduces the effort required for document updates and ensures accurate, up-to-date documentation, enhancing project reliability and efficiency.
Smart Images

Figure 2026023415000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In software development, documentation needs to be updated whenever new features are added or specifications are changed, but updating it manually requires a great deal of effort, and updates are often overlooked. This reduces the reliability of the documentation and has a negative impact on the efficiency and quality of the entire project. This project aims to solve this problem. [Means for solving the problem]
[0005] The present invention provides a system that includes a means for acquiring source code, a means for analyzing the acquired source code to extract key functions and changes, a means for generating documentation based on the extracted information, a means for reviewing and correcting the generated documentation, and a means for periodically executing these processes. In particular, the document generation means generates text documents using text generation technology, and further generates sequence diagrams using diagram generation technology. Furthermore, the source code acquisition means includes a means for retrieving the latest source code from a repository, thereby improving the reliability of documentation based on the latest information. This system significantly reduces the effort required for document updates and achieves efficient and reliable document management.
[0006] "Source code" is text written in a programming language that defines the behavior of software.
[0007] "Means" are mechanisms or methods for achieving a specific function or purpose.
[0008] "Analysis" is the process of examining source code to understand its internal structure and operation.
[0009] A "major function" is a function that plays a central role in the software.
[0010] "Changes" are modifications or additions made to the source code.
[0011] "Extraction" is the process of extracting specific information from source code.
[0012] "Documentation" means technical documentation describing the design and operation of the software.
[0013] "Generation" refers to the creation of new software or documentation according to a set procedure.
[0014] "Review" is the process of checking the generated document and evaluating its accuracy and completeness.
[0015] "Modification" means correcting an error or omission in the Documentation or Source Code.
[0016] "Periodic" means repeated at regular intervals.
[0017] A "system" refers to a unified whole in which related elements and means function in coordination with one another.
[0018] A "repository" is a place or system for storing and managing source code and related data.
[0019] "Retrieval" is the process of extracting the necessary information or source code from a repository.
[0020] "Text generation technology" is a technology that automatically creates text documents using natural language.
[0021] "Diagram generation technology" is a technology that automatically creates diagrams that visually represent the behavior and structure of source code.
[0022] A "sequence diagram" is a diagram that represents interactions between objects along a time axis. [Brief explanation of the drawings]
[0023] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4]FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0024] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0025] First, the terms used in the following description will be explained.
[0026] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0027] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0028] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0029] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0030] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0031] [First embodiment]
[0032] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0033] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0034] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0035] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0036] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0037] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0038] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0039] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0040] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0041] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0042] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0043] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0044] System Overview
[0045] The present invention provides a system for automatically generating and updating documents based on source code in software development projects. This system is realized by combining processes such as analyzing source code, generating documents and diagrams, reviewing them, and periodically updating them.
[0046] System Components
[0047] server
[0048] The server plays a central role in this system. Specifically, it performs the following functions:
[0049] 1. Get source code: The server gets the latest source code from the repository.
[0050] 2. Source code analysis: The server analyzes the acquired source code and extracts the main functions and specification changes.
[0051] 3. Document generation: Automatically generate text and figures based on the extracted information.
[0052] 4. Prepare for review: The generated document is temporarily saved and notified to the user for review.
[0053] 5. Regular updates: Repeat these processes regularly to keep your documentation up to date.
[0054] User
[0055] The user reviews the generated document and makes any necessary corrections. The user operates through a web interface.
[0056] 1. Review and Correct: Users review the generated documentation and provide feedback and corrections.
[0057] 2. Providing Feedback: User feedback is important to ensure the quality of the final document.
[0058] Terminal
[0059] The terminal is a device through which the user interacts with the server, and is provided with an interface using a web browser.
[0060] Overview of program processing
[0061] 1. Obtaining the source code
[0062] The server automatically retrieves the latest source code from the repository. Using the repository URL, it executes the git clone command and saves the source code in a temporary directory.
[0063] 2. Source code analysis
[0064] The server uses an analytical AI model to analyze the acquired source code, extracting changes and new features and providing them as a list.
[0065] 3. Generating Documentation
[0066] The server uses a combination of text generation technology and diagram generation technology based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[0067] 4. Review Preparation
[0068] The generated document is temporarily stored and made accessible through a web interface for the user to review and modify, and the server notifies the user and prompts them to review.
[0069] 5. Review and Revision
[0070] Users access the web interface using their terminals, review the provided documents, add corrections and comments, and then submit their feedback to the server.
[0071] 6. Final preservation and publication
[0072] The server finally stores the modified document based on the user's feedback and makes it public if necessary.
[0073] Specific examples
[0074] 1. Obtaining the source code
[0075] After a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a regular schedule.
[0076] 2. Source code analysis
[0077] The server analyzes the acquired source code using an AI model and extracts a list of new features and changes that have been added.
[0078] 3. Generating Documentation
[0079] Based on the extracted information, technical documentation is created using text generation technology, and sequence diagrams are generated using diagram generation technology.
[0080] 4. Review Preparation
[0081] The generated document is temporarily saved and the user is notified via email or a notification system that it is ready for review.
[0082] 5. Review and Revision
[0083] Users access a web interface to review the generated document, add corrections and comments using their own devices, and submit feedback to the server.
[0084] 6. Final preservation and publication
[0085] The server saves the final version of the document, modified based on user feedback, and makes it publicly available as needed.
[0086] This automates the creation and updating of documents in software development, realizing efficient and reliable document management.
[0087] The processing flow will be explained below.
[0088] Step 1:
[0089] The server retrieves the latest source code from the specified repository URL, executes the git clone command to download the repository contents to a temporary directory, and then loads the necessary source code files.
[0090] Step 2:
[0091] The server analyzes the source code and uses generative AI to extract key features and changes. This analysis identifies modified functions and newly added features and creates a list of them.
[0092] Step 3:
[0093] The server generates documents based on the analysis results. It uses text generation technology to create detailed technical documentation of the extracted information, and uses diagram generation technology to create visual technical diagrams such as sequence diagrams.
[0094] Step 4:
[0095] The server temporarily stores the generated documents and diagrams, preserving the documents for subsequent review, and sends notifications to users to prompt them to review them.
[0096] Step 5:
[0097] The user accesses the web interface to review the generated documentation. The user checks the technical documentation and diagrams and adds any necessary corrections or comments.
[0098] Step 6:
[0099] The user submits the review results to the server, and corrections and comments are sent to the server via a web interface.
[0100] Step 7:
[0101] The server modifies the document based on user feedback, saves the final version of the document with the necessary modifications, and publishes it as needed.
[0102] Step 8:
[0103] The server runs these processes periodically, using a scheduler to schedule source code retrieval, analysis, documentation generation, and review at regular intervals, ensuring that documentation is always up-to-date.
[0104] Example 1
[0105] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0106] In traditional software development projects, document creation and updating is often done manually, resulting in significant time and effort consumption and making it difficult to maintain accuracy and consistency of the documents. Therefore, there is a need for a method to streamline the creation and management of technical documents that continuously reflect the latest information and to automate the document review process.
[0107] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0108] In this invention, the server includes means for acquiring source code, means for loading an artificial intelligence model and analyzing the acquired source code to extract key functions and changes, means for generating documents based on the extracted information using a combination of text generation and diagram generation technologies, means for a user to review and correct the generated documents via a web interface and send the feedback to the server, means for temporarily saving the generated documents and notifying the user that they are ready for review, and means for periodically executing these processes. This automates the generation and updating of documents, enabling efficient and accurate management of technical documents.
[0109] "Source code" is a set of instructions that make up a program, and is text that describes specific operational instructions for a computer.
[0110] "Means of acquisition" refers to the functions and methods for retrieving the latest source code from a repository, database, etc. and storing it on a server.
[0111] "Means of analysis" refers to methods or processing systems that use artificial intelligence models or algorithms to detect and extract key features and changes from source code.
[0112] An "artificial intelligence model" is a collection of programs that use machine learning and deep learning technologies, and is a model for performing data analysis and predictions.
[0113] "Text generation technology" is a technology that uses natural language processing technology to generate sentences from predetermined information.
[0114] "Diagram generation technology" is a technology that generates visual representations such as technical diagrams and sequence diagrams from predetermined information.
[0115] "Documents" are documents or files that describe technical information, operating procedures, etc., and in software development, this includes specifications, design documents, manuals, etc.
[0116] A "web interface" is an interface that allows a user to access a server through a web browser and perform various operations and view information.
[0117] "Review" refers to the process of checking the content of the generated document and providing corrections and feedback.
[0118] "Feedback" refers to user-provided evaluations and suggested revisions, and is information useful for improving the quality of a document.
[0119] "Temporary storage" refers to the process of temporarily storing generated data or files until permanent storage or further processing occurs.
[0120] A "means for periodic execution" is a function or method for automatically and repeatedly executing a series of processes according to a set schedule or timing.
[0121] MODE FOR CARRYING OUT THE INVENTION
[0122] System configuration
[0123] The system of the present invention consists of three main components: a server, a terminal, and a user. The server plays a central role and automates the entire process, including source code acquisition, analysis, document generation, and review preparation. Users use their own terminals to review documents and provide feedback.
[0124] Specific actions
[0125] The server performs the following specific actions:
[0126] Get the source code
[0127] The server accesses the specified repository URL to obtain the latest source code. The repository is managed on a source code sharing system. The source code is saved in a temporary directory using the git clone command.
[0128] bash
[0129] git clone https: / / example.com / repository.git / path / to / temp / dir
[0130] Source code analysis
[0131] The server then loads a pre-trained artificial intelligence model (e.g., OpenAI's code analysis model) and uses it to analyze the acquired source code and extract important information, such as new features and changes.
[0132] Generate documentation
[0133] Based on the analysis results, the server generates the text portion of the technical documentation using text generation technology (e.g., a generative AI model such as GPT-4), and also generates technical diagrams such as sequence diagrams and class diagrams using diagram generation technology (e.g., PlantUML).
[0134] Here is an example prompt:
[0135] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[0136] Review Preparation
[0137] The generated document is stored and provided to the user through a web interface for access. The server notifies the user through a notification system that the document is ready for review. The notification includes:
[0138] Subject: Document review request
[0139] Body: The latest technical documentation has been generated. Please review it.
[0140] Link: http: / / server_address / documents / review
[0141] Reviews and Feedback
[0142] The user accesses the web interface from their own device and checks the generated document. The user reviews the document and sends feedback such as corrections to typos, corrections to the content, and comments to the server. The submission process is carried out using the "Submit" button on the web form.
[0143] Final preservation and publication
[0144] The server will revise the document based on user feedback, save it as the final version, and, if necessary, publish it on the official website or the project's documentation server.
[0145] Specific examples
[0146] 1. Get the source code:
[0147] A user adds a new feature and commits it to the repository.
[0148] The server automatically retrieves the latest source code from the repository every night.
[0149] 2. Source code analysis:
[0150] The server uses OpenAI's code analysis model to list newly added features and changes.
[0151] 3. Generate documentation:
[0152] Based on the extracted information, technical documentation is generated using GPT-4 and sequence diagrams are created using PlantUML.
[0153] 4. Review Preparation:
[0154] The server temporarily stores the generated document and notifies the user by email that it is ready for review.
[0155] 5. Review and Correct:
[0156] Users access the web interface using their own terminals, check the document, add necessary corrections and comments, and feed them back to the server.
[0157] 6. Final saving and publishing:
[0158] The server will store the final document and make it available on the project's official website.
[0159] This automates the entire invention process and enables efficient and accurate management of technical documents.
[0160] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0161] Step 1:
[0162] Get the source code
[0163] The server accesses the repository URL to retrieve the latest source code. Using the repository URL as input, it clones the source code into a temporary directory using the git clone command. The output is the retrieved source code saved in the temporary directory.
[0164] The specific behavior is as follows:
[0165] bash
[0166] git clone https: / / example.com / repository.git / path / to / temp / dir
[0167] Step 2:
[0168] Source code analysis
[0169] The server loads a pre-trained artificial intelligence model and analyzes the retrieved source code. Using the retrieved source code as input, the model extracts new features, changes, and bug fixes. The output is a list of the analyzed information.
[0170] The specific behavior is as follows:
[0171] Load the artificial intelligence model into memory.
[0172] Enter source code into the loaded model and run the analysis.
[0173] Step 3:
[0174] Generate documentation
[0175] The server generates documents based on the analysis results using a combination of text generation and diagram generation technologies. It uses the list of analyzed information as input and generates the text portion of the technical documentation using a generative AI model (e.g., GPT-4). At the same time, it generates sequence diagrams using diagram generation technology (e.g., PlantUML). The output is the generated and temporarily saved technical documentation and diagrams.
[0176] Here is an example prompt:
[0177] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[0178] Step 4:
[0179] Review Preparation
[0180] The server temporarily saves the generated document and notifies the user. The input and output are the generated document and its save destination, and clicking the notification button sends email or system notification to the user.
[0181] The specific behavior is as follows:
[0182] Save the generated documentation to a specific directory.
[0183] Notify users via email or notification system.
[0184] The notification reads as follows:
[0185] Subject: Document review request
[0186] Body: The latest technical documentation has been generated. Please review it.
[0187] Link: http: / / server_address / documents / review
[0188] Step 5:
[0189] Reviews and Feedback
[0190] The user accesses the web interface using a terminal and checks the generated document. The input is the document to be reviewed, and the output is feedback information. The user can correct typos, add comments, etc., and submit it to the server.
[0191] The specific behavior is as follows:
[0192] Open your web browser and enter the provided URL.
[0193] Fill out the review details in the web form and click the "Submit" button.
[0194] Step 6:
[0195] Final preservation and publication
[0196] The server modifies the document based on user feedback, saves the final version, and optionally publishes it to the official website or project's documentation server. The input is the modified document, and the output is the final, published version.
[0197] The specific behavior is as follows:
[0198] Revise the documentation based on user feedback.
[0199] Save the final, modified document in a long-term storage directory.
[0200] If necessary, upload it to the official website or document server.
[0201] (Application example 1)
[0202] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0203] Document generation and updating in conventional software development projects is often manual, resulting in inefficiency and a lack of accuracy. In factories, managing machine operation data and maintenance history is tedious and updates are infrequent, potentially reducing reliability. There is a need to solve these problems and provide a more efficient and reliable document management system.
[0204] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0205] In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code to extract key functions and changes, means for generating documentation based on the extracted information, means for reviewing and correcting the generated documentation, means for periodically executing these processes, means for acquiring machine operation data and maintenance history, means for analyzing the acquired data using an AI model, means for generating technical documentation and maintenance logs based on the analysis results, and means for user review via a web interface. This enables automatic generation and updating of documentation in software development and factory operation.
[0206] "Source code" is a description written in a programming language that describes the behavior of software or a program.
[0207] "Means of retrieval" are the methods and techniques used to retrieve data from repositories and databases.
[0208] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[0209] "Extraction means" refers to methods and techniques for finding important information and features from large amounts of data.
[0210] "Document" is a document that explains the specifications and procedures of a system or program.
[0211] "Generation means" refers to methods and technologies for automatically creating data and information.
[0212] "Review and correction means" refers to the methods and techniques used to review the generated documentation and make changes or corrections as necessary.
[0213] A "periodic execution means" is a method or technique for repeatedly executing a process at regular time intervals.
[0214] "Operational data" refers to data that indicates the operating status of a machine or system.
[0215] "Maintenance history" is a record of maintenance work performed on a machine or system.
[0216] An "AI model" is a mathematical model that uses artificial intelligence technology to perform a specific task.
[0217] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[0218] A "technical document" is a document that details technical specifications and procedures.
[0219] A "maintenance log" is a detailed record of maintenance work performed on a machine or system.
[0220] "Web interface" means an interface through which a user accesses the system via a web browser.
[0221] "User review" is the process by which users review the generated documentation and provide feedback as needed.
[0222] This invention is a system for automatically generating and updating documents necessary for factory operation, and its main components are a server, a terminal, and a user. The program for realizing this system is configured as follows.
[0223] First, the server acquires operation data and maintenance history from each machine in the factory. SSL encrypted communication and the MQTT protocol are used to securely transmit the data to the server. The server then stores the acquired data and analyzes it using an analytical AI model (such as TensorFlow or PyTorch).
[0224] Important points are extracted from the analysis results and automatically generated as technical documentation and maintenance logs using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The generated documentation is temporarily saved and made accessible to users through a web interface (e.g., Django, Flask).
[0225] Users access the web interface using their terminals to review the generated document. They can add corrections and comments and send their feedback to the server. Finally, the server modifies the document based on the user's feedback, saves it as the final version, and optionally uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage).
[0226] As a concrete example, if a robot in a factory collects daily operational data and generates a maintenance log stating, "Yesterday's maintenance on XYZ machine involved replacing a valve," an example of a prompt to use would be:
[0227] Prompt statement:
[0228] Analyze yesterday's operating data and maintenance history of XYZ machine and generate a maintenance log. Highlight information about valve replacement.
[0229] Based on this prompt, the AI model automatically generates an appropriate maintenance log for the user to review, enabling the automatic generation and updating of documentation in software development and factory operations.
[0230] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0231] Step 1:
[0232] The server acquires operation data and maintenance history from each machine in the factory. The input is the machine's operation data and maintenance history, and the data is securely sent to the server using SSL encrypted communication and the MQTT protocol. The output is the acquired data stored on the server. Specific operations include the process of collecting machine sensor data in real time and sending it to the server.
[0233] Step 2:
[0234] The server stores the acquired data and analyzes it using an AI model (such as TensorFlow or PyTorch). The input is the stored operational data and maintenance history, which the AI model analyzes to extract important information. The output is the analyzed data. Specific operations include the process of storing data in a database and supplying it to the AI model to obtain analysis results.
[0235] Step 3:
[0236] The server generates technical documentation and maintenance logs based on the analysis results using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The input is the analyzed data, which is converted into technical documentation in the form of text and diagrams. The output is the generated technical documentation. Specific operations include the process of inputting a prompt sentence into the generative AI model and outputting a document in an appropriate format.
[0237] Step 4:
[0238] The server temporarily stores the generated documents and makes them accessible to the user through a web interface (e.g., Django, Flask). The input is the generated technical documentation, which is displayed in the web interface in a format that the user can review. The output is the reviewable document. Specific operations include the process of uploading the document data to the web server and displaying it in the user interface.
[0239] Step 5:
[0240] A user accesses the web interface using a terminal, reviews the generated document, and adds necessary corrections and comments. The input is the reviewable document on the web interface, and the user's feedback is sent to the server. The output is the corrected document. Specific operations include the process of the user inputting feedback in real time through the interface.
[0241] Step 6:
[0242] The server modifies the document based on user feedback, saves it as the final version, and uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage) as needed. The input is user feedback and the document to be modified, and the final technical document is generated. The output is the final technical document. Specific operations include the process of modifying the document to reflect the feedback and securely uploading it to cloud storage.
[0243] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0244] System Overview
[0245] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[0246] System Components
[0247] server
[0248] The server plays a central role in this system. Specifically, it performs the following functions:
[0249] 1. Get source code: The server gets the latest source code from the repository by running the git clone command to download the repository contents to a temporary directory and load the necessary source code files.
[0250] 2. Source code analysis: The server analyzes the acquired source code and extracts key features and changes in specifications. It uses an AI model to identify changes and new features and compiles them into a list.
[0251] 3. Document generation: Based on the analysis results, the server uses text generation and diagram generation technologies to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[0252] 4. Ready for Review: The generated document is temporarily saved and the user is notified that it is ready for review. It is made accessible to the user through a web interface.
[0253] 5. Emotion Recognition: The server activates an emotion engine to analyze the user's emotions during the review and collects the user's facial expression and voice data.
[0254] 6. Feedback analysis: The server analyzes the user's emotional data and makes correction suggestions based on it. Feedback that takes the user's emotions into account is reflected in the document.
[0255] User
[0256] The user reviews and modifies the generated document through a web interface and an emotion recognition system.
[0257] 1. Review and Correct: The user reviews the generated document and adds any necessary corrections or comments. The emotion recognition system is activated to collect user feedback.
[0258] 2. Providing feedback: User feedback along with emotional data is sent to the server and used to improve the quality of the final document.
[0259] Terminal
[0260] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition capabilities may also be built into the terminal.
[0261] Overview of program processing
[0262] 1. Obtaining the source code
[0263] The server periodically retrieves the latest source code from the repository, ensuring that the generated documentation is always based on the most up-to-date content.
[0264] 2. Source code analysis
[0265] The server uses AI models to analyze the source code and extract key features and changes, which then creates documentation that reflects the latest changes.
[0266] 3. Generating Documentation
[0267] The server uses text generation technology to create technical documentation and diagram generation technology to generate sequence diagrams, automatically generating detailed and accurate technical documentation.
[0268] 4. Review Preparation
[0269] The server temporarily stores the generated document and notifies the user of the start of the review process, who then accesses the document through a web interface.
[0270] 5. Emotion recognition
[0271] The server activates an emotion engine to analyze the user's facial expressions and voice, and the emotion engine recognizes the user's emotions as they review the document.
[0272] 6. Review and Revision
[0273] The user reviews the generated document using the device. The user's feedback is sent to the server along with the emotion data. The user adds corrections and comments and sends them back to the server.
[0274] 7. Feedback Analysis
[0275] The server analyzes the user's emotional data and suggests document revisions based on the results, resulting in the generation of high-quality documents that take the user's emotions into account.
[0276] 8. Final preservation and publication
[0277] The server then makes final revisions to the document based on user feedback, stores it, and, if necessary, performs a publishing process.
[0278] Specific examples
[0279] 1. Obtaining the source code
[0280] When a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a scheduled basis.
[0281] 2. Source code analysis
[0282] The AI model analyzes the acquired source code and creates a list of changes and new features.
[0283] 3. Generating Documentation
[0284] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies.
[0285] 4. Review Preparation
[0286] The generated document is temporarily saved and notified to the user.
[0287] 5. Emotion recognition
[0288] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[0289] 6. Review and Revision
[0290] Users use a web interface to review documents and add necessary corrections and comments, while their sentiment data is collected.
[0291] 7. Feedback Analysis
[0292] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[0293] 8. Final preservation and publication
[0294] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[0295] This allows the use of an emotion engine to reflect feedback based on emotional data, resulting in more effective and high-quality document management.
[0296] The processing flow will be explained below.
[0297] Step 1:
[0298] The server retrieves the latest source code using the specified repository URL. Specifically, it uses the git clone command to clone the repository into a temporary directory and loads the necessary source code files. This obtains the latest source code.
[0299] Step 2:
[0300] The server analyzes the acquired source code and uses generative AI to extract key features and changes. The analysis results are organized into a list, identifying changed functions and new features.
[0301] Step 3:
[0302] The server generates documentation based on the analysis results. During this process, it uses text generation technology to create detailed technical documentation from the analysis results, and uses diagram generation technology to generate technical diagrams such as sequence diagrams. This allows comprehensive technical documentation to be created automatically.
[0303] Step 4:
[0304] The server temporarily stores the generated documents and diagrams, keeps them accessible to the user for subsequent review, and notifies the user when they are ready for review.
[0305] Step 5:
[0306] The user accesses the web interface to review the generated document. The user checks the content of the document through the provided interface and adds any necessary corrections or comments. At this time, the emotion recognition system is activated and analyzes the user's facial expressions and voice in real time.
[0307] Step 6:
[0308] The server uses an emotion engine to collect user emotion data, which is acquired through a webcam or microphone and analyzed to determine which parts of the document elicited emotion.
[0309] Step 7:
[0310] The server analyzes the feedback based on the user's emotional data. For example, if the user feels stressed in a particular area, it will suggest improvements or corrections for that area. The server also evaluates the document's comprehension and usability based on the emotional data.
[0311] Step 8:
[0312] The server receives user feedback and modifies the final document. Modification suggestions based on emotion data are incorporated to create a document that is easier for users to understand and use. The modified document is then saved and made public if necessary.
[0313] Step 9:
[0314] The server runs these processes periodically, and by setting a schedule, the process of retrieving source code, analyzing it, generating documentation, and reviewing it can be automatically repeated at regular intervals, ensuring that documentation is always based on up-to-date information.
[0315] Example 2
[0316] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0317] Conventional documentation generation systems analyze changes in source code and generate documentation, but lack a review function that takes user feedback into account, making it difficult to reduce user stress and confusion and generate high-quality documentation. Furthermore, since revision suggestions based on user feedback are not efficiently implemented, there is also the issue of not being able to make highly relevant improvements.
[0318] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing and analyzing a user's emotions during the review, means for analyzing the user's emotion data and suggesting document corrections based on the feedback, and means for periodically executing these processes. This enables the generation and correction of high-quality documents that take user emotions into consideration.
[0319] A "server" is a computer system that provides functions and data to other computers (clients) in a computer network.
[0320] "Source code" is a human-readable description of a program written in a programming language; it is a set of instructions that a computer executes.
[0321] "Means of acquisition" refers to methods or processes for automatically collecting specific data or information from repositories, etc.
[0322] "Means of analysis" are methods and techniques for analyzing acquired data and information and understanding and classifying its contents.
[0323] "Extraction means" refers to a method for extracting important information, such as specific features or changes, from the analyzed data.
[0324] "Means for generating" refers to a method for creating new documents or diagrams based on the extracted data.
[0325] "Review means" refers to the method or process for reviewing the generated documentation and proposing corrections as needed.
[0326] "Means for recognizing emotions" refers to technology for identifying a user's emotional state using data such as the user's facial expressions and voice.
[0327] The "means of analysis" is a method for analyzing the recognized emotion data and understanding the results.
[0328] The "means for suggesting corrections based on feedback" is a method for suggesting improvements to a document based on the results of analyzing user feedback and emotional data.
[0329] A "periodic execution method" is a method for automatically executing a specific process or task at regular intervals.
[0330] "Document generation means" refers to means for creating the necessary technical documents and diagrams using text generation technology and diagram generation technology.
[0331] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[0332] System Overview
[0333] This system consists of three main components: a server, a terminal, and a user.
[0334] server
[0335] The server plays a central role in this system and performs the following operations:
[0336] 1. Get the source code:
[0337] The server runs the git clone command to get the latest source code from a repository, for example, to get the code from a specific repository (e.g., git@github.com:example / repo.git).
[0338] 2. Source code analysis:
[0339] The server analyzes the acquired source code using an AI model (e.g., GPT-3) to extract key functions and changes. The AI model identifies function additions and parameter changes.
[0340] 3. Generate documentation:
[0341] The server generates technical documentation and sequence diagrams using text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML). For example, it generates technical documentation and sequence diagrams for a new authentication function.
[0342] 4. Review Preparation:
[0343] The server saves the generated document in a temporary directory and notifies the user, either via email or a web interface dashboard.
[0344] 5. Emotion recognition:
[0345] The server runs an emotion engine (e.g., OpenFace or IBM Watson) to collect data on the user's facial expressions and voice, and then collects and analyzes the user's emotion data in real time.
[0346] 6. Feedback analysis:
[0347] The server analyzes the user's emotions based on the collected emotional data and makes suggestions for corrections, such as adding specific explanations to parts that the user is confused about.
[0348] User
[0349] The user is responsible for reviewing and correcting the generated document. The user performs the following operations:
[0350] 1. Review and Correct:
[0351] The user accesses a web interface to review the generated document. As they make necessary corrections or add comments, the emotion recognition system captures the user's facial expressions and voice and sends them as feedback to the server.
[0352] 2. Providing Feedback:
[0353] The user's feedback and emotional data are sent to the server and used to improve the quality of the final document. For example, if emotional data is collected showing that the user is confused by a particular part, a suggestion will be made to add an explanation for that part.
[0354] Terminal
[0355] A terminal is a device that allows users to interact with a server. A terminal has the following functions:
[0356] 1. User interaction:
[0357] The terminal (PC or smartphone) is a device that allows the user to interact with the server via a web browser. If the terminal is equipped with emotion recognition functionality, it collects the user's facial expressions and voice through a camera and microphone.
[0358] Specific examples
[0359] Specific examples are shown below.
[0360] 1. Example of obtaining source code:
[0361] The server retrieves the source code from the repository, for example using the following command:
[0362] git clone git@github.com:example / repo.git
[0363] 2. Example of source code analysis:
[0364] The server inputs the acquired source code into the AI model and compiles a list of function additions and parameter changes.
[0365] 3. Example of document generation:
[0366] To have the server generate technical documentation and sequence diagrams, use the following prompts:
[0367] The source code for a new authentication feature has been added. Generate technical documentation and sequence diagrams for the feature. During the review, recognize user sentiment, identify areas of confusion, and offer suggestions to improve the explanation.
[0368] 4. Examples of emotion recognition and feedback analysis:
[0369] The server activates the emotion engine and collects the user's facial expressions and voice through the camera and microphone. For example, if the user frowns in front of the screen, that emotion is recognized and sent as feedback to the server.
[0370] This enables the generation and revision of high-quality documents that take into account the user's feelings.
[0371] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0372] Step 1:
[0373] Get the source code:
[0374] The server periodically accesses the repository to retrieve the latest source code.
[0375] Input: Repository URL and other information.
[0376] Specific operation: Execute the git clone command and save the repository contents to a temporary directory.
[0377] Output: The retrieved source code is saved in a temporary directory.
[0378] Step 2:
[0379] Source code analysis:
[0380] The source code retrieved by the server is analyzed using an AI model (e.g., GPT-3).
[0381] Input: The retrieved source code.
[0382] Specific operation: The source code is input into the AI model to extract key features and changes.
[0383] Output: Function additions and parameter changes are extracted as a list.
[0384] Step 3:
[0385] Generate documentation:
[0386] The server uses text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML) to generate technical documentation and sequence diagrams.
[0387] Input: Analysis results (list of changes and new features).
[0388] Specific behavior: Automatically generate technical documentation and sequence diagrams using prompt statements.
[0389] Output: Generated technical documentation and sequence diagrams.
[0390] Step 4:
[0391] Review Preparation:
[0392] The server saves the generated document in a temporary directory and notifies the user.
[0393] Input: Generated technical documentation and sequence diagrams.
[0394] What it does: Saves it to a temporary directory and notifies you via email and the web interface dashboard.
[0395] Output: The user is notified that the review is ready.
[0396] Step 5:
[0397] Emotion recognition:
[0398] The server launches an emotion engine (e.g., OpenFace or IBM Watson) and collects data on the user's facial expressions and voice.
[0399] Input: User's facial expression data and voice data.
[0400] Specific operation: Data is collected in real time through cameras and microphones and analyzed by an emotion engine.
[0401] Output: Parsed emotion data.
[0402] Step 6:
[0403] Review and fix:
[0404] The user accesses the web interface to review the generated documentation and add any necessary corrections or comments.
[0405] Input: Generated technical documentation and sequence diagrams, user review comments.
[0406] What it does: Access documents to make corrections and comments, and collect feedback using an emotion recognition system.
[0407] Output: The revised document and feedback data.
[0408] Step 7:
[0409] Feedback Analysis:
[0410] The server makes suggestions for document revisions based on the user's emotional data.
[0411] Input: User feedback and emotion data.
[0412] Specific behavior: Analyzes emotional data to identify areas where users are confused or dissatisfied, and generates suggested fixes.
[0413] Output: An updated document with suggested fixes.
[0414] Step 8:
[0415] Final save and publish:
[0416] The server stores the final document and makes it available as needed.
[0417] Input: The updated document with the suggested corrections.
[0418] What happens: Save the final document and upload it to the project wiki page or internal system.
[0419] Output: The final technical documentation is archived and published.
[0420] (Application example 2)
[0421] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0422] With current technology, generating and reviewing technical documentation from source code requires a lot of manual work and time, making it inefficient. Furthermore, because the review process does not take into account user feelings, parts that cause stress or are difficult to understand can be overlooked. As a result, the quality of the documentation declines and the user experience is negatively affected.
[0423] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing a user's emotions during review, means for analyzing the user's emotion data and suggesting document corrections, and means for periodically executing these processes. This enables feedback that takes user emotions into consideration during the automatic generation and review process of technical documentation, thereby improving document quality and user experience.
[0424] "Source code" is a text file that describes a program and contains instructions that a computer can execute.
[0425] "Analysis" is the process of examining source code and data in detail to identify its structure, function, and changes.
[0426] "Major functions" are code sections within the source code that perform important operations or roles, and that support the basic operation of the program.
[0427] "Changes" are parts that have been added or modified by updating or modifying the source code.
[0428] "Documentation" refers to technical documentation generated based on source code and its analysis results, including diagrams such as sequence diagrams.
[0429] "Review" is the process of checking the generated documentation and adding corrections or comments as necessary.
[0430] "Proposals for corrections" are suggestions for improvements to documentation or source code based on analysis and user feedback.
[0431] "Emotion recognition" is a technology that identifies a user's emotional state based on their facial expressions and voice.
[0432] "Emotion data" is a record of a user's emotions in numerical or text format.
[0433] "Periodic execution" means that a process or task is executed repeatedly at regular intervals.
[0434] A "repository" is a database for managing source code and related documents, and has a version control function.
[0435] "Technical documentation" is a set of documents that describe the source code, its functions, structure, and usage.
[0436] A "sequence diagram" is a diagram that visually shows the flow of operations and interactions within a system or process.
[0437] An "AI model" is a computational model that uses machine learning and deep learning technologies to perform data analysis and predictions.
[0438] "Feedback analysis" is the process of collecting and evaluating feedback from users to identify areas for improvement.
[0439] System Overview
[0440] This invention is a system that automatically generates and updates technical documentation based on the source code of a factory robot's operating program, and provides higher quality documentation by recognizing and providing feedback on the user's emotions. The system is primarily composed of a server, terminals, and users.
[0441] System Components
[0442] server
[0443] The server plays a central role in this system. Specifically, it performs the following operations:
[0444] 1. Get the source code:
[0445] The server retrieves the latest source code from the repository, using a version control system such as Git to clone the code from the repository and download it to a temporary directory.
[0446] 2. Source code analysis:
[0447] The server analyzes the acquired source code, extracts key features and changes, and uses an AI model to identify the changes and new features and compile them into a list.
[0448] 3. Generate documentation:
[0449] The server uses text generation and diagram generation technologies based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams, using generative AI models such as OpenAI's GPT-3.
[0450] 4. Review Preparation:
[0451] The generated document is saved and the user is notified that it is ready for review, and can be accessed through a web interface.
[0452] 5. Emotion recognition:
[0453] The server activates an emotion engine to analyze the user's emotions during the review process. It collects data on the user's facial expressions and voice and analyzes their emotions.
[0454] 6. Feedback analysis:
[0455] The server analyzes the user's emotional data and makes suggestions for revisions based on that data. Feedback that takes the user's emotions into account is reflected in the document.
[0456] User
[0457] The user reviews the generated documentation and makes corrections. The user interacts with the system in the following ways:
[0458] 1. Review and Correct:
[0459] The user reviews the generated document and adds any necessary corrections or comments, and the emotion recognition system is activated to collect user feedback.
[0460] 2. Providing Feedback:
[0461] User feedback, along with emotional data, is sent to the server and used to improve the quality of the final document.
[0462] Terminal
[0463] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition functionality may also be built into the terminal. Smartphones, tablets, etc. are used as terminals.
[0464] Specific examples
[0465] 1. Get the source code:
[0466] As users add new features and commit them to the repository, the server periodically retrieves the latest source code from the repository.
[0467] 2. Source code analysis:
[0468] The AI model analyzes the acquired source code and creates a list of changes and new features.
[0469] 3. Generate documentation:
[0470] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies. Example:
[0471] Generate technical documentation for the following source code:
[0472] def hello_world():
[0473] print("Hello, World!")
[0474] 4. Review Preparation:
[0475] The generated document is saved and notified to the user, who can then access the document using a web interface.
[0476] 5. Emotion recognition:
[0477] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[0478] 6. Review and Revision:
[0479] Users use a web interface to review documents and add any necessary corrections or comments. User sentiment data is also collected. For example:
[0480] Identify the emotions users experience while reviewing a document, and use those emotions to analyze which parts are causing stress and provide suggestions for improvement.
[0481] 7. Feedback Analysis:
[0482] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[0483] 8. Final storage and publication:
[0484] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[0485] In this way, by using the emotion engine, feedback based on emotion data is reflected, resulting in more effective and high-quality document management.
[0486] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0487] Step 1:
[0488] The server periodically retrieves the latest source code from the repository. The server uses a version control system such as Git to clone the source code from the specified repository and download it to a temporary directory. The input is the repository URL, and the output is the source code stored in the temporary directory.
[0489] Step 2:
[0490] The server analyzes the acquired source code. Specifically, it uses an AI model to identify the main functions and changes in the source code. The analysis targets the contents of the source code files, and outputs a list of the main functions and changes.
[0491] Step 3:
[0492] The server generates technical documentation based on the extracted information. It uses text generation and diagram generation technologies to create detailed technical documentation and sequence diagrams. The input is a list of major features and changes, and the output is the generated technical documentation and sequence diagrams. For example, a generative AI model such as OpenAI's GPT-3 is used to generate source code descriptions.
[0493] Step 4:
[0494] The server temporarily stores the generated document and notifies the user that it is ready for review. The input is the generated technical document and the output is the notification sent. The user accesses this document through a web interface.
[0495] Step 5:
[0496] The server activates an emotion engine to recognize the user's emotions during the review. It collects facial and voice data from the user's device and analyzes it in real time. The input is the user's facial and voice data, and the output is emotion data.
[0497] Step 6:
[0498] The user reviews the generated document and adds any necessary corrections or comments. During the review, the emotion recognition system continues to collect the user's emotional data. The input is the generated technical document and the user's feedback, and the output is the document with correction comments.
[0499] Step 7:
[0500] The server analyzes the collected user emotional data and makes correction suggestions. The analysis targets emotional data, and the output is emotion-based correction suggestions. This identifies parts that users find stressful or difficult to understand.
[0501] Step 8:
[0502] The server modifies, saves, and publishes the final technical document. The final document modifications reflect user feedback and modification suggestions based on sentiment data. The input is the document with modification comments and modification suggestions, and the output is the final technical document.
[0503] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0504] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search<url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0505] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0506] [Second embodiment]
[0507] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0508] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0509] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0510] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0511] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0512] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0513] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0514] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0515] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0516] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0517] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0518] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0519] System Overview
[0520] The present invention provides a system for automatically generating and updating documents based on source code in software development projects. This system is realized by combining processes such as analyzing source code, generating documents and diagrams, reviewing them, and periodically updating them.
[0521] System Components
[0522] server
[0523] The server plays a central role in this system. Specifically, it performs the following functions:
[0524] 1. Get source code: The server gets the latest source code from the repository.
[0525] 2. Source code analysis: The server analyzes the acquired source code and extracts the main functions and specification changes.
[0526] 3. Document generation: Automatically generate text and figures based on the extracted information.
[0527] 4. Prepare for review: The generated document is temporarily saved and notified to the user for review.
[0528] 5. Regular updates: Repeat these processes regularly to keep your documentation up to date.
[0529] User
[0530] The user reviews the generated document and makes any necessary corrections. The user operates through a web interface.
[0531] 1. Review and Correct: Users review the generated documentation and provide feedback and corrections.
[0532] 2. Providing Feedback: User feedback is important to ensure the quality of the final document.
[0533] Terminal
[0534] The terminal is a device through which the user interacts with the server, and is provided with an interface using a web browser.
[0535] Overview of program processing
[0536] 1. Obtaining the source code
[0537] The server automatically retrieves the latest source code from the repository. Using the repository URL, it executes the git clone command and saves the source code in a temporary directory.
[0538] 2. Source code analysis
[0539] The server uses an analytical AI model to analyze the acquired source code, extracting changes and new features and providing them as a list.
[0540] 3. Generating Documentation
[0541] The server uses a combination of text generation technology and diagram generation technology based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[0542] 4. Review Preparation
[0543] The generated document is temporarily stored and made accessible through a web interface for the user to review and modify, and the server notifies the user and prompts them to review.
[0544] 5. Review and Revision
[0545] Users access the web interface using their terminals, review the provided documents, add corrections and comments, and then submit their feedback to the server.
[0546] 6. Final preservation and publication
[0547] The server finally stores the modified document based on the user's feedback and makes it public if necessary.
[0548] Specific examples
[0549] 1. Obtaining the source code
[0550] After a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a regular schedule.
[0551] 2. Source code analysis
[0552] The server analyzes the acquired source code using an AI model and extracts a list of new features and changes that have been added.
[0553] 3. Generating Documentation
[0554] Based on the extracted information, technical documentation is created using text generation technology, and sequence diagrams are generated using diagram generation technology.
[0555] 4. Review Preparation
[0556] The generated document is temporarily saved and the user is notified via email or a notification system that it is ready for review.
[0557] 5. Review and Revision
[0558] Users access a web interface to review the generated document, add corrections and comments using their own devices, and submit feedback to the server.
[0559] 6. Final preservation and publication
[0560] The server saves the final version of the document, modified based on user feedback, and makes it publicly available as needed.
[0561] This automates the creation and updating of documents in software development, realizing efficient and reliable document management.
[0562] The processing flow will be explained below.
[0563] Step 1:
[0564] The server retrieves the latest source code from the specified repository URL, executes the git clone command to download the repository contents to a temporary directory, and then loads the necessary source code files.
[0565] Step 2:
[0566] The server analyzes the source code and uses generative AI to extract key features and changes. This analysis identifies modified functions and newly added features and creates a list of them.
[0567] Step 3:
[0568] The server generates documents based on the analysis results. It uses text generation technology to create detailed technical documentation of the extracted information, and uses diagram generation technology to create visual technical diagrams such as sequence diagrams.
[0569] Step 4:
[0570] The server temporarily stores the generated documents and diagrams, preserving the documents for subsequent review, and sends notifications to users to prompt them to review them.
[0571] Step 5:
[0572] The user accesses the web interface to review the generated documentation. The user checks the technical documentation and diagrams and adds any necessary corrections or comments.
[0573] Step 6:
[0574] The user submits the review results to the server, and corrections and comments are sent to the server via a web interface.
[0575] Step 7:
[0576] The server modifies the document based on user feedback, saves the final version of the document with the necessary modifications, and publishes it as needed.
[0577] Step 8:
[0578] The server runs these processes periodically, using a scheduler to schedule source code retrieval, analysis, documentation generation, and review at regular intervals, ensuring that documentation is always up-to-date.
[0579] Example 1
[0580] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0581] In traditional software development projects, document creation and updating is often done manually, resulting in significant time and effort consumption and making it difficult to maintain accuracy and consistency of the documents. Therefore, there is a need for a method to streamline the creation and management of technical documents that continuously reflect the latest information and to automate the document review process.
[0582] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0583] In this invention, the server includes means for acquiring source code, means for loading an artificial intelligence model and analyzing the acquired source code to extract key functions and changes, means for generating documents based on the extracted information using a combination of text generation and diagram generation technologies, means for a user to review and correct the generated documents via a web interface and send the feedback to the server, means for temporarily saving the generated documents and notifying the user that they are ready for review, and means for periodically executing these processes. This automates the generation and updating of documents, enabling efficient and accurate management of technical documents.
[0584] "Source code" is a set of instructions that make up a program, and is text that describes specific operational instructions for a computer.
[0585] "Means of acquisition" refers to the functions and methods for retrieving the latest source code from a repository, database, etc. and storing it on a server.
[0586] "Means of analysis" refers to methods or processing systems that use artificial intelligence models or algorithms to detect and extract key features and changes from source code.
[0587] An "artificial intelligence model" is a collection of programs that use machine learning and deep learning technologies, and is a model for performing data analysis and predictions.
[0588] "Text generation technology" is a technology that uses natural language processing technology to generate sentences from predetermined information.
[0589] "Diagram generation technology" is a technology that generates visual representations such as technical diagrams and sequence diagrams from predetermined information.
[0590] "Documents" are documents or files that describe technical information, operating procedures, etc., and in software development, this includes specifications, design documents, manuals, etc.
[0591] A "web interface" is an interface that allows a user to access a server through a web browser and perform various operations and view information.
[0592] "Review" refers to the process of checking the content of the generated document and providing corrections and feedback.
[0593] "Feedback" refers to user-provided evaluations and suggested revisions, and is information useful for improving the quality of a document.
[0594] "Temporary storage" refers to the process of temporarily storing generated data or files until permanent storage or further processing occurs.
[0595] A "means for periodic execution" is a function or method for automatically and repeatedly executing a series of processes according to a set schedule or timing.
[0596] MODE FOR CARRYING OUT THE INVENTION
[0597] System configuration
[0598] The system of the present invention consists of three main components: a server, a terminal, and a user. The server plays a central role and automates the entire process, including source code acquisition, analysis, document generation, and review preparation. Users use their own terminals to review documents and provide feedback.
[0599] Specific actions
[0600] The server performs the following specific actions:
[0601] Get the source code
[0602] The server accesses the specified repository URL to obtain the latest source code. The repository is managed on a source code sharing system. The source code is saved in a temporary directory using the git clone command.
[0603] bash
[0604] git clone https: / / example.com / repository.git / path / to / temp / dir
[0605] Source code analysis
[0606] The server then loads a pre-trained artificial intelligence model (e.g., OpenAI's code analysis model) and uses it to analyze the acquired source code and extract important information, such as new features and changes.
[0607] Generate documentation
[0608] Based on the analysis results, the server generates the text portion of the technical documentation using text generation technology (e.g., a generative AI model such as GPT-4), and also generates technical diagrams such as sequence diagrams and class diagrams using diagram generation technology (e.g., PlantUML).
[0609] Here is an example prompt:
[0610] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[0611] Review Preparation
[0612] The generated document is stored and provided to the user through a web interface for access. The server notifies the user through a notification system that the document is ready for review. The notification includes:
[0613] Subject: Document review request
[0614] Body: The latest technical documentation has been generated. Please review it.
[0615] Link: http: / / server_address / documents / review
[0616] Reviews and Feedback
[0617] The user accesses the web interface from their own device and checks the generated document. The user reviews the document and sends feedback such as corrections to typos, corrections to the content, and comments to the server. The submission process is carried out using the "Submit" button on the web form.
[0618] Final preservation and publication
[0619] The server will revise the document based on user feedback, save it as the final version, and, if necessary, publish it on the official website or the project's documentation server.
[0620] Specific examples
[0621] 1. Get the source code:
[0622] A user adds a new feature and commits it to the repository.
[0623] The server automatically retrieves the latest source code from the repository every night.
[0624] 2. Source code analysis:
[0625] The server uses OpenAI's code analysis model to list newly added features and changes.
[0626] 3. Generate documentation:
[0627] Based on the extracted information, technical documentation is generated using GPT-4 and sequence diagrams are created using PlantUML.
[0628] 4. Review Preparation:
[0629] The server temporarily stores the generated document and notifies the user by email that it is ready for review.
[0630] 5. Review and Correct:
[0631] Users access the web interface using their own terminals, check the document, add necessary corrections and comments, and feed them back to the server.
[0632] 6. Final saving and publishing:
[0633] The server will store the final document and make it available on the project's official website.
[0634] This automates the entire invention process and enables efficient and accurate management of technical documents.
[0635] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0636] Step 1:
[0637] Get the source code
[0638] The server accesses the repository URL to retrieve the latest source code. Using the repository URL as input, it clones the source code into a temporary directory using the git clone command. The output is the retrieved source code saved in the temporary directory.
[0639] The specific behavior is as follows:
[0640] bash
[0641] git clone https: / / example.com / repository.git / path / to / temp / dir
[0642] Step 2:
[0643] Source code analysis
[0644] The server loads a pre-trained artificial intelligence model and analyzes the retrieved source code. Using the retrieved source code as input, the model extracts new features, changes, and bug fixes. The output is a list of the analyzed information.
[0645] The specific behavior is as follows:
[0646] Load the artificial intelligence model into memory.
[0647] Enter source code into the loaded model and run the analysis.
[0648] Step 3:
[0649] Generate documentation
[0650] The server generates documents based on the analysis results using a combination of text generation and diagram generation technologies. It uses the list of analyzed information as input and generates the text portion of the technical documentation using a generative AI model (e.g., GPT-4). At the same time, it generates sequence diagrams using diagram generation technology (e.g., PlantUML). The output is the generated and temporarily saved technical documentation and diagrams.
[0651] Here is an example prompt:
[0652] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[0653] Step 4:
[0654] Review Preparation
[0655] The server temporarily saves the generated document and notifies the user. The input and output are the generated document and its save destination, and clicking the notification button sends email or system notification to the user.
[0656] The specific behavior is as follows:
[0657] Save the generated documentation to a specific directory.
[0658] Notify users via email or notification system.
[0659] The notification reads as follows:
[0660] Subject: Document review request
[0661] Body: The latest technical documentation has been generated. Please review it.
[0662] Link: http: / / server_address / documents / review
[0663] Step 5:
[0664] Reviews and Feedback
[0665] The user accesses the web interface using a terminal and checks the generated document. The input is the document to be reviewed, and the output is feedback information. The user can correct typos, add comments, etc., and submit it to the server.
[0666] The specific behavior is as follows:
[0667] Open your web browser and enter the provided URL.
[0668] Fill out the review details in the web form and click the "Submit" button.
[0669] Step 6:
[0670] Final preservation and publication
[0671] The server modifies the document based on user feedback, saves the final version, and optionally publishes it to the official website or project's documentation server. The input is the modified document, and the output is the final, published version.
[0672] The specific behavior is as follows:
[0673] Revise the documentation based on user feedback.
[0674] Save the final, modified document in a long-term storage directory.
[0675] If necessary, upload it to the official website or document server.
[0676] (Application example 1)
[0677] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0678] Document generation and updating in conventional software development projects is often manual, resulting in inefficiency and a lack of accuracy. In factories, managing machine operation data and maintenance history is tedious and updates are infrequent, potentially reducing reliability. There is a need to solve these problems and provide a more efficient and reliable document management system.
[0679] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0680] In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code to extract key functions and changes, means for generating documentation based on the extracted information, means for reviewing and correcting the generated documentation, means for periodically executing these processes, means for acquiring machine operation data and maintenance history, means for analyzing the acquired data using an AI model, means for generating technical documentation and maintenance logs based on the analysis results, and means for user review via a web interface. This enables automatic generation and updating of documentation in software development and factory operation.
[0681] "Source code" is a description written in a programming language that describes the behavior of software or a program.
[0682] "Means of retrieval" are the methods and techniques used to retrieve data from repositories and databases.
[0683] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[0684] "Extraction means" refers to methods and techniques for finding important information and features from large amounts of data.
[0685] "Document" is a document that explains the specifications and procedures of a system or program.
[0686] "Generation means" refers to methods and technologies for automatically creating data and information.
[0687] "Review and correction means" refers to the methods and techniques used to review the generated documentation and make changes or corrections as necessary.
[0688] A "periodic execution means" is a method or technique for repeatedly executing a process at regular time intervals.
[0689] "Operational data" refers to data that indicates the operating status of a machine or system.
[0690] "Maintenance history" is a record of maintenance work performed on a machine or system.
[0691] An "AI model" is a mathematical model that uses artificial intelligence technology to perform a specific task.
[0692] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[0693] A "technical document" is a document that details technical specifications and procedures.
[0694] A "maintenance log" is a detailed record of maintenance work performed on a machine or system.
[0695] "Web interface" means an interface through which a user accesses the system via a web browser.
[0696] "User review" is the process by which users review the generated documentation and provide feedback as needed.
[0697] This invention is a system for automatically generating and updating documents necessary for factory operation, and its main components are a server, a terminal, and a user. The program for realizing this system is configured as follows.
[0698] First, the server acquires operation data and maintenance history from each machine in the factory. SSL encrypted communication and the MQTT protocol are used to securely transmit the data to the server. The server then stores the acquired data and analyzes it using an analytical AI model (such as TensorFlow or PyTorch).
[0699] Important points are extracted from the analysis results and automatically generated as technical documentation and maintenance logs using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The generated documentation is temporarily saved and made accessible to users through a web interface (e.g., Django, Flask).
[0700] Users access the web interface using their terminals to review the generated document. They can add corrections and comments and send their feedback to the server. Finally, the server modifies the document based on the user's feedback, saves it as the final version, and optionally uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage).
[0701] As a concrete example, if a robot in a factory collects daily operational data and generates a maintenance log stating, "Yesterday's maintenance on XYZ machine involved replacing a valve," an example of a prompt to use would be:
[0702] Prompt statement:
[0703] Analyze yesterday's operating data and maintenance history of XYZ machine and generate a maintenance log. Highlight information about valve replacement.
[0704] Based on this prompt, the AI model automatically generates an appropriate maintenance log for the user to review, enabling the automatic generation and updating of documentation in software development and factory operations.
[0705] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0706] Step 1:
[0707] The server acquires operation data and maintenance history from each machine in the factory. The input is the machine's operation data and maintenance history, and the data is securely sent to the server using SSL encrypted communication and the MQTT protocol. The output is the acquired data stored on the server. Specific operations include the process of collecting machine sensor data in real time and sending it to the server.
[0708] Step 2:
[0709] The server stores the acquired data and analyzes it using an AI model (such as TensorFlow or PyTorch). The input is the stored operational data and maintenance history, which the AI model analyzes to extract important information. The output is the analyzed data. Specific operations include the process of storing data in a database and supplying it to the AI model to obtain analysis results.
[0710] Step 3:
[0711] The server generates technical documentation and maintenance logs based on the analysis results using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The input is the analyzed data, which is converted into technical documentation in the form of text and diagrams. The output is the generated technical documentation. Specific operations include the process of inputting a prompt sentence into the generative AI model and outputting a document in an appropriate format.
[0712] Step 4:
[0713] The server temporarily stores the generated documents and makes them accessible to the user through a web interface (e.g., Django, Flask). The input is the generated technical documentation, which is displayed in the web interface in a format that the user can review. The output is the reviewable document. Specific operations include the process of uploading the document data to the web server and displaying it in the user interface.
[0714] Step 5:
[0715] A user accesses the web interface using a terminal, reviews the generated document, and adds necessary corrections and comments. The input is the reviewable document on the web interface, and the user's feedback is sent to the server. The output is the corrected document. Specific operations include the process of the user inputting feedback in real time through the interface.
[0716] Step 6:
[0717] The server modifies the document based on user feedback, saves it as the final version, and uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage) as needed. The input is user feedback and the document to be modified, and the final technical document is generated. The output is the final technical document. Specific operations include the process of modifying the document to reflect the feedback and securely uploading it to cloud storage.
[0718] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0719] System Overview
[0720] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[0721] System Components
[0722] server
[0723] The server plays a central role in this system. Specifically, it performs the following functions:
[0724] 1. Get source code: The server gets the latest source code from the repository by running the git clone command to download the repository contents to a temporary directory and load the necessary source code files.
[0725] 2. Source code analysis: The server analyzes the acquired source code and extracts key features and changes in specifications. It uses an AI model to identify changes and new features and compiles them into a list.
[0726] 3. Document generation: Based on the analysis results, the server uses text generation and diagram generation technologies to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[0727] 4. Ready for Review: The generated document is temporarily saved and the user is notified that it is ready for review. It is made accessible to the user through a web interface.
[0728] 5. Emotion Recognition: The server activates an emotion engine to analyze the user's emotions during the review and collects the user's facial expression and voice data.
[0729] 6. Feedback analysis: The server analyzes the user's emotional data and makes correction suggestions based on it. Feedback that takes the user's emotions into account is reflected in the document.
[0730] User
[0731] The user reviews and modifies the generated document through a web interface and an emotion recognition system.
[0732] 1. Review and Correct: The user reviews the generated document and adds any necessary corrections or comments. The emotion recognition system is activated to collect user feedback.
[0733] 2. Providing feedback: User feedback along with emotional data is sent to the server and used to improve the quality of the final document.
[0734] Terminal
[0735] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition capabilities may also be built into the terminal.
[0736] Overview of program processing
[0737] 1. Obtaining the source code
[0738] The server periodically retrieves the latest source code from the repository, ensuring that the generated documentation is always based on the most up-to-date content.
[0739] 2. Source code analysis
[0740] The server uses AI models to analyze the source code and extract key features and changes, which then creates documentation that reflects the latest changes.
[0741] 3. Generating Documentation
[0742] The server uses text generation technology to create technical documentation and diagram generation technology to generate sequence diagrams, automatically generating detailed and accurate technical documentation.
[0743] 4. Review Preparation
[0744] The server temporarily stores the generated document and notifies the user of the start of the review process, who then accesses the document through a web interface.
[0745] 5. Emotion recognition
[0746] The server activates an emotion engine to analyze the user's facial expressions and voice, and the emotion engine recognizes the user's emotions as they review the document.
[0747] 6. Review and Revision
[0748] The user reviews the generated document using the device. The user's feedback is sent to the server along with the emotion data. The user adds corrections and comments and sends them back to the server.
[0749] 7. Feedback Analysis
[0750] The server analyzes the user's emotional data and suggests document revisions based on the results, resulting in the generation of high-quality documents that take the user's emotions into account.
[0751] 8. Final preservation and publication
[0752] The server then makes final revisions to the document based on user feedback, stores it, and, if necessary, performs a publishing process.
[0753] Specific examples
[0754] 1. Obtaining the source code
[0755] When a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a scheduled basis.
[0756] 2. Source code analysis
[0757] The AI model analyzes the acquired source code and creates a list of changes and new features.
[0758] 3. Generating Documentation
[0759] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies.
[0760] 4. Review Preparation
[0761] The generated document is temporarily saved and notified to the user.
[0762] 5. Emotion recognition
[0763] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[0764] 6. Review and Revision
[0765] Users use a web interface to review documents and add necessary corrections and comments, while their sentiment data is collected.
[0766] 7. Feedback Analysis
[0767] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[0768] 8. Final preservation and publication
[0769] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[0770] This allows the use of an emotion engine to reflect feedback based on emotional data, resulting in more effective and high-quality document management.
[0771] The processing flow will be explained below.
[0772] Step 1:
[0773] The server retrieves the latest source code using the specified repository URL. Specifically, it uses the git clone command to clone the repository into a temporary directory and loads the necessary source code files. This obtains the latest source code.
[0774] Step 2:
[0775] The server analyzes the acquired source code and uses generative AI to extract key features and changes. The analysis results are organized into a list, identifying changed functions and new features.
[0776] Step 3:
[0777] The server generates documentation based on the analysis results. During this process, it uses text generation technology to create detailed technical documentation from the analysis results, and uses diagram generation technology to generate technical diagrams such as sequence diagrams. This allows comprehensive technical documentation to be created automatically.
[0778] Step 4:
[0779] The server temporarily stores the generated documents and diagrams, keeps them accessible to the user for subsequent review, and notifies the user when they are ready for review.
[0780] Step 5:
[0781] The user accesses the web interface to review the generated document. The user checks the content of the document through the provided interface and adds any necessary corrections or comments. At this time, the emotion recognition system is activated and analyzes the user's facial expressions and voice in real time.
[0782] Step 6:
[0783] The server uses an emotion engine to collect user emotion data, which is acquired through a webcam or microphone and analyzed to determine which parts of the document elicited emotion.
[0784] Step 7:
[0785] The server analyzes the feedback based on the user's emotional data. For example, if the user feels stressed in a particular area, it will suggest improvements or corrections for that area. The server also evaluates the document's comprehension and usability based on the emotional data.
[0786] Step 8:
[0787] The server receives user feedback and modifies the final document. Modification suggestions based on emotion data are incorporated to create a document that is easier for users to understand and use. The modified document is then saved and made public if necessary.
[0788] Step 9:
[0789] The server runs these processes periodically, and by setting a schedule, the process of retrieving source code, analyzing it, generating documentation, and reviewing it can be automatically repeated at regular intervals, ensuring that documentation is always based on up-to-date information.
[0790] Example 2
[0791] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0792] Conventional documentation generation systems analyze changes in source code and generate documentation, but lack a review function that takes user feedback into account, making it difficult to reduce user stress and confusion and generate high-quality documentation. Furthermore, since revision suggestions based on user feedback are not efficiently implemented, there is also the issue of not being able to make highly relevant improvements.
[0793] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing and analyzing a user's emotions during the review, means for analyzing the user's emotion data and suggesting document corrections based on the feedback, and means for periodically executing these processes. This enables the generation and correction of high-quality documents that take user emotions into consideration.
[0794] A "server" is a computer system that provides functions and data to other computers (clients) in a computer network.
[0795] "Source code" is a human-readable description of a program written in a programming language; it is a set of instructions that a computer executes.
[0796] "Means of acquisition" refers to methods or processes for automatically collecting specific data or information from repositories, etc.
[0797] "Means of analysis" are methods and techniques for analyzing acquired data and information and understanding and classifying its contents.
[0798] "Extraction means" refers to a method for extracting important information, such as specific features or changes, from the analyzed data.
[0799] "Means for generating" refers to a method for creating new documents or diagrams based on the extracted data.
[0800] "Review means" refers to the method or process for reviewing the generated documentation and proposing corrections as needed.
[0801] "Means for recognizing emotions" refers to technology for identifying a user's emotional state using data such as the user's facial expressions and voice.
[0802] The "means of analysis" is a method for analyzing the recognized emotion data and understanding the results.
[0803] The "means for suggesting corrections based on feedback" is a method for suggesting improvements to a document based on the results of analyzing user feedback and emotional data.
[0804] A "periodic execution method" is a method for automatically executing a specific process or task at regular intervals.
[0805] "Document generation means" refers to means for creating the necessary technical documents and diagrams using text generation technology and diagram generation technology.
[0806] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[0807] System Overview
[0808] This system consists of three main components: a server, a terminal, and a user.
[0809] server
[0810] The server plays a central role in this system and performs the following operations:
[0811] 1. Get the source code:
[0812] The server runs the git clone command to get the latest source code from a repository, for example, to get the code from a specific repository (e.g., git@github.com:example / repo.git).
[0813] 2. Source code analysis:
[0814] The server analyzes the acquired source code using an AI model (e.g., GPT-3) to extract key functions and changes. The AI model identifies function additions and parameter changes.
[0815] 3. Generate documentation:
[0816] The server generates technical documentation and sequence diagrams using text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML). For example, it generates technical documentation and sequence diagrams for a new authentication function.
[0817] 4. Review Preparation:
[0818] The server saves the generated document in a temporary directory and notifies the user, either via email or a web interface dashboard.
[0819] 5. Emotion recognition:
[0820] The server runs an emotion engine (e.g., OpenFace or IBM Watson) to collect data on the user's facial expressions and voice, and then collects and analyzes the user's emotion data in real time.
[0821] 6. Feedback analysis:
[0822] The server analyzes the user's emotions based on the collected emotional data and makes suggestions for corrections, such as adding specific explanations to parts that the user is confused about.
[0823] User
[0824] The user is responsible for reviewing and correcting the generated document. The user performs the following operations:
[0825] 1. Review and Correct:
[0826] The user accesses a web interface to review the generated document. As they make necessary corrections or add comments, the emotion recognition system captures the user's facial expressions and voice and sends them as feedback to the server.
[0827] 2. Providing Feedback:
[0828] The user's feedback and emotional data are sent to the server and used to improve the quality of the final document. For example, if emotional data is collected showing that the user is confused by a particular part, a suggestion will be made to add an explanation for that part.
[0829] Terminal
[0830] A terminal is a device that allows users to interact with a server. A terminal has the following functions:
[0831] 1. User interaction:
[0832] The terminal (PC or smartphone) is a device that allows the user to interact with the server via a web browser. If the terminal is equipped with emotion recognition functionality, it collects the user's facial expressions and voice through a camera and microphone.
[0833] Specific examples
[0834] Specific examples are shown below.
[0835] 1. Example of obtaining source code:
[0836] The server retrieves the source code from the repository, for example using the following command:
[0837] git clone git@github.com:example / repo.git
[0838] 2. Example of source code analysis:
[0839] The server inputs the acquired source code into the AI model and compiles a list of function additions and parameter changes.
[0840] 3. Example of document generation:
[0841] To have the server generate technical documentation and sequence diagrams, use the following prompts:
[0842] The source code for a new authentication feature has been added. Generate technical documentation and sequence diagrams for the feature. During the review, recognize user sentiment, identify areas of confusion, and offer suggestions to improve the explanation.
[0843] 4. Examples of emotion recognition and feedback analysis:
[0844] The server activates the emotion engine and collects the user's facial expressions and voice through the camera and microphone. For example, if the user frowns in front of the screen, that emotion is recognized and sent as feedback to the server.
[0845] This enables the generation and revision of high-quality documents that take into account the user's feelings.
[0846] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0847] Step 1:
[0848] Get the source code:
[0849] The server periodically accesses the repository to retrieve the latest source code.
[0850] Input: Repository URL and other information.
[0851] Specific operation: Execute the git clone command and save the repository contents to a temporary directory.
[0852] Output: The retrieved source code is saved in a temporary directory.
[0853] Step 2:
[0854] Source code analysis:
[0855] The source code retrieved by the server is analyzed using an AI model (e.g., GPT-3).
[0856] Input: The retrieved source code.
[0857] Specific operation: The source code is input into the AI model to extract key features and changes.
[0858] Output: Function additions and parameter changes are extracted as a list.
[0859] Step 3:
[0860] Generate documentation:
[0861] The server uses text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML) to generate technical documentation and sequence diagrams.
[0862] Input: Analysis results (list of changes and new features).
[0863] Specific behavior: Automatically generate technical documentation and sequence diagrams using prompt statements.
[0864] Output: Generated technical documentation and sequence diagrams.
[0865] Step 4:
[0866] Review Preparation:
[0867] The server saves the generated document in a temporary directory and notifies the user.
[0868] Input: Generated technical documentation and sequence diagrams.
[0869] What it does: Saves it to a temporary directory and notifies you via email and the web interface dashboard.
[0870] Output: The user is notified that the review is ready.
[0871] Step 5:
[0872] Emotion recognition:
[0873] The server launches an emotion engine (e.g., OpenFace or IBM Watson) and collects data on the user's facial expressions and voice.
[0874] Input: User's facial expression data and voice data.
[0875] Specific operation: Data is collected in real time through cameras and microphones and analyzed by an emotion engine.
[0876] Output: Parsed emotion data.
[0877] Step 6:
[0878] Review and fix:
[0879] The user accesses the web interface to review the generated documentation and add any necessary corrections or comments.
[0880] Input: Generated technical documentation and sequence diagrams, user review comments.
[0881] What it does: Access documents to make corrections and comments, and collect feedback using an emotion recognition system.
[0882] Output: The revised document and feedback data.
[0883] Step 7:
[0884] Feedback Analysis:
[0885] The server makes suggestions for document revisions based on the user's emotional data.
[0886] Input: User feedback and emotion data.
[0887] Specific behavior: Analyzes emotional data to identify areas where users are confused or dissatisfied, and generates suggested fixes.
[0888] Output: An updated document with suggested fixes.
[0889] Step 8:
[0890] Final save and publish:
[0891] The server stores the final document and makes it available as needed.
[0892] Input: The updated document with the suggested corrections.
[0893] What happens: Save the final document and upload it to the project wiki page or internal system.
[0894] Output: The final technical documentation is archived and published.
[0895] (Application example 2)
[0896] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0897] With current technology, generating and reviewing technical documentation from source code requires a lot of manual work and time, making it inefficient. Furthermore, because the review process does not take into account user feelings, parts that cause stress or are difficult to understand can be overlooked. As a result, the quality of the documentation declines and the user experience is negatively affected.
[0898] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing a user's emotions during review, means for analyzing the user's emotion data and suggesting document corrections, and means for periodically executing these processes. This enables feedback that takes user emotions into consideration during the automatic generation and review process of technical documentation, thereby improving document quality and user experience.
[0899] "Source code" is a text file that describes a program and contains instructions that a computer can execute.
[0900] "Analysis" is the process of examining source code and data in detail to identify its structure, function, and changes.
[0901] "Major functions" are code sections within the source code that perform important operations or roles, and that support the basic operation of the program.
[0902] "Changes" are parts that have been added or modified by updating or modifying the source code.
[0903] "Documentation" refers to technical documentation generated based on source code and its analysis results, including diagrams such as sequence diagrams.
[0904] "Review" is the process of checking the generated documentation and adding corrections or comments as necessary.
[0905] "Proposals for corrections" are suggestions for improvements to documentation or source code based on analysis and user feedback.
[0906] "Emotion recognition" is a technology that identifies a user's emotional state based on their facial expressions and voice.
[0907] "Emotion data" is a record of a user's emotions in numerical or text format.
[0908] "Periodic execution" means that a process or task is executed repeatedly at regular intervals.
[0909] A "repository" is a database for managing source code and related documents, and has a version control function.
[0910] "Technical documentation" is a set of documents that describe the source code, its functions, structure, and usage.
[0911] A "sequence diagram" is a diagram that visually shows the flow of operations and interactions within a system or process.
[0912] An "AI model" is a computational model that uses machine learning and deep learning technologies to perform data analysis and predictions.
[0913] "Feedback analysis" is the process of collecting and evaluating feedback from users to identify areas for improvement.
[0914] System Overview
[0915] This invention is a system that automatically generates and updates technical documentation based on the source code of a factory robot's operating program, and provides higher quality documentation by recognizing and providing feedback on the user's emotions. The system is primarily composed of a server, terminals, and users.
[0916] System Components
[0917] server
[0918] The server plays a central role in this system. Specifically, it performs the following operations:
[0919] 1. Get the source code:
[0920] The server retrieves the latest source code from the repository, using a version control system such as Git to clone the code from the repository and download it to a temporary directory.
[0921] 2. Source code analysis:
[0922] The server analyzes the acquired source code, extracts key features and changes, and uses an AI model to identify the changes and new features and compile them into a list.
[0923] 3. Generate documentation:
[0924] The server uses text generation and diagram generation technologies based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams, using generative AI models such as OpenAI's GPT-3.
[0925] 4. Review Preparation:
[0926] The generated document is saved and the user is notified that it is ready for review, and can be accessed through a web interface.
[0927] 5. Emotion recognition:
[0928] The server activates an emotion engine to analyze the user's emotions during the review process. It collects data on the user's facial expressions and voice and analyzes their emotions.
[0929] 6. Feedback analysis:
[0930] The server analyzes the user's emotional data and makes suggestions for revisions based on that data. Feedback that takes the user's emotions into account is reflected in the document.
[0931] User
[0932] The user reviews the generated documentation and makes corrections. The user interacts with the system in the following ways:
[0933] 1. Review and Correct:
[0934] The user reviews the generated document and adds any necessary corrections or comments, and the emotion recognition system is activated to collect user feedback.
[0935] 2. Providing Feedback:
[0936] User feedback, along with emotional data, is sent to the server and used to improve the quality of the final document.
[0937] Terminal
[0938] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition functionality may also be built into the terminal. Smartphones, tablets, etc. are used as terminals.
[0939] Specific examples
[0940] 1. Get the source code:
[0941] As users add new features and commit them to the repository, the server periodically retrieves the latest source code from the repository.
[0942] 2. Source code analysis:
[0943] The AI model analyzes the acquired source code and creates a list of changes and new features.
[0944] 3. Generate documentation:
[0945] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies. Example:
[0946] Generate technical documentation for the following source code:
[0947] def hello_world():
[0948] print("Hello, World!")
[0949] 4. Review Preparation:
[0950] The generated document is saved and notified to the user, who can then access the document using a web interface.
[0951] 5. Emotion recognition:
[0952] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[0953] 6. Review and Revision:
[0954] Users use a web interface to review documents and add any necessary corrections or comments. User sentiment data is also collected. For example:
[0955] Identify the emotions users experience while reviewing a document, and use those emotions to analyze which parts are causing stress and provide suggestions for improvement.
[0956] 7. Feedback Analysis:
[0957] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[0958] 8. Final storage and publication:
[0959] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[0960] In this way, by using the emotion engine, feedback based on emotion data is reflected, resulting in more effective and high-quality document management.
[0961] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0962] Step 1:
[0963] The server periodically retrieves the latest source code from the repository. The server uses a version control system such as Git to clone the source code from the specified repository and download it to a temporary directory. The input is the repository URL, and the output is the source code stored in the temporary directory.
[0964] Step 2:
[0965] The server analyzes the acquired source code. Specifically, it uses an AI model to identify the main functions and changes in the source code. The analysis targets the contents of the source code files, and outputs a list of the main functions and changes.
[0966] Step 3:
[0967] The server generates technical documentation based on the extracted information. It uses text generation and diagram generation technologies to create detailed technical documentation and sequence diagrams. The input is a list of major features and changes, and the output is the generated technical documentation and sequence diagrams. For example, a generative AI model such as OpenAI's GPT-3 is used to generate source code descriptions.
[0968] Step 4:
[0969] The server temporarily stores the generated document and notifies the user that it is ready for review. The input is the generated technical document and the output is the notification sent. The user accesses this document through a web interface.
[0970] Step 5:
[0971] The server activates an emotion engine to recognize the user's emotions during the review. It collects facial and voice data from the user's device and analyzes it in real time. The input is the user's facial and voice data, and the output is emotion data.
[0972] Step 6:
[0973] The user reviews the generated document and adds any necessary corrections or comments. During the review, the emotion recognition system continues to collect the user's emotional data. The input is the generated technical document and the user's feedback, and the output is the document with correction comments.
[0974] Step 7:
[0975] The server analyzes the collected user emotional data and makes correction suggestions. The analysis targets emotional data, and the output is emotion-based correction suggestions. This identifies parts that users find stressful or difficult to understand.
[0976] Step 8:
[0977] The server modifies, saves, and publishes the final technical document. The final document modifications reflect user feedback and modification suggestions based on sentiment data. The input is the document with modification comments and modification suggestions, and the output is the final technical document.
[0978] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0979] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0980] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0981] [Third embodiment]
[0982] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0983] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0984] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0985] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0986] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0987] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0988] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0989] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0990] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0991] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0992] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0993] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0994] System Overview
[0995] The present invention provides a system for automatically generating and updating documents based on source code in software development projects. This system is realized by combining processes such as analyzing source code, generating documents and diagrams, reviewing them, and periodically updating them.
[0996] System Components
[0997] server
[0998] The server plays a central role in this system. Specifically, it performs the following functions:
[0999] 1. Get source code: The server gets the latest source code from the repository.
[1000] 2. Source code analysis: The server analyzes the acquired source code and extracts the main functions and specification changes.
[1001] 3. Document generation: Automatically generate text and figures based on the extracted information.
[1002] 4. Prepare for review: The generated document is temporarily saved and notified to the user for review.
[1003] 5. Regular updates: Repeat these processes regularly to keep your documentation up to date.
[1004] User
[1005] The user reviews the generated document and makes any necessary corrections. The user operates through a web interface.
[1006] 1. Review and Correct: Users review the generated documentation and provide feedback and corrections.
[1007] 2. Providing Feedback: User feedback is important to ensure the quality of the final document.
[1008] Terminal
[1009] The terminal is a device through which the user interacts with the server, and is provided with an interface using a web browser.
[1010] Overview of program processing
[1011] 1. Obtaining the source code
[1012] The server automatically retrieves the latest source code from the repository. Using the repository URL, it executes the git clone command and saves the source code in a temporary directory.
[1013] 2. Source code analysis
[1014] The server uses an analytical AI model to analyze the acquired source code, extracting changes and new features and providing them as a list.
[1015] 3. Generating Documentation
[1016] The server uses a combination of text generation technology and diagram generation technology based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[1017] 4. Review Preparation
[1018] The generated document is temporarily stored and made accessible through a web interface for the user to review and modify, and the server notifies the user and prompts them to review.
[1019] 5. Review and Revision
[1020] Users access the web interface using their terminals, review the provided documents, add corrections and comments, and then submit their feedback to the server.
[1021] 6. Final preservation and publication
[1022] The server finally stores the modified document based on the user's feedback and makes it public if necessary.
[1023] Specific examples
[1024] 1. Obtaining the source code
[1025] After a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a regular schedule.
[1026] 2. Source code analysis
[1027] The server analyzes the acquired source code using an AI model and extracts a list of new features and changes that have been added.
[1028] 3. Generating Documentation
[1029] Based on the extracted information, technical documentation is created using text generation technology, and sequence diagrams are generated using diagram generation technology.
[1030] 4. Review Preparation
[1031] The generated document is temporarily saved and the user is notified via email or a notification system that it is ready for review.
[1032] 5. Review and Revision
[1033] Users access a web interface to review the generated document, add corrections and comments using their own devices, and submit feedback to the server.
[1034] 6. Final preservation and publication
[1035] The server saves the final version of the document, modified based on user feedback, and makes it publicly available as needed.
[1036] This automates the creation and updating of documents in software development, realizing efficient and reliable document management.
[1037] The processing flow will be explained below.
[1038] Step 1:
[1039] The server retrieves the latest source code from the specified repository URL, executes the git clone command to download the repository contents to a temporary directory, and then loads the necessary source code files.
[1040] Step 2:
[1041] The server analyzes the source code and uses generative AI to extract key features and changes. This analysis identifies modified functions and newly added features and creates a list of them.
[1042] Step 3:
[1043] The server generates documents based on the analysis results. It uses text generation technology to create detailed technical documentation of the extracted information, and uses diagram generation technology to create visual technical diagrams such as sequence diagrams.
[1044] Step 4:
[1045] The server temporarily stores the generated documents and diagrams, preserving the documents for subsequent review, and sends notifications to users to prompt them to review them.
[1046] Step 5:
[1047] The user accesses the web interface to review the generated documentation. The user checks the technical documentation and diagrams and adds any necessary corrections or comments.
[1048] Step 6:
[1049] The user submits the review results to the server, and corrections and comments are sent to the server via a web interface.
[1050] Step 7:
[1051] The server modifies the document based on user feedback, saves the final version of the document with the necessary modifications, and publishes it as needed.
[1052] Step 8:
[1053] The server runs these processes periodically, using a scheduler to schedule source code retrieval, analysis, documentation generation, and review at regular intervals, ensuring that documentation is always up-to-date.
[1054] Example 1
[1055] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1056] In traditional software development projects, document creation and updating is often done manually, resulting in significant time and effort consumption and making it difficult to maintain accuracy and consistency of the documents. Therefore, there is a need for a method to streamline the creation and management of technical documents that continuously reflect the latest information and to automate the document review process.
[1057] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1058] In this invention, the server includes means for acquiring source code, means for loading an artificial intelligence model and analyzing the acquired source code to extract key functions and changes, means for generating documents based on the extracted information using a combination of text generation and diagram generation technologies, means for a user to review and correct the generated documents via a web interface and send the feedback to the server, means for temporarily saving the generated documents and notifying the user that they are ready for review, and means for periodically executing these processes. This automates the generation and updating of documents, enabling efficient and accurate management of technical documents.
[1059] "Source code" is a set of instructions that make up a program, and is text that describes specific operational instructions for a computer.
[1060] "Means of acquisition" refers to the functions and methods for retrieving the latest source code from a repository, database, etc. and storing it on a server.
[1061] "Means of analysis" refers to methods or processing systems that use artificial intelligence models or algorithms to detect and extract key features and changes from source code.
[1062] An "artificial intelligence model" is a collection of programs that use machine learning and deep learning technologies, and is a model for performing data analysis and predictions.
[1063] "Text generation technology" is a technology that uses natural language processing technology to generate sentences from predetermined information.
[1064] "Diagram generation technology" is a technology that generates visual representations such as technical diagrams and sequence diagrams from predetermined information.
[1065] "Documents" are documents or files that describe technical information, operating procedures, etc., and in software development, this includes specifications, design documents, manuals, etc.
[1066] A "web interface" is an interface that allows a user to access a server through a web browser and perform various operations and view information.
[1067] "Review" refers to the process of checking the content of the generated document and providing corrections and feedback.
[1068] "Feedback" refers to user-provided evaluations and suggested revisions, and is information useful for improving the quality of a document.
[1069] "Temporary storage" refers to the process of temporarily storing generated data or files until permanent storage or further processing occurs.
[1070] A "means for periodic execution" is a function or method for automatically and repeatedly executing a series of processes according to a set schedule or timing.
[1071] MODE FOR CARRYING OUT THE INVENTION
[1072] System configuration
[1073] The system of the present invention consists of three main components: a server, a terminal, and a user. The server plays a central role and automates the entire process, including source code acquisition, analysis, document generation, and review preparation. Users use their own terminals to review documents and provide feedback.
[1074] Specific actions
[1075] The server performs the following specific actions:
[1076] Get the source code
[1077] The server accesses the specified repository URL to obtain the latest source code. The repository is managed on a source code sharing system. The source code is saved in a temporary directory using the git clone command.
[1078] bash
[1079] git clone https: / / example.com / repository.git / path / to / temp / dir
[1080] Source code analysis
[1081] The server then loads a pre-trained artificial intelligence model (e.g., OpenAI's code analysis model) and uses it to analyze the acquired source code and extract important information, such as new features and changes.
[1082] Generate documentation
[1083] Based on the analysis results, the server generates the text portion of the technical documentation using text generation technology (e.g., a generative AI model such as GPT-4), and also generates technical diagrams such as sequence diagrams and class diagrams using diagram generation technology (e.g., PlantUML).
[1084] Here is an example prompt:
[1085] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[1086] Review Preparation
[1087] The generated document is stored and provided to the user through a web interface for access. The server notifies the user through a notification system that the document is ready for review. The notification includes:
[1088] Subject: Document review request
[1089] Body: The latest technical documentation has been generated. Please review it.
[1090] Link: http: / / server_address / documents / review
[1091] Reviews and Feedback
[1092] The user accesses the web interface from their own device and checks the generated document. The user reviews the document and sends feedback such as corrections to typos, corrections to the content, and comments to the server. The submission process is carried out using the "Submit" button on the web form.
[1093] Final preservation and publication
[1094] The server will revise the document based on user feedback, save it as the final version, and, if necessary, publish it on the official website or the project's documentation server.
[1095] Specific examples
[1096] 1. Get the source code:
[1097] A user adds a new feature and commits it to the repository.
[1098] The server automatically retrieves the latest source code from the repository every night.
[1099] 2. Source code analysis:
[1100] The server uses OpenAI's code analysis model to list newly added features and changes.
[1101] 3. Generate documentation:
[1102] Based on the extracted information, technical documentation is generated using GPT-4 and sequence diagrams are created using PlantUML.
[1103] 4. Review Preparation:
[1104] The server temporarily stores the generated document and notifies the user by email that it is ready for review.
[1105] 5. Review and Correct:
[1106] Users access the web interface using their own terminals, check the document, add necessary corrections and comments, and feed them back to the server.
[1107] 6. Final saving and publishing:
[1108] The server will store the final document and make it available on the project's official website.
[1109] This automates the entire invention process and enables efficient and accurate management of technical documents.
[1110] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1111] Step 1:
[1112] Get the source code
[1113] The server accesses the repository URL to retrieve the latest source code. Using the repository URL as input, it clones the source code into a temporary directory using the git clone command. The output is the retrieved source code saved in the temporary directory.
[1114] The specific behavior is as follows:
[1115] bash
[1116] git clone https: / / example.com / repository.git / path / to / temp / dir
[1117] Step 2:
[1118] Source code analysis
[1119] The server loads a pre-trained artificial intelligence model and analyzes the retrieved source code. Using the retrieved source code as input, the model extracts new features, changes, and bug fixes. The output is a list of the analyzed information.
[1120] The specific behavior is as follows:
[1121] Load the artificial intelligence model into memory.
[1122] Enter source code into the loaded model and run the analysis.
[1123] Step 3:
[1124] Generate documentation
[1125] The server generates documents based on the analysis results using a combination of text generation and diagram generation technologies. It uses the list of analyzed information as input and generates the text portion of the technical documentation using a generative AI model (e.g., GPT-4). At the same time, it generates sequence diagrams using diagram generation technology (e.g., PlantUML). The output is the generated and temporarily saved technical documentation and diagrams.
[1126] Here is an example prompt:
[1127] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[1128] Step 4:
[1129] Review Preparation
[1130] The server temporarily saves the generated document and notifies the user. The input and output are the generated document and its save destination, and clicking the notification button sends email or system notification to the user.
[1131] The specific behavior is as follows:
[1132] Save the generated documentation to a specific directory.
[1133] Notify users via email or notification system.
[1134] The notification reads as follows:
[1135] Subject: Document review request
[1136] Body: The latest technical documentation has been generated. Please review it.
[1137] Link: http: / / server_address / documents / review
[1138] Step 5:
[1139] Reviews and Feedback
[1140] The user accesses the web interface using a terminal and checks the generated document. The input is the document to be reviewed, and the output is feedback information. The user can correct typos, add comments, etc., and submit it to the server.
[1141] The specific behavior is as follows:
[1142] Open your web browser and enter the provided URL.
[1143] Fill out the review details in the web form and click the "Submit" button.
[1144] Step 6:
[1145] Final preservation and publication
[1146] The server modifies the document based on user feedback, saves the final version, and optionally publishes it to the official website or project's documentation server. The input is the modified document, and the output is the final, published version.
[1147] The specific behavior is as follows:
[1148] Revise the documentation based on user feedback.
[1149] Save the final, modified document in a long-term storage directory.
[1150] If necessary, upload it to the official website or document server.
[1151] (Application example 1)
[1152] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1153] Document generation and updating in conventional software development projects is often manual, resulting in inefficiency and a lack of accuracy. In factories, managing machine operation data and maintenance history is tedious and updates are infrequent, potentially reducing reliability. There is a need to solve these problems and provide a more efficient and reliable document management system.
[1154] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1155] In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code to extract key functions and changes, means for generating documentation based on the extracted information, means for reviewing and correcting the generated documentation, means for periodically executing these processes, means for acquiring machine operation data and maintenance history, means for analyzing the acquired data using an AI model, means for generating technical documentation and maintenance logs based on the analysis results, and means for user review via a web interface. This enables automatic generation and updating of documentation in software development and factory operation.
[1156] "Source code" is a description written in a programming language that describes the behavior of software or a program.
[1157] "Means of retrieval" are the methods and techniques used to retrieve data from repositories and databases.
[1158] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[1159] "Extraction means" refers to methods and techniques for finding important information and features from large amounts of data.
[1160] "Document" is a document that explains the specifications and procedures of a system or program.
[1161] "Generation means" refers to methods and technologies for automatically creating data and information.
[1162] "Review and correction means" refers to the methods and techniques used to review the generated documentation and make changes or corrections as necessary.
[1163] A "periodic execution means" is a method or technique for repeatedly executing a process at regular time intervals.
[1164] "Operational data" refers to data that indicates the operating status of a machine or system.
[1165] "Maintenance history" is a record of maintenance work performed on a machine or system.
[1166] An "AI model" is a mathematical model that uses artificial intelligence technology to perform a specific task.
[1167] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[1168] A "technical document" is a document that details technical specifications and procedures.
[1169] A "maintenance log" is a detailed record of maintenance work performed on a machine or system.
[1170] "Web interface" means an interface through which a user accesses the system via a web browser.
[1171] "User review" is the process by which users review the generated documentation and provide feedback as needed.
[1172] This invention is a system for automatically generating and updating documents necessary for factory operation, and its main components are a server, a terminal, and a user. The program for realizing this system is configured as follows.
[1173] First, the server acquires operation data and maintenance history from each machine in the factory. SSL encrypted communication and the MQTT protocol are used to securely transmit the data to the server. The server then stores the acquired data and analyzes it using an analytical AI model (such as TensorFlow or PyTorch).
[1174] Important points are extracted from the analysis results and automatically generated as technical documentation and maintenance logs using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The generated documentation is temporarily saved and made accessible to users through a web interface (e.g., Django, Flask).
[1175] Users access the web interface using their terminals to review the generated document. They can add corrections and comments and send their feedback to the server. Finally, the server modifies the document based on the user's feedback, saves it as the final version, and optionally uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage).
[1176] As a concrete example, if a robot in a factory collects daily operational data and generates a maintenance log stating, "Yesterday's maintenance on XYZ machine involved replacing a valve," an example of a prompt to use would be:
[1177] Prompt statement:
[1178] Analyze yesterday's operating data and maintenance history of XYZ machine and generate a maintenance log. Highlight information about valve replacement.
[1179] Based on this prompt, the AI model automatically generates an appropriate maintenance log for the user to review, enabling the automatic generation and updating of documentation in software development and factory operations.
[1180] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1181] Step 1:
[1182] The server acquires operation data and maintenance history from each machine in the factory. The input is the machine's operation data and maintenance history, and the data is securely sent to the server using SSL encrypted communication and the MQTT protocol. The output is the acquired data stored on the server. Specific operations include the process of collecting machine sensor data in real time and sending it to the server.
[1183] Step 2:
[1184] The server stores the acquired data and analyzes it using an AI model (such as TensorFlow or PyTorch). The input is the stored operational data and maintenance history, which the AI model analyzes to extract important information. The output is the analyzed data. Specific operations include the process of storing data in a database and supplying it to the AI model to obtain analysis results.
[1185] Step 3:
[1186] The server generates technical documentation and maintenance logs based on the analysis results using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The input is the analyzed data, which is converted into technical documentation in the form of text and diagrams. The output is the generated technical documentation. Specific operations include the process of inputting a prompt sentence into the generative AI model and outputting a document in an appropriate format.
[1187] Step 4:
[1188] The server temporarily stores the generated documents and makes them accessible to the user through a web interface (e.g., Django, Flask). The input is the generated technical documentation, which is displayed in the web interface in a format that the user can review. The output is the reviewable document. Specific operations include the process of uploading the document data to the web server and displaying it in the user interface.
[1189] Step 5:
[1190] A user accesses the web interface using a terminal, reviews the generated document, and adds necessary corrections and comments. The input is the reviewable document on the web interface, and the user's feedback is sent to the server. The output is the corrected document. Specific operations include the process of the user inputting feedback in real time through the interface.
[1191] Step 6:
[1192] The server modifies the document based on user feedback, saves it as the final version, and uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage) as needed. The input is user feedback and the document to be modified, and the final technical document is generated. The output is the final technical document. Specific operations include the process of modifying the document to reflect the feedback and securely uploading it to cloud storage.
[1193] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1194] System Overview
[1195] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[1196] System Components
[1197] server
[1198] The server plays a central role in this system. Specifically, it performs the following functions:
[1199] 1. Get source code: The server gets the latest source code from the repository by running the git clone command to download the repository contents to a temporary directory and load the necessary source code files.
[1200] 2. Source code analysis: The server analyzes the acquired source code and extracts key features and changes in specifications. It uses an AI model to identify changes and new features and compiles them into a list.
[1201] 3. Document generation: Based on the analysis results, the server uses text generation and diagram generation technologies to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[1202] 4. Ready for Review: The generated document is temporarily saved and the user is notified that it is ready for review. It is made accessible to the user through a web interface.
[1203] 5. Emotion Recognition: The server activates an emotion engine to analyze the user's emotions during the review and collects the user's facial expression and voice data.
[1204] 6. Feedback analysis: The server analyzes the user's emotional data and makes correction suggestions based on it. Feedback that takes the user's emotions into account is reflected in the document.
[1205] User
[1206] The user reviews and modifies the generated document through a web interface and an emotion recognition system.
[1207] 1. Review and Correct: The user reviews the generated document and adds any necessary corrections or comments. The emotion recognition system is activated to collect user feedback.
[1208] 2. Providing feedback: User feedback along with emotional data is sent to the server and used to improve the quality of the final document.
[1209] Terminal
[1210] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition capabilities may also be built into the terminal.
[1211] Overview of program processing
[1212] 1. Obtaining the source code
[1213] The server periodically retrieves the latest source code from the repository, ensuring that the generated documentation is always based on the most up-to-date content.
[1214] 2. Source code analysis
[1215] The server uses AI models to analyze the source code and extract key features and changes, which then creates documentation that reflects the latest changes.
[1216] 3. Generating Documentation
[1217] The server uses text generation technology to create technical documentation and diagram generation technology to generate sequence diagrams, automatically generating detailed and accurate technical documentation.
[1218] 4. Review Preparation
[1219] The server temporarily stores the generated document and notifies the user of the start of the review process, who then accesses the document through a web interface.
[1220] 5. Emotion recognition
[1221] The server activates an emotion engine to analyze the user's facial expressions and voice, and the emotion engine recognizes the user's emotions as they review the document.
[1222] 6. Review and Revision
[1223] The user reviews the generated document using the device. The user's feedback is sent to the server along with the emotion data. The user adds corrections and comments and sends them back to the server.
[1224] 7. Feedback Analysis
[1225] The server analyzes the user's emotional data and suggests document revisions based on the results, resulting in the generation of high-quality documents that take the user's emotions into account.
[1226] 8. Final preservation and publication
[1227] The server then makes final revisions to the document based on user feedback, stores it, and, if necessary, performs a publishing process.
[1228] Specific examples
[1229] 1. Obtaining the source code
[1230] When a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a scheduled basis.
[1231] 2. Source code analysis
[1232] The AI model analyzes the acquired source code and creates a list of changes and new features.
[1233] 3. Generating Documentation
[1234] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies.
[1235] 4. Review Preparation
[1236] The generated document is temporarily saved and notified to the user.
[1237] 5. Emotion recognition
[1238] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[1239] 6. Review and Revision
[1240] Users use a web interface to review documents and add necessary corrections and comments, while their sentiment data is collected.
[1241] 7. Feedback Analysis
[1242] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[1243] 8. Final preservation and publication
[1244] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[1245] This allows the use of an emotion engine to reflect feedback based on emotional data, resulting in more effective and high-quality document management.
[1246] The processing flow will be explained below.
[1247] Step 1:
[1248] The server retrieves the latest source code using the specified repository URL. Specifically, it uses the git clone command to clone the repository into a temporary directory and loads the necessary source code files. This obtains the latest source code.
[1249] Step 2:
[1250] The server analyzes the acquired source code and uses generative AI to extract key features and changes. The analysis results are organized into a list, identifying changed functions and new features.
[1251] Step 3:
[1252] The server generates documentation based on the analysis results. During this process, it uses text generation technology to create detailed technical documentation from the analysis results, and uses diagram generation technology to generate technical diagrams such as sequence diagrams. This allows comprehensive technical documentation to be created automatically.
[1253] Step 4:
[1254] The server temporarily stores the generated documents and diagrams, keeps them accessible to the user for subsequent review, and notifies the user when they are ready for review.
[1255] Step 5:
[1256] The user accesses the web interface to review the generated document. The user checks the content of the document through the provided interface and adds any necessary corrections or comments. At this time, the emotion recognition system is activated and analyzes the user's facial expressions and voice in real time.
[1257] Step 6:
[1258] The server uses an emotion engine to collect user emotion data, which is acquired through a webcam or microphone and analyzed to determine which parts of the document elicited emotion.
[1259] Step 7:
[1260] The server analyzes the feedback based on the user's emotional data. For example, if the user feels stressed in a particular area, it will suggest improvements or corrections for that area. The server also evaluates the document's comprehension and usability based on the emotional data.
[1261] Step 8:
[1262] The server receives user feedback and modifies the final document. Modification suggestions based on emotion data are incorporated to create a document that is easier for users to understand and use. The modified document is then saved and made public if necessary.
[1263] Step 9:
[1264] The server runs these processes periodically, and by setting a schedule, the process of retrieving source code, analyzing it, generating documentation, and reviewing it can be automatically repeated at regular intervals, ensuring that documentation is always based on up-to-date information.
[1265] Example 2
[1266] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1267] Conventional documentation generation systems analyze changes in source code and generate documentation, but lack a review function that takes user feedback into account, making it difficult to reduce user stress and confusion and generate high-quality documentation. Furthermore, since revision suggestions based on user feedback are not efficiently implemented, there is also the issue of not being able to make highly relevant improvements.
[1268] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing and analyzing a user's emotions during the review, means for analyzing the user's emotion data and suggesting document corrections based on the feedback, and means for periodically executing these processes. This enables the generation and correction of high-quality documents that take user emotions into consideration.
[1269] A "server" is a computer system that provides functions and data to other computers (clients) in a computer network.
[1270] "Source code" is a human-readable description of a program written in a programming language; it is a set of instructions that a computer executes.
[1271] "Means of acquisition" refers to methods or processes for automatically collecting specific data or information from repositories, etc.
[1272] "Means of analysis" are methods and techniques for analyzing acquired data and information and understanding and classifying its contents.
[1273] "Extraction means" refers to a method for extracting important information, such as specific features or changes, from the analyzed data.
[1274] "Means for generating" refers to a method for creating new documents or diagrams based on the extracted data.
[1275] "Review means" refers to the method or process for reviewing the generated documentation and proposing corrections as needed.
[1276] "Means for recognizing emotions" refers to technology for identifying a user's emotional state using data such as the user's facial expressions and voice.
[1277] The "means of analysis" is a method for analyzing the recognized emotion data and understanding the results.
[1278] The "means for suggesting corrections based on feedback" is a method for suggesting improvements to a document based on the results of analyzing user feedback and emotional data.
[1279] A "periodic execution method" is a method for automatically executing a specific process or task at regular intervals.
[1280] "Document generation means" refers to means for creating the necessary technical documents and diagrams using text generation technology and diagram generation technology.
[1281] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[1282] System Overview
[1283] This system consists of three main components: a server, a terminal, and a user.
[1284] server
[1285] The server plays a central role in this system and performs the following operations:
[1286] 1. Get the source code:
[1287] The server runs the git clone command to get the latest source code from a repository, for example, to get the code from a specific repository (e.g., git@github.com:example / repo.git).
[1288] 2. Source code analysis:
[1289] The server analyzes the acquired source code using an AI model (e.g., GPT-3) to extract key functions and changes. The AI model identifies function additions and parameter changes.
[1290] 3. Generate documentation:
[1291] The server generates technical documentation and sequence diagrams using text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML). For example, it generates technical documentation and sequence diagrams for a new authentication function.
[1292] 4. Review Preparation:
[1293] The server saves the generated document in a temporary directory and notifies the user, either via email or a web interface dashboard.
[1294] 5. Emotion recognition:
[1295] The server runs an emotion engine (e.g., OpenFace or IBM Watson) to collect data on the user's facial expressions and voice, and then collects and analyzes the user's emotion data in real time.
[1296] 6. Feedback analysis:
[1297] The server analyzes the user's emotions based on the collected emotional data and makes suggestions for corrections, such as adding specific explanations to parts that the user is confused about.
[1298] User
[1299] The user is responsible for reviewing and correcting the generated document. The user performs the following operations:
[1300] 1. Review and Correct:
[1301] The user accesses a web interface to review the generated document. As they make necessary corrections or add comments, the emotion recognition system captures the user's facial expressions and voice and sends them as feedback to the server.
[1302] 2. Providing Feedback:
[1303] The user's feedback and emotional data are sent to the server and used to improve the quality of the final document. For example, if emotional data is collected showing that the user is confused by a particular part, a suggestion will be made to add an explanation for that part.
[1304] Terminal
[1305] A terminal is a device that allows users to interact with a server. A terminal has the following functions:
[1306] 1. User interaction:
[1307] The terminal (PC or smartphone) is a device that allows the user to interact with the server via a web browser. If the terminal is equipped with emotion recognition functionality, it collects the user's facial expressions and voice through a camera and microphone.
[1308] Specific examples
[1309] Specific examples are shown below.
[1310] 1. Example of obtaining source code:
[1311] The server retrieves the source code from the repository, for example using the following command:
[1312] git clone git@github.com:example / repo.git
[1313] 2. Example of source code analysis:
[1314] The server inputs the acquired source code into the AI model and compiles a list of function additions and parameter changes.
[1315] 3. Example of document generation:
[1316] To have the server generate technical documentation and sequence diagrams, use the following prompts:
[1317] The source code for a new authentication feature has been added. Generate technical documentation and sequence diagrams for the feature. During the review, recognize user sentiment, identify areas of confusion, and offer suggestions to improve the explanation.
[1318] 4. Examples of emotion recognition and feedback analysis:
[1319] The server activates the emotion engine and collects the user's facial expressions and voice through the camera and microphone. For example, if the user frowns in front of the screen, that emotion is recognized and sent as feedback to the server.
[1320] This enables the generation and revision of high-quality documents that take into account the user's feelings.
[1321] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1322] Step 1:
[1323] Get the source code:
[1324] The server periodically accesses the repository to retrieve the latest source code.
[1325] Input: Repository URL and other information.
[1326] Specific operation: Execute the git clone command and save the repository contents to a temporary directory.
[1327] Output: The retrieved source code is saved in a temporary directory.
[1328] Step 2:
[1329] Source code analysis:
[1330] The source code retrieved by the server is analyzed using an AI model (e.g., GPT-3).
[1331] Input: The retrieved source code.
[1332] Specific operation: The source code is input into the AI model to extract key features and changes.
[1333] Output: Function additions and parameter changes are extracted as a list.
[1334] Step 3:
[1335] Generate documentation:
[1336] The server uses text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML) to generate technical documentation and sequence diagrams.
[1337] Input: Analysis results (list of changes and new features).
[1338] Specific behavior: Automatically generate technical documentation and sequence diagrams using prompt statements.
[1339] Output: Generated technical documentation and sequence diagrams.
[1340] Step 4:
[1341] Review Preparation:
[1342] The server saves the generated document in a temporary directory and notifies the user.
[1343] Input: Generated technical documentation and sequence diagrams.
[1344] What it does: Saves it to a temporary directory and notifies you via email and the web interface dashboard.
[1345] Output: The user is notified that the review is ready.
[1346] Step 5:
[1347] Emotion recognition:
[1348] The server launches an emotion engine (e.g., OpenFace or IBM Watson) and collects data on the user's facial expressions and voice.
[1349] Input: User's facial expression data and voice data.
[1350] Specific operation: Data is collected in real time through cameras and microphones and analyzed by an emotion engine.
[1351] Output: Parsed emotion data.
[1352] Step 6:
[1353] Review and fix:
[1354] The user accesses the web interface to review the generated documentation and add any necessary corrections or comments.
[1355] Input: Generated technical documentation and sequence diagrams, user review comments.
[1356] What it does: Access documents to make corrections and comments, and collect feedback using an emotion recognition system.
[1357] Output: The revised document and feedback data.
[1358] Step 7:
[1359] Feedback Analysis:
[1360] The server makes suggestions for document revisions based on the user's emotional data.
[1361] Input: User feedback and emotion data.
[1362] Specific behavior: Analyzes emotional data to identify areas where users are confused or dissatisfied, and generates suggested fixes.
[1363] Output: An updated document with suggested fixes.
[1364] Step 8:
[1365] Final save and publish:
[1366] The server stores the final document and makes it available as needed.
[1367] Input: The updated document with the suggested corrections.
[1368] What happens: Save the final document and upload it to the project wiki page or internal system.
[1369] Output: The final technical documentation is archived and published.
[1370] (Application example 2)
[1371] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1372] With current technology, generating and reviewing technical documentation from source code requires a lot of manual work and time, making it inefficient. Furthermore, because the review process does not take into account user feelings, parts that cause stress or are difficult to understand can be overlooked. As a result, the quality of the documentation declines and the user experience is negatively affected.
[1373] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing a user's emotions during review, means for analyzing the user's emotion data and suggesting document corrections, and means for periodically executing these processes. This enables feedback that takes user emotions into consideration during the automatic generation and review process of technical documentation, thereby improving document quality and user experience.
[1374] "Source code" is a text file that describes a program and contains instructions that a computer can execute.
[1375] "Analysis" is the process of examining source code and data in detail to identify its structure, function, and changes.
[1376] "Major functions" are code sections within the source code that perform important operations or roles, and that support the basic operation of the program.
[1377] "Changes" are parts that have been added or modified by updating or modifying the source code.
[1378] "Documentation" refers to technical documentation generated based on source code and its analysis results, including diagrams such as sequence diagrams.
[1379] "Review" is the process of checking the generated documentation and adding corrections or comments as necessary.
[1380] "Proposals for corrections" are suggestions for improvements to documentation or source code based on analysis and user feedback.
[1381] "Emotion recognition" is a technology that identifies a user's emotional state based on their facial expressions and voice.
[1382] "Emotion data" is a record of a user's emotions in numerical or text format.
[1383] "Periodic execution" means that a process or task is executed repeatedly at regular intervals.
[1384] A "repository" is a database for managing source code and related documents, and has a version control function.
[1385] "Technical documentation" is a set of documents that describe the source code, its functions, structure, and usage.
[1386] A "sequence diagram" is a diagram that visually shows the flow of operations and interactions within a system or process.
[1387] An "AI model" is a computational model that uses machine learning and deep learning technologies to perform data analysis and predictions.
[1388] "Feedback analysis" is the process of collecting and evaluating feedback from users to identify areas for improvement.
[1389] System Overview
[1390] This invention is a system that automatically generates and updates technical documentation based on the source code of a factory robot's operating program, and provides higher quality documentation by recognizing and providing feedback on the user's emotions. The system is primarily composed of a server, terminals, and users.
[1391] System Components
[1392] server
[1393] The server plays a central role in this system. Specifically, it performs the following operations:
[1394] 1. Get the source code:
[1395] The server retrieves the latest source code from the repository, using a version control system such as Git to clone the code from the repository and download it to a temporary directory.
[1396] 2. Source code analysis:
[1397] The server analyzes the acquired source code, extracts key features and changes, and uses an AI model to identify the changes and new features and compile them into a list.
[1398] 3. Generate documentation:
[1399] The server uses text generation and diagram generation technologies based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams, using generative AI models such as OpenAI's GPT-3.
[1400] 4. Review Preparation:
[1401] The generated document is saved and the user is notified that it is ready for review, and can be accessed through a web interface.
[1402] 5. Emotion recognition:
[1403] The server activates an emotion engine to analyze the user's emotions during the review process. It collects data on the user's facial expressions and voice and analyzes their emotions.
[1404] 6. Feedback analysis:
[1405] The server analyzes the user's emotional data and makes suggestions for revisions based on that data. Feedback that takes the user's emotions into account is reflected in the document.
[1406] User
[1407] The user reviews the generated documentation and makes corrections. The user interacts with the system in the following ways:
[1408] 1. Review and Correct:
[1409] The user reviews the generated document and adds any necessary corrections or comments, and the emotion recognition system is activated to collect user feedback.
[1410] 2. Providing Feedback:
[1411] User feedback, along with emotional data, is sent to the server and used to improve the quality of the final document.
[1412] Terminal
[1413] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition functionality may also be built into the terminal. Smartphones, tablets, etc. are used as terminals.
[1414] Specific examples
[1415] 1. Get the source code:
[1416] As users add new features and commit them to the repository, the server periodically retrieves the latest source code from the repository.
[1417] 2. Source code analysis:
[1418] The AI model analyzes the acquired source code and creates a list of changes and new features.
[1419] 3. Generate documentation:
[1420] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies. Example:
[1421] Generate technical documentation for the following source code:
[1422] def hello_world():
[1423] print("Hello, World!")
[1424] 4. Review Preparation:
[1425] The generated document is saved and notified to the user, who can then access the document using a web interface.
[1426] 5. Emotion recognition:
[1427] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[1428] 6. Review and Revision:
[1429] Users use a web interface to review documents and add any necessary corrections or comments. User sentiment data is also collected. For example:
[1430] Identify the emotions users experience while reviewing a document, and use those emotions to analyze which parts are causing stress and provide suggestions for improvement.
[1431] 7. Feedback Analysis:
[1432] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[1433] 8. Final storage and publication:
[1434] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[1435] In this way, by using the emotion engine, feedback based on emotion data is reflected, resulting in more effective and high-quality document management.
[1436] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1437] Step 1:
[1438] The server periodically retrieves the latest source code from the repository. The server uses a version control system such as Git to clone the source code from the specified repository and download it to a temporary directory. The input is the repository URL, and the output is the source code stored in the temporary directory.
[1439] Step 2:
[1440] The server analyzes the acquired source code. Specifically, it uses an AI model to identify the main functions and changes in the source code. The analysis targets the contents of the source code files, and outputs a list of the main functions and changes.
[1441] Step 3:
[1442] The server generates technical documentation based on the extracted information. It uses text generation and diagram generation technologies to create detailed technical documentation and sequence diagrams. The input is a list of major features and changes, and the output is the generated technical documentation and sequence diagrams. For example, a generative AI model such as OpenAI's GPT-3 is used to generate source code descriptions.
[1443] Step 4:
[1444] The server temporarily stores the generated document and notifies the user that it is ready for review. The input is the generated technical document and the output is the notification sent. The user accesses this document through a web interface.
[1445] Step 5:
[1446] The server activates an emotion engine to recognize the user's emotions during the review. It collects facial and voice data from the user's device and analyzes it in real time. The input is the user's facial and voice data, and the output is emotion data.
[1447] Step 6:
[1448] The user reviews the generated document and adds any necessary corrections or comments. During the review, the emotion recognition system continues to collect the user's emotional data. The input is the generated technical document and the user's feedback, and the output is the document with correction comments.
[1449] Step 7:
[1450] The server analyzes the collected user emotional data and makes correction suggestions. The analysis targets emotional data, and the output is emotion-based correction suggestions. This identifies parts that users find stressful or difficult to understand.
[1451] Step 8:
[1452] The server modifies, saves, and publishes the final technical document. The final document modifications reflect user feedback and modification suggestions based on sentiment data. The input is the document with modification comments and modification suggestions, and the output is the final technical document.
[1453] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1454] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1455] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1456] [Fourth embodiment]
[1457] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1458] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1459] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1460] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1461] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1462] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1463] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1464] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1465] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1466] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1467] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1468] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1469] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1470] System Overview
[1471] The present invention provides a system for automatically generating and updating documents based on source code in software development projects. This system is realized by combining processes such as analyzing source code, generating documents and diagrams, reviewing them, and periodically updating them.
[1472] System Components
[1473] server
[1474] The server plays a central role in this system. Specifically, it performs the following functions:
[1475] 1. Get source code: The server gets the latest source code from the repository.
[1476] 2. Source code analysis: The server analyzes the acquired source code and extracts the main functions and specification changes.
[1477] 3. Document generation: Automatically generate text and figures based on the extracted information.
[1478] 4. Prepare for review: The generated document is temporarily saved and notified to the user for review.
[1479] 5. Regular updates: Repeat these processes regularly to keep your documentation up to date.
[1480] User
[1481] The user reviews the generated document and makes any necessary corrections. The user operates through a web interface.
[1482] 1. Review and Correct: Users review the generated documentation and provide feedback and corrections.
[1483] 2. Providing Feedback: User feedback is important to ensure the quality of the final document.
[1484] Terminal
[1485] The terminal is a device through which the user interacts with the server, and is provided with an interface using a web browser.
[1486] Overview of program processing
[1487] 1. Obtaining the source code
[1488] The server automatically retrieves the latest source code from the repository. Using the repository URL, it executes the git clone command and saves the source code in a temporary directory.
[1489] 2. Source code analysis
[1490] The server uses an analytical AI model to analyze the acquired source code, extracting changes and new features and providing them as a list.
[1491] 3. Generating Documentation
[1492] The server uses a combination of text generation technology and diagram generation technology based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[1493] 4. Review Preparation
[1494] The generated document is temporarily stored and made accessible through a web interface for the user to review and modify, and the server notifies the user and prompts them to review.
[1495] 5. Review and Revision
[1496] Users access the web interface using their terminals, review the provided documents, add corrections and comments, and then submit their feedback to the server.
[1497] 6. Final preservation and publication
[1498] The server finally stores the modified document based on the user's feedback and makes it public if necessary.
[1499] Specific examples
[1500] 1. Obtaining the source code
[1501] After a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a regular schedule.
[1502] 2. Source code analysis
[1503] The server analyzes the acquired source code using an AI model and extracts a list of new features and changes that have been added.
[1504] 3. Generating Documentation
[1505] Based on the extracted information, technical documentation is created using text generation technology, and sequence diagrams are generated using diagram generation technology.
[1506] 4. Review Preparation
[1507] The generated document is temporarily saved and the user is notified via email or a notification system that it is ready for review.
[1508] 5. Review and Revision
[1509] Users access a web interface to review the generated document, add corrections and comments using their own devices, and submit feedback to the server.
[1510] 6. Final preservation and publication
[1511] The server saves the final version of the document, modified based on user feedback, and makes it publicly available as needed.
[1512] This automates the creation and updating of documents in software development, realizing efficient and reliable document management.
[1513] The processing flow will be explained below.
[1514] Step 1:
[1515] The server retrieves the latest source code from the specified repository URL, executes the git clone command to download the repository contents to a temporary directory, and then loads the necessary source code files.
[1516] Step 2:
[1517] The server analyzes the source code and uses generative AI to extract key features and changes. This analysis identifies modified functions and newly added features and creates a list of them.
[1518] Step 3:
[1519] The server generates documents based on the analysis results. It uses text generation technology to create detailed technical documentation of the extracted information, and uses diagram generation technology to create visual technical diagrams such as sequence diagrams.
[1520] Step 4:
[1521] The server temporarily stores the generated documents and diagrams, preserving the documents for subsequent review, and sends notifications to users to prompt them to review them.
[1522] Step 5:
[1523] The user accesses the web interface to review the generated documentation. The user checks the technical documentation and diagrams and adds any necessary corrections or comments.
[1524] Step 6:
[1525] The user submits the review results to the server, and corrections and comments are sent to the server via a web interface.
[1526] Step 7:
[1527] The server modifies the document based on user feedback, saves the final version of the document with the necessary modifications, and publishes it as needed.
[1528] Step 8:
[1529] The server runs these processes periodically, using a scheduler to schedule source code retrieval, analysis, documentation generation, and review at regular intervals, ensuring that documentation is always up-to-date.
[1530] Example 1
[1531] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1532] In traditional software development projects, document creation and updating is often done manually, resulting in significant time and effort consumption and making it difficult to maintain accuracy and consistency of the documents. Therefore, there is a need for a method to streamline the creation and management of technical documents that continuously reflect the latest information and to automate the document review process.
[1533] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1534] In this invention, the server includes means for acquiring source code, means for loading an artificial intelligence model and analyzing the acquired source code to extract key functions and changes, means for generating documents based on the extracted information using a combination of text generation and diagram generation technologies, means for a user to review and correct the generated documents via a web interface and send the feedback to the server, means for temporarily saving the generated documents and notifying the user that they are ready for review, and means for periodically executing these processes. This automates the generation and updating of documents, enabling efficient and accurate management of technical documents.
[1535] "Source code" is a set of instructions that make up a program, and is text that describes specific operational instructions for a computer.
[1536] "Means of acquisition" refers to the functions and methods for retrieving the latest source code from a repository, database, etc. and storing it on a server.
[1537] "Means of analysis" refers to methods or processing systems that use artificial intelligence models or algorithms to detect and extract key features and changes from source code.
[1538] An "artificial intelligence model" is a collection of programs that use machine learning and deep learning technologies, and is a model for performing data analysis and predictions.
[1539] "Text generation technology" is a technology that uses natural language processing technology to generate sentences from predetermined information.
[1540] "Diagram generation technology" is a technology that generates visual representations such as technical diagrams and sequence diagrams from predetermined information.
[1541] "Documents" are documents or files that describe technical information, operating procedures, etc., and in software development, this includes specifications, design documents, manuals, etc.
[1542] A "web interface" is an interface that allows a user to access a server through a web browser and perform various operations and view information.
[1543] "Review" refers to the process of checking the content of the generated document and providing corrections and feedback.
[1544] "Feedback" refers to user-provided evaluations and suggested revisions, and is information useful for improving the quality of a document.
[1545] "Temporary storage" refers to the process of temporarily storing generated data or files until permanent storage or further processing occurs.
[1546] A "means for periodic execution" is a function or method for automatically and repeatedly executing a series of processes according to a set schedule or timing.
[1547] MODE FOR CARRYING OUT THE INVENTION
[1548] System configuration
[1549] The system of the present invention consists of three main components: a server, a terminal, and a user. The server plays a central role and automates the entire process, including source code acquisition, analysis, document generation, and review preparation. Users use their own terminals to review documents and provide feedback.
[1550] Specific actions
[1551] The server performs the following specific actions:
[1552] Get the source code
[1553] The server accesses the specified repository URL to obtain the latest source code. The repository is managed on a source code sharing system. The source code is saved in a temporary directory using the git clone command.
[1554] bash
[1555] git clone https: / / example.com / repository.git / path / to / temp / dir
[1556] Source code analysis
[1557] The server then loads a pre-trained artificial intelligence model (e.g., OpenAI's code analysis model) and uses it to analyze the acquired source code and extract important information, such as new features and changes.
[1558] Generate documentation
[1559] Based on the analysis results, the server generates the text portion of the technical documentation using text generation technology (e.g., a generative AI model such as GPT-4), and also generates technical diagrams such as sequence diagrams and class diagrams using diagram generation technology (e.g., PlantUML).
[1560] Here is an example prompt:
[1561] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[1562] Review Preparation
[1563] The generated document is stored and provided to the user through a web interface for access. The server notifies the user through a notification system that the document is ready for review. The notification includes:
[1564] Subject: Document review request
[1565] Body: The latest technical documentation has been generated. Please review it.
[1566] Link: http: / / server_address / documents / review
[1567] Reviews and Feedback
[1568] The user accesses the web interface from their own device and checks the generated document. The user reviews the document and sends feedback such as corrections to typos, corrections to the content, and comments to the server. The submission process is carried out using the "Submit" button on the web form.
[1569] Final preservation and publication
[1570] The server will revise the document based on user feedback, save it as the final version, and, if necessary, publish it on the official website or the project's documentation server.
[1571] Specific examples
[1572] 1. Get the source code:
[1573] A user adds a new feature and commits it to the repository.
[1574] The server automatically retrieves the latest source code from the repository every night.
[1575] 2. Source code analysis:
[1576] The server uses OpenAI's code analysis model to list newly added features and changes.
[1577] 3. Generate documentation:
[1578] Based on the extracted information, technical documentation is generated using GPT-4 and sequence diagrams are created using PlantUML.
[1579] 4. Review Preparation:
[1580] The server temporarily stores the generated document and notifies the user by email that it is ready for review.
[1581] 5. Review and Correct:
[1582] Users access the web interface using their own terminals, check the document, add necessary corrections and comments, and feed them back to the server.
[1583] 6. Final saving and publishing:
[1584] The server will store the final document and make it available on the project's official website.
[1585] This automates the entire invention process and enables efficient and accurate management of technical documents.
[1586] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1587] Step 1:
[1588] Get the source code
[1589] The server accesses the repository URL to retrieve the latest source code. Using the repository URL as input, it clones the source code into a temporary directory using the git clone command. The output is the retrieved source code saved in the temporary directory.
[1590] The specific behavior is as follows:
[1591] bash
[1592] git clone https: / / example.com / repository.git / path / to / temp / dir
[1593] Step 2:
[1594] Source code analysis
[1595] The server loads a pre-trained artificial intelligence model and analyzes the retrieved source code. Using the retrieved source code as input, the model extracts new features, changes, and bug fixes. The output is a list of the analyzed information.
[1596] The specific behavior is as follows:
[1597] Load the artificial intelligence model into memory.
[1598] Enter source code into the loaded model and run the analysis.
[1599] Step 3:
[1600] Generate documentation
[1601] The server generates documents based on the analysis results using a combination of text generation and diagram generation technologies. It uses the list of analyzed information as input and generates the text portion of the technical documentation using a generative AI model (e.g., GPT-4). At the same time, it generates sequence diagrams using diagram generation technology (e.g., PlantUML). The output is the generated and temporarily saved technical documentation and diagrams.
[1602] Here is an example prompt:
[1603] "Generate the text part of the technical documentation based on the following information: Feature additions, New feature description, Details of changes"
[1604] Step 4:
[1605] Review Preparation
[1606] The server temporarily saves the generated document and notifies the user. The input and output are the generated document and its save destination, and clicking the notification button sends email or system notification to the user.
[1607] The specific behavior is as follows:
[1608] Save the generated documentation to a specific directory.
[1609] Notify users via email or notification system.
[1610] The notification reads as follows:
[1611] Subject: Document review request
[1612] Body: The latest technical documentation has been generated. Please review it.
[1613] Link: http: / / server_address / documents / review
[1614] Step 5:
[1615] Reviews and Feedback
[1616] The user accesses the web interface using a terminal and checks the generated document. The input is the document to be reviewed, and the output is feedback information. The user can correct typos, add comments, etc., and submit it to the server.
[1617] The specific behavior is as follows:
[1618] Open your web browser and enter the provided URL.
[1619] Fill out the review details in the web form and click the "Submit" button.
[1620] Step 6:
[1621] Final preservation and publication
[1622] The server modifies the document based on user feedback, saves the final version, and optionally publishes it to the official website or project's documentation server. The input is the modified document, and the output is the final, published version.
[1623] The specific behavior is as follows:
[1624] Revise the documentation based on user feedback.
[1625] Save the final, modified document in a long-term storage directory.
[1626] If necessary, upload it to the official website or document server.
[1627] (Application example 1)
[1628] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1629] Document generation and updating in conventional software development projects is often manual, resulting in inefficiency and a lack of accuracy. In factories, managing machine operation data and maintenance history is tedious and updates are infrequent, potentially reducing reliability. There is a need to solve these problems and provide a more efficient and reliable document management system.
[1630] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1631] In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code to extract key functions and changes, means for generating documentation based on the extracted information, means for reviewing and correcting the generated documentation, means for periodically executing these processes, means for acquiring machine operation data and maintenance history, means for analyzing the acquired data using an AI model, means for generating technical documentation and maintenance logs based on the analysis results, and means for user review via a web interface. This enables automatic generation and updating of documentation in software development and factory operation.
[1632] "Source code" is a description written in a programming language that describes the behavior of software or a program.
[1633] "Means of retrieval" are the methods and techniques used to retrieve data from repositories and databases.
[1634] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[1635] "Extraction means" refers to methods and techniques for finding important information and features from large amounts of data.
[1636] "Document" is a document that explains the specifications and procedures of a system or program.
[1637] "Generation means" refers to methods and technologies for automatically creating data and information.
[1638] "Review and correction means" refers to the methods and techniques used to review the generated documentation and make changes or corrections as necessary.
[1639] A "periodic execution means" is a method or technique for repeatedly executing a process at regular time intervals.
[1640] "Operational data" refers to data that indicates the operating status of a machine or system.
[1641] "Maintenance history" is a record of maintenance work performed on a machine or system.
[1642] An "AI model" is a mathematical model that uses artificial intelligence technology to perform a specific task.
[1643] "Means of analysis" refers to methods and techniques for analyzing acquired data and extracting meaningful information.
[1644] A "technical document" is a document that details technical specifications and procedures.
[1645] A "maintenance log" is a detailed record of maintenance work performed on a machine or system.
[1646] "Web interface" means an interface through which a user accesses the system via a web browser.
[1647] "User review" is the process by which users review the generated documentation and provide feedback as needed.
[1648] This invention is a system for automatically generating and updating documents necessary for factory operation, and its main components are a server, a terminal, and a user. The program for realizing this system is configured as follows.
[1649] First, the server acquires operation data and maintenance history from each machine in the factory. SSL encrypted communication and the MQTT protocol are used to securely transmit the data to the server. The server then stores the acquired data and analyzes it using an analytical AI model (such as TensorFlow or PyTorch).
[1650] Important points are extracted from the analysis results and automatically generated as technical documentation and maintenance logs using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The generated documentation is temporarily saved and made accessible to users through a web interface (e.g., Django, Flask).
[1651] Users access the web interface using their terminals to review the generated document. They can add corrections and comments and send their feedback to the server. Finally, the server modifies the document based on the user's feedback, saves it as the final version, and optionally uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage).
[1652] As a concrete example, if a robot in a factory collects daily operational data and generates a maintenance log stating, "Yesterday's maintenance on XYZ machine involved replacing a valve," an example of a prompt to use would be:
[1653] Prompt statement:
[1654] Analyze yesterday's operating data and maintenance history of XYZ machine and generate a maintenance log. Highlight information about valve replacement.
[1655] Based on this prompt, the AI model automatically generates an appropriate maintenance log for the user to review, enabling the automatic generation and updating of documentation in software development and factory operations.
[1656] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1657] Step 1:
[1658] The server acquires operation data and maintenance history from each machine in the factory. The input is the machine's operation data and maintenance history, and the data is securely sent to the server using SSL encrypted communication and the MQTT protocol. The output is the acquired data stored on the server. Specific operations include the process of collecting machine sensor data in real time and sending it to the server.
[1659] Step 2:
[1660] The server stores the acquired data and analyzes it using an AI model (such as TensorFlow or PyTorch). The input is the stored operational data and maintenance history, which the AI model analyzes to extract important information. The output is the analyzed data. Specific operations include the process of storing data in a database and supplying it to the AI model to obtain analysis results.
[1661] Step 3:
[1662] The server generates technical documentation and maintenance logs based on the analysis results using text generation technology (e.g., GPT-4) and diagram generation technology (e.g., Graphviz). The input is the analyzed data, which is converted into technical documentation in the form of text and diagrams. The output is the generated technical documentation. Specific operations include the process of inputting a prompt sentence into the generative AI model and outputting a document in an appropriate format.
[1663] Step 4:
[1664] The server temporarily stores the generated documents and makes them accessible to the user through a web interface (e.g., Django, Flask). The input is the generated technical documentation, which is displayed in the web interface in a format that the user can review. The output is the reviewable document. Specific operations include the process of uploading the document data to the web server and displaying it in the user interface.
[1665] Step 5:
[1666] A user accesses the web interface using a terminal, reviews the generated document, and adds necessary corrections and comments. The input is the reviewable document on the web interface, and the user's feedback is sent to the server. The output is the corrected document. Specific operations include the process of the user inputting feedback in real time through the interface.
[1667] Step 6:
[1668] The server modifies the document based on user feedback, saves it as the final version, and uploads it to cloud storage (e.g., AWS S3, Google Cloud Storage) as needed. The input is user feedback and the document to be modified, and the final technical document is generated. The output is the final technical document. Specific operations include the process of modifying the document to reflect the feedback and securely uploading it to cloud storage.
[1669] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1670] System Overview
[1671] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[1672] System Components
[1673] server
[1674] The server plays a central role in this system. Specifically, it performs the following functions:
[1675] 1. Get source code: The server gets the latest source code from the repository by running the git clone command to download the repository contents to a temporary directory and load the necessary source code files.
[1676] 2. Source code analysis: The server analyzes the acquired source code and extracts key features and changes in specifications. It uses an AI model to identify changes and new features and compiles them into a list.
[1677] 3. Document generation: Based on the analysis results, the server uses text generation and diagram generation technologies to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams.
[1678] 4. Ready for Review: The generated document is temporarily saved and the user is notified that it is ready for review. It is made accessible to the user through a web interface.
[1679] 5. Emotion Recognition: The server activates an emotion engine to analyze the user's emotions during the review and collects the user's facial expression and voice data.
[1680] 6. Feedback analysis: The server analyzes the user's emotional data and makes correction suggestions based on it. Feedback that takes the user's emotions into account is reflected in the document.
[1681] User
[1682] The user reviews and modifies the generated document through a web interface and an emotion recognition system.
[1683] 1. Review and Correct: The user reviews the generated document and adds any necessary corrections or comments. The emotion recognition system is activated to collect user feedback.
[1684] 2. Providing feedback: User feedback along with emotional data is sent to the server and used to improve the quality of the final document.
[1685] Terminal
[1686] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition capabilities may also be built into the terminal.
[1687] Overview of program processing
[1688] 1. Obtaining the source code
[1689] The server periodically retrieves the latest source code from the repository, ensuring that the generated documentation is always based on the most up-to-date content.
[1690] 2. Source code analysis
[1691] The server uses AI models to analyze the source code and extract key features and changes, which then creates documentation that reflects the latest changes.
[1692] 3. Generating Documentation
[1693] The server uses text generation technology to create technical documentation and diagram generation technology to generate sequence diagrams, automatically generating detailed and accurate technical documentation.
[1694] 4. Review Preparation
[1695] The server temporarily stores the generated document and notifies the user of the start of the review process, who then accesses the document through a web interface.
[1696] 5. Emotion recognition
[1697] The server activates an emotion engine to analyze the user's facial expressions and voice, and the emotion engine recognizes the user's emotions as they review the document.
[1698] 6. Review and Revision
[1699] The user reviews the generated document using the device. The user's feedback is sent to the server along with the emotion data. The user adds corrections and comments and sends them back to the server.
[1700] 7. Feedback Analysis
[1701] The server analyzes the user's emotional data and suggests document revisions based on the results, resulting in the generation of high-quality documents that take the user's emotions into account.
[1702] 8. Final preservation and publication
[1703] The server then makes final revisions to the document based on user feedback, stores it, and, if necessary, performs a publishing process.
[1704] Specific examples
[1705] 1. Obtaining the source code
[1706] When a user adds a new feature and commits it to the repository, the server retrieves the latest source code from the repository on a scheduled basis.
[1707] 2. Source code analysis
[1708] The AI model analyzes the acquired source code and creates a list of changes and new features.
[1709] 3. Generating Documentation
[1710] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies.
[1711] 4. Review Preparation
[1712] The generated document is temporarily saved and notified to the user.
[1713] 5. Emotion recognition
[1714] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[1715] 6. Review and Revision
[1716] Users use a web interface to review documents and add necessary corrections and comments, while their sentiment data is collected.
[1717] 7. Feedback Analysis
[1718] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[1719] 8. Final preservation and publication
[1720] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[1721] This allows the use of an emotion engine to reflect feedback based on emotional data, resulting in more effective and high-quality document management.
[1722] The processing flow will be explained below.
[1723] Step 1:
[1724] The server retrieves the latest source code using the specified repository URL. Specifically, it uses the git clone command to clone the repository into a temporary directory and loads the necessary source code files. This obtains the latest source code.
[1725] Step 2:
[1726] The server analyzes the acquired source code and uses generative AI to extract key features and changes. The analysis results are organized into a list, identifying changed functions and new features.
[1727] Step 3:
[1728] The server generates documentation based on the analysis results. During this process, it uses text generation technology to create detailed technical documentation from the analysis results, and uses diagram generation technology to generate technical diagrams such as sequence diagrams. This allows comprehensive technical documentation to be created automatically.
[1729] Step 4:
[1730] The server temporarily stores the generated documents and diagrams, keeps them accessible to the user for subsequent review, and notifies the user when they are ready for review.
[1731] Step 5:
[1732] The user accesses the web interface to review the generated document. The user checks the content of the document through the provided interface and adds any necessary corrections or comments. At this time, the emotion recognition system is activated and analyzes the user's facial expressions and voice in real time.
[1733] Step 6:
[1734] The server uses an emotion engine to collect user emotion data, which is acquired through a webcam or microphone and analyzed to determine which parts of the document elicited emotion.
[1735] Step 7:
[1736] The server analyzes the feedback based on the user's emotional data. For example, if the user feels stressed in a particular area, it will suggest improvements or corrections for that area. The server also evaluates the document's comprehension and usability based on the emotional data.
[1737] Step 8:
[1738] The server receives user feedback and modifies the final document. Modification suggestions based on emotion data are incorporated to create a document that is easier for users to understand and use. The modified document is then saved and made public if necessary.
[1739] Step 9:
[1740] The server runs these processes periodically, and by setting a schedule, the process of retrieving source code, analyzing it, generating documentation, and reviewing it can be automatically repeated at regular intervals, ensuring that documentation is always based on up-to-date information.
[1741] Example 2
[1742] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1743] Conventional documentation generation systems analyze changes in source code and generate documentation, but lack a review function that takes user feedback into account, making it difficult to reduce user stress and confusion and generate high-quality documentation. Furthermore, since revision suggestions based on user feedback are not efficiently implemented, there is also the issue of not being able to make highly relevant improvements.
[1744] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing and analyzing a user's emotions during the review, means for analyzing the user's emotion data and suggesting document corrections based on the feedback, and means for periodically executing these processes. This enables the generation and correction of high-quality documents that take user emotions into consideration.
[1745] A "server" is a computer system that provides functions and data to other computers (clients) in a computer network.
[1746] "Source code" is a human-readable description of a program written in a programming language; it is a set of instructions that a computer executes.
[1747] "Means of acquisition" refers to methods or processes for automatically collecting specific data or information from repositories, etc.
[1748] "Means of analysis" are methods and techniques for analyzing acquired data and information and understanding and classifying its contents.
[1749] "Extraction means" refers to a method for extracting important information, such as specific features or changes, from the analyzed data.
[1750] "Means for generating" refers to a method for creating new documents or diagrams based on the extracted data.
[1751] "Review means" refers to the method or process for reviewing the generated documentation and proposing corrections as needed.
[1752] "Means for recognizing emotions" refers to technology for identifying a user's emotional state using data such as the user's facial expressions and voice.
[1753] The "means of analysis" is a method for analyzing the recognized emotion data and understanding the results.
[1754] The "means for suggesting corrections based on feedback" is a method for suggesting improvements to a document based on the results of analyzing user feedback and emotional data.
[1755] A "periodic execution method" is a method for automatically executing a specific process or task at regular intervals.
[1756] "Document generation means" refers to means for creating the necessary technical documents and diagrams using text generation technology and diagram generation technology.
[1757] This invention combines a system that automatically generates and updates documents based on source code with an emotion engine that recognizes user emotions. This allows us to capture user emotions during the review process and improve the quality of documents and suggest corrections.
[1758] System Overview
[1759] This system consists of three main components: a server, a terminal, and a user.
[1760] server
[1761] The server plays a central role in this system and performs the following operations:
[1762] 1. Get the source code:
[1763] The server runs the git clone command to get the latest source code from a repository, for example, to get the code from a specific repository (e.g., git@github.com:example / repo.git).
[1764] 2. Source code analysis:
[1765] The server analyzes the acquired source code using an AI model (e.g., GPT-3) to extract key functions and changes. The AI model identifies function additions and parameter changes.
[1766] 3. Generate documentation:
[1767] The server generates technical documentation and sequence diagrams using text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML). For example, it generates technical documentation and sequence diagrams for a new authentication function.
[1768] 4. Review Preparation:
[1769] The server saves the generated document in a temporary directory and notifies the user, either via email or a web interface dashboard.
[1770] 5. Emotion recognition:
[1771] The server runs an emotion engine (e.g., OpenFace or IBM Watson) to collect data on the user's facial expressions and voice, and then collects and analyzes the user's emotion data in real time.
[1772] 6. Feedback analysis:
[1773] The server analyzes the user's emotions based on the collected emotional data and makes suggestions for corrections, such as adding specific explanations to parts that the user is confused about.
[1774] User
[1775] The user is responsible for reviewing and correcting the generated document. The user performs the following operations:
[1776] 1. Review and Correct:
[1777] The user accesses a web interface to review the generated document. As they make necessary corrections or add comments, the emotion recognition system captures the user's facial expressions and voice and sends them as feedback to the server.
[1778] 2. Providing Feedback:
[1779] The user's feedback and emotional data are sent to the server and used to improve the quality of the final document. For example, if emotional data is collected showing that the user is confused by a particular part, a suggestion will be made to add an explanation for that part.
[1780] Terminal
[1781] A terminal is a device that allows users to interact with a server. A terminal has the following functions:
[1782] 1. User interaction:
[1783] The terminal (PC or smartphone) is a device that allows the user to interact with the server via a web browser. If the terminal is equipped with emotion recognition functionality, it collects the user's facial expressions and voice through a camera and microphone.
[1784] Specific examples
[1785] Specific examples are shown below.
[1786] 1. Example of obtaining source code:
[1787] The server retrieves the source code from the repository, for example using the following command:
[1788] git clone git@github.com:example / repo.git
[1789] 2. Example of source code analysis:
[1790] The server inputs the acquired source code into the AI model and compiles a list of function additions and parameter changes.
[1791] 3. Example of document generation:
[1792] To have the server generate technical documentation and sequence diagrams, use the following prompts:
[1793] The source code for a new authentication feature has been added. Generate technical documentation and sequence diagrams for the feature. During the review, recognize user sentiment, identify areas of confusion, and offer suggestions to improve the explanation.
[1794] 4. Examples of emotion recognition and feedback analysis:
[1795] The server activates the emotion engine and collects the user's facial expressions and voice through the camera and microphone. For example, if the user frowns in front of the screen, that emotion is recognized and sent as feedback to the server.
[1796] This enables the generation and revision of high-quality documents that take into account the user's feelings.
[1797] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1798] Step 1:
[1799] Get the source code:
[1800] The server periodically accesses the repository to retrieve the latest source code.
[1801] Input: Repository URL and other information.
[1802] Specific operation: Execute the git clone command and save the repository contents to a temporary directory.
[1803] Output: The retrieved source code is saved in a temporary directory.
[1804] Step 2:
[1805] Source code analysis:
[1806] The source code retrieved by the server is analyzed using an AI model (e.g., GPT-3).
[1807] Input: The retrieved source code.
[1808] Specific operation: The source code is input into the AI model to extract key features and changes.
[1809] Output: Function additions and parameter changes are extracted as a list.
[1810] Step 3:
[1811] Generate documentation:
[1812] The server uses text generation technology (e.g., GPT-3) and diagram generation technology (e.g., PlantUML) to generate technical documentation and sequence diagrams.
[1813] Input: Analysis results (list of changes and new features).
[1814] Specific behavior: Automatically generate technical documentation and sequence diagrams using prompt statements.
[1815] Output: Generated technical documentation and sequence diagrams.
[1816] Step 4:
[1817] Review Preparation:
[1818] The server saves the generated document in a temporary directory and notifies the user.
[1819] Input: Generated technical documentation and sequence diagrams.
[1820] What it does: Saves it to a temporary directory and notifies you via email and the web interface dashboard.
[1821] Output: The user is notified that the review is ready.
[1822] Step 5:
[1823] Emotion recognition:
[1824] The server launches an emotion engine (e.g., OpenFace or IBM Watson) and collects data on the user's facial expressions and voice.
[1825] Input: User's facial expression data and voice data.
[1826] Specific operation: Data is collected in real time through cameras and microphones and analyzed by an emotion engine.
[1827] Output: Parsed emotion data.
[1828] Step 6:
[1829] Review and fix:
[1830] The user accesses the web interface to review the generated documentation and add any necessary corrections or comments.
[1831] Input: Generated technical documentation and sequence diagrams, user review comments.
[1832] What it does: Access documents to make corrections and comments, and collect feedback using an emotion recognition system.
[1833] Output: The revised document and feedback data.
[1834] Step 7:
[1835] Feedback Analysis:
[1836] The server makes suggestions for document revisions based on the user's emotional data.
[1837] Input: User feedback and emotion data.
[1838] Specific behavior: Analyzes emotional data to identify areas where users are confused or dissatisfied, and generates suggested fixes.
[1839] Output: An updated document with suggested fixes.
[1840] Step 8:
[1841] Final save and publish:
[1842] The server stores the final document and makes it available as needed.
[1843] Input: The updated document with the suggested corrections.
[1844] What happens: Save the final document and upload it to the project wiki page or internal system.
[1845] Output: The final technical documentation is archived and published.
[1846] (Application example 2)
[1847] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1848] With current technology, generating and reviewing technical documentation from source code requires a lot of manual work and time, making it inefficient. Furthermore, because the review process does not take into account user feelings, parts that cause stress or are difficult to understand can be overlooked. As a result, the quality of the documentation declines and the user experience is negatively affected.
[1849] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring source code, means for analyzing the acquired source code and extracting main functions and changes, means for generating a document based on the extracted information, means for reviewing and correcting the generated document, means for recognizing a user's emotions during review, means for analyzing the user's emotion data and suggesting document corrections, and means for periodically executing these processes. This enables feedback that takes user emotions into consideration during the automatic generation and review process of technical documentation, thereby improving document quality and user experience.
[1850] "Source code" is a text file that describes a program and contains instructions that a computer can execute.
[1851] "Analysis" is the process of examining source code and data in detail to identify its structure, function, and changes.
[1852] "Major functions" are code sections within the source code that perform important operations or roles, and that support the basic operation of the program.
[1853] "Changes" are parts that have been added or modified by updating or modifying the source code.
[1854] "Documentation" refers to technical documentation generated based on source code and its analysis results, including diagrams such as sequence diagrams.
[1855] "Review" is the process of checking the generated documentation and adding corrections or comments as necessary.
[1856] "Proposals for corrections" are suggestions for improvements to documentation or source code based on analysis and user feedback.
[1857] "Emotion recognition" is a technology that identifies a user's emotional state based on their facial expressions and voice.
[1858] "Emotion data" is a record of a user's emotions in numerical or text format.
[1859] "Periodic execution" means that a process or task is executed repeatedly at regular intervals.
[1860] A "repository" is a database for managing source code and related documents, and has a version control function.
[1861] "Technical documentation" is a set of documents that describe the source code, its functions, structure, and usage.
[1862] A "sequence diagram" is a diagram that visually shows the flow of operations and interactions within a system or process.
[1863] An "AI model" is a computational model that uses machine learning and deep learning technologies to perform data analysis and predictions.
[1864] "Feedback analysis" is the process of collecting and evaluating feedback from users to identify areas for improvement.
[1865] System Overview
[1866] This invention is a system that automatically generates and updates technical documentation based on the source code of a factory robot's operating program, and provides higher quality documentation by recognizing and providing feedback on the user's emotions. The system is primarily composed of a server, terminals, and users.
[1867] System Components
[1868] server
[1869] The server plays a central role in this system. Specifically, it performs the following operations:
[1870] 1. Get the source code:
[1871] The server retrieves the latest source code from the repository, using a version control system such as Git to clone the code from the repository and download it to a temporary directory.
[1872] 2. Source code analysis:
[1873] The server analyzes the acquired source code, extracts key features and changes, and uses an AI model to identify the changes and new features and compile them into a list.
[1874] 3. Generate documentation:
[1875] The server uses text generation and diagram generation technologies based on the analysis results to automatically generate detailed technical documentation and technical diagrams such as sequence diagrams, using generative AI models such as OpenAI's GPT-3.
[1876] 4. Review Preparation:
[1877] The generated document is saved and the user is notified that it is ready for review, and can be accessed through a web interface.
[1878] 5. Emotion recognition:
[1879] The server activates an emotion engine to analyze the user's emotions during the review process. It collects data on the user's facial expressions and voice and analyzes their emotions.
[1880] 6. Feedback analysis:
[1881] The server analyzes the user's emotional data and makes suggestions for revisions based on that data. Feedback that takes the user's emotions into account is reflected in the document.
[1882] User
[1883] The user reviews the generated documentation and makes corrections. The user interacts with the system in the following ways:
[1884] 1. Review and Correct:
[1885] The user reviews the generated document and adds any necessary corrections or comments, and the emotion recognition system is activated to collect user feedback.
[1886] 2. Providing Feedback:
[1887] User feedback, along with emotional data, is sent to the server and used to improve the quality of the final document.
[1888] Terminal
[1889] The terminal is a device through which the user interacts with the server, and the interface is provided through a web browser. Emotion recognition functionality may also be built into the terminal. Smartphones, tablets, etc. are used as terminals.
[1890] Specific examples
[1891] 1. Get the source code:
[1892] As users add new features and commit them to the repository, the server periodically retrieves the latest source code from the repository.
[1893] 2. Source code analysis:
[1894] The AI model analyzes the acquired source code and creates a list of changes and new features.
[1895] 3. Generate documentation:
[1896] Based on the analysis results, the server generates technical documentation and sequence diagrams using text generation and diagram generation technologies. Example:
[1897] Generate technical documentation for the following source code:
[1898] def hello_world():
[1899] print("Hello, World!")
[1900] 4. Review Preparation:
[1901] The generated document is saved and notified to the user, who can then access the document using a web interface.
[1902] 5. Emotion recognition:
[1903] When a user starts a review, the server activates an emotion engine to analyze the user's facial expressions and voice in real time.
[1904] 6. Review and Revision:
[1905] Users use a web interface to review documents and add any necessary corrections or comments. User sentiment data is also collected. For example:
[1906] Identify the emotions users experience while reviewing a document, and use those emotions to analyze which parts are causing stress and provide suggestions for improvement.
[1907] 7. Feedback Analysis:
[1908] The server analyzes the user's emotional data and makes suggestions based on their emotions, identifying areas where the user is feeling stressed and suggesting improvements.
[1909] 8. Final storage and publication:
[1910] The server will then incorporate the proposed changes and store the final document, which will then undergo a publication process if necessary.
[1911] In this way, by using the emotion engine, feedback based on emotion data is reflected, resulting in more effective and high-quality document management.
[1912] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1913] Step 1:
[1914] The server periodically retrieves the latest source code from the repository. The server uses a version control system such as Git to clone the source code from the specified repository and download it to a temporary directory. The input is the repository URL, and the output is the source code stored in the temporary directory.
[1915] Step 2:
[1916] The server analyzes the acquired source code. Specifically, it uses an AI model to identify the main functions and changes in the source code. The analysis targets the contents of the source code files, and outputs a list of the main functions and changes.
[1917] Step 3:
[1918] The server generates technical documentation based on the extracted information. It uses text generation and diagram generation technologies to create detailed technical documentation and sequence diagrams. The input is a list of major features and changes, and the output is the generated technical documentation and sequence diagrams. For example, a generative AI model such as OpenAI's GPT-3 is used to generate source code descriptions.
[1919] Step 4:
[1920] The server temporarily stores the generated document and notifies the user that it is ready for review. The input is the generated technical document and the output is the notification sent. The user accesses this document through a web interface.
[1921] Step 5:
[1922] The server activates an emotion engine to recognize the user's emotions during the review. It collects facial and voice data from the user's device and analyzes it in real time. The input is the user's facial and voice data, and the output is emotion data.
[1923] Step 6:
[1924] The user reviews the generated document and adds any necessary corrections or comments. During the review, the emotion recognition system continues to collect the user's emotional data. The input is the generated technical document and the user's feedback, and the output is the document with correction comments.
[1925] Step 7:
[1926] The server analyzes the collected user emotional data and makes correction suggestions. The analysis targets emotional data, and the output is emotion-based correction suggestions. This identifies parts that users find stressful or difficult to understand.
[1927] Step 8:
[1928] The server modifies, saves, and publishes the final technical document. The final document modifications reflect user feedback and modification suggestions based on sentiment data. The input is the document with modification comments and modification suggestions, and the output is the final technical document.
[1929] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1930] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1931] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1932] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1933] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1934] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1935] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1936] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1937] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1938] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1939] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1940] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1941] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1942] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1943] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1944] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1945] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1946] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1947] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1948] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1949] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1950] The following is further disclosed regarding the above embodiment.
[1951] (Claim 1)
[1952] A means of obtaining the source code;
[1953] A means of analyzing the acquired source code to extract key features and changes;
[1954] means for generating a document based on the extracted information;
[1955] A means to review and correct the generated documentation;
[1956] A means to carry out these processes on a regular basis;
[1957] A system including:
[1958] (Claim 2)
[1959] 10. The system of claim 1, wherein the document generation means generates the text document using text generation techniques and generates the sequence diagram using diagram generation techniques.
[1960] (Claim 3)
[1961] 2. The system of claim 1, wherein the means for obtaining the source code comprises means for retrieving the latest source code from a repository.
[1962] "Example 1"
[1963] (Claim 1)
[1964] A means of obtaining the source code;
[1965] means for loading an artificial intelligence model to analyze the obtained source code and extract key features and changes;
[1966] a means for generating a document based on the extracted information using a combination of text generation technology and diagram generation technology;
[1967] means for a user to review the generated document via a web interface, make corrections, and send that feedback to the server;
[1968] a means for temporarily storing the generated document and notifying the user that it is ready for review;
[1969] A means to carry out these processes on a regular basis;
[1970] A system including:
[1971] (Claim 2)
[1972] 10. The system of claim 1, wherein the document generation means generates technical documentation using a generative AI model and further generates technical diagrams using descriptive techniques.
[1973] (Claim 3)
[1974] 2. The system of claim 1, wherein the means for obtaining the source code includes means for retrieving the latest source code from a source code sharing system.
[1975] "Application Example 1"
[1976] (Claim 1)
[1977] A means of obtaining the source code;
[1978] A means of analyzing the acquired source code to extract key features and changes;
[1979] means for generating a document based on the extracted information;
[1980] A means to review and correct the generated documentation;
[1981] A means to carry out these processes on a regular basis;
[1982] A means of obtaining machine operation data and maintenance history,
[1983] A means of analyzing the acquired data using an AI model;
[1984] A means for generating technical documentation and maintenance logs based on the analysis results;
[1985] a means for user reviews through a web interface;
[1986] A system including:
[1987] (Claim 2)
[1988] 10. The system of claim 1, wherein the document generation means generates the text document using text generation techniques and generates the sequence diagram using diagram generation techniques.
[1989] (Claim 3)
[1990] 2. The system of claim 1, wherein the means for obtaining the source code comprises means for retrieving the latest source code from a repository.
[1991] "Example 2: Combining Emotion Engines"
[1992] (Claim 1)
[1993] A means of obtaining the source code;
[1994] A means of analyzing the acquired source code to extract key features and changes;
[1995] means for generating a document based on the extracted information;
[1996] A means to review and correct the generated documentation;
[1997] means for recognizing and analyzing user sentiment during reviews;
[1998] A means for analyzing user emotion data and suggesting document revisions based on the feedback;
[1999] A means to carry out these processes on a regular basis;
[2000] A system including:
[2001] (Claim 2)
[2002] 10. The system of claim 1, wherein the document generation means generates the text document using text generation techniques and generates the sequence diagram using diagram generation techniques.
[2003] (Claim 3)
[2004] 2. The system of claim 1, wherein the means for obtaining the source code comprises means for retrieving the latest source code from a repository.
[2005] "Application example 2 when combining emotion engines"
[2006] (Claim 1)
[2007] A means of obtaining the source code;
[2008] A means of analyzing the acquired source code to extract key features and changes;
[2009] means for generating a document based on the extracted information;
[2010] A means to review and correct the generated documentation;
[2011] a means for recognizing user sentiment during review;
[2012] means for analyzing user emotion data and suggesting document modifications;
[2013] A means to carry out these processes on a regular basis;
[2014] A system including:
[2015] (Claim 2)
[2016] 10. The system of claim 1, further comprising: generating the text document using text generation techniques; and generating the sequence diagram using diagram generation techniques.
[2017] (Claim 3)
[2018] 10. The system of claim 1, further comprising means for retrieving the latest source code from the repository. [Explanation of symbols]
[2019] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of obtaining the source code; A means of analyzing the acquired source code to extract key features and changes; means for generating a document based on the extracted information; A means to review and correct the generated documentation; A means to carry out these processes on a regular basis; A system including:
2. 2. The system of claim 1, wherein the document generation means generates the text document using a text generation technique and generates the sequence diagram using a diagram generation technique.
3. 2. The system of claim 1, wherein the means for obtaining the source code comprises means for retrieving the latest source code from a repository.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A