system
The system addresses the challenge of utilizing accumulated communication data by learning from it, developing a FAQ chatbot, and analyzing user emotions to provide quick and accurate responses, thereby enhancing user satisfaction and operational efficiency.
Patent Information
- Application Number
- JP2024164510
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2024-09-20
- Publication Date
- 2025-04-03
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Modern communication systems accumulate vast amounts of data from communication tools and devices, but there is a need for effective utilization of this data to transform past interactions into future assets.
The system includes means for accumulating communication data, learning from this data, developing a FAQ chatbot, extracting user emotions, and generating responses based on both the learned data and emotional analysis.
This approach enables quick and accurate retrieval of necessary information, improves user satisfaction, and enhances operational efficiency by leveraging accumulated data and emotional intelligence.
Smart Images

Figure 2025049201000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's best-mix environment, communication via communication tools and devices is on the rise, resulting in the accumulation of data. However, there is a need for a way to effectively utilize this accumulated data and turn the vast amount of past interactions into assets for the future. [Means for solving the problem]
[0005] As a means for solving this problem, the system of the present invention includes a means for accumulating data of communication via a communication tool or device, a means for learning the accumulated data, a development means for developing an FAQ chatbot based on the learned data, an emotion engine for extracting user emotions, and a generation means for generating answers to questions from the user using the FAQ chatbot by inputting specific prompt sentences into a generative AI model, and the generation means adjusts the answers to the questions from the user based on the emotions. [Brief explanation of the drawings]
[0006] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 2 is a sequence diagram showing a flow of processing in the data processing system according to the first embodiment of the first form example. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1 of Embodiment 1. [Figure 13] FIG. 10 is a sequence diagram showing a processing flow of a data processing system in a second embodiment of the second form example. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 of Embodiment Example 2. [Figure 15] FIG. 10 is a sequence diagram showing the flow of processing in a data processing system according to a third embodiment of the third embodiment. [Figure 16] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 3 of Embodiment 3. [Figure 17] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the first embodiment of the first form example when an emotion engine is combined. [Figure 18] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1 of Form Example 1 when an emotion engine is combined. [Figure 19] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the second embodiment of the second form example when an emotion engine is combined. [Figure 20] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 of Form Example 2 when an emotion engine is combined. [Figure 21] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in the third embodiment of the third form example when an emotion engine is combined. [Figure 22] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 3 of Form Example 3 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0007] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0008] First, the terms used in the following description will be explained.
[0009] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, the processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), or a TPU (TENSOR PROCESSING UNIT (registered trademark)).
[0010] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0011] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0012] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0013] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0014] [First embodiment]
[0015] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0016] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0017] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0018] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0019] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0020] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46.
[0021] The camera 42 is a small digital camera equipped with an optical system including a lens, an aperture, and a shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0022] The communication I / F 44 is connected to a network 54 .
[0023] The communication I / Fs 44 and 26 are responsible for transmitting and receiving various types of information between the processor 46 and the processor 28 via the network 54 .
[0024] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0025] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0026] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0027] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0028] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[0029] "Example 1"
[0030] The present invention provides a means for storing data on communications via communication tools and devices, specifically, log data on meetings and chats conducted using communication tools such as Zoom and Slack.
[0031] "Example 2"
[0032] Furthermore, this embodiment of the present invention has a means for learning the accumulated data. Specifically, a machine learning algorithm is used to extract and learn patterns and trends from the accumulated data. "Embodiment 3"
[0033] Furthermore, this embodiment of the present invention has a means for developing an FAQ chatbot based on the learned data. Specifically, a chatbot that generates appropriate answers to questions from users is developed based on the learned data. For example, if a user asks, "When is the next meeting?", the chatbot learns from schedule data of past meetings and replies, "The next meeting is tomorrow at 3:00 PM."
[0034] The processing flow of each embodiment will be described below.
[0035] "Example 1"
[0036] Step 1: Collect log data from meetings and chats held using communication tools such as Zoom and Slack.
[0037] Step 2: Collected log data is stored in a database.
[0038] "Example 2"
[0039] Step 1: Extract the accumulated data.
[0040] Step 2: The extracted data is fed into a machine learning algorithm to extract patterns and trends.
[0041] Step 3: Save the extracted patterns and trends as training data.
[0042] "Example 3"
[0043] Step 1: Extract the training data.
[0044] Step 2: Develop a chatbot that generates appropriate answers to user questions based on the extracted learning data.
[0045] Step 3: Operate the chatbot you developed and automatically provide answers to user questions.
[0046] Example 1
[0047] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0048] In conventional data accumulation systems using communication tools and devices, it was difficult to search and analyze the accumulated data, preventing users from quickly obtaining the information they needed. Furthermore, since search queries were not generated by analyzing prompt sentences using a generative AI model, it was not possible to provide appropriate results in response to user search requests.
[0049] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0050] In this invention, the server includes means for accumulating data of communications via communication tools and devices, means for saving the accumulated data in a database, means for searching the saved data, means for providing search results, and means for analyzing prompt sentences using a generative AI model and generating appropriate search queries, thereby enabling users to quickly search for and obtain the information they need.
[0051] A "communication tool" is any software or device that a user uses to exchange information with other users.
[0052] "Device" refers to an electronic appliance or piece of equipment that a user uses to communicate.
[0053] "Means for storing data" refers to methods or devices for collecting and storing data generated through communication tools and devices.
[0054] A "database" is a system for systematically storing and managing accumulated data.
[0055] A "search means" is a method or device for searching for data stored in a database based on specific conditions.
[0056] The "means for providing search results" refers to a method or device for displaying the searched data to the user.
[0057] A "generative AI model" is a model that uses artificial intelligence technology to analyze user input and provide appropriate responses and processing.
[0058] A "prompt sentence" is a sentence of instructions or questions that a user inputs to a generative AI model.
[0059] A "search query" is a statement used to search a database for specific data.
[0060] This invention is a system that accumulates log data from meetings and chats held via communication tools and devices, allowing users to quickly search for the information they need. Specifically, the server acquires the log data using APIs such as Zoom and Slack and stores it in a database. Users input prompts using a generative AI model, generate appropriate search queries, and retrieve the necessary information from the database.
[0061] The server sends requests to the Zoom or Slack API endpoints to retrieve meeting and chat log data. The retrieved data is stored in a database (e.g., MySQL (registered trademark) or PostgreSQL) on the server. The database contains information such as the meeting date and time, participants, and comments. The server converts the data into an appropriate format and inserts it into the database.
[0062] When a user wants to search for log data for a specific meeting or chat, they input a prompt to the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query. The server executes the search query received from the generative AI model and retrieves the relevant data. The retrieved data is displayed in a format that is easy for the user to view.
[0063] For example, if a user wants to "search for logs of meetings that took place on October 1, 2023," they can input the following prompt into the generative AI model:
[0064] Example prompt sentence:
[0065] "Search for the Zoom meeting log that took place on October 1, 2023."
[0066] When this prompt is input into the generative AI model, the model searches the database for the corresponding meeting log data and provides it to the user. Specifically, the server executes an SQL query against the database to retrieve the relevant data. The retrieved data is then displayed in a format that is easy for the user to view. For example, the date and time of the meeting, the participants, and the content of the comments are displayed in a table format.
[0067] This system allows users to quickly search for and obtain the information they need.
[0068] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0069] Step 1:
[0070] Users use the conversations tool
[0071] Users use communication tools such as Zoom and Slack to hold meetings and chats. For example, a user holds a meeting on Zoom and discusses with multiple participants. When the meeting ends, Zoom generates meeting log data.
[0072] Input: User meeting and chat activity
[0073] Output: Log data generated by communication tools
[0074] Step 2:
[0075] The server retrieves the log data
[0076] The server periodically sends requests to the Zoom or Slack API to retrieve meeting and chat log data. Specifically, the server accesses the API endpoint and provides the necessary authentication information to retrieve the data.
[0077] Input: API endpoint request, authentication information
[0078] Output: Acquired log data (e.g., JSON format)
[0079] Step 3:
[0080] The server saves it to the database
[0081] The server stores the acquired log data in a database, such as MySQL or PostgreSQL. The database contains information such as the meeting date and time, participants, and what was said. The server converts the data into an appropriate format and inserts it into the database.
[0082] Input: Captured log data
[0083] Output: Data stored in the database
[0084] Step 4:
[0085] Users search for data
[0086] When a user wants to search for log data for a specific meeting or chat, they input a prompt into the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query.
[0087] Input: User prompt text
[0088] Output: Generated search query
[0089] Step 5:
[0090] The server provides the search results
[0091] The server executes the search query received from the generative AI model and retrieves the relevant data. For example, it executes the SQL query SELECT FROM meetings WHERE date = '2023-10-01'. The retrieved data is then displayed in a user-friendly format. For example, it displays the meeting date and time, participants, and comments in a table format.
[0092] Input: Generated search query
[0093] Output: Search results presented to the user (e.g., in a table)
[0094] The above is the specific processing flow of the program of this system.
[0095] (Application example 1)
[0096] Next, a description will be given of Application Example 1 of Embodiment Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0097] Conventional communication tools and data accumulation systems using devices primarily focus on communication between humans, and lack effective means for recording and accumulating communication between robots used in factories and workers or other robots. Furthermore, there are also insufficient means for optimizing robot work efficiency and maintenance based on accumulated data. This creates challenges, such as insufficient optimization of work efficiency and maintenance within factories, making it difficult to achieve business efficiency and cost reductions.
[0098] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0099] In this invention, the server includes means for accumulating data on communication via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for recording and accumulating communications between robots used in factories and workers and other robots, and means for optimizing the work efficiency and maintenance of the robots based on the accumulated communication data. This makes it possible to effectively record and accumulate communications between robots in factories and workers and other robots, and to optimize the work efficiency and maintenance of the robots based on the accumulated data.
[0100] "Communication tools" refers to software and applications, such as Zoom and Slack, that allow users to send and receive messages and make voice and video calls.
[0101] A "device" is a hardware device used to use a communication tool, such as a computer, smartphone, or tablet.
[0102] "Means for storing data" means a system or method for storing logs of messages and calls generated through a communication tool or device.
[0103] "Means of learning data" refers to algorithms and machine learning models that analyze accumulated communication data and extract patterns and trends.
[0104] An "FAQ chatbot" is a program equipped with artificial intelligence to automatically provide answers to frequently asked questions.
[0105] A "factory robot" is an automated mechanical device used in manufacturing or on a production line.
[0106] "Workers" are human workers who work in collaboration with robots in factories.
[0107] "Means for recording and storing communications" means a system or method for storing messages and instructions exchanged between a robot and a worker or another robot.
[0108] "Work efficiency" is an indicator that shows how much work a robot or worker can complete within a certain amount of time.
[0109] "Maintenance optimization" refers to methods and systems for performing robot maintenance and repairs at the optimal time to maximize uptime.
[0110] A system for carrying out the present invention includes a means for recording and storing communications between a robot used in a factory and workers or other robots. Specifically, the system has the following configuration.
[0111] First, the server has a means of accumulating data on communications via communication tools and devices. This means is a system for saving logs of messages and calls generated using communication tools such as Zoom and Slack. This allows all communications that take place within the factory to be recorded.
[0112] The server then has a means for learning from the accumulated data. This means uses algorithms and machine learning models to analyze the accumulated communication data and extract patterns and trends. Specifically, the data is analyzed using software such as Python or TENSORFLOW®.
[0113] Furthermore, the server has a means for developing an FAQ chatbot based on the learned data, which generates a program equipped with artificial intelligence for automatically providing answers to frequently asked questions, thereby enabling workers to efficiently obtain information.
[0114] In addition, robots used in factories have a means for recording and storing communications with workers and other robots. This means is a system for saving messages and instructions exchanged between the robot and workers or other robots. This allows the robot's work history and maintenance history to be recorded.
[0115] Finally, the server has a means for optimizing the robot's work efficiency and maintenance based on the accumulated communication data. This means analyzes the accumulated data and uses an algorithm to propose optimal maintenance schedules and work procedures. This maximizes the robot's operating time and improves factory production efficiency.
[0116] As a specific example, log data can be saved by inputting the following prompt sentence into the generative AI model:
[0117] Example prompt sentence:
[0118] Robot ID: robot_001
[0119] Message: Maintenance required.
[0120] Timestamp: 2023-10-01T12:00:00
[0121] By entering this prompt, the server can save the log data and use it for later analysis. This allows for effective recording and storage of communications between robots and workers or other robots in the factory, and makes it possible to optimize robot work efficiency and maintenance based on the stored data.
[0122] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0123] Step 1:
[0124] The server receives message and call log data generated through communication tools and devices. As input, there is message and call log data obtained from tools such as Zoom and Slack. The server stores this data in a standard format such as JSON. As output, the stored log data is generated.
[0125] Step 2:
[0126] The server uses a data learning method to analyze the accumulated log data. As input, it has the log data stored in step 1. The server uses machine learning libraries such as Python or TensorFlow to extract patterns and trends from the data. As output, it generates the analysis results.
[0127] Step 3:
[0128] The server develops an FAQ chatbot based on the analysis results. The input is the analysis results obtained in step 2. The server uses a generative AI model to automatically generate answers to frequently asked questions. The output is an FAQ chatbot program.
[0129] Step 4:
[0130] Robots used in factories record communications with workers and other robots and send them to a server. The inputs include messages and instructions exchanged between the robot and workers or other robots. The robot records this data in real time and sends it to the server. The output is the recorded communication data.
[0131] Step 5:
[0132] The server optimizes the robot's work efficiency and maintenance based on the accumulated communication data. The input is the communication data recorded in step 4. The server uses a data analysis algorithm to propose optimal maintenance schedules and work procedures. The output is an optimized maintenance schedule and work procedures.
[0133] Step 6:
[0134] The user checks and executes the optimized maintenance schedule and work procedures provided by the server. The input is the optimized maintenance schedule and work procedures generated in Step 5. The user uses this information to efficiently perform robot maintenance and work. The output is maximizing the robot's operating time and improving factory production efficiency.
[0135] Example 2
[0136] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0137] In conventional systems, the entire process from data collection to generating prediction results was often done manually, resulting in inefficiency. Furthermore, data preprocessing and machine learning model training and evaluation were complex and required specialized knowledge, making them difficult for general users to use. Furthermore, there were also issues with the accuracy of prediction results being low, resulting in a lack of reliability.
[0138] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0139] In this invention, the server includes means for collecting data, means for preprocessing the collected data, means for training a machine learning model using the preprocessed data, means for evaluating the trained model, means for a user to input a prompt sentence, means for generating a prediction result based on the input prompt sentence, and means for displaying the generated prediction result. This automates a series of processes from data collection to generation of a prediction result, enabling efficient and highly accurate predictions.
[0140] "Means of collecting data" refers to the function for obtaining the necessary data from a database or external API.
[0141] "Means for preprocessing collected data" refers to a function that performs preprocessing on the acquired data, such as filling in missing values, normalizing data, and encoding categorical data.
[0142] "Means for training a machine learning model using preprocessed data" refers to a function for applying a machine learning algorithm using preprocessed data to train a model.
[0143] "Means for evaluating a trained model" refers to a function that uses evaluation metrics such as precision, recall, and F1 score to evaluate the performance of a trained machine learning model.
[0144] The "means for the user to input a prompt sentence" is an interface that allows the user to input instructions for performing a specific task.
[0145] The "means for generating a prediction result based on an input prompt sentence" is a function that makes a prediction using a trained model based on a prompt sentence input by a user.
[0146] The "means for displaying the generated prediction result" is a function for visually displaying the predicted result to the user.
[0147] The present invention provides a system that automates a series of processes from data collection to generation of prediction results, enabling efficient and highly accurate prediction. Specific embodiments of this system are described below.
[0148] The server collects data by retrieving the necessary data from a database or external API. For example, to retrieve sales data, customer data, etc., it can use an SQL query to retrieve data from a database. Specifically, it executes the query "SELECT FROM sales WHERE date >= '2022-01-01'" from the MySQL database.
[0149] Next, the server applies preprocessing techniques to the collected data. These preprocessing techniques include imputing missing values, normalizing data, and encoding categorical data. For example, the server executes "df.fillna(method='ffill')" using the Pandas library to impute missing values. The server also uses "MinMaxScaler" from scikit-learn to normalize the data.
[0150] Using the preprocessed data, the server executes a method to train a machine learning model. Specifically, it splits the data into training data and test data using scikit-learn or TensorFlow, and then trains the model. For example, it splits the data using scikit-learn's "train_test_split" and executes "model.fit(X_train, y_train, epochs=50)" using TensorFlow's "Sequential" model.
[0151] To evaluate the performance of the trained model, the server uses an evaluation tool. Evaluation metrics include precision, recall, and F1 score. For example, you can use scikit-learn's "classification_report" to execute "print(classification_report(y_test, y_pred))" to evaluate the model's performance.
[0152] The user inputs instructions for executing a specific task using a means for inputting a prompt sentence from the terminal. For example, the user might input "Please predict next month's sales based on the sales data for the past year."
[0153] The server executes a procedure to generate a prediction result based on the input prompt sentence. Specifically, it uses the trained model to predict next month's sales. For example, it executes "predicted_sales = model.predict(next_month_data)".
[0154] Finally, the server displays the generated forecast result to the user using a means for displaying the forecast result, for example, "Next month's forecast sales are 1 million yen."
[0155] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[0156] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0157] Step 1:
[0158] The server collects the necessary data from a database or external API. For example, to retrieve sales data for the past year from a MySQL database, execute the SQL query "SELECT FROM sales WHERE date >= '2022-01-01'". The input requires database connection information and an SQL query, and the output is sales data.
[0159] Step 2:
[0160] The server performs preprocessing on the collected data. Specifically, it uses the Pandas library to impute missing values and scikit-learn's "MinMaxScaler" to normalize the data. For example, it executes "df.fillna(method='ffill')" to impute missing values and "scaler = MinMaxScaler()" to normalize the data. The collected sales data is required as input, and the preprocessed data is obtained as output.
[0161] Step 3:
[0162] The server trains a machine learning model using the preprocessed data. Specifically, it splits the data into training data and test data using scikit-learn's "train_test_split" and trains it using TensorFlow's "Sequential" model. For example, run "model.fit(X_train, y_train, epochs=50)". The preprocessed data is required as input, and the trained model is obtained as output.
[0163] Step 4:
[0164] The server evaluates the performance of the trained model. Specifically, it evaluates the model using scikit-learn's "classification_report". For example, run "print(classification_report(y_test, y_pred))". The trained model and test data are required as input, and the evaluation results are obtained as output.
[0165] Step 5:
[0166] The user inputs a prompt from the terminal. For example, "Please predict next month's sales based on the sales data for the past year." The prompt is required as input, and instructions are sent to the server as output.
[0167] Step 6:
[0168] The server generates a prediction result based on the input prompt sentence. Specifically, it predicts next month's sales using the trained model. For example, execute "predicted_sales = model.predict(next_month_data)". The input requires the prompt sentence and the trained model, and the output is the predicted result.
[0169] Step 7:
[0170] The server displays the generated forecast results to the user. For example, it displays "Next month's forecast sales are 1 million yen." The forecast results are required as input, and the output is displayed to the user.
[0171] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[0172] (Application example 2)
[0173] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0174] Conventional advertising display systems have the problem of being unable to effectively utilize user behavior data and therefore not being able to fully optimize advertising. In addition, it is difficult to display the most suitable advertisement to the user in real time, making it impossible to maximize the effectiveness of advertising. This often results in low satisfaction for both advertisers and users.
[0175] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0176] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for optimizing advertisements based on the learned data, and means for adjusting advertisement display in real time, thereby enabling advertisements to be optimized based on user behavior data and optimal advertisements to be displayed in real time.
[0177] "Communication tools" is a general term for software and hardware used by users to exchange information.
[0178] "Device" is a general term for electronic devices used for information processing and communication.
[0179] "Means of storing data" is a general term for technologies and devices used to store user behavior and communication history.
[0180] "Means of learning data" is a general term for technologies and devices that extract patterns and trends from accumulated data and learn from them using machine learning algorithms.
[0181] "Means for optimizing advertising" is a general term for technologies and devices for selecting and displaying the most effective advertisements based on user behavior data.
[0182] "Means for adjusting advertisement display in real time" is a general term for technologies and devices that instantly change the content and display timing of advertisements according to the user's current situation and behavior.
[0183] The system for implementing this invention is composed of three main elements: a server, a terminal, and a user. The specific operation of each element and the hardware and software used will be explained below.
[0184] server
[0185] The server accumulates user behavioral and communication data and uses machine learning algorithms to learn from this data. Specifically, it performs the following processes:
[0186] 1. Data accumulation:
[0187] The server collects and stores in a database user behavioral and communication data, including the web pages the user viewed, the ads they clicked on, and the products they purchased.
[0188] 2. Data training:
[0189] Based on the accumulated data, machine learning algorithms (such as the random forest classifier in scikit-learn) are used to learn from the data, which allows users' behavioral patterns and trends to be extracted and used to optimize advertising.
[0190] 3. Ad Optimization:
[0191] Based on the learned data, the system selects the most suitable advertisement for the user. In this process, the most effective advertisement is displayed in real time based on the user's past behavioral data and current situation.
[0192] Terminal
[0193] The device is the device that the user actually uses, such as a smartphone or tablet. The device is responsible for displaying the optimized advertisements sent from the server.
[0194] 1. Advertising:
[0195] The device displays the advertisements sent from the server in real time, allowing users to view the advertisements that are most suitable for them.
[0196] User
[0197] A user is an individual who uses the system and views advertisements through their device. User behavior data plays an important role in the system's learning process.
[0198] Hardware and software used
[0199] Hardware: Servers, smartphones, tablets
[0200] Software: Python, pandas, scikit-learn, database management system (e.g., MySQL)
[0201] Specific examples
[0202] For example, if a user has frequently viewed sporting goods in the past, the system will prioritize displaying advertisements related to sporting goods, allowing users to view advertisements that match their interests and maximizing the effectiveness of the advertisements.
[0203] Prompt Sentence Examples
[0204] "Train a machine learning model to optimize the next ad you show based on user behavior data."
[0205] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[0206] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0207] Step 1:
[0208] The server collects user behavioral and communication data and stores it in a database.
[0209] Input: User behavior data (e.g., browsing history, click history, purchase history)
[0210] Output: Behavioral data stored in a database
[0211] What it does: The server collects data in real time as users browse web pages, click on ads, and purchase products, and stores it in a database.
[0212] Step 2:
[0213] The server uses machine learning algorithms to learn from the accumulated data.
[0214] Input: Behavioral data stored in a database
[0215] Output: A trained machine learning model
[0216] Specific operation: The server uses scikit-learn's random forest classifier to extract user behavior patterns and trends from accumulated data and perform learning.
[0217] Step 3:
[0218] The server selects the most suitable advertisement for the user based on the learned data.
[0219] Input: Trained machine learning model, real-time user behavior data
[0220] Output: Optimized ad
[0221] What it does: The server uses the trained model to select the most effective ad based on the current user behavior data.
[0222] Step 4:
[0223] The server transmits the selected advertisement to the terminal.
[0224] Input: Optimized Ads
[0225] Output: Ad sent to device
[0226] Specific operation: The server sends the selected advertisement to the user's device in real time.
[0227] Step 5:
[0228] The terminal displays the advertisements sent from the server in real time.
[0229] Input: Ad sent by server
[0230] Output: Ad displayed on device
[0231] Specific operation: The device immediately displays the advertisement received from the server to the user.
[0232] Step 6:
[0233] Users view the displayed advertisements and, if necessary, click or make a purchase.
[0234] Input: Ads displayed on the device
[0235] Output: User behavior data (e.g. clicks, purchases)
[0236] How it works: Users view ads displayed on their devices, and if they are interested, they click or make a purchase. This behavioral data is then sent back to the server and used for the next learning cycle.
[0237] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[0238] Example 3
[0239] Next, a description will be given of a third embodiment of the third embodiment. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0240] Conventional FAQ chatbot systems have had difficulty providing appropriate answers to user questions quickly and accurately. Furthermore, they lacked the means to effectively utilize past communication data, making it difficult to contribute to knowledge sharing and work leveling. This resulted in issues such as a decline in user satisfaction and a lack of improvement in work efficiency.
[0241] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0242] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for a user to input a question, means for a terminal to send the question to the server, means for the server to receive the question and create a prompt sentence for the generative AI model, means for the server to generate an answer using the generative AI model, means for sending the answer generated by the server to the terminal, and means for the terminal to display the answer to the user. This makes it possible to provide quick and accurate answers to questions from users, contributing to knowledge sharing and work leveling.
[0243] "Communication tools" is a general term for software and hardware that users use to exchange information with other users or systems.
[0244] "Device" is a general term for electronic devices that users use to input and output information.
[0245] "Means for storing data" is a general term for methods and devices for storing information collected from users.
[0246] "Means for learning data" is a general term for methods and devices for analyzing accumulated information and extracting patterns and knowledge.
[0247] An "FAQ chatbot" is a program that automatically provides answers to questions from users.
[0248] "Means for users to input questions" is a general term for interfaces and devices that allow users to input questions to the system.
[0249] "Means for a terminal to transmit a question to a server" is a general term for methods and devices for transmitting a question entered by a user to a server.
[0250] "Means for a server to receive a question and create a prompt sentence for a generative AI model" is a general term for methods and devices in which a server receives a question from a user and converts it into a prompt sentence to be input into a generative AI model.
[0251] A "generative AI model" is an artificial intelligence model that generates optimal answers to user questions based on pre-trained data.
[0252] "Means for a server to generate an answer using a generative AI model" is a general term for methods and devices for a server to use a generative AI model to generate an answer to a user's question.
[0253] "Means for transmitting a response generated by a server to a terminal" is a general term for a method or device for transmitting a response generated by a server to a user's terminal.
[0254] "Means for the terminal to display the answer to the user" is a general term for methods and devices for the user's terminal to display the answer received from the server to the user.
[0255] The present invention relates to an FAQ chatbot system that provides quick and accurate answers to questions from users. A specific embodiment of this system will be described below.
[0256] First, the program for this system is generated. This program receives questions from users and uses a generative AI model to generate appropriate answers. The hardware used includes a server and a terminal. The server is a computer equipped with a high-performance processor and large memory, and the terminal is an electronic device used by the user, such as a smartphone or PC. The software used includes libraries for running the generative AI model (e.g., TensorFlow and PyTorch).
[0257] The server first accumulates data collected through communication tools and devices. This data includes past meeting schedules and user questions and their answers. The server then learns from the accumulated data. This learning is performed using a generative AI model. The generative AI model generates optimal answers to user questions based on data collected in advance.
[0258] As a specific example, consider the case where a user asks, "When is the next meeting?" The user inputs this question using their device. The device sends the input question to the server. The server analyzes the received question and creates a prompt sentence to input into the generative AI model. For example, it creates a prompt sentence such as, "User question: When is the next meeting?"
[0259] The server then uses a generative AI model to generate an answer based on this prompt. Based on past meeting schedule data, the generative AI model generates the answer "The next meeting is tomorrow at 3:00 PM." The server then sends this generated answer to the device. The device then displays the received answer to the user. The user can confirm the answer "The next meeting is tomorrow at 3:00 PM" on the chatbot interface.
[0260] In this way, users can easily obtain answers to their questions. This system realizes knowledge sharing and work leveling, improving user satisfaction and work efficiency. The flow of the identification process in the third embodiment will be described with reference to FIG. 15.
[0261] Step 1:
[0262] The user enters a question
[0263] A user uses their own device (such as a smartphone or PC) to input a question into the chatbot's interface. The input question is saved in text format on the device. For example, a user might input, "When is the next meeting?"
[0264] Step 2:
[0265] The device sends a question to the server
[0266] The terminal sends the question entered by the user to the server. In this case, the terminal sends the question to the server via the Internet using an HTTP request. The input is the user's question, and the output is the question data sent to the server.
[0267] Step 3:
[0268] The server receives the question and creates a prompt for the generative AI model.
[0269] The server analyzes the question received from the device and creates a prompt sentence to input into the generative AI model. For example, if the user's question is "When is the next meeting?", the prompt sentence will be "User question: When is the next meeting?" The input is the question data received from the device, and the output is the prompt sentence to input into the generative AI model.
[0270] Step 4:
[0271] The server generates an answer using a generative AI model
[0272] The server uses a generative AI model (such as GPT-3 (registered trademark) or BERT) to generate an appropriate answer based on the prompt sentence. The generative AI model generates the optimal answer to the user's question based on pre-trained data. For example, it generates an answer such as "The next meeting is tomorrow at 3:00 p.m." The input is the prompt sentence, and the output is the generated answer.
[0273] Step 5:
[0274] The server generates a response and sends it to the device.
[0275] The server sends the answer generated by the generative AI model to the terminal. In this case, the data is sent using an HTTP response. The input is the generated answer, and the output is the answer data sent to the terminal.
[0276] Step 6:
[0277] The device displays the answer to the user
[0278] The terminal displays the answer received from the server to the user, who can then check the answer on the chatbot's interface. The input is the answer data received from the server, and the output is the answer displayed to the user.
[0279] (Application example 3)
[0280] Next, a description will be given of Application Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0281] Conventional FAQ chatbots have difficulty providing appropriate answers to user questions, and online shopping sites, in particular, are required to respond quickly and accurately to questions about inventory information, order status, and return procedures. Furthermore, knowledge sharing and operational standardization are not being implemented sufficiently, making it difficult to improve customer satisfaction.
[0282] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for generating appropriate answers to questions from users based on inventory data and order data, and means for providing information on return procedures. This makes it possible to provide quick and accurate answers to questions from users, share knowledge, and level out operations.
[0283] "Communication tools" is a general term for software and hardware used by users to exchange information.
[0284] "Device" is a general term for electronic devices used for information processing and communication.
[0285] "Means for storing data" refers to a method or device for storing communication data from users.
[0286] A "means for learning data" is a method or device for analyzing accumulated data and extracting patterns and knowledge.
[0287] An "FAQ chatbot" is a program that automatically generates answers to questions from users.
[0288] "Inventory data" refers to data that includes information regarding the inventory status of a product.
[0289] "Order Data" means data that includes information about a user's order history and order status.
[0290] A "means for generating an appropriate answer" is a method or device for providing the most appropriate answer to a user's question based on learned data.
[0291] "Means for providing information regarding return procedures" refers to a method or device for providing the procedural information required when a user wishes to return a product.
[0292] "Knowledge sharing" refers to sharing knowledge and information gained within an organization with other members.
[0293] "Business leveling" refers to the streamlining and standardization of business operations.
[0294] The following system configuration will be described as an embodiment of the present invention.
[0295] System Configuration
[0296] The system consists of a server, user terminals, and a database. The server stores data collected through communication tools and devices and has the ability to learn from it. It also develops an FAQ chatbot based on the learned data and generates appropriate answers to user questions.
[0297] Hardware and software used
[0298] Hardware: Servers, user devices (smartphones, tablets, PCs, etc.)
[0299] Software: Python, JSON database, generative AI models
[0300] Data processing and calculation
[0301] 1. Data accumulation:
[0302] The server stores communication data from users in a database in JSON format, including user questions and past interactions.
[0303] 2. Data training:
[0304] The server analyzes the accumulated data and uses generative AI models to extract patterns and knowledge, allowing the FAQ chatbot to generate appropriate answers to user questions.
[0305] 3. FAQ Chatbot Development:
[0306] The server uses the learned data to develop an FAQ chatbot, which generates appropriate answers to user questions based on inventory and order data. It also provides information on return procedures.
[0307] Specific examples
[0308] When a user uses their smartphone to ask, "Is this item in stock?", the server will respond with "This item is currently in stock" based on inventory data. When a user asks, "Where is my order?", the server will respond with "Your order is currently being delivered" based on order data. When a user asks, "I would like to return an item, how do I do this?", the server will provide information on the return procedure.
[0309] Prompt Sentence Examples
[0310] User: Do you have this item in stock?
[0311] Chatbot: Smartphones are currently in stock.
[0312] User: Where is my order?
[0313] Chatbot: Your order is on its way now.
[0314] User: I want to return it, how do I do that?
[0315] Chatbot: You can complete the return process by clicking the link below: [Return Link]
[0316] In this way, it becomes possible to provide quick and accurate answers to user questions, share knowledge, and standardize work.
[0317] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[0318] Step 1:
[0319] The server receives communication data sent from the user's device. This data includes the user's questions and past interactions. The server stores this data in a database in JSON format. The input is the user's questions, and the output is the JSON data stored in the database.
[0320] Step 2:
[0321] The server periodically analyzes the accumulated data. It uses a generative AI model to extract patterns and knowledge from the data. The input is JSON data stored in the database, and the output is the trained model. Specifically, the server reads the data, analyzes it using natural language processing technology, and updates the model.
[0322] Step 3:
[0323] The server develops an FAQ chatbot based on the trained model. This chatbot is a program that generates appropriate answers to questions from users. The input is the trained model, and the output is the FAQ chatbot program. Specifically, the server uses the model to generate answer patterns for questions and incorporates them into the program.
[0324] Step 4:
[0325] A user uses a terminal to input a question. For example, "Do you have this item in stock?" The input is the user's question, and the output is a request to the server. In concrete terms, the user inputs the question through the terminal interface and presses the send button.
[0326] Step 5:
[0327] The server receives a question from a user and generates an appropriate answer based on the trained model. The input is the user's question, and the output is the generated answer. Specifically, the server analyzes the question and uses the model to generate the optimal answer.
[0328] Step 6:
[0329] The server sends the generated answer to the user terminal. The input is the generated answer, and the output is a response to the user terminal. In concrete terms, the server sends the answer in text format to the user terminal.
[0330] Step 7:
[0331] The user terminal displays the answer received from the server. The input is the response from the server, and the output is the answer displayed to the user. In concrete terms, the user terminal displays the received text on the screen and provides it to the user.
[0332] In this way, a system is realized that provides quick and accurate answers to questions from users.
[0333] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0334] "Example 1"
[0335] In one embodiment of the present invention, the system includes an emotion engine that recognizes the user's emotions. This emotion engine extracts emotions from the text data of the user's communications. Specifically, it analyzes the text data of messages sent by the user through a communication tool and extracts the emotions expressed in the messages (e.g., joy, anger, sadness, surprise, etc.). This emotion data is important information for understanding the user's emotional state. "Example 2"
[0336] Furthermore, in one embodiment of the present invention, the FAQ chatbot adjusts its response to the user based on the extracted emotional data. Specifically, if a user sends a message expressing anger, the chatbot responds appropriately to the user. For example, it may send an apology message or suggest specific actions to resolve the problem. This enables more appropriate communication based on the user's emotional state.
[0337] "Example 3"
[0338] In one embodiment of the present invention, the emotion engine and the FAQ chatbot work together. Specifically, emotion data extracted by the emotion engine is sent to the FAQ chatbot, and the chatbot generates a response to the user based on that data. For example, if a user sends a message expressing joy, the chatbot can respond appropriately to the user's emotional state, such as sending a congratulatory message to the user.
[0339] The processing flow of each embodiment will be described below.
[0340] "Example 1"
[0341] Step 1: The user sends a message through a communication tool.
[0342] Step 2: The emotion engine analyzes the text data of the user's message.
[0343] Step 3: The emotion engine extracts emotions (e.g., joy, anger, sadness, surprise, etc.) from the message.
[0344] "Example 2"
[0345] Step 1: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 2: The FAQ chatbot generates a response to the user based on the emotion data. Step 3: The response generated by the FAQ chatbot is sent to the user.
[0346] "Example 3"
[0347] Step 1: The user sends a message through a communication tool.
[0348] Step 2: The emotion engine analyzes the text data of the user's message and extracts emotions.
[0349] Step 3: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 4: The FAQ chatbot generates a response to the user based on the emotion data. Step 5: The response generated by the FAQ chatbot is sent to the user.
[0350] Example 1
[0351] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0352] With conventional communication tools and data accumulation systems using devices, it was difficult to accurately grasp the user's emotional state. In addition, there was a lack of effective ways to utilize the accumulated data, and it was not possible to visually confirm the user's emotional changes. This made it difficult to understand the user's emotional state and take appropriate action.
[0353] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0354] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for analyzing the accumulated data to extract emotions, and means for saving the extracted emotion data, thereby enabling accurate understanding of the user's emotional state and visual confirmation of changes in emotions.
[0355] "Communication tools" is a general term for software and devices that users use to exchange information with each other.
[0356] "Device" is a general term for hardware equipment that allows users to use communication tools.
[0357] "Means of storing data" is a general term for functions and systems for collecting and storing data generated through communication tools and devices.
[0358] "Means for analyzing data and extracting emotions" is a general term for algorithms and technologies for processing accumulated data and identifying user emotions.
[0359] "Emotion data" is a general term for data that includes emotional information extracted from user communication.
[0360] "Means for storage" is a general term for functions and systems for saving extracted emotion data in storage such as a database.
[0361] "Means for user confirmation" is a general term for interfaces and functions that allow users to access and confirm stored emotion data.
[0362] "Natural language processing technology" is a general term for technologies that analyze text data and understand meaning and emotions.
[0363] "Visualization" refers to the display of data in a visual format such as a graph or chart.
[0364] MODE FOR CARRYING OUT THE INVENTION
[0365] This invention is a system that accumulates and analyzes data on communication via communication tools and devices, extracts emotions, and stores and visualizes the emotion data. Specific embodiments of this system are described below.
[0366] Hardware and software used
[0367] The server plays a central role in storing, analyzing, and storing data. It has a database management system (e.g., MySQL or PostgreSQL) installed, and uses Python natural language processing libraries (e.g., NLTK or TextBlob) for sentiment analysis.
[0368] The terminal is a device on which users use communication tools, such as Zoom and Slack, and has these tools installed. The terminal is responsible for collecting log data from these tools and sending it to a server.
[0369] Program processing
[0370] The server receives the communication log data sent from the device and stores it in a database. The stored data is then passed to an emotion engine, where it is analyzed using natural language processing technology. The emotion engine extracts the user's emotions from the text data and stores the results back in the database.
[0371] Specific examples
[0372] A user holds a meeting on Zoom, and the log data of the meeting is collected by the device. The device then sends this log data to the server. The server then stores the received log data in a database and passes it to the emotion engine. The emotion engine analyzes the text data and extracts the emotion of "joy" from the message "This project is really great!" The extracted emotion data is then stored back in the database.
[0373] Prompt Sentence Examples
[0374] Prompt: "Describe a program that analyzes the log data of a user's Zoom meeting to extract emotions."
[0375] In this way, the server accumulates the user's communication data and analyzes emotions using the emotion engine, making it possible to understand the user's emotional state and confirm visualized changes in emotions.
[0376] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0377] Program processing flow
[0378] Step 1:
[0379] Users communicate via Zoom and Slack.
[0380] Input: User comments and messages
[0381] Output: Communication log data
[0382] What it does: A user holds a meeting on Zoom or a chat on Slack, which generates a transcript of the meeting and chat messages.
[0383] Step 2:
[0384] The device collects log data from communication tools.
[0385] Input: Communication log data
[0386] Output: Collected log data
[0387] Specific operation: The device uses Zoom's API to obtain meeting transcripts and Slack's API to collect chat messages.
[0388] Step 3:
[0389] The terminal sends the collected log data to the server.
[0390] Input: Collected log data
[0391] Output: Log data sent to the server
[0392] Specific operation: The device sends the collected transcripts and chat messages to the server via an HTTP POST request.
[0393] Step 4:
[0394] The server stores the log data in a database.
[0395] Input: Log data sent to the server
[0396] Output: Log data stored in a database
[0397] What it does: The server stores the received transcripts and chat messages in a MySQL database, including timestamps and user IDs.
[0398] Step 5:
[0399] The server passes the stored log data to the emotion engine.
[0400] Input: Log data stored in the database
[0401] Output: Log data passed to the emotion engine
[0402] What it does: The server retrieves transcripts and chat messages from the database and passes them to the emotion engine, which parses the text data using Python's NLTK library.
[0403] Step 6:
[0404] The emotion engine analyzes the log data and extracts emotions.
[0405] Input: Log data passed to the emotion engine
[0406] Output: Extracted emotion data
[0407] Specific behavior: The emotion engine analyzes text data and extracts the emotion "joy" from the message "This project is really great!"
[0408] Step 7:
[0409] The server stores the extracted emotion data in a database.
[0410] Input: Extracted emotion data
[0411] Output: Emotion data stored in a database
[0412] Specific operation: The server stores the emotion data of "joy" received from the emotion engine in a MySQL database, including the type and intensity of the emotion.
[0413] Step 8:
[0414] The user accesses the device to check the emotion data.
[0415] Input: Emotion data stored in a database
[0416] Output: Visualized emotion data
[0417] How it works: Users access the dashboard using a web browser to view their own emotional data. The dashboard displays changes in emotions as a graph.
[0418] (Application example 1)
[0419] Next, a description will be given of Application Example 1 of Embodiment Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0420] Conventional communication tools and devices make it difficult for systems to recognize users' emotions in real time and respond appropriately. Furthermore, there was a lack of means to detect early signs of workplace harassment and stress, creating a need for rapid responses to these issues.
[0421] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means including an emotion engine for recognizing user emotions, and means for sending alerts based on emotion data extracted by the emotion engine. This makes it possible to recognize user emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate measures.
[0422] "Communication tools" are software and devices that allow users to send and receive messages and hold conferences.
[0423] A "device" is a hardware device that allows a user to use a communication tool.
[0424] "Means for storing data" refers to the function of storing messages and meeting log data generated via communication tools and devices.
[0425] "Means of learning data" are algorithms and systems that analyze accumulated data and extract patterns and trends.
[0426] An "FAQ chatbot" is a program that automatically provides answers to frequently asked questions.
[0427] An "emotion engine" is a software component that analyzes and extracts emotions from text data of user messages and conversations.
[0428] "Emotion data" is information that indicates the user's emotional state analyzed by the emotion engine.
[0429] The "means for sending an alert" is a function for sending a notification to an administrator or related person when a specific condition is met.
[0430] The following system configuration will be described as an embodiment of the present invention.
[0431] System Configuration
[0432] The server includes the following means:
[0433] 1. A means of accumulating data on communication via communication tools and devices
[0434] 2. A means of learning from accumulated data
[0435] 3. How to develop FAQ chatbots based on learned data
[0436] 4. Means including an emotion engine that recognizes the user's emotions
[0437] 5. A means of sending alerts based on emotion data extracted by the emotion engine
[0438] Hardware and software used
[0439] Hardware: Servers, smartphones
[0440] Software: Slack API, TextBlob (sentiment analysis library), Python
[0441] Data processing and calculation
[0442] The server retrieves the message history of a specified channel using the Slack API. The text data of the retrieved messages is subjected to sentiment analysis using the TextBlob library. The sentiment engine calculates a sentiment score for each message and sends an alert if the negative sentiment exceeds a certain threshold.
[0443] Specific examples
[0444] For example, if an employee posts a message in a company's Slack channel saying, "This project is really stressful," the emotion engine analyzes the message and calculates a negative emotion score. If the emotion score falls below a set threshold, the system sends an alert to administrators to prompt action.
[0445] Prompt Sentence Examples
[0446] Write a Python program that monitors messages in a Slack channel and sends an alert to an administrator if negative sentiment is detected. Use the TextBlob library for sentiment analysis and retrieve messages using the Slack API. The threshold for negative sentiment is -0.5.
[0447] In this way, it is possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[0448] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0449] Step 1:
[0450] The server uses the Slack API to retrieve the message history of the specified channel. The input is the Slack API token and the channel ID, and the output is a list of messages. Specifically, the server sends a request to the Slack API to retrieve the message data in the channel.
[0451] Step 2:
[0452] The server performs sentiment analysis on the text data of the acquired messages using the TextBlob library. The input is the list of messages acquired in step 1, and the output is the sentiment score for each message. Specifically, the server passes the text of each message to TextBlob and calculates the sentiment score.
[0453] Step 3:
[0454] The server determines whether the emotion score is below a set threshold. The input is the emotion score obtained in step 2, and the output is the decision result of whether to send an alert. Specifically, the server compares the emotion score with the threshold and flags if the emotion is strong.
[0455] Step 4:
[0456] The server sends an alert to the administrator if a negative sentiment is detected. The input is the judgment result from step 3 and the corresponding message information, and the output is an alert notification to the administrator. Specifically, the server notifies the administrator via email or another Slack message.
[0457] Step 5:
[0458] The server saves the logs after the alert is sent, which is useful for subsequent analysis and response. The input is the detailed information of the alert sent, and the output is the saved log data. Specifically, the server records information such as the content of the alert and the time of sending in a database.
[0459] The above steps make it possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[0460] Example 2
[0461] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0462] Conventional FAQ chatbots provide uniform responses without considering the user's feelings, which can lead to low user satisfaction. Furthermore, they are unable to respond appropriately based on the user's feelings, which can lead to poor problem-solving efficiency. This has led to a demand for improved user experience.
[0463] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0464] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting emotional data from user messages, and means for adjusting responses to users based on the extracted emotional data. This enables appropriate responses according to the user's emotions, improving the user experience and making problem-solving more efficient.
[0465] "Communication tools" is a general term for software and hardware that users use to exchange messages and information.
[0466] "Device" is a general term for electronic devices that allow users to use communication tools.
[0467] "Data storage means" is a general term for systems and methods for storing messages and inquiry information sent by users.
[0468] "Data learning tools" is a general term for algorithms and techniques used to analyze accumulated data and extract patterns and trends.
[0469] An "FAQ chatbot" is a program that automatically responds to user inquiries.
[0470] "Means for extracting emotion data" is a general term for technologies and algorithms for identifying emotions from user messages.
[0471] "Means for adjusting a response" is a general term for a method or system for generating an appropriate response to a user based on extracted emotion data.
[0472] "Natural language processing technology" is a general term for technologies that allow computers to understand and analyze human language.
[0473] An "apology message" is a message expressing apology to the user.
[0474] "Specific actions for solving the problem" is a general term for specific means or methods proposed to solve the user's problem.
[0475] MODE FOR CARRYING OUT THE INVENTION
[0476] The present invention relates to an FAQ chatbot system that provides appropriate responses according to the user's emotions. Specific embodiments of this system will be described below.
[0477] Data accumulation
[0478] The server receives messages and inquiry data sent by users and stores them in a database. MySQL or PostgreSQL are suitable database management systems, which allow users' messages to be stored efficiently.
[0479] Data training
[0480] The server uses machine learning algorithms to learn from the accumulated data. Specifically, it uses Python libraries Scikit-learn and TensorFlow to extract patterns and trends from the data and learn from them. This allows it to learn from data based on past communication interactions.
[0481] Extracting Emotional Data
[0482] The server uses natural language processing (NLP) techniques, specifically generative AI models such as Google's BERT and OpenAI's GPT-3, to extract emotion data from users' messages, thereby identifying emotions from users' messages.
[0483] Sending emotional data
[0484] The server sends the extracted emotion data to the device. Specifically, it uses a RESTful API to send the emotion data to the device in JSON format, which allows the emotion data to be transmitted to the device efficiently.
[0485] Generating a response
[0486] The device generates a response to the user based on the emotion data received from the server. Specifically, it uses a pre-defined response template to generate an appropriate message according to the user's emotion. For example, if the user expresses anger, it will send an apology message or suggest specific actions to resolve the problem.
[0487] Sending a Response
[0488] The terminal sends the generated response message to the user, specifically, displays the message to the user through a chat interface, so that the user can receive an appropriate response.
[0489] Specific examples
[0490] Example 1: When a user expresses anger
[0491] The user sends a message saying, "This service is completely unusable!" The server receives this message and stores it in a database. The server then uses the BERT model to identify the emotion as "anger" and sends the emotion data to the device. The device then generates a response based on the received emotion data: "Sorry. What part are you having trouble with? We'll get back to you shortly." and sends it to the user.
[0492] Example 2: When users are confused
[0493] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in a database. The server then uses the GPT-3 model to identify the emotion as "confused" and sends the emotion data to the device. Based on the emotion data received, the device generates a response saying, "We apologize for the inconvenience. We will explain how to use this feature in more detail." and sends it to the user.
[0494] Prompt Sentence Examples
[0495] Below are some example prompts to input to a generative AI model:
[0496] "Analyze messages sent by users and identify their sentiment. Message: 'This service is completely unusable!'"
[0497] "Analyze the messages sent by users and identify their sentiment. Message: 'I don't know how to use this feature.'"
[0498] In this way, the server, terminal, and user work together to create a system that realizes appropriate communication according to the user's emotions.
[0499] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0500] Step 1:
[0501] The server receives messages sent by users and stores them in a database. The input is the user's message, and the output is the message data stored in the database. Specifically, the server uses a database management system such as MySQL or PostgreSQL to efficiently store messages.
[0502] Step 2:
[0503] The server analyzes the accumulated message data and extracts emotion data. The input is the message data stored in the database, and the output is the extracted emotion data. Specifically, the server uses the Python library Transformers to identify emotions using the BERT model and GPT-3 model.
[0504] Step 3:
[0505] The server sends the extracted emotion data to the device. The input is the extracted emotion data, and the output is the emotion data sent to the device. Specifically, the server uses a RESTful API to send the emotion data to the device in JSON format.
[0506] Step 4:
[0507] The device generates a response to the user based on the emotion data received from the server. The input is the emotion data received from the server, and the output is the generated response message. Specifically, the device uses a pre-configured response template to generate an appropriate message according to the user's emotion.
[0508] Step 5:
[0509] The terminal sends the generated response message to the user. The input is the generated response message, and the output is the message sent to the user. In specific operation, the terminal displays the message to the user through a chat interface.
[0510] Specific examples
[0511] Example 1: When a user expresses anger
[0512] Step 1:
[0513] The user sends a message saying "This service is completely unusable!" The server receives this message and stores it in a database.
[0514] Step 2:
[0515] The server analyzes the message "This service is completely unusable!" stored in the database and uses the BERT model to identify the emotion as "anger."
[0516] Step 3:
[0517] The server sends the extracted "anger" emotion data to the terminal in JSON format.
[0518] Step 4:
[0519] Based on the received "anger" emotion data, the device generates a response message saying, "We're sorry. Where are you having trouble? We'll deal with it right away."
[0520] Step 5:
[0521] The terminal sends the generated response message to the user and displays it through the chat interface.
[0522] Example 2: When users are confused
[0523] Step 1:
[0524] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in the database.
[0525] Step 2:
[0526] The server analyzes the message "I don't know how to use this feature" stored in the database and uses the GPT-3 model to identify the emotion as "confused."
[0527] Step 3:
[0528] The server sends the extracted "confusion" emotion data to the terminal in JSON format.
[0529] Step 4:
[0530] Based on the received "confusion" emotion data, the device generates a response message saying, "We apologize for the inconvenience. We will explain in detail how to use this function."
[0531] Step 5:
[0532] The terminal sends the generated response message to the user and displays it through the chat interface.
[0533] (Application example 2)
[0534] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0535] Conventional FAQ chatbots provide uniform responses without considering the user's emotions, which means they are unable to properly handle user frustration or anger. Furthermore, their inability to respond appropriately based on the user's emotions can lead to a poor user experience and, as a result, a decline in customer satisfaction. This has led to issues such as customer abandonment and an increase in complaints, especially on online shopping sites.
[0536] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0537] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model. This allows for the provision of appropriate responses according to the user's emotions, improving customer satisfaction and reducing complaints.
[0538] "Communication tools" is a general term for software and hardware that enables users to exchange information.
[0539] "Device" is a general term for electronic devices with specific functions.
[0540] A "data storage means" is a system or method for storing information about communications or operations.
[0541] "Data learning tools" are algorithms and systems that analyze accumulated information and extract patterns and trends.
[0542] An "FAQ chatbot" is a program that automatically responds to frequently asked questions.
[0543] "Emotion data" is emotional information extracted from a user's message.
[0544] A "means for generating a response" is a system or algorithm for creating an appropriate reply to a user's input.
[0545] A "generative AI model" is a model that uses artificial intelligence to generate text and data.
[0546] A "prompt sentence" is an instruction sentence input to a generative AI model.
[0547] A system for carrying out this invention is configured as follows: The server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model.
[0548] Hardware and software used
[0549] Hardware: Smartphone
[0550] Software: Python, OpenAI API, TextBlob
[0551] Data processing and calculation
[0552] 1. Data storage: The server stores messages sent by users through communication tools and devices in a database. This data includes text messages, timestamps, sender information, etc.
[0553] 2. Data learning: The server uses machine learning algorithms to learn from the accumulated data, thereby extracting patterns and trends from past communications.
[0554] 3. Emotion Data Extraction: The server uses the TextBlob library to extract emotion data from the user's message, thereby quantifying the positive / negative sentiment of the message.
[0555] 4. Prompt generation: The server generates a prompt based on the extracted emotion data. For example, if the user expresses anger, the server generates the prompt: "The user is expressing anger. Please provide an appropriate apology and problem-solving proposal for the following message: My item hasn't arrived. What's going on?"
[0556] 5. Response Generation: The server generates a response based on the prompt using a generative AI model (e.g., GPT-3). The generated response is used to provide an appropriate response to the user.
[0557] Specific examples
[0558] If a user sends a message such as "My item hasn't arrived yet, what's going on?", the server stores this message in a database. Next, it uses the TextBlob library to extract the sentiment data from the message and determines that the sentiment is strongly negative. Based on this, it generates the following prompt:
[0559] Example prompt sentence:
[0560] The user is expressing anger. Please respond to the following message with an appropriate apology and suggestions to resolve the issue: I haven't received my item yet, what's going on?
[0561] This prompt is then fed into a generative AI model to generate an appropriate response, such as "We're sorry. We'll check the delivery status and get back to you shortly." This response is then sent to the user, suggesting specific actions to take to resolve the issue.
[0562] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0563] Step 1:
[0564] The server receives messages sent by users via communication tools and devices. The input is the user's text message, and the output is the message data stored in a database. Specifically, the server records the message content, timestamp, and sender information in the database.
[0565] Step 2:
[0566] The server uses a machine learning algorithm to learn from the accumulated message data. The input is past message data stored in a database, and the output is extracted patterns and trends. Specifically, the server analyzes the data and identifies frequently occurring question and response patterns.
[0567] Step 3:
[0568] The server extracts sentiment data from new messages from users. The input is the user's text message, and the output is sentiment data (positive / negative score). Specifically, the server uses the TextBlob library to perform sentiment analysis on the message and calculate a sentiment score.
[0569] Step 4:
[0570] The server generates a prompt sentence based on the extracted emotion data. The input is the emotion data and the user's message, and the output is the generated prompt sentence. Specifically, if the emotion score is negative, the server creates a prompt sentence that includes an apology and a proposal to solve the problem.
[0571] Step 5:
[0572] The server uses a generative AI model to generate a response based on the prompt. The input is the prompt, and the output is the generated response message. Specifically, the server uses the OpenAI API to input the prompt into the generative AI model and obtain an appropriate response.
[0573] Step 6:
[0574] The server sends the generated response message to the user. The input is the generated response message, and the output is the response message displayed on the user's device. In concrete terms, the server sends the response message to the user's communication tool or device and displays it to the user.
[0575] Example 3
[0576] Next, a description will be given of a third embodiment of the third embodiment. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0577] Conventional FAQ chatbot systems have limitations in their ability to generate appropriate answers to user questions and are unable to respond according to the user's emotional state. Furthermore, they lack the means to effectively utilize past communication data, which means they are unable to fully contribute to knowledge sharing and work leveling. This has led to a demand for improved user experience and operational efficiency.
[0578] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0579] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for analyzing questions from users, means for generating appropriate answers, means for extracting emotional data, and means for generating responses based on the emotional data. This not only enables appropriate answers to user questions to be provided, but also enables responses that correspond to the user's emotional state, contributing to knowledge sharing and the equalization of work loads.
[0580] "Communication tools" is a general term for software and hardware that users use to exchange messages and information.
[0581] "Device" is a general term for electronic devices that allow users to use communication tools.
[0582] "Means for storing data" refers to functions and systems for saving users' communication history and messages.
[0583] "Means of learning data" are machine learning algorithms and systems that analyze accumulated data and extract patterns and knowledge.
[0584] An "FAQ chatbot" is a program that automatically provides answers to questions from users.
[0585] "Means for analyzing questions" refers to natural language processing technology for understanding questions from users and analyzing their intentions.
[0586] An "answer generator" is an algorithm or system that creates an appropriate answer based on the analyzed question.
[0587] The "means for extracting emotional data" is a technique for analyzing emotions from a user's message and identifying that emotional state.
[0588] The "means for generating a response based on emotional data" refers to an algorithm or system for creating a response that corresponds to the emotional state of the user based on the extracted emotional data.
[0589] This invention relates to an FAQ chatbot system that provides appropriate answers to questions from users and responds in accordance with the emotional state of the user. Specific embodiments of this system are described below.
[0590] The server first accumulates communication data collected through communication tools and devices. This data includes user messages, past meeting schedules, etc. The accumulated data is then stored in a database.
[0591] The server then learns from the accumulated data using machine learning frameworks such as TensorFlow and PyTorch, allowing the server to extract patterns and knowledge from past communication data and use them to develop an FAQ chatbot.
[0592] When a user inputs a question through a device, the device sends the question to a server. The server analyzes the question using natural language processing (NLP) techniques. For this analysis, it uses NLP libraries such as spaCy and NLTK. After understanding the intent of the question, the server generates an appropriate answer based on training data. This process uses a generative AI model.
[0593] The generated answer is sent from the server to the terminal, which then displays it to the user, allowing the user to check the answer on the chat interface.
[0594] Furthermore, an emotion engine extracts emotion data from the user's message. The emotion engine analyzes the user's emotional state using, for example, IBM Watson® emotion analysis API. The extracted emotion data is sent to a server, which generates an emotion-based response based on the data. For example, if the user sends a message expressing joy, the server generates a congratulatory message such as "Congratulations!"
[0595] The generated emotion-based response is sent from the server to the terminal, which then displays it to the user, allowing the user to see the emotion-based response on the chat interface.
[0596] Specific examples
[0597] For example, if a user inputs a question such as "When is the next meeting?", the device sends this question to the server. The server analyzes the question and generates an answer such as "The next meeting is tomorrow at 3:00 PM" from past meeting schedule data. The generated answer is sent to the device, which then displays it to the user.
[0598] If a user sends a message saying, "Yay! The project was a success!", the emotion engine extracts the emotion of joy from the message. The server generates a congratulatory message such as "Congratulations!" based on this emotion data and sends it to the device. The device then displays this response to the user.
[0599] Prompt Sentence Examples
[0600] "When a user asks when the next meeting is, generate an appropriate answer based on past meeting schedule data."
[0601] "When a user sends a message expressing joy, generate a congratulatory message that matches that emotion."
[0602] In this way, a system is realized in which the server, terminal, and user work together to operate the FAQ chatbot and emotion engine. The flow of the identification process in the third embodiment will be described with reference to FIG.
[0603] Step 1:
[0604] The user enters a question
[0605] A user uses the chat interface of the device to enter a question, for example, "When is the next meeting?" The entered question is temporarily stored in the device's memory.
[0606] Step 2:
[0607] The device sends a question to the server
[0608] The terminal sends the question entered by the user to the server, using the HTTPS protocol to transmit data securely. The input is the user's question, and the output is the data sent to the server.
[0609] Step 3:
[0610] The server parses the question
[0611] The server analyzes the received question. Specifically, it uses natural language processing (NLP) techniques to understand the intent of the question. For this analysis, it uses NLP libraries such as spaCy and NLTK. The input is the user's question, and the output is the analysis result.
[0612] Step 4:
[0613] The server generates an appropriate response
[0614] The server generates an appropriate answer based on the training data. For example, it generates an answer such as "The next meeting is tomorrow at 3:00 PM" based on past meeting schedule data. A generative AI model is used for this process. The inputs are the analysis results and training data, and the output is the generated answer.
[0615] Step 5:
[0616] The server sends the answer to the device
[0617] The server sends the generated answer to the terminal. At this time, the data is sent using the HTTPS protocol. The input is the generated answer, and the output is the data sent to the terminal.
[0618] Step 6:
[0619] The device displays the answer to the user
[0620] The terminal displays the answer received from the server to the user, who can then check the answer on the chat interface. The input is the answer from the server, and the output is the display to the user.
[0621] Step 7:
[0622] Emotion engine analyzes user emotions
[0623] The emotion engine extracts emotional data from a user's message. For example, if a user sends a message saying, "Yay! The project was a success!", the emotion engine will detect the emotion of joy. This analysis uses IBM Watson's emotion analysis API. The input is the user's message, and the output is emotional data.
[0624] Step 8:
[0625] The server generates a response based on the emotion.
[0626] The server generates a response to the user based on the emotion data sent from the emotion engine. For example, if a joyful emotion is detected, it generates a congratulatory message such as "Congratulations!" The input is the emotion data, and the output is the generated response.
[0627] Step 9:
[0628] The server sends an emotion-based response to the device.
[0629] The server sends a response based on the generated emotion to the device. The data is sent using the HTTPS protocol. The input is the generated response, and the output is the data sent to the device.
[0630] Step 10:
[0631] The device displays emotion-based responses to the user.
[0632] The terminal displays the response based on the emotion received from the server to the user. The user can check the response according to the emotion on the chat interface. The input is the response from the server, and the output is the display to the user.
[0633] (Application example 3)
[0634] Next, a description will be given of Application Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0635] While conventional FAQ chatbots can provide appropriate answers to user questions, they are unable to generate responses that reflect the user's emotional state, limiting the user experience. Furthermore, while personalized support based on customer emotions is required in brick-and-mortar stores, current systems make it difficult to achieve this.
[0636] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes means for accumulating data of communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for analyzing the user's emotions using an emotion engine, and means for generating a response to the user based on the analyzed emotion data. This makes it possible to provide a personalized response according to the user's emotional state.
[0637] "Communication tools" is a general term for software and hardware used by users to exchange information.
[0638] "Device" is a general term for electronic devices with specific functions.
[0639] "Means for storing data" refers to a system or method for storing information obtained from users.
[0640] "Means of learning data" are algorithms and systems that analyze accumulated information and extract patterns and knowledge.
[0641] An "FAQ chatbot" is a program that automatically provides answers to frequently asked questions.
[0642] An "emotion engine" is software or algorithms that analyze emotions from a user's text or voice.
[0643] "Emotion data" is information that indicates the emotional state of the user.
[0644] A "means for generating a response" is a system or method for generating a response to a user based on the analyzed information.
[0645] A "system" is a general term for a series of devices or programs in which multiple elements work together.
[0646] A system for implementing this invention is configured as follows: First, a server accumulates communication data from users via communication tools and devices. Next, a machine learning algorithm is used to learn from the accumulated data. This allows patterns and knowledge to be extracted from past communication exchanges.
[0647] The server develops an FAQ chatbot based on the learned data. The FAQ chatbot uses a generative AI model to generate appropriate answers to user questions. For example, if a user asks, "When is the next sale?", the chatbot will respond, "The next sale starts next Monday."
[0648] The server then analyzes the user's emotions using an emotion engine, which uses natural language processing libraries such as TextBlob to extract emotional data from the user's text. For example, if the user types "I'm so excited!", the emotion engine will detect a positive emotion.
[0649] The server then sends the analyzed emotion data to the FAQ chatbot, which then generates a response for the user based on the emotion data. For example, if a positive emotion is detected, the chatbot adds a congratulatory message such as "Congratulations!"
[0650] The implementation of this system uses the following hardware and software:
[0651] Hardware: Smartphones, servers
[0652] Software: Python, OpenAI API, TextBlob
[0653] As a concrete example, consider a case where a user uses their smartphone to ask a question in a physical store, "When is the next sale?" In this case, the server sends the following prompt to the generative AI model:
[0654] "User asks: When is the next sale? Generate a relevant answer."
[0655] The generative AI model generates an appropriate answer based on the prompt, and the emotion engine analyzes the user's emotions and adjusts the response accordingly, providing a personalized response according to the user's emotional state.
[0656] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[0657] Step 1:
[0658] A user inputs a question using a smartphone. The input question is sent to the server as text data. The input data is the user's question text.
[0659] Step 2:
[0660] The server stores the received question text in a database. The stored data is saved as past communication data. The input data is the user's question text, and the output data is the text data saved in the database.
[0661] Step 3:
[0662] The server uses machine learning algorithms to learn from the accumulated data. Specifically, it learns from past question-answer pairs to extract patterns and knowledge. The input data is past communication data stored in a database, and the output data is the trained model.
[0663] Step 4:
[0664] The server uses the trained model to develop an FAQ chatbot. The FAQ chatbot uses the generative AI model to generate appropriate answers to user questions. The input data is the user's question text, and the output data is the generated answer text.
[0665] Step 5:
[0666] The server uses an emotion engine to analyze emotion data from the user's question text. Specifically, it uses a natural language processing library such as TextBlob to extract emotion from the user's text. The input data is the user's question text, and the output data is the analyzed emotion data.
[0667] Step 6:
[0668] The server sends the analyzed emotional data to the FAQ chatbot, which then generates a response to the user based on the emotional data. The input data is the analyzed emotional data, and the output data is a response text corresponding to the emotion.
[0669] Step 7:
[0670] The server combines the generated answer text and the response text according to the emotion to generate a final response. The input data is the generated answer text and the response text according to the emotion, and the output data is the final response text.
[0671] Step 8:
[0672] The server sends the final response text to the user's smartphone, where the user can check the response. The input data is the final response text, and the output data is the response text displayed on the user's smartphone.
[0673] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0674] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0675] Another example of generative AI is Gemini (registered trademark) (Internet search engine). <url: https: gemini.google.com ?hl="ja">) are mentioned.
[0676] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0677] [Second embodiment]
[0678] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0679] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0680] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0681] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0682] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0683] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0684] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0685] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0686] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0687] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0688] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0689] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[0690] "Example 1"
[0691] The present invention provides a means for storing data on communications via communication tools and devices, specifically, log data on meetings and chats conducted using communication tools such as Zoom and Slack.
[0692] "Example 2"
[0693] Furthermore, this embodiment of the present invention has a means for learning the accumulated data. Specifically, a machine learning algorithm is used to extract and learn patterns and trends from the accumulated data. "Embodiment 3"
[0694] Furthermore, this embodiment of the present invention has a means for developing an FAQ chatbot based on the learned data. Specifically, a chatbot that generates appropriate answers to questions from users is developed based on the learned data. For example, if a user asks, "When is the next meeting?", the chatbot learns from schedule data of past meetings and replies, "The next meeting is tomorrow at 3:00 PM."
[0695] The processing flow of each embodiment will be described below.
[0696] "Example 1"
[0697] Step 1: Collect log data from meetings and chats held using communication tools such as Zoom and Slack.
[0698] Step 2: Collected log data is stored in a database.
[0699] "Example 2"
[0700] Step 1: Extract the accumulated data.
[0701] Step 2: The extracted data is fed into a machine learning algorithm to extract patterns and trends.
[0702] Step 3: Save the extracted patterns and trends as training data.
[0703] "Example 3"
[0704] Step 1: Extract the training data.
[0705] Step 2: Develop a chatbot that generates appropriate answers to user questions based on the extracted learning data.
[0706] Step 3: Operate the chatbot you developed and automatically provide answers to user questions.
[0707] Example 1
[0708] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0709] In conventional data accumulation systems using communication tools and devices, it was difficult to search and analyze the accumulated data, preventing users from quickly obtaining the information they needed. Furthermore, since search queries were not generated by analyzing prompt sentences using a generative AI model, it was not possible to provide appropriate results in response to user search requests.
[0710] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0711] In this invention, the server includes means for accumulating data of communications via communication tools and devices, means for saving the accumulated data in a database, means for searching the saved data, means for providing search results, and means for analyzing prompt sentences using a generative AI model and generating appropriate search queries, thereby enabling users to quickly search for and obtain the information they need.
[0712] A "communication tool" is any software or device that a user uses to exchange information with other users.
[0713] "Device" refers to an electronic appliance or piece of equipment that a user uses to communicate.
[0714] "Means for storing data" refers to methods or devices for collecting and storing data generated through communication tools and devices.
[0715] A "database" is a system for systematically storing and managing accumulated data.
[0716] A "search means" is a method or device for searching for data stored in a database based on specific conditions.
[0717] The "means for providing search results" refers to a method or device for displaying the searched data to the user.
[0718] A "generative AI model" is a model that uses artificial intelligence technology to analyze user input and provide appropriate responses and processing.
[0719] A "prompt sentence" is a sentence of instructions or questions that a user inputs to a generative AI model.
[0720] A "search query" is a statement used to search a database for specific data.
[0721] This invention is a system that accumulates log data from meetings and chats held via communication tools and devices, allowing users to quickly search for the information they need. Specifically, the server acquires the log data using APIs such as Zoom and Slack and stores it in a database. Users input prompts using a generative AI model, generate appropriate search queries, and retrieve the necessary information from the database.
[0722] The server sends requests to Zoom or Slack's API endpoints to retrieve meeting and chat log data. The retrieved data is stored in a database (e.g., MySQL or PostgreSQL) on the server. The database contains information such as the meeting date and time, participants, and comments. The server converts the data into an appropriate format and inserts it into the database.
[0723] When a user wants to search for log data for a specific meeting or chat, they input a prompt to the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query. The server executes the search query received from the generative AI model and retrieves the relevant data. The retrieved data is displayed in a format that is easy for the user to view.
[0724] For example, if a user wants to "search for logs of meetings that took place on October 1, 2023," they can input the following prompt into the generative AI model:
[0725] Example prompt sentence:
[0726] "Search for the Zoom meeting log that took place on October 1, 2023."
[0727] When this prompt is input into the generative AI model, the model searches the database for the corresponding meeting log data and provides it to the user. Specifically, the server executes an SQL query against the database to retrieve the relevant data. The retrieved data is then displayed in a format that is easy for the user to view. For example, the date and time of the meeting, the participants, and the content of the comments are displayed in a table format.
[0728] This system allows users to quickly search for and obtain the information they need.
[0729] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0730] Step 1:
[0731] Users use the conversations tool
[0732] Users use communication tools such as Zoom and Slack to hold meetings and chats. For example, a user holds a meeting on Zoom and discusses with multiple participants. When the meeting ends, Zoom generates meeting log data.
[0733] Input: User meeting and chat activity
[0734] Output: Log data generated by communication tools
[0735] Step 2:
[0736] The server retrieves the log data
[0737] The server periodically sends requests to the Zoom or Slack API to retrieve meeting and chat log data. Specifically, the server accesses the API endpoint and provides the necessary authentication information to retrieve the data.
[0738] Input: API endpoint request, authentication information
[0739] Output: Acquired log data (e.g., JSON format)
[0740] Step 3:
[0741] The server saves it to the database
[0742] The server stores the acquired log data in a database, such as MySQL or PostgreSQL. The database contains information such as the meeting date and time, participants, and what was said. The server converts the data into an appropriate format and inserts it into the database.
[0743] Input: Captured log data
[0744] Output: Data stored in the database
[0745] Step 4:
[0746] Users search for data
[0747] When a user wants to search for log data for a specific meeting or chat, they input a prompt into the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query.
[0748] Input: User prompt text
[0749] Output: Generated search query
[0750] Step 5:
[0751] The server provides the search results
[0752] The server executes the search query received from the generative AI model and retrieves the relevant data. For example, it executes the SQL query SELECT FROM meetings WHERE date = '2023-10-01'. The retrieved data is then displayed in a user-friendly format. For example, it displays the meeting date and time, participants, and comments in a table format.
[0753] Input: Generated search query
[0754] Output: Search results presented to the user (e.g., in a table)
[0755] The above is the specific processing flow of the program of this system.
[0756] (Application example 1)
[0757] Next, a description will be given of Application Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0758] Conventional communication tools and data accumulation systems using devices primarily focus on communication between humans, and lack effective means for recording and accumulating communication between robots used in factories and workers or other robots. Furthermore, there are also insufficient means for optimizing robot work efficiency and maintenance based on accumulated data. This creates challenges, such as insufficient optimization of work efficiency and maintenance within factories, making it difficult to achieve business efficiency and cost reductions.
[0759] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0760] In this invention, the server includes means for accumulating data on communication via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for recording and accumulating communications between robots used in factories and workers and other robots, and means for optimizing the work efficiency and maintenance of the robots based on the accumulated communication data. This makes it possible to effectively record and accumulate communications between robots in factories and workers and other robots, and to optimize the work efficiency and maintenance of the robots based on the accumulated data.
[0761] "Communication tools" refers to software and applications, such as Zoom and Slack, that allow users to send and receive messages and make voice and video calls.
[0762] A "device" is a hardware device used to use a communication tool, such as a computer, smartphone, or tablet.
[0763] "Means for storing data" means a system or method for storing logs of messages and calls generated through a communication tool or device.
[0764] "Means of learning data" refers to algorithms and machine learning models that analyze accumulated communication data and extract patterns and trends.
[0765] An "FAQ chatbot" is a program equipped with artificial intelligence to automatically provide answers to frequently asked questions.
[0766] A "factory robot" is an automated mechanical device used in manufacturing or on a production line.
[0767] "Workers" are human workers who work in collaboration with robots in factories.
[0768] "Means for recording and storing communications" means a system or method for storing messages and instructions exchanged between a robot and a worker or another robot.
[0769] "Work efficiency" is an indicator that shows how much work a robot or worker can complete within a certain amount of time.
[0770] "Maintenance optimization" refers to methods and systems for performing robot maintenance and repairs at the optimal time to maximize uptime.
[0771] A system for carrying out the present invention includes a means for recording and storing communications between a robot used in a factory and workers or other robots. Specifically, the system has the following configuration.
[0772] First, the server has a means of accumulating data on communications via communication tools and devices. This means is a system for saving logs of messages and calls generated using communication tools such as Zoom and Slack. This allows all communications that take place within the factory to be recorded.
[0773] Next, the server has a means for learning from the accumulated data. This means uses algorithms and machine learning models to analyze the accumulated communication data and extract patterns and trends. Specifically, the data is analyzed using software such as Python and TensorFlow.
[0774] Furthermore, the server has a means for developing an FAQ chatbot based on the learned data, which generates a program equipped with artificial intelligence for automatically providing answers to frequently asked questions, thereby enabling workers to efficiently obtain information.
[0775] In addition, robots used in factories have a means for recording and storing communications with workers and other robots. This means is a system for saving messages and instructions exchanged between the robot and workers or other robots. This allows the robot's work history and maintenance history to be recorded.
[0776] Finally, the server has a means for optimizing the robot's work efficiency and maintenance based on the accumulated communication data. This means analyzes the accumulated data and uses an algorithm to propose optimal maintenance schedules and work procedures. This maximizes the robot's operating time and improves factory production efficiency.
[0777] As a specific example, log data can be saved by inputting the following prompt sentence into the generative AI model:
[0778] Example prompt sentence:
[0779] Robot ID: robot_001
[0780] Message: Maintenance required.
[0781] Timestamp: 2023-10-01T12:00:00
[0782] By entering this prompt, the server can save the log data and use it for later analysis. This allows for effective recording and storage of communications between robots and workers or other robots in the factory, and makes it possible to optimize robot work efficiency and maintenance based on the stored data.
[0783] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0784] Step 1:
[0785] The server receives message and call log data generated through communication tools and devices. As input, there is message and call log data obtained from tools such as Zoom and Slack. The server stores this data in a standard format such as JSON. As output, the stored log data is generated.
[0786] Step 2:
[0787] The server uses a data learning method to analyze the accumulated log data. As input, it has the log data stored in step 1. The server uses machine learning libraries such as Python or TensorFlow to extract patterns and trends from the data. As output, it generates the analysis results.
[0788] Step 3:
[0789] The server develops an FAQ chatbot based on the analysis results. The input is the analysis results obtained in step 2. The server uses a generative AI model to automatically generate answers to frequently asked questions. The output is an FAQ chatbot program.
[0790] Step 4:
[0791] Robots used in factories record communications with workers and other robots and send them to a server. The inputs include messages and instructions exchanged between the robot and workers or other robots. The robot records this data in real time and sends it to the server. The output is the recorded communication data.
[0792] Step 5:
[0793] The server optimizes the robot's work efficiency and maintenance based on the accumulated communication data. The input is the communication data recorded in step 4. The server uses a data analysis algorithm to propose optimal maintenance schedules and work procedures. The output is an optimized maintenance schedule and work procedures.
[0794] Step 6:
[0795] The user checks and executes the optimized maintenance schedule and work procedures provided by the server. The input is the optimized maintenance schedule and work procedures generated in Step 5. The user uses this information to efficiently perform robot maintenance and work. The output is maximizing the robot's operating time and improving factory production efficiency.
[0796] Example 2
[0797] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0798] In conventional systems, the entire process from data collection to generating prediction results was often done manually, resulting in inefficiency. Furthermore, data preprocessing and machine learning model training and evaluation were complex and required specialized knowledge, making them difficult for general users to use. Furthermore, there were also issues with the accuracy of prediction results being low, resulting in a lack of reliability.
[0799] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0800] In this invention, the server includes means for collecting data, means for preprocessing the collected data, means for training a machine learning model using the preprocessed data, means for evaluating the trained model, means for a user to input a prompt sentence, means for generating a prediction result based on the input prompt sentence, and means for displaying the generated prediction result. This automates a series of processes from data collection to generation of a prediction result, enabling efficient and highly accurate predictions.
[0801] "Means of collecting data" refers to the function for obtaining the necessary data from a database or external API.
[0802] "Means for preprocessing collected data" refers to a function that performs preprocessing on the acquired data, such as filling in missing values, normalizing data, and encoding categorical data.
[0803] "Means for training a machine learning model using preprocessed data" refers to a function for applying a machine learning algorithm using preprocessed data to train a model.
[0804] "Means for evaluating a trained model" refers to a function that uses evaluation metrics such as precision, recall, and F1 score to evaluate the performance of a trained machine learning model.
[0805] The "means for the user to input a prompt sentence" is an interface that allows the user to input instructions for performing a specific task.
[0806] The "means for generating a prediction result based on an input prompt sentence" is a function that makes a prediction using a trained model based on a prompt sentence input by a user.
[0807] The "means for displaying the generated prediction result" is a function for visually displaying the predicted result to the user.
[0808] The present invention provides a system that automates a series of processes from data collection to generation of prediction results, enabling efficient and highly accurate prediction. Specific embodiments of this system are described below.
[0809] The server collects data by retrieving the necessary data from a database or external API. For example, to retrieve sales data, customer data, etc., it can use an SQL query to retrieve data from a database. Specifically, it executes the query "SELECT FROM sales WHERE date >= '2022-01-01'" from the MySQL database.
[0810] Next, the server applies preprocessing techniques to the collected data. These preprocessing techniques include imputing missing values, normalizing data, and encoding categorical data. For example, the server executes "df.fillna(method='ffill')" using the Pandas library to impute missing values. The server also uses "MinMaxScaler" from scikit-learn to normalize the data.
[0811] Using the preprocessed data, the server executes a method to train a machine learning model. Specifically, it splits the data into training data and test data using scikit-learn or TensorFlow, and then trains the model. For example, it splits the data using scikit-learn's "train_test_split" and executes "model.fit(X_train, y_train, epochs=50)" using TensorFlow's "Sequential" model.
[0812] To evaluate the performance of the trained model, the server uses an evaluation tool. Evaluation metrics include precision, recall, and F1 score. For example, you can use scikit-learn's "classification_report" to execute "print(classification_report(y_test, y_pred))" to evaluate the model's performance.
[0813] The user inputs instructions for executing a specific task using a means for inputting a prompt sentence from the terminal. For example, the user might input "Please predict next month's sales based on the sales data for the past year."
[0814] The server executes a procedure to generate a prediction result based on the input prompt sentence. Specifically, it uses the trained model to predict next month's sales. For example, it executes "predicted_sales = model.predict(next_month_data)".
[0815] Finally, the server displays the generated forecast result to the user using a means for displaying the forecast result, for example, "Next month's forecast sales are 1 million yen."
[0816] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[0817] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0818] Step 1:
[0819] The server collects the necessary data from a database or external API. For example, to retrieve sales data for the past year from a MySQL database, execute the SQL query "SELECT FROM sales WHERE date >= '2022-01-01'". The input requires database connection information and an SQL query, and the output is sales data.
[0820] Step 2:
[0821] The server performs preprocessing on the collected data. Specifically, it uses the Pandas library to impute missing values and scikit-learn's "MinMaxScaler" to normalize the data. For example, it executes "df.fillna(method='ffill')" to impute missing values and "scaler = MinMaxScaler()" to normalize the data. The collected sales data is required as input, and the preprocessed data is obtained as output.
[0822] Step 3:
[0823] The server trains a machine learning model using the preprocessed data. Specifically, it splits the data into training data and test data using scikit-learn's "train_test_split" and trains it using TensorFlow's "Sequential" model. For example, run "model.fit(X_train, y_train, epochs=50)". The preprocessed data is required as input, and the trained model is obtained as output.
[0824] Step 4:
[0825] The server evaluates the performance of the trained model. Specifically, it evaluates the model using scikit-learn's "classification_report". For example, run "print(classification_report(y_test, y_pred))". The trained model and test data are required as input, and the evaluation results are obtained as output.
[0826] Step 5:
[0827] The user inputs a prompt from the terminal. For example, "Please predict next month's sales based on the sales data for the past year." The prompt is required as input, and instructions are sent to the server as output.
[0828] Step 6:
[0829] The server generates a prediction result based on the input prompt sentence. Specifically, it predicts next month's sales using the trained model. For example, execute "predicted_sales = model.predict(next_month_data)". The input requires the prompt sentence and the trained model, and the output is the predicted result.
[0830] Step 7:
[0831] The server displays the generated forecast results to the user. For example, it displays "Next month's forecast sales are 1 million yen." The forecast results are required as input, and the output is displayed to the user.
[0832] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[0833] (Application example 2)
[0834] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0835] Conventional advertising display systems have the problem of being unable to effectively utilize user behavior data and therefore not being able to fully optimize advertising. In addition, it is difficult to display the most suitable advertisement to the user in real time, making it impossible to maximize the effectiveness of advertising. This often results in low satisfaction for both advertisers and users.
[0836] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0837] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for optimizing advertisements based on the learned data, and means for adjusting advertisement display in real time, thereby enabling advertisements to be optimized based on user behavior data and optimal advertisements to be displayed in real time.
[0838] "Communication tools" is a general term for software and hardware used by users to exchange information.
[0839] "Device" is a general term for electronic devices used for information processing and communication.
[0840] "Means of storing data" is a general term for technologies and devices used to store user behavior and communication history.
[0841] "Means of learning data" is a general term for technologies and devices that extract patterns and trends from accumulated data and learn from them using machine learning algorithms.
[0842] "Means for optimizing advertising" is a general term for technologies and devices for selecting and displaying the most effective advertisements based on user behavior data.
[0843] "Means for adjusting advertisement display in real time" is a general term for technologies and devices that instantly change the content and display timing of advertisements according to the user's current situation and behavior.
[0844] The system for implementing this invention is composed of three main elements: a server, a terminal, and a user. The specific operation of each element and the hardware and software used will be explained below.
[0845] server
[0846] The server accumulates user behavioral and communication data and uses machine learning algorithms to learn from this data. Specifically, it performs the following processes:
[0847] 1. Data accumulation:
[0848] The server collects and stores in a database user behavioral and communication data, including the web pages the user viewed, the ads they clicked on, and the products they purchased.
[0849] 2. Data training:
[0850] Based on the accumulated data, machine learning algorithms (such as the random forest classifier in scikit-learn) are used to learn from the data, which allows users' behavioral patterns and trends to be extracted and used to optimize advertising.
[0851] 3. Ad Optimization:
[0852] Based on the learned data, the system selects the most suitable advertisement for the user. In this process, the most effective advertisement is displayed in real time based on the user's past behavioral data and current situation.
[0853] Terminal
[0854] The device is the device that the user actually uses, such as a smartphone or tablet. The device is responsible for displaying the optimized advertisements sent from the server.
[0855] 1. Advertising:
[0856] The device displays the advertisements sent from the server in real time, allowing users to view the advertisements that are most suitable for them.
[0857] User
[0858] A user is an individual who uses the system and views advertisements through their device. User behavior data plays an important role in the system's learning process.
[0859] Hardware and software used
[0860] Hardware: Servers, smartphones, tablets
[0861] Software: Python, pandas, scikit-learn, database management system (e.g., MySQL)
[0862] Specific examples
[0863] For example, if a user has frequently viewed sporting goods in the past, the system will prioritize displaying advertisements related to sporting goods, allowing users to view advertisements that match their interests and maximizing the effectiveness of the advertisements.
[0864] Prompt Sentence Examples
[0865] "Train a machine learning model to optimize the next ad you show based on user behavior data."
[0866] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[0867] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0868] Step 1:
[0869] The server collects user behavioral and communication data and stores it in a database.
[0870] Input: User behavior data (e.g., browsing history, click history, purchase history)
[0871] Output: Behavioral data stored in a database
[0872] What it does: The server collects data in real time as users browse web pages, click on ads, and purchase products, and stores it in a database.
[0873] Step 2:
[0874] The server uses machine learning algorithms to learn from the accumulated data.
[0875] Input: Behavioral data stored in a database
[0876] Output: A trained machine learning model
[0877] Specific operation: The server uses scikit-learn's random forest classifier to extract user behavior patterns and trends from accumulated data and perform learning.
[0878] Step 3:
[0879] The server selects the most suitable advertisement for the user based on the learned data.
[0880] Input: Trained machine learning model, real-time user behavior data
[0881] Output: Optimized ad
[0882] What it does: The server uses the trained model to select the most effective ad based on the current user behavior data.
[0883] Step 4:
[0884] The server transmits the selected advertisement to the terminal.
[0885] Input: Optimized Ads
[0886] Output: Ad sent to device
[0887] Specific operation: The server sends the selected advertisement to the user's device in real time.
[0888] Step 5:
[0889] The terminal displays the advertisements sent from the server in real time.
[0890] Input: Ad sent by server
[0891] Output: Ad displayed on device
[0892] Specific operation: The device immediately displays the advertisement received from the server to the user.
[0893] Step 6:
[0894] Users view the displayed advertisements and, if necessary, click or make a purchase.
[0895] Input: Ads displayed on the device
[0896] Output: User behavior data (e.g. clicks, purchases)
[0897] How it works: Users view ads displayed on their devices, and if they are interested, they click or make a purchase. This behavioral data is then sent back to the server and used for the next learning cycle.
[0898] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[0899] Example 3
[0900] Next, a description will be given of Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0901] Conventional FAQ chatbot systems have difficulty providing appropriate answers to user questions quickly and accurately. Furthermore, they lacked the means to effectively utilize past communication data, making it difficult to contribute to knowledge sharing and work leveling. This resulted in issues such as a decline in user satisfaction and a lack of improvement in work efficiency.
[0902] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[0903] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for a user to input a question, means for a terminal to send the question to the server, means for the server to receive the question and create a prompt sentence for the generative AI model, means for the server to generate an answer using the generative AI model, means for sending the answer generated by the server to the terminal, and means for the terminal to display the answer to the user. This makes it possible to provide quick and accurate answers to questions from users, contributing to knowledge sharing and work leveling.
[0904] "Communication tools" is a general term for software and hardware that users use to exchange information with other users or systems.
[0905] "Device" is a general term for electronic devices that users use to input and output information.
[0906] "Means for storing data" is a general term for methods and devices for storing information collected from users.
[0907] "Means for learning data" is a general term for methods and devices for analyzing accumulated information and extracting patterns and knowledge.
[0908] An "FAQ chatbot" is a program that automatically provides answers to questions from users.
[0909] "Means for users to input questions" is a general term for interfaces and devices that allow users to input questions to the system.
[0910] "Means for a terminal to transmit a question to a server" is a general term for methods and devices for transmitting a question entered by a user to a server.
[0911] "Means for a server to receive a question and create a prompt sentence for a generative AI model" is a general term for methods and devices in which a server receives a question from a user and converts it into a prompt sentence to be input into a generative AI model.
[0912] A "generative AI model" is an artificial intelligence model that generates optimal answers to user questions based on pre-trained data.
[0913] "Means for a server to generate an answer using a generative AI model" is a general term for methods and devices for a server to use a generative AI model to generate an answer to a user's question.
[0914] "Means for transmitting a response generated by a server to a terminal" is a general term for a method or device for transmitting a response generated by a server to a user's terminal.
[0915] "Means for the terminal to display the answer to the user" is a general term for methods and devices for the user's terminal to display the answer received from the server to the user.
[0916] The present invention relates to an FAQ chatbot system that provides quick and accurate answers to questions from users. A specific embodiment of this system will be described below.
[0917] First, the program for this system is generated. This program receives questions from users and uses a generative AI model to generate appropriate answers. The hardware used includes a server and a terminal. The server is a computer equipped with a high-performance processor and large memory, and the terminal is an electronic device used by the user, such as a smartphone or PC. The software used includes libraries for running the generative AI model (e.g., TensorFlow and PyTorch).
[0918] The server first accumulates data collected through communication tools and devices. This data includes past meeting schedules and user questions and their answers. The server then learns from the accumulated data. This learning is performed using a generative AI model. The generative AI model generates optimal answers to user questions based on data collected in advance.
[0919] As a specific example, consider the case where a user asks, "When is the next meeting?" The user inputs this question using their device. The device sends the input question to the server. The server analyzes the received question and creates a prompt sentence to input into the generative AI model. For example, it creates a prompt sentence such as, "User question: When is the next meeting?"
[0920] The server then uses a generative AI model to generate an answer based on this prompt. Based on past meeting schedule data, the generative AI model generates the answer "The next meeting is tomorrow at 3:00 PM." The server then sends this generated answer to the device. The device then displays the received answer to the user. The user can confirm the answer "The next meeting is tomorrow at 3:00 PM" on the chatbot interface.
[0921] In this way, users can easily obtain answers to their questions. This system realizes knowledge sharing and work leveling, improving user satisfaction and work efficiency. The flow of the identification process in the third embodiment will be described with reference to FIG. 15.
[0922] Step 1:
[0923] The user enters a question
[0924] A user uses their own device (such as a smartphone or PC) to input a question into the chatbot's interface. The input question is saved in text format on the device. For example, a user might input, "When is the next meeting?"
[0925] Step 2:
[0926] The device sends a question to the server
[0927] The terminal sends the question entered by the user to the server. In this case, the terminal sends the question to the server via the Internet using an HTTP request. The input is the user's question, and the output is the question data sent to the server.
[0928] Step 3:
[0929] The server receives the question and creates a prompt for the generative AI model.
[0930] The server analyzes the question received from the device and creates a prompt sentence to input into the generative AI model. For example, if the user's question is "When is the next meeting?", the prompt sentence will be "User question: When is the next meeting?" The input is the question data received from the device, and the output is the prompt sentence to input into the generative AI model.
[0931] Step 4:
[0932] The server generates an answer using a generative AI model
[0933] The server uses a generative AI model (such as GPT-3 or BERT) to generate an appropriate answer based on the prompt. The generative AI model generates the optimal answer to the user's question based on pre-trained data. For example, it generates an answer such as "The next meeting is tomorrow at 3:00 PM." The input is the prompt, and the output is the generated answer.
[0934] Step 5:
[0935] The server generates a response and sends it to the device.
[0936] The server sends the answer generated by the generative AI model to the terminal. In this case, the data is sent using an HTTP response. The input is the generated answer, and the output is the answer data sent to the terminal.
[0937] Step 6:
[0938] The device displays the answer to the user
[0939] The terminal displays the answer received from the server to the user, who can then check the answer on the chatbot's interface. The input is the answer data received from the server, and the output is the answer displayed to the user.
[0940] (Application example 3)
[0941] Next, a description will be given of Application Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0942] Conventional FAQ chatbots have difficulty providing appropriate answers to user questions, and online shopping sites, in particular, are required to respond quickly and accurately to questions about inventory information, order status, and return procedures. Furthermore, knowledge sharing and operational standardization are not being implemented sufficiently, making it difficult to improve customer satisfaction.
[0943] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for generating appropriate answers to questions from users based on inventory data and order data, and means for providing information on return procedures. This makes it possible to provide quick and accurate answers to questions from users, share knowledge, and level out operations.
[0944] "Communication tools" is a general term for software and hardware used by users to exchange information.
[0945] "Device" is a general term for electronic devices used for information processing and communication.
[0946] "Means for storing data" refers to a method or device for storing communication data from users.
[0947] A "means for learning data" is a method or device for analyzing accumulated data and extracting patterns and knowledge.
[0948] An "FAQ chatbot" is a program that automatically generates answers to questions from users.
[0949] "Inventory data" refers to data that includes information regarding the inventory status of a product.
[0950] "Order Data" means data that includes information about a user's order history and order status.
[0951] A "means for generating an appropriate answer" is a method or device for providing the most appropriate answer to a user's question based on learned data.
[0952] "Means for providing information regarding return procedures" refers to a method or device for providing the procedural information required when a user wishes to return a product.
[0953] "Knowledge sharing" refers to sharing knowledge and information gained within an organization with other members.
[0954] "Business leveling" refers to the streamlining and standardization of business operations.
[0955] The following system configuration will be described as an embodiment of the present invention.
[0956] System Configuration
[0957] The system consists of a server, user terminals, and a database. The server stores data collected through communication tools and devices and has the ability to learn from it. It also develops an FAQ chatbot based on the learned data and generates appropriate answers to user questions.
[0958] Hardware and software used
[0959] Hardware: Servers, user devices (smartphones, tablets, PCs, etc.)
[0960] Software: Python, JSON database, generative AI models
[0961] Data processing and calculation
[0962] 1. Data accumulation:
[0963] The server stores communication data from users in a database in JSON format, including user questions and past interactions.
[0964] 2. Data training:
[0965] The server analyzes the accumulated data and uses generative AI models to extract patterns and knowledge, allowing the FAQ chatbot to generate appropriate answers to user questions.
[0966] 3. FAQ Chatbot Development:
[0967] The server uses the learned data to develop an FAQ chatbot, which generates appropriate answers to user questions based on inventory and order data. It also provides information on return procedures.
[0968] Specific examples
[0969] When a user uses their smartphone to ask, "Is this item in stock?", the server will respond with "This item is currently in stock" based on inventory data. When a user asks, "Where is my order?", the server will respond with "Your order is currently being delivered" based on order data. When a user asks, "I would like to return an item, how do I do this?", the server will provide information on the return procedure.
[0970] Prompt Sentence Examples
[0971] User: Do you have this item in stock?
[0972] Chatbot: Smartphones are currently in stock.
[0973] User: Where is my order?
[0974] Chatbot: Your order is on its way now.
[0975] User: I want to return it, how do I do that?
[0976] Chatbot: You can complete the return process by clicking the link below: [Return Link]
[0977] In this way, it becomes possible to provide quick and accurate answers to user questions, share knowledge, and standardize work.
[0978] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[0979] Step 1:
[0980] The server receives communication data sent from the user's device. This data includes the user's questions and past interactions. The server stores this data in a database in JSON format. The input is the user's questions, and the output is the JSON data stored in the database.
[0981] Step 2:
[0982] The server periodically analyzes the accumulated data. It uses a generative AI model to extract patterns and knowledge from the data. The input is JSON data stored in the database, and the output is the trained model. Specifically, the server reads the data, analyzes it using natural language processing technology, and updates the model.
[0983] Step 3:
[0984] The server develops an FAQ chatbot based on the trained model. This chatbot is a program that generates appropriate answers to questions from users. The input is the trained model, and the output is the FAQ chatbot program. Specifically, the server uses the model to generate answer patterns for questions and incorporates them into the program.
[0985] Step 4:
[0986] A user uses a terminal to input a question. For example, "Do you have this item in stock?" The input is the user's question, and the output is a request to the server. In concrete terms, the user inputs the question through the terminal interface and presses the send button.
[0987] Step 5:
[0988] The server receives a question from a user and generates an appropriate answer based on the trained model. The input is the user's question, and the output is the generated answer. Specifically, the server analyzes the question and uses the model to generate the optimal answer.
[0989] Step 6:
[0990] The server sends the generated answer to the user terminal. The input is the generated answer, and the output is a response to the user terminal. In concrete terms, the server sends the answer in text format to the user terminal.
[0991] Step 7:
[0992] The user terminal displays the answer received from the server. The input is the response from the server, and the output is the answer displayed to the user. In concrete terms, the user terminal displays the received text on the screen and provides it to the user.
[0993] In this way, a system is realized that provides quick and accurate answers to questions from users.
[0994] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0995] "Example 1"
[0996] In one embodiment of the present invention, the system includes an emotion engine that recognizes the user's emotions. This emotion engine extracts emotions from the text data of the user's communications. Specifically, it analyzes the text data of messages sent by the user through a communication tool and extracts the emotions expressed in the messages (e.g., joy, anger, sadness, surprise, etc.). This emotion data is important information for understanding the user's emotional state. "Example 2"
[0997] Furthermore, in one embodiment of the present invention, the FAQ chatbot adjusts its response to the user based on the extracted emotional data. Specifically, if a user sends a message expressing anger, the chatbot responds appropriately to the user. For example, it may send an apology message or suggest specific actions to resolve the problem. This enables more appropriate communication based on the user's emotional state.
[0998] "Example 3"
[0999] In one embodiment of the present invention, the emotion engine and the FAQ chatbot work together. Specifically, emotion data extracted by the emotion engine is sent to the FAQ chatbot, and the chatbot generates a response to the user based on that data. For example, if a user sends a message expressing joy, the chatbot can respond appropriately to the user's emotional state, such as sending a congratulatory message to the user.
[1000] The processing flow of each embodiment will be described below.
[1001] "Example 1"
[1002] Step 1: The user sends a message through a communication tool.
[1003] Step 2: The emotion engine analyzes the text data of the user's message.
[1004] Step 3: The emotion engine extracts emotions (e.g., joy, anger, sadness, surprise, etc.) from the message.
[1005] "Example 2"
[1006] Step 1: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 2: The FAQ chatbot generates a response to the user based on the emotion data. Step 3: The response generated by the FAQ chatbot is sent to the user.
[1007] "Example 3"
[1008] Step 1: The user sends a message through a communication tool.
[1009] Step 2: The emotion engine analyzes the text data of the user's message and extracts emotions.
[1010] Step 3: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 4: The FAQ chatbot generates a response to the user based on the emotion data. Step 5: The response generated by the FAQ chatbot is sent to the user.
[1011] Example 1
[1012] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1013] With conventional communication tools and data accumulation systems using devices, it was difficult to accurately grasp the user's emotional state. In addition, there was a lack of effective ways to utilize the accumulated data, and it was not possible to visually confirm the user's emotional changes. This made it difficult to understand the user's emotional state and take appropriate action.
[1014] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1015] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for analyzing the accumulated data to extract emotions, and means for saving the extracted emotion data, thereby enabling accurate understanding of the user's emotional state and visual confirmation of changes in emotions.
[1016] "Communication tools" is a general term for software and devices that users use to exchange information with each other.
[1017] "Device" is a general term for hardware equipment that allows users to use communication tools.
[1018] "Means of storing data" is a general term for functions and systems for collecting and storing data generated through communication tools and devices.
[1019] "Means for analyzing data and extracting emotions" is a general term for algorithms and technologies for processing accumulated data and identifying user emotions.
[1020] "Emotion data" is a general term for data that includes emotional information extracted from user communication.
[1021] "Means for storage" is a general term for functions and systems for saving extracted emotion data in storage such as a database.
[1022] "Means for user confirmation" is a general term for interfaces and functions that allow users to access and confirm stored emotion data.
[1023] "Natural language processing technology" is a general term for technologies that analyze text data and understand meaning and emotions.
[1024] "Visualization" refers to the display of data in a visual format such as a graph or chart.
[1025] MODE FOR CARRYING OUT THE INVENTION
[1026] This invention is a system that accumulates and analyzes data on communication via communication tools and devices, extracts emotions, and stores and visualizes the emotion data. Specific embodiments of this system are described below.
[1027] Hardware and software used
[1028] The server plays a central role in storing, analyzing, and storing data. It has a database management system (e.g., MySQL or PostgreSQL) installed, and uses Python natural language processing libraries (e.g., NLTK or TextBlob) for sentiment analysis.
[1029] The terminal is a device on which users use communication tools, such as Zoom and Slack, and has these tools installed. The terminal is responsible for collecting log data from these tools and sending it to a server.
[1030] Program processing
[1031] The server receives the communication log data sent from the device and stores it in a database. The stored data is then passed to an emotion engine, where it is analyzed using natural language processing technology. The emotion engine extracts the user's emotions from the text data and stores the results back in the database.
[1032] Specific examples
[1033] A user holds a meeting on Zoom, and the log data of the meeting is collected by the device. The device then sends this log data to the server. The server then stores the received log data in a database and passes it to the emotion engine. The emotion engine analyzes the text data and extracts the emotion of "joy" from the message "This project is really great!" The extracted emotion data is then stored back in the database.
[1034] Prompt Sentence Examples
[1035] Prompt: "Describe a program that analyzes the log data of a user's Zoom meeting to extract emotions."
[1036] In this way, the server accumulates the user's communication data and analyzes emotions using the emotion engine, making it possible to understand the user's emotional state and confirm visualized changes in emotions.
[1037] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1038] Program processing flow
[1039] Step 1:
[1040] Users communicate via Zoom and Slack.
[1041] Input: User comments and messages
[1042] Output: Communication log data
[1043] What it does: A user holds a meeting on Zoom or a chat on Slack, which generates a transcript of the meeting and chat messages.
[1044] Step 2:
[1045] The device collects log data from communication tools.
[1046] Input: Communication log data
[1047] Output: Collected log data
[1048] Specific operation: The device uses Zoom's API to obtain meeting transcripts and Slack's API to collect chat messages.
[1049] Step 3:
[1050] The terminal sends the collected log data to the server.
[1051] Input: Collected log data
[1052] Output: Log data sent to the server
[1053] Specific operation: The device sends the collected transcripts and chat messages to the server via an HTTP POST request.
[1054] Step 4:
[1055] The server stores the log data in a database.
[1056] Input: Log data sent to the server
[1057] Output: Log data stored in a database
[1058] What it does: The server stores the received transcripts and chat messages in a MySQL database, including timestamps and user IDs.
[1059] Step 5:
[1060] The server passes the stored log data to the emotion engine.
[1061] Input: Log data stored in the database
[1062] Output: Log data passed to the emotion engine
[1063] What it does: The server retrieves transcripts and chat messages from the database and passes them to the emotion engine, which parses the text data using Python's NLTK library.
[1064] Step 6:
[1065] The emotion engine analyzes the log data and extracts emotions.
[1066] Input: Log data passed to the emotion engine
[1067] Output: Extracted emotion data
[1068] Specific behavior: The emotion engine analyzes text data and extracts the emotion "joy" from the message "This project is really great!"
[1069] Step 7:
[1070] The server stores the extracted emotion data in a database.
[1071] Input: Extracted emotion data
[1072] Output: Emotion data stored in a database
[1073] Specific operation: The server stores the emotion data of "joy" received from the emotion engine in a MySQL database, including the type and intensity of the emotion.
[1074] Step 8:
[1075] The user accesses the device to check the emotion data.
[1076] Input: Emotion data stored in a database
[1077] Output: Visualized emotion data
[1078] How it works: Users access the dashboard using a web browser to view their own emotional data. The dashboard displays changes in emotions as a graph.
[1079] (Application example 1)
[1080] Next, a description will be given of Application Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1081] Conventional communication tools and devices make it difficult for systems to recognize users' emotions in real time and respond appropriately. Furthermore, there was a lack of means to detect early signs of workplace harassment and stress, creating a need for rapid responses to these issues.
[1082] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means including an emotion engine for recognizing user emotions, and means for sending alerts based on emotion data extracted by the emotion engine. This makes it possible to recognize user emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate measures.
[1083] "Communication tools" are software and devices that allow users to send and receive messages and hold conferences.
[1084] A "device" is a hardware device that allows a user to use a communication tool.
[1085] "Means for storing data" refers to the function of storing messages and meeting log data generated via communication tools and devices.
[1086] "Means of learning data" are algorithms and systems that analyze accumulated data and extract patterns and trends.
[1087] An "FAQ chatbot" is a program that automatically provides answers to frequently asked questions.
[1088] An "emotion engine" is a software component that analyzes and extracts emotions from text data of user messages and conversations.
[1089] "Emotion data" is information that indicates the user's emotional state analyzed by the emotion engine.
[1090] The "means for sending an alert" is a function for sending a notification to an administrator or related person when a specific condition is met.
[1091] The following system configuration will be described as an embodiment of the present invention.
[1092] System Configuration
[1093] The server includes the following means:
[1094] 1. A means of accumulating data on communication via communication tools and devices
[1095] 2. A means of learning from accumulated data
[1096] 3. How to develop FAQ chatbots based on learned data
[1097] 4. Means including an emotion engine that recognizes the user's emotions
[1098] 5. A means of sending alerts based on emotion data extracted by the emotion engine
[1099] Hardware and software used
[1100] Hardware: Servers, smartphones
[1101] Software: Slack API, TextBlob (sentiment analysis library), Python
[1102] Data processing and calculation
[1103] The server retrieves the message history of a specified channel using the Slack API. The text data of the retrieved messages is subjected to sentiment analysis using the TextBlob library. The sentiment engine calculates a sentiment score for each message and sends an alert if the negative sentiment exceeds a certain threshold.
[1104] Specific examples
[1105] For example, if an employee posts a message in a company's Slack channel saying, "This project is really stressful," the emotion engine analyzes the message and calculates a negative emotion score. If the emotion score falls below a set threshold, the system sends an alert to administrators to prompt action.
[1106] Prompt Sentence Examples
[1107] Write a Python program that monitors messages in a Slack channel and sends an alert to an administrator if negative sentiment is detected. Use the TextBlob library for sentiment analysis and retrieve messages using the Slack API. The threshold for negative sentiment is -0.5.
[1108] In this way, it is possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[1109] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1110] Step 1:
[1111] The server uses the Slack API to retrieve the message history of the specified channel. The input is the Slack API token and the channel ID, and the output is a list of messages. Specifically, the server sends a request to the Slack API to retrieve the message data in the channel.
[1112] Step 2:
[1113] The server performs sentiment analysis on the text data of the acquired messages using the TextBlob library. The input is the list of messages acquired in step 1, and the output is the sentiment score for each message. Specifically, the server passes the text of each message to TextBlob and calculates the sentiment score.
[1114] Step 3:
[1115] The server determines whether the emotion score is below a set threshold. The input is the emotion score obtained in step 2, and the output is the decision result of whether to send an alert. Specifically, the server compares the emotion score with the threshold and flags if the emotion is strong.
[1116] Step 4:
[1117] The server sends an alert to the administrator if a negative sentiment is detected. The input is the judgment result from step 3 and the corresponding message information, and the output is an alert notification to the administrator. Specifically, the server notifies the administrator via email or another Slack message.
[1118] Step 5:
[1119] The server saves the logs after the alert is sent, which is useful for subsequent analysis and response. The input is the detailed information of the alert sent, and the output is the saved log data. Specifically, the server records information such as the content of the alert and the time of sending in a database.
[1120] The above steps make it possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[1121] Example 2
[1122] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1123] Conventional FAQ chatbots provide uniform responses without considering the user's feelings, which can lead to low user satisfaction. Furthermore, they are unable to respond appropriately based on the user's feelings, which can lead to poor problem-solving efficiency. This has led to a demand for improved user experience.
[1124] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1125] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting emotional data from user messages, and means for adjusting responses to users based on the extracted emotional data. This enables appropriate responses according to the user's emotions, improving the user experience and making problem-solving more efficient.
[1126] "Communication tools" is a general term for software and hardware that users use to exchange messages and information.
[1127] "Device" is a general term for electronic devices that allow users to use communication tools.
[1128] "Data storage means" is a general term for systems and methods for storing messages and inquiry information sent by users.
[1129] "Data learning tools" is a general term for algorithms and techniques used to analyze accumulated data and extract patterns and trends.
[1130] An "FAQ chatbot" is a program that automatically responds to user inquiries.
[1131] "Means for extracting emotion data" is a general term for technologies and algorithms for identifying emotions from user messages.
[1132] "Means for adjusting a response" is a general term for a method or system for generating an appropriate response to a user based on extracted emotion data.
[1133] "Natural language processing technology" is a general term for technologies that allow computers to understand and analyze human language.
[1134] An "apology message" is a message expressing apology to the user.
[1135] "Specific actions for solving the problem" is a general term for specific means or methods proposed to solve the user's problem.
[1136] MODE FOR CARRYING OUT THE INVENTION
[1137] The present invention relates to an FAQ chatbot system that provides appropriate responses according to the user's emotions. Specific embodiments of this system will be described below.
[1138] Data accumulation
[1139] The server receives messages and inquiry data sent by users and stores them in a database. MySQL or PostgreSQL are suitable database management systems, which allow users' messages to be stored efficiently.
[1140] Data training
[1141] The server uses machine learning algorithms to learn from the accumulated data. Specifically, it uses Python libraries Scikit-learn and TensorFlow to extract patterns and trends from the data and learn from them. This allows it to learn from data based on past communication interactions.
[1142] Extracting Emotional Data
[1143] The server uses natural language processing (NLP) techniques, specifically generative AI models such as Google's BERT and OpenAI's GPT-3, to extract emotional data from users' messages, allowing it to identify emotions in users' messages.
[1144] Sending emotional data
[1145] The server sends the extracted emotion data to the device. Specifically, it uses a RESTful API to send the emotion data to the device in JSON format, which allows the emotion data to be transmitted to the device efficiently.
[1146] Generating a response
[1147] The device generates a response to the user based on the emotion data received from the server. Specifically, it uses a pre-defined response template to generate an appropriate message according to the user's emotion. For example, if the user expresses anger, it will send an apology message or suggest specific actions to resolve the problem.
[1148] Sending a Response
[1149] The terminal sends the generated response message to the user, specifically, displays the message to the user through a chat interface, so that the user can receive an appropriate response.
[1150] Specific examples
[1151] Example 1: When a user expresses anger
[1152] The user sends a message saying, "This service is completely unusable!" The server receives this message and stores it in a database. The server then uses the BERT model to identify the emotion as "anger" and sends the emotion data to the device. The device then generates a response based on the received emotion data: "Sorry. What part are you having trouble with? We'll get back to you shortly." and sends it to the user.
[1153] Example 2: When users are confused
[1154] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in a database. The server then uses the GPT-3 model to identify the emotion as "confused" and sends the emotion data to the device. Based on the emotion data received, the device generates a response saying, "We apologize for the inconvenience. We will explain how to use this feature in more detail." and sends it to the user.
[1155] Prompt Sentence Examples
[1156] Below are some example prompts to input to a generative AI model:
[1157] "Analyze messages sent by users and identify their sentiment. Message: 'This service is completely unusable!'"
[1158] "Analyze the messages sent by users and identify their sentiment. Message: 'I don't know how to use this feature.'"
[1159] In this way, the server, terminal, and user work together to create a system that realizes appropriate communication according to the user's emotions.
[1160] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1161] Step 1:
[1162] The server receives messages sent by users and stores them in a database. The input is the user's message, and the output is the message data stored in the database. Specifically, the server uses a database management system such as MySQL or PostgreSQL to efficiently store messages.
[1163] Step 2:
[1164] The server analyzes the accumulated message data and extracts emotion data. The input is the message data stored in the database, and the output is the extracted emotion data. Specifically, the server uses the Python library Transformers to identify emotions using the BERT model and GPT-3 model.
[1165] Step 3:
[1166] The server sends the extracted emotion data to the device. The input is the extracted emotion data, and the output is the emotion data sent to the device. Specifically, the server uses a RESTful API to send the emotion data to the device in JSON format.
[1167] Step 4:
[1168] The device generates a response to the user based on the emotion data received from the server. The input is the emotion data received from the server, and the output is the generated response message. Specifically, the device uses a pre-configured response template to generate an appropriate message according to the user's emotion.
[1169] Step 5:
[1170] The terminal sends the generated response message to the user. The input is the generated response message, and the output is the message sent to the user. In specific operation, the terminal displays the message to the user through a chat interface.
[1171] Specific examples
[1172] Example 1: When a user expresses anger
[1173] Step 1:
[1174] The user sends a message saying "This service is completely unusable!" The server receives this message and stores it in a database.
[1175] Step 2:
[1176] The server analyzes the message "This service is completely unusable!" stored in the database and uses the BERT model to identify the emotion as "anger."
[1177] Step 3:
[1178] The server sends the extracted "anger" emotion data to the terminal in JSON format.
[1179] Step 4:
[1180] Based on the received "anger" emotion data, the device generates a response message saying, "We're sorry. Where are you having trouble? We'll deal with it right away."
[1181] Step 5:
[1182] The terminal sends the generated response message to the user and displays it through the chat interface.
[1183] Example 2: When users are confused
[1184] Step 1:
[1185] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in the database.
[1186] Step 2:
[1187] The server analyzes the message "I don't know how to use this feature" stored in the database and uses the GPT-3 model to identify the emotion as "confused."
[1188] Step 3:
[1189] The server sends the extracted "confusion" emotion data to the terminal in JSON format.
[1190] Step 4:
[1191] Based on the received "confusion" emotion data, the device generates a response message saying, "We apologize for the inconvenience. We will explain in detail how to use this function."
[1192] Step 5:
[1193] The terminal sends the generated response message to the user and displays it through the chat interface.
[1194] (Application example 2)
[1195] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1196] Conventional FAQ chatbots provide uniform responses without considering the user's emotions, which means they are unable to properly handle user frustration or anger. Furthermore, their inability to respond appropriately based on the user's emotions can lead to a poor user experience and, as a result, a decline in customer satisfaction. This has led to issues such as customer abandonment and an increase in complaints, especially on online shopping sites.
[1197] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1198] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model. This allows for the provision of appropriate responses according to the user's emotions, improving customer satisfaction and reducing complaints.
[1199] "Communication tools" is a general term for software and hardware that enables users to exchange information.
[1200] "Device" is a general term for electronic devices with specific functions.
[1201] A "data storage means" is a system or method for storing information about communications or operations.
[1202] "Data learning tools" are algorithms and systems that analyze accumulated information and extract patterns and trends.
[1203] An "FAQ chatbot" is a program that automatically responds to frequently asked questions.
[1204] "Emotion data" is emotional information extracted from a user's message.
[1205] A "means for generating a response" is a system or algorithm for creating an appropriate reply to a user's input.
[1206] A "generative AI model" is a model that uses artificial intelligence to generate text and data.
[1207] A "prompt sentence" is an instruction sentence input to a generative AI model.
[1208] A system for carrying out this invention is configured as follows: The server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model.
[1209] Hardware and software used
[1210] Hardware: Smartphone
[1211] Software: Python, OpenAI API, TextBlob
[1212] Data processing and calculation
[1213] 1. Data storage: The server stores messages sent by users through communication tools and devices in a database. This data includes text messages, timestamps, sender information, etc.
[1214] 2. Data learning: The server uses machine learning algorithms to learn from the accumulated data, thereby extracting patterns and trends from past communications.
[1215] 3. Emotion Data Extraction: The server uses the TextBlob library to extract emotion data from the user's message, thereby quantifying the positive / negative sentiment of the message.
[1216] 4. Prompt generation: The server generates a prompt based on the extracted emotion data. For example, if the user expresses anger, the server generates the prompt: "The user is expressing anger. Please provide an appropriate apology and problem-solving proposal for the following message: My item hasn't arrived. What's going on?"
[1217] 5. Response Generation: The server generates a response based on the prompt using a generative AI model (e.g., GPT-3). The generated response is used to provide an appropriate response to the user.
[1218] Specific examples
[1219] If a user sends a message such as "My item hasn't arrived yet, what's going on?", the server stores this message in a database. Next, it uses the TextBlob library to extract the sentiment data from the message and determines that the sentiment is strongly negative. Based on this, it generates the following prompt:
[1220] Example prompt sentence:
[1221] The user is expressing anger. Please respond to the following message with an appropriate apology and suggestions to resolve the issue: I haven't received my item yet, what's going on?
[1222] This prompt is then fed into a generative AI model to generate an appropriate response, such as "We're sorry. We'll check the delivery status and get back to you shortly." This response is then sent to the user, suggesting specific actions to take to resolve the issue.
[1223] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1224] Step 1:
[1225] The server receives messages sent by users via communication tools and devices. The input is the user's text message, and the output is the message data stored in a database. Specifically, the server records the message content, timestamp, and sender information in the database.
[1226] Step 2:
[1227] The server uses a machine learning algorithm to learn from the accumulated message data. The input is past message data stored in a database, and the output is extracted patterns and trends. Specifically, the server analyzes the data and identifies frequently occurring question and response patterns.
[1228] Step 3:
[1229] The server extracts sentiment data from new messages from users. The input is the user's text message, and the output is sentiment data (positive / negative score). Specifically, the server uses the TextBlob library to perform sentiment analysis on the message and calculate a sentiment score.
[1230] Step 4:
[1231] The server generates a prompt sentence based on the extracted emotion data. The input is the emotion data and the user's message, and the output is the generated prompt sentence. Specifically, if the emotion score is negative, the server creates a prompt sentence that includes an apology and a proposal to solve the problem.
[1232] Step 5:
[1233] The server uses a generative AI model to generate a response based on the prompt. The input is the prompt, and the output is the generated response message. Specifically, the server uses the OpenAI API to input the prompt into the generative AI model and obtain an appropriate response.
[1234] Step 6:
[1235] The server sends the generated response message to the user. The input is the generated response message, and the output is the response message displayed on the user's device. In concrete terms, the server sends the response message to the user's communication tool or device and displays it to the user.
[1236] Example 3
[1237] Next, a description will be given of Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1238] Conventional FAQ chatbot systems have limitations in their ability to generate appropriate answers to user questions and are unable to respond according to the user's emotional state. Furthermore, they lack the means to effectively utilize past communication data, which means they are unable to fully contribute to knowledge sharing and work leveling. This has led to a demand for improved user experience and operational efficiency.
[1239] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[1240] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for analyzing questions from users, means for generating appropriate answers, means for extracting emotional data, and means for generating responses based on the emotional data. This not only enables appropriate answers to user questions to be provided, but also enables responses that correspond to the user's emotional state, contributing to knowledge sharing and the equalization of work loads.
[1241] "Communication tools" is a general term for software and hardware that users use to exchange messages and information.
[1242] "Device" is a general term for electronic devices that allow users to use communication tools.
[1243] "Means for storing data" refers to functions and systems for saving users' communication history and messages.
[1244] "Means of learning data" are machine learning algorithms and systems that analyze accumulated data and extract patterns and knowledge.
[1245] An "FAQ chatbot" is a program that automatically provides answers to questions from users.
[1246] "Means for analyzing questions" refers to natural language processing technology for understanding questions from users and analyzing their intentions.
[1247] An "answer generator" is an algorithm or system that creates an appropriate answer based on the analyzed question.
[1248] The "means for extracting emotional data" is a technique for analyzing emotions from a user's message and identifying that emotional state.
[1249] The "means for generating a response based on emotional data" refers to an algorithm or system for creating a response that corresponds to the emotional state of the user based on the extracted emotional data.
[1250] This invention relates to an FAQ chatbot system that provides appropriate answers to questions from users and responds in accordance with the emotional state of the user. Specific embodiments of this system are described below.
[1251] The server first accumulates communication data collected through communication tools and devices. This data includes user messages, past meeting schedules, etc. The accumulated data is then stored in a database.
[1252] The server then learns from the accumulated data using machine learning frameworks such as TensorFlow and PyTorch, allowing the server to extract patterns and knowledge from past communication data and use them to develop an FAQ chatbot.
[1253] When a user inputs a question through a device, the device sends the question to a server. The server analyzes the question using natural language processing (NLP) techniques. For this analysis, it uses NLP libraries such as spaCy and NLTK. After understanding the intent of the question, the server generates an appropriate answer based on training data. This process uses a generative AI model.
[1254] The generated answer is sent from the server to the terminal, which then displays it to the user, allowing the user to check the answer on the chat interface.
[1255] Furthermore, the emotion engine extracts emotion data from the user's message. The emotion engine analyzes the user's emotional state using, for example, IBM Watson's emotion analysis API. The extracted emotion data is sent to the server, which then generates an emotion-based response based on the data. For example, if the user sends a message expressing joy, the server generates a congratulatory message such as "Congratulations!"
[1256] The generated emotion-based response is sent from the server to the terminal, which then displays it to the user, allowing the user to see the emotion-based response on the chat interface.
[1257] Specific examples
[1258] For example, if a user inputs a question such as "When is the next meeting?", the device sends this question to the server. The server analyzes the question and generates an answer such as "The next meeting is tomorrow at 3:00 PM" from past meeting schedule data. The generated answer is sent to the device, which then displays it to the user.
[1259] If a user sends a message saying, "Yay! The project was a success!", the emotion engine extracts the emotion of joy from the message. The server generates a congratulatory message such as "Congratulations!" based on this emotion data and sends it to the device. The device then displays this response to the user.
[1260] Prompt Sentence Examples
[1261] "When a user asks when the next meeting is, generate an appropriate answer based on past meeting schedule data."
[1262] "When a user sends a message expressing joy, generate a congratulatory message that matches that emotion."
[1263] In this way, a system is realized in which the server, terminal, and user work together to operate the FAQ chatbot and emotion engine. The flow of the identification process in the third embodiment will be described with reference to FIG.
[1264] Step 1:
[1265] The user enters a question
[1266] A user uses the chat interface of the device to enter a question, for example, "When is the next meeting?" The entered question is temporarily stored in the device's memory.
[1267] Step 2:
[1268] The device sends a question to the server
[1269] The terminal sends the question entered by the user to the server, using the HTTPS protocol to transmit data securely. The input is the user's question, and the output is the data sent to the server.
[1270] Step 3:
[1271] The server parses the question
[1272] The server analyzes the received question. Specifically, it uses natural language processing (NLP) techniques to understand the intent of the question. For this analysis, it uses NLP libraries such as spaCy and NLTK. The input is the user's question, and the output is the analysis result.
[1273] Step 4:
[1274] The server generates an appropriate response
[1275] The server generates an appropriate answer based on the training data. For example, it generates an answer such as "The next meeting is tomorrow at 3:00 PM" based on past meeting schedule data. A generative AI model is used for this process. The inputs are the analysis results and training data, and the output is the generated answer.
[1276] Step 5:
[1277] The server sends the answer to the device
[1278] The server sends the generated answer to the terminal. At this time, the data is sent using the HTTPS protocol. The input is the generated answer, and the output is the data sent to the terminal.
[1279] Step 6:
[1280] The device displays the answer to the user
[1281] The terminal displays the answer received from the server to the user, who can then check the answer on the chat interface. The input is the answer from the server, and the output is the display to the user.
[1282] Step 7:
[1283] Emotion engine analyzes user emotions
[1284] The emotion engine extracts emotional data from a user's message. For example, if a user sends a message saying, "Yay! The project was a success!", the emotion engine will detect the emotion of joy. This analysis uses IBM Watson's emotion analysis API. The input is the user's message, and the output is emotional data.
[1285] Step 8:
[1286] The server generates a response based on the emotion.
[1287] The server generates a response to the user based on the emotion data sent from the emotion engine. For example, if a joyful emotion is detected, it generates a congratulatory message such as "Congratulations!" The input is the emotion data, and the output is the generated response.
[1288] Step 9:
[1289] The server sends an emotion-based response to the device.
[1290] The server sends a response based on the generated emotion to the device. The data is sent using the HTTPS protocol. The input is the generated response, and the output is the data sent to the device.
[1291] Step 10:
[1292] The device displays emotion-based responses to the user.
[1293] The terminal displays the response based on the emotion received from the server to the user. The user can check the response according to the emotion on the chat interface. The input is the response from the server, and the output is the display to the user.
[1294] (Application example 3)
[1295] Next, a description will be given of Application Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1296] While conventional FAQ chatbots can provide appropriate answers to user questions, they are unable to generate responses that reflect the user's emotional state, limiting the user experience. Furthermore, while personalized support based on customer emotions is required in brick-and-mortar stores, current systems make it difficult to achieve this.
[1297] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes means for accumulating data of communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for analyzing the user's emotions using an emotion engine, and means for generating a response to the user based on the analyzed emotion data. This makes it possible to provide a personalized response according to the user's emotional state.
[1298] "Communication tools" is a general term for software and hardware used by users to exchange information.
[1299] "Device" is a general term for electronic devices with specific functions.
[1300] "Means for storing data" refers to a system or method for storing information obtained from users.
[1301] "Means of learning data" are algorithms and systems that analyze accumulated information and extract patterns and knowledge.
[1302] An "FAQ chatbot" is a program that automatically provides answers to frequently asked questions.
[1303] An "emotion engine" is software or algorithms that analyze emotions from a user's text or voice.
[1304] "Emotion data" is information that indicates the emotional state of the user.
[1305] A "means for generating a response" is a system or method for generating a response to a user based on the analyzed information.
[1306] A "system" is a general term for a series of devices or programs in which multiple elements work together.
[1307] A system for implementing this invention is configured as follows: First, a server accumulates communication data from users via communication tools and devices. Next, a machine learning algorithm is used to learn from the accumulated data. This allows patterns and knowledge to be extracted from past communication exchanges.
[1308] The server develops an FAQ chatbot based on the learned data. The FAQ chatbot uses a generative AI model to generate appropriate answers to user questions. For example, if a user asks, "When is the next sale?", the chatbot will respond, "The next sale starts next Monday."
[1309] The server then analyzes the user's emotions using an emotion engine, which uses natural language processing libraries such as TextBlob to extract emotional data from the user's text. For example, if the user types "I'm so excited!", the emotion engine will detect a positive emotion.
[1310] The server then sends the analyzed emotion data to the FAQ chatbot, which then generates a response for the user based on the emotion data. For example, if a positive emotion is detected, the chatbot adds a congratulatory message such as "Congratulations!"
[1311] The implementation of this system uses the following hardware and software:
[1312] Hardware: Smartphones, servers
[1313] Software: Python, OpenAI API, TextBlob
[1314] As a concrete example, consider a case where a user uses their smartphone to ask a question in a physical store, "When is the next sale?" In this case, the server sends the following prompt to the generative AI model:
[1315] "User asks: When is the next sale? Generate a relevant answer."
[1316] The generative AI model generates an appropriate answer based on the prompt, and the emotion engine analyzes the user's emotions and adjusts the response accordingly, providing a personalized response according to the user's emotional state.
[1317] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[1318] Step 1:
[1319] A user inputs a question using a smartphone. The input question is sent to the server as text data. The input data is the user's question text.
[1320] Step 2:
[1321] The server stores the received question text in a database. The stored data is saved as past communication data. The input data is the user's question text, and the output data is the text data saved in the database.
[1322] Step 3:
[1323] The server uses machine learning algorithms to learn from the accumulated data. Specifically, it learns from past question-answer pairs to extract patterns and knowledge. The input data is past communication data stored in a database, and the output data is the trained model.
[1324] Step 4:
[1325] The server uses the trained model to develop an FAQ chatbot. The FAQ chatbot uses the generative AI model to generate appropriate answers to user questions. The input data is the user's question text, and the output data is the generated answer text.
[1326] Step 5:
[1327] The server uses an emotion engine to analyze emotion data from the user's question text. Specifically, it uses a natural language processing library such as TextBlob to extract emotion from the user's text. The input data is the user's question text, and the output data is the analyzed emotion data.
[1328] Step 6:
[1329] The server sends the analyzed emotional data to the FAQ chatbot, which then generates a response to the user based on the emotional data. The input data is the analyzed emotional data, and the output data is a response text corresponding to the emotion.
[1330] Step 7:
[1331] The server combines the generated answer text and the response text according to the emotion to generate a final response. The input data is the generated answer text and the response text according to the emotion, and the output data is the final response text.
[1332] Step 8:
[1333] The server sends the final response text to the user's smartphone, where the user can check the response. The input data is the final response text, and the output data is the response text displayed on the user's smartphone.
[1334] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1335] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1336] Another example of generative AI is Gemini (internet search engine). <url: https: gemini.google.com ?hl="ja">) are mentioned.
[1337] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[1338] [Third embodiment]
[1339] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1340] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1341] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1342] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[1343] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1344] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1345] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1346] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1347] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1348] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1349] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1350] Next, the specific processing by the specific processing unit 290 of the data processing device 12 will be described.
[1351] "Example 1"
[1352] The present invention provides a means for storing data on communications via communication tools and devices, specifically, log data on meetings and chats conducted using communication tools such as Zoom and Slack.
[1353] "Example 2"
[1354] Furthermore, this embodiment of the present invention has a means for learning the accumulated data. Specifically, a machine learning algorithm is used to extract and learn patterns and trends from the accumulated data. "Embodiment 3"
[1355] Furthermore, this embodiment of the present invention has a means for developing an FAQ chatbot based on the learned data. Specifically, a chatbot that generates appropriate answers to questions from users is developed based on the learned data. For example, if a user asks, "When is the next meeting?", the chatbot learns from schedule data of past meetings and replies, "The next meeting is tomorrow at 3:00 PM."
[1356] The processing flow of each embodiment will be described below.
[1357] "Example 1"
[1358] Step 1: Collect log data from meetings and chats held using communication tools such as Zoom and Slack.
[1359] Step 2: Collected log data is stored in a database.
[1360] "Example 2"
[1361] Step 1: Extract the accumulated data.
[1362] Step 2: The extracted data is fed into a machine learning algorithm to extract patterns and trends.
[1363] Step 3: Save the extracted patterns and trends as training data.
[1364] "Example 3"
[1365] Step 1: Extract the training data.
[1366] Step 2: Develop a chatbot that generates appropriate answers to user questions based on the extracted learning data.
[1367] Step 3: Operate the chatbot you developed and automatically provide answers to user questions.
[1368] Example 1
[1369] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1370] In conventional data accumulation systems using communication tools and devices, it was difficult to search and analyze the accumulated data, preventing users from quickly obtaining the information they needed. Furthermore, since search queries were not generated by analyzing prompt sentences using a generative AI model, it was not possible to provide appropriate results in response to user search requests.
[1371] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1372] In this invention, the server includes means for accumulating data of communications via communication tools and devices, means for saving the accumulated data in a database, means for searching the saved data, means for providing search results, and means for analyzing prompt sentences using a generative AI model and generating appropriate search queries, thereby enabling users to quickly search for and obtain the information they need.
[1373] A "communication tool" is any software or device that a user uses to exchange information with other users.
[1374] "Device" refers to an electronic appliance or piece of equipment that a user uses to communicate.
[1375] "Means for storing data" refers to methods or devices for collecting and storing data generated through communication tools and devices.
[1376] A "database" is a system for systematically storing and managing accumulated data.
[1377] A "search means" is a method or device for searching for data stored in a database based on specific conditions.
[1378] The "means for providing search results" refers to a method or device for displaying the searched data to the user.
[1379] A "generative AI model" is a model that uses artificial intelligence technology to analyze user input and provide appropriate responses and processing.
[1380] A "prompt sentence" is a sentence of instructions or questions that a user inputs to a generative AI model.
[1381] A "search query" is a statement used to search a database for specific data.
[1382] This invention is a system that accumulates log data from meetings and chats held via communication tools and devices, allowing users to quickly search for the information they need. Specifically, the server acquires the log data using APIs such as Zoom and Slack and stores it in a database. Users input prompts using a generative AI model, generate appropriate search queries, and retrieve the necessary information from the database.
[1383] The server sends requests to Zoom or Slack's API endpoints to retrieve meeting and chat log data. The retrieved data is stored in a database (e.g., MySQL or PostgreSQL) on the server. The database contains information such as the meeting date and time, participants, and comments. The server converts the data into an appropriate format and inserts it into the database.
[1384] When a user wants to search for log data for a specific meeting or chat, they input a prompt to the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query. The server executes the search query received from the generative AI model and retrieves the relevant data. The retrieved data is displayed in a format that is easy for the user to view.
[1385] For example, if a user wants to "search for logs of meetings that took place on October 1, 2023," they can input the following prompt into the generative AI model:
[1386] Example prompt sentence:
[1387] "Search for the Zoom meeting log that took place on October 1, 2023."
[1388] When this prompt is input into the generative AI model, the model searches the database for the corresponding meeting log data and provides it to the user. Specifically, the server executes an SQL query against the database to retrieve the relevant data. The retrieved data is then displayed in a format that is easy for the user to view. For example, the date and time of the meeting, the participants, and the content of the comments are displayed in a table format.
[1389] This system allows users to quickly search for and obtain the information they need.
[1390] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1391] Step 1:
[1392] Users use the conversations tool
[1393] Users use communication tools such as Zoom and Slack to hold meetings and chats. For example, a user holds a meeting on Zoom and discusses with multiple participants. When the meeting ends, Zoom generates meeting log data.
[1394] Input: User meeting and chat activity
[1395] Output: Log data generated by communication tools
[1396] Step 2:
[1397] The server retrieves the log data
[1398] The server periodically sends requests to the Zoom or Slack API to retrieve meeting and chat log data. Specifically, the server accesses the API endpoint and provides the necessary authentication information to retrieve the data.
[1399] Input: API endpoint request, authentication information
[1400] Output: Acquired log data (e.g., JSON format)
[1401] Step 3:
[1402] The server saves it to the database
[1403] The server stores the acquired log data in a database, such as MySQL or PostgreSQL. The database contains information such as the meeting date and time, participants, and what was said. The server converts the data into an appropriate format and inserts it into the database.
[1404] Input: Captured log data
[1405] Output: Data stored in the database
[1406] Step 4:
[1407] Users search for data
[1408] When a user wants to search for log data for a specific meeting or chat, they input a prompt into the generative AI model. For example, they might input, "Please search for logs of meetings held on October 1, 2023." The generative AI model analyzes this prompt and generates an appropriate search query.
[1409] Input: User prompt text
[1410] Output: Generated search query
[1411] Step 5:
[1412] The server provides the search results
[1413] The server executes the search query received from the generative AI model and retrieves the relevant data. For example, it executes the SQL query SELECT FROM meetings WHERE date = '2023-10-01'. The retrieved data is then displayed in a user-friendly format. For example, it displays the meeting date and time, participants, and comments in a table format.
[1414] Input: Generated search query
[1415] Output: Search results presented to the user (e.g., in a table)
[1416] The above is the specific processing flow of the program of this system.
[1417] (Application example 1)
[1418] Next, a description will be given of Application Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1419] Conventional communication tools and data accumulation systems using devices primarily focus on communication between humans, and lack effective means for recording and accumulating communication between robots used in factories and workers or other robots. Furthermore, there are also insufficient means for optimizing robot work efficiency and maintenance based on accumulated data. This creates challenges, such as insufficient optimization of work efficiency and maintenance within factories, making it difficult to achieve business efficiency and cost reductions.
[1420] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1421] In this invention, the server includes means for accumulating data on communication via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for recording and accumulating communications between robots used in factories and workers and other robots, and means for optimizing the work efficiency and maintenance of the robots based on the accumulated communication data. This makes it possible to effectively record and accumulate communications between robots in factories and workers and other robots, and to optimize the work efficiency and maintenance of the robots based on the accumulated data.
[1422] "Communication tools" refers to software and applications, such as Zoom and Slack, that allow users to send and receive messages and make voice and video calls.
[1423] A "device" is a hardware device used to use a communication tool, such as a computer, smartphone, or tablet.
[1424] "Means for storing data" means a system or method for storing logs of messages and calls generated through a communication tool or device.
[1425] "Means of learning data" refers to algorithms and machine learning models that analyze accumulated communication data and extract patterns and trends.
[1426] An "FAQ chatbot" is a program equipped with artificial intelligence to automatically provide answers to frequently asked questions.
[1427] A "factory robot" is an automated mechanical device used in manufacturing or on a production line.
[1428] "Workers" are human workers who work in collaboration with robots in factories.
[1429] "Means for recording and storing communications" means a system or method for storing messages and instructions exchanged between a robot and a worker or another robot.
[1430] "Work efficiency" is an indicator that shows how much work a robot or worker can complete within a certain amount of time.
[1431] "Maintenance optimization" refers to methods and systems for performing robot maintenance and repairs at the optimal time to maximize uptime.
[1432] A system for carrying out the present invention includes a means for recording and storing communications between a robot used in a factory and workers or other robots. Specifically, the system has the following configuration.
[1433] First, the server has a means of accumulating data on communications via communication tools and devices. This means is a system for saving logs of messages and calls generated using communication tools such as Zoom and Slack. This allows all communications that take place within the factory to be recorded.
[1434] Next, the server has a means for learning from the accumulated data. This means uses algorithms and machine learning models to analyze the accumulated communication data and extract patterns and trends. Specifically, the data is analyzed using software such as Python and TensorFlow.
[1435] Furthermore, the server has a means for developing an FAQ chatbot based on the learned data, which generates a program equipped with artificial intelligence for automatically providing answers to frequently asked questions, thereby enabling workers to efficiently obtain information.
[1436] In addition, robots used in factories have a means for recording and storing communications with workers and other robots. This means is a system for saving messages and instructions exchanged between the robot and workers or other robots. This allows the robot's work history and maintenance history to be recorded.
[1437] Finally, the server has a means for optimizing the robot's work efficiency and maintenance based on the accumulated communication data. This means analyzes the accumulated data and uses an algorithm to propose optimal maintenance schedules and work procedures. This maximizes the robot's operating time and improves factory production efficiency.
[1438] As a specific example, log data can be saved by inputting the following prompt sentence into the generative AI model:
[1439] Example prompt sentence:
[1440] Robot ID: robot_001
[1441] Message: Maintenance required.
[1442] Timestamp: 2023-10-01T12:00:00
[1443] By entering this prompt, the server can save the log data and use it for later analysis. This allows for effective recording and storage of communications between robots and workers or other robots in the factory, and makes it possible to optimize robot work efficiency and maintenance based on the stored data.
[1444] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1445] Step 1:
[1446] The server receives message and call log data generated through communication tools and devices. As input, there is message and call log data obtained from tools such as Zoom and Slack. The server stores this data in a standard format such as JSON. As output, the stored log data is generated.
[1447] Step 2:
[1448] The server uses a data learning method to analyze the accumulated log data. As input, it has the log data stored in step 1. The server uses machine learning libraries such as Python or TensorFlow to extract patterns and trends from the data. As output, it generates the analysis results.
[1449] Step 3:
[1450] The server develops an FAQ chatbot based on the analysis results. The input is the analysis results obtained in step 2. The server uses a generative AI model to automatically generate answers to frequently asked questions. The output is an FAQ chatbot program.
[1451] Step 4:
[1452] Robots used in factories record communications with workers and other robots and send them to a server. The inputs include messages and instructions exchanged between the robot and workers or other robots. The robot records this data in real time and sends it to the server. The output is the recorded communication data.
[1453] Step 5:
[1454] The server optimizes the robot's work efficiency and maintenance based on the accumulated communication data. The input is the communication data recorded in step 4. The server uses a data analysis algorithm to propose optimal maintenance schedules and work procedures. The output is an optimized maintenance schedule and work procedures.
[1455] Step 6:
[1456] The user checks and executes the optimized maintenance schedule and work procedures provided by the server. The input is the optimized maintenance schedule and work procedures generated in Step 5. The user uses this information to efficiently perform robot maintenance and work. The output is maximizing the robot's operating time and improving factory production efficiency.
[1457] Example 2
[1458] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1459] In conventional systems, the entire process from data collection to generating prediction results was often done manually, resulting in inefficiency. Furthermore, data preprocessing and machine learning model training and evaluation were complex and required specialized knowledge, making them difficult for general users to use. Furthermore, there were also issues with the accuracy of prediction results being low, resulting in a lack of reliability.
[1460] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1461] In this invention, the server includes means for collecting data, means for preprocessing the collected data, means for training a machine learning model using the preprocessed data, means for evaluating the trained model, means for a user to input a prompt sentence, means for generating a prediction result based on the input prompt sentence, and means for displaying the generated prediction result. This automates a series of processes from data collection to generation of a prediction result, enabling efficient and highly accurate predictions.
[1462] "Means of collecting data" refers to the function for obtaining the necessary data from a database or external API.
[1463] "Means for preprocessing collected data" refers to a function that performs preprocessing on the acquired data, such as filling in missing values, normalizing data, and encoding categorical data.
[1464] "Means for training a machine learning model using preprocessed data" refers to a function for applying a machine learning algorithm using preprocessed data to train a model.
[1465] "Means for evaluating a trained model" refers to a function that uses evaluation metrics such as precision, recall, and F1 score to evaluate the performance of a trained machine learning model.
[1466] The "means for the user to input a prompt sentence" is an interface that allows the user to input instructions for performing a specific task.
[1467] The "means for generating a prediction result based on an input prompt sentence" is a function that makes a prediction using a trained model based on a prompt sentence input by a user.
[1468] The "means for displaying the generated prediction result" is a function for visually displaying the predicted result to the user.
[1469] The present invention provides a system that automates a series of processes from data collection to generation of prediction results, enabling efficient and highly accurate prediction. Specific embodiments of this system are described below.
[1470] The server collects data by retrieving the necessary data from a database or external API. For example, to retrieve sales data, customer data, etc., it can use an SQL query to retrieve data from a database. Specifically, it executes the query "SELECT FROM sales WHERE date >= '2022-01-01'" from the MySQL database.
[1471] Next, the server applies preprocessing techniques to the collected data. These preprocessing techniques include imputing missing values, normalizing data, and encoding categorical data. For example, the server executes "df.fillna(method='ffill')" using the Pandas library to impute missing values. The server also uses "MinMaxScaler" from scikit-learn to normalize the data.
[1472] Using the preprocessed data, the server executes a method to train a machine learning model. Specifically, it splits the data into training data and test data using scikit-learn or TensorFlow, and then trains the model. For example, it splits the data using scikit-learn's "train_test_split" and executes "model.fit(X_train, y_train, epochs=50)" using TensorFlow's "Sequential" model.
[1473] To evaluate the performance of the trained model, the server uses an evaluation tool. Evaluation metrics include precision, recall, and F1 score. For example, you can use scikit-learn's "classification_report" to execute "print(classification_report(y_test, y_pred))" to evaluate the model's performance.
[1474] The user inputs instructions for executing a specific task using a means for inputting a prompt sentence from the terminal. For example, the user might input "Please predict next month's sales based on the sales data for the past year."
[1475] The server executes a procedure to generate a prediction result based on the input prompt sentence. Specifically, it uses the trained model to predict next month's sales. For example, it executes "predicted_sales = model.predict(next_month_data)".
[1476] Finally, the server displays the generated forecast result to the user using a means for displaying the forecast result, for example, "Next month's forecast sales are 1 million yen."
[1477] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[1478] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1479] Step 1:
[1480] The server collects the necessary data from a database or external API. For example, to retrieve sales data for the past year from a MySQL database, execute the SQL query "SELECT FROM sales WHERE date >= '2022-01-01'". The input requires database connection information and an SQL query, and the output is sales data.
[1481] Step 2:
[1482] The server performs preprocessing on the collected data. Specifically, it uses the Pandas library to impute missing values and scikit-learn's "MinMaxScaler" to normalize the data. For example, it executes "df.fillna(method='ffill')" to impute missing values and "scaler = MinMaxScaler()" to normalize the data. The collected sales data is required as input, and the preprocessed data is obtained as output.
[1483] Step 3:
[1484] The server trains a machine learning model using the preprocessed data. Specifically, it splits the data into training data and test data using scikit-learn's "train_test_split" and trains it using TensorFlow's "Sequential" model. For example, run "model.fit(X_train, y_train, epochs=50)". The preprocessed data is required as input, and the trained model is obtained as output.
[1485] Step 4:
[1486] The server evaluates the performance of the trained model. Specifically, it evaluates the model using scikit-learn's "classification_report". For example, run "print(classification_report(y_test, y_pred))". The trained model and test data are required as input, and the evaluation results are obtained as output.
[1487] Step 5:
[1488] The user inputs a prompt from the terminal. For example, "Please predict next month's sales based on the sales data for the past year." The prompt is required as input, and instructions are sent to the server as output.
[1489] Step 6:
[1490] The server generates a prediction result based on the input prompt sentence. Specifically, it predicts next month's sales using the trained model. For example, execute "predicted_sales = model.predict(next_month_data)". The input requires the prompt sentence and the trained model, and the output is the predicted result.
[1491] Step 7:
[1492] The server displays the generated forecast results to the user. For example, it displays "Next month's forecast sales are 1 million yen." The forecast results are required as input, and the output is displayed to the user.
[1493] In this way, the server automatically performs a series of processes from collecting data to displaying prediction results, and users can obtain highly accurate prediction results simply by entering a prompt.
[1494] (Application example 2)
[1495] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1496] Conventional advertising display systems have the problem of being unable to effectively utilize user behavior data and therefore not being able to fully optimize advertising. In addition, it is difficult to display the most suitable advertisement to the user in real time, making it impossible to maximize the effectiveness of advertising. This often results in low satisfaction for both advertisers and users.
[1497] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1498] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for optimizing advertisements based on the learned data, and means for adjusting advertisement display in real time, thereby enabling advertisements to be optimized based on user behavior data and optimal advertisements to be displayed in real time.
[1499] "Communication tools" is a general term for software and hardware used by users to exchange information.
[1500] "Device" is a general term for electronic devices used for information processing and communication.
[1501] "Means of storing data" is a general term for technologies and devices used to store user behavior and communication history.
[1502] "Means of learning data" is a general term for technologies and devices that extract patterns and trends from accumulated data and learn from them using machine learning algorithms.
[1503] "Means for optimizing advertising" is a general term for technologies and devices for selecting and displaying the most effective advertisements based on user behavior data.
[1504] "Means for adjusting advertisement display in real time" is a general term for technologies and devices that instantly change the content and display timing of advertisements according to the user's current situation and behavior.
[1505] The system for implementing this invention is composed of three main elements: a server, a terminal, and a user. The specific operation of each element and the hardware and software used will be explained below.
[1506] server
[1507] The server accumulates user behavioral and communication data and uses machine learning algorithms to learn from this data. Specifically, it performs the following processes:
[1508] 1. Data accumulation:
[1509] The server collects and stores in a database user behavioral and communication data, including the web pages the user viewed, the ads they clicked on, and the products they purchased.
[1510] 2. Data training:
[1511] Based on the accumulated data, machine learning algorithms (such as the random forest classifier in scikit-learn) are used to learn from the data, which allows users' behavioral patterns and trends to be extracted and used to optimize advertising.
[1512] 3. Ad Optimization:
[1513] Based on the learned data, the system selects the most suitable advertisement for the user. In this process, the most effective advertisement is displayed in real time based on the user's past behavioral data and current situation.
[1514] Terminal
[1515] The device is the device that the user actually uses, such as a smartphone or tablet. The device is responsible for displaying the optimized advertisements sent from the server.
[1516] 1. Advertising:
[1517] The device displays the advertisements sent from the server in real time, allowing users to view the advertisements that are most suitable for them.
[1518] User
[1519] A user is an individual who uses the system and views advertisements through their device. User behavior data plays an important role in the system's learning process.
[1520] Hardware and software used
[1521] Hardware: Servers, smartphones, tablets
[1522] Software: Python, pandas, scikit-learn, database management system (e.g., MySQL)
[1523] Specific examples
[1524] For example, if a user has frequently viewed sporting goods in the past, the system will prioritize displaying advertisements related to sporting goods, allowing users to view advertisements that match their interests and maximizing the effectiveness of the advertisements.
[1525] Prompt Sentence Examples
[1526] "Train a machine learning model to optimize the next ad you show based on user behavior data."
[1527] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[1528] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1529] Step 1:
[1530] The server collects user behavioral and communication data and stores it in a database.
[1531] Input: User behavior data (e.g., browsing history, click history, purchase history)
[1532] Output: Behavioral data stored in a database
[1533] What it does: The server collects data in real time as users browse web pages, click on ads, and purchase products, and stores it in a database.
[1534] Step 2:
[1535] The server uses machine learning algorithms to learn from the accumulated data.
[1536] Input: Behavioral data stored in a database
[1537] Output: A trained machine learning model
[1538] Specific operation: The server uses scikit-learn's random forest classifier to extract user behavior patterns and trends from accumulated data and perform learning.
[1539] Step 3:
[1540] The server selects the most suitable advertisement for the user based on the learned data.
[1541] Input: Trained machine learning model, real-time user behavior data
[1542] Output: Optimized ad
[1543] What it does: The server uses the trained model to select the most effective ad based on the current user behavior data.
[1544] Step 4:
[1545] The server transmits the selected advertisement to the terminal.
[1546] Input: Optimized Ads
[1547] Output: Ad sent to device
[1548] Specific operation: The server sends the selected advertisement to the user's device in real time.
[1549] Step 5:
[1550] The terminal displays the advertisements sent from the server in real time.
[1551] Input: Ad sent by server
[1552] Output: Ad displayed on device
[1553] Specific operation: The device immediately displays the advertisement received from the server to the user.
[1554] Step 6:
[1555] Users view the displayed advertisements and, if necessary, click or make a purchase.
[1556] Input: Ads displayed on the device
[1557] Output: User behavior data (e.g. clicks, purchases)
[1558] How it works: Users view ads displayed on their devices, and if they are interested, they click or make a purchase. This behavioral data is then sent back to the server and used for the next learning cycle.
[1559] In this way, by linking the server, terminal, and user, it becomes possible to provide the most suitable advertisement to the user in real time.
[1560] Example 3
[1561] Next, a third embodiment of the third embodiment will be described. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1562] Conventional FAQ chatbot systems have had difficulty providing appropriate answers to user questions quickly and accurately. Furthermore, they lacked the means to effectively utilize past communication data, making it difficult to contribute to knowledge sharing and work leveling. This resulted in issues such as a decline in user satisfaction and a lack of improvement in work efficiency.
[1563] The specific processing by the specific processing unit 290 of the data processing device 12 in the third embodiment is realized by the following means.
[1564] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for a user to input a question, means for a terminal to send the question to the server, means for the server to receive the question and create a prompt sentence for the generative AI model, means for the server to generate an answer using the generative AI model, means for sending the answer generated by the server to the terminal, and means for the terminal to display the answer to the user. This makes it possible to provide quick and accurate answers to questions from users, contributing to knowledge sharing and work leveling.
[1565] "Communication tools" is a general term for software and hardware that users use to exchange information with other users or systems.
[1566] "Device" is a general term for electronic devices that users use to input and output information.
[1567] "Means for storing data" is a general term for methods and devices for storing information collected from users.
[1568] "Means for learning data" is a general term for methods and devices for analyzing accumulated information and extracting patterns and knowledge.
[1569] An "FAQ chatbot" is a program that automatically provides answers to questions from users.
[1570] "Means for users to input questions" is a general term for interfaces and devices that allow users to input questions to the system.
[1571] "Means for a terminal to transmit a question to a server" is a general term for methods and devices for transmitting a question entered by a user to a server.
[1572] "Means for a server to receive a question and create a prompt sentence for a generative AI model" is a general term for methods and devices in which a server receives a question from a user and converts it into a prompt sentence to be input into a generative AI model.
[1573] A "generative AI model" is an artificial intelligence model that generates optimal answers to user questions based on pre-trained data.
[1574] "Means for a server to generate an answer using a generative AI model" is a general term for methods and devices for a server to use a generative AI model to generate an answer to a user's question.
[1575] "Means for transmitting a response generated by a server to a terminal" is a general term for a method or device for transmitting a response generated by a server to a user's terminal.
[1576] "Means for the terminal to display the answer to the user" is a general term for methods and devices for the user's terminal to display the answer received from the server to the user.
[1577] The present invention relates to an FAQ chatbot system that provides quick and accurate answers to questions from users. A specific embodiment of this system will be described below.
[1578] First, the program for this system is generated. This program receives questions from users and uses a generative AI model to generate appropriate answers. The hardware used includes a server and a terminal. The server is a computer equipped with a high-performance processor and large memory, and the terminal is an electronic device used by the user, such as a smartphone or PC. The software used includes libraries for running the generative AI model (e.g., TensorFlow and PyTorch).
[1579] The server first accumulates data collected through communication tools and devices. This data includes past meeting schedules and user questions and their answers. The server then learns from the accumulated data. This learning is performed using a generative AI model. The generative AI model generates optimal answers to user questions based on data collected in advance.
[1580] As a specific example, consider the case where a user asks, "When is the next meeting?" The user inputs this question using their device. The device sends the input question to the server. The server analyzes the received question and creates a prompt sentence to input into the generative AI model. For example, it creates a prompt sentence such as, "User question: When is the next meeting?"
[1581] The server then uses a generative AI model to generate an answer based on this prompt. Based on past meeting schedule data, the generative AI model generates the answer "The next meeting is tomorrow at 3:00 PM." The server then sends this generated answer to the device. The device then displays the received answer to the user. The user can confirm the answer "The next meeting is tomorrow at 3:00 PM" on the chatbot interface.
[1582] In this way, users can easily obtain answers to their questions. This system realizes knowledge sharing and work leveling, improving user satisfaction and work efficiency. The flow of the identification process in the third embodiment will be described with reference to FIG. 15.
[1583] Step 1:
[1584] The user enters a question
[1585] A user uses their own device (such as a smartphone or PC) to input a question into the chatbot's interface. The input question is saved in text format on the device. For example, a user might input, "When is the next meeting?"
[1586] Step 2:
[1587] The device sends a question to the server
[1588] The terminal sends the question entered by the user to the server. In this case, the terminal sends the question to the server via the Internet using an HTTP request. The input is the user's question, and the output is the question data sent to the server.
[1589] Step 3:
[1590] The server receives the question and creates a prompt for the generative AI model.
[1591] The server analyzes the question received from the device and creates a prompt sentence to input into the generative AI model. For example, if the user's question is "When is the next meeting?", the prompt sentence will be "User question: When is the next meeting?" The input is the question data received from the device, and the output is the prompt sentence to input into the generative AI model.
[1592] Step 4:
[1593] The server generates an answer using a generative AI model
[1594] The server uses a generative AI model (such as GPT-3 or BERT) to generate an appropriate answer based on the prompt. The generative AI model generates the optimal answer to the user's question based on pre-trained data. For example, it generates an answer such as "The next meeting is tomorrow at 3:00 PM." The input is the prompt, and the output is the generated answer.
[1595] Step 5:
[1596] The server generates a response and sends it to the device.
[1597] The server sends the answer generated by the generative AI model to the terminal. In this case, the data is sent using an HTTP response. The input is the generated answer, and the output is the answer data sent to the terminal.
[1598] Step 6:
[1599] The device displays the answer to the user
[1600] The terminal displays the answer received from the server to the user, who can then check the answer on the chatbot's interface. The input is the answer data received from the server, and the output is the answer displayed to the user.
[1601] (Application example 3)
[1602] Next, a description will be given of Application Example 3 of Form Example 3. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1603] Conventional FAQ chatbots have difficulty providing appropriate answers to user questions, and online shopping sites, in particular, are required to respond quickly and accurately to questions about inventory information, order status, and return procedures. Furthermore, knowledge sharing and operational standardization are not being implemented sufficiently, making it difficult to improve customer satisfaction.
[1604] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 3 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means for generating appropriate answers to questions from users based on inventory data and order data, and means for providing information on return procedures. This makes it possible to provide quick and accurate answers to questions from users, share knowledge, and level out operations.
[1605] "Communication tools" is a general term for software and hardware used by users to exchange information.
[1606] "Device" is a general term for electronic devices used for information processing and communication.
[1607] "Means for storing data" refers to a method or device for storing communication data from users.
[1608] A "means for learning data" is a method or device for analyzing accumulated data and extracting patterns and knowledge.
[1609] An "FAQ chatbot" is a program that automatically generates answers to questions from users.
[1610] "Inventory data" refers to data that includes information regarding the inventory status of a product.
[1611] "Order Data" means data that includes information about a user's order history and order status.
[1612] A "means for generating an appropriate answer" is a method or device for providing the most appropriate answer to a user's question based on learned data.
[1613] "Means for providing information regarding return procedures" refers to a method or device for providing the procedural information required when a user wishes to return a product.
[1614] "Knowledge sharing" refers to sharing knowledge and information gained within an organization with other members.
[1615] "Business leveling" refers to the streamlining and standardization of business operations.
[1616] The following system configuration will be described as an embodiment of the present invention.
[1617] System Configuration
[1618] The system consists of a server, user terminals, and a database. The server stores data collected through communication tools and devices and has the ability to learn from it. It also develops an FAQ chatbot based on the learned data and generates appropriate answers to user questions.
[1619] Hardware and software used
[1620] Hardware: Servers, user devices (smartphones, tablets, PCs, etc.)
[1621] Software: Python, JSON database, generative AI models
[1622] Data processing and calculation
[1623] 1. Data accumulation:
[1624] The server stores communication data from users in a database in JSON format, including user questions and past interactions.
[1625] 2. Data training:
[1626] The server analyzes the accumulated data and uses generative AI models to extract patterns and knowledge, allowing the FAQ chatbot to generate appropriate answers to user questions.
[1627] 3. FAQ Chatbot Development:
[1628] The server uses the learned data to develop an FAQ chatbot, which generates appropriate answers to user questions based on inventory and order data. It also provides information on return procedures.
[1629] Specific examples
[1630] When a user uses their smartphone to ask, "Is this item in stock?", the server will respond with "This item is currently in stock" based on inventory data. When a user asks, "Where is my order?", the server will respond with "Your order is currently being delivered" based on order data. When a user asks, "I would like to return an item, how do I do this?", the server will provide information on the return procedure.
[1631] Prompt Sentence Examples
[1632] User: Do you have this item in stock?
[1633] Chatbot: Smartphones are currently in stock.
[1634] User: Where is my order?
[1635] Chatbot: Your order is on its way now.
[1636] User: I want to return it, how do I do that?
[1637] Chatbot: You can complete the return process by clicking the link below: [Return Link]
[1638] In this way, it becomes possible to provide quick and accurate answers to user questions, share knowledge, and standardize work.
[1639] The flow of the specific processing in Application Example 3 will be described with reference to FIG.
[1640] Step 1:
[1641] The server receives communication data sent from the user's device. This data includes the user's questions and past interactions. The server stores this data in a database in JSON format. The input is the user's questions, and the output is the JSON data stored in the database.
[1642] Step 2:
[1643] The server periodically analyzes the accumulated data. It uses a generative AI model to extract patterns and knowledge from the data. The input is JSON data stored in the database, and the output is the trained model. Specifically, the server reads the data, analyzes it using natural language processing technology, and updates the model.
[1644] Step 3:
[1645] The server develops an FAQ chatbot based on the trained model. This chatbot is a program that generates appropriate answers to questions from users. The input is the trained model, and the output is the FAQ chatbot program. Specifically, the server uses the model to generate answer patterns for questions and incorporates them into the program.
[1646] Step 4:
[1647] A user uses a terminal to input a question. For example, "Do you have this item in stock?" The input is the user's question, and the output is a request to the server. In concrete terms, the user inputs the question through the terminal interface and presses the send button.
[1648] Step 5:
[1649] The server receives a question from a user and generates an appropriate answer based on the trained model. The input is the user's question, and the output is the generated answer. Specifically, the server analyzes the question and uses the model to generate the optimal answer.
[1650] Step 6:
[1651] The server sends the generated answer to the user terminal. The input is the generated answer, and the output is a response to the user terminal. In concrete terms, the server sends the answer in text format to the user terminal.
[1652] Step 7:
[1653] The user terminal displays the answer received from the server. The input is the response from the server, and the output is the answer displayed to the user. In concrete terms, the user terminal displays the received text on the screen and provides it to the user.
[1654] In this way, a system is realized that provides quick and accurate answers to questions from users.
[1655] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1656] "Example 1"
[1657] In one embodiment of the present invention, the system includes an emotion engine that recognizes a user's emotions and extracts emotions from text data of the user's communications.
[1658] Specifically, the system analyzes the text data of messages sent by users through communication tools and extracts the emotions (e.g., joy, anger, sadness, surprise, etc.) expressed in the messages. This emotional data is important information for understanding the emotional state of the user. "Example 2"
[1659] Furthermore, in one embodiment of the present invention, the FAQ chatbot adjusts its response to the user based on the extracted emotional data. Specifically, if a user sends a message expressing anger, the chatbot responds appropriately to the user. For example, it may send an apology message or suggest specific actions to resolve the problem. This enables more appropriate communication based on the user's emotional state.
[1660] "Example 3"
[1661] In one embodiment of the present invention, the emotion engine and the FAQ chatbot work together. Specifically, emotion data extracted by the emotion engine is sent to the FAQ chatbot, and the chatbot generates a response to the user based on that data. For example, if a user sends a message expressing joy, the chatbot can respond appropriately to the user's emotional state, such as sending a congratulatory message to the user.
[1662] The processing flow of each embodiment will be described below.
[1663] "Example 1"
[1664] Step 1: The user sends a message through a communication tool.
[1665] Step 2: The emotion engine analyzes the text data of the user's message.
[1666] Step 3: The emotion engine extracts emotions (e.g., joy, anger, sadness, surprise, etc.) from the message.
[1667] "Example 2"
[1668] Step 1: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 2: The FAQ chatbot generates a response to the user based on the emotion data. Step 3: The response generated by the FAQ chatbot is sent to the user.
[1669] "Example 3"
[1670] Step 1: The user sends a message through a communication tool.
[1671] Step 2: The emotion engine analyzes the text data of the user's message and extracts emotions.
[1672] Step 3: The emotion data extracted by the emotion engine is sent to the FAQ chatbot. Step 4: The FAQ chatbot generates a response to the user based on the emotion data. Step 5: The response generated by the FAQ chatbot is sent to the user.
[1673] Example 1
[1674] Next, a description will be given of Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1675] With conventional communication tools and data accumulation systems using devices, it was difficult to accurately grasp the user's emotional state. In addition, there was a lack of effective ways to utilize the accumulated data, and it was not possible to visually confirm the user's emotional changes. This made it difficult to understand the user's emotional state and take appropriate action.
[1676] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1677] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for analyzing the accumulated data to extract emotions, and means for saving the extracted emotion data, thereby enabling accurate understanding of the user's emotional state and visual confirmation of changes in emotions.
[1678] "Communication tools" is a general term for software and devices that users use to exchange information with each other.
[1679] "Device" is a general term for hardware equipment that allows users to use communication tools.
[1680] "Means of storing data" is a general term for functions and systems for collecting and storing data generated through communication tools and devices.
[1681] "Means for analyzing data and extracting emotions" is a general term for algorithms and technologies for processing accumulated data and identifying user emotions.
[1682] "Emotion data" is a general term for data that includes emotional information extracted from user communication.
[1683] "Means for storage" is a general term for functions and systems for saving extracted emotion data in storage such as a database.
[1684] "Means for user confirmation" is a general term for interfaces and functions that allow users to access and confirm stored emotion data.
[1685] "Natural language processing technology" is a general term for technologies that analyze text data and understand meaning and emotions.
[1686] "Visualization" refers to the display of data in a visual format such as a graph or chart.
[1687] MODE FOR CARRYING OUT THE INVENTION
[1688] This invention is a system that accumulates and analyzes data on communication via communication tools and devices, extracts emotions, and stores and visualizes the emotion data. Specific embodiments of this system are described below.
[1689] Hardware and software used
[1690] The server plays a central role in storing, analyzing, and storing data. It has a database management system (e.g., MySQL or PostgreSQL) installed, and uses Python natural language processing libraries (e.g., NLTK or TextBlob) for sentiment analysis.
[1691] The terminal is a device on which users use communication tools, such as Zoom and Slack, and has these tools installed. The terminal is responsible for collecting log data from these tools and sending it to a server.
[1692] Program processing
[1693] The server receives the communication log data sent from the device and stores it in a database. The stored data is then passed to an emotion engine, where it is analyzed using natural language processing technology. The emotion engine extracts the user's emotions from the text data and stores the results back in the database.
[1694] Specific examples
[1695] A user holds a meeting on Zoom, and the log data of the meeting is collected by the device. The device then sends this log data to the server. The server then stores the received log data in a database and passes it to the emotion engine. The emotion engine analyzes the text data and extracts the emotion of "joy" from the message "This project is really great!" The extracted emotion data is then stored back in the database.
[1696] Prompt Sentence Examples
[1697] Prompt: "Describe a program that analyzes the log data of a user's Zoom meeting to extract emotions."
[1698] In this way, the server accumulates the user's communication data and analyzes emotions using the emotion engine, making it possible to understand the user's emotional state and confirm visualized changes in emotions.
[1699] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1700] Program processing flow
[1701] Step 1:
[1702] Users communicate via Zoom and Slack.
[1703] Input: User comments and messages
[1704] Output: Communication log data
[1705] What it does: A user holds a meeting on Zoom or a chat on Slack, which generates a transcript of the meeting and chat messages.
[1706] Step 2:
[1707] The device collects log data from communication tools.
[1708] Input: Communication log data
[1709] Output: Collected log data
[1710] Specific operation: The device uses Zoom's API to obtain meeting transcripts and Slack's API to collect chat messages.
[1711] Step 3:
[1712] The terminal sends the collected log data to the server.
[1713] Input: Collected log data
[1714] Output: Log data sent to the server
[1715] Specific operation: The device sends the collected transcripts and chat messages to the server via an HTTP POST request.
[1716] Step 4:
[1717] The server stores the log data in a database.
[1718] Input: Log data sent to the server
[1719] Output: Log data stored in a database
[1720] What it does: The server stores the received transcripts and chat messages in a MySQL database, including timestamps and user IDs.
[1721] Step 5:
[1722] The server passes the stored log data to the emotion engine.
[1723] Input: Log data stored in the database
[1724] Output: Log data passed to the emotion engine
[1725] What it does: The server retrieves transcripts and chat messages from the database and passes them to the emotion engine, which parses the text data using Python's NLTK library.
[1726] Step 6:
[1727] The emotion engine analyzes the log data and extracts emotions.
[1728] Input: Log data passed to the emotion engine
[1729] Output: Extracted emotion data
[1730] Specific behavior: The emotion engine analyzes text data and extracts the emotion "joy" from the message "This project is really great!"
[1731] Step 7:
[1732] The server stores the extracted emotion data in a database.
[1733] Input: Extracted emotion data
[1734] Output: Emotion data stored in a database
[1735] Specific operation: The server stores the emotion data of "joy" received from the emotion engine in a MySQL database, including the type and intensity of the emotion.
[1736] Step 8:
[1737] The user accesses the device to check the emotion data.
[1738] Input: Emotion data stored in a database
[1739] Output: Visualized emotion data
[1740] How it works: Users access the dashboard using a web browser to view their own emotional data. The dashboard displays changes in emotions as a graph.
[1741] (Application example 1)
[1742] Next, a description will be given of Application Example 1 of Form Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1743] Conventional communication tools and devices make it difficult for systems to recognize users' emotions in real time and respond appropriately. Furthermore, there was a lack of means to detect early signs of workplace harassment and stress, creating a need for rapid responses to these issues.
[1744] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means. In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning the accumulated data, means for developing an FAQ chatbot based on the learned data, means including an emotion engine for recognizing user emotions, and means for sending alerts based on emotion data extracted by the emotion engine. This makes it possible to recognize user emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate measures.
[1745] "Communication tools" are software and devices that allow users to send and receive messages and hold conferences.
[1746] A "device" is a hardware device that allows a user to use a communication tool.
[1747] "Means for storing data" refers to the function of storing messages and meeting log data generated via communication tools and devices.
[1748] "Means of learning data" are algorithms and systems that analyze accumulated data and extract patterns and trends.
[1749] An "FAQ chatbot" is a program that automatically provides answers to frequently asked questions.
[1750] An "emotion engine" is a software component that analyzes and extracts emotions from text data of user messages and conversations.
[1751] "Emotion data" is information that indicates the user's emotional state analyzed by the emotion engine.
[1752] The "means for sending an alert" is a function for sending a notification to an administrator or related person when a specific condition is met.
[1753] The following system configuration will be described as an embodiment of the present invention.
[1754] System Configuration
[1755] The server includes the following means:
[1756] 1. A means of accumulating data on communication via communication tools and devices
[1757] 2. A means of learning from accumulated data
[1758] 3. How to develop FAQ chatbots based on learned data
[1759] 4. Means including an emotion engine that recognizes the user's emotions
[1760] 5. A means of sending alerts based on emotion data extracted by the emotion engine
[1761] Hardware and software used
[1762] Hardware: Servers, smartphones
[1763] Software: Slack API, TextBlob (sentiment analysis library), Python
[1764] Data processing and calculation
[1765] The server retrieves the message history of a specified channel using the Slack API. The text data of the retrieved messages is subjected to sentiment analysis using the TextBlob library. The sentiment engine calculates a sentiment score for each message and sends an alert if the negative sentiment exceeds a certain threshold.
[1766] Specific examples
[1767] For example, if an employee posts a message in a company's Slack channel saying, "This project is really stressful," the emotion engine analyzes the message and calculates a negative emotion score. If the emotion score falls below a set threshold, the system sends an alert to administrators to prompt action.
[1768] Prompt Sentence Examples
[1769] Write a Python program that monitors messages in a Slack channel and sends an alert to an administrator if negative sentiment is detected. Use the TextBlob library for sentiment analysis and retrieve messages using the Slack API. The threshold for negative sentiment is -0.5.
[1770] In this way, it is possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[1771] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1772] Step 1:
[1773] The server uses the Slack API to retrieve the message history of the specified channel. The input is the Slack API token and the channel ID, and the output is a list of messages. Specifically, the server sends a request to the Slack API to retrieve the message data in the channel.
[1774] Step 2:
[1775] The server performs sentiment analysis on the text data of the acquired messages using the TextBlob library. The input is the list of messages acquired in step 1, and the output is the sentiment score for each message. Specifically, the server passes the text of each message to TextBlob and calculates the sentiment score.
[1776] Step 3:
[1777] The server determines whether the emotion score is below a set threshold. The input is the emotion score obtained in step 2, and the output is the decision result of whether to send an alert. Specifically, the server compares the emotion score with the threshold and flags if the emotion is strong.
[1778] Step 4:
[1779] The server sends an alert to the administrator if a negative sentiment is detected. The input is the judgment result from step 3 and the corresponding message information, and the output is an alert notification to the administrator. Specifically, the server notifies the administrator via email or another Slack message.
[1780] Step 5:
[1781] The server saves the logs after the alert is sent, which is useful for subsequent analysis and response. The input is the detailed information of the alert sent, and the output is the saved log data. Specifically, the server records information such as the content of the alert and the time of sending in a database.
[1782] The above steps make it possible to recognize users' emotions in real time, detect signs of harassment or stress in the workplace early, and take appropriate action.
[1783] Example 2
[1784] Next, a description will be given of Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1785] Conventional FAQ chatbots provide uniform responses without considering the user's feelings, which can lead to low user satisfaction. Furthermore, they are unable to respond appropriately based on the user's feelings, which can lead to poor problem-solving efficiency. This has led to a demand for improved user experience.
[1786] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1787] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting emotional data from user messages, and means for adjusting responses to users based on the extracted emotional data. This enables appropriate responses according to the user's emotions, improving the user experience and making problem-solving more efficient.
[1788] "Communication tools" is a general term for software and hardware that users use to exchange messages and information.
[1789] "Device" is a general term for electronic devices that allow users to use communication tools.
[1790] "Data storage means" is a general term for systems and methods for storing messages and inquiry information sent by users.
[1791] "Data learning tools" is a general term for algorithms and techniques used to analyze accumulated data and extract patterns and trends.
[1792] An "FAQ chatbot" is a program that automatically responds to user inquiries.
[1793] "Means for extracting emotion data" is a general term for technologies and algorithms for identifying emotions from user messages.
[1794] "Means for adjusting a response" is a general term for a method or system for generating an appropriate response to a user based on extracted emotion data.
[1795] "Natural language processing technology" is a general term for technologies that allow computers to understand and analyze human language.
[1796] An "apology message" is a message expressing apology to the user.
[1797] "Specific actions for solving the problem" is a general term for specific means or methods proposed to solve the user's problem.
[1798] MODE FOR CARRYING OUT THE INVENTION
[1799] The present invention relates to an FAQ chatbot system that provides appropriate responses according to the user's emotions. Specific embodiments of this system will be described below.
[1800] Data accumulation
[1801] The server receives messages and inquiry data sent by users and stores them in a database. MySQL or PostgreSQL are suitable database management systems, which allow users' messages to be stored efficiently.
[1802] Data training
[1803] The server uses machine learning algorithms to learn from the accumulated data. Specifically, it uses Python libraries Scikit-learn and TensorFlow to extract patterns and trends from the data and learn from them. This allows it to learn from data based on past communication interactions.
[1804] Extracting Emotional Data
[1805] The server uses natural language processing (NLP) techniques, specifically generative AI models such as Google's BERT and OpenAI's GPT-3, to extract emotional data from users' messages, allowing it to identify emotions in users' messages.
[1806] Sending emotional data
[1807] The server sends the extracted emotion data to the device. Specifically, it uses a RESTful API to send the emotion data to the device in JSON format, which allows the emotion data to be transmitted to the device efficiently.
[1808] Generating a response
[1809] The device generates a response to the user based on the emotion data received from the server. Specifically, it uses a pre-defined response template to generate an appropriate message according to the user's emotion. For example, if the user expresses anger, it will send an apology message or suggest specific actions to resolve the problem.
[1810] Sending a Response
[1811] The terminal sends the generated response message to the user, specifically, displays the message to the user through a chat interface, so that the user can receive an appropriate response.
[1812] Specific examples
[1813] Example 1: When a user expresses anger
[1814] The user sends a message saying, "This service is completely unusable!" The server receives this message and stores it in a database. The server then uses the BERT model to identify the emotion as "anger" and sends the emotion data to the device. The device then generates a response based on the received emotion data: "Sorry. What part are you having trouble with? We'll get back to you shortly." and sends it to the user.
[1815] Example 2: When users are confused
[1816] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in a database. The server then uses the GPT-3 model to identify the emotion as "confused" and sends the emotion data to the device. Based on the emotion data received, the device generates a response saying, "We apologize for the inconvenience. We will explain how to use this feature in more detail." and sends it to the user.
[1817] Prompt Sentence Examples
[1818] Below are some example prompts to input to a generative AI model:
[1819] "Analyze messages sent by users and identify their sentiment. Message: 'This service is completely unusable!'"
[1820] "Analyze the messages sent by users and identify their sentiment. Message: 'I don't know how to use this feature.'"
[1821] In this way, the server, terminal, and user work together to create a system that realizes appropriate communication according to the user's emotions.
[1822] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1823] Step 1:
[1824] The server receives messages sent by users and stores them in a database. The input is the user's message, and the output is the message data stored in the database. Specifically, the server uses a database management system such as MySQL or PostgreSQL to efficiently store messages.
[1825] Step 2:
[1826] The server analyzes the accumulated message data and extracts emotion data. The input is the message data stored in the database, and the output is the extracted emotion data. Specifically, the server uses the Python library Transformers to identify emotions using the BERT model and GPT-3 model.
[1827] Step 3:
[1828] The server sends the extracted emotion data to the device. The input is the extracted emotion data, and the output is the emotion data sent to the device. Specifically, the server uses a RESTful API to send the emotion data to the device in JSON format.
[1829] Step 4:
[1830] The device generates a response to the user based on the emotion data received from the server. The input is the emotion data received from the server, and the output is the generated response message. Specifically, the device uses a pre-configured response template to generate an appropriate message according to the user's emotion.
[1831] Step 5:
[1832] The terminal sends the generated response message to the user. The input is the generated response message, and the output is the message sent to the user. In specific operation, the terminal displays the message to the user through a chat interface.
[1833] Specific examples
[1834] Example 1: When a user expresses anger
[1835] Step 1:
[1836] The user sends a message saying "This service is completely unusable!" The server receives this message and stores it in a database.
[1837] Step 2:
[1838] The server analyzes the message "This service is completely unusable!" stored in the database and uses the BERT model to identify the emotion as "anger."
[1839] Step 3:
[1840] The server sends the extracted "anger" emotion data to the terminal in JSON format.
[1841] Step 4:
[1842] Based on the received "anger" emotion data, the device generates a response message saying, "We're sorry. Where are you having trouble? We'll deal with it right away."
[1843] Step 5:
[1844] The terminal sends the generated response message to the user and displays it through the chat interface.
[1845] Example 2: When users are confused
[1846] Step 1:
[1847] The user sends a message saying, "I don't know how to use this feature." The server receives this message and stores it in the database.
[1848] Step 2:
[1849] The server analyzes the message "I don't know how to use this feature" stored in the database and uses the GPT-3 model to identify the emotion as "confused."
[1850] Step 3:
[1851] The server sends the extracted "confusion" emotion data to the terminal in JSON format.
[1852] Step 4:
[1853] Based on the received "confusion" emotion data, the device generates a response message saying, "We apologize for the inconvenience. We will explain in detail how to use this function."
[1854] Step 5:
[1855] The terminal sends the generated response message to the user and displays it through the chat interface.
[1856] (Application example 2)
[1857] Next, a description will be given of Application Example 2 of Form Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1858] Conventional FAQ chatbots provide uniform responses without considering the user's emotions, which means they are unable to properly handle user frustration or anger. Furthermore, their inability to respond appropriately based on the user's emotions can lead to a poor user experience and, as a result, a decline in customer satisfaction. This has led to issues such as customer abandonment and an increase in complaints, especially on online shopping sites.
[1859] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1860] In this invention, the server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model. This allows for the provision of appropriate responses according to the user's emotions, improving customer satisfaction and reducing complaints.
[1861] "Communication tools" is a general term for software and hardware that enables users to exchange information.
[1862] "Device" is a general term for electronic devices with specific functions.
[1863] A "data storage means" is a system or method for storing information about communications or operations.
[1864] "Data learning tools" are algorithms and systems that analyze accumulated information and extract patterns and trends.
[1865] An "FAQ chatbot" is a program that automatically responds to frequently asked questions.
[1866] "Emotion data" is emotional information extracted from a user's message.
[1867] A "means for generating a response" is a system or algorithm for creating an appropriate reply to a user's input.
[1868] A "generative AI model" is a model that uses artificial intelligence to generate text and data.
[1869] A "prompt sentence" is an instruction sentence input to a generative AI model.
[1870] A system for carrying out this invention is configured as follows: The server includes means for accumulating data on communications via communication tools and devices, means for learning from the accumulated data, means for developing an FAQ chatbot based on the learned data, means for extracting user emotion data and generating responses according to the emotions, and means for generating responses based on prompt sentences using a generative AI model.
[1871] Hardware and software used
[1872] Hardware: Smartphone
[1873] Software: Python, OpenAI API, TextBlob
[1874] Data processing and calculation
[1875] 1. Data storage: The server stores messages sent by users through communication tools and devices in a database. This data includes text messages, timestamps, sender information, etc.
[1876] 2. Data learning: The server uses machine learning algorithms to learn from the accumulated data, thereby extracting patterns and trends from past communications.
[1877] 3. Emotion Data Extraction: The server uses the TextBlob library to extract emotion data from the user's message, thereby quantifying the positive / negative sentiment of the message.
[1878] 4. Prompt generation: The server generates a prompt based on the extracted emotion data. For example, if the user expresses anger, the server generates the prompt: "The user is expressing anger. Please provide an appropriate apology and problem-solving proposal for the following message: My item hasn't arrived. What's going on?"
[1879] 5. Response Generation: The server generates a response based on the prompt using a generative AI model (e.g., GPT-3). The generated response is used to provide an appropriate response to the user.
[1880] Specific examples
[1881] If a user sends a message such as "My item hasn't arrived yet, what's going on?", the server stores this message in a database. Next, it uses the TextBlob library to extract the sentiment data from the message and determines that the sentiment is strongly negative. Based on this, it generates the following prompt:
[1882] Example prompt sentence:
[1883] The user is expressing anger. Please respond to the following message with an appropriate apology and suggestions to resolve the issue: I haven't received my item yet, what's going on?
[1884] This prompt is then fed into a generative AI model to generate an approp...
Claims
1. A means for storing data of communication via a communication tool or device; A means for learning the accumulated data; A development means for developing a FAQ chatbot based on the learned data; An emotion engine that extracts user emotions; A generating means for generating an answer to a question from the user using the FAQ chatbot by inputting a specific prompt sentence into a generating AI model; Including, The generating means adjusts answers to questions from the user based on the emotions.
2. The system of claim 1 , wherein the development means learns from past communication interactions.
3. The system according to claim 1 , further comprising: means for selecting an advertisement suitable for the user based on the learned data and providing the advertisement to the user.
Citation Information
Patent Citations
Advertisement delivering device, system, and method
JP2010097271A
Question answering system, question answering method and learning method of question answering system
JP2019117517A
Operator response support system and method
JP2020115244A
Information processing device and program
JP2022136986A
Expert answer prediction system
JP2023114460A
Cited By
Information processing device, information processing method, and program
JP2025133124A
Program, method, information processing device, and system
JP7720673B1
Information processing device, information processing method, and program
JP7733368B1