System
The system automates debate topic and partner selection, and response generation, improving learning efficiency by saving debate logs for continuous improvement.
Patent Information
- Application Number
- JP2024115232
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional debate learning systems face challenges such as time-consuming topic and partner selection, inefficient learning experiences due to manual response generation, and lack of mechanisms for saving and utilizing debate results for continuous improvement.
A system that includes communication, processing, control, natural language processing, end determination, and storage means to automate topic selection, partner choice, and response generation, while saving debate logs for future learning.
Facilitates efficient and tailored debate learning by eliminating manual topic and partner selection, enhancing learning experiences through automated response generation and log analysis.
Smart Images

Figure 2026014235000001_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] Conventional debate learning systems have the problem that it takes time for users to select appropriate dialogue partners and topics, making effective learning difficult. There are also issues with the quality of the learning experience being reduced because the analysis of user opinions and the generation of next comments are not carried out smoothly during the debate process. Furthermore, there is no mechanism in place to save debate results and use them for later learning, which makes it difficult to continuously improve skills. [Means for solving the problem]
[0005] This invention provides a system that includes a communication means for users to send messages, a processing means for receiving messages from users and selecting a debate topic, a control means for virtual characters to start a debate based on the selected topic, a natural language processing means for analyzing users' opinions and generating the virtual characters' next utterances, an end determination means for determining the end of the debate and providing the results, and a storage means for saving a debate log. This system also includes a means for selecting an appropriate topic based on the user's past debate logs and a means for selecting a debate opponent from multiple different characters, thereby effectively resolving conventional problems.
[0006] A "communications tool" is a combination of hardware and software that allows a user to send and receive messages.
[0007] "Processing means" is a function that executes logic and algorithms to analyze messages from users and select debate topics.
[0008] The "control means" is a function that manages the process and operations for virtual characters to start a debate based on a selected theme.
[0009] "Natural language processing means" refers to natural language processing techniques and algorithms for analyzing user opinions and generating the next utterance based on those opinions.
[0010] The "end determination means" is logic and algorithms for determining that a debate has reached a certain round and providing the end of the debate and a result.
[0011] "Storage means" refers to a database and recording media for storing debate logs and making them accessible at a later date.
[0012] The "information processing means" refers to logic and algorithms for analyzing a user's past debate logs and selecting appropriate themes.
[0013] The "selection means" is a function for selecting a debate partner from a plurality of different virtual characters. [Brief explanation of the drawings]
[0014] [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
[0015] 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.
[0016] First, the terms used in the following description will be explained.
[0017] 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).
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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."
[0022] [First embodiment]
[0023] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0024] 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.
[0025] 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).
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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."
[0035] This invention is a system that allows users to debate with their opponents via the LINE app. The program of this system operates as follows.
[0036] System Components
[0037] Server: Receives user messages, selects debate topics, and generates responses from virtual characters.
[0038] Device: The user's smartphone or tablet. The user controls the debate through this device.
[0039] Users: Debate participants who send and receive messages via the LINE app.
[0040] Program processing
[0041] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[0042] Once a theme is selected, the server sends a message to a virtual character (e.g., one of several characters prepared as debate opponents) to start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[0043] Once a user expresses their opinion, the message is sent back to the server, which uses NLP (natural language processing) technology to analyze the user's message and generate a response for the virtual character based on its content. The server then sends the generated response back to the user, and the debate continues.
[0044] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[0045] Specific examples
[0046] Example 1:
[0047] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses an opinion in favor. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and has the virtual character respond again. The debate continues in this manner.
[0048] Example 2:
[0049] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?", and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character give the next response. After a certain number of rounds, the server summarizes the results of the debate and provides them to the user.
[0050] This system not only improves users' debating skills, but also eliminates the need for tedious topic selection and partner search, thereby supporting effective learning.
[0051] The processing flow will be explained below.
[0052] Step 1:
[0053] The user sends a message via the LINE app saying "Start a debate."
[0054] Step 2:
[0055] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[0056] Step 3:
[0057] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[0058] Step 4:
[0059] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[0060] Step 5:
[0061] The server generates a message and sends it to the user's terminal.
[0062] Step 6:
[0063] The device receives the message from the server and displays it to the user through the LINE app.
[0064] Step 7:
[0065] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Wouldn't a market economy be more efficient?"
[0066] Step 8:
[0067] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[0068] Step 9:
[0069] The server generates the next statement for the virtual character based on the analysis results, for example, "However, without social welfare, the weak will not receive support, and economic inequality will increase."
[0070] Step 10:
[0071] The server sends the generated message to the user's terminal.
[0072] Step 11:
[0073] The device receives the message from the server and displays it to the user through the LINE app.
[0074] Step 12:
[0075] The process from Steps 7 to 11 is repeated to progress through the rounds of debate.
[0076] Step 13:
[0077] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[0078] Step 14:
[0079] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[0080] Step 15:
[0081] A server-generated termination message is sent to the user's terminal.
[0082] Step 16:
[0083] The device receives the termination message from the server and displays it to the user through the LINE app.
[0084] Step 17:
[0085] The server will save a log of the entire debate, and add the history of this debate to the user's profile so that it can be used for future study.
[0086] Example 1
[0087] 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."
[0088] Conventional debate systems have the problem that users must select the topic themselves and find suitable debate partners, which is time-consuming. Furthermore, the debate progress and response generation are done manually, which hinders efficient learning. Another issue is that the topic selection is random, making it difficult to learn according to the user's interests and skills.
[0089] 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.
[0090] In this invention, the server includes communication means for users to send messages, analysis means for receiving messages from the users and selecting a debate theme, control means for virtual characters to start a debate based on the theme selected by the analysis means, natural language processing means for analyzing opinions from the users and generating the next utterances by the virtual characters, end determination means for determining the end of the debate and providing the results, storage means for saving a debate log, response generation means for generating responses for the virtual characters using a generative AI model, and prompt generation means for querying the generative AI model based on specific prompt sentences. This eliminates the need for users to select a theme or find opponents, enabling efficient debate learning that is tailored to their interests.
[0091] "Communication medium" refers to the technology or interface that users use to send and receive messages.
[0092] "Analysis means" refers to the technology or software library used to analyze received user messages and understand their content.
[0093] The "control means" refers to a technique or mechanism for issuing instructions necessary for the virtual characters to start a debate based on the theme selected by the analysis means.
[0094] "Natural language processing means" refers to the technology or algorithms used to analyze user comments and generate the virtual character's next utterance based on the content of those comments.
[0095] "End Determination Means" refers to the mechanism or technology used to determine the end of a debate and provide the result.
[0096] "Storage means" refers to the data storage and management method for saving debate logs.
[0097] "Response generation means" refers to the technology or mechanism for generating responses from virtual characters using a generative AI model.
[0098] A "prompt generation means" refers to a technology or mechanism for querying a generative AI model based on a specific prompt sentence.
[0099] The present invention is a system for allowing users to debate via a messaging application. The following describes how this system is specifically implemented.
[0100] System configuration
[0101] server
[0102] The server has multiple functions and operates as follows:
[0103] 1. Communication method: Receives messages sent by users via messaging applications. This communication is carried out using, for example, the LINE Messaging API.
[0104] 2. Analysis: A natural language processing (NLP) library (e.g., NLTK or spaCy) is used to analyze the received message, thereby understanding the user's intent and request.
[0105] 3. Control means: Select a debate topic based on the analyzed information and give instructions to the virtual characters to start the debate.
[0106] 4. Natural language processing: Analyzes user opinions and generates responses from virtual characters based on them. This is done using a generative AI model such as GPT-3.
[0107] 5. Termination determination means: The end of the debate is determined when a certain number of rounds or conditions are met, and the result is notified to the user.
[0108] 6. Storage means: Use a data storage (e.g., MySQL database) to store debate logs.
[0109] 7. Response generation means: Generate responses for the virtual character using a generative AI model.
[0110] 8. Prompt generation means: Generate specific prompt sentences and input them into the generative AI model.
[0111] Terminal
[0112] The user's terminal is a device such as a smartphone or tablet, and is used as follows.
[0113] Communication method: Messages are sent and received with the server using the LINE application.
[0114] Display method: Messages sent from the server are displayed on the LINE app.
[0115] User
[0116] To participate in a debate, a user performs the following operations:
[0117] Sending a message: Using the LINE application, send a message such as "Start a debate" to the server.
[0118] Expressing an opinion: Express your opinion on the virtual character's response.
[0119] Example of operation
[0120] Example 1: Starting a debate
[0121] The user sends a message on the LINE app saying "Start a debate." The server receives this message and selects the theme "Is social welfare the government's responsibility?" The virtual character expresses a supporting opinion, and the user counters with "Wouldn't a market economy be more efficient?" The server analyzes the opinion and has the virtual character respond again.
[0122] Example 2: Discussion on a specific topic
[0123] The user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" The virtual character expresses an opposing opinion. When the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character make the following response.
[0124] Prompt Sentence Examples
[0125] "Is social welfare a government responsibility? Please respond in favor."
[0126] "Are eco-cars effective in protecting the environment? Please respond with your opposing position."
[0127] This system eliminates the need for users to select debate topics or find opponents, enabling effective learning based on interests and skills.
[0128] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0129] markdown
[0130] Step 1:
[0131] The user uses the LINE app on their device to enter a message such as "Start a debate" and press the send button. This is sent to the server as the initial input, and the server then receives the message via the LINE Messaging API.
[0132] Step 2:
[0133] The server uses a Python program and a natural language processing (NLP) library such as NLTK or spaCy to parse the received message. It extracts the instruction "start a debate" from the message. The result of this analysis becomes the input data for the next step.
[0134] Step 3:
[0135] The server selects a debate theme based on the analysis results. The selection is made either randomly from a list of themes prepared in advance, or based on the user's past debate logs. For example, the server executes the query "SELECT theme FROM themes ORDER BY RAND() LIMIT 1;" from the MySQL database to obtain the theme. The obtained theme becomes the input data for the next process.
[0136] Step 4:
[0137] The server generates a response from the virtual character based on the acquired theme. This is done using a generative AI model such as GPT-3. A specific prompt is generated and sent to GPT-3. A prompt such as "Is social welfare the government's responsibility? Please respond in favor" is input into the generative AI model, and the generated response becomes the input data for the next process.
[0138] Step 5:
[0139] The server sends the generated virtual character's response to the user's device using the LINE Messaging API. This allows the user to check the virtual character's opinion on the LINE app. Input data is prepared for the user to express their next opinion through the log.
[0140] Step 6:
[0141] The user can state their opinion in favor of or against the virtual character's opinion. For example, they can type, "Wouldn't a market economy be more efficient?" and press the send button. This message is sent to the server and becomes the input data for the next processing step.
[0142] Step 7:
[0143] The server receives a new message from the user and again analyzes the content using NLP technology. Using the results of this analysis, it sends another prompt to GPT-3 to generate the next response. A prompt such as "Wouldn't a market economy be more efficient? Please respond to that" is input into the generative AI model, and the generated response becomes the input data for the next process.
[0144] Step 8:
[0145] The server determines whether the debate has reached a certain number of rounds. If the number of rounds reaches the limit, it generates a message saying "Debate Ended" and notifies the user. This determination result becomes the input data for ending the debate.
[0146] Step 9:
[0147] The server stores a log of the entire debate, including the theme, user comments, and virtual character responses. This is saved in a MySQL database using a query such as "INSERT INTO logs (user_id, theme, user_message, ai_response) VALUES (?, ?, ?, ?);". This saves all debate data for later review and learning.
[0148] (Application example 1)
[0149] 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."
[0150] In the current situation where there are limited means for users to efficiently improve their online debating skills, a system that allows effective learning while eliminating the hassle of selecting a topic and finding opponents is needed. Furthermore, a system with an advanced interface and functionality is needed that allows users to request specific topics and deepen their learning based on past debate logs.
[0151] 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.
[0152] In this invention, the server includes information processing means for selecting a topic based on the user's past debate logs and areas of interest, interface means for allowing the user to request a specific topic, and means for the server to analyze the user's message using natural language processing technology and generate a response from the virtual character based on the content of the message. This allows the user to study effectively while eliminating the effort of selecting a topic and finding a partner.
[0153] A "communication medium" is a technique or method by which a user can send a message and a system can receive it.
[0154] "Information processing means" refers to the techniques and methods used to analyze users' messages and select debate topics.
[0155] The "control means" refers to a technique or method for setting the virtual characters to start a debate based on a selected theme.
[0156] "Natural language processing means" refers to techniques and methods for analyzing user opinions and generating the next utterances of the virtual character.
[0157] The "end determination means" is a technique or method for determining the end of a debate and providing the result to the user.
[0158] "Storage means" refers to the technology or method for storing debate logs.
[0159] An "interface means" is a technique or method that allows a user to request a particular theme.
[0160] The "response generation means" refers to a technique or method for analyzing a user's message using natural language processing technology and generating a response from a virtual character based on the content of the message.
[0161] "Selection means" refers to techniques or methods that allow a virtual character to function as multiple characters with different settings or characteristics.
[0162] The present invention is a system for allowing users to hold online debates, and is based on technology for selecting debate topics, debating with virtual characters, and storing and analyzing debate results. The following describes in detail the embodiments of the present invention.
[0163] System Configuration
[0164] 1. Means of communication
[0165] The means by which users send messages is through a user device, such as a smartphone or tablet, which communicates with a server through an internet connection.
[0166] 2. Information Processing Means
[0167] The server has an information processing means for receiving messages from users and selecting debate topics from a list of various topics based on the user's past logs and areas of interest.
[0168] 3. Control Measures
[0169] The server has a control means for starting a debate among virtual characters based on a selected theme. The virtual characters have different settings and characteristics, and can be selected as multiple characters.
[0170] 4. Natural Language Processing Methods
[0171] The server uses natural language processing technology (e.g., Google Cloud NLP, IBM Watson) to analyze the user's opinion and generate the next utterance for the virtual character. This natural language processing method understands the content of the user's opinion and generates an appropriate response.
[0172] 5. Termination Determination Method
[0173] The server has a means to determine when a debate has ended after a certain number of rounds. After the debate has ended, the server notifies the user of the results, which can be used for learning purposes.
[0174] 6. Storage means
[0175] The server has a storage means for storing debate logs in a storage device, allowing users to later check their own debate content and confirm their learning progress.
[0176] 7. Interface Methods
[0177] The interface means allows users to request specific topics, allowing users to freely debate topics that interest them.
[0178] Specific examples of implementation
[0179] Example 1:
[0180] When a user requests a debate on the topic "Does AI technology cause ethical issues?", the server selects this topic and has a virtual character state its initial opinion. The virtual character states, "AI could lead to privacy violations and job losses." The user responds, "AI will also create many new jobs." The server analyzes this using natural language processing technology and responds, "New jobs will be created, but they will require retraining."
[0181] Example prompt sentence:
[0182] User message: "AI technology will create many new jobs, but they will require retraining."
[0183] Response Generation Prompt: "Generate a response to this statement from a hypothetical character who has a critical opinion about the retraining process of AI technology."
[0184] In this way, the present invention supports effective debate learning.
[0185] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0186] Step 1:
[0187] To start a debate, a user operates a terminal and requests a theme. This operation causes the terminal to send the user's request message as input to the server, which triggers the start of the debate.
[0188] Step 2:
[0189] The server receives the user's request message and selects a theme using information processing means. Specifically, the server refers to the user's past debate logs and areas of interest, and selects an appropriate theme from a pre-prepared theme list. The selected theme is generated as output.
[0190] Step 3:
[0191] The server selects a virtual character based on the selected theme and generates an initial message to start the debate. The virtual character has multiple settings and characteristics, and the character that best suits the theme is selected. The generated initial message is sent to the user as output.
[0192] Step 4:
[0193] The user receives an initial message from the virtual character on their device and expresses their opinion on the content. This opinion is sent from the device to the server and used as input data.
[0194] Step 5:
[0195] The server uses natural language processing to analyze the user's opinion. The analysis extracts the main points, emotions, and intentions of the user's opinion, and generates the next utterance for the virtual character based on these. The generated utterance is then sent to the user as output.
[0196] Step 6:
[0197] The above dialogue is repeated until a certain number of rounds have been reached, at which point the server uses the termination determination means to determine whether the debate has ended. Based on this determination, the final result is output and notified to the user.
[0198] Step 7:
[0199] The debate log is saved in a storage device on the server. The saved data includes all interactions between the user and the virtual character, and is kept as data for the user to use for study or review at a later date.
[0200] Step 8:
[0201] After a debate, users can view the saved log, which allows them to review past debate content and obtain information that will help them improve their debating skills in the future.
[0202] 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.
[0203] This invention is a system that allows users to debate with their opponents via the LINE app, and also recognizes and responds to the user's emotions. The program of this system operates as follows.
[0204] System Components
[0205] Server: Receives user messages, selects debate topics, generates responses for virtual characters, and recognizes emotions.
[0206] Device: The user's smartphone or tablet. The user controls the debate through this device.
[0207] Users: Debate participants who send and receive messages via the LINE app.
[0208] Program processing
[0209] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[0210] Once a theme is selected, the server generates a message to have the virtual characters start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[0211] Once the user has expressed their opinion, the message is sent back to the server, which uses NLP (Natural Language Processing) technology to analyze the user's message and uses an emotion engine to recognize the emotions in the user's message.
[0212] Based on the recognized emotion, the server generates the next utterance for the virtual character. If the emotion engine recognizes that the user is angry, the virtual character adjusts its response to a calmer tone. The server sends the generated utterance to the user, and the debate continues.
[0213] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[0214] Specific examples
[0215] Example 1:
[0216] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses support. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and recognizes the emotion from the user's tone. If the emotion engine recognizes the user's anxiety, the virtual character responds, "Certainly, a market economy is important, but social security is also necessary."
[0217] Example 2:
[0218] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes the user's excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[0219] This system not only improves users' debating skills, but also enables more effective communication by allowing the virtual characters to respond appropriately based on their emotions.
[0220] The processing flow will be explained below.
[0221] Step 1:
[0222] The user sends a message via the LINE app saying "Start a debate."
[0223] Step 2:
[0224] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[0225] Step 3:
[0226] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[0227] Step 4:
[0228] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[0229] Step 5:
[0230] The server generates a message and sends it to the user's terminal.
[0231] Step 6:
[0232] The device receives the message from the server and displays it to the user through the LINE app.
[0233] Step 7:
[0234] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Isn't a market economy more efficient?"
[0235] Step 8:
[0236] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[0237] Step 9:
[0238] The server uses an emotion engine to recognize emotions contained in the user's message, for example, the emotion engine detects anger in the user's message.
[0239] Step 10:
[0240] The server generates the next utterance for the virtual character based on the analysis results and emotion recognition results. If the emotion engine recognizes that the user is angry, it adjusts the virtual character's response to a calmer tone. For example, it generates a response such as, "Certainly, a market economy is important. However, without social welfare, the weak will suffer."
[0241] Step 11:
[0242] The server sends the generated message to the user's terminal.
[0243] Step 12:
[0244] The device receives the message from the server and displays it to the user through the LINE app.
[0245] Step 13:
[0246] The process from Step 7 to Step 12 is repeated to progress through the rounds of debate.
[0247] Step 14:
[0248] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[0249] Step 15:
[0250] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[0251] Step 16:
[0252] A server-generated termination message is sent to the user's terminal.
[0253] Step 17:
[0254] The device receives the termination message from the server and displays it to the user through the LINE app.
[0255] Step 18:
[0256] The server saves a log of the entire debate. The debate history and emotion recognition data are added to the user profile so that it can be used for future learning. For example, the system can analyze the emotional trends felt by the user during the debate and use this information to provide advice for the next debate.
[0257] These detailed processing steps allow users to not only improve their skills through the debate experience, but also to communicate more effectively by receiving emotionally appropriate responses.
[0258] Example 2
[0259] 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."
[0260] Conventional debate systems were unable to generate responses based on the user's emotions, resulting in mechanical responses that compromised the user experience. Furthermore, when selecting debate topics, it was difficult to utilize the user's past debate logs, making it difficult to select appropriate topics. Furthermore, the log saving function after the debate ended was insufficient, limiting the means by which users could review the content of the debate later.
[0261] 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.
[0262] In this invention, the server includes processing means for receiving user messages and selecting a debate theme, control means for the virtual characters to start a debate based on the theme selected by the processing means, natural language processing means for analyzing user opinions and generating the virtual characters' next utterances, emotion recognition means for recognizing emotions from the user's utterances, response adjustment means for adjusting the virtual characters' utterances based on the recognized emotions, end determination means for determining the end of the debate and providing the results, and storage means for saving the debate log. This makes it possible to generate responses based on user emotions and select a theme using past debate logs, thereby enhancing the log saving function after the debate ends.
[0263] A "communication medium" is an interface used by users to send and receive messages.
[0264] The "processing means" is a component that receives messages from users, analyzes them, and selects a topic for debate.
[0265] The "control means" is a component that gives instructions for the virtual characters to start a debate based on the selected theme.
[0266] "Natural language processing means" is a technology for analyzing opinions from users and generating responses from virtual characters.
[0267] "Emotion recognition means" is a technology that analyzes and recognizes the emotions in a user's message.
[0268] A "response adjustment means" is a component for adjusting the tone and content of a virtual character's speech based on the recognized emotion.
[0269] "End determination means" refers to a technology or algorithm for determining the end of a debate and providing the result.
[0270] "Storage means" refers to a storage device or database for storing debate logs.
[0271] "Information processing means" refers to the data processing technology required to select an appropriate topic based on the user's past debate log.
[0272] The "selection means" refers to an interface or algorithm for selecting a debate opponent from among multiple different virtual characters.
[0273] This invention realizes a system in which users debate via a messaging app and a server supports the debate. Furthermore, the system recognizes users' emotions and generates appropriate responses accordingly, thereby enhancing the effectiveness of the debate.
[0274] Basic configuration
[0275] Communication Method:
[0276] Users send messages using messaging apps on their smartphones or tablets, which are then sent over the internet to a server using common messaging protocols.
[0277] Processing Method:
[0278] The server analyzes the received messages and uses natural language processing (NLP) techniques to select topics for debate, specifically Google Cloud NLP or any other suitable NLP engine.
[0279] Control means:
[0280] The server generates responses based on the selected theme for the virtual characters to start a debate, using a generative AI model (such as OpenAI's GPT-4).
[0281] Natural language processing tools:
[0282] The server then analyzes the user's opinions and counterarguments again and generates the next utterance, using natural language processing software such as Google Cloud NLP.
[0283] Emotion recognition means:
[0284] The server uses an emotion recognition engine (e.g., IBM Watson Tone Analyzer) to recognize the emotion in the user's message. This technology takes into account not only the context of the message but also its emotion.
[0285] Response adjustment measures:
[0286] The server then adjusts the virtual character's speech based on the perceived emotion. For example, if the server detects that the user is angry, the virtual character will respond in a calmer tone. This response adjustment also uses a generative AI model.
[0287] Termination determination method:
[0288] The server monitors the progress of the debate and ends it when a certain number of rounds have been reached. After determining that the debate is over, it notifies the user of the results of the debate.
[0289] Storage means:
[0290] After the debate ends, the server stores the debate log in a storage device, which includes the date and time, the topic, user comments, responses from the virtual characters, and sentiment analysis results.
[0291] Specific examples
[0292] Example 1:
[0293] A user sends a message on a messaging app saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and a virtual character expresses support for the idea that "social welfare is the government's responsibility." If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the message and recognizes anxiety from the user's tone. If the emotion engine recognizes anxiety, the virtual character responds, "Certainly a market economy is important, but social security is also necessary."
[0294] Example prompt:
[0295] User: Start a debate
[0296] Sarver: Is social welfare a government responsibility?
[0297] Virtual character: Social welfare is the responsibility of the government
[0298] User: Wouldn't a market economy be more efficient?
[0299] Example 2:
[0300] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses the opposing opinion that "eco-cars are not very effective in protecting the environment." When the user says, "They have less of an environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[0301] Example prompt:
[0302] User: I want to discuss eco-cars
[0303] Server: Are eco-friendly cars effective for protecting the environment?
[0304] Virtual character: Eco-friendly cars can be harmful to the environment
[0305] User: Less environmental impact than gasoline-powered vehicles
[0306] This allows users to have a high-quality debate experience and receive appropriate responses that take emotions into consideration.
[0307] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0308] Step 1:
[0309] A user sends a message to start a debate.
[0310] Input: A message like "Start the debate."
[0311] Specific operation: A user uses a messaging app on a smartphone or tablet to send a message to the server to start a debate, typing "Start a debate" and pressing the send button.
[0312] Output: The message is sent to the server.
[0313] Step 2:
[0314] The server receives and parses the message.
[0315] Input: The message "Start a debate" sent by the user.
[0316] What happens: The server uses an NLP engine to analyze the message received via the messaging protocol, and understands that the user wants to start a debate.
[0317] Output: Instructions to start the debate.
[0318] Step 3:
[0319] The server selects the debate topic.
[0320] Input: Instructions to begin debate.
[0321] Specific operation: The server randomly selects a topic from a pre-defined list or selects an appropriate topic based on past debate logs. Data processing here involves retrieving users' past comment logs from a database and using a selection algorithm to select the optimal topic.
[0322] Output: Selected debate topic.
[0323] Step 4:
[0324] The server generates the initial utterance of the virtual character.
[0325] Input: Selected debate topic.
[0326] Specific operation: The server uses a generative AI model (e.g., GPT-4) to generate the initial utterance of a virtual character based on the selected theme. This prompt is then input into the model to generate an appropriate response, and the output is obtained.
[0327] Output: The fictional character's first utterance.
[0328] Step 5:
[0329] The server sends the virtual character's message to the user's terminal.
[0330] Input: The fictional character's first utterance.
[0331] How it works: The server sends the generated virtual character's speech to the user's device. This data is sent using a messaging protocol and displayed in the user's messaging app.
[0332] Output: The speech of the virtual character displayed on the user's device.
[0333] Step 6:
[0334] Users submit their opinions and counterarguments.
[0335] Input: User's opinion or rebuttal after seeing what the virtual character says.
[0336] Specific operation: The user inputs and sends a message expressing their opinion or counterargument to the virtual character's statement. For example, they might counter with, "Wouldn't a market economy be more efficient?"
[0337] Output: The user's opinion or rebuttal is sent to the server.
[0338] Step 7:
[0339] The server analyzes the user's message and recognizes emotions.
[0340] Input: User submitted opinions and counterarguments.
[0341] Specific operation: The server again uses the NLP engine to analyze the user's message, and in the process uses the emotion recognition engine to identify the user's emotion, for example, anxiety or anger from the tone of the message.
[0342] Output: Analysis results and sentiment analysis results.
[0343] Step 8:
[0344] The server generates the next utterance for the virtual character based on the recognized emotion.
[0345] Input: Analysis results and sentiment analysis results.
[0346] How it works: The server reflects the recognized emotion and uses a generative AI model to generate the next utterance for the virtual character. For example, if the user feels anxious, the virtual character will respond in a calm tone, saying, "Of course, a market economy is important, but social security is also necessary."
[0347] Output: The adjusted utterances of the virtual character.
[0348] Step 9:
[0349] The server transmits the virtual character's next utterance to the user's terminal.
[0350] Input: The adjusted utterances of the virtual character.
[0351] Specific operation: The server sends the next statement of the generated virtual character to the user's device and displays it in the messaging app.
[0352] Output: The adjusted speech of the virtual character displayed on the user's device.
[0353] Step 10:
[0354] The server determines when the debate is over and provides the results.
[0355] Input: Debate progress.
[0356] Specific operation: The server monitors the number of rounds and content of the debate, and when it determines that a certain condition has been reached, it declares the end of the debate. At the same time, it notifies the user of the results and provides evaluation and feedback.
[0357] Output: Notification of results and evaluation.
[0358] Step 11:
[0359] The server stores the debate log.
[0360] Input: All exchanges from the debate.
[0361] Specific operation: After the debate ends, the server saves all exchanges in a storage device. The log includes the date and time, topic, user comments, virtual character responses, and sentiment analysis results. This allows users to review the debate content later and use it for their own learning.
[0362] Output: Saved debate log.
[0363] (Application example 2)
[0364] 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."
[0365] Existing debate systems have difficulty generating appropriate responses that take users' emotions into account, resulting in a decline in the quality of communication. Furthermore, there is a lack of means to provide quick and accurate product introductions and offers in response to user questions in physical stores, resulting in a lack of improvement in the user experience.
[0366] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: communication means for users to send messages; processing means for receiving messages from the users and selecting a debate theme; control means for virtual characters to start a debate based on the theme selected by the processing means; natural language processing means for analyzing the users' opinions and generating the virtual characters' next utterances; emotion analysis means for recognizing the users' emotions and generating a response corresponding to the emotions; end determination means for determining the end of the debate and providing the results; storage means for saving a debate log; and specific product information selection means for providing optimal product introductions and offers in response to users' questions in a physical store. This enables advanced debate responses that take user emotions into consideration, and further realizes efficient product introductions and offer proposals in a physical store.
[0367] "Communication means" refers to a device, including the devices and protocols, that allow users to send messages and servers to receive those messages.
[0368] "Processing means" refers to a device or software capable of analyzing messages from users and selecting appropriate debate topics.
[0369] "Control means" refers to a device or software that has the function of giving instructions or operations to virtual characters to begin a debate based on a selected theme.
[0370] "Natural language processing means" refers to a device or software that uses natural language processing techniques to analyze comments from a user and generate the virtual character's next utterance.
[0371] "Emotion analysis means" refers to a device or software that uses emotion analysis techniques to recognize emotions in a user's message and generate a response according to the emotions.
[0372] The "end determination means" refers to a device or software that has the function of determining the end of the debate and providing the result to the user.
[0373] "Storage means" refers to a device or software that has the function of storing debate logs and keeping them available for reference as needed.
[0374] The "specific product information selection means" refers to a device or software that has the function of selecting information to provide optimal product introductions and offers in response to user questions in a physical store.
[0375] This invention is a system that recognizes users' emotions and responds appropriately when users debate via the LINE app. This system can also be applied to product introductions and offers in physical stores, aiming to improve the user experience.
[0376] System Components
[0377] Server: This server receives users' messages, selects debate topics, and generates responses for the virtual characters. It also uses emotion analysis to recognize emotions in users' messages and generates responses based on those emotions.
[0378] Device: A smartphone or smart glasses used by a user. This device sends and receives messages to and from the server via the LINE app.
[0379] User: A participant in a debate. Sends messages to the server through the LINE app and receives responses from the server.
[0380] Technology used
[0381] Natural Language Processing (NLP): Parsing the user's message and generating a response for the virtual character.
[0382] Sentiment analysis engine: Recognizes emotions from users' messages and generates appropriate responses.
[0383] Storage device: Save a log of your debates for future reference.
[0384] Program processing flow
[0385] 1. The user sends a message via the LINE app saying "Start a debate."
[0386] 2. The server receives this message and selects an appropriate debate topic.
[0387] 3. Based on the selected topic, the virtual character generates a message to start a debate and sends it to the user.
[0388] 4. Once the user has commented, the message is sent back to the server.
[0389] 5. The server uses NLP technology and an emotion analysis engine to analyze the user's message and generate a response based on their emotion.
[0390] 6. The virtual character's generated response is sent to the user, and the debate continues.
[0391] 7. When the debate is over, the server notifies the user of the result and saves the debate log in a storage device.
[0392] Specific examples
[0393] Example 1: When a user asks "Tell me about this dress" through the LINE app, the server retrieves detailed product data and recognizes the user's confusion through an emotion analysis engine. The virtual character generates a reassuring response, saying, "This dress is designed based on the latest trends. It's also currently on special discount," and sends it to the user through the LINE app.
[0394] Example 2: When a user uses smart glasses to say, "What wine do you recommend?", the server refers to the user's previous purchase history to select an appropriate wine. The sentiment analysis engine recognizes the user's excitement, and the virtual character generates a response to the user saying, "Wow! This is an upgraded version of the wine you previously purchased. It has a richer flavor and is perfect for a special occasion dinner."
[0395] Prompt Sentence Examples
[0396] "Generate a response for when the user is confused:
[0397] User message: "Tell me about this dress"
[0398] Generated response: "This dress is designed according to the latest trends and is currently on special discount."
[0399] As described above, this system can improve the communication experience for users by generating responses that take the user's emotions into consideration. Furthermore, it can also efficiently introduce products and propose offers in physical stores.
[0400] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0401] Step 1:
[0402] A user sends a message.
[0403] Input: The user types the message "Start a debate" through the LINE app.
[0404] How it works: A user's message is sent from their device (smartphone, smart glasses).
[0405] Output: The server receives the message from the user.
[0406] Step 2:
[0407] The server receives and parses the message.
[0408] Input: The user message sent in step 1.
[0409] Operation: The server analyzes the message and uses its processing means to select a debate topic.
[0410] Output: Selected debate topics.
[0411] Step 3:
[0412] The server generates a debate start message for the virtual character.
[0413] Input: Selected debate topic.
[0414] Operation: The server uses the control means to generate a debate start message for the virtual character, sends the prompt text to the generation AI model, and converts the generated text into the LINE app format.
[0415] Output: A message from the virtual character starting a debate.
[0416] Step 4:
[0417] The server sends a debate start message.
[0418] Input: A virtual character's debate start message.
[0419] Operation: The server uses the LINE API to send a debate start message to the user's device.
[0420] Output: Messages are displayed on the terminal.
[0421] Step 5:
[0422] The user submits their opinion.
[0423] Input: User's opinion message in response to the debate start message.
[0424] How it works: A user submits their opinion through the LINE app.
[0425] Output: The server receives the opinion message from the user.
[0426] Step 6:
[0427] The server analyzes the user's opinions.
[0428] Input: The user message sent in step 5.
[0429] Operation: The server uses natural language processing means and sentiment analysis means to analyze the user's opinions and recognize emotions.
[0430] Output: Analysis results and recognized emotions.
[0431] Step 7:
[0432] The server generates the virtual character's response.
[0433] Input: Analysis of user opinions and perceived sentiment.
[0434] How it works: The server uses the generative AI model to generate the next utterance for the virtual character, incorporating the analysis results and emotional information into the prompt to generate an appropriate response.
[0435] Output: The virtual character's response message.
[0436] Step 8:
[0437] The server sends a response message.
[0438] Input: The virtual character's response message.
[0439] Operation: The server uses the LINE API to send the generated response message to the user's device.
[0440] Output: A response message is displayed on the terminal.
[0441] Step 9:
[0442] The server decides when the debate is over.
[0443] Input: Debate log and number of rounds.
[0444] Operation: The server uses the end determination means to determine the end of the debate.
[0445] Output: Termination result.
[0446] Step 10:
[0447] The server provides the results.
[0448] Input: Termination result.
[0449] Operation: The server notifies the user of the results and saves a log of the debate in a storage device.
[0450] Output: Debate results and log storage.
[0451] These are the specific processing steps of the system that realizes this application example. This system allows users to debate through the LINE app and receive appropriate responses that reflect their emotions. It also makes it possible to introduce products and provide offers in physical stores.
[0452] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating 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.
[0453] 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.
[0454] 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.
[0455] [Second embodiment]
[0456] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0457] 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.
[0458] 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).
[0459] 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.
[0460] 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.
[0461] 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).
[0462] 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.
[0463] 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.
[0464] 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.
[0465] 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.
[0466] 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.
[0467] 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."
[0468] This invention is a system that allows users to debate with their opponents via the LINE app. The program of this system operates as follows.
[0469] System Components
[0470] Server: Receives user messages, selects debate topics, and generates responses from virtual characters.
[0471] Device: The user's smartphone or tablet. The user controls the debate through this device.
[0472] Users: Debate participants who send and receive messages via the LINE app.
[0473] Program processing
[0474] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[0475] Once a theme is selected, the server sends a message to a virtual character (e.g., one of several characters prepared as debate opponents) to start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[0476] Once a user expresses their opinion, the message is sent back to the server, which uses NLP (natural language processing) technology to analyze the user's message and generate a response for the virtual character based on its content. The server then sends the generated response back to the user, and the debate continues.
[0477] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[0478] Specific examples
[0479] Example 1:
[0480] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses an opinion in favor. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and has the virtual character respond again. The debate continues in this manner.
[0481] Example 2:
[0482] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?", and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character give the next response. After a certain number of rounds, the server summarizes the results of the debate and provides them to the user.
[0483] This system not only improves users' debating skills, but also eliminates the need for tedious topic selection and partner search, thereby supporting effective learning.
[0484] The processing flow will be explained below.
[0485] Step 1:
[0486] The user sends a message via the LINE app saying "Start a debate."
[0487] Step 2:
[0488] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[0489] Step 3:
[0490] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[0491] Step 4:
[0492] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[0493] Step 5:
[0494] The server generates a message and sends it to the user's terminal.
[0495] Step 6:
[0496] The device receives the message from the server and displays it to the user through the LINE app.
[0497] Step 7:
[0498] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Wouldn't a market economy be more efficient?"
[0499] Step 8:
[0500] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[0501] Step 9:
[0502] The server generates the next statement for the virtual character based on the analysis results, for example, "However, without social welfare, the weak will not receive support, and economic inequality will increase."
[0503] Step 10:
[0504] The server sends the generated message to the user's terminal.
[0505] Step 11:
[0506] The device receives the message from the server and displays it to the user through the LINE app.
[0507] Step 12:
[0508] The process from Steps 7 to 11 is repeated to progress through the rounds of debate.
[0509] Step 13:
[0510] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[0511] Step 14:
[0512] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[0513] Step 15:
[0514] A server-generated termination message is sent to the user's terminal.
[0515] Step 16:
[0516] The device receives the termination message from the server and displays it to the user through the LINE app.
[0517] Step 17:
[0518] The server will save a log of the entire debate, and add the history of this debate to the user's profile so that it can be used for future study.
[0519] Example 1
[0520] 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."
[0521] Conventional debate systems have the problem that users must select the topic themselves and find suitable debate partners, which is time-consuming. Furthermore, the debate progress and response generation are done manually, which hinders efficient learning. Another issue is that the topic selection is random, making it difficult to learn according to the user's interests and skills.
[0522] 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.
[0523] In this invention, the server includes communication means for users to send messages, analysis means for receiving messages from the users and selecting a debate theme, control means for virtual characters to start a debate based on the theme selected by the analysis means, natural language processing means for analyzing opinions from the users and generating the next utterances by the virtual characters, end determination means for determining the end of the debate and providing the results, storage means for saving a debate log, response generation means for generating responses for the virtual characters using a generative AI model, and prompt generation means for querying the generative AI model based on specific prompt sentences. This eliminates the need for users to select a theme or find opponents, enabling efficient debate learning that is tailored to their interests.
[0524] "Communication medium" refers to the technology or interface that users use to send and receive messages.
[0525] "Analysis means" refers to the technology or software library used to analyze received user messages and understand their content.
[0526] The "control means" refers to a technique or mechanism for issuing instructions necessary for the virtual characters to start a debate based on the theme selected by the analysis means.
[0527] "Natural language processing means" refers to the technology or algorithms used to analyze user comments and generate the virtual character's next utterance based on the content of those comments.
[0528] "End Determination Means" refers to the mechanism or technology used to determine the end of a debate and provide the result.
[0529] "Storage means" refers to the data storage and management method for saving debate logs.
[0530] "Response generation means" refers to the technology or mechanism for generating responses from virtual characters using a generative AI model.
[0531] A "prompt generation means" refers to a technology or mechanism for querying a generative AI model based on a specific prompt sentence.
[0532] The present invention is a system for allowing users to debate via a messaging application. The following describes how this system is specifically implemented.
[0533] System configuration
[0534] server
[0535] The server has multiple functions and operates as follows:
[0536] 1. Communication method: Receives messages sent by users via messaging applications. This communication is carried out using, for example, the LINE Messaging API.
[0537] 2. Analysis: A natural language processing (NLP) library (e.g., NLTK or spaCy) is used to analyze the received message, thereby understanding the user's intent and request.
[0538] 3. Control means: Select a debate topic based on the analyzed information and give instructions to the virtual characters to start the debate.
[0539] 4. Natural language processing: Analyzes user opinions and generates responses from virtual characters based on them. This is done using a generative AI model such as GPT-3.
[0540] 5. Termination determination means: The end of the debate is determined when a certain number of rounds or conditions are met, and the result is notified to the user.
[0541] 6. Storage means: Use a data storage (e.g., MySQL database) to store debate logs.
[0542] 7. Response generation means: Generate responses for the virtual character using a generative AI model.
[0543] 8. Prompt generation means: Generate specific prompt sentences and input them into the generative AI model.
[0544] Terminal
[0545] The user's terminal is a device such as a smartphone or tablet, and is used as follows.
[0546] Communication method: Messages are sent and received with the server using the LINE application.
[0547] Display method: Messages sent from the server are displayed on the LINE app.
[0548] User
[0549] To participate in a debate, a user performs the following operations:
[0550] Sending a message: Using the LINE application, send a message such as "Start a debate" to the server.
[0551] Expressing an opinion: Express your opinion on the virtual character's response.
[0552] Example of operation
[0553] Example 1: Starting a debate
[0554] The user sends a message on the LINE app saying "Start a debate." The server receives this message and selects the theme "Is social welfare the government's responsibility?" The virtual character expresses a supporting opinion, and the user counters with "Wouldn't a market economy be more efficient?" The server analyzes the opinion and has the virtual character respond again.
[0555] Example 2: Discussion on a specific topic
[0556] The user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" The virtual character expresses an opposing opinion. When the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character make the following response.
[0557] Prompt Sentence Examples
[0558] "Is social welfare a government responsibility? Please respond in favor."
[0559] "Are eco-cars effective in protecting the environment? Please respond with your opposing position."
[0560] This system eliminates the need for users to select debate topics or find opponents, enabling effective learning based on interests and skills.
[0561] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0562] markdown
[0563] Step 1:
[0564] The user uses the LINE app on their device to enter a message such as "Start a debate" and press the send button. This is sent to the server as the initial input, and the server then receives the message via the LINE Messaging API.
[0565] Step 2:
[0566] The server uses a Python program and a natural language processing (NLP) library such as NLTK or spaCy to parse the received message. It extracts the instruction "start a debate" from the message. The result of this analysis becomes the input data for the next step.
[0567] Step 3:
[0568] The server selects a debate theme based on the analysis results. The selection is made either randomly from a list of themes prepared in advance, or based on the user's past debate logs. For example, the server executes the query "SELECT theme FROM themes ORDER BY RAND() LIMIT 1;" from the MySQL database to obtain the theme. The obtained theme becomes the input data for the next process.
[0569] Step 4:
[0570] The server generates a response from the virtual character based on the acquired theme. This is done using a generative AI model such as GPT-3. A specific prompt is generated and sent to GPT-3. A prompt such as "Is social welfare the government's responsibility? Please respond in favor" is input into the generative AI model, and the generated response becomes the input data for the next process.
[0571] Step 5:
[0572] The server sends the generated virtual character's response to the user's device using the LINE Messaging API. This allows the user to check the virtual character's opinion on the LINE app. Input data is prepared for the user to express their next opinion through the log.
[0573] Step 6:
[0574] The user can state their opinion in favor of or against the virtual character's opinion. For example, they can type, "Wouldn't a market economy be more efficient?" and press the send button. This message is sent to the server and becomes the input data for the next processing step.
[0575] Step 7:
[0576] The server receives a new message from the user and again analyzes the content using NLP technology. Using the results of this analysis, it sends another prompt to GPT-3 to generate the next response. A prompt such as "Wouldn't a market economy be more efficient? Please respond to that" is input into the generative AI model, and the generated response becomes the input data for the next process.
[0577] Step 8:
[0578] The server determines whether the debate has reached a certain number of rounds. If the number of rounds reaches the limit, it generates a message saying "Debate Ended" and notifies the user. This determination result becomes the input data for ending the debate.
[0579] Step 9:
[0580] The server stores a log of the entire debate, including the theme, user comments, and virtual character responses. This is saved in a MySQL database using a query such as "INSERT INTO logs (user_id, theme, user_message, ai_response) VALUES (?, ?, ?, ?);". This saves all debate data for later review and learning.
[0581] (Application example 1)
[0582] 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."
[0583] In the current situation where there are limited means for users to efficiently improve their online debating skills, a system that allows effective learning while eliminating the hassle of selecting a topic and finding opponents is needed. Furthermore, a system with an advanced interface and functionality is needed that allows users to request specific topics and deepen their learning based on past debate logs.
[0584] 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.
[0585] In this invention, the server includes information processing means for selecting a topic based on the user's past debate logs and areas of interest, interface means for allowing the user to request a specific topic, and means for the server to analyze the user's message using natural language processing technology and generate a response from the virtual character based on the content of the message. This allows the user to study effectively while eliminating the effort of selecting a topic and finding a partner.
[0586] A "communication medium" is a technique or method by which a user can send a message and a system can receive it.
[0587] "Information processing means" refers to the techniques and methods used to analyze users' messages and select debate topics.
[0588] The "control means" refers to a technique or method for setting the virtual characters to start a debate based on a selected theme.
[0589] "Natural language processing means" refers to techniques and methods for analyzing user opinions and generating the next utterances of the virtual character.
[0590] The "end determination means" is a technique or method for determining the end of a debate and providing the result to the user.
[0591] "Storage means" refers to the technology or method for storing debate logs.
[0592] An "interface means" is a technique or method that allows a user to request a particular theme.
[0593] The "response generation means" refers to a technique or method for analyzing a user's message using natural language processing technology and generating a response from a virtual character based on the content of the message.
[0594] "Selection means" refers to techniques or methods that allow a virtual character to function as multiple characters with different settings or characteristics.
[0595] The present invention is a system for allowing users to hold online debates, and is based on technology for selecting debate topics, debating with virtual characters, and storing and analyzing debate results. The following describes in detail the embodiments of the present invention.
[0596] System Configuration
[0597] 1. Means of communication
[0598] The means by which users send messages is through a user device, such as a smartphone or tablet, which communicates with a server through an internet connection.
[0599] 2. Information Processing Means
[0600] The server has an information processing means for receiving messages from users and selecting debate topics from a list of various topics based on the user's past logs and areas of interest.
[0601] 3. Control Measures
[0602] The server has a control means for starting a debate among virtual characters based on a selected theme. The virtual characters have different settings and characteristics, and can be selected as multiple characters.
[0603] 4. Natural Language Processing Methods
[0604] The server uses natural language processing technology (e.g., Google Cloud NLP, IBM Watson) to analyze the user's opinion and generate the next utterance for the virtual character. This natural language processing method understands the content of the user's opinion and generates an appropriate response.
[0605] 5. Termination Determination Method
[0606] The server has a means to determine when a debate has ended after a certain number of rounds. After the debate has ended, the server notifies the user of the results, which can be used for learning purposes.
[0607] 6. Storage means
[0608] The server has a storage means for storing debate logs in a storage device, allowing users to later check their own debate content and confirm their learning progress.
[0609] 7. Interface Methods
[0610] The interface means allows users to request specific topics, allowing users to freely debate topics that interest them.
[0611] Specific examples of implementation
[0612] Example 1:
[0613] When a user requests a debate on the topic "Does AI technology cause ethical issues?", the server selects this topic and has a virtual character state its initial opinion. The virtual character states, "AI could lead to privacy violations and job losses." The user responds, "AI will also create many new jobs." The server analyzes this using natural language processing technology and responds, "New jobs will be created, but they will require retraining."
[0614] Example prompt sentence:
[0615] User message: "AI technology will create many new jobs, but they will require retraining."
[0616] Response Generation Prompt: "Generate a response to this statement from a hypothetical character who has a critical opinion about the retraining process of AI technology."
[0617] In this way, the present invention supports effective debate learning.
[0618] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0619] Step 1:
[0620] To start a debate, a user operates a terminal and requests a theme. This operation causes the terminal to send the user's request message as input to the server, which triggers the start of the debate.
[0621] Step 2:
[0622] The server receives the user's request message and selects a theme using information processing means. Specifically, the server refers to the user's past debate logs and areas of interest, and selects an appropriate theme from a pre-prepared theme list. The selected theme is generated as output.
[0623] Step 3:
[0624] The server selects a virtual character based on the selected theme and generates an initial message to start the debate. The virtual character has multiple settings and characteristics, and the character that best suits the theme is selected. The generated initial message is sent to the user as output.
[0625] Step 4:
[0626] The user receives an initial message from the virtual character on their device and expresses their opinion on the content. This opinion is sent from the device to the server and used as input data.
[0627] Step 5:
[0628] The server uses natural language processing to analyze the user's opinion. The analysis extracts the main points, emotions, and intentions of the user's opinion, and generates the next utterance for the virtual character based on these. The generated utterance is then sent to the user as output.
[0629] Step 6:
[0630] The above dialogue is repeated until a certain number of rounds have been reached, at which point the server uses the termination determination means to determine whether the debate has ended. Based on this determination, the final result is output and notified to the user.
[0631] Step 7:
[0632] The debate log is saved in a storage device on the server. The saved data includes all interactions between the user and the virtual character, and is kept as data for the user to use for study or review at a later date.
[0633] Step 8:
[0634] After a debate, users can view the saved log, which allows them to review past debate content and obtain information that will help them improve their debating skills in the future.
[0635] 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.
[0636] This invention is a system that allows users to debate with their opponents via the LINE app, and also recognizes and responds to the user's emotions. The program of this system operates as follows.
[0637] System Components
[0638] Server: Receives user messages, selects debate topics, generates responses for virtual characters, and recognizes emotions.
[0639] Device: The user's smartphone or tablet. The user controls the debate through this device.
[0640] Users: Debate participants who send and receive messages via the LINE app.
[0641] Program processing
[0642] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[0643] Once a theme is selected, the server generates a message to have the virtual characters start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[0644] Once the user has expressed their opinion, the message is sent back to the server, which uses NLP (Natural Language Processing) technology to analyze the user's message and uses an emotion engine to recognize the emotions in the user's message.
[0645] Based on the recognized emotion, the server generates the next utterance for the virtual character. If the emotion engine recognizes that the user is angry, the virtual character adjusts its response to a calmer tone. The server sends the generated utterance to the user, and the debate continues.
[0646] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[0647] Specific examples
[0648] Example 1:
[0649] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses support. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and recognizes the emotion from the user's tone. If the emotion engine recognizes the user's anxiety, the virtual character responds, "Certainly, a market economy is important, but social security is also necessary."
[0650] Example 2:
[0651] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes the user's excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[0652] This system not only improves users' debating skills, but also enables more effective communication by allowing the virtual characters to respond appropriately based on their emotions.
[0653] The processing flow will be explained below.
[0654] Step 1:
[0655] The user sends a message via the LINE app saying "Start a debate."
[0656] Step 2:
[0657] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[0658] Step 3:
[0659] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[0660] Step 4:
[0661] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[0662] Step 5:
[0663] The server generates a message and sends it to the user's terminal.
[0664] Step 6:
[0665] The device receives the message from the server and displays it to the user through the LINE app.
[0666] Step 7:
[0667] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Isn't a market economy more efficient?"
[0668] Step 8:
[0669] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[0670] Step 9:
[0671] The server uses an emotion engine to recognize emotions contained in the user's message, for example, the emotion engine detects anger in the user's message.
[0672] Step 10:
[0673] The server generates the next utterance for the virtual character based on the analysis results and emotion recognition results. If the emotion engine recognizes that the user is angry, it adjusts the virtual character's response to a calmer tone. For example, it generates a response such as, "Certainly, a market economy is important. However, without social welfare, the weak will suffer."
[0674] Step 11:
[0675] The server sends the generated message to the user's terminal.
[0676] Step 12:
[0677] The device receives the message from the server and displays it to the user through the LINE app.
[0678] Step 13:
[0679] The process from Step 7 to Step 12 is repeated to progress through the rounds of debate.
[0680] Step 14:
[0681] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[0682] Step 15:
[0683] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[0684] Step 16:
[0685] A server-generated termination message is sent to the user's terminal.
[0686] Step 17:
[0687] The device receives the termination message from the server and displays it to the user through the LINE app.
[0688] Step 18:
[0689] The server saves a log of the entire debate. The debate history and emotion recognition data are added to the user profile so that it can be used for future learning. For example, the system can analyze the emotional trends felt by the user during the debate and use this information to provide advice for the next debate.
[0690] These detailed processing steps allow users to not only improve their skills through the debate experience, but also to communicate more effectively by receiving emotionally appropriate responses.
[0691] Example 2
[0692] 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."
[0693] Conventional debate systems were unable to generate responses based on the user's emotions, resulting in mechanical responses that compromised the user experience. Furthermore, when selecting debate topics, it was difficult to utilize the user's past debate logs, making it difficult to select appropriate topics. Furthermore, the log saving function after the debate ended was insufficient, limiting the means by which users could review the content of the debate later.
[0694] 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.
[0695] In this invention, the server includes processing means for receiving user messages and selecting a debate theme, control means for the virtual characters to start a debate based on the theme selected by the processing means, natural language processing means for analyzing user opinions and generating the virtual characters' next utterances, emotion recognition means for recognizing emotions from the user's utterances, response adjustment means for adjusting the virtual characters' utterances based on the recognized emotions, end determination means for determining the end of the debate and providing the results, and storage means for saving the debate log. This makes it possible to generate responses based on user emotions and select a theme using past debate logs, thereby enhancing the log saving function after the debate ends.
[0696] A "communication medium" is an interface used by users to send and receive messages.
[0697] The "processing means" is a component that receives messages from users, analyzes them, and selects a topic for debate.
[0698] The "control means" is a component that gives instructions for the virtual characters to start a debate based on the selected theme.
[0699] "Natural language processing means" is a technology for analyzing opinions from users and generating responses from virtual characters.
[0700] "Emotion recognition means" is a technology that analyzes and recognizes the emotions in a user's message.
[0701] A "response adjustment means" is a component for adjusting the tone and content of a virtual character's speech based on the recognized emotion.
[0702] "End determination means" refers to a technology or algorithm for determining the end of a debate and providing the result.
[0703] "Storage means" refers to a storage device or database for storing debate logs.
[0704] "Information processing means" refers to the data processing technology required to select an appropriate topic based on the user's past debate log.
[0705] The "selection means" refers to an interface or algorithm for selecting a debate opponent from among multiple different virtual characters.
[0706] This invention realizes a system in which users debate via a messaging app and a server supports the debate. Furthermore, the system recognizes users' emotions and generates appropriate responses accordingly, thereby enhancing the effectiveness of the debate.
[0707] Basic configuration
[0708] Communication Method:
[0709] Users send messages using messaging apps on their smartphones or tablets, which are then sent over the internet to a server using common messaging protocols.
[0710] Processing Method:
[0711] The server analyzes the received messages and uses natural language processing (NLP) techniques to select topics for debate, specifically Google Cloud NLP or any other suitable NLP engine.
[0712] Control means:
[0713] The server generates responses based on the selected theme for the virtual characters to start a debate, using a generative AI model (such as OpenAI's GPT-4).
[0714] Natural language processing tools:
[0715] The server then analyzes the user's opinions and counterarguments again and generates the next utterance, using natural language processing software such as Google Cloud NLP.
[0716] Emotion recognition means:
[0717] The server uses an emotion recognition engine (e.g., IBM Watson Tone Analyzer) to recognize the emotion in the user's message. This technology takes into account not only the context of the message but also its emotion.
[0718] Response adjustment measures:
[0719] The server then adjusts the virtual character's speech based on the perceived emotion. For example, if the server detects that the user is angry, the virtual character will respond in a calmer tone. This response adjustment also uses a generative AI model.
[0720] Termination determination method:
[0721] The server monitors the progress of the debate and ends it when a certain number of rounds have been reached. After determining that the debate is over, it notifies the user of the results of the debate.
[0722] Storage means:
[0723] After the debate ends, the server stores the debate log in a storage device, which includes the date and time, the topic, user comments, responses from the virtual characters, and sentiment analysis results.
[0724] Specific examples
[0725] Example 1:
[0726] A user sends a message on a messaging app saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and a virtual character expresses support for the idea that "social welfare is the government's responsibility." If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the message and recognizes anxiety from the user's tone. If the emotion engine recognizes anxiety, the virtual character responds, "Certainly a market economy is important, but social security is also necessary."
[0727] Example prompt:
[0728] User: Start a debate
[0729] Sarver: Is social welfare a government responsibility?
[0730] Virtual character: Social welfare is the responsibility of the government
[0731] User: Wouldn't a market economy be more efficient?
[0732] Example 2:
[0733] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses the opposing opinion that "eco-cars are not very effective in protecting the environment." When the user says, "They have less of an environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[0734] Example prompt:
[0735] User: I want to discuss eco-cars
[0736] Server: Are eco-friendly cars effective for protecting the environment?
[0737] Virtual character: Eco-friendly cars can be harmful to the environment
[0738] User: Less environmental impact than gasoline-powered vehicles
[0739] This allows users to have a high-quality debate experience and receive appropriate responses that take emotions into consideration.
[0740] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0741] Step 1:
[0742] A user sends a message to start a debate.
[0743] Input: A message like "Start the debate."
[0744] Specific operation: A user uses a messaging app on a smartphone or tablet to send a message to the server to start a debate, typing "Start a debate" and pressing the send button.
[0745] Output: The message is sent to the server.
[0746] Step 2:
[0747] The server receives and parses the message.
[0748] Input: The message "Start a debate" sent by the user.
[0749] What happens: The server uses an NLP engine to analyze the message received via the messaging protocol, and understands that the user wants to start a debate.
[0750] Output: Instructions to start the debate.
[0751] Step 3:
[0752] The server selects the debate topic.
[0753] Input: Instructions to begin debate.
[0754] Specific operation: The server randomly selects a topic from a pre-defined list or selects an appropriate topic based on past debate logs. Data processing here involves retrieving users' past comment logs from a database and using a selection algorithm to select the optimal topic.
[0755] Output: Selected debate topic.
[0756] Step 4:
[0757] The server generates the initial utterance of the virtual character.
[0758] Input: Selected debate topic.
[0759] Specific operation: The server uses a generative AI model (e.g., GPT-4) to generate the initial utterance of a virtual character based on the selected theme. This prompt is then input into the model to generate an appropriate response, and the output is obtained.
[0760] Output: The fictional character's first utterance.
[0761] Step 5:
[0762] The server sends the virtual character's message to the user's terminal.
[0763] Input: The fictional character's first utterance.
[0764] How it works: The server sends the generated virtual character's speech to the user's device. This data is sent using a messaging protocol and displayed in the user's messaging app.
[0765] Output: The speech of the virtual character displayed on the user's device.
[0766] Step 6:
[0767] Users submit their opinions and counterarguments.
[0768] Input: User's opinion or rebuttal after seeing what the virtual character says.
[0769] Specific operation: The user inputs and sends a message expressing their opinion or counterargument to the virtual character's statement. For example, they might counter with, "Wouldn't a market economy be more efficient?"
[0770] Output: The user's opinion or rebuttal is sent to the server.
[0771] Step 7:
[0772] The server analyzes the user's message and recognizes emotions.
[0773] Input: User submitted opinions and counterarguments.
[0774] Specific operation: The server again uses the NLP engine to analyze the user's message, and in the process uses the emotion recognition engine to identify the user's emotion, for example, anxiety or anger from the tone of the message.
[0775] Output: Analysis results and sentiment analysis results.
[0776] Step 8:
[0777] The server generates the next utterance for the virtual character based on the recognized emotion.
[0778] Input: Analysis results and sentiment analysis results.
[0779] How it works: The server reflects the recognized emotion and uses a generative AI model to generate the next utterance for the virtual character. For example, if the user feels anxious, the virtual character will respond in a calm tone, saying, "Of course, a market economy is important, but social security is also necessary."
[0780] Output: The adjusted utterances of the virtual character.
[0781] Step 9:
[0782] The server transmits the virtual character's next utterance to the user's terminal.
[0783] Input: The adjusted utterances of the virtual character.
[0784] Specific operation: The server sends the next statement of the generated virtual character to the user's device and displays it in the messaging app.
[0785] Output: The adjusted speech of the virtual character displayed on the user's device.
[0786] Step 10:
[0787] The server determines when the debate is over and provides the results.
[0788] Input: Debate progress.
[0789] Specific operation: The server monitors the number of rounds and content of the debate, and when it determines that a certain condition has been reached, it declares the end of the debate. At the same time, it notifies the user of the results and provides evaluation and feedback.
[0790] Output: Notification of results and evaluation.
[0791] Step 11:
[0792] The server stores the debate log.
[0793] Input: All exchanges from the debate.
[0794] Specific operation: After the debate ends, the server saves all exchanges in a storage device. The log includes the date and time, topic, user comments, virtual character responses, and sentiment analysis results. This allows users to review the debate content later and use it for their own learning.
[0795] Output: Saved debate log.
[0796] (Application example 2)
[0797] 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."
[0798] Existing debate systems have difficulty generating appropriate responses that take users' emotions into account, resulting in a decline in the quality of communication. Furthermore, there is a lack of means to provide quick and accurate product introductions and offers in response to user questions in physical stores, resulting in a lack of improvement in the user experience.
[0799] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: communication means for users to send messages; processing means for receiving messages from the users and selecting a debate theme; control means for virtual characters to start a debate based on the theme selected by the processing means; natural language processing means for analyzing the users' opinions and generating the virtual characters' next utterances; emotion analysis means for recognizing the users' emotions and generating a response corresponding to the emotions; end determination means for determining the end of the debate and providing the results; storage means for saving a debate log; and specific product information selection means for providing optimal product introductions and offers in response to users' questions in a physical store. This enables advanced debate responses that take user emotions into consideration, and further realizes efficient product introductions and offer proposals in a physical store.
[0800] "Communication means" refers to a device, including the devices and protocols, that allow users to send messages and servers to receive those messages.
[0801] "Processing means" refers to a device or software capable of analyzing messages from users and selecting appropriate debate topics.
[0802] "Control means" refers to a device or software that has the function of giving instructions or operations to virtual characters to begin a debate based on a selected theme.
[0803] "Natural language processing means" refers to a device or software that uses natural language processing techniques to analyze comments from a user and generate the virtual character's next utterance.
[0804] "Emotion analysis means" refers to a device or software that uses emotion analysis techniques to recognize emotions in a user's message and generate a response according to the emotions.
[0805] The "end determination means" refers to a device or software that has the function of determining the end of the debate and providing the result to the user.
[0806] "Storage means" refers to a device or software that has the function of storing debate logs and keeping them available for reference as needed.
[0807] The "specific product information selection means" refers to a device or software that has the function of selecting information to provide optimal product introductions and offers in response to user questions in a physical store.
[0808] This invention is a system that recognizes users' emotions and responds appropriately when users debate via the LINE app. This system can also be applied to product introductions and offers in physical stores, aiming to improve the user experience.
[0809] System Components
[0810] Server: This server receives users' messages, selects debate topics, and generates responses for the virtual characters. It also uses emotion analysis to recognize emotions in users' messages and generates responses based on those emotions.
[0811] Device: A smartphone or smart glasses used by a user. This device sends and receives messages to and from the server via the LINE app.
[0812] User: A participant in a debate. Sends messages to the server through the LINE app and receives responses from the server.
[0813] Technology used
[0814] Natural Language Processing (NLP): Parsing the user's message and generating a response for the virtual character.
[0815] Sentiment analysis engine: Recognizes emotions from users' messages and generates appropriate responses.
[0816] Storage device: Save a log of your debates for future reference.
[0817] Program processing flow
[0818] 1. The user sends a message via the LINE app saying "Start a debate."
[0819] 2. The server receives this message and selects an appropriate debate topic.
[0820] 3. Based on the selected topic, the virtual character generates a message to start a debate and sends it to the user.
[0821] 4. Once the user has commented, the message is sent back to the server.
[0822] 5. The server uses NLP technology and an emotion analysis engine to analyze the user's message and generate a response based on their emotion.
[0823] 6. The virtual character's generated response is sent to the user, and the debate continues.
[0824] 7. When the debate is over, the server notifies the user of the result and saves the debate log in a storage device.
[0825] Specific examples
[0826] Example 1: When a user asks "Tell me about this dress" through the LINE app, the server retrieves detailed product data and recognizes the user's confusion through an emotion analysis engine. The virtual character generates a reassuring response, saying, "This dress is designed based on the latest trends. It's also currently on special discount," and sends it to the user through the LINE app.
[0827] Example 2: When a user uses smart glasses to say, "What wine do you recommend?", the server refers to the user's previous purchase history to select an appropriate wine. The sentiment analysis engine recognizes the user's excitement, and the virtual character generates a response to the user saying, "Wow! This is an upgraded version of the wine you previously purchased. It has a richer flavor and is perfect for a special occasion dinner."
[0828] Prompt Sentence Examples
[0829] "Generate a response for when the user is confused:
[0830] User message: "Tell me about this dress"
[0831] Generated response: "This dress is designed according to the latest trends and is currently on special discount."
[0832] As described above, this system can improve the communication experience for users by generating responses that take the user's emotions into consideration. Furthermore, it can also efficiently introduce products and propose offers in physical stores.
[0833] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0834] Step 1:
[0835] A user sends a message.
[0836] Input: The user types the message "Start a debate" through the LINE app.
[0837] How it works: A user's message is sent from their device (smartphone, smart glasses).
[0838] Output: The server receives the message from the user.
[0839] Step 2:
[0840] The server receives and parses the message.
[0841] Input: The user message sent in step 1.
[0842] Operation: The server analyzes the message and uses its processing means to select a debate topic.
[0843] Output: Selected debate topics.
[0844] Step 3:
[0845] The server generates a debate start message for the virtual character.
[0846] Input: Selected debate topic.
[0847] Operation: The server uses the control means to generate a debate start message for the virtual character, sends the prompt text to the generation AI model, and converts the generated text into the LINE app format.
[0848] Output: A message from the virtual character starting a debate.
[0849] Step 4:
[0850] The server sends a debate start message.
[0851] Input: A virtual character's debate start message.
[0852] Operation: The server uses the LINE API to send a debate start message to the user's device.
[0853] Output: Messages are displayed on the terminal.
[0854] Step 5:
[0855] The user submits their opinion.
[0856] Input: User's opinion message in response to the debate start message.
[0857] How it works: A user submits their opinion through the LINE app.
[0858] Output: The server receives the opinion message from the user.
[0859] Step 6:
[0860] The server analyzes the user's opinions.
[0861] Input: The user message sent in step 5.
[0862] Operation: The server uses natural language processing means and sentiment analysis means to analyze the user's opinions and recognize emotions.
[0863] Output: Analysis results and recognized emotions.
[0864] Step 7:
[0865] The server generates the virtual character's response.
[0866] Input: Analysis of user opinions and perceived sentiment.
[0867] How it works: The server uses the generative AI model to generate the next utterance for the virtual character, incorporating the analysis results and emotional information into the prompt to generate an appropriate response.
[0868] Output: The virtual character's response message.
[0869] Step 8:
[0870] The server sends a response message.
[0871] Input: The virtual character's response message.
[0872] Operation: The server uses the LINE API to send the generated response message to the user's device.
[0873] Output: A response message is displayed on the terminal.
[0874] Step 9:
[0875] The server decides when the debate is over.
[0876] Input: Debate log and number of rounds.
[0877] Operation: The server uses the end determination means to determine the end of the debate.
[0878] Output: Termination result.
[0879] Step 10:
[0880] The server provides the results.
[0881] Input: Termination result.
[0882] Operation: The server notifies the user of the results and saves a log of the debate in a storage device.
[0883] Output: Debate results and log storage.
[0884] These are the specific processing steps of the system that realizes this application example. This system allows users to debate through the LINE app and receive appropriate responses that reflect their emotions. It also makes it possible to introduce products and provide offers in physical stores.
[0885] 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.
[0886] 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.
[0887] 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.
[0888] [Third embodiment]
[0889] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0890] 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.
[0891] 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).
[0892] 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.
[0893] 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.
[0894] 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).
[0895] 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.
[0896] 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.
[0897] 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.
[0898] 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.
[0899] 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.
[0900] 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."
[0901] This invention is a system that allows users to debate with their opponents via the LINE app. The program of this system operates as follows.
[0902] System Components
[0903] Server: Receives user messages, selects debate topics, and generates responses from virtual characters.
[0904] Device: The user's smartphone or tablet. The user controls the debate through this device.
[0905] Users: Debate participants who send and receive messages via the LINE app.
[0906] Program processing
[0907] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[0908] Once a theme is selected, the server sends a message to a virtual character (e.g., one of several characters prepared as debate opponents) to start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[0909] Once a user expresses their opinion, the message is sent back to the server, which uses NLP (natural language processing) technology to analyze the user's message and generate a response for the virtual character based on its content. The server then sends the generated response back to the user, and the debate continues.
[0910] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[0911] Specific examples
[0912] Example 1:
[0913] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses an opinion in favor. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and has the virtual character respond again. The debate continues in this manner.
[0914] Example 2:
[0915] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?", and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character give the next response. After a certain number of rounds, the server summarizes the results of the debate and provides them to the user.
[0916] This system not only improves users' debating skills, but also eliminates the need for tedious topic selection and partner search, thereby supporting effective learning.
[0917] The processing flow will be explained below.
[0918] Step 1:
[0919] The user sends a message via the LINE app saying "Start a debate."
[0920] Step 2:
[0921] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[0922] Step 3:
[0923] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[0924] Step 4:
[0925] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[0926] Step 5:
[0927] The server generates a message and sends it to the user's terminal.
[0928] Step 6:
[0929] The device receives the message from the server and displays it to the user through the LINE app.
[0930] Step 7:
[0931] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Wouldn't a market economy be more efficient?"
[0932] Step 8:
[0933] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[0934] Step 9:
[0935] The server generates the next statement for the virtual character based on the analysis results, for example, "However, without social welfare, the weak will not receive support, and economic inequality will increase."
[0936] Step 10:
[0937] The server sends the generated message to the user's terminal.
[0938] Step 11:
[0939] The device receives the message from the server and displays it to the user through the LINE app.
[0940] Step 12:
[0941] The process from Steps 7 to 11 is repeated to progress through the rounds of debate.
[0942] Step 13:
[0943] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[0944] Step 14:
[0945] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[0946] Step 15:
[0947] A server-generated termination message is sent to the user's terminal.
[0948] Step 16:
[0949] The device receives the termination message from the server and displays it to the user through the LINE app.
[0950] Step 17:
[0951] The server will save a log of the entire debate, and add the history of this debate to the user's profile so that it can be used for future study.
[0952] Example 1
[0953] 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."
[0954] Conventional debate systems have the problem that users must select the topic themselves and find suitable debate partners, which is time-consuming. Furthermore, the debate progress and response generation are done manually, which hinders efficient learning. Another issue is that the topic selection is random, making it difficult to learn according to the user's interests and skills.
[0955] 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.
[0956] In this invention, the server includes communication means for users to send messages, analysis means for receiving messages from the users and selecting a debate theme, control means for virtual characters to start a debate based on the theme selected by the analysis means, natural language processing means for analyzing opinions from the users and generating the next utterances by the virtual characters, end determination means for determining the end of the debate and providing the results, storage means for saving a debate log, response generation means for generating responses for the virtual characters using a generative AI model, and prompt generation means for querying the generative AI model based on specific prompt sentences. This eliminates the need for users to select a theme or find opponents, enabling efficient debate learning that is tailored to their interests.
[0957] "Communication medium" refers to the technology or interface that users use to send and receive messages.
[0958] "Analysis means" refers to the technology or software library used to analyze received user messages and understand their content.
[0959] The "control means" refers to a technique or mechanism for issuing instructions necessary for the virtual characters to start a debate based on the theme selected by the analysis means.
[0960] "Natural language processing means" refers to the technology or algorithms used to analyze user comments and generate the virtual character's next utterance based on the content of those comments.
[0961] "End Determination Means" refers to the mechanism or technology used to determine the end of a debate and provide the result.
[0962] "Storage means" refers to the data storage and management method for saving debate logs.
[0963] "Response generation means" refers to the technology or mechanism for generating responses from virtual characters using a generative AI model.
[0964] A "prompt generation means" refers to a technology or mechanism for querying a generative AI model based on a specific prompt sentence.
[0965] The present invention is a system for allowing users to debate via a messaging application. The following describes how this system is specifically implemented.
[0966] System configuration
[0967] server
[0968] The server has multiple functions and operates as follows:
[0969] 1. Communication method: Receives messages sent by users via messaging applications. This communication is carried out using, for example, the LINE Messaging API.
[0970] 2. Analysis: A natural language processing (NLP) library (e.g., NLTK or spaCy) is used to analyze the received message, thereby understanding the user's intent and request.
[0971] 3. Control means: Select a debate topic based on the analyzed information and give instructions to the virtual characters to start the debate.
[0972] 4. Natural language processing: Analyzes user opinions and generates responses from virtual characters based on them. This is done using a generative AI model such as GPT-3.
[0973] 5. Termination determination means: The end of the debate is determined when a certain number of rounds or conditions are met, and the result is notified to the user.
[0974] 6. Storage means: Use a data storage (e.g., MySQL database) to store debate logs.
[0975] 7. Response generation means: Generate responses for the virtual character using a generative AI model.
[0976] 8. Prompt generation means: Generate specific prompt sentences and input them into the generative AI model.
[0977] Terminal
[0978] The user's terminal is a device such as a smartphone or tablet, and is used as follows.
[0979] Communication method: Messages are sent and received with the server using the LINE application.
[0980] Display method: Messages sent from the server are displayed on the LINE app.
[0981] User
[0982] To participate in a debate, a user performs the following operations:
[0983] Sending a message: Using the LINE application, send a message such as "Start a debate" to the server.
[0984] Expressing an opinion: Express your opinion on the virtual character's response.
[0985] Example of operation
[0986] Example 1: Starting a debate
[0987] The user sends a message on the LINE app saying "Start a debate." The server receives this message and selects the theme "Is social welfare the government's responsibility?" The virtual character expresses a supporting opinion, and the user counters with "Wouldn't a market economy be more efficient?" The server analyzes the opinion and has the virtual character respond again.
[0988] Example 2: Discussion on a specific topic
[0989] The user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" The virtual character expresses an opposing opinion. When the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character make the following response.
[0990] Prompt Sentence Examples
[0991] "Is social welfare a government responsibility? Please respond in favor."
[0992] "Are eco-cars effective in protecting the environment? Please respond with your opposing position."
[0993] This system eliminates the need for users to select debate topics or find opponents, enabling effective learning based on interests and skills.
[0994] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0995] markdown
[0996] Step 1:
[0997] The user uses the LINE app on their device to enter a message such as "Start a debate" and press the send button. This is sent to the server as the initial input, and the server then receives the message via the LINE Messaging API.
[0998] Step 2:
[0999] The server uses a Python program and a natural language processing (NLP) library such as NLTK or spaCy to parse the received message. It extracts the instruction "start a debate" from the message. The result of this analysis becomes the input data for the next step.
[1000] Step 3:
[1001] The server selects a debate theme based on the analysis results. The selection is made either randomly from a list of themes prepared in advance, or based on the user's past debate logs. For example, the server executes the query "SELECT theme FROM themes ORDER BY RAND() LIMIT 1;" from the MySQL database to obtain the theme. The obtained theme becomes the input data for the next process.
[1002] Step 4:
[1003] The server generates a response from the virtual character based on the acquired theme. This is done using a generative AI model such as GPT-3. A specific prompt is generated and sent to GPT-3. A prompt such as "Is social welfare the government's responsibility? Please respond in favor" is input into the generative AI model, and the generated response becomes the input data for the next process.
[1004] Step 5:
[1005] The server sends the generated virtual character's response to the user's device using the LINE Messaging API. This allows the user to check the virtual character's opinion on the LINE app. Input data is prepared for the user to express their next opinion through the log.
[1006] Step 6:
[1007] The user can state their opinion in favor of or against the virtual character's opinion. For example, they can type, "Wouldn't a market economy be more efficient?" and press the send button. This message is sent to the server and becomes the input data for the next processing step.
[1008] Step 7:
[1009] The server receives a new message from the user and again analyzes the content using NLP technology. Using the results of this analysis, it sends another prompt to GPT-3 to generate the next response. A prompt such as "Wouldn't a market economy be more efficient? Please respond to that" is input into the generative AI model, and the generated response becomes the input data for the next process.
[1010] Step 8:
[1011] The server determines whether the debate has reached a certain number of rounds. If the number of rounds reaches the limit, it generates a message saying "Debate Ended" and notifies the user. This determination result becomes the input data for ending the debate.
[1012] Step 9:
[1013] The server stores a log of the entire debate, including the theme, user comments, and virtual character responses. This is saved in a MySQL database using a query such as "INSERT INTO logs (user_id, theme, user_message, ai_response) VALUES (?, ?, ?, ?);". This saves all debate data for later review and learning.
[1014] (Application example 1)
[1015] 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."
[1016] In the current situation where there are limited means for users to efficiently improve their online debating skills, a system that allows effective learning while eliminating the hassle of selecting a topic and finding opponents is needed. Furthermore, a system with an advanced interface and functionality is needed that allows users to request specific topics and deepen their learning based on past debate logs.
[1017] 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.
[1018] In this invention, the server includes information processing means for selecting a topic based on the user's past debate logs and areas of interest, interface means for allowing the user to request a specific topic, and means for the server to analyze the user's message using natural language processing technology and generate a response from the virtual character based on the content of the message. This allows the user to study effectively while eliminating the effort of selecting a topic and finding a partner.
[1019] A "communication medium" is a technique or method by which a user can send a message and a system can receive it.
[1020] "Information processing means" refers to the techniques and methods used to analyze users' messages and select debate topics.
[1021] The "control means" refers to a technique or method for setting the virtual characters to start a debate based on a selected theme.
[1022] "Natural language processing means" refers to techniques and methods for analyzing user opinions and generating the next utterances of the virtual character.
[1023] The "end determination means" is a technique or method for determining the end of a debate and providing the result to the user.
[1024] "Storage means" refers to the technology or method for storing debate logs.
[1025] An "interface means" is a technique or method that allows a user to request a particular theme.
[1026] The "response generation means" refers to a technique or method for analyzing a user's message using natural language processing technology and generating a response from a virtual character based on the content of the message.
[1027] "Selection means" refers to techniques or methods that allow a virtual character to function as multiple characters with different settings or characteristics.
[1028] The present invention is a system for allowing users to hold online debates, and is based on technology for selecting debate topics, debating with virtual characters, and storing and analyzing debate results. The following describes in detail the embodiments of the present invention.
[1029] System Configuration
[1030] 1. Means of communication
[1031] The means by which users send messages is through a user device, such as a smartphone or tablet, which communicates with a server through an internet connection.
[1032] 2. Information Processing Means
[1033] The server has an information processing means for receiving messages from users and selecting debate topics from a list of various topics based on the user's past logs and areas of interest.
[1034] 3. Control Measures
[1035] The server has a control means for starting a debate among virtual characters based on a selected theme. The virtual characters have different settings and characteristics, and can be selected as multiple characters.
[1036] 4. Natural Language Processing Methods
[1037] The server uses natural language processing technology (e.g., Google Cloud NLP, IBM Watson) to analyze the user's opinion and generate the next utterance for the virtual character. This natural language processing method understands the content of the user's opinion and generates an appropriate response.
[1038] 5. Termination Determination Method
[1039] The server has a means to determine when a debate has ended after a certain number of rounds. After the debate has ended, the server notifies the user of the results, which can be used for learning purposes.
[1040] 6. Storage means
[1041] The server has a storage means for storing debate logs in a storage device, allowing users to later check their own debate content and confirm their learning progress.
[1042] 7. Interface Methods
[1043] The interface means allows users to request specific topics, allowing users to freely debate topics that interest them.
[1044] Specific examples of implementation
[1045] Example 1:
[1046] When a user requests a debate on the topic "Does AI technology cause ethical issues?", the server selects this topic and has a virtual character state its initial opinion. The virtual character states, "AI could lead to privacy violations and job losses." The user responds, "AI will also create many new jobs." The server analyzes this using natural language processing technology and responds, "New jobs will be created, but they will require retraining."
[1047] Example prompt sentence:
[1048] User message: "AI technology will create many new jobs, but they will require retraining."
[1049] Response Generation Prompt: "Generate a response to this statement from a hypothetical character who has a critical opinion about the retraining process of AI technology."
[1050] In this way, the present invention supports effective debate learning.
[1051] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1052] Step 1:
[1053] To start a debate, a user operates a terminal and requests a theme. This operation causes the terminal to send the user's request message as input to the server, which triggers the start of the debate.
[1054] Step 2:
[1055] The server receives the user's request message and selects a theme using information processing means. Specifically, the server refers to the user's past debate logs and areas of interest, and selects an appropriate theme from a pre-prepared theme list. The selected theme is generated as output.
[1056] Step 3:
[1057] The server selects a virtual character based on the selected theme and generates an initial message to start the debate. The virtual character has multiple settings and characteristics, and the character that best suits the theme is selected. The generated initial message is sent to the user as output.
[1058] Step 4:
[1059] The user receives an initial message from the virtual character on their device and expresses their opinion on the content. This opinion is sent from the device to the server and used as input data.
[1060] Step 5:
[1061] The server uses natural language processing to analyze the user's opinion. The analysis extracts the main points, emotions, and intentions of the user's opinion, and generates the next utterance for the virtual character based on these. The generated utterance is then sent to the user as output.
[1062] Step 6:
[1063] The above dialogue is repeated until a certain number of rounds have been reached, at which point the server uses the termination determination means to determine whether the debate has ended. Based on this determination, the final result is output and notified to the user.
[1064] Step 7:
[1065] The debate log is saved in a storage device on the server. The saved data includes all interactions between the user and the virtual character, and is kept as data for the user to use for study or review at a later date.
[1066] Step 8:
[1067] After a debate, users can view the saved log, which allows them to review past debate content and obtain information that will help them improve their debating skills in the future.
[1068] 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.
[1069] This invention is a system that allows users to debate with their opponents via the LINE app, and also recognizes and responds to the user's emotions. The program of this system operates as follows.
[1070] System Components
[1071] Server: Receives user messages, selects debate topics, generates responses for virtual characters, and recognizes emotions.
[1072] Device: The user's smartphone or tablet. The user controls the debate through this device.
[1073] Users: Debate participants who send and receive messages via the LINE app.
[1074] Program processing
[1075] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[1076] Once a theme is selected, the server generates a message to have the virtual characters start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[1077] Once the user has expressed their opinion, the message is sent back to the server, which uses NLP (Natural Language Processing) technology to analyze the user's message and uses an emotion engine to recognize the emotions in the user's message.
[1078] Based on the recognized emotion, the server generates the next utterance for the virtual character. If the emotion engine recognizes that the user is angry, the virtual character adjusts its response to a calmer tone. The server sends the generated utterance to the user, and the debate continues.
[1079] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[1080] Specific examples
[1081] Example 1:
[1082] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses support. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and recognizes the emotion from the user's tone. If the emotion engine recognizes the user's anxiety, the virtual character responds, "Certainly, a market economy is important, but social security is also necessary."
[1083] Example 2:
[1084] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes the user's excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[1085] This system not only improves users' debating skills, but also enables more effective communication by allowing the virtual characters to respond appropriately based on their emotions.
[1086] The processing flow will be explained below.
[1087] Step 1:
[1088] The user sends a message via the LINE app saying "Start a debate."
[1089] Step 2:
[1090] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[1091] Step 3:
[1092] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[1093] Step 4:
[1094] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[1095] Step 5:
[1096] The server generates a message and sends it to the user's terminal.
[1097] Step 6:
[1098] The device receives the message from the server and displays it to the user through the LINE app.
[1099] Step 7:
[1100] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Isn't a market economy more efficient?"
[1101] Step 8:
[1102] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[1103] Step 9:
[1104] The server uses an emotion engine to recognize emotions contained in the user's message, for example, the emotion engine detects anger in the user's message.
[1105] Step 10:
[1106] The server generates the next utterance for the virtual character based on the analysis results and emotion recognition results. If the emotion engine recognizes that the user is angry, it adjusts the virtual character's response to a calmer tone. For example, it generates a response such as, "Certainly, a market economy is important. However, without social welfare, the weak will suffer."
[1107] Step 11:
[1108] The server sends the generated message to the user's terminal.
[1109] Step 12:
[1110] The device receives the message from the server and displays it to the user through the LINE app.
[1111] Step 13:
[1112] The process from Step 7 to Step 12 is repeated to progress through the rounds of debate.
[1113] Step 14:
[1114] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[1115] Step 15:
[1116] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[1117] Step 16:
[1118] A server-generated termination message is sent to the user's terminal.
[1119] Step 17:
[1120] The device receives the termination message from the server and displays it to the user through the LINE app.
[1121] Step 18:
[1122] The server saves a log of the entire debate. The debate history and emotion recognition data are added to the user profile so that it can be used for future learning. For example, the system can analyze the emotional trends felt by the user during the debate and use this information to provide advice for the next debate.
[1123] These detailed processing steps allow users to not only improve their skills through the debate experience, but also to communicate more effectively by receiving emotionally appropriate responses.
[1124] Example 2
[1125] 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."
[1126] Conventional debate systems were unable to generate responses based on the user's emotions, resulting in mechanical responses that compromised the user experience. Furthermore, when selecting debate topics, it was difficult to utilize the user's past debate logs, making it difficult to select appropriate topics. Furthermore, the log saving function after the debate ended was insufficient, limiting the means by which users could review the content of the debate later.
[1127] 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.
[1128] In this invention, the server includes processing means for receiving user messages and selecting a debate theme, control means for the virtual characters to start a debate based on the theme selected by the processing means, natural language processing means for analyzing user opinions and generating the virtual characters' next utterances, emotion recognition means for recognizing emotions from the user's utterances, response adjustment means for adjusting the virtual characters' utterances based on the recognized emotions, end determination means for determining the end of the debate and providing the results, and storage means for saving the debate log. This makes it possible to generate responses based on user emotions and select a theme using past debate logs, thereby enhancing the log saving function after the debate ends.
[1129] A "communication medium" is an interface used by users to send and receive messages.
[1130] The "processing means" is a component that receives messages from users, analyzes them, and selects a topic for debate.
[1131] The "control means" is a component that gives instructions for the virtual characters to start a debate based on the selected theme.
[1132] "Natural language processing means" is a technology for analyzing opinions from users and generating responses from virtual characters.
[1133] "Emotion recognition means" is a technology that analyzes and recognizes the emotions in a user's message.
[1134] A "response adjustment means" is a component for adjusting the tone and content of a virtual character's speech based on the recognized emotion.
[1135] "End determination means" refers to a technology or algorithm for determining the end of a debate and providing the result.
[1136] "Storage means" refers to a storage device or database for storing debate logs.
[1137] "Information processing means" refers to the data processing technology required to select an appropriate topic based on the user's past debate log.
[1138] The "selection means" refers to an interface or algorithm for selecting a debate opponent from among multiple different virtual characters.
[1139] This invention realizes a system in which users debate via a messaging app and a server supports the debate. Furthermore, the system recognizes users' emotions and generates appropriate responses accordingly, thereby enhancing the effectiveness of the debate.
[1140] Basic configuration
[1141] Communication Method:
[1142] Users send messages using messaging apps on their smartphones or tablets, which are then sent over the internet to a server using common messaging protocols.
[1143] Processing Method:
[1144] The server analyzes the received messages and uses natural language processing (NLP) techniques to select topics for debate, specifically Google Cloud NLP or any other suitable NLP engine.
[1145] Control means:
[1146] The server generates responses based on the selected theme for the virtual characters to start a debate, using a generative AI model (such as OpenAI's GPT-4).
[1147] Natural language processing tools:
[1148] The server then analyzes the user's opinions and counterarguments again and generates the next utterance, using natural language processing software such as Google Cloud NLP.
[1149] Emotion recognition means:
[1150] The server uses an emotion recognition engine (e.g., IBM Watson Tone Analyzer) to recognize the emotion in the user's message. This technology takes into account not only the context of the message but also its emotion.
[1151] Response adjustment measures:
[1152] The server then adjusts the virtual character's speech based on the perceived emotion. For example, if the server detects that the user is angry, the virtual character will respond in a calmer tone. This response adjustment also uses a generative AI model.
[1153] Termination determination method:
[1154] The server monitors the progress of the debate and ends it when a certain number of rounds have been reached. After determining that the debate is over, it notifies the user of the results of the debate.
[1155] Storage means:
[1156] After the debate ends, the server stores the debate log in a storage device, which includes the date and time, the topic, user comments, responses from the virtual characters, and sentiment analysis results.
[1157] Specific examples
[1158] Example 1:
[1159] A user sends a message on a messaging app saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and a virtual character expresses support for the idea that "social welfare is the government's responsibility." If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the message and recognizes anxiety from the user's tone. If the emotion engine recognizes anxiety, the virtual character responds, "Certainly a market economy is important, but social security is also necessary."
[1160] Example prompt:
[1161] User: Start a debate
[1162] Sarver: Is social welfare a government responsibility?
[1163] Virtual character: Social welfare is the responsibility of the government
[1164] User: Wouldn't a market economy be more efficient?
[1165] Example 2:
[1166] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses the opposing opinion that "eco-cars are not very effective in protecting the environment." When the user says, "They have less of an environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[1167] Example prompt:
[1168] User: I want to discuss eco-cars
[1169] Server: Are eco-friendly cars effective for protecting the environment?
[1170] Virtual character: Eco-friendly cars can be harmful to the environment
[1171] User: Less environmental impact than gasoline-powered vehicles
[1172] This allows users to have a high-quality debate experience and receive appropriate responses that take emotions into consideration.
[1173] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1174] Step 1:
[1175] A user sends a message to start a debate.
[1176] Input: A message like "Start the debate."
[1177] Specific operation: A user uses a messaging app on a smartphone or tablet to send a message to the server to start a debate, typing "Start a debate" and pressing the send button.
[1178] Output: The message is sent to the server.
[1179] Step 2:
[1180] The server receives and parses the message.
[1181] Input: The message "Start a debate" sent by the user.
[1182] What happens: The server uses an NLP engine to analyze the message received via the messaging protocol, and understands that the user wants to start a debate.
[1183] Output: Instructions to start the debate.
[1184] Step 3:
[1185] The server selects the debate topic.
[1186] Input: Instructions to begin debate.
[1187] Specific operation: The server randomly selects a topic from a pre-defined list or selects an appropriate topic based on past debate logs. Data processing here involves retrieving users' past comment logs from a database and using a selection algorithm to select the optimal topic.
[1188] Output: Selected debate topic.
[1189] Step 4:
[1190] The server generates the initial utterance of the virtual character.
[1191] Input: Selected debate topic.
[1192] Specific operation: The server uses a generative AI model (e.g., GPT-4) to generate the initial utterance of a virtual character based on the selected theme. This prompt is then input into the model to generate an appropriate response, and the output is obtained.
[1193] Output: The fictional character's first utterance.
[1194] Step 5:
[1195] The server sends the virtual character's message to the user's terminal.
[1196] Input: The fictional character's first utterance.
[1197] How it works: The server sends the generated virtual character's speech to the user's device. This data is sent using a messaging protocol and displayed in the user's messaging app.
[1198] Output: The speech of the virtual character displayed on the user's device.
[1199] Step 6:
[1200] Users submit their opinions and counterarguments.
[1201] Input: User's opinion or rebuttal after seeing what the virtual character says.
[1202] Specific operation: The user inputs and sends a message expressing their opinion or counterargument to the virtual character's statement. For example, they might counter with, "Wouldn't a market economy be more efficient?"
[1203] Output: The user's opinion or rebuttal is sent to the server.
[1204] Step 7:
[1205] The server analyzes the user's message and recognizes emotions.
[1206] Input: User submitted opinions and counterarguments.
[1207] Specific operation: The server again uses the NLP engine to analyze the user's message, and in the process uses the emotion recognition engine to identify the user's emotion, for example, anxiety or anger from the tone of the message.
[1208] Output: Analysis results and sentiment analysis results.
[1209] Step 8:
[1210] The server generates the next utterance for the virtual character based on the recognized emotion.
[1211] Input: Analysis results and sentiment analysis results.
[1212] How it works: The server reflects the recognized emotion and uses a generative AI model to generate the next utterance for the virtual character. For example, if the user feels anxious, the virtual character will respond in a calm tone, saying, "Of course, a market economy is important, but social security is also necessary."
[1213] Output: The adjusted utterances of the virtual character.
[1214] Step 9:
[1215] The server transmits the virtual character's next utterance to the user's terminal.
[1216] Input: The adjusted utterances of the virtual character.
[1217] Specific operation: The server sends the next statement of the generated virtual character to the user's device and displays it in the messaging app.
[1218] Output: The adjusted speech of the virtual character displayed on the user's device.
[1219] Step 10:
[1220] The server determines when the debate is over and provides the results.
[1221] Input: Debate progress.
[1222] Specific operation: The server monitors the number of rounds and content of the debate, and when it determines that a certain condition has been reached, it declares the end of the debate. At the same time, it notifies the user of the results and provides evaluation and feedback.
[1223] Output: Notification of results and evaluation.
[1224] Step 11:
[1225] The server stores the debate log.
[1226] Input: All exchanges from the debate.
[1227] Specific operation: After the debate ends, the server saves all exchanges in a storage device. The log includes the date and time, topic, user comments, virtual character responses, and sentiment analysis results. This allows users to review the debate content later and use it for their own learning.
[1228] Output: Saved debate log.
[1229] (Application example 2)
[1230] 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."
[1231] Existing debate systems have difficulty generating appropriate responses that take users' emotions into account, resulting in a decline in the quality of communication. Furthermore, there is a lack of means to provide quick and accurate product introductions and offers in response to user questions in physical stores, resulting in a lack of improvement in the user experience.
[1232] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: communication means for users to send messages; processing means for receiving messages from the users and selecting a debate theme; control means for virtual characters to start a debate based on the theme selected by the processing means; natural language processing means for analyzing the users' opinions and generating the virtual characters' next utterances; emotion analysis means for recognizing the users' emotions and generating a response corresponding to the emotions; end determination means for determining the end of the debate and providing the results; storage means for saving a debate log; and specific product information selection means for providing optimal product introductions and offers in response to users' questions in a physical store. This enables advanced debate responses that take user emotions into consideration, and further realizes efficient product introductions and offer proposals in a physical store.
[1233] "Communication means" refers to a device, including the devices and protocols, that allow users to send messages and servers to receive those messages.
[1234] "Processing means" refers to a device or software capable of analyzing messages from users and selecting appropriate debate topics.
[1235] "Control means" refers to a device or software that has the function of giving instructions or operations to virtual characters to begin a debate based on a selected theme.
[1236] "Natural language processing means" refers to a device or software that uses natural language processing techniques to analyze comments from a user and generate the virtual character's next utterance.
[1237] "Emotion analysis means" refers to a device or software that uses emotion analysis techniques to recognize emotions in a user's message and generate a response according to the emotions.
[1238] The "end determination means" refers to a device or software that has the function of determining the end of the debate and providing the result to the user.
[1239] "Storage means" refers to a device or software that has the function of storing debate logs and keeping them available for reference as needed.
[1240] The "specific product information selection means" refers to a device or software that has the function of selecting information to provide optimal product introductions and offers in response to user questions in a physical store.
[1241] This invention is a system that recognizes users' emotions and responds appropriately when users debate via the LINE app. This system can also be applied to product introductions and offers in physical stores, aiming to improve the user experience.
[1242] System Components
[1243] Server: This server receives users' messages, selects debate topics, and generates responses for the virtual characters. It also uses emotion analysis to recognize emotions in users' messages and generates responses based on those emotions.
[1244] Device: A smartphone or smart glasses used by a user. This device sends and receives messages to and from the server via the LINE app.
[1245] User: A participant in a debate. Sends messages to the server through the LINE app and receives responses from the server.
[1246] Technology used
[1247] Natural Language Processing (NLP): Parsing the user's message and generating a response for the virtual character.
[1248] Sentiment analysis engine: Recognizes emotions from users' messages and generates appropriate responses.
[1249] Storage device: Save a log of your debates for future reference.
[1250] Program processing flow
[1251] 1. The user sends a message via the LINE app saying "Start a debate."
[1252] 2. The server receives this message and selects an appropriate debate topic.
[1253] 3. Based on the selected topic, the virtual character generates a message to start a debate and sends it to the user.
[1254] 4. Once the user has commented, the message is sent back to the server.
[1255] 5. The server uses NLP technology and an emotion analysis engine to analyze the user's message and generate a response based on their emotion.
[1256] 6. The virtual character's generated response is sent to the user, and the debate continues.
[1257] 7. When the debate is over, the server notifies the user of the result and saves the debate log in a storage device.
[1258] Specific examples
[1259] Example 1: When a user asks "Tell me about this dress" through the LINE app, the server retrieves detailed product data and recognizes the user's confusion through an emotion analysis engine. The virtual character generates a reassuring response, saying, "This dress is designed based on the latest trends. It's also currently on special discount," and sends it to the user through the LINE app.
[1260] Example 2: When a user uses smart glasses to say, "What wine do you recommend?", the server refers to the user's previous purchase history to select an appropriate wine. The sentiment analysis engine recognizes the user's excitement, and the virtual character generates a response to the user saying, "Wow! This is an upgraded version of the wine you previously purchased. It has a richer flavor and is perfect for a special occasion dinner."
[1261] Prompt Sentence Examples
[1262] "Generate a response for when the user is confused:
[1263] User message: "Tell me about this dress"
[1264] Generated response: "This dress is designed according to the latest trends and is currently on special discount."
[1265] As described above, this system can improve the communication experience for users by generating responses that take the user's emotions into consideration. Furthermore, it can also efficiently introduce products and propose offers in physical stores.
[1266] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1267] Step 1:
[1268] A user sends a message.
[1269] Input: The user types the message "Start a debate" through the LINE app.
[1270] How it works: A user's message is sent from their device (smartphone, smart glasses).
[1271] Output: The server receives the message from the user.
[1272] Step 2:
[1273] The server receives and parses the message.
[1274] Input: The user message sent in step 1.
[1275] Operation: The server analyzes the message and uses its processing means to select a debate topic.
[1276] Output: Selected debate topics.
[1277] Step 3:
[1278] The server generates a debate start message for the virtual character.
[1279] Input: Selected debate topic.
[1280] Operation: The server uses the control means to generate a debate start message for the virtual character, sends the prompt text to the generation AI model, and converts the generated text into the LINE app format.
[1281] Output: A message from the virtual character starting a debate.
[1282] Step 4:
[1283] The server sends a debate start message.
[1284] Input: A virtual character's debate start message.
[1285] Operation: The server uses the LINE API to send a debate start message to the user's device.
[1286] Output: Messages are displayed on the terminal.
[1287] Step 5:
[1288] The user submits their opinion.
[1289] Input: User's opinion message in response to the debate start message.
[1290] How it works: A user submits their opinion through the LINE app.
[1291] Output: The server receives the opinion message from the user.
[1292] Step 6:
[1293] The server analyzes the user's opinions.
[1294] Input: The user message sent in step 5.
[1295] Operation: The server uses natural language processing means and sentiment analysis means to analyze the user's opinions and recognize emotions.
[1296] Output: Analysis results and recognized emotions.
[1297] Step 7:
[1298] The server generates the virtual character's response.
[1299] Input: Analysis of user opinions and perceived sentiment.
[1300] How it works: The server uses the generative AI model to generate the next utterance for the virtual character, incorporating the analysis results and emotional information into the prompt to generate an appropriate response.
[1301] Output: The virtual character's response message.
[1302] Step 8:
[1303] The server sends a response message.
[1304] Input: The virtual character's response message.
[1305] Operation: The server uses the LINE API to send the generated response message to the user's device.
[1306] Output: A response message is displayed on the terminal.
[1307] Step 9:
[1308] The server decides when the debate is over.
[1309] Input: Debate log and number of rounds.
[1310] Operation: The server uses the end determination means to determine the end of the debate.
[1311] Output: Termination result.
[1312] Step 10:
[1313] The server provides the results.
[1314] Input: Termination result.
[1315] Operation: The server notifies the user of the results and saves a log of the debate in a storage device.
[1316] Output: Debate results and log storage.
[1317] These are the specific processing steps of the system that realizes this application example. This system allows users to debate through the LINE app and receive appropriate responses that reflect their emotions. It also makes it possible to introduce products and provide offers in physical stores.
[1318] 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.
[1319] 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.
[1320] 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.
[1321] [Fourth embodiment]
[1322] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1323] 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.
[1324] 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).
[1325] 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.
[1326] 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.
[1327] 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).
[1328] 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.
[1329] 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.
[1330] 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.
[1331] 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.
[1332] 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.
[1333] 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.
[1334] 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."
[1335] This invention is a system that allows users to debate with their opponents via the LINE app. The program of this system operates as follows.
[1336] System Components
[1337] Server: Receives user messages, selects debate topics, and generates responses from virtual characters.
[1338] Device: The user's smartphone or tablet. The user controls the debate through this device.
[1339] Users: Debate participants who send and receive messages via the LINE app.
[1340] Program processing
[1341] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[1342] Once a theme is selected, the server sends a message to a virtual character (e.g., one of several characters prepared as debate opponents) to start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[1343] Once a user expresses their opinion, the message is sent back to the server, which uses NLP (natural language processing) technology to analyze the user's message and generate a response for the virtual character based on its content. The server then sends the generated response back to the user, and the debate continues.
[1344] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[1345] Specific examples
[1346] Example 1:
[1347] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses an opinion in favor. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and has the virtual character respond again. The debate continues in this manner.
[1348] Example 2:
[1349] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?", and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character give the next response. After a certain number of rounds, the server summarizes the results of the debate and provides them to the user.
[1350] This system not only improves users' debating skills, but also eliminates the need for tedious topic selection and partner search, thereby supporting effective learning.
[1351] The processing flow will be explained below.
[1352] Step 1:
[1353] The user sends a message via the LINE app saying "Start a debate."
[1354] Step 2:
[1355] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[1356] Step 3:
[1357] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[1358] Step 4:
[1359] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[1360] Step 5:
[1361] The server generates a message and sends it to the user's terminal.
[1362] Step 6:
[1363] The device receives the message from the server and displays it to the user through the LINE app.
[1364] Step 7:
[1365] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Wouldn't a market economy be more efficient?"
[1366] Step 8:
[1367] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[1368] Step 9:
[1369] The server generates the next statement for the virtual character based on the analysis results, for example, "However, without social welfare, the weak will not receive support, and economic inequality will increase."
[1370] Step 10:
[1371] The server sends the generated message to the user's terminal.
[1372] Step 11:
[1373] The device receives the message from the server and displays it to the user through the LINE app.
[1374] Step 12:
[1375] The process from Steps 7 to 11 is repeated to progress through the rounds of debate.
[1376] Step 13:
[1377] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[1378] Step 14:
[1379] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[1380] Step 15:
[1381] A server-generated termination message is sent to the user's terminal.
[1382] Step 16:
[1383] The device receives the termination message from the server and displays it to the user through the LINE app.
[1384] Step 17:
[1385] The server will save a log of the entire debate, and add the history of this debate to the user's profile so that it can be used for future study.
[1386] Example 1
[1387] 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."
[1388] Conventional debate systems have the problem that users must select the topic themselves and find suitable debate partners, which is time-consuming. Furthermore, the debate progress and response generation are done manually, which hinders efficient learning. Another issue is that the topic selection is random, making it difficult to learn according to the user's interests and skills.
[1389] 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.
[1390] In this invention, the server includes communication means for users to send messages, analysis means for receiving messages from the users and selecting a debate theme, control means for virtual characters to start a debate based on the theme selected by the analysis means, natural language processing means for analyzing opinions from the users and generating the next utterances by the virtual characters, end determination means for determining the end of the debate and providing the results, storage means for saving a debate log, response generation means for generating responses for the virtual characters using a generative AI model, and prompt generation means for querying the generative AI model based on specific prompt sentences. This eliminates the need for users to select a theme or find opponents, enabling efficient debate learning that is tailored to their interests.
[1391] "Communication medium" refers to the technology or interface that users use to send and receive messages.
[1392] "Analysis means" refers to the technology or software library used to analyze received user messages and understand their content.
[1393] The "control means" refers to a technique or mechanism for issuing instructions necessary for the virtual characters to start a debate based on the theme selected by the analysis means.
[1394] "Natural language processing means" refers to the technology or algorithms used to analyze user comments and generate the virtual character's next utterance based on the content of those comments.
[1395] "End Determination Means" refers to the mechanism or technology used to determine the end of a debate and provide the result.
[1396] "Storage means" refers to the data storage and management method for saving debate logs.
[1397] "Response generation means" refers to the technology or mechanism for generating responses from virtual characters using a generative AI model.
[1398] A "prompt generation means" refers to a technology or mechanism for querying a generative AI model based on a specific prompt sentence.
[1399] The present invention is a system for allowing users to debate via a messaging application. The following describes how this system is specifically implemented.
[1400] System configuration
[1401] server
[1402] The server has multiple functions and operates as follows:
[1403] 1. Communication method: Receives messages sent by users via messaging applications. This communication is carried out using, for example, the LINE Messaging API.
[1404] 2. Analysis: A natural language processing (NLP) library (e.g., NLTK or spaCy) is used to analyze the received message, thereby understanding the user's intent and request.
[1405] 3. Control means: Select a debate topic based on the analyzed information and give instructions to the virtual characters to start the debate.
[1406] 4. Natural language processing: Analyzes user opinions and generates responses from virtual characters based on them. This is done using a generative AI model such as GPT-3.
[1407] 5. Termination determination means: The end of the debate is determined when a certain number of rounds or conditions are met, and the result is notified to the user.
[1408] 6. Storage means: Use a data storage (e.g., MySQL database) to store debate logs.
[1409] 7. Response generation means: Generate responses for the virtual character using a generative AI model.
[1410] 8. Prompt generation means: Generate specific prompt sentences and input them into the generative AI model.
[1411] Terminal
[1412] The user's terminal is a device such as a smartphone or tablet, and is used as follows.
[1413] Communication method: Messages are sent and received with the server using the LINE application.
[1414] Display method: Messages sent from the server are displayed on the LINE app.
[1415] User
[1416] To participate in a debate, a user performs the following operations:
[1417] Sending a message: Using the LINE application, send a message such as "Start a debate" to the server.
[1418] Expressing an opinion: Express your opinion on the virtual character's response.
[1419] Example of operation
[1420] Example 1: Starting a debate
[1421] The user sends a message on the LINE app saying "Start a debate." The server receives this message and selects the theme "Is social welfare the government's responsibility?" The virtual character expresses a supporting opinion, and the user counters with "Wouldn't a market economy be more efficient?" The server analyzes the opinion and has the virtual character respond again.
[1422] Example 2: Discussion on a specific topic
[1423] The user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" The virtual character expresses an opposing opinion. When the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement and has the virtual character make the following response.
[1424] Prompt Sentence Examples
[1425] "Is social welfare a government responsibility? Please respond in favor."
[1426] "Are eco-cars effective in protecting the environment? Please respond with your opposing position."
[1427] This system eliminates the need for users to select debate topics or find opponents, enabling effective learning based on interests and skills.
[1428] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1429] markdown
[1430] Step 1:
[1431] The user uses the LINE app on their device to enter a message such as "Start a debate" and press the send button. This is sent to the server as the initial input, and the server then receives the message via the LINE Messaging API.
[1432] Step 2:
[1433] The server uses a Python program and a natural language processing (NLP) library such as NLTK or spaCy to parse the received message. It extracts the instruction "start a debate" from the message. The result of this analysis becomes the input data for the next step.
[1434] Step 3:
[1435] The server selects a debate theme based on the analysis results. The selection is made either randomly from a list of themes prepared in advance, or based on the user's past debate logs. For example, the server executes the query "SELECT theme FROM themes ORDER BY RAND() LIMIT 1;" from the MySQL database to obtain the theme. The obtained theme becomes the input data for the next process.
[1436] Step 4:
[1437] The server generates a response from the virtual character based on the acquired theme. This is done using a generative AI model such as GPT-3. A specific prompt is generated and sent to GPT-3. A prompt such as "Is social welfare the government's responsibility? Please respond in favor" is input into the generative AI model, and the generated response becomes the input data for the next process.
[1438] Step 5:
[1439] The server sends the generated virtual character's response to the user's device using the LINE Messaging API. This allows the user to check the virtual character's opinion on the LINE app. Input data is prepared for the user to express their next opinion through the log.
[1440] Step 6:
[1441] The user can state their opinion in favor of or against the virtual character's opinion. For example, they can type, "Wouldn't a market economy be more efficient?" and press the send button. This message is sent to the server and becomes the input data for the next processing step.
[1442] Step 7:
[1443] The server receives a new message from the user and again analyzes the content using NLP technology. Using the results of this analysis, it sends another prompt to GPT-3 to generate the next response. A prompt such as "Wouldn't a market economy be more efficient? Please respond to that" is input into the generative AI model, and the generated response becomes the input data for the next process.
[1444] Step 8:
[1445] The server determines whether the debate has reached a certain number of rounds. If the number of rounds reaches the limit, it generates a message saying "Debate Ended" and notifies the user. This determination result becomes the input data for ending the debate.
[1446] Step 9:
[1447] The server stores a log of the entire debate, including the theme, user comments, and virtual character responses. This is saved in a MySQL database using a query such as "INSERT INTO logs (user_id, theme, user_message, ai_response) VALUES (?, ?, ?, ?);". This saves all debate data for later review and learning.
[1448] (Application example 1)
[1449] 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."
[1450] In the current situation where there are limited means for users to efficiently improve their online debating skills, a system that allows effective learning while eliminating the hassle of selecting a topic and finding opponents is needed. Furthermore, a system with an advanced interface and functionality is needed that allows users to request specific topics and deepen their learning based on past debate logs.
[1451] 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.
[1452] In this invention, the server includes information processing means for selecting a topic based on the user's past debate logs and areas of interest, interface means for allowing the user to request a specific topic, and means for the server to analyze the user's message using natural language processing technology and generate a response from the virtual character based on the content of the message. This allows the user to study effectively while eliminating the effort of selecting a topic and finding a partner.
[1453] A "communication medium" is a technique or method by which a user can send a message and a system can receive it.
[1454] "Information processing means" refers to the techniques and methods used to analyze users' messages and select debate topics.
[1455] The "control means" refers to a technique or method for setting the virtual characters to start a debate based on a selected theme.
[1456] "Natural language processing means" refers to techniques and methods for analyzing user opinions and generating the next utterances of the virtual character.
[1457] The "end determination means" is a technique or method for determining the end of a debate and providing the result to the user.
[1458] "Storage means" refers to the technology or method for storing debate logs.
[1459] An "interface means" is a technique or method that allows a user to request a particular theme.
[1460] The "response generation means" refers to a technique or method for analyzing a user's message using natural language processing technology and generating a response from a virtual character based on the content of the message.
[1461] "Selection means" refers to techniques or methods that allow a virtual character to function as multiple characters with different settings or characteristics.
[1462] The present invention is a system for allowing users to hold online debates, and is based on technology for selecting debate topics, debating with virtual characters, and storing and analyzing debate results. The following describes in detail the embodiments of the present invention.
[1463] System Configuration
[1464] 1. Means of communication
[1465] The means by which users send messages is through a user device, such as a smartphone or tablet, which communicates with a server through an internet connection.
[1466] 2. Information Processing Means
[1467] The server has an information processing means for receiving messages from users and selecting debate topics from a list of various topics based on the user's past logs and areas of interest.
[1468] 3. Control Measures
[1469] The server has a control means for starting a debate among virtual characters based on a selected theme. The virtual characters have different settings and characteristics, and can be selected as multiple characters.
[1470] 4. Natural Language Processing Methods
[1471] The server uses natural language processing technology (e.g., Google Cloud NLP, IBM Watson) to analyze the user's opinion and generate the next utterance for the virtual character. This natural language processing method understands the content of the user's opinion and generates an appropriate response.
[1472] 5. Termination Determination Method
[1473] The server has a means to determine when a debate has ended after a certain number of rounds. After the debate has ended, the server notifies the user of the results, which can be used for learning purposes.
[1474] 6. Storage means
[1475] The server has a storage means for storing debate logs in a storage device, allowing users to later check their own debate content and confirm their learning progress.
[1476] 7. Interface Methods
[1477] The interface means allows users to request specific topics, allowing users to freely debate topics that interest them.
[1478] Specific examples of implementation
[1479] Example 1:
[1480] When a user requests a debate on the topic "Does AI technology cause ethical issues?", the server selects this topic and has a virtual character state its initial opinion. The virtual character states, "AI could lead to privacy violations and job losses." The user responds, "AI will also create many new jobs." The server analyzes this using natural language processing technology and responds, "New jobs will be created, but they will require retraining."
[1481] Example prompt sentence:
[1482] User message: "AI technology will create many new jobs, but they will require retraining."
[1483] Response Generation Prompt: "Generate a response to this statement from a hypothetical character who has a critical opinion about the retraining process of AI technology."
[1484] In this way, the present invention supports effective debate learning.
[1485] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1486] Step 1:
[1487] To start a debate, a user operates a terminal and requests a theme. This operation causes the terminal to send the user's request message as input to the server, which triggers the start of the debate.
[1488] Step 2:
[1489] The server receives the user's request message and selects a theme using information processing means. Specifically, the server refers to the user's past debate logs and areas of interest, and selects an appropriate theme from a pre-prepared theme list. The selected theme is generated as output.
[1490] Step 3:
[1491] The server selects a virtual character based on the selected theme and generates an initial message to start the debate. The virtual character has multiple settings and characteristics, and the character that best suits the theme is selected. The generated initial message is sent to the user as output.
[1492] Step 4:
[1493] The user receives an initial message from the virtual character on their device and expresses their opinion on the content. This opinion is sent from the device to the server and used as input data.
[1494] Step 5:
[1495] The server uses natural language processing to analyze the user's opinion. The analysis extracts the main points, emotions, and intentions of the user's opinion, and generates the next utterance for the virtual character based on these. The generated utterance is then sent to the user as output.
[1496] Step 6:
[1497] The above dialogue is repeated until a certain number of rounds have been reached, at which point the server uses the termination determination means to determine whether the debate has ended. Based on this determination, the final result is output and notified to the user.
[1498] Step 7:
[1499] The debate log is saved in a storage device on the server. The saved data includes all interactions between the user and the virtual character, and is kept as data for the user to use for study or review at a later date.
[1500] Step 8:
[1501] After a debate, users can view the saved log, which allows them to review past debate content and obtain information that will help them improve their debating skills in the future.
[1502] 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.
[1503] This invention is a system that allows users to debate with their opponents via the LINE app, and also recognizes and responds to the user's emotions. The program of this system operates as follows.
[1504] System Components
[1505] Server: Receives user messages, selects debate topics, generates responses for virtual characters, and recognizes emotions.
[1506] Device: The user's smartphone or tablet. The user controls the debate through this device.
[1507] Users: Debate participants who send and receive messages via the LINE app.
[1508] Program processing
[1509] When a user sends a message such as "Start a debate" on the LINE app, the server receives and analyzes it. The server then selects an appropriate topic for the debate with the virtual character. This topic is either randomly selected from a list prepared in advance on the server or selected based on the user's past debate logs.
[1510] Once a theme is selected, the server generates a message to have the virtual characters start the debate. The user's device receives the message from the server and displays it to the user through the LINE app.
[1511] Once the user has expressed their opinion, the message is sent back to the server, which uses NLP (Natural Language Processing) technology to analyze the user's message and uses an emotion engine to recognize the emotions in the user's message.
[1512] Based on the recognized emotion, the server generates the next utterance for the virtual character. If the emotion engine recognizes that the user is angry, the virtual character adjusts its response to a calmer tone. The server sends the generated utterance to the user, and the debate continues.
[1513] When the debate reaches a certain number of rounds, the server declares the end of the debate and notifies the user of the result. After the debate ends, the server also saves a log containing the user's opinions and the virtual character's responses to a storage device, allowing users to review their debate content later and use it for learning.
[1514] Specific examples
[1515] Example 1:
[1516] The user sends a message saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and the virtual character expresses support. If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the opinion and recognizes the emotion from the user's tone. If the emotion engine recognizes the user's anxiety, the virtual character responds, "Certainly, a market economy is important, but social security is also necessary."
[1517] Example 2:
[1518] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses an opposing opinion. If the user says, "They have a lower environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes the user's excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[1519] This system not only improves users' debating skills, but also enables more effective communication by allowing the virtual characters to respond appropriately based on their emotions.
[1520] The processing flow will be explained below.
[1521] Step 1:
[1522] The user sends a message via the LINE app saying "Start a debate."
[1523] Step 2:
[1524] The server receives the message sent by the user and performs text analysis to recognize the keyword "start a debate."
[1525] Step 3:
[1526] The server decides the debate topic, either randomly selecting one from a list of pre-prepared themes or selecting a suitable topic based on the user's past debate logs.
[1527] Step 4:
[1528] The server generates a message to have the virtual characters start a debate based on the selected theme. For example, it generates a message such as "The theme is 'Is social welfare the government's responsibility?' First, the virtual characters will state their opinions in favor."
[1529] Step 5:
[1530] The server generates a message and sends it to the user's terminal.
[1531] Step 6:
[1532] The device receives the message from the server and displays it to the user through the LINE app.
[1533] Step 7:
[1534] A user types a message in response to a debate and sends it via the LINE app. For example, they type, "Isn't a market economy more efficient?"
[1535] Step 8:
[1536] The server receives messages from users and analyzes their opinions using natural language processing (NLP) techniques.
[1537] Step 9:
[1538] The server uses an emotion engine to recognize emotions contained in the user's message, for example, the emotion engine detects anger in the user's message.
[1539] Step 10:
[1540] The server generates the next utterance for the virtual character based on the analysis results and emotion recognition results. If the emotion engine recognizes that the user is angry, it adjusts the virtual character's response to a calmer tone. For example, it generates a response such as, "Certainly, a market economy is important. However, without social welfare, the weak will suffer."
[1541] Step 11:
[1542] The server sends the generated message to the user's terminal.
[1543] Step 12:
[1544] The device receives the message from the server and displays it to the user through the LINE app.
[1545] Step 13:
[1546] The process from Step 7 to Step 12 is repeated to progress through the rounds of debate.
[1547] Step 14:
[1548] The server determines whether a certain number of rounds has been reached or whether a debate end condition has been met. The end of the debate is determined using an end determination means.
[1549] Step 15:
[1550] The server generates a message to end the debate and a message to provide the user with a summary of the discussion and points for reflection.
[1551] Step 16:
[1552] A server-generated termination message is sent to the user's terminal.
[1553] Step 17:
[1554] The device receives the termination message from the server and displays it to the user through the LINE app.
[1555] Step 18:
[1556] The server saves a log of the entire debate. The debate history and emotion recognition data are added to the user profile so that it can be used for future learning. For example, the system can analyze the emotional trends felt by the user during the debate and use this information to provide advice for the next debate.
[1557] These detailed processing steps allow users to not only improve their skills through the debate experience, but also to communicate more effectively by receiving emotionally appropriate responses.
[1558] Example 2
[1559] 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."
[1560] Conventional debate systems were unable to generate responses based on the user's emotions, resulting in mechanical responses that compromised the user experience. Furthermore, when selecting debate topics, it was difficult to utilize the user's past debate logs, making it difficult to select appropriate topics. Furthermore, the log saving function after the debate ended was insufficient, limiting the means by which users could review the content of the debate later.
[1561] 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.
[1562] In this invention, the server includes processing means for receiving user messages and selecting a debate theme, control means for the virtual characters to start a debate based on the theme selected by the processing means, natural language processing means for analyzing user opinions and generating the virtual characters' next utterances, emotion recognition means for recognizing emotions from the user's utterances, response adjustment means for adjusting the virtual characters' utterances based on the recognized emotions, end determination means for determining the end of the debate and providing the results, and storage means for saving the debate log. This makes it possible to generate responses based on user emotions and select a theme using past debate logs, thereby enhancing the log saving function after the debate ends.
[1563] A "communication medium" is an interface used by users to send and receive messages.
[1564] The "processing means" is a component that receives messages from users, analyzes them, and selects a topic for debate.
[1565] The "control means" is a component that gives instructions for the virtual characters to start a debate based on the selected theme.
[1566] "Natural language processing means" is a technology for analyzing opinions from users and generating responses from virtual characters.
[1567] "Emotion recognition means" is a technology that analyzes and recognizes the emotions in a user's message.
[1568] A "response adjustment means" is a component for adjusting the tone and content of a virtual character's speech based on the recognized emotion.
[1569] "End determination means" refers to a technology or algorithm for determining the end of a debate and providing the result.
[1570] "Storage means" refers to a storage device or database for storing debate logs.
[1571] "Information processing means" refers to the data processing technology required to select an appropriate topic based on the user's past debate log.
[1572] The "selection means" refers to an interface or algorithm for selecting a debate opponent from among multiple different virtual characters.
[1573] This invention realizes a system in which users debate via a messaging app and a server supports the debate. Furthermore, the system recognizes users' emotions and generates appropriate responses accordingly, thereby enhancing the effectiveness of the debate.
[1574] Basic configuration
[1575] Communication Method:
[1576] Users send messages using messaging apps on their smartphones or tablets, which are then sent over the internet to a server using common messaging protocols.
[1577] Processing Method:
[1578] The server analyzes the received messages and uses natural language processing (NLP) techniques to select topics for debate, specifically Google Cloud NLP or any other suitable NLP engine.
[1579] Control means:
[1580] The server generates responses based on the selected theme for the virtual characters to start a debate, using a generative AI model (such as OpenAI's GPT-4).
[1581] Natural language processing tools:
[1582] The server then analyzes the user's opinions and counterarguments again and generates the next utterance, using natural language processing software such as Google Cloud NLP.
[1583] Emotion recognition means:
[1584] The server uses an emotion recognition engine (e.g., IBM Watson Tone Analyzer) to recognize the emotion in the user's message. This technology takes into account not only the context of the message but also its emotion.
[1585] Response adjustment measures:
[1586] The server then adjusts the virtual character's speech based on the perceived emotion. For example, if the server detects that the user is angry, the virtual character will respond in a calmer tone. This response adjustment also uses a generative AI model.
[1587] Termination determination method:
[1588] The server monitors the progress of the debate and ends it when a certain number of rounds have been reached. After determining that the debate is over, it notifies the user of the results of the debate.
[1589] Storage means:
[1590] After the debate ends, the server stores the debate log in a storage device, which includes the date and time, the topic, user comments, responses from the virtual characters, and sentiment analysis results.
[1591] Specific examples
[1592] Example 1:
[1593] A user sends a message on a messaging app saying "Start a debate." The server selects the topic "Is social welfare the government's responsibility?" and a virtual character expresses support for the idea that "social welfare is the government's responsibility." If the user counters with "Wouldn't a market economy be more efficient?", the server analyzes the message and recognizes anxiety from the user's tone. If the emotion engine recognizes anxiety, the virtual character responds, "Certainly a market economy is important, but social security is also necessary."
[1594] Example prompt:
[1595] User: Start a debate
[1596] Sarver: Is social welfare a government responsibility?
[1597] Virtual character: Social welfare is the responsibility of the government
[1598] User: Wouldn't a market economy be more efficient?
[1599] Example 2:
[1600] A user requests, "I want to discuss eco-cars." The server selects the topic, "Are eco-cars effective in protecting the environment?" and a virtual character expresses the opposing opinion that "eco-cars are not very effective in protecting the environment." When the user says, "They have less of an environmental impact than gasoline-powered cars," the server analyzes the statement, and if the emotion engine recognizes excitement, it responds, "You're right, eco-cars are better than gasoline-powered cars. However, environmental considerations must also be given to the manufacturing process."
[1601] Example prompt:
[1602] User: I want to discuss eco-cars
[1603] Server: Are eco-friendly cars effective for protecting the environment?
[1604] Virtual character: Eco-friendly cars can be harmful to the environment
[1605] User: Less environmental impact than gasoline-powered vehicles
[1606] This allows users to have a high-quality debate experience and receive appropriate responses that take emotions into consideration.
[1607] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1608] Step 1:
[1609] A user sends a message to start a debate.
[1610] Input: A message like "Start the debate."
[1611] Specific operation: A user uses a messaging app on a smartphone or tablet to send a message to the server to start a debate, typing "Start a debate" and pressing the send button.
[1612] Output: The message is sent to the server.
[1613] Step 2:
[1614] The server receives and parses the message.
[1615] Input: The message "Start a debate" sent by the user.
[1616] What happens: The server uses an NLP engine to analyze the message received via the messaging protocol, and understands that the user wants to start a debate.
[1617] Output: Instructions to start the debate.
[1618] Step 3:
[1619] The server selects the debate topic.
[1620] Input: Instructions to begin debate.
[1621] Specific operation: The server randomly selects a topic from a pre-defined list or selects an appropriate topic based on past debate logs. Data processing here involves retrieving users' past comment logs from a database and using a selection algorithm to select the optimal topic.
[1622] Output: Selected debate topic.
[1623] Step 4:
[1624] The server generates the initial utterance of the virtual character.
[1625] Input: Selected debate topic.
[1626] Specific operation: The server uses a generative AI model (e.g., GPT-4) to generate the initial utterance of a virtual character based on the selected theme. This prompt is then input into the model to generate an appropriate response, and the output is obtained.
[1627] Output: The fictional character's first utterance.
[1628] Step 5:
[1629] The server sends the virtual character's message to the user's terminal.
[1630] Input: The fictional character's first utterance.
[1631] How it works: The server sends the generated virtual character's speech to the user's device. This data is sent using a messaging protocol and displayed in the user's messaging app.
[1632] Output: The speech of the virtual character displayed on the user's device.
[1633] Step 6:
[1634] Users submit their opinions and counterarguments.
[1635] Input: User's opinion or rebuttal after seeing what the virtual character says.
[1636] Specific operation: The user inputs and sends a message expressing their opinion or counterargument to the virtual character's statement. For example, they might counter with, "Wouldn't a market economy be more efficient?"
[1637] Output: The user's opinion or rebuttal is sent to the server.
[1638] Step 7:
[1639] The server analyzes the user's message and recognizes emotions.
[1640] Input: User submitted opinions and counterarguments.
[1641] Specific operation: The server again uses the NLP engine to analyze the user's message, and in the process uses the emotion recognition engine to identify the user's emotion, for example, anxiety or anger from the tone of the message.
[1642] Output: Analysis results and sentiment analysis results.
[1643] Step 8:
[1644] The server generates the next utterance for the virtual character based on the recognized emotion.
[1645] Input: Analysis results and sentiment analysis results.
[1646] How it works: The server reflects the recognized emotion and uses a generative AI model to generate the next utterance for the virtual character. For example, if the user feels anxious, the virtual character will respond in a calm tone, saying, "Of course, a market economy is important, but social security is also necessary."
[1647] Output: The adjusted utterances of the virtual character.
[1648] Step 9:
[1649] The server transmits the virtual character's next utterance to the user's terminal.
[1650] Input: The adjusted utterances of the virtual character.
[1651] Specific operation: The server sends the next statement of the generated virtual character to the user's device and displays it in the messaging app.
[1652] Output: The adjusted speech of the virtual character displayed on the user's device.
[1653] Step 10:
[1654] The server determines when the debate is over and provides the results.
[1655] Input: Debate progress.
[1656] Specific operation: The server monitors the number of rounds and content of the debate, and when it determines that a certain condition has been reached, it declares the end of the debate. At the same time, it notifies the user of the results and provides evaluation and feedback.
[1657] Output: Notification of results and evaluation.
[1658] Step 11:
[1659] The server stores the debate log.
[1660] Input: All exchanges from the debate.
[1661] Specific operation: After the debate ends, the server saves all exchanges in a storage device. The log includes the date and time, topic, user comments, virtual character responses, and sentiment analysis results. This allows users to review the debate content later and use it for their own learning.
[1662] Output: Saved debate log.
[1663] (Application example 2)
[1664] 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."
[1665] Existing debate systems have difficulty generating appropriate responses that take users' emotions into account, resulting in a decline in the quality of communication. Furthermore, there is a lack of means to provide quick and accurate product introductions and offers in response to user questions in physical stores, resulting in a lack of improvement in the user experience.
[1666] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes: communication means for users to send messages; processing means for receiving messages from the users and selecting a debate theme; control means for virtual characters to start a debate based on the theme selected by the processing means; natural language processing means for analyzing the users' opinions and generating the virtual characters' next utterances; emotion analysis means for recognizing the users' emotions and generating a response corresponding to the emotions; end determination means for determining the end of the debate and providing the results; storage means for saving a debate log; and specific product information selection means for providing optimal product introductions and offers in response to users' questions in a physical store. This enables advanced debate responses that take user emotions into consideration, and further realizes efficient product introductions and offer proposals in a physical store.
[1667] "Communication means" refers to a device, including the devices and protocols, that allow users to send messages and servers to receive those messages.
[1668] "Processing means" refers to a device or software capable of analyzing messages from users and selecting appropriate debate topics.
[1669] "Control means" refers to a device or software that has the function of giving instructions or operations to virtual characters to begin a debate based on a selected theme.
[1670] "Natural language processing means" refers to a device or software that uses natural language processing techniques to analyze comments from a user and generate the virtual character's next utterance.
[1671] "Emotion analysis means" refers to a device or software that uses emotion analysis techniques to recognize emotions in a user's message and generate a response according to the emotions.
[1672] The "end determination means" refers to a device or software that has the function of determining the end of the debate and providing the result to the user.
[1673] "Storage means" refers to a device or software that has the function of storing debate logs and keeping them available for reference as needed.
[1674] The "specific product information selection means" refers to a device or software that has the function of selecting information to provide optimal product introductions and offers in response to user questions in a physical store.
[1675] This invention is a system that recognizes users' emotions and responds appropriately when users debate via the LINE app. This system can also be applied to product introductions and offers in physical stores, aiming to improve the user experience.
[1676] System Components
[1677] Server: This server receives users' messages, selects debate topics, and generates responses for the virtual characters. It also uses emotion analysis to recognize emotions in users' messages and generates responses based on those emotions.
[1678] Device: A smartphone or smart glasses used by a user. This device sends and receives messages to and from the server via the LINE app.
[1679] User: A participant in a debate. Sends messages to the server through the LINE app and receives responses from the server.
[1680] Technology used
[1681] Natural Language Processing (NLP): Parsing the user's message and generating a response for the virtual character.
[1682] Sentiment analysis engine: Recognizes emotions from users' messages and generates appropriate responses.
[1683] Storage device: Save a log of your debates for future reference.
[1684] Program processing flow
[1685] 1. The user sends a message via the LINE app saying "Start a debate."
[1686] 2. The server receives this message and selects an appropriate debate topic.
[1687] 3. Based on the selected topic, the virtual character generates a message to start a debate and sends it to the user.
[1688] 4. Once the user has commented, the message is sent back to the server.
[1689] 5. The server uses NLP technology and an emotion analysis engine to analyze the user's message and generate a response based on their emotion.
[1690] 6. The virtual character's generated response is sent to the user, and the debate continues.
[1691] 7. When the debate is over, the server notifies the user of the result and saves the debate log in a storage device.
[1692] Specific examples
[1693] Example 1: When a user asks "Tell me about this dress" through the LINE app, the server retrieves detailed product data and recognizes the user's confusion through an emotion analysis engine. The virtual character generates a reassuring response, saying, "This dress is designed based on the latest trends. It's also currently on special discount," and sends it to the user through the LINE app.
[1694] Example 2: When a user uses smart glasses to say, "What wine do you recommend?", the server refers to the user's previous purchase history to select an appropriate wine. The sentiment analysis engine recognizes the user's excitement, and the virtual character generates a response to the user saying, "Wow! This is an upgraded version of the wine you previously purchased. It has a richer flavor and is perfect for a special occasion dinner."
[1695] Prompt Sentence Examples
[1696] "Generate a response for when the user is confused:
[1697] User message: "Tell me about this dress"
[1698] Generated response: "This dress is designed according to the latest trends and is currently on special discount."
[1699] As described above, this system can improve the communication experience for users by generating responses that take the user's emotions into consideration. Furthermore, it can also efficiently introduce products and propose offers in physical stores.
[1700] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1701] Step 1:
[1702] A user sends a message.
[1703] Input: The user types the message "Start a debate" through the LINE app.
[1704] How it works: A user's message is sent from their device (smartphone, smart glasses).
[1705] Output: The server receives the message from the user.
[1706] Step 2:
[1707] The server receives and parses the message.
[1708] Input: The user message sent in step 1.
[1709] Operation: The server analyzes the message and uses its processing means to select a debate topic.
[1710] Output: Selected debate topics.
[1711] Step 3:
[1712] The server generates a debate start message for the virtual character.
[1713] Input: Selected debate topic.
[1714] Operation: The server uses the control means to generate a debate start message for the virtual character, sends the prompt text to the generation AI model, and converts the generated text into the LINE app format.
[1715] Output: A message from the virtual character starting a debate.
[1716] Step 4:
[1717] The server sends a debate start message.
[1718] Input: A virtual character's debate start message.
[1719] Operation: The server uses the LINE API to send a debate start message to the user's device.
[1720] Output: Messages are displayed on the terminal.
[1721] Step 5:
[1722] The user submits their opinion.
[1723] Input: User's opinion message in response to the debate start message.
[1724] How it works: A user submits their opinion through the LINE app.
[1725] Output: The server receives the opinion message from the user.
[1726] Step 6:
[1727] The server analyzes the user's opinions.
[1728] Input: The user message sent in step 5.
[1729] Operation: The server uses natural language processing means and sentiment analysis means to analyze the user's opinions and recognize emotions.
[1730] Output: Analysis results and recognized emotions.
[1731] Step 7:
[1732] The server generates the virtual character's response.
[1733] Input: Analysis of user opinions and perceived sentiment.
[1734] How it works: The server uses the generative AI model to generate the next utterance for the virtual character, incorporating the analysis results and emotional information into the prompt to generate an appropriate response.
[1735] Output: The virtual character's response message.
[1736] Step 8:
[1737] The server sends a response message.
[1738] Input: The virtual character's response message.
[1739] Operation: The server uses the LINE API to send the generated response message to the user's device.
[1740] Output: A response message is displayed on the terminal.
[1741] Step 9:
[1742] The server decides when the debate is over.
[1743] Input: Debate log and number of rounds.
[1744] Operation: The server uses the end determination means to determine the end of the debate.
[1745] Output: Termination result.
[1746] Step 10:
[1747] The server provides the results.
[1748] Input: Termination result.
[1749] Operation: The server notifies the user of the results and saves a log of the debate in a storage device.
[1750] Output: Debate results and log storage.
[1751] These are the specific processing steps of the system that realizes this application example. This system allows users to debate through the LINE app and receive appropriate responses that reflect their emotions. It also makes it possible to introduce products and provide offers in physical stores.
[1752] 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.
[1753] 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.
[1754] 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.
[1755] 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.
[1756] 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.
[1757] 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.
[1758] 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).
[1759] 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.
[1760] 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."
[1761] 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.
[1762] 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).
[1763] 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.
[1764] 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.
[1765] 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.
[1766] 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.
[1767] 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.
[1768] 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.
[1769] 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.
[1770] 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.
[1771] 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.
[1772] 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.
[1773] The following is further disclosed regarding the above embodiment.
[1774] (Claim 1)
[1775] a communication means for users to send messages;
[1776] processing means for receiving messages from said users and selecting a topic for debate;
[1777] a control means for causing a virtual character to start a debate based on the theme selected by the processing means;
[1778] natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character;
[1779] an end determination means for determining the end of the debate and providing a result;
[1780] a storage means for storing a log of the debate;
[1781] A system including:
[1782] (Claim 2)
[1783] 10. The system according to claim 1, further comprising information processing means for selecting an appropriate topic based on a user's past debate log.
[1784] (Claim 3)
[1785] 10. The system of claim 1, further comprising means for selecting a plurality of different characters as debate opponents for the virtual character.
[1786] "Example 1"
[1787] (Claim 1)
[1788] a communication means for users to send messages;
[1789] analysis means for receiving messages from said users and selecting a topic for debate;
[1790] a control means for causing a virtual character to start a debate based on the theme selected by the analysis means;
[1791] natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character;
[1792] an end determination means for determining the end of the debate and providing a result;
[1793] a storage means for storing a log of the debate;
[1794] a response generation means for generating a response of the virtual character using the generative AI model;
[1795] prompt generation means for querying the generative AI model based on a particular prompt sentence;
[1796] A system including:
[1797] (Claim 2)
[1798] 10. The system according to claim 1, further comprising information processing means for selecting an appropriate topic based on a user's past debate log.
[1799] (Claim 3)
[1800] 10. The system of claim 1, further comprising means for selecting a plurality of different characters as debate opponents for the virtual character.
[1801] "Application Example 1"
[1802] (Claim 1)
[1803] a communication means for users to send messages;
[1804] an information processing means for receiving messages from the users and selecting a topic for debate;
[1805] a control means for causing a virtual character to start a debate based on the theme selected by the information processing means;
[1806] natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character;
[1807] an end determination means for determining the end of the debate and providing a result;
[1808] a storage means for storing a log of the debate;
[1809] an information processing means for selecting a topic based on a user's past debate log and areas of interest;
[1810] an interface means by which a user can request a particular theme;
[1811] A system including:
[1812] (Claim 2)
[1813] 10. The system of claim 1, wherein the server further comprises means for analyzing the user's message using natural language processing techniques and generating a response for the virtual character based on the content thereof.
[1814] (Claim 3)
[1815] 10. The system of claim 1, including selection means for the virtual character to function as multiple characters with different settings and characteristics.
[1816] "Example 2: Combining Emotion Engines"
[1817] (Claim 1)
[1818] a communication means for users to send messages;
[1819] processing means for receiving messages from said users and selecting a topic for debate;
[1820] a control means for causing a virtual character to start a debate based on the theme selected by the processing means;
[1821] natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character;
[1822] emotion recognition means for recognizing emotions from user utterances;
[1823] response adjustment means for adjusting the utterances of the virtual character based on the recognized emotion;
[1824] an end determination means for determining the end of the debate and providing a result;
[1825] a storage means for storing a log of the debate;
[1826] A system including:
[1827] (Claim 2)
[1828] 10. The system according to claim 1, further comprising information processing means for selecting an appropriate topic based on a user's past debate log.
[1829] (Claim 3)
[1830] 10. The system of claim 1, further comprising means for selecting a plurality of different characters as debate opponents for the virtual character.
[1831] "Application example 2 when combining emotion engines"
[1832] (Claim 1)
[1833] a communication means for users to send messages;
[1834] processing means for receiving messages from said users and selecting a topic for debate;
[1835] a control means for causing a virtual character to start a debate based on the theme selected by the processing means;
[1836] natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character;
[1837] emotion analysis means for recognizing the emotion of the user and generating a response according to the emotion;
[1838] an end determination means for determining the end of the debate and providing a result;
[1839] a storage means for storing a log of the debate;
[1840] A system including:
[1841] (Claim 2)
[1842] 10. The system according to claim 1, further comprising information processing means for selecting an appropriate topic based on a user's past debate log.
[1843] (Claim 3)
[1844] 10. The system of claim 1, further comprising means for selecting a plurality of different characters as debate opponents for the virtual character.
[1845] (Claim 4)
[1846] The system according to claim 1, further comprising a specific product information selection means for providing optimal product introductions and offers in response to a user's question in a physical store. [Explanation of symbols]
[1847] 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. a communication means for users to send messages; processing means for receiving messages from said users and selecting a topic for debate; a control means for causing a virtual character to start a debate based on the theme selected by the processing means; natural language processing means for analyzing the user's opinion and generating the next utterance for the virtual character; an end determination means for determining the end of the debate and providing a result; a storage means for storing a log of the debate; A system including:
2. 2. The system according to claim 1, further comprising information processing means for selecting an appropriate topic based on a user's past debate log.
3. 2. The system of claim 1, further comprising means for selecting a plurality of different characters as debate opponents for the virtual character.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A