system

The system addresses inefficiencies in business dashboards by converting and grouping user input keywords into basic forms, enhancing data analysis and decision-making through structured data formats.

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

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Business dashboards face challenges with information complexity due to keyword duplication and semantic similarity, leading to inefficient data analysis and decision-making, with manual sorting being time-consuming and error-prone, and limited language model capabilities hindering systematic grouping.

Method used

A system where users input keywords, which are analyzed by a server using a language model to convert them into basic forms, group them, and send the results back to the terminal in a structured format like JSON, enabling efficient data analysis and decision-making by eliminating duplication.

Benefits of technology

The system allows for quick identification and elimination of duplicate information, facilitating efficient data analysis and decision-making by organizing keywords into meaningful categories based on their basic forms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064760000001_ABST
    Figure 2026064760000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for the user to input multiple keywords, A means by which the terminal transmits the aforementioned multiple keywords to the server, The server analyzes the aforementioned multiple keywords and groups them based on their basic form, The server provides means for sending the grouped results to the terminal, The terminal provides means for displaying the grouped results to the user, A system that includes this.
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] In a business dashboard, there is a problem that information is complicated due to duplication or semantic similarity of input keywords or words, making it impossible to efficiently analyze data and make decisions. Also, manually sorting out these duplications and semantic similarities is time-consuming and laborious, and there is a high possibility of errors. Furthermore, it is difficult to perform systematic grouping because the language models and technologies used by users are limited.

Means for Solving the Problems

[0005] This invention provides a system in which a user inputs keywords, a terminal sends them to a server, the server analyzes those keywords using a language model, and groups them based on their basic form. The server organizes the analysis results and sends the grouped results to the terminal, which then displays them to the user. This eliminates information duplication and enables efficient data analysis and decision-making. Furthermore, since the server sends the acquired grouped results to the terminal in JSON format or similar, handling and displaying the results is easy.

[0006] A "user" is the entity that uses the system to input keywords and then checks the final results.

[0007] A "terminal" is a device used by a user that sends entered keywords to a server and displays the results sent back from the server to the user.

[0008] A "server" is a central processing unit that analyzes keywords received from terminals and sends the results back to the terminals.

[0009] "Keywords" are words or phrases that users enter into the business dashboard, and these are the data that will be analyzed.

[0010] A "language model" is an algorithm or dataset used in natural language processing, specifically a model used for keyword analysis and grouping.

[0011] "Analysis" refers to the process by which a server understands the meaning and structure of keywords and converts them into their basic form.

[0012] The "basic form" is the original form of a keyword, and it is used to unify multiple similar keywords.

[0013] "Grouping" is the process of classifying analyzed keywords based on their basic form and grouping keywords with the same or similar meanings into a single category.

[0014] JSON format is a lightweight data exchange format for structuring and representing data, and is used when exchanging data between a server and a terminal.

[0015] "Information duplication" refers to a situation where keywords with the same or similar meanings are repeated, complicating data analysis and decision-making. [Brief explanation of the drawing]

[0016] [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]It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.

Mode for Carrying Out the Invention

[0017] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.

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

[0019] In the following embodiments, the numbered 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.

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

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

[0022] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

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

[0024] [First Embodiment]

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

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

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

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

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

[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form 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.

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

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

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

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

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

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

[0037] This invention provides a system for efficiently analyzing and grouping keywords entered by users on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0038] Explanation in natural language

[0039] 1. The user enters keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy."

[0040] 2. The terminal sends these keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0041] 3. The server analyzes the received keywords. Specifically, the server uses natural language processing tools to combine the keywords into a single document. Then, it generates the base form of each word. Using this base form, keywords with the same or similar meanings are grouped together.

[0042] 4. Organize the results of the server grouping. Group them based on their respective basic forms to generate results like the following:

[0043] "sale": ["sales", "sell"]

[0044] "revenue": ["revenue"]

[0045] "profit": ["profits"]

[0046] "income": ["income"]

[0047] "approach": ["approach", "method"]

[0048] "strategy": ["strategy"]

[0049] 5. The server sends the grouping results to the terminal in JSON format.

[0050] 6. The device displays these results on the user's dashboard. The displayed information allows the user to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0051] Specific example

[0052] The user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. The device sends these keywords to the server, which then uses a language model to analyze them.

[0053] For example, the keywords "sales" and "sell" are grouped under the base form "sale." Similarly, "approach" and "method" are classified under the same semantic category.

[0054] The server sends these grouping results to the terminal using JSON format or similar, and the terminal ultimately displays them on the user's dashboard. This allows users to avoid information duplication and perform data analysis and decision-making efficiently.

[0055] The following describes the processing flow.

[0056] Step 1:

[0057] The user enters keywords into the business dashboard. Examples include "sales", "revenue", "profits", "sell", "income", "approach", "method", and "strategy".

[0058] Step 2:

[0059] The terminal sends a list of entered keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0060] Step 3:

[0061] The server receives the keyword list and loads the language model. Here, for example, a natural language processing tool is used to load the language model "en_core_web_sm".

[0062] Step 4:

[0063] The server combines the keywords it receives into a single document. For example, it generates a document such as "sales revenue profits sell income approach method strategy".

[0064] Step 5:

[0065] The server uses a language model to parse this combined document. During the parsing process, it obtains the lemma of each keyword. For example, "sales" and "sell" become the lemma "sale".

[0066] Step 6:

[0067] The server classifies each keyword based on its base form. Here, keywords with the same or similar meanings are grouped together for each base form.

[0068] Step 7:

[0069] The results of the server grouping are organized, and a list of keywords corresponding to each basic form is created. For example:

[0070] "sale": ["sales", "sell"]

[0071] "approach": ["approach", "method"]

[0072] Step 8:

[0073] The server sends the grouped results to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[0074] Step 9:

[0075] The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords.

[0076] Step 10:

[0077] Users can view grouped keywords on the dashboard, eliminate duplicate information, and efficiently perform data analysis and make decisions.

[0078] (Example 1)

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

[0080] Currently, there is a lack of efficient means to analyze and group keywords entered by users in business dashboards, resulting in users having to individually review duplicate or similar information. Furthermore, the accuracy and efficiency of natural language processing in keyword analysis and grouping can be low, hindering user decision-making. To address these challenges, a system that achieves efficient and highly accurate keyword analysis and grouping is needed.

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

[0082] In this invention, the server includes means for analyzing multiple keywords entered by the user and converting each keyword into a base form using a natural language processing tool, means for grouping the keywords based on the base form, and means for transmitting the grouping results to the terminal in structured data format. This makes it possible to efficiently analyze keywords entered by the user on the business dashboard and display them in a way that makes it easy to check for duplication and similarity.

[0083] "Keywords" are words or phrases that users enter into the business dashboard and which are then analyzed.

[0084] A "terminal" is a device used by users to input keywords and send and receive data with a server.

[0085] A "server" is a computer that receives keywords sent from terminals and performs analysis and grouping.

[0086] A "natural language processing tool" is software or a library that a server uses to analyze keywords and convert them into their base form.

[0087] The "basic form" is the morpheme from which the entered keyword originates, and it is a format used to unify synonyms and similar words.

[0088] "Grouping" is the process of combining semantically related keywords based on the analyzed basic form.

[0089] "Structured data format" refers to a format for organizing and storing the results of analysis and grouping keywords, and includes formats such as JSON and XML.

[0090] This invention is a system that efficiently analyzes and groups keywords entered by a user on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0091] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. These entered keywords are sent from the device to the server. When the device sends the keywords to the server, it sends them as an HTTP POST request in a list format.

[0092] The server analyzes the received keywords using a Python script. This script employs natural language processing tools (such as SpaCy or NLTK) to combine the keywords into a single document and generate the root form of each word. For example, "sales" and "sell" are converted to "sale".

[0093] The server groups keywords with the same or similar meanings based on the generated base form. The results of this grouping are organized in a structured data format such as JSON. For example, they might be grouped as follows:

[0094] "sale": ["sales", "sell"]

[0095] "revenue": ["revenue"]

[0096] "profit": ["profits"]

[0097] "income": ["income"]

[0098] "approach": ["approach", "method"]

[0099] "strategy": ["strategy"]

[0100] The server sends the grouping results to the terminal in JSON format. The terminal parses the received JSON data and displays it on the business dashboard. For example, it may look like this:

[0101] sell: sales, cover

[0102] revenue: revenue

[0103] profit: profits

[0104] income: income

[0105] approach: approach, method

[0106] Strategy: Strategy

[0107] This allows users to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0108] Examples of prompt statements to input into a generative AI model are as follows:

[0109] Convert the following keywords to their base forms and group them accordingly:

[0110] ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"]

[0111] Expected output format:

[0112] {

[0113] "Basic form": ["Original keyword 1", "Original keyword 2", ...]

[0114] }

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

[0116] Step 1:

[0117] The user enters keywords into the business dashboard.

[0118] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the input fields of the business dashboard. This input is performed by sending each keyword to the input field in text format.

[0119] Step 2:

[0120] The terminal sends the entered keyword to the server.

[0121] Specifically, the terminal aggregates the keywords entered by the user into a list format and sends it to the server using an HTTP POST request. The input is sent in a format such as ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0122] Step 3:

[0123] The server analyzes the keywords it receives.

[0124] Specifically, the server executes a Python script and uses natural language processing tools (such as SpaCy or NLTK) to analyze keywords. During analysis, the keywords are combined into a single document, and then each keyword is converted back to its base form. The input for this process is a list of keywords sent from the terminal, and the output is a list of the keywords converted back to their base forms.

[0125] Step 4:

[0126] The server groups keywords based on their basic structure.

[0127] Specifically, the server uses the results of a natural language processing tool to classify keywords into semantically related groups based on their base forms. For example, "sales" and "sell" are grouped together as "sale". The input is a list of keywords converted to their base forms, and the output is a list of grouped keywords.

[0128] Step 5:

[0129] The server organizes the grouping results in JSON format.

[0130] Specifically, the server converts the grouped keywords into JSON format. This formatting organizes the data structure, making it easier for the terminal to parse. The input is a list of grouped keywords, and the output is data in JSON format.

[0131] Step 6:

[0132] The server sends the grouping results to the terminal.

[0133] Specifically, the server sends the generated JSON data back to the terminal using an HTTP response. The input is data in JSON format, and the output is the HTTP response sent to the terminal.

[0134] Step 7:

[0135] The grouping results received by the device are displayed on the user's dashboard.

[0136] Specifically, the terminal parses the received JSON data and displays its contents in the user interface. For example, the following grouping results may be displayed:

[0137] sell: sales, cover

[0138] revenue: revenue

[0139] profit: profits

[0140] income: income

[0141] approach: approach, method

[0142] Strategy: Strategy

[0143] The input is JSON data received from the server, and the output is the grouped results displayed on the business dashboard.

[0144] (Application Example 1)

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

[0146] While systems existed that allowed users to input multiple keywords and efficiently analyze and group them, their ability to recommend related products based on customer searches in stores was limited. There is a need for an effective means to quickly and accurately find the products customers are looking for.

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

[0148] In this invention, the server includes means for a user to input multiple keywords, means for a terminal to transmit the multiple keywords to the server, means for the server to analyze the multiple keywords and group them based on their basic form, means for the server to transmit the grouped results to the terminal, means for the terminal to display the grouped results to the user, and means for grouping and recommending related products and services based on the items searched by the user. This makes it possible for customers to easily find related products within a store.

[0149] A "user" refers to an individual who uses the system to enter keywords and search for related products and services.

[0150] "Multiple keywords" refers to multiple words or phrases that a user enters into the system.

[0151] "Terminal" refers to a device used by a user to enter keywords and display results. This includes smartphones, etc.

[0152] A "server" refers to a computer system that receives keywords sent from a terminal, analyzes and groups them, and then sends the results back to the terminal.

[0153] "Analysis" refers to the process by which a server abstracts received keywords using natural language processing techniques, converts them into their basic form, and identifies synonyms and related words.

[0154] The term "basic form" refers to the original or fundamental form of a keyword, and is the word that serves as the basis for analysis.

[0155] "Grouping" refers to the process by which the server classifies related keywords into a single set based on the basic structure obtained through analysis.

[0156] "JSON format" is a text format for structuring data, and is an abbreviation for JavaScript® Object Notation. It refers to the format in which a server sends grouping results to a terminal.

[0157] "Display" refers to the process where the terminal visually shows the user the grouping results sent from the server.

[0158] "Related products and services" refers to products and services recommended by the system based on multiple keywords entered by the user.

[0159] Modes for carrying out the invention

[0160] This invention is a system that recommends related products and services by having the user input multiple keywords, analyzing those keywords, and grouping them.

[0161] The system mainly consists of the following elements:

[0162] 1. User terminal (smartphone, etc.): A device used by the user to enter keywords.

[0163] 2. Server: Receives input keywords, parses them using a language model, and groups them based on their base form.

[0164] 3. Natural language processing tools (e.g., Python, NLTK, Requests library, Flask, etc.): Tools for converting keywords to their base forms and grouping them.

[0165] Program generation and processing flow

[0166] The system begins with the user entering keywords, and the terminal sending these keywords to the server. The following describes the processing flow.

[0167] Hardware and software

[0168] hardware

[0169] User device: Smartphone, etc.

[0170] Server: A high-performance computer that operates remotely.

[0171] software

[0172] Natural language processing tools: Python, NLTK, Requests library, Flask

[0173] Explanation of the process

[0174] 1. The user enters multiple keywords (e.g., "shampoo," "conditioner," "hair care") into the smartphone app.

[0175] 2. The terminal sends the entered keyword to the server. An HTTP request is made using the Requests library.

[0176] 3. The server parses the received keywords, tokenizes them, and converts them back to their base form. The NLTK library is used for tokenization and conversion back to base form.

[0177] 4. The server groups keywords based on their basic structure. For example, "shampoo" and "conditioner" are classified into the "hair care" group.

[0178] 5. The server sends the grouped results to the terminal in JSON format.

[0179] 6. The terminal parses the grouping results in JSON format and displays them on the user's screen as relevant products or services.

[0180] Specific example

[0181] When a user searches for keywords such as "shampoo," "conditioner," and "hair care" in the app, these keywords are sent from the smartphone to the server. The server analyzes these keywords, groups them, and categorizes them under "hair care." This allows the user to view related products and services all in one place.

[0182] Example of a prompt

[0183] Build a smartphone app that groups keywords like "shampoo," "conditioner," and "hair care" entered by the user and displays related products. Use NLTK to tokenize the keywords, convert them to their base form, and then send them to a server to receive the analysis results.

[0184] By configuring the system as described above, users can efficiently find relevant products, improving their in-store shopping experience.

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

[0186] Step 1:

[0187] The user enters keywords into the smartphone app. Specifically, they might enter keywords such as "shampoo," "conditioner," and "hair care." The entered keywords are saved as a data list within the app. The entered data is ["shampoo", "conditioner", "hair care"].

[0188] Step 2:

[0189] The terminal sends the keyword data list to the server. Specifically, it sends the keyword data list via an HTTP POST request using the Requests library. The input data is the keyword list generated in step 1, and the output after transmission is the state in which the server has received this data.

[0190] Step 3:

[0191] The server parses and tokenizes the received keywords. Specifically, it uses the NLTK library to break down the input keywords into words. The input data is a list of keywords entered by the user, and the output data is a list of tokenized words. For example, ["shampoo", "conditioner", "hair care"] is converted to ["shampoo", "conditioner", "hair", "care"].

[0192] Step 4:

[0193] The server converts tokenized words to their base forms. Specifically, it uses the NLTK WordNet library to generate the base form of each word. The input data is a list of tokenized words, and the output data is a list of words converted to their base forms. For example, ["shampoo", "conditioner", "hair", "care"] is converted to ["shampoo", "conditioner", "hair", "care"] (no change if already in base form).

[0194] Step 5:

[0195] The server groups keywords based on their base form. Specifically, it groups similar base form words together. The input data is a list of words converted to their base form, and the output data is a grouped list. For example, words related to "hair care" are grouped together.

[0196] Step 6:

[0197] The server creates a JSON file of the grouped results and sends it to the terminal. The input is a grouped list, and the output is data in JSON format. For example, it will send data in the format {"Hair Care": ["Shampoo", "Conditioner"]}.

[0198] Step 7:

[0199] The device parses the JSON data it receives and displays it on the user's app screen. The input data is JSON data received from the server, and the output data is a list of related products that is visually displayed to the user. Specifically, the app displays related products on the screen all at once, making it easy for the user to check them.

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

[0201] This invention combines a system that efficiently analyzes and groups keywords entered by users on a business dashboard with an emotion engine that recognizes user emotions. This enables data analysis that considers not only keyword grouping but also user emotion information. When a user enters keywords, the terminal sends these keywords and the user's emotion information to the server. Once the server receives the keywords and emotion information, it uses a language model to analyze the keywords and convert each keyword into its base form. It also uses the emotion engine to analyze the user's emotions and includes this information in the results. The server sends these grouped results and emotion information to the terminal, which then displays them on the user's dashboard.

[0202] Explanation in natural language

[0203] 1. Users enter keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Sentimental information of the user at the time of input is also collected.

[0204] 2. The terminal sends these keywords and sentiment information to the server. The data sent is a set of keyword list and sentiment information. The keyword list is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"], and the sentiment information is, for example, "positive" or "negative".

[0205] 3. The server analyzes the received keywords and sentiment information. Specifically, the server loads natural language processing tools and a sentiment analysis engine. First, the keywords are combined into a single document. Then, a language model is used to generate the base form of each word. This base form is used to group keywords with the same or similar meanings. The sentiment engine is also used to analyze the user's sentiment.

[0206] 4. The server organizes the grouped results and sentiment information, and creates a list of keywords and sentiment information corresponding to each basic form. For example:

[0207] "sale": ["sales", "sell"], Emotion: "positive"

[0208] "approach": ["approach", "method"], emotion: "neutral"

[0209] 5. The server sends these grouping results and sentiment information to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[0210] 6. The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords and their associated sentiment information.

[0211] Specific example

[0212] Consider a scenario where a user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into a business dashboard, and simultaneously experiences a "positive" sentiment at the time of entry. The device then sends these keywords and sentiment information to the server.

[0213] The server analyzes the received data and, for example, groups keywords like "sales" and "sell" into their base form, "sale." Similarly, it classifies "approach" and "method" into the same semantic category. It also uses an emotion engine to analyze whether the user's emotion was "positive" as relevant information.

[0214] The server sends these grouping results and sentiment information to the terminal in JSON format, which the terminal then displays on the user's dashboard. This allows users to not only avoid information duplication but also to efficiently analyze data and make decisions while considering sentiment information.

[0215] The following describes the processing flow.

[0216] Step 1:

[0217] The user enters keywords into the business dashboard. Examples include "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Simultaneously, the user's sentiment information is collected, such as "positive" or "negative."

[0218] Step 2:

[0219] The terminal sends the entered keywords and sentiment information to the server. The data sent includes a keyword list ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"] and sentiment information (e.g., "positive").

[0220] Step 3:

[0221] The server receives a list of keywords and sentiment information. The server loads a natural language processing tool (e.g., "spaCy") and a sentiment analysis engine.

[0222] Step 4:

[0223] The server combines the received keyword list into a single document. For example, it generates a document titled "sales revenue profits sell income approach method strategy".

[0224] Step 5:

[0225] The server analyzes this combined document using a language model. It obtains the lemma of each keyword. For example, "sales" is converted to the lemma of "sale".

[0226] Step 6:

[0227] The server groups keywords based on their basic structure. Keywords with the same or similar meanings are grouped together. For example, "sales" and "sell" are grouped under "sale," and "approach" and "method" are grouped together.

[0228] Step 7:

[0229] The server uses an emotion analysis engine to analyze the emotional information of the user at the time of input. For example, it analyzes whether the user was feeling "positive" at the time of input.

[0230] Step 8:

[0231] The server organizes the grouped results and sentiment information. For example:

[0232] "sale": ["sales", "sell"], Emotion: "positive"

[0233] "approach": ["approach", "method"], Emotion: "positive"

[0234] Step 9:

[0235] The server converts these grouping results and sentiment information into a data format such as JSON and sends it to the terminal.

[0236] Step 10:

[0237] The device receives JSON data from the server and displays it on the user's dashboard. Users can visually see grouped keywords and associated sentiment information.

[0238] Step 11:

[0239] Users can view grouped keywords and sentiment information on the dashboard. This eliminates information duplication and enables efficient data analysis and decision-making.

[0240] (Example 2)

[0241] 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 device 14 as the "terminal".

[0242] Conventional keyword analysis systems simply group keywords entered by users without considering user sentiment, making it impossible to analyze data that includes sentiment. Furthermore, there were challenges in efficiently displaying the grouped keywords and their related information.

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

[0244] In this invention, the server includes means for grouping the multiple keywords based on their basic form using a natural language processing tool, means for analyzing the user's emotional information using an emotional analysis engine, and means for organizing the grouped results and the user's emotional information and transmitting them to the terminal. This enables efficient grouping of keywords entered by the user, as well as data analysis and display of results that take into account the user's emotional information.

[0245] A "user" refers to a person who uses the system to input keywords and sentiment information.

[0246] A "terminal" refers to a device or platform used by a user to input keywords and sentiment information and transmit it to a server. Specific examples include personal computers, tablets, and smartphones.

[0247] A "server" refers to a computer system that receives keywords and sentiment information sent by users, analyzes and groups them, and sends the results to the terminal.

[0248] "Emotional information" refers to the emotional state of a user when they enter keywords, and is expressed in categories such as positive, negative, and neutral.

[0249] "Natural language processing tools" refer to software or libraries that use language models to analyze input keywords and convert them back into their basic forms. Specific examples include SpaCy and NLTK.

[0250] A "sentiment analysis engine" refers to software or a library used to analyze a user's emotional information and identify emotions from input text. Specific examples include IBM Watson® and Microsoft® Azure® Text Analytics.

[0251] "Grouping" refers to the process of combining keywords that have been converted into their basic form with those that have the same or similar meanings.

[0252] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data format for describing data structures. It is a text format and is widely used for data exchange and storage.

[0253] A "dataset" refers to a collection of keywords and sentiment information entered by users, and is used for communication with the server.

[0254] This invention is a system that efficiently analyzes and groups keywords entered by users on a business dashboard, and further incorporates an emotion engine that recognizes the user's emotions. Specific embodiments of this invention are shown below.

[0255] System Overview

[0256] User input of keywords and sentiment information

[0257] Users enter keywords into the business dashboard. These keywords include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." The system also collects sentiment information from the user as they enter the information and inputs this information into the system. Sentiment information is expressed as "positive," "negative," "neutral," etc.

[0258] Data transmission by the device

[0259] The device sends the keywords and sentiment information entered by the user to the server as a single dataset. This transmitted data is in the following format:

[0260] json

[0261] {

[0262] "keywords": ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"],

[0263] "emotion": "positive"

[0264] }

[0265] Data reception and analysis by the server

[0266] The server receives data sent from the terminal. The server uses natural language processing tools (e.g., SpaCy or NLTK) to convert keywords into their base forms and group keywords with the same or similar meanings. Specifically, the processing is as follows:

[0267] "Sales" and "sell" are grouped under the basic form "sale".

[0268] "Approach" and "method" are grouped together as belonging to the same semantic category.

[0269] In addition, the server uses a sentiment analysis engine (e.g., IBM Watson, Microsoft Azure Text Analytics) to analyze the user's sentiment information. This allows sentiment information to be associated with keyword groups.

[0270] Server-side processing and transmission of results

[0271] The server organizes the analysis results and lists grouped keywords and their corresponding sentiment information. The results are then expressed as follows:

[0272] json

[0273] [

[0274] {

[0275] "keyword_group": "sale",

[0276] "keywords": ["sales", "sell"],

[0277] "emotion": "positive"

[0278] },

[0279] {

[0280] "keyword_group": "approach",

[0281] "keywords": ["approach", "method"],

[0282] "emotion": "neutral"

[0283] }

[0284]

[0285] Send this data to the terminal in JSON format.

[0286] Display of data by the terminal

[0287] The terminal displays the analysis results received from the server on the user's business dashboard. The user can thereby understand at a glance the grouped keywords and the corresponding sentiment information.

[0288] Specific example

[0289] Consider the case where the user enters the following keywords on the business dashboard and provides "Positive" as sentiment information:

[0290] Keywords: "sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"

[0291] Sentiment information: "Positive"

[0292] When the terminal sends these keywords and sentiment information to the server, the server analyzes the received data and groups and associates the sentiment information as follows:

[0293] "sales" and "sell" are grouped into the base form "sale".

[0294] "approach" and "method" are classified into the same semantic category.

[0295] Through sentiment analysis, "Positive" sentiment information is associated with these keyword groups.

[0296] The server sends these results to the terminal in JSON format, and the terminal displays it on the user's dashboard. ​

[0297] Example of prompt sentence

[0298] "Please explain how the system analyzes and displays the grouping result and sentiment information on the dashboard when the user enters keywords such as "sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy" and the sentiment is "positive"."

[0299] By using this system, the user can avoid information duplication and perform efficient data analysis considering sentiment information, and obtain useful information to support decision-making.

[0300] The flow of specific processing in Example 2 will be described using FIG. 13.

[0301] Step 1:

[0302] The user inputs keywords and sentiment information into the business dashboard. The user inputs one or more keywords into the text box of the business dashboard and simultaneously selects or inputs sentiment information. For example, the user inputs keywords such as "sales", "revenue", "profits" and selects "positive" as the sentiment.

[0303] Input: Keywords and sentiment information

[0304] Output: Input data set (keywords and sentiment information) to the terminal

[0305] Specific operation:

[0306] The user uses the keyboard to input keywords and selects sentiment information from the pull-down menu.

[0307] Step 2:

[0308] The terminal sends the entered keywords and sentiment information to the server. The terminal organizes the keywords and sentiment information entered by the user into a single dataset and sends it to the server via an HTTP request.

[0309] Input: Keywords and sentiment information entered by the user.

[0310] Output: Data to be sent to the server (JSON format)

[0311] Specific actions:

[0312] The device constructs data in JSON format and sends it to the server. For example, the data is sent as follows:

[0313] json

[0314] {

[0315] "keywords": ["sales", "revenue", "profits"],

[0316] "emotion": "positive"

[0317] }

[0318] Step 3:

[0319] The server analyzes the received data. The server receives JSON-formatted data sent from the terminal, loads a natural language processing tool, and begins keyword analysis.

[0320] Input: JSON formatted data sent from the device

[0321] Output: Initial dataset including analysis results

[0322] Specific actions:

[0323] The server parses the received data and calls a natural language processing tool (such as SpaCy) to convert keywords into their base form. For example, "sales" and "sell" are converted to the base form "sale".

[0324] Step 4:

[0325] The server uses natural language processing tools to convert keywords into their base forms and group them. The server converts each analyzed keyword into its base form and groups similar keywords based on that base form.

[0326] Input: Analysis results from a natural language processing tool

[0327] Output: Grouping results based on the basic form

[0328] Specific actions:

[0329] The server groups "sales" and "sell" together as "sale," and classifies "approach" and "method" into the same group.

[0330] Step 5:

[0331] The server uses an emotion analysis engine to analyze the user's emotional information. The server loads the emotion analysis engine, analyzes the emotional information entered by the user, and associates it with each grouped keyword.

[0332] Input: Sentiment information from the user

[0333] Output: Emotion analysis results

[0334] Specific actions:

[0335] The server uses an emotion analysis engine (e.g., IBM Watson) to analyze emotional information such as "positive" and associates "positive" emotions with keyword groups.

[0336] Step 6:

[0337] The server organizes the grouping results and sentiment information and converts them into JSON format. The server combines the grouped keywords and sentiment information into a single dataset, converts it back into JSON format, and prepares to send it to the terminal.

[0338] Input: Grouping results and sentiment analysis results

[0339] Output: JSON data to send to the terminal

[0340] Specific actions:

[0341] The server creates data in JSON format as follows:

[0342] json

[0343] [

[0344] {

[0345] "keyword_group": "sale",

[0346] "keywords": ["sales", "sell"],

[0347] "emotion": "positive"

[0348] },

[0349] {

[0350] "keyword_group": "approach",

[0351] "keywords": ["approach", "method"],

[0352] "emotion": "neutral"

[0353] }

[0354] ]

[0355] Step 7:

[0356] The server sends data in JSON format to the terminal. The server then sends the organized data to the terminal using an appropriate communication protocol (e.g., HTTP).

[0357] Input: Grouping results in JSON format

[0358] Output: Data to send to the terminal

[0359] Specific actions:

[0360] The server generates an HTTP response and sends the grouping results and sentiment information to the terminal.

[0361] Step 8:

[0362] The terminal displays data received from the server on the user's dashboard. The terminal analyzes the data received from the server and displays it on the business dashboard in a format that is easy for the user to understand.

[0363] Input: JSON data sent from the server

[0364] Output: Display on the user's dashboard

[0365] Specific actions:

[0366] The device parses the received data and displays grouped keywords and sentiment information in graph and text format on the user's dashboard. The user can then view this display to understand the relevance of keywords and sentiment information.

[0367] (Application Example 2)

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

[0369] Conventional factory management systems had problems with production planning and decision-making because they could not efficiently analyze and group keywords entered by managers, nor could they perform data analysis that took into account managers' emotional information. As a result, improvements in production efficiency and quality could not be fully achieved.

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

[0371] In this invention, the server includes means for analyzing multiple keywords and grouping them based on their basic form, means for analyzing the user's emotional information, and means for transmitting the grouped results and emotional information to the terminal. This enables efficient data analysis by considering emotional information when the user inputs keywords. As a result, it becomes easier to plan and adjust production schedules, leading to improved production efficiency and quality.

[0372] A "user" is a person who uses the factory management system to input keywords and emotional information.

[0373] A "terminal" is an electronic device used by users to input keywords and sentiment information and send it to a server. Examples include smartphones and personal computers.

[0374] A "server" is a computer system that receives keywords and sentiment information sent by users, and then analyzes and groups them.

[0375] "Keywords" are words or phrases that users enter into the business dashboard.

[0376] "Emotional information" refers to data that indicates the emotional state of a user when they enter a keyword. For example, this includes "positive" and "negative."

[0377] A "language model" is an algorithm or system that uses natural language processing techniques to analyze keywords.

[0378] "Grouping" refers to the process of classifying analyzed keywords based on their basic form and grouping keywords with synonyms or similar meanings together.

[0379] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structuring, storing, and transferring data.

[0380] This invention aims to optimize production planning in a factory management system by efficiently analyzing and grouping keywords and sentiment information entered by users. Specifically, in this invention, the server, terminal, and user each play a specific role and work together as a whole system.

[0381] First, users access the factory management system using devices such as PCs or smartphones. They input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality" onto the business dashboard. They also input sentiment information (e.g., "positive"). This data is analyzed comprehensively to help develop optimal production plans.

[0382] The terminal sends keywords and sentiment information entered by the user to the server. The transmitted data consists of a keyword list and a set of sentiment information. The software used here includes a natural language processing library (NLTK) and a sentiment analysis engine (VADER Sentiment Analysis).

[0383] The server analyzes the received data. Specifically, it uses a language model to generate the base form of each keyword and groups keywords with the same or similar meanings. It also uses an emotion engine to analyze the user's emotional information and incorporates the results into the data.

[0384] Next, the server converts the analyzed keywords and sentiment information grouping results into a data format such as JSON and sends it to the terminal. Here, JSON is a lightweight data format suitable for data exchange and storage. The server's role is to perform complex data analysis quickly and efficiently and provide the user with the necessary information.

[0385] Finally, the terminal displays the data received from the server on the business dashboard. Users can see grouped keywords and their associated sentiment information, enabling them to efficiently analyze data and make decisions.

[0386] Specific example:

[0387] Administrators input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," and assign a "positive" sentiment to each. The system converts these keywords into their base forms, groups them, and displays them on the dashboard along with their sentiment. For example, the keywords "optimize" and "improvement" are recognized as synonymous and displayed as a single group.

[0388] Examples of input prompts for a generative AI model:

[0389] Keyword list: ["efficiency", "cost", "stress", "optimize", "error", "delay", "improvement", "quality"]

[0390] User sentiment information: "Positive"

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

[0392] Step 1:

[0393] Users access the factory management system's business dashboard using devices such as PCs and smartphones. Using this dashboard, users input multiple keywords and add sentiment information. For example, they might input keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," along with the sentiment "positive." Based on this input data, the system prepares to perform efficient data analysis.

[0394] Input: Multiple keywords and sentiment information entered by the user.

[0395] Output: A list of keywords and sentiment information temporarily stored on the device.

[0396] Step 2:

[0397] The terminal sends the keywords and sentiment information entered by the user to the server. The keyword list and sentiment information are sent together. Here, the transmitted data is in the following format, for example.

[0398] {

[0399] "keywords": ["efficiency", "cost", "speed", "optimize", "error", "delay", "improvement", "quality"],

[0400] "emotion": "positive"

[0401] }

[0402] Input: User-entered keyword list and sentiment information

[0403] Output: Dataset sent to the server

[0404] Step 3:

[0405] The server analyzes the received keyword list and sentiment information. First, it uses a natural language processing tool to generate a base form for each keyword and groups keywords with the same or similar meanings. Simultaneously, it uses a sentiment analysis engine to analyze the sentiment information and incorporates the results into the data.

[0406] Input: Keyword list and sentiment information received from the device.

[0407] Output: Grouped keyword list and analyzed sentiment information

[0408] Step 4:

[0409] The server converts the analyzed keywords and sentiment information into JSON format and sends it to the terminal. The output format here is JSON data as follows:

[0410] {

[0411] "keywords_grouped": {

[0412] "efficiency": ["efficiency"],

[0413] "cost": ["cost"],

[0414] "speed": ["speed"],

[0415] "optimize": ["optimize", "improvement"],

[0416] "error": ["error"],

[0417] "delay": ["delay"],

[0418] "quality": ["quality"]

[0419] },

[0420] "emotion": "positive"

[0421] }

[0422] Input: Analyzed keyword list and sentiment information

[0423] Output: Data converted to JSON format

[0424] Step 5:

[0425] The terminal displays JSON-formatted data received from the server on a business dashboard. Users can see grouped keywords and their associated sentiment information. This allows users to efficiently analyze data and make decisions.

[0426] Input: JSON format data received from the server

[0427] Output: Grouped keywords and sentiment information displayed on the business dashboard.

[0428] This allows the factory management system to analyze user-inputted information and support the efficient planning and adjustment of production schedules.

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

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

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

[0432] [Second Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0445] This invention provides a system for efficiently analyzing and grouping keywords entered by users on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0446] Explanation in natural language

[0447] 1. The user enters keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy."

[0448] 2. The terminal sends these keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0449] 3. The server analyzes the received keywords. Specifically, the server uses natural language processing tools to combine the keywords into a single document. Then, it generates the base form of each word. Using this base form, keywords with the same or similar meanings are grouped together.

[0450] 4. Organize the results of the server grouping. Group them based on their respective basic forms to generate results like the following:

[0451] "sale": ["sales", "sell"]

[0452] "revenue": ["revenue"]

[0453] "profit": ["profits"]

[0454] "income": ["income"]

[0455] "approach": ["approach", "method"]

[0456] "strategy": ["strategy"]

[0457] 5. The server sends the grouping results to the terminal in JSON format.

[0458] 6. The device displays these results on the user's dashboard. The displayed information allows the user to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0459] Specific example

[0460] The user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. The device sends these keywords to the server, which then uses a language model to analyze them.

[0461] For example, the keywords "sales" and "sell" are grouped under the base form "sale." Similarly, "approach" and "method" are classified under the same semantic category.

[0462] The server sends these grouping results to the terminal using JSON format or similar, and the terminal ultimately displays them on the user's dashboard. This allows users to avoid information duplication and perform data analysis and decision-making efficiently.

[0463] The following describes the processing flow.

[0464] Step 1:

[0465] The user enters keywords into the business dashboard. Examples include "sales", "revenue", "profits", "sell", "income", "approach", "method", and "strategy".

[0466] Step 2:

[0467] The terminal sends a list of entered keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0468] Step 3:

[0469] The server receives the keyword list and loads the language model. Here, for example, a natural language processing tool is used to load the language model "en_core_web_sm".

[0470] Step 4:

[0471] The server combines the keywords it receives into a single document. For example, it generates a document such as "sales revenue profits sell income approach method strategy".

[0472] Step 5:

[0473] The server uses a language model to parse this combined document. During the parsing process, it obtains the lemma of each keyword. For example, "sales" and "sell" become the lemma "sale".

[0474] Step 6:

[0475] The server classifies each keyword based on its base form. Here, keywords with the same or similar meanings are grouped together for each base form.

[0476] Step 7:

[0477] The results of the server grouping are organized, and a list of keywords corresponding to each basic form is created. For example:

[0478] "sale": ["sales", "sell"]

[0479] "approach": ["approach", "method"]

[0480] Step 8:

[0481] The server sends the grouped results to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[0482] Step 9:

[0483] The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords.

[0484] Step 10:

[0485] Users can view grouped keywords on the dashboard, eliminate duplicate information, and efficiently perform data analysis and make decisions.

[0486] (Example 1)

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

[0488] Currently, there is a lack of efficient means to analyze and group keywords entered by users in business dashboards, resulting in users having to individually review duplicate or similar information. Furthermore, the accuracy and efficiency of natural language processing in keyword analysis and grouping can be low, hindering user decision-making. To address these challenges, a system that achieves efficient and highly accurate keyword analysis and grouping is needed.

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

[0490] In this invention, the server includes means for analyzing multiple keywords entered by the user and converting each keyword into a base form using a natural language processing tool, means for grouping the keywords based on the base form, and means for transmitting the grouping results to the terminal in structured data format. This makes it possible to efficiently analyze keywords entered by the user on the business dashboard and display them in a way that makes it easy to check for duplication and similarity.

[0491] "Keywords" are words or phrases that users enter into the business dashboard and which are then analyzed.

[0492] A "terminal" is a device used by users to input keywords and send and receive data with a server.

[0493] A "server" is a computer that receives keywords sent from terminals and performs analysis and grouping.

[0494] A "natural language processing tool" is software or a library that a server uses to analyze keywords and convert them into their base form.

[0495] The "basic form" is the morpheme from which the entered keyword originates, and it is a format used to unify synonyms and similar words.

[0496] "Grouping" is the process of combining semantically related keywords based on the analyzed basic form.

[0497] "Structured data format" refers to a format for organizing and storing the results of analysis and grouping keywords, and includes formats such as JSON and XML.

[0498] This invention is a system that efficiently analyzes and groups keywords entered by a user on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0499] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. These entered keywords are sent from the device to the server. When the device sends the keywords to the server, it sends them as an HTTP POST request in a list format.

[0500] The server analyzes the received keywords using a Python script. This script employs natural language processing tools (such as SpaCy or NLTK) to combine the keywords into a single document and generate the root form of each word. For example, "sales" and "sell" are converted to "sale".

[0501] The server groups keywords with the same or similar meanings based on the generated base form. The results of this grouping are organized in a structured data format such as JSON. For example, they might be grouped as follows:

[0502] "sale": ["sales", "sell"]

[0503] "revenue": ["revenue"]

[0504] "profit": ["profits"]

[0505] "income": ["income"]

[0506] "approach": ["approach", "method"]

[0507] "strategy": ["strategy"]

[0508] The server sends the grouping results to the terminal in JSON format. The terminal parses the received JSON data and displays it on the business dashboard. For example, it may look like this:

[0509] sell: sales, cover

[0510] revenue: revenue

[0511] profit: profits

[0512] income: income

[0513] approach: approach, method

[0514] Strategy: Strategy

[0515] This allows users to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0516] Examples of prompt statements to input into a generative AI model are as follows:

[0517] Convert the following keywords to their base forms and group them accordingly:

[0518] ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"]

[0519] Expected output format:

[0520] {

[0521] "Basic form": ["Original keyword 1", "Original keyword 2", ...]

[0522] }

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

[0524] Step 1:

[0525] The user enters keywords into the business dashboard.

[0526] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the input fields of the business dashboard. This input is performed by sending each keyword to the input field in text format.

[0527] Step 2:

[0528] The terminal sends the entered keyword to the server.

[0529] Specifically, the terminal aggregates the keywords entered by the user into a list format and sends it to the server using an HTTP POST request. The input is sent in a format such as ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0530] Step 3:

[0531] The server analyzes the keywords it receives.

[0532] Specifically, the server executes a Python script and uses natural language processing tools (such as SpaCy or NLTK) to analyze keywords. During analysis, the keywords are combined into a single document, and then each keyword is converted back to its base form. The input for this process is a list of keywords sent from the terminal, and the output is a list of the keywords converted back to their base forms.

[0533] Step 4:

[0534] The server groups keywords based on their basic structure.

[0535] Specifically, the server uses the results of a natural language processing tool to classify keywords into semantically related groups based on their base forms. For example, "sales" and "sell" are grouped together as "sale". The input is a list of keywords converted to their base forms, and the output is a list of grouped keywords.

[0536] Step 5:

[0537] The server organizes the grouping results in JSON format.

[0538] Specifically, the server converts the grouped keywords into JSON format. This formatting organizes the data structure, making it easier for the terminal to parse. The input is a list of grouped keywords, and the output is data in JSON format.

[0539] Step 6:

[0540] The server sends the grouping results to the terminal.

[0541] Specifically, the server sends the generated JSON data back to the terminal using an HTTP response. The input is data in JSON format, and the output is the HTTP response sent to the terminal.

[0542] Step 7:

[0543] The grouping results received by the device are displayed on the user's dashboard.

[0544] Specifically, the terminal parses the received JSON data and displays its contents in the user interface. For example, the following grouping results may be displayed:

[0545] sell: sales, cover

[0546] revenue: revenue

[0547] profit: profits

[0548] income: income

[0549] approach: approach, method

[0550] Strategy: Strategy

[0551] The input is JSON data received from the server, and the output is the grouped results displayed on the business dashboard.

[0552] (Application Example 1)

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

[0554] While systems existed that allowed users to input multiple keywords and efficiently analyze and group them, their ability to recommend related products based on customer searches in stores was limited. There is a need for an effective means to quickly and accurately find the products customers are looking for.

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

[0556] In this invention, the server includes means for a user to input multiple keywords, means for a terminal to transmit the multiple keywords to the server, means for the server to analyze the multiple keywords and group them based on their basic form, means for the server to transmit the grouped results to the terminal, means for the terminal to display the grouped results to the user, and means for grouping and recommending related products and services based on the items searched by the user. This makes it possible for customers to easily find related products within a store.

[0557] A "user" refers to an individual who uses the system to enter keywords and search for related products and services.

[0558] "Multiple keywords" refers to multiple words or phrases that a user enters into the system.

[0559] "Terminal" refers to a device used by a user to enter keywords and display results. This includes smartphones, etc.

[0560] A "server" refers to a computer system that receives keywords sent from a terminal, analyzes and groups them, and then sends the results back to the terminal.

[0561] "Analysis" refers to the process by which a server abstracts received keywords using natural language processing techniques, converts them into their basic form, and identifies synonyms and related words.

[0562] The term "basic form" refers to the original or fundamental form of a keyword, and is the word that serves as the basis for analysis.

[0563] "Grouping" refers to the process by which the server classifies related keywords into a single set based on the basic structure obtained through analysis.

[0564] "JSON format" is a text format for structuring data, and is an abbreviation for JavaScript Object Notation. It refers to the format in which a server sends grouping results to a terminal.

[0565] "Display" refers to the process where the terminal visually shows the user the grouping results sent from the server.

[0566] "Related products and services" refers to products and services recommended by the system based on multiple keywords entered by the user.

[0567] Modes for carrying out the invention

[0568] This invention is a system that recommends related products and services by having the user input multiple keywords, analyzing those keywords, and grouping them.

[0569] The system mainly consists of the following elements:

[0570] 1. User terminal (smartphone, etc.): A device used by the user to enter keywords.

[0571] 2. Server: Receives input keywords, parses them using a language model, and groups them based on their base form.

[0572] 3. Natural language processing tools (e.g., Python, NLTK, Requests library, Flask, etc.): Tools for converting keywords to their base forms and grouping them.

[0573] Program generation and processing flow

[0574] The system begins with the user entering keywords, and the terminal sending these keywords to the server. The following describes the processing flow.

[0575] Hardware and software

[0576] hardware

[0577] User device: Smartphone, etc.

[0578] Server: A high-performance computer that operates remotely.

[0579] software

[0580] Natural language processing tools: Python, NLTK, Requests library, Flask

[0581] Explanation of the process

[0582] 1. The user enters multiple keywords (e.g., "shampoo," "conditioner," "hair care") into the smartphone app.

[0583] 2. The terminal sends the entered keyword to the server. An HTTP request is made using the Requests library.

[0584] 3. The server parses the received keywords, tokenizes them, and converts them back to their base form. The NLTK library is used for tokenization and conversion back to base form.

[0585] 4. The server groups keywords based on their basic structure. For example, "shampoo" and "conditioner" are classified into the "hair care" group.

[0586] 5. The server sends the grouped results to the terminal in JSON format.

[0587] 6. The terminal parses the grouping results in JSON format and displays them on the user's screen as relevant products or services.

[0588] Specific example

[0589] When a user searches for keywords such as "shampoo," "conditioner," and "hair care" in the app, these keywords are sent from the smartphone to the server. The server analyzes these keywords, groups them, and categorizes them under "hair care." This allows the user to view related products and services all in one place.

[0590] Example of a prompt

[0591] Build a smartphone app that groups keywords like "shampoo," "conditioner," and "hair care" entered by the user and displays related products. Use NLTK to tokenize the keywords, convert them to their base form, and then send them to a server to receive the analysis results.

[0592] By configuring the system as described above, users can efficiently find relevant products, improving their in-store shopping experience.

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

[0594] Step 1:

[0595] The user enters keywords into the smartphone app. Specifically, they might enter keywords such as "shampoo," "conditioner," and "hair care." The entered keywords are saved as a data list within the app. The entered data is ["shampoo", "conditioner", "hair care"].

[0596] Step 2:

[0597] The terminal sends the keyword data list to the server. Specifically, it sends the keyword data list via an HTTP POST request using the Requests library. The input data is the keyword list generated in step 1, and the output after transmission is the state in which the server has received this data.

[0598] Step 3:

[0599] The server parses and tokenizes the received keywords. Specifically, it uses the NLTK library to break down the input keywords into words. The input data is a list of keywords entered by the user, and the output data is a list of tokenized words. For example, ["shampoo", "conditioner", "hair care"] is converted to ["shampoo", "conditioner", "hair", "care"].

[0600] Step 4:

[0601] The server converts tokenized words to their base forms. Specifically, it uses the NLTK WordNet library to generate the base form of each word. The input data is a list of tokenized words, and the output data is a list of words converted to their base forms. For example, ["shampoo", "conditioner", "hair", "care"] is converted to ["shampoo", "conditioner", "hair", "care"] (no change if already in base form).

[0602] Step 5:

[0603] The server groups keywords based on their base form. Specifically, it groups similar base form words together. The input data is a list of words converted to their base form, and the output data is a grouped list. For example, words related to "hair care" are grouped together.

[0604] Step 6:

[0605] The server creates a JSON file of the grouped results and sends it to the terminal. The input is a grouped list, and the output is data in JSON format. For example, it will send data in the format {"Hair Care": ["Shampoo", "Conditioner"]}.

[0606] Step 7:

[0607] The device parses the JSON data it receives and displays it on the user's app screen. The input data is JSON data received from the server, and the output data is a list of related products that is visually displayed to the user. Specifically, the app displays related products on the screen all at once, making it easy for the user to check them.

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

[0609] This invention combines a system that efficiently analyzes and groups keywords entered by users on a business dashboard with an emotion engine that recognizes user emotions. This enables data analysis that considers not only keyword grouping but also user emotion information. When a user enters keywords, the terminal sends these keywords and the user's emotion information to the server. Once the server receives the keywords and emotion information, it uses a language model to analyze the keywords and convert each keyword into its base form. It also uses the emotion engine to analyze the user's emotions and includes this information in the results. The server sends these grouped results and emotion information to the terminal, which then displays them on the user's dashboard.

[0610] Explanation in natural language

[0611] 1. Users enter keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Sentimental information of the user at the time of input is also collected.

[0612] 2. The terminal sends these keywords and sentiment information to the server. The data sent is a set of keyword list and sentiment information. The keyword list is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"], and the sentiment information is, for example, "positive" or "negative".

[0613] 3. The server analyzes the received keywords and sentiment information. Specifically, the server loads natural language processing tools and a sentiment analysis engine. First, the keywords are combined into a single document. Then, a language model is used to generate the base form of each word. This base form is used to group keywords with the same or similar meanings. The sentiment engine is also used to analyze the user's sentiment.

[0614] 4. The server organizes the grouped results and sentiment information, and creates a list of keywords and sentiment information corresponding to each basic form. For example:

[0615] "sale": ["sales", "sell"], Emotion: "positive"

[0616] "approach": ["approach", "method"], emotion: "neutral"

[0617] 5. The server sends these grouping results and sentiment information to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[0618] 6. The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords and their associated sentiment information.

[0619] Specific example

[0620] Consider a scenario where a user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into a business dashboard, and simultaneously experiences a "positive" sentiment at the time of entry. The device then sends these keywords and sentiment information to the server.

[0621] The server analyzes the received data and, for example, groups keywords like "sales" and "sell" into their base form, "sale." Similarly, it classifies "approach" and "method" into the same semantic category. It also uses an emotion engine to analyze whether the user's emotion was "positive" as relevant information.

[0622] The server sends these grouping results and sentiment information to the terminal in JSON format, which the terminal then displays on the user's dashboard. This allows users to not only avoid information duplication but also to efficiently analyze data and make decisions while considering sentiment information.

[0623] The following describes the processing flow.

[0624] Step 1:

[0625] The user enters keywords into the business dashboard. Examples include "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Simultaneously, the user's sentiment information is collected, such as "positive" or "negative."

[0626] Step 2:

[0627] The terminal sends the entered keywords and sentiment information to the server. The data sent includes a keyword list ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"] and sentiment information (e.g., "positive").

[0628] Step 3:

[0629] The server receives a list of keywords and sentiment information. The server loads a natural language processing tool (e.g., "spaCy") and a sentiment analysis engine.

[0630] Step 4:

[0631] The server combines the received keyword list into a single document. For example, it generates a document titled "sales revenue profits sell income approach method strategy".

[0632] Step 5:

[0633] The server analyzes this combined document using a language model. It obtains the lemma of each keyword. For example, "sales" is converted to the lemma of "sale".

[0634] Step 6:

[0635] The server groups keywords based on their basic structure. Keywords with the same or similar meanings are grouped together. For example, "sales" and "sell" are grouped under "sale," and "approach" and "method" are grouped together.

[0636] Step 7:

[0637] The server uses an emotion analysis engine to analyze the emotional information of the user at the time of input. For example, it analyzes whether the user was feeling "positive" at the time of input.

[0638] Step 8:

[0639] The server organizes the grouped results and sentiment information. For example:

[0640] "sale": ["sales", "sell"], Emotion: "positive"

[0641] "approach": ["approach", "method"], Emotion: "positive"

[0642] Step 9:

[0643] The server converts these grouping results and sentiment information into a data format such as JSON and sends it to the terminal.

[0644] Step 10:

[0645] The device receives JSON data from the server and displays it on the user's dashboard. Users can visually see grouped keywords and associated sentiment information.

[0646] Step 11:

[0647] Users can view grouped keywords and sentiment information on the dashboard. This eliminates information duplication and enables efficient data analysis and decision-making.

[0648] (Example 2)

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

[0650] Conventional keyword analysis systems simply group keywords entered by users without considering user sentiment, making it impossible to analyze data that includes sentiment. Furthermore, there were challenges in efficiently displaying the grouped keywords and their related information.

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

[0652] In this invention, the server includes means for grouping the multiple keywords based on their basic form using a natural language processing tool, means for analyzing the user's emotional information using an emotional analysis engine, and means for organizing the grouped results and the user's emotional information and transmitting them to the terminal. This enables efficient grouping of keywords entered by the user, as well as data analysis and display of results that take into account the user's emotional information.

[0653] A "user" refers to a person who uses the system to input keywords and sentiment information.

[0654] A "terminal" refers to a device or platform used by a user to input keywords and sentiment information and transmit it to a server. Specific examples include personal computers, tablets, and smartphones.

[0655] A "server" refers to a computer system that receives keywords and sentiment information sent by users, analyzes and groups them, and sends the results to the terminal.

[0656] "Emotional information" refers to the emotional state of a user when they enter keywords, and is expressed in categories such as positive, negative, and neutral.

[0657] "Natural language processing tools" refer to software or libraries that use language models to analyze input keywords and convert them back into their basic forms. Specific examples include SpaCy and NLTK.

[0658] A "sentiment analysis engine" refers to software or a library used to analyze a user's emotional information and identify emotions from input text. Specific examples include IBM Watson and Microsoft Azure Text Analytics.

[0659] "Grouping" refers to the process of combining keywords that have been converted into their basic form with those that have the same or similar meanings.

[0660] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data format for describing data structures. It is a text format and is widely used for data exchange and storage.

[0661] A "dataset" refers to a collection of keywords and sentiment information entered by users, and is used for communication with the server.

[0662] This invention is a system that efficiently analyzes and groups keywords entered by users on a business dashboard, and further incorporates an emotion engine that recognizes the user's emotions. Specific embodiments of this invention are shown below.

[0663] System Overview

[0664] User input of keywords and sentiment information

[0665] Users enter keywords into the business dashboard. These keywords include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." The system also collects sentiment information from the user as they enter the information and inputs this information into the system. Sentiment information is expressed as "positive," "negative," "neutral," etc.

[0666] Data transmission by the device

[0667] The device sends the keywords and sentiment information entered by the user to the server as a single dataset. This transmitted data is in the following format:

[0668] json

[0669] {

[0670] "keywords": ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"],

[0671] "emotion": "positive"

[0672] }

[0673] Data reception and analysis by the server

[0674] The server receives data sent from the terminal. The server uses natural language processing tools (e.g., SpaCy or NLTK) to convert keywords into their base forms and group keywords with the same or similar meanings. Specifically, the processing is as follows:

[0675] "Sales" and "sell" are grouped under the basic form "sale".

[0676] "Approach" and "method" are grouped together as belonging to the same semantic category.

[0677] In addition, the server uses a sentiment analysis engine (e.g., IBM Watson, Microsoft Azure Text Analytics) to analyze the user's sentiment information. This allows sentiment information to be associated with keyword groups.

[0678] Server-side processing and transmission of results

[0679] The server organizes the analysis results and lists grouped keywords and their corresponding sentiment information. The results are then expressed as follows:

[0680] json

[0681] [

[0682] {

[0683] "keyword_group": "sale",

[0684] "keywords": ["sales", "sell"],

[0685] "emotion": "positive"

[0686] },

[0687] {

[0688] "keyword_group": "approach",

[0689] "keywords": ["approach", "method"],

[0690] "emotion": "neutral"

[0691] }

[0692] ]

[0693] Send this data to the terminal in JSON format.

[0694] Displaying data on the device

[0695] The terminal displays the analysis results received from the server on the user's business dashboard. This allows the user to understand grouped keywords and their corresponding sentiment information at a glance.

[0696] Specific example

[0697] Consider a scenario where a user enters the following keywords into a business dashboard and provides "positive" as sentiment information:

[0698] Keywords: "sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"

[0699] Emotional information: "Positive"

[0700] When the device sends these keywords and sentiment information to the server, the server analyzes the received data and groups and associates the sentiment information as follows:

[0701] "Sales" and "sell" are grouped under the base form "sale".

[0702] "Approach" and "method" belong to the same semantic category.

[0703] Sentiment analysis associates these keyword groups with "positive" emotional information.

[0704] The server sends these results to the terminal in JSON format, and the terminal displays them on the user's dashboard.

[0705] Example of a prompt

[0706] Please explain how the system analyzes keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy," and displays the grouping results and sentiment information on the dashboard, provided the user's sentiment is "positive."

[0707] By using this system, users can perform efficient data analysis that takes emotional information into account while avoiding information duplication, and obtain useful information to support decision-making.

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

[0709] Step 1:

[0710] The user enters keywords and sentiment information into the business dashboard. The user enters one or more keywords into the text boxes on the business dashboard and simultaneously selects or enters sentiment information. For example, the user enters keywords such as "sales," "revenue," and "profits," and selects "positive" as the sentiment.

[0711] Input: Keywords and sentiment information

[0712] Output: Input dataset to the terminal (keywords and sentiment information)

[0713] Specific actions:

[0714] The user enters keywords using the keyboard and selects sentiment information from a pull-down menu.

[0715] Step 2:

[0716] The terminal sends the entered keywords and sentiment information to the server. The terminal organizes the keywords and sentiment information entered by the user into a single dataset and sends it to the server via an HTTP request.

[0717] Input: Keywords and sentiment information entered by the user.

[0718] Output: Data to be sent to the server (JSON format)

[0719] Specific actions:

[0720] The device constructs data in JSON format and sends it to the server. For example, the data is sent as follows:

[0721] json

[0722] {

[0723] "keywords": ["sales", "revenue", "profits"],

[0724] "emotion": "positive"

[0725] }

[0726] Step 3:

[0727] The server analyzes the received data. The server receives JSON-formatted data sent from the terminal, loads a natural language processing tool, and begins keyword analysis.

[0728] Input: JSON formatted data sent from the device

[0729] Output: Initial dataset including analysis results

[0730] Specific actions:

[0731] The server parses the received data and calls a natural language processing tool (such as SpaCy) to convert keywords into their base form. For example, "sales" and "sell" are converted to the base form "sale".

[0732] Step 4:

[0733] The server uses natural language processing tools to convert keywords into their base forms and group them. The server converts each analyzed keyword into its base form and groups similar keywords based on that base form.

[0734] Input: Analysis results from a natural language processing tool

[0735] Output: Grouping results based on the basic form

[0736] Specific actions:

[0737] The server groups "sales" and "sell" together as "sale," and classifies "approach" and "method" into the same group.

[0738] Step 5:

[0739] The server uses an emotion analysis engine to analyze the user's emotional information. The server loads the emotion analysis engine, analyzes the emotional information entered by the user, and associates it with each grouped keyword.

[0740] Input: Sentiment information from the user

[0741] Output: Emotion analysis results

[0742] Specific actions:

[0743] The server uses an emotion analysis engine (e.g., IBM Watson) to analyze emotional information such as "positive" and associates "positive" emotions with keyword groups.

[0744] Step 6:

[0745] The server organizes the grouping results and sentiment information and converts them into JSON format. The server combines the grouped keywords and sentiment information into a single dataset, converts it back into JSON format, and prepares to send it to the terminal.

[0746] Input: Grouping results and sentiment analysis results

[0747] Output: JSON data to send to the terminal

[0748] Specific actions:

[0749] The server creates data in JSON format as follows:

[0750] json

[0751] [

[0752] {

[0753] "keyword_group": "sale",

[0754] "keywords": ["sales", "sell"],

[0755] "emotion": "positive"

[0756] },

[0757] {

[0758] "keyword_group": "approach",

[0759] "keywords": ["approach", "method"],

[0760] "emotion": "neutral"

[0761] }

[0762] ]

[0763] Step 7:

[0764] The server sends data in JSON format to the terminal. The server then sends the organized data to the terminal using an appropriate communication protocol (e.g., HTTP).

[0765] Input: Grouping results in JSON format

[0766] Output: Data to send to the terminal

[0767] Specific actions:

[0768] The server generates an HTTP response and sends the grouping results and sentiment information to the terminal.

[0769] Step 8:

[0770] The terminal displays data received from the server on the user's dashboard. The terminal analyzes the data received from the server and displays it on the business dashboard in a format that is easy for the user to understand.

[0771] Input: JSON data sent from the server

[0772] Output: Display on the user's dashboard

[0773] Specific actions:

[0774] The device parses the received data and displays grouped keywords and sentiment information in graph and text format on the user's dashboard. The user can then view this display to understand the relevance of keywords and sentiment information.

[0775] (Application Example 2)

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

[0777] Conventional factory management systems had problems with production planning and decision-making because they could not efficiently analyze and group keywords entered by managers, nor could they perform data analysis that took into account managers' emotional information. As a result, improvements in production efficiency and quality could not be fully achieved.

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

[0779] In this invention, the server includes means for analyzing multiple keywords and grouping them based on their basic form, means for analyzing the user's emotional information, and means for transmitting the grouped results and emotional information to the terminal. This enables efficient data analysis by considering emotional information when the user inputs keywords. As a result, it becomes easier to plan and adjust production schedules, leading to improved production efficiency and quality.

[0780] A "user" is a person who uses the factory management system to input keywords and emotional information.

[0781] A "terminal" is an electronic device used by users to input keywords and sentiment information and send it to a server. Examples include smartphones and personal computers.

[0782] A "server" is a computer system that receives keywords and sentiment information sent by users, and then analyzes and groups them.

[0783] "Keywords" are words or phrases that users enter into the business dashboard.

[0784] "Emotional information" refers to data that indicates the emotional state of a user when they enter a keyword. For example, this includes "positive" and "negative."

[0785] A "language model" is an algorithm or system that uses natural language processing techniques to analyze keywords.

[0786] "Grouping" refers to the process of classifying analyzed keywords based on their basic form and grouping keywords with synonyms or similar meanings together.

[0787] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structuring, storing, and transferring data.

[0788] This invention aims to optimize production planning in a factory management system by efficiently analyzing and grouping keywords and sentiment information entered by users. Specifically, in this invention, the server, terminal, and user each play a specific role and work together as a whole system.

[0789] First, users access the factory management system using devices such as PCs or smartphones. They input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality" onto the business dashboard. They also input sentiment information (e.g., "positive"). This data is analyzed comprehensively to help develop optimal production plans.

[0790] The terminal sends keywords and sentiment information entered by the user to the server. The transmitted data consists of a keyword list and a set of sentiment information. The software used here includes a natural language processing library (NLTK) and a sentiment analysis engine (VADER Sentiment Analysis).

[0791] The server analyzes the received data. Specifically, it uses a language model to generate the base form of each keyword and groups keywords with the same or similar meanings. It also uses an emotion engine to analyze the user's emotional information and incorporates the results into the data.

[0792] Next, the server converts the analyzed keywords and sentiment information grouping results into a data format such as JSON and sends it to the terminal. Here, JSON is a lightweight data format suitable for data exchange and storage. The server's role is to perform complex data analysis quickly and efficiently and provide the user with the necessary information.

[0793] Finally, the terminal displays the data received from the server on the business dashboard. Users can see grouped keywords and their associated sentiment information, enabling them to efficiently analyze data and make decisions.

[0794] Specific example:

[0795] Administrators input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," and assign a "positive" sentiment to each. The system converts these keywords into their base forms, groups them, and displays them on the dashboard along with their sentiment. For example, the keywords "optimize" and "improvement" are recognized as synonymous and displayed as a single group.

[0796] Examples of input prompts for a generative AI model:

[0797] Keyword list: ["efficiency", "cost", "stress", "optimize", "error", "delay", "improvement", "quality"]

[0798] User sentiment information: "Positive"

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

[0800] Step 1:

[0801] Users access the factory management system's business dashboard using devices such as PCs and smartphones. Using this dashboard, users input multiple keywords and add sentiment information. For example, they might input keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," along with the sentiment "positive." Based on this input data, the system prepares to perform efficient data analysis.

[0802] Input: Multiple keywords and sentiment information entered by the user.

[0803] Output: A list of keywords and sentiment information temporarily stored on the device.

[0804] Step 2:

[0805] The terminal sends the keywords and sentiment information entered by the user to the server. The keyword list and sentiment information are sent together. Here, the transmitted data is in the following format, for example.

[0806] {

[0807] "keywords": ["efficiency", "cost", "speed", "optimize", "error", "delay", "improvement", "quality"],

[0808] "emotion": "positive"

[0809] }

[0810] Input: User-entered keyword list and sentiment information

[0811] Output: Dataset sent to the server

[0812] Step 3:

[0813] The server analyzes the received keyword list and sentiment information. First, it uses a natural language processing tool to generate a base form for each keyword and groups keywords with the same or similar meanings. Simultaneously, it uses a sentiment analysis engine to analyze the sentiment information and incorporates the results into the data.

[0814] Input: Keyword list and sentiment information received from the device.

[0815] Output: Grouped keyword list and analyzed sentiment information

[0816] Step 4:

[0817] The server converts the analyzed keywords and sentiment information into JSON format and sends it to the terminal. The output format here is JSON data as follows:

[0818] {

[0819] "keywords_grouped": {

[0820] "efficiency": ["efficiency"],

[0821] "cost": ["cost"],

[0822] "speed": ["speed"],

[0823] "optimize": ["optimize", "improvement"],

[0824] "error": ["error"],

[0825] "delay": ["delay"],

[0826] "quality": ["quality"]

[0827] },

[0828] "emotion": "positive"

[0829] }

[0830] Input: Analyzed keyword list and sentiment information

[0831] Output: Data converted to JSON format

[0832] Step 5:

[0833] The terminal displays JSON-formatted data received from the server on a business dashboard. Users can see grouped keywords and their associated sentiment information. This allows users to efficiently analyze data and make decisions.

[0834] Input: JSON format data received from the server

[0835] Output: Grouped keywords and sentiment information displayed on the business dashboard.

[0836] This allows the factory management system to analyze user-inputted information and support the efficient planning and adjustment of production schedules.

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

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

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

[0840] [Third Embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0853] This invention provides a system for efficiently analyzing and grouping keywords entered by users on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0854] Explanation in natural language

[0855] 1. The user enters keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy."

[0856] 2. The terminal sends these keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0857] 3. The server analyzes the received keywords. Specifically, the server uses natural language processing tools to combine the keywords into a single document. Then, it generates the base form of each word. Using this base form, keywords with the same or similar meanings are grouped together.

[0858] 4. Organize the results of the server grouping. Group them based on their respective basic forms to generate results like the following:

[0859] "sale": ["sales", "sell"]

[0860] "revenue": ["revenue"]

[0861] "profit": ["profits"]

[0862] "income": ["income"]

[0863] "approach": ["approach", "method"]

[0864] "strategy": ["strategy"]

[0865] 5. The server sends the grouping results to the terminal in JSON format.

[0866] 6. The device displays these results on the user's dashboard. The displayed information allows the user to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0867] Specific example

[0868] The user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. The device sends these keywords to the server, which then uses a language model to analyze them.

[0869] For example, the keywords "sales" and "sell" are grouped under the base form "sale." Similarly, "approach" and "method" are classified under the same semantic category.

[0870] The server sends these grouping results to the terminal using JSON format or similar, and the terminal ultimately displays them on the user's dashboard. This allows users to avoid information duplication and perform data analysis and decision-making efficiently.

[0871] The following describes the processing flow.

[0872] Step 1:

[0873] The user enters keywords into the business dashboard. Examples include "sales", "revenue", "profits", "sell", "income", "approach", "method", and "strategy".

[0874] Step 2:

[0875] The terminal sends a list of entered keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0876] Step 3:

[0877] The server receives the keyword list and loads the language model. Here, for example, a natural language processing tool is used to load the language model "en_core_web_sm".

[0878] Step 4:

[0879] The server combines the keywords it receives into a single document. For example, it generates a document such as "sales revenue profits sell income approach method strategy".

[0880] Step 5:

[0881] The server uses a language model to parse this combined document. During the parsing process, it obtains the lemma of each keyword. For example, "sales" and "sell" become the lemma "sale".

[0882] Step 6:

[0883] The server classifies each keyword based on its base form. Here, keywords with the same or similar meanings are grouped together for each base form.

[0884] Step 7:

[0885] The results of the server grouping are organized, and a list of keywords corresponding to each basic form is created. For example:

[0886] "sale": ["sales", "sell"]

[0887] "approach": ["approach", "method"]

[0888] Step 8:

[0889] The server sends the grouped results to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[0890] Step 9:

[0891] The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords.

[0892] Step 10:

[0893] Users can view grouped keywords on the dashboard, eliminate duplicate information, and efficiently perform data analysis and make decisions.

[0894] (Example 1)

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

[0896] Currently, there is a lack of efficient means to analyze and group keywords entered by users in business dashboards, resulting in users having to individually review duplicate or similar information. Furthermore, the accuracy and efficiency of natural language processing in keyword analysis and grouping can be low, hindering user decision-making. To address these challenges, a system that achieves efficient and highly accurate keyword analysis and grouping is needed.

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

[0898] In this invention, the server includes means for analyzing multiple keywords entered by the user and converting each keyword into a base form using a natural language processing tool, means for grouping the keywords based on the base form, and means for transmitting the grouping results to the terminal in structured data format. This makes it possible to efficiently analyze keywords entered by the user on the business dashboard and display them in a way that makes it easy to check for duplication and similarity.

[0899] "Keywords" are words or phrases that users enter into the business dashboard and which are then analyzed.

[0900] A "terminal" is a device used by users to input keywords and send and receive data with a server.

[0901] A "server" is a computer that receives keywords sent from terminals and performs analysis and grouping.

[0902] A "natural language processing tool" is software or a library that a server uses to analyze keywords and convert them into their base form.

[0903] The "basic form" is the morpheme from which the entered keyword originates, and it is a format used to unify synonyms and similar words.

[0904] "Grouping" is the process of combining semantically related keywords based on the analyzed basic form.

[0905] "Structured data format" refers to a format for organizing and storing the results of analysis and grouping keywords, and includes formats such as JSON and XML.

[0906] This invention is a system that efficiently analyzes and groups keywords entered by a user on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[0907] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. These entered keywords are sent from the device to the server. When the device sends the keywords to the server, it sends them as an HTTP POST request in a list format.

[0908] The server analyzes the received keywords using a Python script. This script employs natural language processing tools (such as SpaCy or NLTK) to combine the keywords into a single document and generate the root form of each word. For example, "sales" and "sell" are converted to "sale".

[0909] The server groups keywords with the same or similar meanings based on the generated base form. The results of this grouping are organized in a structured data format such as JSON. For example, they might be grouped as follows:

[0910] "sale": ["sales", "sell"]

[0911] "revenue": ["revenue"]

[0912] "profit": ["profits"]

[0913] "income": ["income"]

[0914] "approach": ["approach", "method"]

[0915] "strategy": ["strategy"]

[0916] The server sends the grouping results to the terminal in JSON format. The terminal parses the received JSON data and displays it on the business dashboard. For example, it may look like this:

[0917] sell: sales, cover

[0918] revenue: revenue

[0919] profit: profits

[0920] income: income

[0921] approach: approach, method

[0922] Strategy: Strategy

[0923] This allows users to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[0924] Examples of prompt statements to input into a generative AI model are as follows:

[0925] Convert the following keywords to their base forms and group them accordingly:

[0926] ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"]

[0927] Expected output format:

[0928] {

[0929] "Basic form": ["Original keyword 1", "Original keyword 2", ...]

[0930] }

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

[0932] Step 1:

[0933] The user enters keywords into the business dashboard.

[0934] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the input fields of the business dashboard. This input is performed by sending each keyword to the input field in text format.

[0935] Step 2:

[0936] The terminal sends the entered keyword to the server.

[0937] Specifically, the terminal aggregates the keywords entered by the user into a list format and sends it to the server using an HTTP POST request. The input is sent in a format such as ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[0938] Step 3:

[0939] The server analyzes the keywords it receives.

[0940] Specifically, the server executes a Python script and uses natural language processing tools (such as SpaCy or NLTK) to analyze keywords. During analysis, the keywords are combined into a single document, and then each keyword is converted back to its base form. The input for this process is a list of keywords sent from the terminal, and the output is a list of the keywords converted back to their base forms.

[0941] Step 4:

[0942] The server groups keywords based on their basic structure.

[0943] Specifically, the server uses the results of a natural language processing tool to classify keywords into semantically related groups based on their base forms. For example, "sales" and "sell" are grouped together as "sale". The input is a list of keywords converted to their base forms, and the output is a list of grouped keywords.

[0944] Step 5:

[0945] The server organizes the grouping results in JSON format.

[0946] Specifically, the server converts the grouped keywords into JSON format. This formatting organizes the data structure, making it easier for the terminal to parse. The input is a list of grouped keywords, and the output is data in JSON format.

[0947] Step 6:

[0948] The server sends the grouping results to the terminal.

[0949] Specifically, the server sends the generated JSON data back to the terminal using an HTTP response. The input is data in JSON format, and the output is the HTTP response sent to the terminal.

[0950] Step 7:

[0951] The grouping results received by the device are displayed on the user's dashboard.

[0952] Specifically, the terminal parses the received JSON data and displays its contents in the user interface. For example, the following grouping results may be displayed:

[0953] sell: sales, cover

[0954] revenue: revenue

[0955] profit: profits

[0956] income: income

[0957] approach: approach, method

[0958] Strategy: Strategy

[0959] The input is JSON data received from the server, and the output is the grouped results displayed on the business dashboard.

[0960] (Application Example 1)

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

[0962] While systems existed that allowed users to input multiple keywords and efficiently analyze and group them, their ability to recommend related products based on customer searches in stores was limited. There is a need for an effective means to quickly and accurately find the products customers are looking for.

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

[0964] In this invention, the server includes means for a user to input multiple keywords, means for a terminal to transmit the multiple keywords to the server, means for the server to analyze the multiple keywords and group them based on their basic form, means for the server to transmit the grouped results to the terminal, means for the terminal to display the grouped results to the user, and means for grouping and recommending related products and services based on the items searched by the user. This makes it possible for customers to easily find related products within a store.

[0965] A "user" refers to an individual who uses the system to enter keywords and search for related products and services.

[0966] "Multiple keywords" refers to multiple words or phrases that a user enters into the system.

[0967] "Terminal" refers to a device used by a user to enter keywords and display results. This includes smartphones, etc.

[0968] A "server" refers to a computer system that receives keywords sent from a terminal, analyzes and groups them, and then sends the results back to the terminal.

[0969] "Analysis" refers to the process by which a server abstracts received keywords using natural language processing techniques, converts them into their basic form, and identifies synonyms and related words.

[0970] The term "basic form" refers to the original or fundamental form of a keyword, and is the word that serves as the basis for analysis.

[0971] "Grouping" refers to the process by which the server classifies related keywords into a single set based on the basic structure obtained through analysis.

[0972] "JSON format" is a text format for structuring data, and is an abbreviation for JavaScript Object Notation. It refers to the format in which a server sends grouping results to a terminal.

[0973] "Display" refers to the process where the terminal visually shows the user the grouping results sent from the server.

[0974] "Related products and services" refers to products and services recommended by the system based on multiple keywords entered by the user.

[0975] Modes for carrying out the invention

[0976] This invention is a system that recommends related products and services by having the user input multiple keywords, analyzing those keywords, and grouping them.

[0977] The system mainly consists of the following elements:

[0978] 1. User terminal (smartphone, etc.): A device used by the user to enter keywords.

[0979] 2. Server: Receives input keywords, parses them using a language model, and groups them based on their base form.

[0980] 3. Natural language processing tools (e.g., Python, NLTK, Requests library, Flask, etc.): Tools for converting keywords to their base forms and grouping them.

[0981] Program generation and processing flow

[0982] The system begins with the user entering keywords, and the terminal sending these keywords to the server. The following describes the processing flow.

[0983] Hardware and software

[0984] hardware

[0985] User device: Smartphone, etc.

[0986] Server: A high-performance computer that operates remotely.

[0987] software

[0988] Natural language processing tools: Python, NLTK, Requests library, Flask

[0989] Explanation of the process

[0990] 1. The user enters multiple keywords (e.g., "shampoo," "conditioner," "hair care") into the smartphone app.

[0991] 2. The terminal sends the entered keyword to the server. An HTTP request is made using the Requests library.

[0992] 3. The server parses the received keywords, tokenizes them, and converts them back to their base form. The NLTK library is used for tokenization and conversion back to base form.

[0993] 4. The server groups keywords based on their basic structure. For example, "shampoo" and "conditioner" are classified into the "hair care" group.

[0994] 5. The server sends the grouped results to the terminal in JSON format.

[0995] 6. The terminal parses the grouping results in JSON format and displays them on the user's screen as relevant products or services.

[0996] Specific example

[0997] When a user searches for keywords such as "shampoo," "conditioner," and "hair care" in the app, these keywords are sent from the smartphone to the server. The server analyzes these keywords, groups them, and categorizes them under "hair care." This allows the user to view related products and services all in one place.

[0998] Example of a prompt

[0999] Build a smartphone app that groups keywords like "shampoo," "conditioner," and "hair care" entered by the user and displays related products. Use NLTK to tokenize the keywords, convert them to their base form, and then send them to a server to receive the analysis results.

[1000] By configuring the system as described above, users can efficiently find relevant products, improving their in-store shopping experience.

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

[1002] Step 1:

[1003] The user enters keywords into the smartphone app. Specifically, they might enter keywords such as "shampoo," "conditioner," and "hair care." The entered keywords are saved as a data list within the app. The entered data is ["shampoo", "conditioner", "hair care"].

[1004] Step 2:

[1005] The terminal sends the keyword data list to the server. Specifically, it sends the keyword data list via an HTTP POST request using the Requests library. The input data is the keyword list generated in step 1, and the output after transmission is the state in which the server has received this data.

[1006] Step 3:

[1007] The server parses and tokenizes the received keywords. Specifically, it uses the NLTK library to break down the input keywords into words. The input data is a list of keywords entered by the user, and the output data is a list of tokenized words. For example, ["shampoo", "conditioner", "hair care"] is converted to ["shampoo", "conditioner", "hair", "care"].

[1008] Step 4:

[1009] The server converts tokenized words to their base forms. Specifically, it uses the NLTK WordNet library to generate the base form of each word. The input data is a list of tokenized words, and the output data is a list of words converted to their base forms. For example, ["shampoo", "conditioner", "hair", "care"] is converted to ["shampoo", "conditioner", "hair", "care"] (no change if already in base form).

[1010] Step 5:

[1011] The server groups keywords based on their base form. Specifically, it groups similar base form words together. The input data is a list of words converted to their base form, and the output data is a grouped list. For example, words related to "hair care" are grouped together.

[1012] Step 6:

[1013] The server creates a JSON file of the grouped results and sends it to the terminal. The input is a grouped list, and the output is data in JSON format. For example, it will send data in the format {"Hair Care": ["Shampoo", "Conditioner"]}.

[1014] Step 7:

[1015] The device parses the JSON data it receives and displays it on the user's app screen. The input data is JSON data received from the server, and the output data is a list of related products that is visually displayed to the user. Specifically, the app displays related products on the screen all at once, making it easy for the user to check them.

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

[1017] This invention combines a system that efficiently analyzes and groups keywords entered by users on a business dashboard with an emotion engine that recognizes user emotions. This enables data analysis that considers not only keyword grouping but also user emotion information. When a user enters keywords, the terminal sends these keywords and the user's emotion information to the server. Once the server receives the keywords and emotion information, it uses a language model to analyze the keywords and convert each keyword into its base form. It also uses the emotion engine to analyze the user's emotions and includes this information in the results. The server sends these grouped results and emotion information to the terminal, which then displays them on the user's dashboard.

[1018] Explanation in natural language

[1019] 1. Users enter keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Sentimental information of the user at the time of input is also collected.

[1020] 2. The terminal sends these keywords and sentiment information to the server. The data sent is a set of keyword list and sentiment information. The keyword list is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"], and the sentiment information is, for example, "positive" or "negative".

[1021] 3. The server analyzes the received keywords and sentiment information. Specifically, the server loads natural language processing tools and a sentiment analysis engine. First, the keywords are combined into a single document. Then, a language model is used to generate the base form of each word. This base form is used to group keywords with the same or similar meanings. The sentiment engine is also used to analyze the user's sentiment.

[1022] 4. The server organizes the grouped results and sentiment information, and creates a list of keywords and sentiment information corresponding to each basic form. For example:

[1023] "sale": ["sales", "sell"], Emotion: "positive"

[1024] "approach": ["approach", "method"], emotion: "neutral"

[1025] 5. The server sends these grouping results and sentiment information to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[1026] 6. The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords and their associated sentiment information.

[1027] Specific example

[1028] Consider a scenario where a user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into a business dashboard, and simultaneously experiences a "positive" sentiment at the time of entry. The device then sends these keywords and sentiment information to the server.

[1029] The server analyzes the received data and, for example, groups keywords like "sales" and "sell" into their base form, "sale." Similarly, it classifies "approach" and "method" into the same semantic category. It also uses an emotion engine to analyze whether the user's emotion was "positive" as relevant information.

[1030] The server sends these grouping results and sentiment information to the terminal in JSON format, which the terminal then displays on the user's dashboard. This allows users to not only avoid information duplication but also to efficiently analyze data and make decisions while considering sentiment information.

[1031] The following describes the processing flow.

[1032] Step 1:

[1033] The user enters keywords into the business dashboard. Examples include "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Simultaneously, the user's sentiment information is collected, such as "positive" or "negative."

[1034] Step 2:

[1035] The terminal sends the entered keywords and sentiment information to the server. The data sent includes a keyword list ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"] and sentiment information (e.g., "positive").

[1036] Step 3:

[1037] The server receives a list of keywords and sentiment information. The server loads a natural language processing tool (e.g., "spaCy") and a sentiment analysis engine.

[1038] Step 4:

[1039] The server combines the received keyword list into a single document. For example, it generates a document titled "sales revenue profits sell income approach method strategy".

[1040] Step 5:

[1041] The server analyzes this combined document using a language model. It obtains the lemma of each keyword. For example, "sales" is converted to the lemma of "sale".

[1042] Step 6:

[1043] The server groups keywords based on their basic structure. Keywords with the same or similar meanings are grouped together. For example, "sales" and "sell" are grouped under "sale," and "approach" and "method" are grouped together.

[1044] Step 7:

[1045] The server uses an emotion analysis engine to analyze the emotional information of the user at the time of input. For example, it analyzes whether the user was feeling "positive" at the time of input.

[1046] Step 8:

[1047] The server organizes the grouped results and sentiment information. For example:

[1048] "sale": ["sales", "sell"], Emotion: "positive"

[1049] "approach": ["approach", "method"], Emotion: "positive"

[1050] Step 9:

[1051] The server converts these grouping results and sentiment information into a data format such as JSON and sends it to the terminal.

[1052] Step 10:

[1053] The device receives JSON data from the server and displays it on the user's dashboard. Users can visually see grouped keywords and associated sentiment information.

[1054] Step 11:

[1055] Users can view grouped keywords and sentiment information on the dashboard. This eliminates information duplication and enables efficient data analysis and decision-making.

[1056] (Example 2)

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

[1058] Conventional keyword analysis systems simply group keywords entered by users without considering user sentiment, making it impossible to analyze data that includes sentiment. Furthermore, there were challenges in efficiently displaying the grouped keywords and their related information.

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

[1060] In this invention, the server includes means for grouping the multiple keywords based on their basic form using a natural language processing tool, means for analyzing the user's emotional information using an emotional analysis engine, and means for organizing the grouped results and the user's emotional information and transmitting them to the terminal. This enables efficient grouping of keywords entered by the user, as well as data analysis and display of results that take into account the user's emotional information.

[1061] A "user" refers to a person who uses the system to input keywords and sentiment information.

[1062] A "terminal" refers to a device or platform used by a user to input keywords and sentiment information and transmit it to a server. Specific examples include personal computers, tablets, and smartphones.

[1063] A "server" refers to a computer system that receives keywords and sentiment information sent by users, analyzes and groups them, and sends the results to the terminal.

[1064] "Emotional information" refers to the emotional state of a user when they enter keywords, and is expressed in categories such as positive, negative, and neutral.

[1065] "Natural language processing tools" refer to software or libraries that use language models to analyze input keywords and convert them back into their basic forms. Specific examples include SpaCy and NLTK.

[1066] A "sentiment analysis engine" refers to software or a library used to analyze a user's emotional information and identify emotions from input text. Specific examples include IBM Watson and Microsoft Azure Text Analytics.

[1067] "Grouping" refers to the process of combining keywords that have been converted into their basic form with those that have the same or similar meanings.

[1068] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data format for describing data structures. It is a text format and is widely used for data exchange and storage.

[1069] A "dataset" refers to a collection of keywords and sentiment information entered by users, and is used for communication with the server.

[1070] This invention is a system that efficiently analyzes and groups keywords entered by users on a business dashboard, and further incorporates an emotion engine that recognizes the user's emotions. Specific embodiments of this invention are shown below.

[1071] System Overview

[1072] User input of keywords and sentiment information

[1073] Users enter keywords into the business dashboard. These keywords include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." The system also collects sentiment information from the user as they enter the information and inputs this information into the system. Sentiment information is expressed as "positive," "negative," "neutral," etc.

[1074] Data transmission by the device

[1075] The device sends the keywords and sentiment information entered by the user to the server as a single dataset. This transmitted data is in the following format:

[1076] json

[1077] {

[1078] "keywords": ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"],

[1079] "emotion": "positive"

[1080] }

[1081] Data reception and analysis by the server

[1082] The server receives data sent from the terminal. The server uses natural language processing tools (e.g., SpaCy or NLTK) to convert keywords into their base forms and group keywords with the same or similar meanings. Specifically, the processing is as follows:

[1083] "Sales" and "sell" are grouped under the basic form "sale".

[1084] "Approach" and "method" are grouped together as belonging to the same semantic category.

[1085] In addition, the server uses a sentiment analysis engine (e.g., IBM Watson, Microsoft Azure Text Analytics) to analyze the user's sentiment information. This allows sentiment information to be associated with keyword groups.

[1086] Server-side processing and transmission of results

[1087] The server organizes the analysis results and lists grouped keywords and their corresponding sentiment information. The results are then expressed as follows:

[1088] json

[1089] [

[1090] {

[1091] "keyword_group": "sale",

[1092] "keywords": ["sales", "sell"],

[1093] "emotion": "positive"

[1094] },

[1095] {

[1096] "keyword_group": "approach",

[1097] "keywords": ["approach", "method"],

[1098] "emotion": "neutral"

[1099] }

[1100] ]

[1101] Send this data to the terminal in JSON format.

[1102] Displaying data on the device

[1103] The terminal displays the analysis results received from the server on the user's business dashboard. This allows the user to understand grouped keywords and their corresponding sentiment information at a glance.

[1104] Specific example

[1105] Consider a scenario where a user enters the following keywords into a business dashboard and provides "positive" as sentiment information:

[1106] Keywords: "sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"

[1107] Emotional information: "Positive"

[1108] When the device sends these keywords and sentiment information to the server, the server analyzes the received data and groups and associates the sentiment information as follows:

[1109] "Sales" and "sell" are grouped under the base form "sale".

[1110] "Approach" and "method" belong to the same semantic category.

[1111] Sentiment analysis associates these keyword groups with "positive" emotional information.

[1112] The server sends these results to the terminal in JSON format, and the terminal displays them on the user's dashboard.

[1113] Example of a prompt

[1114] Please explain how the system analyzes keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy," and displays the grouping results and sentiment information on the dashboard, provided the user's sentiment is "positive."

[1115] By using this system, users can perform efficient data analysis that takes emotional information into account while avoiding information duplication, and obtain useful information to support decision-making.

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

[1117] Step 1:

[1118] The user enters keywords and sentiment information into the business dashboard. The user enters one or more keywords into the text boxes on the business dashboard and simultaneously selects or enters sentiment information. For example, the user enters keywords such as "sales," "revenue," and "profits," and selects "positive" as the sentiment.

[1119] Input: Keywords and sentiment information

[1120] Output: Input dataset to the terminal (keywords and sentiment information)

[1121] Specific actions:

[1122] The user enters keywords using the keyboard and selects sentiment information from a pull-down menu.

[1123] Step 2:

[1124] The terminal sends the entered keywords and sentiment information to the server. The terminal organizes the keywords and sentiment information entered by the user into a single dataset and sends it to the server via an HTTP request.

[1125] Input: Keywords and sentiment information entered by the user.

[1126] Output: Data to be sent to the server (JSON format)

[1127] Specific actions:

[1128] The device constructs data in JSON format and sends it to the server. For example, the data is sent as follows:

[1129] json

[1130] {

[1131] "keywords": ["sales", "revenue", "profits"],

[1132] "emotion": "positive"

[1133] }

[1134] Step 3:

[1135] The server analyzes the received data. The server receives JSON-formatted data sent from the terminal, loads a natural language processing tool, and begins keyword analysis.

[1136] Input: JSON formatted data sent from the device

[1137] Output: Initial dataset including analysis results

[1138] Specific actions:

[1139] The server parses the received data and calls a natural language processing tool (such as SpaCy) to convert keywords into their base form. For example, "sales" and "sell" are converted to the base form "sale".

[1140] Step 4:

[1141] The server uses natural language processing tools to convert keywords into their base forms and group them. The server converts each analyzed keyword into its base form and groups similar keywords based on that base form.

[1142] Input: Analysis results from a natural language processing tool

[1143] Output: Grouping results based on the basic form

[1144] Specific actions:

[1145] The server groups "sales" and "sell" together as "sale," and classifies "approach" and "method" into the same group.

[1146] Step 5:

[1147] The server uses an emotion analysis engine to analyze the user's emotional information. The server loads the emotion analysis engine, analyzes the emotional information entered by the user, and associates it with each grouped keyword.

[1148] Input: Sentiment information from the user

[1149] Output: Emotion analysis results

[1150] Specific actions:

[1151] The server uses an emotion analysis engine (e.g., IBM Watson) to analyze emotional information such as "positive" and associates "positive" emotions with keyword groups.

[1152] Step 6:

[1153] The server organizes the grouping results and sentiment information and converts them into JSON format. The server combines the grouped keywords and sentiment information into a single dataset, converts it back into JSON format, and prepares to send it to the terminal.

[1154] Input: Grouping results and sentiment analysis results

[1155] Output: JSON data to send to the terminal

[1156] Specific actions:

[1157] The server creates data in JSON format as follows:

[1158] json

[1159] [

[1160] {

[1161] "keyword_group": "sale",

[1162] "keywords": ["sales", "sell"],

[1163] "emotion": "positive"

[1164] },

[1165] {

[1166] "keyword_group": "approach",

[1167] "keywords": ["approach", "method"],

[1168] "emotion": "neutral"

[1169] }

[1170] ]

[1171] Step 7:

[1172] The server sends data in JSON format to the terminal. The server then sends the organized data to the terminal using an appropriate communication protocol (e.g., HTTP).

[1173] Input: Grouping results in JSON format

[1174] Output: Data to send to the terminal

[1175] Specific actions:

[1176] The server generates an HTTP response and sends the grouping results and sentiment information to the terminal.

[1177] Step 8:

[1178] The terminal displays data received from the server on the user's dashboard. The terminal analyzes the data received from the server and displays it on the business dashboard in a format that is easy for the user to understand.

[1179] Input: JSON data sent from the server

[1180] Output: Display on the user's dashboard

[1181] Specific actions:

[1182] The device parses the received data and displays grouped keywords and sentiment information in graph and text format on the user's dashboard. The user can then view this display to understand the relevance of keywords and sentiment information.

[1183] (Application Example 2)

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

[1185] Conventional factory management systems had problems with production planning and decision-making because they could not efficiently analyze and group keywords entered by managers, nor could they perform data analysis that took into account managers' emotional information. As a result, improvements in production efficiency and quality could not be fully achieved.

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

[1187] In this invention, the server includes means for analyzing multiple keywords and grouping them based on their basic form, means for analyzing the user's emotional information, and means for transmitting the grouped results and emotional information to the terminal. This enables efficient data analysis by considering emotional information when the user inputs keywords. As a result, it becomes easier to plan and adjust production schedules, leading to improved production efficiency and quality.

[1188] A "user" is a person who uses the factory management system to input keywords and emotional information.

[1189] A "terminal" is an electronic device used by users to input keywords and sentiment information and send it to a server. Examples include smartphones and personal computers.

[1190] A "server" is a computer system that receives keywords and sentiment information sent by users, and then analyzes and groups them.

[1191] "Keywords" are words or phrases that users enter into the business dashboard.

[1192] "Emotional information" refers to data that indicates the emotional state of a user when they enter a keyword. For example, this includes "positive" and "negative."

[1193] A "language model" is an algorithm or system that uses natural language processing techniques to analyze keywords.

[1194] "Grouping" refers to the process of classifying analyzed keywords based on their basic form and grouping keywords with synonyms or similar meanings together.

[1195] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structuring, storing, and transferring data.

[1196] This invention aims to optimize production planning in a factory management system by efficiently analyzing and grouping keywords and sentiment information entered by users. Specifically, in this invention, the server, terminal, and user each play a specific role and work together as a whole system.

[1197] First, users access the factory management system using devices such as PCs or smartphones. They input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality" onto the business dashboard. They also input sentiment information (e.g., "positive"). This data is analyzed comprehensively to help develop optimal production plans.

[1198] The terminal sends keywords and sentiment information entered by the user to the server. The transmitted data consists of a keyword list and a set of sentiment information. The software used here includes a natural language processing library (NLTK) and a sentiment analysis engine (VADER Sentiment Analysis).

[1199] The server analyzes the received data. Specifically, it uses a language model to generate the base form of each keyword and groups keywords with the same or similar meanings. It also uses an emotion engine to analyze the user's emotional information and incorporates the results into the data.

[1200] Next, the server converts the analyzed keywords and sentiment information grouping results into a data format such as JSON and sends it to the terminal. Here, JSON is a lightweight data format suitable for data exchange and storage. The server's role is to perform complex data analysis quickly and efficiently and provide the user with the necessary information.

[1201] Finally, the terminal displays the data received from the server on the business dashboard. Users can see grouped keywords and their associated sentiment information, enabling them to efficiently analyze data and make decisions.

[1202] Specific example:

[1203] Administrators input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," and assign a "positive" sentiment to each. The system converts these keywords into their base forms, groups them, and displays them on the dashboard along with their sentiment. For example, the keywords "optimize" and "improvement" are recognized as synonymous and displayed as a single group.

[1204] Examples of input prompts for a generative AI model:

[1205] Keyword list: ["efficiency", "cost", "stress", "optimize", "error", "delay", "improvement", "quality"]

[1206] User sentiment information: "Positive"

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

[1208] Step 1:

[1209] Users access the factory management system's business dashboard using devices such as PCs and smartphones. Using this dashboard, users input multiple keywords and add sentiment information. For example, they might input keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," along with the sentiment "positive." Based on this input data, the system prepares to perform efficient data analysis.

[1210] Input: Multiple keywords and sentiment information entered by the user.

[1211] Output: A list of keywords and sentiment information temporarily stored on the device.

[1212] Step 2:

[1213] The terminal sends the keywords and sentiment information entered by the user to the server. The keyword list and sentiment information are sent together. Here, the transmitted data is in the following format, for example.

[1214] {

[1215] "keywords": ["efficiency", "cost", "speed", "optimize", "error", "delay", "improvement", "quality"],

[1216] "emotion": "positive"

[1217] }

[1218] Input: User-entered keyword list and sentiment information

[1219] Output: Dataset sent to the server

[1220] Step 3:

[1221] The server analyzes the received keyword list and sentiment information. First, it uses a natural language processing tool to generate a base form for each keyword and groups keywords with the same or similar meanings. Simultaneously, it uses a sentiment analysis engine to analyze the sentiment information and incorporates the results into the data.

[1222] Input: Keyword list and sentiment information received from the device.

[1223] Output: Grouped keyword list and analyzed sentiment information

[1224] Step 4:

[1225] The server converts the analyzed keywords and sentiment information into JSON format and sends it to the terminal. The output format here is JSON data as follows:

[1226] {

[1227] "keywords_grouped": {

[1228] "efficiency": ["efficiency"],

[1229] "cost": ["cost"],

[1230] "speed": ["speed"],

[1231] "optimize": ["optimize", "improvement"],

[1232] "error": ["error"],

[1233] "delay": ["delay"],

[1234] "quality": ["quality"]

[1235] },

[1236] "emotion": "positive"

[1237] }

[1238] Input: Analyzed keyword list and sentiment information

[1239] Output: Data converted to JSON format

[1240] Step 5:

[1241] The terminal displays JSON data received from the server on a business dashboard. Users can see grouped keywords and their associated sentiment information. This allows users to efficiently analyze data and make decisions.

[1242] Input: JSON format data received from the server

[1243] Output: Grouped keywords and sentiment information displayed on the business dashboard.

[1244] This allows the factory management system to analyze user-inputted information and support the efficient planning and adjustment of production schedules.

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

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

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

[1248] [Fourth Embodiment]

[1249] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1262] This invention provides a system for efficiently analyzing and grouping keywords entered by users on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[1263] Explanation in natural language

[1264] 1. The user enters keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy."

[1265] 2. The terminal sends these keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[1266] 3. The server analyzes the received keywords. Specifically, the server uses natural language processing tools to combine the keywords into a single document. Then, it generates the base form of each word. Using this base form, keywords with the same or similar meanings are grouped together.

[1267] 4. Organize the results of the server grouping. Group them based on their respective basic forms to generate results like the following:

[1268] "sale": ["sales", "sell"]

[1269] "revenue": ["revenue"]

[1270] "profit": ["profits"]

[1271] "income": ["income"]

[1272] "approach": ["approach", "method"]

[1273] "strategy": ["strategy"]

[1274] 5. The server sends the grouping results to the terminal in JSON format.

[1275] 6. The device displays these results on the user's dashboard. The displayed information allows the user to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[1276] Specific example

[1277] The user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. The device sends these keywords to the server, which then uses a language model to analyze them.

[1278] For example, the keywords "sales" and "sell" are grouped under the base form "sale." Similarly, "approach" and "method" are classified under the same semantic category.

[1279] The server sends these grouping results to the terminal using JSON format or similar, and the terminal ultimately displays them on the user's dashboard. This allows users to avoid information duplication and perform data analysis and decision-making efficiently.

[1280] The following describes the processing flow.

[1281] Step 1:

[1282] The user enters keywords into the business dashboard. Examples include "sales", "revenue", "profits", "sell", "income", "approach", "method", and "strategy".

[1283] Step 2:

[1284] The terminal sends a list of entered keywords to the server. The list of keywords sent is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[1285] Step 3:

[1286] The server receives the keyword list and loads the language model. Here, for example, a natural language processing tool is used to load the language model "en_core_web_sm".

[1287] Step 4:

[1288] The server combines the keywords it receives into a single document. For example, it generates a document such as "sales revenue profits sell income approach method strategy".

[1289] Step 5:

[1290] The server uses a language model to parse this combined document. During the parsing process, it obtains the lemma of each keyword. For example, "sales" and "sell" become the lemma "sale".

[1291] Step 6:

[1292] The server classifies each keyword based on its base form. Here, keywords with the same or similar meanings are grouped together for each base form.

[1293] Step 7:

[1294] The results of the server grouping are organized, and a list of keywords corresponding to each basic form is created. For example:

[1295] "sale": ["sales", "sell"]

[1296] "approach": ["approach", "method"]

[1297] Step 8:

[1298] The server sends the grouped results to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[1299] Step 9:

[1300] The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords.

[1301] Step 10:

[1302] Users can view grouped keywords on the dashboard, eliminate duplicate information, and efficiently perform data analysis and make decisions.

[1303] (Example 1)

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

[1305] Currently, there is a lack of efficient means to analyze and group keywords entered by users in business dashboards, resulting in users having to individually review duplicate or similar information. Furthermore, the accuracy and efficiency of natural language processing in keyword analysis and grouping can be low, hindering user decision-making. To address these challenges, a system that achieves efficient and highly accurate keyword analysis and grouping is needed.

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

[1307] In this invention, the server includes means for analyzing multiple keywords entered by the user and converting each keyword into a base form using a natural language processing tool, means for grouping the keywords based on the base form, and means for transmitting the grouping results to the terminal in structured data format. This makes it possible to efficiently analyze keywords entered by the user on the business dashboard and display them in a way that makes it easy to check for duplication and similarity.

[1308] "Keywords" are words or phrases that users enter into the business dashboard and which are then analyzed.

[1309] A "terminal" is a device used by users to input keywords and send and receive data with a server.

[1310] A "server" is a computer that receives keywords sent from terminals and performs analysis and grouping.

[1311] A "natural language processing tool" is software or a library that a server uses to analyze keywords and convert them into their base form.

[1312] The "basic form" is the morpheme from which the entered keyword originates, and it is a format used to unify synonyms and similar words.

[1313] "Grouping" is the process of combining semantically related keywords based on the analyzed basic form.

[1314] "Structured data format" refers to a format for organizing and storing the results of analysis and grouping keywords, and includes formats such as JSON and XML.

[1315] This invention is a system that efficiently analyzes and groups keywords entered by a user on a business dashboard. The user enters keywords, and the terminal sends these keywords to the server. Once the server receives the keywords, it uses a language model to analyze them and convert each keyword into its base form. The server then groups the keywords based on these base forms and sends the results to the terminal. The terminal finally displays the grouped results to the user.

[1316] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the business dashboard. These entered keywords are sent from the device to the server. When the device sends the keywords to the server, it sends them as an HTTP POST request in a list format.

[1317] The server analyzes the received keywords using a Python script. This script employs natural language processing tools (such as SpaCy or NLTK) to combine the keywords into a single document and generate the root form of each word. For example, "sales" and "sell" are converted to "sale".

[1318] The server groups keywords with the same or similar meanings based on the generated base form. The results of this grouping are organized in a structured data format such as JSON. For example, they might be grouped as follows:

[1319] "sale": ["sales", "sell"]

[1320] "revenue": ["revenue"]

[1321] "profit": ["profits"]

[1322] "income": ["income"]

[1323] "approach": ["approach", "method"]

[1324] "strategy": ["strategy"]

[1325] The server sends the grouping results to the terminal in JSON format. The terminal parses the received JSON data and displays it on the business dashboard. For example, it may look like this:

[1326] sell: sales, cover

[1327] revenue: revenue

[1328] profit: profits

[1329] income: income

[1330] approach: approach, method

[1331] Strategy: Strategy

[1332] This allows users to quickly identify duplicate or similar information, enabling efficient data analysis and decision-making.

[1333] Examples of prompt statements to input into a generative AI model are as follows:

[1334] Convert the following keywords to their base forms and group them accordingly:

[1335] ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"]

[1336] Expected output format:

[1337] {

[1338] "Basic form": ["Original keyword 1", "Original keyword 2", ...]

[1339] }

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

[1341] Step 1:

[1342] The user enters keywords into the business dashboard.

[1343] Specifically, users enter keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into the input fields of the business dashboard. This input is performed by sending each keyword to the input field in text format.

[1344] Step 2:

[1345] The terminal sends the entered keyword to the server.

[1346] Specifically, the terminal aggregates the keywords entered by the user into a list format and sends it to the server using an HTTP POST request. The input is sent in a format such as ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"].

[1347] Step 3:

[1348] The server analyzes the keywords it receives.

[1349] Specifically, the server executes a Python script and uses natural language processing tools (such as SpaCy or NLTK) to analyze keywords. During analysis, the keywords are combined into a single document, and then each keyword is converted back to its base form. The input for this process is a list of keywords sent from the terminal, and the output is a list of the keywords converted back to their base forms.

[1350] Step 4:

[1351] The server groups keywords based on their basic structure.

[1352] Specifically, the server uses the results of a natural language processing tool to classify keywords into semantically related groups based on their base forms. For example, "sales" and "sell" are grouped together as "sale". The input is a list of keywords converted to their base forms, and the output is a list of grouped keywords.

[1353] Step 5:

[1354] The server organizes the grouping results in JSON format.

[1355] Specifically, the server converts the grouped keywords into JSON format. This formatting organizes the data structure, making it easier for the terminal to parse. The input is a list of grouped keywords, and the output is data in JSON format.

[1356] Step 6:

[1357] The server sends the grouping results to the terminal.

[1358] Specifically, the server sends the generated JSON data back to the terminal using an HTTP response. The input is data in JSON format, and the output is the HTTP response sent to the terminal.

[1359] Step 7:

[1360] The grouping results received by the device are displayed on the user's dashboard.

[1361] Specifically, the terminal parses the received JSON data and displays its contents in the user interface. For example, the following grouping results may be displayed:

[1362] sell: sales, cover

[1363] revenue: revenue

[1364] profit: profits

[1365] income: income

[1366] approach: approach, method

[1367] Strategy: Strategy

[1368] The input is JSON data received from the server, and the output is the grouped results displayed on the business dashboard.

[1369] (Application Example 1)

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

[1371] While systems existed that allowed users to input multiple keywords and efficiently analyze and group them, their ability to recommend related products based on customer searches in stores was limited. There is a need for an effective means to quickly and accurately find the products customers are looking for.

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

[1373] In this invention, the server includes means for a user to input multiple keywords, means for a terminal to transmit the multiple keywords to the server, means for the server to analyze the multiple keywords and group them based on their basic form, means for the server to transmit the grouped results to the terminal, means for the terminal to display the grouped results to the user, and means for grouping and recommending related products and services based on the items searched by the user. This makes it possible for customers to easily find related products within a store.

[1374] A "user" refers to an individual who uses the system to enter keywords and search for related products and services.

[1375] "Multiple keywords" refers to multiple words or phrases that a user enters into the system.

[1376] "Terminal" refers to a device used by a user to enter keywords and display results. This includes smartphones, etc.

[1377] A "server" refers to a computer system that receives keywords sent from a terminal, analyzes and groups them, and then sends the results back to the terminal.

[1378] "Analysis" refers to the process by which a server abstracts received keywords using natural language processing techniques, converts them into their basic form, and identifies synonyms and related words.

[1379] The term "basic form" refers to the original or fundamental form of a keyword, and is the word that serves as the basis for analysis.

[1380] "Grouping" refers to the process by which the server classifies related keywords into a single set based on the basic structure obtained through analysis.

[1381] "JSON format" is a text format for structuring data, and is an abbreviation for JavaScript Object Notation. It refers to the format in which a server sends grouping results to a terminal.

[1382] "Display" refers to the process where the terminal visually shows the user the grouping results sent from the server.

[1383] "Related products and services" refers to products and services recommended by the system based on multiple keywords entered by the user.

[1384] Modes for carrying out the invention

[1385] This invention is a system that recommends related products and services by having the user input multiple keywords, analyzing those keywords, and grouping them.

[1386] The system mainly consists of the following elements:

[1387] 1. User terminal (smartphone, etc.): A device used by the user to enter keywords.

[1388] 2. Server: Receives input keywords, parses them using a language model, and groups them based on their base form.

[1389] 3. Natural language processing tools (e.g., Python, NLTK, Requests library, Flask, etc.): Tools for converting keywords to their base forms and grouping them.

[1390] Program generation and processing flow

[1391] The system begins with the user entering keywords, and the terminal sending these keywords to the server. The following describes the processing flow.

[1392] Hardware and software

[1393] hardware

[1394] User device: Smartphone, etc.

[1395] Server: A high-performance computer that operates remotely.

[1396] software

[1397] Natural language processing tools: Python, NLTK, Requests library, Flask

[1398] Explanation of the process

[1399] 1. The user enters multiple keywords (e.g., "shampoo," "conditioner," "hair care") into the smartphone app.

[1400] 2. The terminal sends the entered keyword to the server. An HTTP request is made using the Requests library.

[1401] 3. The server parses the received keywords, tokenizes them, and converts them back to their base form. The NLTK library is used for tokenization and conversion back to base form.

[1402] 4. The server groups keywords based on their basic structure. For example, "shampoo" and "conditioner" are classified into the "hair care" group.

[1403] 5. The server sends the grouped results to the terminal in JSON format.

[1404] 6. The terminal parses the grouping results in JSON format and displays them on the user's screen as relevant products or services.

[1405] Specific example

[1406] When a user searches for keywords such as "shampoo," "conditioner," and "hair care" in the app, these keywords are sent from the smartphone to the server. The server analyzes these keywords, groups them, and categorizes them under "hair care." This allows the user to view related products and services all in one place.

[1407] Example of a prompt

[1408] Build a smartphone app that groups keywords like "shampoo," "conditioner," and "hair care" entered by the user and displays related products. Use NLTK to tokenize the keywords, convert them to their base form, and then send them to a server to receive the analysis results.

[1409] By configuring the system as described above, users can efficiently find relevant products, improving their in-store shopping experience.

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

[1411] Step 1:

[1412] The user enters keywords into the smartphone app. Specifically, they might enter keywords such as "shampoo," "conditioner," and "hair care." The entered keywords are saved as a data list within the app. The entered data is ["shampoo", "conditioner", "hair care"].

[1413] Step 2:

[1414] The terminal sends the keyword data list to the server. Specifically, it sends the keyword data list via an HTTP POST request using the Requests library. The input data is the keyword list generated in step 1, and the output after transmission is the state in which the server has received this data.

[1415] Step 3:

[1416] The server parses and tokenizes the received keywords. Specifically, it uses the NLTK library to break down the input keywords into words. The input data is a list of keywords entered by the user, and the output data is a list of tokenized words. For example, ["shampoo", "conditioner", "hair care"] is converted to ["shampoo", "conditioner", "hair", "care"].

[1417] Step 4:

[1418] The server converts tokenized words to their base forms. Specifically, it uses the NLTK WordNet library to generate the base form of each word. The input data is a list of tokenized words, and the output data is a list of words converted to their base forms. For example, ["shampoo", "conditioner", "hair", "care"] is converted to ["shampoo", "conditioner", "hair", "care"] (no change if already in base form).

[1419] Step 5:

[1420] The server groups keywords based on their base form. Specifically, it groups similar base form words together. The input data is a list of words converted to their base form, and the output data is a grouped list. For example, words related to "hair care" are grouped together.

[1421] Step 6:

[1422] The server creates a JSON file of the grouped results and sends it to the terminal. The input is a grouped list, and the output is data in JSON format. For example, it will send data in the format {"Hair Care": ["Shampoo", "Conditioner"]}.

[1423] Step 7:

[1424] The device parses the JSON data it receives and displays it on the user's app screen. The input data is JSON data received from the server, and the output data is a list of related products that is visually displayed to the user. Specifically, the app displays related products on the screen all at once, making it easy for the user to check them.

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

[1426] This invention combines a system that efficiently analyzes and groups keywords entered by users on a business dashboard with an emotion engine that recognizes user emotions. This enables data analysis that considers not only keyword grouping but also user emotion information. When a user enters keywords, the terminal sends these keywords and the user's emotion information to the server. Once the server receives the keywords and emotion information, it uses a language model to analyze the keywords and convert each keyword into its base form. It also uses the emotion engine to analyze the user's emotions and includes this information in the results. The server sends these grouped results and emotion information to the terminal, which then displays them on the user's dashboard.

[1427] Explanation in natural language

[1428] 1. Users enter keywords into the business dashboard. These keywords may include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Sentimental information of the user at the time of input is also collected.

[1429] 2. The terminal sends these keywords and sentiment information to the server. The data sent is a set of keyword list and sentiment information. The keyword list is ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"], and the sentiment information is, for example, "positive" or "negative".

[1430] 3. The server analyzes the received keywords and sentiment information. Specifically, the server loads natural language processing tools and a sentiment analysis engine. First, the keywords are combined into a single document. Then, a language model is used to generate the base form of each word. This base form is used to group keywords with the same or similar meanings. The sentiment engine is also used to analyze the user's sentiment.

[1431] 4. The server organizes the grouped results and sentiment information, and creates a list of keywords and sentiment information corresponding to each basic form. For example:

[1432] "sale": ["sales", "sell"], Emotion: "positive"

[1433] "approach": ["approach", "method"], emotion: "neutral"

[1434] 5. The server sends these grouping results and sentiment information to the terminal in a data format such as JSON. The server converts the data to be sent into the appropriate format.

[1435] 6. The device receives data from the server and displays it on the user's dashboard. At this point, the user can see grouped keywords and their associated sentiment information.

[1436] Specific example

[1437] Consider a scenario where a user enters keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy" into a business dashboard, and simultaneously experiences a "positive" sentiment at the time of entry. The device then sends these keywords and sentiment information to the server.

[1438] The server analyzes the received data and, for example, groups keywords like "sales" and "sell" into their base form, "sale." Similarly, it classifies "approach" and "method" into the same semantic category. It also uses an emotion engine to analyze whether the user's emotion was "positive" as relevant information.

[1439] The server sends these grouping results and sentiment information to the terminal in JSON format, which the terminal then displays on the user's dashboard. This allows users to not only avoid information duplication but also to efficiently analyze data and make decisions while considering sentiment information.

[1440] The following describes the processing flow.

[1441] Step 1:

[1442] The user enters keywords into the business dashboard. Examples include "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." Simultaneously, the user's sentiment information is collected, such as "positive" or "negative."

[1443] Step 2:

[1444] The terminal sends the entered keywords and sentiment information to the server. The data sent includes a keyword list ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"] and sentiment information (e.g., "positive").

[1445] Step 3:

[1446] The server receives a list of keywords and sentiment information. The server loads a natural language processing tool (e.g., "spaCy") and a sentiment analysis engine.

[1447] Step 4:

[1448] The server combines the received keyword list into a single document. For example, it generates a document titled "sales revenue profits sell income approach method strategy".

[1449] Step 5:

[1450] The server analyzes this combined document using a language model. It obtains the lemma of each keyword. For example, "sales" is converted to the lemma of "sale".

[1451] Step 6:

[1452] The server groups keywords based on their basic structure. Keywords with the same or similar meanings are grouped together. For example, "sales" and "sell" are grouped under "sale," and "approach" and "method" are grouped together.

[1453] Step 7:

[1454] The server uses an emotion analysis engine to analyze the emotional information of the user at the time of input. For example, it analyzes whether the user was feeling "positive" at the time of input.

[1455] Step 8:

[1456] The server organizes the grouped results and sentiment information. For example:

[1457] "sale": ["sales", "sell"], Emotion: "positive"

[1458] "approach": ["approach", "method"], Emotion: "positive"

[1459] Step 9:

[1460] The server converts these grouping results and sentiment information into a data format such as JSON and sends it to the terminal.

[1461] Step 10:

[1462] The device receives JSON data from the server and displays it on the user's dashboard. Users can visually see grouped keywords and associated sentiment information.

[1463] Step 11:

[1464] Users can view grouped keywords and sentiment information on the dashboard. This eliminates information duplication and enables efficient data analysis and decision-making.

[1465] (Example 2)

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

[1467] Conventional keyword analysis systems simply group keywords entered by users without considering user sentiment, making it impossible to analyze data that includes sentiment. Furthermore, there were challenges in efficiently displaying the grouped keywords and their related information.

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

[1469] In this invention, the server includes means for grouping the multiple keywords based on their basic form using a natural language processing tool, means for analyzing the user's emotional information using an emotional analysis engine, and means for organizing the grouped results and the user's emotional information and transmitting them to the terminal. This enables efficient grouping of keywords entered by the user, as well as data analysis and display of results that take into account the user's emotional information.

[1470] A "user" refers to a person who uses the system to input keywords and sentiment information.

[1471] A "terminal" refers to a device or platform used by a user to input keywords and sentiment information and transmit it to a server. Specific examples include personal computers, tablets, and smartphones.

[1472] A "server" refers to a computer system that receives keywords and sentiment information sent by users, analyzes and groups them, and sends the results to the terminal.

[1473] "Emotional information" refers to the emotional state of a user when they enter keywords, and is expressed in categories such as positive, negative, and neutral.

[1474] "Natural language processing tools" refer to software or libraries that use language models to analyze input keywords and convert them back into their basic forms. Specific examples include SpaCy and NLTK.

[1475] A "sentiment analysis engine" refers to software or a library used to analyze a user's emotional information and identify emotions from input text. Specific examples include IBM Watson and Microsoft Azure Text Analytics.

[1476] "Grouping" refers to the process of combining keywords that have been converted into their basic form with those that have the same or similar meanings.

[1477] "JSON format" is an abbreviation for JavaScript Object Notation, and refers to a lightweight data format for describing data structures. It is a text format and is widely used for data exchange and storage.

[1478] A "dataset" refers to a collection of keywords and sentiment information entered by users, and is used for communication with the server.

[1479] This invention is a system that efficiently analyzes and groups keywords entered by users on a business dashboard, and further incorporates an emotion engine that recognizes the user's emotions. Specific embodiments of this invention are shown below.

[1480] System Overview

[1481] User input of keywords and sentiment information

[1482] Users enter keywords into the business dashboard. These keywords include, for example, "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy." The system also collects sentiment information from the user as they enter the information and inputs this information into the system. Sentiment information is expressed as "positive," "negative," "neutral," etc.

[1483] Data transmission by the device

[1484] The device sends the keywords and sentiment information entered by the user to the server as a single dataset. This transmitted data is in the following format:

[1485] json

[1486] {

[1487] "keywords": ["sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"],

[1488] "emotion": "positive"

[1489] }

[1490] Data reception and analysis by the server

[1491] The server receives data sent from the terminal. The server uses natural language processing tools (e.g., SpaCy or NLTK) to convert keywords into their base forms and group keywords with the same or similar meanings. Specifically, the processing is as follows:

[1492] "Sales" and "sell" are grouped under the basic form "sale".

[1493] "Approach" and "method" are grouped together as belonging to the same semantic category.

[1494] In addition, the server uses a sentiment analysis engine (e.g., IBM Watson, Microsoft Azure Text Analytics) to analyze the user's sentiment information. This allows sentiment information to be associated with keyword groups.

[1495] Server-side processing and transmission of results

[1496] The server organizes the analysis results and lists grouped keywords and their corresponding sentiment information. The results are then expressed as follows:

[1497] json

[1498] [

[1499] {

[1500] "keyword_group": "sale",

[1501] "keywords": ["sales", "sell"],

[1502] "emotion": "positive"

[1503] },

[1504] {

[1505] "keyword_group": "approach",

[1506] "keywords": ["approach", "method"],

[1507] "emotion": "neutral"

[1508] }

[1509] ]

[1510] Send this data to the terminal in JSON format.

[1511] Displaying data on the device

[1512] The terminal displays the analysis results received from the server on the user's business dashboard. This allows the user to understand grouped keywords and their corresponding sentiment information at a glance.

[1513] Specific example

[1514] Consider a scenario where a user enters the following keywords into a business dashboard and provides "positive" as sentiment information:

[1515] Keywords: "sales", "revenue", "profits", "sell", "income", "approach", "method", "strategy"

[1516] Emotional information: "Positive"

[1517] When the device sends these keywords and sentiment information to the server, the server analyzes the received data and groups and associates the sentiment information as follows:

[1518] "Sales" and "sell" are grouped under the base form "sale".

[1519] "Approach" and "method" belong to the same semantic category.

[1520] Sentiment analysis associates these keyword groups with "positive" emotional information.

[1521] The server sends these results to the terminal in JSON format, and the terminal displays them on the user's dashboard.

[1522] Example of a prompt

[1523] Please explain how the system analyzes keywords such as "sales," "revenue," "profits," "sell," "income," "approach," "method," and "strategy," and displays the grouping results and sentiment information on the dashboard, provided the user's sentiment is "positive."

[1524] By using this system, users can perform efficient data analysis that takes emotional information into account while avoiding information duplication, and obtain useful information to support decision-making.

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

[1526] Step 1:

[1527] The user enters keywords and sentiment information into the business dashboard. The user enters one or more keywords into the text boxes on the business dashboard and simultaneously selects or enters sentiment information. For example, the user enters keywords such as "sales," "revenue," and "profits," and selects "positive" as the sentiment.

[1528] Input: Keywords and sentiment information

[1529] Output: Input dataset to the terminal (keywords and sentiment information)

[1530] Specific actions:

[1531] The user enters keywords using the keyboard and selects sentiment information from a pull-down menu.

[1532] Step 2:

[1533] The terminal sends the entered keywords and sentiment information to the server. The terminal organizes the keywords and sentiment information entered by the user into a single dataset and sends it to the server via an HTTP request.

[1534] Input: Keywords and sentiment information entered by the user.

[1535] Output: Data to be sent to the server (JSON format)

[1536] Specific actions:

[1537] The device constructs data in JSON format and sends it to the server. For example, the data is sent as follows:

[1538] json

[1539] {

[1540] "keywords": ["sales", "revenue", "profits"],

[1541] "emotion": "positive"

[1542] }

[1543] Step 3:

[1544] The server analyzes the received data. The server receives JSON-formatted data sent from the terminal, loads a natural language processing tool, and begins keyword analysis.

[1545] Input: JSON formatted data sent from the device

[1546] Output: Initial dataset including analysis results

[1547] Specific actions:

[1548] The server parses the received data and calls a natural language processing tool (such as SpaCy) to convert keywords into their base form. For example, "sales" and "sell" are converted to the base form "sale".

[1549] Step 4:

[1550] The server uses natural language processing tools to convert keywords into their base forms and group them. The server converts each analyzed keyword into its base form and groups similar keywords based on that base form.

[1551] Input: Analysis results from a natural language processing tool

[1552] Output: Grouping results based on the basic form

[1553] Specific actions:

[1554] The server groups "sales" and "sell" together as "sale," and classifies "approach" and "method" into the same group.

[1555] Step 5:

[1556] The server uses an emotion analysis engine to analyze the user's emotional information. The server loads the emotion analysis engine, analyzes the emotional information entered by the user, and associates it with each grouped keyword.

[1557] Input: Sentiment information from the user

[1558] Output: Emotion analysis results

[1559] Specific actions:

[1560] The server uses an emotion analysis engine (e.g., IBM Watson) to analyze emotional information such as "positive" and associates "positive" emotions with keyword groups.

[1561] Step 6:

[1562] The server organizes the grouping results and sentiment information and converts them into JSON format. The server combines the grouped keywords and sentiment information into a single dataset, converts it back into JSON format, and prepares to send it to the terminal.

[1563] Input: Grouping results and sentiment analysis results

[1564] Output: JSON data to send to the terminal

[1565] Specific actions:

[1566] The server creates data in JSON format as follows:

[1567] json

[1568] [

[1569] {

[1570] "keyword_group": "sale",

[1571] "keywords": ["sales", "sell"],

[1572] "emotion": "positive"

[1573] },

[1574] {

[1575] "keyword_group": "approach",

[1576] "keywords": ["approach", "method"],

[1577] "emotion": "neutral"

[1578] }

[1579] ]

[1580] Step 7:

[1581] The server sends data in JSON format to the terminal. The server then sends the organized data to the terminal using an appropriate communication protocol (e.g., HTTP).

[1582] Input: Grouping results in JSON format

[1583] Output: Data to send to the terminal

[1584] Specific actions:

[1585] The server generates an HTTP response and sends the grouping results and sentiment information to the terminal.

[1586] Step 8:

[1587] The terminal displays data received from the server on the user's dashboard. The terminal analyzes the data received from the server and displays it on the business dashboard in a format that is easy for the user to understand.

[1588] Input: JSON data sent from the server

[1589] Output: Display on the user's dashboard

[1590] Specific actions:

[1591] The device parses the received data and displays grouped keywords and sentiment information in graph and text format on the user's dashboard. The user can then view this display to understand the relevance of keywords and sentiment information.

[1592] (Application Example 2)

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

[1594] Conventional factory management systems had problems with production planning and decision-making because they could not efficiently analyze and group keywords entered by managers, nor could they perform data analysis that took into account managers' emotional information. As a result, improvements in production efficiency and quality could not be fully achieved.

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

[1596] In this invention, the server includes means for analyzing multiple keywords and grouping them based on their basic form, means for analyzing the user's emotional information, and means for transmitting the grouped results and emotional information to the terminal. This enables efficient data analysis by considering emotional information when the user inputs keywords. As a result, it becomes easier to plan and adjust production schedules, leading to improved production efficiency and quality.

[1597] A "user" is a person who uses the factory management system to input keywords and emotional information.

[1598] A "terminal" is an electronic device used by users to input keywords and sentiment information and send it to a server. Examples include smartphones and personal computers.

[1599] A "server" is a computer system that receives keywords and sentiment information sent by users, and then analyzes and groups them.

[1600] "Keywords" are words or phrases that users enter into the business dashboard.

[1601] "Emotional information" refers to data that indicates the emotional state of a user when they enter a keyword. For example, this includes "positive" and "negative."

[1602] A "language model" is an algorithm or system that uses natural language processing techniques to analyze keywords.

[1603] "Grouping" refers to the process of classifying analyzed keywords based on their basic form and grouping keywords with synonyms or similar meanings together.

[1604] "JSON format" is an abbreviation for JavaScript Object Notation, and it is a lightweight data exchange format for structuring, storing, and transferring data.

[1605] This invention aims to optimize production planning in a factory management system by efficiently analyzing and grouping keywords and sentiment information entered by users. Specifically, in this invention, the server, terminal, and user each play a specific role and work together as a whole system.

[1606] First, users access the factory management system using devices such as PCs or smartphones. They input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality" onto the business dashboard. They also input sentiment information (e.g., "positive"). This data is analyzed comprehensively to help develop optimal production plans.

[1607] The terminal sends keywords and sentiment information entered by the user to the server. The transmitted data consists of a keyword list and a set of sentiment information. The software used here includes a natural language processing library (NLTK) and a sentiment analysis engine (VADER Sentiment Analysis).

[1608] The server analyzes the received data. Specifically, it uses a language model to generate the base form of each keyword and groups keywords with the same or similar meanings. It also uses an emotion engine to analyze the user's emotional information and incorporates the results into the data.

[1609] Next, the server converts the analyzed keywords and sentiment information grouping results into a data format such as JSON and sends it to the terminal. Here, JSON is a lightweight data format suitable for data exchange and storage. The server's role is to perform complex data analysis quickly and efficiently and provide the user with the necessary information.

[1610] Finally, the terminal displays the data received from the server on the business dashboard. Users can see grouped keywords and their associated sentiment information, enabling them to efficiently analyze data and make decisions.

[1611] Specific example:

[1612] Administrators input multiple keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," and assign a "positive" sentiment to each. The system converts these keywords into their base forms, groups them, and displays them on the dashboard along with their sentiment. For example, the keywords "optimize" and "improvement" are recognized as synonymous and displayed as a single group.

[1613] Examples of input prompts for a generative AI model:

[1614] Keyword list: ["efficiency", "cost", "stress", "optimize", "error", "delay", "improvement", "quality"]

[1615] User sentiment information: "Positive"

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

[1617] Step 1:

[1618] Users access the factory management system's business dashboard using devices such as PCs and smartphones. Using this dashboard, users input multiple keywords and add sentiment information. For example, they might input keywords such as "efficiency," "cost," "speed," "optimize," "error," "delay," "improvement," and "quality," along with the sentiment "positive." Based on this input data, the system prepares to perform efficient data analysis.

[1619] Input: Multiple keywords and sentiment information entered by the user.

[1620] Output: A list of keywords and sentiment information temporarily stored on the device.

[1621] Step 2:

[1622] The terminal sends the keywords and sentiment information entered by the user to the server. The keyword list and sentiment information are sent together. Here, the transmitted data is in the following format, for example.

[1623] {

[1624] "keywords": ["efficiency", "cost", "speed", "optimize", "error", "delay", "improvement", "quality"],

[1625] "emotion": "positive"

[1626] }

[1627] Input: User-entered keyword list and sentiment information

[1628] Output: Dataset sent to the server

[1629] Step 3:

[1630] The server analyzes the received keyword list and sentiment information. First, it uses a natural language processing tool to generate a base form for each keyword and groups keywords with the same or similar meanings. Simultaneously, it uses a sentiment analysis engine to analyze the sentiment information and incorporates the results into the data.

[1631] Input: Keyword list and sentiment information received from the device.

[1632] Output: Grouped keyword list and analyzed sentiment information

[1633] Step 4:

[1634] The server converts the analyzed keywords and sentiment information into JSON format and sends it to the terminal. The output format here is JSON data as follows:

[1635] {

[1636] "keywords_grouped": {

[1637] "efficiency": ["efficiency"],

[1638] "cost": ["cost"],

[1639] "speed": ["speed"],

[1640] "optimize": ["optimize", "improvement"],

[1641] "error": ["error"],

[1642] "delay": ["delay"],

[1643] "quality": ["quality"]

[1644] },

[1645] "emotion": "positive"

[1646] }

[1647] Input: Analyzed keyword list and sentiment information

[1648] Output: Data converted to JSON format

[1649] Step 5:

[1650] The terminal displays JSON-formatted data received from the server on a business dashboard. Users can see grouped keywords and their associated sentiment information. This allows users to efficiently analyze data and make decisions.

[1651] Input: JSON format data received from the server

[1652] Output: Grouped keywords and sentiment information displayed on the business dashboard.

[1653] This allows the factory management system to analyze user-inputted information and support the efficient planning and adjustment of production schedules.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1674] 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 as being incorporated by reference.

[1675] The following is further disclosed regarding the embodiments described above.

[1676] (Claim 1)

[1677] A means for the user to enter multiple keywords,

[1678] A means by which the terminal transmits the aforementioned multiple keywords to the server,

[1679] The server analyzes the aforementioned multiple keywords and groups them based on their basic form,

[1680] The server provides means for sending the grouped results to the terminal,

[1681] The terminal provides means for displaying the grouped results to the user,

[1682] A system that includes this.

[1683] (Claim 2)

[1684] The system according to claim 1, which includes means for the server to utilize a language model.

[1685] (Claim 3)

[1686] The system according to claim 1, comprising means for the server to send the grouping results in JSON format.

[1687] "Example 1"

[1688] The claims were rewritten as follows:

[1689] (Claim 1)

[1690] A means for the user to enter multiple keywords,

[1691] A means by which the terminal transmits the aforementioned multiple keywords to the server,

[1692] The server analyzes the multiple keywords and uses a natural language processing tool to convert each keyword into its base form.

[1693] The server provides means for grouping keywords based on the aforementioned basic form,

[1694] The server provides means for sending the grouped results to the terminal,

[1695] The terminal provides means for displaying the grouped results to the user,

[1696] A system that includes this.

[1697] (Claim 2)

[1698] The system according to claim 1, comprising means for analyzing keywords using a server-generated AI model.

[1699] (Claim 3)

[1700] The system according to claim 1, comprising means for the server to transmit the grouping results in a structured data format.

[1701] "Application Example 1"

[1702] (Claim 1)

[1703] A means for the user to enter multiple keywords,

[1704] A means by which the terminal transmits the aforementioned multiple keywords to the server,

[1705] The server analyzes the aforementioned multiple keywords and groups them based on their basic form,

[1706] The server provides means for sending the grouped results to the terminal,

[1707] The terminal provides means for displaying the grouped results to the user,

[1708] A method for grouping and recommending related products and services based on the items searched by the user,

[1709] A system that includes this.

[1710] (Claim 2)

[1711] The system according to claim 1, which includes means for the server to utilize a language model.

[1712] (Claim 3)

[1713] The system according to claim 1, comprising means for the server to send the grouping results in JSON format.

[1714] "Example 2 of combining an emotion engine"

[1715] (Claim 1)

[1716] A means for the user to enter multiple keywords,

[1717] The terminal provides means for transmitting the aforementioned multiple keywords and user sentiment information to a server,

[1718] The server analyzes the multiple keywords and user sentiment information, and uses a natural language processing tool to group the multiple keywords based on their basic form.

[1719] A means by which the server uses an emotion analysis engine to analyze the user's emotional information,

[1720] The server has means for organizing the grouped results and the user's sentiment information and transmitting them to the terminal.

[1721] The terminal includes means for displaying the grouped results and the user's sentiment information to the user,

[1722] A system that includes this.

[1723] (Claim 2)

[1724] The system according to claim 1, which includes means for the server to utilize the generated AI model.

[1725] (Claim 3)

[1726] The system according to claim 1, comprising means for the server to transmit grouping results and user sentiment information in JSON format.

[1727] "Application example 2 when combining with an emotional engine"

[1728] (Claim 1)

[1729] A means for the user to enter multiple keywords,

[1730] The terminal provides means for transmitting the aforementioned multiple keywords and sentiment information to the server,

[1731] The server analyzes the aforementioned multiple keywords and groups them based on their basic form,

[1732] The server has means for analyzing the user's emotional information,

[1733] The server provides means for transmitting the grouped results and emotional information to the terminal,

[1734] The terminal includes means for displaying the grouped results and sentiment information to the user,

[1735] A system that includes this.

[1736] (Claim 2)

[1737] The system according to claim 1, which includes means for the server to utilize a language model.

[1738] (Claim 3)

[1739] The system according to claim 1, comprising means for the server to send the grouping results in JSON format. [Explanation of Symbols]

[1740] 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 the user to enter multiple keywords, A means by which the terminal transmits the aforementioned multiple keywords to the server, The server analyzes the aforementioned multiple keywords and groups them based on their basic form, The server provides means for sending the grouped results to the terminal, The terminal provides means for displaying the grouped results to the user, A system that includes this.

2. The system according to claim 1, which includes means for the server to utilize a language model.

3. The system according to claim 1, comprising means for the server to send the grouping results in JSON format.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A