system
The system uses generative AI to interpret and decipher source code, grasp design philosophy, and provide tutorials, addressing the reliance on specific vendors, enhancing maintenance and training efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-30
AI Technical Summary
Existing system development often relies on specific vendors or individuals, hindering efficient maintenance and training, leading to increased costs and inefficiencies.
A system utilizing an interpretation unit, comprehension unit, and provisioning unit, powered by generative AI, interprets and deciphers source code to grasp the design philosophy, answers questions, and provides tutorials, enabling in-house development without reliance on specific vendors.
Enables efficient maintenance and training by understanding the system's design philosophy, reducing cash outflow, and developing internal talent, while supporting in-house personnel development.
Smart Images

Figure 2026107093000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the conventional technology, system development is often carried out depending on a specific vendor or a specific person, which may become an obstacle in reducing cash-out and improving maintenance efficiency.
[0005] The system according to the embodiment aims to grasp the design concept of the system without depending on a specific vendor or a specific person and support efficient maintenance and education.
Means for Solving the Problems
[0006] The system according to this embodiment comprises an interpretation unit, a comprehension unit, an answering unit, and a provisioning unit. The interpretation unit interprets the source code cross-sectionally. The comprehension unit grasps the design concept based on the information interpreted by the interpretation unit. The answering unit answers the questions based on the design concept grasped by the comprehension unit. The provisioning unit provides a tutorial based on the information obtained by the answering unit. [Effects of the Invention]
[0007] The system according to this embodiment can understand the system's design philosophy without depending on a specific vendor or individual, and can support efficient maintenance and training. [Brief explanation of the drawing]
[0008] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Modes for carrying out the invention]
[0009] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0010] First, let's explain the terminology used in the following explanation.
[0011] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), or TPU (Tensor Processing Unit).
[0012] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0013] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0014] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B". That is, "A and / or B" means that it may be only A, only B, or a combination of A and B. Also, in this specification, when expressing three or more matters connected by "and / or", the same concept as "A and / or B" is applied.
[0016] [First Embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0017] As shown in FIG. 1, the 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, the RAM 30, and the storage 32 are connected to a bus 34. Also, the database 24 and the communication I / F 26 are 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 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0020] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, and accepts user input. The touch panel 38A accepts user input via touch by detecting contact with an object (e.g., a pen or finger). The microphone 38B accepts user input via voice by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 (see Figure 2) acquires the data indicating the user input.
[0021] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user by outputting the data in a form perceptible to the user (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0022] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0023] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0024] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0025] Storage 32 stores the data generation model 58 and the 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 emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0026] In the smart device 14, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used in conjunction 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 a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart device 14 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0027] Furthermore, other devices besides the data processing device 12 may also 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 processing results (such as prediction results) using the data generation model 58 by communicating with the server device having the data generation model 58. The data processing device 12 may also be a server device or a terminal device owned by a user (e.g., a mobile phone, robot, home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.
[0028] (Example of form 1) The system according to the embodiment of the present invention is a tool that supports in-house development by deciphering the entire system without relying on specific vendors or individuals in system development. This system uses a generating AI to interpret all source code crosswise and decipher the code of the entire project. Next, the generating AI grasps the design philosophy of the entire project and supports training for new employees. The generating AI also deepens the developers' understanding by answering questions about the project. Furthermore, it generates minimum working source code from large project folders and provides a tutorial for new employees to understand the project's source code. This allows for the utilization of existing assets to reduce cash outflow and contribute to the development of in-house personnel. For example, the generating AI interprets all source code crosswise. Even when multiple files are interconnected, the generating AI can grasp the overall design philosophy. For example, if codeA references codeB and classB implements a specific function, the generating AI understands these relationships and grasps the overall design philosophy. Next, the generating AI grasps the design philosophy of the entire project. This supports training for new employees. For example, to help new users understand the overall workflow of a project, the generative AI can provide materials explaining the design philosophy. Furthermore, the generative AI can answer questions about the project. For instance, if a developer asks about a specific source code, the generative AI can generate a more understandable answer based on the overall design philosophy. Finally, the generative AI generates a minimum working source code from a large project folder. This provides a tutorial for users to understand the project's source code. For example, to help a user understand a specific function, the generative AI can extract the minimum relevant source code and provide a working sample. In this way, the system can decipher the entire system and support in-house development without relying on specific vendors or individuals. This contributes to reduced cash outflow and the development of internal talent.
[0029] The system according to the embodiment comprises an interpretation unit, a comprehension unit, an answering unit, and a provisioning unit. The interpretation unit interprets source code cross-sectionally. The interpretation unit analyzes source code using, for example, a generative AI to grasp the overall design philosophy. The interpretation unit can grasp the overall design philosophy even when multiple files are related to each other. For example, if codeA references codeB and classB implements a specific function, the interpretation unit can understand these relationships and grasp the overall design philosophy. The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. The comprehension unit analyzes the design philosophy using, for example, a generative AI and provides materials to support education for new users. For example, the comprehension unit can provide materials that explain the design philosophy so that new users can understand the overall flow of operation of the project. The answering unit answers questions based on the design philosophy grasped by the comprehension unit. For example, if a developer asks a question about specific source code, the answering unit generates an answer based on the overall design philosophy. The answering unit can generate an answer to a question using, for example, a generative AI, to deepen the developer's understanding. The providing unit provides a tutorial based on the information obtained by the answering unit. For example, the providing unit generates minimal working source code from a large project folder and provides a tutorial to help visitors understand the project's source code. For example, the providing unit can use a generation AI to extract the minimum source code related to a specific function and provide a working sample. This allows the system according to the embodiment to decipher the entire source code and support in-house development.
[0030] The interpreter unit interprets source code across the entire codebase. For example, it uses generative AI to analyze the source code and grasp the overall design philosophy. Specifically, the generative AI analyzes each file of the source code and understands the interrelationships between classes, functions, and variables. For example, if codeA references codeB, and classB implements a specific function, the generative AI analyzes these relationships and grasps the overall design philosophy. The generative AI also analyzes comments and documentation in the source code using natural language processing technology, gaining a deeper understanding of the designer's intentions and design philosophy. Furthermore, the generative AI can refer to past projects and similar codebases to extract design patterns and best practices. This allows the interpreter unit to grasp the overall design philosophy even when multiple files are interconnected. The interpreter unit can save the analysis results as structured data and link them with other departments and systems. For example, the interpreter unit can save the analysis results to a database, making them accessible to the understanding and answering units. The interpreter unit can also visualize the analysis results, allowing developers to intuitively understand the design philosophy. This allows the interpreter to analyze the source code efficiently and accurately, and to grasp the overall design philosophy.
[0031] The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. For example, the comprehension unit uses generative AI to analyze the design philosophy and provide materials to support the education of new entrants. Specifically, the generative AI generates materials that clearly explain the design philosophy based on the analysis results provided by the interpretation unit. For example, it can provide materials explaining the design philosophy to help new entrants understand the overall workflow of the project. The generative AI generates flowcharts and diagrams to visually represent the design philosophy, enabling intuitive understanding of complex designs. Furthermore, the generative AI can generate answers to questions about the design philosophy, deepening the understanding of new entrants. In addition, the comprehension unit can quickly update materials and provide the latest information if there are changes or updates to the design philosophy. This allows the comprehension unit to help new entrants quickly grasp the overall picture of the project and learn efficiently.
[0032] The answering unit responds to questions based on the design philosophy grasped by the understanding unit. For example, if a developer asks a question about specific source code, the answering unit generates an answer based on the overall design philosophy. Specifically, it uses generative AI to generate answers to questions, deepening the developer's understanding. The generative AI analyzes the question, searches for relevant source code and design philosophy, and generates an appropriate answer. For example, if a developer asks about the role of a specific class or function, the generative AI explains the design intent and usage of that class or function. The generative AI can also refer to past question history and similar questions to provide more accurate answers. Furthermore, the answering unit not only provides the generated answers to the developer but also saves the answer content in a database so that other developers can refer to it. This allows the answering unit to answer developers' questions quickly and accurately, supporting the efficient progress of the project.
[0033] The provisioning department provides tutorials based on the information obtained by the answering department. For example, the provisioning department can generate minimal working source code from a large project folder and provide tutorials to help visitors understand the project's source code. Specifically, it can use generative AI to extract the minimum source code related to a specific function and provide a working sample. The generative AI analyzes the source code of the entire project and extracts the files, classes, and functions necessary for a specific function. This allows visitors to learn by focusing on a specific function while grasping the overall picture of the project. Furthermore, the provisioning department can regularly update the tutorial content to provide the latest information. For example, if a new function is added or the design philosophy changes, the generative AI will automatically update the tutorial to reflect the latest information. The provisioning department can also collect user feedback and improve the tutorial content. In this way, the provisioning department can provide support for visitors to learn efficiently and understand the project's source code.
[0034] The interpreter can grasp the overall design philosophy even when multiple files are interconnected. For example, the interpreter uses generative AI to grasp the overall design philosophy even when multiple files are interconnected. For example, if codeA references codeB and classB implements a specific function, the interpreter can understand these relationships and grasp the overall design philosophy. For example, the interpreter can use generative AI to analyze dependencies between multiple files and grasp the overall design philosophy. This allows the interpreter to grasp the overall design philosophy even when multiple files are interconnected.
[0035] The understanding unit can provide materials to support the education of new visitors. For example, the understanding unit can use generative AI to analyze the design philosophy and provide materials to support the education of new visitors. For example, the understanding unit can provide materials that explain the design philosophy so that new visitors can understand the overall flow of the project. For example, the understanding unit can use generative AI to generate materials that explain the design philosophy and support the education of new visitors. This improves the efficiency of education by providing materials to support the education of new visitors.
[0036] The answering unit can generate answers based on the overall design philosophy when a developer asks a question about specific source code. The answering unit can, for example, use generative AI to generate answers to questions, thereby deepening the developer's understanding. The answering unit can, for example, generate answers based on the overall design philosophy when a developer asks a question about specific source code. The answering unit can, for example, use generative AI to generate answers to questions, thereby deepening the developer's understanding. This deepens the developer's understanding by generating answers based on the overall design philosophy.
[0037] The service provider can generate minimal, working source code from large project folders and provide tutorials to help visitors understand the project's source code. For example, the service provider can use a generation AI to extract the minimum source code related to a specific function and provide working samples. This allows visitors to gain a deeper understanding of the project's source code by providing tutorials.
[0038] The interpreter can analyze the change history of the source code and interpret the intent behind the changes. For example, the interpreter can use a generative AI to analyze the change history of the source code and interpret the purpose and background of the changes. For example, the interpreter can use a generative AI to interpret the intent behind specific feature additions or bug fixes from the change history. For example, the interpreter can use a generative AI to interpret the evolution of the design philosophy based on the change history. In this way, the intent behind the changes can be interpreted by analyzing the change history of the source code. Some or all of the above-described processes in the interpreter may be performed using AI, for example, or without using AI.
[0039] The interpreter can analyze comments and documentation in the source code to supplement the intent and design philosophy of the code. For example, the interpreter can use a generative AI to analyze comments in the source code and interpret the intent of the code. For example, the interpreter can use a generative AI to analyze documentation and supplement the design philosophy. For example, the interpreter can use a generative AI to integrate comments and documentation to interpret the overall design philosophy. In this way, by analyzing comments and documentation in the source code, the intent and design philosophy of the code can be supplemented. Some or all of the above processing in the interpreter may be performed using AI, for example, or without AI.
[0040] The interpreter can work in conjunction with a source code version control system to compare and interpret different versions of the code. For example, the interpreter can have a generating AI work in conjunction with a version control system to compare different versions of the code and interpret the changes. For example, the interpreter can interpret the evolution of design philosophy based on information obtained by the generating AI from the version control system. For example, the interpreter can have a generating AI compare different versions of the code and interpret the optimal design philosophy. This allows the interpreter to compare and interpret different versions of the code by working in conjunction with a source code version control system. Some or all of the above-described processes in the interpreter may be performed using AI, for example, or without AI.
[0041] The interpreter can analyze the dependencies of the source code and interpret related libraries and modules. For example, the interpreter can use a generative AI to analyze the dependencies of the source code and interpret related libraries. For example, the interpreter can use a generative AI to analyze the dependencies between modules and interpret the overall design philosophy. For example, the interpreter can use a generative AI to interpret the optimal design philosophy based on the dependencies. In this way, by analyzing the dependencies of the source code, the interpreter can interpret related libraries and modules. Some or all of the above processing in the interpreter may be performed using AI, for example, or without AI.
[0042] The recognition unit can analyze the architectural patterns of the source code and grasp the design philosophy. The recognition unit, for example, uses a generative AI to analyze the architectural patterns of the source code and grasp the design philosophy. The recognition unit, for example, uses a generative AI to interpret the overall design philosophy based on the architectural patterns. The recognition unit, for example, uses a generative AI to analyze the architectural patterns and grasp the optimal design philosophy. In this way, the design philosophy can be grasped by analyzing the architectural patterns of the source code. Some or all of the above processing in the recognition unit may be performed using AI, for example, or without using AI.
[0043] The understanding unit can analyze the test cases of the source code and grasp how to verify the design philosophy. For example, the understanding unit can use a generating AI to analyze the test cases of the source code and grasp how to verify the design philosophy. For example, the understanding unit can use a generating AI to interpret how to verify the design philosophy based on the test cases. For example, the understanding unit can use a generating AI to analyze the test cases and grasp the optimal way to verify the design philosophy. As a result, by analyzing the test cases of the source code, it is possible to grasp how to verify the design philosophy. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without using AI.
[0044] The recognition unit can analyze the source code refactoring history and grasp the evolution of the design philosophy. The recognition unit, for example, uses a generation AI to analyze the source code refactoring history and grasp the evolution of the design philosophy. The recognition unit, for example, uses a generation AI to interpret the evolution of the design philosophy based on the refactoring history. The recognition unit, for example, uses a generation AI to analyze the refactoring history and grasp the optimal evolution of the design philosophy. In this way, the evolution of the design philosophy can be grasped by analyzing the source code refactoring history. Some or all of the above processing in the recognition unit may be performed using AI, for example, or without using AI.
[0045] The understanding unit can analyze the deployment configuration of the source code and grasp the operational aspects of the design philosophy. For example, the understanding unit can use a generating AI to analyze the deployment configuration of the source code and grasp the operational aspects of the design philosophy. For example, the understanding unit can use a generating AI to interpret the operational aspects of the design philosophy based on the deployment configuration. For example, the understanding unit can use a generating AI to analyze the deployment configuration and grasp the optimal operational aspects of the design philosophy. In this way, the operational aspects of the design philosophy can be grasped by analyzing the deployment configuration of the source code. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without using AI.
[0046] The answering unit can analyze the context of the question, identify relevant source code and design principles, and provide an answer. For example, the answering unit can use a generative AI to analyze the context of the question, identify relevant source code, and provide an answer. For example, the answering unit can use a generative AI to identify relevant design principles based on the context of the question and provide an answer. For example, the answering unit can use a generative AI to analyze the context of the question, identify the optimal source code and design principles, and provide an answer. In this way, by analyzing the context of the question, it is possible to identify relevant source code and design principles and provide an answer. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0047] The answering unit can analyze the frequency and patterns of questions and generate template answers to common questions. For example, the answering unit can use a generating AI to analyze the frequency of questions and generate template answers to common questions. For example, the answering unit can use a generating AI to analyze question patterns and generate optimal template answers. For example, the answering unit can use a generating AI to generate efficient template answers based on the frequency and patterns of questions. This allows for the generation of efficient template answers by analyzing the frequency and patterns of questions. Some or all of the above processing in the answering unit may be performed using AI, or without AI.
[0048] The answering unit can apply different answering algorithms depending on the question category. For example, the answering unit may use a generative AI to analyze the question category and apply the optimal answering algorithm. For example, the answering unit may use a generative AI to select different answering algorithms depending on the question category. For example, the answering unit may use a generative AI to apply the optimal answering algorithm based on the question category. This allows for the provision of more appropriate information by applying the optimal answering algorithm according to the question category. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0049] The answering unit can refer to the question history and generate a new answer based on past answers. For example, the answering unit's generating AI analyzes the question history and generates a new answer based on past answers. For example, the answering unit's generating AI can refer to the question history and generate the optimal answer. For example, the answering unit's generating AI can generate an efficient answer based on the question history. In this way, by referring to the question history, a new answer can be generated based on past answers. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0050] The service provider can track the progress of the tutorial and customize the content according to the user's level of understanding. For example, the service provider can use a generative AI to track the progress of the tutorial and adjust the next steps according to the user's level of understanding. For example, the service provider can use a generative AI to evaluate the user's level of understanding and provide additional explanations as needed. For example, the service provider can use a generative AI to suggest an optimal learning pace based on the user's progress. This allows the service provider to provide content tailored to the user's level of understanding by tracking the progress of the tutorial. Some or all of the above processes in the service provider may be performed using AI, for example, or without AI.
[0051] The service provider can collect feedback on the tutorial and reflect it in the next service. The service provider can, for example, use a generative AI to collect user feedback and improve the content of the next tutorial. The service provider can, for example, use a generative AI to analyze the feedback and provide content that meets the user's needs. The service provider can, for example, use a generative AI to suggest the optimal tutorial content based on the feedback. In this way, by collecting feedback on the tutorial, the content of the next service can be improved. Some or all of the above processes in the service provider may be performed using AI, for example, or without using AI.
[0052] The service provider can modularize the tutorial content and combine it according to the user's needs. For example, the service provider can use a generative AI to modularize the tutorial content and provide it according to the user's learning pace. For example, the service provider can use a generative AI to combine and provide the optimal modules according to the user's needs. For example, the service provider can use a generative AI to propose an efficient learning plan based on the modularized tutorial. In this way, by modularizing the tutorial content, content can be provided that meets the user's needs. Some or all of the above processing in the service provider may be performed using AI, for example, or without using AI.
[0053] The service provider can make the tutorial content multilingual and provide it to users of different languages. For example, the service provider can use a generative AI to translate the tutorial content into multiple languages and provide it to users of different languages. For example, the service provider can use a generative AI to provide the tutorial in the most suitable language based on the user's language settings. For example, the service provider can use a generative AI to support a global user base based on the multilingual tutorial. In this way, by making the tutorial content multilingual, it is possible to support users of different languages. Some or all of the above processing in the service provider may be performed using AI, for example, or without using AI.
[0054] The service provider can customize the content of the tutorial according to the user's skill level. For example, the service provider can use a generative AI to evaluate the user's skill level and provide a tutorial of appropriate difficulty. For example, the service provider can use a generative AI to provide detailed explanations and supplementary information according to the user's skill level. For example, the service provider can use a generative AI to suggest an optimal learning plan based on the user's skill level. This allows for the provision of more appropriate information by customizing the tutorial content according to the user's skill level. Some or all of the above processes in the service provider may be performed using AI, for example, or without using AI.
[0055] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0056] The interpreter can analyze the performance of source code and suggest optimizations. For example, the interpreter can have the generative AI analyze the execution speed and memory usage of the source code to identify performance bottlenecks. The interpreter can then have the generative AI suggest specific code changes to solve performance problems. For example, the interpreter can have the generative AI provide best practices for performance optimization, helping developers efficiently improve their code. In this way, by analyzing the performance of source code and suggesting optimizations, the efficiency of the system can be improved.
[0057] The analysis unit can analyze the security risks of the source code and propose measures to mitigate those risks. For example, the analysis unit's generative AI can analyze vulnerabilities in the source code and identify potential security risks. For example, the analysis unit's generative AI can propose specific code changes to reduce security risks. For example, the analysis unit's generative AI can provide security best practices and help developers write secure code. In this way, the security of the system can be improved by analyzing the security risks of the source code and proposing measures to mitigate those risks.
[0058] The response unit can evaluate the quality of source code and suggest areas for improvement. For example, the response unit's generating AI can evaluate the readability and maintainability of source code and identify areas for improvement. For example, the response unit's generating AI can suggest code refactoring, helping developers improve the code efficiently. For example, the response unit's generating AI can provide best practices for improving code quality, helping developers write high-quality code. In this way, the quality of the system can be improved by evaluating the quality of source code and suggesting areas for improvement.
[0059] The service provider can automatically generate source code documentation, reducing the burden on developers. For example, the service provider's generation AI can analyze source code and automatically generate explanations for functions and classes. For example, the service provider's generation AI can automatically generate usage examples and sample code, making it easier for developers to understand the code. For example, the service provider's generation AI can automatically update documentation based on the code's change history. In this way, by automatically generating source code documentation, the burden on developers can be reduced, and efficient development can be supported.
[0060] The service provider can offer tools to support source code refactoring. For example, the service provider can use generative AI to identify potential source code refactoring candidates and propose specific refactoring methods. For example, the service provider can use generative AI to analyze the scope of impact of refactoring and help developers assess the risks of refactoring. For example, the service provider can use generative AI to automate testing of refactored code and help developers perform refactoring efficiently. In this way, by providing tools to support source code refactoring, the service provider can reduce the burden on developers and support efficient development.
[0061] The following briefly describes the processing flow for example form 1.
[0062] Step 1: The interpreter interprets the source code across all files. For example, it analyzes the source code using a generative AI to grasp the overall design philosophy. Even when multiple files are interconnected, such as when codeA references codeB and classB implements a specific function, it can understand these relationships and grasp the overall design philosophy. Step 2: The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. For example, it can use a generative AI to analyze the design philosophy and provide materials to support the education of new visitors. It can provide materials that explain the design philosophy so that new visitors can understand the overall flow of the project. Step 3: The answering unit answers the question based on the design philosophy grasped by the understanding unit. For example, if a developer asks a question about a specific source code, the answer is generated based on the overall design philosophy. By using generation AI to generate answers to questions, the developer's understanding can be deepened. Step 4: The providing team provides a tutorial based on the information obtained by the answering team. For example, they can generate minimal working source code from a large project folder and provide a tutorial to help participants understand the project's source code. Using a generation AI, they can extract the minimum source code related to a specific function and provide a working sample.
[0063] (Example of form 2) The system according to the embodiment of the present invention is a tool that supports in-house development by deciphering the entire system without relying on specific vendors or individuals in system development. This system uses a generating AI to interpret all source code crosswise and decipher the code of the entire project. Next, the generating AI grasps the design philosophy of the entire project and supports training for new employees. The generating AI also deepens the developers' understanding by answering questions about the project. Furthermore, it generates minimum working source code from large project folders and provides a tutorial for new employees to understand the project's source code. This allows for the utilization of existing assets to reduce cash outflow and contribute to the development of in-house personnel. For example, the generating AI interprets all source code crosswise. Even when multiple files are interconnected, the generating AI can grasp the overall design philosophy. For example, if codeA references codeB and classB implements a specific function, the generating AI understands these relationships and grasps the overall design philosophy. Next, the generating AI grasps the design philosophy of the entire project. This supports training for new employees. For example, to help new users understand the overall workflow of a project, the generative AI can provide materials explaining the design philosophy. Furthermore, the generative AI can answer questions about the project. For instance, if a developer asks about a specific source code, the generative AI can generate a more understandable answer based on the overall design philosophy. Finally, the generative AI generates a minimum working source code from a large project folder. This provides a tutorial for users to understand the project's source code. For example, to help a user understand a specific function, the generative AI can extract the minimum relevant source code and provide a working sample. In this way, the system can decipher the entire system and support in-house development without relying on specific vendors or individuals. This contributes to reduced cash outflow and the development of internal talent.
[0064] The system according to the embodiment comprises an interpretation unit, a comprehension unit, an answering unit, and a provisioning unit. The interpretation unit interprets source code cross-sectionally. The interpretation unit analyzes source code using, for example, a generative AI to grasp the overall design philosophy. The interpretation unit can grasp the overall design philosophy even when multiple files are related to each other. For example, if codeA references codeB and classB implements a specific function, the interpretation unit can understand these relationships and grasp the overall design philosophy. The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. The comprehension unit analyzes the design philosophy using, for example, a generative AI and provides materials to support education for new users. For example, the comprehension unit can provide materials that explain the design philosophy so that new users can understand the overall flow of operation of the project. The answering unit answers questions based on the design philosophy grasped by the comprehension unit. For example, if a developer asks a question about specific source code, the answering unit generates an answer based on the overall design philosophy. The answering unit can generate an answer to a question using, for example, a generative AI, to deepen the developer's understanding. The providing unit provides a tutorial based on the information obtained by the answering unit. For example, the providing unit generates minimal working source code from a large project folder and provides a tutorial to help visitors understand the project's source code. For example, the providing unit can use a generation AI to extract the minimum source code related to a specific function and provide a working sample. This allows the system according to the embodiment to decipher the entire source code and support in-house development.
[0065] The interpreter unit interprets source code across the entire codebase. For example, it uses generative AI to analyze the source code and grasp the overall design philosophy. Specifically, the generative AI analyzes each file of the source code and understands the interrelationships between classes, functions, and variables. For example, if codeA references codeB, and classB implements a specific function, the generative AI analyzes these relationships and grasps the overall design philosophy. The generative AI also analyzes comments and documentation in the source code using natural language processing technology, gaining a deeper understanding of the designer's intentions and design philosophy. Furthermore, the generative AI can refer to past projects and similar codebases to extract design patterns and best practices. This allows the interpreter unit to grasp the overall design philosophy even when multiple files are interconnected. The interpreter unit can save the analysis results as structured data and link them with other departments and systems. For example, the interpreter unit can save the analysis results to a database, making them accessible to the understanding and answering units. The interpreter unit can also visualize the analysis results, allowing developers to intuitively understand the design philosophy. This allows the interpreter to analyze the source code efficiently and accurately, and to grasp the overall design philosophy.
[0066] The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. For example, the comprehension unit uses generative AI to analyze the design philosophy and provide materials to support the education of new entrants. Specifically, the generative AI generates materials that clearly explain the design philosophy based on the analysis results provided by the interpretation unit. For example, it can provide materials explaining the design philosophy to help new entrants understand the overall workflow of the project. The generative AI generates flowcharts and diagrams to visually represent the design philosophy, enabling intuitive understanding of complex designs. Furthermore, the generative AI can generate answers to questions about the design philosophy, deepening the understanding of new entrants. In addition, the comprehension unit can quickly update materials and provide the latest information if there are changes or updates to the design philosophy. This allows the comprehension unit to help new entrants quickly grasp the overall picture of the project and learn efficiently.
[0067] The answering unit responds to questions based on the design philosophy grasped by the understanding unit. For example, if a developer asks a question about specific source code, the answering unit generates an answer based on the overall design philosophy. Specifically, it uses generative AI to generate answers to questions, deepening the developer's understanding. The generative AI analyzes the question, searches for relevant source code and design philosophy, and generates an appropriate answer. For example, if a developer asks about the role of a specific class or function, the generative AI explains the design intent and usage of that class or function. The generative AI can also refer to past question history and similar questions to provide more accurate answers. Furthermore, the answering unit not only provides the generated answers to the developer but also saves the answer content in a database so that other developers can refer to it. This allows the answering unit to answer developers' questions quickly and accurately, supporting the efficient progress of the project.
[0068] The provisioning department provides tutorials based on the information obtained by the answering department. For example, the provisioning department can generate minimal working source code from a large project folder and provide tutorials to help visitors understand the project's source code. Specifically, it can use generative AI to extract the minimum source code related to a specific function and provide a working sample. The generative AI analyzes the source code of the entire project and extracts the files, classes, and functions necessary for a specific function. This allows visitors to learn by focusing on a specific function while grasping the overall picture of the project. Furthermore, the provisioning department can regularly update the tutorial content to provide the latest information. For example, if a new function is added or the design philosophy changes, the generative AI will automatically update the tutorial to reflect the latest information. The provisioning department can also collect user feedback and improve the tutorial content. In this way, the provisioning department can provide support for visitors to learn efficiently and understand the project's source code.
[0069] The interpreter can grasp the overall design philosophy even when multiple files are interconnected. For example, the interpreter uses generative AI to grasp the overall design philosophy even when multiple files are interconnected. For example, if codeA references codeB and classB implements a specific function, the interpreter can understand these relationships and grasp the overall design philosophy. For example, the interpreter can use generative AI to analyze dependencies between multiple files and grasp the overall design philosophy. This allows the interpreter to grasp the overall design philosophy even when multiple files are interconnected.
[0070] The understanding unit can provide materials to support the education of new visitors. For example, the understanding unit can use generative AI to analyze the design philosophy and provide materials to support the education of new visitors. For example, the understanding unit can provide materials that explain the design philosophy so that new visitors can understand the overall flow of the project. For example, the understanding unit can use generative AI to generate materials that explain the design philosophy and support the education of new visitors. This improves the efficiency of education by providing materials to support the education of new visitors.
[0071] The answering unit can generate answers based on the overall design philosophy when a developer asks a question about specific source code. The answering unit can, for example, use generative AI to generate answers to questions, thereby deepening the developer's understanding. The answering unit can, for example, generate answers based on the overall design philosophy when a developer asks a question about specific source code. The answering unit can, for example, use generative AI to generate answers to questions, thereby deepening the developer's understanding. This deepens the developer's understanding by generating answers based on the overall design philosophy.
[0072] The service provider can generate minimal, working source code from large project folders and provide tutorials to help visitors understand the project's source code. For example, the service provider can use a generation AI to extract the minimum source code related to a specific function and provide working samples. This allows visitors to gain a deeper understanding of the project's source code by providing tutorials.
[0073] The interpretation unit can estimate the user's emotions and adjust the accuracy of the interpretation based on the estimated emotions. For example, if the user is stressed, the interpretation unit can improve the accuracy of the interpretation using the generative AI and provide more detailed information. For example, if the user is relaxed, the interpretation unit can adjust the accuracy of the interpretation using the generative AI and provide concise information. For example, if the user is in a hurry, the interpretation unit can adjust the accuracy of the interpretation using the generative AI and provide the necessary information quickly. In this way, by adjusting the accuracy of the interpretation according to the user's emotions, more appropriate information can be provided. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the interpretation unit may be performed using AI, for example, or without using AI.
[0074] The interpreter can analyze the change history of the source code and interpret the intent behind the changes. For example, the interpreter can use a generative AI to analyze the change history of the source code and interpret the purpose and background of the changes. For example, the interpreter can use a generative AI to interpret the intent behind specific feature additions or bug fixes from the change history. For example, the interpreter can use a generative AI to interpret the evolution of the design philosophy based on the change history. In this way, the intent behind the changes can be interpreted by analyzing the change history of the source code. Some or all of the above-described processes in the interpreter may be performed using AI, for example, or without using AI.
[0075] The interpreter can analyze comments and documentation in the source code to supplement the intent and design philosophy of the code. For example, the interpreter can use a generative AI to analyze comments in the source code and interpret the intent of the code. For example, the interpreter can use a generative AI to analyze documentation and supplement the design philosophy. For example, the interpreter can use a generative AI to integrate comments and documentation to interpret the overall design philosophy. In this way, by analyzing comments and documentation in the source code, the intent and design philosophy of the code can be supplemented. Some or all of the above processing in the interpreter may be performed using AI, for example, or without AI.
[0076] The interpretation unit can estimate the user's emotions and adjust the display method of the interpretation results based on the estimated user emotions. For example, if the user is tense, the generation AI can provide a simple and highly visible display method. For example, if the user is relaxed, the generation AI can provide a display method that includes detailed information. For example, if the user is in a hurry, the generation AI can provide a display method that gets straight to the point. This allows for the provision of more appropriate information by adjusting the display method of the interpretation results according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generation AI. The generation AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the interpretation unit may be performed using AI, for example, or without AI.
[0077] The interpreter can work in conjunction with a source code version control system to compare and interpret different versions of the code. For example, the interpreter can have a generating AI work in conjunction with a version control system to compare different versions of the code and interpret the changes. For example, the interpreter can interpret the evolution of design philosophy based on information obtained by the generating AI from the version control system. For example, the interpreter can have a generating AI compare different versions of the code and interpret the optimal design philosophy. This allows the interpreter to compare and interpret different versions of the code by working in conjunction with a source code version control system. Some or all of the above-described processes in the interpreter may be performed using AI, for example, or without AI.
[0078] The interpreter can analyze the dependencies of the source code and interpret related libraries and modules. For example, the interpreter can use a generative AI to analyze the dependencies of the source code and interpret related libraries. For example, the interpreter can use a generative AI to analyze the dependencies between modules and interpret the overall design philosophy. For example, the interpreter can use a generative AI to interpret the optimal design philosophy based on the dependencies. In this way, by analyzing the dependencies of the source code, the interpreter can interpret related libraries and modules. Some or all of the above processing in the interpreter may be performed using AI, for example, or without AI.
[0079] The understanding unit can estimate the user's emotions and adjust the explanation of the design philosophy based on the estimated user emotions. For example, if the user is nervous, the understanding unit can use the generating AI to provide a simple and easy-to-understand explanation. For example, if the user is relaxed, the understanding unit can use the generating AI to provide an explanation that includes detailed information. For example, if the user is in a hurry, the understanding unit can use the generating AI to provide a concise explanation. By adjusting the explanation of the design philosophy according to the user's emotions, more appropriate information can be provided. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generating AI. The generating AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without AI.
[0080] The recognition unit can analyze the architectural patterns of the source code and grasp the design philosophy. The recognition unit, for example, uses a generative AI to analyze the architectural patterns of the source code and grasp the design philosophy. The recognition unit, for example, uses a generative AI to interpret the overall design philosophy based on the architectural patterns. The recognition unit, for example, uses a generative AI to analyze the architectural patterns and grasp the optimal design philosophy. In this way, the design philosophy can be grasped by analyzing the architectural patterns of the source code. Some or all of the above processing in the recognition unit may be performed using AI, for example, or without using AI.
[0081] The understanding unit can analyze the test cases of the source code and grasp how to verify the design philosophy. For example, the understanding unit can use a generating AI to analyze the test cases of the source code and grasp how to verify the design philosophy. For example, the understanding unit can use a generating AI to interpret how to verify the design philosophy based on the test cases. For example, the understanding unit can use a generating AI to analyze the test cases and grasp the optimal way to verify the design philosophy. As a result, by analyzing the test cases of the source code, it is possible to grasp how to verify the design philosophy. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without using AI.
[0082] The understanding unit can estimate the user's emotions and determine the priority of design concepts based on the estimated user emotions. For example, if the user is tense, the understanding unit can have the generative AI prioritize explaining important design concepts. For example, if the user is relaxed, the understanding unit can have the generative AI prioritize explaining detailed design concepts. For example, if the user is in a hurry, the understanding unit can have the generative AI prioritize explaining concise design concepts. This allows for the provision of more appropriate information by determining the priority of design concepts according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without AI.
[0083] The recognition unit can analyze the source code refactoring history and grasp the evolution of the design philosophy. The recognition unit, for example, uses a generation AI to analyze the source code refactoring history and grasp the evolution of the design philosophy. The recognition unit, for example, uses a generation AI to interpret the evolution of the design philosophy based on the refactoring history. The recognition unit, for example, uses a generation AI to analyze the refactoring history and grasp the optimal evolution of the design philosophy. In this way, the evolution of the design philosophy can be grasped by analyzing the source code refactoring history. Some or all of the above processing in the recognition unit may be performed using AI, for example, or without using AI.
[0084] The understanding unit can analyze the deployment configuration of the source code and grasp the operational aspects of the design philosophy. For example, the understanding unit can use a generating AI to analyze the deployment configuration of the source code and grasp the operational aspects of the design philosophy. For example, the understanding unit can use a generating AI to interpret the operational aspects of the design philosophy based on the deployment configuration. For example, the understanding unit can use a generating AI to analyze the deployment configuration and grasp the optimal operational aspects of the design philosophy. In this way, the operational aspects of the design philosophy can be grasped by analyzing the deployment configuration of the source code. Some or all of the above processing in the understanding unit may be performed using AI, for example, or without using AI.
[0085] The response unit can estimate the user's emotions and adjust the way the response is expressed based on the estimated emotions. For example, if the user is nervous, the generating AI can provide a simple and easy-to-read response. If the user is relaxed, the generating AI can provide a response that includes detailed information. If the user is in a hurry, the generating AI can provide a concise response. This allows for the provision of more appropriate information by adjusting the way the response is expressed according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generating AI. The generating AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the response unit may be performed using AI, for example, or without AI.
[0086] The answering unit can analyze the context of the question, identify relevant source code and design principles, and provide an answer. For example, the answering unit can use a generative AI to analyze the context of the question, identify relevant source code, and provide an answer. For example, the answering unit can use a generative AI to identify relevant design principles based on the context of the question and provide an answer. For example, the answering unit can use a generative AI to analyze the context of the question, identify the optimal source code and design principles, and provide an answer. In this way, by analyzing the context of the question, it is possible to identify relevant source code and design principles and provide an answer. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0087] The answering unit can analyze the frequency and patterns of questions and generate template answers to common questions. For example, the answering unit can use a generating AI to analyze the frequency of questions and generate template answers to common questions. For example, the answering unit can use a generating AI to analyze question patterns and generate optimal template answers. For example, the answering unit can use a generating AI to generate efficient template answers based on the frequency and patterns of questions. This allows for the generation of efficient template answers by analyzing the frequency and patterns of questions. Some or all of the above processing in the answering unit may be performed using AI, or without AI.
[0088] The response unit can estimate the user's emotions and adjust the level of detail in the response based on the estimated emotions. For example, if the user is nervous, the generating AI can provide a simple and easy-to-read response. If the user is relaxed, the generating AI can provide a response that includes detailed information. If the user is in a hurry, the generating AI can provide a concise response. By adjusting the level of detail in the response according to the user's emotions, more appropriate information can be provided. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generating AI. The generating AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the response unit may be performed using AI, or not using AI.
[0089] The answering unit can apply different answering algorithms depending on the question category. For example, the answering unit may use a generative AI to analyze the question category and apply the optimal answering algorithm. For example, the answering unit may use a generative AI to select different answering algorithms depending on the question category. For example, the answering unit may use a generative AI to apply the optimal answering algorithm based on the question category. This allows for the provision of more appropriate information by applying the optimal answering algorithm according to the question category. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0090] The answering unit can refer to the question history and generate a new answer based on past answers. For example, the answering unit's generating AI analyzes the question history and generates a new answer based on past answers. For example, the answering unit's generating AI can refer to the question history and generate the optimal answer. For example, the answering unit's generating AI can generate an efficient answer based on the question history. In this way, by referring to the question history, a new answer can be generated based on past answers. Some or all of the above processing in the answering unit may be performed using AI, for example, or without using AI.
[0091] The service provider can estimate the user's emotions and adjust the tutorial content based on the estimated emotions. For example, if the user is nervous, the service provider can use a generative AI to provide a simple and easy-to-understand tutorial. For example, if the user is relaxed, the service provider can use a generative AI to provide a tutorial with more detailed information. For example, if the user is in a hurry, the service provider can use a generative AI to provide a concise tutorial. This allows for the provision of more appropriate information by adjusting the tutorial content according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the service provider may be performed using AI, for example, or without AI.
[0092] The service provider can track the progress of the tutorial and customize the content according to the user's level of understanding. For example, the service provider can use a generative AI to track the progress of the tutorial and adjust the next steps according to the user's level of understanding. For example, the service provider can use a generative AI to evaluate the user's level of understanding and provide additional explanations as needed. For example, the service provider can use a generative AI to suggest an optimal learning pace based on the user's progress. This allows the service provider to provide content tailored to the user's level of understanding by tracking the progress of the tutorial. Some or all of the above processes in the service provider may be performed using AI, for example, or without AI.
[0093] The service provider can collect feedback on the tutorial and reflect it in the next service. The service provider can, for example, use a generative AI to collect user feedback and improve the content of the next tutorial. The service provider can, for example, use a generative AI to analyze the feedback and provide content that meets the user's needs. The service provider can, for example, use a generative AI to suggest the optimal tutorial content based on the feedback. In this way, by collecting feedback on the tutorial, the content of the next service can be improved. Some or all of the above processes in the service provider may be performed using AI, for example, or without using AI.
[0094] The service provider can estimate the user's emotions and adjust the tutorial display method based on the estimated emotions. For example, if the user is nervous, the service provider can use a generative AI to provide a simple and easy-to-understand display method. For example, if the user is relaxed, the service provider can use a generative AI to provide a display method that includes detailed information. For example, if the user is in a hurry, the service provider can use a generative AI to provide a concise display method. This allows for the provision of more appropriate information by adjusting the tutorial display method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, an emotion engine or a generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the service provider may be performed using AI, for example, or without AI.
[0095] The service provider can modularize the tutorial content and combine it according to the user's needs. For example, the service provider can use a generative AI to modularize the tutorial content and provide it according to the user's learning pace. For example, the service provider can use a generative AI to combine and provide the optimal modules according to the user's needs. For example, the service provider can use a generative AI to propose an efficient learning plan based on the modularized tutorial. In this way, by modularizing the tutorial content, content can be provided that meets the user's needs. Some or all of the above processing in the service provider may be performed using AI, for example, or without using AI.
[0096] The service provider can make the tutorial content multilingual and provide it to users of different languages. For example, the service provider can use a generative AI to translate the tutorial content into multiple languages and provide it to users of different languages. For example, the service provider can use a generative AI to provide the tutorial in the most suitable language based on the user's language settings. For example, the service provider can use a generative AI to support a global user base based on the multilingual tutorial. In this way, by making the tutorial content multilingual, it is possible to support users of different languages. Some or all of the above processing in the service provider may be performed using AI, for example, or without using AI.
[0097] The service provider can customize the content of the tutorial according to the user's skill level. For example, the service provider can use a generative AI to evaluate the user's skill level and provide a tutorial of appropriate difficulty. For example, the service provider can use a generative AI to provide detailed explanations and supplementary information according to the user's skill level. For example, the service provider can use a generative AI to suggest an optimal learning plan based on the user's skill level. This allows for the provision of more appropriate information by customizing the tutorial content according to the user's skill level. Some or all of the above processes in the service provider may be performed using AI, for example, or without using AI.
[0098] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0099] The interpreter can analyze the performance of source code and suggest optimizations. For example, the interpreter can have the generative AI analyze the execution speed and memory usage of the source code to identify performance bottlenecks. The interpreter can then have the generative AI suggest specific code changes to solve performance problems. For example, the interpreter can have the generative AI provide best practices for performance optimization, helping developers efficiently improve their code. In this way, by analyzing the performance of source code and suggesting optimizations, the efficiency of the system can be improved.
[0100] The interpretation unit can estimate the user's emotions and adjust the priority of interpretations based on those emotions. For example, if the user is stressed, the generative AI will prioritize providing important information. If the user is relaxed, the generative AI can provide detailed information. If the user is in a hurry, the generative AI can quickly provide concise information. By adjusting the priority of interpretations according to the user's emotions, more appropriate information can be provided.
[0101] The analysis unit can analyze the security risks of the source code and propose measures to mitigate those risks. For example, the analysis unit's generative AI can analyze vulnerabilities in the source code and identify potential security risks. For example, the analysis unit's generative AI can propose specific code changes to reduce security risks. For example, the analysis unit's generative AI can provide security best practices and help developers write secure code. In this way, the security of the system can be improved by analyzing the security risks of the source code and proposing measures to mitigate those risks.
[0102] The understanding unit can estimate the user's emotions and adjust the content of educational materials based on those emotions. For example, if the user is nervous, the generating AI can provide simple and easy-to-understand educational materials. If the user is relaxed, the generating AI can provide educational materials containing detailed information. If the user is in a hurry, the generating AI can provide educational materials that get straight to the point. In this way, by adjusting the content of educational materials according to the user's emotions, more appropriate information can be provided.
[0103] The response unit can evaluate the quality of source code and suggest areas for improvement. For example, the response unit's generating AI can evaluate the readability and maintainability of source code and identify areas for improvement. For example, the response unit's generating AI can suggest code refactoring, helping developers improve the code efficiently. For example, the response unit's generating AI can provide best practices for improving code quality, helping developers write high-quality code. In this way, the quality of the system can be improved by evaluating the quality of source code and suggesting areas for improvement.
[0104] The response unit can estimate the user's emotions and adjust the tone of the response based on those emotions. For example, if the user is nervous, the generating AI can provide a response in a gentle tone. If the user is relaxed, the generating AI can provide a response in a friendly tone. If the user is in a hurry, the generating AI can provide a response in a concise and direct tone. By adjusting the tone of the response according to the user's emotions, more relevant information can be provided.
[0105] The service provider can automatically generate source code documentation, reducing the burden on developers. For example, the service provider's generation AI can analyze source code and automatically generate explanations for functions and classes. For example, the service provider's generation AI can automatically generate usage examples and sample code, making it easier for developers to understand the code. For example, the service provider's generation AI can automatically update documentation based on the code's change history. In this way, by automatically generating source code documentation, the burden on developers can be reduced, and efficient development can be supported.
[0106] The system can estimate the user's emotions and adjust the tutorial's pace based on those emotions. For example, if the user is nervous, the system can use a generating AI to deliver the tutorial at a slow pace. If the user is relaxed, the system can use a generating AI to deliver the tutorial at a normal pace. If the user is in a hurry, the system can use a generating AI to deliver the tutorial at a fast pace. By adjusting the tutorial's pace according to the user's emotions, more relevant information can be provided.
[0107] The service provider can offer tools to support source code refactoring. For example, the service provider can use generative AI to identify potential source code refactoring candidates and propose specific refactoring methods. For example, the service provider can use generative AI to analyze the scope of impact of refactoring and help developers assess the risks of refactoring. For example, the service provider can use generative AI to automate testing of refactored code and help developers perform refactoring efficiently. In this way, by providing tools to support source code refactoring, the service provider can reduce the burden on developers and support efficient development.
[0108] The system can estimate the user's emotions and adjust the tutorial feedback based on those emotions. For example, if the user is nervous, the system's generative AI can provide positive feedback. If the user is relaxed, the system's generative AI can provide detailed feedback. If the user is in a hurry, the system's generative AI can provide concise feedback. This allows the system to provide more relevant information by adjusting the tutorial feedback according to the user's emotions.
[0109] The following briefly describes the processing flow for example form 2.
[0110] Step 1: The interpreter interprets the source code across all files. For example, it analyzes the source code using a generative AI to grasp the overall design philosophy. Even when multiple files are interconnected, such as when codeA references codeB and classB implements a specific function, it can understand these relationships and grasp the overall design philosophy. Step 2: The comprehension unit grasps the design philosophy based on the information interpreted by the interpretation unit. For example, it can use a generative AI to analyze the design philosophy and provide materials to support the education of new visitors. It can provide materials that explain the design philosophy so that new visitors can understand the overall flow of the project. Step 3: The answering unit answers the question based on the design philosophy grasped by the understanding unit. For example, if a developer asks a question about a specific source code, the answer is generated based on the overall design philosophy. By using generation AI to generate answers to questions, the developer's understanding can be deepened. Step 4: The providing team provides a tutorial based on the information obtained by the answering team. For example, they can generate minimal working source code from a large project folder and provide a tutorial to help participants understand the project's source code. Using a generation AI, they can extract the minimum source code related to a specific function and provide a working sample.
[0111] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0112] Data generation model 58 is a form of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> Examples of generative AI include text generation AI, image generation AI, and multimodal generation AI. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats from audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each of the above parts is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example.Furthermore, processing performed by AI, including generative AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by AI, including generative AI.
[0113] Furthermore, the processing performed by the data processing system 10 described above is carried out by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but it may also be carried out by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. In addition, 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.
[0114] Each of the multiple elements described above, including the interpretation unit, understanding unit, answering unit, and providing unit, is implemented in at least one of the smart device 14 and the data processing unit 12. For example, the interpretation unit is implemented by the processor 46 of the smart device 14 and interprets the source code across the board. The understanding unit is implemented by the specific processing unit 290 of the data processing unit 12 and grasps the design concept based on the information interpreted by the interpretation unit. The answering unit is implemented by the specific processing unit 290 of the data processing unit 12 and answers the question based on the design concept grasped by the understanding unit. The providing unit is implemented by the control unit 46A of the smart device 14 and provides a tutorial based on the information obtained by the answering unit. The correspondence between each unit and the device or control unit is not limited to the example described above and can be modified in various ways.
[0115] [Second Embodiment] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0116] As shown in Figure 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.
[0117] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0118] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0119] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0120] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0121] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0122] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing by the processor 28. The storage 32 stores the specific processing program 56.
[0123] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0124] Storage 32 stores the data generation model 58 and the 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 emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0125] In the smart glasses 214, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. 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 acting as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0126] Furthermore, other devices besides the data processing device 12 may also 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 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0127] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0128] The data generation model 58 is a so-called generative AI. An example of a 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 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0129] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart glasses 214 or an external device, and the smart glasses 214 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0130] Each of the multiple elements described above, including the interpretation unit, understanding unit, answering unit, and providing unit, is implemented in at least one of the smart glasses 214 and the data processing unit 12. For example, the interpretation unit is implemented by the processor 46 of the smart glasses 214 and interprets the source code cross-sectionally. The understanding unit is implemented by the specific processing unit 290 of the data processing unit 12 and grasps the design concept based on the information interpreted by the interpretation unit. The answering unit is implemented by the specific processing unit 290 of the data processing unit 12 and answers the question based on the design concept grasped by the understanding unit. The providing unit is implemented by the control unit 46A of the smart glasses 214 and provides a tutorial based on the information obtained by the answering unit. The correspondence between each unit and the device or control unit is not limited to the example described above and can be modified in various ways.
[0131] [Third Embodiment] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0132] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0133] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0134] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0135] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0136] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0137] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0138] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0139] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0140] Storage 32 stores the data generation model 58 and the 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 emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0141] In the headset terminal 314, specific processing is performed by the processor 46. The storage 50 stores a specific program 60. The processor 46 reads the specific program 60 from the storage 50 and executes the read specific program 60 on the RAM 48. The specific processing is realized by the processor 46 acting as a control unit 46A according to the specific program 60 executed on the RAM 48. The headset terminal 314 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.
[0142] Furthermore, other devices besides the data processing device 12 may also 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 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0143] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0144] The data generation model 58 is a so-called generative AI. An example of a 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 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0145] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset terminal 314, but may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset terminal 314. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the headset terminal 314 or an external device, and the headset terminal 314 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0146] Each of the multiple elements described above, including the interpretation unit, understanding unit, answering unit, and providing unit, is implemented in at least one of the headset terminal 314 and the data processing unit 12. For example, the interpretation unit is implemented by the processor 46 of the headset terminal 314 and interprets the source code across the board. The understanding unit is implemented by the specific processing unit 290 of the data processing unit 12 and grasps the design concept based on the information interpreted by the interpretation unit. The answering unit is implemented by the specific processing unit 290 of the data processing unit 12 and answers the question based on the design concept grasped by the understanding unit. The providing unit is implemented by the control unit 46A of the headset terminal 314 and provides a tutorial based on the information obtained by the answering unit. The correspondence between each unit and the device or control unit is not limited to the example described above and can be modified in various ways.
[0147] [Fourth Embodiment] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0148] As shown in Figure 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.
[0149] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.
[0150] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0151] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0152] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS image sensor or CCD image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).
[0153] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0154] The controlled 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 robot 414's emotions can be expressed by controlling these motors. The robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0155] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0156] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0157] Storage 32 stores the data generation model 58 and the 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 emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.
[0158] In robot 414, specific processing is performed by processor 46. A specific program 60 is stored in storage 50. Processor 46 reads the specific program 60 from storage 50 and executes it on RAM 48. The specific processing is achieved by processor 46 acting as a control unit 46A according to the specific program 60 executed on RAM 48. Robot 414 also has data generation model 58 and emotion identification model 59, similar to those of the robot, and can perform processing similar to that of the specific processing unit 290 using these models.
[0159] Furthermore, other devices besides the data processing device 12 may also 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 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).
[0160] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0161] The data generation model 58 is a so-called generative AI. An example of a 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 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.
[0162] 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 performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the robot 414 or an external device, and the robot 414 acquires or collects information necessary for processing from the data processing device 12 or an external device.
[0163] Each of the multiple elements described above, including the interpretation unit, grasping unit, answering unit, and providing unit, is implemented in at least one of the robot 414 and the data processing unit 12. For example, the interpretation unit is implemented by the processor 46 of the robot 414 and interprets the source code cross-sectionally. The grasping unit is implemented by the specific processing unit 290 of the data processing unit 12 and grasps the design concept based on the information interpreted by the interpretation unit. The answering unit is implemented by the specific processing unit 290 of the data processing unit 12 and answers the question based on the design concept grasped by the grasping unit. The providing unit is implemented by the control unit 46A of the robot 414 and provides a tutorial based on the information obtained by the answering unit. The correspondence between each unit and the device or control unit is not limited to the example described above and can be modified in various ways.
[0164] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[0165] Figure 9 shows the emotion map 400, in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[0166] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[0167] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[0168] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, and motorcycles, emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated based, for example, on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[0169] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[0170] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[0171] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing method for the specific process may be used, which includes computer 22 and multiple other computers.
[0172] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[0173] 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.
[0174] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[0175] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[0176] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[0177] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[0178] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[0179] Furthermore, although the above-described examples were divided into four embodiments, some or all of these embodiments may be combined. Also, the smart device 14, smart glasses 214, headset terminal 314, and robot 414 are just examples, and they may be combined, or other devices may be used. Also, although the above-described examples were divided into two embodiments, Embodiment 1 and Embodiment 2, these may be combined.
[0180] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and other things that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[0181] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[0182] (Note 1) An interpreter that interprets source code across different parts, An understanding unit that grasps the design concept based on the information interpreted by the aforementioned interpretation unit, A response unit that answers questions based on the design philosophy grasped by the aforementioned grasping unit, A providing unit that provides a tutorial based on the information obtained by the aforementioned answering unit, Equipped with A system characterized by the following features. (Note 2) The aforementioned interpretation section is: Even when multiple files are interconnected, understand the overall design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 3) The gripping part is, Provide materials to support the education of new visitors. The system described in Appendix 1, characterized by the features described herein. (Note 4) The aforementioned response section is, When a developer asks a question about specific source code, the system generates an answer based on the overall design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 5) The aforementioned supply unit is, Generate minimal, working source code from a large project folder and provide a tutorial to help visitors understand the project's source code. The system described in Appendix 1, characterized by the features described herein. (Note 6) The aforementioned interpretation section is: It estimates the user's emotions and adjusts the accuracy of the interpretation based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 7) The aforementioned interpretation section is: Analyze the change history of the source code and interpret the intent behind the changes. The system described in Appendix 1, characterized by the features described herein. (Note 8) The aforementioned interpretation section is: Analyze source code comments and documentation to supplement the code's intent and design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 9) The aforementioned interpretation section is: It estimates the user's emotions and adjusts how the interpretation results are displayed based on the estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 10) The aforementioned interpretation section is: It integrates with source code version control systems to compare and interpret different versions of the code. The system described in Appendix 1, characterized by the features described herein. (Note 11) The aforementioned interpretation section is: Analyze source code dependencies and interpret related libraries and modules. The system described in Appendix 1, characterized by the features described herein. (Note 12) The gripping part is, We estimate the user's emotions and adjust the way we explain the design philosophy based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 13) The gripping part is, Analyze the architectural patterns in the source code and understand the design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 14) The gripping part is, Analyze the test cases in the source code to understand how to verify the design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 15) The gripping part is, We estimate user emotions and determine the priority of design principles based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 16) The gripping part is, Analyze the source code refactoring history to understand the evolution of the design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 17) The gripping part is, Analyze the source code deployment configuration to understand the operational aspects of the design philosophy. The system described in Appendix 1, characterized by the features described herein. (Note 18) The aforementioned response section is, It estimates the user's emotions and adjusts the way responses are expressed based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 19) The aforementioned response section is, Analyze the context of the question, identify relevant source code and design principles, and then provide an answer. The system described in Appendix 1, characterized by the features described herein. (Note 20) The aforementioned response section is, We analyze the frequency and patterns of questions and generate template answers to frequently asked questions. The system described in Appendix 1, characterized by the features described herein. (Note 21) The aforementioned response section is, The system estimates the user's emotions and adjusts the level of detail in the responses based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 22) The aforementioned response section is, Apply different answer algorithms depending on the question category. The system described in Appendix 1, characterized by the features described herein. (Note 23) The aforementioned response section is, Refer to the question history and generate a new answer based on past answers. The system described in Appendix 1, characterized by the features described herein. (Note 24) The aforementioned supply unit is, It estimates the user's emotions and adjusts the tutorial content based on those emotions. The system described in Appendix 1, characterized by the features described herein. (Note 25) The aforementioned supply unit is, Track tutorial progress and customize content based on the user's level of understanding. The system described in Appendix 1, characterized by the features described herein. (Note 26) The aforementioned supply unit is, We will collect feedback on the tutorial and use it to improve future content. The system described in Appendix 1, characterized by the features described herein. (Note 27) The aforementioned supply unit is, It estimates the user's emotions and adjusts how the tutorial is displayed based on those emotions. The system described in Appendix 1, characterized by the features described herein. (Note 28) The aforementioned supply unit is, The tutorial content is modularized and combined according to the user's needs. The system described in Appendix 1, characterized by the features described herein. (Note 29) The aforementioned supply unit is, The tutorial content is made multilingual and available to users who speak different languages. The system described in Appendix 1, characterized by the features described herein. (Note 30) The aforementioned supply unit is, Customize the tutorial content according to the user's skill level. The system described in Appendix 1, characterized by the features described herein. [Explanation of symbols]
[0183] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots
Claims
1. An interpreter that interprets source code across different parts, An understanding unit that grasps the design concept based on the information interpreted by the aforementioned interpretation unit, A response unit that answers questions based on the design philosophy grasped by the aforementioned grasping unit, A providing unit that provides a tutorial based on the information obtained by the aforementioned answering unit, Equipped with A system characterized by the following features.
2. The aforementioned interpretation section is: Even when multiple files are interconnected, understand the overall design philosophy. The system according to feature 1.
3. The gripping part is, Provide materials to support the education of new visitors. The system according to feature 1.
4. The aforementioned response section is, When a developer asks a question about specific source code, the system generates an answer based on the overall design philosophy. The system according to feature 1.
5. The aforementioned supply unit is, Generate minimal, working source code from a large project folder and provide a tutorial to help visitors understand the project's source code. The system according to feature 1.
6. The aforementioned interpretation section is: It estimates the user's emotions and adjusts the accuracy of the interpretation based on the estimated user emotions. The system according to feature 1.
7. The aforementioned interpretation section is: Analyze the change history of the source code and interpret the intent behind the changes. The system according to feature 1.
8. The aforementioned interpretation section is: Analyze source code comments and documentation to supplement the code's intent and design philosophy. The system according to feature 1.