system
The system optimizes existing programs by identifying and addressing inefficiencies using generative AI, enhancing computational efficiency and reducing power consumption.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2026-03-13
AI Technical Summary
Existing technologies face inefficiencies in computing resource usage, leading to high power consumption and the need for improved program optimization.
A system comprising an input unit, analysis unit, and generation unit that analyzes existing programs to identify optimization points, generating faster and more power-efficient programs using generative AI.
Improves computational efficiency and reduces power consumption while maintaining program functionality, potentially lowering operational costs and contributing to a sustainable society.
Smart Images

Figure 2026045684000001_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, while the power consumption of computing resources increases, efficient program optimization is required.
[0005] The system according to the embodiment aims to improve the efficiency of computing processing and reduce power consumption.
Means for Solving the Problems
[0006] The system according to this embodiment comprises an input unit, an analysis unit, and a generation unit. The input unit receives an existing program as input. The analysis unit analyzes the program input by the input unit and identifies optimization points to improve the efficiency of the computation process. Based on the optimization points identified by the analysis unit, the generation unit generates a program that is computationally fast and consumes little power. [Effects of the Invention]
[0007] The system according to this embodiment can improve the efficiency of computational processing and reduce power consumption. [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 labeled communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. The communication I / F controls communication between a plurality of computers. Examples of communication standards applicable to the communication I / F include wireless communication standards including 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 receiving 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 receiving 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 program optimization system according to an embodiment of the present invention is a system that analyzes an existing program and generates a program that is faster and consumes less power. This program optimization system takes an existing program as input to a generating AI, which analyzes the program and generates a program that is faster and consumes less power. The generated program has the same functionality as the original program but operates more efficiently. This reduces power consumption and enables cost reduction. For example, a data processing program used by a certain company is input to the generating AI. This program performs data aggregation and analysis and currently consumes a lot of computing resources. Next, the generating AI analyzes the input program. The generating AI analyzes each part of the program in detail and identifies optimization points to improve the efficiency of the computing process. For example, this includes optimizing loop processing and reducing unnecessary calculations. Once the analysis is complete, the generating AI generates an optimized program. This program has the same functionality as the original program but is faster and consumes less power. For example, in the case of a data processing program, the computing resources required to process the same data are reduced, resulting in reduced power consumption. This mechanism reduces power consumption and enables cost reduction. By using programs optimized by generative AI, companies can reduce the consumption of computing resources and lower electricity costs. For example, data center operating costs could be significantly reduced. Furthermore, this mechanism is also effective as a countermeasure against the projected increase in power consumption due to computing resources in 2050. By widely using programs optimized by generative AI, overall power consumption can be reduced, contributing to the realization of a sustainable society. In this way, program optimization systems can efficiently optimize existing programs and reduce power consumption.
[0029] The program optimization system according to the embodiment comprises an input unit, an analysis unit, and a generation unit. The input unit takes an existing program as input. The existing program includes, but is not limited to, software programs, scripts, and applications. The input unit receives, for example, the source code of a program as input. The analysis unit uses a generation AI to analyze the program input by the input unit and identifies optimization points to improve the efficiency of computational processing. Optimization points include, for example, optimization of loop processing and reduction of unnecessary calculations, but are not limited to these examples. For example, the analysis unit performs loop unpacking or loop reduction as an optimization of loop processing. The analysis unit can also remove redundant calculations or utilize caches as a way to reduce unnecessary calculations. Furthermore, the analysis unit can also identify optimization points using machine learning. For example, the analysis unit identifies optimization points using supervised learning or unsupervised learning. The generation unit generates a program that is computationally fast and consumes less power based on the optimization points identified by the analysis unit. For example, the generation unit generates a program that has the same functionality as the original program but is computationally fast and consumes less power. The generation unit can also output optimized source code. For example, the generation unit outputs optimized source code. As a result, the program optimization system according to the embodiment can efficiently optimize existing programs and reduce power consumption.
[0030] The analysis unit can optimize loop processing or reduce unnecessary calculations. For example, as an optimization of loop processing, the analysis unit can unroll loops. For example, by unrolling loops, the number of loops can be reduced, improving the efficiency of the calculation process. The analysis unit can also reduce loops as an optimization of loop processing. For example, by reducing loops, unnecessary loops can be removed, improving the efficiency of the calculation process. Furthermore, the analysis unit can also remove redundant calculations as an unnecessary calculation reduction. For example, by removing redundant calculations, unnecessary calculations can be removed, improving the efficiency of the calculation process. In addition, the analysis unit can utilize caching as an unnecessary calculation reduction. For example, by utilizing caching, calculation results can be saved in the cache and reused, improving the efficiency of the calculation process. As a result, the efficiency of the calculation process is improved through the optimization of loop processing and the reduction of unnecessary calculations.
[0031] The generation unit can generate programs that have the same functionality as the original program but with faster computation and lower power consumption. For example, in the case of a data processing program, the generation unit can generate a program that reduces the computational resources required to process the same data, thereby reducing power consumption. In the case of an image processing program, the generation unit can also generate a program that reduces the computational resources required to process the same image, thereby reducing power consumption. Furthermore, in the case of an audio processing program, the generation unit can generate a program that reduces the computational resources required to process the same audio, thereby reducing power consumption. This makes it possible to improve the efficiency of computation and reduce power consumption while maintaining the same functionality as the original program.
[0032] The input unit can accept program source code as input. For example, the input unit can accept program source code as input. Source code includes, but is not limited to, a programming language and code structure. For instance, the input unit can accept source code written in programming languages such as C, Python®, and Java®. Furthermore, the input unit can accept source code that includes functions, classes, modules, etc., as source code structure. This improves the accuracy of analysis and generation by directly inputting program source code.
[0033] The generation unit can output optimized source code. For example, the generation unit can output optimized source code. Optimized source code includes, but is not limited to, code optimization techniques and efficiency evaluation criteria. For example, the generation unit can output optimized source code using optimization techniques such as loop unrolling and reduction, elimination of redundant calculations, and cache utilization. The generation unit can also output optimized source code based on efficiency evaluation criteria such as the rate of reduction in processing time and the rate of reduction in power consumption. As a result, by outputting optimized source code, the efficiency of the program is improved and power consumption is reduced.
[0034] The analysis unit can identify optimization points using machine learning. For example, the analysis unit can identify optimization points using machine learning. Machine learning includes, but is not limited to, supervised learning, unsupervised learning, and the algorithms used. For example, the analysis unit can identify optimization points in an existing program using supervised learning. The analysis unit can also identify optimization points using unsupervised learning. Furthermore, the analysis unit can identify optimization points using algorithms such as decision trees, random forests, and support vector machines. This improves the accuracy of identifying optimization points by using machine learning.
[0035] The input unit can analyze the user's past program input history and select the optimal input method. For example, the input unit can prioritize suggesting input methods (such as voice or text) that the user has frequently used in the past. For instance, the input unit can store the user's past input history in a database and analyze it using machine learning algorithms. The input unit can also suggest the optimal input method for a specific time period based on the user's past input history. For example, the input unit can analyze the user's input history chronologically to identify the optimal input method for a particular time period. Furthermore, the input unit can select the optimal input method based on the types of programs the user has previously entered. For example, the input unit can classify the types of programs the user has previously entered and suggest the optimal input method for each category. In this way, by analyzing past input history, the input unit can provide the user with the most suitable input method.
[0036] The input unit can filter programs based on the user's current projects and areas of interest during input. For example, it can display only programs related to the user's current project. For instance, it can analyze the user's project metadata to identify relevant programs. The input unit can also prioritize displaying programs that are highly relevant based on the user's areas of interest. For example, it can analyze tags related to the user's areas of interest and filter for relevant programs. Furthermore, the input unit can filter programs by referring to the user's past project history. For example, it can store the user's past project history in a database and analyze it using machine learning algorithms. This allows for prioritizing the input of highly relevant programs by filtering based on the user's current projects and areas of interest.
[0037] The input unit can prioritize inputting programs that are highly relevant to the user's geographical location when inputting programs. For example, if the user is in a specific region, the input unit will prioritize inputting programs related to that region. For example, the input unit will analyze the user's GPS data to identify relevant programs. The input unit can also prioritize inputting programs related to the user's travel destination if the user is traveling. For example, the input unit will analyze the location information of the user's IP address to identify relevant programs. Furthermore, if the user is at home, the input unit can prioritize inputting programs related to work done at home. For example, the input unit will store the user's past location information in a database and analyze it using a machine learning algorithm. This allows the input unit to prioritize inputting highly relevant programs by considering the user's geographical location.
[0038] The input unit can analyze the user's social media activity and input relevant programs when a program is entered. For example, the input unit can input relevant programs based on information shared by the user on social media. For instance, the input unit can analyze the content of the user's social media posts and identify relevant programs. The input unit can also input relevant programs based on the activity of accounts the user follows. For example, the input unit can analyze the trends of the user's followers and identify relevant programs. Furthermore, the input unit can input relevant programs based on groups and events the user participates in on social media. For example, the input unit can store information on the user's participating groups and events in a database and analyze it using machine learning algorithms. This allows for efficient input of relevant programs by analyzing the user's social media activity.
[0039] The analysis unit can adjust the level of detail of the analysis based on the importance of the programs. For example, the analysis unit performs a detailed analysis on programs with high importance. For instance, the analysis unit evaluates the business impact and technical importance of programs to identify high-priority programs. The analysis unit can also perform a simplified analysis on programs with low importance. For example, the analysis unit determines the priority of the analysis according to the importance of the programs. Furthermore, the analysis unit can adjust the analysis schedule according to importance. For example, the analysis unit prioritizes the analysis of high-priority programs and postpones the analysis of low-priority programs. This allows for efficient analysis by adjusting the level of detail of the analysis based on the importance of the programs.
[0040] The analysis unit can apply different analysis algorithms depending on the program category during analysis. For example, the analysis unit can apply algorithms specialized in data analysis to data processing programs. For instance, it can apply data mining or machine learning algorithms to data processing programs. Furthermore, the analysis unit can apply algorithms specialized in image analysis to image processing programs. For example, it can apply image recognition or computer vision algorithms to image processing programs. Additionally, the analysis unit can apply algorithms specialized in speech analysis to speech processing programs. For example, it can apply speech recognition or speech synthesis algorithms to speech processing programs. By applying the appropriate analysis algorithm according to the program category, the accuracy of the analysis is improved.
[0041] The analysis unit can prioritize the analysis based on the program submission dates. For example, it can prioritize analyzing programs with approaching submission deadlines. For instance, it can store program submission dates and times in a database to identify programs with approaching deadlines. It can also postpone analyzing programs with later submission deadlines. For example, it can adjust the analysis schedule according to the submission deadlines. Furthermore, the analysis unit can also prioritize the analysis based on the submission dates. For example, it can prioritize analyzing programs with approaching deadlines and postpone analyzing programs with later deadlines. This allows for more efficient analysis by prioritizing the analysis based on the program submission dates.
[0042] The analysis unit can adjust the order of analysis based on the relationships between programs during the analysis process. For example, the analysis unit prioritizes the analysis of highly relevant programs. For instance, it evaluates the functional and technical relationships between programs to identify highly relevant programs. The analysis unit can also postpone the analysis of less relevant programs. For example, it adjusts the analysis schedule according to the relationships between programs. Furthermore, the analysis unit can determine the priority of analysis based on the relationships between programs. For example, it prioritizes the analysis of highly relevant programs and postpones the analysis of less relevant programs. This allows for efficient analysis by adjusting the order of analysis based on the relationships between programs.
[0043] The generation unit can improve the accuracy of the generation process by considering the interrelationships between programs. For example, the generation unit can generate the optimal program by considering the interrelationships between related programs. For example, the generation unit can analyze program dependencies and generate an efficient program. The generation unit can also generate programs with fewer bugs by considering program interactions. For example, the generation unit can analyze program interaction patterns and generate the optimal program. Furthermore, the generation unit can construct a feedback loop to improve the accuracy of the generation process by considering the interrelationships between programs. For example, the generation unit can evaluate the quality of the generated program and update the generation algorithm based on the evaluation results. This allows for the generation of efficient and bug-free programs by considering the interrelationships between programs.
[0044] The generation unit can consider the attribute information of the program submitter during the generation process. For example, the generation unit can generate the optimal program based on the submitter's area of expertise. For instance, the generation unit can store the submitter's job information and area of expertise in a database and analyze it using machine learning algorithms. The generation unit can also generate the optimal program by referring to the submitter's past program creation history. For example, the generation unit can analyze the submitter's past performance and generate the optimal program. Furthermore, the generation unit can generate a program of appropriate difficulty according to the submitter's skill level. For example, the generation unit can evaluate the submitter's skill level and generate a program of appropriate difficulty. In this way, by considering the submitter's attribute information, the optimal program for the submitter can be generated.
[0045] The generation unit can consider the geographical distribution of programs during the generation process. For example, the generation unit can generate programs optimized for use in specific regions. For instance, the generation unit can store the number of users and usage patterns for each region in a database and analyze them using machine learning algorithms. The generation unit can also generate optimal programs by considering geographical characteristics. For example, the generation unit can analyze usage patterns in each region and generate the optimal program. Furthermore, the generation unit can analyze usage patterns in each region and build a feedback loop to generate the optimal program. For example, the generation unit can evaluate the quality of the generated program and update the generation algorithm based on the evaluation results. This allows for the generation of programs optimized for each region by considering geographical distribution.
[0046] The generation unit can improve the accuracy of program generation by referring to relevant literature during the generation process. For example, the generation unit can generate the optimal program by referring to relevant academic papers. For example, the generation unit can store relevant academic papers in a database and analyze them using a machine learning algorithm. The generation unit can also generate the optimal program by referring to relevant patent documents. For example, the generation unit can store relevant patent documents in a database and analyze them using a machine learning algorithm. Furthermore, the generation unit can generate the optimal program by referring to relevant technical documents. For example, the generation unit can store relevant technical documents in a database and analyze them using a machine learning algorithm. As a result, by referring to relevant literature, the accuracy of generation is improved, and more efficient programs can be generated.
[0047] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0048] The analysis unit can also evaluate the security risks of a program and identify optimization points. For example, it can refer to a database of known vulnerabilities to identify vulnerabilities within the program. It can also perform code reviews of the program and assess security risks. Furthermore, it can use machine learning to predict unknown vulnerabilities and identify optimization points. This can improve the security of the program.
[0049] The generator can also perform optimizations to improve program readability. For example, it can change variable and function names to more meaningful ones. It can also add comments to the code to make the program easier to understand. Furthermore, it can standardize the code format to improve readability. This improves program maintainability and allows developers to work more efficiently.
[0050] The generation unit can also perform optimizations according to the program's execution environment. For example, the generation unit can perform optimizations based on execution in a cloud environment. Furthermore, the generation unit can perform optimizations based on execution on edge devices. In addition, the generation unit can generate programs optimized for specific hardware architectures. This enables optimizations tailored to the program's execution environment, resulting in efficient program execution.
[0051] The generation unit can also perform optimizations to improve the test coverage of the program. For example, it can automatically generate test cases to improve the program's test coverage. It can also optimize existing test cases to achieve more efficient testing. Furthermore, it can analyze test results to identify areas with insufficient test coverage. This can improve the quality of the program.
[0052] The generation unit can also perform optimizations to improve the maintainability of the program. For example, it can modularize the code to improve maintainability. It can also refactor the code to improve its quality. Furthermore, it can automatically generate documentation to make the program easier to understand. This improves the maintainability of the program and makes long-term operation easier.
[0053] The generation unit can also perform optimizations to improve program performance. For example, it can optimize the execution speed of the program. It can also optimize memory usage. Furthermore, it can optimize the scalability of the program. This results in improved program performance and more efficient execution.
[0054] The following briefly describes the processing flow for example form 1.
[0055] Step 1: The input unit takes an existing program as input. This includes software programs, scripts, applications, etc. The input unit accepts the program's source code as input. Step 2: The analysis unit uses a generation AI to analyze the program input by the input unit and identify optimization points to improve the efficiency of computation. These optimization points include optimizing loop processing and reducing unnecessary calculations. The analysis unit performs actions such as loop unwinding and reduction, removal of redundant calculations, and cache utilization. Machine learning can also be used to identify optimization points, employing both supervised and unsupervised learning. Step 3: The generation unit generates a program that is computationally fast and consumes less power based on the optimization points identified by the analysis unit. The generation unit outputs source code that has the same functionality as the original program but is more efficient.
[0056] (Example of form 2) The program optimization system according to an embodiment of the present invention is a system that analyzes an existing program and generates a program that is faster and consumes less power. This program optimization system takes an existing program as input to a generating AI, which analyzes the program and generates a program that is faster and consumes less power. The generated program has the same functionality as the original program but operates more efficiently. This reduces power consumption and enables cost reduction. For example, a data processing program used by a certain company is input to the generating AI. This program performs data aggregation and analysis and currently consumes a lot of computing resources. Next, the generating AI analyzes the input program. The generating AI analyzes each part of the program in detail and identifies optimization points to improve the efficiency of the computing process. For example, this includes optimizing loop processing and reducing unnecessary calculations. Once the analysis is complete, the generating AI generates an optimized program. This program has the same functionality as the original program but is faster and consumes less power. For example, in the case of a data processing program, the computing resources required to process the same data are reduced, resulting in reduced power consumption. This mechanism reduces power consumption and enables cost reduction. By using programs optimized by generative AI, companies can reduce the consumption of computing resources and lower electricity costs. For example, data center operating costs could be significantly reduced. Furthermore, this mechanism is also effective as a countermeasure against the projected increase in power consumption due to computing resources in 2050. By widely using programs optimized by generative AI, overall power consumption can be reduced, contributing to the realization of a sustainable society. In this way, program optimization systems can efficiently optimize existing programs and reduce power consumption.
[0057] The program optimization system according to the embodiment comprises an input unit, an analysis unit, and a generation unit. The input unit takes an existing program as input. The existing program includes, but is not limited to, software programs, scripts, and applications. The input unit receives, for example, the source code of a program as input. The analysis unit uses a generation AI to analyze the program input by the input unit and identifies optimization points to improve the efficiency of computational processing. Optimization points include, for example, optimization of loop processing and reduction of unnecessary calculations, but are not limited to these examples. For example, the analysis unit performs loop unpacking or loop reduction as an optimization of loop processing. The analysis unit can also remove redundant calculations or utilize caches as a way to reduce unnecessary calculations. Furthermore, the analysis unit can also identify optimization points using machine learning. For example, the analysis unit identifies optimization points using supervised learning or unsupervised learning. The generation unit generates a program that is computationally fast and consumes less power based on the optimization points identified by the analysis unit. For example, the generation unit generates a program that has the same functionality as the original program but is computationally fast and consumes less power. The generation unit can also output optimized source code. For example, the generation unit outputs optimized source code. As a result, the program optimization system according to the embodiment can efficiently optimize existing programs and reduce power consumption.
[0058] The analysis unit can optimize loop processing or reduce unnecessary calculations. For example, as an optimization of loop processing, the analysis unit can unroll loops. For example, by unrolling loops, the number of loops can be reduced, improving the efficiency of the calculation process. The analysis unit can also reduce loops as an optimization of loop processing. For example, by reducing loops, unnecessary loops can be removed, improving the efficiency of the calculation process. Furthermore, the analysis unit can also remove redundant calculations as an unnecessary calculation reduction. For example, by removing redundant calculations, unnecessary calculations can be removed, improving the efficiency of the calculation process. In addition, the analysis unit can utilize caching as an unnecessary calculation reduction. For example, by utilizing caching, calculation results can be saved in the cache and reused, improving the efficiency of the calculation process. As a result, the efficiency of the calculation process is improved through the optimization of loop processing and the reduction of unnecessary calculations.
[0059] The generation unit can generate programs that have the same functionality as the original program but with faster computation and lower power consumption. For example, in the case of a data processing program, the generation unit can generate a program that reduces the computational resources required to process the same data, thereby reducing power consumption. In the case of an image processing program, the generation unit can also generate a program that reduces the computational resources required to process the same image, thereby reducing power consumption. Furthermore, in the case of an audio processing program, the generation unit can generate a program that reduces the computational resources required to process the same audio, thereby reducing power consumption. This makes it possible to improve the efficiency of computation and reduce power consumption while maintaining the same functionality as the original program.
[0060] The input unit can accept program source code as input. For example, the input unit can accept program source code as input. Source code includes, but is not limited to, a programming language and code structure. For instance, the input unit can accept source code written in programming languages such as C, Python, and Java. Furthermore, the input unit can accept source code that includes a structure such as functions, classes, and modules as input. This improves the accuracy of analysis and generation by directly inputting program source code.
[0061] The generation unit can output optimized source code. For example, the generation unit can output optimized source code. Optimized source code includes, but is not limited to, code optimization techniques and efficiency evaluation criteria. For example, the generation unit can output optimized source code using optimization techniques such as loop unrolling and reduction, elimination of redundant calculations, and cache utilization. The generation unit can also output optimized source code based on efficiency evaluation criteria such as the rate of reduction in processing time and the rate of reduction in power consumption. As a result, by outputting optimized source code, the efficiency of the program is improved and power consumption is reduced.
[0062] The analysis unit can identify optimization points using machine learning. For example, the analysis unit can identify optimization points using machine learning. Machine learning includes, but is not limited to, supervised learning, unsupervised learning, and the algorithms used. For example, the analysis unit can identify optimization points in an existing program using supervised learning. The analysis unit can also identify optimization points using unsupervised learning. Furthermore, the analysis unit can identify optimization points using algorithms such as decision trees, random forests, and support vector machines. This improves the accuracy of identifying optimization points by using machine learning.
[0063] The input unit can estimate the user's emotions and adjust the program's input timing based on the estimated emotions. For example, if the user is stressed, the input unit can delay the input timing to provide time for relaxation. For example, the input unit can capture the user's facial expressions with a camera and estimate the user's emotions using an emotion estimation algorithm. The input unit can also immediately facilitate program input if the user is concentrating. For example, the input unit can record the user's voice and estimate the user's emotions using voice analysis technology. Furthermore, if the user is tired, the input unit can adjust the input timing to allow for breaks. For example, the input unit can collect the user's biometric data (heart rate and skin electrical activity) with sensors and estimate the user's emotions using an emotion estimation algorithm. By adjusting the input timing according to the user's emotions, it is possible to reduce user stress and enable efficient input. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI.
[0064] The input unit can analyze the user's past program input history and select the optimal input method. For example, the input unit can prioritize suggesting input methods (such as voice or text) that the user has frequently used in the past. For instance, the input unit can store the user's past input history in a database and analyze it using machine learning algorithms. The input unit can also suggest the optimal input method for a specific time period based on the user's past input history. For example, the input unit can analyze the user's input history chronologically to identify the optimal input method for a particular time period. Furthermore, the input unit can select the optimal input method based on the types of programs the user has previously entered. For example, the input unit can classify the types of programs the user has previously entered and suggest the optimal input method for each category. In this way, by analyzing past input history, the input unit can provide the user with the most suitable input method.
[0065] The input unit can filter programs based on the user's current projects and areas of interest during input. For example, it can display only programs related to the user's current project. For instance, it can analyze the user's project metadata to identify relevant programs. The input unit can also prioritize displaying programs that are highly relevant based on the user's areas of interest. For example, it can analyze tags related to the user's areas of interest and filter for relevant programs. Furthermore, the input unit can filter programs by referring to the user's past project history. For example, it can store the user's past project history in a database and analyze it using machine learning algorithms. This allows for prioritizing the input of highly relevant programs by filtering based on the user's current projects and areas of interest.
[0066] The input unit can estimate the user's emotions and determine the priority of programs to input based on the estimated emotions. For example, if the user is stressed, the input unit will prioritize inputting simple programs. For example, the input unit may capture the user's facial expressions with a camera and estimate the user's emotions using an emotion estimation algorithm. Also, if the user is focused, the input unit will prioritize inputting complex programs. For example, the input unit may record the user's voice and estimate the user's emotions using voice analysis technology. Furthermore, if the user is relaxed, the input unit will prioritize inputting programs based on the user's interests. For example, the input unit may collect the user's biometric data (heart rate or skin electrical activity) with sensors and estimate the user's emotions using an emotion estimation algorithm. This enables efficient program input by determining the priority of programs to input according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI.
[0067] The input unit can prioritize inputting programs that are highly relevant to the user's geographical location when inputting programs. For example, if the user is in a specific region, the input unit will prioritize inputting programs related to that region. For example, the input unit will analyze the user's GPS data to identify relevant programs. The input unit can also prioritize inputting programs related to the user's travel destination if the user is traveling. For example, the input unit will analyze the location information of the user's IP address to identify relevant programs. Furthermore, if the user is at home, the input unit can prioritize inputting programs related to work done at home. For example, the input unit will store the user's past location information in a database and analyze it using a machine learning algorithm. This allows the input unit to prioritize inputting highly relevant programs by considering the user's geographical location.
[0068] The input unit can analyze the user's social media activity and input relevant programs when a program is entered. For example, the input unit can input relevant programs based on information shared by the user on social media. For instance, the input unit can analyze the content of the user's social media posts and identify relevant programs. The input unit can also input relevant programs based on the activity of accounts the user follows. For example, the input unit can analyze the trends of the user's followers and identify relevant programs. Furthermore, the input unit can input relevant programs based on groups and events the user participates in on social media. For example, the input unit can store information on the user's participating groups and events in a database and analyze it using machine learning algorithms. This allows for efficient input of relevant programs by analyzing the user's social media activity.
[0069] The analysis unit can estimate the user's emotions and adjust the presentation of the analysis based on the estimated emotions. For example, if the user is tense, the analysis unit provides simple and easy-to-understand analysis results. For example, the analysis unit can capture the user's facial expressions with a camera and estimate the user's emotions using an emotion estimation algorithm. Also, if the user is relaxed, the analysis unit provides detailed analysis results. For example, the analysis unit can record the user's voice and estimate the user's emotions using voice analysis technology. Furthermore, if the user is in a hurry, the analysis unit provides concise analysis results. For example, the analysis unit can collect the user's biometric data (heart rate and skin electrical activity) with sensors and estimate the user's emotions using an emotion estimation algorithm. This allows the analysis to be presented in a way that is easy for the user to understand by adjusting the presentation of the analysis according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI.
[0070] The analysis unit can adjust the level of detail of the analysis based on the importance of the programs. For example, the analysis unit performs a detailed analysis on programs with high importance. For instance, the analysis unit evaluates the business impact and technical importance of programs to identify high-priority programs. The analysis unit can also perform a simplified analysis on programs with low importance. For example, the analysis unit determines the priority of the analysis according to the importance of the programs. Furthermore, the analysis unit can adjust the analysis schedule according to importance. For example, the analysis unit prioritizes the analysis of high-priority programs and postpones the analysis of low-priority programs. This allows for efficient analysis by adjusting the level of detail of the analysis based on the importance of the programs.
[0071] The analysis unit can apply different analysis algorithms depending on the program category during analysis. For example, the analysis unit can apply algorithms specialized in data analysis to data processing programs. For instance, it can apply data mining or machine learning algorithms to data processing programs. Furthermore, the analysis unit can apply algorithms specialized in image analysis to image processing programs. For example, it can apply image recognition or computer vision algorithms to image processing programs. Additionally, the analysis unit can apply algorithms specialized in speech analysis to speech processing programs. For example, it can apply speech recognition or speech synthesis algorithms to speech processing programs. By applying the appropriate analysis algorithm according to the program category, the accuracy of the analysis is improved.
[0072] The analysis unit can estimate the user's emotions and adjust the length of the analysis based on the estimated emotions. For example, if the user is in a hurry, the analysis unit will perform a short, concise analysis. For example, the analysis unit can capture the user's facial expressions with a camera and estimate the user's emotions using an emotion estimation algorithm. Also, if the user is relaxed, the analysis unit will perform a detailed analysis. For example, the analysis unit can record the user's voice and estimate the user's emotions using voice analysis technology. Furthermore, if the user is excited, the analysis unit will perform a visually stimulating analysis. For example, the analysis unit can collect the user's biometric data (heart rate and skin electrical activity) with sensors and estimate the user's emotions using an emotion estimation algorithm. This allows the analysis unit to provide the user with the most optimal analysis results by adjusting the length of the analysis according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI.
[0073] The analysis unit can prioritize the analysis based on the program submission dates. For example, it can prioritize analyzing programs with approaching submission deadlines. For instance, it can store program submission dates and times in a database to identify programs with approaching deadlines. It can also postpone analyzing programs with later submission deadlines. For example, it can adjust the analysis schedule according to the submission deadlines. Furthermore, the analysis unit can also prioritize the analysis based on the submission dates. For example, it can prioritize analyzing programs with approaching deadlines and postpone analyzing programs with later deadlines. This allows for more efficient analysis by prioritizing the analysis based on the program submission dates.
[0074] The analysis unit can adjust the order of analysis based on the relationships between programs during the analysis process. For example, the analysis unit prioritizes the analysis of highly relevant programs. For instance, it evaluates the functional and technical relationships between programs to identify highly relevant programs. The analysis unit can also postpone the analysis of less relevant programs. For example, it adjusts the analysis schedule according to the relationships between programs. Furthermore, the analysis unit can determine the priority of analysis based on the relationships between programs. For example, it prioritizes the analysis of highly relevant programs and postpones the analysis of less relevant programs. This allows for efficient analysis by adjusting the order of analysis based on the relationships between programs.
[0075] The generation unit can estimate the user's emotions and determine the priority of programs to generate based on the estimated emotions. For example, if the user is stressed, the generation unit will prioritize generating simple programs. For instance, the generation unit can capture the user's facial expressions with a camera and estimate their emotions using an emotion estimation algorithm. Furthermore, if the user is focused, the generation unit will prioritize generating complex programs. For example, the generation unit can record the user's voice and estimate their emotions using voice analysis technology. Additionally, if the user is relaxed, the generation unit will prioritize generating programs based on the user's interests. For example, the generation unit can collect the user's biometric data (heart rate and skin electrical activity) with sensors and estimate their emotions using an emotion estimation algorithm. This allows for efficient program generation by determining the priority of programs to generate according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generation AI. The generation AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI.
[0076] The generation unit can improve the accuracy of the generation process by considering the interrelationships between programs. For example, the generation unit can generate the optimal program by considering the interrelationships between related programs. For example, the generation unit can analyze program dependencies and generate an efficient program. The generation unit can also generate programs with fewer bugs by considering program interactions. For example, the generation unit can analyze program interaction patterns and generate the optimal program. Furthermore, the generation unit can construct a feedback loop to improve the accuracy of the generation process by considering the interrelationships between programs. For example, the generation unit can evaluate the quality of the generated program and update the generation algorithm based on the evaluation results. This allows for the generation of efficient and bug-free programs by considering the interrelationships between programs.
[0077] The generation unit can consider the attribute information of the program submitter during the generation process. For example, the generation unit can generate the optimal program based on the submitter's area of expertise. For instance, the generation unit can store the submitter's job information and area of expertise in a database and analyze it using machine learning algorithms. The generation unit can also generate the optimal program by referring to the submitter's past program creation history. For example, the generation unit can analyze the submitter's past performance and generate the optimal program. Furthermore, the generation unit can generate a program of appropriate difficulty according to the submitter's skill level. For example, the generation unit can evaluate the submitter's skill level and generate a program of appropriate difficulty. In this way, by considering the submitter's attribute information, the optimal program for the submitter can be generated.
[0078] The generation unit can estimate the user's emotions and adjust the display method of the generated program based on the estimated user emotions. For example, if the user is tense, the generation unit provides a simple and highly visible display method. For example, the generation unit can capture the user's facial expression with a camera and estimate the user's emotions using an emotion estimation algorithm. Also, if the user is relaxed, the generation unit provides a display method that includes detailed information. For example, the generation unit can record the user's voice and estimate the user's emotions using voice analysis technology. Furthermore, if the user is in a hurry, the generation unit provides a concise display method. For example, the generation unit can collect the user's biometric data (heart rate and skin electrical activity) with sensors and estimate the user's emotions using an emotion estimation algorithm. This allows for a display that is easy for the user to understand by adjusting the display method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI is a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to these examples.
[0079] The generation unit can consider the geographical distribution of programs during the generation process. For example, the generation unit can generate programs optimized for use in specific regions. For instance, the generation unit can store the number of users and usage patterns for each region in a database and analyze them using machine learning algorithms. The generation unit can also generate optimal programs by considering geographical characteristics. For example, the generation unit can analyze usage patterns in each region and generate the optimal program. Furthermore, the generation unit can analyze usage patterns in each region and build a feedback loop to generate the optimal program. For example, the generation unit can evaluate the quality of the generated program and update the generation algorithm based on the evaluation results. This allows for the generation of programs optimized for each region by considering geographical distribution.
[0080] The generation unit can improve the accuracy of program generation by referring to relevant literature during the generation process. For example, the generation unit can generate the optimal program by referring to relevant academic papers. For example, the generation unit can store relevant academic papers in a database and analyze them using a machine learning algorithm. The generation unit can also generate the optimal program by referring to relevant patent documents. For example, the generation unit can store relevant patent documents in a database and analyze them using a machine learning algorithm. Furthermore, the generation unit can generate the optimal program by referring to relevant technical documents. For example, the generation unit can store relevant technical documents in a database and analyze them using a machine learning algorithm. As a result, by referring to relevant literature, the accuracy of generation is improved, and more efficient programs can be generated. === Hard Collateral 1-1 === Each of the multiple elements described above, including the input unit, analysis unit, and generation unit, is implemented in at least one of the smart device 14 and the data processing unit 12. For example, the input unit is implemented by the receiving device 38 of the smart device 14 and takes an existing program as input. The analysis unit is implemented by the identification processing unit 290 of the data processing unit 12 and analyzes the input program using a generation AI to identify optimization points. The generation unit is implemented by the identification processing unit 290 of the data processing unit 12 and generates a program that is fast to compute and consumes little power based on the optimization points identified by the analysis unit. === Hard Collateral 1-2 === Each of the multiple elements described above, including the input unit, analysis unit, and generation unit, is implemented, for example, in at least one of the smart glasses 214 and the data processing unit 12. For example, the input unit is implemented by the microphone 238 of the smart glasses 214 and takes an existing program as input. The analysis unit is implemented, for example, by the identification processing unit 290 of the data processing unit 12 and analyzes the input program using a generation AI to identify optimization points. The generation unit is implemented, for example, by the identification processing unit 290 of the data processing unit 12 and generates a program that is fast to compute and consumes little power based on the optimization points identified by the analysis unit. === Hard Collateral 1-3 === Each of the multiple elements described above, including the input unit, analysis unit, and generation unit, is implemented in, for example, at least one of the headset terminal 314 and the data processing unit 12. For example, the input unit is implemented by the microphone 238 of the headset terminal 314 and takes an existing program as input. The analysis unit is implemented by, for example, the identification processing unit 290 of the data processing unit 12 and analyzes the input program using the generation AI to identify optimization points. The generation unit is implemented by, for example, the identification processing unit 290 of the data processing unit 12 and generates a program that is fast to compute and consumes little power based on the optimization points identified by the analysis unit. === Hard Collateral 1-4 === Each of the multiple elements described above, including the input unit, analysis unit, and generation unit, is implemented, for example, in at least one of the robot 414 and the data processing unit 12. For example, the input unit is implemented by the microphone 238 of the robot 414 and receives an existing program as input. The analysis unit is implemented, for example, by the identification processing unit 290 of the data processing unit 12 and analyzes the input program using the generation AI to identify optimization points. The generation unit is implemented, for example, by the identification processing unit 290 of the data processing unit 12 and generates a program that is fast to compute and consumes little power based on the optimization points identified by the analysis unit.
[0081] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.
[0082] The analysis unit can also evaluate the security risks of a program and identify optimization points. For example, it can refer to a database of known vulnerabilities to identify vulnerabilities within the program. It can also perform code reviews of the program and assess security risks. Furthermore, it can use machine learning to predict unknown vulnerabilities and identify optimization points. This can improve the security of the program.
[0083] The generator can also perform optimizations to improve program readability. For example, it can change variable and function names to more meaningful ones. It can also add comments to the code to make the program easier to understand. Furthermore, it can standardize the code format to improve readability. This improves program maintainability and allows developers to work more efficiently.
[0084] The analysis unit can estimate the user's emotions and determine the priority of the analysis based on those emotions. For example, if the user is stressed, the analysis unit will prioritize analyzing simple optimization points. If the user is focused, the analysis unit can also prioritize analyzing complex optimization points. Furthermore, if the user is relaxed, the analysis unit can perform a detailed analysis. By adjusting the priority of the analysis according to the user's emotions, efficient analysis becomes possible.
[0085] The generation unit can also perform optimizations according to the program's execution environment. For example, the generation unit can perform optimizations based on execution in a cloud environment. Furthermore, the generation unit can perform optimizations based on execution on edge devices. In addition, the generation unit can generate programs optimized for specific hardware architectures. This enables optimizations tailored to the program's execution environment, resulting in efficient program execution.
[0086] The analysis unit can estimate the user's emotions and provide analytical feedback based on those emotions. For example, if the user is feeling anxious, the analysis unit will provide positive feedback. If the user is feeling confident, the analysis unit can also provide detailed feedback. Furthermore, if the user is feeling tired, the analysis unit can provide concise feedback. By providing feedback tailored to the user's emotions, it becomes easier to maintain the user's motivation.
[0087] The generation unit can also perform optimizations to improve the test coverage of the program. For example, it can automatically generate test cases to improve the program's test coverage. It can also optimize existing test cases to achieve more efficient testing. Furthermore, it can analyze test results to identify areas with insufficient test coverage. This can improve the quality of the program.
[0088] The analysis unit can estimate the user's emotions and adjust the analysis interface based on those emotions. For example, if the user is tense, the analysis unit provides a simple and intuitive interface. If the user is relaxed, it can provide an interface with more detailed information. Furthermore, if the user is in a hurry, it can provide a concise interface. By providing an interface tailored to the user's emotions, the analysis results become easier to understand.
[0089] The generation unit can also perform optimizations to improve the maintainability of the program. For example, it can modularize the code to improve maintainability. It can also refactor the code to improve its quality. Furthermore, it can automatically generate documentation to make the program easier to understand. This improves the maintainability of the program and makes long-term operation easier.
[0090] The analysis unit can estimate the user's emotions and report the progress of the analysis based on those estimated emotions. For example, if the user is feeling anxious, the analysis unit will report the progress frequently. If the user is confident, the analysis unit can also report the progress concisely. Furthermore, if the user is tired, the analysis unit can report only the essential points of the progress. This allows for progress reports tailored to the user's emotions, thereby increasing the user's sense of security.
[0091] The generation unit can also perform optimizations to improve program performance. For example, it can optimize the execution speed of the program. It can also optimize memory usage. Furthermore, it can optimize the scalability of the program. This results in improved program performance and more efficient execution.
[0092] The following briefly describes the processing flow for example form 2.
[0093] Step 1: The input unit takes an existing program as input. This includes software programs, scripts, applications, etc. The input unit accepts the program's source code as input. Step 2: The analysis unit uses a generation AI to analyze the program input by the input unit and identify optimization points to improve the efficiency of computation. These optimization points include optimizing loop processing and reducing unnecessary calculations. The analysis unit performs actions such as loop unwinding and reduction, removal of redundant calculations, and cache utilization. Machine learning can also be used to identify optimization points, employing both supervised and unsupervised learning. Step 3: The generation unit generates a program that is computationally fast and consumes less power based on the optimization points identified by the analysis unit. The generation unit outputs source code that has the same functionality as the original program but is more efficient.
[0094] 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.
[0095] 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 the following. 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 (for example, 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. 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 a variety of operations, but is not limited to these examples. Furthermore, AI may also be an AI agent. Also, when the operations described above are performed by AI, the operations may be performed partially or entirely by AI, but is not limited to these examples. Additionally, operations performed by AI, including generative AI, may be replaced by rule-based operations, and rule-based operations may be replaced by operations performed by AI, including generative AI.
[0096] 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.
[0097] The correspondence between each part and the device or control unit is not limited to the examples described above, and various modifications are possible.
[0098] [Second Embodiment] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0099] 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.
[0100] 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.
[0101] 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.
[0102] 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.
[0103] 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).
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.).
[0110] 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.
[0111] 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. 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.
[0112] 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.
[0113] The correspondence between each part and the device or control unit is not limited to the examples described above, and various modifications are possible.
[0114] [Third Embodiment] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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).
[0120] 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.
[0121] 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.
[0122] 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.
[0123] 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.
[0124] 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.
[0125] 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.).
[0126] 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.
[0127] 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. 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.
[0128] 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.
[0129] The correspondence between each part and the device or control unit is not limited to the examples described above, and various modifications are possible.
[0130] [Fourth Embodiment] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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).
[0136] 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.
[0137] 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.
[0138] 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.
[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 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.
[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 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.
[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. 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 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.
[0146] The correspondence between each part and the device or control unit is not limited to the examples described above, and various modifications are possible.
[0147] 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.
[0148] 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.
[0149] 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.
[0150] 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.
[0151] 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.
[0152] 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."
[0153] 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.
[0154] 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.
[0155] 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.
[0156] 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.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] [Explanation of symbols]
[0166] 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 input section for entering an existing program, An analysis unit analyzes the program input by the input unit and identifies optimization points to improve the efficiency of the calculation process, The system includes a generation unit that generates a program that is fast to compute and consumes little power based on the optimization points identified by the analysis unit. A system characterized by the following features.
2. The aforementioned analysis unit, Optimize loop processing or reduce unnecessary calculations. The system according to feature 1.
3. The generating unit is This generates a program that has the same functionality as the original program but performs calculations faster and consumes less power. The system according to feature 1.
4. The aforementioned input unit is Accepts program source code as input. The system according to feature 1.
5. The generating unit is Outputs optimized source code The system according to feature 1.
6. The aforementioned analysis unit, Identifying optimization points using machine learning The system according to feature 1.
7. The aforementioned input unit is The program estimates the user's emotions and adjusts the program's input timing based on those emotions. The system according to feature 1.
8. The aforementioned input unit is The system analyzes the user's past program input history and selects the optimal input method. The system according to feature 1.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A