system

The system efficiently recommends career plans and new skills by combining user skill data with talent data, vectorizing it using TF-IDF, and calculating cosine similarity, addressing the inefficiencies of manual career planning and skill identification.

JP2026038144APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024141479
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Conventional career planning methods require users to manually analyze vast amounts of information, making it difficult to efficiently develop skills and create career plans, and they lack systems that can clearly identify skills lacking based on user input.

Method used

A system that inputs user skill data, combines it with existing talent data, vectorizes the combined data using TF-IDF, calculates similarity with cosine similarity, identifies the most suitable occupation, and recommends necessary skills using a server with high-performance computing capabilities and machine learning libraries.

Benefits of technology

Enables users to effectively design career plans and acquire appropriate skills by identifying optimal occupations and missing skills, providing specific educational paths and facilitating quick skill acquisition through electronic payment services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026038144000001_ABST
    Figure 2026038144000001_ABST
Patent Text Reader

Abstract

Provide a system. A means for inputting user skill data; means for combining said user's skill data with existing talent data; a means for vectorizing the combined skill data; A means for calculating a similarity between the skill data of the user and the skill data of existing talent data; means for identifying a most suitable occupation for the user based on the similarity; The system includes a means for identifying skills that a user lacks from the skill set required for the identified occupation.
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] The present invention relates to a system that recommends optimal career plans and new skills to develop based on a user's skill data. Conventional methods require users to analyze vast amounts of information to determine their next career steps, making it difficult to efficiently develop skills and create career plans. Furthermore, these methods generally rely on manual work, requiring time and effort, placing a significant burden on users. The present invention aims to solve these problems by providing a system that automatically recommends optimal career plans and new skill sets based on a user's skill data. [Means for solving the problem]

[0005] The present invention provides a system having the following configuration: a means for inputting user skill data, a means for combining the user skill data with existing talent data, a means for vectorizing the combined skill data, a means for calculating the similarity between the user skill data and the skill data of the existing talent data, a means for identifying the occupation most suitable for the user based on the similarity, and a means for identifying skills lacking in the user from the skill set required for the identified occupation. The present invention also provides a system according to claim 1 that includes a means for using a TF-IDF vectorizer as the means for vectorizing the skill data, and a means for using cosine similarity as the means for calculating the similarity. This allows users to effectively design their own career plans and efficiently acquire appropriate skills.

[0006] "User" refers to an individual who uses the system to input their own skill data and receive recommendations for career plans and new skill sets.

[0007] "Skill data" refers to information about specific skills, knowledge, or abilities, typically expressed in the form of a comma-separated list.

[0008] "Talent data" refers to a dataset that contains a list of required skills associated with a particular job or role.

[0009] "Merge" refers to the act of combining a user's skill data with existing talent data into a single dataset.

[0010] "Vectorization" refers to the process of converting skill data into numerical vectors, which then allow for digital processing and similarity calculations.

[0011] A "TF-IDF vectorizer" is a method for quantifying the importance of words in a document, and is a tool used particularly in information retrieval and text mining.

[0012] "Cosine similarity" is a method that calculates the angle between two vectors and expresses the similarity in the range of 0 to 1.

[0013] "Similarity" is a measure of how similar two skill sets are.

[0014] "Identifying a job" refers to the operation of selecting the job that best suits the user's skill set.

[0015] "Missing skills" refer to skills that are required for the recommended job but that the user does not currently possess. [Brief explanation of the drawings]

[0016] [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. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

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

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

[0019] 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, a 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), and an APU (Accelerated Processing Unit).

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

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

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

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

[0024] [First embodiment]

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

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

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

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

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

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

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

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

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

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

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

[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0037] The present invention relates to a system for recommending an optimal career plan or a new skill set based on a user's skill data. An embodiment of this system will be specifically described below.

[0038] System Overview

[0039] The system of the present invention allows users to input their own skill data and recommends the most suitable occupation and new skill set based on that data. The system is composed of the following main components:

[0040] User skill data input method

[0041] How to combine with existing talent data

[0042] A means of vectorizing skill data

[0043] A method for calculating similarity between user and talent data

[0044] A means of identifying the most suitable occupation

[0045] How to identify skill gaps

[0046] System Operation

[0047] 1. Enter user skill data:

[0048] Users enter their skills in a comma-separated format, such as "Python, Data Visualization."

[0049] 2. Combination with Talent Data:

[0050] The server combines the user's skill data with existing talent data, which contains a list of skills required for each job.

[0051] 3. Vectorizing Skill Data:

[0052] The server vectorizes the combined skill data using a TF-IDF vectorizer, which converts the string data into a numeric vector, making it easier to calculate similarity.

[0053] 4. Similarity calculation:

[0054] The server calculates the cosine similarity between the user's skill data and the skill data of the existing talent data, thereby identifying the occupations that most closely match the user's skill set.

[0055] 5. Occupation Identification:

[0056] The server identifies the occupation with the highest cosine similarity and obtains the skill set required for that occupation.

[0057] 6. Identify skills gaps:

[0058] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0059] Specific examples

[0060] Below is a concrete example of a user using the system.

[0061] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0062] 2. The server adds this skill set to the existing talent data to generate a full skill list.

[0063] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0064] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0065] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0066] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0067] In this way, users can effectively improve their skills by receiving specific career plans and new skill sets recommended by the system, allowing users to quickly and effectively plan their next career steps.

[0068] The processing flow will be explained below.

[0069] Step 1:

[0070] The user enters the skills they possess into the terminal, for example, "Python, Data Visualization" in a comma-separated format.

[0071] Step 2:

[0072] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0073] Step 3:

[0074] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0075] Step 4:

[0076] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[0077] Step 5:

[0078] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[0079] Step 6:

[0080] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[0081] Step 7:

[0082] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[0083] Step 8:

[0084] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[0085] Step 9:

[0086] The server returns the identified occupations and skill shortage list to the user, who can then receive recommendations on the next skills to learn and suitable occupations.

[0087] Step 10:

[0088] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[0089] Example 1

[0090] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0091] Previous career planning recommendation systems struggled to effectively utilize users' skill data to recommend optimal occupations and new skill sets. Furthermore, there was a lack of systems that could clearly identify skills that a user lacks based on their own skills input.

[0092] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0093] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing candidate data, means for converting the combined skill data into a numerical vector, means for calculating the similarity between the user skill data and the skill data of the existing candidate data, means for identifying an occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from a set of skills required for the identified occupation, and means for recommending the identified lacking skills to the user. This makes it possible to recommend an optimal occupation based on the user's skill data and to clearly identify and present lacking skills to the user.

[0094] "User skill data" is data that specifically represents the skills and knowledge that a user possesses.

[0095] "Existing candidate data" is data in a database that holds the required skill set for a job or role.

[0096] The "means for converting into a numerical vector" refers to a method or tool for converting skill data input as a character string into a numerical vector format.

[0097] A "means for calculating similarity" is a calculation method or algorithm used to measure the similarity between a user's skill data and existing candidate data.

[0098] A "means for identifying an optimal occupation" is a method or process for selecting an occupation that best suits a user's skill set based on the calculated similarity.

[0099] A "means for identifying missing skills" is a method or algorithm for identifying skills that a user does not have acquired from the skill set required for the identified occupation.

[0100] The "means for recommending skills that are lacking to the user" refers to a mechanism or method for presenting the identified skills that are lacking to the user and informing the user that they are new skills that should be learned.

[0101] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. The system of the present invention uses the following main components to allow a user to input their own skills and recommend optimal occupations and new skill sets based on that data:

[0102] Hardware and software used

[0103] The following hardware and software are used to implement the system of the present invention.

[0104] Hardware:

[0105] Server (with high-performance computing capabilities)

[0106] Terminals (devices through which users provide input data)

[0107] software:

[0108] Database management systems (RDBMS, etc.)

[0109] Server-side programming languages ​​(such as Python)

[0110] Machine learning libraries (e.g. sklearn)

[0111] Web server software (Apache (registered trademark), etc.)

[0112] Program processing

[0113] 1. Enter user skill data:

[0114] Users access the system's webpage using their devices and enter their skills in a comma-separated format into an input form, such as "Python, Data Visualization." After input, the data is sent to the server.

[0115] 2. Combination with Talent Data:

[0116] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0117] 3. Vectorizing Skill Data:

[0118] The server converts the combined skill data into a numerical vector using a TF-IDF vectorizer. This operation allows the skill data to be represented as a numerical vector, enabling similarity calculation in the next step. Specifically, it uses the fit_transform() function from the Python "sklearn" library.

[0119] 4. Similarity calculation:

[0120] The server calculates the cosine similarity based on the vectorized skill data. This identifies the occupation that is closest to the user's skill set. The cosine similarity is calculated using the cosine_similarity function in "sklearn".

[0121] 5. Occupation Identification:

[0122] The server identifies the occupation with the highest cosine similarity, obtains the skill set required for that occupation, and compares it with the user's skill set to present the optimal career plan.

[0123] 6. Identifying and recommending skills gaps:

[0124] The server identifies skills that are lacking from the set of skills required for the identified occupation, excluding skills that the user already possesses. For example, if "Data Scientist" is identified, the server will exclude "Python, Machine Learning, Data Analysis," which the user already possesses, from the required skills "Python, Machine Learning, Data Analysis," and identify "Machine Learning, Data Analysis" as skills that are lacking. The identified lacking skills are recommended to the user and presented as new skills to learn.

[0125] Specific examples

[0126] Below is a concrete example of a user using the system.

[0127] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0128] 2. The server adds this skill set to the existing candidate data to generate a full skills list.

[0129] 3. The server vectorizes the entire skill list using sklearn's TF-IDF vectorizer.

[0130] 4. The server calculates the cosine similarity between the user's skill set and the candidate data.

[0131] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0132] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0133] Prompt Sentence Examples

[0134] You can test the system by inputting the following prompts into the generative AI model:

[0135] "Enter 'Python, Data Visualization' as the user skill data. Please recommend the most suitable occupation and skills that are lacking."

[0136] The prompt allows users to provide their skills to the system and have it recommend the best career path and new skill sets.

[0137] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0138] Step 1:

[0139] Entering User Skills Data

[0140] Users access the system's webpage using their devices and enter their skills in a comma-separated format. For example, "Python, Data Visualization." After entering the information, they click the "Submit" button and the skill data is sent to the server.

[0141] Input: User-entered skill data (e.g., "Python, Data Visualization")

[0142] Output: Skill data sent to the server

[0143] Step 2:

[0144] Combining with talent data

[0145] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0146] Input: User skill data and existing candidate data

[0147] Output: Combined skill data (full skill list)

[0148] Step 3:

[0149] Vectorization of skills data

[0150] The server uses a TF-IDF vectorizer to vectorize the combined skill data using the Python "sklearn" library, specifically converting the combined skill data into a numeric vector and creating a vector representation of the skill data.

[0151] Input: Combined skill data (full skill list)

[0152] Output: Vectorized skill data (numeric vector)

[0153] Step 4:

[0154] Similarity calculation

[0155] The server calculates the cosine similarity based on the vectorized skill data, which clarifies the similarity between the user skill set and the existing candidate data set. Specifically, it uses the cosine_similarity function in sklearn.

[0156] Input: Vectorized skill data (numeric vector)

[0157] Output: Similarity matrix

[0158] Step 5:

[0159] Identifying occupations

[0160] The server identifies the occupation that is closest to the user skill set based on the similarity matrix, obtains the required skill set from the identified occupation, and presents it to the user.

[0161] Input: Similarity matrix

[0162] Output: Best-fit occupations and required skill sets

[0163] Step 6:

[0164] Identifying and recommending skills gaps

[0165] The server identifies skills that are lacking from the required skill set for the identified occupation, excluding skills that the user already possesses. For example, if a user has "Python, Data Visualization," "Machine Learning, Data Analysis" will be identified as skills that are lacking. The identified skills that are lacking are recommended to the user and presented as new skills to learn.

[0166] Input: Optimal occupation and user skill set

[0167] Output: List of skills shortages

[0168] (Application example 1)

[0169] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0170] While conventional career guidance systems can recommend suitable occupations based on a user's skill data, they have difficulty providing specific plans and educational methods for users to effectively acquire the necessary skills. Furthermore, they lack connectivity with electronic payment services, which can hinder smooth skill acquisition, as users have no way to quickly pay for the costs of improving their skills.

[0171] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0172] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying the occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from the skill set required for the identified occupation, and means for recommending online educational programs to compensate for the lacking skills. This allows users to obtain a specific educational plan to quickly and effectively acquire the skills necessary for their careers, and allows them to smoothly pay for their education costs in cooperation with an electronic payment service.

[0173] "User skill data" is information that represents the abilities and knowledge that a user possesses.

[0174] "Talent Data" is a database that compiles information on the skills and experience required in various occupations.

[0175] "Combining" refers to the process of combining user skill data and talent data into a single data set.

[0176] "Vectorization" is the process of converting string data into numeric vectors, which allows for quantitative comparison of the data.

[0177] "Similarity calculation" is the process of quantitatively assessing the degree of similarity or relevance between two data sets.

[0178] "Occupation identification" is the process of selecting the occupation that best matches the user skill data.

[0179] "Identifying skills deficiencies" is the process of extracting skills that a user lacks from the skill set required for the job the user is aiming for.

[0180] An "online educational program" is an educational course or training program delivered via the Internet.

[0181] "Recommendation" is the process of suggesting specific educational programs or learning methods to users.

[0182] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Specifically, the system recommends appropriate occupations and educational programs to the user through the following steps:

[0183] First, the user inputs their skills from their device. The input skill data is then combined with existing talent data by the server. Talent data is a database that compiles the skills and experience required for various occupations. The server then vectorizes this combined data using a TF-IDF vectorizer. Vectorization converts character string data into numerical vectors, enabling quantitative comparison of the data.

[0184] Next, the server calculates the similarity between the user's skill data and the skill data in the talent data using cosine similarity. This calculation allows the server to identify the occupation that is most similar to the user's skill set. The server then obtains the required skill set for the identified occupation, and then excludes the skills the user already possesses to identify the skills that the user is lacking.

[0185] Furthermore, the server recommends online educational programs to fill in any missing skills, providing users with a specific educational plan to quickly and effectively acquire the skills they need for their careers.

[0186] The server also works with an electronic payment service to allow users to quickly pay for the recommended online educational programs, allowing users to smoothly improve their skills.

[0187] Hardware and software used

[0188] Hardware: Smartphones, tablets, PCs

[0189] Software: Python, scikit-learn, TfidfVectorizer, cosine_similarity

[0190] Examples and prompts

[0191] For example, if User A inputs the skills "Java (registered trademark), SQL, Web Development," the server checks the talent database and determines that "Software Engineer" is the most suitable, and identifies "Cloud Computing, System Design" as the missing skills. In this case, the following prompt sentence is used:

[0192] Example prompt sentence:

[0193] Enter your skills below: "Java, SQL, Web Development"

[0194] In addition, users can easily take recommended online educational programs to improve their skills using their smartphones and quickly pay for them through electronic payment services.

[0195] In this way, users can get a clear career plan and concrete steps to acquire skills, which will help them advance their careers.

[0196] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0197] Step 1:

[0198] The user uses a terminal to input their skills, and the input skill data is sent to the server in a format such as "Java, SQL, Web Development."

[0199] Step 2:

[0200] The server combines the user's skill data with existing talent data. The talent data is a database of skills and experience required for various occupations. The combined dataset includes the user's skill data and the required skill data for each occupation.

[0201] Step 3:

[0202] The server vectorizes the combined skill data. Specifically, it uses a TF-IDF vectorizer to convert the string data into a numeric vector. This conversion enables quantitative comparison of the data. The input is the combined skill data, and the output is the vectorized data.

[0203] Step 4:

[0204] The server calculates the similarity between the vectorized user skill data and the skill data in the talent data. It uses cosine similarity to identify the occupations that are most similar to the user's skill set. The input is the vectorized data, and the output is the occupations with the highest similarity.

[0205] Step 5:

[0206] The server identifies the most suitable occupation for the user based on the similarity score. The required skill set for the identified occupation is obtained. The input is the calculated similarity score, and the output is the identified occupation and its required skill set.

[0207] Step 6:

[0208] The server excludes the skills the user already possesses from the skill set required for the identified occupation and identifies the skills that are lacking. The input is the user's skill data and the skill set for the identified occupation, and the output is the skills that are lacking.

[0209] Step 7:

[0210] The server recommends online educational programs to fill in the gaps in skills. Using a recommendation algorithm, it proposes optimal training programs and courses based on the user's gaps in skills. The input is the gaps in skills, and the output is the recommended online educational programs.

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

[0212] The present invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data, and furthermore, by combining it with an emotion engine that recognizes the user's emotions, it realizes more personalized recommendations. An example of this system is described below in detail.

[0213] System configuration

[0214] The system consists of the following main components:

[0215] User skill data input method

[0216] How to combine with existing talent data

[0217] A method for vectorizing skill data (using TF-IDF vectorizer)

[0218] Similarity calculation method between user and talent data (using cosine similarity)

[0219] A means of identifying the most suitable occupation

[0220] How to identify skill gaps

[0221] Emotion Engine

[0222] System Operation

[0223] 1. Enter user skill data:

[0224] The user enters the skills they have into the terminal. For example, enter skills in a comma-separated format such as "Python, Data Visualization."

[0225] 2. Combination with Talent Data:

[0226] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0227] 3. Vectorizing Skill Data:

[0228] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0229] 4. Similarity calculation:

[0230] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data, and calculates the similarity between each data using cosine similarity.

[0231] 5. Occupation Identification:

[0232] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[0233] 6. Identify skills gaps:

[0234] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0235] 7. Emotion Recognition with Emotion Engine:

[0236] The server uses an emotion engine to recognize the user's emotions based on their input, usage history, and interactions. It analyzes the user's emotions and determines their current state of mind and stress level.

[0237] 8. Adjustment of recommendation content:

[0238] The server adjusts the recommendations based on the analyzed user's emotions. For example, if a user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills, taking into account the user's emotional state.

[0239] Specific examples

[0240] Below is a concrete example of a user using the system.

[0241] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0242] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[0243] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0244] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0245] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0246] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0247] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[0248] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[0249] In this way, by combining the emotion engine, we can provide a flexible and personalized career plan that responds to the user's emotional state, allowing users to confidently select the occupation and skills that best suit them.

[0250] The processing flow will be explained below.

[0251] Step 1:

[0252] The user enters the skills they possess into the terminal. For example, they enter skills in a comma-separated format such as "Python, Data Visualization."

[0253] Step 2:

[0254] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0255] Step 3:

[0256] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0257] Step 4:

[0258] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[0259] Step 5:

[0260] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[0261] Step 6:

[0262] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[0263] Step 7:

[0264] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[0265] Step 8:

[0266] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[0267] Step 9:

[0268] The server uses an emotion engine to recognize the user's emotions, analyzing input data, usage history, and conversation data collected from the user's device to confirm their current state of mind and stress level.

[0269] Step 10:

[0270] The server tailors recommendations based on the user's emotional state: for example, if a user is stressed, it recommends occupations that strengthen existing skills, while if a user is in a stable state, it recommends challenging skill acquisition.

[0271] Step 11:

[0272] The server returns the identified occupations, the skill gap list, and the tailored recommendations to the user, allowing the user to receive recommendations on the next skills to learn and suitable occupations.

[0273] Step 12:

[0274] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[0275] Example 2

[0276] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0277] While conventional career plan recommendation systems can recommend occupations based on a user's skill data, they have the problem of not being able to take into account the user's emotions and state of mind. As a result, they are unable to avoid recommending occupations that cause stress to the user, making it difficult to achieve optimal personalization.

[0278] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0279] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying an occupation best suited to the user based on the similarity, means for identifying skills lacking in the user from the skill set required for the identified occupation, and means for analyzing the user's emotional data and adjusting the content of recommendations based on the analysis results, thereby enabling more personalized career plan recommendations that take the user's emotional state into consideration.

[0280] "User skill data" is information that represents specific skills or abilities possessed by a user.

[0281] "Talent data" is a dataset that lists the skills and abilities required for each existing occupation.

[0282] "Vectorization" is the process of converting data into numerical vectors that facilitate computation and similarity assessment.

[0283] "Similarity" is an index that numerically evaluates the similarity between a user's skill data and talent data, and is obtained by calculation.

[0284] The "means for identifying an occupation" is a process for selecting an occupation that is closest to the user's skill set based on the similarity calculation results.

[0285] A "missing skill" is a technique or ability that the user has not yet acquired from the skill set required for the identified occupation.

[0286] "Emotion data" is information that represents the user's current emotional state, and is obtained from input content and usage history.

[0287] "Means for tailoring recommendation content" refers to the process of providing users with the most suitable occupations and skill sets based on the analyzed emotional data.

[0288] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, more personalized recommendations can be achieved. Specific embodiments for implementing the present invention are described below.

[0289] System configuration

[0290] The system consists of the following main components:

[0291] User skill data input method

[0292] How to combine with existing talent data

[0293] A means of vectorizing skill data

[0294] A method for calculating similarity between user and talent data

[0295] A means of identifying the most suitable occupation

[0296] How to identify skill gaps

[0297] Emotion Engine

[0298] Hardware and Software

[0299] This system uses the following hardware and software:

[0300] Hardware: Servers, user devices (PCs, smartphones, etc.)

[0301] Software: Database management systems (e.g., PostgreSQL), programming languages ​​(e.g., Python), machine learning libraries (e.g., SKLearn), emotion recognition tools (e.g., Emotion-API)

[0302] Data processing and calculation flow

[0303] 1. Enter user skill data:

[0304] The user enters their skill data into the terminal. For example, they might enter "Python, Data Visualization" in a comma-separated format.

[0305] The user manually enters their skills into the input form and clicks the submit button.

[0306] 2. Combination with Talent Data:

[0307] The server receives the skill data entered by the user and retrieves and combines it with existing talent data from a database.

[0308] 3. Vectorizing Skill Data:

[0309] The server vectorizes the user's skill and talent data using Python and the machine learning library TF-IDF vectorizer.

[0310] 4. Similarity calculation:

[0311] The server calculates the cosine similarity using the vectorized skill data and compares the similarity between the user's skill set and the occupation data.

[0312] 5. Occupation Identification:

[0313] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[0314] 6. Identify skills gaps:

[0315] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0316] 7. Emotion Recognition with Emotion Engine:

[0317] The server uses Emotion-API to analyze emotions from the user's input and usage history, and determines their current state of mind and stress level.

[0318] 8. Adjustment of recommendation content:

[0319] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[0320] Specific operation example

[0321] Here, the operation of the system will be explained using a specific example.

[0322] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0323] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[0324] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0325] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0326] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0327] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0328] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[0329] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[0330] Prompt Sentence Examples

[0331] An example of a prompt is as follows:

[0332] The user has entered "Python, Data Visualization." Combine the user's skills and talent data to recommend the most suitable occupation. However, if the user is feeling stressed, additionally recommend alternative occupations to reduce stress.

[0333] The above is a specific embodiment for carrying out the present invention. This system makes it possible to recommend a more personalized career plan that takes into account the user's emotional state.

[0334] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0335] Step 1:

[0336] The user enters their skill data into the terminal. For example, they manually enter the skill set "Python, Data Visualization" into the input form and click the submit button.

[0337] Input: User skill data

[0338] Output: User skill data sent from the device

[0339] Step 2:

[0340] The server receives the user's skill data sent from the device. The server uses a database management system (e.g., PostgreSQL) to retrieve existing talent data.

[0341] Input: User skill data, talent data in the database

[0342] Output: Combined skills data

[0343] Step 3:

[0344] The server converts the combined skill data into a numeric vector using Python and SKLearn's TF-IDF vectorizer.

[0345] Input: Combined skills data

[0346] Output: Vectorized skill data

[0347] What it does: The server lists all skill sets and vectorizes them by applying the TF-IDF vectorizer.

[0348] Step 4:

[0349] The server calculates the cosine similarity using the vectorized skill data, thereby evaluating the skill similarity between the user and existing talent data.

[0350] Input: Vectorized skill data

[0351] Output: Similarity score

[0352] Specific operation: The server uses the numpy library to calculate the similarity and performs a cosine similarity calculation.

[0353] Step 5:

[0354] The server identifies the occupation that is most similar to the user's skill set based on the calculated cosine similarity results.

[0355] Input: Similarity score

[0356] Output: Best occupation

[0357] Specific behavior: The server sorts the similarity scores and selects the occupation with the highest score.

[0358] Step 6:

[0359] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0360] Input: Best suited occupation, user's skill set

[0361] Output: Missing skill sets

[0362] Specific operation: The server compares the skill lists and performs list operations to extract any missing skills.

[0363] Step 7:

[0364] The server uses the Emotion-API to analyze emotions from the user's input and usage history, and determine their current state of mind and stress level.

[0365] Input: User input, usage history

[0366] Output: User emotion data

[0367] Specific operation: The server sends data to Emotion-API for analysis and receives the analysis results.

[0368] Step 8:

[0369] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[0370] Input: User sentiment data, missing skill set

[0371] Output: Adjusted job recommendation list

[0372] What happens: The server updates the list of suggested occupations and applies logic to refine the occupation candidates displayed to the user.

[0373] (Application example 2)

[0374] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0375] A typical career recommendation system recommends occupations and skills based on a user's skill data, but because it does not take into account the user's emotional state, it may make recommendations that do not match the user's stress or feelings. This results in a decrease in user satisfaction and makes it difficult for the user to select an appropriate career path.

[0376] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0377] In this invention, the server includes means for inputting user skill data, means for combining the skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the talent data, means for identifying the most suitable occupation based on the similarity, means for identifying skills that are lacking, an emotion engine for recognizing the user's emotional state, and means for adjusting the content of recommendations, thereby enabling the provision of a flexible and personalized career plan that takes the user's emotional state into consideration.

[0378] "User skill data" is information indicating the knowledge and skills possessed by the user.

[0379] "Talent data" is a pre-prepared data set that describes the skills and experience required for a particular job or role.

[0380] "Joining" is the operation of combining different data sets into one.

[0381] "Vectorization" is the process of converting text data into numeric vectors.

[0382] "Similarity" is an index that measures the relationship or proximity between different data.

[0383] "Cosine similarity" is a method for calculating similarity based on the angle between two vectors.

[0384] "TF-IDF vectorizer" is an algorithm that calculates the importance of words in a document and vectorizes them.

[0385] An "emotion engine" is a system that analyzes a user's emotional state from their text input and behavioral history.

[0386] "Recommendation content" refers to suggestions about occupations and skills that are presented to the user based on the analysis results.

[0387] This invention is a system that recommends optimal career plans and new skill sets based on a user's skill data. This system achieves more personalized recommendations by combining an emotion engine that recognizes the user's emotional state. Specific embodiments of the present invention are described below.

[0388] In an embodiment of the present invention, a user inputs their own skill data through a dedicated interface. The example skill data uses a comma-separated format of "Python, Data Visualization." This skill data is sent to a server and combined with existing talent data. Talent data refers to a dataset containing a list of skills required for each occupation.

[0389] The combined skill data is vectorized by the server. In this process, the text data is converted into a numerical vector using a TF-IDF vectorizer. The vectorized data is used to calculate the similarity between the user's skill data and the talent data. Cosine similarity is used to calculate the similarity.

[0390] The server identifies the occupation that best suits the user based on the calculated similarity. For example, the server may identify "Data Scientist" as the occupation that most closely matches the user's skill set "Python, Data Visualization." In this case, the server removes "Python, Data Visualization," which the user already possesses, from the skill set required for Data Scientist ("Python, Machine Learning, Data Analysis") and identifies the missing "Machine Learning, Data Analysis."

[0391] Furthermore, the server is equipped with an emotion engine that recognizes emotions from user input, usage history, and interactions. This engine analyzes the user's emotional state and stress level. Based on the analysis results, the server adjusts the recommendations. For example, for a user with high stress levels, it will recommend occupations that utilize their current skills rather than those that require more challenging skills.

[0392] In this way, by combining the emotion engine, it is possible to provide a flexible and personalized career plan that takes into account the user's emotional state.

[0393] As a concrete example, consider the case where a user inputs the skill set "Python, Data Visualization" into the system. The server combines this skill set with existing talent data to generate a list of all skills. This list is vectorized using a TF-IDF vectorizer, and the cosine similarity between the user's skill set and the talent data is calculated. As a result of the calculation, the server identifies the occupation "Data Scientist" as the most suitable for the user, and "Machine Learning, Data Analysis" as a missing skill. Furthermore, the server analyzes the user's state of mind using an emotion engine, and if the user's stress level is high, the server will also recommend the occupation "Data Analyst." In this way, the user can proceed with their learning with peace of mind.

[0394] Example prompts using generative AI models:

[0395] "Input the user's skill data (e.g., "Python, Data Visualization") and recommend the best career path or new skill set for electronic payment services. Also, adjust the recommendations based on the user's emotional state."

[0396] This system provides users with the best career path and proactively recommends jobs that take their emotional state into consideration.

[0397] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0398] Step 1:

[0399] The user inputs skill data into the system. Through the terminal interface, the user inputs their skill set in a comma-separated format. For example, they might input "Python, Data Visualization." This skill data is sent to the server.

[0400] Step 2:

[0401] The server receives the user's skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job. This combination generates a comprehensive skill list.

[0402] Step 3:

[0403] The server vectorizes the combined skill data. In this process, it uses TF-IDF vectorizer to convert the text data into a numerical vector. Here, it converts the entire skill list into numerical data while taking into account the importance of each skill.

[0404] Step 4:

[0405] The server uses the vectorized skill data to calculate the similarity between the user's skill data and the skill data of the existing talent data. Using cosine similarity, the server calculates the similarity between the user's skills and the talent data and evaluates the suitability for each occupation.

[0406] Step 5:

[0407] The server identifies the most suitable occupation for the user based on the similarity. In this process, the occupation that is closest to the user's skill set is selected based on the calculated cosine similarity. For example, the occupation "Data Scientist" is identified as the occupation that is closest to the user's skill set.

[0408] Step 6:

[0409] The server identifies the skills the user lacks from the skill set required for the identified occupation. For example, out of the "Python, Machine Learning, Data Analysis" skills required for a Data Scientist, the server identifies "Machine Learning, Data Analysis" as the missing skill, excluding "Python, Data Visualization" which the user already has.

[0410] Step 7:

[0411] The server uses an emotion engine to recognize the user's emotional state. It analyzes emotions from the user's input, usage history, and interactions to determine the user's current state of mind and stress level. For example, it can recognize that the user is in a stressful state of mind.

[0412] Step 8:

[0413] The server adjusts its recommendations based on the user's analyzed emotional state. If the user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills. For example, in addition to "Data Scientist," it will also recommend "Data Analyst," a job that reduces stress.

[0414] Through the above steps, users can obtain the optimal career plan based on their own skill data, and can also receive flexible recommendations that take into account their emotional state.

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

[0416] 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> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. 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.

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

[0418] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

[0430] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0431] The present invention relates to a system for recommending an optimal career plan or a new skill set based on a user's skill data. An embodiment of this system will be specifically described below.

[0432] System Overview

[0433] The system of the present invention allows users to input their own skill data and recommends the most suitable occupation and new skill set based on that data. The system is composed of the following main components:

[0434] User skill data input method

[0435] How to combine with existing talent data

[0436] A means of vectorizing skill data

[0437] A method for calculating similarity between user and talent data

[0438] A means of identifying the most suitable occupation

[0439] How to identify skill gaps

[0440] System Operation

[0441] 1. Enter user skill data:

[0442] Users enter their skills in a comma-separated format, such as "Python, Data Visualization."

[0443] 2. Combination with Talent Data:

[0444] The server combines the user's skill data with existing talent data, which contains a list of skills required for each job.

[0445] 3. Vectorizing Skill Data:

[0446] The server vectorizes the combined skill data using a TF-IDF vectorizer, which converts the string data into a numeric vector, making it easier to calculate similarity.

[0447] 4. Similarity calculation:

[0448] The server calculates the cosine similarity between the user's skill data and the skill data of the existing talent data, thereby identifying the occupations that most closely match the user's skill set.

[0449] 5. Occupation Identification:

[0450] The server identifies the occupation with the highest cosine similarity and obtains the skill set required for that occupation.

[0451] 6. Identify skills gaps:

[0452] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0453] Specific examples

[0454] Below is a concrete example of a user using the system.

[0455] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0456] 2. The server adds this skill set to the existing talent data to generate a full skill list.

[0457] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0458] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0459] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0460] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0461] In this way, users can effectively improve their skills by receiving specific career plans and new skill sets recommended by the system, allowing users to quickly and effectively plan their next career steps.

[0462] The processing flow will be explained below.

[0463] Step 1:

[0464] The user enters the skills they possess into the terminal, for example, "Python, Data Visualization" in a comma-separated format.

[0465] Step 2:

[0466] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0467] Step 3:

[0468] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0469] Step 4:

[0470] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[0471] Step 5:

[0472] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[0473] Step 6:

[0474] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[0475] Step 7:

[0476] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[0477] Step 8:

[0478] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[0479] Step 9:

[0480] The server returns the identified occupations and skill shortage list to the user, who can then receive recommendations on the next skills to learn and suitable occupations.

[0481] Step 10:

[0482] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[0483] Example 1

[0484] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0485] Previous career planning recommendation systems struggled to effectively utilize users' skill data to recommend optimal occupations and new skill sets. Furthermore, there was a lack of systems that could clearly identify skills that a user lacks based on their own skills input.

[0486] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0487] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing candidate data, means for converting the combined skill data into a numerical vector, means for calculating the similarity between the user skill data and the skill data of the existing candidate data, means for identifying an occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from a set of skills required for the identified occupation, and means for recommending the identified lacking skills to the user. This makes it possible to recommend an optimal occupation based on the user's skill data and to clearly identify and present lacking skills to the user.

[0488] "User skill data" is data that specifically represents the skills and knowledge that a user possesses.

[0489] "Existing candidate data" is data in a database that holds the required skill set for a job or role.

[0490] The "means for converting into a numerical vector" refers to a method or tool for converting skill data input as a character string into a numerical vector format.

[0491] A "means for calculating similarity" is a calculation method or algorithm used to measure the similarity between a user's skill data and existing candidate data.

[0492] A "means for identifying an optimal occupation" is a method or process for selecting an occupation that best suits a user's skill set based on the calculated similarity.

[0493] A "means for identifying missing skills" is a method or algorithm for identifying skills that a user does not have acquired from the skill set required for the identified occupation.

[0494] The "means for recommending skills that are lacking to the user" refers to a mechanism or method for presenting the identified skills that are lacking to the user and informing the user that they are new skills that should be learned.

[0495] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. The system of the present invention uses the following main components to allow a user to input their own skills and recommend optimal occupations and new skill sets based on that data:

[0496] Hardware and software used

[0497] The following hardware and software are used to implement the system of the present invention.

[0498] Hardware:

[0499] Server (with high-performance computing capabilities)

[0500] Terminals (devices through which users provide input data)

[0501] software:

[0502] Database management systems (RDBMS, etc.)

[0503] Server-side programming languages ​​(such as Python)

[0504] Machine learning libraries (e.g. sklearn)

[0505] Web server software (such as Apache)

[0506] Program processing

[0507] 1. Enter user skill data:

[0508] Users access the system's webpage using their devices and enter their skills in a comma-separated format into an input form, such as "Python, Data Visualization." After input, the data is sent to the server.

[0509] 2. Combination with Talent Data:

[0510] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0511] 3. Vectorizing Skill Data:

[0512] The server converts the combined skill data into a numerical vector using a TF-IDF vectorizer. This operation allows the skill data to be represented as a numerical vector, enabling similarity calculation in the next step. Specifically, it uses the fit_transform() function from the Python "sklearn" library.

[0513] 4. Similarity calculation:

[0514] The server calculates the cosine similarity based on the vectorized skill data. This identifies the occupation that is closest to the user's skill set. The cosine similarity is calculated using the cosine_similarity function in "sklearn".

[0515] 5. Occupation Identification:

[0516] The server identifies the occupation with the highest cosine similarity, obtains the skill set required for that occupation, and compares it with the user's skill set to present the optimal career plan.

[0517] 6. Identifying and recommending skills gaps:

[0518] The server identifies skills that are lacking from the set of skills required for the identified occupation, excluding skills that the user already possesses. For example, if "Data Scientist" is identified, the server will exclude "Python, Machine Learning, Data Analysis," which the user already possesses, from the required skills "Python, Machine Learning, Data Analysis," and identify "Machine Learning, Data Analysis" as skills that are lacking. The identified lacking skills are recommended to the user and presented as new skills to learn.

[0519] Specific examples

[0520] Below is a concrete example of a user using the system.

[0521] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0522] 2. The server adds this skill set to the existing candidate data to generate a full skills list.

[0523] 3. The server vectorizes the entire skill list using sklearn's TF-IDF vectorizer.

[0524] 4. The server calculates the cosine similarity between the user's skill set and the candidate data.

[0525] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0526] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0527] Prompt Sentence Examples

[0528] You can test the system by inputting the following prompts into the generative AI model:

[0529] "Enter 'Python, Data Visualization' as the user skill data. Please recommend the most suitable occupation and skills that are lacking."

[0530] The prompt allows users to provide their skills to the system and have it recommend the best career path and new skill sets.

[0531] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0532] Step 1:

[0533] Entering User Skills Data

[0534] Users access the system's webpage using their devices and enter their skills in a comma-separated format. For example, "Python, Data Visualization." After entering the information, they click the "Submit" button and the skill data is sent to the server.

[0535] Input: User-entered skill data (e.g., "Python, Data Visualization")

[0536] Output: Skill data sent to the server

[0537] Step 2:

[0538] Combining with talent data

[0539] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0540] Input: User skill data and existing candidate data

[0541] Output: Combined skill data (full skill list)

[0542] Step 3:

[0543] Vectorization of skills data

[0544] The server uses a TF-IDF vectorizer to vectorize the combined skill data using the Python "sklearn" library, specifically converting the combined skill data into a numeric vector and creating a vector representation of the skill data.

[0545] Input: Combined skill data (full skill list)

[0546] Output: Vectorized skill data (numeric vector)

[0547] Step 4:

[0548] Similarity calculation

[0549] The server calculates the cosine similarity based on the vectorized skill data, which clarifies the similarity between the user skill set and the existing candidate data set. Specifically, it uses the cosine_similarity function in sklearn.

[0550] Input: Vectorized skill data (numeric vector)

[0551] Output: Similarity matrix

[0552] Step 5:

[0553] Identifying occupations

[0554] The server identifies the occupation that is closest to the user skill set based on the similarity matrix, obtains the required skill set from the identified occupation, and presents it to the user.

[0555] Input: Similarity matrix

[0556] Output: Best-fit occupations and required skill sets

[0557] Step 6:

[0558] Identifying and recommending skills gaps

[0559] The server identifies skills that are lacking from the required skill set for the identified occupation, excluding skills that the user already possesses. For example, if a user has "Python, Data Visualization," "Machine Learning, Data Analysis" will be identified as skills that are lacking. The identified skills that are lacking are recommended to the user and presented as new skills to learn.

[0560] Input: Optimal occupation and user skill set

[0561] Output: List of skills shortages

[0562] (Application example 1)

[0563] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0564] While conventional career guidance systems can recommend suitable occupations based on a user's skill data, they have difficulty providing specific plans and educational methods for users to effectively acquire the necessary skills. Furthermore, they lack connectivity with electronic payment services, which can hinder smooth skill acquisition, as users have no way to quickly pay for the costs of improving their skills.

[0565] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0566] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying the occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from the skill set required for the identified occupation, and means for recommending online educational programs to compensate for the lacking skills. This allows users to obtain a specific educational plan to quickly and effectively acquire the skills necessary for their careers, and allows them to smoothly pay for their education costs in cooperation with an electronic payment service.

[0567] "User skill data" is information that represents the abilities and knowledge that a user possesses.

[0568] "Talent Data" is a database that compiles information on the skills and experience required in various occupations.

[0569] "Combining" refers to the process of combining user skill data and talent data into a single data set.

[0570] "Vectorization" is the process of converting string data into numeric vectors, which allows for quantitative comparison of the data.

[0571] "Similarity calculation" is the process of quantitatively assessing the degree of similarity or relevance between two data sets.

[0572] "Occupation identification" is the process of selecting the occupation that best matches the user skill data.

[0573] "Identifying skills deficiencies" is the process of extracting skills that a user lacks from the skill set required for the job the user is aiming for.

[0574] An "online educational program" is an educational course or training program delivered via the Internet.

[0575] "Recommendation" is the process of suggesting specific educational programs or learning methods to users.

[0576] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Specifically, the system recommends appropriate occupations and educational programs to the user through the following steps:

[0577] First, the user inputs their skills from their device. The input skill data is then combined with existing talent data by the server. Talent data is a database that compiles the skills and experience required for various occupations. The server then vectorizes this combined data using a TF-IDF vectorizer. Vectorization converts character string data into numerical vectors, enabling quantitative comparison of the data.

[0578] Next, the server calculates the similarity between the user's skill data and the skill data in the talent data using cosine similarity. This calculation allows the server to identify the occupation that is most similar to the user's skill set. The server then obtains the required skill set for the identified occupation, and then excludes the skills the user already possesses to identify the skills that the user is lacking.

[0579] Furthermore, the server recommends online educational programs to fill in any missing skills, providing users with a specific educational plan to quickly and effectively acquire the skills they need for their careers.

[0580] The server also works with an electronic payment service to allow users to quickly pay for the recommended online educational programs, allowing users to smoothly improve their skills.

[0581] Hardware and software used

[0582] Hardware: Smartphones, tablets, PCs

[0583] Software: Python, scikit-learn, TfidfVectorizer, cosine_similarity

[0584] Examples and prompts

[0585] For example, if User A inputs the skills "Java, SQL, Web Development," the server checks the talent database and determines that "Software Engineer" is the most suitable, and identifies "Cloud Computing, System Design" as the missing skills. In this case, the following prompt sentence is used:

[0586] Example prompt sentence:

[0587] Enter your skills below: "Java, SQL, Web Development"

[0588] In addition, users can easily take recommended online educational programs to improve their skills using their smartphones and quickly pay for them through electronic payment services.

[0589] In this way, users can get a clear career plan and concrete steps to acquire skills, which will help them advance their careers.

[0590] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0591] Step 1:

[0592] The user uses a terminal to input their skills, and the input skill data is sent to the server in a format such as "Java, SQL, Web Development."

[0593] Step 2:

[0594] The server combines the user's skill data with existing talent data. The talent data is a database of skills and experience required for various occupations. The combined dataset includes the user's skill data and the required skill data for each occupation.

[0595] Step 3:

[0596] The server vectorizes the combined skill data. Specifically, it uses a TF-IDF vectorizer to convert the string data into a numeric vector. This conversion enables quantitative comparison of the data. The input is the combined skill data, and the output is the vectorized data.

[0597] Step 4:

[0598] The server calculates the similarity between the vectorized user skill data and the skill data in the talent data. It uses cosine similarity to identify the occupations that are most similar to the user's skill set. The input is the vectorized data, and the output is the occupations with the highest similarity.

[0599] Step 5:

[0600] The server identifies the most suitable occupation for the user based on the similarity score. The required skill set for the identified occupation is obtained. The input is the calculated similarity score, and the output is the identified occupation and its required skill set.

[0601] Step 6:

[0602] The server excludes the skills the user already possesses from the skill set required for the identified occupation and identifies the skills that are lacking. The input is the user's skill data and the skill set for the identified occupation, and the output is the skills that are lacking.

[0603] Step 7:

[0604] The server recommends online educational programs to fill in the gaps in skills. Using a recommendation algorithm, it proposes optimal training programs and courses based on the user's gaps in skills. The input is the gaps in skills, and the output is the recommended online educational programs.

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

[0606] The present invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data, and furthermore, by combining it with an emotion engine that recognizes the user's emotions, it realizes more personalized recommendations. An example of this system is described below in detail.

[0607] System configuration

[0608] The system consists of the following main components:

[0609] User skill data input method

[0610] How to combine with existing talent data

[0611] A method for vectorizing skill data (using TF-IDF vectorizer)

[0612] Similarity calculation method between user and talent data (using cosine similarity)

[0613] A means of identifying the most suitable occupation

[0614] How to identify skill gaps

[0615] Emotion Engine

[0616] System Operation

[0617] 1. Enter user skill data:

[0618] The user enters the skills they have into the terminal. For example, enter skills in a comma-separated format such as "Python, Data Visualization."

[0619] 2. Combination with Talent Data:

[0620] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0621] 3. Vectorizing Skill Data:

[0622] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0623] 4. Similarity calculation:

[0624] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data, and calculates the similarity between each data using cosine similarity.

[0625] 5. Occupation Identification:

[0626] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[0627] 6. Identify skills gaps:

[0628] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0629] 7. Emotion Recognition with Emotion Engine:

[0630] The server uses an emotion engine to recognize the user's emotions based on their input, usage history, and interactions. It analyzes the user's emotions and determines their current state of mind and stress level.

[0631] 8. Adjustment of recommendation content:

[0632] The server adjusts the recommendations based on the analyzed user's emotions. For example, if a user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills, taking into account the user's emotional state.

[0633] Specific examples

[0634] Below is a concrete example of a user using the system.

[0635] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0636] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[0637] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0638] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0639] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0640] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0641] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[0642] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[0643] In this way, by combining the emotion engine, we can provide a flexible and personalized career plan that responds to the user's emotional state, allowing users to confidently select the occupation and skills that best suit them.

[0644] The processing flow will be explained below.

[0645] Step 1:

[0646] The user enters the skills they possess into the terminal. For example, they enter skills in a comma-separated format such as "Python, Data Visualization."

[0647] Step 2:

[0648] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0649] Step 3:

[0650] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0651] Step 4:

[0652] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[0653] Step 5:

[0654] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[0655] Step 6:

[0656] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[0657] Step 7:

[0658] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[0659] Step 8:

[0660] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[0661] Step 9:

[0662] The server uses an emotion engine to recognize the user's emotions, analyzing input data, usage history, and conversation data collected from the user's device to confirm their current state of mind and stress level.

[0663] Step 10:

[0664] The server tailors recommendations based on the user's emotional state: for example, if a user is stressed, it recommends occupations that strengthen existing skills, while if a user is in a stable state, it recommends challenging skill acquisition.

[0665] Step 11:

[0666] The server returns the identified occupations, the skill gap list, and the tailored recommendations to the user, allowing the user to receive recommendations on the next skills to learn and suitable occupations.

[0667] Step 12:

[0668] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[0669] Example 2

[0670] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0671] While conventional career plan recommendation systems can recommend occupations based on a user's skill data, they have the problem of not being able to take into account the user's emotions and state of mind. As a result, they are unable to avoid recommending occupations that cause stress to the user, making it difficult to achieve optimal personalization.

[0672] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0673] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying an occupation best suited to the user based on the similarity, means for identifying skills lacking in the user from the skill set required for the identified occupation, and means for analyzing the user's emotional data and adjusting the content of recommendations based on the analysis results, thereby enabling more personalized career plan recommendations that take the user's emotional state into consideration.

[0674] "User skill data" is information that represents specific skills or abilities possessed by a user.

[0675] "Talent data" is a dataset that lists the skills and abilities required for each existing occupation.

[0676] "Vectorization" is the process of converting data into numerical vectors that facilitate computation and similarity assessment.

[0677] "Similarity" is an index that numerically evaluates the similarity between a user's skill data and talent data, and is obtained by calculation.

[0678] The "means for identifying an occupation" is a process for selecting an occupation that is closest to the user's skill set based on the similarity calculation results.

[0679] A "missing skill" is a technique or ability that the user has not yet acquired from the skill set required for the identified occupation.

[0680] "Emotion data" is information that represents the user's current emotional state, and is obtained from input content and usage history.

[0681] "Means for tailoring recommendation content" refers to the process of providing users with the most suitable occupations and skill sets based on the analyzed emotional data.

[0682] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, more personalized recommendations can be achieved. Specific embodiments for implementing the present invention are described below.

[0683] System configuration

[0684] The system consists of the following main components:

[0685] User skill data input method

[0686] How to combine with existing talent data

[0687] A means of vectorizing skill data

[0688] A method for calculating similarity between user and talent data

[0689] A means of identifying the most suitable occupation

[0690] How to identify skill gaps

[0691] Emotion Engine

[0692] Hardware and Software

[0693] This system uses the following hardware and software:

[0694] Hardware: Servers, user devices (PCs, smartphones, etc.)

[0695] Software: Database management systems (e.g., PostgreSQL), programming languages ​​(e.g., Python), machine learning libraries (e.g., SKLearn), emotion recognition tools (e.g., Emotion-API)

[0696] Data processing and calculation flow

[0697] 1. Enter user skill data:

[0698] The user enters their skill data into the terminal. For example, they might enter "Python, Data Visualization" in a comma-separated format.

[0699] The user manually enters their skills into the input form and clicks the submit button.

[0700] 2. Combination with Talent Data:

[0701] The server receives the skill data entered by the user and retrieves and combines it with existing talent data from a database.

[0702] 3. Vectorizing Skill Data:

[0703] The server vectorizes the user's skill and talent data using Python and the machine learning library TF-IDF vectorizer.

[0704] 4. Similarity calculation:

[0705] The server calculates the cosine similarity using the vectorized skill data and compares the similarity between the user's skill set and the occupation data.

[0706] 5. Occupation Identification:

[0707] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[0708] 6. Identify skills gaps:

[0709] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0710] 7. Emotion Recognition with Emotion Engine:

[0711] The server uses Emotion-API to analyze emotions from the user's input and usage history, and determines their current state of mind and stress level.

[0712] 8. Adjustment of recommendation content:

[0713] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[0714] Specific operation example

[0715] Here, the operation of the system will be explained using a specific example.

[0716] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0717] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[0718] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0719] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0720] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0721] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0722] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[0723] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[0724] Prompt Sentence Examples

[0725] An example of a prompt is as follows:

[0726] The user has entered "Python, Data Visualization." Combine the user's skills and talent data to recommend the most suitable occupation. However, if the user is feeling stressed, additionally recommend alternative occupations to reduce stress.

[0727] The above is a specific embodiment for carrying out the present invention. This system makes it possible to recommend a more personalized career plan that takes into account the user's emotional state.

[0728] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0729] Step 1:

[0730] The user enters their skill data into the terminal. For example, they manually enter the skill set "Python, Data Visualization" into the input form and click the submit button.

[0731] Input: User skill data

[0732] Output: User skill data sent from the device

[0733] Step 2:

[0734] The server receives the user's skill data sent from the device. The server uses a database management system (e.g., PostgreSQL) to retrieve existing talent data.

[0735] Input: User skill data, talent data in the database

[0736] Output: Combined skills data

[0737] Step 3:

[0738] The server converts the combined skill data into a numeric vector using Python and SKLearn's TF-IDF vectorizer.

[0739] Input: Combined skills data

[0740] Output: Vectorized skill data

[0741] What it does: The server lists all skill sets and vectorizes them by applying the TF-IDF vectorizer.

[0742] Step 4:

[0743] The server calculates the cosine similarity using the vectorized skill data, thereby evaluating the skill similarity between the user and existing talent data.

[0744] Input: Vectorized skill data

[0745] Output: Similarity score

[0746] Specific operation: The server uses the numpy library to calculate the similarity and performs a cosine similarity calculation.

[0747] Step 5:

[0748] The server identifies the occupation that is most similar to the user's skill set based on the calculated cosine similarity results.

[0749] Input: Similarity score

[0750] Output: Best occupation

[0751] Specific behavior: The server sorts the similarity scores and selects the occupation with the highest score.

[0752] Step 6:

[0753] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0754] Input: Best suited occupation, user's skill set

[0755] Output: Missing skill sets

[0756] Specific operation: The server compares the skill lists and performs list operations to extract any missing skills.

[0757] Step 7:

[0758] The server uses the Emotion-API to analyze emotions from the user's input and usage history, and determine their current state of mind and stress level.

[0759] Input: User input, usage history

[0760] Output: User emotion data

[0761] Specific operation: The server sends data to Emotion-API for analysis and receives the analysis results.

[0762] Step 8:

[0763] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[0764] Input: User sentiment data, missing skill set

[0765] Output: Adjusted job recommendation list

[0766] What happens: The server updates the list of suggested occupations and applies logic to refine the occupation candidates displayed to the user.

[0767] (Application example 2)

[0768] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0769] A typical career recommendation system recommends occupations and skills based on a user's skill data, but because it does not take into account the user's emotional state, it may make recommendations that do not match the user's stress or feelings. This results in a decrease in user satisfaction and makes it difficult for the user to select an appropriate career path.

[0770] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0771] In this invention, the server includes means for inputting user skill data, means for combining the skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the talent data, means for identifying the most suitable occupation based on the similarity, means for identifying skills that are lacking, an emotion engine for recognizing the user's emotional state, and means for adjusting the content of recommendations, thereby enabling the provision of a flexible and personalized career plan that takes the user's emotional state into consideration.

[0772] "User skill data" is information indicating the knowledge and skills possessed by the user.

[0773] "Talent data" is a pre-prepared data set that describes the skills and experience required for a particular job or role.

[0774] "Joining" is the operation of combining different data sets into one.

[0775] "Vectorization" is the process of converting text data into numeric vectors.

[0776] "Similarity" is an index that measures the relationship or proximity between different data.

[0777] "Cosine similarity" is a method for calculating similarity based on the angle between two vectors.

[0778] "TF-IDF vectorizer" is an algorithm that calculates the importance of words in a document and vectorizes them.

[0779] An "emotion engine" is a system that analyzes a user's emotional state from their text input and behavioral history.

[0780] "Recommendation content" refers to suggestions about occupations and skills that are presented to the user based on the analysis results.

[0781] This invention is a system that recommends optimal career plans and new skill sets based on a user's skill data. This system achieves more personalized recommendations by combining an emotion engine that recognizes the user's emotional state. Specific embodiments of the present invention are described below.

[0782] In an embodiment of the present invention, a user inputs their own skill data through a dedicated interface. The example skill data uses a comma-separated format of "Python, Data Visualization." This skill data is sent to a server and combined with existing talent data. Talent data refers to a dataset containing a list of skills required for each occupation.

[0783] The combined skill data is vectorized by the server. In this process, the text data is converted into a numerical vector using a TF-IDF vectorizer. The vectorized data is used to calculate the similarity between the user's skill data and the talent data. Cosine similarity is used to calculate the similarity.

[0784] The server identifies the occupation that best suits the user based on the calculated similarity. For example, the server may identify "Data Scientist" as the occupation that most closely matches the user's skill set "Python, Data Visualization." In this case, the server removes "Python, Data Visualization," which the user already possesses, from the skill set required for Data Scientist ("Python, Machine Learning, Data Analysis") and identifies the missing "Machine Learning, Data Analysis."

[0785] Furthermore, the server is equipped with an emotion engine that recognizes emotions from user input, usage history, and interactions. This engine analyzes the user's emotional state and stress level. Based on the analysis results, the server adjusts the recommendations. For example, for a user with high stress levels, it will recommend occupations that utilize their current skills rather than those that require more challenging skills.

[0786] In this way, by combining the emotion engine, it is possible to provide a flexible and personalized career plan that takes into account the user's emotional state.

[0787] As a concrete example, consider the case where a user inputs the skill set "Python, Data Visualization" into the system. The server combines this skill set with existing talent data to generate a list of all skills. This list is vectorized using a TF-IDF vectorizer, and the cosine similarity between the user's skill set and the talent data is calculated. As a result of the calculation, the server identifies the occupation "Data Scientist" as the most suitable for the user, and "Machine Learning, Data Analysis" as a missing skill. Furthermore, the server analyzes the user's state of mind using an emotion engine, and if the user's stress level is high, the server will also recommend the occupation "Data Analyst." In this way, the user can proceed with their learning with peace of mind.

[0788] Example prompts using generative AI models:

[0789] "Input the user's skill data (e.g., "Python, Data Visualization") and recommend the best career path or new skill set for electronic payment services. Also, adjust the recommendations based on the user's emotional state."

[0790] This system provides users with the best career path and proactively recommends jobs that take their emotional state into consideration.

[0791] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0792] Step 1:

[0793] The user inputs skill data into the system. Through the terminal interface, the user inputs their skill set in a comma-separated format. For example, they might input "Python, Data Visualization." This skill data is sent to the server.

[0794] Step 2:

[0795] The server receives the user's skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job. This combination generates a comprehensive skill list.

[0796] Step 3:

[0797] The server vectorizes the combined skill data. In this process, it uses TF-IDF vectorizer to convert the text data into a numerical vector. Here, it converts the entire skill list into numerical data while taking into account the importance of each skill.

[0798] Step 4:

[0799] The server uses the vectorized skill data to calculate the similarity between the user's skill data and the skill data of the existing talent data. Using cosine similarity, the server calculates the similarity between the user's skills and the talent data and evaluates the suitability for each occupation.

[0800] Step 5:

[0801] The server identifies the most suitable occupation for the user based on the similarity. In this process, the occupation that is closest to the user's skill set is selected based on the calculated cosine similarity. For example, the occupation "Data Scientist" is identified as the occupation that is closest to the user's skill set.

[0802] Step 6:

[0803] The server identifies the skills the user lacks from the skill set required for the identified occupation. For example, out of the "Python, Machine Learning, Data Analysis" skills required for a Data Scientist, the server identifies "Machine Learning, Data Analysis" as the missing skill, excluding "Python, Data Visualization" which the user already has.

[0804] Step 7:

[0805] The server uses an emotion engine to recognize the user's emotional state. It analyzes emotions from the user's input, usage history, and interactions to determine the user's current state of mind and stress level. For example, it can recognize that the user is in a stressful state of mind.

[0806] Step 8:

[0807] The server adjusts its recommendations based on the user's analyzed emotional state. If the user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills. For example, in addition to "Data Scientist," it will also recommend "Data Analyst," a job that reduces stress.

[0808] Through the above steps, users can obtain the optimal career plan based on their own skill data, and can also receive flexible recommendations that take into account their emotional state.

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

[0810] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. 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.

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

[0812] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

[0824] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0825] The present invention relates to a system for recommending an optimal career plan or a new skill set based on a user's skill data. An embodiment of this system will be specifically described below.

[0826] System Overview

[0827] The system of the present invention allows users to input their own skill data and recommends the most suitable occupation and new skill set based on that data. The system is composed of the following main components:

[0828] User skill data input method

[0829] How to combine with existing talent data

[0830] A means of vectorizing skill data

[0831] A method for calculating similarity between user and talent data

[0832] A means of identifying the most suitable occupation

[0833] How to identify skill gaps

[0834] System Operation

[0835] 1. Enter user skill data:

[0836] Users enter their skills in a comma-separated format, such as "Python, Data Visualization."

[0837] 2. Combination with Talent Data:

[0838] The server combines the user's skill data with existing talent data, which contains a list of skills required for each job.

[0839] 3. Vectorizing Skill Data:

[0840] The server vectorizes the combined skill data using a TF-IDF vectorizer, which converts the string data into a numeric vector, making it easier to calculate similarity.

[0841] 4. Similarity calculation:

[0842] The server calculates the cosine similarity between the user's skill data and the skill data of the existing talent data, thereby identifying the occupations that most closely match the user's skill set.

[0843] 5. Occupation Identification:

[0844] The server identifies the occupation with the highest cosine similarity and obtains the skill set required for that occupation.

[0845] 6. Identify skills gaps:

[0846] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[0847] Specific examples

[0848] Below is a concrete example of a user using the system.

[0849] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0850] 2. The server adds this skill set to the existing talent data to generate a full skill list.

[0851] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[0852] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[0853] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0854] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0855] In this way, users can effectively improve their skills by receiving specific career plans and new skill sets recommended by the system, allowing users to quickly and effectively plan their next career steps.

[0856] The processing flow will be explained below.

[0857] Step 1:

[0858] The user enters the skills they possess into the terminal, for example, "Python, Data Visualization" in a comma-separated format.

[0859] Step 2:

[0860] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[0861] Step 3:

[0862] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[0863] Step 4:

[0864] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[0865] Step 5:

[0866] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[0867] Step 6:

[0868] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[0869] Step 7:

[0870] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[0871] Step 8:

[0872] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[0873] Step 9:

[0874] The server returns the identified occupations and skill shortage list to the user, who can then receive recommendations on the next skills to learn and suitable occupations.

[0875] Step 10:

[0876] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[0877] Example 1

[0878] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0879] Previous career planning recommendation systems struggled to effectively utilize users' skill data to recommend optimal occupations and new skill sets. Furthermore, there was a lack of systems that could clearly identify skills that a user lacks based on their own skills input.

[0880] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0881] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing candidate data, means for converting the combined skill data into a numerical vector, means for calculating the similarity between the user skill data and the skill data of the existing candidate data, means for identifying an occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from a set of skills required for the identified occupation, and means for recommending the identified lacking skills to the user. This makes it possible to recommend an optimal occupation based on the user's skill data and to clearly identify and present lacking skills to the user.

[0882] "User skill data" is data that specifically represents the skills and knowledge that a user possesses.

[0883] "Existing candidate data" is data in a database that holds the required skill set for a job or role.

[0884] The "means for converting into a numerical vector" refers to a method or tool for converting skill data input as a character string into a numerical vector format.

[0885] A "means for calculating similarity" is a calculation method or algorithm used to measure the similarity between a user's skill data and existing candidate data.

[0886] A "means for identifying an optimal occupation" is a method or process for selecting an occupation that best suits a user's skill set based on the calculated similarity.

[0887] A "means for identifying missing skills" is a method or algorithm for identifying skills that a user does not have acquired from the skill set required for the identified occupation.

[0888] The "means for recommending skills that are lacking to the user" refers to a mechanism or method for presenting the identified skills that are lacking to the user and informing the user that they are new skills that should be learned.

[0889] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. The system of the present invention uses the following main components to allow a user to input their own skills and recommend optimal occupations and new skill sets based on that data:

[0890] Hardware and software used

[0891] The following hardware and software are used to implement the system of the present invention.

[0892] Hardware:

[0893] Server (with high-performance computing capabilities)

[0894] Terminals (devices through which users provide input data)

[0895] software:

[0896] Database management systems (RDBMS, etc.)

[0897] Server-side programming languages ​​(such as Python)

[0898] Machine learning libraries (e.g. sklearn)

[0899] Web server software (such as Apache)

[0900] Program processing

[0901] 1. Enter user skill data:

[0902] Users access the system's webpage using their devices and enter their skills in a comma-separated format into an input form, such as "Python, Data Visualization." After input, the data is sent to the server.

[0903] 2. Combination with Talent Data:

[0904] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0905] 3. Vectorizing Skill Data:

[0906] The server converts the combined skill data into a numerical vector using a TF-IDF vectorizer. This operation allows the skill data to be represented as a numerical vector, enabling similarity calculation in the next step. Specifically, it uses the fit_transform() function from the Python "sklearn" library.

[0907] 4. Similarity calculation:

[0908] The server calculates the cosine similarity based on the vectorized skill data. This identifies the occupation that is closest to the user's skill set. The cosine similarity is calculated using the cosine_similarity function in "sklearn".

[0909] 5. Occupation Identification:

[0910] The server identifies the occupation with the highest cosine similarity, obtains the skill set required for that occupation, and compares it with the user's skill set to present the optimal career plan.

[0911] 6. Identifying and recommending skills gaps:

[0912] The server identifies skills that are lacking from the set of skills required for the identified occupation, excluding skills that the user already possesses. For example, if "Data Scientist" is identified, the server will exclude "Python, Machine Learning, Data Analysis," which the user already possesses, from the required skills "Python, Machine Learning, Data Analysis," and identify "Machine Learning, Data Analysis" as skills that are lacking. The identified lacking skills are recommended to the user and presented as new skills to learn.

[0913] Specific examples

[0914] Below is a concrete example of a user using the system.

[0915] 1. A user enters the skillset "Python, Data Visualization" into the system.

[0916] 2. The server adds this skill set to the existing candidate data to generate a full skills list.

[0917] 3. The server vectorizes the entire skill list using sklearn's TF-IDF vectorizer.

[0918] 4. The server calculates the cosine similarity between the user's skill set and the candidate data.

[0919] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[0920] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[0921] Prompt Sentence Examples

[0922] You can test the system by inputting the following prompts into the generative AI model:

[0923] "Enter 'Python, Data Visualization' as the user skill data. Please recommend the most suitable occupation and skills that are lacking."

[0924] The prompt allows users to provide their skills to the system and have it recommend the best career path and new skill sets.

[0925] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0926] Step 1:

[0927] Entering User Skills Data

[0928] Users access the system's webpage using their devices and enter their skills in a comma-separated format. For example, "Python, Data Visualization." After entering the information, they click the "Submit" button and the skill data is sent to the server.

[0929] Input: User-entered skill data (e.g., "Python, Data Visualization")

[0930] Output: Skill data sent to the server

[0931] Step 2:

[0932] Combining with talent data

[0933] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[0934] Input: User skill data and existing candidate data

[0935] Output: Combined skill data (full skill list)

[0936] Step 3:

[0937] Vectorization of skills data

[0938] The server uses a TF-IDF vectorizer to vectorize the combined skill data using the Python "sklearn" library, specifically converting the combined skill data into a numeric vector and creating a vector representation of the skill data.

[0939] Input: Combined skill data (full skill list)

[0940] Output: Vectorized skill data (numeric vector)

[0941] Step 4:

[0942] Similarity calculation

[0943] The server calculates the cosine similarity based on the vectorized skill data, which clarifies the similarity between the user skill set and the existing candidate data set. Specifically, it uses the cosine_similarity function in sklearn.

[0944] Input: Vectorized skill data (numeric vector)

[0945] Output: Similarity matrix

[0946] Step 5:

[0947] Identifying occupations

[0948] The server identifies the occupation that is closest to the user skill set based on the similarity matrix, obtains the required skill set from the identified occupation, and presents it to the user.

[0949] Input: Similarity matrix

[0950] Output: Best-fit occupations and required skill sets

[0951] Step 6:

[0952] Identifying and recommending skills gaps

[0953] The server identifies skills that are lacking from the required skill set for the identified occupation, excluding skills that the user already possesses. For example, if a user has "Python, Data Visualization," "Machine Learning, Data Analysis" will be identified as skills that are lacking. The identified skills that are lacking are recommended to the user and presented as new skills to learn.

[0954] Input: Optimal occupation and user skill set

[0955] Output: List of skills shortages

[0956] (Application example 1)

[0957] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0958] While conventional career guidance systems can recommend suitable occupations based on a user's skill data, they have difficulty providing specific plans and educational methods for users to effectively acquire the necessary skills. Furthermore, they lack connectivity with electronic payment services, which can hinder smooth skill acquisition, as users have no way to quickly pay for the costs of improving their skills.

[0959] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0960] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying the occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from the skill set required for the identified occupation, and means for recommending online educational programs to compensate for the lacking skills. This allows users to obtain a specific educational plan to quickly and effectively acquire the skills necessary for their careers, and allows them to smoothly pay for their education costs in cooperation with an electronic payment service.

[0961] "User skill data" is information that represents the abilities and knowledge that a user possesses.

[0962] "Talent Data" is a database that compiles information on the skills and experience required in various occupations.

[0963] "Combining" refers to the process of combining user skill data and talent data into a single data set.

[0964] "Vectorization" is the process of converting string data into numeric vectors, which allows for quantitative comparison of the data.

[0965] "Similarity calculation" is the process of quantitatively assessing the degree of similarity or relevance between two data sets.

[0966] "Occupation identification" is the process of selecting the occupation that best matches the user skill data.

[0967] "Identifying skills deficiencies" is the process of extracting skills that a user lacks from the skill set required for the job the user is aiming for.

[0968] An "online educational program" is an educational course or training program delivered via the Internet.

[0969] "Recommendation" is the process of suggesting specific educational programs or learning methods to users.

[0970] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Specifically, the system recommends appropriate occupations and educational programs to the user through the following steps:

[0971] First, the user inputs their skills from their device. The input skill data is then combined with existing talent data by the server. Talent data is a database that compiles the skills and experience required for various occupations. The server then vectorizes this combined data using a TF-IDF vectorizer. Vectorization converts character string data into numerical vectors, enabling quantitative comparison of the data.

[0972] Next, the server calculates the similarity between the user's skill data and the skill data in the talent data using cosine similarity. This calculation allows the server to identify the occupation that is most similar to the user's skill set. The server then obtains the required skill set for the identified occupation, and then excludes the skills the user already possesses to identify the skills that the user is lacking.

[0973] Furthermore, the server recommends online educational programs to fill in any missing skills, providing users with a specific educational plan to quickly and effectively acquire the skills they need for their careers.

[0974] The server also works with an electronic payment service to allow users to quickly pay for the recommended online educational programs, allowing users to smoothly improve their skills.

[0975] Hardware and software used

[0976] Hardware: Smartphones, tablets, PCs

[0977] Software: Python, scikit-learn, TfidfVectorizer, cosine_similarity

[0978] Examples and prompts

[0979] For example, if User A inputs the skills "Java, SQL, Web Development," the server checks the talent database and determines that "Software Engineer" is the most suitable, and identifies "Cloud Computing, System Design" as the missing skills. In this case, the following prompt sentence is used:

[0980] Example prompt sentence:

[0981] Enter your skills below: "Java, SQL, Web Development"

[0982] In addition, users can easily take recommended online educational programs to improve their skills using their smartphones and quickly pay for them through electronic payment services.

[0983] In this way, users can get a clear career plan and concrete steps to acquire skills, which will help them advance their careers.

[0984] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0985] Step 1:

[0986] The user uses a terminal to input their skills, and the input skill data is sent to the server in a format such as "Java, SQL, Web Development."

[0987] Step 2:

[0988] The server combines the user's skill data with existing talent data. The talent data is a database of skills and experience required for various occupations. The combined dataset includes the user's skill data and the required skill data for each occupation.

[0989] Step 3:

[0990] The server vectorizes the combined skill data. Specifically, it uses a TF-IDF vectorizer to convert the string data into a numeric vector. This conversion enables quantitative comparison of the data. The input is the combined skill data, and the output is the vectorized data.

[0991] Step 4:

[0992] The server calculates the similarity between the vectorized user skill data and the skill data in the talent data. It uses cosine similarity to identify the occupations that are most similar to the user's skill set. The input is the vectorized data, and the output is the occupations with the highest similarity.

[0993] Step 5:

[0994] The server identifies the most suitable occupation for the user based on the similarity score. The required skill set for the identified occupation is obtained. The input is the calculated similarity score, and the output is the identified occupation and its required skill set.

[0995] Step 6:

[0996] The server excludes the skills the user already possesses from the skill set required for the identified occupation and identifies the skills that are lacking. The input is the user's skill data and the skill set for the identified occupation, and the output is the skills that are lacking.

[0997] Step 7:

[0998] The server recommends online educational programs to fill in the gaps in skills. Using a recommendation algorithm, it proposes optimal training programs and courses based on the user's gaps in skills. The input is the gaps in skills, and the output is the recommended online educational programs.

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

[1000] The present invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data, and furthermore, by combining it with an emotion engine that recognizes the user's emotions, it realizes more personalized recommendations. An example of this system is described below in detail.

[1001] System configuration

[1002] The system consists of the following main components:

[1003] User skill data input method

[1004] How to combine with existing talent data

[1005] A method for vectorizing skill data (using TF-IDF vectorizer)

[1006] Similarity calculation method between user and talent data (using cosine similarity)

[1007] A means of identifying the most suitable occupation

[1008] How to identify skill gaps

[1009] Emotion Engine

[1010] System Operation

[1011] 1. Enter user skill data:

[1012] The user enters the skills they have into the terminal. For example, enter skills in a comma-separated format such as "Python, Data Visualization."

[1013] 2. Combination with Talent Data:

[1014] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[1015] 3. Vectorizing Skill Data:

[1016] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[1017] 4. Similarity calculation:

[1018] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data, and calculates the similarity between each data using cosine similarity.

[1019] 5. Occupation Identification:

[1020] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[1021] 6. Identify skills gaps:

[1022] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1023] 7. Emotion Recognition with Emotion Engine:

[1024] The server uses an emotion engine to recognize the user's emotions based on their input, usage history, and interactions. It analyzes the user's emotions and determines their current state of mind and stress level.

[1025] 8. Adjustment of recommendation content:

[1026] The server adjusts the recommendations based on the analyzed user's emotions. For example, if a user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills, taking into account the user's emotional state.

[1027] Specific examples

[1028] Below is a concrete example of a user using the system.

[1029] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1030] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[1031] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[1032] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[1033] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1034] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1035] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[1036] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[1037] In this way, by combining the emotion engine, we can provide a flexible and personalized career plan that responds to the user's emotional state, allowing users to confidently select the occupation and skills that best suit them.

[1038] The processing flow will be explained below.

[1039] Step 1:

[1040] The user enters the skills they possess into the terminal. For example, they enter skills in a comma-separated format such as "Python, Data Visualization."

[1041] Step 2:

[1042] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[1043] Step 3:

[1044] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[1045] Step 4:

[1046] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[1047] Step 5:

[1048] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[1049] Step 6:

[1050] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[1051] Step 7:

[1052] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[1053] Step 8:

[1054] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[1055] Step 9:

[1056] The server uses an emotion engine to recognize the user's emotions, analyzing input data, usage history, and conversation data collected from the user's device to confirm their current state of mind and stress level.

[1057] Step 10:

[1058] The server tailors recommendations based on the user's emotional state: for example, if a user is stressed, it recommends occupations that strengthen existing skills, while if a user is in a stable state, it recommends challenging skill acquisition.

[1059] Step 11:

[1060] The server returns the identified occupations, the skill gap list, and the tailored recommendations to the user, allowing the user to receive recommendations on the next skills to learn and suitable occupations.

[1061] Step 12:

[1062] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[1063] Example 2

[1064] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1065] While conventional career plan recommendation systems can recommend occupations based on a user's skill data, they have the problem of not being able to take into account the user's emotions and state of mind. As a result, they are unable to avoid recommending occupations that cause stress to the user, making it difficult to achieve optimal personalization.

[1066] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1067] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying an occupation best suited to the user based on the similarity, means for identifying skills lacking in the user from the skill set required for the identified occupation, and means for analyzing the user's emotional data and adjusting the content of recommendations based on the analysis results, thereby enabling more personalized career plan recommendations that take the user's emotional state into consideration.

[1068] "User skill data" is information that represents specific skills or abilities possessed by a user.

[1069] "Talent data" is a dataset that lists the skills and abilities required for each existing occupation.

[1070] "Vectorization" is the process of converting data into numerical vectors that facilitate computation and similarity assessment.

[1071] "Similarity" is an index that numerically evaluates the similarity between a user's skill data and talent data, and is obtained by calculation.

[1072] The "means for identifying an occupation" is a process for selecting an occupation that is closest to the user's skill set based on the similarity calculation results.

[1073] A "missing skill" is a technique or ability that the user has not yet acquired from the skill set required for the identified occupation.

[1074] "Emotion data" is information that represents the user's current emotional state, and is obtained from input content and usage history.

[1075] "Means for tailoring recommendation content" refers to the process of providing users with the most suitable occupations and skill sets based on the analyzed emotional data.

[1076] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, more personalized recommendations can be achieved. Specific embodiments for implementing the present invention are described below.

[1077] System configuration

[1078] The system consists of the following main components:

[1079] User skill data input method

[1080] How to combine with existing talent data

[1081] A means of vectorizing skill data

[1082] A method for calculating similarity between user and talent data

[1083] A means of identifying the most suitable occupation

[1084] How to identify skill gaps

[1085] Emotion Engine

[1086] Hardware and Software

[1087] This system uses the following hardware and software:

[1088] Hardware: Servers, user devices (PCs, smartphones, etc.)

[1089] Software: Database management systems (e.g., PostgreSQL), programming languages ​​(e.g., Python), machine learning libraries (e.g., SKLearn), emotion recognition tools (e.g., Emotion-API)

[1090] Data processing and calculation flow

[1091] 1. Enter user skill data:

[1092] The user enters their skill data into the terminal. For example, they might enter "Python, Data Visualization" in a comma-separated format.

[1093] The user manually enters their skills into the input form and clicks the submit button.

[1094] 2. Combination with Talent Data:

[1095] The server receives the skill data entered by the user and retrieves and combines it with existing talent data from a database.

[1096] 3. Vectorizing Skill Data:

[1097] The server vectorizes the user's skill and talent data using Python and the machine learning library TF-IDF vectorizer.

[1098] 4. Similarity calculation:

[1099] The server calculates the cosine similarity using the vectorized skill data and compares the similarity between the user's skill set and the occupation data.

[1100] 5. Occupation Identification:

[1101] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[1102] 6. Identify skills gaps:

[1103] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1104] 7. Emotion Recognition with Emotion Engine:

[1105] The server uses Emotion-API to analyze emotions from the user's input and usage history, and determines their current state of mind and stress level.

[1106] 8. Adjustment of recommendation content:

[1107] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[1108] Specific operation example

[1109] Here, the operation of the system will be explained using a specific example.

[1110] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1111] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[1112] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[1113] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[1114] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1115] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1116] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[1117] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[1118] Prompt Sentence Examples

[1119] An example of a prompt is as follows:

[1120] The user has entered "Python, Data Visualization." Combine the user's skills and talent data to recommend the most suitable occupation. However, if the user is feeling stressed, additionally recommend alternative occupations to reduce stress.

[1121] The above is a specific embodiment for carrying out the present invention. This system makes it possible to recommend a more personalized career plan that takes into account the user's emotional state.

[1122] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1123] Step 1:

[1124] The user enters their skill data into the terminal. For example, they manually enter the skill set "Python, Data Visualization" into the input form and click the submit button.

[1125] Input: User skill data

[1126] Output: User skill data sent from the device

[1127] Step 2:

[1128] The server receives the user's skill data sent from the device. The server uses a database management system (e.g., PostgreSQL) to retrieve existing talent data.

[1129] Input: User skill data, talent data in the database

[1130] Output: Combined skills data

[1131] Step 3:

[1132] The server converts the combined skill data into a numeric vector using Python and SKLearn's TF-IDF vectorizer.

[1133] Input: Combined skills data

[1134] Output: Vectorized skill data

[1135] What it does: The server lists all skill sets and vectorizes them by applying the TF-IDF vectorizer.

[1136] Step 4:

[1137] The server calculates the cosine similarity using the vectorized skill data, thereby evaluating the skill similarity between the user and existing talent data.

[1138] Input: Vectorized skill data

[1139] Output: Similarity score

[1140] Specific operation: The server uses the numpy library to calculate the similarity and performs a cosine similarity calculation.

[1141] Step 5:

[1142] The server identifies the occupation that is most similar to the user's skill set based on the calculated cosine similarity results.

[1143] Input: Similarity score

[1144] Output: Best occupation

[1145] Specific behavior: The server sorts the similarity scores and selects the occupation with the highest score.

[1146] Step 6:

[1147] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1148] Input: Best suited occupation, user's skill set

[1149] Output: Missing skill sets

[1150] Specific operation: The server compares the skill lists and performs list operations to extract any missing skills.

[1151] Step 7:

[1152] The server uses the Emotion-API to analyze emotions from the user's input and usage history, and determine their current state of mind and stress level.

[1153] Input: User input, usage history

[1154] Output: User emotion data

[1155] Specific operation: The server sends data to Emotion-API for analysis and receives the analysis results.

[1156] Step 8:

[1157] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[1158] Input: User sentiment data, missing skill set

[1159] Output: Adjusted job recommendation list

[1160] What happens: The server updates the list of suggested occupations and applies logic to refine the occupation candidates displayed to the user.

[1161] (Application example 2)

[1162] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1163] A typical career recommendation system recommends occupations and skills based on a user's skill data, but because it does not take into account the user's emotional state, it may make recommendations that do not match the user's stress or feelings. This results in a decrease in user satisfaction and makes it difficult for the user to select an appropriate career path.

[1164] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1165] In this invention, the server includes means for inputting user skill data, means for combining the skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the talent data, means for identifying the most suitable occupation based on the similarity, means for identifying skills that are lacking, an emotion engine for recognizing the user's emotional state, and means for adjusting the content of recommendations, thereby enabling the provision of a flexible and personalized career plan that takes the user's emotional state into consideration.

[1166] "User skill data" is information indicating the knowledge and skills possessed by the user.

[1167] "Talent data" is a pre-prepared data set that describes the skills and experience required for a particular job or role.

[1168] "Joining" is the operation of combining different data sets into one.

[1169] "Vectorization" is the process of converting text data into numeric vectors.

[1170] "Similarity" is an index that measures the relationship or proximity between different data.

[1171] "Cosine similarity" is a method for calculating similarity based on the angle between two vectors.

[1172] "TF-IDF vectorizer" is an algorithm that calculates the importance of words in a document and vectorizes them.

[1173] An "emotion engine" is a system that analyzes a user's emotional state from their text input and behavioral history.

[1174] "Recommendation content" refers to suggestions about occupations and skills that are presented to the user based on the analysis results.

[1175] This invention is a system that recommends optimal career plans and new skill sets based on a user's skill data. This system achieves more personalized recommendations by combining an emotion engine that recognizes the user's emotional state. Specific embodiments of the present invention are described below.

[1176] In an embodiment of the present invention, a user inputs their own skill data through a dedicated interface. The example skill data uses a comma-separated format of "Python, Data Visualization." This skill data is sent to a server and combined with existing talent data. Talent data refers to a dataset containing a list of skills required for each occupation.

[1177] The combined skill data is vectorized by the server. In this process, the text data is converted into a numerical vector using a TF-IDF vectorizer. The vectorized data is used to calculate the similarity between the user's skill data and the talent data. Cosine similarity is used to calculate the similarity.

[1178] The server identifies the occupation that best suits the user based on the calculated similarity. For example, the server may identify "Data Scientist" as the occupation that most closely matches the user's skill set "Python, Data Visualization." In this case, the server removes "Python, Data Visualization," which the user already possesses, from the skill set required for Data Scientist ("Python, Machine Learning, Data Analysis") and identifies the missing "Machine Learning, Data Analysis."

[1179] Furthermore, the server is equipped with an emotion engine that recognizes emotions from user input, usage history, and interactions. This engine analyzes the user's emotional state and stress level. Based on the analysis results, the server adjusts the recommendations. For example, for a user with high stress levels, it will recommend occupations that utilize their current skills rather than those that require more challenging skills.

[1180] In this way, by combining the emotion engine, it is possible to provide a flexible and personalized career plan that takes into account the user's emotional state.

[1181] As a concrete example, consider the case where a user inputs the skill set "Python, Data Visualization" into the system. The server combines this skill set with existing talent data to generate a list of all skills. This list is vectorized using a TF-IDF vectorizer, and the cosine similarity between the user's skill set and the talent data is calculated. As a result of the calculation, the server identifies the occupation "Data Scientist" as the most suitable for the user, and "Machine Learning, Data Analysis" as a missing skill. Furthermore, the server analyzes the user's state of mind using an emotion engine, and if the user's stress level is high, the server will also recommend the occupation "Data Analyst." In this way, the user can proceed with their learning with peace of mind.

[1182] Example prompts using generative AI models:

[1183] "Input the user's skill data (e.g., "Python, Data Visualization") and recommend the best career path or new skill set for electronic payment services. Also, adjust the recommendations based on the user's emotional state."

[1184] This system provides users with the best career path and proactively recommends jobs that take their emotional state into consideration.

[1185] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1186] Step 1:

[1187] The user inputs skill data into the system. Through the terminal interface, the user inputs their skill set in a comma-separated format. For example, they might input "Python, Data Visualization." This skill data is sent to the server.

[1188] Step 2:

[1189] The server receives the user's skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job. This combination generates a comprehensive skill list.

[1190] Step 3:

[1191] The server vectorizes the combined skill data. In this process, it uses TF-IDF vectorizer to convert the text data into a numerical vector. Here, it converts the entire skill list into numerical data while taking into account the importance of each skill.

[1192] Step 4:

[1193] The server uses the vectorized skill data to calculate the similarity between the user's skill data and the skill data of the existing talent data. Using cosine similarity, the server calculates the similarity between the user's skills and the talent data and evaluates the suitability for each occupation.

[1194] Step 5:

[1195] The server identifies the most suitable occupation for the user based on the similarity. In this process, the occupation that is closest to the user's skill set is selected based on the calculated cosine similarity. For example, the occupation "Data Scientist" is identified as the occupation that is closest to the user's skill set.

[1196] Step 6:

[1197] The server identifies the skills the user lacks from the skill set required for the identified occupation. For example, out of the "Python, Machine Learning, Data Analysis" skills required for a Data Scientist, the server identifies "Machine Learning, Data Analysis" as the missing skill, excluding "Python, Data Visualization" which the user already has.

[1198] Step 7:

[1199] The server uses an emotion engine to recognize the user's emotional state. It analyzes emotions from the user's input, usage history, and interactions to determine the user's current state of mind and stress level. For example, it can recognize that the user is in a stressful state of mind.

[1200] Step 8:

[1201] The server adjusts its recommendations based on the user's analyzed emotional state. If the user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills. For example, in addition to "Data Scientist," it will also recommend "Data Analyst," a job that reduces stress.

[1202] Through the above steps, users can obtain the optimal career plan based on their own skill data, and can also receive flexible recommendations that take into account their emotional state.

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

[1204] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. 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.

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

[1206] [Fourth embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[1219] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1220] The present invention relates to a system for recommending an optimal career plan or a new skill set based on a user's skill data. An embodiment of this system will be specifically described below.

[1221] System Overview

[1222] The system of the present invention allows users to input their own skill data and recommends the most suitable occupation and new skill set based on that data. The system is composed of the following main components:

[1223] User skill data input method

[1224] How to combine with existing talent data

[1225] A means of vectorizing skill data

[1226] A method for calculating similarity between user and talent data

[1227] A means of identifying the most suitable occupation

[1228] How to identify skill gaps

[1229] System Operation

[1230] 1. Enter user skill data:

[1231] Users enter their skills in a comma-separated format, such as "Python, Data Visualization."

[1232] 2. Combination with Talent Data:

[1233] The server combines the user's skill data with existing talent data, which contains a list of skills required for each job.

[1234] 3. Vectorizing Skill Data:

[1235] The server vectorizes the combined skill data using a TF-IDF vectorizer, which converts the string data into a numeric vector, making it easier to calculate similarity.

[1236] 4. Similarity calculation:

[1237] The server calculates the cosine similarity between the user's skill data and the skill data of the existing talent data, thereby identifying the occupations that most closely match the user's skill set.

[1238] 5. Occupation Identification:

[1239] The server identifies the occupation with the highest cosine similarity and obtains the skill set required for that occupation.

[1240] 6. Identify skills gaps:

[1241] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1242] Specific examples

[1243] Below is a concrete example of a user using the system.

[1244] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1245] 2. The server adds this skill set to the existing talent data to generate a full skill list.

[1246] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[1247] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[1248] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1249] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1250] In this way, users can effectively improve their skills by receiving specific career plans and new skill sets recommended by the system, allowing users to quickly and effectively plan their next career steps.

[1251] The processing flow will be explained below.

[1252] Step 1:

[1253] The user enters the skills they possess into the terminal, for example, "Python, Data Visualization" in a comma-separated format.

[1254] Step 2:

[1255] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[1256] Step 3:

[1257] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[1258] Step 4:

[1259] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[1260] Step 5:

[1261] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[1262] Step 6:

[1263] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[1264] Step 7:

[1265] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[1266] Step 8:

[1267] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[1268] Step 9:

[1269] The server returns the identified occupations and skill shortage list to the user, who can then receive recommendations on the next skills to learn and suitable occupations.

[1270] Step 10:

[1271] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[1272] Example 1

[1273] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1274] Previous career planning recommendation systems struggled to effectively utilize users' skill data to recommend optimal occupations and new skill sets. Furthermore, there was a lack of systems that could clearly identify skills that a user lacks based on their own skills input.

[1275] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1276] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing candidate data, means for converting the combined skill data into a numerical vector, means for calculating the similarity between the user skill data and the skill data of the existing candidate data, means for identifying an occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from a set of skills required for the identified occupation, and means for recommending the identified lacking skills to the user. This makes it possible to recommend an optimal occupation based on the user's skill data and to clearly identify and present lacking skills to the user.

[1277] "User skill data" is data that specifically represents the skills and knowledge that a user possesses.

[1278] "Existing candidate data" is data in a database that holds the required skill set for a job or role.

[1279] The "means for converting into a numerical vector" refers to a method or tool for converting skill data input as a character string into a numerical vector format.

[1280] A "means for calculating similarity" is a calculation method or algorithm used to measure the similarity between a user's skill data and existing candidate data.

[1281] A "means for identifying an optimal occupation" is a method or process for selecting an occupation that best suits a user's skill set based on the calculated similarity.

[1282] A "means for identifying missing skills" is a method or algorithm for identifying skills that a user does not have acquired from the skill set required for the identified occupation.

[1283] The "means for recommending skills that are lacking to the user" refers to a mechanism or method for presenting the identified skills that are lacking to the user and informing the user that they are new skills that should be learned.

[1284] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. The system of the present invention uses the following main components to allow a user to input their own skills and recommend optimal occupations and new skill sets based on that data:

[1285] Hardware and software used

[1286] The following hardware and software are used to implement the system of the present invention.

[1287] Hardware:

[1288] Server (with high-performance computing capabilities)

[1289] Terminals (devices through which users provide input data)

[1290] software:

[1291] Database management systems (RDBMS, etc.)

[1292] Server-side programming languages ​​(such as Python)

[1293] Machine learning libraries (e.g. sklearn)

[1294] Web server software (such as Apache)

[1295] Program processing

[1296] 1. Enter user skill data:

[1297] Users access the system's webpage using their devices and enter their skills in a comma-separated format into an input form, such as "Python, Data Visualization." After input, the data is sent to the server.

[1298] 2. Combination with Talent Data:

[1299] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[1300] 3. Vectorizing Skill Data:

[1301] The server converts the combined skill data into a numerical vector using a TF-IDF vectorizer. This operation allows the skill data to be represented as a numerical vector, enabling similarity calculation in the next step. Specifically, it uses the fit_transform() function from the Python "sklearn" library.

[1302] 4. Similarity calculation:

[1303] The server calculates the cosine similarity based on the vectorized skill data. This identifies the occupation that is closest to the user's skill set. The cosine similarity is calculated using the cosine_similarity function in "sklearn".

[1304] 5. Occupation Identification:

[1305] The server identifies the occupation with the highest cosine similarity, obtains the skill set required for that occupation, and compares it with the user's skill set to present the optimal career plan.

[1306] 6. Identifying and recommending skills gaps:

[1307] The server identifies skills that are lacking from the set of skills required for the identified occupation, excluding skills that the user already possesses. For example, if "Data Scientist" is identified, the server will exclude "Python, Machine Learning, Data Analysis," which the user already possesses, from the required skills "Python, Machine Learning, Data Analysis," and identify "Machine Learning, Data Analysis" as skills that are lacking. The identified lacking skills are recommended to the user and presented as new skills to learn.

[1308] Specific examples

[1309] Below is a concrete example of a user using the system.

[1310] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1311] 2. The server adds this skill set to the existing candidate data to generate a full skills list.

[1312] 3. The server vectorizes the entire skill list using sklearn's TF-IDF vectorizer.

[1313] 4. The server calculates the cosine similarity between the user's skill set and the candidate data.

[1314] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1315] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1316] Prompt Sentence Examples

[1317] You can test the system by inputting the following prompts into the generative AI model:

[1318] "Enter 'Python, Data Visualization' as the user skill data. Please recommend the most suitable occupation and skills that are lacking."

[1319] The prompt allows users to provide their skills to the system and have it recommend the best career path and new skill sets.

[1320] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1321] Step 1:

[1322] Entering User Skills Data

[1323] Users access the system's webpage using their devices and enter their skills in a comma-separated format. For example, "Python, Data Visualization." After entering the information, they click the "Submit" button and the skill data is sent to the server.

[1324] Input: User-entered skill data (e.g., "Python, Data Visualization")

[1325] Output: Skill data sent to the server

[1326] Step 2:

[1327] Combining with talent data

[1328] The server merges the received skills data with existing candidate data, which is stored in a database that maintains a list of skills required for each job. The server runs an SQL query to update the entire skill list by integrating the newly added skills data with the existing candidate data.

[1329] Input: User skill data and existing candidate data

[1330] Output: Combined skill data (full skill list)

[1331] Step 3:

[1332] Vectorization of skills data

[1333] The server uses a TF-IDF vectorizer to vectorize the combined skill data using the Python "sklearn" library, specifically converting the combined skill data into a numeric vector and creating a vector representation of the skill data.

[1334] Input: Combined skill data (full skill list)

[1335] Output: Vectorized skill data (numeric vector)

[1336] Step 4:

[1337] Similarity calculation

[1338] The server calculates the cosine similarity based on the vectorized skill data, which clarifies the similarity between the user skill set and the existing candidate data set. Specifically, it uses the cosine_similarity function in sklearn.

[1339] Input: Vectorized skill data (numeric vector)

[1340] Output: Similarity matrix

[1341] Step 5:

[1342] Identifying occupations

[1343] The server identifies the occupation that is closest to the user skill set based on the similarity matrix, obtains the required skill set from the identified occupation, and presents it to the user.

[1344] Input: Similarity matrix

[1345] Output: Best-fit occupations and required skill sets

[1346] Step 6:

[1347] Identifying and recommending skills gaps

[1348] The server identifies skills that are lacking from the required skill set for the identified occupation, excluding skills that the user already possesses. For example, if a user has "Python, Data Visualization," "Machine Learning, Data Analysis" will be identified as skills that are lacking. The identified skills that are lacking are recommended to the user and presented as new skills to learn.

[1349] Input: Optimal occupation and user skill set

[1350] Output: List of skills shortages

[1351] (Application example 1)

[1352] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1353] While conventional career guidance systems can recommend suitable occupations based on a user's skill data, they have difficulty providing specific plans and educational methods for users to effectively acquire the necessary skills. Furthermore, they lack connectivity with electronic payment services, which can hinder smooth skill acquisition, as users have no way to quickly pay for the costs of improving their skills.

[1354] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1355] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying the occupation most suitable for the user based on the similarity, means for identifying skills that the user lacks from the skill set required for the identified occupation, and means for recommending online educational programs to compensate for the lacking skills. This allows users to obtain a specific educational plan to quickly and effectively acquire the skills necessary for their careers, and allows them to smoothly pay for their education costs in cooperation with an electronic payment service.

[1356] "User skill data" is information that represents the abilities and knowledge that a user possesses.

[1357] "Talent Data" is a database that compiles information on the skills and experience required in various occupations.

[1358] "Combining" refers to the process of combining user skill data and talent data into a single data set.

[1359] "Vectorization" is the process of converting string data into numeric vectors, which allows for quantitative comparison of the data.

[1360] "Similarity calculation" is the process of quantitatively assessing the degree of similarity or relevance between two data sets.

[1361] "Occupation identification" is the process of selecting the occupation that best matches the user skill data.

[1362] "Identifying skills deficiencies" is the process of extracting skills that a user lacks from the skill set required for the job the user is aiming for.

[1363] An "online educational program" is an educational course or training program delivered via the Internet.

[1364] "Recommendation" is the process of suggesting specific educational programs or learning methods to users.

[1365] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Specifically, the system recommends appropriate occupations and educational programs to the user through the following steps:

[1366] First, the user inputs their skills from their device. The input skill data is then combined with existing talent data by the server. Talent data is a database that compiles the skills and experience required for various occupations. The server then vectorizes this combined data using a TF-IDF vectorizer. Vectorization converts character string data into numerical vectors, enabling quantitative comparison of the data.

[1367] Next, the server calculates the similarity between the user's skill data and the skill data in the talent data using cosine similarity. This calculation allows the server to identify the occupation that is most similar to the user's skill set. The server then obtains the required skill set for the identified occupation, and then excludes the skills the user already possesses to identify the skills that the user is lacking.

[1368] Furthermore, the server recommends online educational programs to fill in any missing skills, providing users with a specific educational plan to quickly and effectively acquire the skills they need for their careers.

[1369] The server also works with an electronic payment service to allow users to quickly pay for the recommended online educational programs, allowing users to smoothly improve their skills.

[1370] Hardware and software used

[1371] Hardware: Smartphones, tablets, PCs

[1372] Software: Python, scikit-learn, TfidfVectorizer, cosine_similarity

[1373] Examples and prompts

[1374] For example, if User A inputs the skills "Java, SQL, Web Development," the server checks the talent database and determines that "Software Engineer" is the most suitable, and identifies "Cloud Computing, System Design" as the missing skills. In this case, the following prompt sentence is used:

[1375] Example prompt sentence:

[1376] Enter your skills below: "Java, SQL, Web Development"

[1377] In addition, users can easily take recommended online educational programs to improve their skills using their smartphones and quickly pay for them through electronic payment services.

[1378] In this way, users can get a clear career plan and concrete steps to acquire skills, which will help them advance their careers.

[1379] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1380] Step 1:

[1381] The user uses a terminal to input their skills, and the input skill data is sent to the server in a format such as "Java, SQL, Web Development."

[1382] Step 2:

[1383] The server combines the user's skill data with existing talent data. The talent data is a database of skills and experience required for various occupations. The combined dataset includes the user's skill data and the required skill data for each occupation.

[1384] Step 3:

[1385] The server vectorizes the combined skill data. Specifically, it uses a TF-IDF vectorizer to convert the string data into a numeric vector. This conversion enables quantitative comparison of the data. The input is the combined skill data, and the output is the vectorized data.

[1386] Step 4:

[1387] The server calculates the similarity between the vectorized user skill data and the skill data in the talent data. It uses cosine similarity to identify the occupations that are most similar to the user's skill set. The input is the vectorized data, and the output is the occupations with the highest similarity.

[1388] Step 5:

[1389] The server identifies the most suitable occupation for the user based on the similarity score. The required skill set for the identified occupation is obtained. The input is the calculated similarity score, and the output is the identified occupation and its required skill set.

[1390] Step 6:

[1391] The server excludes the skills the user already possesses from the skill set required for the identified occupation and identifies the skills that are lacking. The input is the user's skill data and the skill set for the identified occupation, and the output is the skills that are lacking.

[1392] Step 7:

[1393] The server recommends online educational programs to fill in the gaps in skills. Using a recommendation algorithm, it proposes optimal training programs and courses based on the user's gaps in skills. The input is the gaps in skills, and the output is the recommended online educational programs.

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

[1395] The present invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data, and furthermore, by combining it with an emotion engine that recognizes the user's emotions, it realizes more personalized recommendations. An example of this system is described below in detail.

[1396] System configuration

[1397] The system consists of the following main components:

[1398] User skill data input method

[1399] How to combine with existing talent data

[1400] A method for vectorizing skill data (using TF-IDF vectorizer)

[1401] Similarity calculation method between user and talent data (using cosine similarity)

[1402] A means of identifying the most suitable occupation

[1403] How to identify skill gaps

[1404] Emotion Engine

[1405] System Operation

[1406] 1. Enter user skill data:

[1407] The user enters the skills they have into the terminal. For example, enter skills in a comma-separated format such as "Python, Data Visualization."

[1408] 2. Combination with Talent Data:

[1409] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[1410] 3. Vectorizing Skill Data:

[1411] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[1412] 4. Similarity calculation:

[1413] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data, and calculates the similarity between each data using cosine similarity.

[1414] 5. Occupation Identification:

[1415] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[1416] 6. Identify skills gaps:

[1417] The server subtracts skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1418] 7. Emotion Recognition with Emotion Engine:

[1419] The server uses an emotion engine to recognize the user's emotions based on their input, usage history, and interactions. It analyzes the user's emotions and determines their current state of mind and stress level.

[1420] 8. Adjustment of recommendation content:

[1421] The server adjusts the recommendations based on the analyzed user's emotions. For example, if a user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills, taking into account the user's emotional state.

[1422] Specific examples

[1423] Below is a concrete example of a user using the system.

[1424] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1425] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[1426] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[1427] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[1428] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1429] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1430] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[1431] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[1432] In this way, by combining the emotion engine, we can provide a flexible and personalized career plan that responds to the user's emotional state, allowing users to confidently select the occupation and skills that best suit them.

[1433] The processing flow will be explained below.

[1434] Step 1:

[1435] The user enters the skills they possess into the terminal. For example, they enter skills in a comma-separated format such as "Python, Data Visualization."

[1436] Step 2:

[1437] The server receives the user-entered skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job.

[1438] Step 3:

[1439] The server prepares the combined skill data for vectorization, specifically by compiling all skill sets into a list, which includes the user's skill data and existing talent data.

[1440] Step 4:

[1441] The server converts all skill sets into numerical vectors using a TF-IDF vectorizer, which calculates the importance of each skill and then quantifies the skill set based on that.

[1442] Step 5:

[1443] The server uses the vectorized skill data to calculate the similarity between the user skill data and the skill data of the existing talent data. Specifically, the server calculates the similarity between each data using cosine similarity.

[1444] Step 6:

[1445] The server determines the occupation that best matches the user's skill set based on the calculated cosine similarity, and the occupation with the highest cosine similarity is deemed to be the most suitable for the user.

[1446] Step 7:

[1447] The server retrieves the required skillset for the specified job, which is a list of skills required for success in that job.

[1448] Step 8:

[1449] The server compares the skills the user already possesses with the skill set required for the identified occupation, identifies skills the user does not possess, and creates a skills gap list.

[1450] Step 9:

[1451] The server uses an emotion engine to recognize the user's emotions, analyzing input data, usage history, and conversation data collected from the user's device to confirm their current state of mind and stress level.

[1452] Step 10:

[1453] The server tailors recommendations based on the user's emotional state: for example, if a user is stressed, it recommends occupations that strengthen existing skills, while if a user is in a stable state, it recommends challenging skill acquisition.

[1454] Step 11:

[1455] The server returns the identified occupations, the skill gap list, and the tailored recommendations to the user, allowing the user to receive recommendations on the next skills to learn and suitable occupations.

[1456] Step 12:

[1457] The user designs future skill acquisition plans and career plans based on the information received from the server, which provides the user with specific steps to effectively advance their career.

[1458] Example 2

[1459] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1460] While conventional career plan recommendation systems can recommend occupations based on a user's skill data, they have the problem of not being able to take into account the user's emotions and state of mind. As a result, they are unable to avoid recommending occupations that cause stress to the user, making it difficult to achieve optimal personalization.

[1461] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1462] In this invention, the server includes means for inputting user skill data, means for combining the user skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the skill data of the existing talent data, means for identifying an occupation best suited to the user based on the similarity, means for identifying skills lacking in the user from the skill set required for the identified occupation, and means for analyzing the user's emotional data and adjusting the content of recommendations based on the analysis results, thereby enabling more personalized career plan recommendations that take the user's emotional state into consideration.

[1463] "User skill data" is information that represents specific skills or abilities possessed by a user.

[1464] "Talent data" is a dataset that lists the skills and abilities required for each existing occupation.

[1465] "Vectorization" is the process of converting data into numerical vectors that facilitate computation and similarity assessment.

[1466] "Similarity" is an index that numerically evaluates the similarity between a user's skill data and talent data, and is obtained by calculation.

[1467] The "means for identifying an occupation" is a process for selecting an occupation that is closest to the user's skill set based on the similarity calculation results.

[1468] A "missing skill" is a technique or ability that the user has not yet acquired from the skill set required for the identified occupation.

[1469] "Emotion data" is information that represents the user's current emotional state, and is obtained from input content and usage history.

[1470] "Means for tailoring recommendation content" refers to the process of providing users with the most suitable occupations and skill sets based on the analyzed emotional data.

[1471] This invention relates to a system that recommends optimal career plans and new skill sets based on a user's skill data. Furthermore, by combining this system with an emotion engine that recognizes the user's emotions, more personalized recommendations can be achieved. Specific embodiments for implementing the present invention are described below.

[1472] System configuration

[1473] The system consists of the following main components:

[1474] User skill data input method

[1475] How to combine with existing talent data

[1476] A means of vectorizing skill data

[1477] A method for calculating similarity between user and talent data

[1478] A means of identifying the most suitable occupation

[1479] How to identify skill gaps

[1480] Emotion Engine

[1481] Hardware and Software

[1482] This system uses the following hardware and software:

[1483] Hardware: Servers, user devices (PCs, smartphones, etc.)

[1484] Software: Database management systems (e.g., PostgreSQL), programming languages ​​(e.g., Python), machine learning libraries (e.g., SKLearn), emotion recognition tools (e.g., Emotion-API)

[1485] Data processing and calculation flow

[1486] 1. Enter user skill data:

[1487] The user enters their skill data into the terminal. For example, they might enter "Python, Data Visualization" in a comma-separated format.

[1488] The user manually enters their skills into the input form and clicks the submit button.

[1489] 2. Combination with Talent Data:

[1490] The server receives the skill data entered by the user and retrieves and combines it with existing talent data from a database.

[1491] 3. Vectorizing Skill Data:

[1492] The server vectorizes the user's skill and talent data using Python and the machine learning library TF-IDF vectorizer.

[1493] 4. Similarity calculation:

[1494] The server calculates the cosine similarity using the vectorized skill data and compares the similarity between the user's skill set and the occupation data.

[1495] 5. Occupation Identification:

[1496] The server identifies the occupation that is closest to the user's skill set based on the calculated cosine similarity results.

[1497] 6. Identify skills gaps:

[1498] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1499] 7. Emotion Recognition with Emotion Engine:

[1500] The server uses Emotion-API to analyze emotions from the user's input and usage history, and determines their current state of mind and stress level.

[1501] 8. Adjustment of recommendation content:

[1502] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[1503] Specific operation example

[1504] Here, the operation of the system will be explained using a specific example.

[1505] 1. A user enters the skillset "Python, Data Visualization" into the system.

[1506] 2. The server combines this skill set with existing talent data to generate a complete skill list.

[1507] 3. The server vectorizes the entire skill list using the TF-IDF vectorizer.

[1508] 4. The server calculates the cosine similarity between the user's skill set and the talent data.

[1509] 5. Based on the similarity results, the server identifies the occupation "Data Scientist" as the closest to the user's skill set.

[1510] 6. The server identifies "Python, Machine Learning, Data Analysis" as a missing skill from the skills required for a Data Scientist, excluding "Python, Data Visualization" which the user already has.

[1511] 7. The server uses an emotion engine to analyze the user's emotions based on the user's input and usage history, and recognizes that the user's current state of mind is stressful.

[1512] 8. The server considers the user's stress level and recommends an additional occupation called "Data Analyst," which is relatively stress-reducing. This helps the user to proceed with their studies with peace of mind.

[1513] Prompt Sentence Examples

[1514] An example of a prompt is as follows:

[1515] The user has entered "Python, Data Visualization." Combine the user's skills and talent data to recommend the most suitable occupation. However, if the user is feeling stressed, additionally recommend alternative occupations to reduce stress.

[1516] The above is a specific embodiment for carrying out the present invention. This system makes it possible to recommend a more personalized career plan that takes into account the user's emotional state.

[1517] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1518] Step 1:

[1519] The user enters their skill data into the terminal. For example, they manually enter the skill set "Python, Data Visualization" into the input form and click the submit button.

[1520] Input: User skill data

[1521] Output: User skill data sent from the device

[1522] Step 2:

[1523] The server receives the user's skill data sent from the device. The server uses a database management system (e.g., PostgreSQL) to retrieve existing talent data.

[1524] Input: User skill data, talent data in the database

[1525] Output: Combined skills data

[1526] Step 3:

[1527] The server converts the combined skill data into a numeric vector using Python and SKLearn's TF-IDF vectorizer.

[1528] Input: Combined skills data

[1529] Output: Vectorized skill data

[1530] What it does: The server lists all skill sets and vectorizes them by applying the TF-IDF vectorizer.

[1531] Step 4:

[1532] The server calculates the cosine similarity using the vectorized skill data, thereby evaluating the skill similarity between the user and existing talent data.

[1533] Input: Vectorized skill data

[1534] Output: Similarity score

[1535] Specific operation: The server uses the numpy library to calculate the similarity and performs a cosine similarity calculation.

[1536] Step 5:

[1537] The server identifies the occupation that is most similar to the user's skill set based on the calculated cosine similarity results.

[1538] Input: Similarity score

[1539] Output: Best occupation

[1540] Specific behavior: The server sorts the similarity scores and selects the occupation with the highest score.

[1541] Step 6:

[1542] The server excludes skills already possessed by the user from the skill set required for the identified occupation and identifies skills that are lacking.

[1543] Input: Best suited occupation, user's skill set

[1544] Output: Missing skill sets

[1545] Specific operation: The server compares the skill lists and performs list operations to extract any missing skills.

[1546] Step 7:

[1547] The server uses the Emotion-API to analyze emotions from the user's input and usage history, and determine their current state of mind and stress level.

[1548] Input: User input, usage history

[1549] Output: User emotion data

[1550] Specific operation: The server sends data to Emotion-API for analysis and receives the analysis results.

[1551] Step 8:

[1552] The server then adjusts recommendations based on the analyzed emotional data. For example, if a user is feeling stressed, it will recommend jobs that utilize existing skills rather than challenging skills.

[1553] Input: User sentiment data, missing skill set

[1554] Output: Adjusted job recommendation list

[1555] What happens: The server updates the list of suggested occupations and applies logic to refine the occupation candidates displayed to the user.

[1556] (Application example 2)

[1557] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1558] A typical career recommendation system recommends occupations and skills based on a user's skill data, but because it does not take into account the user's emotional state, it may make recommendations that do not match the user's stress or feelings. This results in a decrease in user satisfaction and makes it difficult for the user to select an appropriate career path.

[1559] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1560] In this invention, the server includes means for inputting user skill data, means for combining the skill data with existing talent data, means for vectorizing the combined skill data, means for calculating the similarity between the user skill data and the talent data, means for identifying the most suitable occupation based on the similarity, means for identifying skills that are lacking, an emotion engine for recognizing the user's emotional state, and means for adjusting the content of recommendations, thereby enabling the provision of a flexible and personalized career plan that takes the user's emotional state into consideration.

[1561] "User skill data" is information indicating the knowledge and skills possessed by the user.

[1562] "Talent data" is a pre-prepared data set that describes the skills and experience required for a particular job or role.

[1563] "Joining" is the operation of combining different data sets into one.

[1564] "Vectorization" is the process of converting text data into numeric vectors.

[1565] "Similarity" is an index that measures the relationship or proximity between different data.

[1566] "Cosine similarity" is a method for calculating similarity based on the angle between two vectors.

[1567] "TF-IDF vectorizer" is an algorithm that calculates the importance of words in a document and vectorizes them.

[1568] An "emotion engine" is a system that analyzes a user's emotional state from their text input and behavioral history.

[1569] "Recommendation content" refers to suggestions about occupations and skills that are presented to the user based on the analysis results.

[1570] This invention is a system that recommends optimal career plans and new skill sets based on a user's skill data. This system achieves more personalized recommendations by combining an emotion engine that recognizes the user's emotional state. Specific embodiments of the present invention are described below.

[1571] In an embodiment of the present invention, a user inputs their own skill data through a dedicated interface. The example skill data uses a comma-separated format of "Python, Data Visualization." This skill data is sent to a server and combined with existing talent data. Talent data refers to a dataset containing a list of skills required for each occupation.

[1572] The combined skill data is vectorized by the server. In this process, the text data is converted into a numerical vector using a TF-IDF vectorizer. The vectorized data is used to calculate the similarity between the user's skill data and the talent data. Cosine similarity is used to calculate the similarity.

[1573] The server identifies the occupation that best suits the user based on the calculated similarity. For example, the server may identify "Data Scientist" as the occupation that most closely matches the user's skill set "Python, Data Visualization." In this case, the server removes "Python, Data Visualization," which the user already possesses, from the skill set required for Data Scientist ("Python, Machine Learning, Data Analysis") and identifies the missing "Machine Learning, Data Analysis."

[1574] Furthermore, the server is equipped with an emotion engine that recognizes emotions from user input, usage history, and interactions. This engine analyzes the user's emotional state and stress level. Based on the analysis results, the server adjusts the recommendations. For example, for a user with high stress levels, it will recommend occupations that utilize their current skills rather than those that require more challenging skills.

[1575] In this way, by combining the emotion engine, it is possible to provide a flexible and personalized career plan that takes into account the user's emotional state.

[1576] As a concrete example, consider the case where a user inputs the skill set "Python, Data Visualization" into the system. The server combines this skill set with existing talent data to generate a list of all skills. This list is vectorized using a TF-IDF vectorizer, and the cosine similarity between the user's skill set and the talent data is calculated. As a result of the calculation, the server identifies the occupation "Data Scientist" as the most suitable for the user, and "Machine Learning, Data Analysis" as a missing skill. Furthermore, the server analyzes the user's state of mind using an emotion engine, and if the user's stress level is high, the server will also recommend the occupation "Data Analyst." In this way, the user can proceed with their learning with peace of mind.

[1577] Example prompts using generative AI models:

[1578] "Input the user's skill data (e.g., "Python, Data Visualization") and recommend the best career path or new skill set for electronic payment services. Also, adjust the recommendations based on the user's emotional state."

[1579] This system provides users with the best career path and proactively recommends jobs that take their emotional state into consideration.

[1580] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1581] Step 1:

[1582] The user inputs skill data into the system. Through the terminal interface, the user inputs their skill set in a comma-separated format. For example, they might input "Python, Data Visualization." This skill data is sent to the server.

[1583] Step 2:

[1584] The server receives the user's skill data and combines it with existing talent data, which is a dataset containing a list of skills required for each job. This combination generates a comprehensive skill list.

[1585] Step 3:

[1586] The server vectorizes the combined skill data. In this process, it uses TF-IDF vectorizer to convert the text data into a numerical vector. Here, it converts the entire skill list into numerical data while taking into account the importance of each skill.

[1587] Step 4:

[1588] The server uses the vectorized skill data to calculate the similarity between the user's skill data and the skill data of the existing talent data. Using cosine similarity, the server calculates the similarity between the user's skills and the talent data and evaluates the suitability for each occupation.

[1589] Step 5:

[1590] The server identifies the most suitable occupation for the user based on the similarity. In this process, the occupation that is closest to the user's skill set is selected based on the calculated cosine similarity. For example, the occupation "Data Scientist" is identified as the occupation that is closest to the user's skill set.

[1591] Step 6:

[1592] The server identifies the skills the user lacks from the skill set required for the identified occupation. For example, out of the "Python, Machine Learning, Data Analysis" skills required for a Data Scientist, the server identifies "Machine Learning, Data Analysis" as the missing skill, excluding "Python, Data Visualization" which the user already has.

[1593] Step 7:

[1594] The server uses an emotion engine to recognize the user's emotional state. It analyzes emotions from the user's input, usage history, and interactions to determine the user's current state of mind and stress level. For example, it can recognize that the user is in a stressful state of mind.

[1595] Step 8:

[1596] The server adjusts its recommendations based on the user's analyzed emotional state. If the user is under high stress, it will recommend occupations that utilize existing skills rather than challenging skills. For example, in addition to "Data Scientist," it will also recommend "Data Analyst," a job that reduces stress.

[1597] Through the above steps, users can obtain the optimal career plan based on their own skill data, and can also receive flexible recommendations that take into account their emotional state.

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

[1599] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. 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.

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

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

[1602] FIG. 9 is a diagram illustrating 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 actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect 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.

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

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

[1605] 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 indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, 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 indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

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

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

[1608] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1609] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

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

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

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

[1613] The hardware resource for executing a specific process can be any of the following processors: An example of a processor 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. Another example of a processor is 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.

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

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

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

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

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

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

[1620] (Claim 1)

[1621] a means for inputting user skill data;

[1622] means for combining said user's skill data with existing talent data;

[1623] a means for vectorizing the combined skill data;

[1624] A means for calculating a similarity between the skill data of the user and the skill data of existing talent data;

[1625] means for identifying a most suitable occupation for the user based on the similarity;

[1626] The system includes a means for identifying skills that a user lacks from the skill set required for the identified occupation.

[1627] (Claim 2)

[1628] 2. The system of claim 1, further comprising means for using a TF-IDF vectorizer as the means for vectorizing the skill data.

[1629] (Claim 3)

[1630] 2. The system of claim 1, further comprising means for using cosine similarity as the means for calculating the similarity.

[1631] "Example 1"

[1632] (Claim 1)

[1633] a means for inputting user skill data;

[1634] means for combining said user's skill data with existing candidate data;

[1635] a means for converting the combined skill data into a numerical vector;

[1636] means for calculating a similarity between the skill data of the user and the skill data of existing candidate data;

[1637] means for identifying a most suitable occupation for the user based on the similarity;

[1638] a means for identifying skills lacking in the user from a set of skills required for the identified occupation;

[1639] a means for recommending the identified skill deficiency to a user;

[1640] A system including:

[1641] (Claim 2)

[1642] 2. The system of claim 1, further comprising means for using a weighting technique as the means for converting to a numeric vector.

[1643] (Claim 3)

[1644] The system of claim 1 , further comprising: means for using an angle-based similarity measure as the means for calculating the similarity.

[1645] "Application Example 1"

[1646] (Claim 1)

[1647] a means for inputting user skill data;

[1648] means for combining said user's skill data with existing talent data;

[1649] a means for vectorizing the combined skill data;

[1650] A means for calculating a similarity between the skill data of the user and the skill data of existing talent data;

[1651] means for identifying a most suitable occupation for the user based on the similarity;

[1652] A means for identifying skills that the user lacks from the skill set required for the identified occupation;

[1653] A system that includes a means to recommend online educational programs to fill skill gaps.

[1654] (Claim 2)

[1655] 2. The system of claim 1, further comprising means for using a TF-IDF vectorizer as the means for vectorizing the skill data.

[1656] (Claim 3)

[1657] 2. The system of claim 1, further comprising means for using cosine similarity as the means for calculating the similarity.

[1658] "Example 2: Combining Emotion Engines"

[1659] (Claim 1)

[1660] a means for inputting user skill data;

[1661] means for combining said user's skill data with existing talent data;

[1662] a means for vectorizing the combined skill data;

[1663] A means for calculating a similarity between the skill data of the user and the skill data of existing talent data;

[1664] means for identifying a most suitable occupation for the user based on the similarity;

[1665] A means for identifying skills that the user lacks from the skill set required for the identified occupation;

[1666] A system including means for analyzing user emotion data and adjusting recommendation content based on the analysis results.

[1667] (Claim 2)

[1668] 2. The system of claim 1, further comprising means for using a TF-IDF vectorizer as the means for vectorizing the skill data.

[1669] (Claim 3)

[1670] 2. The system of claim 1, further comprising means for using cosine similarity as the means for calculating the similarity.

[1671] "Application example 2 when combining emotion engines"

[1672] (Claim 1)

[1673] a means for inputting user skill data;

[1674] means for combining said user's skill data with existing talent data;

[1675] a means for vectorizing the combined skill data;

[1676] A means for calculating a similarity between the skill data of the user and the skill data of existing talent data;

[1677] means for identifying a most suitable occupation for the user based on the similarity;

[1678] A means for identifying skills that the user lacks from the skill set required for the identified occupation;

[1679] an emotion engine that recognizes the user's emotional state;

[1680] The system includes means for adjusting recommendations based on the emotional state of the user.

[1681] (Claim 2)

[1682] 2. The system of claim 1, further comprising means for using a TF-IDF vectorizer as the means for vectorizing the skill data.

[1683] (Claim 3)

[1684] 2. The system of claim 1, further comprising means for using cosine similarity as the means for calculating the similarity. [Explanation of symbols]

[1685] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. a means for inputting user skill data; means for combining said user's skill data with existing talent data; a means for vectorizing the combined skill data; A means for calculating a similarity between the skill data of the user and the skill data of existing talent data; means for identifying a most suitable occupation for the user based on the similarity; The system includes a means for identifying skills that a user lacks from the skill set required for the identified occupation.

2. 2. The system of claim 1, further comprising means for using a TF-IDF vectorizer as the means for vectorizing the skill data.

3. 2. The system of claim 1, further comprising means for using cosine similarity as the means for calculating the similarity.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A