System

The system automatically generates documentation from source code analysis, enhancing user experience and addressing documentation gaps in software development through multimedia content and user-specific outputs, improving efficiency and compliance.

JP2026018419APending Publication Date: 2026-02-05SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024119741
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-25
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Conventional software development often lacks timely and necessary documentation, leading to inefficiencies and potential risks.

Method used

A system that includes a source code analysis unit, information extraction unit, and document generation unit to automatically generate documentation by analyzing source code, extracting necessary information, and generating technical documents, including multimedia content and considering user roles and emotional states.

Benefits of technology

The system effectively addresses the lack of documentation by providing timely, user-specific, and multimedia-enhanced technical documents, improving code efficiency, security, and legal compliance, while facilitating global collaboration and user understanding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026018419000001_ABST
    Figure 2026018419000001_ABST
Patent Text Reader

Abstract

An object of a system according to an embodiment is to extract necessary information from a source code and automatically generate a document.SOLUTION: A system includes a source code analysis part, an information extraction part, and a document generation part. The source code analysis unit analyzes a source code. The information extraction unit extracts the information analyzed by the source code analysis unit. The document generation unit generates a document based on the information extracted by the information extraction unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 conventional software development, the creation of documentation is often postponed, resulting in a lack of necessary documentation.

[0005] The system according to the embodiment aims to extract necessary information from source code and automatically generate documentation. [Means for solving the problem]

[0006] A system according to an embodiment includes a source code analysis unit, an information extraction unit, and a document generation unit. The source code analysis unit analyzes source code. The information extraction unit extracts information analyzed by the source code analysis unit. The document generation unit generates a document based on the information extracted by the information extraction unit. [Effects of the Invention]

[0007] The system according to the embodiment can extract necessary information from source code and automatically generate documentation. [Brief explanation of the drawings]

[0008] [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. DETAILED DESCRIPTION OF THE INVENTION

[0009] 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.

[0010] First, the terms used in the following description will be explained.

[0011] 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, the 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), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).

[0012] 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.

[0013] In the following embodiments, the coded storage is one or more nonvolatile storage devices that store various programs, various parameters, etc. Examples of nonvolatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0014] 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), and Bluetooth (registered trademark).

[0015] 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."

[0016] [First embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0017] 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.

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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).

[0019] 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.

[0020] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (for example, a pen or a finger) to receive user input by the touch of the pointer. 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 (see FIG. 2) acquires the data indicating the user input.

[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., audio and / or text). Display 40A displays visible information such as text and images in accordance with instructions from processor 46. Speaker 40B outputs audio in accordance with instructions from processor 46. 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.

[0022] 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.

[0023] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0024] 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.

[0025] 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. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0026] In the smart device 14, the specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart device 14 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0027] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (prediction result, etc.) using the data generation model 58 by communicating with the server device having the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device owned by a user (e.g., a mobile phone, a robot, a home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.

[0028] (Example 1) A documentation generation system according to an embodiment of the present invention is a system that solves the problem of a lack of documentation in organizations that develop and operate software. This system analyzes source code, extracts information, and generates documentation. As a result, the documentation generation system can extract necessary information from source code and provide the necessary documentation to developers, designers, planners, and others.

[0029] A document generation system according to an embodiment includes a source code analysis unit, an information extraction unit, and a document generation unit. The source code analysis unit analyzes source code. For example, the source code analysis unit analyzes function and class definitions. The source code analysis unit can also analyze variable usage. The source code analysis unit can also analyze inter-module dependency relationships. The information extraction unit extracts information analyzed by the source code analysis unit. For example, the information extraction unit extracts function call relationships. The information extraction unit can also extract variable dependency relationships. The information extraction unit can also extract code metrics. The document generation unit generates documents based on the information extracted by the information extraction unit. For example, the document generation unit generates technical documents. The document generation unit can also generate API documentation. The document generation unit can also generate design documents. As a result, the document generation system according to an embodiment can solve the problem of insufficient documentation by extracting necessary information from source code and automatically generating documents.

[0030] The source code analysis unit can analyze the change history of source code and automatically extract the intent of the change and the scope of its impact. The source code analysis unit, for example, analyzes the change history of source code and automatically extracts the intent of the change. For example, it analyzes the history of function additions and deletions, variable changes, etc., to clarify the purpose and background of the change. The source code analysis unit also automatically extracts the scope of impact of the change. For example, it analyzes dependencies and identifies affected modules. In this way, by analyzing the change history of source code and automatically extracting the intent of the change and the scope of its impact, developers can quickly understand the impact of the change.

[0031] The information extraction unit can identify performance bottlenecks based on the results of source code analysis and generate improvement proposals. The information extraction unit, for example, identifies performance bottlenecks based on the results of source code analysis. For example, it analyzes functions with long processing times or parts with high memory consumption to clarify bottlenecks. The information extraction unit also generates improvement proposals. For example, it proposes code refactoring or algorithm optimization. The information extraction unit can also propose specific techniques for improving performance. In this way, by identifying performance bottlenecks based on the results of source code analysis and generating improvement proposals, it is possible to improve code efficiency.

[0032] The information extraction unit can automatically detect security vulnerabilities and generate fix suggestions when analyzing source code. The information extraction unit, for example, analyzes source code and automatically detects security vulnerabilities. For example, it identifies vulnerabilities such as SQL injection and buffer overflow. The information extraction unit also generates fix suggestions. For example, it proposes specific code changes to fix the vulnerabilities. The information extraction unit can also suggest how to apply security patches. In this way, by automatically detecting security vulnerabilities and generating fix suggestions when analyzing source code, it is possible to improve the security of the code.

[0033] The information extraction unit can compare the results of source code analysis with other projects and repositories to extract best practices. For example, the information extraction unit compares the results of source code analysis with other projects and repositories to extract best practices. For example, it compares different approaches to implementing the same function. The information extraction unit also makes suggestions for improving code based on best practices. For example, it suggests adopting techniques that have been successful in other projects. The information extraction unit can also suggest best practices based on industry standards. In this way, comparing the results of source code analysis with other projects and repositories and extracting best practices helps improve the development process.

[0034] The document generation unit can use generation AI to automate document version management based on the code change history. The document generation unit automates document version management based on, for example, the code change history. For example, every time a change is made, the corresponding document is automatically updated. The document generation unit also uses generation AI to streamline document version management. For example, it automatically assigns version numbers and automatically records change history. The document generation unit can also use generation AI to provide management functions for maintaining document consistency. This makes it possible to maintain the consistency and up-to-dateness of documents by automating document version management based on the code change history.

[0035] The document generation unit can automatically refer to related patent information and standards when generating a document to check legal compliance. For example, the document generation unit can automatically refer to related patent information when generating a document to check legal compliance. For example, it can provide information to avoid the risk of patent infringement. The document generation unit can also automatically refer to standards to check legal compliance. For example, it can generate documents that comply with ISO standards and industry standards. The document generation unit can also make specific suggestions to reduce legal risks. This makes it possible to reduce legal risks by automatically referring to related patent information and standards when generating a document to check legal compliance.

[0036] The document generation unit can automatically generate multimedia content including audio and video when generating a document, thereby providing a document that is visually easy to understand. For example, the document generation unit can automatically generate audio and video when generating a document, thereby providing a document that is visually easy to understand. For example, a video that provides an audio explanation of a function is generated. The document generation unit can also use multimedia content to make the content of the document visually easier to understand. For example, an animation can be used to show a layout diagram of UI components. The document generation unit can also use audio and video to complement the content of the document. In this way, multimedia content including audio and video can be automatically generated to provide a document that is visually easy to understand, thereby facilitating user understanding.

[0037] The document generation unit can automatically translate documents into different languages ​​and generate documents that can be used by international teams. For example, the document generation unit can translate documents into multiple languages, such as English, Japanese, and French. The document generation unit also uses generative AI to perform highly accurate translations. For example, it uses a machine translation model to accurately translate specialized and technical terms. The document generation unit can also evaluate the quality of the translated documents and make corrections as necessary. This makes it possible to automatically translate documents into different languages ​​and generate documents that can be used by international teams, promoting global collaboration.

[0038] The document generation unit can use generation AI to automatically generate customized documents according to the user's role and skill level. The document generation unit, for example, uses generation AI to automatically generate customized documents according to the user's role and skill level. For example, it generates detailed technical documents for developers and UI specifications for designers. The document generation unit also generates documents according to the user's skill level. For example, it provides basic explanations for beginners and detailed technical information for advanced users. The document generation unit can also customize the content of documents based on the user's role and skill level. This makes it possible to provide information that meets the user's needs by automatically generating customized documents according to the user's role and skill level.

[0039] When customizing a document, the document generation unit can refer to the user's past usage history and suggest optimal content. The document generation unit, for example, refers to the user's past usage history and suggests optimal document content. For example, it provides related information based on the content of documents previously referenced. The document generation unit also analyzes the user's usage history and customizes the document content. For example, it adds detailed explanations of frequently used functions. The document generation unit can also continuously improve the document content based on user feedback. This makes it possible to provide information that meets the user's needs by referring to the user's past usage history and suggesting optimal content.

[0040] When customizing a document, the document generation unit can output the document in a format optimized for the user's device or environment. The document generation unit outputs the document in a format optimized for the user's device or environment, for example. For example, the document generation unit provides a layout optimized for smartphones or a detailed display format for desktops. The document generation unit also generates a document according to the user's environment. For example, the document generation unit provides a document compatible with different operating systems or browsers. The document generation unit can also generate a document according to the user's network environment. This allows the document to be output in a format optimized for the user's device or environment, thereby improving user convenience.

[0041] The document generation unit can adopt an agile methodology for continuously improving the customized document based on user feedback. The document generation unit, for example, adopts an agile methodology for continuously improving the customized document based on user feedback. For example, the document generation unit collects feedback through sprint reviews and user testing and improves the document. The document generation unit also uses an agile methodology to improve the quality of the document. For example, the document generation unit implements periodic reviews and improvement cycles. The document generation unit can also propose improvements to the document in accordance with user needs. In this way, by adopting an agile methodology for continuously improving the customized document based on user feedback, the quality of the document can be improved.

[0042] The document generation unit can use generation AI to automatically update documents in real time in response to changes in source code. The document generation unit automatically updates documents in real time in response to changes in source code. For example, when a new function is added, the corresponding document is immediately updated. The document generation unit also uses generation AI to make automatic document updates more efficient. For example, it automatically detects changes and updates the corresponding document. The document generation unit can also use generation AI to provide a management function for maintaining the consistency of documents. This allows documents to be kept up to date by automatically updating documents in real time in response to changes in source code.

[0043] The document generation unit can record the document update history in detail, making it possible to trace the intent of the change and the scope of its impact. The document generation unit, for example, records the document update history in detail, making it possible to trace the intent of the change and the scope of its impact. For example, it clarifies the changes in each version and the reasons for them. The document generation unit also identifies the scope of impact of the change based on the update history. For example, it analyzes dependencies and identifies the affected modules. The document generation unit can also provide specific methods for clarifying the intent of the change. This makes it possible to record the document update history in detail, making it possible to trace the intent of the change and the scope of its impact, making change management easier.

[0044] The document generation unit can automatically output the updated document in different formats (e.g., PDF, HTML, Markdown). The document generation unit, for example, automatically outputs the updated document in different formats. For example, it generates documents in formats such as PDF, HTML, and Markdown. The document generation unit also provides the document in a format that meets the user's needs. For example, the user can select PDF format for printing or HTML format for web display. The document generation unit can also provide a function for maintaining the consistency of content during format conversion. This allows the updated document to be automatically output in different formats, thereby improving user convenience.

[0045] The document generation unit can use generation AI to automatically manage document access permissions and strengthen security. The document generation unit, for example, uses generation AI to automatically manage document access permissions. For example, it may allow access only to specific users or groups. The document generation unit also sets access permissions based on a security policy. For example, it may apply strict access control to documents that contain confidential information. The document generation unit can also record the change history of access permissions and perform security audits. This makes it possible to automatically manage document access permissions and strengthen security, thereby reducing the risk of information leaks.

[0046] The document generation unit can perform access control according to the user's role and the progress of the project when sharing a document. For example, the document generation unit performs access control according to the user's role and the progress of the project when sharing a document. For example, a project manager can be allowed access to all documents, while developers can be allowed only technical documents. The document generation unit also adjusts access permissions according to the progress of the project. For example, access is allowed to everyone in the early stages of a project, and access is restricted to only specific members in the later stages. The document generation unit can also automate access control settings and perform efficient management. This enables appropriate management of information by performing access control according to the user's role and the progress of the project when sharing a document.

[0047] The document generation unit can integrate with cloud storage and project management tools to enable efficient access when sharing documents. For example, the document generation unit can integrate with cloud storage to enable efficient access when sharing documents. For example, the document generation unit can store documents in cloud storage such as Google Drive or Dropbox, allowing stakeholders to easily access them. The document generation unit can also integrate with project management tools to streamline document management. For example, documents can be linked to project management tools such as JIRA or Trello, and the documents can be updated according to the progress of the project. The document generation unit can also automate integration with cloud storage and project management tools to reduce management efforts. This allows for efficient access when sharing documents, facilitating smooth information sharing.

[0048] The document generation unit can automatically collect user feedback on shared documents and use it to improve them. The document generation unit, for example, builds a system that automatically collects user feedback on shared documents. For example, it adds a comment function to the document to enable users to easily provide feedback. The document generation unit also improves the content of the document based on the feedback. For example, it reflects user opinions and modifies the content of the document. The document generation unit can also automate the collection of feedback and realize an efficient improvement cycle. This makes it possible to automatically collect user feedback on shared documents and use it to improve them, thereby improving the quality of the document.

[0049] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0050] The document generation system can further include a customization unit that generates customized documents according to the user's role. For example, it generates progress reports for project managers, technical specifications for developers, and UI design documents for designers. The customization unit can also generate documents according to the user's skill level. For example, it provides basic explanations for beginners and detailed technical information for advanced users. This makes it possible to provide information according to the user's role and skill level.

[0051] The source code analysis unit can also make suggestions for improving the development process based on the code change history. For example, it can identify modules that are frequently changed and analyze the causes. The source code analysis unit can also make suggestions for improving communication within the development team based on the change history. For example, it can encourage discussion about parts that have been changed frequently. The source code analysis unit can also suggest specific methods for making the development process more efficient based on the change history. This makes it possible to improve the development process based on the code change history.

[0052] The information extraction unit can further evaluate the readability of the code and make suggestions for improvement based on the results of the source code analysis. For example, it can identify complex functions and long methods and suggest refactoring. The information extraction unit can also evaluate the completeness of code comments and documentation and suggest necessary additional information. For example, it can suggest adding specific comments to parts where comments are lacking. The information extraction unit can also evaluate the consistency of the code and suggest modifications based on style guides. This can improve the readability and consistency of the code.

[0053] The information extraction unit can further evaluate the maintainability of the code and make improvement suggestions based on the results of the source code analysis. For example, it can identify parts that are difficult to maintain and suggest refactoring. The information extraction unit can also evaluate the test coverage of the code and suggest adding tests. For example, it can suggest adding specific test cases for parts that are lacking tests. The information extraction unit can also evaluate code dependencies and suggest separating or restructuring modules. This can improve the maintainability of the code.

[0054] The information extraction unit can also make suggestions for improving developer skills based on the results of source code analysis. For example, it can analyze the frequency of use of specific technologies and tools and evaluate the need for training. The information extraction unit can also evaluate the quality of feedback based on the developer's code review history and make suggestions for improvement. For example, it can suggest specific ways to provide feedback. The information extraction unit can also evaluate the developer's skill set and make career path suggestions. This can support developer skill improvement and career growth.

[0055] The document generation unit can also use generative AI to automatically summarize the contents of a document. For example, it can summarize a long technical document in a short form and extract the key points. The document generation unit can also automatically generate presentation materials based on the summarized document. For example, it can provide the summary in slide format. The document generation unit can also generate a quick reference guide based on the summarized document. This allows users to efficiently understand the contents of the document.

[0056] The document generation unit can also use generation AI to automatically proofread the document content. For example, it can automatically detect grammar and spelling errors and suggest corrections. The document generation unit can also proofread based on a style guide. For example, it can check for consistency in terminology and formatting. The document generation unit can also evaluate the quality of the document based on the proofreading results and suggest improvements. This can improve the quality of the document.

[0057] The processing flow of the first embodiment will be briefly explained below.

[0058] Step 1: The source code analysis unit analyzes the source code, including function and class definitions, variable usage, and inter-module dependencies. Step 2: The information extraction unit extracts the information analyzed by the source code analysis unit, such as function call relationships, variable dependencies, and code metrics. Step 3: The document generation unit generates documents based on the information extracted by the information extraction unit, such as technical documentation, API documentation, and design documents.

[0059] (Example 2) A documentation generation system according to an embodiment of the present invention is a system that solves the problem of a lack of documentation in organizations that develop and operate software. This system analyzes source code, extracts information, and generates documentation. As a result, the documentation generation system can extract necessary information from source code and provide the necessary documentation to developers, designers, planners, and others.

[0060] A document generation system according to an embodiment includes a source code analysis unit, an information extraction unit, and a document generation unit. The source code analysis unit analyzes source code. For example, the source code analysis unit analyzes function and class definitions. The source code analysis unit can also analyze variable usage. The source code analysis unit can also analyze inter-module dependency relationships. The information extraction unit extracts information analyzed by the source code analysis unit. For example, the information extraction unit extracts function call relationships. The information extraction unit can also extract variable dependency relationships. The information extraction unit can also extract code metrics. The document generation unit generates documents based on the information extracted by the information extraction unit. For example, the document generation unit generates technical documents. The document generation unit can also generate API documentation. The document generation unit can also generate design documents. As a result, the document generation system according to an embodiment can solve the problem of insufficient documentation by extracting necessary information from source code and automatically generating documents.

[0061] The source code analysis unit can analyze the change history of source code and automatically extract the intent of the change and the scope of its impact. The source code analysis unit, for example, analyzes the change history of source code and automatically extracts the intent of the change. For example, it analyzes the history of function additions and deletions, variable changes, etc., to clarify the purpose and background of the change. The source code analysis unit also automatically extracts the scope of impact of the change. For example, it analyzes dependencies and identifies affected modules. In this way, by analyzing the change history of source code and automatically extracting the intent of the change and the scope of its impact, developers can quickly understand the impact of the change.

[0062] The information extraction unit can identify performance bottlenecks based on the results of source code analysis and generate improvement proposals. The information extraction unit, for example, identifies performance bottlenecks based on the results of source code analysis. For example, it analyzes functions with long processing times or parts with high memory consumption to clarify bottlenecks. The information extraction unit also generates improvement proposals. For example, it proposes code refactoring or algorithm optimization. The information extraction unit can also propose specific techniques for improving performance. In this way, by identifying performance bottlenecks based on the results of source code analysis and generating improvement proposals, it is possible to improve code efficiency.

[0063] The information extraction unit can use the emotion estimation function to infer emotions from developer comments and commit messages and evaluate code quality and risk. The information extraction unit, for example, analyzes developer comments and commit messages to infer emotions. For example, if there are many positive comments, it evaluates the code quality as high, and if there are many negative comments, it evaluates the risk as high. The information extraction unit also uses the emotion estimation function to evaluate code quality and risk. For example, it quantifies quality and risk based on the emotion score. The information extraction unit can also use the emotion estimation function to make suggestions for improving the development process. In this way, inferring emotions from developer comments and commit messages and evaluating code quality and risk helps improve the development process.

[0064] The information extraction unit can automatically detect security vulnerabilities and generate fix suggestions when analyzing source code. The information extraction unit, for example, analyzes source code and automatically detects security vulnerabilities. For example, it identifies vulnerabilities such as SQL injection and buffer overflow. The information extraction unit also generates fix suggestions. For example, it proposes specific code changes to fix the vulnerabilities. The information extraction unit can also suggest how to apply security patches. In this way, by automatically detecting security vulnerabilities and generating fix suggestions when analyzing source code, it is possible to improve the security of the code.

[0065] The information extraction unit can compare the results of source code analysis with other projects and repositories to extract best practices. For example, the information extraction unit compares the results of source code analysis with other projects and repositories to extract best practices. For example, it compares different approaches to implementing the same function. The information extraction unit also makes suggestions for improving code based on best practices. For example, it suggests adopting techniques that have been successful in other projects. The information extraction unit can also suggest best practices based on industry standards. In this way, comparing the results of source code analysis with other projects and repositories and extracting best practices helps improve the development process.

[0066] The information extraction unit can use the emotion estimation function to monitor the emotional state of the developer in real time and make suggestions to reduce stress and fatigue. The information extraction unit, for example, monitors the emotional state of the developer in real time and makes suggestions to reduce stress and fatigue. For example, it makes a suggestion to take a break if the emotion score is low. The information extraction unit also uses the emotion estimation function to make suggestions to improve the work environment according to the developer's emotional state. For example, it suggests providing a relaxing environment. The information extraction unit can also use the emotion estimation function to make suggestions to support the developer's health management. In this way, by monitoring the emotional state of the developer in real time and making suggestions to reduce stress and fatigue, it is possible to improve the health and productivity of the developer.

[0067] The document generation unit can use generation AI to automate document version management based on the code change history. The document generation unit automates document version management based on, for example, the code change history. For example, every time a change is made, the corresponding document is automatically updated. The document generation unit also uses generation AI to streamline document version management. For example, it automatically assigns version numbers and automatically records change history. The document generation unit can also use generation AI to provide management functions for maintaining document consistency. This makes it possible to maintain the consistency and up-to-dateness of documents by automating document version management based on the code change history.

[0068] The document generation unit can automatically refer to related patent information and standards when generating a document to check legal compliance. For example, the document generation unit can automatically refer to related patent information when generating a document to check legal compliance. For example, it can provide information to avoid the risk of patent infringement. The document generation unit can also automatically refer to standards to check legal compliance. For example, it can generate documents that comply with ISO standards and industry standards. The document generation unit can also make specific suggestions to reduce legal risks. This makes it possible to reduce legal risks by automatically referring to related patent information and standards when generating a document to check legal compliance.

[0069] The document generation unit can use the emotion estimation function to analyze user feedback and continuously improve the content of the document. For example, the document generation unit analyzes user feedback using the emotion estimation function and continuously improves the content of the document. For example, it emphasizes parts that have a lot of positive feedback and corrects parts that have a lot of negative feedback. The document generation unit also uses the emotion estimation function to make improvement suggestions to improve user satisfaction. For example, it suggests document modifications that meet the user's needs. The document generation unit can also use the emotion estimation function to suggest specific methods for improving the quality of the document. In this way, it is possible to analyze user feedback and continuously improve the content of the document, thereby improving user satisfaction.

[0070] The document generation unit can automatically generate multimedia content including audio and video when generating a document, thereby providing a document that is visually easy to understand. For example, the document generation unit can automatically generate audio and video when generating a document, thereby providing a document that is visually easy to understand. For example, a video that provides an audio explanation of a function is generated. The document generation unit can also use multimedia content to make the content of the document visually easier to understand. For example, an animation can be used to show a layout diagram of UI components. The document generation unit can also use audio and video to complement the content of the document. In this way, multimedia content including audio and video can be automatically generated to provide a document that is visually easy to understand, thereby facilitating user understanding.

[0071] The document generation unit can automatically translate documents into different languages ​​and generate documents that can be used by international teams. For example, the document generation unit can translate documents into multiple languages, such as English, Japanese, and French. The document generation unit also uses generative AI to perform highly accurate translations. For example, it uses a machine translation model to accurately translate specialized and technical terms. The document generation unit can also evaluate the quality of the translated documents and make corrections as necessary. This makes it possible to automatically translate documents into different languages ​​and generate documents that can be used by international teams, promoting global collaboration.

[0072] The document generation unit can use the emotion estimation function to identify a document format that is easiest for the user to understand and generate a document in that format. The document generation unit, for example, uses the emotion estimation function to identify a document format that is easiest for the user to understand. For example, the document generation unit selects an optimal format from among a text format, an illustrated format, a video format, and the like. The document generation unit also generates a document in the identified document format. For example, the document generation unit generates a text format document depending on the user's emotional state. The document generation unit can also continuously improve the document format based on user feedback. In this way, by identifying a document format that is easiest for the user to understand and generating a document in that format, it is possible to promote user understanding.

[0073] The document generation unit can use generation AI to automatically generate customized documents according to the user's role and skill level. The document generation unit, for example, uses generation AI to automatically generate customized documents according to the user's role and skill level. For example, it generates detailed technical documents for developers and UI specifications for designers. The document generation unit also generates documents according to the user's skill level. For example, it provides basic explanations for beginners and detailed technical information for advanced users. The document generation unit can also customize the content of documents based on the user's role and skill level. This makes it possible to provide information that meets the user's needs by automatically generating customized documents according to the user's role and skill level.

[0074] When customizing a document, the document generation unit can refer to the user's past usage history and suggest optimal content. The document generation unit, for example, refers to the user's past usage history and suggests optimal document content. For example, it provides related information based on the content of documents previously referenced. The document generation unit also analyzes the user's usage history and customizes the document content. For example, it adds detailed explanations of frequently used functions. The document generation unit can also continuously improve the document content based on user feedback. This makes it possible to provide information that meets the user's needs by referring to the user's past usage history and suggesting optimal content.

[0075] The document generation unit can use the emotion estimation function to customize a document with a tone and style that corresponds to the user's emotional state. For example, the document generation unit uses the emotion estimation function to customize a document with a tone and style that corresponds to the user's emotional state. For example, the document generation unit provides a document with a bright tone for a user in a positive emotional state and a calm tone for a user in a negative emotional state. The document generation unit also generates a document with a style that corresponds to the user's emotional state. For example, the document generation unit selects a formal style or a casual style. The document generation unit can also continuously improve the tone and style based on user feedback. In this way, customizing a document with a tone and style that corresponds to the user's emotional state can improve user satisfaction.

[0076] When customizing a document, the document generation unit can output the document in a format optimized for the user's device or environment. The document generation unit outputs the document in a format optimized for the user's device or environment, for example. For example, the document generation unit provides a layout optimized for smartphones or a detailed display format for desktops. The document generation unit also generates a document according to the user's environment. For example, the document generation unit provides a document compatible with different operating systems or browsers. The document generation unit can also generate a document according to the user's network environment. This allows the document to be output in a format optimized for the user's device or environment, thereby improving user convenience.

[0077] The document generation unit can adopt an agile methodology for continuously improving the customized document based on user feedback. The document generation unit, for example, adopts an agile methodology for continuously improving the customized document based on user feedback. For example, the document generation unit collects feedback through sprint reviews and user testing and improves the document. The document generation unit also uses an agile methodology to improve the quality of the document. For example, the document generation unit implements periodic reviews and improvement cycles. The document generation unit can also propose improvements to the document in accordance with user needs. In this way, by adopting an agile methodology for continuously improving the customized document based on user feedback, the quality of the document can be improved.

[0078] The document generation unit can use the emotion estimation function to monitor the user's emotional responses in real time and perform optimal customization. The document generation unit, for example, uses the emotion estimation function to monitor the user's emotional responses in real time and perform optimal customization. For example, if the emotion score is low, the content is made simpler, and if the emotion score is high, detailed information is provided. The document generation unit also adjusts the content of the document based on the user's emotional responses. For example, if there are a lot of positive emotions, the content is emphasized, and if there are a lot of negative emotions, the content is modified. The document generation unit can also use the emotion estimation function to make specific suggestions to improve user satisfaction. In this way, it is possible to improve user satisfaction by monitoring the user's emotional responses in real time and performing optimal customization.

[0079] The document generation unit can use generation AI to automatically update documents in real time in response to changes in source code. The document generation unit automatically updates documents in real time in response to changes in source code. For example, when a new function is added, the corresponding document is immediately updated. The document generation unit also uses generation AI to make automatic document updates more efficient. For example, it automatically detects changes and updates the corresponding document. The document generation unit can also use generation AI to provide a management function for maintaining the consistency of documents. This allows documents to be kept up to date by automatically updating documents in real time in response to changes in source code.

[0080] The document generation unit can record the document update history in detail, making it possible to trace the intent of the change and the scope of its impact. The document generation unit, for example, records the document update history in detail, making it possible to trace the intent of the change and the scope of its impact. For example, it clarifies the changes in each version and the reasons for them. The document generation unit also identifies the scope of impact of the change based on the update history. For example, it analyzes dependencies and identifies the affected modules. The document generation unit can also provide specific methods for clarifying the intent of the change. This makes it possible to record the document update history in detail, making it possible to trace the intent of the change and the scope of its impact, making change management easier.

[0081] The document generation unit can use the emotion estimation function to analyze user feedback and optimize document update content. The document generation unit, for example, analyzes user feedback using the emotion estimation function and optimizes document update content. For example, it emphasizes parts with a lot of positive feedback and corrects parts with a lot of negative feedback. The document generation unit also uses the emotion estimation function to make improvement suggestions to improve user satisfaction. For example, it suggests document corrections according to the user's needs. The document generation unit can also use the emotion estimation function to suggest specific methods for improving document quality. In this way, by analyzing user feedback and optimizing document update content, user satisfaction can be improved.

[0082] The document generation unit can automatically output the updated document in different formats (e.g., PDF, HTML, Markdown). The document generation unit, for example, automatically outputs the updated document in different formats. For example, it generates documents in formats such as PDF, HTML, and Markdown. The document generation unit also provides the document in a format that meets the user's needs. For example, the user can select PDF format for printing or HTML format for web display. The document generation unit can also provide a function for maintaining the consistency of content during format conversion. This allows the updated document to be automatically output in different formats, thereby improving user convenience.

[0083] The document generation unit can use the emotion estimation function to monitor the user's emotional response in real time and evaluate the acceptability of the update content. The document generation unit, for example, uses the emotion estimation function to monitor the user's emotional response in real time and evaluate the acceptability of the update content. For example, if the emotion score is high, it determines that the update content is likely to be accepted. The document generation unit also adjusts the update content based on the user's emotional response. For example, if there are a lot of positive emotions, it emphasizes the content, and if there are a lot of negative emotions, it modifies the content. The document generation unit can also use the emotion estimation function to make specific suggestions to improve user satisfaction. In this way, by monitoring the user's emotional response in real time and evaluating the acceptability of the update content, user satisfaction can be improved.

[0084] The document generation unit can use generation AI to automatically manage document access permissions and strengthen security. The document generation unit, for example, uses generation AI to automatically manage document access permissions. For example, it may allow access only to specific users or groups. The document generation unit also sets access permissions based on a security policy. For example, it may apply strict access control to documents that contain confidential information. The document generation unit can also record the change history of access permissions and perform security audits. This makes it possible to automatically manage document access permissions and strengthen security, thereby reducing the risk of information leaks.

[0085] The document generation unit can perform access control according to the user's role and the progress of the project when sharing a document. For example, the document generation unit performs access control according to the user's role and the progress of the project when sharing a document. For example, a project manager can be allowed access to all documents, while developers can be allowed only technical documents. The document generation unit also adjusts access permissions according to the progress of the project. For example, access is allowed to everyone in the early stages of a project, and access is restricted to only specific members in the later stages. The document generation unit can also automate access control settings and perform efficient management. This enables appropriate management of information by performing access control according to the user's role and the progress of the project when sharing a document.

[0086] The document generation unit can use the emotion estimation function to suggest a sharing method according to the user's emotional state, thereby facilitating communication. The document generation unit, for example, uses the emotion estimation function to suggest a sharing method according to the user's emotional state. For example, a simple document can be shared with a user who is highly stressed, and a detailed document can be provided to a user who is relaxed. The document generation unit also makes suggestions to facilitate communication based on the user's emotional state. For example, it can suggest regular meetings or feedback sessions. The document generation unit can also use the emotion estimation function to provide specific methods for promoting team cooperation. In this way, it is possible to suggest a sharing method according to the user's emotional state, thereby facilitating communication and promoting team cooperation.

[0087] The document generation unit can integrate with cloud storage and project management tools to enable efficient access when sharing documents. For example, the document generation unit can integrate with cloud storage to enable efficient access when sharing documents. For example, the document generation unit can store documents in cloud storage such as Google Drive or Dropbox, allowing stakeholders to easily access them. The document generation unit can also integrate with project management tools to streamline document management. For example, documents can be linked to project management tools such as JIRA or Trello, and the documents can be updated according to the progress of the project. The document generation unit can also automate integration with cloud storage and project management tools to reduce management efforts. This allows for efficient access when sharing documents, facilitating smooth information sharing.

[0088] The document generation unit can automatically collect user feedback on shared documents and use it to improve them. The document generation unit, for example, builds a system that automatically collects user feedback on shared documents. For example, it adds a comment function to the document to enable users to easily provide feedback. The document generation unit also improves the content of the document based on the feedback. For example, it reflects user opinions and modifies the content of the document. The document generation unit can also automate the collection of feedback and realize an efficient improvement cycle. This makes it possible to automatically collect user feedback on shared documents and use it to improve them, thereby improving the quality of the document.

[0089] The document generation unit can use the emotion estimation function to analyze the user's emotional response to the shared document and continuously search for the optimal sharing method. The document generation unit, for example, uses the emotion estimation function to analyze the user's emotional response to the shared document in real time. For example, if there are a lot of positive emotions, the sharing method is continued, and if there are a lot of negative emotions, the sharing method is reviewed. The document generation unit also adjusts the sharing method based on the user's emotional response. For example, if the emotion score is low, the content is simplified, and if the emotion score is high, detailed information is provided. The document generation unit can also use the emotion estimation function to provide a specific method for continuously searching for the optimal sharing method. As a result, the quality of information sharing can be improved by analyzing the user's emotional response to the shared document and continuously searching for the optimal sharing method.

[0090] The system according to the embodiment is not limited to the above-described example, and various modifications are possible, for example, as follows.

[0091] The document generation system can further include a customization unit that generates customized documents according to the user's role. For example, it generates progress reports for project managers, technical specifications for developers, and UI design documents for designers. The customization unit can also generate documents according to the user's skill level. For example, it provides basic explanations for beginners and detailed technical information for advanced users. This makes it possible to provide information according to the user's role and skill level.

[0092] The source code analysis unit can also make suggestions for improving the development process based on the code change history. For example, it can identify modules that are frequently changed and analyze the causes. The source code analysis unit can also make suggestions for improving communication within the development team based on the change history. For example, it can encourage discussion about parts that have been changed frequently. The source code analysis unit can also suggest specific methods for making the development process more efficient based on the change history. This makes it possible to improve the development process based on the code change history.

[0093] The information extraction unit can further evaluate the readability of the code and make suggestions for improvement based on the results of the source code analysis. For example, it can identify complex functions and long methods and suggest refactoring. The information extraction unit can also evaluate the completeness of code comments and documentation and suggest necessary additional information. For example, it can suggest adding specific comments to parts where comments are lacking. The information extraction unit can also evaluate the consistency of the code and suggest modifications based on style guides. This can improve the readability and consistency of the code.

[0094] The information extraction unit can use the emotion estimation function to estimate emotions from developer comments and commit messages and evaluate the team's motivation. For example, if there are many positive comments, the team's motivation is evaluated as high, and if there are many negative comments, the motivation is evaluated as low. The information extraction unit can also use the emotion estimation function to make suggestions for improving the team's motivation. For example, it can suggest team building activities or feedback sessions. The information extraction unit can also use the emotion estimation function to manage motivation according to the progress of the project. In this way, by estimating emotions from developer comments and commit messages and evaluating the team's motivation, it can contribute to the success of the project.

[0095] The information extraction unit can further evaluate the maintainability of the code and make improvement suggestions based on the results of the source code analysis. For example, it can identify parts that are difficult to maintain and suggest refactoring. The information extraction unit can also evaluate the test coverage of the code and suggest adding tests. For example, it can suggest adding specific test cases for parts that are lacking tests. The information extraction unit can also evaluate code dependencies and suggest separating or restructuring modules. This can improve the maintainability of the code.

[0096] The information extraction unit can also make suggestions for improving developer skills based on the results of source code analysis. For example, it can analyze the frequency of use of specific technologies and tools and evaluate the need for training. The information extraction unit can also evaluate the quality of feedback based on the developer's code review history and make suggestions for improvement. For example, it can suggest specific ways to provide feedback. The information extraction unit can also evaluate the developer's skill set and make career path suggestions. This can support developer skill improvement and career growth.

[0097] The information extraction unit can use the emotion estimation function to monitor the emotional state of developers in real time and provide support according to the progress of the project. For example, if the emotion score is low, it can suggest providing additional resources. The information extraction unit can also use the emotion estimation function to suggest reallocating tasks according to the emotional state of developers. For example, it can assign lighter tasks to developers who are highly stressed. The information extraction unit can also use the emotion estimation function to manage motivation according to the progress of the project. In this way, by monitoring the emotional state of developers in real time and providing support according to the progress of the project, it is possible to contribute to the success of the project.

[0098] The document generation unit can also use generative AI to automatically summarize the contents of a document. For example, it can summarize a long technical document in a short form and extract the key points. The document generation unit can also automatically generate presentation materials based on the summarized document. For example, it can provide the summary in slide format. The document generation unit can also generate a quick reference guide based on the summarized document. This allows users to efficiently understand the contents of the document.

[0099] The document generation unit can also use generation AI to automatically proofread the document content. For example, it can automatically detect grammar and spelling errors and suggest corrections. The document generation unit can also proofread based on a style guide. For example, it can check for consistency in terminology and formatting. The document generation unit can also evaluate the quality of the document based on the proofreading results and suggest improvements. This can improve the quality of the document.

[0100] The document generation unit can use the emotion estimation function to analyze user feedback and continuously improve the content of the document. For example, it can emphasize parts that have received a lot of positive feedback and revise parts that have received a lot of negative feedback. The document generation unit can also use the emotion estimation function to make improvement suggestions to increase user satisfaction. For example, it can suggest document revisions that meet the user's needs. The document generation unit can also use the emotion estimation function to suggest specific methods for improving the quality of the document. In this way, it is possible to analyze user feedback and continuously improve the content of the document, thereby increasing user satisfaction.

[0101] The processing flow of the second embodiment will be briefly explained below.

[0102] Step 1: The source code analysis unit analyzes the source code, including function and class definitions, variable usage, and inter-module dependencies. Step 2: The information extraction unit extracts the information analyzed by the source code analysis unit, such as function call relationships, variable dependencies, and code metrics. Step 3: The document generation unit generates documents based on the information extracted by the information extraction unit, such as technical documentation, API documentation, and design documents.

[0103] 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.

[0104] 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> Examples of generative AIs include the data generation model 58, such as a neural network model (e.g., a neural network model), and a neural network model (e.g., a neural network model). 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 speech, text data indicating text, and image data indicating an image is also input to the data generation model 58. 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. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0105] Furthermore, the processing by the data processing system 10 described above is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0106] [Second embodiment] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0107] 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0108] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0109] 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.

[0110] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0111] 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 user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0112] 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.

[0113] 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.

[0114] 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.

[0115] 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. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0116] In the smart glasses 214, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the smart glasses 214 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0117] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0118] 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.

[0119] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0120] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the smart glasses 214 or an external device, etc., and the smart glasses 214 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0121] [Third embodiment] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0122] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0123] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0124] 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.

[0125] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0126] 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 user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0127] 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.

[0128] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset 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.

[0129] 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.

[0130] 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. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0131] In the headset type terminal 314, the identification process is performed by the processor 46. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. Note that the headset type terminal 314 may also have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0132] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0133] 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.

[0134] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0135] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset type terminal 314, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset type terminal 314. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the headset type terminal 314 or an external device, etc., and the headset type terminal 314 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0136] [Fourth embodiment] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[0137] 7, the 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.

[0138] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and 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 and / or a LAN.

[0139] 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.

[0140] The microphone 238 receives instructions and the like from the user by receiving voice uttered by the user. The microphone 238 captures the voice uttered by the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to instructions from the processor 46.

[0141] 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 image sensor or a CCD image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0142] 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.

[0143] The control object 443 includes a display device, LEDs in the eyes, and motors that drive 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.

[0144] 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.

[0145] 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.

[0146] 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. The identification processing unit 290 can estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0147] In the robot 414, the processor 46 performs the identification process. A identification program 60 is stored in the storage 50. The processor 46 reads the identification program 60 from the storage 50 and executes the read identification program 60 on the RAM 48. The identification process is realized by the processor 46 operating as a control unit 46A in accordance with the identification program 60 executed on the RAM 48. The robot 414 may have a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59.

[0148] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 communicates with the server device having the data generation model 58 to obtain a processing result (such as a prediction result) using the data generation model 58. Furthermore, the data processing device 12 may be a server device, or may be a terminal device (for example, a mobile phone, a robot, a home appliance, etc.) owned by a user.

[0149] 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.

[0150] The data generation model 58 is a so-called generative AI. An example of the data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 receives a prompt containing an instruction, as well as inference data such as voice data representing speech, text data representing text, and image data representing an image. 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. The identification processing unit 290 performs the above-mentioned identification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

[0151] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is executed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but may also be executed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. Furthermore, the specific processing unit 290 of the data processing device 12 acquires or collects information required for processing from the robot 414 or an external device, etc., and the robot 414 acquires or collects information required for processing from the data processing device 12 or an external device, etc.

[0152] 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.

[0153] FIG. 9 illustrates 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 behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions 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.

[0154] 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.

[0155] 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).

[0156] 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 expressed, and when they approach the ideal, a state of pleasure is expressed. Emotions can also be created for robots, cars, 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 expressed, and when they approach the ideal, a state of pleasure is expressed. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.

[0157] 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."

[0158] 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.

[0159] In the above embodiment, an example was given in which a specific process is performed by one computer 22, but the technology disclosed herein is not limited to this, and distributed processing of the specific process may be performed by multiple computers including computer 22.

[0160] 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.

[0161] 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.

[0162] 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.

[0163] The hardware resource for executing a specific process can be any of the following processors: A CPU is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A dedicated electrical circuit, such as a field-programmable gate array (FPGA), a programmable logic device (PLD), or an application-specific integrated circuit (ASIC), is a processor with a circuit configuration specifically designed to execute a specific process. Each processor has built-in or connected memory, and uses the memory to execute the specific process.

[0164] The hardware resource that executes the specific process 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 process may be a single processor.

[0165] 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.

[0166] 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.

[0167] In the above example, the first to fourth embodiments have been described separately, but some or all of these embodiments may be combined. The smart device 14, smart glasses 214, headset terminal 314, and robot 414 are merely examples, and they may be combined, or other devices may be used. In the above example, the first and second embodiments have been described separately, but they may be combined.

[0168] 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.

[0169] 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. [Explanation of symbols]

[0170] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot

Claims

1. a source code analysis unit that analyzes source code; an information extraction unit that extracts information analyzed by the source code analysis unit; a document generation unit that generates a document based on the information extracted by the information extraction unit. A system characterized by:

2. The source code analysis unit Analyze the change history of the source code and automatically extract the intent of the change and the scope of its impact.

2. The system of claim 1.

3. The information extraction unit Automatically detects security vulnerabilities in your code and generates fix suggestions during source code analysis 2. The system of claim 1.

4. The document generation unit Using the generative AI, version control of the document is automated based on the code change history.

2. The system of claim 1.

5. The document generation unit Using the generation AI, customized documents are automatically generated according to the user's role and skill level.

2. The system of claim 1.

6. The information extraction unit Using the sentiment estimation function, we estimate the sentiment of developers from their comments and commit messages to assess the quality and risk of their code.

2. The system of claim 1.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A