system

The system efficiently analyzes and classifies free-form employee survey comments through data preprocessing, natural language processing, and visualization, addressing the challenges of laborious analysis and inconsistent results, enabling quick and accurate decision-making.

JP2026062261APending Publication Date: 2026-04-09SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Analyzing and classifying large volumes of free-form comments from employee surveys is laborious, time-consuming, and prone to missing important information, leading to inconsistent and inaccurate decision-making.

Method used

A system that includes data reception, preprocessing, natural language processing, classification, visualization, and transmission to a display device for efficient analysis and classification of free comments, utilizing morphological and sentiment analysis with tools like LDA and visualization libraries.

Benefits of technology

Enables quick and accurate decision-making by automating the analysis and classification process, reducing workload and ensuring consistent, high-quality analytical results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026062261000001_ABST
    Figure 2026062261000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for receiving input data, A means for preprocessing the received input data, A means of using a natural language processing engine to analyze preprocessed data, A means of classifying data based on the analysis results, A means of visualizing the classified results, A system including means for transmitting visualized results to a display device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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

Summary of the Invention

Problems to be Solved by the Invention

[0004] Efficiently and effectively analyzing and classifying a large amount of free comments input in an employee survey is a laborious and time-consuming task for the person in charge, and there is also a risk of missing important information in the comments. Also, when done manually, the analysis results may lack consistency, making it difficult to make accurate decisions.

Means for Solving the Problems

[0005] The present invention provides a system that includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, and means for transmitting the visualized results to a display device. This enables the automatic and effective analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0006] "Means for receiving input data" refers to a device or program for receiving free comment data submitted from employee survey forms and importing it into the system.

[0007] "Means for preprocessing received input data" refers to a device or program that performs processes such as spell checking, normalization, and removal of unnecessary data on received free comment data, and converts it into a format suitable for analysis.

[0008] "Means using a natural language processing engine" refers to a device or program that performs natural language processing such as morphological analysis, topic modeling, and sentiment analysis based on pre-processed data.

[0009] "Means for classifying data based on analysis results" refers to a device or program that classifies comments into specific categories and determines their sentiment based on analysis results obtained from a natural language processing engine.

[0010] "Means for visualizing classified results" refers to a device or program for visually displaying classified comment data in the form of graphs, charts, or other similar formats.

[0011] "Means for transmitting to a display device" refers to a device or program that transmits the visualized results to a display device, such as the terminal of the person in charge, and displays them. [Brief explanation of the drawing]

[0012] [Figure 1]This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]

[0013] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.

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

[0015] In the following embodiments, the labeled processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units 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), and the like.

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

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

[0018] In the following embodiments, the labeled communication I / F (Interface) is an interface including a communication processor and 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), or Bluetooth (registered trademark), and the like.

[0019] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0020] [First Embodiment]

[0021] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.

[0022] As shown in Figure 1, the 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.

[0023] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0025] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.

[0026] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0027] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

[0029] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.

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

[0031] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[0033] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0034] Data reception and preprocessing

[0035] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is typically in a format such as JSON or CSV.

[0036] Specific example: {"Comment": "There is little communication with management."}

[0037] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0038] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0039] Data analysis

[0040] 1. The server sends pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0041] 2. The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0042] Specific example: "I have little communication with my manager." → Category: "Communication"

[0043] 3. The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0044] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0045] Database storage and classification of analysis results

[0046] 1. The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0047] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0048] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0049] Visualization of analysis results

[0050] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[0051] Specific example: Display the number of comments for each category using a bar graph.

[0052] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0053] Feedback and Action

[0054] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[0055] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0056] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0057] The following describes the processing flow.

[0058] Step 1:

[0059] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0060] Specific example: {"Comment": "There is little communication with management."}

[0061] Step 2:

[0062] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0063] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0064] Step 3:

[0065] The server sends the pre-processed free-comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0066] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0067] Step 4:

[0068] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0069] Specific example: "I have little communication with my manager." → Category: "Communication"

[0070] Step 5:

[0071] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0072] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0073] Step 6:

[0074] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0075] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0076] Step 7:

[0077] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0078] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[0079] Step 8:

[0080] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[0081] Specific example: Display the number of comments for each category using a bar graph.

[0082] Step 9:

[0083] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0084] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0085] Step 10:

[0086] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0087] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0088] (Example 1)

[0089] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0090] The challenge lies in efficiently analyzing and classifying the large volume of free-form comments collected from employee surveys, thereby supporting decision-makers in making quick and accurate decisions. Furthermore, there is a need to automate the entire process, from pre-processing, analysis, classification, storage, aggregation, visualization, and display of comment data, in order to reduce the workload on employees and provide highly accurate analytical results.

[0091] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0092] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the analysis results into categories and determining sentiment, means for classifying the data based on the analysis results, means for storing the classification results in a database, means for aggregating the stored data and providing the number of comments and sentiment distribution for each category, means for sending the aggregated data to a visualization tool, and means for sending the visualized results to a display device. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0093] "Input data" refers to free comments and response data collected from employee survey forms.

[0094] "Preprocessing" refers to a series of data cleaning processes performed on received data, including spell checking, normalization, and removal of unnecessary data.

[0095] A "natural language processing engine" refers to software or algorithms used to analyze natural language text, such as morphological analysis and sentiment analysis.

[0096] A "category" refers to a topic or theme used to classify the analyzed comment data.

[0097] "Emotion" refers to the three emotional states—positive, negative, and neutral—analyzed from the comments.

[0098] "Classification" refers to the process of dividing comments into different categories based on the analysis results of a natural language processing engine.

[0099] A "database" refers to a digital repository for storing analysis and classification results.

[0100] "Aggregation" refers to the process of calculating statistical information, such as the number of comments per category and the distribution of sentiment, based on data stored in a database.

[0101] A "visualization tool" refers to a software library or application used to visually display aggregated data in the form of graphs and charts.

[0102] "Display device" refers to a computer screen or mobile device used by the person in charge to view the visualized results.

[0103] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0104] Data reception and preprocessing

[0105] The server receives free-form comment data from survey forms filled out by employees. The received data is typically provided in data formats such as JSON or CSV.

[0106] As a concrete example, consider input data in the following format:

[0107] Example: "I have little communication with my manager."

[0108] The server then preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols). For example, it might convert the comment "There is little communication with management.!!!" to "There is little communication with management."

[0109] Data analysis

[0110] Next, the server sends the pre-processed comment data to the natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis. Specifically, it calls the natural language processing engine's API and sends the text data.

[0111] Example: "I have little communication with my manager."

[0112] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model. As a specific example, the comment "There is little communication with managers." is classified into the category "Communication".

[0113] Furthermore, the server performs sentiment analysis to determine the sentiment (positive, negative, or neutral) of each comment. For example, the comment "There is little communication with management" is judged to have a "negative" sentiment.

[0114] Storage and classification in the database

[0115] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0116] As a concrete example, consider the following record.

[0117] Example: Comment ID 1, Comment: "There is little communication with management," Category: "Communication," Emotion: "Negative"

[0118] Subsequently, the server compiles the number of comments and sentiment distribution for each category based on the saved records, and provides the classification information required by the person in charge.

[0119] Visualization of analysis results

[0120] The aggregated data is sent from the server to a visualization tool. Libraries such as matplotlib and Plotly are used as visualization tools, and the results are displayed in graph and chart formats. For example, the number of comments for each category can be displayed as a bar graph.

[0121] The server then sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0122] Feedback and Action

[0123] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions. For example, they might identify that there are many negative comments in the "Communication" category and then consider measures to improve communication with management.

[0124] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0125] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0126] Step 1:

[0127] The server receives free-form comment data from survey forms filled out by employees. The input data is typically provided in data formats such as JSON or CSV.

[0128] Input: Free comment data from survey forms

[0129] Output: Storing received data in storage

[0130] Specific operation: The system receives form data via an HTTP request and converts it to an appropriate data structure (array or list) on the server side.

[0131] Step 2:

[0132] The server preprocesses the received free comment data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0133] Input: Received free comment data

[0134] Output: Pre-processed clean data

[0135] Specific actions: Use a text processing library to correct spelling errors, normalize text, and remove unnecessary characters.

[0136] Step 3:

[0137] The server sends pre-processed comment data to a natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis.

[0138] Input: Pre-processed clean data

[0139] Output: Analysis results data (tokenized text, sentiment score, etc.)

[0140] Specific operation: Call the natural language processing engine's API, send text data, and receive the analysis results.

[0141] Step 4:

[0142] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. At this time, topic modeling is performed using the LDA (Latent Dirichlet Allocation) model.

[0143] Input: Analysis results from a natural language processing engine

[0144] Output: Data categorized by category

[0145] Specific operation: Run the LDA model and assign each comment to the most appropriate category.

[0146] Step 5:

[0147] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0148] Input: Analysis results from a natural language processing engine

[0149] Output: Data with determined emotions

[0150] Specific operation: Using a sentiment analysis algorithm, calculate the sentiment score for each comment and determine whether it is positive, negative, or neutral.

[0151] Step 6:

[0152] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0153] Input: Data with determined categories and sentiments.

[0154] Output: Comment data stored in the database

[0155] Specific operation: Construct an SQL query and insert the analysis results into a database table.

[0156] Step 7:

[0157] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0158] Input: Comment data stored in the database

[0159] Output: Aggregated classification information

[0160] Specific actions: Execute database queries to aggregate the number of comments and sentiment trends for each category.

[0161] Step 8:

[0162] The server sends the aggregated data to a visualization tool. Libraries such as Matplotlib and Plotly are used to display the results in graph and chart formats.

[0163] Input: Aggregated classification information

[0164] Output: Visualized graphs and charts

[0165] Specific operation: Visualize data using a visualization library and generate images and interactive charts.

[0166] Step 9:

[0167] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where graphs and aggregated results can be displayed in real time.

[0168] Input: Visualized graphs and charts

[0169] Output: Graphs and charts displayed on the user's terminal.

[0170] Specific operation: Data is sent to the terminal using an HTTP response, and the dashboard is displayed in the web browser.

[0171] Step 10:

[0172] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[0173] Input: Graphs and charts displayed on the employee's terminal.

[0174] Output: Decision-making and actions by the person in charge

[0175] Specific operation: The dashboard displays multiple filtering options and detailed information, allowing the person in charge to develop a specific action plan.

[0176] This system allows for the efficient analysis and classification of free-form comments from employee surveys, enabling staff to make quick and accurate decisions.

[0177] (Application Example 1)

[0178] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0179] The large volume of free-form comments collected through employee surveys is difficult to analyze directly, making it challenging for those responsible to make quick and accurate decisions. Especially in environments with many employees, such as logistics centers, there is a need to efficiently collect, analyze, and translate employee feedback into concrete actions. A system is needed to appropriately understand and respond quickly to employee opinions and feelings.

[0180] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0181] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, and support means for planning and executing specific actions based on the visualized analysis results. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0182] "Means for receiving input data" refers to devices or systems that have the function of receiving free comment data from survey forms filled out by employees.

[0183] "Means for preprocessing received input data" refers to devices or systems that have functions such as spell checking, normalization, and removal of unnecessary data from received data.

[0184] "Means of using a natural language processing engine to analyze preprocessed data" refers to devices or systems that have the function of using a natural language processing engine to perform morphological analysis or sentiment analysis using preprocessed data.

[0185] "Means for classifying data based on analysis results" refers to devices or systems that have the function of classifying comment data into categories using analysis results obtained from a natural language processing engine.

[0186] "Means for visualizing classified results" refers to devices or systems that have the function of visually displaying classified results in the form of graphs or charts.

[0187] "Means for transmitting visualized results to a display device" refers to a device or system that has the function of transmitting visualized results to a display device such as the terminal of the person in charge.

[0188] "Support tools for planning and executing specific actions based on visualized analysis results" refers to devices or systems that have the function of supporting the planning and execution of specific improvement measures and actions based on visualized analysis results.

[0189] This invention relates to a system that efficiently analyzes survey data collected from employees within a logistics center and provides feedback and action suggestions to the center's operations managers. The system is equipped with functions to appropriately understand and respond quickly to employee opinions and feelings.

[0190] Hardware and software to be used

[0191] The present invention uses the following hardware and software.

[0192] Hardware: Smartphones, servers, display devices (e.g., PCs and tablets)

[0193] Software: Natural language processing engine (NLP engine), visualization tools (matplotlib and Plotly)

[0194] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format. For example, it might receive a comment such as, "The temperature in the packing area is too high."

[0195] The server then performs spell checking, normalization, and removal of unnecessary data on the received data. For example, it converts "Packing area temperature is too high???" to "Packing area temperature is too high."

[0196] The pre-processed data is sent to a natural language processing engine where morphological analysis and sentiment analysis are performed. For example, the comment "The temperature in the packing area is too high" is classified as "Work Environment" and sentiment as "Negative".

[0197] The analysis results are saved in a database, and the number of comments and the distribution of emotions for each category are compiled. An example of the saved format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}.

[0198] The aggregated data can be displayed in graph and chart format using visualization tools. For example, the number of comments in the "Work Environment" category can be displayed as a bar graph, and the percentage of negative comments can be shown as a pie chart.

[0199] The visualized results are sent to the display device, where the administrator reviews them. Based on the visualized analysis results, the administrator plans and executes specific actions. Specific examples include adjusting the temperature in the area or improving the air conditioning system.

[0200] Examples of prompt statements are shown below.

[0201] text

[0202] Input: "The temperature in the packing area is too high."

[0203] Task: Perform natural language processing to categorize comments by category and sentiment, and output the results.

[0204] Output: Category: Work Environment, Emotion: Negative

[0205] Using this prompt, the generative AI model extracts the appropriate categories and sentiments and provides the results.

[0206] As described above, this system enables efficient analysis and classification of free-form comments from employee surveys within the logistics center, allowing staff to make quick and accurate decisions.

[0207] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0208] Step 1:

[0209] When a user enters a comment into the survey form, the server receives it. The input data format is a standard data format such as JSON or CSV. For example, the comment "The temperature in the packing area is too high." might be entered.

[0210] Step 2:

[0211] The server performs preprocessing on the received data. Specifically, it performs spell checking, normalization (converting all characters to lowercase), and removal of special characters and unnecessary symbols. If the input is "Packing area temperature is too high???", the normalized comment will be "Packing area temperature is too high."

[0212] Step 3:

[0213] The pre-processed data is sent to a natural language processing engine. The server uses this engine to perform morphological analysis and sentiment analysis. For example, the comment "The temperature in the packing area is too high" is analyzed, classified as "work environment," and its sentiment is determined to be "negative."

[0214] Step 4:

[0215] The server saves the analysis results to a database. An example of the saving format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}. This allows for the aggregation of the number of comments and the distribution of emotions for each category.

[0216] Step 5:

[0217] The server sends aggregated data stored in the database to a visualization tool. For example, it might use matplotlib or Plotly to display the number of comments per category as a bar graph and the distribution of sentiment as a pie chart.

[0218] Step 6:

[0219] The terminal sends the visualized data to the display device. Based on the displayed data, the person in charge can, for example, confirm that there are many negative comments regarding the "work environment."

[0220] Step 7:

[0221] The person in charge plans and executes specific actions based on the visualized analysis results. For example, they might consider and implement measures to adjust the temperature in the area or improve the air conditioning system.

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

[0223] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. This system incorporates an emotion engine that recognizes the user's emotions.

[0224] Data reception and preprocessing

[0225] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0226] Specific example: {"Comment": "There is little communication with management."}

[0227] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0228] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0229] Data analysis

[0230] 1. The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0231] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0232] 2. The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0233] Specific example: "I have little communication with my manager." → Category: "Communication"

[0234] 3. The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment. This sentiment engine recognizes the sentiment based on the user's free-form comments and adds the result to the pre-processed data.

[0235] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0236] Database storage and classification of analysis results

[0237] 1. The server saves the analysis and classification results to a database. The saved records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[0238] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0239] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0240] Visualization of analysis results

[0241] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[0242] Specific example: Display the number of comments for each category using a bar graph.

[0243] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0244] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0245] Feedback and Action

[0246] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0247] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0248] In this way, free-form comments from employee surveys can be efficiently analyzed and categorized, enabling staff to make quick and accurate decisions. By incorporating an emotion engine that recognizes user emotions, this system allows for a deeper understanding and more accurate analysis.

[0249] The following describes the processing flow.

[0250] Step 1:

[0251] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0252] Specific example: {"Comment": "There is little communication with management."}

[0253] Step 2:

[0254] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0255] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0256] Step 3:

[0257] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and topic modeling.

[0258] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0259] Step 4:

[0260] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0261] Specific example: "I have little communication with my manager." → Category: "Communication"

[0262] Step 5:

[0263] The server sends categorized comment data to the sentiment engine. The sentiment engine determines the sentiment (positive, negative, or neutral) of each comment.

[0264] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0265] Step 6:

[0266] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[0267] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0268] Step 7:

[0269] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0270] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[0271] Step 8:

[0272] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[0273] Specific example: Display the number of comments for each category using a bar graph.

[0274] Step 9:

[0275] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0276] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0277] Step 10:

[0278] The terminal displays the visualized analysis results to the person in charge. The person in charge can check the displayed results and determine the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0279] Specific example: Confirm that there are many negative comments in the "Communication" category, and consider improvement measures for communication with management.

[0280] (Example 2)

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

[0282] There is a need to efficiently analyze and classify a large amount of free comment data collected from employee surveys and provide support for the person in charge to make quick and accurate decisions. However, in the current system, the processes from preprocessing and analysis of comments, determination of sentiment to visualization are performed manually, which is very time-consuming and lacks accuracy. Therefore, a system that solves these problems and performs effective data processing is required.

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

[0284] In this invention, the server includes means for receiving input data, means for using a natural language processing engine to analyze the preprocessed data, and means for using a sentiment engine to determine the sentiment of the comment as positive, negative, or neutral. Thereby, it becomes possible to efficiently analyze and classify the free comments of the employee survey, and for the person in charge to make quick and accurate decisions.

[0285] "Input data" refers to text data such as comments and opinions collected from employee surveys and the like.

[0286] "Preprocessing" refers to the process of performing spell checking, character normalization, removal of unnecessary data, etc. on the received input data, and arranging it in a format suitable for analysis.

[0287] "Natural language processing engine" refers to an engine for analyzing preprocessed text data and performing syntactic structure analysis and semantic understanding.

[0288] "Category" refers to a specific topic or theme for classifying input data based on the analysis results.

[0289] "Sentiment engine" refers to an engine for determining the sentiment of input data as positive, negative, or neutral based on the content of the input data.

[0290] "Database" refers to a system or place for structuring and storing analysis and classification results.

[0291] "Visualization tool" refers to a tool or software for visually displaying analysis results and classification results in the form of graphs or charts.

[0292] "Terminal" refers to a device such as a computer or mobile device that allows a person in charge to confirm the results.

[0293] The present invention relates to a system for efficiently analyzing and classifying a large amount of free comments collected in an employee survey and supporting the decision-making of a person in charge. This system incorporates a sentiment engine for recognizing the sentiment of users.

[0294] The system consists of the following hardware and software. The main hardware includes a server for processing data and a terminal for displaying the results. The software includes a natural language processing engine, a sentiment engine, a database, and visualization tools. Specific software examples include Python's NLTK and SpaCy for natural language processing engines, and matplotlib and Plotly for visualization tools.

[0295] First, the server receives free-form comment data from the survey forms filled out by employees. The data is typically received in JSON or CSV format. For example, it may include comments like the following:

[0296] Specific example: "I have little communication with my manager."

[0297] Next, the server preprocesses the received data. This preprocessing includes spell checking, character normalization, and removal of unnecessary data. The preprocessed data is then formatted for analysis.

[0298] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0299] Once preprocessing is complete, the data is sent from the server to the natural language processing engine. The natural language processing engine performs morphological analysis and topic analysis to analyze the grammatical structure and meaning of the comments.

[0300] Specific example: Perform morphological analysis on the free comment "There is little communication with managers" and extract its constituent elements.

[0301] Next, the server classifies the comments into specific categories based on the analysis results. For example, it might use an LDA model to perform topic modeling and determine which category each comment belongs to.

[0302] Specific example: "There is little communication with management positions." → Category "Communication"

[0303] Furthermore, the server uses an emotion engine to determine the emotion (positive, negative, neutral) of each comment. The analysis results of the emotion engine are added to the preprocessed data.

[0304] Specific example: "There is little communication with management positions." → Emotion "Negative"

[0305] The analysis and classification results are saved in a database by the server. This includes comment ID, original comment, category, analysis results, and determined emotion.

[0306] Specific example: {"Comment ID": 1, "Comment": "There is little communication with management positions.", "Category": "Communication", "Emotion": "Negative"}

[0307] Based on the records saved in the database, the server aggregates the number of comments and the emotion distribution for each category and provides the classification information required by the person in charge.

[0308] The aggregated data is sent from the server to a visualization tool and displayed as graphs and charts using tools such as matplotlib or Plotly.

[0309] Specific example: Display the number of comments for each category as a bar graph.

[0310] The visualized results are sent by the server to the terminal of the person in charge. The person in charge can list the results on the dashboard page displayed on the terminal.

[0311] Finally, the terminal displays the visualized analysis results to the person in charge, and the person in charge can confirm them and decide on necessary actions (for example, implementing improvement measures for a specific category).

[0312] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0313] Examples of prompt statements to be input to a generative AI model include the following:

[0314] "Perform a sentiment analysis on the free-form employee comments collected from the survey and categorize them. Example: 'I have little communication with my manager.'"

[0315] The above describes embodiments for carrying out the present invention.

[0316] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0317] Step 1:

[0318] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0319] Specific operation: The server receives the data sent as an HTTP POST request and checks the data format.

[0320] Input: Comment data in JSON or CSV format submitted via the survey form.

[0321] Output: Saves received comment data. (Example: "{"Comment": "There is little communication with management.")

[0322] Step 2:

[0323] The server preprocesses the received data. This preprocessing includes spell checking, character normalization (converting all characters to lowercase), and removal of unnecessary data.

[0324] Specific operation: Special characters are removed using regular expressions with the Python module re, and then all characters are converted to lowercase using the str.lower() function.

[0325] Input: Received comment data.

[0326] Output: Pre-processed data. (Example: "There is little communication with managers.")

[0327] Step 3:

[0328] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes a morphological analysis engine and a sentiment analysis engine.

[0329] Specific operation: Preprocessed text data is sent via an HTTP POST request using the requests module.

[0330] Input: Pre-processed comment data.

[0331] Output: Analysis results from the natural language processing engine. (Example: "{'tokens': ['management position', 'communication', 'few']}")

[0332] Step 4:

[0333] The server classifies comments into specific categories based on the analysis results received from the natural language processing engine.

[0334] Specific operation: Topic modeling is performed using Scikit-learn's LDA model to classify comments into categories.

[0335] Input: Analysis results from a natural language processing engine.

[0336] Output: Classified category information. (Example: "Category: Communication")

[0337] Step 5:

[0338] The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment.

[0339] Specific actions: Perform sentiment analysis using Natural Language Toolkit (NLTK) or Scikit-learn.

[0340] Input: Analysis results from a natural language processing engine.

[0341] Output: Emotion assessment result. (Example: "Emotion: Negative")

[0342] Step 6:

[0343] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, analysis result, and determined sentiment.

[0344] Specific operation: Insert results into the database using an ORM such as SQLAlchemy.

[0345] Input: Analysis and classification results.

[0346] Output: A new record is added to the database. (Example: "{"Comment ID": 1, "Comment": "Poor communication with management," "Category": "Communication," "Emotion": "Negative"}")

[0347] Step 7:

[0348] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0349] Specific operation: Issue an SQL query, retrieve the aggregated results, and output them in JSON format.

[0350] Input: Records stored in the database.

[0351] Output: Number of comments by category, and distribution of sentiment. (Example: "{'Category': 'Communication', 'Number': 10, 'Sentiment Distribution': {'Positive': 2, 'Negative': 8}}")

[0352] Step 8:

[0353] The server sends the aggregated data to a visualization tool. This visualization tool uses libraries such as matplotlib or Plotly.

[0354] Specific operation: Create a graph using matplotlib's bar() function or Plotly's plot() function.

[0355] Input: Aggregated results.

[0356] Output: Visualized graphs and charts. (Example: "Number of comments by category in bar graph format")

[0357] Step 9:

[0358] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in graph and chart format.

[0359] Specific action: The created graph is saved as an image file and sent to the user's browser as an HTTP response.

[0360] Input: Visualized data.

[0361] Output: The dashboard page displayed on the user's terminal. (Example: "Graph of the number of comments by category displayed on the dashboard")

[0362] Step 10:

[0363] The terminal displays the visualized analysis results to the person in charge. The person in charge can check the results on the dashboard page and click to access more detailed data if needed.

[0364] Specific operation: Dynamically update the dashboard web page using JavaScript® or a framework (e.g., React).

[0365] Input: Visualization data sent from the server.

[0366] Output: A dashboard page displayed in a format that can be viewed by the person in charge. (Example: "Detailed data link displayed on the dashboard")

[0367] Step 11:

[0368] Based on the visualized results, users decide and execute the necessary actions. Specifically, they consider and implement improvement measures for a particular category.

[0369] Specific actions: Use the interactive feedback function provided on the dashboard to register specific improvement suggestions in response to comments.

[0370] Input: Visualized analysis results and feedback information.

[0371] Output: Logs and records related to the implementation of improvement measures. (Example: "Record of implementation of measures to improve communication with managers")

[0372] (Application Example 2)

[0373] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0374] In modern brick-and-mortar stores, it is crucial to quickly and efficiently collect and analyze feedback from employees and customers, and to implement improvement measures based on that feedback. However, traditional feedback collection methods present problems such as the enormous volume of data, making manual analysis difficult, and consequently delaying prompt responses based on feedback. Furthermore, accurately understanding the emotions and content of the feedback is difficult, posing a challenge in formulating appropriate improvement measures.

[0375] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0376] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, means for collecting employee and customer feedback and analyzing it based on sentiment and category, means for storing the analysis results in a database, and means for visualizing the stored data as statistical information. This makes it possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on the visualized data.

[0377] "Input data" refers to raw data that is subject to analysis, such as comments and feedback collected from employees and customers.

[0378] "Preprocessing" refers to the process of spell-checking, normalizing, and removing unnecessary data from received input data.

[0379] A "natural language processing engine" is a system that analyzes pre-processed data and uses specific rules and algorithms to analyze text data.

[0380] "Methods of categorization" refer to methods of organizing analyzed data based on specific topics or themes.

[0381] A "means for determining emotions" refers to a method for identifying positive, negative, and neutral emotions from the text of the analyzed data.

[0382] "Visualization" is the process of visually displaying analysis results in the form of graphs and charts.

[0383] "Means of sending to a display device" refers to methods of sending visualized data to the terminals of the person in charge or the system administrator.

[0384] "Methods for collecting feedback" refer to methods of obtaining opinions and comments from employees and customers as data.

[0385] "Means of saving to a database" refers to methods of storing analyzed and classified data in a database in a format that can be accessed later.

[0386] "Statistical information" refers to information that shows an overview of the results of an analysis, such as numerical data and distribution data calculated from stored data.

[0387] Modes for carrying out the invention

[0388] This invention relates to a system that enables store managers to make quick decisions by rapidly and efficiently collecting feedback from employees and customers, performing sentiment analysis and categorization, and visualizing the results. This system includes the following elements:

[0389] Hardware and software configuration

[0390] server

[0391] The server is responsible for receiving, preprocessing, analyzing, classifying, storing, visualizing, and transmitting feedback data. The server uses the following technologies:

[0392] Flask: Used as a web framework for receiving data and transferring data in JSON format.

[0393] SQLAlchemy: Used for database management, including storing and reading feedback data.

[0394] NLTK and TextBlob: Perform natural language processing and sentiment analysis.

[0395] Plotly: Used for data visualization.

[0396] SQLite: A lightweight database engine used for storing data.

[0397] terminal

[0398] The terminal is used by store managers to view visualized feedback results.

[0399] Smartphone or tablet: Used for collecting feedback and displaying results.

[0400] Details of feedback collection and analysis

[0401] 1. Gathering feedback

[0402] The server receives feedback comments submitted from smartphones or tablets in JSON format. Example of a user-submitted comment: "The store was clean, but the staff's attitude was poor."

[0403] 2. Data preprocessing

[0404] The server preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data.

[0405] 3. Natural Language Processing

[0406] The pre-processed data is sent to natural language processing engines (NLTK and TextBlob) to determine the sentiment of the text (positive, negative, neutral) and classify it into specific categories (such as "cleanliness" or "service").

[0407] 4. Database storage

[0408] The analyzed and classified data is stored in a SQLite database using SQLAlchemy. The records stored include the comment itself, the determined sentiment, and the category.

[0409] 5. Data Visualization

[0410] The server reads the stored data and visualizes the number of comments and sentiment distribution for each category using Plotly.

[0411] 6. Displaying the results

[0412] The visualized data is sent to devices (smartphones and tablets) and can be viewed by administrators through a dashboard. For example, measures can be considered for the "service" category, which receives a lot of negative feedback.

[0413] Specific example

[0414] If a user submits feedback stating, "The store was clean, but the staff's attitude was poor," the server will process it as follows:

[0415] Feedback comment: "The store was clean, but the staff's attitude was poor."

[0416] Text normalization: "The store was clean, but the employees had a bad attitude."

[0417] Emotion analysis result: Negative

[0418] Category: service

[0419] In this way, it becomes possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on visualized data.

[0420] As described above, this invention enables efficient handling of feedback from employees and customers and provides a means to effectively solve challenges in the management of physical stores.

[0421] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0422] Step 1:

[0423] Users enter and submit feedback comments using their smartphones or tablets. The feedback comments are generated as input data and sent to the server in JSON format.

[0424] Input: User-submitted feedback comments (e.g., "The store was clean, but the staff's attitude was poor.")

[0425] Output: Data in JSON format (Example: {"comment": "The store was clean, but the staff's attitude was bad"})

[0426] Step 2:

[0427] The server preprocesses the received feedback comments, performing spell checking, normalization (such as converting characters to lowercase), and removal of unnecessary data.

[0428] Input: Feedback comment data in JSON format

[0429] Output: Preprocessed text data (e.g., "The store was clean, but the employees had a bad attitude")

[0430] Specific actions: Convert text to lowercase and remove unnecessary special characters.

[0431] Step 3:

[0432] The server sends the pre-processed data to natural language processing engines (NLTK and TextBlob) for text sentiment analysis and categorization.

[0433] Input: Preprocessed text data

[0434] Output: Sentiment analysis results and categories (e.g., emotion "negative", category "service")

[0435] Specific operation: Use TextBlob to determine whether the emotion is positive or negative, and then determine a category based on keywords.

[0436] Step 4:

[0437] The server stores the analyzed and classified data in a database (SQLite). This database stores information such as feedback comments, sentiment, and categories as records.

[0438] Input: Analyzed and classified data (e.g., "The store was clean, but the staff's attitude was bad", Sentiment: "Negative", Category: "Service")

[0439] Output: Records stored in the database

[0440] Specific operation: Use SQLAlchemy to store the generated data in an SQLite database.

[0441] Step 5:

[0442] The server analyzes the stored feedback data and visualizes the distribution of comment counts and sentiments by category. Plotly is used to generate graphs and charts.

[0443] Input: Feedback data in the database

[0444] Output: Visualized graphs and charts

[0445] Specific actions: Use Plotly to represent the number of comments and sentiment distribution for each category using bar graphs and pie charts.

[0446] Step 6:

[0447] The server sends the visualized data to the device (smartphone or tablet), and the administrator checks it on the dashboard.

[0448] Input: Visualized graphs and charts

[0449] Output: Graphs and charts displayed on the administrator's terminal.

[0450] Specific operation: Generated graphs and charts are sent to the device via a web interface and displayed on the dashboard.

[0451] These steps enable the rapid and accurate collection and analysis of feedback from employees and customers, and the swift implementation of effective improvement measures based on visualized data.

[0452] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.

[0453] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[0455] [Second Embodiment]

[0456] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0457] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0458] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0460] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0462] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0463] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0464] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

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

[0466] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[0468] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0469] Data reception and preprocessing

[0470] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is typically in a format such as JSON or CSV.

[0471] Specific example: {"Comment": "There is little communication with management."}

[0472] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0473] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0474] Data analysis

[0475] 1. The server sends pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0476] 2. The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0477] Specific example: "I have little communication with my manager." → Category: "Communication"

[0478] 3. The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0479] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0480] Database storage and classification of analysis results

[0481] 1. The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0482] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0483] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0484] Visualization of analysis results

[0485] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[0486] Specific example: Display the number of comments for each category using a bar graph.

[0487] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0488] Feedback and Action

[0489] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[0490] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0491] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0492] The following describes the processing flow.

[0493] Step 1:

[0494] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0495] Specific example: {"Comment": "There is little communication with management."}

[0496] Step 2:

[0497] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0498] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0499] Step 3:

[0500] The server sends the pre-processed free-comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0501] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0502] Step 4:

[0503] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0504] Specific example: "I have little communication with my manager." → Category: "Communication"

[0505] Step 5:

[0506] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0507] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0508] Step 6:

[0509] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0510] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0511] Step 7:

[0512] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0513] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[0514] Step 8:

[0515] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[0516] Specific example: Display the number of comments for each category using a bar graph.

[0517] Step 9:

[0518] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0519] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0520] Step 10:

[0521] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0522] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0523] (Example 1)

[0524] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0525] The challenge lies in efficiently analyzing and classifying the large volume of free-form comments collected from employee surveys, thereby supporting decision-makers in making quick and accurate decisions. Furthermore, there is a need to automate the entire process, from pre-processing, analysis, classification, storage, aggregation, visualization, and display of comment data, in order to reduce the workload on employees and provide highly accurate analytical results.

[0526] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0527] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the analysis results into categories and determining sentiment, means for classifying the data based on the analysis results, means for storing the classification results in a database, means for aggregating the stored data and providing the number of comments and sentiment distribution for each category, means for sending the aggregated data to a visualization tool, and means for sending the visualized results to a display device. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0528] "Input data" refers to free comments and response data collected from employee survey forms.

[0529] "Preprocessing" refers to a series of data cleaning processes performed on received data, including spell checking, normalization, and removal of unnecessary data.

[0530] A "natural language processing engine" refers to software or algorithms used to analyze natural language text, such as morphological analysis and sentiment analysis.

[0531] A "category" refers to a topic or theme used to classify the analyzed comment data.

[0532] "Emotion" refers to the three emotional states—positive, negative, and neutral—analyzed from the comments.

[0533] "Classification" refers to the process of dividing comments into different categories based on the analysis results of a natural language processing engine.

[0534] A "database" refers to a digital repository for storing analysis and classification results.

[0535] "Aggregation" refers to the process of calculating statistical information, such as the number of comments per category and the distribution of sentiment, based on data stored in a database.

[0536] A "visualization tool" refers to a software library or application used to visually display aggregated data in the form of graphs and charts.

[0537] "Display device" refers to a computer screen or mobile device used by the person in charge to view the visualized results.

[0538] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0539] Data reception and preprocessing

[0540] The server receives free-form comment data from survey forms filled out by employees. The received data is typically provided in data formats such as JSON or CSV.

[0541] As a concrete example, consider input data in the following format:

[0542] Example: "I have little communication with my manager."

[0543] The server then preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols). For example, it might convert the comment "There is little communication with management.!!!" to "There is little communication with management."

[0544] Data analysis

[0545] Next, the server sends the pre-processed comment data to the natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis. Specifically, it calls the natural language processing engine's API and sends the text data.

[0546] Example: "I have little communication with my manager."

[0547] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model. As a specific example, the comment "There is little communication with managers." is classified into the category "Communication".

[0548] Furthermore, the server performs sentiment analysis to determine the sentiment (positive, negative, or neutral) of each comment. For example, the comment "There is little communication with management" is judged to have a "negative" sentiment.

[0549] Storage and classification in the database

[0550] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0551] As a concrete example, consider the following record.

[0552] Example: Comment ID 1, Comment: "There is little communication with management," Category: "Communication," Emotion: "Negative"

[0553] Subsequently, the server compiles the number of comments and sentiment distribution for each category based on the saved records, and provides the classification information required by the person in charge.

[0554] Visualization of analysis results

[0555] The aggregated data is sent from the server to a visualization tool. Libraries such as matplotlib and Plotly are used as visualization tools, and the results are displayed in graph and chart formats. For example, the number of comments for each category can be displayed as a bar graph.

[0556] The server then sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0557] Feedback and Action

[0558] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions. For example, they might identify that there are many negative comments in the "Communication" category and then consider measures to improve communication with management.

[0559] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0560] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0561] Step 1:

[0562] The server receives free-form comment data from survey forms filled out by employees. The input data is typically provided in data formats such as JSON or CSV.

[0563] Input: Free comment data from survey forms

[0564] Output: Storing received data in storage

[0565] Specific operation: The system receives form data via an HTTP request and converts it to an appropriate data structure (array or list) on the server side.

[0566] Step 2:

[0567] The server preprocesses the received free comment data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0568] Input: Received free comment data

[0569] Output: Pre-processed clean data

[0570] Specific actions: Use a text processing library to correct spelling errors, normalize text, and remove unnecessary characters.

[0571] Step 3:

[0572] The server sends pre-processed comment data to a natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis.

[0573] Input: Pre-processed clean data

[0574] Output: Analysis results data (tokenized text, sentiment score, etc.)

[0575] Specific operation: Call the natural language processing engine's API, send text data, and receive the analysis results.

[0576] Step 4:

[0577] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. At this time, topic modeling is performed using the LDA (Latent Dirichlet Allocation) model.

[0578] Input: Analysis results from a natural language processing engine

[0579] Output: Data categorized by category

[0580] Specific operation: Run the LDA model and assign each comment to the most appropriate category.

[0581] Step 5:

[0582] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0583] Input: Analysis results from a natural language processing engine

[0584] Output: Data with determined emotions

[0585] Specific operation: Using a sentiment analysis algorithm, calculate the sentiment score for each comment and determine whether it is positive, negative, or neutral.

[0586] Step 6:

[0587] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0588] Input: Data with determined categories and sentiments.

[0589] Output: Comment data stored in the database

[0590] Specific operation: Construct an SQL query and insert the analysis results into a database table.

[0591] Step 7:

[0592] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0593] Input: Comment data stored in the database

[0594] Output: Aggregated classification information

[0595] Specific actions: Execute database queries to aggregate the number of comments and sentiment trends for each category.

[0596] Step 8:

[0597] The server sends the aggregated data to a visualization tool. Libraries such as Matplotlib and Plotly are used to display the results in graph and chart formats.

[0598] Input: Aggregated classification information

[0599] Output: Visualized graphs and charts

[0600] Specific operation: Visualize data using a visualization library and generate images and interactive charts.

[0601] Step 9:

[0602] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where graphs and aggregated results can be displayed in real time.

[0603] Input: Visualized graphs and charts

[0604] Output: Graphs and charts displayed on the user's terminal.

[0605] Specific operation: Data is sent to the terminal using an HTTP response, and the dashboard is displayed in the web browser.

[0606] Step 10:

[0607] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[0608] Input: Graphs and charts displayed on the employee's terminal.

[0609] Output: Decision-making and actions by the person in charge

[0610] Specific operation: The dashboard displays multiple filtering options and detailed information, allowing the person in charge to develop a specific action plan.

[0611] This system allows for the efficient analysis and classification of free-form comments from employee surveys, enabling staff to make quick and accurate decisions.

[0612] (Application Example 1)

[0613] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0614] The large volume of free-form comments collected through employee surveys is difficult to analyze directly, making it challenging for those responsible to make quick and accurate decisions. Especially in environments with many employees, such as logistics centers, there is a need to efficiently collect, analyze, and translate employee feedback into concrete actions. A system is needed to appropriately understand and respond quickly to employee opinions and feelings.

[0615] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0616] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, and support means for planning and executing specific actions based on the visualized analysis results. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0617] "Means for receiving input data" refers to devices or systems that have the function of receiving free comment data from survey forms filled out by employees.

[0618] "Means for preprocessing received input data" refers to devices or systems that have functions such as spell checking, normalization, and removal of unnecessary data from received data.

[0619] "Means of using a natural language processing engine to analyze preprocessed data" refers to devices or systems that have the function of using a natural language processing engine to perform morphological analysis or sentiment analysis using preprocessed data.

[0620] "Means for classifying data based on analysis results" refers to devices or systems that have the function of classifying comment data into categories using analysis results obtained from a natural language processing engine.

[0621] "Means for visualizing classified results" refers to devices or systems that have the function of visually displaying classified results in the form of graphs or charts.

[0622] "Means for transmitting visualized results to a display device" refers to a device or system that has the function of transmitting visualized results to a display device such as the terminal of the person in charge.

[0623] "Support tools for planning and executing specific actions based on visualized analysis results" refers to devices or systems that have the function of supporting the planning and execution of specific improvement measures and actions based on visualized analysis results.

[0624] This invention relates to a system that efficiently analyzes survey data collected from employees within a logistics center and provides feedback and action suggestions to the center's operations managers. The system is equipped with functions to appropriately understand and respond quickly to employee opinions and feelings.

[0625] Hardware and software to be used

[0626] The present invention uses the following hardware and software.

[0627] Hardware: Smartphones, servers, display devices (e.g., PCs and tablets)

[0628] Software: Natural language processing engine (NLP engine), visualization tools (matplotlib and Plotly)

[0629] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format. For example, it might receive a comment such as, "The temperature in the packing area is too high."

[0630] The server then performs spell checking, normalization, and removal of unnecessary data on the received data. For example, it converts "Packing area temperature is too high???" to "Packing area temperature is too high."

[0631] The pre-processed data is sent to a natural language processing engine where morphological analysis and sentiment analysis are performed. For example, the comment "The temperature in the packing area is too high" is classified as "Work Environment" and sentiment as "Negative".

[0632] The analysis results are saved in a database, and the number of comments and the distribution of emotions for each category are compiled. An example of the saved format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}.

[0633] The aggregated data can be displayed in graph and chart format using visualization tools. For example, the number of comments in the "Work Environment" category can be displayed as a bar graph, and the percentage of negative comments can be shown as a pie chart.

[0634] The visualized results are sent to the display device, where the administrator reviews them. Based on the visualized analysis results, the administrator plans and executes specific actions. Specific examples include adjusting the temperature in the area or improving the air conditioning system.

[0635] Examples of prompt statements are shown below.

[0636] text

[0637] Input: "The temperature in the packing area is too high."

[0638] Task: Perform natural language processing to categorize comments by category and sentiment, and output the results.

[0639] Output: Category: Work Environment, Emotion: Negative

[0640] Using this prompt, the generative AI model extracts the appropriate categories and sentiments and provides the results.

[0641] As described above, this system enables efficient analysis and classification of free-form comments from employee surveys within the logistics center, allowing staff to make quick and accurate decisions.

[0642] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0643] Step 1:

[0644] When a user enters a comment into the survey form, the server receives it. The input data format is a standard data format such as JSON or CSV. For example, the comment "The temperature in the packing area is too high." might be entered.

[0645] Step 2:

[0646] The server performs preprocessing on the received data. Specifically, it performs spell checking, normalization (converting all characters to lowercase), and removal of special characters and unnecessary symbols. If the input is "Packing area temperature is too high???", the normalized comment will be "Packing area temperature is too high."

[0647] Step 3:

[0648] The pre-processed data is sent to a natural language processing engine. The server uses this engine to perform morphological analysis and sentiment analysis. For example, the comment "The temperature in the packing area is too high" is analyzed, classified as "work environment," and its sentiment is determined to be "negative."

[0649] Step 4:

[0650] The server saves the analysis results to a database. An example of the saving format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}. This allows for the aggregation of the number of comments and the distribution of emotions for each category.

[0651] Step 5:

[0652] The server sends aggregated data stored in the database to a visualization tool. For example, it might use matplotlib or Plotly to display the number of comments per category as a bar graph and the distribution of sentiment as a pie chart.

[0653] Step 6:

[0654] The terminal sends the visualized data to the display device. Based on the displayed data, the person in charge can, for example, confirm that there are many negative comments regarding the "work environment."

[0655] Step 7:

[0656] The person in charge plans and executes specific actions based on the visualized analysis results. For example, they might consider and implement measures to adjust the temperature in the area or improve the air conditioning system.

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

[0658] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. This system incorporates an emotion engine that recognizes the user's emotions.

[0659] Data reception and preprocessing

[0660] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0661] Specific example: {"Comment": "There is little communication with management."}

[0662] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0663] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0664] Data analysis

[0665] 1. The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0666] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0667] 2. The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0668] Specific example: "I have little communication with my manager." → Category: "Communication"

[0669] 3. The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment. This sentiment engine recognizes the sentiment based on the user's free-form comments and adds the result to the pre-processed data.

[0670] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0671] Database storage and classification of analysis results

[0672] 1. The server saves the analysis and classification results to a database. The saved records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[0673] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0674] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0675] Visualization of analysis results

[0676] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[0677] Specific example: Display the number of comments for each category using a bar graph.

[0678] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0679] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0680] Feedback and Action

[0681] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0682] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0683] In this way, free-form comments from employee surveys can be efficiently analyzed and categorized, enabling staff to make quick and accurate decisions. By incorporating an emotion engine that recognizes user emotions, this system allows for a deeper understanding and more accurate analysis.

[0684] The following describes the processing flow.

[0685] Step 1:

[0686] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0687] Specific example: {"Comment": "There is little communication with management."}

[0688] Step 2:

[0689] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0690] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0691] Step 3:

[0692] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and topic modeling.

[0693] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0694] Step 4:

[0695] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0696] Specific example: "I have little communication with my manager." → Category: "Communication"

[0697] Step 5:

[0698] The server sends categorized comment data to the sentiment engine. The sentiment engine determines the sentiment (positive, negative, or neutral) of each comment.

[0699] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0700] Step 6:

[0701] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[0702] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0703] Step 7:

[0704] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0705] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[0706] Step 8:

[0707] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[0708] Specific example: Display the number of comments for each category using a bar graph.

[0709] Step 9:

[0710] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0711] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0712] Step 10:

[0713] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0714] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0715] (Example 2)

[0716] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0717] There is a need to efficiently analyze and classify large amounts of free-form comment data collected from employee surveys, supporting decision-makers in making quick and accurate decisions. However, current systems rely on manual processes for pre-processing, analysis, sentiment assessment, and visualization of comments, making the process extremely time-consuming and inaccurate. Therefore, a system is needed to solve these problems and perform effective data processing.

[0718] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[0719] In this invention, the server includes means for receiving input data, means for using a natural language processing engine to analyze the pre-processed data, and means for using an emotion engine to determine the sentiment of comments as positive, negative, or neutral. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0720] "Input data" refers to text data such as comments and opinions collected from employee surveys, etc.

[0721] "Preprocessing" refers to the process of preparing received input data into a format suitable for analysis by performing spell checks, character normalization, and removal of unnecessary data.

[0722] A "natural language processing engine" is an engine that analyzes pre-processed text data to perform grammatical structure analysis and semantic understanding.

[0723] A "category" refers to a specific topic or theme used to classify input data based on the analysis results.

[0724] An "emotion engine" is an engine that determines whether an input data is positive, negative, or neutral based on its content.

[0725] A "database" is a system or location for structuring and storing analysis and classification results.

[0726] A "visualization tool" is a tool or software used to visually display analysis results or classification results in the form of graphs or charts.

[0727] A "terminal" refers to a device, such as a computer or mobile device, that allows the person in charge to check the results.

[0728] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting decision-making by those responsible for handling them. This system incorporates an emotion engine that recognizes the user's emotions.

[0729] The system consists of the following hardware and software. The main hardware includes a server for processing data and a terminal for displaying the results. The software includes a natural language processing engine, a sentiment engine, a database, and visualization tools. Specific software examples include Python's NLTK and SpaCy for natural language processing engines, and matplotlib and Plotly for visualization tools.

[0730] First, the server receives free-form comment data from the survey forms filled out by employees. The data is typically received in JSON or CSV format. For example, it may include comments like the following:

[0731] Specific example: "I have little communication with my manager."

[0732] Next, the server preprocesses the received data. This preprocessing includes spell checking, character normalization, and removal of unnecessary data. The preprocessed data is then formatted for analysis.

[0733] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0734] Once preprocessing is complete, the data is sent from the server to the natural language processing engine. The natural language processing engine performs morphological analysis and topic analysis to analyze the grammatical structure and meaning of the comments.

[0735] Specific example: Perform morphological analysis on the free comment "There is little communication with managers" and extract its constituent elements.

[0736] Next, the server classifies the comments into specific categories based on the analysis results. For example, it might use an LDA model to perform topic modeling and determine which category each comment belongs to.

[0737] Specific example: "I have little communication with my manager." → Category: "Communication"

[0738] Furthermore, the server uses an emotion engine to determine the sentiment (positive, negative, or neutral) of each comment. The results of the emotion engine's analysis are added to the pre-processed data.

[0739] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0740] The analysis and classification results are stored in a database by the server. This includes the comment ID, original comment, category, analysis result, and determined sentiment.

[0741] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0742] Based on the records stored in the database, the server aggregates the number of comments and the distribution of sentiment for each category, and provides the classification information required by the person in charge.

[0743] The aggregated data is sent from the server to a visualization tool and displayed as graphs and charts using tools such as matplotlib and Plotly.

[0744] Specific example: Display the number of comments for each category using a bar graph.

[0745] The visualized results are sent by the server to the user's terminal. The user can view the results in a list on a dashboard page displayed on their terminal.

[0746] Finally, the terminal displays the visualized analysis results to the person in charge, who can review them and decide on the necessary actions (for example, implementing improvement measures for a specific category).

[0747] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0748] Examples of prompt statements to be input to a generative AI model include the following:

[0749] "Perform a sentiment analysis on the free-form employee comments collected from the survey and categorize them. Example: 'I have little communication with my manager.'"

[0750] The above describes embodiments for carrying out the present invention.

[0751] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0752] Step 1:

[0753] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0754] Specific operation: The server receives the data sent as an HTTP POST request and checks the data format.

[0755] Input: Comment data in JSON or CSV format submitted via the survey form.

[0756] Output: Saves received comment data. (Example: "{"Comment": "There is little communication with management.")

[0757] Step 2:

[0758] The server preprocesses the received data. This preprocessing includes spell checking, character normalization (converting all characters to lowercase), and removal of unnecessary data.

[0759] Specific operation: Special characters are removed using regular expressions with the Python module re, and then all characters are converted to lowercase using the str.lower() function.

[0760] Input: Received comment data.

[0761] Output: Pre-processed data. (Example: "There is little communication with managers.")

[0762] Step 3:

[0763] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes a morphological analysis engine and a sentiment analysis engine.

[0764] Specific operation: Preprocessed text data is sent via an HTTP POST request using the requests module.

[0765] Input: Pre-processed comment data.

[0766] Output: Analysis results from the natural language processing engine. (Example: "{'tokens': ['management position', 'communication', 'few']}")

[0767] Step 4:

[0768] The server classifies comments into specific categories based on the analysis results received from the natural language processing engine.

[0769] Specific operation: Topic modeling is performed using Scikit-learn's LDA model to classify comments into categories.

[0770] Input: Analysis results from a natural language processing engine.

[0771] Output: Classified category information. (Example: "Category: Communication")

[0772] Step 5:

[0773] The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment.

[0774] Specific actions: Perform sentiment analysis using Natural Language Toolkit (NLTK) or Scikit-learn.

[0775] Input: Analysis results from a natural language processing engine.

[0776] Output: Emotion assessment result. (Example: "Emotion: Negative")

[0777] Step 6:

[0778] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, analysis result, and determined sentiment.

[0779] Specific operation: Insert results into the database using an ORM such as SQLAlchemy.

[0780] Input: Analysis and classification results.

[0781] Output: A new record is added to the database. (Example: "{"Comment ID": 1, "Comment": "Poor communication with management," "Category": "Communication," "Emotion": "Negative"}")

[0782] Step 7:

[0783] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0784] Specific operation: Issue an SQL query, retrieve the aggregated results, and output them in JSON format.

[0785] Input: Records stored in the database.

[0786] Output: Number of comments by category, and distribution of sentiment. (Example: "{'Category': 'Communication', 'Number': 10, 'Sentiment Distribution': {'Positive': 2, 'Negative': 8}}")

[0787] Step 8:

[0788] The server sends the aggregated data to a visualization tool. This visualization tool uses libraries such as matplotlib or Plotly.

[0789] Specific operation: Create a graph using matplotlib's bar() function or Plotly's plot() function.

[0790] Input: Aggregated results.

[0791] Output: Visualized graphs and charts. (Example: "Number of comments by category in bar graph format")

[0792] Step 9:

[0793] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in graph and chart format.

[0794] Specific action: The created graph is saved as an image file and sent to the user's browser as an HTTP response.

[0795] Input: Visualized data.

[0796] Output: The dashboard page displayed on the user's terminal. (Example: "Graph of the number of comments by category displayed on the dashboard")

[0797] Step 10:

[0798] The terminal displays the visualized analysis results to the person in charge. The person in charge can check the results on the dashboard page and click to access more detailed data if needed.

[0799] Specific operation: Dynamically update the dashboard web page using JavaScript or a framework (e.g., React).

[0800] Input: Visualization data sent from the server.

[0801] Output: A dashboard page displayed in a format that can be viewed by the person in charge. (Example: "Detailed data link displayed on the dashboard")

[0802] Step 11:

[0803] Based on the visualized results, users decide and execute the necessary actions. Specifically, they consider and implement improvement measures for a particular category.

[0804] Specific action: Use the interactive feedback function provided on the dashboard to register specific improvement measures in response to comments.

[0805] Input: Visualized analysis results and feedback information.

[0806] Output: Logs and records related to the implementation of improvement measures. (Example: "Record of implementation of measures to improve communication with managers")

[0807] (Application Example 2)

[0808] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0809] In modern brick-and-mortar stores, it is crucial to quickly and efficiently collect and analyze feedback from employees and customers, and to implement improvement measures based on that feedback. However, traditional feedback collection methods present problems such as the enormous volume of data, making manual analysis difficult, and consequently delaying prompt responses based on feedback. Furthermore, accurately understanding the emotions and content of the feedback is difficult, posing a challenge in formulating appropriate improvement measures.

[0810] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[0811] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, means for collecting employee and customer feedback and analyzing it based on sentiment and category, means for storing the analysis results in a database, and means for visualizing the stored data as statistical information. This makes it possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on the visualized data.

[0812] "Input data" refers to raw data that is subject to analysis, such as comments and feedback collected from employees and customers.

[0813] "Preprocessing" refers to the process of spell-checking, normalizing, and removing unnecessary data from received input data.

[0814] A "natural language processing engine" is a system that analyzes pre-processed data and uses specific rules and algorithms to analyze text data.

[0815] "Methods of categorization" refer to methods of organizing analyzed data based on specific topics or themes.

[0816] A "means for determining emotions" refers to a method for identifying positive, negative, and neutral emotions from the text of the analyzed data.

[0817] "Visualization" is the process of visually displaying analysis results in the form of graphs and charts.

[0818] "Means of sending to a display device" refers to methods of sending visualized data to the terminals of the person in charge or the system administrator.

[0819] "Methods for collecting feedback" refer to methods of obtaining opinions and comments from employees and customers as data.

[0820] "Means of saving to a database" refers to methods of storing analyzed and classified data in a database in a format that can be accessed later.

[0821] "Statistical information" refers to information that shows an overview of the results of an analysis, such as numerical data and distribution data calculated from stored data.

[0822] Modes for carrying out the invention

[0823] This invention relates to a system that enables store managers to make quick decisions by rapidly and efficiently collecting feedback from employees and customers, performing sentiment analysis and categorization, and visualizing the results. This system includes the following elements:

[0824] Hardware and software configuration

[0825] server

[0826] The server is responsible for receiving, preprocessing, analyzing, classifying, storing, visualizing, and transmitting feedback data. The server uses the following technologies:

[0827] Flask: Used as a web framework for receiving data and transferring data in JSON format.

[0828] SQLAlchemy: Used for database management, including storing and reading feedback data.

[0829] NLTK and TextBlob: Perform natural language processing and sentiment analysis.

[0830] Plotly: Used for data visualization.

[0831] SQLite: A lightweight database engine used for storing data.

[0832] terminal

[0833] The terminal is used by store managers to view visualized feedback results.

[0834] Smartphone or tablet: Used for collecting feedback and displaying results.

[0835] Details of feedback collection and analysis

[0836] 1. Gathering feedback

[0837] The server receives feedback comments submitted from smartphones or tablets in JSON format. Example of a user-submitted comment: "The store was clean, but the staff's attitude was poor."

[0838] 2. Data preprocessing

[0839] The server preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data.

[0840] 3. Natural Language Processing

[0841] The pre-processed data is sent to natural language processing engines (NLTK and TextBlob) to determine the sentiment of the text (positive, negative, neutral) and classify it into specific categories (such as "cleanliness" or "service").

[0842] 4. Database storage

[0843] The analyzed and classified data is stored in a SQLite database using SQLAlchemy. The records stored include the comment itself, the determined sentiment, and the category.

[0844] 5. Data Visualization

[0845] The server reads the stored data and visualizes the number of comments and sentiment distribution for each category using Plotly.

[0846] 6. Displaying the results

[0847] The visualized data is sent to devices (smartphones and tablets) and can be viewed by administrators through a dashboard. For example, measures can be considered for the "service" category, which receives a lot of negative feedback.

[0848] Specific example

[0849] If a user submits feedback stating, "The store was clean, but the staff's attitude was poor," the server will process it as follows:

[0850] Feedback comment: "The store was clean, but the staff's attitude was poor."

[0851] Text normalization: "The store was clean, but the employees had a bad attitude."

[0852] Emotion analysis result: Negative

[0853] Category: service

[0854] In this way, it becomes possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on visualized data.

[0855] As described above, this invention enables efficient handling of feedback from employees and customers and provides a means to effectively solve challenges in the management of physical stores.

[0856] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0857] Step 1:

[0858] Users enter and submit feedback comments using their smartphones or tablets. The feedback comments are generated as input data and sent to the server in JSON format.

[0859] Input: User-submitted feedback comments (e.g., "The store was clean, but the staff's attitude was poor.")

[0860] Output: Data in JSON format (Example: {"comment": "The store was clean, but the staff's attitude was bad"})

[0861] Step 2:

[0862] The server preprocesses the received feedback comments, performing spell checking, normalization (such as converting characters to lowercase), and removal of unnecessary data.

[0863] Input: Feedback comment data in JSON format

[0864] Output: Preprocessed text data (e.g., "The store was clean, but the employees had a bad attitude")

[0865] Specific actions: Convert text to lowercase and remove unnecessary special characters.

[0866] Step 3:

[0867] The server sends the pre-processed data to natural language processing engines (NLTK and TextBlob) for text sentiment analysis and categorization.

[0868] Input: Preprocessed text data

[0869] Output: Sentiment analysis results and categories (e.g., emotion "negative", category "service")

[0870] Specific operation: Use TextBlob to determine whether the emotion is positive or negative, and then determine a category based on keywords.

[0871] Step 4:

[0872] The server stores the analyzed and classified data in a database (SQLite). This database stores information such as feedback comments, sentiment, and categories as records.

[0873] Input: Analyzed and classified data (e.g., "The store was clean, but the staff's attitude was bad", Sentiment: "Negative", Category: "Service")

[0874] Output: Records stored in the database

[0875] Specific operation: Use SQLAlchemy to store the generated data in an SQLite database.

[0876] Step 5:

[0877] The server analyzes the stored feedback data and visualizes the distribution of comments and sentiments by category. Plotly is used to generate graphs and charts.

[0878] Input: Feedback data in the database

[0879] Output: Visualized graphs and charts

[0880] Specific actions: Use Plotly to represent the number of comments and sentiment distribution for each category using bar graphs and pie charts.

[0881] Step 6:

[0882] The server sends the visualized data to the device (smartphone or tablet), and the administrator checks it on the dashboard.

[0883] Input: Visualized graphs and charts

[0884] Output: Graphs and charts displayed on the administrator's terminal.

[0885] Specific operation: Generated graphs and charts are sent to the device via a web interface and displayed on the dashboard.

[0886] These steps enable the rapid and accurate collection and analysis of feedback from employees and customers, and the swift implementation of effective improvement measures based on visualized data.

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

[0888] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[0890] [Third Embodiment]

[0891] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0892] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0893] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0895] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0897] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0898] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0899] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

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

[0901] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0902] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0903] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0904] Data reception and preprocessing

[0905] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is typically in a format such as JSON or CSV.

[0906] Specific example: {"Comment": "There is little communication with management."}

[0907] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0908] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0909] Data analysis

[0910] 1. The server sends pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0911] 2. The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0912] Specific example: "I have little communication with my manager." → Category: "Communication"

[0913] 3. The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0914] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0915] Database storage and classification of analysis results

[0916] 1. The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0917] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0918] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0919] Visualization of analysis results

[0920] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[0921] Specific example: Display the number of comments for each category using a bar graph.

[0922] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0923] Feedback and Action

[0924] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[0925] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0926] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0927] The following describes the processing flow.

[0928] Step 1:

[0929] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[0930] Specific example: {"Comment": "There is little communication with management."}

[0931] Step 2:

[0932] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[0933] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[0934] Step 3:

[0935] The server sends the pre-processed free-comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[0936] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[0937] Step 4:

[0938] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[0939] Specific example: "I have little communication with my manager." → Category: "Communication"

[0940] Step 5:

[0941] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[0942] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[0943] Step 6:

[0944] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0945] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[0946] Step 7:

[0947] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[0948] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[0949] Step 8:

[0950] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[0951] Specific example: Display the number of comments for each category using a bar graph.

[0952] Step 9:

[0953] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0954] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[0955] Step 10:

[0956] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[0957] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[0958] (Example 1)

[0959] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0960] The challenge lies in efficiently analyzing and classifying the large volume of free-form comments collected from employee surveys, thereby supporting decision-makers in making quick and accurate decisions. Furthermore, there is a need to automate the entire process, from pre-processing, analysis, classification, storage, aggregation, visualization, and display of comment data, in order to reduce the workload on employees and provide highly accurate analytical results.

[0961] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0962] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the analysis results into categories and determining sentiment, means for classifying the data based on the analysis results, means for storing the classification results in a database, means for aggregating the stored data and providing the number of comments and sentiment distribution for each category, means for sending the aggregated data to a visualization tool, and means for sending the visualized results to a display device. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[0963] "Input data" refers to free comments and response data collected from employee survey forms.

[0964] "Preprocessing" refers to a series of data cleaning processes performed on received data, including spell checking, normalization, and removal of unnecessary data.

[0965] A "natural language processing engine" refers to software or algorithms used to analyze natural language text, such as morphological analysis and sentiment analysis.

[0966] A "category" refers to a topic or theme used to classify the analyzed comment data.

[0967] "Emotion" refers to the three emotional states—positive, negative, and neutral—analyzed from the comments.

[0968] "Classification" refers to the process of dividing comments into different categories based on the analysis results of a natural language processing engine.

[0969] A "database" refers to a digital repository for storing analysis and classification results.

[0970] "Aggregation" refers to the process of calculating statistical information, such as the number of comments per category and the distribution of sentiment, based on data stored in a database.

[0971] A "visualization tool" refers to a software library or application used to visually display aggregated data in the form of graphs and charts.

[0972] "Display device" refers to a computer screen or mobile device used by the person in charge to view the visualized results.

[0973] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[0974] Data reception and preprocessing

[0975] The server receives free-form comment data from survey forms filled out by employees. The received data is typically provided in data formats such as JSON or CSV.

[0976] As a concrete example, consider input data in the following format:

[0977] Example: "I have little communication with my manager."

[0978] The server then preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols). For example, it might convert the comment "There is little communication with management.!!!" to "There is little communication with management."

[0979] Data analysis

[0980] Next, the server sends the pre-processed comment data to the natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis. Specifically, it calls the natural language processing engine's API and sends the text data.

[0981] Example: "I have little communication with my manager."

[0982] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model. As a specific example, the comment "There is little communication with managers." is classified into the category "Communication".

[0983] Furthermore, the server performs sentiment analysis to determine the sentiment (positive, negative, or neutral) of each comment. For example, the comment "There is little communication with management" is judged to have a "negative" sentiment.

[0984] Storage and classification in the database

[0985] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[0986] As a concrete example, consider the following record.

[0987] Example: Comment ID 1, Comment: "There is little communication with management," Category: "Communication," Emotion: "Negative"

[0988] Subsequently, the server compiles the number of comments and sentiment distribution for each category based on the saved records, and provides the classification information required by the person in charge.

[0989] Visualization of analysis results

[0990] The aggregated data is sent from the server to a visualization tool. Libraries such as matplotlib and Plotly are used as visualization tools, and the results are displayed in graph and chart formats. For example, the number of comments for each category can be displayed as a bar graph.

[0991] The server then sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[0992] Feedback and Action

[0993] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions. For example, they might identify that there are many negative comments in the "Communication" category and then consider measures to improve communication with management.

[0994] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[0995] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0996] Step 1:

[0997] The server receives free-form comment data from survey forms filled out by employees. The input data is typically provided in data formats such as JSON or CSV.

[0998] Input: Free comment data from survey forms

[0999] Output: Storing received data in storage

[1000] Specific operation: The system receives form data via an HTTP request and converts it to an appropriate data structure (array or list) on the server side.

[1001] Step 2:

[1002] The server preprocesses the received free comment data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1003] Input: Received free comment data

[1004] Output: Pre-processed clean data

[1005] Specific actions: Use a text processing library to correct spelling errors, normalize text, and remove unnecessary characters.

[1006] Step 3:

[1007] The server sends pre-processed comment data to a natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis.

[1008] Input: Pre-processed clean data

[1009] Output: Analysis results data (tokenized text, sentiment score, etc.)

[1010] Specific operation: Call the natural language processing engine's API, send text data, and receive the analysis results.

[1011] Step 4:

[1012] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. At this time, topic modeling is performed using the LDA (Latent Dirichlet Allocation) model.

[1013] Input: Analysis results from a natural language processing engine

[1014] Output: Data categorized by category

[1015] Specific operation: Run the LDA model and assign each comment to the most appropriate category.

[1016] Step 5:

[1017] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[1018] Input: Analysis results from a natural language processing engine

[1019] Output: Data with determined emotions

[1020] Specific operation: Using a sentiment analysis algorithm, calculate the sentiment score for each comment and determine whether it is positive, negative, or neutral.

[1021] Step 6:

[1022] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[1023] Input: Data with determined categories and sentiments.

[1024] Output: Comment data stored in the database

[1025] Specific operation: Construct an SQL query and insert the analysis results into a database table.

[1026] Step 7:

[1027] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1028] Input: Comment data stored in the database

[1029] Output: Aggregated classification information

[1030] Specific actions: Execute database queries to aggregate the number of comments and sentiment trends for each category.

[1031] Step 8:

[1032] The server sends the aggregated data to a visualization tool. Libraries such as Matplotlib and Plotly are used to display the results in graph and chart formats.

[1033] Input: Aggregated classification information

[1034] Output: Visualized graphs and charts

[1035] Specific operation: Visualize data using a visualization library and generate images and interactive charts.

[1036] Step 9:

[1037] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where graphs and aggregated results can be displayed in real time.

[1038] Input: Visualized graphs and charts

[1039] Output: Graphs and charts displayed on the user's terminal.

[1040] Specific operation: Data is sent to the terminal using an HTTP response, and the dashboard is displayed in the web browser.

[1041] Step 10:

[1042] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[1043] Input: Graphs and charts displayed on the employee's terminal.

[1044] Output: Decision-making and actions by the person in charge

[1045] Specific operation: The dashboard displays multiple filtering options and detailed information, allowing the person in charge to develop a specific action plan.

[1046] This system allows for the efficient analysis and classification of free-form comments from employee surveys, enabling staff to make quick and accurate decisions.

[1047] (Application Example 1)

[1048] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1049] The large volume of free-form comments collected through employee surveys is difficult to analyze directly, making it challenging for those responsible to make quick and accurate decisions. Especially in environments with many employees, such as logistics centers, there is a need to efficiently collect, analyze, and translate employee feedback into concrete actions. A system is needed to appropriately understand and respond quickly to employee opinions and feelings.

[1050] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1051] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, and support means for planning and executing specific actions based on the visualized analysis results. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[1052] "Means for receiving input data" refers to devices or systems that have the function of receiving free comment data from survey forms filled out by employees.

[1053] "Means for preprocessing received input data" refers to devices or systems that have functions such as spell checking, normalization, and removal of unnecessary data from received data.

[1054] "Means of using a natural language processing engine to analyze preprocessed data" refers to devices or systems that have the function of using a natural language processing engine to perform morphological analysis or sentiment analysis using preprocessed data.

[1055] "Means for classifying data based on analysis results" refers to devices or systems that have the function of classifying comment data into categories using analysis results obtained from a natural language processing engine.

[1056] "Means for visualizing classified results" refers to devices or systems that have the function of visually displaying classified results in the form of graphs or charts.

[1057] "Means for transmitting visualized results to a display device" refers to a device or system that has the function of transmitting visualized results to a display device such as the terminal of the person in charge.

[1058] "Support tools for planning and executing specific actions based on visualized analysis results" refers to devices or systems that have the function of supporting the planning and execution of specific improvement measures and actions based on visualized analysis results.

[1059] This invention relates to a system that efficiently analyzes survey data collected from employees within a logistics center and provides feedback and action suggestions to the center's operations managers. The system is equipped with functions to appropriately understand and respond quickly to employee opinions and feelings.

[1060] Hardware and software to be used

[1061] The present invention uses the following hardware and software.

[1062] Hardware: Smartphones, servers, display devices (e.g., PCs and tablets)

[1063] Software: Natural language processing engine (NLP engine), visualization tools (matplotlib and Plotly)

[1064] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format. For example, it might receive a comment such as, "The temperature in the packing area is too high."

[1065] The server then performs spell checking, normalization, and removal of unnecessary data on the received data. For example, it converts "Packing area temperature is too high???" to "Packing area temperature is too high."

[1066] The pre-processed data is sent to a natural language processing engine where morphological analysis and sentiment analysis are performed. For example, the comment "The temperature in the packing area is too high" is classified as "Work Environment" and sentiment as "Negative".

[1067] The analysis results are saved in a database, and the number of comments and the distribution of emotions for each category are compiled. An example of the saved format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}.

[1068] The aggregated data can be displayed in graph and chart format using visualization tools. For example, the number of comments in the "Work Environment" category can be displayed as a bar graph, and the percentage of negative comments can be shown as a pie chart.

[1069] The visualized results are sent to the display device, where the administrator reviews them. Based on the visualized analysis results, the administrator plans and executes specific actions. Specific examples include adjusting the temperature in the area or improving the air conditioning system.

[1070] Examples of prompt statements are shown below.

[1071] text

[1072] Input: "The temperature in the packing area is too high."

[1073] Task: Perform natural language processing to categorize comments by category and sentiment, and output the results.

[1074] Output: Category: Work Environment, Emotion: Negative

[1075] Using this prompt, the generative AI model extracts the appropriate categories and sentiments and provides the results.

[1076] As described above, this system enables efficient analysis and classification of free-form comments from employee surveys within the logistics center, allowing staff to make quick and accurate decisions.

[1077] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1078] Step 1:

[1079] When a user enters a comment into the survey form, the server receives it. The input data format is a standard data format such as JSON or CSV. For example, the comment "The temperature in the packing area is too high." might be entered.

[1080] Step 2:

[1081] The server performs preprocessing on the received data. Specifically, it performs spell checking, normalization (converting all characters to lowercase), and removal of special characters and unnecessary symbols. If the input is "Packing area temperature is too high???", the normalized comment will be "Packing area temperature is too high."

[1082] Step 3:

[1083] The pre-processed data is sent to a natural language processing engine. The server uses this engine to perform morphological analysis and sentiment analysis. For example, the comment "The temperature in the packing area is too high" is analyzed, classified as "work environment," and its sentiment is determined to be "negative."

[1084] Step 4:

[1085] The server saves the analysis results to a database. An example of the saving format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}. This allows for the aggregation of the number of comments and the distribution of emotions for each category.

[1086] Step 5:

[1087] The server sends aggregated data stored in the database to a visualization tool. For example, it might use matplotlib or Plotly to display the number of comments per category as a bar graph and the distribution of sentiment as a pie chart.

[1088] Step 6:

[1089] The terminal sends the visualized data to the display device. Based on the displayed data, the person in charge can, for example, confirm that there are many negative comments regarding the "work environment."

[1090] Step 7:

[1091] The person in charge plans and executes specific actions based on the visualized analysis results. For example, they might consider and implement measures to adjust the temperature in the area or improve the air conditioning system.

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

[1093] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. This system incorporates an emotion engine that recognizes the user's emotions.

[1094] Data reception and preprocessing

[1095] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1096] Specific example: {"Comment": "There is little communication with management."}

[1097] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1098] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1099] Data analysis

[1100] 1. The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[1101] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[1102] 2. The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1103] Specific example: "I have little communication with my manager." → Category: "Communication"

[1104] 3. The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment. This sentiment engine recognizes the sentiment based on the user's free-form comments and adds the result to the pre-processed data.

[1105] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1106] Database storage and classification of analysis results

[1107] 1. The server saves the analysis and classification results to a database. The saved records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[1108] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1109] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1110] Visualization of analysis results

[1111] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[1112] Specific example: Display the number of comments for each category using a bar graph.

[1113] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1114] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[1115] Feedback and Action

[1116] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[1117] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1118] In this way, free-form comments from employee surveys can be efficiently analyzed and categorized, enabling staff to make quick and accurate decisions. By incorporating an emotion engine that recognizes user emotions, this system allows for a deeper understanding and more accurate analysis.

[1119] The following describes the processing flow.

[1120] Step 1:

[1121] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1122] Specific example: {"Comment": "There is little communication with management."}

[1123] Step 2:

[1124] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1125] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1126] Step 3:

[1127] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and topic modeling.

[1128] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[1129] Step 4:

[1130] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1131] Specific example: "I have little communication with my manager." → Category: "Communication"

[1132] Step 5:

[1133] The server sends categorized comment data to the sentiment engine. The sentiment engine determines the sentiment (positive, negative, or neutral) of each comment.

[1134] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1135] Step 6:

[1136] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[1137] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1138] Step 7:

[1139] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1140] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[1141] Step 8:

[1142] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[1143] Specific example: Display the number of comments for each category using a bar graph.

[1144] Step 9:

[1145] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1146] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[1147] Step 10:

[1148] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[1149] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1150] (Example 2)

[1151] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1152] There is a need to efficiently analyze and classify large amounts of free-form comment data collected from employee surveys, supporting decision-makers in making quick and accurate decisions. However, current systems rely on manual processes for pre-processing, analysis, sentiment assessment, and visualization of comments, making the process extremely time-consuming and inaccurate. Therefore, a system is needed to solve these problems and perform effective data processing.

[1153] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1154] In this invention, the server includes means for receiving input data, means for using a natural language processing engine to analyze the pre-processed data, and means for using an emotion engine to determine the sentiment of comments as positive, negative, or neutral. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[1155] "Input data" refers to text data such as comments and opinions collected from employee surveys, etc.

[1156] "Preprocessing" refers to the process of preparing received input data into a format suitable for analysis by performing spell checks, character normalization, and removal of unnecessary data.

[1157] A "natural language processing engine" is an engine that analyzes pre-processed text data to perform grammatical structure analysis and semantic understanding.

[1158] A "category" refers to a specific topic or theme used to classify input data based on the analysis results.

[1159] An "emotion engine" is an engine that determines whether an input data is positive, negative, or neutral based on its content.

[1160] A "database" is a system or location for structuring and storing analysis and classification results.

[1161] A "visualization tool" is a tool or software used to visually display analysis results or classification results in the form of graphs or charts.

[1162] A "terminal" refers to a device, such as a computer or mobile device, that allows the person in charge to check the results.

[1163] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting decision-making by those responsible for handling them. This system incorporates an emotion engine that recognizes the user's emotions.

[1164] The system consists of the following hardware and software. The main hardware includes a server for processing data and a terminal for displaying the results. The software includes a natural language processing engine, a sentiment engine, a database, and visualization tools. Specific software examples include Python's NLTK and SpaCy for natural language processing engines, and matplotlib and Plotly for visualization tools.

[1165] First, the server receives free-form comment data from the survey forms filled out by employees. The data is typically received in JSON or CSV format. For example, it may include comments like the following:

[1166] Specific example: "I have little communication with my manager."

[1167] Next, the server preprocesses the received data. This preprocessing includes spell checking, character normalization, and removal of unnecessary data. The preprocessed data is then formatted for analysis.

[1168] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1169] Once preprocessing is complete, the data is sent from the server to the natural language processing engine. The natural language processing engine performs morphological analysis and topic analysis to analyze the grammatical structure and meaning of the comments.

[1170] Specific example: Perform morphological analysis on the free comment "There is little communication with managers" and extract its constituent elements.

[1171] Next, the server classifies the comments into specific categories based on the analysis results. For example, it might use an LDA model to perform topic modeling and determine which category each comment belongs to.

[1172] Specific example: "I have little communication with my manager." → Category: "Communication"

[1173] Furthermore, the server uses an emotion engine to determine the sentiment (positive, negative, or neutral) of each comment. The results of the emotion engine's analysis are added to the pre-processed data.

[1174] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1175] The analysis and classification results are stored in a database by the server. This includes the comment ID, original comment, category, analysis result, and determined sentiment.

[1176] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1177] Based on the records stored in the database, the server aggregates the number of comments and the distribution of sentiment for each category, and provides the classification information required by the person in charge.

[1178] The aggregated data is sent from the server to a visualization tool and displayed as graphs and charts using tools such as matplotlib and Plotly.

[1179] Specific example: Display the number of comments for each category using a bar graph.

[1180] The visualized results are sent by the server to the user's terminal. The user can view the results in a list on a dashboard page displayed on their terminal.

[1181] Finally, the terminal displays the visualized analysis results to the person in charge, who can review them and decide on the necessary actions (for example, implementing improvement measures for a specific category).

[1182] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1183] Examples of prompt statements to be input to a generative AI model include the following:

[1184] "Perform a sentiment analysis on the free-form employee comments collected from the survey and categorize them. Example: 'I have little communication with my manager.'"

[1185] The above describes embodiments for carrying out the present invention.

[1186] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1187] Step 1:

[1188] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1189] Specific operation: The server receives the data sent as an HTTP POST request and checks the data format.

[1190] Input: Comment data in JSON or CSV format submitted via the survey form.

[1191] Output: Saves received comment data. (Example: "{"Comment": "There is little communication with management.")

[1192] Step 2:

[1193] The server preprocesses the received data. This preprocessing includes spell checking, character normalization (converting all characters to lowercase), and removal of unnecessary data.

[1194] Specific operation: Special characters are removed using regular expressions with the Python module re, and then all characters are converted to lowercase using the str.lower() function.

[1195] Input: Received comment data.

[1196] Output: Pre-processed data. (Example: "There is little communication with managers.")

[1197] Step 3:

[1198] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes a morphological analysis engine and a sentiment analysis engine.

[1199] Specific operation: Preprocessed text data is sent via an HTTP POST request using the requests module.

[1200] Input: Pre-processed comment data.

[1201] Output: Analysis results from the natural language processing engine. (Example: "{'tokens': ['management position', 'communication', 'few']}")

[1202] Step 4:

[1203] The server classifies comments into specific categories based on the analysis results received from the natural language processing engine.

[1204] Specific operation: Topic modeling is performed using Scikit-learn's LDA model to classify comments into categories.

[1205] Input: Analysis results from a natural language processing engine.

[1206] Output: Classified category information. (Example: "Category: Communication")

[1207] Step 5:

[1208] The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment.

[1209] Specific actions: Perform sentiment analysis using Natural Language Toolkit (NLTK) or Scikit-learn.

[1210] Input: Analysis results from a natural language processing engine.

[1211] Output: Emotion assessment result. (Example: "Emotion: Negative")

[1212] Step 6:

[1213] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, analysis result, and determined sentiment.

[1214] Specific operation: Insert results into the database using an ORM such as SQLAlchemy.

[1215] Input: Analysis and classification results.

[1216] Output: A new record is added to the database. (Example: "{"Comment ID": 1, "Comment": "Poor communication with management," "Category": "Communication," "Emotion": "Negative"}")

[1217] Step 7:

[1218] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1219] Specific operation: Issue an SQL query, retrieve the aggregated results, and output them in JSON format.

[1220] Input: Records stored in the database.

[1221] Output: Number of comments by category, and distribution of sentiment. (Example: "{'Category': 'Communication', 'Number': 10, 'Sentiment Distribution': {'Positive': 2, 'Negative': 8}}")

[1222] Step 8:

[1223] The server sends the aggregated data to a visualization tool. This visualization tool uses libraries such as matplotlib or Plotly.

[1224] Specific operation: Create a graph using matplotlib's bar() function or Plotly's plot() function.

[1225] Input: Aggregated results.

[1226] Output: Visualized graphs and charts. (Example: "Number of comments by category in bar graph format")

[1227] Step 9:

[1228] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in graph and chart format.

[1229] Specific action: The created graph is saved as an image file and sent to the user's browser as an HTTP response.

[1230] Input: Visualized data.

[1231] Output: The dashboard page displayed on the user's terminal. (Example: "Graph of the number of comments by category displayed on the dashboard")

[1232] Step 10:

[1233] The terminal displays the visualized analysis results to the person in charge. The person in charge can check the results on the dashboard page and click to access more detailed data if needed.

[1234] Specific operation: Dynamically update the dashboard web page using JavaScript or a framework (e.g., React).

[1235] Input: Visualization data sent from the server.

[1236] Output: A dashboard page displayed in a format that can be viewed by the person in charge. (Example: "Detailed data link displayed on the dashboard")

[1237] Step 11:

[1238] Based on the visualized results, users decide and execute the necessary actions. Specifically, they consider and implement improvement measures for a particular category.

[1239] Specific action: Use the interactive feedback function provided on the dashboard to register specific improvement measures in response to comments.

[1240] Input: Visualized analysis results and feedback information.

[1241] Output: Logs and records related to the implementation of improvement measures. (Example: "Record of implementation of measures to improve communication with managers")

[1242] (Application Example 2)

[1243] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1244] In modern brick-and-mortar stores, it is crucial to quickly and efficiently collect and analyze feedback from employees and customers, and to implement improvement measures based on that feedback. However, traditional feedback collection methods present problems such as the enormous volume of data, making manual analysis difficult, and consequently delaying prompt responses based on feedback. Furthermore, accurately understanding the emotions and content of the feedback is difficult, posing a challenge in formulating appropriate improvement measures.

[1245] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[1246] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, means for collecting employee and customer feedback and analyzing it based on sentiment and category, means for storing the analysis results in a database, and means for visualizing the stored data as statistical information. This makes it possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on the visualized data.

[1247] "Input data" refers to raw data that is subject to analysis, such as comments and feedback collected from employees and customers.

[1248] "Preprocessing" refers to the process of spell-checking, normalizing, and removing unnecessary data from received input data.

[1249] A "natural language processing engine" is a system that analyzes pre-processed data and uses specific rules and algorithms to analyze text data.

[1250] "Methods of categorization" refer to methods of organizing analyzed data based on specific topics or themes.

[1251] A "means for determining emotions" refers to a method for identifying positive, negative, and neutral emotions from the text of the analyzed data.

[1252] "Visualization" is the process of visually displaying analysis results in the form of graphs and charts.

[1253] "Means of sending to a display device" refers to methods of sending visualized data to the terminals of the person in charge or the system administrator.

[1254] "Methods for collecting feedback" refer to methods of obtaining opinions and comments from employees and customers as data.

[1255] "Means of saving to a database" refers to methods of storing analyzed and classified data in a database in a format that can be accessed later.

[1256] "Statistical information" refers to information that shows an overview of the results of an analysis, such as numerical data and distribution data calculated from stored data.

[1257] Modes for carrying out the invention

[1258] This invention relates to a system that enables store managers to make quick decisions by rapidly and efficiently collecting feedback from employees and customers, performing sentiment analysis and categorization, and visualizing the results. This system includes the following elements:

[1259] Hardware and software configuration

[1260] server

[1261] The server is responsible for receiving, preprocessing, analyzing, classifying, storing, visualizing, and transmitting feedback data. The server uses the following technologies:

[1262] Flask: Used as a web framework for receiving data and transferring data in JSON format.

[1263] SQLAlchemy: Used for database management, including storing and reading feedback data.

[1264] NLTK and TextBlob: Perform natural language processing and sentiment analysis.

[1265] Plotly: Used for data visualization.

[1266] SQLite: A lightweight database engine used for storing data.

[1267] terminal

[1268] The terminal is used by store managers to view visualized feedback results.

[1269] Smartphone or tablet: Used for collecting feedback and displaying results.

[1270] Details of feedback collection and analysis

[1271] 1. Gathering feedback

[1272] The server receives feedback comments submitted from smartphones or tablets in JSON format. Example of a user-submitted comment: "The store was clean, but the staff's attitude was poor."

[1273] 2. Data preprocessing

[1274] The server preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data.

[1275] 3. Natural Language Processing

[1276] The pre-processed data is sent to natural language processing engines (NLTK and TextBlob) to determine the sentiment of the text (positive, negative, neutral) and classify it into specific categories (such as "cleanliness" or "service").

[1277] 4. Database storage

[1278] The analyzed and classified data is stored in a SQLite database using SQLAlchemy. The records stored include the comment itself, the determined sentiment, and the category.

[1279] 5. Data Visualization

[1280] The server reads the stored data and visualizes the number of comments and sentiment distribution for each category using Plotly.

[1281] 6. Displaying the results

[1282] The visualized data is sent to devices (smartphones and tablets) and can be viewed by administrators through a dashboard. For example, measures can be considered for the "service" category, which receives a lot of negative feedback.

[1283] Specific example

[1284] If a user submits feedback stating, "The store was clean, but the staff's attitude was poor," the server will process it as follows:

[1285] Feedback comment: "The store was clean, but the staff's attitude was poor."

[1286] Text normalization: "The store was clean, but the employees had a bad attitude."

[1287] Emotion analysis result: Negative

[1288] Category: service

[1289] In this way, it becomes possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on visualized data.

[1290] As described above, this invention enables efficient handling of feedback from employees and customers and provides a means to effectively solve challenges in the management of physical stores.

[1291] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1292] Step 1:

[1293] Users enter and submit feedback comments using their smartphones or tablets. The feedback comments are generated as input data and sent to the server in JSON format.

[1294] Input: User-submitted feedback comments (e.g., "The store was clean, but the staff's attitude was poor.")

[1295] Output: Data in JSON format (Example: {"comment": "The store was clean, but the staff's attitude was bad"})

[1296] Step 2:

[1297] The server preprocesses the received feedback comments, performing spell checking, normalization (such as converting characters to lowercase), and removal of unnecessary data.

[1298] Input: Feedback comment data in JSON format

[1299] Output: Preprocessed text data (e.g., "The store was clean, but the employees had a bad attitude")

[1300] Specific actions: Convert text to lowercase and remove unnecessary special characters.

[1301] Step 3:

[1302] The server sends the pre-processed data to natural language processing engines (NLTK and TextBlob) for text sentiment analysis and categorization.

[1303] Input: Preprocessed text data

[1304] Output: Sentiment analysis results and categories (e.g., emotion "negative", category "service")

[1305] Specific operation: Use TextBlob to determine whether the emotion is positive or negative, and then determine a category based on keywords.

[1306] Step 4:

[1307] The server stores the analyzed and classified data in a database (SQLite). This database stores information such as feedback comments, sentiment, and categories as records.

[1308] Input: Analyzed and classified data (e.g., "The store was clean, but the staff's attitude was bad", Sentiment: "Negative", Category: "Service")

[1309] Output: Records stored in the database

[1310] Specific operation: Use SQLAlchemy to store the generated data in an SQLite database.

[1311] Step 5:

[1312] The server analyzes the stored feedback data and visualizes the distribution of comments and sentiments by category. Plotly is used to generate graphs and charts.

[1313] Input: Feedback data in the database

[1314] Output: Visualized graphs and charts

[1315] Specific actions: Use Plotly to represent the number of comments and sentiment distribution for each category using bar graphs and pie charts.

[1316] Step 6:

[1317] The server sends the visualized data to the device (smartphone or tablet), and the administrator checks it on the dashboard.

[1318] Input: Visualized graphs and charts

[1319] Output: Graphs and charts displayed on the administrator's terminal.

[1320] Specific operation: Generated graphs and charts are sent to the device via a web interface and displayed on the dashboard.

[1321] These steps enable the rapid and accurate collection and analysis of feedback from employees and customers, and the swift implementation of effective improvement measures based on visualized data.

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

[1323] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[1325] [Fourth Embodiment]

[1326] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1327] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1328] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1329] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1330] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[1332] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1333] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1334] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[1335] The specific processing program 56 is an example of a "program" relating to the technology of this 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.

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

[1337] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[1339] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[1340] Data reception and preprocessing

[1341] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is typically in a format such as JSON or CSV.

[1342] Specific example: {"Comment": "There is little communication with management."}

[1343] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1344] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1345] Data analysis

[1346] 1. The server sends pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[1347] 2. The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1348] Specific example: "I have little communication with my manager." → Category: "Communication"

[1349] 3. The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[1350] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1351] Database storage and classification of analysis results

[1352] 1. The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[1353] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1354] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1355] Visualization of analysis results

[1356] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[1357] Specific example: Display the number of comments for each category using a bar graph.

[1358] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1359] Feedback and Action

[1360] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[1361] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1362] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[1363] The following describes the processing flow.

[1364] Step 1:

[1365] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1366] Specific example: {"Comment": "There is little communication with management."}

[1367] Step 2:

[1368] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1369] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1370] Step 3:

[1371] The server sends the pre-processed free-comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[1372] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[1373] Step 4:

[1374] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1375] Specific example: "I have little communication with my manager." → Category: "Communication"

[1376] Step 5:

[1377] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[1378] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1379] Step 6:

[1380] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[1381] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1382] Step 7:

[1383] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1384] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[1385] Step 8:

[1386] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[1387] Specific example: Display the number of comments for each category using a bar graph.

[1388] Step 9:

[1389] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1390] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[1391] Step 10:

[1392] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[1393] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1394] (Example 1)

[1395] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1396] The challenge lies in efficiently analyzing and classifying the large volume of free-form comments collected from employee surveys, thereby supporting decision-makers in making quick and accurate decisions. Furthermore, there is a need to automate the entire process, from pre-processing, analysis, classification, storage, aggregation, visualization, and display of comment data, in order to reduce the workload on employees and provide highly accurate analytical results.

[1397] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1398] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the analysis results into categories and determining sentiment, means for classifying the data based on the analysis results, means for storing the classification results in a database, means for aggregating the stored data and providing the number of comments and sentiment distribution for each category, means for sending the aggregated data to a visualization tool, and means for sending the visualized results to a display device. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[1399] "Input data" refers to free comments and response data collected from employee survey forms.

[1400] "Preprocessing" refers to a series of data cleaning processes performed on received data, including spell checking, normalization, and removal of unnecessary data.

[1401] A "natural language processing engine" refers to software or algorithms used to analyze natural language text, such as morphological analysis and sentiment analysis.

[1402] A "category" refers to a topic or theme used to classify the analyzed comment data.

[1403] "Emotion" refers to the three emotional states—positive, negative, and neutral—analyzed from the comments.

[1404] "Classification" refers to the process of dividing comments into different categories based on the analysis results of a natural language processing engine.

[1405] A "database" refers to a digital repository for storing analysis and classification results.

[1406] "Aggregation" refers to the process of calculating statistical information, such as the number of comments per category and the distribution of sentiment, based on data stored in a database.

[1407] A "visualization tool" refers to a software library or application used to visually display aggregated data in the form of graphs and charts.

[1408] "Display device" refers to a computer screen or mobile device used by the person in charge to view the visualized results.

[1409] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. The processing of this system's program is described below in natural language.

[1410] Data reception and preprocessing

[1411] The server receives free-form comment data from survey forms filled out by employees. The received data is typically provided in data formats such as JSON or CSV.

[1412] As a concrete example, consider input data in the following format:

[1413] Example: "I have little communication with my manager."

[1414] The server then preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols). For example, it might convert the comment "There is little communication with management.!!!" to "There is little communication with management."

[1415] Data analysis

[1416] Next, the server sends the pre-processed comment data to the natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis. Specifically, it calls the natural language processing engine's API and sends the text data.

[1417] Example: "I have little communication with my manager."

[1418] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model. As a specific example, the comment "There is little communication with managers." is classified into the category "Communication".

[1419] Furthermore, the server performs sentiment analysis to determine the sentiment (positive, negative, or neutral) of each comment. For example, the comment "There is little communication with management" is judged to have a "negative" sentiment.

[1420] Storage and classification in the database

[1421] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[1422] As a concrete example, consider the following record.

[1423] Example: Comment ID 1, Comment: "There is little communication with management," Category: "Communication," Emotion: "Negative"

[1424] Subsequently, the server compiles the number of comments and sentiment distribution for each category based on the saved records, and provides the classification information required by the person in charge.

[1425] Visualization of analysis results

[1426] The aggregated data is sent from the server to a visualization tool. Libraries such as matplotlib and Plotly are used as visualization tools, and the results are displayed in graph and chart formats. For example, the number of comments for each category can be displayed as a bar graph.

[1427] The server then sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1428] Feedback and Action

[1429] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions. For example, they might identify that there are many negative comments in the "Communication" category and then consider measures to improve communication with management.

[1430] In this way, a system is realized that efficiently analyzes and classifies free-form comments from employee surveys, enabling those in charge to make quick and accurate decisions.

[1431] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1432] Step 1:

[1433] The server receives free-form comment data from survey forms filled out by employees. The input data is typically provided in data formats such as JSON or CSV.

[1434] Input: Free comment data from survey forms

[1435] Output: Storing received data in storage

[1436] Specific operation: The system receives form data via an HTTP request and converts it to an appropriate data structure (array or list) on the server side.

[1437] Step 2:

[1438] The server preprocesses the received free comment data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1439] Input: Received free comment data

[1440] Output: Pre-processed clean data

[1441] Specific actions: Use a text processing library to correct spelling errors, normalize text, and remove unnecessary characters.

[1442] Step 3:

[1443] The server sends pre-processed comment data to a natural language processing engine. This engine includes engines for morphological analysis and sentiment analysis.

[1444] Input: Pre-processed clean data

[1445] Output: Analysis results data (tokenized text, sentiment score, etc.)

[1446] Specific operation: Call the natural language processing engine's API, send text data, and receive the analysis results.

[1447] Step 4:

[1448] The server receives the analysis results from the natural language processing engine and classifies the comment data into multiple categories. At this time, topic modeling is performed using the LDA (Latent Dirichlet Allocation) model.

[1449] Input: Analysis results from a natural language processing engine

[1450] Output: Data categorized by category

[1451] Specific operation: Run the LDA model and assign each comment to the most appropriate category.

[1452] Step 5:

[1453] The server performs sentiment analysis and determines the sentiment (positive, negative, or neutral) of each comment.

[1454] Input: Analysis results from a natural language processing engine

[1455] Output: Data with determined emotions

[1456] Specific operation: Using a sentiment analysis algorithm, calculate the sentiment score for each comment and determine whether it is positive, negative, or neutral.

[1457] Step 6:

[1458] The server stores the analysis and classification results in a database. The stored records include fields such as comment ID, original comment, category, and sentiment.

[1459] Input: Data with determined categories and sentiments.

[1460] Output: Comment data stored in the database

[1461] Specific operation: Construct an SQL query and insert the analysis results into a database table.

[1462] Step 7:

[1463] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1464] Input: Comment data stored in the database

[1465] Output: Aggregated classification information

[1466] Specific actions: Execute database queries to aggregate the number of comments and sentiment trends for each category.

[1467] Step 8:

[1468] The server sends the aggregated data to a visualization tool. Libraries such as Matplotlib and Plotly are used to display the results in graph and chart formats.

[1469] Input: Aggregated classification information

[1470] Output: Visualized graphs and charts

[1471] Specific operation: Visualize data using a visualization library and generate images and interactive charts.

[1472] Step 9:

[1473] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where graphs and aggregated results can be displayed in real time.

[1474] Input: Visualized graphs and charts

[1475] Output: Graphs and charts displayed on the user's terminal.

[1476] Specific operation: Data is sent to the terminal using an HTTP response, and the dashboard is displayed in the web browser.

[1477] Step 10:

[1478] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions.

[1479] Input: Graphs and charts displayed on the employee's terminal.

[1480] Output: Decision-making and actions by the person in charge

[1481] Specific operation: The dashboard displays multiple filtering options and detailed information, allowing the person in charge to develop a specific action plan.

[1482] This system allows for the efficient analysis and classification of free-form comments from employee surveys, enabling staff to make quick and accurate decisions.

[1483] (Application Example 1)

[1484] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1485] The large volume of free-form comments collected through employee surveys is difficult to analyze directly, making it challenging for those responsible to make quick and accurate decisions. Especially in environments with many employees, such as logistics centers, there is a need to efficiently collect, analyze, and translate employee feedback into concrete actions. A system is needed to appropriately understand and respond quickly to employee opinions and feelings.

[1486] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1487] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, and support means for planning and executing specific actions based on the visualized analysis results. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[1488] "Means for receiving input data" refers to devices or systems that have the function of receiving free comment data from survey forms filled out by employees.

[1489] "Means for preprocessing received input data" refers to devices or systems that have functions such as spell checking, normalization, and removal of unnecessary data from received data.

[1490] "Means of using a natural language processing engine to analyze preprocessed data" refers to devices or systems that have the function of using a natural language processing engine to perform morphological analysis or sentiment analysis using preprocessed data.

[1491] "Means for classifying data based on analysis results" refers to devices or systems that have the function of classifying comment data into categories using analysis results obtained from a natural language processing engine.

[1492] "Means for visualizing classified results" refers to devices or systems that have the function of visually displaying classified results in the form of graphs or charts.

[1493] "Means for transmitting visualized results to a display device" refers to a device or system that has the function of transmitting visualized results to a display device such as the terminal of the person in charge.

[1494] "Support tools for planning and executing specific actions based on visualized analysis results" refers to devices or systems that have the function of supporting the planning and execution of specific improvement measures and actions based on visualized analysis results.

[1495] This invention relates to a system that efficiently analyzes survey data collected from employees within a logistics center and provides feedback and action suggestions to the center's operations managers. The system is equipped with functions to appropriately understand and respond quickly to employee opinions and feelings.

[1496] Hardware and software to be used

[1497] The present invention uses the following hardware and software.

[1498] Hardware: Smartphones, servers, display devices (e.g., PCs and tablets)

[1499] Software: Natural language processing engine (NLP engine), visualization tools (matplotlib and Plotly)

[1500] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format. For example, it might receive a comment such as, "The temperature in the packing area is too high."

[1501] The server then performs spell checking, normalization, and removal of unnecessary data on the received data. For example, it converts "Packing area temperature is too high???" to "Packing area temperature is too high."

[1502] The pre-processed data is sent to a natural language processing engine where morphological analysis and sentiment analysis are performed. For example, the comment "The temperature in the packing area is too high" is classified as "Work Environment" and sentiment as "Negative".

[1503] The analysis results are saved in a database, and the number of comments and the distribution of emotions for each category are compiled. An example of the saved format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}.

[1504] The aggregated data can be displayed in graph and chart format using visualization tools. For example, the number of comments in the "Work Environment" category can be displayed as a bar graph, and the percentage of negative comments can be shown as a pie chart.

[1505] The visualized results are sent to the display device, where the administrator reviews them. Based on the visualized analysis results, the administrator plans and executes specific actions. Specific examples include adjusting the temperature in the area or improving the air conditioning system.

[1506] Examples of prompt statements are shown below.

[1507] text

[1508] Input: "The temperature in the packing area is too high."

[1509] Task: Perform natural language processing to categorize comments by category and sentiment, and output the results.

[1510] Output: Category: Work Environment, Emotion: Negative

[1511] Using this prompt, the generative AI model extracts the appropriate categories and sentiments and provides the results.

[1512] As described above, this system enables efficient analysis and classification of free-form comments from employee surveys within the logistics center, allowing staff to make quick and accurate decisions.

[1513] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1514] Step 1:

[1515] When a user enters a comment into the survey form, the server receives it. The input data format is a standard data format such as JSON or CSV. For example, the comment "The temperature in the packing area is too high." might be entered.

[1516] Step 2:

[1517] The server performs preprocessing on the received data. Specifically, it performs spell checking, normalization (converting all characters to lowercase), and removal of special characters and unnecessary symbols. If the input is "Packing area temperature is too high???", the normalized comment will be "Packing area temperature is too high."

[1518] Step 3:

[1519] The pre-processed data is sent to a natural language processing engine. The server uses this engine to perform morphological analysis and sentiment analysis. For example, the comment "The temperature in the packing area is too high" is analyzed, classified as "work environment," and its sentiment is determined to be "negative."

[1520] Step 4:

[1521] The server saves the analysis results to a database. An example of the saving format is {"Comment ID": 1, "Comment": "The temperature in the packing area is too high.", "Category": "Work Environment", "Emotion": "Negative"}. This allows for the aggregation of the number of comments and the distribution of emotions for each category.

[1522] Step 5:

[1523] The server sends aggregated data stored in the database to a visualization tool. For example, it might use matplotlib or Plotly to display the number of comments per category as a bar graph and the distribution of sentiment as a pie chart.

[1524] Step 6:

[1525] The terminal sends the visualized data to the display device. Based on the displayed data, the person in charge can, for example, confirm that there are many negative comments regarding the "work environment."

[1526] Step 7:

[1527] The person in charge plans and executes specific actions based on the visualized analysis results. For example, they might consider and implement measures to adjust the temperature in the area or improve the air conditioning system.

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

[1529] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting the work of the person in charge. This system incorporates an emotion engine that recognizes the user's emotions.

[1530] Data reception and preprocessing

[1531] 1. The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1532] Specific example: {"Comment": "There is little communication with management."}

[1533] 2. The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1534] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1535] Data analysis

[1536] 1. The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and engines that perform sentiment analysis.

[1537] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[1538] 2. The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1539] Specific example: "I have little communication with my manager." → Category: "Communication"

[1540] 3. The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment. This sentiment engine recognizes the sentiment based on the user's free-form comments and adds the result to the pre-processed data.

[1541] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1542] Database storage and classification of analysis results

[1543] 1. The server saves the analysis and classification results to a database. The saved records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[1544] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1545] 2. The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1546] Visualization of analysis results

[1547] 1. The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib or Plotly to display the results in graph or chart format.

[1548] Specific example: Display the number of comments for each category using a bar graph.

[1549] 2. The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1550] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[1551] Feedback and Action

[1552] 1. The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[1553] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1554] In this way, free-form comments from employee surveys can be efficiently analyzed and categorized, enabling staff to make quick and accurate decisions. By incorporating an emotion engine that recognizes user emotions, this system allows for a deeper understanding and more accurate analysis.

[1555] The following describes the processing flow.

[1556] Step 1:

[1557] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1558] Specific example: {"Comment": "There is little communication with management."}

[1559] Step 2:

[1560] The server preprocesses the received data. Preprocessing includes spell checking, normalization (converting all characters to lowercase, unifying case, etc.), and removal of unnecessary data (removing special characters and unnecessary symbols).

[1561] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1562] Step 3:

[1563] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes engines that perform morphological analysis and topic modeling.

[1564] Specific example: Perform morphological analysis on the free comment "There is little communication with managers."

[1565] Step 4:

[1566] The server receives the analysis results from the natural language processing engine and classifies the comments into specific categories. For example, it performs topic modeling using an LDA (Latent Dirichlet Allocation) model.

[1567] Specific example: "I have little communication with my manager." → Category: "Communication"

[1568] Step 5:

[1569] The server sends categorized comment data to the sentiment engine. The sentiment engine determines the sentiment (positive, negative, or neutral) of each comment.

[1570] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1571] Step 6:

[1572] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, and the determined sentiment along with the analysis result.

[1573] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1574] Step 7:

[1575] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1576] Specific example: Aggregate the number of comments and the distribution of emotions in the "Communication" category.

[1577] Step 8:

[1578] The server sends the aggregated data to a visualization tool. The visualization tool uses libraries such as matplotlib and Plotly to display the results in graph and chart format.

[1579] Specific example: Display the number of comments for each category using a bar graph.

[1580] Step 9:

[1581] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in a list.

[1582] Specific example: The dashboard displays a graph showing the number of comments and the distribution of sentiment in the "Communication" category.

[1583] Step 10:

[1584] The terminal displays the visualized analysis results to the person in charge. The person in charge can review the displayed results and decide on the necessary actions (for example, implementing improvement measures corresponding to a specific category).

[1585] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1586] (Example 2)

[1587] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1588] There is a need to efficiently analyze and classify large amounts of free-form comment data collected from employee surveys, supporting decision-makers in making quick and accurate decisions. However, current systems rely on manual processes for pre-processing, analysis, sentiment assessment, and visualization of comments, making the process extremely time-consuming and inaccurate. Therefore, a system is needed to solve these problems and perform effective data processing.

[1589] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.

[1590] In this invention, the server includes means for receiving input data, means for using a natural language processing engine to analyze the pre-processed data, and means for using an emotion engine to determine the sentiment of comments as positive, negative, or neutral. This enables efficient analysis and classification of free comments in employee surveys, allowing personnel to make quick and accurate decisions.

[1591] "Input data" refers to text data such as comments and opinions collected from employee surveys, etc.

[1592] "Preprocessing" refers to the process of preparing received input data into a format suitable for analysis by performing spell checks, character normalization, and removal of unnecessary data.

[1593] A "natural language processing engine" is an engine that analyzes pre-processed text data to perform grammatical structure analysis and semantic understanding.

[1594] A "category" refers to a specific topic or theme used to classify input data based on the analysis results.

[1595] An "emotion engine" is an engine that determines whether an input data is positive, negative, or neutral based on its content.

[1596] A "database" is a system or location for structuring and storing analysis and classification results.

[1597] A "visualization tool" is a tool or software used to visually display analysis results or classification results in the form of graphs or charts.

[1598] A "terminal" refers to a device, such as a computer or mobile device, that allows the person in charge to check the results.

[1599] This invention relates to a system that efficiently analyzes and classifies a large volume of free-form comments collected from employee surveys, thereby supporting decision-making by those responsible for handling them. This system incorporates an emotion engine that recognizes the user's emotions.

[1600] The system consists of the following hardware and software. The main hardware includes a server for processing data and a terminal for displaying the results. The software includes a natural language processing engine, a sentiment engine, a database, and visualization tools. Specific software examples include Python's NLTK and SpaCy for natural language processing engines, and matplotlib and Plotly for visualization tools.

[1601] First, the server receives free-form comment data from the survey forms filled out by employees. The data is typically received in JSON or CSV format. For example, it may include comments like the following:

[1602] Specific example: "I have little communication with my manager."

[1603] Next, the server preprocesses the received data. This preprocessing includes spell checking, character normalization, and removal of unnecessary data. The preprocessed data is then formatted for analysis.

[1604] Specific example: "There is little communication with managers!!!" → "There is little communication with managers."

[1605] Once preprocessing is complete, the data is sent from the server to the natural language processing engine. The natural language processing engine performs morphological analysis and topic analysis to analyze the grammatical structure and meaning of the comments.

[1606] Specific example: Perform morphological analysis on the free comment "There is little communication with managers" and extract its constituent elements.

[1607] Next, the server classifies the comments into specific categories based on the analysis results. For example, it might use an LDA model to perform topic modeling and determine which category each comment belongs to.

[1608] Specific example: "I have little communication with my manager." → Category: "Communication"

[1609] Furthermore, the server uses an emotion engine to determine the sentiment (positive, negative, or neutral) of each comment. The results of the emotion engine's analysis are added to the pre-processed data.

[1610] Specific example: "I have little communication with my manager." → Emotion: "Negative"

[1611] The analysis and classification results are stored in a database by the server. This includes the comment ID, original comment, category, analysis result, and determined sentiment.

[1612] Specific example: {"Comment ID": 1, "Comment": "I have little communication with my manager," "Category": "Communication," "Emotion": "Negative"}

[1613] Based on the records stored in the database, the server aggregates the number of comments and the distribution of sentiment for each category, and provides the classification information required by the person in charge.

[1614] The aggregated data is sent from the server to a visualization tool and displayed as graphs and charts using tools such as matplotlib and Plotly.

[1615] Specific example: Display the number of comments for each category using a bar graph.

[1616] The visualized results are sent by the server to the user's terminal. The user can view the results in a list on a dashboard page displayed on their terminal.

[1617] Finally, the terminal displays the visualized analysis results to the person in charge, who can review them and decide on the necessary actions (for example, implementing improvement measures for a specific category).

[1618] Specific example: Identify that there are many negative comments in the "Communication" category and consider measures to improve communication with managers.

[1619] Examples of prompt statements to be input to a generative AI model include the following:

[1620] "Perform a sentiment analysis on the free-form employee comments collected from the survey and categorize them. Example: 'I have little communication with my manager.'"

[1621] The above describes embodiments for carrying out the present invention.

[1622] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1623] Step 1:

[1624] The server receives free-form comment data from survey forms filled out by employees. The received data is in JSON or CSV format.

[1625] Specific operation: The server receives the data sent as an HTTP POST request and checks the data format.

[1626] Input: Comment data in JSON or CSV format submitted via the survey form.

[1627] Output: Saves received comment data. (Example: "{"Comment": "There is little communication with management.")

[1628] Step 2:

[1629] The server preprocesses the received data. This preprocessing includes spell checking, character normalization (converting all characters to lowercase), and removal of unnecessary data.

[1630] Specific operation: Special characters are removed using regular expressions with the Python module re, and then all characters are converted to lowercase using the str.lower() function.

[1631] Input: Received comment data.

[1632] Output: Pre-processed data. (Example: "There is little communication with managers.")

[1633] Step 3:

[1634] The server sends the pre-processed comment data to the natural language processing engine. The natural language processing engine includes a morphological analysis engine and a sentiment analysis engine.

[1635] Specific operation: Preprocessed text data is sent via an HTTP POST request using the requests module.

[1636] Input: Pre-processed comment data.

[1637] Output: Analysis results from the natural language processing engine. (Example: "{'tokens': ['management position', 'communication', 'few']}")

[1638] Step 4:

[1639] The server classifies comments into specific categories based on the analysis results received from the natural language processing engine.

[1640] Specific operation: Topic modeling is performed using Scikit-learn's LDA model to classify comments into categories.

[1641] Input: Analysis results from a natural language processing engine.

[1642] Output: Classified category information. (Example: "Category: Communication")

[1643] Step 5:

[1644] The server uses a sentiment engine to determine the sentiment (positive, negative, or neutral) of each comment.

[1645] Specific actions: Perform sentiment analysis using Natural Language Toolkit (NLTK) or Scikit-learn.

[1646] Input: Analysis results from a natural language processing engine.

[1647] Output: Emotion assessment result. (Example: "Emotion: Negative")

[1648] Step 6:

[1649] The server stores the analysis and classification results in a database. The stored records include the comment ID, original comment, category, analysis result, and determined sentiment.

[1650] Specific operation: Insert results into the database using an ORM such as SQLAlchemy.

[1651] Input: Analysis and classification results.

[1652] Output: A new record is added to the database. (Example: "{"Comment ID": 1, "Comment": "Poor communication with management," "Category": "Communication," "Emotion": "Negative"}")

[1653] Step 7:

[1654] The server aggregates the number of comments and sentiment distribution for each category based on the stored records, and provides the classification information required by the person in charge.

[1655] Specific operation: Issue an SQL query, retrieve the aggregated results, and output them in JSON format.

[1656] Input: Records stored in the database.

[1657] Output: Number of comments by category, and distribution of sentiment. (Example: "{'Category': 'Communication', 'Number': 10, 'Sentiment Distribution': {'Positive': 2, 'Negative': 8}}")

[1658] Step 8:

[1659] The server sends the aggregated data to a visualization tool. This visualization tool uses libraries such as matplotlib or Plotly.

[1660] Specific operation: Create a graph using matplotlib's bar() function or Plotly's plot() function.

[1661] Input: Aggregated results.

[1662] Output: Visualized graphs and charts. (Example: "Number of comments by category in bar graph format")

[1663] Step 9:

[1664] The server sends the visualized results to the user's terminal. The user's terminal has a dashboard page where they can view the results in graph and chart format.

[1665] Specific action: The created graph is saved as an image file and sent to the user's browser as an HTTP response.

[1666] Input: Visualized data.

[1667] Output: The dashboard page displayed on the user's terminal. (Example: "Graph of the number of comments by category displayed on the dashboard")

[1668] Step 10:

[1669] The terminal displays the visualized analysis results to the person in charge. The person in charge can check the results on the dashboard page and click to access more detailed data if needed.

[1670] Specific operation: Dynamically update the dashboard web page using JavaScript or a framework (e.g., React).

[1671] Input: Visualization data sent from the server.

[1672] Output: A dashboard page displayed in a format that can be viewed by the person in charge. (Example: "Detailed data link displayed on the dashboard")

[1673] Step 11:

[1674] Based on the visualized results, users decide and execute the necessary actions. Specifically, they consider and implement improvement measures for a particular category.

[1675] Specific action: Use the interactive feedback function provided on the dashboard to register specific improvement measures in response to comments.

[1676] Input: Visualized analysis results and feedback information.

[1677] Output: Logs and records related to the implementation of improvement measures. (Example: "Record of implementation of measures to improve communication with managers")

[1678] (Application Example 2)

[1679] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1680] In modern brick-and-mortar stores, it is crucial to quickly and efficiently collect and analyze feedback from employees and customers, and to implement improvement measures based on that feedback. However, traditional feedback collection methods present problems such as the enormous volume of data, making manual analysis difficult, and consequently delaying prompt responses based on feedback. Furthermore, accurately understanding the emotions and content of the feedback is difficult, posing a challenge in formulating appropriate improvement measures.

[1681] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.

[1682] In this invention, the server includes means for receiving input data, means for preprocessing the received input data, means for using a natural language processing engine to analyze the preprocessed data, means for classifying the data based on the analysis results, means for visualizing the classified results, means for transmitting the visualized results to a display device, means for collecting employee and customer feedback and analyzing it based on sentiment and category, means for storing the analysis results in a database, and means for visualizing the stored data as statistical information. This makes it possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on the visualized data.

[1683] "Input data" refers to raw data that is subject to analysis, such as comments and feedback collected from employees and customers.

[1684] "Preprocessing" refers to the process of spell-checking, normalizing, and removing unnecessary data from received input data.

[1685] A "natural language processing engine" is a system that analyzes pre-processed data and uses specific rules and algorithms to analyze text data.

[1686] "Methods of categorization" refer to methods of organizing analyzed data based on specific topics or themes.

[1687] A "means for determining emotions" refers to a method for identifying positive, negative, and neutral emotions from the text of the analyzed data.

[1688] "Visualization" is the process of visually displaying analysis results in the form of graphs and charts.

[1689] "Means of sending to a display device" refers to methods of sending visualized data to the terminals of the person in charge or the system administrator.

[1690] "Methods for collecting feedback" refer to methods of obtaining opinions and comments from employees and customers as data.

[1691] "Means of saving to a database" refers to methods of storing analyzed and classified data in a database in a format that can be accessed later.

[1692] "Statistical information" refers to information that shows an overview of the results of an analysis, such as numerical data and distribution data calculated from stored data.

[1693] Modes for carrying out the invention

[1694] This invention relates to a system that enables store managers to make quick decisions by rapidly and efficiently collecting feedback from employees and customers, performing sentiment analysis and categorization, and visualizing the results. This system includes the following elements:

[1695] Hardware and software configuration

[1696] server

[1697] The server is responsible for receiving, preprocessing, analyzing, classifying, storing, visualizing, and transmitting feedback data. The server uses the following technologies:

[1698] Flask: Used as a web framework for receiving data and transferring data in JSON format.

[1699] SQLAlchemy: Used for database management, including storing and reading feedback data.

[1700] NLTK and TextBlob: Perform natural language processing and sentiment analysis.

[1701] Plotly: Used for data visualization.

[1702] SQLite: A lightweight database engine used for storing data.

[1703] terminal

[1704] The terminal is used by store managers to view visualized feedback results.

[1705] Smartphone or tablet: Used for collecting feedback and displaying results.

[1706] Details of feedback collection and analysis

[1707] 1. Gathering feedback

[1708] The server receives feedback comments submitted from smartphones or tablets in JSON format. Example of a user-submitted comment: "The store was clean, but the staff's attitude was poor."

[1709] 2. Data preprocessing

[1710] The server preprocesses the received data. This preprocessing includes spell checking, normalization (such as converting all characters to lowercase), and removal of unnecessary data.

[1711] 3. Natural Language Processing

[1712] The pre-processed data is sent to natural language processing engines (NLTK and TextBlob) to determine the sentiment of the text (positive, negative, neutral) and classify it into specific categories (such as "cleanliness" or "service").

[1713] 4. Database storage

[1714] The analyzed and classified data is stored in a SQLite database using SQLAlchemy. The records stored include the comment itself, the determined sentiment, and the category.

[1715] 5. Data Visualization

[1716] The server reads the stored data and visualizes the number of comments and sentiment distribution for each category using Plotly.

[1717] 6. Displaying the results

[1718] The visualized data is sent to devices (smartphones and tablets) and can be viewed by administrators through a dashboard. For example, measures can be considered for the "service" category, which receives a lot of negative feedback.

[1719] Specific example

[1720] If a user submits feedback stating, "The store was clean, but the staff's attitude was poor," the server will process it as follows:

[1721] Feedback comment: "The store was clean, but the staff's attitude was poor."

[1722] Text normalization: "The store was clean, but the employees had a bad attitude."

[1723] Emotion analysis result: Negative

[1724] Category: service

[1725] In this way, it becomes possible to quickly and accurately collect and analyze feedback from employees and customers, and to rapidly implement effective improvement measures based on visualized data.

[1726] As described above, this invention enables efficient handling of feedback from employees and customers and provides a means to effectively solve challenges in the management of physical stores.

[1727] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1728] Step 1:

[1729] Users enter and submit feedback comments using their smartphones or tablets. The feedback comments are generated as input data and sent to the server in JSON format.

[1730] Input: User-submitted feedback comments (e.g., "The store was clean, but the staff's attitude was poor.")

[1731] Output: Data in JSON format (Example: {"comment": "The store was clean, but the staff's attitude was bad"})

[1732] Step 2:

[1733] The server preprocesses the received feedback comments, performing spell checking, normalization (such as converting characters to lowercase), and removal of unnecessary data.

[1734] Input: Feedback comment data in JSON format

[1735] Output: Preprocessed text data (e.g., "The store was clean, but the employees had a bad attitude")

[1736] Specific actions: Convert text to lowercase and remove unnecessary special characters.

[1737] Step 3:

[1738] The server sends the pre-processed data to natural language processing engines (NLTK and TextBlob) for text sentiment analysis and categorization.

[1739] Input: Preprocessed text data

[1740] Output: Sentiment analysis results and categories (e.g., emotion "negative", category "service")

[1741] Specific operation: Use TextBlob to determine whether the emotion is positive or negative, and then determine a category based on keywords.

[1742] Step 4:

[1743] The server stores the analyzed and classified data in a database (SQLite). This database stores information such as feedback comments, sentiment, and categories as records.

[1744] Input: Analyzed and classified data (e.g., "The store was clean, but the staff's attitude was bad", Sentiment: "Negative", Category: "Service")

[1745] Output: Records stored in the database

[1746] Specific operation: Use SQLAlchemy to store the generated data in an SQLite database.

[1747] Step 5:

[1748] The server analyzes the stored feedback data and visualizes the distribution of comments and sentiments by category. Plotly is used to generate graphs and charts.

[1749] Input: Feedback data in the database

[1750] Output: Visualized graphs and charts

[1751] Specific actions: Use Plotly to represent the number of comments and sentiment distribution for each category using bar graphs and pie charts.

[1752] Step 6:

[1753] The server sends the visualized data to the device (smartphone or tablet), and the administrator checks it on the dashboard.

[1754] Input: Visualized graphs and charts

[1755] Output: Graphs and charts displayed on the administrator's terminal.

[1756] Specific operation: Generated graphs and charts are sent to the device via a web interface and displayed on the dashboard.

[1757] These steps enable the rapid and accurate collection and analysis of feedback from employees and customers, and the swift implementation of effective improvement measures based on visualized data.

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

[1759] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

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

[1762] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1763] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1764] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1765] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

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

[1767] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1768] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1769] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

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

[1771] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1772] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1773] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

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

[1775] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1776] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1777] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1778] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[1779] The following is further disclosed regarding the embodiments described above.

[1780] (Claim 1)

[1781] A means for receiving input data,

[1782] A means for preprocessing the received input data,

[1783] A means of using a natural language processing engine to analyze preprocessed data,

[1784] A means of classifying data based on the analysis results,

[1785] A means of visualizing the classified results,

[1786] A system including means for transmitting visualized results to a display device.

[1787] (Claim 2)

[1788] The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

[1789] (Claim 3)

[1790] The system according to claim 1, comprising a natural language processing engine that classifies the analysis results into categories and determines the emotion.

[1791] "Example 1"

[1792] (Claim 1)

[1793] A means for receiving input data,

[1794] A means for preprocessing the received input data,

[1795] A means of using a natural language processing engine to analyze preprocessed data,

[1796] A means of classifying the results of the analysis into categories and determining emotions,

[1797] A means of classifying data based on the analysis results,

[1798] A means of saving the classification results to a database,

[1799] A means of aggregating saved data and providing the number of comments and sentiment distribution for each category,

[1800] A means of sending the aggregated data to a visualization tool,

[1801] A system including means for transmitting visualized results to a display device.

[1802] (Claim 2)

[1803] The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

[1804] (Claim 3)

[1805] The system according to claim 1, comprising means for visualizing aggregated data.

[1806] "Application Example 1"

[1807] (Claim 1)

[1808] A means for receiving input data,

[1809] A means for preprocessing the received input data,

[1810] A means of using a natural language processing engine to analyze preprocessed data,

[1811] A means of classifying data based on the analysis results,

[1812] A means of visualizing the classified results,

[1813] A means for transmitting the visualized results to a display device,

[1814] A system that includes support mechanisms for planning and executing specific actions based on visualized analysis results.

[1815] (Claim 2)

[1816] The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

[1817] (Claim 3)

[1818] The system according to claim 1, comprising a natural language processing engine that classifies the analysis results into categories and determines the emotion.

[1819] "Example 2 of combining an emotion engine"

[1820] (Claim 1)

[1821] A means for receiving input data,

[1822] A means for preprocessing the received input data,

[1823] A means of using a natural language processing engine to analyze preprocessed data,

[1824] A means of classifying data into specific categories based on the analysis results,

[1825] A method using a sentiment engine that determines the sentiment of a comment as positive, negative, or neutral,

[1826] A means for performing data aggregation and distribution analysis from saved analysis and classification results,

[1827] Means of visualizing analysis results using visualization tools,

[1828] A system that includes a means of transmitting and displaying the visualized results on the terminal of the person in charge.

[1829] (Claim 2)

[1830] The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

[1831] (Claim 3)

[1832] The system according to claim 1, comprising a natural language processing engine that classifies the analysis results into categories and determines the emotion.

[1833] "Application example 2 when combining with an emotional engine"

[1834] (Claim 1)

[1835] A means for receiving input data,

[1836] A means for preprocessing the received input data,

[1837] A means of using a natural language processing engine to analyze preprocessed data,

[1838] A means of classifying data based on the analysis results,

[1839] A means of visualizing the classified results,

[1840] A means for transmitting the visualized results to a display device,

[1841] A means of collecting employee and customer feedback and analyzing it based on sentiment and categories,

[1842] A method for saving the analysis results to a database,

[1843] A system that includes means for visualizing stored data as statistical information.

[1844] (Claim 2)

[1845] The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

[1846] (Claim 3)

[1847] The system according to claim 1, further comprising a natural language processing engine, means for classifying the analysis results into categories and determining emotions, and means for generating and visualizing analysis results based on employee and customer feedback. [Explanation of Symbols]

[1848] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means for receiving input data, A means for preprocessing the received input data, A means of using a natural language processing engine to analyze preprocessed data, A means of classifying data based on the analysis results, A means of visualizing the classified results, A system including means for transmitting visualized results to a display device.

2. The system according to claim 1, wherein the preprocessing means includes spell checking, normalization, and removal of unnecessary data.

3. The system according to claim 1, comprising a natural language processing engine that classifies the analysis results into categories and determines the emotion.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A