System
A system using natural language processing and contextual analysis to monitor and warn users about emotional messages, allowing re-editing to maintain healthy dialogue in communication apps.
Patent Information
- Application Number
- JP2024125375
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
Communication apps often lead to escalated conversations due to emotional or misleading messages, damaging interpersonal relationships and causing stress.
A system that monitors user messages for emotional content and context, displaying warnings and allowing re-editing to prevent inappropriate messages, using natural language processing and contextual analysis.
Prevents the sending of emotionally charged messages, maintaining healthy dialogue by encouraging users to reconsider their content.
Smart Images

Figure 2026023440000001_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 modern society, communication apps have become widespread, and many people exchange messages on a daily basis. However, there are frequent cases where emotional messages or misleading expressions cause conversations to escalate and relationships to deteriorate. This can damage interpersonal relationships and cause stress and trouble. Therefore, there is a need for a system that allows users to calmly make decisions before sending inappropriate messages and maintain healthy conversations. [Means for solving the problem]
[0005] The present invention is a system that monitors messages entered by users and displays a warning if the messages are determined to be emotional or misleading. The system includes a means for capturing messages entered by users, a means for analyzing the emotions of the captured messages, and a means for analyzing the context. The system also includes a means for displaying a warning to the user and providing an opportunity to re-edit the message if the message is determined to have the potential to worsen the dialogue. This allows the user to calmly reconsider the content of the message and maintain the integrity of the dialogue.
[0006] "User" refers to an individual or entity that utilizes a communications application.
[0007] "Message" refers to information such as text, images, audio, and video that a user sends or receives through a communication application.
[0008] "Means for monitoring" refers to the function of capturing messages entered by users in real time and subjecting them to analysis.
[0009] "Means for analyzing emotions" refers to a function that uses natural language processing technology to determine the user's emotional state from the content of the message.
[0010] "Means for analyzing context" refers to the ability to evaluate contextual consistency between the current message and recent conversation history, etc.
[0011] "Means for displaying a warning" refers to a function that displays a notification to prompt the user to reconsider the appropriate message based on the results of sentiment analysis and context analysis.
[0012] "Means for providing an opportunity to re-edit" refers to a function that provides an option for a user to edit or correct a message that the user is about to send. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0014] 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.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 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.
[0024] 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).
[0025] 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.
[0026] 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.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0034] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if there is a possibility that the dialogue may deteriorate, and prompts the user to re-edit the message. This system aims to prevent users from sending messages that show emotional reactions and maintain the soundness of the dialogue.
[0035] Basic program structure
[0036] 1. Monitoring methods:
[0037] The device has a built-in real-time message capture feature that temporarily stores the message as it is typed by the user before they hit send.
[0038] 2. Means of analyzing emotions:
[0039] The device has a built-in natural language processing model that analyzes the sentiment of the captured messages. A sentiment analysis engine processes the messages and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[0040] 3. Means of analyzing the context:
[0041] The device is equipped with a contextual analysis engine that evaluates the contextual coherence of the current message by taking into account the recent conversation history. The engine scans the conversation history and determines whether the message fits within the surrounding context.
[0042] 4. How to display a warning:
[0043] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0044] 5. Means of providing opportunities for re-editing:
[0045] After the warning message is displayed, the user is given the option to cancel the send and re-edit the message. If the user re-edits the message and presses the send button, the system will re-analyze the message and send it only if it is found to be OK.
[0046] Specific examples
[0047] Example 1: Preventing angry messages
[0048] 1. User enters a message:
[0049] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0050] 2. The device captures the message:
[0051] input_message = "I'll never forgive you again! You idiot!"
[0052] 3. The device performs sentiment analysis:
[0053] emotion_scores = emotion_analysis(input_message)
[0054] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0055] 4. The device performs context analysis:
[0056] context_score = context_analysis(previous_messages, input_message)
[0057] For example, context_score = -0.7.
[0058] 5. The device will display a warning:
[0059] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0060] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0061] 6. User re-edits message:
[0062] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[0063] 7. The device retransmits:
[0064] send_message("I'd like to have a calm discussion.")
[0065] Example 2: Preventing misleading messages
[0066] 1. User enters a message:
[0067] The user types "That's fine, do whatever you want" and presses the send button.
[0068] 2. The device captures the message:
[0069] input_message = "Enough, do what you want."
[0070] 3. The device performs sentiment analysis:
[0071] emotion_scores = emotion_analysis(input_message)
[0072] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[0073] 4. The device performs context analysis:
[0074] context_score = context_analysis(previous_messages, input_message)
[0075] For example, context_score = -0.5.
[0076] 5. The device will display a warning:
[0077] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0078] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[0079] 6. User re-edits message:
[0080] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0081] 7. The device retransmits:
[0082] send_message("Let's talk again in a little while.").
[0083] According to this embodiment, the user can calmly reconsider messages that he or she sends out of ignorance of his or her emotions, which can facilitate smooth dialogue and prevent deterioration of relationships.
[0084] The processing flow will be explained below.
[0085] Step 1:
[0086] This is the state just before the user enters a message into a communication app and presses the send button.
[0087] The terminal monitors the user's input field in real time and captures the message entered.
[0088] Specifically, the processing of input_message = capture_message() is performed.
[0089] Step 2:
[0090] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[0091] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[0092] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0093] Step 3:
[0094] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[0095] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[0096] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[0097] Step 4:
[0098] The device evaluates the emotion and context scores and displays a warning if the negative emotion score is high and the context score is low.
[0099] For example, if the condition if is_negative_emotion(emotion_scores) and is_negative_context(context_score): is met, a warning message will be displayed.
[0100] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[0101] Step 5:
[0102] The user sees the warning message and chooses to cancel sending or re-edit the message.
[0103] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[0104] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[0105] Step 6:
[0106] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[0107] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[0108] For example, the processing of send_message("I want to have a calm discussion") is performed.
[0109] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue.
[0110] Example 1
[0111] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0112] In conventional communication applications, users' emotional messages can deteriorate the dialogue and lead to misunderstandings. Therefore, there is a need for a system that encourages users to send messages calmly without being swayed by their emotions, thereby maintaining the integrity of the dialogue.
[0113] 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.
[0114] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions in the messages, means for analyzing the context of the messages, means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, and means for analyzing the re-edited message again and transmitting the message only if it is determined to be problem-free. This allows the user to calmly reconsider the message without being swayed by emotions, thereby preventing misunderstandings while maintaining the integrity of the dialogue.
[0115] The "monitoring means" is a means for capturing messages entered by users in real time and temporarily storing them.
[0116] The "means for analyzing emotions" is a means for analyzing the emotions of the captured messages using a natural language processing model and calculating negative emotion scores such as anger, displeasure, sadness, etc.
[0117] A "means for analyzing context" is a means for assessing the contextual coherence of a current message while taking into account the recent conversation history.
[0118] The "means for displaying a warning" is a means for displaying a warning message to the user to call attention when the emotion score is high and the context score is low.
[0119] The "means for providing an opportunity to re-edit the message" is a means for providing the user with an option to re-edit the message after the warning message is displayed.
[0120] The "means for re-analyzing and sending the message" refers to a means for re-analyzing a message that has been re-edited by the user, and sending the message only if it is determined that there is no problem.
[0121] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if the dialogue is likely to deteriorate, and prompts the user to re-edit the message. The system aims to prevent users from sending messages that show emotional reactions and to maintain the integrity of the dialogue.
[0122] Hardware and software used
[0123] Device:
[0124] It performs functions such as message capture, sentiment analysis, context analysis, warning display, and providing opportunities for re-editing.
[0125] It has built-in natural language processing models (e.g., OpenAI GPT-4).
[0126] Use a contextual analysis engine (e.g., a BERT-based model).
[0127] Specific explanation of the system's operation
[0128] 1. Message capture
[0129] When a user inputs a message on a communication application and presses the send button, the terminal captures the message in real time and temporarily stores it.
[0130] Example sentence: "I'll never forgive you again! You idiot!"
[0131] 2. Emotion analysis
[0132] The device uses a built-in natural language processing model (e.g., OpenAI GPT-4) to analyze the sentiment of the captured message, which then produces a negative sentiment score such as anger, displeasure, or sadness.
[0133] Example: For the message "I'll never forgive you again! You idiot!", emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0134] 3. Context analysis
[0135] The device uses a contextual analysis engine (e.g., a BERT-based model) to assess the contextual coherence of the current message, taking into account the recent conversation history. This analysis determines whether it fits within the surrounding context.
[0136] Example: context_score = -0.7.
[0137] 4. Displaying a warning message
[0138] If the emotional score is high and the context score is low, the device will display a warning message to the user, giving them an opportunity to reconsider their emotional message.
[0139] Example: Warning message: "This message contains emotional content. Would you like to reconsider?"
[0140] 5. Opportunity for re-editing
[0141] After the user receives the warning message, the terminal will provide an option to re-edit the message. If the user re-edits the message and presses the send button again, the terminal will analyze it again.
[0142] Example sentence: The original message "I'll never forgive you again! You idiot!" was changed to "I want to talk about this calmly."
[0143] 6. Reanalysis and Submission
[0144] The device will perform sentiment and context analysis on the re-edited message and send it only if it is determined to be satisfactory.
[0145] Example: send_message("I just want to talk calmly")
[0146] Looking at specific examples, we can see that this system encourages users to calmly reconsider their messages without being swayed by their emotions, helping to prevent misunderstandings while maintaining the integrity of the dialogue.
[0147] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0148] Step 1:
[0149] The user inputs a message in the communication application and presses the send button. The input message is passed to the system as input data.
[0150] Specific behavior:
[0151] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0152] Step 2:
[0153] The terminal captures the input message in real time and temporarily stores it. The captured message is saved as intermediate data.
[0154] Input and Output:
[0155] Input: "I'll never forgive you again! You idiot!"
[0156] Output: Captured message "I'll never forgive you again! You idiot!"
[0157] Specific behavior:
[0158] input_message = "I'll never forgive you again! You idiot!"
[0159] Step 3:
[0160] The device uses its built-in natural language processing model to analyze the sentiment of the captured message, and the result of the sentiment analysis is a negative sentiment score.
[0161] Input and Output:
[0162] Input: Captured message "I'll never forgive you again! You idiot!"
[0163] Output: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}
[0164] Specific behavior:
[0165] emotion_scores = emotion_analysis(input_message)
[0166] Step 4:
[0167] The device utilizes a contextual analysis engine to evaluate the contextual coherence of the current message, taking into account the recent conversation history. The result of the contextual analysis is a context score.
[0168] Input and Output:
[0169] Input: Captured message "I'll never forgive you! You idiot!" and recent conversation history
[0170] Output: Context score context_score = -0.7
[0171] Specific behavior:
[0172] context_score = context_analysis(previous_messages, input_message)
[0173] Step 5:
[0174] If the device has a high emotion score and a low context score, a warning message is displayed to the user.
[0175] Input and Output:
[0176] Input: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1} and context score context_score = -0.7
[0177] Output: Warning message "This message contains emotional content. Would you like to reconsider?"
[0178] Specific behavior:
[0179] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0180] Display a warning message to the user.
[0181] Step 6:
[0182] The user receives the displayed warning message and re-edits the message, which is then passed to the system as input data.
[0183] Specific behavior:
[0184] Change the original message from "I'll never forgive you again! You idiot!" to "I want to talk about this calmly for a bit" and press the send button again.
[0185] Step 7:
[0186] The terminal analyzes the edited message again, and only if it is found to be OK is the message sent. If the reanalysis results in no problems, the message is sent as the final output.
[0187] Input and Output:
[0188] Input: Edited message "I want to calm down and discuss this."
[0189] Output: Sending the final output message send_message("Let's have a quick conversation")
[0190] Specific behavior:
[0191] send_message("I want to talk calmly").
[0192] The above is the specific processing flow of this system.
[0193] (Application example 1)
[0194] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0195] When emotionally negative messages are sent within a company or between a company and its customers, it can lead to a deterioration in dialogue and a loss of trust. Preventing such problems and maintaining healthy communication is essential.
[0196] 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.
[0197] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for displaying a warning if the messages may worsen the dialogue, means for providing the user with an opportunity to re-edit the messages, and means for monitoring and protecting company communications, thereby preventing the sending of emotionally negative messages and maintaining healthy communications within the company and between the company and its customers.
[0198] The "means for monitoring messages entered by users" is a function for capturing messages that users are about to send in real time.
[0199] The "means for analyzing the emotion of the message" is a function that uses a natural language processing model to analyze the emotion of the message and calculate a negative emotion score such as anger, displeasure, or sadness.
[0200] The "means for analyzing the context of the message" is a function that evaluates the contextual coherence of the current message taking into account the recent conversation history.
[0201] The "means for displaying a warning when the message may worsen the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[0202] "Means to provide the user with an opportunity to re-edit the message" refers to a function that provides the user with the option to cancel sending and re-edit the message after the warning message is displayed.
[0203] "Measures to monitor and protect corporate communications" refers to functions that monitor communications within a company and between a company and its customers, and maintain the integrity of the dialogue.
[0204] The present invention is a system for maintaining healthy communication within a company and between a company and its customers. This system monitors messages entered by users, analyzes emotions and contexts, and displays a warning if the conversation is likely to deteriorate, providing an opportunity for re-editing.
[0205] The server first uses a means for monitoring messages entered by users to capture messages that users are about to send in real time, and this monitoring function temporarily stores the messages before the users press the send button.
[0206] The server then uses a natural language processing (NLP) model to analyze the sentiment of the message. The NLP model uses the "transformers" library and utilizes the Bidirectional Encoder Representations from Transformers (BERT) model. The sentiment analysis engine processes the message and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[0207] Additionally, the server uses a contextual analysis engine to scan recent conversation history and evaluate the contextual coherence of messages, determining whether the current message fits within its surrounding context.
[0208] Based on these analysis results, if the server has a high emotional score and a low contextual score, it will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0209] After the warning message is displayed, the server will give the user the option to cancel sending and re-edit the message. If the user re-edits the message and presses the send button again, the system will re-analyze the message and send it only if it is found to be OK.
[0210] For example, consider a situation where a user at work types, "I'll never forgive you! You idiot!" and is about to hit send. In this case, the system captures the input message, and sentiment analysis reveals a high score for anger and displeasure. Meanwhile, context analysis also calculates a negative context score for the most recent conversation. Based on this, the system can display a warning message and encourage the user to re-edit the message, saying, "Let's calm down and discuss this."
[0211] Examples of specific prompts include:
[0212] Previous message: "I'm worried about the progress of the project."
[0213] Input message: "Why can't you do something so simple?"
[0214] This will help maintain healthy communication within the company and between the company and its customers, and prevent the dialogue from deteriorating.
[0215] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0216] Step 1:
[0217] The server monitors messages entered by users. It captures the input message "I'll never forgive you again! You idiot!" and temporarily stores it in real time. This captured data is used in subsequent processing steps.
[0218] Step 2:
[0219] The server analyzes the emotions of the captured messages. Specifically, it uses a natural language processing model to calculate an emotion score for the input "I'll never forgive you again! You idiot!". For example, the result might be anger scores of 0.8, displeasure scores of 0.2, and sadness scores of 0.1. In this way, the emotional state of the message is evaluated by calculating the emotion score.
[0220] Step 3:
[0221] The server analyzes the context of the message. Using the most recent conversation history, "I'm worried about the progress of the project," it evaluates the contextual consistency of the current message, "I'll never forgive you again! You idiot!" If the context score is calculated as -0.7, this message does not match the previous conversation history. This context analysis determines the consistency and consistency of the message.
[0222] Step 4:
[0223] The server detects whether an input message is likely to worsen the dialogue based on the emotion score and context score. If the emotion score is high and the context score is low, for example, if the emotion score sums up to 1.0 and the context score is -0.7, the server displays a warning message to the user saying, "This message contains emotional content. Would you like to reconsider?"
[0224] Step 5:
[0225] The user sees the warning message and re-edits the input message. The user re-edits the message to "Let's calm down and discuss this for a bit," and presses the send button again. The re-edited message, "Let's calm down and discuss this for a bit," is sent to the server as a new input.
[0226] Step 6:
[0227] The server then runs the re-edited message, "Let's calm down and discuss this again," through sentiment and context analysis. This time, the sentiment scores are 0.0 for anger, 0.0 for displeasure, and 0.0 for sadness, and the context score is also changed to 0.8. These new scores confirm that the message does not undermine the health of the conversation.
[0228] Step 7:
[0229] The server then sends the message "Let's calm down and discuss this," which is ultimately determined to be acceptable. This replaces the user's emotional message with a healthy one, maintaining healthy communication within the company and between the company and its customers.
[0230] 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.
[0231] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[0232] Basic program structure
[0233] 1. Monitoring methods:
[0234] The terminal monitors messages entered by the user in real time. This function captures the message entered before the user presses the send button in the message input field. Specifically, the terminal executes input_message = capture_message().
[0235] 2. Means of analyzing emotions:
[0236] The device has a built-in natural language processing model that analyzes the content of the captured message and calculates an emotion score. For example, the emotion analysis engine executes emotion_scores = analyze_emotion(input_message), resulting in negative emotion scores such as anger, displeasure, and sadness.
[0237] 3. Means of analyzing the context:
[0238] The device uses a natural language processing model to evaluate the contextual consistency of messages from the recent conversation history. The context analysis engine executes context_score = analyze_context(previous_messages, input_message), resulting in a context score.
[0239] 4. Emotion Engine:
[0240] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[0241] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[0242] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[0243] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[0244] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[0245] 5. How to display a warning:
[0246] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning to the user, for example, by executing display_warning("This message contains emotional content. Would you like to reconsider?").
[0247] 6. Means of providing opportunities for re-editing:
[0248] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[0249] Specific examples
[0250] Example 1: Preventing angry messages
[0251] 1. User enters a message:
[0252] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0253] 2. The device captures the message:
[0254] input_message = "I'll never forgive you again! You idiot!"
[0255] 3. The device performs sentiment analysis:
[0256] emotion_scores = analyze_emotion(input_message)
[0257] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0258] 4. The device performs context analysis:
[0259] context_score = analyze_context(previous_messages, input_message)
[0260] For example, context_score = -0.7.
[0261] 5. The emotion engine analyzes the user's facial recognition data:
[0262] Facial recognition data obtained from the user's camera is analyzed to determine whether the facial expression indicates high levels of anger.
[0263] 6. The device will display a warning:
[0264] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0265] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0266] 7. User re-edits message:
[0267] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[0268] 8. The device retransmits:
[0269] send_message("I'd like to have a calm discussion.")
[0270] Example 2: Preventing misleading messages
[0271] 1. User enters a message:
[0272] The user types "That's fine, do whatever you want" and presses the send button.
[0273] 2. The device captures the message:
[0274] input_message = "Enough, do what you want."
[0275] 3. The device performs sentiment analysis:
[0276] emotion_scores = analyze_emotion(input_message)
[0277] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[0278] 4. The device performs context analysis:
[0279] context_score = analyze_context(previous_messages, input_message)
[0280] For example, context_score = -0.5.
[0281] 5. The emotion engine analyzes the user's voice data:
[0282] The user's voice is analyzed to determine whether their tone of voice indicates anger or irritation.
[0283] 6. The device will display a warning:
[0284] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0285] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[0286] 7. User re-edits message:
[0287] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0288] 8. The device retransmits:
[0289] send_message("Let's talk again in a little while.").
[0290] According to this embodiment, the user can calmly reconsider messages sent out of sway with their emotions, which helps maintain the integrity of the dialogue. Furthermore, by combining an emotion engine, more accurate emotion recognition becomes possible, making it possible to accurately recognize the user's intentions and provide appropriate feedback.
[0291] The processing flow will be explained below.
[0292] Step 1:
[0293] The user has just entered a message into a communication app and is about to press the send button.
[0294] The terminal monitors the user's input field in real time and captures the message entered.
[0295] Specifically, the following process is performed: input_message = capture_message().
[0296] Step 2:
[0297] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[0298] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[0299] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0300] Step 3:
[0301] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[0302] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[0303] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[0304] Step 4:
[0305] The terminal activates an emotion engine to recognize the user's emotions in more detail.
[0306] The emotion engine collects the user's facial recognition data, voice data, input speed and patterns, and biometric information to comprehensively evaluate the user's emotions.
[0307] For example, the following processes are performed: face_emotion = analyze_face_expression(face_data), voice_emotion = analyze_voice_tone(voice_data), typing_emotion = analyze_typing_pattern(typing_data), bio_emotion = analyze_bio_signals(bio_data).
[0308] Step 5:
[0309] The device integrates all emotion analysis results (text, facial recognition, voice, input patterns, biometric information) and contextual analysis results to comprehensively determine whether it is appropriate to send a message.
[0310] For example, final_emotion_score = integrate_emotion_scores(emotion_scores, face_emotion, voice_emotion, typing_emotion, bio_emotion) and final_context_score = context_score are processed.
[0311] Step 6:
[0312] The device will display a warning if the device has a high negative sentiment score and a low contextual score based on the overall rating.
[0313] For example, if is_negative_emotion(final_emotion_score) and is_negative_context(final_context_score):
[0314] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0315] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[0316] Step 7:
[0317] The user sees the warning message and chooses to cancel sending or re-edit the message.
[0318] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[0319] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[0320] Step 8:
[0321] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[0322] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[0323] For example, the processing of send_message("I want to have a calm discussion") is performed.
[0324] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the assistant to accurately understand the user's intentions and provide appropriate feedback.
[0325] Example 2
[0326] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0327] In modern communication applications, if users send messages with emotional or misleading content, it can damage the health of the dialogue and, in some cases, have serious consequences for interpersonal relationships. To address this issue, conventional systems have failed to provide warnings or opportunities to re-edit messages that take emotion and context into sufficient consideration. As a result, users are at a higher risk of sending inappropriate messages.
[0328] 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.
[0329] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, and means for analyzing the context of the messages. This enables a system including means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, means for displaying the warning based on the emotion score analyzed by the emotion analysis means, and means having an emotion engine for analyzing emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information. This allows the user to reconsider the message they are sending emotionally and provide an opportunity to continue the dialogue calmly, thereby maintaining the soundness of the dialogue.
[0330] A "message" is information entered by a user and sent to other users through a communication application.
[0331] The "means for analyzing emotions" is a function that analyzes the content of captured messages and calculates an emotion score.
[0332] "Means for analyzing context" is a function that evaluates the contextual consistency of a message from the recent conversation history.
[0333] The "means for displaying a warning" is a function that displays a warning message to the user when the emotion score and the context score meet a specific condition.
[0334] "Means for providing an opportunity to re-edit" refers to a function that provides the user with an option to re-edit the message after receiving a warning.
[0335] An "emotion engine" is a device or program that analyzes a user's emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information.
[0336] "Biometric information" is data that indicates the user's physical condition, such as the user's heart rate or galvanic skin response.
[0337] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[0338] Basic program structure
[0339] 1. A means of monitoring messages entered by users
[0340] The terminal monitors messages entered by users in real time. This function captures messages entered before the user presses the send button in the message input field. Specifically, the terminal captures the message and records its content.
[0341] 2. A means of analyzing the sentiment of a message
[0342] The device has a built-in natural language processing model that analyzes the content of captured messages to calculate an emotion score. Using the emotion analysis engine, the device can obtain negative emotion scores such as anger, displeasure, and sadness from captured messages.
[0343] 3. Means of analyzing the context of a message
[0344] The device uses a natural language processing model to assess the contextual consistency of the message based on the recent conversation history. A contextual analysis engine compares the conversation history with the current message and calculates a contextual consistency score.
[0345] 4. Use of Emotion Engine
[0346] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[0347] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[0348] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[0349] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[0350] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[0351] 5. How to Display a Warning
[0352] If the emotion score is high and the context score is low based on these analysis results, the device will display a warning to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0353] 6. A means to provide opportunities for re-editing
[0354] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[0355] Specific examples
[0356] Example 1: Preventing angry messages
[0357] 1. The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0358] 2. The device captures the message.
[0359] 3. The device performs emotion analysis and determines that the emotion score is high for anger.
[0360] 4. The device performs context analysis and determines that the context is inconsistent.
[0361] 5. The emotion engine analyzes the facial recognition data and identifies angry expressions.
[0362] 6. Your device displays a warning saying, "This message contains emotional content. Please reconsider."
[0363] 7. The user re-edits the message to say "I'd like to calm down and discuss this a bit," and presses the send button again.
[0364] 8. The device checks the message and sends it if there are no problems.
[0365] Example 2: Preventing misleading messages
[0366] 1. The user types "That's fine, do whatever you want" and presses the send button.
[0367] 2. The device captures the message.
[0368] 3. The device performs emotion analysis and confirms that the unpleasant emotion score is high.
[0369] 4. The device performs context analysis and determines that the context is inconsistent.
[0370] 5. The emotion engine analyzes the voice data and identifies an irritated tone of voice.
[0371] 6. The device will display a warning saying, "This message may be misleading. Please try to remain calm."
[0372] 7. The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0373] 8. The device checks the message and sends it if there are no problems.
[0374] This system helps maintain the integrity of communication by providing users with an opportunity to reconsider the messages they send emotionally and continue the conversation calmly. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the system to accurately recognize the user's intentions and provide appropriate feedback.
[0375] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0376] Step 1: Monitor messages
[0377] Specifically, the terminal monitors messages that users type in input fields of a communication application in real time. Specifically, the terminal continues to capture messages as soon as the user starts typing.
[0378] Input: A text message entered by the user.
[0379] Output: Message data captured in real time
[0380] Step 2: Sentiment analysis of the message
[0381] Specifically, the device inputs the captured message into a natural language processing model to calculate the message's emotion score. Specifically, the emotion analysis engine uses the analyze_emotion function to analyze the emotion contained in the captured message. As a result, a negative emotion score such as anger, displeasure, or sadness is obtained.
[0382] Input: Captured message data
[0383] Output: Emotion score (e.g., {"anger": 0.7, "disgust": 0.2, "sadness": 0.1})
[0384] Step 3: Contextual analysis of the message
[0385] Specifically, the device inputs the most recent conversation history into a natural language processing model to evaluate the contextual consistency with the current message. Specifically, the context analysis engine uses the analyze_context function to compare the most recent few messages with the current message and calculate a context score.
[0386] Input: Captured messages and recent conversation history
[0387] Output: Context score (e.g., context_score = -0.5)
[0388] Step 4: Use the Emotion Engine
[0389] Specifics: The device uses an emotion engine to analyze additional data to recognize emotions from multiple angles. Specifically, the device acquires facial recognition data from the camera and analyzes the user's facial expressions to recognize emotions. It also analyzes audio data to recognize emotions from the tone and pitch of the voice. It also analyzes input speed, typing patterns, and biometric information to comprehensively evaluate the user's emotional state.
[0390] Input: facial recognition data, voice data, input speed, typing patterns, biometric information
[0391] Output: Overall sentiment score
[0392] Step 5: Viewing warnings
[0393] Specific description: The device will display a warning when the emotion score is high and the context score is low. Specifically, the device will display a warning message to the user based on the conditions is_negative_emotion and is_negative_context. For example, the warning might read, "This message contains emotional content. Would you like to reconsider?"
[0394] Input: sentiment score, context score
[0395] Output: Display a warning message
[0396] Step 6: Providing an opportunity for re-editing
[0397] Specific explanation: After receiving the warning, the user is prompted to re-edit the message. Specifically, the user confirms the warning message and selects the re-edit option. When the user re-edits the message and presses the send button again, the device captures the re-edited message again.
[0398] Input: Warning message, user edited message
[0399] Output: Re-edited message data
[0400] Step 7: Confirm and execute resubmission
[0401] Specific explanation: The device re-analyzes the re-edited message to check its safety. Specifically, it performs sentiment and context analysis on the re-edited message, and sends the message only if it is confirmed to be safe. For example, if the re-edited message is "Let's talk again in a little while," it will be sent as is.
[0402] Input: Re-edited message data
[0403] Output: Last message sent
[0404] (Application example 2)
[0405] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0406] In conventional communication applications, users often send emotional messages that can disrupt the integrity of the dialogue. Misleading expressions and emotional feedback often cause problems between users. This can lead to a poor user experience and affect the overall evaluation of the service.
[0407] 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.
[0408] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for analyzing facial recognition data acquired from the user's camera and determining emotions from facial expressions, means for analyzing the user's voice and recognizing emotions from the tone and pitch of the voice, means for analyzing the speed and typing pattern at which the user enters messages and determining the user's emotional state, means for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the user's emotional state, means for displaying a warning if the message may worsen the dialogue, and means for providing the user with an opportunity to reedit the message. This provides the user with an opportunity to reconsider before sending an emotional or misleading message, thereby maintaining the integrity of the dialogue.
[0409] The "means for monitoring messages entered by a user" is a function for monitoring messages entered by a user into a communication application in real time and capturing the contents thereof.
[0410] The "means for analyzing the emotions of a message" is a function that uses a natural language processing model to analyze the emotions contained in an input message and calculates a negative emotion score such as anger, displeasure, or sadness.
[0411] The "means for analyzing the context of a message" is a function that evaluates the contextual consistency of an input message by taking into account the recent conversation history and calculates a score.
[0412] "Means for analyzing facial recognition data and determining emotions from facial expressions" is a function that analyzes facial recognition data obtained from the user's camera, infers emotions from facial expressions, and calculates a score.
[0413] "Means for analyzing voice and recognizing emotions from the tone and pitch of the voice" is a function that analyzes the user's voice data, infers emotions from the tone and pitch of the voice, and calculates a score.
[0414] "Means for analyzing input speed and typing pattern to determine emotional state" is a function that analyzes the speed and typing pattern at which a user inputs a message and infers the user's emotional state based on that.
[0415] "Means for collecting biometric information such as heart rate and galvanic skin response and evaluating emotional state" is a function for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the emotional state based on that information.
[0416] The "means for displaying a warning when there is a possibility of worsening the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[0417] The "means for providing an opportunity to re-edit" is a function that provides the user with an opportunity to re-edit the message after the warning message is displayed, and allows the user to check the safety of the message again.
[0418] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data from multiple angles, and aims to maintain the soundness of dialogue by performing more accurate emotion recognition.
[0419] The system includes the following components:
[0420] 1. A means of monitoring messages entered by users
[0421] The server monitors messages that users type into the message input field in real time and captures them before they press the send button. This function is necessary to evaluate the content of emotional messages before users send them.
[0422] 2. A means of analyzing the sentiment of a message
[0423] The server has a built-in natural language processing model that analyzes the content of the captured messages and calculates a sentiment score, including a positive / negative sentiment score, to assess how emotional the user's message is, using a natural language processing library such as TextBlob.
[0424] 3. Means of analyzing the context of a message
[0425] The server evaluates the contextual coherence of a message by taking into account the recent conversation history, determining whether the message fits into the flow of the conversation, and calculating a context score by evaluating its relevance to previous and subsequent messages.
[0426] 4. A method for analyzing facial recognition data and determining emotions from facial expressions
[0427] The server analyzes the facial recognition data obtained from the user's camera and determines emotions from facial expressions. For this purpose, it uses a facial recognition library such as OpenCV.
[0428] 5. A way to analyze voice and recognize emotions from tone and pitch
[0429] The server analyzes the user's voice data and recognizes emotions from the tone and pitch of the voice using the speech_recognition library.
[0430] 6. A method to determine emotional state by analyzing typing speed and patterns
[0431] The server collects information on the speed and typing patterns of users as they type messages and analyzes their emotional state, allowing it to capture changes in users' emotions in real time.
[0432] 7. Gathering biometric information such as heart rate and galvanic skin response to assess emotional state
[0433] The server collects biometric information such as the user's heart rate and galvanic skin response to assess their emotional state. For this purpose, it obtains information from the user's smart device (e.g., a smartwatch).
[0434] 8. A way to warn users when something could potentially worsen the interaction.
[0435] The server uses the emotional and contextual scores to warn users when a message may negatively impact their conversation. The server displays a warning message to the user, such as, "This message contains emotional content. Perhaps you should reconsider."
[0436] 9. A means to provide opportunities for re-editing
[0437] After the warning message is displayed, the server provides the user with an opportunity to re-edit the message. Before the re-edited message is sent, it is subjected to sentiment and context analysis again, and the message is sent only if there are no problems.
[0438] This system provides users with an opportunity to reconsider the content of emotional or misleading messages before sending them on communication applications, thereby maintaining the integrity of the dialogue.
[0439] Specific examples
[0440] If a user types "This isn't helping at all!", a warning will be displayed if the sentiment analysis indicates a high anger score and the context analysis indicates low consistency. The user can then re-edit the message to say "Can you be more specific about how I can help you?" and the message will be sent.
[0441] Prompt Sentence Examples
[0442] Analyze the user-entered message "This isn't helping at all!". Use natural language processing to evaluate the emotion score as anger, displeasure, or sadness, and then display a warning to re-edit the message.
[0443] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0444] Step 1:
[0445] The server monitors messages entered by users into a communication application in real time. It captures the entered messages and temporarily stores them as \input_message\. At this stage, the input is the message entered by the user into the input field, and the output is the captured message.
[0446] Step 2:
[0447] The server performs sentiment analysis on the captured message. It uses a natural language processing engine (e.g., TextBlob) to calculate the score for each emotion category (e.g., anger, displeasure, sadness) as \emotion_scores\. The input at this stage is the captured message, and the output is each emotion score. Specifically, the TextBlob library analyzes the message text and evaluates the positive / negative sentiment numerically.
[0448] Step 3:
[0449] The server evaluates the contextual consistency of a message by taking into account the recent conversation history. It uses a natural language processing engine to calculate a \context_score\. The input at this stage is the recent conversation history and the captured message, and the output is a context score. Specifically, it compares past messages with the current message and evaluates their relevance.
[0450] Step 4:
[0451] The server analyzes the facial recognition data acquired from the user's camera and infers emotions from facial expressions. It uses the OpenCV library to calculate the anger score of the facial expression as \face_anger_score\. The input at this stage is the facial image acquired from the camera, and the output is an emotion score based on the facial expression. Specifically, it processes the facial image and extracts specific facial expression features.
[0452] Step 5:
[0453] The server analyzes the user's voice and recognizes emotions from the tone and pitch of the voice. It uses the speech_recognition library to calculate a voice emotion score. The input at this stage is the captured voice data, and the output is an emotion score based on the tone of the voice. Specifically, it analyzes the audio file and extracts tone and pitch features from it.
[0454] Step 6:
[0455] The server analyzes the user's message input speed and typing pattern and calculates an emotion score based on that. The input at this stage is typing pattern data, and the output is an emotion score based on typing. Specifically, the system analyzes patterns such as input speed and key strength.
[0456] Step 7:
[0457] The server analyzes biometric information collected from the user, such as heart rate and galvanic skin response, and calculates an emotion score. At this stage, the input is biometric information, and the output is an emotion score based on the biometric information. Specifically, the server processes the data on heart rate and galvanic skin response.
[0458] Step 8:
[0459] The server evaluates these emotion and context scores comprehensively, and if it determines that the message may worsen the dialogue, it displays a warning to the user. At this stage, the input is various emotion and context scores, and the output is a warning message. Specifically, a warning is displayed if the emotion score is high and the context score is low.
[0460] Step 9:
[0461] After the warning is displayed, the user is given the opportunity to re-edit the message. The re-edited message is captured again, and sentiment and context analysis is performed again. At this stage, the input is the re-edited message, and the output is a new sentiment score and context score. Specifically, the user re-enters the message, and the analysis process is performed again.
[0462] 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.
[0463] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0464] 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.
[0465] [Second embodiment]
[0466] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0467] 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.
[0468] 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).
[0469] 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.
[0470] 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.
[0471] 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).
[0472] 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.
[0473] 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.
[0474] 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.
[0475] 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.
[0476] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0477] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0478] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if there is a possibility that the dialogue may deteriorate, and prompts the user to re-edit the message. This system aims to prevent users from sending messages that show emotional reactions and maintain the soundness of the dialogue.
[0479] Basic program structure
[0480] 1. Monitoring methods:
[0481] The device has a built-in real-time message capture feature that temporarily stores the message as it is typed by the user before they hit send.
[0482] 2. Means of analyzing emotions:
[0483] The device has a built-in natural language processing model that analyzes the sentiment of the captured messages. A sentiment analysis engine processes the messages and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[0484] 3. Means of analyzing the context:
[0485] The device is equipped with a contextual analysis engine that evaluates the contextual coherence of the current message by taking into account the recent conversation history. The engine scans the conversation history and determines whether the message fits within the surrounding context.
[0486] 4. How to display a warning:
[0487] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0488] 5. Means of providing opportunities for re-editing:
[0489] After the warning message is displayed, the user is given the option to cancel the send and re-edit the message. If the user re-edits the message and presses the send button, the system will re-analyze the message and send it only if it is found to be OK.
[0490] Specific examples
[0491] Example 1: Preventing angry messages
[0492] 1. User enters a message:
[0493] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0494] 2. The device captures the message:
[0495] input_message = "I'll never forgive you again! You idiot!"
[0496] 3. The device performs sentiment analysis:
[0497] emotion_scores = emotion_analysis(input_message)
[0498] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0499] 4. The device performs context analysis:
[0500] context_score = context_analysis(previous_messages, input_message)
[0501] For example, context_score = -0.7.
[0502] 5. The device will display a warning:
[0503] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0504] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0505] 6. User re-edits message:
[0506] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[0507] 7. The device retransmits:
[0508] send_message("I'd like to have a calm discussion.")
[0509] Example 2: Preventing misleading messages
[0510] 1. User enters a message:
[0511] The user types "That's fine, do whatever you want" and presses the send button.
[0512] 2. The device captures the message:
[0513] input_message = "Enough, do what you want."
[0514] 3. The device performs sentiment analysis:
[0515] emotion_scores = emotion_analysis(input_message)
[0516] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[0517] 4. The device performs context analysis:
[0518] context_score = context_analysis(previous_messages, input_message)
[0519] For example, context_score = -0.5.
[0520] 5. The device will display a warning:
[0521] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0522] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[0523] 6. User re-edits message:
[0524] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0525] 7. The device retransmits:
[0526] send_message("Let's talk again in a little while.").
[0527] According to this embodiment, the user can calmly reconsider messages that he or she sends out of ignorance of his or her emotions, which can facilitate smooth dialogue and prevent deterioration of relationships.
[0528] The processing flow will be explained below.
[0529] Step 1:
[0530] This is the state just before the user enters a message into a communication app and presses the send button.
[0531] The terminal monitors the user's input field in real time and captures the message entered.
[0532] Specifically, the processing of input_message = capture_message() is performed.
[0533] Step 2:
[0534] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[0535] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[0536] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0537] Step 3:
[0538] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[0539] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[0540] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[0541] Step 4:
[0542] The device evaluates the emotion and context scores and displays a warning if the negative emotion score is high and the context score is low.
[0543] For example, if the condition if is_negative_emotion(emotion_scores) and is_negative_context(context_score): is met, a warning message will be displayed.
[0544] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[0545] Step 5:
[0546] The user sees the warning message and chooses to cancel sending or re-edit the message.
[0547] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[0548] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[0549] Step 6:
[0550] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[0551] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[0552] For example, the processing of send_message("I want to have a calm discussion") is performed.
[0553] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue.
[0554] Example 1
[0555] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0556] In conventional communication applications, users' emotional messages can deteriorate the dialogue and lead to misunderstandings. Therefore, there is a need for a system that encourages users to send messages calmly without being swayed by their emotions, thereby maintaining the integrity of the dialogue.
[0557] 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.
[0558] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions in the messages, means for analyzing the context of the messages, means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, and means for analyzing the re-edited message again and transmitting the message only if it is determined to be problem-free. This allows the user to calmly reconsider the message without being swayed by emotions, thereby preventing misunderstandings while maintaining the integrity of the dialogue.
[0559] The "monitoring means" is a means for capturing messages entered by users in real time and temporarily storing them.
[0560] The "means for analyzing emotions" is a means for analyzing the emotions of the captured messages using a natural language processing model and calculating negative emotion scores such as anger, displeasure, sadness, etc.
[0561] A "means for analyzing context" is a means for assessing the contextual coherence of a current message while taking into account the recent conversation history.
[0562] The "means for displaying a warning" is a means for displaying a warning message to the user to call attention when the emotion score is high and the context score is low.
[0563] The "means for providing an opportunity to re-edit the message" is a means for providing the user with an option to re-edit the message after the warning message is displayed.
[0564] The "means for re-analyzing and sending the message" refers to a means for re-analyzing a message that has been re-edited by the user, and sending the message only if it is determined that there is no problem.
[0565] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if the dialogue is likely to deteriorate, and prompts the user to re-edit the message. The system aims to prevent users from sending messages that show emotional reactions and to maintain the integrity of the dialogue.
[0566] Hardware and software used
[0567] Device:
[0568] It performs functions such as message capture, sentiment analysis, context analysis, warning display, and providing opportunities for re-editing.
[0569] It has built-in natural language processing models (e.g., OpenAI GPT-4).
[0570] Use a contextual analysis engine (e.g., a BERT-based model).
[0571] Specific explanation of the system's operation
[0572] 1. Message capture
[0573] When a user inputs a message on a communication application and presses the send button, the terminal captures the message in real time and temporarily stores it.
[0574] Example sentence: "I'll never forgive you again! You idiot!"
[0575] 2. Emotion analysis
[0576] The device uses a built-in natural language processing model (e.g., OpenAI GPT-4) to analyze the sentiment of the captured message, which then produces a negative sentiment score such as anger, displeasure, or sadness.
[0577] Example: For the message "I'll never forgive you again! You idiot!", emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0578] 3. Context analysis
[0579] The device uses a contextual analysis engine (e.g., a BERT-based model) to assess the contextual coherence of the current message, taking into account the recent conversation history. This analysis determines whether it fits within the surrounding context.
[0580] Example: context_score = -0.7.
[0581] 4. Displaying a warning message
[0582] If the emotional score is high and the context score is low, the device will display a warning message to the user, giving them an opportunity to reconsider their emotional message.
[0583] Example: Warning message: "This message contains emotional content. Would you like to reconsider?"
[0584] 5. Opportunity for re-editing
[0585] After the user receives the warning message, the terminal will provide an option to re-edit the message. If the user re-edits the message and presses the send button again, the terminal will analyze it again.
[0586] Example sentence: The original message "I'll never forgive you again! You idiot!" was changed to "I want to talk about this calmly."
[0587] 6. Reanalysis and Submission
[0588] The device will perform sentiment and context analysis on the re-edited message and send it only if it is determined to be satisfactory.
[0589] Example: send_message("I just want to talk calmly")
[0590] Looking at specific examples, we can see that this system encourages users to calmly reconsider their messages without being swayed by their emotions, helping to prevent misunderstandings while maintaining the integrity of the dialogue.
[0591] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0592] Step 1:
[0593] The user inputs a message in the communication application and presses the send button. The input message is passed to the system as input data.
[0594] Specific behavior:
[0595] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0596] Step 2:
[0597] The terminal captures the input message in real time and temporarily stores it. The captured message is saved as intermediate data.
[0598] Input and Output:
[0599] Input: "I'll never forgive you again! You idiot!"
[0600] Output: Captured message "I'll never forgive you again! You idiot!"
[0601] Specific behavior:
[0602] input_message = "I'll never forgive you again! You idiot!"
[0603] Step 3:
[0604] The device uses its built-in natural language processing model to analyze the sentiment of the captured message, and the result of the sentiment analysis is a negative sentiment score.
[0605] Input and Output:
[0606] Input: Captured message "I'll never forgive you again! You idiot!"
[0607] Output: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}
[0608] Specific behavior:
[0609] emotion_scores = emotion_analysis(input_message)
[0610] Step 4:
[0611] The device utilizes a contextual analysis engine to evaluate the contextual coherence of the current message, taking into account the recent conversation history. The result of the contextual analysis is a context score.
[0612] Input and Output:
[0613] Input: Captured message "I'll never forgive you! You idiot!" and recent conversation history
[0614] Output: Context score context_score = -0.7
[0615] Specific behavior:
[0616] context_score = context_analysis(previous_messages, input_message)
[0617] Step 5:
[0618] If the device has a high emotion score and a low context score, a warning message is displayed to the user.
[0619] Input and Output:
[0620] Input: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1} and context score context_score = -0.7
[0621] Output: Warning message "This message contains emotional content. Would you like to reconsider?"
[0622] Specific behavior:
[0623] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0624] Display a warning message to the user.
[0625] Step 6:
[0626] The user receives the displayed warning message and re-edits the message, which is then passed to the system as input data.
[0627] Specific behavior:
[0628] Change the original message from "I'll never forgive you again! You idiot!" to "I want to talk about this calmly for a bit" and press the send button again.
[0629] Step 7:
[0630] The terminal analyzes the edited message again, and only if it is found to be OK is the message sent. If the reanalysis results in no problems, the message is sent as the final output.
[0631] Input and Output:
[0632] Input: Edited message "I want to calm down and discuss this."
[0633] Output: Sending the final output message send_message("Let's have a quick conversation")
[0634] Specific behavior:
[0635] send_message("I want to talk calmly").
[0636] The above is the specific processing flow of this system.
[0637] (Application example 1)
[0638] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0639] When emotionally negative messages are sent within a company or between a company and its customers, it can lead to a deterioration in dialogue and a loss of trust. Preventing such problems and maintaining healthy communication is essential.
[0640] 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.
[0641] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for displaying a warning if the messages may worsen the dialogue, means for providing the user with an opportunity to re-edit the messages, and means for monitoring and protecting company communications, thereby preventing the sending of emotionally negative messages and maintaining healthy communications within the company and between the company and its customers.
[0642] The "means for monitoring messages entered by users" is a function for capturing messages that users are about to send in real time.
[0643] The "means for analyzing the emotion of the message" is a function that uses a natural language processing model to analyze the emotion of the message and calculate a negative emotion score such as anger, displeasure, or sadness.
[0644] The "means for analyzing the context of the message" is a function that evaluates the contextual coherence of the current message taking into account the recent conversation history.
[0645] The "means for displaying a warning when the message may worsen the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[0646] "Means to provide the user with an opportunity to re-edit the message" refers to a function that provides the user with the option to cancel sending and re-edit the message after the warning message is displayed.
[0647] "Measures to monitor and protect corporate communications" refers to functions that monitor communications within a company and between a company and its customers, and maintain the integrity of the dialogue.
[0648] The present invention is a system for maintaining healthy communication within a company and between a company and its customers. This system monitors messages entered by users, analyzes emotions and contexts, and displays a warning if the conversation is likely to deteriorate, providing an opportunity for re-editing.
[0649] The server first uses a means for monitoring messages entered by users to capture messages that users are about to send in real time, and this monitoring function temporarily stores the messages before the users press the send button.
[0650] The server then uses a natural language processing (NLP) model to analyze the sentiment of the message. The NLP model uses the "transformers" library and utilizes the Bidirectional Encoder Representations from Transformers (BERT) model. The sentiment analysis engine processes the message and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[0651] Additionally, the server uses a contextual analysis engine to scan recent conversation history and evaluate the contextual coherence of messages, determining whether the current message fits within its surrounding context.
[0652] Based on these analysis results, if the server has a high emotional score and a low contextual score, it will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0653] After the warning message is displayed, the server will give the user the option to cancel sending and re-edit the message. If the user re-edits the message and presses the send button again, the system will re-analyze the message and send it only if it is found to be OK.
[0654] For example, consider a situation where a user at work types, "I'll never forgive you! You idiot!" and is about to hit send. In this case, the system captures the input message, and sentiment analysis reveals a high score for anger and displeasure. Meanwhile, context analysis also calculates a negative context score for the most recent conversation. Based on this, the system can display a warning message and encourage the user to re-edit the message, saying, "Let's calm down and discuss this."
[0655] Examples of specific prompts include:
[0656] Previous message: "I'm worried about the progress of the project."
[0657] Input message: "Why can't you do something so simple?"
[0658] This will help maintain healthy communication within the company and between the company and its customers, and prevent the dialogue from deteriorating.
[0659] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0660] Step 1:
[0661] The server monitors messages entered by users. It captures the input message "I'll never forgive you again! You idiot!" and temporarily stores it in real time. This captured data is used in subsequent processing steps.
[0662] Step 2:
[0663] The server analyzes the emotions of the captured messages. Specifically, it uses a natural language processing model to calculate an emotion score for the input "I'll never forgive you again! You idiot!". For example, the result might be anger scores of 0.8, displeasure scores of 0.2, and sadness scores of 0.1. In this way, the emotional state of the message is evaluated by calculating the emotion score.
[0664] Step 3:
[0665] The server analyzes the context of the message. Using the most recent conversation history, "I'm worried about the progress of the project," it evaluates the contextual consistency of the current message, "I'll never forgive you again! You idiot!" If the context score is calculated as -0.7, this message does not match the previous conversation history. This context analysis determines the consistency and consistency of the message.
[0666] Step 4:
[0667] The server detects whether an input message is likely to worsen the dialogue based on the emotion score and context score. If the emotion score is high and the context score is low, for example, if the emotion score sums up to 1.0 and the context score is -0.7, the server displays a warning message to the user saying, "This message contains emotional content. Would you like to reconsider?"
[0668] Step 5:
[0669] The user sees the warning message and re-edits the input message. The user re-edits the message to "Let's calm down and discuss this for a bit," and presses the send button again. The re-edited message, "Let's calm down and discuss this for a bit," is sent to the server as a new input.
[0670] Step 6:
[0671] The server then runs the re-edited message, "Let's calm down and discuss this again," through sentiment and context analysis. This time, the sentiment scores are 0.0 for anger, 0.0 for displeasure, and 0.0 for sadness, and the context score is also changed to 0.8. These new scores confirm that the message does not undermine the health of the conversation.
[0672] Step 7:
[0673] The server then sends the message "Let's calm down and discuss this," which is ultimately determined to be acceptable. This replaces the user's emotional message with a healthy one, maintaining healthy communication within the company and between the company and its customers.
[0674] 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.
[0675] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[0676] Basic program structure
[0677] 1. Monitoring methods:
[0678] The terminal monitors messages entered by the user in real time. This function captures the message entered before the user presses the send button in the message input field. Specifically, the terminal executes input_message = capture_message().
[0679] 2. Means of analyzing emotions:
[0680] The device has a built-in natural language processing model that analyzes the content of the captured message and calculates an emotion score. For example, the emotion analysis engine executes emotion_scores = analyze_emotion(input_message), resulting in negative emotion scores such as anger, displeasure, and sadness.
[0681] 3. Means of analyzing the context:
[0682] The device uses a natural language processing model to evaluate the contextual consistency of messages from the recent conversation history. The context analysis engine executes context_score = analyze_context(previous_messages, input_message), resulting in a context score.
[0683] 4. Emotion Engine:
[0684] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[0685] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[0686] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[0687] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[0688] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[0689] 5. How to display a warning:
[0690] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning to the user, for example, by executing display_warning("This message contains emotional content. Would you like to reconsider?").
[0691] 6. Means of providing opportunities for re-editing:
[0692] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[0693] Specific examples
[0694] Example 1: Preventing angry messages
[0695] 1. User enters a message:
[0696] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0697] 2. The device captures the message:
[0698] input_message = "I'll never forgive you again! You idiot!"
[0699] 3. The device performs sentiment analysis:
[0700] emotion_scores = analyze_emotion(input_message)
[0701] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0702] 4. The device performs context analysis:
[0703] context_score = analyze_context(previous_messages, input_message)
[0704] For example, context_score = -0.7.
[0705] 5. The emotion engine analyzes the user's facial recognition data:
[0706] Facial recognition data obtained from the user's camera is analyzed to determine whether the facial expression indicates high levels of anger.
[0707] 6. The device will display a warning:
[0708] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0709] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0710] 7. User re-edits message:
[0711] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[0712] 8. The device retransmits:
[0713] send_message("I'd like to have a calm discussion.")
[0714] Example 2: Preventing misleading messages
[0715] 1. User enters a message:
[0716] The user types "That's fine, do whatever you want" and presses the send button.
[0717] 2. The device captures the message:
[0718] input_message = "Enough, do what you want."
[0719] 3. The device performs sentiment analysis:
[0720] emotion_scores = analyze_emotion(input_message)
[0721] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[0722] 4. The device performs context analysis:
[0723] context_score = analyze_context(previous_messages, input_message)
[0724] For example, context_score = -0.5.
[0725] 5. The emotion engine analyzes the user's voice data:
[0726] The user's voice is analyzed to determine whether their tone of voice indicates anger or irritation.
[0727] 6. The device will display a warning:
[0728] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0729] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[0730] 7. User re-edits message:
[0731] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0732] 8. The device retransmits:
[0733] send_message("Let's talk again in a little while.").
[0734] According to this embodiment, the user can calmly reconsider messages sent out of sway with their emotions, which helps maintain the integrity of the dialogue. Furthermore, by combining an emotion engine, more accurate emotion recognition becomes possible, making it possible to accurately recognize the user's intentions and provide appropriate feedback.
[0735] The processing flow will be explained below.
[0736] Step 1:
[0737] The user has just entered a message into a communication app and is about to press the send button.
[0738] The terminal monitors the user's input field in real time and captures the message entered.
[0739] Specifically, the following process is performed: input_message = capture_message().
[0740] Step 2:
[0741] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[0742] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[0743] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0744] Step 3:
[0745] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[0746] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[0747] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[0748] Step 4:
[0749] The terminal activates an emotion engine to recognize the user's emotions in more detail.
[0750] The emotion engine collects the user's facial recognition data, voice data, input speed and patterns, and biometric information to comprehensively evaluate the user's emotions.
[0751] For example, the following processes are performed: face_emotion = analyze_face_expression(face_data), voice_emotion = analyze_voice_tone(voice_data), typing_emotion = analyze_typing_pattern(typing_data), bio_emotion = analyze_bio_signals(bio_data).
[0752] Step 5:
[0753] The device integrates all emotion analysis results (text, facial recognition, voice, input patterns, biometric information) and contextual analysis results to comprehensively determine whether it is appropriate to send a message.
[0754] For example, final_emotion_score = integrate_emotion_scores(emotion_scores, face_emotion, voice_emotion, typing_emotion, bio_emotion) and final_context_score = context_score are processed.
[0755] Step 6:
[0756] The device will display a warning if the device has a high negative sentiment score and a low contextual score based on the overall rating.
[0757] For example, if is_negative_emotion(final_emotion_score) and is_negative_context(final_context_score):
[0758] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0759] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[0760] Step 7:
[0761] The user sees the warning message and chooses to cancel sending or re-edit the message.
[0762] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[0763] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[0764] Step 8:
[0765] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[0766] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[0767] For example, the processing of send_message("I want to have a calm discussion") is performed.
[0768] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the assistant to accurately understand the user's intentions and provide appropriate feedback.
[0769] Example 2
[0770] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0771] In modern communication applications, if users send messages with emotional or misleading content, it can damage the health of the dialogue and, in some cases, have serious consequences for interpersonal relationships. To address this issue, conventional systems have failed to provide warnings or opportunities to re-edit messages that take emotion and context into sufficient consideration. As a result, users are at a higher risk of sending inappropriate messages.
[0772] 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.
[0773] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, and means for analyzing the context of the messages. This enables a system including means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, means for displaying the warning based on the emotion score analyzed by the emotion analysis means, and means having an emotion engine for analyzing emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information. This allows the user to reconsider the message they are sending emotionally and provide an opportunity to continue the dialogue calmly, thereby maintaining the soundness of the dialogue.
[0774] A "message" is information entered by a user and sent to other users through a communication application.
[0775] The "means for analyzing emotions" is a function that analyzes the content of captured messages and calculates an emotion score.
[0776] "Means for analyzing context" is a function that evaluates the contextual consistency of a message from the recent conversation history.
[0777] The "means for displaying a warning" is a function that displays a warning message to the user when the emotion score and the context score meet a specific condition.
[0778] "Means for providing an opportunity to re-edit" refers to a function that provides the user with an option to re-edit the message after receiving a warning.
[0779] An "emotion engine" is a device or program that analyzes a user's emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information.
[0780] "Biometric information" is data that indicates the user's physical condition, such as the user's heart rate or galvanic skin response.
[0781] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[0782] Basic program structure
[0783] 1. A means of monitoring messages entered by users
[0784] The terminal monitors messages entered by users in real time. This function captures messages entered before the user presses the send button in the message input field. Specifically, the terminal captures the message and records its content.
[0785] 2. A means of analyzing the sentiment of a message
[0786] The device has a built-in natural language processing model that analyzes the content of captured messages to calculate an emotion score. Using the emotion analysis engine, the device can obtain negative emotion scores such as anger, displeasure, and sadness from captured messages.
[0787] 3. Means of analyzing the context of a message
[0788] The device uses a natural language processing model to assess the contextual consistency of the message based on the recent conversation history. A contextual analysis engine compares the conversation history with the current message and calculates a contextual consistency score.
[0789] 4. Use of Emotion Engine
[0790] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[0791] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[0792] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[0793] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[0794] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[0795] 5. How to Display a Warning
[0796] If the emotion score is high and the context score is low based on these analysis results, the device will display a warning to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0797] 6. A means to provide opportunities for re-editing
[0798] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[0799] Specific examples
[0800] Example 1: Preventing angry messages
[0801] 1. The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0802] 2. The device captures the message.
[0803] 3. The device performs emotion analysis and determines that the emotion score is high for anger.
[0804] 4. The device performs context analysis and determines that the context is inconsistent.
[0805] 5. The emotion engine analyzes the facial recognition data and identifies angry expressions.
[0806] 6. Your device displays a warning saying, "This message contains emotional content. Please reconsider."
[0807] 7. The user re-edits the message to say "I'd like to calm down and discuss this a bit," and presses the send button again.
[0808] 8. The device checks the message and sends it if there are no problems.
[0809] Example 2: Preventing misleading messages
[0810] 1. The user types "That's fine, do whatever you want" and presses the send button.
[0811] 2. The device captures the message.
[0812] 3. The device performs emotion analysis and confirms that the unpleasant emotion score is high.
[0813] 4. The device performs context analysis and determines that the context is inconsistent.
[0814] 5. The emotion engine analyzes the voice data and identifies an irritated tone of voice.
[0815] 6. The device will display a warning saying, "This message may be misleading. Please try to remain calm."
[0816] 7. The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0817] 8. The device checks the message and sends it if there are no problems.
[0818] This system helps maintain the integrity of communication by providing users with an opportunity to reconsider the messages they send emotionally and continue the conversation calmly. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the system to accurately recognize the user's intentions and provide appropriate feedback.
[0819] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0820] Step 1: Monitor messages
[0821] Specifically, the terminal monitors messages that users type in input fields of a communication application in real time. Specifically, the terminal continues to capture messages as soon as the user starts typing.
[0822] Input: A text message entered by the user.
[0823] Output: Message data captured in real time
[0824] Step 2: Sentiment analysis of the message
[0825] Specifically, the device inputs the captured message into a natural language processing model to calculate the message's emotion score. Specifically, the emotion analysis engine uses the analyze_emotion function to analyze the emotion contained in the captured message. As a result, a negative emotion score such as anger, displeasure, or sadness is obtained.
[0826] Input: Captured message data
[0827] Output: Emotion score (e.g., {"anger": 0.7, "disgust": 0.2, "sadness": 0.1})
[0828] Step 3: Contextual analysis of the message
[0829] Specifically, the device inputs the most recent conversation history into a natural language processing model to evaluate the contextual consistency with the current message. Specifically, the context analysis engine uses the analyze_context function to compare the most recent few messages with the current message and calculate a context score.
[0830] Input: Captured messages and recent conversation history
[0831] Output: Context score (e.g., context_score = -0.5)
[0832] Step 4: Use the Emotion Engine
[0833] Specifics: The device uses an emotion engine to analyze additional data to recognize emotions from multiple angles. Specifically, the device acquires facial recognition data from the camera and analyzes the user's facial expressions to recognize emotions. It also analyzes audio data to recognize emotions from the tone and pitch of the voice. It also analyzes input speed, typing patterns, and biometric information to comprehensively evaluate the user's emotional state.
[0834] Input: facial recognition data, voice data, input speed, typing patterns, biometric information
[0835] Output: Overall sentiment score
[0836] Step 5: Viewing warnings
[0837] Specific description: The device will display a warning when the emotion score is high and the context score is low. Specifically, the device will display a warning message to the user based on the conditions is_negative_emotion and is_negative_context. For example, the warning might read, "This message contains emotional content. Would you like to reconsider?"
[0838] Input: sentiment score, context score
[0839] Output: Display a warning message
[0840] Step 6: Providing an opportunity for re-editing
[0841] Specific explanation: After receiving the warning, the user is prompted to re-edit the message. Specifically, the user confirms the warning message and selects the re-edit option. When the user re-edits the message and presses the send button again, the device captures the re-edited message again.
[0842] Input: Warning message, user edited message
[0843] Output: Re-edited message data
[0844] Step 7: Confirm and execute resubmission
[0845] Specific explanation: The device re-analyzes the re-edited message to check its safety. Specifically, it performs sentiment and context analysis on the re-edited message, and sends the message only if it is confirmed to be safe. For example, if the re-edited message is "Let's talk again in a little while," it will be sent as is.
[0846] Input: Re-edited message data
[0847] Output: Last message sent
[0848] (Application example 2)
[0849] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0850] In conventional communication applications, users often send emotional messages that can disrupt the integrity of the dialogue. Misleading expressions and emotional feedback often cause problems between users. This can lead to a poor user experience and affect the overall evaluation of the service.
[0851] 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.
[0852] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for analyzing facial recognition data acquired from the user's camera and determining emotions from facial expressions, means for analyzing the user's voice and recognizing emotions from the tone and pitch of the voice, means for analyzing the speed and typing pattern at which the user enters messages and determining the user's emotional state, means for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the user's emotional state, means for displaying a warning if the message may worsen the dialogue, and means for providing the user with an opportunity to reedit the message. This provides the user with an opportunity to reconsider before sending an emotional or misleading message, thereby maintaining the integrity of the dialogue.
[0853] The "means for monitoring messages entered by a user" is a function for monitoring messages entered by a user into a communication application in real time and capturing the contents thereof.
[0854] The "means for analyzing the emotions of a message" is a function that uses a natural language processing model to analyze the emotions contained in an input message and calculates a negative emotion score such as anger, displeasure, or sadness.
[0855] The "means for analyzing the context of a message" is a function that evaluates the contextual consistency of an input message by taking into account the recent conversation history and calculates a score.
[0856] "Means for analyzing facial recognition data and determining emotions from facial expressions" is a function that analyzes facial recognition data obtained from the user's camera, infers emotions from facial expressions, and calculates a score.
[0857] "Means for analyzing voice and recognizing emotions from the tone and pitch of the voice" is a function that analyzes the user's voice data, infers emotions from the tone and pitch of the voice, and calculates a score.
[0858] "Means for analyzing input speed and typing pattern to determine emotional state" is a function that analyzes the speed and typing pattern at which a user inputs a message and infers the user's emotional state based on that.
[0859] "Means for collecting biometric information such as heart rate and galvanic skin response and evaluating emotional state" is a function for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the emotional state based on that information.
[0860] The "means for displaying a warning when there is a possibility of worsening the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[0861] The "means for providing an opportunity to re-edit" is a function that provides the user with an opportunity to re-edit the message after the warning message is displayed, and allows the user to check the safety of the message again.
[0862] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data from multiple angles, and aims to maintain the soundness of dialogue by performing more accurate emotion recognition.
[0863] The system includes the following components:
[0864] 1. A means of monitoring messages entered by users
[0865] The server monitors messages that users type into the message input field in real time and captures them before they press the send button. This function is necessary to evaluate the content of emotional messages before users send them.
[0866] 2. A means of analyzing the sentiment of a message
[0867] The server has a built-in natural language processing model that analyzes the content of the captured messages and calculates a sentiment score, including a positive / negative sentiment score, to assess how emotional the user's message is, using a natural language processing library such as TextBlob.
[0868] 3. Means of analyzing the context of a message
[0869] The server evaluates the contextual coherence of a message by taking into account the recent conversation history, determining whether the message fits into the flow of the conversation, and calculating a context score by evaluating its relevance to previous and subsequent messages.
[0870] 4. A method for analyzing facial recognition data and determining emotions from facial expressions
[0871] The server analyzes the facial recognition data obtained from the user's camera and determines emotions from facial expressions. For this purpose, it uses a facial recognition library such as OpenCV.
[0872] 5. A way to analyze voice and recognize emotions from tone and pitch
[0873] The server analyzes the user's voice data and recognizes emotions from the tone and pitch of the voice using the speech_recognition library.
[0874] 6. A method to determine emotional state by analyzing typing speed and patterns
[0875] The server collects information on the speed and typing patterns of users as they type messages and analyzes their emotional state, allowing it to capture changes in users' emotions in real time.
[0876] 7. Gathering biometric information such as heart rate and galvanic skin response to assess emotional state
[0877] The server collects biometric information such as the user's heart rate and galvanic skin response to assess their emotional state. For this purpose, it obtains information from the user's smart device (e.g., a smartwatch).
[0878] 8. A way to warn users when something could potentially worsen the interaction.
[0879] The server uses the emotional and contextual scores to warn users when a message may negatively impact their conversation. The server displays a warning message to the user, such as, "This message contains emotional content. Perhaps you should reconsider."
[0880] 9. A means to provide opportunities for re-editing
[0881] After the warning message is displayed, the server provides the user with an opportunity to re-edit the message. Before the re-edited message is sent, it is subjected to sentiment and context analysis again, and the message is sent only if there are no problems.
[0882] This system provides users with an opportunity to reconsider the content of emotional or misleading messages before sending them on communication applications, thereby maintaining the integrity of the dialogue.
[0883] Specific examples
[0884] If a user types "This isn't helping at all!", a warning will be displayed if the sentiment analysis indicates a high anger score and the context analysis indicates low consistency. The user can then re-edit the message to say "Can you be more specific about how I can help you?" and the message will be sent.
[0885] Prompt Sentence Examples
[0886] Analyze the user-entered message "This isn't helping at all!". Use natural language processing to evaluate the emotion score as anger, displeasure, or sadness, and then display a warning to re-edit the message.
[0887] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0888] Step 1:
[0889] The server monitors messages entered by users into a communication application in real time. It captures the entered messages and temporarily stores them as \input_message\. At this stage, the input is the message entered by the user into the input field, and the output is the captured message.
[0890] Step 2:
[0891] The server performs sentiment analysis on the captured message. It uses a natural language processing engine (e.g., TextBlob) to calculate the score for each emotion category (e.g., anger, displeasure, sadness) as \emotion_scores\. The input at this stage is the captured message, and the output is each emotion score. Specifically, the TextBlob library analyzes the message text and evaluates the positive / negative sentiment numerically.
[0892] Step 3:
[0893] The server evaluates the contextual consistency of a message by taking into account the recent conversation history. It uses a natural language processing engine to calculate a \context_score\. The input at this stage is the recent conversation history and the captured message, and the output is a context score. Specifically, it compares past messages with the current message and evaluates their relevance.
[0894] Step 4:
[0895] The server analyzes the facial recognition data acquired from the user's camera and infers emotions from facial expressions. It uses the OpenCV library to calculate the anger score of the facial expression as \face_anger_score\. The input at this stage is the facial image acquired from the camera, and the output is an emotion score based on the facial expression. Specifically, it processes the facial image and extracts specific facial expression features.
[0896] Step 5:
[0897] The server analyzes the user's voice and recognizes emotions from the tone and pitch of the voice. It uses the speech_recognition library to calculate a voice emotion score. The input at this stage is the captured voice data, and the output is an emotion score based on the tone of the voice. Specifically, it analyzes the audio file and extracts tone and pitch features from it.
[0898] Step 6:
[0899] The server analyzes the user's message input speed and typing pattern and calculates an emotion score based on that. The input at this stage is typing pattern data, and the output is an emotion score based on typing. Specifically, the system analyzes patterns such as input speed and key strength.
[0900] Step 7:
[0901] The server analyzes biometric information collected from the user, such as heart rate and galvanic skin response, and calculates an emotion score. At this stage, the input is biometric information, and the output is an emotion score based on the biometric information. Specifically, the server processes the data on heart rate and galvanic skin response.
[0902] Step 8:
[0903] The server evaluates these emotion and context scores comprehensively, and if it determines that the message may worsen the dialogue, it displays a warning to the user. At this stage, the input is various emotion and context scores, and the output is a warning message. Specifically, a warning is displayed if the emotion score is high and the context score is low.
[0904] Step 9:
[0905] After the warning is displayed, the user is given the opportunity to re-edit the message. The re-edited message is captured again, and sentiment and context analysis is performed again. At this stage, the input is the re-edited message, and the output is a new sentiment score and context score. Specifically, the user re-enters the message, and the analysis process is performed again.
[0906] 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.
[0907] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0908] 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.
[0909] [Third embodiment]
[0910] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0911] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0912] 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).
[0913] 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.
[0914] 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.
[0915] 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).
[0916] 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.
[0917] 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.
[0918] 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.
[0919] 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.
[0920] 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.
[0921] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0922] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if there is a possibility that the dialogue may deteriorate, and prompts the user to re-edit the message. This system aims to prevent users from sending messages that show emotional reactions and maintain the soundness of the dialogue.
[0923] Basic program structure
[0924] 1. Monitoring methods:
[0925] The device has a built-in real-time message capture feature that temporarily stores the message as it is typed by the user before they hit send.
[0926] 2. Means of analyzing emotions:
[0927] The device has a built-in natural language processing model that analyzes the sentiment of the captured messages. A sentiment analysis engine processes the messages and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[0928] 3. Means of analyzing the context:
[0929] The device is equipped with a contextual analysis engine that evaluates the contextual coherence of the current message by taking into account the recent conversation history. The engine scans the conversation history and determines whether the message fits within the surrounding context.
[0930] 4. How to display a warning:
[0931] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[0932] 5. Means of providing opportunities for re-editing:
[0933] After the warning message is displayed, the user is given the option to cancel the send and re-edit the message. If the user re-edits the message and presses the send button, the system will re-analyze the message and send it only if it is found to be OK.
[0934] Specific examples
[0935] Example 1: Preventing angry messages
[0936] 1. User enters a message:
[0937] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[0938] 2. The device captures the message:
[0939] input_message = "I'll never forgive you again! You idiot!"
[0940] 3. The device performs sentiment analysis:
[0941] emotion_scores = emotion_analysis(input_message)
[0942] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0943] 4. The device performs context analysis:
[0944] context_score = context_analysis(previous_messages, input_message)
[0945] For example, context_score = -0.7.
[0946] 5. The device will display a warning:
[0947] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0948] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[0949] 6. User re-edits message:
[0950] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[0951] 7. The device retransmits:
[0952] send_message("I'd like to have a calm discussion.")
[0953] Example 2: Preventing misleading messages
[0954] 1. User enters a message:
[0955] The user types "That's fine, do whatever you want" and presses the send button.
[0956] 2. The device captures the message:
[0957] input_message = "Enough, do what you want."
[0958] 3. The device performs sentiment analysis:
[0959] emotion_scores = emotion_analysis(input_message)
[0960] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[0961] 4. The device performs context analysis:
[0962] context_score = context_analysis(previous_messages, input_message)
[0963] For example, context_score = -0.5.
[0964] 5. The device will display a warning:
[0965] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[0966] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[0967] 6. User re-edits message:
[0968] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[0969] 7. The device retransmits:
[0970] send_message("Let's talk again in a little while.").
[0971] According to this embodiment, the user can calmly reconsider messages that he or she sends out of ignorance of his or her emotions, which can facilitate smooth dialogue and prevent deterioration of relationships.
[0972] The processing flow will be explained below.
[0973] Step 1:
[0974] This is the state just before the user enters a message into a communication app and presses the send button.
[0975] The terminal monitors the user's input field in real time and captures the message entered.
[0976] Specifically, the processing of input_message = capture_message() is performed.
[0977] Step 2:
[0978] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[0979] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[0980] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[0981] Step 3:
[0982] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[0983] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[0984] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[0985] Step 4:
[0986] The device evaluates the emotion and context scores and displays a warning if the negative emotion score is high and the context score is low.
[0987] For example, if the condition if is_negative_emotion(emotion_scores) and is_negative_context(context_score): is met, a warning message will be displayed.
[0988] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[0989] Step 5:
[0990] The user sees the warning message and chooses to cancel sending or re-edit the message.
[0991] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[0992] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[0993] Step 6:
[0994] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[0995] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[0996] For example, the processing of send_message("I want to have a calm discussion") is performed.
[0997] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue.
[0998] Example 1
[0999] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1000] In conventional communication applications, users' emotional messages can deteriorate the dialogue and lead to misunderstandings. Therefore, there is a need for a system that encourages users to send messages calmly without being swayed by their emotions, thereby maintaining the integrity of the dialogue.
[1001] 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.
[1002] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions in the messages, means for analyzing the context of the messages, means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, and means for analyzing the re-edited message again and transmitting the message only if it is determined to be problem-free. This allows the user to calmly reconsider the message without being swayed by emotions, thereby preventing misunderstandings while maintaining the integrity of the dialogue.
[1003] The "monitoring means" is a means for capturing messages entered by users in real time and temporarily storing them.
[1004] The "means for analyzing emotions" is a means for analyzing the emotions of the captured messages using a natural language processing model and calculating negative emotion scores such as anger, displeasure, sadness, etc.
[1005] A "means for analyzing context" is a means for assessing the contextual coherence of a current message while taking into account the recent conversation history.
[1006] The "means for displaying a warning" is a means for displaying a warning message to the user to call attention when the emotion score is high and the context score is low.
[1007] The "means for providing an opportunity to re-edit the message" is a means for providing the user with an option to re-edit the message after the warning message is displayed.
[1008] The "means for re-analyzing and sending the message" refers to a means for re-analyzing a message that has been re-edited by the user, and sending the message only if it is determined that there is no problem.
[1009] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if the dialogue is likely to deteriorate, and prompts the user to re-edit the message. The system aims to prevent users from sending messages that show emotional reactions and to maintain the integrity of the dialogue.
[1010] Hardware and software used
[1011] Device:
[1012] It performs functions such as message capture, sentiment analysis, context analysis, warning display, and providing opportunities for re-editing.
[1013] It has built-in natural language processing models (e.g., OpenAI GPT-4).
[1014] Use a contextual analysis engine (e.g., a BERT-based model).
[1015] Specific explanation of the system's operation
[1016] 1. Message capture
[1017] When a user inputs a message on a communication application and presses the send button, the terminal captures the message in real time and temporarily stores it.
[1018] Example sentence: "I'll never forgive you again! You idiot!"
[1019] 2. Emotion analysis
[1020] The device uses a built-in natural language processing model (e.g., OpenAI GPT-4) to analyze the sentiment of the captured message, which then produces a negative sentiment score such as anger, displeasure, or sadness.
[1021] Example: For the message "I'll never forgive you again! You idiot!", emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1022] 3. Context analysis
[1023] The device uses a contextual analysis engine (e.g., a BERT-based model) to assess the contextual coherence of the current message, taking into account the recent conversation history. This analysis determines whether it fits within the surrounding context.
[1024] Example: context_score = -0.7.
[1025] 4. Displaying a warning message
[1026] If the emotional score is high and the context score is low, the device will display a warning message to the user, giving them an opportunity to reconsider their emotional message.
[1027] Example: Warning message: "This message contains emotional content. Would you like to reconsider?"
[1028] 5. Opportunity for re-editing
[1029] After the user receives the warning message, the terminal will provide an option to re-edit the message. If the user re-edits the message and presses the send button again, the terminal will analyze it again.
[1030] Example sentence: The original message "I'll never forgive you again! You idiot!" was changed to "I want to talk about this calmly."
[1031] 6. Reanalysis and Submission
[1032] The device will perform sentiment and context analysis on the re-edited message and send it only if it is determined to be satisfactory.
[1033] Example: send_message("I just want to talk calmly")
[1034] Looking at specific examples, we can see that this system encourages users to calmly reconsider their messages without being swayed by their emotions, helping to prevent misunderstandings while maintaining the integrity of the dialogue.
[1035] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1036] Step 1:
[1037] The user inputs a message in the communication application and presses the send button. The input message is passed to the system as input data.
[1038] Specific behavior:
[1039] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1040] Step 2:
[1041] The terminal captures the input message in real time and temporarily stores it. The captured message is saved as intermediate data.
[1042] Input and Output:
[1043] Input: "I'll never forgive you again! You idiot!"
[1044] Output: Captured message "I'll never forgive you again! You idiot!"
[1045] Specific behavior:
[1046] input_message = "I'll never forgive you again! You idiot!"
[1047] Step 3:
[1048] The device uses its built-in natural language processing model to analyze the sentiment of the captured message, and the result of the sentiment analysis is a negative sentiment score.
[1049] Input and Output:
[1050] Input: Captured message "I'll never forgive you again! You idiot!"
[1051] Output: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}
[1052] Specific behavior:
[1053] emotion_scores = emotion_analysis(input_message)
[1054] Step 4:
[1055] The device utilizes a contextual analysis engine to evaluate the contextual coherence of the current message, taking into account the recent conversation history. The result of the contextual analysis is a context score.
[1056] Input and Output:
[1057] Input: Captured message "I'll never forgive you! You idiot!" and recent conversation history
[1058] Output: Context score context_score = -0.7
[1059] Specific behavior:
[1060] context_score = context_analysis(previous_messages, input_message)
[1061] Step 5:
[1062] If the device has a high emotion score and a low context score, a warning message is displayed to the user.
[1063] Input and Output:
[1064] Input: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1} and context score context_score = -0.7
[1065] Output: Warning message "This message contains emotional content. Would you like to reconsider?"
[1066] Specific behavior:
[1067] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1068] Display a warning message to the user.
[1069] Step 6:
[1070] The user receives the displayed warning message and re-edits the message, which is then passed to the system as input data.
[1071] Specific behavior:
[1072] Change the original message from "I'll never forgive you again! You idiot!" to "I want to talk about this calmly for a bit" and press the send button again.
[1073] Step 7:
[1074] The terminal analyzes the edited message again, and only if it is found to be OK is the message sent. If the reanalysis results in no problems, the message is sent as the final output.
[1075] Input and Output:
[1076] Input: Edited message "I want to calm down and discuss this."
[1077] Output: Sending the final output message send_message("Let's have a quick conversation")
[1078] Specific behavior:
[1079] send_message("I want to talk calmly").
[1080] The above is the specific processing flow of this system.
[1081] (Application example 1)
[1082] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1083] When emotionally negative messages are sent within a company or between a company and its customers, it can lead to a deterioration in dialogue and a loss of trust. Preventing such problems and maintaining healthy communication is essential.
[1084] 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.
[1085] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for displaying a warning if the messages may worsen the dialogue, means for providing the user with an opportunity to re-edit the messages, and means for monitoring and protecting company communications, thereby preventing the sending of emotionally negative messages and maintaining healthy communications within the company and between the company and its customers.
[1086] The "means for monitoring messages entered by users" is a function for capturing messages that users are about to send in real time.
[1087] The "means for analyzing the emotion of the message" is a function that uses a natural language processing model to analyze the emotion of the message and calculate a negative emotion score such as anger, displeasure, or sadness.
[1088] The "means for analyzing the context of the message" is a function that evaluates the contextual coherence of the current message taking into account the recent conversation history.
[1089] The "means for displaying a warning when the message may worsen the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[1090] "Means to provide the user with an opportunity to re-edit the message" refers to a function that provides the user with the option to cancel sending and re-edit the message after the warning message is displayed.
[1091] "Measures to monitor and protect corporate communications" refers to functions that monitor communications within a company and between a company and its customers, and maintain the integrity of the dialogue.
[1092] The present invention is a system for maintaining healthy communication within a company and between a company and its customers. This system monitors messages entered by users, analyzes emotions and contexts, and displays a warning if the conversation is likely to deteriorate, providing an opportunity for re-editing.
[1093] The server first uses a means for monitoring messages entered by users to capture messages that users are about to send in real time, and this monitoring function temporarily stores the messages before the users press the send button.
[1094] The server then uses a natural language processing (NLP) model to analyze the sentiment of the message. The NLP model uses the "transformers" library and utilizes the Bidirectional Encoder Representations from Transformers (BERT) model. The sentiment analysis engine processes the message and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[1095] Additionally, the server uses a contextual analysis engine to scan recent conversation history and evaluate the contextual coherence of messages, determining whether the current message fits within its surrounding context.
[1096] Based on these analysis results, if the server has a high emotional score and a low contextual score, it will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[1097] After the warning message is displayed, the server will give the user the option to cancel sending and re-edit the message. If the user re-edits the message and presses the send button again, the system will re-analyze the message and send it only if it is found to be OK.
[1098] For example, consider a situation where a user at work types, "I'll never forgive you! You idiot!" and is about to hit send. In this case, the system captures the input message, and sentiment analysis reveals a high score for anger and displeasure. Meanwhile, context analysis also calculates a negative context score for the most recent conversation. Based on this, the system can display a warning message and encourage the user to re-edit the message, saying, "Let's calm down and discuss this."
[1099] Examples of specific prompts include:
[1100] Previous message: "I'm worried about the progress of the project."
[1101] Input message: "Why can't you do something so simple?"
[1102] This will help maintain healthy communication within the company and between the company and its customers, and prevent the dialogue from deteriorating.
[1103] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1104] Step 1:
[1105] The server monitors messages entered by users. It captures the input message "I'll never forgive you again! You idiot!" and temporarily stores it in real time. This captured data is used in subsequent processing steps.
[1106] Step 2:
[1107] The server analyzes the emotions of the captured messages. Specifically, it uses a natural language processing model to calculate an emotion score for the input "I'll never forgive you again! You idiot!". For example, the result might be anger scores of 0.8, displeasure scores of 0.2, and sadness scores of 0.1. In this way, the emotional state of the message is evaluated by calculating the emotion score.
[1108] Step 3:
[1109] The server analyzes the context of the message. Using the most recent conversation history, "I'm worried about the progress of the project," it evaluates the contextual consistency of the current message, "I'll never forgive you again! You idiot!" If the context score is calculated as -0.7, this message does not match the previous conversation history. This context analysis determines the consistency and consistency of the message.
[1110] Step 4:
[1111] The server detects whether an input message is likely to worsen the dialogue based on the emotion score and context score. If the emotion score is high and the context score is low, for example, if the emotion score sums up to 1.0 and the context score is -0.7, the server displays a warning message to the user saying, "This message contains emotional content. Would you like to reconsider?"
[1112] Step 5:
[1113] The user sees the warning message and re-edits the input message. The user re-edits the message to "Let's calm down and discuss this for a bit," and presses the send button again. The re-edited message, "Let's calm down and discuss this for a bit," is sent to the server as a new input.
[1114] Step 6:
[1115] The server then runs the re-edited message, "Let's calm down and discuss this again," through sentiment and context analysis. This time, the sentiment scores are 0.0 for anger, 0.0 for displeasure, and 0.0 for sadness, and the context score is also changed to 0.8. These new scores confirm that the message does not undermine the health of the conversation.
[1116] Step 7:
[1117] The server then sends the message "Let's calm down and discuss this," which is ultimately determined to be acceptable. This replaces the user's emotional message with a healthy one, maintaining healthy communication within the company and between the company and its customers.
[1118] 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.
[1119] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[1120] Basic program structure
[1121] 1. Monitoring methods:
[1122] The terminal monitors messages entered by the user in real time. This function captures the message entered before the user presses the send button in the message input field. Specifically, the terminal executes input_message = capture_message().
[1123] 2. Means of analyzing emotions:
[1124] The device has a built-in natural language processing model that analyzes the content of the captured message and calculates an emotion score. For example, the emotion analysis engine executes emotion_scores = analyze_emotion(input_message), resulting in negative emotion scores such as anger, displeasure, and sadness.
[1125] 3. Means of analyzing the context:
[1126] The device uses a natural language processing model to evaluate the contextual consistency of messages from the recent conversation history. The context analysis engine executes context_score = analyze_context(previous_messages, input_message), resulting in a context score.
[1127] 4. Emotion Engine:
[1128] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[1129] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[1130] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[1131] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[1132] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[1133] 5. How to display a warning:
[1134] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning to the user, for example, by executing display_warning("This message contains emotional content. Would you like to reconsider?").
[1135] 6. Means of providing opportunities for re-editing:
[1136] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[1137] Specific examples
[1138] Example 1: Preventing angry messages
[1139] 1. User enters a message:
[1140] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1141] 2. The device captures the message:
[1142] input_message = "I'll never forgive you again! You idiot!"
[1143] 3. The device performs sentiment analysis:
[1144] emotion_scores = analyze_emotion(input_message)
[1145] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1146] 4. The device performs context analysis:
[1147] context_score = analyze_context(previous_messages, input_message)
[1148] For example, context_score = -0.7.
[1149] 5. The emotion engine analyzes the user's facial recognition data:
[1150] Facial recognition data obtained from the user's camera is analyzed to determine whether the facial expression indicates high levels of anger.
[1151] 6. The device will display a warning:
[1152] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1153] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[1154] 7. User re-edits message:
[1155] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[1156] 8. The device retransmits:
[1157] send_message("I'd like to have a calm discussion.")
[1158] Example 2: Preventing misleading messages
[1159] 1. User enters a message:
[1160] The user types "That's fine, do whatever you want" and presses the send button.
[1161] 2. The device captures the message:
[1162] input_message = "Enough, do what you want."
[1163] 3. The device performs sentiment analysis:
[1164] emotion_scores = analyze_emotion(input_message)
[1165] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[1166] 4. The device performs context analysis:
[1167] context_score = analyze_context(previous_messages, input_message)
[1168] For example, context_score = -0.5.
[1169] 5. The emotion engine analyzes the user's voice data:
[1170] The user's voice is analyzed to determine whether their tone of voice indicates anger or irritation.
[1171] 6. The device will display a warning:
[1172] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1173] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[1174] 7. User re-edits message:
[1175] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[1176] 8. The device retransmits:
[1177] send_message("Let's talk again in a little while.").
[1178] According to this embodiment, the user can calmly reconsider messages sent out of sway with their emotions, which helps maintain the integrity of the dialogue. Furthermore, by combining an emotion engine, more accurate emotion recognition becomes possible, making it possible to accurately recognize the user's intentions and provide appropriate feedback.
[1179] The processing flow will be explained below.
[1180] Step 1:
[1181] The user has just entered a message into a communication app and is about to press the send button.
[1182] The terminal monitors the user's input field in real time and captures the message entered.
[1183] Specifically, the following process is performed: input_message = capture_message().
[1184] Step 2:
[1185] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[1186] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[1187] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1188] Step 3:
[1189] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[1190] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[1191] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[1192] Step 4:
[1193] The terminal activates an emotion engine to recognize the user's emotions in more detail.
[1194] The emotion engine collects the user's facial recognition data, voice data, input speed and patterns, and biometric information to comprehensively evaluate the user's emotions.
[1195] For example, the following processes are performed: face_emotion = analyze_face_expression(face_data), voice_emotion = analyze_voice_tone(voice_data), typing_emotion = analyze_typing_pattern(typing_data), bio_emotion = analyze_bio_signals(bio_data).
[1196] Step 5:
[1197] The device integrates all emotion analysis results (text, facial recognition, voice, input patterns, biometric information) and contextual analysis results to comprehensively determine whether it is appropriate to send a message.
[1198] For example, final_emotion_score = integrate_emotion_scores(emotion_scores, face_emotion, voice_emotion, typing_emotion, bio_emotion) and final_context_score = context_score are processed.
[1199] Step 6:
[1200] The device will display a warning if the device has a high negative sentiment score and a low contextual score based on the overall rating.
[1201] For example, if is_negative_emotion(final_emotion_score) and is_negative_context(final_context_score):
[1202] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[1203] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[1204] Step 7:
[1205] The user sees the warning message and chooses to cancel sending or re-edit the message.
[1206] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[1207] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[1208] Step 8:
[1209] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[1210] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[1211] For example, the processing of send_message("I want to have a calm discussion") is performed.
[1212] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the assistant to accurately understand the user's intentions and provide appropriate feedback.
[1213] Example 2
[1214] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1215] In modern communication applications, if users send messages with emotional or misleading content, it can damage the health of the dialogue and, in some cases, have serious consequences for interpersonal relationships. To address this issue, conventional systems have failed to provide warnings or opportunities to re-edit messages that take emotion and context into sufficient consideration. As a result, users are at a higher risk of sending inappropriate messages.
[1216] 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.
[1217] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, and means for analyzing the context of the messages. This enables a system including means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, means for displaying the warning based on the emotion score analyzed by the emotion analysis means, and means having an emotion engine for analyzing emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information. This allows the user to reconsider the message they are sending emotionally and provide an opportunity to continue the dialogue calmly, thereby maintaining the soundness of the dialogue.
[1218] A "message" is information entered by a user and sent to other users through a communication application.
[1219] The "means for analyzing emotions" is a function that analyzes the content of captured messages and calculates an emotion score.
[1220] "Means for analyzing context" is a function that evaluates the contextual consistency of a message from the recent conversation history.
[1221] The "means for displaying a warning" is a function that displays a warning message to the user when the emotion score and the context score meet a specific condition.
[1222] "Means for providing an opportunity to re-edit" refers to a function that provides the user with an option to re-edit the message after receiving a warning.
[1223] An "emotion engine" is a device or program that analyzes a user's emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information.
[1224] "Biometric information" is data that indicates the user's physical condition, such as the user's heart rate or galvanic skin response.
[1225] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[1226] Basic program structure
[1227] 1. A means of monitoring messages entered by users
[1228] The terminal monitors messages entered by users in real time. This function captures messages entered before the user presses the send button in the message input field. Specifically, the terminal captures the message and records its content.
[1229] 2. A means of analyzing the sentiment of a message
[1230] The device has a built-in natural language processing model that analyzes the content of captured messages to calculate an emotion score. Using the emotion analysis engine, the device can obtain negative emotion scores such as anger, displeasure, and sadness from captured messages.
[1231] 3. Means of analyzing the context of a message
[1232] The device uses a natural language processing model to assess the contextual consistency of the message based on the recent conversation history. A contextual analysis engine compares the conversation history with the current message and calculates a contextual consistency score.
[1233] 4. Use of Emotion Engine
[1234] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[1235] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[1236] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[1237] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[1238] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[1239] 5. How to Display a Warning
[1240] If the emotion score is high and the context score is low based on these analysis results, the device will display a warning to the user, such as "This message contains emotional content. Would you like to reconsider?"
[1241] 6. A means to provide opportunities for re-editing
[1242] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[1243] Specific examples
[1244] Example 1: Preventing angry messages
[1245] 1. The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1246] 2. The device captures the message.
[1247] 3. The device performs emotion analysis and determines that the emotion score is high for anger.
[1248] 4. The device performs context analysis and determines that the context is inconsistent.
[1249] 5. The emotion engine analyzes the facial recognition data and identifies angry expressions.
[1250] 6. Your device displays a warning saying, "This message contains emotional content. Please reconsider."
[1251] 7. The user re-edits the message to say "I'd like to calm down and discuss this a bit," and presses the send button again.
[1252] 8. The device checks the message and sends it if there are no problems.
[1253] Example 2: Preventing misleading messages
[1254] 1. The user types "That's fine, do whatever you want" and presses the send button.
[1255] 2. The device captures the message.
[1256] 3. The device performs emotion analysis and confirms that the unpleasant emotion score is high.
[1257] 4. The device performs context analysis and determines that the context is inconsistent.
[1258] 5. The emotion engine analyzes the voice data and identifies an irritated tone of voice.
[1259] 6. The device will display a warning saying, "This message may be misleading. Please try to remain calm."
[1260] 7. The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[1261] 8. The device checks the message and sends it if there are no problems.
[1262] This system helps maintain the integrity of communication by providing users with an opportunity to reconsider the messages they send emotionally and continue the conversation calmly. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the system to accurately recognize the user's intentions and provide appropriate feedback.
[1263] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1264] Step 1: Monitor messages
[1265] Specifically, the terminal monitors messages that users type in input fields of a communication application in real time. Specifically, the terminal continues to capture messages as soon as the user starts typing.
[1266] Input: A text message entered by the user.
[1267] Output: Message data captured in real time
[1268] Step 2: Sentiment analysis of the message
[1269] Specifically, the device inputs the captured message into a natural language processing model to calculate the message's emotion score. Specifically, the emotion analysis engine uses the analyze_emotion function to analyze the emotion contained in the captured message. As a result, a negative emotion score such as anger, displeasure, or sadness is obtained.
[1270] Input: Captured message data
[1271] Output: Emotion score (e.g., {"anger": 0.7, "disgust": 0.2, "sadness": 0.1})
[1272] Step 3: Contextual analysis of the message
[1273] Specifically, the device inputs the most recent conversation history into a natural language processing model to evaluate the contextual consistency with the current message. Specifically, the context analysis engine uses the analyze_context function to compare the most recent few messages with the current message and calculate a context score.
[1274] Input: Captured messages and recent conversation history
[1275] Output: Context score (e.g., context_score = -0.5)
[1276] Step 4: Use the Emotion Engine
[1277] Specifics: The device uses an emotion engine to analyze additional data to recognize emotions from multiple angles. Specifically, the device acquires facial recognition data from the camera and analyzes the user's facial expressions to recognize emotions. It also analyzes audio data to recognize emotions from the tone and pitch of the voice. It also analyzes input speed, typing patterns, and biometric information to comprehensively evaluate the user's emotional state.
[1278] Input: facial recognition data, voice data, input speed, typing patterns, biometric information
[1279] Output: Overall sentiment score
[1280] Step 5: Viewing warnings
[1281] Specific description: The device will display a warning when the emotion score is high and the context score is low. Specifically, the device will display a warning message to the user based on the conditions is_negative_emotion and is_negative_context. For example, the warning might read, "This message contains emotional content. Would you like to reconsider?"
[1282] Input: sentiment score, context score
[1283] Output: Display a warning message
[1284] Step 6: Providing an opportunity for re-editing
[1285] Specific explanation: After receiving the warning, the user is prompted to re-edit the message. Specifically, the user confirms the warning message and selects the re-edit option. When the user re-edits the message and presses the send button again, the device captures the re-edited message again.
[1286] Input: Warning message, user edited message
[1287] Output: Re-edited message data
[1288] Step 7: Confirm and execute resubmission
[1289] Specific explanation: The device re-analyzes the re-edited message to check its safety. Specifically, it performs sentiment and context analysis on the re-edited message, and sends the message only if it is confirmed to be safe. For example, if the re-edited message is "Let's talk again in a little while," it will be sent as is.
[1290] Input: Re-edited message data
[1291] Output: Last message sent
[1292] (Application example 2)
[1293] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1294] In conventional communication applications, users often send emotional messages that can disrupt the integrity of the dialogue. Misleading expressions and emotional feedback often cause problems between users. This can lead to a poor user experience and affect the overall evaluation of the service.
[1295] 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.
[1296] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for analyzing facial recognition data acquired from the user's camera and determining emotions from facial expressions, means for analyzing the user's voice and recognizing emotions from the tone and pitch of the voice, means for analyzing the speed and typing pattern at which the user enters messages and determining the user's emotional state, means for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the user's emotional state, means for displaying a warning if the message may worsen the dialogue, and means for providing the user with an opportunity to reedit the message. This provides the user with an opportunity to reconsider before sending an emotional or misleading message, thereby maintaining the integrity of the dialogue.
[1297] The "means for monitoring messages entered by a user" is a function for monitoring messages entered by a user into a communication application in real time and capturing the contents thereof.
[1298] The "means for analyzing the emotions of a message" is a function that uses a natural language processing model to analyze the emotions contained in an input message and calculates a negative emotion score such as anger, displeasure, or sadness.
[1299] The "means for analyzing the context of a message" is a function that evaluates the contextual consistency of an input message by taking into account the recent conversation history and calculates a score.
[1300] "Means for analyzing facial recognition data and determining emotions from facial expressions" is a function that analyzes facial recognition data obtained from the user's camera, infers emotions from facial expressions, and calculates a score.
[1301] "Means for analyzing voice and recognizing emotions from the tone and pitch of the voice" is a function that analyzes the user's voice data, infers emotions from the tone and pitch of the voice, and calculates a score.
[1302] "Means for analyzing input speed and typing pattern to determine emotional state" is a function that analyzes the speed and typing pattern at which a user inputs a message and infers the user's emotional state based on that.
[1303] "Means for collecting biometric information such as heart rate and galvanic skin response and evaluating emotional state" is a function for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the emotional state based on that information.
[1304] The "means for displaying a warning when there is a possibility of worsening the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[1305] The "means for providing an opportunity to re-edit" is a function that provides the user with an opportunity to re-edit the message after the warning message is displayed, and allows the user to check the safety of the message again.
[1306] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data from multiple angles, and aims to maintain the soundness of dialogue by performing more accurate emotion recognition.
[1307] The system includes the following components:
[1308] 1. A means of monitoring messages entered by users
[1309] The server monitors messages that users type into the message input field in real time and captures them before they press the send button. This function is necessary to evaluate the content of emotional messages before users send them.
[1310] 2. A means of analyzing the sentiment of a message
[1311] The server has a built-in natural language processing model that analyzes the content of the captured messages and calculates a sentiment score, including a positive / negative sentiment score, to assess how emotional the user's message is, using a natural language processing library such as TextBlob.
[1312] 3. Means of analyzing the context of a message
[1313] The server evaluates the contextual coherence of a message by taking into account the recent conversation history, determining whether the message fits into the flow of the conversation, and calculating a context score by evaluating its relevance to previous and subsequent messages.
[1314] 4. A method for analyzing facial recognition data and determining emotions from facial expressions
[1315] The server analyzes the facial recognition data obtained from the user's camera and determines emotions from facial expressions. For this purpose, it uses a facial recognition library such as OpenCV.
[1316] 5. A way to analyze voice and recognize emotions from tone and pitch
[1317] The server analyzes the user's voice data and recognizes emotions from the tone and pitch of the voice using the speech_recognition library.
[1318] 6. A method to determine emotional state by analyzing typing speed and patterns
[1319] The server collects information on the speed and typing patterns of users as they type messages and analyzes their emotional state, allowing it to capture changes in users' emotions in real time.
[1320] 7. Gathering biometric information such as heart rate and galvanic skin response to assess emotional state
[1321] The server collects biometric information such as the user's heart rate and galvanic skin response to assess their emotional state. For this purpose, it obtains information from the user's smart device (e.g., a smartwatch).
[1322] 8. A way to warn users when something could potentially worsen the interaction.
[1323] The server uses the emotional and contextual scores to warn users when a message may negatively impact their conversation. The server displays a warning message to the user, such as, "This message contains emotional content. Perhaps you should reconsider."
[1324] 9. A means to provide opportunities for re-editing
[1325] After the warning message is displayed, the server provides the user with an opportunity to re-edit the message. Before the re-edited message is sent, it is subjected to sentiment and context analysis again, and the message is sent only if there are no problems.
[1326] This system provides users with an opportunity to reconsider the content of emotional or misleading messages before sending them on communication applications, thereby maintaining the integrity of the dialogue.
[1327] Specific examples
[1328] If a user types "This isn't helping at all!", a warning will be displayed if the sentiment analysis indicates a high anger score and the context analysis indicates low consistency. The user can then re-edit the message to say "Can you be more specific about how I can help you?" and the message will be sent.
[1329] Prompt Sentence Examples
[1330] Analyze the user-entered message "This isn't helping at all!". Use natural language processing to evaluate the emotion score as anger, displeasure, or sadness, and then display a warning to re-edit the message.
[1331] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1332] Step 1:
[1333] The server monitors messages entered by users into a communication application in real time. It captures the entered messages and temporarily stores them as \input_message\. At this stage, the input is the message entered by the user into the input field, and the output is the captured message.
[1334] Step 2:
[1335] The server performs sentiment analysis on the captured message. It uses a natural language processing engine (e.g., TextBlob) to calculate the score for each emotion category (e.g., anger, displeasure, sadness) as \emotion_scores\. The input at this stage is the captured message, and the output is each emotion score. Specifically, the TextBlob library analyzes the message text and evaluates the positive / negative sentiment numerically.
[1336] Step 3:
[1337] The server evaluates the contextual consistency of a message by taking into account the recent conversation history. It uses a natural language processing engine to calculate a \context_score\. The input at this stage is the recent conversation history and the captured message, and the output is a context score. Specifically, it compares past messages with the current message and evaluates their relevance.
[1338] Step 4:
[1339] The server analyzes the facial recognition data acquired from the user's camera and infers emotions from facial expressions. It uses the OpenCV library to calculate the anger score of the facial expression as \face_anger_score\. The input at this stage is the facial image acquired from the camera, and the output is an emotion score based on the facial expression. Specifically, it processes the facial image and extracts specific facial expression features.
[1340] Step 5:
[1341] The server analyzes the user's voice and recognizes emotions from the tone and pitch of the voice. It uses the speech_recognition library to calculate a voice emotion score. The input at this stage is the captured voice data, and the output is an emotion score based on the tone of the voice. Specifically, it analyzes the audio file and extracts tone and pitch features from it.
[1342] Step 6:
[1343] The server analyzes the user's message input speed and typing pattern and calculates an emotion score based on that. The input at this stage is typing pattern data, and the output is an emotion score based on typing. Specifically, the system analyzes patterns such as input speed and key strength.
[1344] Step 7:
[1345] The server analyzes biometric information collected from the user, such as heart rate and galvanic skin response, and calculates an emotion score. At this stage, the input is biometric information, and the output is an emotion score based on the biometric information. Specifically, the server processes the data on heart rate and galvanic skin response.
[1346] Step 8:
[1347] The server evaluates these emotion and context scores comprehensively, and if it determines that the message may worsen the dialogue, it displays a warning to the user. At this stage, the input is various emotion and context scores, and the output is a warning message. Specifically, a warning is displayed if the emotion score is high and the context score is low.
[1348] Step 9:
[1349] After the warning is displayed, the user is given the opportunity to re-edit the message. The re-edited message is captured again, and sentiment and context analysis is performed again. At this stage, the input is the re-edited message, and the output is a new sentiment score and context score. Specifically, the user re-enters the message, and the analysis process is performed again.
[1350] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1351] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1352] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1353] [Fourth embodiment]
[1354] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1355] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1356] 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).
[1357] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1358] 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.
[1359] 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).
[1360] 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.
[1361] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1362] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1363] 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.
[1364] 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.
[1365] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1366] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1367] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if there is a possibility that the dialogue may deteriorate, and prompts the user to re-edit the message. This system aims to prevent users from sending messages that show emotional reactions and maintain the soundness of the dialogue.
[1368] Basic program structure
[1369] 1. Monitoring methods:
[1370] The device has a built-in real-time message capture feature that temporarily stores the message as it is typed by the user before they hit send.
[1371] 2. Means of analyzing emotions:
[1372] The device has a built-in natural language processing model that analyzes the sentiment of the captured messages. A sentiment analysis engine processes the messages and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[1373] 3. Means of analyzing the context:
[1374] The device is equipped with a contextual analysis engine that evaluates the contextual coherence of the current message by taking into account the recent conversation history. The engine scans the conversation history and determines whether the message fits within the surrounding context.
[1375] 4. How to display a warning:
[1376] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[1377] 5. Means of providing opportunities for re-editing:
[1378] After the warning message is displayed, the user is given the option to cancel the send and re-edit the message. If the user re-edits the message and presses the send button, the system will re-analyze the message and send it only if it is found to be OK.
[1379] Specific examples
[1380] Example 1: Preventing angry messages
[1381] 1. User enters a message:
[1382] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1383] 2. The device captures the message:
[1384] input_message = "I'll never forgive you again! You idiot!"
[1385] 3. The device performs sentiment analysis:
[1386] emotion_scores = emotion_analysis(input_message)
[1387] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1388] 4. The device performs context analysis:
[1389] context_score = context_analysis(previous_messages, input_message)
[1390] For example, context_score = -0.7.
[1391] 5. The device will display a warning:
[1392] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1393] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[1394] 6. User re-edits message:
[1395] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[1396] 7. The device retransmits:
[1397] send_message("I'd like to have a calm discussion.")
[1398] Example 2: Preventing misleading messages
[1399] 1. User enters a message:
[1400] The user types "That's fine, do whatever you want" and presses the send button.
[1401] 2. The device captures the message:
[1402] input_message = "Enough, do what you want."
[1403] 3. The device performs sentiment analysis:
[1404] emotion_scores = emotion_analysis(input_message)
[1405] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[1406] 4. The device performs context analysis:
[1407] context_score = context_analysis(previous_messages, input_message)
[1408] For example, context_score = -0.5.
[1409] 5. The device will display a warning:
[1410] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1411] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[1412] 6. User re-edits message:
[1413] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[1414] 7. The device retransmits:
[1415] send_message("Let's talk again in a little while.").
[1416] According to this embodiment, the user can calmly reconsider messages that he or she sends out of ignorance of his or her emotions, which can facilitate smooth dialogue and prevent deterioration of relationships.
[1417] The processing flow will be explained below.
[1418] Step 1:
[1419] This is the state just before the user enters a message into a communication app and presses the send button.
[1420] The terminal monitors the user's input field in real time and captures the message entered.
[1421] Specifically, the processing of input_message = capture_message() is performed.
[1422] Step 2:
[1423] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[1424] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[1425] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1426] Step 3:
[1427] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[1428] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[1429] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[1430] Step 4:
[1431] The device evaluates the emotion and context scores and displays a warning if the negative emotion score is high and the context score is low.
[1432] For example, if the condition if is_negative_emotion(emotion_scores) and is_negative_context(context_score): is met, a warning message will be displayed.
[1433] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[1434] Step 5:
[1435] The user sees the warning message and chooses to cancel sending or re-edit the message.
[1436] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[1437] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[1438] Step 6:
[1439] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[1440] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[1441] For example, the processing of send_message("I want to have a calm discussion") is performed.
[1442] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue.
[1443] Example 1
[1444] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1445] In conventional communication applications, users' emotional messages can deteriorate the dialogue and lead to misunderstandings. Therefore, there is a need for a system that encourages users to send messages calmly without being swayed by their emotions, thereby maintaining the integrity of the dialogue.
[1446] 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.
[1447] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions in the messages, means for analyzing the context of the messages, means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, and means for analyzing the re-edited message again and transmitting the message only if it is determined to be problem-free. This allows the user to calmly reconsider the message without being swayed by emotions, thereby preventing misunderstandings while maintaining the integrity of the dialogue.
[1448] The "monitoring means" is a means for capturing messages entered by users in real time and temporarily storing them.
[1449] The "means for analyzing emotions" is a means for analyzing the emotions of the captured messages using a natural language processing model and calculating negative emotion scores such as anger, displeasure, sadness, etc.
[1450] A "means for analyzing context" is a means for assessing the contextual coherence of a current message while taking into account the recent conversation history.
[1451] The "means for displaying a warning" is a means for displaying a warning message to the user to call attention when the emotion score is high and the context score is low.
[1452] The "means for providing an opportunity to re-edit the message" is a means for providing the user with an option to re-edit the message after the warning message is displayed.
[1453] The "means for re-analyzing and sending the message" refers to a means for re-analyzing a message that has been re-edited by the user, and sending the message only if it is determined that there is no problem.
[1454] The present invention is a system that analyzes messages entered by users on a communication application, displays a warning if the dialogue is likely to deteriorate, and prompts the user to re-edit the message. The system aims to prevent users from sending messages that show emotional reactions and to maintain the integrity of the dialogue.
[1455] Hardware and software used
[1456] Device:
[1457] It performs functions such as message capture, sentiment analysis, context analysis, warning display, and providing opportunities for re-editing.
[1458] It has built-in natural language processing models (e.g., OpenAI GPT-4).
[1459] Use a contextual analysis engine (e.g., a BERT-based model).
[1460] Specific explanation of the system's operation
[1461] 1. Message capture
[1462] When a user inputs a message on a communication application and presses the send button, the terminal captures the message in real time and temporarily stores it.
[1463] Example sentence: "I'll never forgive you again! You idiot!"
[1464] 2. Emotion analysis
[1465] The device uses a built-in natural language processing model (e.g., OpenAI GPT-4) to analyze the sentiment of the captured message, which then produces a negative sentiment score such as anger, displeasure, or sadness.
[1466] Example: For the message "I'll never forgive you again! You idiot!", emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1467] 3. Context analysis
[1468] The device uses a contextual analysis engine (e.g., a BERT-based model) to assess the contextual coherence of the current message, taking into account the recent conversation history. This analysis determines whether it fits within the surrounding context.
[1469] Example: context_score = -0.7.
[1470] 4. Displaying a warning message
[1471] If the emotional score is high and the context score is low, the device will display a warning message to the user, giving them an opportunity to reconsider their emotional message.
[1472] Example: Warning message: "This message contains emotional content. Would you like to reconsider?"
[1473] 5. Opportunity for re-editing
[1474] After the user receives the warning message, the terminal will provide an option to re-edit the message. If the user re-edits the message and presses the send button again, the terminal will analyze it again.
[1475] Example sentence: The original message "I'll never forgive you again! You idiot!" was changed to "I want to talk about this calmly."
[1476] 6. Reanalysis and Submission
[1477] The device will perform sentiment and context analysis on the re-edited message and send it only if it is determined to be satisfactory.
[1478] Example: send_message("I just want to talk calmly")
[1479] Looking at specific examples, we can see that this system encourages users to calmly reconsider their messages without being swayed by their emotions, helping to prevent misunderstandings while maintaining the integrity of the dialogue.
[1480] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1481] Step 1:
[1482] The user inputs a message in the communication application and presses the send button. The input message is passed to the system as input data.
[1483] Specific behavior:
[1484] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1485] Step 2:
[1486] The terminal captures the input message in real time and temporarily stores it. The captured message is saved as intermediate data.
[1487] Input and Output:
[1488] Input: "I'll never forgive you again! You idiot!"
[1489] Output: Captured message "I'll never forgive you again! You idiot!"
[1490] Specific behavior:
[1491] input_message = "I'll never forgive you again! You idiot!"
[1492] Step 3:
[1493] The device uses its built-in natural language processing model to analyze the sentiment of the captured message, and the result of the sentiment analysis is a negative sentiment score.
[1494] Input and Output:
[1495] Input: Captured message "I'll never forgive you again! You idiot!"
[1496] Output: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}
[1497] Specific behavior:
[1498] emotion_scores = emotion_analysis(input_message)
[1499] Step 4:
[1500] The device utilizes a contextual analysis engine to evaluate the contextual coherence of the current message, taking into account the recent conversation history. The result of the contextual analysis is a context score.
[1501] Input and Output:
[1502] Input: Captured message "I'll never forgive you! You idiot!" and recent conversation history
[1503] Output: Context score context_score = -0.7
[1504] Specific behavior:
[1505] context_score = context_analysis(previous_messages, input_message)
[1506] Step 5:
[1507] If the device has a high emotion score and a low context score, a warning message is displayed to the user.
[1508] Input and Output:
[1509] Input: Emotion scores emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1} and context score context_score = -0.7
[1510] Output: Warning message "This message contains emotional content. Would you like to reconsider?"
[1511] Specific behavior:
[1512] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1513] Display a warning message to the user.
[1514] Step 6:
[1515] The user receives the displayed warning message and re-edits the message, which is then passed to the system as input data.
[1516] Specific behavior:
[1517] Change the original message from "I'll never forgive you again! You idiot!" to "I want to talk about this calmly for a bit" and press the send button again.
[1518] Step 7:
[1519] The terminal analyzes the edited message again, and only if it is found to be OK is the message sent. If the reanalysis results in no problems, the message is sent as the final output.
[1520] Input and Output:
[1521] Input: Edited message "I want to calm down and discuss this."
[1522] Output: Sending the final output message send_message("Let's have a quick conversation")
[1523] Specific behavior:
[1524] send_message("I want to talk calmly").
[1525] The above is the specific processing flow of this system.
[1526] (Application example 1)
[1527] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1528] When emotionally negative messages are sent within a company or between a company and its customers, it can lead to a deterioration in dialogue and a loss of trust. Preventing such problems and maintaining healthy communication is essential.
[1529] 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.
[1530] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for displaying a warning if the messages may worsen the dialogue, means for providing the user with an opportunity to re-edit the messages, and means for monitoring and protecting company communications, thereby preventing the sending of emotionally negative messages and maintaining healthy communications within the company and between the company and its customers.
[1531] The "means for monitoring messages entered by users" is a function for capturing messages that users are about to send in real time.
[1532] The "means for analyzing the emotion of the message" is a function that uses a natural language processing model to analyze the emotion of the message and calculate a negative emotion score such as anger, displeasure, or sadness.
[1533] The "means for analyzing the context of the message" is a function that evaluates the contextual coherence of the current message taking into account the recent conversation history.
[1534] The "means for displaying a warning when the message may worsen the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[1535] "Means to provide the user with an opportunity to re-edit the message" refers to a function that provides the user with the option to cancel sending and re-edit the message after the warning message is displayed.
[1536] "Measures to monitor and protect corporate communications" refers to functions that monitor communications within a company and between a company and its customers, and maintain the integrity of the dialogue.
[1537] The present invention is a system for maintaining healthy communication within a company and between a company and its customers. This system monitors messages entered by users, analyzes emotions and contexts, and displays a warning if the conversation is likely to deteriorate, providing an opportunity for re-editing.
[1538] The server first uses a means for monitoring messages entered by users to capture messages that users are about to send in real time, and this monitoring function temporarily stores the messages before the users press the send button.
[1539] The server then uses a natural language processing (NLP) model to analyze the sentiment of the message. The NLP model uses the "transformers" library and utilizes the Bidirectional Encoder Representations from Transformers (BERT) model. The sentiment analysis engine processes the message and calculates a negative sentiment score, such as anger, displeasure, or sadness.
[1540] Additionally, the server uses a contextual analysis engine to scan recent conversation history and evaluate the contextual coherence of messages, determining whether the current message fits within its surrounding context.
[1541] Based on these analysis results, if the server has a high emotional score and a low contextual score, it will display a warning message to the user, such as "This message contains emotional content. Would you like to reconsider?"
[1542] After the warning message is displayed, the server will give the user the option to cancel sending and re-edit the message. If the user re-edits the message and presses the send button again, the system will re-analyze the message and send it only if it is found to be OK.
[1543] For example, consider a situation where a user at work types, "I'll never forgive you! You idiot!" and is about to hit send. In this case, the system captures the input message, and sentiment analysis reveals a high score for anger and displeasure. Meanwhile, context analysis also calculates a negative context score for the most recent conversation. Based on this, the system can display a warning message and encourage the user to re-edit the message, saying, "Let's calm down and discuss this."
[1544] Examples of specific prompts include:
[1545] Previous message: "I'm worried about the progress of the project."
[1546] Input message: "Why can't you do something so simple?"
[1547] This will help maintain healthy communication within the company and between the company and its customers, and prevent the dialogue from deteriorating.
[1548] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1549] Step 1:
[1550] The server monitors messages entered by users. It captures the input message "I'll never forgive you again! You idiot!" and temporarily stores it in real time. This captured data is used in subsequent processing steps.
[1551] Step 2:
[1552] The server analyzes the emotions of the captured messages. Specifically, it uses a natural language processing model to calculate an emotion score for the input "I'll never forgive you again! You idiot!". For example, the result might be anger scores of 0.8, displeasure scores of 0.2, and sadness scores of 0.1. In this way, the emotional state of the message is evaluated by calculating the emotion score.
[1553] Step 3:
[1554] The server analyzes the context of the message. Using the most recent conversation history, "I'm worried about the progress of the project," it evaluates the contextual consistency of the current message, "I'll never forgive you again! You idiot!" If the context score is calculated as -0.7, this message does not match the previous conversation history. This context analysis determines the consistency and consistency of the message.
[1555] Step 4:
[1556] The server detects whether an input message is likely to worsen the dialogue based on the emotion score and context score. If the emotion score is high and the context score is low, for example, if the emotion score sums up to 1.0 and the context score is -0.7, the server displays a warning message to the user saying, "This message contains emotional content. Would you like to reconsider?"
[1557] Step 5:
[1558] The user sees the warning message and re-edits the input message. The user re-edits the message to "Let's calm down and discuss this for a bit," and presses the send button again. The re-edited message, "Let's calm down and discuss this for a bit," is sent to the server as a new input.
[1559] Step 6:
[1560] The server then runs the re-edited message, "Let's calm down and discuss this again," through sentiment and context analysis. This time, the sentiment scores are 0.0 for anger, 0.0 for displeasure, and 0.0 for sadness, and the context score is also changed to 0.8. These new scores confirm that the message does not undermine the health of the conversation.
[1561] Step 7:
[1562] The server then sends the message "Let's calm down and discuss this," which is ultimately determined to be acceptable. This replaces the user's emotional message with a healthy one, maintaining healthy communication within the company and between the company and its customers.
[1563] 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.
[1564] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[1565] Basic program structure
[1566] 1. Monitoring methods:
[1567] The terminal monitors messages entered by the user in real time. This function captures the message entered before the user presses the send button in the message input field. Specifically, the terminal executes input_message = capture_message().
[1568] 2. Means of analyzing emotions:
[1569] The device has a built-in natural language processing model that analyzes the content of the captured message and calculates an emotion score. For example, the emotion analysis engine executes emotion_scores = analyze_emotion(input_message), resulting in negative emotion scores such as anger, displeasure, and sadness.
[1570] 3. Means of analyzing the context:
[1571] The device uses a natural language processing model to evaluate the contextual consistency of messages from the recent conversation history. The context analysis engine executes context_score = analyze_context(previous_messages, input_message), resulting in a context score.
[1572] 4. Emotion Engine:
[1573] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[1574] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[1575] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[1576] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[1577] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[1578] 5. How to display a warning:
[1579] Based on these analysis results, if the emotion score is high and the context score is low, the device will display a warning to the user, for example, by executing display_warning("This message contains emotional content. Would you like to reconsider?").
[1580] 6. Means of providing opportunities for re-editing:
[1581] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[1582] Specific examples
[1583] Example 1: Preventing angry messages
[1584] 1. User enters a message:
[1585] The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1586] 2. The device captures the message:
[1587] input_message = "I'll never forgive you again! You idiot!"
[1588] 3. The device performs sentiment analysis:
[1589] emotion_scores = analyze_emotion(input_message)
[1590] For example, emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1591] 4. The device performs context analysis:
[1592] context_score = analyze_context(previous_messages, input_message)
[1593] For example, context_score = -0.7.
[1594] 5. The emotion engine analyzes the user's facial recognition data:
[1595] Facial recognition data obtained from the user's camera is analyzed to determine whether the facial expression indicates high levels of anger.
[1596] 6. The device will display a warning:
[1597] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1598] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[1599] 7. User re-edits message:
[1600] The user re-edits the message, saying "I'd like to discuss this calmly," and presses the send button again.
[1601] 8. The device retransmits:
[1602] send_message("I'd like to have a calm discussion.")
[1603] Example 2: Preventing misleading messages
[1604] 1. User enters a message:
[1605] The user types "That's fine, do whatever you want" and presses the send button.
[1606] 2. The device captures the message:
[1607] input_message = "Enough, do what you want."
[1608] 3. The device performs sentiment analysis:
[1609] emotion_scores = analyze_emotion(input_message)
[1610] For example, emotion_scores = {"anger": 0.5, "disgust": 0.3, "sadness": 0.2}.
[1611] 4. The device performs context analysis:
[1612] context_score = analyze_context(previous_messages, input_message)
[1613] For example, context_score = -0.5.
[1614] 5. The emotion engine analyzes the user's voice data:
[1615] The user's voice is analyzed to determine whether their tone of voice indicates anger or irritation.
[1616] 6. The device will display a warning:
[1617] if is_negative_emotion(emotion_scores) and is_negative_context(context_score):
[1618] A warning message will be displayed: "This message may be misleading. Please try to respond calmly."
[1619] 7. User re-edits message:
[1620] The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[1621] 8. The device retransmits:
[1622] send_message("Let's talk again in a little while.").
[1623] According to this embodiment, the user can calmly reconsider messages sent out of sway with their emotions, which helps maintain the integrity of the dialogue. Furthermore, by combining an emotion engine, more accurate emotion recognition becomes possible, making it possible to accurately recognize the user's intentions and provide appropriate feedback.
[1624] The processing flow will be explained below.
[1625] Step 1:
[1626] The user has just entered a message into a communication app and is about to press the send button.
[1627] The terminal monitors the user's input field in real time and captures the message entered.
[1628] Specifically, the following process is performed: input_message = capture_message().
[1629] Step 2:
[1630] The device invokes built-in natural language processing models to analyze the sentiment of the captured message.
[1631] The sentiment analysis engine analyzes the input message and calculates a negative sentiment score such as anger, displeasure, or sadness.
[1632] For example, the processing emotion_scores = analyze_emotion(input_message) is performed, and the resulting scores are emotion_scores = {"anger": 0.8, "disgust": 0.2, "sadness": 0.1}.
[1633] Step 3:
[1634] To analyze the context of a message, the device retrieves the most recent conversation history and launches a context analysis engine.
[1635] A contextual analysis engine compares the current message with past messages to assess contextual consistency.
[1636] For example, the processing context_score = analyze_context(previous_messages, input_message) is performed, resulting in a score of context_score = -0.7.
[1637] Step 4:
[1638] The terminal activates an emotion engine to recognize the user's emotions in more detail.
[1639] The emotion engine collects the user's facial recognition data, voice data, input speed and patterns, and biometric information to comprehensively evaluate the user's emotions.
[1640] For example, the following processes are performed: face_emotion = analyze_face_expression(face_data), voice_emotion = analyze_voice_tone(voice_data), typing_emotion = analyze_typing_pattern(typing_data), bio_emotion = analyze_bio_signals(bio_data).
[1641] Step 5:
[1642] The device integrates all emotion analysis results (text, facial recognition, voice, input patterns, biometric information) and contextual analysis results to comprehensively determine whether it is appropriate to send a message.
[1643] For example, final_emotion_score = integrate_emotion_scores(emotion_scores, face_emotion, voice_emotion, typing_emotion, bio_emotion) and final_context_score = context_score are processed.
[1644] Step 6:
[1645] The device will display a warning if the device has a high negative sentiment score and a low contextual score based on the overall rating.
[1646] For example, if is_negative_emotion(final_emotion_score) and is_negative_context(final_context_score):
[1647] A warning message appears: "This message contains emotional content. Would you like to reconsider?"
[1648] Specifically, the processing of display_warning("This message contains emotional content. Shouldn't you reconsider?") is performed.
[1649] Step 7:
[1650] The user sees the warning message and chooses to cancel sending or re-edit the message.
[1651] If the user wishes to re-edit the message, he or she returns to the input field and re-edits the message.
[1652] For example, you might edit "I'll never forgive you again, you idiot!" to "I want to talk about this calmly."
[1653] Step 8:
[1654] When the user presses the send button again after re-editing, the device captures the re-edited message again and checks its safety.
[1655] Sentiment and context analysis is performed again, and the message is sent only if there are no problems.
[1656] For example, the processing of send_message("I want to have a calm discussion") is performed.
[1657] Through these processing steps, the generative AI assistant can prevent users from sending emotional messages and maintain the integrity of the dialogue. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the assistant to accurately understand the user's intentions and provide appropriate feedback.
[1658] Example 2
[1659] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1660] In modern communication applications, if users send messages with emotional or misleading content, it can damage the health of the dialogue and, in some cases, have serious consequences for interpersonal relationships. To address this issue, conventional systems have failed to provide warnings or opportunities to re-edit messages that take emotion and context into sufficient consideration. As a result, users are at a higher risk of sending inappropriate messages.
[1661] 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.
[1662] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, and means for analyzing the context of the messages. This enables a system including means for displaying a warning if the message is likely to worsen the dialogue, means for providing the user with an opportunity to re-edit the message, means for displaying the warning based on the emotion score analyzed by the emotion analysis means, and means having an emotion engine for analyzing emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information. This allows the user to reconsider the message they are sending emotionally and provide an opportunity to continue the dialogue calmly, thereby maintaining the soundness of the dialogue.
[1663] A "message" is information entered by a user and sent to other users through a communication application.
[1664] The "means for analyzing emotions" is a function that analyzes the content of captured messages and calculates an emotion score.
[1665] "Means for analyzing context" is a function that evaluates the contextual consistency of a message from the recent conversation history.
[1666] The "means for displaying a warning" is a function that displays a warning message to the user when the emotion score and the context score meet a specific condition.
[1667] "Means for providing an opportunity to re-edit" refers to a function that provides the user with an option to re-edit the message after receiving a warning.
[1668] An "emotion engine" is a device or program that analyzes a user's emotions from multiple angles using facial recognition, voice analysis, input speed, and biometric information.
[1669] "Biometric information" is data that indicates the user's physical condition, such as the user's heart rate or galvanic skin response.
[1670] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data, and aims to further maintain the soundness of dialogue by performing more accurate emotion recognition.
[1671] Basic program structure
[1672] 1. A means of monitoring messages entered by users
[1673] The terminal monitors messages entered by users in real time. This function captures messages entered before the user presses the send button in the message input field. Specifically, the terminal captures the message and records its content.
[1674] 2. A means of analyzing the sentiment of a message
[1675] The device has a built-in natural language processing model that analyzes the content of captured messages to calculate an emotion score. Using the emotion analysis engine, the device can obtain negative emotion scores such as anger, displeasure, and sadness from captured messages.
[1676] 3. Means of analyzing the context of a message
[1677] The device uses a natural language processing model to assess the contextual consistency of the message based on the recent conversation history. A contextual analysis engine compares the conversation history with the current message and calculates a contextual consistency score.
[1678] 4. Use of Emotion Engine
[1679] The device is also equipped with an emotion engine that recognizes the user's emotions from multiple angles. This emotion engine uses the following input data:
[1680] Facial recognition data: Analyzes facial recognition data obtained from the user's camera and determines emotions from facial expressions.
[1681] Voice data: Analyzes the user's voice and recognizes emotions from tone and pitch.
[1682] Typing speed and patterns: Analyze the speed and typing patterns at which users type messages to determine their emotional state.
[1683] Biometrics: Collect biometric information such as the user's heart rate and galvanic skin response to assess their emotional state.
[1684] 5. How to Display a Warning
[1685] If the emotion score is high and the context score is low based on these analysis results, the device will display a warning to the user, such as "This message contains emotional content. Would you like to reconsider?"
[1686] 6. A means to provide opportunities for re-editing
[1687] After the warning message is displayed, the user is given the option to cancel sending and re-edit the message. If the user presses the send button again with the re-edited message, the device will re-capture the re-edited message and check its safety. It will then perform sentiment and context analysis again and send the message only if there are no problems.
[1688] Specific examples
[1689] Example 1: Preventing angry messages
[1690] 1. The user types "I'll never forgive you again! You idiot!" and presses the send button.
[1691] 2. The device captures the message.
[1692] 3. The device performs emotion analysis and determines that the emotion score is high for anger.
[1693] 4. The device performs context analysis and determines that the context is inconsistent.
[1694] 5. The emotion engine analyzes the facial recognition data and identifies angry expressions.
[1695] 6. Your device displays a warning saying, "This message contains emotional content. Please reconsider."
[1696] 7. The user re-edits the message to say "I'd like to calm down and discuss this a bit," and presses the send button again.
[1697] 8. The device checks the message and sends it if there are no problems.
[1698] Example 2: Preventing misleading messages
[1699] 1. The user types "That's fine, do whatever you want" and presses the send button.
[1700] 2. The device captures the message.
[1701] 3. The device performs emotion analysis and confirms that the unpleasant emotion score is high.
[1702] 4. The device performs context analysis and determines that the context is inconsistent.
[1703] 5. The emotion engine analyzes the voice data and identifies an irritated tone of voice.
[1704] 6. The device will display a warning saying, "This message may be misleading. Please try to remain calm."
[1705] 7. The user re-edits the message, thinking, "Let's wait a little while and discuss this again," and presses the send button again.
[1706] 8. The device checks the message and sends it if there are no problems.
[1707] This system helps maintain the integrity of communication by providing users with an opportunity to reconsider the messages they send emotionally and continue the conversation calmly. In addition, by combining it with an emotion engine, more accurate emotion recognition becomes possible, allowing the system to accurately recognize the user's intentions and provide appropriate feedback.
[1708] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1709] Step 1: Monitor messages
[1710] Specifically, the terminal monitors messages that users type in input fields of a communication application in real time. Specifically, the terminal continues to capture messages as soon as the user starts typing.
[1711] Input: A text message entered by the user.
[1712] Output: Message data captured in real time
[1713] Step 2: Sentiment analysis of the message
[1714] Specifically, the device inputs the captured message into a natural language processing model to calculate the message's emotion score. Specifically, the emotion analysis engine uses the analyze_emotion function to analyze the emotion contained in the captured message. As a result, a negative emotion score such as anger, displeasure, or sadness is obtained.
[1715] Input: Captured message data
[1716] Output: Emotion score (e.g., {"anger": 0.7, "disgust": 0.2, "sadness": 0.1})
[1717] Step 3: Contextual analysis of the message
[1718] Specifically, the device inputs the most recent conversation history into a natural language processing model to evaluate the contextual consistency with the current message. Specifically, the context analysis engine uses the analyze_context function to compare the most recent few messages with the current message and calculate a context score.
[1719] Input: Captured messages and recent conversation history
[1720] Output: Context score (e.g., context_score = -0.5)
[1721] Step 4: Use the Emotion Engine
[1722] Specifics: The device uses an emotion engine to analyze additional data to recognize emotions from multiple angles. Specifically, the device acquires facial recognition data from the camera and analyzes the user's facial expressions to recognize emotions. It also analyzes audio data to recognize emotions from the tone and pitch of the voice. It also analyzes input speed, typing patterns, and biometric information to comprehensively evaluate the user's emotional state.
[1723] Input: facial recognition data, voice data, input speed, typing patterns, biometric information
[1724] Output: Overall sentiment score
[1725] Step 5: Viewing warnings
[1726] Specific description: The device will display a warning when the emotion score is high and the context score is low. Specifically, the device will display a warning message to the user based on the conditions is_negative_emotion and is_negative_context. For example, the warning might read, "This message contains emotional content. Would you like to reconsider?"
[1727] Input: sentiment score, context score
[1728] Output: Display a warning message
[1729] Step 6: Providing an opportunity for re-editing
[1730] Specific explanation: After receiving the warning, the user is prompted to re-edit the message. Specifically, the user confirms the warning message and selects the re-edit option. When the user re-edits the message and presses the send button again, the device captures the re-edited message again.
[1731] Input: Warning message, user edited message
[1732] Output: Re-edited message data
[1733] Step 7: Confirm and execute resubmission
[1734] Specific explanation: The device re-analyzes the re-edited message to check its safety. Specifically, it performs sentiment and context analysis on the re-edited message, and sends the message only if it is confirmed to be safe. For example, if the re-edited message is "Let's talk again in a little while," it will be sent as is.
[1735] Input: Re-edited message data
[1736] Output: Last message sent
[1737] (Application example 2)
[1738] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1739] In conventional communication applications, users often send emotional messages that can disrupt the integrity of the dialogue. Misleading expressions and emotional feedback often cause problems between users. This can lead to a poor user experience and affect the overall evaluation of the service.
[1740] 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.
[1741] In this invention, the server includes means for monitoring messages entered by users, means for analyzing the emotions of the messages, means for analyzing the context of the messages, means for analyzing facial recognition data acquired from the user's camera and determining emotions from facial expressions, means for analyzing the user's voice and recognizing emotions from the tone and pitch of the voice, means for analyzing the speed and typing pattern at which the user enters messages and determining the user's emotional state, means for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the user's emotional state, means for displaying a warning if the message may worsen the dialogue, and means for providing the user with an opportunity to reedit the message. This provides the user with an opportunity to reconsider before sending an emotional or misleading message, thereby maintaining the integrity of the dialogue.
[1742] The "means for monitoring messages entered by a user" is a function for monitoring messages entered by a user into a communication application in real time and capturing the contents thereof.
[1743] The "means for analyzing the emotions of a message" is a function that uses a natural language processing model to analyze the emotions contained in an input message and calculates a negative emotion score such as anger, displeasure, or sadness.
[1744] The "means for analyzing the context of a message" is a function that evaluates the contextual consistency of an input message by taking into account the recent conversation history and calculates a score.
[1745] "Means for analyzing facial recognition data and determining emotions from facial expressions" is a function that analyzes facial recognition data obtained from the user's camera, infers emotions from facial expressions, and calculates a score.
[1746] "Means for analyzing voice and recognizing emotions from the tone and pitch of the voice" is a function that analyzes the user's voice data, infers emotions from the tone and pitch of the voice, and calculates a score.
[1747] "Means for analyzing input speed and typing pattern to determine emotional state" is a function that analyzes the speed and typing pattern at which a user inputs a message and infers the user's emotional state based on that.
[1748] "Means for collecting biometric information such as heart rate and galvanic skin response and evaluating emotional state" is a function for collecting biometric information such as the user's heart rate and galvanic skin response and evaluating the emotional state based on that information.
[1749] The "means for displaying a warning when there is a possibility of worsening the dialogue" is a function for displaying a warning message to the user when the emotion score is high and the context score is low.
[1750] The "means for providing an opportunity to re-edit" is a function that provides the user with an opportunity to re-edit the message after the warning message is displayed, and allows the user to check the safety of the message again.
[1751] This invention is a system that analyzes messages entered by users on a communication application, and if the message is emotional or misleading, displays a warning and prompts the user to re-edit the message. This system is integrated with an emotion engine that analyzes the user's emotion data from multiple angles, and aims to maintain the soundness of dialogue by performing more accurate emotion recognition.
[1752] The system includes the following components:
[1753] 1. A means of monitoring messages entered by users
[1754] The server monitors messages that users type into the message input field in real time and captures them before they press the send button. This function is necessary to evaluate the content of emotional messages before users send them.
[1755] 2. A means of analyzing the sentiment of a message
[1756] The server has a built-in natural language processing model that analyzes the content of the captured messages and calculates a sentiment score, including a positive / negative sentiment score, to assess how emotional the user's message is, using a natural language processing library such as TextBlob.
[1757] 3. Means of analyzing the context of a message
[1758] The server evaluates the contextual coherence of a message by taking into account the recent conversation history, determining whether the message fits into the flow of the conversation, and calculating a context score by evaluating its relevance to previous and subsequent messages.
[1759] 4. A method for analyzing facial recognition data and determining emotions from facial expressions
[1760] The server analyzes the facial recognition data obtained from the user's camera and determines emotions from facial expressions. For this purpose, it uses a facial recognition library such as OpenCV.
[1761] 5. A way to analyze voice and recognize emotions from tone and pitch
[1762] The server analyzes the user's voice data and recognizes emotions from the tone and pitch of the voice using the speech_recognition library.
[1763] 6. A method to determine emotional state by analyzing typing speed and patterns
[1764] The server collects information on the speed and typing patterns of users as they type messages and analyzes their emotional state, allowing it to capture changes in users' emotions in real time.
[1765] 7. Gathering biometric information such as heart rate and galvanic skin response to assess emotional state
[1766] The server collects biometric information such as the user's heart rate and galvanic skin response to assess their emotional state. For this purpose, it obtains information from the user's smart device (e.g., a smartwatch).
[1767] 8. A way to warn users when something could potentially worsen the interaction.
[1768] The server uses the emotional and contextual scores to warn users when a message may negatively impact their conversation. The server displays a warning message to the user, such as, "This message contains emotional content. Perhaps you should reconsider."
[1769] 9. A means to provide opportunities for re-editing
[1770] After the warning message is displayed, the server provides the user with an opportunity to re-edit the message. Before the re-edited message is sent, it is subjected to sentiment and context analysis again, and the message is sent only if there are no problems.
[1771] This system provides users with an opportunity to reconsider the content of emotional or misleading messages before sending them on communication applications, thereby maintaining the integrity of the dialogue.
[1772] Specific examples
[1773] If a user types "This isn't helping at all!", a warning will be displayed if the sentiment analysis indicates a high anger score and the context analysis indicates low consistency. The user can then re-edit the message to say "Can you be more specific about how I can help you?" and the message will be sent.
[1774] Prompt Sentence Examples
[1775] Analyze the user-entered message "This isn't helping at all!". Use natural language processing to evaluate the emotion score as anger, displeasure, or sadness, and then display a warning to re-edit the message.
[1776] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1777] Step 1:
[1778] The server monitors messages entered by users into a communication application in real time. It captures the entered messages and temporarily stores them as \input_message\. At this stage, the input is the message entered by the user into the input field, and the output is the captured message.
[1779] Step 2:
[1780] The server performs sentiment analysis on the captured message. It uses a natural language processing engine (e.g., TextBlob) to calculate the score for each emotion category (e.g., anger, displeasure, sadness) as \emotion_scores\. The input at this stage is the captured message, and the output is each emotion score. Specifically, the TextBlob library analyzes the message text and evaluates the positive / negative sentiment numerically.
[1781] Step 3:
[1782] The server evaluates the contextual consistency of a message by taking into account the recent conversation history. It uses a natural language processing engine to calculate a \context_score\. The input at this stage is the recent conversation history and the captured message, and the output is a context score. Specifically, it compares past messages with the current message and evaluates their relevance.
[1783] Step 4:
[1784] The server analyzes the facial recognition data acquired from the user's camera and infers emotions from facial expressions. It uses the OpenCV library to calculate the anger score of the facial expression as \face_anger_score\. The input at this stage is the facial image acquired from the camera, and the output is an emotion score based on the facial expression. Specifically, it processes the facial image and extracts specific facial expression features.
[1785] Step 5:
[1786] The server analyzes the user's voice and recognizes emotions from the tone and pitch of the voice. It uses the speech_recognition library to calculate a voice emotion score. The input at this stage is the captured voice data, and the output is an emotion score based on the tone of the voice. Specifically, it analyzes the audio file and extracts tone and pitch features from it.
[1787] Step 6:
[1788] The server analyzes the user's message input speed and typing pattern and calculates an emotion score based on that. The input at this stage is typing pattern data, and the output is an emotion score based on typing. Specifically, the system analyzes patterns such as input speed and key strength.
[1789] Step 7:
[1790] The server analyzes biometric information collected from the user, such as heart rate and galvanic skin response, and calculates an emotion score. At this stage, the input is biometric information, and the output is an emotion score based on the biometric information. Specifically, the server processes the data on heart rate and galvanic skin response.
[1791] Step 8:
[1792] The server evaluates these emotion and context scores comprehensively, and if it determines that the message may worsen the dialogue, it displays a warning to the user. At this stage, the input is various emotion and context scores, and the output is a warning message. Specifically, a warning is displayed if the emotion score is high and the context score is low.
[1793] Step 9:
[1794] After the warning is displayed, the user is given the opportunity to re-edit the message. The re-edited message is captured again, and sentiment and context analysis is performed again. At this stage, the input is the re-edited message, and the output is a new sentiment score and context score. Specifically, the user re-enters the message, and the analysis process is performed again.
[1795] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1796] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1797] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1798] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1799] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1800] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1801] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1802] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1803] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1804] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1805] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1806] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1807] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1808] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1809] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1810] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1811] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1812] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1813] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1814] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1815] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1816] The following is further disclosed regarding the above embodiment.
[1817] (Claim 1)
[1818] means for monitoring messages entered by users;
[1819] means for analyzing the sentiment of the message;
[1820] means for analyzing the context of the message;
[1821] means for displaying a warning if the message is likely to deteriorate the interaction;
[1822] means for providing the user with an opportunity to re-edit the message;
[1823] A system including:
[1824] (Claim 2)
[1825] The system of claim 1, wherein the sentiment analysis of the message uses a natural language processing model to detect negative sentiment.
[1826] (Claim 3)
[1827] 10. The system of claim 1, wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence.
[1828] "Example 1"
[1829] (Claim 1)
[1830] means for monitoring messages entered by users;
[1831] means for analyzing the sentiment of the message;
[1832] means for analyzing the context of the message;
[1833] means for displaying a warning if the message is likely to deteriorate the interaction;
[1834] means for providing the user with an opportunity to re-edit the message;
[1835] a means for re-analyzing the message after re-editing it, and transmitting the message only if it is determined that there is no problem;
[1836] A system including:
[1837] (Claim 2)
[1838] The system of claim 1 , wherein the sentiment analysis of the message uses a natural language processing model to detect negative sentiment.
[1839] (Claim 3)
[1840] 10. The system of claim 1, wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence.
[1841] "Application Example 1"
[1842] (Claim 1)
[1843] means for monitoring messages entered by users;
[1844] means for analyzing the sentiment of the message;
[1845] means for analyzing the context of the message;
[1846] means for displaying a warning if the message is likely to deteriorate the interaction;
[1847] means for providing the user with an opportunity to re-edit the message;
[1848] measures to monitor and protect company communications;
[1849] A system including:
[1850] (Claim 2)
[1851] The system of claim 1, wherein the sentiment analysis of the message uses a natural language processing model to detect negative sentiment.
[1852] (Claim 3)
[1853] 10. The system of claim 1, wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence.
[1854] "Example 2: Combining Emotion Engines"
[1855] (Claim 1)
[1856] means for monitoring messages entered by users;
[1857] means for analyzing the sentiment of the message;
[1858] means for analyzing the context of the message;
[1859] means for displaying a warning if the message is likely to deteriorate the interaction;
[1860] means for providing the user with an opportunity to re-edit the message;
[1861] means for displaying the warning based on the emotion score analyzed by the emotion analysis means;
[1862] a means having an emotion engine that analyzes emotions from multiple angles using face recognition, voice analysis, input speed, and biometric information;
[1863] A system including:
[1864] (Claim 2)
[1865] The system of claim 1, wherein the sentiment analysis of the message uses a natural language processing model to detect negative sentiment.
[1866] (Claim 3)
[1867] 10. The system of claim 1, wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence.
[1868] "Application example 2 when combining emotion engines"
[1869] (Claim 1)
[1870] means for monitoring messages entered by users;
[1871] means for analyzing the sentiment of the message;
[1872] means for analyzing the context of the message;
[1873] A means for analyzing facial recognition data acquired from a user's camera and determining emotions from facial expressions;
[1874] A means for analyzing the user's voice and recognizing emotions from the tone and pitch of the voice;
[1875] means for analyzing a user's typing speed and typing pattern to determine the user's emotional state;
[1876] a means for collecting biometric information such as a user's heart rate and galvanic skin response to assess the user's emotional state;
[1877] means for displaying a warning if the message is likely to deteriorate the interaction;
[1878] means for providing the user with an opportunity to re-edit the message;
[1879] A system including:
[1880] (Claim 2)
[1881] The system of claim 1, wherein the sentiment analysis of the message uses a natural language processing model to detect negative sentiment.
[1882] (Claim 3)
[1883] 10. The system of claim 1, wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence. [Explanation of symbols]
[1884] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for monitoring messages entered by users; means for analyzing the sentiment of the message; means for analyzing the context of the message; means for displaying a warning if the message is likely to deteriorate the interaction; means for providing the user with an opportunity to re-edit the message; A system including:
2. The system according to claim 1 , wherein the sentiment analysis of the message detects negative sentiment using a natural language processing model.
3. The system of claim 1 , wherein the contextual analysis of the message takes into account recent conversation history to assess contextual coherence.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A