System

The system addresses inefficient recruitment processes by analyzing resume data, calculating cosine similarity, and generating interview questions, enhancing the recruitment process's efficiency and accuracy.

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

Patent Information

Application Number
JP2024119005
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

The inefficient and labor-intensive recruitment processes in Japan's labor market, particularly in analyzing resumes, matching candidates with job postings, and generating interview questions, lead to difficulties in quickly finding suitable talent.

Method used

A system that analyzes resume text data to extract candidate experience, skills, and educational background, vectorizes this information, calculates cosine similarity with job postings, and generates matching scores and interview questions, automating the hiring process.

Benefits of technology

This system streamlines the recruitment process by efficiently matching candidates with suitable job openings and generating relevant interview questions, improving efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026017944000001_ABST
    Figure 2026017944000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system, comprising: means for analyzing text data of a resume to extract a candidate's experience, skills, and education; means for vectorizing the extracted candidate's profile with a job offer and calculating a cosine similarity to generate a matching score; means for generating a relevant interview question for the candidate if the matching score exceeds a certain threshold; and means for presenting the generated interview question and the matching score to the candidate.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

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

[0004] In Japan's tough labor market, a large number of applications strains companies' human resources, leading to inefficient recruitment processes. This problem makes it difficult to quickly find suitable talent, so there is a need to streamline the recruitment process. [Means for solving the problem]

[0005] The present invention provides a system that analyzes text data from resumes to extract a candidate's experience, skills, and educational background, vectorizes the extracted candidate profile with a job posting, calculates the cosine similarity, and generates a matching score. The system further includes a system that generates relevant interview questions for the candidate when the matching score exceeds a certain threshold, and a system that presents the generated interview questions and matching score to the candidate. This automates the hiring process and enables the rapid identification of suitable candidates.

[0006] "Resume text data" refers to document-format data that includes information such as work experience, skill set, and educational background submitted by an applicant.

[0007] "Analysis" refers to the manipulation or processing of specific data to extract meaning or information.

[0008] "Candidate Experience" means information about the job, projects, or other work experience that the applicant has previously undertaken.

[0009] "Skills" refers to the skills and abilities an applicant possesses to perform a specific job or task.

[0010] "Educational background" refers to information indicating the applicant's educational history, including degrees obtained and educational institutions graduated from.

[0011] "Extraction" refers to the process of extracting the desired information from a particular data set.

[0012] "Profile" means a collection of data that aggregates multiple pieces of information about a particular individual or object.

[0013] A "job posting" is a document published by a company or recruiter that lists the requirements and conditions for a particular job or position.

[0014] "Vectorization" is the process of converting text data into numerical vectors, a key step in making it usable by machine learning algorithms.

[0015] "Cosine similarity" is a method for evaluating the similarity between two vectors by calculating the cosine angle between them.

[0016] A "matching score" is a numerical representation of the degree of compatibility between a candidate's profile and a job posting; the higher the score, the better the match.

[0017] A "certain threshold" refers to a specific numerical value set to determine whether a certain standard is exceeded.

[0018] "Interview questions" means questions asked by recruiters to assess a candidate's aptitude and abilities.

[0019] "Generation" means creating new data or information based on specific conditions or algorithms.

[0020] "Presenting to candidate" refers to the process of informing the applicant of the results of the analysis or evaluation. [Brief explanation of the drawings]

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

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

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

[0024] 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).

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

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

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

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

[0029] [First embodiment]

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

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

[0032] 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).

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

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

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

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

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

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

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

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

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

[0042] 1. System Overview

[0043] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0044] 2. Program Processing Overview

[0045] 2-1. Resume analysis

[0046] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." For this purpose, the server uses a pre-trained Japanese natural language processing model.

[0047] For example, if a job seeker submits a resume to the server stating, "Five years of software development experience, fluent in Python and Java, graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0048] Experience: 5 years of software development experience

[0049] Skills: Python, Java

[0050] Education: Graduated from the University of Tokyo

[0051] 2-2. Job matching

[0052] The server compares the generated candidate profile with the job postings provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility.

[0053] For example, if a job posting states, "We are looking for a software developer. Required skills are Python and Java. Desired experience is 5+ years," the server will calculate the similarity between the candidate profile and the job posting and obtain a matching score of, say, 0.9, which indicates a high degree of fit.

[0054] 2-3. Interview question generation

[0055] The server generates interview questions based on the candidate's skill set, such as "Explain class design in Python" for a candidate with "Python" skill, or "Do you know about garbage collection in Java?" for a candidate with "Java" skill.

[0056] 2-4. Presentation of results

[0057] The generated matching score and interview questions are sent from the server to the user's terminal. The job seeker can check the results and decide on the next action (e.g., proceed with the application process or prepare for an interview).

[0058] As a concrete example, if a user has "5 years of software development experience and is familiar with Python and Java," the server will present the user with interview questions such as "Describe class design in Python" and "Do you know about garbage collection in Java?"

[0059] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

[0060] The processing flow will be explained below.

[0061] Step 1:

[0062] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[0063] Step 2:

[0064] The server receives the text data of the resume sent by the user, and the received data is passed to the analysis module for using natural language processing technology.

[0065] Step 3:

[0066] The server uses a natural language processing module (e.g., Spacy's Japanese model) to analyze the text data of the resume. Through this analysis, the server extracts information on the candidate's "experience," "skills," and "educational background."

[0067] Step 4:

[0068] The server generates a candidate profile based on the extracted information, which is then stored for further job matching steps.

[0069] Step 5:

[0070] The server acquires the text data of the job posting. The job posting is either stored on the server in advance or received from the company. The server vectorizes the text data of the job posting and the candidate profile.

[0071] Step 6:

[0072] The server compares the vectorized candidate profile with the job posting using cosine similarity calculation, which calculates a match score between the candidate and the job posting.

[0073] Step 7:

[0074] The server determines that a job offer is suitable for a candidate if the score exceeds a certain threshold based on the calculated matching score. Additionally, the server generates interview questions based on the candidate's skill set.

[0075] Step 8:

[0076] The server compiles the generated matching scores and the results of the interview questions and sends them to the user's device in JSON format.

[0077] Step 9:

[0078] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching scores and interview questions.

[0079] Step 10:

[0080] Based on the presented interview questions and matching score, the user decides on the next action (such as proceeding with the application process or preparing for an interview). The terminal then sends the user's selection back to the server and initiates any additional processing required.

[0081] Example 1

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

[0083] Traditionally, it has been difficult to efficiently carry out recruitment processes such as analyzing resumes, matching them with job postings, and generating appropriate interview questions. In particular, the recruitment process in Japan requires manual analysis of large amounts of text data and matching with each profile, which is extremely time-consuming and labor-intensive. Furthermore, generating appropriate interview questions requires understanding detailed candidate information and formulating questions based on that information, which is a manual process with limitations. For this reason, there is a need for a system that can improve the efficiency and accuracy of the entire recruitment process.

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

[0085] In this invention, the server includes means for receiving and parsing resume text data, means for analyzing the received resume text data to extract the candidate's experience, skills, and educational background, and means for converting the extracted candidate profile with the job posting into a numerical vector and calculating the cosine similarity to generate a matching score. This improves the efficiency and accuracy of the recruitment process, enabling quick and accurate matching of job seekers with job postings and the generation of appropriate interview questions.

[0086] The "means for receiving and parsing resume text data" refers to the means by which the server receives the resume text data sent by the user (job seeker) and converts the data into a format that is easy to analyze.

[0087] "Means for analyzing text data of received resumes and extracting the experience, skills, and educational background of candidates" refers to means for extracting information on the experience, skills, and educational background of candidates from the text data of received resumes using natural language processing technology.

[0088] The "means for converting the extracted candidate profile into a job posting and a numerical vector, and calculating the cosine similarity to generate a matching score" refers to a means for converting text data into a numerical vector, and calculating the cosine similarity between the job posting and the candidate profile to generate a matching score indicating the degree of compatibility.

[0089] The "means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold" refers to a means for automatically generating interview questions based on the candidate's skill set and experience when the matching score exceeds a set reference value.

[0090] The "means for presenting the generated matching score and interview questions to the candidate" refers to a means for transmitting the generated matching score and interview questions to the user's terminal so that the candidate can check them.

[0091] "Means for analyzing resume text data using a natural language processing model and extracting experience, skills, and educational background" means means for analyzing resume text data using a pre-trained natural language processing model and extracting a candidate's experience, skills, and educational background from the data.

[0092] The "means for evaluating vectorized data between a candidate profile and a job posting using cosine similarity calculation" refers to a means for converting text data of a candidate profile and a job posting into numerical vectors and evaluating the similarity between them using cosine similarity calculation.

[0093] 1. System Overview

[0094] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0095] 2. Hardware and Software Used

[0096] The system mainly operates using a server, a terminal, and a natural language processing model. Specifically, it has the following configuration:

[0097] Server: Receives resume data, analyzes it, creates profiles, performs job matching, generates interview questions, and presents the results.

[0098] Terminal: Provides an interface for users to input and upload their resumes and check the results.

[0099] Software: Analyze text data using natural language processing models (e.g., BERT model).

[0100] 3. Program Processing Overview

[0101] The server receives the resume text data sent by the user (job seeker) via their device and performs parsing to convert the data into an appropriate format. Next, it uses natural language processing technology to analyze the text data and extract information about the candidate's experience, skills, and educational background. It generates a candidate profile based on the analyzed information and compares it with the company's job posting to calculate a matching score. If this matching score exceeds a certain threshold, it generates interview questions based on the candidate's skill set. Finally, it sends the generated matching score and interview questions to the user's device, where the candidate confirms them.

[0102] 4. Examples of concrete examples and prompts

[0103] As a concrete example, consider the case where a job seeker submits a resume to the server stating, "5 years of software development experience, fluent in Python and Java, graduated from the University of Tokyo." The server analyzes this and generates a profile like this:

[0104] Experience: 5 years of software development experience

[0105] Skills: Python, Java

[0106] Education: Graduated from the University of Tokyo

[0107] This profile is compared with the company's job postings to get a matching score of, say, 0.9. If this score exceeds a certain threshold, the server generates interview questions such as "Describe class design in Python" or "Do you know about garbage collection in Java?"

[0108] Examples of prompts for generative AI models include:

[0109] "Five years of software development experience, fluent in Python and Java. Graduated from the University of Tokyo."

[0110] For example, we analyze resume text and extract experience, skills, and educational background to generate a profile.

[0111] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

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

[0113] Step 1:

[0114] Receiving and parsing resume text data

[0115] Input: The text data of the resume sent by the user from the terminal.

[0116] Processing: The server receives the resume text data sent by the user (job seeker) via the terminal. After receiving the data, it performs a parsing process to convert it into an appropriate format. This parsing process converts the text data into a format that is easy to analyze.

[0117] Output: Parsed resume text data.

[0118] Specific operation: A user uploads a resume to a job-seeker portal site. The terminal sends the data to the server. The server receives the data and parses it into text format.

[0119] Step 2:

[0120] Resume data analysis

[0121] Input: Parsed resume text data.

[0122] Processing: The server analyzes the text data using natural language processing techniques. It uses a pre-trained Japanese natural language processing model (e.g., the BERT model) to extract important information (experience, skills, and educational background) from the text.

[0123] Output: Parsed candidate information (experience, skills, education).

[0124] Specific operation: The server loads a natural language processing model. The server inputs resume text into the model, analyzes the meaning of the text, and extracts relevant information.

[0125] Step 3:

[0126] Generate candidate profiles

[0127] Input: Parsed candidate information (experience, skills, education).

[0128] Processing: The server generates a candidate profile based on the extracted information. This profile organizes and structures information about the candidate, such as their experience, skills, and education.

[0129] Output: The generated candidate profile.

[0130] Specific operation: The server fills in the experience, skills, and educational background fields according to the analysis results. The server then saves the generated profile in its internal database.

[0131] Step 4:

[0132] Job Matching

[0133] Input: Generated candidate profile and company job posting data.

[0134] Processing: The server compares the candidate profile with the company's job posting and calculates a matching score. The server converts the text data into a numerical vector and calculates the cosine similarity to obtain a score indicating the compatibility between the two.

[0135] Output: The calculated matching score.

[0136] Specific operation: The server loads the job posting data and converts it into a text vector. The server also converts the candidate profile into a text vector. The server calculates the cosine similarity between the two and obtains a matching score.

[0137] Step 5:

[0138] Generate interview questions

[0139] Inputs: Candidate skill set and matching score.

[0140] Processing: The server generates interview questions based on the candidate's skill set. It uses question templates corresponding to each skill and automatically generates appropriate questions.

[0141] Output: Generated interview questions.

[0142] Specific operations: The server references the question template for each skill, extracts skills from the candidate profile, and generates corresponding questions from the template.

[0143] Step 6:

[0144] Presentation of results

[0145] Input: Calculated matching scores and generated interview questions.

[0146] Processing: The generated matching score and interview questions are sent to the user's terminal, where the user can review this information and take appropriate action.

[0147] Output: Matching scores and interview questions presented.

[0148] Specific operation: The server combines the matching score and the interview questions into a single packet. The server then sends this packet to the user's device. The device then displays the received data and presents it to the user.

[0149] (Application example 1)

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

[0151] In the modern recruitment process, companies need a great deal of time and effort to analyze job seekers' resumes, match them with suitable job offers, and generate interview questions. Content distribution services also require complex data analysis and matching to appropriately recommend content that users are interested in. This can lead to problems such as job seekers missing out on job offers that suit their aptitudes, and users spending a lot of time finding content that matches their preferences. There is a need for a system that can solve these problems.

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

[0153] In this invention, the server includes: means for analyzing text data of a resume and extracting the candidate's experience, skills, and educational background; means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score; means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold; means for presenting the generated interview questions and matching score to the candidate; means for analyzing a user's past viewing history and evaluation data to generate a profile; means for vectorizing the generated profile with new content and calculating cosine similarity to generate a matching score; means for recommending relevant content when the matching score exceeds a certain threshold; and means for presenting the generated content recommendation and matching score to the user. This makes it possible to streamline a series of processes from analyzing a resume to matching with a job posting, generating interview questions, and analyzing a user's viewing history and evaluation data to recommend content.

[0154] "Resume text data" refers to text data that includes information such as an individual's work history, skills, educational background, and self-promotion that is included in a document submitted by a job seeker.

[0155] "Experience" refers to the job applicant's work history, such as past tasks and projects, and the duration of those tasks and projects.

[0156] "Skills" refers to the knowledge, techniques, and professional abilities that a job seeker possesses.

[0157] "Educational background" refers to the degree a job seeker has obtained, the name of the educational institution where they obtained it, and the course of their studies.

[0158] A "profile" is a comprehensive set of information generated based on a job seeker's experience, skills, and education.

[0159] A "job posting" is a document of recruitment information that describes the job duties a company is seeking and the necessary skills and experience.

[0160] "Vectorization" is the process of converting text data into numerical vectors, which allows the calculation of similarities between texts.

[0161] "Cosine similarity" is a measure of the similarity between vectorized data, and is calculated based on the angle between the vectors.

[0162] A "matching score" is a number that indicates the similarity between a job seeker's profile and a job posting.

[0163] "Interview questions" are questions used to assess a candidate's skills and experience.

[0164] A "viewing history" is a record of content that a user has viewed in the past.

[0165] "Rating data" refers to the ratings and feedback given by users to content they have viewed.

[0166] "Content" refers to media to be viewed, such as movies, dramas, anime, and programs.

[0167] "Recommendation" refers to suggesting appropriate content based on the user's preferences.

[0168] 1. System Overview

[0169] This invention provides an assistant system aimed at improving the efficiency of recruitment and content recommendation. The server analyzes text data from resumes and matches candidate profiles with company job postings. It also recommends optimal content based on the user's viewing history and rating data. The main hardware includes a server for processing data and a terminal for displaying and manipulating the results. The software used includes natural language processing libraries (e.g., scikit-learn and SpaCy).

[0170] 2. Resume Analysis

[0171] The server receives the text data of the resume sent by the user (job seeker) from the device. This data is analyzed using natural language processing technology to extract the candidate's experience, skills, and educational background. For example, if a user sends a resume stating, "I have 5 years of software development experience and am proficient in Python and Java," the server analyzes the data and generates the following profile:

[0172] Experience: 5 years of software development experience

[0173] Skills: Python, Java

[0174] Education: Graduated from the University of Tokyo

[0175] 3. Content Recommendation

[0176] The server analyzes the user's past viewing history and rating data. Based on this data, it creates a profile of the user's preferences. For example, if the user has watched many action movies in the past and given them high ratings, the server can recommend new action movies based on this profile.

[0177] 4. Content and profile vectorization and matching

[0178] The server converts candidate profiles and user viewing history into numerical vectors. Then, job postings and new content are similarly vectorized. The server then calculates the cosine similarity to obtain a matching score between the profile and job posting, or the viewing history and new content. For example, when recommending content to watch next:

[0179] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

[0180] 5. Generating and presenting interview questions and content recommendations

[0181] If the matching score exceeds a certain threshold, the server generates relevant interview questions or content recommendations. For example, if the candidate's skill is "Python," the server generates a question such as "Please explain Python class design." Similarly, it recommends new content based on the user's preferred genre. The results are sent from the server to the user's device. The user then reviews the recommended content or interview questions and decides on the next action.

[0182] Specific examples

[0183] For example, if a user has watched "Action Movie A" and "Action Movie B," a new "Action Movie C" will be recommended. If the user's viewing history is analyzed and it is determined that they have a preference for action movies, a new action movie will be recommended as their next viewing content. An example of a prompt sentence would be, "Movies that the user has recently watched are mostly action movies. Please recommend the next movie he should watch." The generative AI model will make an appropriate recommendation.

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

[0185] Step 1:

[0186] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This input data is the text information contained in the resume. Next, the server analyzes the text data using natural language processing technology (e.g., scikit-learn or SpaCy) to extract the candidate's experience, skills, and educational background information. The input data is the text data, and the output data is the analyzed individual profile information.

[0187] Step 2:

[0188] The server vectorizes the extracted profile information. In this process, it uses techniques such as TF-IDF vectorization to convert text data into numerical vectors. Here, the input data is each analyzed profile information, and the output data is the vectorized numerical data.

[0189] Step 3:

[0190] The server also vectorizes the job postings provided by companies. This process also uses techniques such as TF-IDF vectorization. The input data is the text information written in the job postings, and the output data is vectorized numerical data.

[0191] Step 4:

[0192] The server calculates the cosine similarity between the vectorized profile information and the job posting information. This generates a matching score that indicates the similarity between the two. The input data is the vectorized data, and the output data is the matching score. Specifically, the higher the similarity, the higher the matching score.

[0193] Step 5:

[0194] If the matching score exceeds a certain threshold, the server generates relevant interview questions. This generation process may use a generative AI model. For example, if the profile contains "Python," a relevant interview question may be generated such as "Please explain class design in Python." The input data are the matching score and profile information, and the output data are the interview questions.

[0195] Step 6:

[0196] The server sends the generated interview questions and matching scores to the user's terminal. The user checks the information received on the terminal and decides on the next action. The input data are the generated interview questions and matching scores, and the output data are the user's confirmation results and actions.

[0197] Step 7:

[0198] Next, the server receives the user's past viewing history and rating data, which includes the content viewed by the user and its rating information, and the input data is the viewing history and rating data.

[0199] Step 8:

[0200] The server analyzes the viewing history and rating data and generates a profile based on the user's preferences. The input data are the viewing history and rating data to be analyzed, and the output data is a profile based on the user's preferences.

[0201] Step 9:

[0202] The server vectorizes the text information of the user profile and new content. This process involves converting it into a numeric vector. The input data is the parsed profile and content information, and the output data is the vectorized data.

[0203] Step 10:

[0204] The server calculates the similarity between the profile and new content using cosine similarity and obtains a matching score. The input data is vectorized data, and the output data is a matching score. For example, new action movies similar to those of a user who has a history of watching action movies may be recommended.

[0205] Step 11:

[0206] If the matching score exceeds a certain threshold, the server will recommend suitable content to the user. The input data is the matching score and related information, and the output data is the recommended content. At this stage, the server uses a generative AI model to make optimal content recommendations.

[0207] Step 12:

[0208] The server sends the generated content recommendations and matching scores to the user's device. The user checks the recommended content on the device and decides whether to watch it. The input data are the generated content recommendations and matching scores, and the output data is the user's viewing decision.

[0209] Prompt Sentence Examples

[0210] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

[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] 1. System Overview

[0213] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. In addition to conventional candidate profile generation and job matching, this invention recognizes user emotions and reflects them in analysis results and interview question generation, achieving more appropriate matching and the hiring process. The server is responsible for the main processing, while the terminal inputs data, displays results, and accepts user feedback.

[0214] 2. Program Processing Overview

[0215] 2-1. Resume analysis

[0216] The server receives the text data of the resume sent by the user from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." In addition, the server uses an emotion engine to recognize emotions in the text data and add them to the candidate's profile as emotion data.

[0217] For example, if a job seeker sends a resume to the server stating, "I demonstrated leadership and achieved results in demanding projects. Skills: Python, Java. Education: Graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0218] Experience: Leadership in demanding projects

[0219] Skills: Python, Java

[0220] Education: Graduated from the University of Tokyo

[0221] Emotional Data: Confidence and Achievement in Leadership

[0222] 2-2. Job matching

[0223] The server compares the generated candidate profile with the job posting provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility by adding emotional data to the score.

[0224] For example, if a job posting reads, "We are looking for a project manager with leadership skills. Required skills are Python and Java. Management experience preferred," the server calculates the similarity between the candidate profile and the job posting and obtains a matching score of, for example, 0.85. This score and sentiment data are then evaluated comprehensively to determine a high degree of compatibility.

[0225] 2-3. Interview question generation

[0226] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Explain Python class design" for "Python" and "Do you know about Java garbage collection?" for "Java." Furthermore, based on sentiment data on leadership, questions such as "Tell me how you demonstrated leadership in a challenging project" are generated.

[0227] 2-4. Presentation of results

[0228] The generated matching score, interview questions, and related emotional data are sent from the server to the user's device, where the user can review the results and decide on the next action (e.g., to proceed with the application process or prepare for an interview).

[0229] For example, if the resume submitted by a user identifies confidence and accomplishment in leadership, the server will present the user with interview questions such as "Describe class design in Python," "Do you know about garbage collection in Java?" and "Tell me how you demonstrated leadership in a challenging project."

[0230] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews by incorporating emotions.

[0231] The processing flow will be explained below.

[0232] Step 1:

[0233] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[0234] Step 2:

[0235] The server receives the text data of the resume submitted by the user, which is then passed to a natural language processing module and prepared for analysis.

[0236] Step 3:

[0237] The server uses a natural language processing module to analyze the text data of the resume. This analysis extracts information about the candidate's experience, skills, and educational background. For example, "5 years of software development experience," "Python and Java skills," and "Graduate of the University of Tokyo" are extracted from the text data.

[0238] Step 4:

[0239] The server uses the extracted information to generate a candidate profile, which includes the analyzed experience, skills, and education.

[0240] Step 5:

[0241] The server uses an emotion engine to recognize emotions from the text data in a resume. For example, if a resume states, "Demonstrated leadership in a challenging project," the server will recognize emotions such as "confidence" and "sense of accomplishment."

[0242] Step 6:

[0243] The server adds the emotional data to the candidate's profile, which includes the recognized emotional data along with experience, skills, and education.

[0244] Step 7:

[0245] The server acquires text data of job postings provided by companies. The job posting data is also stored in the server or received from companies.

[0246] Step 8:

[0247] The server converts the text data from the candidate profiles and job postings into numeric vectors, which makes the data comparable.

[0248] Step 9:

[0249] The server calculates the cosine similarity between the vectorized candidate profile and the job posting, which generates a match score between the candidate and the job posting. For example, a high match score of 0.85 can be obtained.

[0250] Step 10:

[0251] The server evaluates whether the candidate is suitable for the job based on the matching score and emotion data. If the evaluation result exceeds a certain threshold, the candidate is deemed to be a good fit.

[0252] Step 11:

[0253] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Describe class design in Python," "Do you know about garbage collection in Java?", and "Tell me about a time when you demonstrated leadership in a challenging project."

[0254] Step 12:

[0255] The server encodes the generated matching scores, evaluation results, and interview questions in JSON format and sends them to the user's device.

[0256] Step 13:

[0257] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching score, evaluation results, and interview questions.

[0258] Step 14:

[0259] Based on the presented interview questions and matching score, the user decides the next action (e.g., to proceed with the application process or to prepare for an interview). The terminal sends the user's selected action to the server, which then performs any necessary additional processing.

[0260] Example 2

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

[0262] Conventional recruitment systems simply analyze the contents of a candidate's resume, without taking into account emotional factors to accurately assess suitability for employment. Furthermore, the interview questions generated when the matching score exceeds a certain threshold do not reflect emotional data, requiring a more comprehensive assessment of suitability. This makes it difficult to select the right candidate and reduces the efficiency of the recruitment process.

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

[0264] In this invention, the server includes means for analyzing resume text data to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with the job posting and calculating the cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for extracting emotional data from the resume text data and adding it to the candidate profile, means for adding the emotional data to the generated matching score and evaluating the overall compatibility, means for generating interview questions based on the candidate's skill set and emotional data using a generative AI model, and means for presenting the analysis results and interview questions to a user's device. This allows for the generation of a comprehensive profile including the candidate's emotional data, enabling more accurate matching and the generation of interview questions.

[0265] A "resume" is a document in which a job seeker lists his or her career history, experience, skills, and educational background.

[0266] "Text data" refers to written information that is stored and processed electronically.

[0267] "Analysis" is the process of examining data in detail and extracting specific information or patterns.

[0268] "Experience" refers to the type of work or projects a job seeker has previously undertaken.

[0269] "Skills" refers to the specific abilities or techniques that a job seeker has acquired.

[0270] "Educational background" refers to the educational history and related qualifications completed by a job seeker.

[0271] "Profile" refers to a detailed compilation of candidate information generated from analyzed resume data.

[0272] A "job posting" is a document that lists the qualifications and job content of the person a company is looking for.

[0273] "Vectorization" is the process of converting text data into numerical data.

[0274] "Cosine similarity" is an index that represents the similarity between vectorized data, and is obtained by calculating the cosine value of the angle between two vectors.

[0275] A "matching score" is a number that evaluates the degree of similarity between a candidate's profile and a job posting.

[0276] "Emotion data" is information that represents an emotional state extracted from text data.

[0277] "Comprise" means incorporating one or more elements as constituent elements.

[0278] "Generation" is the process of creating new data or information.

[0279] A "generative AI model" refers to an artificial intelligence technology that learns from large amounts of data and generates new text based on given prompts.

[0280] A "prompt sentence" refers to the initial text or input sentence that provides instructions to a generative AI model.

[0281] "Terminal" refers to an electronic device through which a user can input information and receive results.

[0282] "Server" refers to a central computer system for storing, processing, and analyzing data.

[0283] "User" refers to an individual or company that uses the system.

[0284] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. The server is responsible for the main processing, and the terminal is responsible for data input, display of results, and reception of feedback from users. The system is configured as follows:

[0285] 1. Receiving resumes

[0286] The user uploads their resume from the terminal. The terminal temporarily stores the uploaded file and converts it into a data format for transfer to the server. Specifically, when the user selects a file on the browser and clicks the "Upload" button, the file is sent to the server.

[0287] 2. Resume Analysis

[0288] The server receives the resume file sent from the terminal and converts it into text data using a text extraction tool (for example, Apache Tika). The server then analyzes the resume text data using a natural language processing library (for example, spaCy or NLTK) to extract "experience," "skills," and "educational background." For example, if a job seeker sends a resume stating, "I have demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Educational background: Graduated from a higher education institution," the server analyzes it and generates a profile like the following:

[0289] Experience: Leadership in demanding projects

[0290] Skills: Programming languages, object-oriented programming

[0291] Education: Graduated from a higher education institution

[0292] 3. Adding Emotion Data

[0293] The server uses a sentiment analysis engine (e.g., a natural language processing engine) to extract emotional data from the text data. The server adds the extracted emotional data to the candidate's profile. For example, if the server determines that the phrase "demonstrates leadership" contains confidence and a sense of accomplishment, it adds the emotional data to the profile as "confidence, a sense of accomplishment."

[0294] 4. Job Matching

[0295] The server vectorizes the text data of each candidate profile to compare it with the company's job posting. The server calculates the similarity between the two using cosine similarity and generates a matching score. For example, the server calculates the similarity between "Experience: Leadership" and "Job posting: Project Management" and obtains a score of 0.85. Furthermore, the server evaluates the compatibility by taking into account sentiment data.

[0296] 5. Generating Interview Questions

[0297] The server uses a generative AI model (e.g., a generative AI model) to generate interview questions based on the candidate's skill set and emotional data. The prompt is entered as "Generate the following questions based on the candidate's experience and skills: Describe class design in programming languages. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project," and the AI ​​model generates appropriate questions.

[0298] 6. Presentation of results

[0299] The server sends the generated matching score, interview questions, and emotion data to the user's device. The user checks the results on the device and decides on the next action. The user then checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation. In this way, the present invention efficiently supports the entire hiring process, from resume analysis to matching with job postings and even interview preparation that incorporates emotions.

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

[0301] Step 1: Upload your resume

[0302] Input: Resume file (PDF or Word format) selected by the user

[0303] process:

[0304] Users can either drag and drop a resume file from their device into the upload form on the browser, or click the select button to select a file.

[0305] The terminal temporarily stores the uploaded resume file and converts it into a data format for transfer to the server.

[0306] Output: Resume file sent to the server

[0307] Specific operation: When the user clicks the "Upload" button, the device sends the resume file to the server.

[0308] Step 2: Resume Analysis

[0309] Input: Resume file sent to the server

[0310] process:

[0311] The server converts the received resume file into text data using a text extraction tool (e.g., Apache Tika).

[0312] The server uses a natural language processing library (e.g., spaCy or NLTK) to analyze the text data and extract "experience," "skills," and "educational background" information.

[0313] Output: Candidate profile with extracted "Experience", "Skills" and "Education"

[0314] Specific operation: The server uses an analysis engine to analyze each item on a resume, and identifies each element from text such as "Demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Education: Graduated from a higher education institution," and generates a profile.

[0315] Step 3: Add emotion data

[0316] Input: Text data extracted from resumes

[0317] process:

[0318] The server extracts emotion data from the text data using an emotion analysis engine (for example, a natural language processing engine).

[0319] The server adds the extracted emotion data to the candidate's profile.

[0320] Output: Candidate profile with added sentiment data

[0321] Specific operation: For example, the server determines that the "demonstrate leadership" part contains confidence and a sense of accomplishment, and adds the emotional data to the profile as "confidence, a sense of accomplishment."

[0322] Step 4: Job Matching

[0323] Input: Candidate profile with sentiment data added, company job posting

[0324] process:

[0325] The server vectorizes candidate profiles and company job postings.

[0326] The server calculates the similarity between the two using cosine similarity and generates a matching score.

[0327] The server evaluates the overall compatibility by adding emotional data to the generated matching score.

[0328] Output: Matching score that evaluates the goodness of fit

[0329] Specific operation: The server calculates the similarity between "Experience: Leadership" and "Job posting: Project management" and obtains a score of 0.85. It also takes into account sentiment data and determines that the similarity is high.

[0330] Step 5: Generate interview questions

[0331] Input: Candidate profile with added sentiment data, matching score

[0332] process:

[0333] The server uses a generative AI model (e.g., a generative AI model) and inputs the following prompt sentences: "Based on the candidate's experience and skills, generate the following questions: Describe class design in a programming language. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project."

[0334] The server generates appropriate interview questions using a generative AI model.

[0335] Output: Generated interview questions

[0336] Specific operation: The server generates appropriate interview questions based on the candidate's skill set and emotional data.

[0337] Step 6: Presenting the results

[0338] Input: Generated interview questions, matching score evaluating the suitability

[0339] process:

[0340] The server transmits the generated matching scores, interview questions, and emotion data to the user's terminal.

[0341] The user checks the results on the terminal and decides on the next action.

[0342] Output: Matching scores, interview questions, and sentiment data displayed on the terminal.

[0343] Specific operation: The user checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation.

[0344] (Application example 2)

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

[0346] Conventional recruitment systems match candidates based solely on their experience, skills, and educational background, making it difficult to properly evaluate talent. Furthermore, because they do not consider the candidate's emotions during the interview and selection process, they often miss opportunities for optimal responses and evaluations. Furthermore, the lack of real-time emotion analysis using smart devices resulted in insufficient customer service. This led to problems such as lower satisfaction for candidates and customers.

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

[0348] In this invention, the server includes means for analyzing text data from resumes to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for presenting the generated interview questions and matching score to the candidate, means for analyzing the user's emotions and presenting dialogue and response methods based on the analysis results, and means for collecting and analyzing emotion data in real time using a smart device. This enables more appropriate talent evaluation and customer service that takes the candidate's emotions into consideration, resulting in improved service quality and increased satisfaction.

[0349] "Resume text data" refers to textual information provided by a candidate, including work history, educational background, and skills.

[0350] "Experience" is a detailed history of the candidate's past roles, projects, and positions.

[0351] "Skills" refers to the specific skills, knowledge, and professional abilities that a candidate possesses.

[0352] "Educational background" refers to the candidate's educational history, including the educational institutions attended, degrees obtained, and majors.

[0353] A "profile" is comprehensive information about a candidate that is generated based on experience, skills, educational background, etc. extracted from a resume.

[0354] A "job posting" is a document that lists the specific job duties offered by a company, as well as the required skills and qualifications.

[0355] "Vectorization" is the process of converting text data into numerical vectors, making the data in a format that allows comparisons and calculations.

[0356] "Cosine similarity" is a formula for calculating the similarity between two vectors, and the closer the value is to 1, the higher the similarity.

[0357] The "matching score" is a numerical representation of the similarity between the candidate's profile and the job posting, and is an indicator of compatibility.

[0358] The "certain threshold" refers to the minimum standard value at which a matching score is judged to be highly relevant.

[0359] "Interview questions" are questions asked to candidates and are generated based on resumes, profiles, and emotional data.

[0360] "Presenting" means displaying the generated information or results to the user.

[0361] "Analyzing emotions" means recognizing and evaluating the user's emotional state from facial expressions, tone of voice, etc.

[0362] "Emotion data" is numerical and categorical information that indicates the results of the analyzed emotions.

[0363] "Dialogue and response methods" refer to optimal communication and response methods based on the user's emotions.

[0364] "Smart devices" refers to electronic devices with advanced functions such as smartphones, smart glasses, and head-mounted displays.

[0365] "Real-time" means that data is analyzed and processed as soon as it is collected.

[0366] 1. System Configuration

[0367] The system consists of a server, a smart device (e.g., smart glasses), and a user. The server is responsible for the main analysis and data processing, while the smart device collects and displays emotion data.

[0368] 2. Collecting and analyzing emotion data

[0369] The server receives facial expression and voice data transmitted in real time from smart devices (e.g., smart glasses). These data are analyzed using image processing libraries such as OpenCV and the EmotionRecognition library. The voice data is analyzed using the VoiceToneAnalyzer library, and the user's emotional data is extracted from the facial expression and voice.

[0370] 3. Customer Service Presentation

[0371] Based on the analyzed emotional data, the server generates appropriate dialogue and responses, which are then displayed on the smart device's display. For example, if a customer looks anxious, the server will suggest, "The customer seems anxious. Please consider responding in a way that will reassure them."

[0372] 4. Collecting and storing feedback

[0373] Users input customer feedback and send it to a server, which stores it in a database and uses it to improve future customer service. Real-time sentiment and feedback data is analyzed using data science tools to improve algorithms and suggest new ways of responding.

[0374] Hardware and software used

[0375] Hardware

[0376] Smart glasses (with built-in camera and microphone)

[0377] Servers (high-performance processors, storage, large-capacity memory)

[0378] software

[0379] OpenCV (image processing library)

[0380] EmotionRecognition (emotion analysis library)

[0381] VoiceToneAnalyzer (voice analysis library)

[0382] Database management system (e.g., MySQL)

[0383] Natural language processing models (e.g., BERT)

[0384] Specific examples

[0385] Example 1: A customer is interested in a new product and has questions, but their facial expression is uneasy.

[0386] "The customer seems anxious. Please consider providing a reassuring explanation."

[0387] Example 2: A customer with a child is looking at products with a happy look

[0388] "It seems like our customers are enjoying it. Please recommend a family-friendly set."

[0389] Prompt Sentence Examples

[0390] "The customer seems happy. Please suggest some products."

[0391] "The customer seems upset. Please stay calm and listen."

[0392] "The customer seems anxious. Please consider providing some reassurance."

[0393] In this way, the quality of customer service can be improved by analyzing the user's emotions and presenting ways to respond in real time based on that information.

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

[0395] Step 1:

[0396] A smart device (for example, smart glasses) collects facial expression and voice data from customers. Specifically, the camera in the smart glasses takes a picture of the customer's face, and the microphone records their voice. This data is sent to a server in real time. The input data consists of image data (facial expression) and voice data.

[0397] Step 2:

[0398] The server preprocesses the received facial expression data using OpenCV. Specifically, it performs face recognition and extracts the recognized face area. It then analyzes the extracted face area using the EmotionRecognition library to obtain emotion data. The input data is the preprocessed face image, and the output data is the emotional state (e.g., joy, anger, anxiety, etc.).

[0399] Step 3:

[0400] The server preprocesses the received voice data and analyzes it using the VoiceToneAnalyzer library. Specifically, it analyzes the tone and pitch of the voice and estimates the customer's emotional state. The input data is the voice data, and the output data is the emotional state estimated from the voice.

[0401] Step 4:

[0402] The server integrates the emotional data obtained in steps 2 and 3 to determine the overall emotional state. For example, if the facial expression data is "anxious" and the voice data is "anxious," the overall emotional state will also be "anxious." The input data are the results of facial expression analysis and voice analysis, and the output data is the overall emotional state.

[0403] Step 5:

[0404] The server generates an appropriate dialogue and response method based on the overall emotional state. For example, if the emotional state is determined to be "anxious," it generates a message saying, "The customer seems to be feeling anxious. Please consider a response that will reassure them." The input data is the overall emotional state, and the output data is a text message about how to respond.

[0405] Step 6:

[0406] The server sends the generated message to the smart device. The message on how to respond is displayed on the smart device's display. The user views this message and responds to the customer. The input data is a text message on how to respond, and the output is the message displayed on the smart device.

[0407] Step 7:

[0408] Users input customer feedback and send it to the server via their smart devices. The server stores this feedback in a database and uses it to improve future responses. The input data is the feedback text, and the output is the feedback stored in the database.

[0409] In this way, the server can analyze customer emotions in real time and realize a system that presents the user with the most appropriate response method.

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

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

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

[0413] [Second embodiment]

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

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

[0416] 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).

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

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

[0419] 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).

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

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

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

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

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

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

[0426] 1. System Overview

[0427] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0428] 2. Program Processing Overview

[0429] 2-1. Resume analysis

[0430] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." For this purpose, the server uses a pre-trained Japanese natural language processing model.

[0431] For example, if a job seeker submits a resume to the server stating, "Five years of software development experience, fluent in Python and Java, graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0432] Experience: 5 years of software development experience

[0433] Skills: Python, Java

[0434] Education: Graduated from the University of Tokyo

[0435] 2-2. Job matching

[0436] The server compares the generated candidate profile with the job postings provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility.

[0437] For example, if a job posting states, "We are looking for a software developer. Required skills are Python and Java. Desired experience is 5+ years," the server will calculate the similarity between the candidate profile and the job posting and obtain a matching score of, say, 0.9, which indicates a high degree of fit.

[0438] 2-3. Interview question generation

[0439] The server generates interview questions based on the candidate's skill set, such as "Explain class design in Python" for a candidate with "Python" skill, or "Do you know about garbage collection in Java?" for a candidate with "Java" skill.

[0440] 2-4. Presentation of results

[0441] The generated matching score and interview questions are sent from the server to the user's terminal. The job seeker can check the results and decide on the next action (e.g., proceed with the application process or prepare for an interview).

[0442] As a concrete example, if a user has "5 years of software development experience and is familiar with Python and Java," the server will present the user with interview questions such as "Describe class design in Python" and "Do you know about garbage collection in Java?"

[0443] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

[0444] The processing flow will be explained below.

[0445] Step 1:

[0446] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[0447] Step 2:

[0448] The server receives the text data of the resume sent by the user, and the received data is passed to the analysis module for using natural language processing technology.

[0449] Step 3:

[0450] The server uses a natural language processing module (e.g., Spacy's Japanese model) to analyze the text data of the resume. Through this analysis, the server extracts information on the candidate's "experience," "skills," and "educational background."

[0451] Step 4:

[0452] The server generates a candidate profile based on the extracted information, which is then stored for further job matching steps.

[0453] Step 5:

[0454] The server acquires the text data of the job posting. The job posting is either stored on the server in advance or received from the company. The server vectorizes the text data of the job posting and the candidate profile.

[0455] Step 6:

[0456] The server compares the vectorized candidate profile with the job posting using cosine similarity calculation, which calculates a match score between the candidate and the job posting.

[0457] Step 7:

[0458] The server determines that a job offer is suitable for a candidate if the score exceeds a certain threshold based on the calculated matching score. Additionally, the server generates interview questions based on the candidate's skill set.

[0459] Step 8:

[0460] The server compiles the generated matching scores and the results of the interview questions and sends them to the user's device in JSON format.

[0461] Step 9:

[0462] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching scores and interview questions.

[0463] Step 10:

[0464] Based on the presented interview questions and matching score, the user decides on the next action (such as proceeding with the application process or preparing for an interview). The terminal then sends the user's selection back to the server and initiates any additional processing required.

[0465] Example 1

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

[0467] Traditionally, it has been difficult to efficiently carry out recruitment processes such as analyzing resumes, matching them with job postings, and generating appropriate interview questions. In particular, the recruitment process in Japan requires manual analysis of large amounts of text data and matching with each profile, which is extremely time-consuming and labor-intensive. Furthermore, generating appropriate interview questions requires understanding detailed candidate information and formulating questions based on that information, which is a manual process with limitations. For this reason, there is a need for a system that can improve the efficiency and accuracy of the entire recruitment process.

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

[0469] In this invention, the server includes means for receiving and parsing resume text data, means for analyzing the received resume text data to extract the candidate's experience, skills, and educational background, and means for converting the extracted candidate profile with the job posting into a numerical vector and calculating the cosine similarity to generate a matching score. This improves the efficiency and accuracy of the recruitment process, enabling quick and accurate matching of job seekers with job postings and the generation of appropriate interview questions.

[0470] The "means for receiving and parsing resume text data" refers to the means by which the server receives the resume text data sent by the user (job seeker) and converts the data into a format that is easy to analyze.

[0471] "Means for analyzing text data of received resumes and extracting the experience, skills, and educational background of candidates" refers to means for extracting information on the experience, skills, and educational background of candidates from the text data of received resumes using natural language processing technology.

[0472] The "means for converting the extracted candidate profile into a job posting and a numerical vector, and calculating the cosine similarity to generate a matching score" refers to a means for converting text data into a numerical vector, and calculating the cosine similarity between the job posting and the candidate profile to generate a matching score indicating the degree of compatibility.

[0473] The "means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold" refers to a means for automatically generating interview questions based on the candidate's skill set and experience when the matching score exceeds a set reference value.

[0474] The "means for presenting the generated matching score and interview questions to the candidate" refers to a means for transmitting the generated matching score and interview questions to the user's terminal so that the candidate can check them.

[0475] "Means for analyzing resume text data using a natural language processing model and extracting experience, skills, and educational background" means means for analyzing resume text data using a pre-trained natural language processing model and extracting a candidate's experience, skills, and educational background from the data.

[0476] The "means for evaluating vectorized data between a candidate profile and a job posting using cosine similarity calculation" refers to a means for converting text data of a candidate profile and a job posting into numerical vectors and evaluating the similarity between them using cosine similarity calculation.

[0477] 1. System Overview

[0478] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0479] 2. Hardware and Software Used

[0480] The system mainly operates using a server, a terminal, and a natural language processing model. Specifically, it has the following configuration:

[0481] Server: Receives resume data, analyzes it, creates profiles, performs job matching, generates interview questions, and presents the results.

[0482] Terminal: Provides an interface for users to input and upload their resumes and check the results.

[0483] Software: Analyze text data using natural language processing models (e.g., BERT model).

[0484] 3. Program Processing Overview

[0485] The server receives the resume text data sent by the user (job seeker) via their device and performs parsing to convert the data into an appropriate format. Next, it uses natural language processing technology to analyze the text data and extract information about the candidate's experience, skills, and educational background. It generates a candidate profile based on the analyzed information and compares it with the company's job posting to calculate a matching score. If this matching score exceeds a certain threshold, it generates interview questions based on the candidate's skill set. Finally, it sends the generated matching score and interview questions to the user's device, where the candidate confirms them.

[0486] 4. Examples of concrete examples and prompts

[0487] As a concrete example, consider the case where a job seeker submits a resume to the server stating, "5 years of software development experience, fluent in Python and Java, graduated from the University of Tokyo." The server analyzes this and generates a profile like this:

[0488] Experience: 5 years of software development experience

[0489] Skills: Python, Java

[0490] Education: Graduated from the University of Tokyo

[0491] This profile is compared with the company's job postings to get a matching score of, say, 0.9. If this score exceeds a certain threshold, the server generates interview questions such as "Describe class design in Python" or "Do you know about garbage collection in Java?"

[0492] Examples of prompts for generative AI models include:

[0493] "Five years of software development experience, fluent in Python and Java. Graduated from the University of Tokyo."

[0494] For example, we analyze resume text and extract experience, skills, and educational background to generate a profile.

[0495] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

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

[0497] Step 1:

[0498] Receiving and parsing resume text data

[0499] Input: The text data of the resume sent by the user from the terminal.

[0500] Processing: The server receives the resume text data sent by the user (job seeker) via the terminal. After receiving the data, it performs a parsing process to convert it into an appropriate format. This parsing process converts the text data into a format that is easy to analyze.

[0501] Output: Parsed resume text data.

[0502] Specific operation: A user uploads a resume to a job-seeker portal site. The terminal sends the data to the server. The server receives the data and parses it into text format.

[0503] Step 2:

[0504] Resume data analysis

[0505] Input: Parsed resume text data.

[0506] Processing: The server analyzes the text data using natural language processing techniques. It uses a pre-trained Japanese natural language processing model (e.g., the BERT model) to extract important information (experience, skills, and educational background) from the text.

[0507] Output: Parsed candidate information (experience, skills, education).

[0508] Specific operation: The server loads a natural language processing model. The server inputs resume text into the model, analyzes the meaning of the text, and extracts relevant information.

[0509] Step 3:

[0510] Generate candidate profiles

[0511] Input: Parsed candidate information (experience, skills, education).

[0512] Processing: The server generates a candidate profile based on the extracted information. This profile organizes and structures information about the candidate, such as their experience, skills, and education.

[0513] Output: The generated candidate profile.

[0514] Specific operation: The server fills in the experience, skills, and educational background fields according to the analysis results. The server then saves the generated profile in its internal database.

[0515] Step 4:

[0516] Job Matching

[0517] Input: Generated candidate profile and company job posting data.

[0518] Processing: The server compares the candidate profile with the company's job posting and calculates a matching score. The server converts the text data into a numerical vector and calculates the cosine similarity to obtain a score indicating the compatibility between the two.

[0519] Output: The calculated matching score.

[0520] Specific operation: The server loads the job posting data and converts it into a text vector. The server also converts the candidate profile into a text vector. The server calculates the cosine similarity between the two and obtains a matching score.

[0521] Step 5:

[0522] Generate interview questions

[0523] Inputs: Candidate skill set and matching score.

[0524] Processing: The server generates interview questions based on the candidate's skill set. It uses question templates corresponding to each skill and automatically generates appropriate questions.

[0525] Output: Generated interview questions.

[0526] Specific operations: The server references the question template for each skill, extracts skills from the candidate profile, and generates corresponding questions from the template.

[0527] Step 6:

[0528] Presentation of results

[0529] Input: Calculated matching scores and generated interview questions.

[0530] Processing: The generated matching score and interview questions are sent to the user's terminal, where the user can review this information and take appropriate action.

[0531] Output: Matching scores and interview questions presented.

[0532] Specific operation: The server combines the matching score and the interview questions into a single packet. The server then sends this packet to the user's device. The device then displays the received data and presents it to the user.

[0533] (Application example 1)

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

[0535] In the modern recruitment process, companies need a great deal of time and effort to analyze job seekers' resumes, match them with suitable job offers, and generate interview questions. Content distribution services also require complex data analysis and matching to appropriately recommend content that users are interested in. This can lead to problems such as job seekers missing out on job offers that suit their aptitudes, and users spending a lot of time finding content that matches their preferences. There is a need for a system that can solve these problems.

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

[0537] In this invention, the server includes: means for analyzing text data of a resume and extracting the candidate's experience, skills, and educational background; means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score; means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold; means for presenting the generated interview questions and matching score to the candidate; means for analyzing a user's past viewing history and evaluation data to generate a profile; means for vectorizing the generated profile with new content and calculating cosine similarity to generate a matching score; means for recommending relevant content when the matching score exceeds a certain threshold; and means for presenting the generated content recommendation and matching score to the user. This makes it possible to streamline a series of processes from analyzing a resume to matching with a job posting, generating interview questions, and analyzing a user's viewing history and evaluation data to recommend content.

[0538] "Resume text data" refers to text data that includes information such as an individual's work history, skills, educational background, and self-promotion that is included in a document submitted by a job seeker.

[0539] "Experience" refers to the job applicant's work history, such as past tasks and projects, and the duration of those tasks and projects.

[0540] "Skills" refers to the knowledge, techniques, and professional abilities that a job seeker possesses.

[0541] "Educational background" refers to the degree a job seeker has obtained, the name of the educational institution where they obtained it, and the course of their studies.

[0542] A "profile" is a comprehensive set of information generated based on a job seeker's experience, skills, and education.

[0543] A "job posting" is a document of recruitment information that describes the job duties a company is seeking and the necessary skills and experience.

[0544] "Vectorization" is the process of converting text data into numerical vectors, which allows the calculation of similarities between texts.

[0545] "Cosine similarity" is a measure of the similarity between vectorized data, and is calculated based on the angle between the vectors.

[0546] A "matching score" is a number that indicates the similarity between a job seeker's profile and a job posting.

[0547] "Interview questions" are questions used to assess a candidate's skills and experience.

[0548] A "viewing history" is a record of content that a user has viewed in the past.

[0549] "Rating data" refers to the ratings and feedback given by users to content they have viewed.

[0550] "Content" refers to media to be viewed, such as movies, dramas, anime, and programs.

[0551] "Recommendation" refers to suggesting appropriate content based on the user's preferences.

[0552] 1. System Overview

[0553] This invention provides an assistant system aimed at improving the efficiency of recruitment and content recommendation. The server analyzes text data from resumes and matches candidate profiles with company job postings. It also recommends optimal content based on the user's viewing history and rating data. The main hardware includes a server for processing data and a terminal for displaying and manipulating the results. The software used includes natural language processing libraries (e.g., scikit-learn and SpaCy).

[0554] 2. Resume Analysis

[0555] The server receives the text data of the resume sent by the user (job seeker) from the device. This data is analyzed using natural language processing technology to extract the candidate's experience, skills, and educational background. For example, if a user sends a resume stating, "I have 5 years of software development experience and am proficient in Python and Java," the server analyzes the data and generates the following profile:

[0556] Experience: 5 years of software development experience

[0557] Skills: Python, Java

[0558] Education: Graduated from the University of Tokyo

[0559] 3. Content Recommendation

[0560] The server analyzes the user's past viewing history and rating data. Based on this data, it creates a profile of the user's preferences. For example, if the user has watched many action movies in the past and given them high ratings, the server can recommend new action movies based on this profile.

[0561] 4. Content and profile vectorization and matching

[0562] The server converts candidate profiles and user viewing history into numerical vectors. Then, job postings and new content are similarly vectorized. The server then calculates the cosine similarity to obtain a matching score between the profile and job posting, or the viewing history and new content. For example, when recommending content to watch next:

[0563] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

[0564] 5. Generating and presenting interview questions and content recommendations

[0565] If the matching score exceeds a certain threshold, the server generates relevant interview questions or content recommendations. For example, if the candidate's skill is "Python," the server generates a question such as "Please explain Python class design." Similarly, it recommends new content based on the user's preferred genre. The results are sent from the server to the user's device. The user then reviews the recommended content or interview questions and decides on the next action.

[0566] Specific examples

[0567] For example, if a user has watched "Action Movie A" and "Action Movie B," a new "Action Movie C" will be recommended. If the user's viewing history is analyzed and it is determined that they have a preference for action movies, a new action movie will be recommended as their next viewing content. An example of a prompt sentence would be, "Movies that the user has recently watched are mostly action movies. Please recommend the next movie he should watch." The generative AI model will make an appropriate recommendation.

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

[0569] Step 1:

[0570] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This input data is the text information contained in the resume. Next, the server analyzes the text data using natural language processing technology (e.g., scikit-learn or SpaCy) to extract the candidate's experience, skills, and educational background information. The input data is the text data, and the output data is the analyzed individual profile information.

[0571] Step 2:

[0572] The server vectorizes the extracted profile information. In this process, it uses techniques such as TF-IDF vectorization to convert text data into numerical vectors. Here, the input data is each analyzed profile information, and the output data is the vectorized numerical data.

[0573] Step 3:

[0574] The server also vectorizes the job postings provided by companies. This process also uses techniques such as TF-IDF vectorization. The input data is the text information written in the job postings, and the output data is vectorized numerical data.

[0575] Step 4:

[0576] The server calculates the cosine similarity between the vectorized profile information and the job posting information. This generates a matching score that indicates the similarity between the two. The input data is the vectorized data, and the output data is the matching score. Specifically, the higher the similarity, the higher the matching score.

[0577] Step 5:

[0578] If the matching score exceeds a certain threshold, the server generates relevant interview questions. This generation process may use a generative AI model. For example, if the profile contains "Python," a relevant interview question may be generated such as "Please explain class design in Python." The input data are the matching score and profile information, and the output data are the interview questions.

[0579] Step 6:

[0580] The server sends the generated interview questions and matching scores to the user's terminal. The user checks the information received on the terminal and decides on the next action. The input data are the generated interview questions and matching scores, and the output data are the user's confirmation results and actions.

[0581] Step 7:

[0582] Next, the server receives the user's past viewing history and rating data, which includes the content viewed by the user and its rating information, and the input data is the viewing history and rating data.

[0583] Step 8:

[0584] The server analyzes the viewing history and rating data and generates a profile based on the user's preferences. The input data are the viewing history and rating data to be analyzed, and the output data is a profile based on the user's preferences.

[0585] Step 9:

[0586] The server vectorizes the text information of the user profile and new content. This process involves converting it into a numeric vector. The input data is the parsed profile and content information, and the output data is the vectorized data.

[0587] Step 10:

[0588] The server calculates the similarity between the profile and new content using cosine similarity and obtains a matching score. The input data is vectorized data, and the output data is a matching score. For example, new action movies similar to those of a user who has a history of watching action movies may be recommended.

[0589] Step 11:

[0590] If the matching score exceeds a certain threshold, the server will recommend suitable content to the user. The input data is the matching score and related information, and the output data is the recommended content. At this stage, the server uses a generative AI model to make optimal content recommendations.

[0591] Step 12:

[0592] The server sends the generated content recommendations and matching scores to the user's device. The user checks the recommended content on the device and decides whether to watch it. The input data are the generated content recommendations and matching scores, and the output data is the user's viewing decision.

[0593] Prompt Sentence Examples

[0594] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

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

[0596] 1. System Overview

[0597] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. In addition to conventional candidate profile generation and job matching, this invention recognizes user emotions and reflects them in analysis results and interview question generation, achieving more appropriate matching and the hiring process. The server is responsible for the main processing, while the terminal inputs data, displays results, and accepts user feedback.

[0598] 2. Program Processing Overview

[0599] 2-1. Resume analysis

[0600] The server receives the text data of the resume sent by the user from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." In addition, the server uses an emotion engine to recognize emotions in the text data and add them to the candidate's profile as emotion data.

[0601] For example, if a job seeker sends a resume to the server stating, "I demonstrated leadership and achieved results in demanding projects. Skills: Python, Java. Education: Graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0602] Experience: Leadership in demanding projects

[0603] Skills: Python, Java

[0604] Education: Graduated from the University of Tokyo

[0605] Emotional Data: Confidence and Achievement in Leadership

[0606] 2-2. Job matching

[0607] The server compares the generated candidate profile with the job posting provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility by adding emotional data to the score.

[0608] For example, if a job posting reads, "We are looking for a project manager with leadership skills. Required skills are Python and Java. Management experience preferred," the server calculates the similarity between the candidate profile and the job posting and obtains a matching score of, for example, 0.85. This score and sentiment data are then evaluated comprehensively to determine a high degree of compatibility.

[0609] 2-3. Interview question generation

[0610] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Explain Python class design" for "Python" and "Do you know about Java garbage collection?" for "Java." Furthermore, based on sentiment data on leadership, questions such as "Tell me how you demonstrated leadership in a challenging project" are generated.

[0611] 2-4. Presentation of results

[0612] The generated matching score, interview questions, and related emotional data are sent from the server to the user's device, where the user can review the results and decide on the next action (e.g., to proceed with the application process or prepare for an interview).

[0613] For example, if the resume submitted by a user identifies confidence and accomplishment in leadership, the server will present the user with interview questions such as "Describe class design in Python," "Do you know about garbage collection in Java?" and "Tell me how you demonstrated leadership in a challenging project."

[0614] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews by incorporating emotions.

[0615] The processing flow will be explained below.

[0616] Step 1:

[0617] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[0618] Step 2:

[0619] The server receives the text data of the resume submitted by the user, which is then passed to a natural language processing module and prepared for analysis.

[0620] Step 3:

[0621] The server uses a natural language processing module to analyze the text data of the resume. This analysis extracts information about the candidate's experience, skills, and educational background. For example, "5 years of software development experience," "Python and Java skills," and "Graduate of the University of Tokyo" are extracted from the text data.

[0622] Step 4:

[0623] The server uses the extracted information to generate a candidate profile, which includes the analyzed experience, skills, and education.

[0624] Step 5:

[0625] The server uses an emotion engine to recognize emotions from the text data in a resume. For example, if a resume states, "Demonstrated leadership in a challenging project," the server will recognize emotions such as "confidence" and "sense of accomplishment."

[0626] Step 6:

[0627] The server adds the emotional data to the candidate's profile, which includes the recognized emotional data along with experience, skills, and education.

[0628] Step 7:

[0629] The server acquires text data of job postings provided by companies. The job posting data is also stored in the server or received from companies.

[0630] Step 8:

[0631] The server converts the text data from the candidate profiles and job postings into numeric vectors, which makes the data comparable.

[0632] Step 9:

[0633] The server calculates the cosine similarity between the vectorized candidate profile and the job posting, which generates a match score between the candidate and the job posting. For example, a high match score of 0.85 can be obtained.

[0634] Step 10:

[0635] The server evaluates whether the candidate is suitable for the job based on the matching score and emotion data. If the evaluation result exceeds a certain threshold, the candidate is deemed to be a good fit.

[0636] Step 11:

[0637] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Describe class design in Python," "Do you know about garbage collection in Java?", and "Tell me about a time when you demonstrated leadership in a challenging project."

[0638] Step 12:

[0639] The server encodes the generated matching scores, evaluation results, and interview questions in JSON format and sends them to the user's device.

[0640] Step 13:

[0641] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching score, evaluation results, and interview questions.

[0642] Step 14:

[0643] Based on the presented interview questions and matching score, the user decides the next action (e.g., to proceed with the application process or to prepare for an interview). The terminal sends the user's selected action to the server, which then performs any necessary additional processing.

[0644] Example 2

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

[0646] Conventional recruitment systems simply analyze the contents of a candidate's resume, without taking into account emotional factors to accurately assess suitability for employment. Furthermore, the interview questions generated when the matching score exceeds a certain threshold do not reflect emotional data, requiring a more comprehensive assessment of suitability. This makes it difficult to select the right candidate and reduces the efficiency of the recruitment process.

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

[0648] In this invention, the server includes means for analyzing resume text data to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with the job posting and calculating the cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for extracting emotional data from the resume text data and adding it to the candidate profile, means for adding the emotional data to the generated matching score and evaluating the overall compatibility, means for generating interview questions based on the candidate's skill set and emotional data using a generative AI model, and means for presenting the analysis results and interview questions to a user's device. This allows for the generation of a comprehensive profile including the candidate's emotional data, enabling more accurate matching and the generation of interview questions.

[0649] A "resume" is a document in which a job seeker lists his or her career history, experience, skills, and educational background.

[0650] "Text data" refers to written information that is stored and processed electronically.

[0651] "Analysis" is the process of examining data in detail and extracting specific information or patterns.

[0652] "Experience" refers to the type of work or projects a job seeker has previously undertaken.

[0653] "Skills" refers to the specific abilities or techniques that a job seeker has acquired.

[0654] "Educational background" refers to the educational history and related qualifications completed by a job seeker.

[0655] "Profile" refers to a detailed compilation of candidate information generated from analyzed resume data.

[0656] A "job posting" is a document that lists the qualifications and job content of the person a company is looking for.

[0657] "Vectorization" is the process of converting text data into numerical data.

[0658] "Cosine similarity" is an index that represents the similarity between vectorized data, and is obtained by calculating the cosine value of the angle between two vectors.

[0659] A "matching score" is a number that evaluates the degree of similarity between a candidate's profile and a job posting.

[0660] "Emotion data" is information that represents an emotional state extracted from text data.

[0661] "Comprise" means incorporating one or more elements as constituent elements.

[0662] "Generation" is the process of creating new data or information.

[0663] A "generative AI model" refers to an artificial intelligence technology that learns from large amounts of data and generates new text based on given prompts.

[0664] A "prompt sentence" refers to the initial text or input sentence that provides instructions to a generative AI model.

[0665] "Terminal" refers to an electronic device through which a user can input information and receive results.

[0666] "Server" refers to a central computer system for storing, processing, and analyzing data.

[0667] "User" refers to an individual or company that uses the system.

[0668] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. The server is responsible for the main processing, and the terminal is responsible for data input, display of results, and reception of feedback from users. The system is configured as follows:

[0669] 1. Receiving resumes

[0670] The user uploads their resume from the terminal. The terminal temporarily stores the uploaded file and converts it into a data format for transfer to the server. Specifically, when the user selects a file on the browser and clicks the "Upload" button, the file is sent to the server.

[0671] 2. Resume Analysis

[0672] The server receives the resume file sent from the terminal and converts it into text data using a text extraction tool (for example, Apache Tika). The server then analyzes the resume text data using a natural language processing library (for example, spaCy or NLTK) to extract "experience," "skills," and "educational background." For example, if a job seeker sends a resume stating, "I have demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Educational background: Graduated from a higher education institution," the server analyzes it and generates a profile like the following:

[0673] Experience: Leadership in demanding projects

[0674] Skills: Programming languages, object-oriented programming

[0675] Education: Graduated from a higher education institution

[0676] 3. Adding Emotion Data

[0677] The server uses a sentiment analysis engine (e.g., a natural language processing engine) to extract emotional data from the text data. The server adds the extracted emotional data to the candidate's profile. For example, if the server determines that the phrase "demonstrates leadership" contains confidence and a sense of accomplishment, it adds the emotional data to the profile as "confidence, a sense of accomplishment."

[0678] 4. Job Matching

[0679] The server vectorizes the text data of each candidate profile to compare it with the company's job posting. The server calculates the similarity between the two using cosine similarity and generates a matching score. For example, the server calculates the similarity between "Experience: Leadership" and "Job posting: Project Management" and obtains a score of 0.85. Furthermore, the server evaluates the compatibility by taking into account sentiment data.

[0680] 5. Generating Interview Questions

[0681] The server uses a generative AI model (e.g., a generative AI model) to generate interview questions based on the candidate's skill set and emotional data. The prompt is entered as "Generate the following questions based on the candidate's experience and skills: Describe class design in programming languages. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project," and the AI ​​model generates appropriate questions.

[0682] 6. Presentation of results

[0683] The server sends the generated matching score, interview questions, and emotion data to the user's device. The user checks the results on the device and decides on the next action. The user then checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation. In this way, the present invention efficiently supports the entire hiring process, from resume analysis to matching with job postings and even interview preparation that incorporates emotions.

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

[0685] Step 1: Upload your resume

[0686] Input: Resume file (PDF or Word format) selected by the user

[0687] process:

[0688] Users can either drag and drop a resume file from their device into the upload form on the browser, or click the select button to select a file.

[0689] The terminal temporarily stores the uploaded resume file and converts it into a data format for transfer to the server.

[0690] Output: Resume file sent to the server

[0691] Specific operation: When the user clicks the "Upload" button, the device sends the resume file to the server.

[0692] Step 2: Resume Analysis

[0693] Input: Resume file sent to the server

[0694] process:

[0695] The server converts the received resume file into text data using a text extraction tool (e.g., Apache Tika).

[0696] The server uses a natural language processing library (e.g., spaCy or NLTK) to analyze the text data and extract "experience," "skills," and "educational background" information.

[0697] Output: Candidate profile with extracted "Experience", "Skills" and "Education"

[0698] Specific operation: The server uses an analysis engine to analyze each item on a resume, and identifies each element from text such as "Demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Education: Graduated from a higher education institution," and generates a profile.

[0699] Step 3: Add emotion data

[0700] Input: Text data extracted from resumes

[0701] process:

[0702] The server extracts emotion data from the text data using an emotion analysis engine (for example, a natural language processing engine).

[0703] The server adds the extracted emotion data to the candidate's profile.

[0704] Output: Candidate profile with added sentiment data

[0705] Specific operation: For example, the server determines that the "demonstrate leadership" part contains confidence and a sense of accomplishment, and adds the emotional data to the profile as "confidence, a sense of accomplishment."

[0706] Step 4: Job Matching

[0707] Input: Candidate profile with sentiment data added, company job posting

[0708] process:

[0709] The server vectorizes candidate profiles and company job postings.

[0710] The server calculates the similarity between the two using cosine similarity and generates a matching score.

[0711] The server evaluates the overall compatibility by adding emotional data to the generated matching score.

[0712] Output: Matching score that evaluates the goodness of fit

[0713] Specific operation: The server calculates the similarity between "Experience: Leadership" and "Job posting: Project management" and obtains a score of 0.85. It also takes into account sentiment data and determines that the similarity is high.

[0714] Step 5: Generate interview questions

[0715] Input: Candidate profile with added sentiment data, matching score

[0716] process:

[0717] The server uses a generative AI model (e.g., a generative AI model) and inputs the following prompt sentences: "Based on the candidate's experience and skills, generate the following questions: Describe class design in a programming language. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project."

[0718] The server generates appropriate interview questions using a generative AI model.

[0719] Output: Generated interview questions

[0720] Specific operation: The server generates appropriate interview questions based on the candidate's skill set and emotional data.

[0721] Step 6: Presenting the results

[0722] Input: Generated interview questions, matching score evaluating the suitability

[0723] process:

[0724] The server transmits the generated matching scores, interview questions, and emotion data to the user's terminal.

[0725] The user checks the results on the terminal and decides on the next action.

[0726] Output: Matching scores, interview questions, and sentiment data displayed on the terminal.

[0727] Specific operation: The user checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation.

[0728] (Application example 2)

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

[0730] Conventional recruitment systems match candidates based solely on their experience, skills, and educational background, making it difficult to properly evaluate talent. Furthermore, because they do not consider the candidate's emotions during the interview and selection process, they often miss opportunities for optimal responses and evaluations. Furthermore, the lack of real-time emotion analysis using smart devices resulted in insufficient customer service. This led to problems such as lower satisfaction for candidates and customers.

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

[0732] In this invention, the server includes means for analyzing text data from resumes to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for presenting the generated interview questions and matching score to the candidate, means for analyzing the user's emotions and presenting dialogue and response methods based on the analysis results, and means for collecting and analyzing emotion data in real time using a smart device. This enables more appropriate talent evaluation and customer service that takes the candidate's emotions into consideration, resulting in improved service quality and increased satisfaction.

[0733] "Resume text data" refers to textual information provided by a candidate, including work history, educational background, and skills.

[0734] "Experience" is a detailed history of the candidate's past roles, projects, and positions.

[0735] "Skills" refers to the specific skills, knowledge, and professional abilities that a candidate possesses.

[0736] "Educational background" refers to the candidate's educational history, including the educational institutions attended, degrees obtained, and majors.

[0737] A "profile" is comprehensive information about a candidate that is generated based on experience, skills, educational background, etc. extracted from a resume.

[0738] A "job posting" is a document that lists the specific job duties offered by a company, as well as the required skills and qualifications.

[0739] "Vectorization" is the process of converting text data into numerical vectors, making the data in a format that allows comparisons and calculations.

[0740] "Cosine similarity" is a formula for calculating the similarity between two vectors, and the closer the value is to 1, the higher the similarity.

[0741] The "matching score" is a numerical representation of the similarity between the candidate's profile and the job posting, and is an indicator of compatibility.

[0742] The "certain threshold" refers to the minimum standard value at which a matching score is judged to be highly relevant.

[0743] "Interview questions" are questions asked to candidates and are generated based on resumes, profiles, and emotional data.

[0744] "Presenting" means displaying the generated information or results to the user.

[0745] "Analyzing emotions" means recognizing and evaluating the user's emotional state from facial expressions, tone of voice, etc.

[0746] "Emotion data" is numerical and categorical information that indicates the results of the analyzed emotions.

[0747] "Dialogue and response methods" refer to optimal communication and response methods based on the user's emotions.

[0748] "Smart devices" refers to electronic devices with advanced functions such as smartphones, smart glasses, and head-mounted displays.

[0749] "Real-time" means that data is analyzed and processed as soon as it is collected.

[0750] 1. System Configuration

[0751] The system consists of a server, a smart device (e.g., smart glasses), and a user. The server is responsible for the main analysis and data processing, while the smart device collects and displays emotion data.

[0752] 2. Collecting and analyzing emotion data

[0753] The server receives facial expression and voice data transmitted in real time from smart devices (e.g., smart glasses). These data are analyzed using image processing libraries such as OpenCV and the EmotionRecognition library. The voice data is analyzed using the VoiceToneAnalyzer library, and the user's emotional data is extracted from the facial expression and voice.

[0754] 3. Customer Service Presentation

[0755] Based on the analyzed emotional data, the server generates appropriate dialogue and responses, which are then displayed on the smart device's display. For example, if a customer looks anxious, the server will suggest, "The customer seems anxious. Please consider responding in a way that will reassure them."

[0756] 4. Collecting and storing feedback

[0757] Users input customer feedback and send it to a server, which stores it in a database and uses it to improve future customer service. Real-time sentiment and feedback data is analyzed using data science tools to improve algorithms and suggest new ways of responding.

[0758] Hardware and software used

[0759] Hardware

[0760] Smart glasses (with built-in camera and microphone)

[0761] Servers (high-performance processors, storage, large-capacity memory)

[0762] software

[0763] OpenCV (image processing library)

[0764] EmotionRecognition (emotion analysis library)

[0765] VoiceToneAnalyzer (voice analysis library)

[0766] Database management system (e.g., MySQL)

[0767] Natural language processing models (e.g., BERT)

[0768] Specific examples

[0769] Example 1: A customer is interested in a new product and has questions, but their facial expression is uneasy.

[0770] "The customer seems anxious. Please consider providing a reassuring explanation."

[0771] Example 2: A customer with a child is looking at products with a happy look

[0772] "It seems like our customers are enjoying it. Please recommend a family-friendly set."

[0773] Prompt Sentence Examples

[0774] "The customer seems happy. Please suggest some products."

[0775] "The customer seems upset. Please stay calm and listen."

[0776] "The customer seems anxious. Please consider providing some reassurance."

[0777] In this way, the quality of customer service can be improved by analyzing the user's emotions and presenting ways to respond in real time based on that information.

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

[0779] Step 1:

[0780] A smart device (for example, smart glasses) collects facial expression and voice data from customers. Specifically, the camera in the smart glasses takes a picture of the customer's face, and the microphone records their voice. This data is sent to a server in real time. The input data consists of image data (facial expression) and voice data.

[0781] Step 2:

[0782] The server preprocesses the received facial expression data using OpenCV. Specifically, it performs face recognition and extracts the recognized face area. It then analyzes the extracted face area using the EmotionRecognition library to obtain emotion data. The input data is the preprocessed face image, and the output data is the emotional state (e.g., joy, anger, anxiety, etc.).

[0783] Step 3:

[0784] The server preprocesses the received voice data and analyzes it using the VoiceToneAnalyzer library. Specifically, it analyzes the tone and pitch of the voice and estimates the customer's emotional state. The input data is the voice data, and the output data is the emotional state estimated from the voice.

[0785] Step 4:

[0786] The server integrates the emotional data obtained in steps 2 and 3 to determine the overall emotional state. For example, if the facial expression data is "anxious" and the voice data is "anxious," the overall emotional state will also be "anxious." The input data are the results of facial expression analysis and voice analysis, and the output data is the overall emotional state.

[0787] Step 5:

[0788] The server generates an appropriate dialogue and response method based on the overall emotional state. For example, if the emotional state is determined to be "anxious," it generates a message saying, "The customer seems to be feeling anxious. Please consider a response that will reassure them." The input data is the overall emotional state, and the output data is a text message about how to respond.

[0789] Step 6:

[0790] The server sends the generated message to the smart device. The message on how to respond is displayed on the smart device's display. The user views this message and responds to the customer. The input data is a text message on how to respond, and the output is the message displayed on the smart device.

[0791] Step 7:

[0792] Users input customer feedback and send it to the server via their smart devices. The server stores this feedback in a database and uses it to improve future responses. The input data is the feedback text, and the output is the feedback stored in the database.

[0793] In this way, the server can analyze customer emotions in real time and realize a system that presents the user with the most appropriate response method.

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

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

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

[0797] [Third embodiment]

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

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

[0800] 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).

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

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

[0803] 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).

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

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

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

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

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

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

[0810] 1. System Overview

[0811] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0812] 2. Program Processing Overview

[0813] 2-1. Resume analysis

[0814] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." For this purpose, the server uses a pre-trained Japanese natural language processing model.

[0815] For example, if a job seeker submits a resume to the server stating, "Five years of software development experience, fluent in Python and Java, graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0816] Experience: 5 years of software development experience

[0817] Skills: Python, Java

[0818] Education: Graduated from the University of Tokyo

[0819] 2-2. Job matching

[0820] The server compares the generated candidate profile with the job postings provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility.

[0821] For example, if a job posting states, "We are looking for a software developer. Required skills are Python and Java. Desired experience is 5+ years," the server will calculate the similarity between the candidate profile and the job posting and obtain a matching score of, say, 0.9, which indicates a high degree of fit.

[0822] 2-3. Interview question generation

[0823] The server generates interview questions based on the candidate's skill set, such as "Explain class design in Python" for a candidate with "Python" skill, or "Do you know about garbage collection in Java?" for a candidate with "Java" skill.

[0824] 2-4. Presentation of results

[0825] The generated matching score and interview questions are sent from the server to the user's terminal. The job seeker can check the results and decide on the next action (e.g., proceed with the application process or prepare for an interview).

[0826] As a concrete example, if a user has "5 years of software development experience and is familiar with Python and Java," the server will present the user with interview questions such as "Describe class design in Python" and "Do you know about garbage collection in Java?"

[0827] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

[0828] The processing flow will be explained below.

[0829] Step 1:

[0830] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[0831] Step 2:

[0832] The server receives the text data of the resume sent by the user, and the received data is passed to the analysis module for using natural language processing technology.

[0833] Step 3:

[0834] The server uses a natural language processing module (e.g., Spacy's Japanese model) to analyze the text data of the resume. Through this analysis, the server extracts information on the candidate's "experience," "skills," and "educational background."

[0835] Step 4:

[0836] The server generates a candidate profile based on the extracted information, which is then stored for further job matching steps.

[0837] Step 5:

[0838] The server acquires the text data of the job posting. The job posting is either stored on the server in advance or received from the company. The server vectorizes the text data of the job posting and the candidate profile.

[0839] Step 6:

[0840] The server compares the vectorized candidate profile with the job posting using cosine similarity calculation, which calculates a match score between the candidate and the job posting.

[0841] Step 7:

[0842] The server determines that a job offer is suitable for a candidate if the score exceeds a certain threshold based on the calculated matching score. Additionally, the server generates interview questions based on the candidate's skill set.

[0843] Step 8:

[0844] The server compiles the generated matching scores and the results of the interview questions and sends them to the user's device in JSON format.

[0845] Step 9:

[0846] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching scores and interview questions.

[0847] Step 10:

[0848] Based on the presented interview questions and matching score, the user decides on the next action (such as proceeding with the application process or preparing for an interview). The terminal then sends the user's selection back to the server and initiates any additional processing required.

[0849] Example 1

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

[0851] Traditionally, it has been difficult to efficiently carry out recruitment processes such as analyzing resumes, matching them with job postings, and generating appropriate interview questions. In particular, the recruitment process in Japan requires manual analysis of large amounts of text data and matching with each profile, which is extremely time-consuming and labor-intensive. Furthermore, generating appropriate interview questions requires understanding detailed candidate information and formulating questions based on that information, which is a manual process with limitations. For this reason, there is a need for a system that can improve the efficiency and accuracy of the entire recruitment process.

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

[0853] In this invention, the server includes means for receiving and parsing resume text data, means for analyzing the received resume text data to extract the candidate's experience, skills, and educational background, and means for converting the extracted candidate profile with the job posting into a numerical vector and calculating the cosine similarity to generate a matching score. This improves the efficiency and accuracy of the recruitment process, enabling quick and accurate matching of job seekers with job postings and the generation of appropriate interview questions.

[0854] The "means for receiving and parsing resume text data" refers to the means by which the server receives the resume text data sent by the user (job seeker) and converts the data into a format that is easy to analyze.

[0855] "Means for analyzing text data of received resumes and extracting the experience, skills, and educational background of candidates" refers to means for extracting information on the experience, skills, and educational background of candidates from the text data of received resumes using natural language processing technology.

[0856] The "means for converting the extracted candidate profile into a job posting and a numerical vector, and calculating the cosine similarity to generate a matching score" refers to a means for converting text data into a numerical vector, and calculating the cosine similarity between the job posting and the candidate profile to generate a matching score indicating the degree of compatibility.

[0857] The "means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold" refers to a means for automatically generating interview questions based on the candidate's skill set and experience when the matching score exceeds a set reference value.

[0858] The "means for presenting the generated matching score and interview questions to the candidate" refers to a means for transmitting the generated matching score and interview questions to the user's terminal so that the candidate can check them.

[0859] "Means for analyzing resume text data using a natural language processing model and extracting experience, skills, and educational background" means means for analyzing resume text data using a pre-trained natural language processing model and extracting a candidate's experience, skills, and educational background from the data.

[0860] The "means for evaluating vectorized data between a candidate profile and a job posting using cosine similarity calculation" refers to a means for converting text data of a candidate profile and a job posting into numerical vectors and evaluating the similarity between them using cosine similarity calculation.

[0861] 1. System Overview

[0862] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[0863] 2. Hardware and Software Used

[0864] The system mainly operates using a server, a terminal, and a natural language processing model. Specifically, it has the following configuration:

[0865] Server: Receives resume data, analyzes it, creates profiles, performs job matching, generates interview questions, and presents the results.

[0866] Terminal: Provides an interface for users to input and upload their resumes and check the results.

[0867] Software: Analyze text data using natural language processing models (e.g., BERT model).

[0868] 3. Program Processing Overview

[0869] The server receives the resume text data sent by the user (job seeker) via their device and performs parsing to convert the data into an appropriate format. Next, it uses natural language processing technology to analyze the text data and extract information about the candidate's experience, skills, and educational background. It generates a candidate profile based on the analyzed information and compares it with the company's job posting to calculate a matching score. If this matching score exceeds a certain threshold, it generates interview questions based on the candidate's skill set. Finally, it sends the generated matching score and interview questions to the user's device, where the candidate confirms them.

[0870] 4. Examples of concrete examples and prompts

[0871] As a concrete example, consider the case where a job seeker submits a resume to the server stating, "5 years of software development experience, fluent in Python and Java, graduated from the University of Tokyo." The server analyzes this and generates a profile like this:

[0872] Experience: 5 years of software development experience

[0873] Skills: Python, Java

[0874] Education: Graduated from the University of Tokyo

[0875] This profile is compared with the company's job postings to get a matching score of, say, 0.9. If this score exceeds a certain threshold, the server generates interview questions such as "Describe class design in Python" or "Do you know about garbage collection in Java?"

[0876] Examples of prompts for generative AI models include:

[0877] "Five years of software development experience, fluent in Python and Java. Graduated from the University of Tokyo."

[0878] For example, we analyze resume text and extract experience, skills, and educational background to generate a profile.

[0879] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

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

[0881] Step 1:

[0882] Receiving and parsing resume text data

[0883] Input: The text data of the resume sent by the user from the terminal.

[0884] Processing: The server receives the resume text data sent by the user (job seeker) via the terminal. After receiving the data, it performs a parsing process to convert it into an appropriate format. This parsing process converts the text data into a format that is easy to analyze.

[0885] Output: Parsed resume text data.

[0886] Specific operation: A user uploads a resume to a job-seeker portal site. The terminal sends the data to the server. The server receives the data and parses it into text format.

[0887] Step 2:

[0888] Resume data analysis

[0889] Input: Parsed resume text data.

[0890] Processing: The server analyzes the text data using natural language processing techniques. It uses a pre-trained Japanese natural language processing model (e.g., the BERT model) to extract important information (experience, skills, and educational background) from the text.

[0891] Output: Parsed candidate information (experience, skills, education).

[0892] Specific operation: The server loads a natural language processing model. The server inputs resume text into the model, analyzes the meaning of the text, and extracts relevant information.

[0893] Step 3:

[0894] Generate candidate profiles

[0895] Input: Parsed candidate information (experience, skills, education).

[0896] Processing: The server generates a candidate profile based on the extracted information. This profile organizes and structures information about the candidate, such as their experience, skills, and education.

[0897] Output: The generated candidate profile.

[0898] Specific operation: The server fills in the experience, skills, and educational background fields according to the analysis results. The server then saves the generated profile in its internal database.

[0899] Step 4:

[0900] Job Matching

[0901] Input: Generated candidate profile and company job posting data.

[0902] Processing: The server compares the candidate profile with the company's job posting and calculates a matching score. The server converts the text data into a numerical vector and calculates the cosine similarity to obtain a score indicating the compatibility between the two.

[0903] Output: The calculated matching score.

[0904] Specific operation: The server loads the job posting data and converts it into a text vector. The server also converts the candidate profile into a text vector. The server calculates the cosine similarity between the two and obtains a matching score.

[0905] Step 5:

[0906] Generate interview questions

[0907] Inputs: Candidate skill set and matching score.

[0908] Processing: The server generates interview questions based on the candidate's skill set. It uses question templates corresponding to each skill and automatically generates appropriate questions.

[0909] Output: Generated interview questions.

[0910] Specific operations: The server references the question template for each skill, extracts skills from the candidate profile, and generates corresponding questions from the template.

[0911] Step 6:

[0912] Presentation of results

[0913] Input: Calculated matching scores and generated interview questions.

[0914] Processing: The generated matching score and interview questions are sent to the user's terminal, where the user can review this information and take appropriate action.

[0915] Output: Matching scores and interview questions presented.

[0916] Specific operation: The server combines the matching score and the interview questions into a single packet. The server then sends this packet to the user's device. The device then displays the received data and presents it to the user.

[0917] (Application example 1)

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

[0919] In the modern recruitment process, companies need a great deal of time and effort to analyze job seekers' resumes, match them with suitable job offers, and generate interview questions. Content distribution services also require complex data analysis and matching to appropriately recommend content that users are interested in. This can lead to problems such as job seekers missing out on job offers that suit their aptitudes, and users spending a lot of time finding content that matches their preferences. There is a need for a system that can solve these problems.

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

[0921] In this invention, the server includes: means for analyzing text data of a resume and extracting the candidate's experience, skills, and educational background; means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score; means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold; means for presenting the generated interview questions and matching score to the candidate; means for analyzing a user's past viewing history and evaluation data to generate a profile; means for vectorizing the generated profile with new content and calculating cosine similarity to generate a matching score; means for recommending relevant content when the matching score exceeds a certain threshold; and means for presenting the generated content recommendation and matching score to the user. This makes it possible to streamline a series of processes from analyzing a resume to matching with a job posting, generating interview questions, and analyzing a user's viewing history and evaluation data to recommend content.

[0922] "Resume text data" refers to text data that includes information such as an individual's work history, skills, educational background, and self-promotion that is included in a document submitted by a job seeker.

[0923] "Experience" refers to the job applicant's work history, such as past tasks and projects, and the duration of those tasks and projects.

[0924] "Skills" refers to the knowledge, techniques, and professional abilities that a job seeker possesses.

[0925] "Educational background" refers to the degree a job seeker has obtained, the name of the educational institution where they obtained it, and the course of their studies.

[0926] A "profile" is a comprehensive set of information generated based on a job seeker's experience, skills, and education.

[0927] A "job posting" is a document of recruitment information that describes the job duties a company is seeking and the necessary skills and experience.

[0928] "Vectorization" is the process of converting text data into numerical vectors, which allows the calculation of similarities between texts.

[0929] "Cosine similarity" is a measure of the similarity between vectorized data, and is calculated based on the angle between the vectors.

[0930] A "matching score" is a number that indicates the similarity between a job seeker's profile and a job posting.

[0931] "Interview questions" are questions used to assess a candidate's skills and experience.

[0932] A "viewing history" is a record of content that a user has viewed in the past.

[0933] "Rating data" refers to the ratings and feedback given by users to content they have viewed.

[0934] "Content" refers to media to be viewed, such as movies, dramas, anime, and programs.

[0935] "Recommendation" refers to suggesting appropriate content based on the user's preferences.

[0936] 1. System Overview

[0937] This invention provides an assistant system aimed at improving the efficiency of recruitment and content recommendation. The server analyzes text data from resumes and matches candidate profiles with company job postings. It also recommends optimal content based on the user's viewing history and rating data. The main hardware includes a server for processing data and a terminal for displaying and manipulating the results. The software used includes natural language processing libraries (e.g., scikit-learn and SpaCy).

[0938] 2. Resume Analysis

[0939] The server receives the text data of the resume sent by the user (job seeker) from the device. This data is analyzed using natural language processing technology to extract the candidate's experience, skills, and educational background. For example, if a user sends a resume stating, "I have 5 years of software development experience and am proficient in Python and Java," the server analyzes the data and generates the following profile:

[0940] Experience: 5 years of software development experience

[0941] Skills: Python, Java

[0942] Education: Graduated from the University of Tokyo

[0943] 3. Content Recommendation

[0944] The server analyzes the user's past viewing history and rating data. Based on this data, it creates a profile of the user's preferences. For example, if the user has watched many action movies in the past and given them high ratings, the server can recommend new action movies based on this profile.

[0945] 4. Content and profile vectorization and matching

[0946] The server converts candidate profiles and user viewing history into numerical vectors. Then, job postings and new content are similarly vectorized. The server then calculates the cosine similarity to obtain a matching score between the profile and job posting, or the viewing history and new content. For example, when recommending content to watch next:

[0947] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

[0948] 5. Generating and presenting interview questions and content recommendations

[0949] If the matching score exceeds a certain threshold, the server generates relevant interview questions or content recommendations. For example, if the candidate's skill is "Python," the server generates a question such as "Please explain Python class design." Similarly, it recommends new content based on the user's preferred genre. The results are sent from the server to the user's device. The user then reviews the recommended content or interview questions and decides on the next action.

[0950] Specific examples

[0951] For example, if a user has watched "Action Movie A" and "Action Movie B," a new "Action Movie C" will be recommended. If the user's viewing history is analyzed and it is determined that they have a preference for action movies, a new action movie will be recommended as their next viewing content. An example of a prompt sentence would be, "Movies that the user has recently watched are mostly action movies. Please recommend the next movie he should watch." The generative AI model will make an appropriate recommendation.

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

[0953] Step 1:

[0954] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This input data is the text information contained in the resume. Next, the server analyzes the text data using natural language processing technology (e.g., scikit-learn or SpaCy) to extract the candidate's experience, skills, and educational background information. The input data is the text data, and the output data is the analyzed individual profile information.

[0955] Step 2:

[0956] The server vectorizes the extracted profile information. In this process, it uses techniques such as TF-IDF vectorization to convert text data into numerical vectors. Here, the input data is each analyzed profile information, and the output data is the vectorized numerical data.

[0957] Step 3:

[0958] The server also vectorizes the job postings provided by companies. This process also uses techniques such as TF-IDF vectorization. The input data is the text information written in the job postings, and the output data is vectorized numerical data.

[0959] Step 4:

[0960] The server calculates the cosine similarity between the vectorized profile information and the job posting information. This generates a matching score that indicates the similarity between the two. The input data is the vectorized data, and the output data is the matching score. Specifically, the higher the similarity, the higher the matching score.

[0961] Step 5:

[0962] If the matching score exceeds a certain threshold, the server generates relevant interview questions. This generation process may use a generative AI model. For example, if the profile contains "Python," a relevant interview question may be generated such as "Please explain class design in Python." The input data are the matching score and profile information, and the output data are the interview questions.

[0963] Step 6:

[0964] The server sends the generated interview questions and matching scores to the user's terminal. The user checks the information received on the terminal and decides on the next action. The input data are the generated interview questions and matching scores, and the output data are the user's confirmation results and actions.

[0965] Step 7:

[0966] Next, the server receives the user's past viewing history and rating data, which includes the content viewed by the user and its rating information, and the input data is the viewing history and rating data.

[0967] Step 8:

[0968] The server analyzes the viewing history and rating data and generates a profile based on the user's preferences. The input data are the viewing history and rating data to be analyzed, and the output data is a profile based on the user's preferences.

[0969] Step 9:

[0970] The server vectorizes the text information of the user profile and new content. This process involves converting it into a numeric vector. The input data is the parsed profile and content information, and the output data is the vectorized data.

[0971] Step 10:

[0972] The server calculates the similarity between the profile and new content using cosine similarity and obtains a matching score. The input data is vectorized data, and the output data is a matching score. For example, new action movies similar to those of a user who has a history of watching action movies may be recommended.

[0973] Step 11:

[0974] If the matching score exceeds a certain threshold, the server will recommend suitable content to the user. The input data is the matching score and related information, and the output data is the recommended content. At this stage, the server uses a generative AI model to make optimal content recommendations.

[0975] Step 12:

[0976] The server sends the generated content recommendations and matching scores to the user's device. The user checks the recommended content on the device and decides whether to watch it. The input data are the generated content recommendations and matching scores, and the output data is the user's viewing decision.

[0977] Prompt Sentence Examples

[0978] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

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

[0980] 1. System Overview

[0981] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. In addition to conventional candidate profile generation and job matching, this invention recognizes user emotions and reflects them in analysis results and interview question generation, achieving more appropriate matching and the hiring process. The server is responsible for the main processing, while the terminal inputs data, displays results, and accepts user feedback.

[0982] 2. Program Processing Overview

[0983] 2-1. Resume analysis

[0984] The server receives the text data of the resume sent by the user from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." In addition, the server uses an emotion engine to recognize emotions in the text data and add them to the candidate's profile as emotion data.

[0985] For example, if a job seeker sends a resume to the server stating, "I demonstrated leadership and achieved results in demanding projects. Skills: Python, Java. Education: Graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[0986] Experience: Leadership in demanding projects

[0987] Skills: Python, Java

[0988] Education: Graduated from the University of Tokyo

[0989] Emotional Data: Confidence and Achievement in Leadership

[0990] 2-2. Job matching

[0991] The server compares the generated candidate profile with the job posting provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility by adding emotional data to the score.

[0992] For example, if a job posting reads, "We are looking for a project manager with leadership skills. Required skills are Python and Java. Management experience preferred," the server calculates the similarity between the candidate profile and the job posting and obtains a matching score of, for example, 0.85. This score and sentiment data are then evaluated comprehensively to determine a high degree of compatibility.

[0993] 2-3. Interview question generation

[0994] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Explain Python class design" for "Python" and "Do you know about Java garbage collection?" for "Java." Furthermore, based on sentiment data on leadership, questions such as "Tell me how you demonstrated leadership in a challenging project" are generated.

[0995] 2-4. Presentation of results

[0996] The generated matching score, interview questions, and related emotional data are sent from the server to the user's device, where the user can review the results and decide on the next action (e.g., to proceed with the application process or prepare for an interview).

[0997] For example, if the resume submitted by a user identifies confidence and accomplishment in leadership, the server will present the user with interview questions such as "Describe class design in Python," "Do you know about garbage collection in Java?" and "Tell me how you demonstrated leadership in a challenging project."

[0998] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews by incorporating emotions.

[0999] The processing flow will be explained below.

[1000] Step 1:

[1001] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[1002] Step 2:

[1003] The server receives the text data of the resume submitted by the user, which is then passed to a natural language processing module and prepared for analysis.

[1004] Step 3:

[1005] The server uses a natural language processing module to analyze the text data of the resume. This analysis extracts information about the candidate's experience, skills, and educational background. For example, "5 years of software development experience," "Python and Java skills," and "Graduate of the University of Tokyo" are extracted from the text data.

[1006] Step 4:

[1007] The server uses the extracted information to generate a candidate profile, which includes the analyzed experience, skills, and education.

[1008] Step 5:

[1009] The server uses an emotion engine to recognize emotions from the text data in a resume. For example, if a resume states, "Demonstrated leadership in a challenging project," the server will recognize emotions such as "confidence" and "sense of accomplishment."

[1010] Step 6:

[1011] The server adds the emotional data to the candidate's profile, which includes the recognized emotional data along with experience, skills, and education.

[1012] Step 7:

[1013] The server acquires text data of job postings provided by companies. The job posting data is also stored in the server or received from companies.

[1014] Step 8:

[1015] The server converts the text data from the candidate profiles and job postings into numeric vectors, which makes the data comparable.

[1016] Step 9:

[1017] The server calculates the cosine similarity between the vectorized candidate profile and the job posting, which generates a match score between the candidate and the job posting. For example, a high match score of 0.85 can be obtained.

[1018] Step 10:

[1019] The server evaluates whether the candidate is suitable for the job based on the matching score and emotion data. If the evaluation result exceeds a certain threshold, the candidate is deemed to be a good fit.

[1020] Step 11:

[1021] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Describe class design in Python," "Do you know about garbage collection in Java?", and "Tell me about a time when you demonstrated leadership in a challenging project."

[1022] Step 12:

[1023] The server encodes the generated matching scores, evaluation results, and interview questions in JSON format and sends them to the user's device.

[1024] Step 13:

[1025] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching score, evaluation results, and interview questions.

[1026] Step 14:

[1027] Based on the presented interview questions and matching score, the user decides the next action (e.g., to proceed with the application process or to prepare for an interview). The terminal sends the user's selected action to the server, which then performs any necessary additional processing.

[1028] Example 2

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

[1030] Conventional recruitment systems simply analyze the contents of a candidate's resume, without taking into account emotional factors to accurately assess suitability for employment. Furthermore, the interview questions generated when the matching score exceeds a certain threshold do not reflect emotional data, requiring a more comprehensive assessment of suitability. This makes it difficult to select the right candidate and reduces the efficiency of the recruitment process.

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

[1032] In this invention, the server includes means for analyzing resume text data to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with the job posting and calculating the cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for extracting emotional data from the resume text data and adding it to the candidate profile, means for adding the emotional data to the generated matching score and evaluating the overall compatibility, means for generating interview questions based on the candidate's skill set and emotional data using a generative AI model, and means for presenting the analysis results and interview questions to a user's device. This allows for the generation of a comprehensive profile including the candidate's emotional data, enabling more accurate matching and the generation of interview questions.

[1033] A "resume" is a document in which a job seeker lists his or her career history, experience, skills, and educational background.

[1034] "Text data" refers to written information that is stored and processed electronically.

[1035] "Analysis" is the process of examining data in detail and extracting specific information or patterns.

[1036] "Experience" refers to the type of work or projects a job seeker has previously undertaken.

[1037] "Skills" refers to the specific abilities or techniques that a job seeker has acquired.

[1038] "Educational background" refers to the educational history and related qualifications completed by a job seeker.

[1039] "Profile" refers to a detailed compilation of candidate information generated from analyzed resume data.

[1040] A "job posting" is a document that lists the qualifications and job content of the person a company is looking for.

[1041] "Vectorization" is the process of converting text data into numerical data.

[1042] "Cosine similarity" is an index that represents the similarity between vectorized data, and is obtained by calculating the cosine value of the angle between two vectors.

[1043] A "matching score" is a number that evaluates the degree of similarity between a candidate's profile and a job posting.

[1044] "Emotion data" is information that represents an emotional state extracted from text data.

[1045] "Comprise" means incorporating one or more elements as constituent elements.

[1046] "Generation" is the process of creating new data or information.

[1047] A "generative AI model" refers to an artificial intelligence technology that learns from large amounts of data and generates new text based on given prompts.

[1048] A "prompt sentence" refers to the initial text or input sentence that provides instructions to a generative AI model.

[1049] "Terminal" refers to an electronic device through which a user can input information and receive results.

[1050] "Server" refers to a central computer system for storing, processing, and analyzing data.

[1051] "User" refers to an individual or company that uses the system.

[1052] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. The server is responsible for the main processing, and the terminal is responsible for data input, display of results, and reception of feedback from users. The system is configured as follows:

[1053] 1. Receiving resumes

[1054] The user uploads their resume from the terminal. The terminal temporarily stores the uploaded file and converts it into a data format for transfer to the server. Specifically, when the user selects a file on the browser and clicks the "Upload" button, the file is sent to the server.

[1055] 2. Resume Analysis

[1056] The server receives the resume file sent from the terminal and converts it into text data using a text extraction tool (for example, Apache Tika). The server then analyzes the resume text data using a natural language processing library (for example, spaCy or NLTK) to extract "experience," "skills," and "educational background." For example, if a job seeker sends a resume stating, "I have demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Educational background: Graduated from a higher education institution," the server analyzes it and generates a profile like the following:

[1057] Experience: Leadership in demanding projects

[1058] Skills: Programming languages, object-oriented programming

[1059] Education: Graduated from a higher education institution

[1060] 3. Adding Emotion Data

[1061] The server uses a sentiment analysis engine (e.g., a natural language processing engine) to extract emotional data from the text data. The server adds the extracted emotional data to the candidate's profile. For example, if the server determines that the phrase "demonstrates leadership" contains confidence and a sense of accomplishment, it adds the emotional data to the profile as "confidence, a sense of accomplishment."

[1062] 4. Job Matching

[1063] The server vectorizes the text data of each candidate profile to compare it with the company's job posting. The server calculates the similarity between the two using cosine similarity and generates a matching score. For example, the server calculates the similarity between "Experience: Leadership" and "Job posting: Project Management" and obtains a score of 0.85. Furthermore, the server evaluates the compatibility by taking into account sentiment data.

[1064] 5. Generating Interview Questions

[1065] The server uses a generative AI model (e.g., a generative AI model) to generate interview questions based on the candidate's skill set and emotional data. The prompt is entered as "Generate the following questions based on the candidate's experience and skills: Describe class design in programming languages. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project," and the AI ​​model generates appropriate questions.

[1066] 6. Presentation of results

[1067] The server sends the generated matching score, interview questions, and emotion data to the user's device. The user checks the results on the device and decides on the next action. The user then checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation. In this way, the present invention efficiently supports the entire hiring process, from resume analysis to matching with job postings and even interview preparation that incorporates emotions.

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

[1069] Step 1: Upload your resume

[1070] Input: Resume file (PDF or Word format) selected by the user

[1071] process:

[1072] Users can either drag and drop a resume file from their device into the upload form on the browser, or click the select button to select a file.

[1073] The terminal temporarily stores the uploaded resume file and converts it into a data format for transfer to the server.

[1074] Output: Resume file sent to the server

[1075] Specific operation: When the user clicks the "Upload" button, the device sends the resume file to the server.

[1076] Step 2: Resume Analysis

[1077] Input: Resume file sent to the server

[1078] process:

[1079] The server converts the received resume file into text data using a text extraction tool (e.g., Apache Tika).

[1080] The server uses a natural language processing library (e.g., spaCy or NLTK) to analyze the text data and extract "experience," "skills," and "educational background" information.

[1081] Output: Candidate profile with extracted "Experience", "Skills" and "Education"

[1082] Specific operation: The server uses an analysis engine to analyze each item on a resume, and identifies each element from text such as "Demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Education: Graduated from a higher education institution," and generates a profile.

[1083] Step 3: Add emotion data

[1084] Input: Text data extracted from resumes

[1085] process:

[1086] The server extracts emotion data from the text data using an emotion analysis engine (for example, a natural language processing engine).

[1087] The server adds the extracted emotion data to the candidate's profile.

[1088] Output: Candidate profile with added sentiment data

[1089] Specific operation: For example, the server determines that the "demonstrate leadership" part contains confidence and a sense of accomplishment, and adds the emotional data to the profile as "confidence, a sense of accomplishment."

[1090] Step 4: Job Matching

[1091] Input: Candidate profile with sentiment data added, company job posting

[1092] process:

[1093] The server vectorizes candidate profiles and company job postings.

[1094] The server calculates the similarity between the two using cosine similarity and generates a matching score.

[1095] The server evaluates the overall compatibility by adding emotional data to the generated matching score.

[1096] Output: Matching score that evaluates the goodness of fit

[1097] Specific operation: The server calculates the similarity between "Experience: Leadership" and "Job posting: Project management" and obtains a score of 0.85. It also takes into account sentiment data and determines that the similarity is high.

[1098] Step 5: Generate interview questions

[1099] Input: Candidate profile with added sentiment data, matching score

[1100] process:

[1101] The server uses a generative AI model (e.g., a generative AI model) and inputs the following prompt sentences: "Based on the candidate's experience and skills, generate the following questions: Describe class design in a programming language. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project."

[1102] The server generates appropriate interview questions using a generative AI model.

[1103] Output: Generated interview questions

[1104] Specific operation: The server generates appropriate interview questions based on the candidate's skill set and emotional data.

[1105] Step 6: Presenting the results

[1106] Input: Generated interview questions, matching score evaluating the suitability

[1107] process:

[1108] The server transmits the generated matching scores, interview questions, and emotion data to the user's terminal.

[1109] The user checks the results on the terminal and decides on the next action.

[1110] Output: Matching scores, interview questions, and sentiment data displayed on the terminal.

[1111] Specific operation: The user checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation.

[1112] (Application example 2)

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

[1114] Conventional recruitment systems match candidates based solely on their experience, skills, and educational background, making it difficult to properly evaluate talent. Furthermore, because they do not consider the candidate's emotions during the interview and selection process, they often miss opportunities for optimal responses and evaluations. Furthermore, the lack of real-time emotion analysis using smart devices resulted in insufficient customer service. This led to problems such as lower satisfaction for candidates and customers.

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

[1116] In this invention, the server includes means for analyzing text data from resumes to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for presenting the generated interview questions and matching score to the candidate, means for analyzing the user's emotions and presenting dialogue and response methods based on the analysis results, and means for collecting and analyzing emotion data in real time using a smart device. This enables more appropriate talent evaluation and customer service that takes the candidate's emotions into consideration, resulting in improved service quality and increased satisfaction.

[1117] "Resume text data" refers to textual information provided by a candidate, including work history, educational background, and skills.

[1118] "Experience" is a detailed history of the candidate's past roles, projects, and positions.

[1119] "Skills" refers to the specific skills, knowledge, and professional abilities that a candidate possesses.

[1120] "Educational background" refers to the candidate's educational history, including the educational institutions attended, degrees obtained, and majors.

[1121] A "profile" is comprehensive information about a candidate that is generated based on experience, skills, educational background, etc. extracted from a resume.

[1122] A "job posting" is a document that lists the specific job duties offered by a company, as well as the required skills and qualifications.

[1123] "Vectorization" is the process of converting text data into numerical vectors, making the data in a format that allows comparisons and calculations.

[1124] "Cosine similarity" is a formula for calculating the similarity between two vectors, and the closer the value is to 1, the higher the similarity.

[1125] The "matching score" is a numerical representation of the similarity between the candidate's profile and the job posting, and is an indicator of compatibility.

[1126] The "certain threshold" refers to the minimum standard value at which a matching score is judged to be highly relevant.

[1127] "Interview questions" are questions asked to candidates and are generated based on resumes, profiles, and emotional data.

[1128] "Presenting" means displaying the generated information or results to the user.

[1129] "Analyzing emotions" means recognizing and evaluating the user's emotional state from facial expressions, tone of voice, etc.

[1130] "Emotion data" is numerical and categorical information that indicates the results of the analyzed emotions.

[1131] "Dialogue and response methods" refer to optimal communication and response methods based on the user's emotions.

[1132] "Smart devices" refers to electronic devices with advanced functions such as smartphones, smart glasses, and head-mounted displays.

[1133] "Real-time" means that data is analyzed and processed as soon as it is collected.

[1134] 1. System Configuration

[1135] The system consists of a server, a smart device (e.g., smart glasses), and a user. The server is responsible for the main analysis and data processing, while the smart device collects and displays emotion data.

[1136] 2. Collecting and analyzing emotion data

[1137] The server receives facial expression and voice data transmitted in real time from smart devices (e.g., smart glasses). These data are analyzed using image processing libraries such as OpenCV and the EmotionRecognition library. The voice data is analyzed using the VoiceToneAnalyzer library, and the user's emotional data is extracted from the facial expression and voice.

[1138] 3. Customer Service Presentation

[1139] Based on the analyzed emotional data, the server generates appropriate dialogue and responses, which are then displayed on the smart device's display. For example, if a customer looks anxious, the server will suggest, "The customer seems anxious. Please consider responding in a way that will reassure them."

[1140] 4. Collecting and storing feedback

[1141] Users input customer feedback and send it to a server, which stores it in a database and uses it to improve future customer service. Real-time sentiment and feedback data is analyzed using data science tools to improve algorithms and suggest new ways of responding.

[1142] Hardware and software used

[1143] Hardware

[1144] Smart glasses (with built-in camera and microphone)

[1145] Servers (high-performance processors, storage, large-capacity memory)

[1146] software

[1147] OpenCV (image processing library)

[1148] EmotionRecognition (emotion analysis library)

[1149] VoiceToneAnalyzer (voice analysis library)

[1150] Database management system (e.g., MySQL)

[1151] Natural language processing models (e.g., BERT)

[1152] Specific examples

[1153] Example 1: A customer is interested in a new product and has questions, but their facial expression is uneasy.

[1154] "The customer seems anxious. Please consider providing a reassuring explanation."

[1155] Example 2: A customer with a child is looking at products with a happy look

[1156] "It seems like our customers are enjoying it. Please recommend a family-friendly set."

[1157] Prompt Sentence Examples

[1158] "The customer seems happy. Please suggest some products."

[1159] "The customer seems upset. Please stay calm and listen."

[1160] "The customer seems anxious. Please consider providing some reassurance."

[1161] In this way, the quality of customer service can be improved by analyzing the user's emotions and presenting ways to respond in real time based on that information.

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

[1163] Step 1:

[1164] A smart device (for example, smart glasses) collects facial expression and voice data from customers. Specifically, the camera in the smart glasses takes a picture of the customer's face, and the microphone records their voice. This data is sent to a server in real time. The input data consists of image data (facial expression) and voice data.

[1165] Step 2:

[1166] The server preprocesses the received facial expression data using OpenCV. Specifically, it performs face recognition and extracts the recognized face area. It then analyzes the extracted face area using the EmotionRecognition library to obtain emotion data. The input data is the preprocessed face image, and the output data is the emotional state (e.g., joy, anger, anxiety, etc.).

[1167] Step 3:

[1168] The server preprocesses the received voice data and analyzes it using the VoiceToneAnalyzer library. Specifically, it analyzes the tone and pitch of the voice and estimates the customer's emotional state. The input data is the voice data, and the output data is the emotional state estimated from the voice.

[1169] Step 4:

[1170] The server integrates the emotional data obtained in steps 2 and 3 to determine the overall emotional state. For example, if the facial expression data is "anxious" and the voice data is "anxious," the overall emotional state will also be "anxious." The input data are the results of facial expression analysis and voice analysis, and the output data is the overall emotional state.

[1171] Step 5:

[1172] The server generates an appropriate dialogue and response method based on the overall emotional state. For example, if the emotional state is determined to be "anxious," it generates a message saying, "The customer seems to be feeling anxious. Please consider a response that will reassure them." The input data is the overall emotional state, and the output data is a text message about how to respond.

[1173] Step 6:

[1174] The server sends the generated message to the smart device. The message on how to respond is displayed on the smart device's display. The user views this message and responds to the customer. The input data is a text message on how to respond, and the output is the message displayed on the smart device.

[1175] Step 7:

[1176] Users input customer feedback and send it to the server via their smart devices. The server stores this feedback in a database and uses it to improve future responses. The input data is the feedback text, and the output is the feedback stored in the database.

[1177] In this way, the server can analyze customer emotions in real time and realize a system that presents the user with the most appropriate response method.

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

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

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

[1181] [Fourth embodiment]

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

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

[1184] 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).

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

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

[1187] 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).

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

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

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

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

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

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

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

[1195] 1. System Overview

[1196] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[1197] 2. Program Processing Overview

[1198] 2-1. Resume analysis

[1199] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." For this purpose, the server uses a pre-trained Japanese natural language processing model.

[1200] For example, if a job seeker submits a resume to the server stating, "Five years of software development experience, fluent in Python and Java, graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[1201] Experience: 5 years of software development experience

[1202] Skills: Python, Java

[1203] Education: Graduated from the University of Tokyo

[1204] 2-2. Job matching

[1205] The server compares the generated candidate profile with the job postings provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility.

[1206] For example, if a job posting states, "We are looking for a software developer. Required skills are Python and Java. Desired experience is 5+ years," the server will calculate the similarity between the candidate profile and the job posting and obtain a matching score of, say, 0.9, which indicates a high degree of fit.

[1207] 2-3. Interview question generation

[1208] The server generates interview questions based on the candidate's skill set, such as "Explain class design in Python" for a candidate with "Python" skill, or "Do you know about garbage collection in Java?" for a candidate with "Java" skill.

[1209] 2-4. Presentation of results

[1210] The generated matching score and interview questions are sent from the server to the user's terminal. The job seeker can check the results and decide on the next action (e.g., proceed with the application process or prepare for an interview).

[1211] As a concrete example, if a user has "5 years of software development experience and is familiar with Python and Java," the server will present the user with interview questions such as "Describe class design in Python" and "Do you know about garbage collection in Java?"

[1212] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

[1213] The processing flow will be explained below.

[1214] Step 1:

[1215] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[1216] Step 2:

[1217] The server receives the text data of the resume sent by the user, and the received data is passed to the analysis module for using natural language processing technology.

[1218] Step 3:

[1219] The server uses a natural language processing module (e.g., Spacy's Japanese model) to analyze the text data of the resume. Through this analysis, the server extracts information on the candidate's "experience," "skills," and "educational background."

[1220] Step 4:

[1221] The server generates a candidate profile based on the extracted information, which is then stored for further job matching steps.

[1222] Step 5:

[1223] The server acquires the text data of the job posting. The job posting is either stored on the server in advance or received from the company. The server vectorizes the text data of the job posting and the candidate profile.

[1224] Step 6:

[1225] The server compares the vectorized candidate profile with the job posting using cosine similarity calculation, which calculates a match score between the candidate and the job posting.

[1226] Step 7:

[1227] The server determines that a job offer is suitable for a candidate if the score exceeds a certain threshold based on the calculated matching score. Additionally, the server generates interview questions based on the candidate's skill set.

[1228] Step 8:

[1229] The server compiles the generated matching scores and the results of the interview questions and sends them to the user's device in JSON format.

[1230] Step 9:

[1231] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching scores and interview questions.

[1232] Step 10:

[1233] Based on the presented interview questions and matching score, the user decides on the next action (such as proceeding with the application process or preparing for an interview). The terminal then sends the user's selection back to the server and initiates any additional processing required.

[1234] Example 1

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

[1236] Traditionally, it has been difficult to efficiently carry out recruitment processes such as analyzing resumes, matching them with job postings, and generating appropriate interview questions. In particular, the recruitment process in Japan requires manual analysis of large amounts of text data and matching with each profile, which is extremely time-consuming and labor-intensive. Furthermore, generating appropriate interview questions requires understanding detailed candidate information and formulating questions based on that information, which is a manual process with limitations. For this reason, there is a need for a system that can improve the efficiency and accuracy of the entire recruitment process.

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

[1238] In this invention, the server includes means for receiving and parsing resume text data, means for analyzing the received resume text data to extract the candidate's experience, skills, and educational background, and means for converting the extracted candidate profile with the job posting into a numerical vector and calculating the cosine similarity to generate a matching score. This improves the efficiency and accuracy of the recruitment process, enabling quick and accurate matching of job seekers with job postings and the generation of appropriate interview questions.

[1239] The "means for receiving and parsing resume text data" refers to the means by which the server receives the resume text data sent by the user (job seeker) and converts the data into a format that is easy to analyze.

[1240] "Means for analyzing text data of received resumes and extracting the experience, skills, and educational background of candidates" refers to means for extracting information on the experience, skills, and educational background of candidates from the text data of received resumes using natural language processing technology.

[1241] The "means for converting the extracted candidate profile into a job posting and a numerical vector, and calculating the cosine similarity to generate a matching score" refers to a means for converting text data into a numerical vector, and calculating the cosine similarity between the job posting and the candidate profile to generate a matching score indicating the degree of compatibility.

[1242] The "means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold" refers to a means for automatically generating interview questions based on the candidate's skill set and experience when the matching score exceeds a set reference value.

[1243] The "means for presenting the generated matching score and interview questions to the candidate" refers to a means for transmitting the generated matching score and interview questions to the user's terminal so that the candidate can check them.

[1244] "Means for analyzing resume text data using a natural language processing model and extracting experience, skills, and educational background" means means for analyzing resume text data using a pre-trained natural language processing model and extracting a candidate's experience, skills, and educational background from the data.

[1245] The "means for evaluating vectorized data between a candidate profile and a job posting using cosine similarity calculation" refers to a means for converting text data of a candidate profile and a job posting into numerical vectors and evaluating the similarity between them using cosine similarity calculation.

[1246] 1. System Overview

[1247] This invention is a recruitment assistant system that uses AI to analyze candidate resume text data, match candidates with suitable job openings, and generate interview questions, thereby streamlining the hiring process in Japan. The system runs primarily on a server, handling data input from terminals, displaying results, and accepting user operations.

[1248] 2. Hardware and Software Used

[1249] The system mainly operates using a server, a terminal, and a natural language processing model. Specifically, it has the following configuration:

[1250] Server: Receives resume data, analyzes it, creates profiles, performs job matching, generates interview questions, and presents the results.

[1251] Terminal: Provides an interface for users to input and upload their resumes and check the results.

[1252] Software: Analyze text data using natural language processing models (e.g., BERT model).

[1253] 3. Program Processing Overview

[1254] The server receives the resume text data sent by the user (job seeker) via their device and performs parsing to convert the data into an appropriate format. Next, it uses natural language processing technology to analyze the text data and extract information about the candidate's experience, skills, and educational background. It generates a candidate profile based on the analyzed information and compares it with the company's job posting to calculate a matching score. If this matching score exceeds a certain threshold, it generates interview questions based on the candidate's skill set. Finally, it sends the generated matching score and interview questions to the user's device, where the candidate confirms them.

[1255] 4. Examples of concrete examples and prompts

[1256] As a concrete example, consider the case where a job seeker submits a resume to the server stating, "5 years of software development experience, fluent in Python and Java, graduated from the University of Tokyo." The server analyzes this and generates a profile like this:

[1257] Experience: 5 years of software development experience

[1258] Skills: Python, Java

[1259] Education: Graduated from the University of Tokyo

[1260] This profile is compared with the company's job postings to get a matching score of, say, 0.9. If this score exceeds a certain threshold, the server generates interview questions such as "Describe class design in Python" or "Do you know about garbage collection in Java?"

[1261] Examples of prompts for generative AI models include:

[1262] "Five years of software development experience, fluent in Python and Java. Graduated from the University of Tokyo."

[1263] For example, we analyze resume text and extract experience, skills, and educational background to generate a profile.

[1264] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews.

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

[1266] Step 1:

[1267] Receiving and parsing resume text data

[1268] Input: The text data of the resume sent by the user from the terminal.

[1269] Processing: The server receives the resume text data sent by the user (job seeker) via the terminal. After receiving the data, it performs a parsing process to convert it into an appropriate format. This parsing process converts the text data into a format that is easy to analyze.

[1270] Output: Parsed resume text data.

[1271] Specific operation: A user uploads a resume to a job-seeker portal site. The terminal sends the data to the server. The server receives the data and parses it into text format.

[1272] Step 2:

[1273] Resume data analysis

[1274] Input: Parsed resume text data.

[1275] Processing: The server analyzes the text data using natural language processing techniques. It uses a pre-trained Japanese natural language processing model (e.g., the BERT model) to extract important information (experience, skills, and educational background) from the text.

[1276] Output: Parsed candidate information (experience, skills, education).

[1277] Specific operation: The server loads a natural language processing model. The server inputs resume text into the model, analyzes the meaning of the text, and extracts relevant information.

[1278] Step 3:

[1279] Generate candidate profiles

[1280] Input: Parsed candidate information (experience, skills, education).

[1281] Processing: The server generates a candidate profile based on the extracted information. This profile organizes and structures information about the candidate, such as their experience, skills, and education.

[1282] Output: The generated candidate profile.

[1283] Specific operation: The server fills in the experience, skills, and educational background fields according to the analysis results. The server then saves the generated profile in its internal database.

[1284] Step 4:

[1285] Job Matching

[1286] Input: Generated candidate profile and company job posting data.

[1287] Processing: The server compares the candidate profile with the company's job posting and calculates a matching score. The server converts the text data into a numerical vector and calculates the cosine similarity to obtain a score indicating the compatibility between the two.

[1288] Output: The calculated matching score.

[1289] Specific operation: The server loads the job posting data and converts it into a text vector. The server also converts the candidate profile into a text vector. The server calculates the cosine similarity between the two and obtains a matching score.

[1290] Step 5:

[1291] Generate interview questions

[1292] Inputs: Candidate skill set and matching score.

[1293] Processing: The server generates interview questions based on the candidate's skill set. It uses question templates corresponding to each skill and automatically generates appropriate questions.

[1294] Output: Generated interview questions.

[1295] Specific operations: The server references the question template for each skill, extracts skills from the candidate profile, and generates corresponding questions from the template.

[1296] Step 6:

[1297] Presentation of results

[1298] Input: Calculated matching scores and generated interview questions.

[1299] Processing: The generated matching score and interview questions are sent to the user's terminal, where the user can review this information and take appropriate action.

[1300] Output: Matching scores and interview questions presented.

[1301] Specific operation: The server combines the matching score and the interview questions into a single packet. The server then sends this packet to the user's device. The device then displays the received data and presents it to the user.

[1302] (Application example 1)

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

[1304] In the modern recruitment process, companies need a great deal of time and effort to analyze job seekers' resumes, match them with suitable job offers, and generate interview questions. Content distribution services also require complex data analysis and matching to appropriately recommend content that users are interested in. This can lead to problems such as job seekers missing out on job offers that suit their aptitudes, and users spending a lot of time finding content that matches their preferences. There is a need for a system that can solve these problems.

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

[1306] In this invention, the server includes: means for analyzing text data of a resume and extracting the candidate's experience, skills, and educational background; means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score; means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold; means for presenting the generated interview questions and matching score to the candidate; means for analyzing a user's past viewing history and evaluation data to generate a profile; means for vectorizing the generated profile with new content and calculating cosine similarity to generate a matching score; means for recommending relevant content when the matching score exceeds a certain threshold; and means for presenting the generated content recommendation and matching score to the user. This makes it possible to streamline a series of processes from analyzing a resume to matching with a job posting, generating interview questions, and analyzing a user's viewing history and evaluation data to recommend content.

[1307] "Resume text data" refers to text data that includes information such as an individual's work history, skills, educational background, and self-promotion that is included in a document submitted by a job seeker.

[1308] "Experience" refers to the job applicant's work history, such as past tasks and projects, and the duration of those tasks and projects.

[1309] "Skills" refers to the knowledge, techniques, and professional abilities that a job seeker possesses.

[1310] "Educational background" refers to the degree a job seeker has obtained, the name of the educational institution where they obtained it, and the course of their studies.

[1311] A "profile" is a comprehensive set of information generated based on a job seeker's experience, skills, and education.

[1312] A "job posting" is a document of recruitment information that describes the job duties a company is seeking and the necessary skills and experience.

[1313] "Vectorization" is the process of converting text data into numerical vectors, which allows the calculation of similarities between texts.

[1314] "Cosine similarity" is a measure of the similarity between vectorized data, and is calculated based on the angle between the vectors.

[1315] A "matching score" is a number that indicates the similarity between a job seeker's profile and a job posting.

[1316] "Interview questions" are questions used to assess a candidate's skills and experience.

[1317] A "viewing history" is a record of content that a user has viewed in the past.

[1318] "Rating data" refers to the ratings and feedback given by users to content they have viewed.

[1319] "Content" refers to media to be viewed, such as movies, dramas, anime, and programs.

[1320] "Recommendation" refers to suggesting appropriate content based on the user's preferences.

[1321] 1. System Overview

[1322] This invention provides an assistant system aimed at improving the efficiency of recruitment and content recommendation. The server analyzes text data from resumes and matches candidate profiles with company job postings. It also recommends optimal content based on the user's viewing history and rating data. The main hardware includes a server for processing data and a terminal for displaying and manipulating the results. The software used includes natural language processing libraries (e.g., scikit-learn and SpaCy).

[1323] 2. Resume Analysis

[1324] The server receives the text data of the resume sent by the user (job seeker) from the device. This data is analyzed using natural language processing technology to extract the candidate's experience, skills, and educational background. For example, if a user sends a resume stating, "I have 5 years of software development experience and am proficient in Python and Java," the server analyzes the data and generates the following profile:

[1325] Experience: 5 years of software development experience

[1326] Skills: Python, Java

[1327] Education: Graduated from the University of Tokyo

[1328] 3. Content Recommendation

[1329] The server analyzes the user's past viewing history and rating data. Based on this data, it creates a profile of the user's preferences. For example, if the user has watched many action movies in the past and given them high ratings, the server can recommend new action movies based on this profile.

[1330] 4. Content and profile vectorization and matching

[1331] The server converts candidate profiles and user viewing history into numerical vectors. Then, job postings and new content are similarly vectorized. The server then calculates the cosine similarity to obtain a matching score between the profile and job posting, or the viewing history and new content. For example, when recommending content to watch next:

[1332] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

[1333] 5. Generating and presenting interview questions and content recommendations

[1334] If the matching score exceeds a certain threshold, the server generates relevant interview questions or content recommendations. For example, if the candidate's skill is "Python," the server generates a question such as "Please explain Python class design." Similarly, it recommends new content based on the user's preferred genre. The results are sent from the server to the user's device. The user then reviews the recommended content or interview questions and decides on the next action.

[1335] Specific examples

[1336] For example, if a user has watched "Action Movie A" and "Action Movie B," a new "Action Movie C" will be recommended. If the user's viewing history is analyzed and it is determined that they have a preference for action movies, a new action movie will be recommended as their next viewing content. An example of a prompt sentence would be, "Movies that the user has recently watched are mostly action movies. Please recommend the next movie he should watch." The generative AI model will make an appropriate recommendation.

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

[1338] Step 1:

[1339] The server receives the text data of the resume sent by the user (job seeker) from the terminal. This input data is the text information contained in the resume. Next, the server analyzes the text data using natural language processing technology (e.g., scikit-learn or SpaCy) to extract the candidate's experience, skills, and educational background information. The input data is the text data, and the output data is the analyzed individual profile information.

[1340] Step 2:

[1341] The server vectorizes the extracted profile information. In this process, it uses techniques such as TF-IDF vectorization to convert text data into numerical vectors. Here, the input data is each analyzed profile information, and the output data is the vectorized numerical data.

[1342] Step 3:

[1343] The server also vectorizes the job postings provided by companies. This process also uses techniques such as TF-IDF vectorization. The input data is the text information written in the job postings, and the output data is vectorized numerical data.

[1344] Step 4:

[1345] The server calculates the cosine similarity between the vectorized profile information and the job posting information. This generates a matching score that indicates the similarity between the two. The input data is the vectorized data, and the output data is the matching score. Specifically, the higher the similarity, the higher the matching score.

[1346] Step 5:

[1347] If the matching score exceeds a certain threshold, the server generates relevant interview questions. This generation process may use a generative AI model. For example, if the profile contains "Python," a relevant interview question may be generated such as "Please explain class design in Python." The input data are the matching score and profile information, and the output data are the interview questions.

[1348] Step 6:

[1349] The server sends the generated interview questions and matching scores to the user's terminal. The user checks the information received on the terminal and decides on the next action. The input data are the generated interview questions and matching scores, and the output data are the user's confirmation results and actions.

[1350] Step 7:

[1351] Next, the server receives the user's past viewing history and rating data, which includes the content viewed by the user and its rating information, and the input data is the viewing history and rating data.

[1352] Step 8:

[1353] The server analyzes the viewing history and rating data and generates a profile based on the user's preferences. The input data are the viewing history and rating data to be analyzed, and the output data is a profile based on the user's preferences.

[1354] Step 9:

[1355] The server vectorizes the text information of the user profile and new content. This process involves converting it into a numeric vector. The input data is the parsed profile and content information, and the output data is the vectorized data.

[1356] Step 10:

[1357] The server calculates the similarity between the profile and new content using cosine similarity and obtains a matching score. The input data is vectorized data, and the output data is a matching score. For example, new action movies similar to those of a user who has a history of watching action movies may be recommended.

[1358] Step 11:

[1359] If the matching score exceeds a certain threshold, the server will recommend suitable content to the user. The input data is the matching score and related information, and the output data is the recommended content. At this stage, the server uses a generative AI model to make optimal content recommendations.

[1360] Step 12:

[1361] The server sends the generated content recommendations and matching scores to the user's device. The user checks the recommended content on the device and decides whether to watch it. The input data are the generated content recommendations and matching scores, and the output data is the user's viewing decision.

[1362] Prompt Sentence Examples

[1363] "The user's recent movies have mostly been action movies. Please recommend a movie for him to watch next."

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

[1365] 1. System Overview

[1366] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. In addition to conventional candidate profile generation and job matching, this invention recognizes user emotions and reflects them in analysis results and interview question generation, achieving more appropriate matching and the hiring process. The server is responsible for the main processing, while the terminal inputs data, displays results, and accepts user feedback.

[1367] 2. Program Processing Overview

[1368] 2-1. Resume analysis

[1369] The server receives the text data of the resume sent by the user from the terminal. This data is analyzed using natural language processing technology to extract the candidate's "experience," "skills," and "educational background." In addition, the server uses an emotion engine to recognize emotions in the text data and add them to the candidate's profile as emotion data.

[1370] For example, if a job seeker sends a resume to the server stating, "I demonstrated leadership and achieved results in demanding projects. Skills: Python, Java. Education: Graduated from the University of Tokyo," the server will analyze it and generate a profile like this:

[1371] Experience: Leadership in demanding projects

[1372] Skills: Python, Java

[1373] Education: Graduated from the University of Tokyo

[1374] Emotional Data: Confidence and Achievement in Leadership

[1375] 2-2. Job matching

[1376] The server compares the generated candidate profile with the job posting provided by the company. To do this, it converts the text data into a numerical vector and calculates the similarity between the two using cosine similarity. The server obtains the calculated similarity as a "matching score" and evaluates the compatibility by adding emotional data to the score.

[1377] For example, if a job posting reads, "We are looking for a project manager with leadership skills. Required skills are Python and Java. Management experience preferred," the server calculates the similarity between the candidate profile and the job posting and obtains a matching score of, for example, 0.85. This score and sentiment data are then evaluated comprehensively to determine a high degree of compatibility.

[1378] 2-3. Interview question generation

[1379] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Explain Python class design" for "Python" and "Do you know about Java garbage collection?" for "Java." Furthermore, based on sentiment data on leadership, questions such as "Tell me how you demonstrated leadership in a challenging project" are generated.

[1380] 2-4. Presentation of results

[1381] The generated matching score, interview questions, and related emotional data are sent from the server to the user's device, where the user can review the results and decide on the next action (e.g., to proceed with the application process or prepare for an interview).

[1382] For example, if the resume submitted by a user identifies confidence and accomplishment in leadership, the server will present the user with interview questions such as "Describe class design in Python," "Do you know about garbage collection in Java?" and "Tell me how you demonstrated leadership in a challenging project."

[1383] In this way, the present invention efficiently supports the entire recruitment process, from analyzing resumes to matching with job postings and even preparing for interviews by incorporating emotions.

[1384] The processing flow will be explained below.

[1385] Step 1:

[1386] The user enters the resume text on the device or uploads an existing resume file. When the user clicks the "Submit" button, the device sends the resume text data in JSON format to the server.

[1387] Step 2:

[1388] The server receives the text data of the resume submitted by the user, which is then passed to a natural language processing module and prepared for analysis.

[1389] Step 3:

[1390] The server uses a natural language processing module to analyze the text data of the resume. This analysis extracts information about the candidate's experience, skills, and educational background. For example, "5 years of software development experience," "Python and Java skills," and "Graduate of the University of Tokyo" are extracted from the text data.

[1391] Step 4:

[1392] The server uses the extracted information to generate a candidate profile, which includes the analyzed experience, skills, and education.

[1393] Step 5:

[1394] The server uses an emotion engine to recognize emotions from the text data in a resume. For example, if a resume states, "Demonstrated leadership in a challenging project," the server will recognize emotions such as "confidence" and "sense of accomplishment."

[1395] Step 6:

[1396] The server adds the emotional data to the candidate's profile, which includes the recognized emotional data along with experience, skills, and education.

[1397] Step 7:

[1398] The server acquires text data of job postings provided by companies. The job posting data is also stored in the server or received from companies.

[1399] Step 8:

[1400] The server converts the text data from the candidate profiles and job postings into numeric vectors, which makes the data comparable.

[1401] Step 9:

[1402] The server calculates the cosine similarity between the vectorized candidate profile and the job posting, which generates a match score between the candidate and the job posting. For example, a high match score of 0.85 can be obtained.

[1403] Step 10:

[1404] The server evaluates whether the candidate is suitable for the job based on the matching score and emotion data. If the evaluation result exceeds a certain threshold, the candidate is deemed to be a good fit.

[1405] Step 11:

[1406] The server generates interview questions based on the candidate's skill set and sentiment data, such as "Describe class design in Python," "Do you know about garbage collection in Java?", and "Tell me about a time when you demonstrated leadership in a challenging project."

[1407] Step 12:

[1408] The server encodes the generated matching scores, evaluation results, and interview questions in JSON format and sends them to the user's device.

[1409] Step 13:

[1410] The terminal analyzes the analysis results received from the server and displays them on the user interface, where the user can check the displayed matching score, evaluation results, and interview questions.

[1411] Step 14:

[1412] Based on the presented interview questions and matching score, the user decides the next action (e.g., to proceed with the application process or to prepare for an interview). The terminal sends the user's selected action to the server, which then performs any necessary additional processing.

[1413] Example 2

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

[1415] Conventional recruitment systems simply analyze the contents of a candidate's resume, without taking into account emotional factors to accurately assess suitability for employment. Furthermore, the interview questions generated when the matching score exceeds a certain threshold do not reflect emotional data, requiring a more comprehensive assessment of suitability. This makes it difficult to select the right candidate and reduces the efficiency of the recruitment process.

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

[1417] In this invention, the server includes means for analyzing resume text data to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with the job posting and calculating the cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for extracting emotional data from the resume text data and adding it to the candidate profile, means for adding the emotional data to the generated matching score and evaluating the overall compatibility, means for generating interview questions based on the candidate's skill set and emotional data using a generative AI model, and means for presenting the analysis results and interview questions to a user's device. This allows for the generation of a comprehensive profile including the candidate's emotional data, enabling more accurate matching and the generation of interview questions.

[1418] A "resume" is a document in which a job seeker lists his or her career history, experience, skills, and educational background.

[1419] "Text data" refers to written information that is stored and processed electronically.

[1420] "Analysis" is the process of examining data in detail and extracting specific information or patterns.

[1421] "Experience" refers to the type of work or projects a job seeker has previously undertaken.

[1422] "Skills" refers to the specific abilities or techniques that a job seeker has acquired.

[1423] "Educational background" refers to the educational history and related qualifications completed by a job seeker.

[1424] "Profile" refers to a detailed compilation of candidate information generated from analyzed resume data.

[1425] A "job posting" is a document that lists the qualifications and job content of the person a company is looking for.

[1426] "Vectorization" is the process of converting text data into numerical data.

[1427] "Cosine similarity" is an index that represents the similarity between vectorized data, and is obtained by calculating the cosine value of the angle between two vectors.

[1428] A "matching score" is a number that evaluates the degree of similarity between a candidate's profile and a job posting.

[1429] "Emotion data" is information that represents an emotional state extracted from text data.

[1430] "Comprise" means incorporating one or more elements as constituent elements.

[1431] "Generation" is the process of creating new data or information.

[1432] A "generative AI model" refers to an artificial intelligence technology that learns from large amounts of data and generates new text based on given prompts.

[1433] A "prompt sentence" refers to the initial text or input sentence that provides instructions to a generative AI model.

[1434] "Terminal" refers to an electronic device through which a user can input information and receive results.

[1435] "Server" refers to a central computer system for storing, processing, and analyzing data.

[1436] "User" refers to an individual or company that uses the system.

[1437] This invention is an AI-driven recruitment assistant system equipped with an emotion engine. The server is responsible for the main processing, and the terminal is responsible for data input, display of results, and reception of feedback from users. The system is configured as follows:

[1438] 1. Receiving resumes

[1439] The user uploads their resume from the terminal. The terminal temporarily stores the uploaded file and converts it into a data format for transfer to the server. Specifically, when the user selects a file on the browser and clicks the "Upload" button, the file is sent to the server.

[1440] 2. Resume Analysis

[1441] The server receives the resume file sent from the terminal and converts it into text data using a text extraction tool (for example, Apache Tika). The server then analyzes the resume text data using a natural language processing library (for example, spaCy or NLTK) to extract "experience," "skills," and "educational background." For example, if a job seeker sends a resume stating, "I have demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Educational background: Graduated from a higher education institution," the server analyzes it and generates a profile like the following:

[1442] Experience: Leadership in demanding projects

[1443] Skills: Programming languages, object-oriented programming

[1444] Education: Graduated from a higher education institution

[1445] 3. Adding Emotion Data

[1446] The server uses a sentiment analysis engine (e.g., a natural language processing engine) to extract emotional data from the text data. The server adds the extracted emotional data to the candidate's profile. For example, if the server determines that the phrase "demonstrates leadership" contains confidence and a sense of accomplishment, it adds the emotional data to the profile as "confidence, a sense of accomplishment."

[1447] 4. Job Matching

[1448] The server vectorizes the text data of each candidate profile to compare it with the company's job posting. The server calculates the similarity between the two using cosine similarity and generates a matching score. For example, the server calculates the similarity between "Experience: Leadership" and "Job posting: Project Management" and obtains a score of 0.85. Furthermore, the server evaluates the compatibility by taking into account sentiment data.

[1449] 5. Generating Interview Questions

[1450] The server uses a generative AI model (e.g., a generative AI model) to generate interview questions based on the candidate's skill set and emotional data. The prompt is entered as "Generate the following questions based on the candidate's experience and skills: Describe class design in programming languages. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project," and the AI ​​model generates appropriate questions.

[1451] 6. Presentation of results

[1452] The server sends the generated matching score, interview questions, and emotion data to the user's device. The user checks the results on the device and decides on the next action. The user then checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation. In this way, the present invention efficiently supports the entire hiring process, from resume analysis to matching with job postings and even interview preparation that incorporates emotions.

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

[1454] Step 1: Upload your resume

[1455] Input: Resume file (PDF or Word format) selected by the user

[1456] process:

[1457] Users can either drag and drop a resume file from their device into the upload form on the browser, or click the select button to select a file.

[1458] The terminal temporarily stores the uploaded resume file and converts it into a data format for transfer to the server.

[1459] Output: Resume file sent to the server

[1460] Specific operation: When the user clicks the "Upload" button, the device sends the resume file to the server.

[1461] Step 2: Resume Analysis

[1462] Input: Resume file sent to the server

[1463] process:

[1464] The server converts the received resume file into text data using a text extraction tool (e.g., Apache Tika).

[1465] The server uses a natural language processing library (e.g., spaCy or NLTK) to analyze the text data and extract "experience," "skills," and "educational background" information.

[1466] Output: Candidate profile with extracted "Experience", "Skills" and "Education"

[1467] Specific operation: The server uses an analysis engine to analyze each item on a resume, and identifies each element from text such as "Demonstrated leadership and achieved results in demanding projects. Skills: programming languages, object-oriented programming. Education: Graduated from a higher education institution," and generates a profile.

[1468] Step 3: Add emotion data

[1469] Input: Text data extracted from resumes

[1470] process:

[1471] The server extracts emotion data from the text data using an emotion analysis engine (for example, a natural language processing engine).

[1472] The server adds the extracted emotion data to the candidate's profile.

[1473] Output: Candidate profile with added sentiment data

[1474] Specific operation: For example, the server determines that the "demonstrate leadership" part contains confidence and a sense of accomplishment, and adds the emotional data to the profile as "confidence, a sense of accomplishment."

[1475] Step 4: Job Matching

[1476] Input: Candidate profile with sentiment data added, company job posting

[1477] process:

[1478] The server vectorizes candidate profiles and company job postings.

[1479] The server calculates the similarity between the two using cosine similarity and generates a matching score.

[1480] The server evaluates the overall compatibility by adding emotional data to the generated matching score.

[1481] Output: Matching score that evaluates the goodness of fit

[1482] Specific operation: The server calculates the similarity between "Experience: Leadership" and "Job posting: Project management" and obtains a score of 0.85. It also takes into account sentiment data and determines that the similarity is high.

[1483] Step 5: Generate interview questions

[1484] Input: Candidate profile with added sentiment data, matching score

[1485] process:

[1486] The server uses a generative AI model (e.g., a generative AI model) and inputs the following prompt sentences: "Based on the candidate's experience and skills, generate the following questions: Describe class design in a programming language. Do you know about object-oriented memory management? Also, tell us how you demonstrated leadership in a demanding project."

[1487] The server generates appropriate interview questions using a generative AI model.

[1488] Output: Generated interview questions

[1489] Specific operation: The server generates appropriate interview questions based on the candidate's skill set and emotional data.

[1490] Step 6: Presenting the results

[1491] Input: Generated interview questions, matching score evaluating the suitability

[1492] process:

[1493] The server transmits the generated matching scores, interview questions, and emotion data to the user's terminal.

[1494] The user checks the results on the terminal and decides on the next action.

[1495] Output: Matching scores, interview questions, and sentiment data displayed on the terminal.

[1496] Specific operation: The user checks the results screen received from the server in a browser, looks at the interview questions, and proceeds with preparation.

[1497] (Application example 2)

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

[1499] Conventional recruitment systems match candidates based solely on their experience, skills, and educational background, making it difficult to properly evaluate talent. Furthermore, because they do not consider the candidate's emotions during the interview and selection process, they often miss opportunities for optimal responses and evaluations. Furthermore, the lack of real-time emotion analysis using smart devices resulted in insufficient customer service. This led to problems such as lower satisfaction for candidates and customers.

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

[1501] In this invention, the server includes means for analyzing text data from resumes to extract the candidate's experience, skills, and educational background, means for vectorizing the extracted candidate profile with a job posting and calculating cosine similarity to generate a matching score, means for generating relevant interview questions for the candidate when the matching score exceeds a certain threshold, means for presenting the generated interview questions and matching score to the candidate, means for analyzing the user's emotions and presenting dialogue and response methods based on the analysis results, and means for collecting and analyzing emotion data in real time using a smart device. This enables more appropriate talent evaluation and customer service that takes the candidate's emotions into consideration, resulting in improved service quality and increased satisfaction.

[1502] "Resume text data" refers to textual information provided by a candidate, including work history, educational background, and skills.

[1503] "Experience" is a detailed history of the candidate's past roles, projects, and positions.

[1504] "Skills" refers to the specific skills, knowledge, and professional abilities that a candidate possesses.

[1505] "Educational background" refers to the candidate's educational history, including the educational institutions attended, degrees obtained, and majors.

[1506] A "profile" is comprehensive information about a candidate that is generated based on experience, skills, educational background, etc. extracted from a resume.

[1507] A "job posting" is a document that lists the specific job duties offered by a company, as well as the required skills and qualifications.

[1508] "Vectorization" is the process of converting text data into numerical vectors, making the data in a format that allows comparisons and calculations.

[1509] "Cosine similarity" is a formula for calculating the similarity between two vectors, and the closer the value is to 1, the higher the similarity.

[1510] The "matching score" is a numerical representation of the similarity between the candidate's profile and the job posting, and is an indicator of compatibility.

[1511] The "certain threshold" refers to the minimum standard value at which a matching score is judged to be highly relevant.

[1512] "Interview questions" are questions asked to candidates and are generated based on resumes, profiles, and emotional data.

[1513] "Presenting" means displaying the generated information or results to the user.

[1514] "Analyzing emotions" means recognizing and evaluating the user's emotional state from facial expressions, tone of voice, etc.

[1515] "Emotion data" is numerical and categorical information that indicates the results of the analyzed emotions.

[1516] "Dialogue and response methods" refer to optimal communication and response methods based on the user's emotions.

[1517] "Smart devices" refers to electronic devices with advanced functions such as smartphones, smart glasses, and head-mounted displays.

[1518] "Real-time" means that data is analyzed and processed as soon as it is collected.

[1519] 1. System Configuration

[1520] The system consists of a server, a smart device (e.g., smart glasses), and a user. The server is responsible for the main analysis and data processing, while the smart device collects and displays emotion data.

[1521] 2. Collecting and analyzing emotion data

[1522] The server receives facial expression and voice data transmitted in real time from smart devices (e.g., smart glasses). These data are analyzed using image processing libraries such as OpenCV and the EmotionRecognition library. The voice data is analyzed using the VoiceToneAnalyzer library, and the user's emotional data is extracted from the facial expression and voice.

[1523] 3. Customer Service Presentation

[1524] Based on the analyzed emotional data, the server generates appropriate dialogue and responses, which are then displayed on the smart device's display. For example, if a customer looks anxious, the server will suggest, "The customer seems anxious. Please consider responding in a way that will reassure them."

[1525] 4. Collecting and storing feedback

[1526] Users input customer feedback and send it to a server, which stores it in a database and uses it to improve future customer service. Real-time sentiment and feedback data is analyzed using data science tools to improve algorithms and suggest new ways of responding.

[1527] Hardware and software used

[1528] Hardware

[1529] Smart glasses (with built-in camera and microphone)

[1530] Servers (high-performance processors, storage, large-capacity memory)

[1531] software

[1532] OpenCV (image processing library)

[1533] EmotionRecognition (emotion analysis library)

[1534] VoiceToneAnalyzer (voice analysis library)

[1535] Database management system (e.g., MySQL)

[1536] Natural language processing models (e.g., BERT)

[1537] Specific examples

[1538] Example 1: A customer is interested in a new product and has questions, but their facial expression is uneasy.

[1539] "The customer seems anxious. Please consider providing a reassuring explanation."

[1540] Example 2: A customer with a child is looking at products with a happy look

[1541] "It seems like our customers are enjoying it. Please recommend a family-friendly set."

[1542] Prompt Sentence Examples

[1543] "The customer seems happy. Please suggest some products."

[1544] "The customer seems upset. Please stay calm and listen."

[1545] "The customer seems anxious. Please consider providing some reassurance."

[1546] In this way, the quality of customer service can be improved by analyzing the user's emotions and presenting ways to respond in real time based on that information.

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

[1548] Step 1:

[1549] A smart device (for example, smart glasses) collects facial expression and voice data from customers. Specifically, the camera in the smart glasses takes a picture of the customer's face, and the microphone records their voice. This data is sent to a server in real time. The input data consists of image data (facial expression) and voice data.

[1550] Step 2:

[1551] The server preprocesses the received facial expression data using OpenCV. Specifically, it performs face recognition and extracts the recognized face area. It then analyzes the extracted face area using the EmotionRecognition library to obtain emotion data. The input data is the preprocessed face image, and the output data is the emotional state (e.g., joy, anger, anxiety, etc.).

[1552] Step 3:

[1553] The server preprocesses the received voice data and analyzes it using the VoiceToneAnalyzer library. Specifically, it analyzes the tone and pitch of the voice and estimates the customer's emotional state. The input data is the voice data, and the output data is the emotional state estimated from the voice.

[1554] Step 4:

[1555] The server integrates the emotional data obtained in steps 2 and 3 to determine the overall emotional state. For example, if the facial expression data is "anxious" and the voice data is "anxious," the overall emotional state will also be "anxious." The input data are the results of facial expression analysis and voice analysis, and the output data is the overall emotional state.

[1556] Step 5:

[1557] The server generates an appropriate dialogue and response method based on the overall emotional state. For example, if the emotional state is determined to be "anxious," it generates a message saying, "The customer seems to be feeling anxious. Please consider a response that will reassure them." The input data is the overall emotional state, and the output data is a text message about how to respond.

[1558] Step 6:

[1559] The server sends the generated message to the smart device. The message on how to respond is displayed on the smart device's display. The user views this message and responds to the customer. The input data is a text message on how to respond, and the output is the message displayed on the smart device.

[1560] Step 7:

[1561] Users input customer feedback and send it to the server via their smart devices. The server stores this feedback in a database and uses it to improve future responses. The input data is the feedback text, and the output is the feedback stored in the database.

[1562] In this way, the server can analyze customer emotions in real time and realize a system that presents the user with the most appropriate response method.

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

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

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

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

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

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

[1569] 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).

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

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

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

[1573] 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).

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

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

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

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

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

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

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

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

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

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

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

[1585] (Claim 1)

[1586] [Means for analyzing resume text data to extract candidate experience, skills, and educational background] and

[1587] A means for vectorizing the extracted candidate profiles with the job posting, calculating the cosine similarity, and generating a matching score;

[1588] [Means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold];

[1589] [Means for presenting the generated interview questions and matching scores to the candidate] means;

[1590] A system including:

[1591] (Claim 2)

[1592] The system of claim 1 [means for analyzing resume text data using a natural language processing model].

[1593] (Claim 3)

[1594] The system of claim 1, wherein the means for evaluating the vectorized data between the candidate profile and the job posting uses a cosine similarity calculation.

[1595] "Example 1"

[1596] (Claim 1)

[1597] [Means for receiving and parsing resume text data];

[1598] [Means for analyzing text data from received resumes to extract the candidate's experience, skills, and educational background];

[1599] A means for converting the extracted candidate profiles into a job posting and a numerical vector, and calculating the cosine similarity to generate a matching score;

[1600] [Means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold];

[1601] [Means for presenting the generated matching scores and interview questions to the candidate] means;

[1602] A system including:

[1603] (Claim 2)

[1604] [Means for analyzing resume text data using a natural language processing model to extract experience, skills, and educational background] The system of claim 1.

[1605] (Claim 3)

[1606] The system of claim 1, wherein the means for evaluating the vectorized data between the candidate profile and the job posting uses a cosine similarity calculation.

[1607] "Application Example 1"

[1608] (Claim 1)

[1609] [Means for analyzing resume text data to extract candidate experience, skills, and educational background] and

[1610] A means for vectorizing the extracted candidate profiles with the job posting, calculating the cosine similarity, and generating a matching score;

[1611] [Means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold];

[1612] [Means for presenting the generated interview questions and matching scores to the candidate] means;

[1613] [Means for analyzing a user's past viewing history and rating data to generate a profile];

[1614] A means for vectorizing the generated profile and new content, calculating cosine similarity, and generating a matching score;

[1615] [Means for recommending related content when the matching score exceeds a certain threshold] means;

[1616] [Means for presenting the generated content recommendations and matching scores to the user];

[1617] A system including:

[1618] (Claim 2)

[1619] The system of claim 1 [means for analyzing resume text data using a natural language processing model].

[1620] (Claim 3)

[1621] The system of claim 1, wherein the means for evaluating the vectorized data between the candidate profile and the job posting uses a cosine similarity calculation.

[1622] "Example 2: Combining Emotion Engines"

[1623] (Claim 1)

[1624] [Means for analyzing resume text data to extract candidate experience, skills, and educational background] and

[1625] A means for vectorizing the extracted candidate profiles with the job posting, calculating the cosine similarity, and generating a matching score;

[1626] [Means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold];

[1627] [Means for presenting the generated interview questions and matching scores to the candidate] means;

[1628] [Means for extracting sentiment data from resume text data and adding it to candidate profiles];

[1629] [Means for adding emotional data to the generated matching score and evaluating the overall compatibility] means;

[1630] A system including:

[1631] (Claim 2)

[1632] The system of claim 1 [means for analyzing resume text data using a natural language processing model].

[1633] (Claim 3)

[1634] The system of claim 1, wherein the means for evaluating the vectorized data between the candidate profile and the job posting uses a cosine similarity calculation.

[1635] (Claim 4)

[1636] The system of claim 1, wherein the means for generating interview questions based on the candidate's skill set and sentiment data uses a generative AI model.

[1637] (Claim 5)

[1638] [Means for presenting analysis results and interview questions to a user's terminal] The system according to claim 1.

[1639] "Application example 2 when combining emotion engines"

[1640] (Claim 1)

[1641] [Means for analyzing resume text data to extract candidate experience, skills, and educational background] means,

[1642] A means for vectorizing the extracted candidate profiles with the job posting, calculating the cosine similarity, and generating a matching score;

[1643] [Means for generating relevant interview questions for a candidate when the matching score exceeds a certain threshold];

[1644] [Means for presenting the generated interview questions and matching scores to the candidate] means;

[1645] [Means for analyzing user emotions and suggesting dialogue and response methods based on the analysis results] means,

[1646] [Means for collecting and analyzing emotion data in real time using smart devices] means;

[1647] A system including:

[1648] (Claim 2)

[1649] The system of claim 1 [means for analyzing resume text data using a natural language processing model].

[1650] (Claim 3)

[1651] The system of claim 1, wherein the means for evaluating the vectorized data between the candidate profile and the job posting uses a cosine similarity calculation. [Explanation of symbols]

[1652] 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 of analyzing the text data of resumes to extract the candidate's experience, skills, and educational background; A means for vectorizing the extracted candidate profile with the job posting and calculating the cosine similarity to generate a matching score; means for generating relevant interview questions for the candidate if the match score exceeds a certain threshold; a means for presenting the generated interview questions and matching scores to the candidate; A system including:

2. The system of claim 1 , further comprising means for analyzing the resume text data using a natural language processing model.

3. 10. The system of claim 1, further comprising means for evaluating the vectorized data between the candidate profile and the job posting using a cosine similarity calculation.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A