System

A skill analysis system addresses the challenge of identifying and addressing skill shortages in code developers by analyzing development data, generating targeted educational content, and incorporating emotional analysis for personalized learning.

JP2025053245APending Publication Date: 2025-04-07SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023162238
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2025-04-07

AI Technical Summary

Technical Problem

Existing technologies lack effective methods to analyze skill shortages in code developers and provide targeted educational content and programs to address these shortages.

Method used

A skill analysis system that collects data on code development and commit amounts to identify skill shortages, and generates tailored educational content and programs to address these identified gaps, optionally incorporating emotional analysis to personalize the educational offerings.

Benefits of technology

The system effectively identifies skill deficiencies in code developers and provides personalized educational content and programs, enhancing the developers' skills and addressing specific knowledge gaps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025053245000001_ABST
    Figure 2025053245000001_ABST
Patent Text Reader

Abstract

To support skill improvement by effectively analyzing a deficiency in skill of a code developing person and providing suitable educational contents and programs.SOLUTION: There is provided a skill analysis system based upon development of a code and a commitment amount, and the system includes means for gathering data for analyzing a skill deficiency of a code developing person, means for specifying the region of the skill deficiency based upon the gathered data, and means for generating educational contents and programs corresponding to the specified skill deficiency.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including a description and related instruction sentence regarding the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2022-180282 A Summary of the Invention [Problem to be solved by the invention]

[0004] The present invention aims to solve the problem of helping code developers improve their skills by effectively analyzing their skill deficiencies and providing appropriate educational content and programs. [Means for solving the problem]

[0005] A skills analysis system based on code development and commitment volume, comprising: means for collecting data for analyzing skill deficiencies of code developers; means for identifying areas of skill deficiencies based on the collected data; and means for generating educational content and programs to address the identified skill deficiencies. [Brief description of the drawings]

[0006] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Diagram 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. FIG. [Diagram 3] FIG. 11 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Diagram 5] FIG. 13 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 13 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 13 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

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

[0009] In the following embodiments, a signed processor (hereinafter simply referred to as a "processor") may be one arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be one type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (Tensor Processing Unit).

[0010] In the following embodiments, a signed RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by the processor.

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

[0012] In the following embodiments, a communication I / F (Interface) with a code is an interface including a communication processor and an antenna. The communication I / F controls communication between multiple computers. An example of a communication standard applied to the communication I / F is a wireless communication standard including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0013] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. In addition, in this specification, the same idea as "A and / or B" is also applied when three or more things are expressed by connecting them with "and / or."

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

[0015] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0016] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a wide area network (WAN) and / or a local area network (LAN).

[0017] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0018] The reception device 38 includes a touch panel 38A and a microphone 38B, and receives user input. The touch panel 38A detects contact with a pointer (e.g., a pen or a finger) to receive user input by the touch of the pointer. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicative of the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 (see FIG. 2) acquires the data indicative of the user input.

[0019] The output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., voice 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 voice according to instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0020] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54.

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

[0022] As shown in Fig. 2, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32. The specific process program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific process program 56 from the storage 32, and executes the read specific process program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific process program 56 executed on the RAM 30.

[0023] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0024] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores a reception output program 60. The reception output program 60 is used together with the specific processing program 56 by the data processing system 10. The processor 46 reads out the reception output program 60 from the storage 50, and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0025] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a ChatGPT server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (e.g., a mobile phone, a robot, or a home appliance) owned by a user. Next, the identification process by the identification processing unit 290 of the data processing device 12 will be described.

[0026] (Example 1) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer A uses this system, A's code development activity and the amount of commitment are collected. The collected data is analyzed to identify areas in which A's skills are lacking. For example, if it is identified that A's code testing skills are lacking, the system generates and provides A with educational content and programs related to testing. (Example 2) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer B uses this system, B's code development activity and the amount of commits are collected. The collected data is analyzed to identify areas in which B's skills are lacking. For example, if it is identified that B's skills in optimizing code are lacking, the system generates and provides B with educational content and programs related to optimization. (Example 3) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a concrete example, when a code developer C uses this system, the development activity and commit volume of C's code are collected. The collected data is analyzed to identify areas where C's skills are lacking. For example, if it is identified that C's code security skills are lacking, the system generates and provides security-related educational content and programs to C.

[0027] The process flow of each embodiment will be described below.

[0028] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Generate educational content and programs related to the test and provide them to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Generate educational content and programs on optimization and provide them to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Generate security-related educational content and programs and provide them to C.

[0029] Furthermore, an emotion engine that estimates the emotion of the user may be combined. That is, the identification processing unit 290 may estimate the emotion of the user using the emotion identification model 59, and perform identification processing using the emotion of the user.

[0030] (Example 1) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer A uses this system is as follows: 1. Collect data on A's code development activity and commit volume. 2. Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills are identified as being lacking. 3. Recognize A's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that are emotionally appropriate for A based on the identified skill gaps. (Example 2) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer B uses this system is as follows: 1. Collect data on B's code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as lacking. 3. Recognize B's emotions in real time using an emotion engine that recognizes the user's emotions. 4. Generate and deliver educational content and programs that are tailored to B’s emotions based on identified skill gaps. (Example 3) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer C uses this system is as follows: 1. Collect data on C code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. 3. Recognize C's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that address C's emotions based on identified skill gaps.

[0031] The process flow of each embodiment will be described below.

[0032] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Use the emotion engine to recognize A's emotion in real time. Step 4: Based on the identified skills gaps, generate educational content and programs around the test, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developer. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Use the emotion engine to recognize B's emotion in real time. Step 4: Generate optimization education content and programs based on identified skills gaps and taking into account sentiment analysis results. Step 5: Provide the generated educational content and programs to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Use the emotion engine to recognize C's emotion in real time. Step 4: Generate security education content and programs based on the identified skills gaps and taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to C.

[0033] 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 a voice indicating a user input for the result of the specific processing. The control unit 46A transmits the voice data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0034] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing while using the data generation model 58.

[0035] In the above embodiment, an example was given in which the specific process was performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0036] [Second embodiment]

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

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

[0039] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a wide area network (WAN) and / or a local area network (LAN).

[0040] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

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

[0042] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of an average healthy person).

[0043] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54. The transmission and reception of various types of information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.

[0044] Fig. 4 shows an example of main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0045] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0046] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0047] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50, and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0048] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a ChatGPT server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (e.g., a mobile phone, a robot, or a home appliance) owned by a user. Next, the identification process by the identification processing unit 290 of the data processing device 12 will be described.

[0049] (Example 1) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer A uses this system, A's code development activity and the amount of commitment are collected. The collected data is analyzed to identify areas in which A's skills are lacking. For example, if it is identified that A's code testing skills are lacking, the system generates and provides A with educational content and programs related to testing. (Example 2) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer B uses this system, B's code development activity and the amount of commits are collected. The collected data is analyzed to identify areas in which B's skills are lacking. For example, if it is identified that B's skills in optimizing code are lacking, the system generates and provides B with educational content and programs related to optimization. (Example 3) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a concrete example, when a code developer C uses this system, the development activity and commit volume of C's code are collected. The collected data is analyzed to identify areas where C's skills are lacking. For example, if it is identified that C's code security skills are lacking, the system generates and provides security-related educational content and programs to C.

[0050] The process flow of each embodiment will be described below.

[0051] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Generate educational content and programs related to the test and provide them to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Generate educational content and programs on optimization and provide them to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Generate security-related educational content and programs and provide them to C.

[0052] In addition, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0053] (Example 1) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer A uses this system is as follows: 1. Collect data on A's code development activity and commit volume. 2. Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills are identified as being lacking. 3. Recognize A's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that are emotionally appropriate for A based on the identified skills gaps. (Example 2) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer B uses this system is as follows: 1. Collect data on B's code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as lacking. 3. Recognize B's emotions in real time using an emotion engine that recognizes the user's emotions. 4. Generate and deliver educational content and programs that are tailored to B’s emotions based on identified skill gaps. (Example 3) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer C uses this system is as follows: 1. Collect data on C code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. 3. Recognize C's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that address C's emotions based on identified skill gaps.

[0054] The process flow of each embodiment will be described below.

[0055] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developer. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Use the emotion engine to recognize A's emotion in real time. Step 4: Based on the identified skills gaps, generate educational content and programs around the test, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developer. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Use the emotion engine to recognize B's emotion in real time. Step 4: Generate optimization education content and programs based on identified skills gaps and taking into account sentiment analysis results. Step 5: Provide the generated educational content and programs to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developer. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Use the emotion engine to recognize C's emotion in real time. Step 4: Generate security education content and programs based on the identified skills gaps and taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to C.

[0056] 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 a voice indicating a user input for the result of the specific processing. The control unit 46A transmits the voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0057] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by making a neural network perform deep learning. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image is input. The data generation model 58 performs inference on the input inference data according to the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing while using the data generation model 58.

[0058] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0059] [Third embodiment]

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

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

[0062] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a wide area network (WAN) and / or a local area network (LAN).

[0063] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

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

[0065] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of an average healthy person).

[0066] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54. The transmission and reception of various types of information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.

[0067] Fig. 6 shows an example of main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0068] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0069] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0070] In the headset type terminal 314, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50, and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0071] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a ChatGPT server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (e.g., a mobile phone, a robot, or a home appliance) owned by a user. Next, the identification process by the identification processing unit 290 of the data processing device 12 will be described.

[0072] (Example 1) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer A uses this system, A's code development activity and the amount of commitment are collected. The collected data is analyzed to identify areas in which A's skills are lacking. For example, if it is identified that A's code testing skills are lacking, the system generates and provides A with educational content and programs related to testing. (Example 2) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer B uses this system, B's code development activity and the amount of commits are collected. The collected data is analyzed to identify areas in which B's skills are lacking. For example, if it is identified that B's skills in optimizing code are lacking, the system generates and provides B with educational content and programs related to optimization. (Example 3) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a concrete example, when a code developer C uses this system, the development activity and commit volume of C's code are collected. The collected data is analyzed to identify areas where C's skills are lacking. For example, if it is identified that C's code security skills are lacking, the system generates and provides security-related educational content and programs to C.

[0073] The process flow of each embodiment will be described below.

[0074] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Generate educational content and programs related to the test and provide them to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Generate educational content and programs on optimization and provide them to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Generate security-related educational content and programs and provide them to C.

[0075] In addition, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0076] (Example 1) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer A uses this system is as follows: 1. Collect data on A's code development activity and commit volume. 2. Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills are identified as being lacking. 3. Recognize A's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that are emotionally appropriate for A based on the identified skill gaps. (Example 2) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer B uses this system is as follows: 1. Collect data on B's code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as lacking. 3. Recognize B's emotions in real time using an emotion engine that recognizes the user's emotions. 4. Generate and deliver educational content and programs that are tailored to B’s emotions based on identified skill gaps. (Example 3) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer C uses this system is as follows: 1. Collect data on C code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. 3. Recognize C's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that address C's emotions based on identified skill gaps.

[0077] The process flow of each embodiment will be described below.

[0078] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Use the emotion engine to recognize A's emotion in real time. Step 4: Based on the identified skills gaps, generate educational content and programs around the test, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Use the emotion engine to recognize B's emotion in real time. Step 4: Generate optimization education content and programs based on identified skills gaps and taking into account sentiment analysis results. Step 5: Provide the generated educational content and programs to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Use the emotion engine to recognize C's emotion in real time. Step 4: Generate security education content and programs based on the identified skills gaps and taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to C.

[0079] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input for the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0080] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing while using the data generation model 58.

[0081] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314. [Fourth embodiment]

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

[0083] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0084] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a wide area network (WAN) and / or a local area network (LAN).

[0085] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. In addition, the microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

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

[0087] Camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the user's surroundings (e.g., an imaging range defined by an angle of view equivalent to the width of the field of vision of an average healthy person).

[0088] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54. The transmission and reception of various types of information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is performed in a secure state.

[0089] The control target 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, legs, etc. The posture and behavior of the robot 414 are controlled by controlling the motors of the arms, hands, legs, etc. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[0090] Fig. 8 shows an example of main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0091] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32, and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0092] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0093] In the robot 414, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50, and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0094] Note that a device other than the data processing device 12 may have the data generation model 58. For example, a server device (e.g., a ChatGPT server) may have the data generation model 58. In this case, the data processing device 12 obtains a processing result (such as a prediction result) using the data generation model 58 by communicating with the server device having the data generation model 58. In addition, the data processing device 12 may be a server device, or may be a terminal device (e.g., a mobile phone, a robot, or a home appliance) owned by a user. Next, the identification process by the identification processing unit 290 of the data processing device 12 will be described.

[0095] (Example 1) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer A uses this system, A's code development activity and the amount of commitment are collected. The collected data is analyzed to identify areas in which A's skills are lacking. For example, if it is identified that A's code testing skills are lacking, the system generates and provides A with educational content and programs related to testing. (Example 2) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a specific example, when code developer B uses this system, B's code development activity and the amount of commits are collected. The collected data is analyzed to identify areas in which B's skills are lacking. For example, if it is identified that B's skills in optimizing code are lacking, the system generates and provides B with educational content and programs related to optimization. (Example 3) An embodiment of the present invention is a skill analysis system including the following elements. · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. As a concrete example, when a code developer C uses this system, the development activity and commit volume of C's code are collected. The collected data is analyzed to identify areas where C's skills are lacking. For example, if it is identified that C's code security skills are lacking, the system generates and provides security-related educational content and programs to C.

[0096] The process flow of each embodiment will be described below.

[0097] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Generate educational content and programs related to the test and provide them to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Generate educational content and programs on optimization and provide them to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Generate and deliver educational content and programs that address identified skills gaps. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Generate security-related educational content and programs and provide them to C.

[0098] In addition, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0099] (Example 1) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume in order to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer A uses this system is as follows: 1. Collect data on A's code development activity and commit volume. 2. Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills are identified as being lacking. 3. Recognize A's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that are emotionally appropriate for A based on the identified skills gaps. (Example 2) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer B uses this system is as follows: 1. Collect data on B's code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as lacking. 3. Recognize B's emotions in real time using an emotion engine that recognizes the user's emotions. 4. Generate and deliver educational content and programs that are tailored to B’s emotions based on identified skill gaps. (Example 3) An embodiment of the present invention is a skill analysis system combined with emotion recognition, which includes the following elements: · A means of collecting data on code development and commit volume to analyze developer skill gaps. · A means to identify areas of skills shortages based on the data collected. · Means of generating educational content and programs that address identified skills gaps. · Sentiment analysis means combined with a sentiment engine to recognize user emotions. As a concrete example, the process flow when code developer C uses this system is as follows: 1. Collect data on C code development activity and commit volume. 2. Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. 3. Recognize C's emotions in real time using an emotion engine that recognizes user emotions. 4. Generate and deliver educational content and programs that address C's emotions based on identified skill gaps.

[0100] The process flow of each embodiment will be described below.

[0101] (Example 1) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developer. As a concrete example, the process flow when code developer A uses this system is as follows: Step 1: Collect data on A's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skill deficiencies in A. For example, testing skills were identified as being lacking. Step 3: Use the emotion engine to recognize A's emotion in real time. Step 4: Based on the identified skills gaps, generate educational content and programs around the test, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to A. (Example 2) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer B uses this system is as follows: Step 1: Collect data on B's code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages for B. For example, optimization skills are identified as being insufficient. Step 3: Use the emotion engine to recognize B's emotion in real time. Step 4: Generate optimization education content and programs based on identified skills gaps and taking into account sentiment analysis results. Step 5: Provide the generated educational content and programs to B. (Example 3) Step 1: Collect data on code development and commit volume to analyze developer skills gaps. Step 2: Based on the data collected, identify areas of skills shortages. Step 3: Recognize user emotions. Use an emotion engine to recognize the emotions of the code developer in real time. Step 4: Generate educational content and programs based on the identified skills gaps, taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to the code developers. As a concrete example, the process flow when code developer C uses this system is as follows: Step 1: Collect data on C code development activity and commit volume. Step 2: Analyze the collected data and identify areas of skills shortages in C. For example, security skills were identified as being in short supply. Step 3: Use the emotion engine to recognize C's emotion in real time. Step 4: Generate security education content and programs based on the identified skills gaps and taking into account the sentiment analysis results. Step 5: Provide the generated educational content and programs to C.

[0102] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires a voice indicating a user input for the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[0103] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating a voice, text data indicating a text, and image data indicating an image is input. The data generation model 58 infers the input inference data according to the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The identification processing unit 290 performs the above-mentioned identification processing while using the data generation model 58.

[0104] In the above embodiment, an example was given in which the specific process was performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the robot 414.

[0105] The emotion identification model 59 as an emotion engine may determine the emotion of the user according to a specific mapping. Specifically, the emotion identification model 59 may determine the emotion of the user according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the emotion of the robot, and the identification processing unit 290 may perform identification processing using the emotion of the robot.

[0106] FIG. 9 is a diagram showing an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive emotions are arranged. The more outside the concentric circles, the more emotions that represent states and actions that arise from a state of mind are arranged. Emotions are a concept that includes emotions and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions that occur in the brain are arranged. On the right side of the concentric circles, emotions that are generally induced by situational judgment are arranged. On the upper and lower sides of the concentric circles, emotions that are generally generated from reactions that occur in the brain and are induced by situational judgment are arranged. In addition, on the upper side of the concentric circles, emotions of "pleasure" are arranged, and on the lower side, emotions of "discomfort" are arranged. In this way, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[0107] These emotions are distributed in the three o'clock direction of emotion map 400 and usually fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[0108] The inside of emotion map 400 represents what is going on inside one's mind, and the outside of emotion map 400 represents behavior, so the further out you go on emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[0109] Here, human emotions are based on various balances such as posture and blood sugar level, and when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. Emotions can also be created for robots, cars, motorcycles, etc., based on various balances such as posture and battery level, so that when these balances are far from the ideal, it indicates an unpleasant state, and when they are close to the ideal, it indicates a pleasant state. The emotion map may be generated, for example, based on the emotion map of Dr. Mitsuyoshi (Research on speech emotion recognition and emotion brain physiological signal analysis system, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). On the left half of the emotion map, emotions belonging to an area called "reaction" where sensation is dominant are lined up. On the right half of the emotion map, emotions belonging to an area called "situation" where situation recognition is dominant are lined up.

[0110] The emotion map defines two emotions that promote learning. The first is the negative emotion around the middle of "repentance" or "remorse" on the situation side. In other words, this 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 positive emotion around "desire" on the response side. In other words, this is when the robot has positive feelings such as "I want more" or "I want to know more."

[0111] The emotion identification model 59 inputs the user input to a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the emotion of the user. This neural network is pre-trained based on multiple learning data that are combinations of the user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in Fig. 10. Fig. 10 shows an example in which multiple emotions, "relief," "calm," and "encouraging," have similar emotion values.

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

[0113] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable computer-readable non-transitory storage medium such as a Universal Serial Bus (USB) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[0114] In addition, 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 upon request from the data processing device 12.

[0115] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[0116] As the hardware resource for executing the specific process, various processors as shown below can be used. An example of the processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing the specific process by executing software, i.e., a program. Another example of the processor is a dedicated electric circuit, which is a processor having a circuit configuration designed exclusively for executing the specific process, such as a Field-Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), or an Application Specific Integrated Circuit (ASIC). Each processor has a built-in or connected memory, and each processor executes the specific process by using the memory.

[0117] The hardware resource that executes the specific process may be one of these various processors, or may be a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific process may be a single processor.

[0118] As an example of a configuration using one processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a configuration using a processor that realizes the functions of the entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[0119] Furthermore, more specifically, the hardware structure of these various processors can be an electric circuit that combines circuit elements such as semiconductor elements. The specific processes described above are merely examples. It goes without saying that unnecessary steps may be deleted, new steps may be added, or the order of processes may be changed without departing from the spirit of the invention.

[0120] The above description and illustrations are detailed descriptions of the parts related to the technology of the present disclosure, and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, function, action, and effect is an example of the configuration, function, action, and effect of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above description and illustrations, within the scope of the gist of the technology of the present disclosure. In addition, in order to avoid confusion and to facilitate understanding of the parts related to the technology of the present disclosure, the above description and illustrations omit explanations of technical common sense that do not require explanation in order to enable the implementation of the technology of the present disclosure.

[0121] All publications, patent applications, and standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or standard was specifically and individually indicated to be incorporated by reference.

[0122] The following is further disclosed regarding the above embodiment.

[0123] (Appendix 1) A skill analysis system based on code development and commitment volume, A means of collecting data to analyze the skills gaps of code developers; and A means of identifying areas of skills shortages based on the data collected; and and a means for generating educational content or programs that address the identified skills gaps. (Appendix 2) 2. The system of claim 1. (Appendix 3) 2. The system of claim 1.

[0124] (Appendix 1) A skill analysis system based on code development and commitment volume, A means of collecting data to analyze the skills gaps of code developers; and A means of identifying areas of skills shortages based on the data collected; and A means to generate educational content and programs that address identified skills gaps; and and a sentiment analysis means combined with a sentiment engine for recognizing the sentiment of the user. (Appendix 2) 2. The skill analysis system of claim 1, A skill analysis system characterized in that the emotion analysis means recognizes and analyzes the emotion of a code developer in real time. (Appendix 3) 10. The skill analysis system according to claim 1, further comprising: A skill analysis system characterized in that a sentiment analysis means generates more effective educational content and programs based on the sentiment of a code developer. [Explanation of symbols]

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

Claims

1. A skill analysis system based on code development and commitment volume, A means of collecting data to analyze the skills gaps of code developers; and A means of identifying areas of skills shortages based on the data collected; and and a means for generating educational content or programs that address the identified skills gaps.

2. The system of claim 1 .

3. The system of claim 1 .

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A