System

The system addresses the challenge of beginner programmers by assisting them in selecting appropriate skills and product ideas, generating detailed blueprints, and providing tailored learning materials, enhancing their learning motivation and efficiency.

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

Patent Information

Application Number
JP2024136011
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-16
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Beginner programmers face challenges in knowing what to create, leading to a lack of motivation in their learning process.

Method used

A system that includes a skill selection unit, image selection unit, and learning material provision unit to assist beginners in selecting appropriate programming skills and product ideas, providing learning materials tailored to their skill level and interests, and generating detailed blueprints or wireframes for their projects.

Benefits of technology

Enables beginner programmers to focus on learning by clarifying what to create and providing personalized learning materials, improving motivation and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026032970000001_ABST
    Figure 2026032970000001_ABST
Patent Text Reader

Abstract

An object of the system according to the embodiment is to enable a programming beginner to obtain an idea of an appropriate product and concentrate on learning.SOLUTION: A system according to an embodiment includes a skill selection unit, an image selection unit, a deliverable generation unit, and a learning material provision unit. The skill selection unit selects a programming skill of the user. The image selection unit selects an image of a product that the user wants to create. The deliverable generation unit generates an idea of the deliverable based on the information selected by the skill selection unit and the image selection unit. The learning material providing unit provides learning materials based on the information selected by the skill selection unit and the image selection unit.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] With conventional technology, beginner programmers had trouble knowing what to create, making it difficult to maintain motivation to learn.

[0005] The system according to the embodiment aims to enable beginner programmers to get ideas for suitable creations and concentrate on their learning. [Means for solving the problem]

[0006] The system according to the embodiment includes a skill selection unit, an image selection unit, a product creation unit, and a learning material provision unit. The skill selection unit selects a user's programming skills. The image selection unit selects an image of a product the user wants to create. The product creation unit generates an idea for a product based on the information selected by the skill selection unit and the image selection unit. The learning material provision unit provides learning materials based on the information selected by the skill selection unit and the image selection unit. [Effects of the Invention]

[0007] The system according to the embodiment can enable beginners in programming to get ideas for suitable creations and focus on learning. [Brief explanation of the drawings]

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

[0009] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

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

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

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

[0013] In the following embodiments, the coded storage is one or more 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.

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

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

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

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

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

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

[0021] Output device 40 includes a display 40A and a speaker 40B, and presents data to a user by outputting the data in a form of expression that the user can perceive (e.g., audio and / or text). Display 40A displays visible information such as text and images in accordance with instructions from processor 46. Speaker 40B outputs audio in accordance with instructions from processor 46. Camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0022] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

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

[0025] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

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

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

[0028] (Example 1) A programming learning support system according to an embodiment of the present invention is a system that automatically generates ideas for a product and provides learning materials by having a user select a programming skill and an image of a product they want to create. This allows the programming learning support system to clarify what the user should create, allowing them to concentrate on learning programming.

[0029] A programming learning support system according to an embodiment includes a skill selection unit, an image selection unit, a product generation unit, and a learning material provision unit. The skill selection unit selects a user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. The image selection unit selects an image of the product the user wants to create. For example, the user can select from categories such as websites, mobile apps, and games. The product generation unit generates product ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the product image. The learning material provision unit provides learning materials based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level. This allows the user to efficiently learn programming by providing specific product ideas and learning materials based on the user's skill level and the product image.

[0030] The skill selection unit can analyze a user's past programming experience or learning history and automatically recommend an optimal skill level. The skill selection unit, for example, collects data from programming courses and online learning platforms that the user has previously attended and analyzes the user's learning history. For example, it recommends a skill level based on the courses completed and the certificates obtained. The skill selection unit also analyzes the code of projects created by the user in the past and evaluates its quality and complexity. For example, it recommends a skill level based on the number of lines of code and the libraries used. The skill selection unit also recommends a skill level based on the user's performance in hackathons and contests that the user has previously participated in. For example, it determines the skill level taking into account awards received and the number of times the user has participated. This improves learning efficiency by recommending an optimal skill level based on the user's past experience and history.

[0031] The skill selection unit can measure a user's programming skills through automated tests that evaluate the quality or efficiency of the code and dynamically adjust the skill level. For example, the skill selection unit analyzes code submitted by the user using an automated testing tool to evaluate the quality and efficiency of the code. For example, the skill level can be adjusted based on the error rate and execution speed of the code. The skill selection unit can also dynamically adjust the skill level based on the accuracy rate and solution time of programming tasks solved by the user. For example, the skill level can be increased or decreased depending on the difficulty of the task. The skill selection unit can also evaluate the performance of coding challenges in which the user participates in real time and adjust the skill level. For example, the skill level can be determined based on the completion rate and time required for the challenge. In this way, the user's skill level can be accurately measured and dynamically adjusted by evaluating the quality and efficiency of the code.

[0032] The image selection unit can conduct a survey to suggest optimal product images based on the user's interests or hobbies. For example, the image selection unit conducts a survey about the user's interests and hobbies and suggests optimal product images based on the results. For example, the survey may include questions about the user's favorite genres or themes. The image selection unit may also identify the user's interests and hobbies based on the user's past projects and activity history, and suggest optimal product images. For example, the image selection unit may analyze the genres of projects created in the past. The image selection unit may also analyze the user's social media activity and following accounts to identify the user's interests and hobbies. For example, the image selection unit may make suggestions based on the technology accounts the user follows and the communities the user participates in. This may improve the user's motivation to learn by suggesting optimal product images based on the user's interests and hobbies.

[0033] The image selection unit can analyze data on projects created by the user in the past and suggest images of similar products. For example, the image selection unit analyzes the code and design of projects created by the user in the past and suggests images of similar products. For example, suggestions are made based on the technology stack and design patterns used. The image selection unit also suggests images of similar products based on the deliverables of projects in which the user has participated in the past. For example, suggestions are made by analyzing the themes and objectives of the projects. The image selection unit also suggests images of similar products based on feedback and evaluations of projects created by the user in the past. For example, elements of highly rated projects are incorporated. In this way, by analyzing past project data, it is possible to suggest images of products that are suitable for the user.

[0034] The deliverable generation unit can automatically generate detailed blueprints or wireframes for the deliverable ideas generated by the generation AI and provide them to the user. The deliverable generation unit, for example, builds a system that automatically generates detailed blueprints based on the deliverable ideas generated by the generation AI. For example, it automatically generates website layouts and database schemas. The deliverable generation unit also automatically generates wireframes based on the deliverable ideas generated by the generation AI. For example, it automatically generates screen transitions for mobile apps and the placement of UI components. The deliverable generation unit also visually displays the overall picture of the project based on the deliverable ideas generated by the generation AI. For example, it automatically generates flowcharts and ER diagrams and provides them to the user. In this way, automatically generating detailed blueprints and wireframes makes it easier for users to visualize the specific products they will create.

[0035] The deliverable generation unit can automatically suggest a required technology stack or library for the deliverable idea generated by the generation AI. The deliverable generation unit, for example, builds a system that automatically suggests a required technology stack based on the deliverable idea generated by the generation AI. For example, it proposes a programming language or framework. The deliverable generation unit also suggests required libraries and tools based on the deliverable idea generated by the generation AI. For example, it proposes a database management system or front-end library. The deliverable generation unit also automatically analyzes project dependencies based on the deliverable idea generated by the generation AI and suggests the required technology stack or library. For example, it generates a dependency graph and provides it to the user. This allows the user to efficiently create products by automatically suggesting the required technology stack or library.

[0036] The learning material providing unit can dynamically generate and provide optimal learning materials based on the user's learning history or progress. The learning material providing unit, for example, analyzes the user's learning history and builds a system that dynamically generates optimal learning materials. For example, materials are customized based on past learning content and progress. The learning material providing unit also monitors the user's learning progress in real time and automatically provides necessary learning materials. For example, related materials are presented when working on a specific task. The learning material providing unit also develops a system that dynamically adjusts the difficulty and content of learning materials based on the user's learning history and progress. For example, materials for beginners are switched to materials for intermediate learners. This improves learning efficiency by providing optimal learning materials based on the user's learning history and progress.

[0037] The learning material providing unit can automatically generate learning materials in a format that is easy for users to understand. For example, the learning material providing unit builds a system that automatically generates learning materials in video format according to the user's learning style and preferences. For example, it explains programming procedures in video. The learning material providing unit also automatically generates learning materials in text format that is easy for users to understand. For example, it provides code explanations and theoretical explanations in text. The learning material providing unit also automatically generates materials that allow users to learn interactively. For example, it provides interactive learning materials including quizzes and coding challenges. This improves learning efficiency by providing learning materials in a format that is easy for users to understand.

[0038] The learning material providing unit can suggest related online courses or workshops based on the skill level and image of the work selected by the user. The learning material providing unit, for example, builds a system that suggests related online courses based on the skill level and image of the work selected by the user. For example, it provides courses related to specific technologies or tools. The learning material providing unit also suggests related workshops based on the skill level and image of the work selected by the user. For example, it introduces hands-on workshops and seminars. The learning material providing unit also suggests related learning events and community activities based on the skill level and image of the work selected by the user. For example, it introduces study groups and meetups. In this way, by suggesting related online courses and workshops based on the user's skill level and image of the work, learning efficiency is improved.

[0039] The learning material providing unit can share learning notes or resources created by other learners based on the skill level and image of the work selected by the user. The learning material providing unit, for example, builds a system for sharing learning notes created by other learners based on the skill level and image of the work selected by the user. For example, it uses an online note sharing platform. The learning material providing unit also shares resources created by other learners based on the skill level and image of the work selected by the user. For example, it provides code samples and tutorials. The learning material providing unit also shares documents and explanations of projects created by other learners based on the skill level and image of the work selected by the user. For example, it provides blueprints for the project and explanations of the technologies used. In this way, the user's learning is supported by sharing learning notes and resources created by other learners.

[0040] The study material providing unit can monitor the user's study progress in real time and suggest breaks or refreshment at appropriate times. The study material providing unit, for example, builds a system that monitors the user's study progress in real time and suggests breaks at appropriate times. For example, it sends notifications encouraging breaks at regular intervals. The study material providing unit also analyzes the user's study progress and suggests refreshment. For example, it suggests short exercises or stretching. The study material providing unit also suggests refreshment if it determines that the user's concentration is declining based on the user's study progress. For example, it suggests relaxing music or meditation. In this way, the efficiency of learning is improved by monitoring the user's study progress and suggesting breaks or refreshment at appropriate times.

[0041] The learning material providing unit allows the generation AI to automatically perform code reviews on tasks that users are working on and suggest areas for improvement. The learning material providing unit, for example, builds a system in which the generation AI automatically performs code reviews on code submitted by users. For example, it evaluates the quality and efficiency of the code and suggests areas for improvement. The learning material providing unit also allows the generation AI to perform real-time code reviews on tasks that users are working on and provide immediate feedback. For example, it detects errors and bugs and suggests ways to fix them. The learning material providing unit also allows the generation AI to suggest areas for improvement based on best practices for code submitted by users. For example, it suggests code refactoring and optimization. In this way, the generation AI automatically performs code reviews and suggests areas for improvement, improving the user's learning efficiency.

[0042] The learning material providing unit can provide opportunities for pair programming or group learning with other learners according to the user's learning progress. The learning material providing unit, for example, builds a system that automatically matches optimal pair programming partners based on the user's learning progress. For example, it pairs learners with similar skill levels. The learning material providing unit also provides group learning opportunities based on the user's learning progress. For example, it groups learners with the same goals. The learning material providing unit also suggests online pair programming or group learning sessions based on the user's learning progress. For example, it holds sessions to tackle specific challenges. This provides opportunities for pair programming or group learning with other learners, thereby improving the user's learning efficiency.

[0043] The learning material providing unit can provide information on related hackathons or contests according to the user's learning progress, thereby providing opportunities for the user to gain practical experience. The learning material providing unit, for example, builds a system that provides information on related hackathons and contests based on the user's learning progress. For example, it introduces events related to specific technologies or themes. The learning material providing unit also suggests hackathons and contests for gaining practical experience based on the user's learning progress. For example, it introduces events for beginners and contests for honing specific skills. The learning material providing unit also provides information on hackathons and contests that can be participated in online based on the user's learning progress. For example, it introduces events and virtual contests that can be participated in remotely. In this way, by providing information on related hackathons and contests, the user is provided with opportunities to gain practical experience and improves learning efficiency.

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

[0045] The skill selection unit selects the user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. The image selection unit selects an image of the product the user wants to create. For example, the user can choose from categories such as website, mobile app, or game. The deliverable generation unit generates deliverable ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the image of the product. The learning material provision unit provides learning materials based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level. This allows the user to efficiently learn programming by providing specific deliverable ideas and learning materials based on the user's skill level and the image of the product.

[0046] The skill selection unit can analyze a user's past programming experience or learning history and automatically recommend an optimal skill level. For example, it collects data on programming courses and online learning platforms the user has previously attended and analyzes the user's learning history. For example, it recommends a skill level based on the courses completed and the certificates obtained. The skill selection unit also analyzes the code of projects the user has previously created and evaluates its quality and complexity. For example, it recommends a skill level based on the number of lines of code and the libraries used. The skill selection unit also recommends a skill level based on the user's performance in hackathons and contests they have previously participated in. For example, it determines the skill level taking into account awards received and the number of times they have participated. This improves learning efficiency by recommending an optimal skill level based on the user's past experience and history.

[0047] The skill selection unit can measure a user's programming skills through automated tests that evaluate the quality or efficiency of the code and dynamically adjust the skill level. For example, the skill selection unit may analyze code submitted by the user using an automated testing tool to evaluate the code quality and efficiency. For example, the skill level may be adjusted based on the code's error rate and execution speed. The skill selection unit may also dynamically adjust the skill level based on the accuracy rate and solution time of programming tasks solved by the user. For example, the skill level may be increased or decreased depending on the difficulty of the task. The skill selection unit may also evaluate the performance of coding challenges in which the user participates in real time and adjust the skill level. For example, the skill level may be determined based on the challenge completion rate and time required. In this way, the user's skill level can be accurately measured and dynamically adjusted by evaluating the code quality and efficiency.

[0048] The image selection unit can conduct a survey to suggest optimal creation images based on the user's interests or hobbies. For example, a survey about the user's interests and hobbies can be conducted, and optimal creation images can be suggested based on the results. For example, questions about favorite genres or themes can be included. The image selection unit can also identify interests and hobbies based on the user's past projects and activity history, and suggest optimal creation images. For example, it can analyze the genres of projects created in the past. The image selection unit can also analyze the user's social media activity and following accounts to identify interests and hobbies. For example, it can make suggestions based on technology accounts followed or communities participated in. In this way, optimal creation images can be suggested based on the user's interests and hobbies, thereby improving learning motivation.

[0049] The image selection unit can analyze data on projects created by the user in the past and suggest images of similar products. For example, it can analyze the code and design of projects created by the user in the past and suggest images of similar products. For example, it can make suggestions based on the technology stack and design patterns used. The image selection unit can also suggest images of similar products based on the deliverables of projects in which the user has participated in the past. For example, it can make suggestions by analyzing the themes and objectives of the projects. The image selection unit can also suggest images of similar products based on feedback and evaluations of projects created by the user in the past. For example, it can incorporate elements of highly rated projects. In this way, it is possible to suggest images of products that are suitable for the user by analyzing past project data.

[0050] The deliverable generation unit can automatically generate detailed blueprints or wireframes for the deliverable ideas generated by the generation AI and provide them to the user. For example, a system can be built that automatically generates detailed blueprints based on the deliverable ideas generated by the generation AI. For example, it can automatically generate website layouts and database schemas. The deliverable generation unit also automatically generates wireframes based on the deliverable ideas generated by the generation AI. For example, it can automatically generate screen transitions and UI component layouts for mobile apps. The deliverable generation unit also visually displays the overall picture of the project based on the deliverable ideas generated by the generation AI. For example, it can automatically generate flowcharts and ER diagrams and provide them to the user. In this way, automatically generating detailed blueprints and wireframes makes it easier for users to visualize the specific products they will create.

[0051] The deliverable generation unit can automatically suggest a required technology stack or library for the deliverable idea generated by the generation AI. For example, a system is built that automatically suggests a required technology stack based on the deliverable idea generated by the generation AI. For example, it proposes a programming language or framework. The deliverable generation unit also suggests required libraries and tools based on the deliverable idea generated by the generation AI. For example, it proposes a database management system or front-end library. The deliverable generation unit also automatically analyzes project dependencies based on the deliverable idea generated by the generation AI and suggests the required technology stack or library. For example, it generates a dependency graph and provides it to the user. This allows the user to efficiently create products by automatically suggesting the required technology stack or library.

[0052] The learning material providing unit can dynamically generate and provide optimal learning materials based on the user's learning history or progress. For example, a system is constructed that analyzes the user's learning history and dynamically generates optimal learning materials. For example, materials are customized based on past learning content and progress. The learning material providing unit also monitors the user's learning progress in real time and automatically provides necessary learning materials. For example, related materials are presented when working on a specific task. The learning material providing unit also develops a system that dynamically adjusts the difficulty and content of learning materials based on the user's learning history and progress. For example, materials for beginners are switched to materials for intermediate learners. This improves learning efficiency by providing optimal learning materials based on the user's learning history and progress.

[0053] The learning material providing unit can automatically generate learning materials in a format that is easy for users to understand. For example, a system can be constructed that automatically generates learning materials in video format according to the user's learning style and preferences. For example, programming procedures can be explained in video. The learning material providing unit can also automatically generate learning materials in text format that are easy for users to understand. For example, code explanations and theoretical explanations can be provided in text. The learning material providing unit can also automatically generate materials that allow users to learn interactively. For example, interactive learning materials including quizzes and coding challenges can be provided. This improves learning efficiency by providing learning materials in a format that is easy for users to understand.

[0054] The learning material providing unit can suggest related online courses or workshops based on the skill level and image of the work selected by the user. For example, a system is constructed that suggests related online courses based on the skill level and image of the work selected by the user. For example, courses related to specific technologies or tools are provided. The learning material providing unit also suggests related workshops based on the skill level and image of the work selected by the user. For example, hands-on workshops and seminars are introduced. The learning material providing unit also suggests related learning events and community activities based on the skill level and image of the work selected by the user. For example, study groups and meetups are introduced. In this way, learning efficiency is improved by suggesting related online courses and workshops based on the user's skill level and image of the work.

[0055] The learning material providing unit can share learning notes or resources created by other learners based on the skill level and image of the work selected by the user. For example, a system for sharing learning notes created by other learners based on the skill level and image of the work selected by the user is constructed. For example, an online note sharing platform is used. The learning material providing unit also shares resources created by other learners based on the skill level and image of the work selected by the user. For example, it provides code samples and tutorials. The learning material providing unit also shares documents and explanations of projects created by other learners based on the skill level and image of the work selected by the user. For example, it provides blueprints for the project and explanations of the technologies used. In this way, the user's learning is supported by sharing learning notes and resources created by other learners.

[0056] The study material providing unit can monitor the user's study progress in real time and suggest breaks or refreshment at appropriate times. For example, a system can be constructed that monitors the user's study progress in real time and suggests breaks at appropriate times. For example, a notification encouraging a break can be sent at regular intervals. The study material providing unit can also analyze the user's study progress and suggest refreshment. For example, it can suggest short exercises or stretching. The study material providing unit can also suggest refreshment if it determines that the user's concentration is declining based on the user's study progress. For example, it can suggest relaxing music or meditation. In this way, the efficiency of learning can be improved by monitoring the user's study progress and suggesting breaks or refreshment at appropriate times.

[0057] The learning material provider can have the generative AI automatically review code for tasks that users are working on and suggest areas for improvement. For example, a system can be built in which the generative AI automatically reviews code submitted by users. For example, it can evaluate the quality and efficiency of the code and suggest areas for improvement. The learning material provider also has the generative AI review code in real time for tasks that users are working on and provide immediate feedback. For example, it can detect errors and bugs and suggest ways to fix them. The learning material provider can also have the generative AI suggest areas for improvement based on best practices for code submitted by users. For example, it can suggest code refactoring and optimization. In this way, the generative AI can automatically review code and suggest areas for improvement, improving the user's learning efficiency.

[0058] The learning material providing unit can provide pair programming or group learning opportunities with other learners according to the user's learning progress. For example, a system can be built that automatically matches optimal pair programming partners based on the user's learning progress. For example, learners with similar skill levels can be paired together. The learning material providing unit also provides group learning opportunities based on the user's learning progress. For example, learners with the same goals can be grouped together. The learning material providing unit also suggests online pair programming or group learning sessions based on the user's learning progress. For example, a session can be held to tackle a specific challenge. This improves the user's learning efficiency by providing opportunities for pair programming or group learning with other learners.

[0059] The learning material providing unit can provide information on related hackathons or contests according to the user's learning progress, thereby providing opportunities for the user to gain practical experience. For example, a system can be constructed that provides information on related hackathons and contests based on the user's learning progress. For example, events related to specific technologies or themes can be introduced. The learning material providing unit can also suggest hackathons and contests for gaining practical experience based on the user's learning progress. For example, it can introduce events for beginners or contests for honing specific skills. The learning material providing unit can also provide information on hackathons and contests that can be participated in online based on the user's learning progress. For example, it can introduce events and virtual contests that can be participated in remotely. In this way, by providing information on related hackathons and contests, the user can gain opportunities for practical experience and improve learning efficiency.

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

[0061] Step 1: The skill selection section selects the user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. Step 2: In the image selection section, the user selects an image for the product they want to create. For example, they can choose from categories such as websites, mobile apps, games, etc. Step 3: The product generation unit generates product ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the image of the product. Step 4: The learning material provider provides learning materials based on the information selected by the skill selector and image selector. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level.

[0062] (Example 2) A programming learning support system according to an embodiment of the present invention is a system that automatically generates ideas for a product and provides learning materials by having a user select a programming skill and an image of a product they want to create. This allows the programming learning support system to clarify what the user should create, allowing them to concentrate on learning programming.

[0063] A programming learning support system according to an embodiment includes a skill selection unit, an image selection unit, a product generation unit, and a learning material provision unit. The skill selection unit selects a user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. The image selection unit selects an image of the product the user wants to create. For example, the user can select from categories such as websites, mobile apps, and games. The product generation unit generates product ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the product image. The learning material provision unit provides learning materials based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level. This allows the user to efficiently learn programming by providing specific product ideas and learning materials based on the user's skill level and the product image.

[0064] The skill selection unit can analyze a user's past programming experience or learning history and automatically recommend an optimal skill level. The skill selection unit, for example, collects data from programming courses and online learning platforms that the user has previously attended and analyzes the user's learning history. For example, it recommends a skill level based on the courses completed and the certificates obtained. The skill selection unit also analyzes the code of projects created by the user in the past and evaluates its quality and complexity. For example, it recommends a skill level based on the number of lines of code and the libraries used. The skill selection unit also recommends a skill level based on the user's performance in hackathons and contests that the user has previously participated in. For example, it determines the skill level taking into account awards received and the number of times the user has participated. This improves learning efficiency by recommending an optimal skill level based on the user's past experience and history.

[0065] The skill selection unit can measure a user's programming skills through automated tests that evaluate the quality or efficiency of the code and dynamically adjust the skill level. For example, the skill selection unit analyzes code submitted by the user using an automated testing tool to evaluate the quality and efficiency of the code. For example, the skill level can be adjusted based on the error rate and execution speed of the code. The skill selection unit can also dynamically adjust the skill level based on the accuracy rate and solution time of programming tasks solved by the user. For example, the skill level can be increased or decreased depending on the difficulty of the task. The skill selection unit can also evaluate the performance of coding challenges in which the user participates in real time and adjust the skill level. For example, the skill level can be determined based on the completion rate and time required for the challenge. In this way, the user's skill level can be accurately measured and dynamically adjusted by evaluating the quality and efficiency of the code.

[0066] The skill selection unit can use the emotion estimation function to evaluate the stress or excitement the user feels while programming and suggest an appropriate skill level. The skill selection unit, for example, evaluates the stress and excitement the user feels while programming through facial expression analysis and voice analysis. For example, it collects emotion data in real time using a camera or microphone. The skill selection unit also analyzes the keyboard typing speed and mouse movements of the user while programming to estimate the stress and excitement level. For example, it evaluates emotions based on changes in typing speed and click frequency. The skill selection unit also analyzes the frequency and duration of breaks the user takes while programming to estimate the stress and excitement level. For example, it evaluates emotions based on the timing and length of breaks and suggests a skill level. In this way, by evaluating the user's emotions, an optimal skill level is suggested and learning efficiency is improved.

[0067] The image selection unit can conduct a survey to suggest optimal product images based on the user's interests or hobbies. For example, the image selection unit conducts a survey about the user's interests and hobbies and suggests optimal product images based on the results. For example, the survey may include questions about the user's favorite genres or themes. The image selection unit may also identify the user's interests and hobbies based on the user's past projects and activity history, and suggest optimal product images. For example, the image selection unit may analyze the genres of projects created in the past. The image selection unit may also analyze the user's social media activity and following accounts to identify the user's interests and hobbies. For example, the image selection unit may make suggestions based on the technology accounts the user follows and the communities the user participates in. This may improve the user's motivation to learn by suggesting optimal product images based on the user's interests and hobbies.

[0068] The image selection unit can analyze data on projects created by the user in the past and suggest images of similar products. For example, the image selection unit analyzes the code and design of projects created by the user in the past and suggests images of similar products. For example, suggestions are made based on the technology stack and design patterns used. The image selection unit also suggests images of similar products based on the deliverables of projects in which the user has participated in the past. For example, suggestions are made by analyzing the themes and objectives of the projects. The image selection unit also suggests images of similar products based on feedback and evaluations of projects created by the user in the past. For example, elements of highly rated projects are incorporated. In this way, by analyzing past project data, it is possible to suggest images of products that are suitable for the user.

[0069] The image selection unit can use the emotion estimation function to identify the image of the creation that excites the user most and suggest that image. The image selection unit, for example, evaluates the level of excitement felt by the user when selecting an image of a creation through facial expression analysis and voice analysis. For example, emotion data is collected in real time using a camera or microphone. The image selection unit also analyzes the keyboard typing speed and mouse movements used by the user when selecting an image of a creation to estimate the level of excitement. For example, the emotion is evaluated based on changes in typing speed and click frequency. The image selection unit also analyzes the frequency and duration of breaks taken by the user when selecting an image of a creation to estimate the level of excitement. For example, the emotion is evaluated based on the timing and length of breaks, and the optimal image of a creation is suggested. In this way, by evaluating the user's emotion, the most exciting image of a creation is suggested, improving motivation for learning.

[0070] The deliverable generation unit can automatically generate detailed blueprints or wireframes for the deliverable ideas generated by the generation AI and provide them to the user. The deliverable generation unit, for example, builds a system that automatically generates detailed blueprints based on the deliverable ideas generated by the generation AI. For example, it automatically generates website layouts and database schemas. The deliverable generation unit also automatically generates wireframes based on the deliverable ideas generated by the generation AI. For example, it automatically generates screen transitions for mobile apps and the placement of UI components. The deliverable generation unit also visually displays the overall picture of the project based on the deliverable ideas generated by the generation AI. For example, it automatically generates flowcharts and ER diagrams and provides them to the user. In this way, automatically generating detailed blueprints and wireframes makes it easier for users to visualize the specific products they will create.

[0071] The deliverable generation unit can automatically suggest a required technology stack or library for the deliverable idea generated by the generation AI. The deliverable generation unit, for example, builds a system that automatically suggests a required technology stack based on the deliverable idea generated by the generation AI. For example, it proposes a programming language or framework. The deliverable generation unit also suggests required libraries and tools based on the deliverable idea generated by the generation AI. For example, it proposes a database management system or front-end library. The deliverable generation unit also automatically analyzes project dependencies based on the deliverable idea generated by the generation AI and suggests the required technology stack or library. For example, it generates a dependency graph and provides it to the user. This allows the user to efficiently create products by automatically suggesting the required technology stack or library.

[0072] The deliverable generation unit can use the emotion estimation function to identify the deliverable idea that excites the user most and preferentially present that idea. The deliverable generation unit, for example, evaluates the level of excitement the user feels when reviewing the deliverable idea through facial expression analysis or voice analysis. For example, emotion data is collected in real time using a camera or microphone. The deliverable generation unit also estimates the level of excitement by analyzing the keyboard typing speed and mouse movements of the user when reviewing the deliverable idea. For example, the deliverable generation unit evaluates emotions based on changes in typing speed and click frequency. The deliverable generation unit also estimates the level of excitement by analyzing the frequency and duration of breaks the user takes when reviewing the deliverable idea. For example, the deliverable generation unit evaluates emotions based on the timing and length of breaks and preferentially presents the most exciting deliverable idea. In this way, by evaluating the user's emotions, the most exciting deliverable idea is preferentially presented, improving motivation for learning.

[0073] The learning material providing unit can dynamically generate and provide optimal learning materials based on the user's learning history or progress. The learning material providing unit, for example, analyzes the user's learning history and builds a system that dynamically generates optimal learning materials. For example, materials are customized based on past learning content and progress. The learning material providing unit also monitors the user's learning progress in real time and automatically provides necessary learning materials. For example, related materials are presented when working on a specific task. The learning material providing unit also develops a system that dynamically adjusts the difficulty and content of learning materials based on the user's learning history and progress. For example, materials for beginners are switched to materials for intermediate learners. This improves learning efficiency by providing optimal learning materials based on the user's learning history and progress.

[0074] The learning material providing unit can automatically generate learning materials in a format that is easy for users to understand. For example, the learning material providing unit builds a system that automatically generates learning materials in video format according to the user's learning style and preferences. For example, it explains programming procedures in video. The learning material providing unit also automatically generates learning materials in text format that is easy for users to understand. For example, it provides code explanations and theoretical explanations in text. The learning material providing unit also automatically generates materials that allow users to learn interactively. For example, it provides interactive learning materials including quizzes and coding challenges. This improves learning efficiency by providing learning materials in a format that is easy for users to understand.

[0075] The study material providing unit can use the emotion estimation function to identify a format in which the user can study most relaxedly and provide the study material in that format. The study material providing unit, for example, evaluates the level of relaxation felt by the user when reviewing the study material through facial expression analysis and voice analysis. For example, emotion data is collected in real time using a camera or microphone. The study material providing unit also analyzes the keyboard typing speed and mouse movements of the user when reviewing the study material to estimate the level of relaxation. For example, the emotion is evaluated based on changes in typing speed and click frequency. The study material providing unit also analyzes the frequency and duration of breaks taken by the user when reviewing the study material to estimate the level of relaxation. For example, the emotion is evaluated based on the timing and length of breaks, and the study material is provided in the optimal format. In this way, by evaluating the user's emotions, study material is provided in a format that allows the user to study most relaxedly, improving learning efficiency.

[0076] The learning material providing unit can suggest related online courses or workshops based on the skill level and image of the work selected by the user. The learning material providing unit, for example, builds a system that suggests related online courses based on the skill level and image of the work selected by the user. For example, it provides courses related to specific technologies or tools. The learning material providing unit also suggests related workshops based on the skill level and image of the work selected by the user. For example, it introduces hands-on workshops and seminars. The learning material providing unit also suggests related learning events and community activities based on the skill level and image of the work selected by the user. For example, it introduces study groups and meetups. In this way, by suggesting related online courses and workshops based on the user's skill level and image of the work, learning efficiency is improved.

[0077] The learning material providing unit can share learning notes or resources created by other learners based on the skill level and image of the work selected by the user. The learning material providing unit, for example, builds a system for sharing learning notes created by other learners based on the skill level and image of the work selected by the user. For example, it uses an online note sharing platform. The learning material providing unit also shares resources created by other learners based on the skill level and image of the work selected by the user. For example, it provides code samples and tutorials. The learning material providing unit also shares documents and explanations of projects created by other learners based on the skill level and image of the work selected by the user. For example, it provides blueprints for the project and explanations of the technologies used. In this way, the user's learning is supported by sharing learning notes and resources created by other learners.

[0078] The study material providing unit can use the emotion estimation function to identify the study material that the user finds most exciting and provide that material preferentially. For example, the study material providing unit evaluates the level of excitement the user feels when reviewing the study material through facial expression analysis and voice analysis. For example, emotion data is collected in real time using a camera or microphone. The study material providing unit also analyzes the keyboard typing speed and mouse movements of the user when reviewing the study material to estimate the excitement level. For example, the emotion is evaluated based on changes in typing speed and click frequency. The study material providing unit also analyzes the frequency and duration of breaks the user takes when reviewing the study material to estimate the excitement level. For example, the emotion is evaluated based on the timing and length of breaks, and the most appropriate study material is provided preferentially. In this way, by evaluating the user's emotions, the most exciting study material is provided, improving learning efficiency.

[0079] The study material providing unit can monitor the user's study progress in real time and suggest breaks or refreshment at appropriate times. The study material providing unit, for example, builds a system that monitors the user's study progress in real time and suggests breaks at appropriate times. For example, it sends notifications encouraging breaks at regular intervals. The study material providing unit also analyzes the user's study progress and suggests refreshment. For example, it suggests short exercises or stretching. The study material providing unit also suggests refreshment if it determines that the user's concentration is declining based on the user's study progress. For example, it suggests relaxing music or meditation. In this way, the efficiency of learning is improved by monitoring the user's study progress and suggesting breaks or refreshment at appropriate times.

[0080] The learning material providing unit allows the generation AI to automatically perform code reviews on tasks that users are working on and suggest areas for improvement. The learning material providing unit, for example, builds a system in which the generation AI automatically performs code reviews on code submitted by users. For example, it evaluates the quality and efficiency of the code and suggests areas for improvement. The learning material providing unit also allows the generation AI to perform real-time code reviews on tasks that users are working on and provide immediate feedback. For example, it detects errors and bugs and suggests ways to fix them. The learning material providing unit also allows the generation AI to suggest areas for improvement based on best practices for code submitted by users. For example, it suggests code refactoring and optimization. In this way, the generation AI automatically performs code reviews and suggests areas for improvement, improving the user's learning efficiency.

[0081] The learning material providing unit can use the emotion estimation function to identify the environment or time period in which the user can best concentrate and propose a study schedule based on that information. The learning material providing unit, for example, evaluates the level of concentration the user feels while programming through facial expression analysis or voice analysis. For example, it collects emotion data in real time using a camera or microphone. The learning material providing unit also analyzes the keyboard typing speed and mouse movements of the user while programming to estimate the level of concentration. For example, it evaluates emotions based on changes in typing speed and click frequency. The learning material providing unit also analyzes the frequency and duration of breaks the user takes while programming to estimate the level of concentration. For example, it evaluates emotions based on the timing and length of breaks and proposes an optimal study schedule. In this way, by evaluating the user's emotions, the system can identify the environment and time period in which the user can best concentrate and propose a study schedule, thereby improving learning efficiency.

[0082] The learning material providing unit can provide opportunities for pair programming or group learning with other learners according to the user's learning progress. The learning material providing unit, for example, builds a system that automatically matches optimal pair programming partners based on the user's learning progress. For example, it pairs learners with similar skill levels. The learning material providing unit also provides group learning opportunities based on the user's learning progress. For example, it groups learners with the same goals. The learning material providing unit also suggests online pair programming or group learning sessions based on the user's learning progress. For example, it holds sessions to tackle specific challenges. This provides opportunities for pair programming or group learning with other learners, thereby improving the user's learning efficiency.

[0083] The learning material providing unit can provide information on related hackathons or contests according to the user's learning progress, thereby providing opportunities for the user to gain practical experience. The learning material providing unit, for example, builds a system that provides information on related hackathons and contests based on the user's learning progress. For example, it introduces events related to specific technologies or themes. The learning material providing unit also suggests hackathons and contests for gaining practical experience based on the user's learning progress. For example, it introduces events for beginners and contests for honing specific skills. The learning material providing unit also provides information on hackathons and contests that can be participated in online based on the user's learning progress. For example, it introduces events and virtual contests that can be participated in remotely. In this way, by providing information on related hackathons and contests, the user is provided with opportunities to gain practical experience and improves learning efficiency.

[0084] The learning material providing unit can use the emotion estimation function to identify the environment in which the user can most relax while studying and make suggestions for creating that environment. The learning material providing unit, for example, evaluates the level of relaxation the user feels while programming through facial expression analysis and voice analysis. For example, it collects emotion data in real time using a camera or microphone. The learning material providing unit also analyzes the keyboard typing speed and mouse movements of the user while programming to estimate the level of relaxation. For example, it evaluates emotions based on changes in typing speed and click frequency. The learning material providing unit also analyzes the frequency and duration of breaks the user takes while programming to estimate the level of relaxation. For example, it evaluates emotions based on the timing and length of breaks and suggests an optimal learning environment. In this way, by evaluating the user's emotions, the system can identify the environment in which the user can most relax while studying and make suggestions for creating that environment, thereby improving learning efficiency.

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

[0086] The skill selection unit selects the user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. The image selection unit selects an image of the product the user wants to create. For example, the user can choose from categories such as website, mobile app, or game. The deliverable generation unit generates deliverable ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the image of the product. The learning material provision unit provides learning materials based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level. This allows the user to efficiently learn programming by providing specific deliverable ideas and learning materials based on the user's skill level and the image of the product.

[0087] The skill selection unit can analyze a user's past programming experience or learning history and automatically recommend an optimal skill level. For example, it collects data on programming courses and online learning platforms the user has previously attended and analyzes the user's learning history. For example, it recommends a skill level based on the courses completed and the certificates obtained. The skill selection unit also analyzes the code of projects the user has previously created and evaluates its quality and complexity. For example, it recommends a skill level based on the number of lines of code and the libraries used. The skill selection unit also recommends a skill level based on the user's performance in hackathons and contests they have previously participated in. For example, it determines the skill level taking into account awards received and the number of times they have participated. This improves learning efficiency by recommending an optimal skill level based on the user's past experience and history.

[0088] The skill selection unit can measure a user's programming skills through automated tests that evaluate the quality or efficiency of the code and dynamically adjust the skill level. For example, the skill selection unit may analyze code submitted by the user using an automated testing tool to evaluate the code quality and efficiency. For example, the skill level may be adjusted based on the code's error rate and execution speed. The skill selection unit may also dynamically adjust the skill level based on the accuracy rate and solution time of programming tasks solved by the user. For example, the skill level may be increased or decreased depending on the difficulty of the task. The skill selection unit may also evaluate the performance of coding challenges in which the user participates in real time and adjust the skill level. For example, the skill level may be determined based on the challenge completion rate and time required. In this way, the user's skill level can be accurately measured and dynamically adjusted by evaluating the code quality and efficiency.

[0089] The skill selection unit can use the emotion estimation function to evaluate the stress or excitement a user feels while programming and suggest an appropriate skill level. For example, the stress and excitement a user feels while programming can be evaluated through facial expression analysis or voice analysis. For example, emotion data can be collected in real time using a camera or microphone. The skill selection unit can also analyze the keyboard typing speed and mouse movements of the user while programming to estimate the stress and excitement level. For example, emotions can be evaluated based on changes in typing speed and click frequency. The skill selection unit can also analyze the frequency and duration of breaks the user takes while programming to estimate the stress and excitement level. For example, emotions can be evaluated based on the timing and length of breaks and a skill level can be suggested. In this way, by evaluating the user's emotions, an optimal skill level can be suggested, improving learning efficiency.

[0090] The image selection unit can conduct a survey to suggest optimal creation images based on the user's interests or hobbies. For example, a survey about the user's interests and hobbies can be conducted, and optimal creation images can be suggested based on the results. For example, questions about favorite genres or themes can be included. The image selection unit can also identify interests and hobbies based on the user's past projects and activity history, and suggest optimal creation images. For example, it can analyze the genres of projects created in the past. The image selection unit can also analyze the user's social media activity and following accounts to identify interests and hobbies. For example, it can make suggestions based on technology accounts followed or communities participated in. In this way, optimal creation images can be suggested based on the user's interests and hobbies, thereby improving learning motivation.

[0091] The image selection unit can analyze data on projects created by the user in the past and suggest images of similar products. For example, it can analyze the code and design of projects created by the user in the past and suggest images of similar products. For example, it can make suggestions based on the technology stack and design patterns used. The image selection unit can also suggest images of similar products based on the deliverables of projects in which the user has participated in the past. For example, it can make suggestions by analyzing the themes and objectives of the projects. The image selection unit can also suggest images of similar products based on feedback and evaluations of projects created by the user in the past. For example, it can incorporate elements of highly rated projects. In this way, it is possible to suggest images of products that are suitable for the user by analyzing past project data.

[0092] The image selection unit can use the emotion estimation function to identify the image of the creation that excites the user most and suggest that image. For example, the level of excitement felt by the user when selecting an image of the creation is evaluated through facial expression analysis and voice analysis. For example, emotion data is collected in real time using a camera or microphone. The image selection unit also analyzes the keyboard typing speed and mouse movements used by the user when selecting an image of the creation to estimate the level of excitement. For example, emotion is evaluated based on changes in typing speed and click frequency. The image selection unit also analyzes the frequency and duration of breaks taken by the user when selecting an image of the creation to estimate the level of excitement. For example, emotion is evaluated based on the timing and length of breaks, and the unit suggests the most exciting image of the creation. In this way, by evaluating the user's emotions, the unit suggests the most exciting image of the creation and improves motivation for learning.

[0093] The deliverable generation unit can automatically generate detailed blueprints or wireframes for the deliverable ideas generated by the generation AI and provide them to the user. For example, a system can be built that automatically generates detailed blueprints based on the deliverable ideas generated by the generation AI. For example, it can automatically generate website layouts and database schemas. The deliverable generation unit also automatically generates wireframes based on the deliverable ideas generated by the generation AI. For example, it can automatically generate screen transitions and UI component layouts for mobile apps. The deliverable generation unit also visually displays the overall picture of the project based on the deliverable ideas generated by the generation AI. For example, it can automatically generate flowcharts and ER diagrams and provide them to the user. In this way, automatically generating detailed blueprints and wireframes makes it easier for users to visualize the specific products they will create.

[0094] The deliverable generation unit can automatically suggest a required technology stack or library for the deliverable idea generated by the generation AI. For example, a system is built that automatically suggests a required technology stack based on the deliverable idea generated by the generation AI. For example, it proposes a programming language or framework. The deliverable generation unit also suggests required libraries and tools based on the deliverable idea generated by the generation AI. For example, it proposes a database management system or front-end library. The deliverable generation unit also automatically analyzes project dependencies based on the deliverable idea generated by the generation AI and suggests the required technology stack or library. For example, it generates a dependency graph and provides it to the user. This allows the user to efficiently create products by automatically suggesting the required technology stack or library.

[0095] The deliverable generation unit can use the emotion estimation function to identify the deliverable idea that excites the user most and preferentially present that idea. For example, the level of excitement the user feels when reviewing the deliverable idea is evaluated through facial expression analysis and voice analysis. For example, emotion data is collected in real time using a camera or microphone. The deliverable generation unit also analyzes the keyboard typing speed and mouse movements of the user when reviewing the deliverable idea to estimate the level of excitement. For example, the emotion is evaluated based on changes in typing speed and click frequency. The deliverable generation unit also analyzes the frequency and duration of breaks the user takes when reviewing the deliverable idea to estimate the level of excitement. For example, the emotion is evaluated based on the timing and length of breaks, and the most suitable deliverable idea is preferentially presented. In this way, by evaluating the user's emotion, the most exciting deliverable idea is preferentially presented, improving motivation for learning.

[0096] The learning material providing unit can dynamically generate and provide optimal learning materials based on the user's learning history or progress. For example, a system is constructed that analyzes the user's learning history and dynamically generates optimal learning materials. For example, materials are customized based on past learning content and progress. The learning material providing unit also monitors the user's learning progress in real time and automatically provides necessary learning materials. For example, related materials are presented when working on a specific task. The learning material providing unit also develops a system that dynamically adjusts the difficulty and content of learning materials based on the user's learning history and progress. For example, materials for beginners are switched to materials for intermediate learners. This improves learning efficiency by providing optimal learning materials based on the user's learning history and progress.

[0097] The learning material providing unit can automatically generate learning materials in a format that is easy for users to understand. For example, a system can be constructed that automatically generates learning materials in video format according to the user's learning style and preferences. For example, programming procedures can be explained in video. The learning material providing unit can also automatically generate learning materials in text format that are easy for users to understand. For example, code explanations and theoretical explanations can be provided in text. The learning material providing unit can also automatically generate materials that allow users to learn interactively. For example, interactive learning materials including quizzes and coding challenges can be provided. This improves learning efficiency by providing learning materials in a format that is easy for users to understand.

[0098] The study material providing unit can use the emotion estimation function to identify a format in which the user can study most relaxedly and provide the study material in that format. For example, the degree of relaxation felt by the user when reviewing the study material can be evaluated through facial expression analysis and voice analysis. For example, emotion data can be collected in real time using a camera or microphone. The study material providing unit can also analyze the keyboard typing speed and mouse movements of the user when reviewing the study material to estimate the degree of relaxation. For example, the emotion can be evaluated based on changes in typing speed and click frequency. The study material providing unit can also analyze the frequency and duration of breaks the user takes when reviewing the study material to estimate the degree of relaxation. For example, the emotion can be evaluated based on the timing and length of breaks, and the study material can be provided in the optimal format. In this way, by evaluating the user's emotions, study material can be provided in a format that allows the user to study most relaxedly, improving learning efficiency.

[0099] The learning material providing unit can suggest related online courses or workshops based on the skill level and image of the work selected by the user. For example, a system is constructed that suggests related online courses based on the skill level and image of the work selected by the user. For example, courses related to specific technologies or tools are provided. The learning material providing unit also suggests related workshops based on the skill level and image of the work selected by the user. For example, hands-on workshops and seminars are introduced. The learning material providing unit also suggests related learning events and community activities based on the skill level and image of the work selected by the user. For example, study groups and meetups are introduced. In this way, learning efficiency is improved by suggesting related online courses and workshops based on the user's skill level and image of the work.

[0100] The learning material providing unit can share learning notes or resources created by other learners based on the skill level and image of the work selected by the user. For example, a system for sharing learning notes created by other learners based on the skill level and image of the work selected by the user is constructed. For example, an online note sharing platform is used. The learning material providing unit also shares resources created by other learners based on the skill level and image of the work selected by the user. For example, it provides code samples and tutorials. The learning material providing unit also shares documents and explanations of projects created by other learners based on the skill level and image of the work selected by the user. For example, it provides blueprints for the project and explanations of the technologies used. In this way, the user's learning is supported by sharing learning notes and resources created by other learners.

[0101] The study material providing unit can use the emotion estimation function to identify the study materials that the user finds most exciting and provide those materials preferentially. For example, the level of excitement felt by the user when reviewing the study materials can be evaluated through facial expression analysis and voice analysis. For example, emotion data can be collected in real time using a camera or microphone. The study material providing unit can also analyze the keyboard typing speed and mouse movements used by the user when reviewing the study materials to estimate the level of excitement. For example, the emotion can be evaluated based on changes in typing speed and click frequency. The study material providing unit can also analyze the frequency and duration of breaks taken by the user when reviewing the study materials to estimate the level of excitement. For example, the emotion can be evaluated based on the timing and length of breaks, and the most appropriate study materials can be provided preferentially. In this way, by evaluating the user's emotions, the most exciting study materials can be provided, improving learning efficiency.

[0102] The study material providing unit can monitor the user's study progress in real time and suggest breaks or refreshment at appropriate times. For example, a system can be constructed that monitors the user's study progress in real time and suggests breaks at appropriate times. For example, a notification encouraging a break can be sent at regular intervals. The study material providing unit can also analyze the user's study progress and suggest refreshment. For example, it can suggest short exercises or stretching. The study material providing unit can also suggest refreshment if it determines that the user's concentration is declining based on the user's study progress. For example, it can suggest relaxing music or meditation. In this way, the efficiency of learning can be improved by monitoring the user's study progress and suggesting breaks or refreshment at appropriate times.

[0103] The learning material provider can have the generative AI automatically review code for tasks that users are working on and suggest areas for improvement. For example, a system can be built in which the generative AI automatically reviews code submitted by users. For example, it can evaluate the quality and efficiency of the code and suggest areas for improvement. The learning material provider also has the generative AI review code in real time for tasks that users are working on and provide immediate feedback. For example, it can detect errors and bugs and suggest ways to fix them. The learning material provider can also have the generative AI suggest areas for improvement based on best practices for code submitted by users. For example, it can suggest code refactoring and optimization. In this way, the generative AI can automatically review code and suggest areas for improvement, improving the user's learning efficiency.

[0104] The learning material providing unit can use the emotion estimation function to identify the environment or time period in which the user is most able to concentrate and propose a study schedule based on that information. For example, the level of concentration the user feels while programming can be evaluated through facial expression analysis and voice analysis. For example, emotion data can be collected in real time using a camera or microphone. The learning material providing unit can also analyze the keyboard typing speed and mouse movements of the user while programming to estimate the level of concentration. For example, emotions can be evaluated based on changes in typing speed and click frequency. The learning material providing unit can also analyze the frequency and duration of breaks the user takes while programming to estimate the level of concentration. For example, emotions can be evaluated based on the timing and length of breaks and an optimal study schedule can be proposed. In this way, the system can identify the environment and time period in which the user is most able to concentrate by evaluating the user's emotions and propose a study schedule, thereby improving learning efficiency.

[0105] The learning material providing unit can provide pair programming or group learning opportunities with other learners according to the user's learning progress. For example, a system can be built that automatically matches optimal pair programming partners based on the user's learning progress. For example, learners with similar skill levels can be paired together. The learning material providing unit also provides group learning opportunities based on the user's learning progress. For example, learners with the same goals can be grouped together. The learning material providing unit also suggests online pair programming or group learning sessions based on the user's learning progress. For example, a session can be held to tackle a specific challenge. This improves the user's learning efficiency by providing opportunities for pair programming or group learning with other learners.

[0106] The learning material providing unit can provide information on related hackathons or contests according to the user's learning progress, thereby providing opportunities for the user to gain practical experience. For example, a system can be constructed that provides information on related hackathons and contests based on the user's learning progress. For example, events related to specific technologies or themes can be introduced. The learning material providing unit can also suggest hackathons and contests for gaining practical experience based on the user's learning progress. For example, it can introduce events for beginners or contests for honing specific skills. The learning material providing unit can also provide information on hackathons and contests that can be participated in online based on the user's learning progress. For example, it can introduce events and virtual contests that can be participated in remotely. In this way, by providing information on related hackathons and contests, the user can gain opportunities for practical experience and improve learning efficiency.

[0107] The learning material providing unit can use the emotion estimation function to identify the environment in which the user can most relax while studying and make suggestions for creating that environment. For example, the learning material providing unit evaluates the level of relaxation the user feels while programming through facial expression analysis and voice analysis. For example, emotional data is collected in real time using a camera or microphone. The learning material providing unit also analyzes the keyboard typing speed and mouse movements of the user while programming to estimate the level of relaxation. For example, emotions are evaluated based on changes in typing speed and click frequency. The learning material providing unit also analyzes the frequency and duration of breaks the user takes while programming to estimate the level of relaxation. For example, emotions are evaluated based on the timing and length of breaks and an optimal learning environment is suggested. In this way, the system can identify the most relaxing environment for studying by evaluating the user's emotions and make suggestions for creating that environment, thereby improving learning efficiency.

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

[0109] Step 1: The skill selection section selects the user's programming skill. For example, the user can select a level such as beginner, intermediate, or advanced. Step 2: In the image selection section, the user selects an image for the product they want to create. For example, they can choose from categories such as websites, mobile apps, games, etc. Step 3: The product generation unit generates product ideas based on the information selected by the skill selection unit and the image selection unit. For example, the generation AI generates specific project ideas based on the user's skill level and the image of the product. Step 4: The learning material provider provides learning materials based on the information selected by the skill selector and image selector. For example, the generation AI provides learning materials such as tips, hints, and explanations according to the user's skill level.

[0110] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0111] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> Examples of generative AIs include the data generation model 58, such as a neural network model (e.g., a neural network model), and a neural network model (e.g., a neural network model). The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating speech, text data indicating text, and image data indicating an image is also input to the data generation model 58. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specification processing unit 290 performs the above-mentioned specification processing using the data generation model 58. The data generation model 58 may be a fine-tuned model so as to output an inference result from a prompt that does not include an instruction. In this case, the data generation model 58 can output an inference result from a prompt that does not include an instruction. The data processing device 12 and the like include multiple types of data generation models 58, and the data generation model 58 includes AIs other than the generative AI. The AI ​​other than the generative AI may be, for example, linear regression, logistic regression, decision tree, random forest, support vector machine (SVM), k-means clustering, convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. The AI ​​may also be an AI agent. When the processes of each of the above-mentioned parts are performed by AI, the processes may be performed in part or entirely by AI, but are not limited to these examples. The processes performed by AI, including the generative AI, may be replaced with rule-based processes.

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

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

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

[0115] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

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

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

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

[0119] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

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

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

[0122] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

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

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

[0125] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

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

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

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

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

[0130] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

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

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

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

[0134] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

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

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

[0137] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0138] In the headset type terminal 314, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. Note that the headset type terminal 314 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.

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

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

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

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

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

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

[0145] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN and / or a LAN.

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

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

[0148] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS image sensor or a CCD image sensor, and captures images of the user's surroundings (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0149] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0150] The control object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

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

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

[0153] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate a user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotion, including estimation and prediction of the user's emotion, but is not limited to these examples. Furthermore, the estimation and prediction of emotion also includes, for example, emotion analysis.

[0154] In the robot 414, the specific processing is performed by the processor 46. A specific processing program 60 is stored in the storage 50. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as the control unit 46A in accordance with the specific processing program 60 executed on the RAM 48. The robot 414 has a data generation model and an emotion identification model similar to the data generation model 58 and the emotion identification model 59, and can also perform processing similar to that of the specific processing unit 290 using these models.

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

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

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

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

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

[0160] FIG. 9 illustrates an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and behaviors arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion encompasses both emotions and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

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

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

[0163] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. Emotions can also be created for robots, cars, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is expressed, and when they approach the ideal, a state of pleasure is expressed. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on speech emotion recognition and brain physiological signal analysis systems for emotions, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the area called "reaction," where sensation is dominant. The right half of the emotion map lists emotions belonging to the area called "situation," where situational awareness is dominant.

[0164] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

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

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

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

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

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

[0170] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. A processor also includes a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

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

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

[0173] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

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

[0175] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

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

[0177] 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 selection unit for selecting a programming skill of a user; an image selection section for selecting an image of the product that the user wants to create; a product creation unit that creates ideas for products based on the information selected by the skill selection unit and the image selection unit; a learning material providing unit that provides learning materials based on the information selected by the skill selecting unit and the image selecting unit. A system characterized by:

2. The skill selection unit Analyze the user's past programming experience or learning history and automatically recommend the optimal skill level The system of claim 1 .

3. The skill selection unit Measuring the user's programming skills through automated tests that evaluate code quality or efficiency and dynamically adjusting skill levels The system of claim 1 .

4. The skill selection unit Evaluate the user's level of stress or excitement about programming and suggest an appropriate skill level The system of claim 1 .

5. The image selection unit Conducting a survey to suggest the most suitable product image based on the user's interests or hobbies The system of claim 1 .

6. The image selection unit Analyzes data on projects the user has created in the past and suggests images of similar projects The system of claim 1 .

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A