System
The system addresses the challenge of accurately extracting and updating employee skills by using natural language processing to analyze emails and documents, weight skills based on communication metrics, and focus on distinctive terms, resulting in efficient and accurate talent management.
Patent Information
- Application Number
- JP2024164486
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2024-09-20
- Publication Date
- 2025-04-03
- Estimated Expiration
- 2044-09-20
AI Technical Summary
Traditional systems face challenges in accurately extracting and updating employee skills, as employees find it difficult to update their own information, and manual analysis of emails and documents is time-consuming and labor-intensive.
A system utilizing natural language processing technology to extract skills from employee emails and documents, automatically creating introductions, weighting skills based on email destinations and number of senders, and focusing on distinctive terms frequently used within the company or department.
Enables accurate extraction of employee skills, reduces manual effort, and provides more accurate and up-to-date skill assessments, improving the efficiency of talent management and employee evaluation.
Smart Images

Figure 2025049177000001_ABST
Abstract
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] Previously, a "talent palette" was used to track employee capabilities, but it was difficult for employees to update their own information. Also, tracking employee skills required manual analysis of employees' emails and documents, which required a lot of time and effort. [Means for solving the problem]
[0005] To solve this problem, we provide a system that uses natural language processing technology to extract skills from employees' emails and documents and automatically creates introductions. Furthermore, by weighting skills based on the recipients and number of people to whom the email was sent and by focusing on characteristic terms that the employee frequently uses within the company or department, we can achieve more accurate skill extraction and introduction creation. [Brief explanation of the drawings]
[0006] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [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. 2 is a sequence diagram showing a flow of processing in the data processing system according to the first embodiment of the first form example. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1 of Embodiment 1. [Figure 13] FIG. 10 is a sequence diagram showing a processing flow of a data processing system in a second embodiment of the second form example. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 of Embodiment Example 2. [Figure 15] FIG. 10 is a sequence diagram showing the flow of processing in a data processing system according to a third embodiment of the third embodiment. [Figure 16] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 3 of Embodiment 3. [Figure 17] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the first embodiment of the first form example when an emotion engine is combined. [Figure 18] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1 of Form Example 1 when an emotion engine is combined. [Figure 19] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the second embodiment of the second form example when an emotion engine is combined. [Figure 20] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 of Form Example 2 when an emotion engine is combined. [Figure 21] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the third embodiment of the third form example when an emotion engine is combined. [Figure 22] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 3 of Form Example 3 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0007] 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.
[0008] First, the terms used in the following description will be explained.
[0009] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, the processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (TENSOR PROCESSING UNIT (registered trademark)).
[0010] 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.
[0011] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0012] In the following embodiments, a communication I / F (Interface) with a 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.
[0013] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. 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."
[0014] [First embodiment]
[0015] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0016] 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.
[0017] 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).
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[0027] "Example 1"
[0028] One embodiment of the present invention is a system that extracts skills from employee emails and documents. This system uses natural language processing technology to extract skills from employee emails and documents and automatically create introductions. Specifically, it uses a natural language processing technology called generative AI to extract skills from employee emails and documents. This skill extraction analyzes the content of emails and documents and extracts the skills and knowledge contained therein.
[0029] "Example 2"
[0030] One embodiment of the present invention is a system that weights skills based on the recipients and number of email senders. This system analyzes the recipients and number of email senders and evaluates the importance of skills based on the analysis. Specifically, if an email is sent to a superior or a member of an important project, the skills contained in the email are evaluated as important and weighted accordingly. Also, if an email is sent to a large number of people, the skills contained in the email are evaluated as widely recognized and weighted accordingly.
[0031] "Example 3"
[0032] Furthermore, one embodiment of the present invention is a system that focuses on characteristic terms frequently used by employees within a company or department. This system analyzes the terms frequently used by employees and evaluates whether those terms represent the employee's characteristic skills and knowledge. Specifically, if an employee frequently uses terms such as "machine learning" or "deep learning," the system evaluates that the employee has skills and knowledge related to machine learning and deep learning.
[0033] The processing flow of each embodiment will be described below.
[0034] "Example 1"
[0035] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[0036] Step 2: Next, generative AI, a type of natural language processing technology, is used to extract skills from the input emails and documents. This skill extraction involves analyzing the content of the emails and documents and extracting the skills and knowledge contained within them.
[0037] Step 3: Finally, an employee introduction is automatically created based on the extracted skills, which specifically describes the employee's skills and knowledge.
[0038] "Example 2"
[0039] Step 1: First, employee emails are entered into the system. These emails are sent by employees in the course of their daily work.
[0040] Step 2: Next, analyze the recipients and number of people who received the email. This analysis determines whether the recipients are superiors or members of important projects, whether the email is being sent to a large number of people, etc.
[0041] Step 3: Finally, based on the analysis results, the importance of the skills is evaluated and a weight is assigned to each skill. This weight indicates how important the skill is.
[0042] "Example 3"
[0043] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[0044] Step 2: Next, analyze the terms frequently used by employees. This analysis extracts terms that frequently appear in emails and documents.
[0045] Step 3: Finally, the extracted terms are evaluated to determine whether they represent the employee's characteristic skills and knowledge. This evaluation determines whether the terms represent the employee's characteristics.
[0046] Example 1
[0047] Next, a description will be given of Example 1 of Form 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."
[0048] Conventional employee ability evaluation systems have difficulty accurately extracting abilities from employee communications and documents and automatically creating introductions. Furthermore, they are unable to weight abilities based on the recipients and number of recipients of communications, or to focus on characteristic terms frequently used by an employee within an organization or department. This has led to the issue of being unable to accurately evaluate an employee's abilities and generate appropriate introductions.
[0049] 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.
[0050] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for collecting communications and documents, means for preprocessing the collected data, means for extracting capabilities using a generative AI model, and means for generating introductions based on the extracted capabilities. This makes it possible to accurately extract capabilities from employee communications and documents and automatically generate appropriate introductions.
[0051] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0052] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[0053] "Communications" refers to the means by which employees communicate with other individuals or groups, such as email or messaging.
[0054] "Documents" refers to text-based materials created by employees, such as reports, memos, and presentations.
[0055] "Ability" refers to the skills, knowledge, and experience that employees possess.
[0056] "Testimonials" refer to automatically generated text that describes an employee's capabilities and achievements.
[0057] "Weighting" refers to the process of assigning importance to particular factors.
[0058] "Distinctive terms" refer to technical terms or phrases that certain employees use more frequently than other employees.
[0059] "Means of collection" refers to the methods and techniques used to obtain employee communications and documents.
[0060] "Preprocessing" refers to processes such as data cleaning and tokenization to convert collected data into a format that is easier to analyze.
[0061] A "generative AI model" refers to an algorithm or system that uses artificial intelligence to generate text.
[0062] "Extraction means" refers to the methods and techniques used to extract specific information from data.
[0063] "Generating means" refers to methods and techniques for creating new text or data based on extracted information.
[0064] MODE FOR CARRYING OUT THE INVENTION
[0065] This invention relates to a system that extracts capabilities from employee communications and documents and automatically creates introductions. This system uses natural language processing technology to extract capabilities from employee communications and documents, and automatically generates introductions using a generative AI model.
[0066] Hardware and software used
[0067] The server uses the following hardware and software to implement the system.
[0068] Hardware: A server with a powerful processor, sufficient memory, and ample storage.
[0069] Software: Python programming language, natural language processing libraries (NLTK, spaCy), generative AI models (e.g., OpenAI's GPT-3)
[0070] Data processing and calculation
[0071] The server processes and calculates the data in the following procedure.
[0072] 1. Data Collection:
[0073] The server connects to the mail server using the IMAP protocol to collect employee communications (emails), and also uses the file server's API to retrieve employee documents.
[0074] 2. Data Preprocessing:
[0075] The server preprocesses the collected text data from communications and documents by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[0076] 3. Ability Extraction:
[0077] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[0078] 4. Testimonial generation:
[0079] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[0080] Specific examples
[0081] For example, an employee email might contain the following:
[0082] "He has extensive project management experience and is proficient in Python and JavaScript development. He also has data analysis skills."
[0083] Based on this email, the server extracts the following capabilities:
[0084] project management
[0085] Python
[0086] JavaScript
[0087] Data analysis
[0088] The server then generates a description based on these capabilities, such as:
[0089] "This employee has extensive project management experience and is proficient in Python and JavaScript development. He also has data analysis skills."
[0090] An example of a prompt to input to a generative AI model is as follows:
[0091] "Extract abilities from the following text and generate a description:
[0092] Text: 'I have extensive project management experience and am proficient in development using Python and JavaScript. I also have skills in data analysis.'
[0093] Extracted competencies: ['Project Management', 'Python', 'JavaScript', 'Data Analysis']
[0094] Description: 'This employee has strong project management experience and is proficient in Python and JavaScript development. He also has data analysis skills.'
[0095] The above is an embodiment of the present invention.
[0096] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0097] Step 1: Data collection
[0098] The server collects employee communications and documents. Specifically, it connects to the mail server using the IMAP protocol and downloads emails from designated folders (e.g., inbox), and retrieves documents from designated directories using the file server's API.
[0099] Input: Mail server connection information, file server API information
[0100] Output: Collected email and document data
[0101] Step 2: Data Preprocessing
[0102] The server preprocesses the collected data by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[0103] Input: Collected email and document data
[0104] Output: Preprocessed text data
[0105] Step 3: Ability Extraction
[0106] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[0107] Input: Preprocessed text data
[0108] Output: Extracted ability list
[0109] Step 4: Generate a testimonial
[0110] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[0111] Input: Extracted ability list
[0112] Output: Auto-generated introduction
[0113] Step 5: Save and display data
[0114] The server saves the generated testimonials in a database and displays them to the user. Specifically, it connects to the database, executes SQL queries to save the testimonials, and calls an API to display the testimonials on the user's device.
[0115] Input: Auto-generated introduction
[0116] Output: Testimonials stored in the database, testimonials displayed on the user's device
[0117] (Application example 1)
[0118] Next, a description will be given of Application Example 1 of Embodiment 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."
[0119] In conventional factories, it was difficult to properly understand the skills of workers and match them with the most suitable tasks and projects. Furthermore, understanding worker skills required manual evaluation and reporting, which was time-consuming and labor-intensive. This made it difficult to allocate personnel efficiently, resulting in reduced productivity and work delays.
[0120] 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.
[0121] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating a description, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of factory workers and automatically matching them with appropriate tasks and projects, and means for generating a description based on the extracted skills. This makes it possible to efficiently grasp the skills of workers and match them with optimal tasks and projects.
[0122] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0123] "Skills" are the knowledge and abilities required to perform a specific task or job.
[0124] A testimonial is a piece of writing that conveys a person's skills and experience to others.
[0125] "Weighting" refers to the numerical evaluation of the importance of a particular element or data.
[0126] "Characteristic terms" are technical terms or keywords that a particular person uses more frequently than other people.
[0127] "Factory workers" means workers who work in a factory.
[0128] A "report" is a document that records the progress and results of a specific task or work.
[0129] "Matching" is finding the best combination based on specific conditions and requirements.
[0130] "Generative AI" is a type of artificial intelligence, a model that has the ability to generate natural language.
[0131] To implement the present invention, the following system configuration and program are required.
[0132] System Configuration
[0133] The server includes means for using natural language processing technology to extract skills from employees' emails and documents and automatically create introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of workers within a factory and automatically matching them with appropriate work or projects, and means for generating introductions based on the extracted skills.
[0134] Hardware and software used
[0135] Hardware: Factory robots (e.g., general industrial robots), servers (for data processing)
[0136] Software: Python, spaCy (natural language processing library), Transformers (generative AI model for Hugging Face)
[0137] Data processing and calculation
[0138] The server first inputs text data from worker emails and reports. Next, natural language processing technology is used to extract skill-related entities from the text data. spaCy is used to analyze the text data and extract skills. The extracted skills are used as prompts to generate introductions using a generative AI model (Hugging Face Transformers). The generated introductions are used to communicate the worker's skills to other systems and users.
[0139] Specific examples
[0140] For example, if a worker's email reads, "John has experience in welding and machine operation," the server analyzes this text data and extracts the skills "welding" and "machine operation." Next, it generates the following prompt based on these skills:
[0141] Prompt Sentence Examples
[0142] Write a description for a worker with the following skills: welding, machine operation
[0143] By inputting this prompt into the generative AI model, the server generates an introduction such as "John is a skilled worker with experience in welding and machine operation." This introduction is used to communicate the worker's skills to other systems and users.
[0144] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0145] Step 1:
[0146] The server inputs text data such as worker emails and reports. The input text data is analyzed using natural language processing technology. Specifically, the spaCy library is used to tokenize the text data and perform grammatical analysis. This reveals the structure of each word and phrase in the text data.
[0147] Input: Text data of worker emails and reports
[0148] Output: Tokenized text data and grammar analysis results
[0149] Step 2:
[0150] The server extracts skill-related entities from the tokenized text data by using spaCy's entity recognition function to identify skill-related words and phrases within the text data, thereby extracting the specific skills possessed by the worker.
[0151] Input: Tokenized text data and grammar analysis results
[0152] Output: A list of extracted skills
[0153] Step 3:
[0154] The server generates a prompt based on the extracted skills. Specifically, it lists the extracted skills and formats them as a prompt to be input into the generative AI model. For example, it generates a prompt in the format "Please write a description for a worker with the following skills: welding, machine operation."
[0155] Input: A list of extracted skills
[0156] Output: Generated prompt statement
[0157] Step 4:
[0158] The server inputs the generated prompt into a generative AI model to generate an introduction. Specifically, it uses Hugging Face's Transformers library to input the prompt into the generative AI model and generate an appropriate introduction. The generated introduction is used to communicate the worker's skills to other systems and users.
[0159] Input: Generated prompt text
[0160] Output: Generated testimonial
[0161] Step 5:
[0162] The server stores the generated testimonials and provides them to other systems and users as needed. Specifically, the server stores the generated testimonials in a database and makes them accessible to other systems and users via API. This allows worker skill information to be shared efficiently.
[0163] Input: Generated testimonial
[0164] Output: Testimonials saved and accessible via API
[0165] Example 2
[0166] Next, a description will be given of Example 2 of Form 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."
[0167] Accurately evaluating employee capabilities and appropriately introducing them is important for improving organizational efficiency and human resource development. However, traditional methods often involve manually extracting and weighting capabilities from employee communications and documents, which takes time and effort. Furthermore, the weighting of capabilities tends to be subjective and can lack accuracy. Furthermore, it can be difficult to focus on characteristic terms frequently used by employees, which can reduce the accuracy of capability evaluation. To solve these issues, a system is needed that can automatically analyze communication data and accurately extract and weight capabilities.
[0168] 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.
[0169] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for acquiring communication data, means for analyzing the acquired communication data and extracting the destination and number of recipients, means for extracting keywords related to capabilities from the body of communications, means for weighting the extracted capabilities, and means for saving and notifying the results of the weighting. This makes it possible to automatically analyze communication data and accurately extract and weight capabilities.
[0170] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0171] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[0172] "Communication" refers to the means of sending and receiving information, such as emails and messages.
[0173] "Document" means a file or document containing information recorded in text format.
[0174] "Competencies" refer to the skills, knowledge, and experience that an employee possesses.
[0175] A "testimonial" is a piece of writing that describes an employee's abilities and achievements.
[0176] "Destination" refers to the address or name of the person to whom the communication is being sent.
[0177] "Number of senders" refers to the number of recipients to whom a communication is sent.
[0178] "Weighting" refers to assigning importance or priority to a particular element.
[0179] An "organization" refers to a group formed with a specific purpose, such as a company or organization.
[0180] A "department" refers to a group within an organization that is responsible for a specific task or function.
[0181] "Distinctive terms" refer to technical terms or keywords frequently used by certain employees.
[0182] "Acquisition" refers to the gathering of data or information.
[0183] "Analysis" refers to analyzing data or information and extracting meaning and patterns.
[0184] "Keywords" refer to important words or phrases that represent specific information.
[0185] "Storage" refers to recording data or information so that it can be accessed at a later time.
[0186] "Notification" refers to informing another person of specific information.
[0187] The present invention relates to a system for extracting and weighting capabilities from employee communications and documents. A specific embodiment of this system will be described below.
[0188] The server first retrieves employee communication data, which may be in the form of emails, messages, etc. The server then retrieves unread emails from the mail server using the IMAP protocol, using the Python imaplib library.
[0189] Next, the server analyzes the acquired communication data. Specifically, it uses the Python email module to extract the email header information (recipient, number of senders, etc.). This makes it possible to clarify the recipient and number of senders of the communication.
[0190] The server then extracts competency-related keywords from the body of the communication using natural language processing libraries such as nltk and spaCy, thereby clarifying the skills, knowledge, and experience possessed by the employee.
[0191] Next, the server assigns weights to the extracted capabilities. If the communication is addressed to a superior or an important project member, a higher weight is assigned to that capability. Also, if a large number of people are sending the message, the recognition of that capability is also highly evaluated. This process is performed using the Python pandas library.
[0192] Finally, the server saves the weighting results in a database and notifies the user. This process uses SQLAlchemy, a database connection library, and smtplib, a library for sending emails for notifications.
[0193] Examples:
[0194] A user sends a progress report email to his / her boss and project members. This email includes project management skills and technical skills. In this case, the server recognizes that the email is being sent to the boss and important project members, and assigns a high weight to these skills. In addition, if a large number of people send the email, the recognition of that skill is also highly evaluated.
[0195] Example prompt sentence:
[0196] "I sent a project progress report email to my boss and project members. This email includes project management skills and technical skills. Please weight these skills."
[0197] In this way, the server weights employees' abilities based on the destination and number of people they send messages to, and provides the results to the user. This system makes it possible to accurately evaluate employees' abilities and introduce them appropriately.
[0198] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0199] Step 1:
[0200] The server logs in to the user's email account and retrieves unread emails using the IMAP protocol. The input is the user's email account information (username, password), and the output is the unread email data. Specifically, the server connects to the IMAP server, logs in using the user's authentication information, and searches for and retrieves unread emails.
[0201] Step 2:
[0202] The server analyzes the retrieved unread email data and extracts the email header information (recipient, number of senders, etc.). The input is the unread email data, and the output is the recipient and number of senders. Specifically, the server uses the Python email module to analyze the email data and extract the header information.
[0203] Step 3:
[0204] The server extracts keywords related to abilities from the email body. The input is the email body data, and the output is the extracted keywords. Specifically, the server uses natural language processing libraries such as nltk and spaCy to analyze the email body and extract keywords related to abilities.
[0205] Step 4:
[0206] The server assigns weights to the extracted capabilities. The input is the extracted keywords, the email recipients, and the number of recipients, and the output is a list of weighted capabilities. Specifically, the server uses the Python pandas library to assign a higher weight if the email recipient is a superior or an important project member, and to highly evaluate the recognition of the capability if the number of recipients is large.
[0207] Step 5:
[0208] The server saves the weighting results in a database and notifies the user. The input is a list of weighted abilities, and the output is the results saved in the database and the results of sending notifications. Specifically, the server saves the results in a database using SQLAlchemy, a database connection library, and sends a notification email to the user using smtplib, a notification email sending library.
[0209] (Application example 2)
[0210] Next, a description will be given of Application Example 2 of Form 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."
[0211] With conventional systems, it was difficult to properly evaluate and weight employee skills. Furthermore, when it came to managing the skills of machines used in factories, there was no way to weight skills based on the recipients or number of people sending emails, making efficient skill management difficult. This meant that the skills of employees and machines could not be properly evaluated and managed, hindering productivity improvements.
[0212] 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.
[0213] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of people to whom emails are sent, means for focusing on characteristic terms frequently used by the employee within the company or department, and means for managing the skills of machines used in the factory and weighting skills based on email recipients and the number of people to whom emails are sent. This makes it possible to appropriately evaluate the skills of employees and machines and manage them efficiently.
[0214] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0215] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[0216] An "introduction" is a piece of writing that explains and introduces a particular person or thing to others.
[0217] A "mail destination" is a person to whom an email is sent.
[0218] The "number of recipients" refers to the number of recipients to whom the email is sent.
[0219] "Weighting" means assigning importance or priority to a particular element.
[0220] "Distinctive terms" are words or phrases that are uniquely used by a particular person or department.
[0221] "Machinery used in factories" refers to devices and robots used on factory production lines and in workshops.
[0222] "Skills management" is the process of evaluating, recording, and appropriately managing the skills of specific people or machines.
[0223] A system for carrying out this invention has the following configuration: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of recipients, means for focusing on characteristic terms frequently used by the employee within the company or department, and means for managing the skills of machines used within a factory and weighting skills based on email recipients and the number of recipients.
[0224] Program processing explanation
[0225] The server runs a Python program that assigns skill weights based on the recipient and number of recipients. The program does the following:
[0226] 1. Skill Extraction
[0227] The server uses natural language processing technology to extract skills from employees' emails and documents. Specifically, it uses a generative AI model to identify and list skills from the email body.
[0228] 2. Skill Weighting
[0229] The server weights skills based on the recipient and the number of people who sent the email. Skills included in emails sent to important recipients (e.g., your boss or project leader) are weighted higher, and skills included in emails sent to many people are weighted higher.
[0230] 3. Focus on distinctive terms
[0231] The server focuses on the characteristic terms that an employee frequently uses within a company or department, and uses this information to evaluate the employee's expertise and suitability for a particular job.
[0232] 4. Machine Skill Management
[0233] The server manages the skills of the machines used in the factory and weights the skills based on the recipients and number of people sending emails, allowing for the appropriate evaluation and management of the skills required for machine maintenance and operation.
[0234] Hardware and software used
[0235] Hardware: Servers, smartphones, PCs
[0236] Software: Python, SMTP server (e.g., smtp.example.com), generative AI model
[0237] Specific examples
[0238] For example, if a robot needs maintenance in a factory, the maintenance person sends an email to their supervisor or project leader. This email lists the skills required for maintenance. The system analyzes the email and assigns a weight to the skills.
[0239] Prompt Sentence Examples
[0240] "I sent an email to my boss and project leader about robot maintenance. This email lists maintenance and operation skills. Please weight the skills."
[0241] In this way, the skills of employees and machines can be properly assessed and efficiently managed.
[0242] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0243] Step 1:
[0244] The server receives emails sent by users. The input includes the email body, recipients, and number of recipients. The server analyzes the email body and extracts skills using natural language processing technology. Specifically, it uses a generative AI model to identify and list skills from the email body. The output is a list of extracted skills.
[0245] Step 2:
[0246] The server weights skills based on the email recipients and the number of recipients. The inputs include the extracted skill list, the email recipients, and the number of recipients. The server assigns a higher weight to skills included in emails sent to important recipients (e.g., superiors or project leaders), and also assigns a higher weight to skills included in emails sent to many people. The output is a list of weighted skills.
[0247] Step 3:
[0248] The server focuses on the characteristic terms frequently used by employees within a company or department. The input includes the employee's past emails and documents. The server analyzes these documents using natural language processing techniques to identify frequently used terms. The output is a list of characteristic terms.
[0249] Step 4:
[0250] The server manages the skills of machines used in the factory. The input includes the body of emails about machine maintenance and operation, their destinations, and the number of people who sent them. The server analyzes the email body, extracts skills using natural language processing technology, and weights the skills based on the destination and number of people who sent them. The output is a list of weighted machine skills.
[0251] Step 5:
[0252] The server evaluates and manages the skills of employees and machines based on a list of weighted skills. The input includes a list of weighted skills. The server stores these skills in a database, retrieving and updating them as needed. The output is the latest skill evaluation information.
[0253] In this way, the server can properly evaluate the skills of employees and machines and manage them efficiently.
[0254] Example 3
[0255] Next, a description will be given of a third embodiment of the third embodiment. 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."
[0256] Conventional employee competency evaluation systems have the problem of making it difficult to accurately grasp the specialized skills and knowledge of employees. Extracting competencies from employee communication data and documents also requires manual analysis, which is time-consuming and labor-intensive. Furthermore, there was a lack of a way to evaluate competencies based on characteristic terms frequently used by employees, making it impossible to accurately evaluate employee skills and knowledge.
[0257] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0258] In this invention, the server includes means for collecting communication data, means for preprocessing the collected communication data, means for extracting terms from the preprocessed data, means for evaluating employee capabilities based on the extracted terms, and means for displaying the evaluation results. This makes it possible to automatically extract capabilities from employee communication data and documents and accurately evaluate capabilities based on frequently used characteristic terms.
[0259] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0260] "Communication data" refers to text data generated through digital communication tools such as email, chat, and messaging applications that employees use on a daily basis.
[0261] "Ability" refers to the specialized skills and knowledge that employees possess.
[0262] An "Introduction" is an automatically generated text that describes an employee's abilities and characteristics.
[0263] "Weighting" is the process of numerically assessing the importance of a particular element.
[0264] "Characteristic terms" are technical terms or keywords that an employee uses more frequently than other employees.
[0265] "Means of collection" refers to the methods and technologies used to obtain communication data.
[0266] The "preprocessing means" is a process of removing unnecessary information from the collected communication data and converting it into an analyzable format.
[0267] "Term extraction means" refers to a technique for identifying frequently used technical terms and keywords from pre-processed data.
[0268] The "measure of evaluation" is the process of numerically evaluating employees' abilities based on the extracted terms.
[0269] "Display means" refers to methods and techniques for visually displaying the evaluation results.
[0270] MODE FOR CARRYING OUT THE INVENTION
[0271] This invention is a system that extracts capabilities from employee communication data and documents and accurately evaluates capabilities based on frequently used characteristic terms. A specific embodiment of this system is described below.
[0272] Data collection
[0273] The server collects text data from communication tools (e.g., email, chat, messaging applications) that employees use on a daily basis. Specifically, the server uses APIs to retrieve messages from specific channels and mailboxes. For example, the server uses the Slack API to retrieve messages from the "general" channel for the past month.
[0274] Data Preprocessing
[0275] The server cleanses the collected text data and removes unnecessary information. Specifically, it uses the Python library "BeautifulSoup" to remove HTML tags and regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[0276] Term Extraction
[0277] The server uses natural language processing technology to extract frequently used terms from text data. Specifically, it uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to analyze the text and extract nouns (NOUN) and proper nouns (PROPN).
[0278] Term Evaluation
[0279] The server evaluates each employee's distinctive skills and knowledge based on the extracted terms. Specifically, it tallies the frequency of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[0280] Displaying the results
[0281] The terminal displays the evaluation results in the form of a dashboard or report. Specifically, "React" is used as the front end of the web application to display the evaluation results in graphs and tables. For example, the skill evaluation of each employee can be displayed in a bar graph, allowing each employee's skill set to be visually confirmed.
[0282] Examples and prompts
[0283] Examples:
[0284] Employee A uses the term "machine learning" 50 times per month.
[0285] Employee B uses the term "deep learning" 30 times per month.
[0286] Example prompt sentence:
[0287] "Analyze the terms frequently used by employee A and evaluate their skills and knowledge."
[0288] "Create a program that extracts frequently used terms from Slack message logs and evaluates employee skills."
[0289] This system is useful for formulating appropriate personnel allocation and training plans by quantitatively evaluating the skills and knowledge of employees. The flow of the identification process in the third embodiment will be described with reference to FIG.
[0290] Step 1:
[0291] Data collection
[0292] The server collects text data from the communication tools that employees use on a daily basis. It receives authentication information such as API keys and channel IDs as input and generates the retrieved message data as output. Specifically, the server uses the Slack API to retrieve messages from the "general" channel for the past month. For example, it calls the conversations.history endpoint of the Slack API to retrieve message data in JSON format.
[0293] Step 2:
[0294] Data Preprocessing
[0295] The server cleanses the collected text data and removes unnecessary information. It receives the collected raw data as input and generates cleansed text data as output. Specifically, the server uses the Python library "BeautifulSoup" to remove HTML tags and uses regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[0296] Step 3:
[0297] Term Extraction
[0298] The server uses natural language processing techniques to extract frequently used terms from text data. It receives preprocessed text data as input and generates a list of extracted terms as output. Specifically, the server uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to parse the text and extract nouns (NOUN) and proper nouns (PROPN).
[0299] Step 4:
[0300] Term Evaluation
[0301] The server evaluates each employee's characteristic skills and knowledge based on the extracted terms. It receives the extracted term list as input and generates the evaluation results as output. Specifically, the server aggregates the frequency of occurrence of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[0302] Step 5:
[0303] Displaying the results
[0304] The terminal displays the evaluation results in the form of a dashboard or report. It receives the evaluation result data as input and generates a visual display as output. Specifically, the terminal uses "React" as the front end of the web application and displays the evaluation results in graphs and tables. For example, it can display each employee's skill evaluation in a bar graph, allowing users to visually check each employee's skill set.
[0305] (Application example 3)
[0306] Next, a description will be given of Application Example 3 of Form Example 3. 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."
[0307] With the previous system, it was difficult to accurately evaluate employee skills and knowledge and assign appropriate tasks. Also, real-time skill evaluation and task assignment using voice recognition technology was not performed, so improvements in work efficiency could not be expected.
[0308] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes: means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions; means for weighting skills based on the email recipients and the number of recipients; means for focusing on characteristic terms frequently used by the employee within the company or department; means for converting the worker's speech into text in real time using speech recognition technology; means for extracting frequently used terms from the converted text; means for evaluating the worker's skills and knowledge based on the extracted terms; and means for automatically assigning appropriate tasks based on the evaluation results. This makes it possible to accurately evaluate employee skills and knowledge and assign appropriate tasks in real time.
[0309] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0310] "Skill extraction" is the process of identifying and extracting specific skills and knowledge from text data.
[0311] "Testimonial generation" is the process of automatically generating a document that describes an employee's profile and capabilities based on the extracted skills and knowledge.
[0312] "Skill weighting" is the process of assessing the importance of specific skills or knowledge and assigning them a numerical weight.
[0313] "Characteristic terms" are technical terms or keywords that are used more frequently by certain employees than by other employees.
[0314] "Speech recognition technology" is a technology that converts voice data into text data.
[0315] "Real-time" means that data processing and analysis are done immediately.
[0316] "Text conversion" is the process of converting audio data into text data.
[0317] "Skills assessment" is the process of evaluating employees' skills and knowledge based on extracted terms and data.
[0318] "Work allocation" is the process of automatically assigning appropriate work or tasks based on assessed skills and knowledge.
[0319] A system for carrying out the present invention has the following configuration: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for converting the worker's speech into text in real time using speech recognition technology, means for extracting frequently used terms from the converted text, means for evaluating the worker's skills and knowledge based on the extracted terms, and means for automatically assigning appropriate work based on the evaluation results.
[0320] Hardware and software used
[0321] Hardware: Microphone (for audio input)
[0322] Software: speech_recognition library (for speech recognition), sklearn library (for text analysis and skill evaluation)
[0323] Processing flow
[0324] 1. Speech Recognition: Recognizes what the worker is saying in real time. The microphone is used to capture the voice data and convert it into text using the speech_recognition library.
[0325] 2. Text analysis: Analyze the converted text and extract frequently used terms. Use CountVectorizer from the sklearn library to extract characteristic terms from the text.
[0326] 3. Skills assessment: Evaluate the skills and knowledge of workers based on the extracted terms. Check against the skills dictionary to assess the appropriate skills.
[0327] 4. Work Allocation: Automatically assign appropriate work based on the assessment results. Use a rules-based system to assign work that corresponds to skills.
[0328] Specific examples
[0329] For example, if a worker says, "Today I trained a machine learning model," the system will extract the term "machine learning," assess the worker as having machine learning skills, and assign "data analysis" as the next task.
[0330] Prompt Sentence Examples
[0331] Example prompts to be input to the generative AI model:
[0332] Extract frequently used terms from the text below, assess skills accordingly, and assign appropriate tasks.
[0333] Text: "Today we trained a machine learning model. Next we will prepare a dataset for deep learning."
[0334] Output format:
[0335] Extracted terms: ["machine learning", "deep learning"]
[0336] Skills assessed: ["Machine Learning", "Deep Learning"]
[0337] Assigned tasks: ["Data analysis", "Model training"]
[0338] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[0339] Step 1:
[0340] The server uses a microphone to acquire the voice data of the worker. The voice data is used to capture what the worker is saying in real time. The input is the voice data, and the output is a stream of voice data.
[0341] Step 2:
[0342] The server converts the acquired voice data into text data using the speech_recognition library. Using speech recognition technology, the voice data is converted into text data. The input is a stream of voice data, and the output is text data.
[0343] Step 3:
[0344] The server analyzes the converted text data using the CountVectorizer library from the sklearn library to extract frequently used terms. It vectorizes the text data and extracts characteristic terms. The input is the text data, and the output is a list of extracted terms.
[0345] Step 4:
[0346] The server compares the extracted terms with a skill dictionary to evaluate the worker's skills and knowledge. The skill dictionary contains specific terms and their corresponding skills. The input is a list of extracted terms, and the output is a list of evaluated skills.
[0347] Step 5:
[0348] The server automatically assigns appropriate work based on the assessed skills. It uses a rule-based system to assign work corresponding to skills. The input is a list of assessed skills, and the output is a list of assigned work.
[0349] Step 6:
[0350] The server notifies the worker of the assigned work. The notification is sent to the worker's terminal. The input is a list of assigned work, and the output is the notification to the worker.
[0351] 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.
[0352] "Example 1"
[0353] As one embodiment of the present invention, a system incorporating an emotion engine is provided. This system includes a means for extracting skills from an employee's emails and documents and automatically creating an introduction, a means for weighting skills based on the recipients and number of recipients of emails, and a means for focusing on characteristic terms frequently used by the employee within the company or department. Furthermore, this system incorporates an emotion engine that recognizes the user's emotions.
[0354] "Example 2"
[0355] The emotion engine analyzes emotions from the text of employees' emails and documents. The results of this analysis are used as part of skill extraction and weighting. For example, if there are many emails that suggest an employee is enthusiastic about their work, that employee's skills will be weighted higher. On the other hand, if there are many emails that suggest an employee is facing difficulties, that employee may be offered an opportunity to learn a new skill.
[0356] "Example 3"
[0357] Furthermore, the emotion engine understands the emotional state of employees and adjusts the weighting of skills based on that emotional state. For example, if an employee is optimistic about their work, their skills will be weighted higher. On the other hand, if an employee is pessimistic about their work, their skills will be weighted lower. This makes it possible to evaluate skills taking into account the emotional state of employees.
[0358] The processing flow of each embodiment will be described below.
[0359] "Example 1"
[0360] Step 1: The system collects text from employees' emails and documents.
[0361] Step 2: Extract skills from the collected text.
[0362] Step 3: Automatically create a description based on the extracted skills.
[0363] Step 4: Weight skills based on who you're sending the email to and how many people you're sending it to.
[0364] Step 5: Focus on the characteristic terms that the employee frequently uses within the company or department. Step 6: Use the emotion engine to analyze emotions from the text of the employee's emails and documents.
[0365] "Example 2"
[0366] Step 1: The emotion engine analyzes emotions from the text of employees' emails and documents.
[0367] Step 2: The analysis results are used as part of skill extraction and weighting.
[0368] Step 3: Adjust skill weighting based on the employee's emotional state.
[0369] "Example 3"
[0370] Step 1: The emotion engine captures the employee's emotional state.
[0371] Step 2: Adjust skill weighting based on emotional state.
[0372] Step 3: It becomes possible to evaluate skills taking into account the employee's emotional state.
[0373] Example 1
[0374] Next, a description will be given of Example 1 of Form 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."
[0375] Conventional employee performance evaluation systems require manual data collection and analysis, which is time-consuming and labor-intensive. Furthermore, it is difficult to evaluate employees' emotions and frequently used terms, making it difficult to accurately evaluate their abilities.
[0376] The identification process by the identification processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means. In this invention, the server includes a means for extracting capabilities from the employee's communications and documents using natural language processing technology and automatically creating a description, a means for weighting the capabilities based on the destination and number of recipients of the communications, a means for focusing on characteristic terms frequently used by the employee within the organization or department, and a means for combining an emotion engine that recognizes the user's emotions. This makes it possible to accurately and efficiently evaluate the capabilities of employees and automatically create a description that takes into account their emotions and frequently used terms.
[0377] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0378] "Employee" refers to an individual who belongs to an organization and performs work.
[0379] "Communication" refers to the means of conveying information, such as email or messaging.
[0380] "Document" means a file or document containing information recorded in text format.
[0381] "Ability" refers to the skills, knowledge, and experience that employees possess.
[0382] "Testimonials" refer to automatically generated text that describes an employee's abilities and achievements.
[0383] "Weighting" refers to the process of numerically assessing the importance of a particular factor.
[0384] "Characteristic terms" refer to technical terms or keywords that certain employees use more frequently than other employees.
[0385] An "emotion engine" refers to technology that analyzes user emotions from text data and recognizes emotions such as positive, negative, and neutral.
[0386] A "generative AI model" refers to a model that uses artificial intelligence to generate natural-sounding sentences.
[0387] MODE FOR CARRYING OUT THE INVENTION
[0388] The present invention relates to a system for extracting capabilities from employee correspondence and documents and automatically creating a testimonial. A specific embodiment of this system will be described below.
[0389] System Overview
[0390] The server uses natural language processing technology to extract skills from employee communications and documents and automatically create a profile. The system weights skills based on the recipients and number of recipients of communications, and focuses on characteristic terms frequently used by the employee within the organization or department. It also incorporates an emotion engine that recognizes the user's emotions.
[0391] Hardware and software used
[0392] The server uses the following hardware and software:
[0393] Hardware: High-performance server machine (CPU, memory, storage)
[0394] Software: Natural language processing libraries (NLTK, spaCy), generative AI models (GPT-3), sentiment analysis API
[0395] Data collection
[0396] The server collects employee communications and documents, specifically data from email services (e.g., Microsoft® Outlook, Google® Workspace®) and word processing software (e.g., Microsoft Word, Google® Docs).
[0397] Data analysis
[0398] The server analyzes the collected data, using natural language processing (NLP) techniques to tokenize the text data and perform grammatical and semantic analysis. For example, it uses a NLP library such as NLTK or spaCy.
[0399] Ability Extraction
[0400] The server extracts capabilities from the analysis results. Specifically, it extracts nouns and verbs from the text and determines whether they correspond to capabilities or knowledge. For example, it extracts keywords such as "Python" and "data analysis."
[0401] Ability Weighting
[0402] The server weights capabilities based on the destination and number of people sending the communication. For example, it might weight capabilities that are frequently used in communications sent to a particular project team highly. It might also look at distinctive terms frequently used within an organization or department.
[0403] Writing an introduction
[0404] The server creates an introduction based on the extracted abilities. It uses a generative AI model to generate natural-sounding sentences. Specifically, it uses a generative AI model such as GPT-3.
[0405] emotion recognition
[0406] The server uses an emotion engine to analyze the user's emotions. For example, it analyzes the content of emails and documents to determine positive, negative, neutral, and other emotions, and reflects these in the introduction. It analyzes emotions using an emotion analysis API.
[0407] Examples and prompts
[0408] As a concrete example, the following prompt sentence is input to the generative AI model:
[0409] Example prompt sentence:
[0410] "Extract competencies from employee correspondence and documents and automatically generate testimonials. Weight competencies based on who the correspondence is sent to and to whom. Also, pay attention to distinctive terms frequently used within an organization or department. Also, recognize user sentiment and reflect it in the testimonials."
[0411] Examples:
[0412] Content of communications sent by users:
[0413] "I'd like to report on the progress of Project X. We are currently in the data analysis phase and are using Python and R to process the data. Communication with team members is also progressing smoothly, and my skills, especially in data visualization, are improving."
[0414] The server extracts the following capabilities from this communication:
[0415] Data analysis
[0416] Python
[0417] R
[0418] Data Visualization
[0419] Team Communication
[0420] It then automatically generates an intro like this:
[0421] "This employee is in charge of the data analysis phase of Project X, and processes data using Python and R. He is also communicating smoothly with team members and has improved his skills, especially in data visualization."
[0422] If the emotion engine recognizes a positive emotion from the user, it will reflect that emotion in the testimonial:
[0423] "This employee is in charge of the data analysis phase of Project X, processing data using Python and R. He communicates smoothly with team members and has improved his skills, especially in data visualization. His positive attitude has greatly contributed to the success of the project."
[0424] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0425] Step 1: Data collection
[0426] The server collects employee communications and documents. Specifically, it retrieves data from email services (e.g., Microsoft Outlook, Google Workspace) and word processing software (e.g., Microsoft Word, Google Docs). The input is employee emails and document data, and the output is the collected raw data. The server periodically accesses these services and downloads new data.
[0427] Step 2: Data analysis
[0428] The server analyzes the collected data. It uses natural language processing technology to tokenize the text data and perform grammatical and semantic analysis. Specifically, it uses natural language processing libraries such as NLTK and spaCy. The input is the collected raw data, and the output is analyzed text data. The server breaks the text down into words and phrases and identifies the parts of speech for each.
[0429] Step 3: Ability Extraction
[0430] The server extracts abilities from the analysis results. Specifically, it extracts nouns and verbs from the text and determines whether they correspond to abilities or knowledge. The input is the analyzed text data, and the output is a list of extracted abilities. The server compares the results with a predefined skill list to identify applicable skills.
[0431] Step 4: Weighting the Capabilities
[0432] The server weights capabilities based on the destination and number of people sending the communication. For example, a capability that is frequently used in communications sent to a specific project team is weighted higher. It also focuses on characteristic terms that are frequently used within an organization or department. The input is the extracted capability list and communication metadata, and the output is a weighted capability list. The server then numerically evaluates the importance of each capability.
[0433] Step 5: Write a testimonial
[0434] The server creates an introduction based on the extracted capabilities. A generative AI model is used to generate natural-sounding sentences. Specifically, a generative AI model such as GPT-3 is used. The input is a weighted list of capabilities, and the output is the generated introduction. The server inputs the list of capabilities as a prompt into the generative AI model to generate the introduction.
[0435] Step 6: Emotion Recognition
[0436] The server uses an emotion engine to analyze the user's emotions. For example, it analyzes emotions such as positive, negative, and neutral from the content of emails and documents and reflects them in the introductory text. The input is the introductory text and the user's emotion data, and the output is the final introductory text that reflects the emotion. The server analyzes emotions using an emotion analysis API and reflects the results in the introductory text.
[0437] (Application example 1)
[0438] Next, a description will be given of Application Example 1 of Embodiment 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."
[0439] Conventional systems have had the problem of being unable to accurately grasp employee skills and assign appropriate tasks. Furthermore, tasks are assigned without taking into account the employee's emotional state, which can lead to reduced work efficiency. Furthermore, when extracting skills from employees' emails and documents, the system is unable to focus on frequently used characteristic terms, resulting in insufficient weighting of skills. To solve these issues, a system is needed that can accurately grasp an employee's skills and emotional state and assign optimal tasks.
[0440] 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.
[0441] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for recognizing the emotional state of the worker and assigning optimal work, and means for automatically assigning work based on the extracted skills and emotional state. This makes it possible to accurately grasp the skills and emotional state of employees and assign optimal work.
[0442] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0443] "Skills" are the knowledge and abilities required to carry out a specific job or task.
[0444] A testimonial is a piece of writing that conveys a person's skills and experience to others.
[0445] "Weighting" means assigning importance or priority to a particular element.
[0446] "Distinctive terms" are words or phrases that a particular person uses more frequently than other people.
[0447] An "emotional state" refers to the emotional state that a particular person is feeling.
[0448] "Work assignment" means assigning appropriate tasks or works to specific people.
[0449] "Generative AI" is a type of natural language processing technology, an artificial intelligence technology that generates and converts text.
[0450] A system for implementing this invention is configured as follows: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for recognizing the emotional state of the worker and assigning optimal tasks, and means for automatically assigning tasks based on the extracted skills and emotional state.
[0451] Hardware and software used
[0452] Hardware: Servers, factory robots, worker devices
[0453] Software: Python, spaCy (natural language processing library), Transformers (emotion recognition library)
[0454] Data processing and calculation
[0455] The server first obtains text data from workers' emails and reports. Next, it uses natural language processing technology to analyze the text data and extract skills. Specifically, it uses spaCy to analyze the text and extract entities related to skills. It then uses a Transformers emotion recognition model to recognize emotional states from the text. Emotions are classified as "positive" or "negative."
[0456] Based on the extracted skills and emotional state, the server assigns optimal tasks. For example, if the emotional state is positive, it assigns important tasks, and if the emotional state is negative, it assigns less demanding tasks.
[0457] Specific examples
[0458] Email content: "I have experience in welding and assembly."
[0459] Emotional state: "POSITIVE"
[0460] Assigned work: "Assign to welding task"
[0461] Prompt Sentence Examples
[0462] Extract skills from the email content below, recognize the emotional state, and assign appropriate tasks.
[0463] Email content: "I have experience in welding and assembly."
[0464] Emotional state: "POSITIVE"
[0465] In this way, the server can accurately grasp the skills and emotional state of the workers and assign them the most appropriate tasks.
[0466] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0467] Step 1:
[0468] The server acquires the text data of workers' emails and reports.
[0469] Input: Text data of workers' emails and reports
[0470] Output: The retrieved text data
[0471] Specific operation: The server collects text data such as emails and reports from the workers' terminals and stores it in a database.
[0472] Step 2:
[0473] The server analyzes the text data using natural language processing technology and extracts skills.
[0474] Input: Obtained text data
[0475] Output: A list of extracted skills
[0476] What happens: The server uses spaCy to parse the text data and extract entities related to skills, for example, skills such as "welding" and "assembly."
[0477] Step 3:
[0478] The server uses Transformers emotion recognition models to recognize emotional states from text.
[0479] Input: Obtained text data
[0480] Output: Perceived emotional state (e.g., POSITIVE, NEGATIVE)
[0481] How it works: The server uses Transformers emotion recognition models to classify emotional states from text data, for example recognizing "NEGATIVE" from the text "I am feeling stressed today."
[0482] Step 4:
[0483] The server weights skills based on the recipient and number of people sending the email.
[0484] Input: List of extracted skills, email recipients, and number of recipients
[0485] Output: A list of weighted skills
[0486] Specific operation: The server calculates the importance of each skill based on the information of the recipients and the number of people who sent the email, and assigns a weight to it. For example, skills included in emails sent to many people will be weighted higher.
[0487] Step 5:
[0488] The server focuses on characteristic terms that are frequently used by employees within a company or department.
[0489] Input: Obtained text data
[0490] Output: A list of characteristic terms
[0491] What it does: The server analyzes the text data and identifies terms that are frequently used compared to other employees, such as "efficiency" and "optimization."
[0492] Step 6:
[0493] The server assigns optimal tasks based on the extracted skills and emotional state.
[0494] Input: A list of weighted skills, a perceived emotional state, and a list of characteristic terms
[0495] Output: Work to be assigned
[0496] Specific operation: The server assigns the most suitable task to the worker based on the extracted skills and emotional state. For example, a worker with a positive emotional state and the skill "welding" is assigned welding work.
[0497] In this way, the server can accurately grasp the skills and emotional state of the workers and assign them the most appropriate tasks.
[0498] Example 2
[0499] Next, a description will be given of Example 2 of Form 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."
[0500] Conventional skill evaluation systems lacked sufficient data collection and analysis to accurately evaluate employee skills, and did not take into account the recipients and number of recipients of electronic messages, nor did they take into account sentiment analysis. As a result, employee skill evaluations were inaccurate, making it difficult to provide appropriate feedback or opportunities for skill improvement. Furthermore, skill evaluations were not based on characteristic terms frequently used by employees, making it difficult to fully grasp employees' expertise and characteristics.
[0501] 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.
[0502] In this invention, the server includes means for extracting skills from employees' electronic messages and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of electronic messages, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of electronic messages and documents using emotion analysis technology and reflecting the results in skill evaluations, and means for displaying the analysis results and receiving feedback. This makes it possible to more accurately evaluate employees' skills and provide appropriate feedback and opportunities for skill improvement.
[0503] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0504] An "electronic message" is a message sent or received in digital form, such as an email or chat message.
[0505] "Document" means a file or paper containing information recorded in text format.
[0506] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[0507] An "introduction" is a piece of text that describes a specific person and their skills.
[0508] A "destination" is someone to whom an electronic message is sent.
[0509] "Number of recipients" means the number of recipients to whom an electronic message is sent.
[0510] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[0511] "Intra-company" is a term that refers to the interior of a particular company.
[0512] "Intradepartmental" is a term that refers to the interior of a particular department.
[0513] A "distinctive term" is a particular word or phrase that is used more frequently by a particular person or group than by others.
[0514] "Emotion analysis technology" is a technology that automatically analyzes emotions and the intensity of emotions from text data.
[0515] "Analysis results" refers to the information and conclusions obtained as a result of data analysis.
[0516] "Feedback" is the evaluation or opinion given in response to a particular action or result.
[0517] This invention is a system that extracts skills from employees' electronic messages and documents, weights the skills, and evaluates the skills through emotion analysis. A specific embodiment of this system is described below.
[0518] System configuration
[0519] This system consists of three main components: a server, a terminal, and a user.
[0520] Server Roles
[0521] The server first collects electronic message data. Specifically, it retrieves data from email servers (e.g., Microsoft Exchange Server or Gmail API). Next, it uses natural language processing techniques to extract skills from electronic messages and documents. This process uses Python's NLTK and spaCy libraries.
[0522] The server analyzes the recipients and number of recipients of electronic messages and weights the skills accordingly. For example, if the recipient is a superior or a member of an important project, the skill is evaluated as important. If the recipient is a large number of people, the skill is evaluated as widely recognized.
[0523] The server then uses sentiment analysis technology to analyze emotions from the text of electronic messages and documents. This analysis is performed using Google Cloud Natural Language API and IBM Watson® Natural Language Understanding. The analysis results are reflected in skill evaluations. For example, if an employee receives many electronic messages that suggest they are enthusiastic about their work, the employee's skills will be weighted higher.
[0524] Device Role
[0525] The device receives the skill weighting results sent from the server. The user can check the skill evaluation results through a dedicated dashboard application. This dashboard application is a web application built with React and Angular.
[0526] User Roles
[0527] Users can use the dashboard application to view their skill assessment results and, if desired, send feedback about their skill weightings to the server.
[0528] Specific examples
[0529] For example, if employee A sends an electronic message to his / her boss that includes a "project progress report" and a "new proposal," this electronic message will be evaluated as an important skill. Also, if employee B sends an electronic message to all employees that includes a "new tool usage" message, this skill will be evaluated as widely recognized.
[0530] As a result of the sentiment analysis, it is found that the electronic messages of Employee C contain a lot of emotions such as "facing difficulties." In this case, it may be possible to offer Employee C an opportunity to learn a new skill.
[0531] Prompt Sentence Examples
[0532] "Please create a program that analyzes employees' electronic message data and assigns skill weights based on the recipient and the number of recipients. Also, please use sentiment analysis technology to analyze the sentiment of the electronic messages and reflect the results in the skill evaluation."
[0533] The above is a specific embodiment for carrying out the present invention.
[0534] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0535] Step 1:
[0536] The server collects electronic message data. As input, it retrieves employee electronic messages from a mail server (e.g., Microsoft Exchange Server or Gmail API). As output, it stores the collected electronic message data. Specifically, the server accesses the mail server through the API and retrieves electronic messages within a specified period.
[0537] Step 2:
[0538] The server parses the collected electronic message data. It uses the collected electronic message data as input and generates parsed skill information as output. Specifically, the server uses Python's NLTK and spaCy libraries to parse the content of the electronic messages and extract keywords and phrases related to skills.
[0539] Step 3:
[0540] The server analyzes the destination and number of people who have sent an electronic message. As input, it uses the metadata of the electronic message (destination, number of people who have sent it). As output, it generates skill weighting information. Specifically, if the destination of the electronic message is a superior or a member of an important project, the server assigns a high weight to the skill. Also, if the number of people who have sent it is large, it evaluates the skill as being widely recognized and assigns a weight to it.
[0541] Step 4:
[0542] The server uses sentiment analysis technology to analyze sentiment from the text of electronic messages and documents. It uses the text data of electronic messages as input and generates sentiment analysis results as output. Specifically, the server uses Google Cloud Natural Language API and IBM Watson Natural Language Understanding to analyze the sentiment of electronic messages and calculate sentiment scores.
[0543] Step 5:
[0544] The server reflects the sentiment analysis results in the skill evaluation. It uses the sentiment analysis results and skill weighting information as inputs and generates the final skill evaluation results as output. Specifically, if the sentiment score is high, the server assigns additional weight to that skill. For example, if there are many electronic messages that suggest that an employee is enthusiastic about their work, it assigns a higher weight to that skill.
[0545] Step 6:
[0546] The device receives the skill weighting results sent from the server. As input, it uses the skill evaluation results sent from the server. As output, it generates data to display to the user. Specifically, the device displays the skill evaluation results through a dedicated dashboard application.
[0547] Step 7:
[0548] The user uses the dashboard application to check the results of their own skill evaluation. The skill evaluation results displayed on the terminal are used as input. As output, feedback is sent to the server as needed. Specifically, the user checks the evaluation results and sends their opinions or correction requests to the server through a feedback form.
[0549] The above is the specific flow of the program processing of this system.
[0550] (Application example 2)
[0551] Next, a description will be given of Application Example 2 of Form 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."
[0552] Conventional skill evaluation systems make it difficult to accurately evaluate employee skills, and do not take into account emotions or communication content in skill evaluations. Furthermore, they are unable to properly evaluate the skills of factory workers or provide opportunities to learn new skills as needed. This makes it difficult to improve work efficiency and promote employee growth.
[0553] 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.
[0554] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of employee emails and documents using an emotion engine and reflecting these in skill evaluations, and means for analyzing communication within the factory and weighting the skills of each worker. This makes it possible to accurately evaluate the skills of employees and workers and provide opportunities to learn new skills as needed.
[0555] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0556] "Skill extraction" is the process of identifying and extracting specific abilities and knowledge from text data.
[0557] An "introduction" is a piece of text that describes a specific person and their skills.
[0558] A "mail destination" is a person to whom an email is sent.
[0559] "Number of recipients" is the number of recipients to whom the email is sent.
[0560] "Skill weighting" refers to evaluating the importance and impact of specific skills and expressing them numerically.
[0561] "Distinctive terms" are distinctive words or phrases that are frequently used by a particular person or group.
[0562] An "emotion engine" is software that analyzes emotions from text data and evaluates the emotional state.
[0563] "Text emotion analysis" is the process of identifying emotions from the content of a sentence or document and assessing the type and intensity of those emotions.
[0564] "Skills assessment" is the evaluation of the importance and effectiveness of specific skills or abilities.
[0565] "Communication within the factory" refers to the exchange of information and communication between workers within the factory.
[0566] "Workers" are people who work in factories or on work sites.
[0567] A system for carrying out the present invention is configured as follows: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of employee emails and documents using an emotion engine and reflecting this in skill evaluations, and means for analyzing communication within the factory and weighting the skills of each worker.
[0568] The server uses software such as Python, TextBlob, and scikit-learn to analyze the content of emails and weight skills using TF-IDF. It also performs sentiment analysis using TextBlob. This allows skill weighting based on the recipients and number of recipients of the email, and the results of the sentiment analysis can be reflected in the skill evaluation.
[0569] For example, if Worker A emails saying, "I'm very excited about the new project," that worker's "Project Management" skill will be weighted highly, while if Worker B emails saying, "I'm struggling with this task," that worker will be offered an opportunity to learn the "Task Management" skill.
[0570] Examples of prompts using generative AI models include:
[0571] Conduct a skills assessment of a worker who states, "I'm very excited about new projects," and weight project management skills highly.
[0572] This system makes it possible to accurately evaluate the skills of employees and workers and provide opportunities to learn new skills as needed, thereby improving work efficiency and promoting employee growth.
[0573] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0574] Step 1:
[0575] The server collects employees' emails and documents. As input, it receives the text data of employees' emails and documents. This data is converted into text format as a preprocessing step for analysis using natural language processing technology. As output, it obtains analyzable text data.
[0576] Step 2:
[0577] The server uses natural language processing techniques to extract skills from the collected text data. It receives preprocessed text data as input. Specifically, it uses TF-IDF (Term Frequency-Inverse Document Frequency) to extract important words and phrases within each text. The output is a list of extracted skills.
[0578] Step 3:
[0579] The server weights skills based on the recipients and number of recipients of the email. As input, it receives the list of extracted skills and information on the recipients and number of recipients of the email. Specifically, it assigns a higher weight to emails to important project members or superiors, and if the number of recipients is large, it evaluates the recognition of that skill highly. As output, it obtains a list of weighted skills.
[0580] Step 4:
[0581] The server uses an emotion engine to analyze emotions from text data. It receives preprocessed text data as input. Specifically, it analyzes the emotion of the text using TextBlob and evaluates the emotional state as positive, negative, or neutral. The output is the emotion analysis result.
[0582] Step 5:
[0583] The server reflects the emotion analysis results in the skill evaluation. As input, it receives the emotion analysis results and a list of weighted skills. Specifically, if there are a lot of positive emotions, it assigns a high weight to that skill, and if there are a lot of negative emotions, it provides an opportunity to learn a new skill. As output, it obtains a skill evaluation list that reflects the emotion analysis results.
[0584] Step 6:
[0585] The server analyzes communications within the factory and assigns a skill weight to each worker. As input, it receives log data of messages and communications within the factory. Specifically, it uses natural language processing technology to analyze the content of each worker's communications and assigns a skill weight. As output, it obtains a list of skill evaluations for the workers within the factory.
[0586] Step 7:
[0587] The server uses a generative AI model to automatically create a description based on the skill evaluation. It receives a list of skill evaluations as input. Specifically, it inputs a prompt into the generative AI model to generate a description. The output is a description based on the skill evaluation of each worker.
[0588] Example prompt sentence:
[0589] Conduct a skills assessment of a worker who states, "I'm very excited about new projects," and weight project management skills highly.
[0590] Example 3
[0591] Next, a description will be given of a third embodiment of the third embodiment. 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."
[0592] Conventional employee evaluation systems have difficulty accurately assessing employees' skills and knowledge, and in particular, do not weight skills taking into account emotional states, which means they cannot adequately reflect employees' actual abilities and performance. Furthermore, skill evaluation based on characteristic terms frequently used by employees is also insufficient, making it difficult to accurately grasp employees' expertise and skills.
[0593] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0594] In this invention, the server includes means for extracting skills from employees' electronic communications and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the destination and number of recipients of electronic communications, means for focusing on characteristic terms frequently used by the employee within the organization or department, and means for grasping the employee's emotional state using emotion analysis technology and adjusting the skill weighting based on the emotional state. This makes it possible to accurately evaluate employees' skills and knowledge and weight skills taking their emotional state into consideration.
[0595] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0596] "Electronic communications" are communications sent or received in digital form, such as emails or chat messages.
[0597] "Documents" include text data such as reports, memos, and presentation materials created by employees.
[0598] "Skills" refers to the specialized knowledge, techniques, and abilities that employees possess.
[0599] A "testimonial" is a piece of writing that introduces an employee's skills and knowledge to others.
[0600] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[0601] "Characteristic terms" are technical terms or keywords that are used more frequently by certain employees than by other employees.
[0602] "Emotion analysis technology" is a technology for extracting and analyzing emotions and emotional states from text data.
[0603] "Emotional state" refers to the emotional state that employees have toward their work (e.g., optimistic, pessimistic).
[0604] The present invention provides a system for accurately evaluating employee skills and knowledge and weighting skills taking into account the employee's emotional state. A specific embodiment of this system will be described below.
[0605] Data collection
[0606] The server collects electronic communications and documents used by employees during work. Specifically, it targets text data such as chat logs, emails, and documents. This data reflects employees' communications and work activities. The server connects to a database (e.g., MySQL (registered trademark), PostgreSQL) and stores the collected text data. The data is classified for each employee and stored in the database.
[0607] Text analytics
[0608] The server uses the Python libraries "NLTK" and "spaCy" to analyze the collected text data. The server extracts frequently used terms from the text data. Specifically, it performs preprocessing such as tokenization, stop word removal, and stemming. It calculates the frequency of term occurrence and lists the most frequently occurring terms.
[0609] Skills Assessment
[0610] The server evaluates employees' skills and knowledge based on the extracted terms. For example, if terms such as "machine learning" and "deep learning" are frequently used, the server evaluates the employee as having skills and knowledge in these fields. The evaluation results are stored in a database. A skill evaluation score is recorded for each employee.
[0611] Emotion analysis
[0612] The server uses an emotion engine to analyze the emotional state of employees. The emotion engine uses "IBM Watson Natural Language Understanding" or "Microsoft Azure (registered trademark) Text Analytics." The server extracts the employee's emotional state (optimistic, pessimistic, etc.) from the text data. Specifically, it calls the emotion engine's API and performs emotion analysis using the text data as input.
[0613] Skill weighting adjustment
[0614] The server adjusts the weighting of employees' skills based on the results of the sentiment analysis. For example, if an employee expresses optimistic sentiment toward their work, the employee's skills are weighted higher. On the other hand, if the employee expresses pessimistic sentiment, the skills are weighted lower. The adjusted skill evaluation is updated in the database. The value obtained by multiplying each employee's skill evaluation score by the weighting is recorded.
[0615] Specific examples
[0616] Examples of data collection include:
[0617] The server uses the API to retrieve employee chat logs, and the retrieved data is stored in a database.
[0618] Examples of text analysis:
[0619] The server uses the Python program "spaCy" to tokenize the chat logs and extract frequently occurring terms. For example, if the term "machine learning" appears 100 times, it will list that term.
[0620] Examples of skill assessments:
[0621] The server evaluates the employee's machine learning skills based on the frequency of the term "machine learning." The evaluation results are stored in a database.
[0622] Examples of sentiment analysis:
[0623] The server uses IBM Watson Natural Language Understanding to analyze the employee's emotional state from the chat log. For example, if the positive emotion score is high, it determines that the employee has an optimistic emotion.
[0624] Examples of skill weighting adjustments:
[0625] The server weights the machine learning skills of employees with high optimistic sentiment scores and increases their evaluation scores, and the adjusted scores are updated in the database.
[0626] Prompt Sentence Examples
[0627] "Extract frequently used terms from employees' chat logs and evaluate the skills they represent."
[0628] "Analyze the emotional state of your employees and adjust the weighting of their skills based on that emotion."
[0629] In this way, the system can accurately evaluate the skills and knowledge of employees and weight the skills taking into account their emotional state. The flow of the identification process in the third embodiment will be described with reference to FIG.
[0630] Step 1: Data collection
[0631] The server collects electronic communications and documents used by employees during work hours. Specifically, it targets text data such as chat logs, emails, and documents. The server uses an API to retrieve this data and store it in a database. The input is the employee's electronic communications and document data, and the output is the text data stored in the database.
[0632] Step 2: Text analysis
[0633] The server uses the Python libraries "NLTK" and "spaCy" to analyze the collected text data. The server extracts frequently used terms from the text data. Specifically, the server performs preprocessing such as tokenization, stop word removal, and stemming. The input is the text data stored in the database, and the output is a list of frequently used terms.
[0634] Step 3: Skills Assessment
[0635] The server evaluates the employee's skills and knowledge based on the extracted terms. For example, if terms such as "machine learning" and "deep learning" are frequently used, the server evaluates the employee as having skills and knowledge in these fields. The evaluation results are stored in a database. The input is a list of frequently used terms, and the output is a skill evaluation score.
[0636] Step 4: Sentiment Analysis
[0637] The server uses an emotion engine to analyze the emotional state of employees. The emotion engine uses "IBM Watson Natural Language Understanding" or "Microsoft Azure Text Analytics." The server extracts the employee's emotional state (optimistic, pessimistic, etc.) from the text data. Specifically, it calls the emotion engine's API and performs emotion analysis using the text data as input. The input is text data stored in the database, and the output is the analysis result of the emotional state.
[0638] Step 5: Adjust skill weights
[0639] The server adjusts the weighting of employees' skills based on the results of the emotion analysis. For example, if an employee expresses optimistic feelings about their work, their skills are weighted higher. On the other hand, if they express pessimistic feelings, their skills are weighted lower. The adjusted skill evaluation is updated in the database. The input is the analysis result of the emotional state and the skill evaluation score, and the output is the skill evaluation score with the adjusted weighting.
[0640] (Application example 3)
[0641] Next, a description will be given of Application Example 3 of Form Example 3. 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."
[0642] Conventional employee skill evaluation systems do not weight skills taking into account frequently used terms or emotional states of employees. This makes it difficult to accurately evaluate employee skills and knowledge, and skill evaluations of factory workers in particular require real-time analysis and understanding of their emotional states. Furthermore, evaluations that do not take into account the emotional states of workers can have a negative impact on work efficiency and motivation. To solve these issues, a system is needed that analyzes the terms used by employees and their emotional states in real time and adjusts the weighting of skills.
[0643] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 3 is realized by the following means.
[0644] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing terms used by the worker in real time and evaluating the worker's skills and knowledge, and means for grasping the worker's emotional state and adjusting the skill weighting based on that emotional state. This makes it possible to accurately evaluate the skills and knowledge of employees and weight their skills taking into account the worker's emotional state.
[0645] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0646] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[0647] A testimonial is a piece of writing that conveys an employee's skills and knowledge to others.
[0648] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[0649] "Distinctive terms" refer to words or phrases that certain employees use more frequently than other employees.
[0650] "Real-time" means that data and information are processed immediately and results are reflected immediately.
[0651] An "emotional state" refers to the feelings or moods an individual is experiencing at a particular time.
[0652] "Generative AI" is a type of artificial intelligence that refers to a model that has the ability to generate data such as text and images.
[0653] A "server" refers to a computer system that provides services to other computers on a network.
[0654] The system for implementing this invention consists of three main components: a server, a terminal, and a user. The server uses natural language processing technology to extract skills from employees' emails and documents and automatically create introductions. It also has a function to weight skills based on the recipients and number of recipients of emails. Furthermore, it has a function to analyze the terms used by employees in real time, focusing on the characteristic terms frequently used by employees within a company or department, and evaluate the employees' skills and knowledge. It also includes a function to grasp the emotional state of employees and adjust the skill weighting based on that emotional state.
[0655] The server is implemented using programming languages such as Python, and uses the textblob library for natural language processing. Data analysis involves text analysis using regular expressions and a generative AI model for sentiment analysis. Specific processing involves extracting words from employees' emails and documents and calculating their frequency. Sentiment analysis is then performed to evaluate whether the sentiment is positive or negative. Finally, skill weighting is adjusted based on this data.
[0656] The terminal is a device used by workers to input data in real time and send it to the server. For example, if a worker inputs text such as "There was a lot of welding work today. Assembly is also progressing smoothly," the data is sent to the server for analysis.
[0657] Users are employees or workers who use the system and receive feedback from the system. For example, based on the text entered by the worker, the system evaluates their skills and assigns weighting according to their emotional state, and the results are fed back to the user.
[0658] For example, if a worker in a factory inputs the text "Lots of welding work today. Assembly is also going well.", it will be parsed as follows:
[0659] Term frequency: {'today': 1, 'welding': 1, 'of': 1, 'work': 1, 'is': 1, 'a lot': 1, 'assembly': 1, 'also': 1, 'going well': 1, 'to': 1, 'progressing': 1}
[0660] Emotional state: 0.5 (positive)
[0661] Skill weighting: {'Today': 1.5, 'Welding': 1.5, 'of': 1.5, 'Work': 1.5, 'was': 1.5, 'a lot': 1.5, 'Assembly': 1.5, 'also': 1.5, 'Going well': 1.5, 'to': 1.5, 'Progressing': 1.5}
[0662] Example prompts to input to the generative AI model:
[0663] Develop a system that analyzes the terms used by factory workers and evaluates their skills and knowledge. Additionally, add a function to understand the worker's emotional state and adjust the weighting of skills based on that emotional state. For example, if a worker frequently uses terms like "welding" and "assembly," the system will evaluate the worker as having the skills and knowledge related to welding and assembly. Furthermore, if the worker expresses optimistic feelings about their work, the system will assign a higher weight to the worker's skills.
[0664] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[0665] Step 1:
[0666] The terminal receives text data entered by the worker. For example, the worker might enter, "There was a lot of welding work today. Assembly is also progressing smoothly." This text data is then sent to the server.
[0667] Step 2:
[0668] The server analyzes the received text data. First, it uses natural language processing techniques to extract words from the text and calculate their frequency. Specifically, it uses regular expressions to split the text into words and count the number of times each word appears. The input is the text data, and the output is a word frequency list.
[0669] Step 3:
[0670] The server identifies characteristic terms based on the extracted word frequency list. Characteristic terms are words that are used more frequently than other workers. This process provides basic data for evaluating the skills and knowledge of workers. The input is a word frequency list, and the output is a list of characteristic terms.
[0671] Step 4:
[0672] The server analyzes the emotional state of text data. For sentiment analysis, it uses the textblob library to evaluate the positive or negative sentiment of the text. Specifically, it calculates the sentiment score of the text and determines the emotional state based on that score. The input is the text data, and the output is the sentiment score.
[0673] Step 5:
[0674] The server adjusts the skill weights based on the characteristic term list and emotion score. Specifically, it calculates the weights by multiplying the frequency of each term by the emotion score. This process enables skill evaluation that takes into account the emotional state of the worker. The input is a characteristic term list and emotion score, and the output is a weighted skill list.
[0675] Step 6:
[0676] The server generates the worker's skill evaluation results based on the weighted skill list. The evaluation results are output as a testimonial to convey the worker's skills and knowledge to other employees. The input is the weighted skill list, and the output is the testimonial.
[0677] Step 7:
[0678] The user receives the introduction provided by the server and checks the worker's skills and knowledge. This allows for accurate evaluation of the worker's skills and provides appropriate feedback. The input is the introduction, and the output is the user's understanding and feedback.
[0679] 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.
[0680] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ) 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.
[0681] Another example of generative AI is Gemini (registered trademark) (Internet search engine). <url: https: gemini.google.com ?hl="ja">) are mentioned.
[0682] 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.
[0683] [Second embodiment]
[0684] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0685] 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.
[0686] 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).
[0687] 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.
[0688] 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.
[0689] 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).
[0690] 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.
[0691] 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.
[0692] 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.
[0693] 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.
[0694] 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.
[0695] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[0696] "Example 1"
[0697] One embodiment of the present invention is a system that extracts skills from employee emails and documents. This system uses natural language processing technology to extract skills from employee emails and documents and automatically create introductions. Specifically, it uses a natural language processing technology called generative AI to extract skills from employee emails and documents. This skill extraction analyzes the content of emails and documents and extracts the skills and knowledge contained therein.
[0698] "Example 2"
[0699] One embodiment of the present invention is a system that weights skills based on the recipients and number of email senders. This system analyzes the recipients and number of email senders and evaluates the importance of skills based on the analysis. Specifically, if an email is sent to a superior or a member of an important project, the skills contained in the email are evaluated as important and weighted accordingly. Also, if an email is sent to a large number of people, the skills contained in the email are evaluated as widely recognized and weighted accordingly.
[0700] "Example 3"
[0701] Furthermore, one embodiment of the present invention is a system that focuses on characteristic terms frequently used by employees within a company or department. This system analyzes the terms frequently used by employees and evaluates whether those terms represent the employee's characteristic skills and knowledge. Specifically, if an employee frequently uses terms such as "machine learning" or "deep learning," the system evaluates that the employee has skills and knowledge related to machine learning and deep learning.
[0702] The processing flow of each embodiment will be described below.
[0703] "Example 1"
[0704] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[0705] Step 2: Next, generative AI, a type of natural language processing technology, is used to extract skills from the input emails and documents. This skill extraction involves analyzing the content of the emails and documents and extracting the skills and knowledge contained within them.
[0706] Step 3: Finally, an employee introduction is automatically created based on the extracted skills, which specifically describes the employee's skills and knowledge.
[0707] "Example 2"
[0708] Step 1: First, employee emails are entered into the system. These emails are sent by employees in the course of their daily work.
[0709] Step 2: Next, analyze the recipients and number of people who received the email. This analysis determines whether the recipients are superiors or members of important projects, whether the email is being sent to a large number of people, etc.
[0710] Step 3: Finally, based on the analysis results, the importance of the skills is evaluated and a weight is assigned to each skill. This weight indicates how important the skill is.
[0711] "Example 3"
[0712] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[0713] Step 2: Next, analyze the terms frequently used by employees. This analysis extracts terms that frequently appear in emails and documents.
[0714] Step 3: Finally, the extracted terms are evaluated to determine whether they represent the employee's characteristic skills and knowledge. This evaluation determines whether the terms represent the employee's characteristics.
[0715] Example 1
[0716] Next, a description will be given of Example 1 of Form 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."
[0717] Conventional employee ability evaluation systems have difficulty accurately extracting abilities from employee communications and documents and automatically creating introductions. Furthermore, they are unable to weight abilities based on the recipients and number of recipients of communications, or to focus on characteristic terms frequently used by an employee within an organization or department. This has led to the issue of being unable to accurately evaluate an employee's abilities and generate appropriate introductions.
[0718] 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.
[0719] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for collecting communications and documents, means for preprocessing the collected data, means for extracting capabilities using a generative AI model, and means for generating introductions based on the extracted capabilities. This makes it possible to accurately extract capabilities from employee communications and documents and automatically generate appropriate introductions.
[0720] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0721] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[0722] "Communications" refers to the means by which employees communicate with other individuals or groups, such as email or messaging.
[0723] "Documents" refers to text-based materials created by employees, such as reports, memos, and presentations.
[0724] "Ability" refers to the skills, knowledge, and experience that employees possess.
[0725] "Testimonials" refer to automatically generated text that describes an employee's capabilities and achievements.
[0726] "Weighting" refers to the process of assigning importance to particular factors.
[0727] "Distinctive terms" refer to technical terms or phrases that certain employees use more frequently than other employees.
[0728] "Means of collection" refers to the methods and techniques used to obtain employee communications and documents.
[0729] "Preprocessing" refers to processes such as data cleaning and tokenization to convert collected data into a format that is easier to analyze.
[0730] A "generative AI model" refers to an algorithm or system that uses artificial intelligence to generate text.
[0731] "Extraction means" refers to the methods and techniques used to extract specific information from data.
[0732] "Generating means" refers to methods and techniques for creating new text or data based on extracted information.
[0733] MODE FOR CARRYING OUT THE INVENTION
[0734] This invention relates to a system that extracts capabilities from employee communications and documents and automatically creates introductions. This system uses natural language processing technology to extract capabilities from employee communications and documents, and automatically generates introductions using a generative AI model.
[0735] Hardware and software used
[0736] The server uses the following hardware and software to implement the system.
[0737] Hardware: A server with a powerful processor, sufficient memory, and ample storage.
[0738] Software: Python programming language, natural language processing libraries (NLTK, spaCy), generative AI models (e.g., OpenAI's GPT-3)
[0739] Data processing and calculation
[0740] The server processes and calculates the data in the following procedure.
[0741] 1. Data Collection:
[0742] The server connects to the mail server using the IMAP protocol to collect employee communications (emails), and also uses the file server's API to retrieve employee documents.
[0743] 2. Data Preprocessing:
[0744] The server preprocesses the collected text data from communications and documents by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[0745] 3. Ability Extraction:
[0746] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[0747] 4. Testimonial generation:
[0748] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[0749] Specific examples
[0750] For example, an employee email might contain the following:
[0751] "I have extensive project management experience and am proficient in Python and JavaScript development. I also have data analysis skills."
[0752] Based on this email, the server extracts the following capabilities:
[0753] project management
[0754] Python
[0755] JavaScript
[0756] Data analysis
[0757] The server then generates a description based on these capabilities, such as:
[0758] "This employee has extensive project management experience and is proficient in Python and JavaScript development. He also has data analysis skills."
[0759] An example of a prompt to input to a generative AI model is as follows:
[0760] "Extract abilities from the following text and generate a description:
[0761] Text: 'I have extensive project management experience and am proficient in development using Python and JavaScript. I also have skills in data analysis.'
[0762] Extracted competencies: ['Project Management', 'Python', 'JavaScript', 'Data Analysis']
[0763] Description: 'This employee has strong project management experience and is proficient in Python and JavaScript development. He also has data analysis skills.'
[0764] The above is an embodiment of the present invention.
[0765] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0766] Step 1: Data collection
[0767] The server collects employee communications and documents. Specifically, it connects to the mail server using the IMAP protocol and downloads emails from designated folders (e.g., inbox), and retrieves documents from designated directories using the file server's API.
[0768] Input: Mail server connection information, file server API information
[0769] Output: Collected email and document data
[0770] Step 2: Data Preprocessing
[0771] The server preprocesses the collected data by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[0772] Input: Collected email and document data
[0773] Output: Preprocessed text data
[0774] Step 3: Ability Extraction
[0775] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[0776] Input: Preprocessed text data
[0777] Output: Extracted ability list
[0778] Step 4: Generate a testimonial
[0779] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[0780] Input: Extracted ability list
[0781] Output: Auto-generated introduction
[0782] Step 5: Save and display data
[0783] The server saves the generated testimonials in a database and displays them to the user. Specifically, it connects to the database, executes SQL queries to save the testimonials, and calls an API to display the testimonials on the user's device.
[0784] Input: Auto-generated introduction
[0785] Output: Testimonials stored in the database, testimonials displayed on the user's device
[0786] (Application example 1)
[0787] Next, a description will be given of Application Example 1 of Form 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."
[0788] In conventional factories, it was difficult to properly understand the skills of workers and match them with the most suitable tasks and projects. Furthermore, understanding worker skills required manual evaluation and reporting, which was time-consuming and labor-intensive. This made it difficult to allocate personnel efficiently, resulting in reduced productivity and work delays.
[0789] 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.
[0790] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating a description, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of factory workers and automatically matching them with appropriate tasks and projects, and means for generating a description based on the extracted skills. This makes it possible to efficiently grasp the skills of workers and match them with optimal tasks and projects.
[0791] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0792] "Skills" are the knowledge and abilities required to perform a specific task or job.
[0793] A testimonial is a piece of writing that conveys a person's skills and experience to others.
[0794] "Weighting" refers to the numerical evaluation of the importance of a particular element or data.
[0795] "Characteristic terms" are technical terms or keywords that a particular person uses more frequently than other people.
[0796] "Factory workers" means workers who work in a factory.
[0797] A "report" is a document that records the progress and results of a specific task or work.
[0798] "Matching" is finding the best combination based on specific conditions and requirements.
[0799] "Generative AI" is a type of artificial intelligence, a model that has the ability to generate natural language.
[0800] To implement the present invention, the following system configuration and program are required.
[0801] System Configuration
[0802] The server includes means for using natural language processing technology to extract skills from employees' emails and documents and automatically create introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of workers within a factory and automatically matching them with appropriate work or projects, and means for generating introductions based on the extracted skills.
[0803] Hardware and software used
[0804] Hardware: Factory robots (e.g., general industrial robots), servers (for data processing)
[0805] Software: Python, spaCy (natural language processing library), Transformers (generative AI model for Hugging Face)
[0806] Data processing and calculation
[0807] The server first inputs text data from worker emails and reports. Next, natural language processing technology is used to extract skill-related entities from the text data. spaCy is used to analyze the text data and extract skills. The extracted skills are used as prompts to generate introductions using a generative AI model (Hugging Face Transformers). The generated introductions are used to communicate the worker's skills to other systems and users.
[0808] Specific examples
[0809] For example, if a worker's email reads, "John has experience in welding and machine operation," the server analyzes this text data and extracts the skills "welding" and "machine operation." Next, it generates the following prompt based on these skills:
[0810] Prompt Sentence Examples
[0811] Write a description for a worker with the following skills: welding, machine operation
[0812] By inputting this prompt into the generative AI model, the server generates an introduction such as "John is a skilled worker with experience in welding and machine operation." This introduction is used to communicate the worker's skills to other systems and users.
[0813] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0814] Step 1:
[0815] The server inputs text data such as worker emails and reports. The input text data is analyzed using natural language processing technology. Specifically, the spaCy library is used to tokenize the text data and perform grammatical analysis. This reveals the structure of each word and phrase in the text data.
[0816] Input: Text data of worker emails and reports
[0817] Output: Tokenized text data and grammar analysis results
[0818] Step 2:
[0819] The server extracts skill-related entities from the tokenized text data by using spaCy's entity recognition function to identify skill-related words and phrases within the text data, thereby extracting the specific skills possessed by the worker.
[0820] Input: Tokenized text data and grammar analysis results
[0821] Output: A list of extracted skills
[0822] Step 3:
[0823] The server generates a prompt based on the extracted skills. Specifically, it lists the extracted skills and formats them as a prompt to be input into the generative AI model. For example, it generates a prompt in the format "Please write a description for a worker with the following skills: welding, machine operation."
[0824] Input: A list of extracted skills
[0825] Output: Generated prompt statement
[0826] Step 4:
[0827] The server inputs the generated prompt into a generative AI model to generate an introduction. Specifically, it uses Hugging Face's Transformers library to input the prompt into the generative AI model and generate an appropriate introduction. The generated introduction is used to communicate the worker's skills to other systems and users.
[0828] Input: Generated prompt text
[0829] Output: Generated testimonial
[0830] Step 5:
[0831] The server stores the generated testimonials and provides them to other systems and users as needed. Specifically, the server stores the generated testimonials in a database and makes them accessible to other systems and users via API. This allows worker skill information to be shared efficiently.
[0832] Input: Generated testimonial
[0833] Output: Testimonials saved and accessible via API
[0834] Example 2
[0835] Next, a description will be given of Example 2 of Form 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."
[0836] Accurately evaluating employee capabilities and appropriately introducing them is important for improving organizational efficiency and human resource development. However, traditional methods often involve manually extracting and weighting capabilities from employee communications and documents, which takes time and effort. Furthermore, the weighting of capabilities tends to be subjective and can lack accuracy. Furthermore, it can be difficult to focus on characteristic terms frequently used by employees, which can reduce the accuracy of capability evaluation. To solve these issues, a system is needed that can automatically analyze communication data and accurately extract and weight capabilities.
[0837] 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.
[0838] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for acquiring communication data, means for analyzing the acquired communication data and extracting the destination and number of recipients, means for extracting keywords related to capabilities from the body of communications, means for weighting the extracted capabilities, and means for saving and notifying the results of the weighting. This makes it possible to automatically analyze communication data and accurately extract and weight capabilities.
[0839] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0840] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[0841] "Communication" refers to the means of sending and receiving information, such as emails and messages.
[0842] "Document" means a file or document containing information recorded in text format.
[0843] "Competencies" refer to the skills, knowledge, and experience that an employee possesses.
[0844] A "testimonial" is a piece of writing that describes an employee's abilities and achievements.
[0845] "Destination" refers to the address or name of the person to whom the communication is being sent.
[0846] "Number of senders" refers to the number of recipients to whom a communication is sent.
[0847] "Weighting" refers to assigning importance or priority to a particular element.
[0848] An "organization" refers to a group formed with a specific purpose, such as a company or organization.
[0849] A "department" refers to a group within an organization that is responsible for a specific task or function.
[0850] "Distinctive terms" refer to technical terms or keywords frequently used by certain employees.
[0851] "Acquisition" refers to the gathering of data or information.
[0852] "Analysis" refers to analyzing data or information and extracting meaning and patterns.
[0853] "Keywords" refer to important words or phrases that represent specific information.
[0854] "Storage" refers to recording data or information so that it can be accessed at a later time.
[0855] "Notification" refers to informing another person of specific information.
[0856] The present invention relates to a system for extracting and weighting capabilities from employee communications and documents. A specific embodiment of this system will be described below.
[0857] The server first retrieves employee communication data, which may be in the form of emails, messages, etc. The server then retrieves unread emails from the mail server using the IMAP protocol, using the Python imaplib library.
[0858] Next, the server analyzes the acquired communication data. Specifically, it uses the Python email module to extract the email header information (recipient, number of senders, etc.). This makes it possible to clarify the recipient and number of senders of the communication.
[0859] The server then extracts competency-related keywords from the body of the communication using natural language processing libraries such as nltk and spaCy, thereby clarifying the skills, knowledge, and experience possessed by the employee.
[0860] Next, the server assigns weights to the extracted capabilities. If the communication is addressed to a superior or an important project member, a higher weight is assigned to that capability. Also, if a large number of people are sending the message, the recognition of that capability is also highly evaluated. This process is performed using the Python pandas library.
[0861] Finally, the server saves the weighting results in a database and notifies the user. This process uses SQLAlchemy, a database connection library, and smtplib, a library for sending emails for notifications.
[0862] Examples:
[0863] A user sends a progress report email to his / her boss and project members. This email includes project management skills and technical skills. In this case, the server recognizes that the email is being sent to the boss and important project members, and assigns a high weight to these skills. In addition, if a large number of people send the email, the recognition of that skill is also highly evaluated.
[0864] Example prompt sentence:
[0865] "I sent a project progress report email to my boss and project members. This email includes project management skills and technical skills. Please weight these skills."
[0866] In this way, the server weights employees' abilities based on the destination and number of people they send messages to, and provides the results to the user. This system makes it possible to accurately evaluate employees' abilities and introduce them appropriately.
[0867] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0868] Step 1:
[0869] The server logs in to the user's email account and retrieves unread emails using the IMAP protocol. The input is the user's email account information (username, password), and the output is the unread email data. Specifically, the server connects to the IMAP server, logs in using the user's authentication information, and searches for and retrieves unread emails.
[0870] Step 2:
[0871] The server analyzes the retrieved unread email data and extracts the email header information (recipient, number of senders, etc.). The input is the unread email data, and the output is the recipient and number of senders. Specifically, the server uses the Python email module to analyze the email data and extract the header information.
[0872] Step 3:
[0873] The server extracts keywords related to abilities from the email body. The input is the email body data, and the output is the extracted keywords. Specifically, the server uses natural language processing libraries such as nltk and spaCy to analyze the email body and extract keywords related to abilities.
[0874] Step 4:
[0875] The server assigns weights to the extracted capabilities. The input is the extracted keywords, the email recipients, and the number of recipients, and the output is a list of weighted capabilities. Specifically, the server uses the Python pandas library to assign a higher weight if the email recipient is a superior or an important project member, and to highly evaluate the recognition of the capability if the number of recipients is large.
[0876] Step 5:
[0877] The server saves the weighting results in a database and notifies the user. The input is a list of weighted abilities, and the output is the results saved in the database and the results of sending notifications. Specifically, the server saves the results in a database using SQLAlchemy, a database connection library, and sends a notification email to the user using smtplib, a notification email sending library.
[0878] (Application example 2)
[0879] Next, a description will be given of Application Example 2 of Form 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."
[0880] With conventional systems, it was difficult to properly evaluate and weight employee skills. Furthermore, when it came to managing the skills of machines used in factories, there was no way to weight skills based on the recipients or number of people sending emails, making efficient skill management difficult. This meant that the skills of employees and machines could not be properly evaluated and managed, hindering productivity improvements.
[0881] 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.
[0882] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of people to whom emails are sent, means for focusing on characteristic terms frequently used by the employee within the company or department, and means for managing the skills of machines used in the factory and weighting skills based on email recipients and the number of people to whom emails are sent. This makes it possible to appropriately evaluate the skills of employees and machines and manage them efficiently.
[0883] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[0884] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[0885] An "introduction" is a piece of writing that explains and introduces a particular person or thing to others.
[0886] A "mail destination" is a person to whom an email is sent.
[0887] The "number of recipients" refers to the number of recipients to whom the email is sent.
[0888] "Weighting" means assigning importance or priority to a particular element.
[0889] "Distinctive terms" are words or phrases that are uniquely used by a particular person or department.
[0890] "Machinery used in factories" refers to devices and robots used on factory production lines and in workshops.
[0891] "Skills management" is the process of evaluating, recording, and appropriately managing the skills of specific people or machines.
[0892] A system for carrying out this invention has the following configuration: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of recipients, means for focusing on characteristic terms frequently used by the employee within the company or department, and means for managing the skills of machines used within a factory and weighting skills based on email recipients and the number of recipients.
[0893] Program processing explanation
[0894] The server runs a Python program that assigns skill weights based on the recipient and number of recipients. The program does the following:
[0895] 1. Skill Extraction
[0896] The server uses natural language processing technology to extract skills from employees' emails and documents. Specifically, it uses a generative AI model to identify and list skills from the email body.
[0897] 2. Skill Weighting
[0898] The server weights skills based on the recipient and the number of people who sent the email. Skills included in emails sent to important recipients (e.g., your boss or project leader) are weighted higher, and skills included in emails sent to many people are weighted higher.
[0899] 3. Focus on distinctive terms
[0900] The server focuses on the characteristic terms that an employee frequently uses within a company or department, and uses this information to evaluate the employee's expertise and suitability for a particular job.
[0901] 4. Machine Skill Management
[0902] The server manages the skills of the machines used in the factory and weights the skills based on the recipients and number of people sending emails, allowing for the appropriate evaluation and management of the skills required for machine maintenance and operation.
[0903] Hardware and software used
[0904] Hardware: Servers, smartphones, PCs
[0905] Software: Python, SMTP server (e.g., smtp.example.com), generative AI model
[0906] Specific examples
[0907] For example, if a robot needs maintenance in a factory, the maintenance person sends an email to their supervisor or project leader. This email lists the skills required for maintenance. The system analyzes the email and assigns a weight to the skills.
[0908] Prompt Sentence Examples
[0909] "I sent an email to my boss and project leader about robot maintenance. This email lists maintenance and operation skills. Please weight the skills."
[0910] In this way, the skills of employees and machines can be properly assessed and efficiently managed.
[0911] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0912] Step 1:
[0913] The server receives emails sent by users. The input includes the email body, recipients, and number of recipients. The server analyzes the email body and extracts skills using natural language processing technology. Specifically, it uses a generative AI model to identify and list skills from the email body. The output is a list of extracted skills.
[0914] Step 2:
[0915] The server weights skills based on the email recipients and the number of recipients. The inputs include the extracted skill list, the email recipients, and the number of recipients. The server assigns a higher weight to skills included in emails sent to important recipients (e.g., superiors or project leaders), and also assigns a higher weight to skills included in emails sent to many people. The output is a list of weighted skills.
[0916] Step 3:
[0917] The server focuses on the characteristic terms frequently used by employees within a company or department. The input includes the employee's past emails and documents. The server analyzes these documents using natural language processing techniques to identify frequently used terms. The output is a list of characteristic terms.
[0918] Step 4:
[0919] The server manages the skills of machines used in the factory. The input includes the body of emails about machine maintenance and operation, their destinations, and the number of people who sent them. The server analyzes the email body, extracts skills using natural language processing technology, and weights the skills based on the destination and number of people who sent them. The output is a list of weighted machine skills.
[0920] Step 5:
[0921] The server evaluates and manages the skills of employees and machines based on a list of weighted skills. The input includes a list of weighted skills. The server stores these skills in a database, retrieving and updating them as needed. The output is the latest skill evaluation information.
[0922] In this way, the server can properly evaluate the skills of employees and machines and manage them efficiently.
[0923] Example 3
[0924] Next, a description will be given of Example 3 of Form Example 3. 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."
[0925] Conventional employee competency evaluation systems have the problem of making it difficult to accurately grasp the specialized skills and knowledge of employees. Extracting competencies from employee communication data and documents also requires manual analysis, which is time-consuming and labor-intensive. Furthermore, there was a lack of a way to evaluate competencies based on characteristic terms frequently used by employees, making it impossible to accurately evaluate employee skills and knowledge.
[0926] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0927] In this invention, the server includes means for collecting communication data, means for preprocessing the collected communication data, means for extracting terms from the preprocessed data, means for evaluating employee capabilities based on the extracted terms, and means for displaying the evaluation results. This makes it possible to automatically extract capabilities from employee communication data and documents and accurately evaluate capabilities based on frequently used characteristic terms.
[0928] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0929] "Communication data" refers to text data generated through digital communication tools such as email, chat, and messaging applications that employees use on a daily basis.
[0930] "Ability" refers to the specialized skills and knowledge that employees possess.
[0931] An "Introduction" is an automatically generated text that describes an employee's abilities and characteristics.
[0932] "Weighting" is the process of numerically assessing the importance of a particular element.
[0933] "Characteristic terms" are technical terms or keywords that an employee uses more frequently than other employees.
[0934] "Means of collection" refers to the methods and technologies used to obtain communication data.
[0935] The "preprocessing means" is a process of removing unnecessary information from the collected communication data and converting it into an analyzable format.
[0936] "Term extraction means" refers to a technique for identifying frequently used technical terms and keywords from pre-processed data.
[0937] The "measure of evaluation" is the process of numerically evaluating employees' abilities based on the extracted terms.
[0938] "Display means" refers to methods and techniques for visually displaying the evaluation results.
[0939] MODE FOR CARRYING OUT THE INVENTION
[0940] This invention is a system that extracts capabilities from employee communication data and documents and accurately evaluates capabilities based on frequently used characteristic terms. A specific embodiment of this system is described below.
[0941] Data collection
[0942] The server collects text data from communication tools (e.g., email, chat, messaging applications) that employees use on a daily basis. Specifically, the server uses APIs to retrieve messages from specific channels and mailboxes. For example, the server uses the Slack API to retrieve messages from the "general" channel for the past month.
[0943] Data Preprocessing
[0944] The server cleanses the collected text data and removes unnecessary information. Specifically, it uses the Python library "BeautifulSoup" to remove HTML tags and regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[0945] Term Extraction
[0946] The server uses natural language processing technology to extract frequently used terms from text data. Specifically, it uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to analyze the text and extract nouns (NOUN) and proper nouns (PROPN).
[0947] Term Evaluation
[0948] The server evaluates each employee's distinctive skills and knowledge based on the extracted terms. Specifically, it tallies the frequency of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[0949] Displaying the results
[0950] The terminal displays the evaluation results in the form of a dashboard or report. Specifically, "React" is used as the front end of the web application to display the evaluation results in graphs and tables. For example, the skill evaluation of each employee can be displayed in a bar graph, allowing each employee's skill set to be visually confirmed.
[0951] Examples and prompts
[0952] Examples:
[0953] Employee A uses the term "machine learning" 50 times per month.
[0954] Employee B uses the term "deep learning" 30 times per month.
[0955] Example prompt sentence:
[0956] "Analyze the terms frequently used by employee A and evaluate their skills and knowledge."
[0957] "Create a program that extracts frequently used terms from Slack message logs and evaluates employee skills."
[0958] This system is useful for formulating appropriate personnel allocation and training plans by quantitatively evaluating the skills and knowledge of employees. The flow of the identification process in the third embodiment will be described with reference to FIG.
[0959] Step 1:
[0960] Data collection
[0961] The server collects text data from the communication tools employees use on a daily basis. It receives authentication information such as API keys and channel IDs as input and generates the retrieved message data as output. Specifically, the server uses the Slack API to retrieve messages from the "general" channel for the past month. For example, it calls the conversations.history endpoint of the Slack API to retrieve message data in JSON format.
[0962] Step 2:
[0963] Data Preprocessing
[0964] The server cleanses the collected text data and removes unnecessary information. It receives the collected raw data as input and generates cleansed text data as output. Specifically, the server uses the Python library "BeautifulSoup" to remove HTML tags and uses regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[0965] Step 3:
[0966] Term Extraction
[0967] The server uses natural language processing techniques to extract frequently used terms from text data. It receives preprocessed text data as input and generates a list of extracted terms as output. Specifically, the server uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to parse the text and extract nouns (NOUN) and proper nouns (PROPN).
[0968] Step 4:
[0969] Term Evaluation
[0970] The server evaluates each employee's characteristic skills and knowledge based on the extracted terms. It receives the extracted term list as input and generates the evaluation results as output. Specifically, the server aggregates the frequency of occurrence of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[0971] Step 5:
[0972] Displaying the results
[0973] The terminal displays the evaluation results in the form of a dashboard or report. It receives the evaluation result data as input and generates a visual display as output. Specifically, the terminal uses "React" as the front end of the web application and displays the evaluation results in graphs and tables. For example, it can display each employee's skill evaluation in a bar graph, allowing users to visually check each employee's skill set.
[0974] (Application example 3)
[0975] Next, a description will be given of Application Example 3 of Form Example 3. 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."
[0976] With the previous system, it was difficult to accurately evaluate employee skills and knowledge and assign appropriate tasks. Also, real-time skill evaluation and task assignment using voice recognition technology was not performed, so improvements in work efficiency could not be expected.
[0977] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes: means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions; means for weighting skills based on the email recipients and the number of recipients; means for focusing on characteristic terms frequently used by the employee within the company or department; means for converting the worker's speech into text in real time using speech recognition technology; means for extracting frequently used terms from the converted text; means for evaluating the worker's skills and knowledge based on the extracted terms; and means for automatically assigning appropriate tasks based on the evaluation results. This makes it possible to accurately evaluate employee skills and knowledge and assign appropriate tasks in real time.
[0978] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[0979] "Skill extraction" is the process of identifying and extracting specific skills and knowledge from text data.
[0980] "Testimonial generation" is the process of automatically generating a document that describes an employee's profile and capabilities based on the extracted skills and knowledge.
[0981] "Skill weighting" is the process of assessing the importance of specific skills or knowledge and assigning them a numerical weight.
[0982] "Characteristic terms" are technical terms or keywords that are used more frequently by certain employees than by other employees.
[0983] "Speech recognition technology" is a technology that converts voice data into text data.
[0984] "Real-time" means that data processing and analysis are done immediately.
[0985] "Text conversion" is the process of converting audio data into text data.
[0986] "Skills assessment" is the process of evaluating employees' skills and knowledge based on extracted terms and data.
[0987] "Work allocation" is the process of automatically assigning appropriate work or tasks based on assessed skills and knowledge.
[0988] A system for carrying out the present invention has the following configuration: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for converting the worker's speech into text in real time using speech recognition technology, means for extracting frequently used terms from the converted text, means for evaluating the worker's skills and knowledge based on the extracted terms, and means for automatically assigning appropriate work based on the evaluation results.
[0989] Hardware and software used
[0990] Hardware: Microphone (for audio input)
[0991] Software: speech_recognition library (for speech recognition), sklearn library (for text analysis and skill evaluation)
[0992] Processing flow
[0993] 1. Speech Recognition: Recognizes what the worker is saying in real time. The microphone is used to capture the voice data and convert it into text using the speech_recognition library.
[0994] 2. Text analysis: Analyze the converted text and extract frequently used terms. Use CountVectorizer from the sklearn library to extract characteristic terms from the text.
[0995] 3. Skills assessment: Evaluate the skills and knowledge of workers based on the extracted terms. Check against the skills dictionary to assess the appropriate skills.
[0996] 4. Work Allocation: Automatically assign appropriate work based on the assessment results. Use a rules-based system to assign work that corresponds to skills.
[0997] Specific examples
[0998] For example, if a worker says, "Today I trained a machine learning model," the system will extract the term "machine learning," assess the worker as having machine learning skills, and assign "data analysis" as the next task.
[0999] Prompt Sentence Examples
[1000] Example prompts to be input to the generative AI model:
[1001] Extract frequently used terms from the text below, assess skills accordingly, and assign appropriate tasks.
[1002] Text: "Today we trained a machine learning model. Next we will prepare a dataset for deep learning."
[1003] Output format:
[1004] Extracted terms: ["machine learning", "deep learning"]
[1005] Skills assessed: ["Machine Learning", "Deep Learning"]
[1006] Assigned tasks: ["Data analysis", "Model training"]
[1007] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[1008] Step 1:
[1009] The server uses a microphone to acquire the voice data of the worker. The voice data is used to capture what the worker is saying in real time. The input is the voice data, and the output is a stream of voice data.
[1010] Step 2:
[1011] The server converts the acquired voice data into text data using the speech_recognition library. Using speech recognition technology, the voice data is converted into text data. The input is a stream of voice data, and the output is text data.
[1012] Step 3:
[1013] The server analyzes the converted text data using the CountVectorizer library from the sklearn library to extract frequently used terms. It vectorizes the text data and extracts characteristic terms. The input is the text data, and the output is a list of extracted terms.
[1014] Step 4:
[1015] The server compares the extracted terms with a skill dictionary to evaluate the worker's skills and knowledge. The skill dictionary contains specific terms and their corresponding skills. The input is a list of extracted terms, and the output is a list of evaluated skills.
[1016] Step 5:
[1017] The server automatically assigns appropriate work based on the assessed skills. It uses a rule-based system to assign work corresponding to skills. The input is a list of assessed skills, and the output is a list of assigned work.
[1018] Step 6:
[1019] The server notifies the worker of the assigned work. The notification is sent to the worker's terminal. The input is a list of assigned work, and the output is the notification to the worker.
[1020] 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.
[1021] "Example 1"
[1022] As one embodiment of the present invention, a system incorporating an emotion engine is provided. This system includes a means for extracting skills from an employee's emails and documents and automatically creating an introduction, a means for weighting skills based on the recipients and number of recipients of emails, and a means for focusing on characteristic terms frequently used by the employee within the company or department. Furthermore, this system incorporates an emotion engine that recognizes the user's emotions.
[1023] "Example 2"
[1024] The emotion engine analyzes emotions from the text of employees' emails and documents. The results of this analysis are used as part of skill extraction and weighting. For example, if there are many emails that suggest an employee is enthusiastic about their work, that employee's skills will be weighted higher. On the other hand, if there are many emails that suggest an employee is facing difficulties, that employee may be offered an opportunity to learn a new skill.
[1025] "Example 3"
[1026] Furthermore, the emotion engine understands the emotional state of employees and adjusts the weighting of skills based on that emotional state. For example, if an employee is optimistic about their work, their skills will be weighted higher. On the other hand, if an employee is pessimistic about their work, their skills will be weighted lower. This makes it possible to evaluate skills taking into account the emotional state of employees.
[1027] The processing flow of each embodiment will be described below.
[1028] "Example 1"
[1029] Step 1: The system collects text from employees' emails and documents.
[1030] Step 2: Extract skills from the collected text.
[1031] Step 3: Automatically create a description based on the extracted skills.
[1032] Step 4: Weight skills based on who you're sending the email to and how many people you're sending it to.
[1033] Step 5: Focus on the characteristic terms that the employee frequently uses within the company or department. Step 6: Use the emotion engine to analyze emotions from the text of the employee's emails and documents.
[1034] "Example 2"
[1035] Step 1: The emotion engine analyzes emotions from the text of employees' emails and documents.
[1036] Step 2: The analysis results are used as part of skill extraction and weighting.
[1037] Step 3: Adjust skill weighting based on the employee's emotional state.
[1038] "Example 3"
[1039] Step 1: The emotion engine captures the employee's emotional state.
[1040] Step 2: Adjust skill weighting based on emotional state.
[1041] Step 3: It becomes possible to evaluate skills taking into account the employee's emotional state.
[1042] Example 1
[1043] Next, a description will be given of Example 1 of Form 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."
[1044] Conventional employee performance evaluation systems require manual data collection and analysis, which is time-consuming and labor-intensive. Furthermore, it is difficult to evaluate employees' emotions and frequently used terms, making it difficult to accurately evaluate their abilities.
[1045] The identification process by the identification processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means. In this invention, the server includes a means for extracting capabilities from the employee's communications and documents using natural language processing technology and automatically creating a description, a means for weighting the capabilities based on the destination and number of recipients of the communications, a means for focusing on characteristic terms frequently used by the employee within the organization or department, and a means for combining an emotion engine that recognizes the user's emotions. This makes it possible to accurately and efficiently evaluate the capabilities of employees and automatically create a description that takes into account their emotions and frequently used terms.
[1046] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1047] "Employee" refers to an individual who belongs to an organization and performs work.
[1048] "Communication" refers to the means of conveying information, such as email or messaging.
[1049] "Document" means a file or document containing information recorded in text format.
[1050] "Ability" refers to the skills, knowledge, and experience that employees possess.
[1051] "Testimonials" refer to automatically generated text that describes an employee's abilities and achievements.
[1052] "Weighting" refers to the process of numerically assessing the importance of a particular factor.
[1053] "Characteristic terms" refer to technical terms or keywords that certain employees use more frequently than other employees.
[1054] An "emotion engine" refers to technology that analyzes user emotions from text data and recognizes emotions such as positive, negative, and neutral.
[1055] A "generative AI model" refers to a model that uses artificial intelligence to generate natural-sounding sentences.
[1056] MODE FOR CARRYING OUT THE INVENTION
[1057] The present invention relates to a system for extracting capabilities from employee communications and documents and automatically creating introductions. A specific embodiment of this system will be described below.
[1058] System Overview
[1059] The server uses natural language processing technology to extract competencies from employee communications and documents and automatically create a profile. The system weights competencies based on the recipients and number of recipients of communications, and focuses on characteristic terms frequently used by the employee within the organization or department. It also incorporates an emotion engine that recognizes the user's emotions.
[1060] Hardware and software used
[1061] The server uses the following hardware and software:
[1062] Hardware: High-performance server machine (CPU, memory, storage)
[1063] Software: Natural language processing libraries (NLTK, spaCy), generative AI models (GPT-3), sentiment analysis API
[1064] Data collection
[1065] The server collects employee communications and documents, specifically data from email services (e.g., Microsoft Outlook, Google Workspace) and word processing software (e.g., Microsoft Word, Google Docs).
[1066] Data analysis
[1067] The server analyzes the collected data, using natural language processing (NLP) techniques to tokenize the text data and perform grammatical and semantic analysis. For example, it uses a NLP library such as NLTK or spaCy.
[1068] Ability Extraction
[1069] The server extracts capabilities from the analysis results. Specifically, it extracts nouns and verbs from the text and determines whether they correspond to capabilities or knowledge. For example, it extracts keywords such as "Python" and "data analysis."
[1070] Ability Weighting
[1071] The server weights capabilities based on the destination and number of people sending the communication. For example, it might weight capabilities that are frequently used in communications sent to a particular project team highly. It might also look at distinctive terms frequently used within an organization or department.
[1072] Writing an introduction
[1073] The server creates an introduction based on the extracted abilities. It uses a generative AI model to generate natural-sounding sentences. Specifically, it uses a generative AI model such as GPT-3.
[1074] emotion recognition
[1075] The server uses an emotion engine to analyze the user's emotions. For example, it analyzes the content of emails and documents to determine positive, negative, neutral, and other emotions, and reflects these in the introduction. It analyzes emotions using an emotion analysis API.
[1076] Examples and prompts
[1077] As a concrete example, the following prompt sentence is input to the generative AI model:
[1078] Example prompt sentence:
[1079] "Extract competencies from employee correspondence and documents and automatically generate testimonials. Weight competencies based on who the correspondence is sent to and to whom. Also, pay attention to distinctive terms frequently used within an organization or department. Also, recognize user sentiment and reflect it in the testimonials."
[1080] Examples:
[1081] Content of communications sent by users:
[1082] "I'd like to report on the progress of Project X. We are currently in the data analysis phase and are using Python and R to process the data. Communication with team members is also progressing smoothly, and my skills, especially in data visualization, are improving."
[1083] The server extracts the following capabilities from this communication:
[1084] Data analysis
[1085] Python
[1086] R
[1087] Data Visualization
[1088] Team Communication
[1089] It then automatically generates an intro like this:
[1090] "This employee is in charge of the data analysis phase of Project X, and processes data using Python and R. He is also communicating smoothly with team members and has improved his skills, especially in data visualization."
[1091] If the emotion engine recognizes a positive emotion from the user, it will reflect that emotion in the testimonial:
[1092] "This employee is in charge of the data analysis phase of Project X, processing data using Python and R. He communicates smoothly with team members and has improved his skills, especially in data visualization. His positive attitude has greatly contributed to the success of the project."
[1093] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1094] Step 1: Data collection
[1095] The server collects employee communications and documents. Specifically, it retrieves data from email services (e.g., Microsoft Outlook, Google Workspace) and word processing software (e.g., Microsoft Word, Google Docs). The input is employee emails and document data, and the output is the collected raw data. The server periodically accesses these services and downloads new data.
[1096] Step 2: Data analysis
[1097] The server analyzes the collected data. It uses natural language processing technology to tokenize the text data and perform grammatical and semantic analysis. Specifically, it uses natural language processing libraries such as NLTK and spaCy. The input is the collected raw data, and the output is analyzed text data. The server breaks the text down into words and phrases and identifies the parts of speech for each.
[1098] Step 3: Ability Extraction
[1099] The server extracts abilities from the analysis results. Specifically, it extracts nouns and verbs from the text and determines whether they correspond to abilities or knowledge. The input is the analyzed text data, and the output is a list of extracted abilities. The server compares the results with a predefined skill list to identify applicable skills.
[1100] Step 4: Weighting the Capabilities
[1101] The server weights capabilities based on the destination and number of people sending the communication. For example, a capability that is frequently used in communications sent to a specific project team is weighted higher. It also focuses on characteristic terms that are frequently used within an organization or department. The input is the extracted capability list and communication metadata, and the output is a weighted capability list. The server then numerically evaluates the importance of each capability.
[1102] Step 5: Write a testimonial
[1103] The server creates an introduction based on the extracted capabilities. A generative AI model is used to generate natural-sounding sentences. Specifically, a generative AI model such as GPT-3 is used. The input is a weighted list of capabilities, and the output is the generated introduction. The server inputs the list of capabilities as a prompt into the generative AI model to generate the introduction.
[1104] Step 6: Emotion Recognition
[1105] The server uses an emotion engine to analyze the user's emotions. For example, it analyzes emotions such as positive, negative, and neutral from the content of emails and documents and reflects them in the introductory text. The input is the introductory text and the user's emotion data, and the output is the final introductory text that reflects the emotion. The server analyzes emotions using an emotion analysis API and reflects the results in the introductory text.
[1106] (Application example 1)
[1107] Next, a description will be given of Application Example 1 of Form 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."
[1108] Conventional systems have had the problem of being unable to accurately grasp employee skills and assign appropriate tasks. Furthermore, tasks are assigned without taking into account the employee's emotional state, which can lead to reduced work efficiency. Furthermore, when extracting skills from employees' emails and documents, the system is unable to focus on frequently used characteristic terms, resulting in insufficient weighting of skills. To solve these issues, a system is needed that can accurately grasp an employee's skills and emotional state and assign optimal tasks.
[1109] 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.
[1110] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for recognizing the emotional state of the worker and assigning optimal work, and means for automatically assigning work based on the extracted skills and emotional state. This makes it possible to accurately grasp the skills and emotional state of employees and assign optimal work.
[1111] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[1112] "Skills" are the knowledge and abilities required to carry out a specific job or task.
[1113] A testimonial is a piece of writing that conveys a person's skills and experience to others.
[1114] "Weighting" means assigning importance or priority to a particular element.
[1115] "Distinctive terms" are words or phrases that a particular person uses more frequently than other people.
[1116] An "emotional state" refers to the emotional state that a particular person is feeling.
[1117] "Work assignment" means assigning appropriate tasks or works to specific people.
[1118] "Generative AI" is a type of natural language processing technology, an artificial intelligence technology that generates and converts text.
[1119] A system for implementing this invention is configured as follows: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for recognizing the emotional state of the worker and assigning optimal tasks, and means for automatically assigning tasks based on the extracted skills and emotional state.
[1120] Hardware and software used
[1121] Hardware: Servers, factory robots, worker devices
[1122] Software: Python, spaCy (natural language processing library), Transformers (emotion recognition library)
[1123] Data processing and calculation
[1124] The server first obtains text data from workers' emails and reports. Next, it uses natural language processing technology to analyze the text data and extract skills. Specifically, it uses spaCy to analyze the text and extract entities related to skills. It then uses a Transformers emotion recognition model to recognize emotional states from the text. Emotions are classified as "positive" or "negative."
[1125] Based on the extracted skills and emotional state, the server assigns optimal tasks. For example, if the emotional state is positive, it assigns important tasks, and if the emotional state is negative, it assigns less demanding tasks.
[1126] Specific examples
[1127] Email content: "I have experience in welding and assembly."
[1128] Emotional state: "POSITIVE"
[1129] Assigned work: "Assign to welding task"
[1130] Prompt Sentence Examples
[1131] Extract skills from the email content below, recognize the emotional state, and assign appropriate tasks.
[1132] Email content: "I have experience in welding and assembly."
[1133] Emotional state: "POSITIVE"
[1134] In this way, the server can accurately grasp the skills and emotional state of the workers and assign them the most appropriate tasks.
[1135] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1136] Step 1:
[1137] The server acquires the text data of workers' emails and reports.
[1138] Input: Text data of workers' emails and reports
[1139] Output: The retrieved text data
[1140] Specific operation: The server collects text data such as emails and reports from the workers' terminals and stores it in a database.
[1141] Step 2:
[1142] The server analyzes the text data using natural language processing technology and extracts skills.
[1143] Input: Obtained text data
[1144] Output: A list of extracted skills
[1145] What happens: The server uses spaCy to parse the text data and extract entities related to skills, for example, skills such as "welding" and "assembly."
[1146] Step 3:
[1147] The server uses Transformers emotion recognition models to recognize emotional states from text.
[1148] Input: Obtained text data
[1149] Output: Perceived emotional state (e.g., POSITIVE, NEGATIVE)
[1150] How it works: The server uses Transformers emotion recognition models to classify emotional states from text data, for example recognizing "NEGATIVE" from the text "I am feeling stressed today."
[1151] Step 4:
[1152] The server weights skills based on the recipient and number of people sending the email.
[1153] Input: List of extracted skills, email recipients, and number of recipients
[1154] Output: A list of weighted skills
[1155] Specific operation: The server calculates the importance of each skill based on the information of the recipients and the number of people who sent the email, and assigns a weight to it. For example, skills included in emails sent to many people will be weighted higher.
[1156] Step 5:
[1157] The server focuses on characteristic terms that are frequently used by employees within a company or department.
[1158] Input: Obtained text data
[1159] Output: A list of characteristic terms
[1160] What it does: The server analyzes the text data and identifies terms that are frequently used compared to other employees, such as "efficiency" and "optimization."
[1161] Step 6:
[1162] The server assigns optimal tasks based on the extracted skills and emotional state.
[1163] Input: A list of weighted skills, a perceived emotional state, and a list of characteristic terms
[1164] Output: Work to be assigned
[1165] Specific operation: The server assigns the most suitable task to the worker based on the extracted skills and emotional state. For example, a worker with a positive emotional state and the skill "welding" is assigned welding work.
[1166] In this way, the server can accurately grasp the skills and emotional state of the workers and assign them the most appropriate tasks.
[1167] Example 2
[1168] Next, a description will be given of Example 2 of Form 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."
[1169] Conventional skill evaluation systems lacked sufficient data collection and analysis to accurately evaluate employee skills, and did not take into account the recipients and number of recipients of electronic messages, nor did they take into account sentiment analysis. As a result, employee skill evaluations were inaccurate, making it difficult to provide appropriate feedback or opportunities for skill improvement. Furthermore, skill evaluations were not based on characteristic terms frequently used by employees, making it difficult to fully grasp employees' expertise and characteristics.
[1170] 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.
[1171] In this invention, the server includes means for extracting skills from employees' electronic messages and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of electronic messages, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of electronic messages and documents using emotion analysis technology and reflecting the results in skill evaluations, and means for displaying the analysis results and receiving feedback. This makes it possible to more accurately evaluate employees' skills and provide appropriate feedback and opportunities for skill improvement.
[1172] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1173] An "electronic message" is a message sent or received in digital form, such as an email or chat message.
[1174] "Document" means a file or paper containing information recorded in text format.
[1175] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[1176] An "introduction" is a piece of text that describes a specific person and their skills.
[1177] A "destination" is someone to whom an electronic message is sent.
[1178] "Number of recipients" means the number of recipients to whom an electronic message is sent.
[1179] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[1180] "Intra-company" is a term that refers to the interior of a particular company.
[1181] "Intradepartmental" is a term that refers to the interior of a particular department.
[1182] A "distinctive term" is a particular word or phrase that is used more frequently by a particular person or group than by others.
[1183] "Emotion analysis technology" is a technology that automatically analyzes emotions and the intensity of emotions from text data.
[1184] "Analysis results" refers to the information and conclusions obtained as a result of data analysis.
[1185] "Feedback" is the evaluation or opinion given in response to a particular action or result.
[1186] This invention is a system that extracts skills from employees' electronic messages and documents, weights the skills, and evaluates the skills through emotion analysis. A specific embodiment of this system is described below.
[1187] System configuration
[1188] This system consists of three main components: a server, a terminal, and a user.
[1189] Server Roles
[1190] The server first collects electronic message data. Specifically, it retrieves data from email servers (e.g., Microsoft Exchange Server or Gmail API). Next, it uses natural language processing techniques to extract skills from electronic messages and documents. This process uses Python's NLTK and spaCy libraries.
[1191] The server analyzes the recipients and number of recipients of electronic messages and weights the skills accordingly. For example, if the recipient is a superior or a member of an important project, the skill is evaluated as important. If the recipient is a large number of people, the skill is evaluated as widely recognized.
[1192] The server then uses sentiment analysis technology to analyze emotions from the text of electronic messages and documents. This analysis is performed using Google Cloud Natural Language API and IBM Watson Natural Language Understanding. The analysis results are reflected in skill evaluations. For example, if an employee receives many electronic messages that suggest they are enthusiastic about their work, their skills will be weighted higher.
[1193] Device Role
[1194] The device receives the skill weighting results sent from the server. The user can check the skill evaluation results through a dedicated dashboard application. This dashboard application is a web application built with React and Angular.
[1195] User Roles
[1196] Users can use the dashboard application to view their skill assessment results and, if desired, send feedback about their skill weightings to the server.
[1197] Specific examples
[1198] For example, if employee A sends an electronic message to his / her boss that includes a "project progress report" and a "new proposal," this electronic message will be evaluated as an important skill. Also, if employee B sends an electronic message to all employees that includes a "new tool usage" message, this skill will be evaluated as widely recognized.
[1199] As a result of the sentiment analysis, it is found that the electronic messages of Employee C contain a lot of emotions such as "facing difficulties." In this case, it may be possible to offer Employee C an opportunity to learn a new skill.
[1200] Prompt Sentence Examples
[1201] "Please create a program that analyzes employees' electronic message data and assigns skill weights based on the recipient and the number of recipients. Also, please use sentiment analysis technology to analyze the sentiment of the electronic messages and reflect the results in the skill evaluation."
[1202] The above is a specific embodiment for carrying out the present invention.
[1203] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1204] Step 1:
[1205] The server collects electronic message data. As input, it retrieves employee electronic messages from a mail server (e.g., Microsoft Exchange Server or Gmail API). As output, it stores the collected electronic message data. Specifically, the server accesses the mail server through the API and retrieves electronic messages within a specified period.
[1206] Step 2:
[1207] The server parses the collected electronic message data. It uses the collected electronic message data as input and generates parsed skill information as output. Specifically, the server uses Python's NLTK and spaCy libraries to parse the content of the electronic messages and extract keywords and phrases related to skills.
[1208] Step 3:
[1209] The server analyzes the destination and number of people who have sent an electronic message. As input, it uses the metadata of the electronic message (destination, number of people who have sent it). As output, it generates skill weighting information. Specifically, if the destination of the electronic message is a superior or a member of an important project, the server assigns a high weight to the skill. Also, if the number of people who have sent it is large, it evaluates the skill as being widely recognized and assigns a weight to it.
[1210] Step 4:
[1211] The server uses sentiment analysis technology to analyze sentiment from the text of electronic messages and documents. It uses the text data of electronic messages as input and generates sentiment analysis results as output. Specifically, the server uses Google Cloud Natural Language API and IBM Watson Natural Language Understanding to analyze the sentiment of electronic messages and calculate sentiment scores.
[1212] Step 5:
[1213] The server reflects the sentiment analysis results in the skill evaluation. It uses the sentiment analysis results and skill weighting information as inputs and generates the final skill evaluation results as output. Specifically, if the sentiment score is high, the server assigns additional weight to that skill. For example, if there are many electronic messages that suggest that an employee is enthusiastic about their work, it assigns a higher weight to that skill.
[1214] Step 6:
[1215] The device receives the skill weighting results sent from the server. As input, it uses the skill evaluation results sent from the server. As output, it generates data to display to the user. Specifically, the device displays the skill evaluation results through a dedicated dashboard application.
[1216] Step 7:
[1217] The user uses the dashboard application to check the results of their own skill evaluation. The skill evaluation results displayed on the terminal are used as input. As output, feedback is sent to the server as needed. Specifically, the user checks the evaluation results and sends their opinions or correction requests to the server through a feedback form.
[1218] The above is the specific flow of the program processing of this system.
[1219] (Application example 2)
[1220] Next, a description will be given of Application Example 2 of Form 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."
[1221] Conventional skill evaluation systems make it difficult to accurately evaluate employee skills, and do not take into account emotions or communication content in skill evaluations. Furthermore, they are unable to properly evaluate the skills of factory workers or provide opportunities to learn new skills as needed. This makes it difficult to improve work efficiency and promote employee growth.
[1222] 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.
[1223] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of employee emails and documents using an emotion engine and reflecting these in skill evaluations, and means for analyzing communication within the factory and weighting the skills of each worker. This makes it possible to accurately evaluate the skills of employees and workers and provide opportunities to learn new skills as needed.
[1224] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[1225] "Skill extraction" is the process of identifying and extracting specific abilities and knowledge from text data.
[1226] An "introduction" is a piece of text that describes a specific person and their skills.
[1227] A "mail destination" is a person to whom an email is sent.
[1228] "Number of recipients" is the number of recipients to whom the email is sent.
[1229] "Skill weighting" refers to evaluating the importance and impact of specific skills and expressing them numerically.
[1230] "Distinctive terms" are distinctive words or phrases that are frequently used by a particular person or group.
[1231] An "emotion engine" is software that analyzes emotions from text data and evaluates the emotional state.
[1232] "Text emotion analysis" is the process of identifying emotions from the content of a sentence or document and assessing the type and intensity of those emotions.
[1233] "Skills assessment" is the evaluation of the importance and effectiveness of specific skills or abilities.
[1234] "Communication within the factory" refers to the exchange of information and communication between workers within the factory.
[1235] "Workers" are people who work in factories or on work sites.
[1236] A system for carrying out the present invention is configured as follows: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing emotions from the text of employee emails and documents using an emotion engine and reflecting this in skill evaluations, and means for analyzing communication within the factory and weighting the skills of each worker.
[1237] The server uses software such as Python, TextBlob, and scikit-learn to analyze the content of emails and weight skills using TF-IDF. It also performs sentiment analysis using TextBlob. This allows skill weighting based on the recipients and number of recipients of the email, and the results of the sentiment analysis can be reflected in the skill evaluation.
[1238] For example, if Worker A emails saying, "I'm very excited about the new project," that worker's "Project Management" skill will be weighted highly, while if Worker B emails saying, "I'm struggling with this task," that worker will be offered an opportunity to learn the "Task Management" skill.
[1239] Examples of prompts using generative AI models include:
[1240] Conduct a skills assessment of a worker who states, "I'm very excited about new projects," and weight project management skills highly.
[1241] This system makes it possible to accurately evaluate the skills of employees and workers and provide opportunities to learn new skills as needed, thereby improving work efficiency and promoting employee growth.
[1242] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1243] Step 1:
[1244] The server collects employees' emails and documents. As input, it receives the text data of employees' emails and documents. This data is converted into text format as a preprocessing step for analysis using natural language processing technology. As output, it obtains analyzable text data.
[1245] Step 2:
[1246] The server uses natural language processing techniques to extract skills from the collected text data. As input, it receives preprocessed text data. Specifically, it uses Term Frequency-Inverse Document Frequency (TF-IDF) to extract important words and phrases within each text. As output, it obtains a list of extracted skills.
[1247] Step 3:
[1248] The server weights skills based on the recipients and number of recipients of the email. As input, it receives the list of extracted skills and information on the recipients and number of recipients of the email. Specifically, it assigns a higher weight to emails to important project members or superiors, and if the number of recipients is large, it evaluates the recognition of that skill highly. As output, it obtains a list of weighted skills.
[1249] Step 4:
[1250] The server uses an emotion engine to analyze emotions from text data. It receives preprocessed text data as input. Specifically, it analyzes the emotion of the text using TextBlob and evaluates the emotional state as positive, negative, or neutral. The output is the emotion analysis result.
[1251] Step 5:
[1252] The server reflects the emotion analysis results in the skill evaluation. As input, it receives the emotion analysis results and a list of weighted skills. Specifically, if there are a lot of positive emotions, it assigns a high weight to that skill, and if there are a lot of negative emotions, it provides an opportunity to learn a new skill. As output, it obtains a skill evaluation list that reflects the emotion analysis results.
[1253] Step 6:
[1254] The server analyzes communications within the factory and assigns a skill weight to each worker. As input, it receives log data of messages and communications within the factory. Specifically, it uses natural language processing technology to analyze the content of each worker's communications and assigns a skill weight. As output, it obtains a list of skill evaluations for the workers within the factory.
[1255] Step 7:
[1256] The server uses a generative AI model to automatically create a description based on the skill evaluation. It receives a list of skill evaluations as input. Specifically, it inputs a prompt into the generative AI model to generate a description. The output is a description based on the skill evaluation of each worker.
[1257] Example prompt sentence:
[1258] Conduct a skills assessment of a worker who states, "I'm very excited about new projects," and weight project management skills highly.
[1259] Example 3
[1260] Next, a description will be given of Example 3 of Form Example 3. 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."
[1261] Conventional employee evaluation systems have difficulty accurately assessing employees' skills and knowledge, and in particular, do not weight skills taking into account emotional states, which means they cannot adequately reflect employees' actual abilities and performance. Furthermore, skill evaluation based on characteristic terms frequently used by employees is also insufficient, making it difficult to accurately grasp employees' expertise and skills.
[1262] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[1263] In this invention, the server includes means for extracting skills from employees' electronic communications and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the destination and number of recipients of electronic communications, means for focusing on characteristic terms frequently used by the employee within the organization or department, and means for grasping the employee's emotional state using emotion analysis technology and adjusting the skill weighting based on the emotional state. This makes it possible to accurately evaluate employees' skills and knowledge and weight skills taking their emotional state into consideration.
[1264] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1265] "Electronic communications" are communications sent or received in digital form, such as emails or chat messages.
[1266] "Documents" include text data such as reports, memos, and presentation materials created by employees.
[1267] "Skills" refers to the specialized knowledge, techniques, and abilities that employees possess.
[1268] A "testimonial" is a piece of writing that introduces an employee's skills and knowledge to others.
[1269] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[1270] "Characteristic terms" are technical terms or keywords that are used more frequently by certain employees than by other employees.
[1271] "Emotion analysis technology" is a technology for extracting and analyzing emotions and emotional states from text data.
[1272] "Emotional state" refers to the emotional state that employees have toward their work (e.g., optimistic, pessimistic).
[1273] The present invention provides a system for accurately evaluating employee skills and knowledge and weighting skills taking into account the employee's emotional state. A specific embodiment of this system will be described below.
[1274] Data collection
[1275] The server collects electronic communications and documents used by employees during work. Specifically, it targets text data such as chat logs, emails, and documents. This data reflects employees' communications and work activities. The server connects to a database (e.g., MySQL, PostgreSQL) and stores the collected text data. The data is classified for each employee and stored in the database.
[1276] Text analytics
[1277] The server uses the Python libraries "NLTK" and "spaCy" to analyze the collected text data. The server extracts frequently used terms from the text data. Specifically, it performs preprocessing such as tokenization, stop word removal, and stemming. It calculates the frequency of term occurrence and lists the most frequently occurring terms.
[1278] Skills Assessment
[1279] The server evaluates employees' skills and knowledge based on the extracted terms. For example, if terms such as "machine learning" and "deep learning" are frequently used, the server evaluates the employee as having skills and knowledge in these fields. The evaluation results are stored in a database. A skill evaluation score is recorded for each employee.
[1280] Emotion analysis
[1281] The server uses an emotion engine to analyze the emotional state of employees. The emotion engine uses IBM Watson Natural Language Understanding and Microsoft Azure Text Analytics. The server extracts the employee's emotional state (optimistic, pessimistic, etc.) from the text data. Specifically, it calls the emotion engine's API and performs emotion analysis using the text data as input.
[1282] Skill weighting adjustment
[1283] The server adjusts the weighting of employees' skills based on the results of the sentiment analysis. For example, if an employee expresses optimistic sentiment toward their work, the employee's skills are weighted higher. On the other hand, if the employee expresses pessimistic sentiment, the skills are weighted lower. The adjusted skill evaluation is updated in the database. The value obtained by multiplying each employee's skill evaluation score by the weighting is recorded.
[1284] Specific examples
[1285] Examples of data collection include:
[1286] The server uses the API to retrieve employee chat logs, and the retrieved data is stored in a database.
[1287] Examples of text analysis:
[1288] The server uses the Python program "spaCy" to tokenize the chat logs and extract frequently occurring terms. For example, if the term "machine learning" appears 100 times, it will list that term.
[1289] Examples of skill assessments:
[1290] The server evaluates the employee's machine learning skills based on the frequency of the term "machine learning." The evaluation results are stored in a database.
[1291] Examples of sentiment analysis:
[1292] The server uses IBM Watson Natural Language Understanding to analyze the employee's emotional state from the chat log. For example, if the positive emotion score is high, it determines that the employee has an optimistic emotion.
[1293] Examples of skill weighting adjustments:
[1294] The server weights the machine learning skills of employees with high optimistic sentiment scores and increases their evaluation scores, and the adjusted scores are updated in the database.
[1295] Prompt Sentence Examples
[1296] "Extract frequently used terms from employees' chat logs and evaluate the skills they represent."
[1297] "Analyze the emotional state of your employees and adjust the weighting of their skills based on that emotion."
[1298] In this way, the system can accurately evaluate the skills and knowledge of employees and weight the skills taking into account their emotional state. The flow of the identification process in the third embodiment will be described with reference to FIG.
[1299] Step 1: Data collection
[1300] The server collects electronic communications and documents used by employees during work hours. Specifically, it targets text data such as chat logs, emails, and documents. The server uses an API to retrieve this data and store it in a database. The input is the employee's electronic communications and document data, and the output is the text data stored in the database.
[1301] Step 2: Text analysis
[1302] The server uses the Python libraries "NLTK" and "spaCy" to analyze the collected text data. The server extracts frequently used terms from the text data. Specifically, the server performs preprocessing such as tokenization, stop word removal, and stemming. The input is the text data stored in the database, and the output is a list of frequently used terms.
[1303] Step 3: Skills Assessment
[1304] The server evaluates the employee's skills and knowledge based on the extracted terms. For example, if terms such as "machine learning" and "deep learning" are frequently used, the server evaluates the employee as having skills and knowledge in these fields. The evaluation results are stored in a database. The input is a list of frequently used terms, and the output is a skill evaluation score.
[1305] Step 4: Sentiment Analysis
[1306] The server uses an emotion engine to analyze the emotional state of employees. The emotion engine uses "IBM Watson Natural Language Understanding" or "Microsoft Azure Text Analytics." The server extracts the employee's emotional state (optimistic, pessimistic, etc.) from the text data. Specifically, it calls the emotion engine's API and performs emotion analysis using the text data as input. The input is text data stored in the database, and the output is the analysis result of the emotional state.
[1307] Step 5: Adjust skill weights
[1308] The server adjusts the weighting of employees' skills based on the results of the emotion analysis. For example, if an employee expresses optimistic feelings about their work, their skills are weighted higher. On the other hand, if they express pessimistic feelings, their skills are weighted lower. The adjusted skill evaluation is updated in the database. The input is the analysis result of the emotional state and the skill evaluation score, and the output is the skill evaluation score with the adjusted weighting.
[1309] (Application example 3)
[1310] Next, a description will be given of Application Example 3 of Form Example 3. 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."
[1311] Conventional employee skill evaluation systems do not weight skills taking into account frequently used terms or emotional states of employees. This makes it difficult to accurately evaluate employee skills and knowledge, and skill evaluations of factory workers in particular require real-time analysis and understanding of their emotional states. Furthermore, evaluations that do not take into account the emotional states of workers can have a negative impact on work efficiency and motivation. To solve these issues, a system is needed that analyzes the terms used by employees and their emotional states in real time and adjusts the weighting of skills.
[1312] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 3 is realized by the following means.
[1313] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for analyzing terms used by the worker in real time and evaluating the worker's skills and knowledge, and means for grasping the worker's emotional state and adjusting the skill weighting based on that emotional state. This makes it possible to accurately evaluate the skills and knowledge of employees and weight their skills taking into account the worker's emotional state.
[1314] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[1315] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[1316] A testimonial is a piece of writing that conveys an employee's skills and knowledge to others.
[1317] "Weighting" refers to the numerical evaluation of the importance or influence of a particular element.
[1318] "Distinctive terms" refer to words or phrases that certain employees use more frequently than other employees.
[1319] "Real-time" means that data and information are processed immediately and results are reflected immediately.
[1320] An "emotional state" refers to the feelings or moods an individual is experiencing at a particular time.
[1321] "Generative AI" is a type of artificial intelligence that refers to a model that has the ability to generate data such as text and images.
[1322] A "server" refers to a computer system that provides services to other computers on a network.
[1323] The system for implementing this invention consists of three main components: a server, a terminal, and a user. The server uses natural language processing technology to extract skills from employees' emails and documents and automatically create introductions. It also has a function to weight skills based on the recipients and number of recipients of emails. Furthermore, it has a function to analyze the terms used by employees in real time, focusing on the characteristic terms frequently used by employees within a company or department, and evaluate the employees' skills and knowledge. It also includes a function to grasp the emotional state of employees and adjust the skill weighting based on that emotional state.
[1324] The server is implemented using programming languages such as Python, and uses the textblob library for natural language processing. Data analysis involves text analysis using regular expressions and a generative AI model for sentiment analysis. Specific processing involves extracting words from employees' emails and documents and calculating their frequency. Sentiment analysis is then performed to evaluate whether the sentiment is positive or negative. Finally, skill weighting is adjusted based on this data.
[1325] The terminal is a device used by workers to input data in real time and send it to the server. For example, if a worker inputs text such as "There was a lot of welding work today. Assembly is also progressing smoothly," the data is sent to the server for analysis.
[1326] Users are employees or workers who use the system and receive feedback from the system. For example, based on the text entered by the worker, the system evaluates their skills and assigns weighting according to their emotional state, and the results are fed back to the user.
[1327] For example, if a worker in a factory inputs the text "Lots of welding work today. Assembly is also going well.", it will be parsed as follows:
[1328] Term frequency: {'today': 1, 'welding': 1, 'of': 1, 'work': 1, 'is': 1, 'a lot': 1, 'assembly': 1, 'also': 1, 'going well': 1, 'to': 1, 'progressing': 1}
[1329] Emotional state: 0.5 (positive)
[1330] Skill weighting: {'Today': 1.5, 'Welding': 1.5, 'of': 1.5, 'Work': 1.5, 'was': 1.5, 'a lot': 1.5, 'Assembly': 1.5, 'also': 1.5, 'Going well': 1.5, 'to': 1.5, 'Progressing': 1.5}
[1331] Example prompts to input to the generative AI model:
[1332] Develop a system that analyzes the terms used by factory workers and evaluates their skills and knowledge. Additionally, add a function to understand the worker's emotional state and adjust the weighting of skills based on that emotional state. For example, if a worker frequently uses terms like "welding" and "assembly," the system will evaluate the worker as having the skills and knowledge related to welding and assembly. Furthermore, if the worker expresses optimistic feelings about their work, the system will assign a higher weight to the worker's skills.
[1333] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[1334] Step 1:
[1335] The terminal receives text data entered by the worker. For example, the worker might enter, "There was a lot of welding work today. Assembly is also progressing smoothly." This text data is then sent to the server.
[1336] Step 2:
[1337] The server analyzes the received text data. First, it uses natural language processing techniques to extract words from the text and calculate their frequency. Specifically, it uses regular expressions to split the text into words and count the number of times each word appears. The input is the text data, and the output is a word frequency list.
[1338] Step 3:
[1339] The server identifies characteristic terms based on the extracted word frequency list. Characteristic terms are words that are used more frequently than other workers. This process provides basic data for evaluating the skills and knowledge of workers. The input is a word frequency list, and the output is a list of characteristic terms.
[1340] Step 4:
[1341] The server analyzes the emotional state of text data. For sentiment analysis, it uses the textblob library to evaluate the positive or negative sentiment of the text. Specifically, it calculates the sentiment score of the text and determines the emotional state based on that score. The input is the text data, and the output is the sentiment score.
[1342] Step 5:
[1343] The server adjusts the skill weights based on the characteristic term list and emotion score. Specifically, it calculates the weights by multiplying the frequency of each term by the emotion score. This process enables skill evaluation that takes into account the emotional state of the worker. The input is a characteristic term list and emotion score, and the output is a weighted skill list.
[1344] Step 6:
[1345] The server generates the worker's skill evaluation results based on the weighted skill list. The evaluation results are output as a testimonial to convey the worker's skills and knowledge to other employees. The input is the weighted skill list, and the output is the testimonial.
[1346] Step 7:
[1347] The user receives the introduction provided by the server and checks the worker's skills and knowledge. This allows for accurate evaluation of the worker's skills and provides appropriate feedback. The input is the introduction, and the output is the user's understanding and feedback.
[1348] 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.
[1349] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating 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.
[1350] Another example of generative AI is Gemini (internet search engine). <url: https: gemini.google.com ?hl="ja">) are mentioned.
[1351] 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.
[1352] [Third embodiment]
[1353] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1354] 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.
[1355] 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).
[1356] 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.
[1357] 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.
[1358] 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).
[1359] 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.
[1360] 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.
[1361] 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.
[1362] 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.
[1363] 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.
[1364] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[1365] "Example 1"
[1366] One embodiment of the present invention is a system that extracts skills from employee emails and documents. This system uses natural language processing technology to extract skills from employee emails and documents and automatically create introductions. Specifically, it uses a natural language processing technology called generative AI to extract skills from employee emails and documents. This skill extraction analyzes the content of emails and documents and extracts the skills and knowledge contained therein.
[1367] "Example 2"
[1368] One embodiment of the present invention is a system that weights skills based on the recipients and number of email senders. This system analyzes the recipients and number of email senders and evaluates the importance of skills based on the analysis. Specifically, if an email is sent to a superior or a member of an important project, the skills contained in the email are evaluated as important and weighted accordingly. Also, if an email is sent to a large number of people, the skills contained in the email are evaluated as widely recognized and weighted accordingly.
[1369] "Example 3"
[1370] Furthermore, one embodiment of the present invention is a system that focuses on characteristic terms frequently used by employees within a company or department. This system analyzes the terms frequently used by employees and evaluates whether those terms represent the employee's characteristic skills and knowledge. Specifically, if an employee frequently uses terms such as "machine learning" or "deep learning," the system evaluates that the employee has skills and knowledge related to machine learning and deep learning.
[1371] The processing flow of each embodiment will be described below.
[1372] "Example 1"
[1373] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[1374] Step 2: Next, generative AI, a type of natural language processing technology, is used to extract skills from the input emails and documents. This skill extraction involves analyzing the content of the emails and documents and extracting the skills and knowledge contained within them.
[1375] Step 3: Finally, an employee introduction is automatically created based on the extracted skills, which specifically describes the employee's skills and knowledge.
[1376] "Example 2"
[1377] Step 1: First, employee emails are entered into the system. These emails are sent by employees in the course of their daily work.
[1378] Step 2: Next, analyze the recipients and number of people who received the email. This analysis determines whether the recipients are superiors or members of important projects, whether the email is being sent to a large number of people, etc.
[1379] Step 3: Finally, based on the analysis results, the importance of the skills is evaluated and a weight is assigned to each skill. This weight indicates how important the skill is.
[1380] "Example 3"
[1381] Step 1: First, employee emails and documents are entered into the system. These data are created and sent by employees in the course of their daily work.
[1382] Step 2: Next, analyze the terms frequently used by employees. This analysis extracts terms that frequently appear in emails and documents.
[1383] Step 3: Finally, the extracted terms are evaluated to determine whether they represent the employee's characteristic skills and knowledge. This evaluation determines whether the terms represent the employee's characteristics.
[1384] Example 1
[1385] Next, a description will be given of Example 1 of Form 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."
[1386] Conventional employee ability evaluation systems have difficulty accurately extracting abilities from employee communications and documents and automatically creating introductions. Furthermore, they are unable to weight abilities based on the recipients and number of recipients of communications, or to focus on characteristic terms frequently used by an employee within an organization or department. This has led to the issue of being unable to accurately evaluate an employee's abilities and generate appropriate introductions.
[1387] 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.
[1388] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for collecting communications and documents, means for preprocessing the collected data, means for extracting capabilities using a generative AI model, and means for generating introductions based on the extracted capabilities. This makes it possible to accurately extract capabilities from employee communications and documents and automatically generate appropriate introductions.
[1389] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1390] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[1391] "Communications" refers to the means by which employees communicate with other individuals or groups, such as email or messaging.
[1392] "Documents" refers to text-based materials created by employees, such as reports, memos, and presentations.
[1393] "Ability" refers to the skills, knowledge, and experience that employees possess.
[1394] "Testimonials" refer to automatically generated text that describes an employee's capabilities and achievements.
[1395] "Weighting" refers to the process of assigning importance to particular factors.
[1396] "Distinctive terms" refer to technical terms or phrases that certain employees use more frequently than other employees.
[1397] "Means of collection" refers to the methods and techniques used to obtain employee communications and documents.
[1398] "Preprocessing" refers to processes such as data cleaning and tokenization to convert collected data into a format that is easier to analyze.
[1399] A "generative AI model" refers to an algorithm or system that uses artificial intelligence to generate text.
[1400] "Extraction means" refers to the methods and techniques used to extract specific information from data.
[1401] "Generating means" refers to methods and techniques for creating new text or data based on extracted information.
[1402] MODE FOR CARRYING OUT THE INVENTION
[1403] This invention relates to a system that extracts capabilities from employee communications and documents and automatically creates introductions. This system uses natural language processing technology to extract capabilities from employee communications and documents, and automatically generates introductions using a generative AI model.
[1404] Hardware and software used
[1405] The server uses the following hardware and software to implement the system.
[1406] Hardware: A server with a powerful processor, sufficient memory, and ample storage.
[1407] Software: Python programming language, natural language processing libraries (NLTK, spaCy), generative AI models (e.g., OpenAI's GPT-3)
[1408] Data processing and calculation
[1409] The server processes and calculates the data in the following procedure.
[1410] 1. Data Collection:
[1411] The server connects to the mail server using the IMAP protocol to collect employee communications (emails), and also uses the file server's API to retrieve employee documents.
[1412] 2. Data Preprocessing:
[1413] The server preprocesses the collected text data from communications and documents by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[1414] 3. Ability Extraction:
[1415] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[1416] 4. Testimonial generation:
[1417] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[1418] Specific examples
[1419] For example, an employee email might contain the following:
[1420] "I have extensive project management experience and am proficient in Python and JavaScript development. I also have data analysis skills."
[1421] Based on this email, the server extracts the following capabilities:
[1422] project management
[1423] Python
[1424] JavaScript
[1425] Data analysis
[1426] The server then generates a description based on these capabilities, such as:
[1427] "This employee has extensive project management experience and is proficient in Python and JavaScript development. He also has data analysis skills."
[1428] An example of a prompt to input to a generative AI model is as follows:
[1429] "Extract abilities from the following text and generate a description:
[1430] Text: 'I have extensive project management experience and am proficient in development using Python and JavaScript. I also have skills in data analysis.'
[1431] Extracted competencies: ['Project Management', 'Python', 'JavaScript', 'Data Analysis']
[1432] Description: 'This employee has strong project management experience and is proficient in Python and JavaScript development. He also has data analysis skills.'
[1433] The above is an embodiment of the present invention.
[1434] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1435] Step 1: Data collection
[1436] The server collects employee communications and documents. Specifically, it connects to the mail server using the IMAP protocol and downloads emails from designated folders (e.g., inbox), and retrieves documents from designated directories using the file server's API.
[1437] Input: Mail server connection information, file server API information
[1438] Output: Collected email and document data
[1439] Step 2: Data Preprocessing
[1440] The server preprocesses the collected data by cleaning the text (removing unnecessary characters and spaces), tokenizing it (splitting it into words and phrases), and removing stop words, using the Python NLTK and spaCy libraries.
[1441] Input: Collected email and document data
[1442] Output: Preprocessed text data
[1443] Step 3: Ability Extraction
[1444] The server inputs the preprocessed text data into a generative AI model to extract abilities. The generative AI model analyzes the content of the text and identifies specific abilities and knowledge.
[1445] Input: Preprocessed text data
[1446] Output: Extracted ability list
[1447] Step 4: Generate a testimonial
[1448] The server automatically generates an introduction based on the extracted capabilities using a generative AI model, which incorporates the capabilities into the introduction in an appropriate context.
[1449] Input: Extracted ability list
[1450] Output: Auto-generated introduction
[1451] Step 5: Save and display data
[1452] The server saves the generated testimonials in a database and displays them to the user. Specifically, it connects to the database, executes SQL queries to save the testimonials, and calls an API to display the testimonials on the user's device.
[1453] Input: Auto-generated introduction
[1454] Output: Testimonials stored in the database, testimonials displayed on the user's device
[1455] (Application example 1)
[1456] Next, a description will be given of Application Example 1 of Form 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."
[1457] In conventional factories, it was difficult to properly understand the skills of workers and match them with the most suitable tasks and projects. Furthermore, understanding worker skills required manual evaluation and reporting, which was time-consuming and labor-intensive. This made it difficult to allocate personnel efficiently, resulting in reduced productivity and work delays.
[1458] 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.
[1459] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating a description, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of factory workers and automatically matching them with appropriate tasks and projects, and means for generating a description based on the extracted skills. This makes it possible to efficiently grasp the skills of workers and match them with optimal tasks and projects.
[1460] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[1461] "Skills" are the knowledge and abilities required to perform a specific task or job.
[1462] A testimonial is a piece of writing that conveys a person's skills and experience to others.
[1463] "Weighting" refers to the numerical evaluation of the importance of a particular element or data.
[1464] "Characteristic terms" are technical terms or keywords that a particular person uses more frequently than other people.
[1465] "Factory workers" means workers who work in a factory.
[1466] A "report" is a document that records the progress and results of a specific task or work.
[1467] "Matching" is finding the best combination based on specific conditions and requirements.
[1468] "Generative AI" is a type of artificial intelligence, a model that has the ability to generate natural language.
[1469] To implement the present invention, the following system configuration and program are required.
[1470] System Configuration
[1471] The server includes means for using natural language processing technology to extract skills from employees' emails and documents and automatically create introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for extracting skills from emails and reports of workers within a factory and automatically matching them with appropriate work or projects, and means for generating introductions based on the extracted skills.
[1472] Hardware and software used
[1473] Hardware: Factory robots (e.g., general industrial robots), servers (for data processing)
[1474] Software: Python, spaCy (natural language processing library), Transformers (generative AI model for Hugging Face)
[1475] Data processing and calculation
[1476] The server first inputs text data from worker emails and reports. Next, natural language processing technology is used to extract skill-related entities from the text data. spaCy is used to analyze the text data and extract skills. The extracted skills are used as prompts to generate introductions using a generative AI model (Hugging Face Transformers). The generated introductions are used to communicate the worker's skills to other systems and users.
[1477] Specific examples
[1478] For example, if a worker's email reads, "John has experience in welding and machine operation," the server analyzes this text data and extracts the skills "welding" and "machine operation." Next, it generates the following prompt based on these skills:
[1479] Prompt Sentence Examples
[1480] Write a description for a worker with the following skills: welding, machine operation
[1481] By inputting this prompt into the generative AI model, the server generates an introduction such as "John is a skilled worker with experience in welding and machine operation." This introduction is used to communicate the worker's skills to other systems and users.
[1482] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1483] Step 1:
[1484] The server inputs text data such as worker emails and reports. The input text data is analyzed using natural language processing technology. Specifically, the spaCy library is used to tokenize the text data and perform grammatical analysis. This reveals the structure of each word and phrase in the text data.
[1485] Input: Text data of worker emails and reports
[1486] Output: Tokenized text data and grammar analysis results
[1487] Step 2:
[1488] The server extracts skill-related entities from the tokenized text data by using spaCy's entity recognition function to identify skill-related words and phrases within the text data, thereby extracting the specific skills possessed by the worker.
[1489] Input: Tokenized text data and grammar analysis results
[1490] Output: A list of extracted skills
[1491] Step 3:
[1492] The server generates a prompt based on the extracted skills. Specifically, it lists the extracted skills and formats them as a prompt to be input into the generative AI model. For example, it generates a prompt in the format "Please write a description for a worker with the following skills: welding, machine operation."
[1493] Input: A list of extracted skills
[1494] Output: Generated prompt statement
[1495] Step 4:
[1496] The server inputs the generated prompt into a generative AI model to generate an introduction. Specifically, it uses Hugging Face's Transformers library to input the prompt into the generative AI model and generate an appropriate introduction. The generated introduction is used to communicate the worker's skills to other systems and users.
[1497] Input: Generated prompt text
[1498] Output: Generated testimonial
[1499] Step 5:
[1500] The server stores the generated testimonials and provides them to other systems and users as needed. Specifically, the server stores the generated testimonials in a database and makes them accessible to other systems and users via API. This allows worker skill information to be shared efficiently.
[1501] Input: Generated testimonial
[1502] Output: Testimonials saved and accessible via API
[1503] Example 2
[1504] Next, a description will be given of Example 2 of Form 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."
[1505] Accurately evaluating employee capabilities and appropriately introducing them is important for improving organizational efficiency and human resource development. However, traditional methods often involve manually extracting and weighting capabilities from employee communications and documents, which takes time and effort. Furthermore, the weighting of capabilities tends to be subjective and can lack accuracy. Furthermore, it can be difficult to focus on characteristic terms frequently used by employees, which can reduce the accuracy of capability evaluation. To solve these issues, a system is needed that can automatically analyze communication data and accurately extract and weight capabilities.
[1506] 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.
[1507] In this invention, the server includes means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating introductions, means for weighting capabilities based on the destination and number of recipients of communications, means for focusing on characteristic terms frequently used by the employee within an organization or department, means for acquiring communication data, means for analyzing the acquired communication data and extracting the destination and number of recipients, means for extracting keywords related to capabilities from the body of communications, means for weighting the extracted capabilities, and means for saving and notifying the results of the weighting. This makes it possible to automatically analyze communication data and accurately extract and weight capabilities.
[1508] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1509] "Employee" refers to an individual who belongs to an organization or company and performs work for that organization or company.
[1510] "Communication" refers to the means of sending and receiving information, such as emails and messages.
[1511] "Document" means a file or document containing information recorded in text format.
[1512] "Competencies" refer to the skills, knowledge, and experience that an employee possesses.
[1513] A "testimonial" is a piece of writing that describes an employee's abilities and achievements.
[1514] "Destination" refers to the address or name of the person to whom the communication is being sent.
[1515] "Number of senders" refers to the number of recipients to whom a communication is sent.
[1516] "Weighting" refers to assigning importance or priority to a particular element.
[1517] An "organization" refers to a group formed with a specific purpose, such as a company or organization.
[1518] A "department" refers to a group within an organization that is responsible for a specific task or function.
[1519] "Distinctive terms" refer to technical terms or keywords frequently used by certain employees.
[1520] "Acquisition" refers to the gathering of data or information.
[1521] "Analysis" refers to analyzing data or information and extracting meaning and patterns.
[1522] "Keywords" refer to important words or phrases that represent specific information.
[1523] "Storage" refers to recording data or information so that it can be accessed at a later time.
[1524] "Notification" refers to informing another person of specific information.
[1525] The present invention relates to a system for extracting and weighting capabilities from employee communications and documents. A specific embodiment of this system will be described below.
[1526] The server first retrieves employee communication data, which may be in the form of emails, messages, etc. The server then retrieves unread emails from the mail server using the IMAP protocol, using the Python imaplib library.
[1527] Next, the server analyzes the acquired communication data. Specifically, it uses the Python email module to extract the email header information (recipient, number of senders, etc.). This makes it possible to clarify the recipient and number of senders of the communication.
[1528] The server then extracts competency-related keywords from the body of the communication using natural language processing libraries such as nltk and spaCy, thereby clarifying the skills, knowledge, and experience possessed by the employee.
[1529] Next, the server assigns weights to the extracted capabilities. If the communication is addressed to a superior or an important project member, a higher weight is assigned to that capability. Also, if a large number of people are sending the message, the recognition of that capability is also highly evaluated. This process is performed using the Python pandas library.
[1530] Finally, the server saves the weighting results in a database and notifies the user. This process uses SQLAlchemy, a database connection library, and smtplib, a library for sending emails for notifications.
[1531] Examples:
[1532] A user sends a progress report email to his / her boss and project members. This email includes project management skills and technical skills. In this case, the server recognizes that the email is being sent to the boss and important project members, and assigns a high weight to these skills. In addition, if a large number of people send the email, the recognition of that skill is also highly evaluated.
[1533] Example prompt sentence:
[1534] "I sent a project progress report email to my boss and project members. This email includes project management skills and technical skills. Please weight these skills."
[1535] In this way, the server weights employees' abilities based on the destination and number of people they send messages to, and provides the results to the user. This system makes it possible to accurately evaluate employees' abilities and introduce them appropriately.
[1536] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1537] Step 1:
[1538] The server logs in to the user's email account and retrieves unread emails using the IMAP protocol. The input is the user's email account information (username, password), and the output is the unread email data. Specifically, the server connects to the IMAP server, logs in using the user's authentication information, and searches for and retrieves unread emails.
[1539] Step 2:
[1540] The server analyzes the retrieved unread email data and extracts the email header information (recipient, number of senders, etc.). The input is the unread email data, and the output is the recipient and number of senders. Specifically, the server uses the Python email module to analyze the email data and extract the header information.
[1541] Step 3:
[1542] The server extracts keywords related to abilities from the email body. The input is the email body data, and the output is the extracted keywords. Specifically, the server uses natural language processing libraries such as nltk and spaCy to analyze the email body and extract keywords related to abilities.
[1543] Step 4:
[1544] The server assigns weights to the extracted capabilities. The input is the extracted keywords, the email recipients, and the number of recipients, and the output is a list of weighted capabilities. Specifically, the server uses the Python pandas library to assign a higher weight if the email recipient is a superior or an important project member, and to highly evaluate the recognition of the capability if the number of recipients is large.
[1545] Step 5:
[1546] The server saves the weighting results in a database and notifies the user. The input is a list of weighted abilities, and the output is the results saved in the database and the results of sending notifications. Specifically, the server saves the results in a database using SQLAlchemy, a database connection library, and sends a notification email to the user using smtplib, a notification email sending library.
[1547] (Application example 2)
[1548] Next, a description will be given of Application Example 2 of Form 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."
[1549] With conventional systems, it was difficult to properly evaluate and weight employee skills. Furthermore, when it came to managing the skills of machines used in factories, there was no way to weight skills based on the recipients or number of people sending emails, making efficient skill management difficult. This meant that the skills of employees and machines could not be properly evaluated and managed, hindering productivity improvements.
[1550] 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.
[1551] In this invention, the server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of people to whom emails are sent, means for focusing on characteristic terms frequently used by the employee within the company or department, and means for managing the skills of machines used in the factory and weighting skills based on email recipients and the number of people to whom emails are sent. This makes it possible to appropriately evaluate the skills of employees and machines and manage them efficiently.
[1552] "Natural language processing technology" is a technology that enables computers to understand, analyze, and generate human language.
[1553] "Skills" refer to the knowledge and abilities required to perform a specific job or task.
[1554] An "introduction" is a piece of writing that explains and introduces a particular person or thing to others.
[1555] A "mail destination" is a person to whom an email is sent.
[1556] The "number of recipients" refers to the number of recipients to whom the email is sent.
[1557] "Weighting" means assigning importance or priority to a particular element.
[1558] "Distinctive terms" are words or phrases that are uniquely used by a particular person or department.
[1559] "Machinery used in factories" refers to devices and robots used on factory production lines and in workshops.
[1560] "Skills management" is the process of evaluating, recording, and appropriately managing the skills of specific people or machines.
[1561] A system for carrying out this invention has the following configuration: The server includes means for extracting skills from employees' emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on email recipients and the number of recipients, means for focusing on characteristic terms frequently used by employees within a company or department, and means for managing the skills of machines used within a factory and weighting skills based on email recipients and the number of recipients.
[1562] Program processing explanation
[1563] The server runs a Python program that assigns skill weights based on the recipient and the number of recipients. The program does the following:
[1564] 1. Skill Extraction
[1565] The server uses natural language processing technology to extract skills from employees' emails and documents. Specifically, it uses a generative AI model to identify and list skills from the email body.
[1566] 2. Skill Weighting
[1567] The server weights skills based on the recipient and the number of people who sent the email. Skills included in emails sent to important recipients (e.g., your boss or project leader) are weighted higher, and skills included in emails sent to many people are weighted higher.
[1568] 3. Focus on distinctive terms
[1569] The server focuses on the characteristic terms that an employee frequently uses within a company or department, and uses this information to evaluate the employee's expertise and suitability for a particular job.
[1570] 4. Machine skill management
[1571] The server manages the skills of the machines used in the factory and weights the skills based on the recipients and number of people sending emails, allowing for the appropriate evaluation and management of the skills required for machine maintenance and operation.
[1572] Hardware and software used
[1573] Hardware: Servers, smartphones, PCs
[1574] Software: Python, SMTP server (e.g., smtp.example.com), generative AI model
[1575] Specific examples
[1576] For example, if a robot needs maintenance in a factory, the maintenance person sends an email to their supervisor or project leader. This email lists the skills required for maintenance. The system analyzes the email and assigns a weight to the skills.
[1577] Prompt Sentence Examples
[1578] "I sent an email to my boss and project leader about robot maintenance. This email lists maintenance and operation skills. Please weight the skills."
[1579] In this way, the skills of employees and machines can be properly assessed and efficiently managed.
[1580] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1581] Step 1:
[1582] The server receives emails sent by users. The input includes the email body, recipients, and number of recipients. The server analyzes the email body and extracts skills using natural language processing technology. Specifically, it uses a generative AI model to identify and list skills from the email body. The output is a list of extracted skills.
[1583] Step 2:
[1584] The server weights skills based on the email recipients and the number of recipients. The inputs include the extracted skill list, the email recipients, and the number of recipients. The server assigns a higher weight to skills included in emails sent to important recipients (e.g., superiors or project leaders), and also assigns a higher weight to skills included in emails sent to many people. The output is a list of weighted skills.
[1585] Step 3:
[1586] The server focuses on the characteristic terms frequently used by employees within a company or department. The input includes the employee's past emails and documents. The server analyzes these documents using natural language processing techniques to identify frequently used terms. The output is a list of characteristic terms.
[1587] Step 4:
[1588] The server manages the skills of machines used in the factory. The input includes the body of emails about machine maintenance and operation, their destinations, and the number of people who sent them. The server analyzes the email body, extracts skills using natural language processing technology, and weights the skills based on the destination and number of people who sent them. The output is a list of weighted machine skills.
[1589] Step 5:
[1590] The server evaluates and manages the skills of employees and machines based on a list of weighted skills. The input includes a list of weighted skills. The server stores these skills in a database, retrieving and updating them as needed. The output is the latest skill evaluation information.
[1591] In this way, the server can properly evaluate the skills of employees and machines and manage them efficiently.
[1592] Example 3
[1593] Next, a third embodiment of the third embodiment will be described. 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."
[1594] Conventional employee competency evaluation systems have the problem of making it difficult to accurately grasp the specialized skills and knowledge of employees. Extracting competencies from employee communication data and documents also requires manual analysis, which is time-consuming and labor-intensive. Furthermore, there was a lack of a way to evaluate competencies based on characteristic terms frequently used by employees, making it impossible to accurately evaluate employee skills and knowledge.
[1595] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[1596] In this invention, the server includes means for collecting communication data, means for preprocessing the collected communication data, means for extracting terms from the preprocessed data, means for evaluating employee capabilities based on the extracted terms, and means for displaying the evaluation results. This makes it possible to automatically extract capabilities from employee communication data and documents and accurately evaluate capabilities based on frequently used characteristic terms.
[1597] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1598] "Communication data" refers to text data generated through digital communication tools such as email, chat, and messaging applications that employees use on a daily basis.
[1599] "Ability" refers to the specialized skills and knowledge that employees possess.
[1600] An "Introduction" is an automatically generated text that describes an employee's abilities and characteristics.
[1601] "Weighting" is the process of numerically assessing the importance of a particular element.
[1602] "Characteristic terms" are technical terms or keywords that an employee uses more frequently than other employees.
[1603] "Means of collection" refers to the methods and technologies used to obtain communication data.
[1604] The "preprocessing means" is a process of removing unnecessary information from the collected communication data and converting it into an analyzable format.
[1605] "Term extraction means" refers to a technique for identifying frequently used technical terms and keywords from pre-processed data.
[1606] The "measure of evaluation" is the process of numerically evaluating employees' abilities based on the extracted terms.
[1607] "Display means" refers to methods and techniques for visually displaying the evaluation results.
[1608] MODE FOR CARRYING OUT THE INVENTION
[1609] This invention is a system that extracts capabilities from employee communication data and documents and accurately evaluates capabilities based on frequently used characteristic terms. A specific embodiment of this system is described below.
[1610] Data collection
[1611] The server collects text data from communication tools (e.g., email, chat, messaging applications) that employees use on a daily basis. Specifically, the server uses APIs to retrieve messages from specific channels and mailboxes. For example, the server uses the Slack API to retrieve messages from the "general" channel for the past month.
[1612] Data Preprocessing
[1613] The server cleanses the collected text data and removes unnecessary information. Specifically, it uses the Python library "BeautifulSoup" to remove HTML tags and regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[1614] Term Extraction
[1615] The server uses natural language processing technology to extract frequently used terms from text data. Specifically, it uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to analyze the text and extract nouns (NOUN) and proper nouns (PROPN).
[1616] Term Evaluation
[1617] The server evaluates each employee's distinctive skills and knowledge based on the extracted terms. Specifically, it tallies the frequency of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[1618] Displaying the results
[1619] The terminal displays the evaluation results in the form of a dashboard or report. Specifically, "React" is used as the front end of the web application to display the evaluation results in graphs and tables. For example, the skill evaluation of each employee can be displayed in a bar graph, allowing each employee's skill set to be visually confirmed.
[1620] Examples and prompts
[1621] Examples:
[1622] Employee A uses the term "machine learning" 50 times per month.
[1623] Employee B uses the term "deep learning" 30 times per month.
[1624] Example prompt sentence:
[1625] "Analyze the terms frequently used by employee A and evaluate their skills and knowledge."
[1626] "Create a program that extracts frequently used terms from Slack message logs and evaluates employee skills."
[1627] This system is useful for formulating appropriate personnel allocation and training plans by quantitatively evaluating the skills and knowledge of employees. The flow of the identification process in the third embodiment will be described with reference to FIG.
[1628] Step 1:
[1629] Data collection
[1630] The server collects text data from the communication tools that employees use on a daily basis. It receives authentication information such as API keys and channel IDs as input and generates the retrieved message data as output. Specifically, the server uses the Slack API to retrieve messages from the "general" channel for the past month. For example, it calls the conversations.history endpoint of the Slack API to retrieve message data in JSON format.
[1631] Step 2:
[1632] Data Preprocessing
[1633] The server cleanses the collected text data and removes unnecessary information. It receives the collected raw data as input and generates cleansed text data as output. Specifically, the server uses the Python library "BeautifulSoup" to remove HTML tags and uses regular expressions to remove special characters and unnecessary spaces. For example, using BeautifulSoup Remove tags and use the re library to remove email addresses and URLs.
[1634] Step 3:
[1635] Term Extraction
[1636] The server uses natural language processing techniques to extract frequently used terms from text data. It receives preprocessed text data as input and generates a list of extracted terms as output. Specifically, the server uses the Python library "spaCy" to tokenize the text and extract nouns and technical terms. For example, it uses spaCy's nlp object to parse the text and extract nouns (NOUN) and proper nouns (PROPN).
[1637] Step 4:
[1638] Term Evaluation
[1639] The server evaluates each employee's characteristic skills and knowledge based on the extracted terms. It receives the extracted term list as input and generates the evaluation results as output. Specifically, the server aggregates the frequency of occurrence of the extracted terms, and if a particular term is used more than a certain frequency, it evaluates the employee as having the skills and knowledge related to that term. For example, if the term "machine learning" is used more than 50 times a month, the employee is evaluated as having skills related to machine learning.
[1640] Step 5:
[1641] Displaying the results
[1642] The terminal displays the evaluation results in the form of a dashboard or report. It receives the evaluation result data as input and generates a visual display as output. Specifically, the terminal uses "React" as the front end of the web application and displays the evaluation results in graphs and tables. For example, it can display each employee's skill evaluation in a bar graph, allowing users to visually check each employee's skill set.
[1643] (Application example 3)
[1644] Next, a description will be given of Application Example 3 of Form Example 3. 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."
[1645] With the previous system, it was difficult to accurately evaluate employee skills and knowledge and assign appropriate tasks. Also, real-time skill evaluation and task assignment using voice recognition technology was not performed, so improvements in work efficiency could not be expected.
[1646] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes: means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions; means for weighting skills based on the email recipients and the number of recipients; means for focusing on characteristic terms frequently used by the employee within the company or department; means for converting the worker's speech into text in real time using speech recognition technology; means for extracting frequently used terms from the converted text; means for evaluating the worker's skills and knowledge based on the extracted terms; and means for automatically assigning appropriate tasks based on the evaluation results. This makes it possible to accurately evaluate employee skills and knowledge and assign appropriate tasks in real time.
[1647] "Natural language processing technology" is a technology that enables computers to understand, interpret, and generate human language.
[1648] "Skill extraction" is the process of identifying and extracting specific skills and knowledge from text data.
[1649] "Testimonial generation" is the process of automatically generating a document that describes an employee's profile and capabilities based on the extracted skills and knowledge.
[1650] "Skill weighting" is the process of assessing the importance of specific skills or knowledge and assigning them a numerical weight.
[1651] "Characteristic terms" are technical terms or keywords that are used more frequently by certain employees than by other employees.
[1652] "Speech recognition technology" is a technology that converts voice data into text data.
[1653] "Real-time" means that data processing and analysis are done immediately.
[1654] "Text conversion" is the process of converting audio data into text data.
[1655] "Skills assessment" is the process of evaluating employees' skills and knowledge based on extracted terms and data.
[1656] "Work allocation" is the process of automatically assigning appropriate work or tasks based on assessed skills and knowledge.
[1657] A system for carrying out the present invention has the following configuration: The server includes means for extracting skills from employee emails and documents using natural language processing technology and automatically creating introductions, means for weighting skills based on the recipients and number of recipients of emails, means for focusing on characteristic terms frequently used by the employee within the company or department, means for converting the worker's speech into text in real time using speech recognition technology, means for extracting frequently used terms from the converted text, means for evaluating the worker's skills and knowledge based on the extracted terms, and means for automatically assigning appropriate work based on the evaluation results.
[1658] Hardware and software used
[1659] Hardware: Microphone (for audio input)
[1660] Software: speech_recognition library (for speech recognition), sklearn library (for text analysis and skill evaluation)
[1661] Processing flow
[1662] 1. Speech Recognition: Recognizes what the worker is saying in real time. The microphone is used to capture the voice data and convert it into text using the speech_recognition library.
[1663] 2. Text analysis: Analyze the converted text and extract frequently used terms. Use CountVectorizer from the sklearn library to extract characteristic terms from the text.
[1664] 3. Skills assessment: Evaluate the skills and knowledge of workers based on the extracted terms. Check against the skills dictionary to assess the appropriate skills.
[1665] 4. Work Allocation: Automatically assign appropriate work based on the assessment results. Use a rules-based system to assign work that corresponds to skills.
[1666] Specific examples
[1667] For example, if a worker says, "Today I trained a machine learning model," the system will extract the term "machine learning," assess the worker as having machine learning skills, and assign "data analysis" as the next task.
[1668] Prompt Sentence Examples
[1669] Example prompts to be input to the generative AI model:
[1670] Extract frequently used terms from the text below, assess skills accordingly, and assign appropriate tasks.
[1671] Text: "Today we trained a machine learning model. Next we will prepare a dataset for deep learning."
[1672] Output format:
[1673] Extracted terms: ["machine learning", "deep learning"]
[1674] Skills assessed: ["Machine Learning", "Deep Learning"]
[1675] Assigned tasks: ["Data analysis", "Model training"]
[1676] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[1677] Step 1:
[1678] The server uses a microphone to acquire the voice data of the worker. The voice data is used to capture what the worker is saying in real time. The input is the voice data, and the output is a stream of voice data.
[1679] Step 2:
[1680] The server converts the acquired voice data into text data using the speech_recognition library. Using speech recognition technology, the voice data is converted into text data. The input is a stream of voice data, and the output is text data.
[1681] Step 3:
[1682] The server analyzes the converted text data using the CountVectorizer library from the sklearn library to extract frequently used terms. It vectorizes the text data and extracts characteristic terms. The input is the text data, and the output is a list of extracted terms.
[1683] Step 4:
[1684] The server compares the extracted terms with a skill dictionary to evaluate the worker's skills and knowledge. The skill dictionary contains specific terms and their corresponding skills. The input is a list of extracted terms, and the output is a list of evaluated skills.
[1685] Step 5:
[1686] The server automatically assigns appropriate work based on the assessed skills. It uses a rule-based system to assign work corresponding to skills. The input is a list of assessed skills, and the output is a list of assigned work.
[1687] Step 6:
[1688] The server notifies the worker of the assigned work. The notification is sent to the worker's terminal. The input is a list of assigned work, and the output is the notification to the worker.
[1689] 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.
[1690] "Example 1"
[1691] As one embodiment of the present invention, a system incorporating an emotion engine is provided. This system includes a means for extracting skills from an employee's emails and documents and automatically creating an introduction, a means for weighting skills based on the recipients and number of recipients of emails, and a means for focusing on characteristic terms frequently used by the employee within the company or department. Furthermore, this system incorporates an emotion engine that recognizes the user's emotions.
[1692] "Example 2"
[1693] The emotion engine analyzes emotions from the text of employees' emails and documents. The results of this analysis are used as part of skill extraction and weighting. For example, if there are many emails that suggest an employee is enthusiastic about their work, that employee's skills will be weighted higher. On the other hand, if there are many emails that suggest an employee is facing difficulties, that employee may be offered an opportunity to learn a new skill.
[1694] "Example 3"
[1695] Furthermore, the emotion engine understands the emotional state of employees and adjusts the weighting of skills based on that emotional state. For example, if an employee is optimistic about their work, their skills will be weighted higher. On the other hand, if an employee is pessimistic about their work, their skills will be weighted lower. This makes it possible to evaluate skills taking into account the emotional state of employees.
[1696] The processing flow of each embodiment will be described below.
[1697] "Example 1"
[1698] Step 1: The system collects text from employees' emails and documents.
[1699] Step 2: Extract skills from the collected text.
[1700] Step 3: Automatically create a description based on the extracted skills.
[1701] Step 4: Weight skills based on who you're sending the email to and how many people you're sending it to.
[1702] Step 5: Focus on the characteristic terms that the employee frequently uses within the company or department. Step 6: Use the emotion engine to analyze emotions from the text of the employee's emails and documents.
[1703] "Example 2"
[1704] Step 1: The emotion engine analyzes emotions from the text of employees' emails and documents.
[1705] Step 2: The analysis results are used as part of skill extraction and weighting.
[1706] Step 3: Adjust skill weighting based on the employee's emotional state.
[1707] "Example 3"
[1708] Step 1: The emotion engine captures the employee's emotional state.
[1709] Step 2: Adjust skill weighting based on emotional state.
[1710] Step 3: It becomes possible to evaluate skills taking into account the employee's emotional state.
[1711] Example 1
[1712] Next, a description will be given of Example 1 of Form 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."
[1713] Conventional employee performance evaluation systems require manual data collection and analysis, which is time-consuming and labor-intensive. Furthermore, it is difficult to evaluate employees' emotions and frequently used terms, making it difficult to accurately evaluate their abilities.
[1714] The identification process by the identification processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means. In this invention, the server includes a means for extracting capabilities from the employee's communications and documents using natural language processing technology and automatically creating a description, a means for weighting the capabilities based on the destination and number of recipients of the communications, a means for focusing on characteristic terms frequently used by the employee within the organization or department, and a means for combining an emotion engine that recognizes the user's emotions. This makes it possible to accurately and efficiently evaluate the capabilities of employees and automatically create a description that takes into account their emotions and frequently ...
Claims
1. A means for extracting capabilities from employee communications and documents using natural language processing technology and automatically creating an introduction for said employee; means for weighting the capabilities of said employees based on the destination and number of communications sent; A means for focusing on characteristic terms frequently used by said employees within an organization or department; a means for collecting said employee's correspondence and documents; means for pre-processing the collected employee communications and documents data; A means for extracting capabilities of said employees using a generative AI model; A means for generating an introduction including terms frequently used by the employee based on the extracted capabilities of the employee; A system including:
2. The system according to claim 1 , wherein the extraction of the employee capabilities is performed using the generative AI model, which is a type of natural language processing technology.
3. The system according to claim 1 , wherein the characteristic terms are terms that the employee uses more frequently than other employees.
Citation Information
Patent Citations
A terminal box for apartment house
KR102253334B1
Systems and Methods for Updating and Distributing Information Associated with an Individual
US20230185957A1
Persona chatbot control method and system
JP2022180282A