System
The system addresses communication challenges in restaurants and tourist facilities by automating voice data processing, intent analysis, and multilingual responses, enhancing service efficiency and quality.
Patent Information
- Application Number
- JP2024131344
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
Restaurants and tourist facilities face challenges in efficiently communicating with customers due to slow response times and limited multilingual support, leading to lost opportunities and poor service quality.
A system that automates customer interactions by converting voice data to text, analyzing customer intent, querying databases for responses, generating multilingual voice responses, and summarizing calls for efficient management.
Enables quick and accurate customer service with multilingual support, minimizing lost opportunities and improving communication efficiency.
Smart Images

Figure 2026028728000001_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] Restaurants and tourist facilities are experiencing lost opportunities due to difficulty in getting through to customers on the phone. Traditional telephone answering methods also have the problem of slow response times, resulting in poor service quality. Furthermore, inbound tourism and foreign language support are limited, preventing smooth communication in multiple languages. These issues need to be resolved. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including the following means.
[0006] The system includes a means for receiving a call from a customer, a means for transmitting received voice data to a voice recognition engine and converting the voice into text, a means for analyzing the text data and understanding the customer's intention, a means for querying a database in response to a customer request, a means for generating an appropriate response message based on the database query result, a means for transmitting the generated response message to a voice synthesis engine and converting it into voice data, a means for playing the generated voice data to the customer, a means for summarizing important content of the call and organizing it in text form, and a means for saving the summary data in a database.
[0007] Furthermore, by automatically detecting the language used by the customer at the initial voice recognition stage and generating a response message in the corresponding language, as well as by summarizing the contents of the call and making them available for reference on the management screen or notification system, more effective customer service will become possible. This system will enable restaurants and tourist facilities to minimize opportunity loss and facilitate smooth communication with customers.
[0008] "Customer" refers to the general user of the system.
[0009] "Means for receiving telephone calls" refers to a device or system that has the function of detecting telephone calls from customers and acquiring them as voice data.
[0010] "Voice Data" refers to voice information from customers that can be stored and processed in digital format.
[0011] A "voice recognition engine" refers to software or a system that analyzes voice data and converts it into text data.
[0012] "Text data" refers to data that expresses the customer's speech in text format as analyzed by a voice recognition engine.
[0013] "Means for analyzing text" refers to devices or systems that have the ability to process text data to understand customer intent and determine appropriate responses.
[0014] A "database" refers to a system that systematically stores and manages information such as customer information, reservation status, and business hours.
[0015] "Means for querying a database" refers to a device or system that has the function of searching a database and obtaining the required information.
[0016] "Means for generating a response message" refers to a device or system that has the function of creating an appropriate response in text format based on the database query results and the customer's intentions.
[0017] A "speech synthesis engine" refers to software or a system that converts text data into speech data.
[0018] "Means for summarizing" refers to a device or system that has the function of summarizing the contents of a call and organizing it in text format.
[0019] "Means for storing summary data" refers to a device or system that has the function of storing summarized text data in a database and making it available for later reference.
[0020] "Means for automatically detecting the language used" refers to a device or system that has the function of automatically determining the language being spoken from the content of a customer's speech. [Brief explanation of the drawings]
[0021] [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
[0022] 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.
[0023] First, the terms used in the following description will be explained.
[0024] 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).
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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."
[0029] [First embodiment]
[0030] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0031] 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.
[0032] 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).
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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."
[0042] MODE FOR CARRYING OUT THE INVENTION
[0043] System Overview
[0044] This invention is a system that automates customer telephone responses and provides multilingual support. It can maintain smooth communication with customers and minimize opportunity loss, especially in restaurants and tourist facilities.
[0045] Program processing overview
[0046] 1. Receiving a call
[0047] The server receives the call from the customer. At this stage, the voice data is collected and prepared for real-time processing.
[0048] 2. Voice Recognition
[0049] The server sends the received voice data to a voice recognition engine, which converts the voice into text data, thereby obtaining the customer's speech in text format.
[0050] 3. Text Analysis and Intention Understanding
[0051] The server sends the acquired text data to a natural language processing engine to understand the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0052] 4. Database Query
[0053] The server queries the database in response to a customer request and obtains the necessary information (e.g., reservation status, business hours, etc.).
[0054] 5. Response Generation
[0055] The server generates an appropriate response message based on the results of the database query. The response is generated in text format.
[0056] 6. Vocalization of responses
[0057] The server sends the generated text response to a speech synthesis engine to generate audio data, which is then played back to the customer.
[0058] 7. Multilingual support
[0059] During the initial speech recognition stage, the server automatically detects the language the customer speaks and generates and plays responses in the corresponding language.
[0060] 8. Call summaries and recordings
[0061] The server summarizes the key points of the call and organizes them in text format, then stores the summary data in a database and makes it available for viewing in management screens and notification systems.
[0062] Specific examples
[0063] Example 1: Reservation
[0064] 1. The customer calls
[0065] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0066] 2. Speech Recognition and Analysis
[0067] The server receives the voice data and sends it to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine to understand the intent of the reservation.
[0068] 3. Check availability
[0069] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0070] 4. Vocalization and playback of responses
[0071] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0072] 5. Recording of reservation information
[0073] When the user speaks their name, the server recognizes the information and records it in a database. The server then summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[0074] By utilizing this program, restaurants and tourist facilities can improve customer service efficiency and minimize lost opportunities. In addition, multilingual support makes it possible to communicate smoothly with inbound customers.
[0075] The processing flow will be explained below.
[0076] Step 1:
[0077] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0078] Step 2:
[0079] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0080] Step 3:
[0081] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0082] Step 4:
[0083] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0084] Step 5:
[0085] The server generates an appropriate response message based on the database query results, and the generated response message is in text format.
[0086] Step 6:
[0087] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0088] Step 7:
[0089] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0090] Step 8:
[0091] The server waits for the customer's next utterance and again collects voice data, and this cycle continues until all of the customer's questions and requests have been resolved.
[0092] Step 9:
[0093] At the end of the call, the server summarizes the important parts of the call, and the summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format.
[0094] Step 10:
[0095] The server stores the summarized text data in a database, which can then be accessed through the administration screen and notification system for future reference by administrators.
[0096] Step 11:
[0097] The server automatically detects the customer's language during the initial speech recognition stage, and if the language is identified, generates a response message in that language.
[0098] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers and minimize lost opportunities.
[0099] Example 1
[0100] 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."
[0101] Modern restaurants and tourist facilities are required to communicate with customers efficiently and in multiple languages. However, conventional systems require manual response and are heavily dependent on specific languages, making it difficult to provide fast and efficient responses. Furthermore, recording and summarizing call content is largely manual, making it difficult to say it is efficient. To solve these problems, an automated response system that can quickly understand customer requests and respond in multiple languages is needed.
[0102] 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.
[0103] In this invention, the server includes means for receiving communications from customers, means for transmitting received voice data to a voice recognition engine and converting the voice data into text data, means for analyzing the text data and understanding the customer's intent, means for querying an information recording device in response to a customer request, means for generating an appropriate response message based on the results of querying the information recording device, means for transmitting the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the communication and organizing it in text format, and means for saving the summary data in the information recording device. This enables efficient communication with customers and multilingual support, enabling quick and accurate responses without human intervention. Furthermore, automatic summarization and recording of call content improves business efficiency and service quality.
[0104] "Customer" means any person or entity that makes calls or communicates using the System.
[0105] "Communication" refers to the act of sending and receiving voice data or text data via telephone, the Internet, etc.
[0106] "Voice data" refers to data that digitally represents the voice uttered by the customer.
[0107] A "voice recognition engine" is a software or hardware configuration for analyzing received voice data and converting it into text data.
[0108] "Text data" is a character string representing the customer's speech content converted by a voice recognition engine.
[0109] A "natural language processing engine" is a software or hardware configuration that analyzes acquired text data and understands the customer's intent and the content of their questions.
[0110] An "information recording device" is a device for storing and managing information in the form of a database or the like.
[0111] A "response message" is text data containing a reply generated in response to a customer request.
[0112] A "speech synthesis engine" is a software or hardware configuration for analyzing text data and converting it into speech data.
[0113] A "summary" is a text-formatted summary of the important parts of a communication.
[0114] "Saving in an information recording device" refers to the act of saving the acquired data and summary content in storage such as a database.
[0115] "Multilingual support" is a function that enables communication in multiple languages.
[0116] The "control screen" is a user interface for operating and managing the system.
[0117] A "notification system" is a system for notifying specific users or administrators of important information.
[0118] MODE FOR CARRYING OUT THE INVENTION
[0119] System Overview
[0120] This invention is a multilingual automated response system that receives customer communications and automatically converts speech into text, enabling efficient management of customer communications and minimizing opportunity loss, particularly in restaurants and tourist facilities.
[0121] Hardware and software used
[0122] The system is implemented using the following hardware and software:
[0123] Server: A central control device that manages communications and processes all data.
[0124] Speech recognition engine: Software for converting voice data into text data (e.g., Google Cloud Speech-to-Text).
[0125] Natural language processing engine: Software that analyzes text data and understands customer intent (e.g., IBM Watson Natural Language Understanding).
[0126] Information recording device: A database (e.g., MySQL, PostgreSQL) for storing customer information and call content.
[0127] Speech synthesis engine: Software for converting text data into speech data (e.g., Amazon Polly).
[0128] Control Screens and Notification Systems: User interfaces and systems for managing the system and communicating important information.
[0129] Example: Reservation
[0130] Below is a concrete example of how the system processes reservations from customers.
[0131] 1. The customer calls
[0132] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and collects the voice data.
[0133] 2. Speech Recognition and Analysis
[0134] The server sends the voice data to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine, which analyzes the intent of the reservation.
[0135] 3. Information Recording Device Inquiry
[0136] The server queries the information recording device to check the reservation status for tomorrow night at 7pm. If there is availability, the server generates a response message saying "That time slot is available. Please tell us your name."
[0137] 4. Vocalization of responses
[0138] The server sends the generated text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0139] 5. Recording of reservation information
[0140] When the user gives their name, the server recognizes the information and records it in the information recording device. The server summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[0141] Examples of prompt statements
[0142] Below is an example of a prompt sentence to input to the generative AI model.
[0143] A customer calls your restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." Use your telephone answering system to respond appropriately.
[0144] The implementation of such a system will improve the efficiency of customer service at restaurants and tourist facilities and enable multilingual support, which is expected to improve service quality and customer satisfaction.
[0145] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0146] Step 1:
[0147] The server receives communication from the customer
[0148] Input: A customer calls.
[0149] How it works: The server detects when a call is received at a specific phone number. It prepares to receive voice data and uses SIP (Session Initiation Protocol) or similar to establish communication.
[0150] Output: Real-time received audio data.
[0151] Step 2:
[0152] The server sends the received voice data to the voice recognition engine, which converts the voice data into text data.
[0153] Input: Real-time received audio data.
[0154] How it works: The server sends audio data to the Google Cloud Speech-to-Text API, which converts it to text.
[0155] Output: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[0156] Step 3:
[0157] The server sends the text data to a natural language processing engine to understand the customer's intent.
[0158] Input: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[0159] How it works: The server sends the text data to an NLP engine, such as IBM Watson Natural Language Understanding, which analyzes the text data and understands the meaning of "reserve."
[0160] Output: Customer intent "Make a reservation."
[0161] Step 4:
[0162] The server queries the information recording device in response to a customer request.
[0163] Input: The customer's intent to "make a reservation" and any additional relevant information.
[0164] Operation: The server executes an SQL query against the information storage device (e.g., a MySQL database) to retrieve the necessary reservation status data.
[0165] Output: Information that "There are two seats available at 7pm on October 25th, 2023."
[0166] Step 5:
[0167] The server generates an appropriate response message based on the information recorder query result.
[0168] Input: Information: "There are two seats available at 7pm on October 25th, 2023."
[0169] What it does: The server generates a response text message based on the data it retrieves, for example, "That time slot is available. What's your name?"
[0170] Output: A text message such as "I'm available at that time. What's your name?"
[0171] Step 6:
[0172] The server generates a text response, which is sent to a speech synthesis engine and converted into voice data.
[0173] Input: A text message such as "I'm available that time. What's your name?"
[0174] How it works: A server sends a text message to a speech synthesis engine, such as Amazon Polly, which converts the text into speech.
[0175] Output: Speech data saying "That time slot is free. Please tell me your name."
[0176] Step 7:
[0177] Plays the server-generated audio data to the customer
[0178] Input: Speech data saying "That time slot is available. Please tell me your name."
[0179] How it works: The server sends the voice data to the customer's communication device and plays it as audio.
[0180] Output: The customer hears the response.
[0181] Step 8:
[0182] The server summarizes the important parts of the communication and organizes them in text format.
[0183] Input: Text data of the entire call.
[0184] How it works: The server sends the call to a summarization algorithm, which creates a summary of the key points.
[0185] Output: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[0186] Step 9:
[0187] The server stores the summary data in an information recording device.
[0188] Input: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[0189] Operation: The server saves the acquired summary data in an information recording device (database).
[0190] Output: The saved summary data is recorded in a database.
[0191] This allows you to concretely understand the processing of the entire system, making the expected operations and data flow clear.
[0192] (Application example 1)
[0193] 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."
[0194] Conventional telephone answering systems have been unable to respond to diverse customer requests, particularly in multilingual support. Furthermore, in areas such as food delivery services, there has been a lack of efficient means for automatically recognizing voice orders and asking confirmation questions, resulting in the time required to confirm and fulfill orders.
[0195] 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.
[0196] In this invention, the server includes a means for receiving customer inquiries, a means for transmitting received voice data to a voice recognition engine and converting the voice into text, and a means for analyzing the text data and understanding the customer's intent. This enables automatic recognition of voice orders and the generation of confirmation questions to respond. In addition, the server also includes a means for summarizing recorded conversation content and storing and managing it in a database, and a means for automatically detecting the customer's language during the initial voice recognition stage and generating a response message in the corresponding language. It also includes a means for recording conversation content and updating order information in real time. This enables efficient and accurate customer service in areas requiring multilingual support, such as food delivery services.
[0197] A "customer inquiry" is an order or request for information made by a customer over the phone or online.
[0198] A "voice recognition engine" is software or hardware that analyzes received voice data and converts it into text data.
[0199] "Text data" is character information converted from speech by a speech recognition engine.
[0200] "Customer intent" is the purpose or desire behind the words a customer speaks.
[0201] "Means of querying a database" refers to the process of searching and retrieving the required information from a database based on the customer's intent.
[0202] A "response message" is a message that contains an appropriate response to a customer inquiry.
[0203] A "speech synthesis engine" is software or hardware for converting text data into voice data.
[0204] "Call content" refers to the content of the conversation between the customer and the system.
[0205] A "summary" is a concise summary of the important parts of the call.
[0206] The "management screen" is an interface that allows system administrators to manage and monitor the database and call content.
[0207] A "notification system" is a mechanism for notifying specific events or information in real time.
[0208] A "voice order" is an order for a product made by a customer using voice.
[0209] "Verification questions" are additional questions the system asks to verify the customer's order details and intent.
[0210] "Order information" refers to detailed information such as the contents, quantity, and delivery address of the product ordered by the customer.
[0211] "Real-time updates" means that data and information are reflected immediately and the information in the system is always kept up to date.
[0212] "Multilingual support" is the ability to respond to customers who speak different languages in their own language.
[0213] The means for automatically detecting "customer language" is a process for automatically determining the language spoken by a customer using voice recognition technology.
[0214] The present invention relates to a system for efficiently receiving voice orders from customers and appropriately processing and responding to them. This system is designed to also accommodate orders from customers in multiple languages.
[0215] System configuration
[0216] 1. A means of receiving customer inquiries
[0217] The server receives voice orders from smartphones and landlines, which include a microphone and a telephone line to capture voice data.
[0218] 2. Voice Recognition
[0219] The received voice data is sent to a speech recognition engine on the server (for example, Google Cloud Speech-to-Text API) and converted into text data. Through this process, the customer's speech is extracted from the voice.
[0220] 3. Text Analysis and Intention Understanding
[0221] The converted text data is sent to a natural language processing engine on the server to understand the customer's intent (e.g., order, inquiry, cancellation, etc.). If necessary, additional confirmation questions are generated.
[0222] 4. Database Query
[0223] The server queries the database according to the customer's intention and obtains the necessary information (e.g., menu availability, price, delivery time, etc.).
[0224] 5. Generating a Response Message
[0225] Based on the results of the database query, an appropriate response message is generated, which is generated in text format and may include additional confirmation questions if necessary.
[0226] 6. Multilingual support and speech synthesis
[0227] The server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. The generated text response is sent to a speech synthesis engine (e.g., gTTS) and converted into voice data.
[0228] 7. Playing audio data
[0229] The generated voice data is played back on the customer's device, allowing the customer to receive their order details and confirmation questions by voice.
[0230] 8. Recording and summarizing calls
[0231] The contents of the call are recorded on the server and important information is summarized. This summary data is stored in a database and can be viewed on the management screen and notification system.
[0232] 9. Real-time update of order information
[0233] The server updates order details and status in real time, ensuring that the information in the system is always up to date.
[0234] Specific examples
[0235] For example, when a customer orders a pizza using a smartphone, the process goes like this:
[0236] 1. A customer says, "I'd like to order one Margherita pizza."
[0237] 2. The server receives the voice data, and the voice recognition engine converts it into text data such as "I would like to order one Margherita pizza."
[0238] 3. The server analyzes the text data and understands that the customer's intent is to "order pizza."
[0239] 4. Query the database to check availability and delivery times for Margherita pizza.
[0240] 5. The server generates a response message saying, "Margherita pizza is in stock. What toppings and size would you like?"
[0241] 6. If necessary, the server auto-detects the customer's preferred language and generates a response message in the appropriate language.
[0242] 7. The text-to-speech engine converts the generated text response into audio data and plays it back to the customer.
[0243] 8. Order details and supplementary information are updated in real time and displayed on the management screen.
[0244] Prompt Sentence Examples
[0245] "We are developing a food delivery smartphone app. We would like to create a feature that can receive voice orders from customers, automatically recognize the order content, and respond by voice if necessary with confirmation questions. We also need to automatically detect the language used by the customer and support multiple languages. We would also like to add a feature that records the order details in a database."
[0246] In this way, the present invention provides an efficient voice ordering system that supports multiple languages, thereby improving customer satisfaction in food delivery services.
[0247] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0248] Step 1:
[0249] The user makes a voice inquiry from a smartphone or landline. The user's statement (e.g., "I'd like to order one Margherita pizza") is captured as voice data by the device.
[0250] Step 2:
[0251] The device sends the received voice data to the server. The server sends the voice data to a speech recognition engine such as the Google Cloud Speech-to-Text API, which converts the voice into text data. This text data is returned from the speech recognition engine to the server. The input is voice data, and the output is text data.
[0252] Step 3:
[0253] The server sends the text data to a natural language processing engine to analyze the customer's intent. As a result of the analysis, it is understood that the user is trying to place an order. For example, the intent "I would like to order one Margherita pizza" is obtained from the text data. The input is the text data, and the output is the analyzed intent.
[0254] Step 4:
[0255] The server queries a database based on the parsed customer intent. For example, it retrieves necessary information such as stock status and delivery time of Margherita pizza from the database. The input is the parsed intent, and the output is the database query result.
[0256] Step 5:
[0257] The server generates an appropriate response message based on the database query results. This response message is in text format, and might say something like, "Margherita pizza is in stock. What toppings and size would you like?" The input is the database query result, and the output is the response message (text).
[0258] Step 6:
[0259] If necessary, the server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. Language detection is performed using a language recognition system on the server. The input is the language detection data, and the output is a multilingual text response message.
[0260] Step 7:
[0261] The server sends the generated text response to a speech synthesis engine (e.g. gTTS) to convert it into audio data that is played back to the customer. The input is the text response message, and the output is the audio data.
[0262] Step 8:
[0263] The generated voice data is sent from the server to the terminal, and the terminal responds to the user by playing the voice data. For example, a voice message such as "Margherita pizza is in stock. What toppings and size would you like?" is played. The input is voice data, and the output is a voice response.
[0264] Step 9:
[0265] The server records the call and summarizes the important details. For example, a summary might be generated such as "The user ordered one Margherita pizza." This summary data is stored in a database. The input is the call content, and the output is the summary data.
[0266] Step 10:
[0267] The server updates order information in real time, ensuring that the information in the system is always up to date, allowing the most up-to-date information to be seen on the management screen and in the notification system. The input is summary data, and the output is updated order information.
[0268] 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.
[0269] MODE FOR CARRYING OUT THE INVENTION
[0270] System Overview
[0271] This invention adds emotion recognition functionality to a telephone answering system for restaurants and tourist facilities. It automates customer phone calls, supports multiple languages, and recognizes emotions. This system can maintain smooth communication with customers and minimize opportunity loss.
[0272] Program processing overview
[0273] 1. Receiving a call
[0274] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0275] 2. Voice Recognition
[0276] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0277] 3. Text Analysis and Intention Understanding
[0278] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0279] 4. Emotion recognition
[0280] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (e.g., joy, anger, sadness, etc.).
[0281] 5. Database Query
[0282] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0283] 6. Response Generation
[0284] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[0285] 7. Vocalization of responses
[0286] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0287] 8. Response playback
[0288] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0289] 9. Call summaries and recordings
[0290] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0291] 10. Data Retention
[0292] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0293] Specific examples
[0294] Example 1: Reservation and Emotion Recognition
[0295] 1. The customer calls
[0296] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0297] 2. Speech and Emotion Recognition
[0298] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[0299] 3. Check availability
[0300] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0301] 4. Vocalization and playback of responses
[0302] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0303] 5. Recording reservation information and emotional data
[0304] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[0305] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[0306] The processing flow will be explained below.
[0307] Step 1:
[0308] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0309] Step 2:
[0310] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0311] Step 3:
[0312] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (reservation, inquiry, cancellation, etc.).
[0313] Step 4:
[0314] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (happiness, anger, sadness, etc.).
[0315] Step 5:
[0316] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0317] Step 6:
[0318] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[0319] Step 7:
[0320] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0321] Step 8:
[0322] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0323] Step 9:
[0324] The server waits for the customer's next statement and collects voice data again. At this stage, the process continues until all of the customer's questions and requests have been resolved.
[0325] Step 10:
[0326] At the end of the call, the server summarizes the important parts of the call. The summary (reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0327] Step 11:
[0328] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0329] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers, minimize lost opportunities, and provide services that take into account customer feelings.
[0330] Example 2
[0331] 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."
[0332] The purpose of this invention is to automate telephone answering between customers and businesses (e.g., restaurants and tourist facilities) and realize smoother and more effective communication by incorporating emotion recognition. Specifically, conventional automated answering systems have difficulty accurately understanding customer emotions and intentions, which limits the improvement of customer satisfaction. For this reason, there is a demand for the development of a system that can recognize customer emotions and generate responses based on them.
[0333] 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.
[0334] In this invention, the server includes means for receiving calls from customers, means for sending voice data to a voice recognition engine and converting the voice into text, means for analyzing the text data and understanding the customer's intention, means for sending the voice data to an emotion engine and recognizing the customer's emotion, means for querying a database in response to a customer request, means for generating an appropriate response message based on the database query result and emotion data, means for sending the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the call and organizing it in text format, and means for saving the summary data and emotion data in a database. This enables appropriate responses that reflect the customer's emotion, improving customer satisfaction and enabling efficient business operations.
[0335] A "means for receiving customer calls" is a combination of hardware and software used to connect customers to an automated response system and has the ability to collect voice data over telephone lines or a VoIP network.
[0336] "Means for sending voice data to a voice recognition engine and converting the voice into text" refers to the entire process of sending collected voice data to a voice recognition engine via the Internet, and the engine analyzing the voice and converting it into text data.
[0337] "Means for analyzing text data and understanding customer intent" refers to the process in which a natural language processing engine analyzes text data obtained from a voice recognition engine and extracts the customer's requests and intent from the results.
[0338] "Means for transmitting voice data to an emotion engine to recognize customer emotions" refers to the process of transmitting collected voice data to an emotion recognition engine, which then identifies the customer's emotional state (such as joy, anger, or sadness) from the tone and content of the voice.
[0339] "Means of querying a database according to a customer's request" refers to the process of executing a search query on a database to obtain relevant information according to the customer's request or intent, and obtaining the required data.
[0340] The "means for generating an appropriate response message based on the database query results and emotion data" refers to a process for creating an appropriate response message for a customer using a natural language generation engine based on information retrieved from the database and emotion data received from the emotion engine.
[0341] The "means for sending the generated response message to a speech synthesis engine and converting it into voice data" refers to the process of sending a text-format response message to a speech synthesis engine, which then converts the text into voice and generates reproducible voice data.
[0342] The "means for playing the generated voice data to the customer" is the process of transmitting the voice data received from the speech synthesis engine over the customer's telephone line so that the customer can hear the voice response.
[0343] "Means for summarizing the important content of a call and organizing it in text format" refers to a function that extracts the important parts of the conversation after the call ends and organizes the summarized content in text format.
[0344] "Means for storing summary data and emotion data in a database" refers to the process of storing the summarized call content and emotion data in a database and accumulating it for later reference and analysis.
[0345] MODE FOR CARRYING OUT THE INVENTION
[0346] System Overview
[0347] This invention is a system that automates telephone conversations between customers and businesses (e.g., restaurants and tourist facilities) and incorporates emotion recognition. The main hardware used is a telephone line system and server using a VoIP network. The main software used is a speech recognition engine, a natural language processing engine, an emotion recognition engine, a database system, and a speech synthesis engine.
[0348] Program processing overview
[0349] 1. Receiving a call
[0350] The server receives a call from a customer, detects the call through the telephone line system (e.g., Asterisk), and starts collecting voice data.
[0351] 2. Voice Recognition
[0352] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text), which analyzes the voice data and converts it into text data.
[0353] 3. Text Analysis and Intention Understanding
[0354] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3), which analyzes the text data and understands the customer's intent.
[0355] 4. Emotion recognition
[0356] At the same time, the server sends the voice data to an emotion recognition engine (e.g., IBM Watson Tone Analyzer), which analyzes the voice data and recognizes the customer's emotions.
[0357] 5. Database Query
[0358] The server queries a database (e.g. MySQL) based on the customer's request. For example, if a customer wants to make a reservation, it searches the reservation system database to check availability for the desired date and time.
[0359] 6. Response Generation
[0360] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine.
[0361] 7. Vocalization of responses
[0362] The server generates a text response, which is then sent to a speech synthesis engine (e.g., Amazon Polly) for conversion into audio data.
[0363] 8. Response playback
[0364] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0365] 9. Call summaries and recordings
[0366] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0367] 10. Data Retention
[0368] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0369] Specific examples
[0370] Prompt Sentence Examples
[0371] "Set the context for when a user calls"
[0372] Example 1: Reservation and Emotion Recognition
[0373] 1. The customer calls
[0374] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0375] 2. Speech and Emotion Recognition
[0376] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[0377] 3. Check availability
[0378] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0379] 4. Vocalization and playback of responses
[0380] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0381] 5. Recording reservation information and emotional data
[0382] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[0383] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[0384] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0385] Step 1:
[0386] Receiving a call
[0387] The server receives a call from a customer. The input is the customer's telephone ringing signal. The telephone line system (e.g., Asterisk) detects the call and starts collecting voice data. The output is the collected voice data. Specifically, the server receives the telephone ringing signal via the VoIP network and captures the voice data in digital form.
[0388] Step 2:
[0389] Voice Recognition
[0390] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text). The collected voice data is the input. The voice recognition engine analyzes the voice data and converts it into text data. The generated text data is obtained as the output. Specifically, the server sends the voice data as an API request, and the voice recognition engine analyzes the voice waveform and generates corresponding text.
[0391] Step 3:
[0392] Text analysis and intent understanding
[0393] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3). The input is the generated text data. The natural language processing engine analyzes the text data and understands the customer's intent. The output is the customer's intent, which is identified. Specifically, the server sends the text data as an API request, and the natural language processing engine analyzes the text and extracts the intent, such as "make a reservation" or "inquire."
[0394] Step 4:
[0395] emotion recognition
[0396] The server simultaneously sends the voice data to an emotion recognition engine (e.g. IBM Watson Tone Analyzer). The input is the collected voice data. The emotion recognition engine analyzes the voice data and recognizes the customer's emotion. The output is the identified emotion data. Specifically, the server sends the voice data as an API request, and the emotion recognition engine analyzes the tone of the voice to identify the customer's emotion.
[0397] Step 5:
[0398] Database Query
[0399] The server queries a database (e.g. MySQL) based on the customer's request. The input is the customer's intent (e.g., requesting a reservation). The database returns the information according to the request. The output is the retrieved data. Specifically, the server issues an SQL query to search for reservation information. For example, it executes the query "SELECT FROM reservations WHERE date='YYYY-MM-DD' AND time='19:00'".
[0400] Step 6:
[0401] Response Generation
[0402] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine. The input is the reservation information and emotion data from the database. The output is a generated text response. Specifically, the server uses the natural language generation engine to generate a response message such as "That time slot is available. Please tell us your name."
[0403] Step 7:
[0404] Voiced responses
[0405] The server sends the generated text response to a speech synthesis engine (e.g., Amazon Polly) to convert it into speech data. The input is the generated text response. The speech synthesis engine converts the text into speech. The output is the generated speech data. Specifically, the server calls the speech synthesis API to convert the text message into speech data.
[0406] Step 8:
[0407] Response playback
[0408] The server plays the voice data received from the speech synthesis engine to the customer. The input is the generated voice data. The output is the voice response that the customer hears. In concrete terms, the server sends the voice data to the customer in real time via the telephone line system, and the customer hears the response.
[0409] Step 9:
[0410] Call summaries and recordings
[0411] At the end of a call, the server summarizes the important parts of the call. The input is the call content and emotion data. The summary is organized in text format. The output is the summarized text data. Specifically, the server analyzes the content of the call, extracts information such as "Reservation for two people tomorrow night at 7pm," and summarizes it in text format.
[0412] Step 10:
[0413] Data storage
[0414] The server saves the summarized text data and emotion data in a database. The input is the summary data and emotion data. The output is the saved data. Specifically, the server saves the summary data in the database using an INSERT SQL statement. For example, it executes the SQL statement "INSERT INTO summaries (date, time, customer, emotion) VALUES ('YYYY-MM-DD', '19:00', 'Customer name', 'Joy')".
[0415] (Application example 2)
[0416] 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."
[0417] Conventional telephone answering systems and customer service systems in brick-and-mortar stores have the problem of being unable to recognize customer emotions and respond appropriately. It is also difficult to provide multilingual support and efficiently manage customer voice data. Furthermore, there is a lack of means to improve customer satisfaction by adjusting services based on customer emotions.
[0418] 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 a means for receiving telephone calls from customers or voice input at a physical store, a means for sending the received voice data to a voice recognition engine and converting the voice into text, a means for analyzing the text data and understanding the customer's intent, a means for querying a database in response to a customer request, a means for generating an appropriate response message based on the database query results, a means for sending the generated response message to a voice synthesis engine and converting it into voice data, a means for playing the generated voice data to the customer, a means for summarizing important content of the call or conversation and organizing it in text format, a means for saving the summary data in a database, a means for recognizing emotions from voice data, and a means for adjusting the response message based on the emotion recognition results. This makes it possible to grasp customer emotions in real time and provide an optimal response accordingly. It also realizes multilingual support and efficient management of voice data, thereby improving customer satisfaction.
[0419] "Customer" means a person who uses or is a user of the Services.
[0420] A "telephone" is a device or system that transmits voice over a communication line.
[0421] "Audio input" is the act or means of providing audio data to a system.
[0422] "Audio data" is information that represents audio in digital form.
[0423] A "speech recognition engine" is a software or hardware system for analyzing voice data and converting it into text data.
[0424] "Text data" is digital data that includes character information.
[0425] "Intent" refers to the purpose or desire that the customer is trying to communicate.
[0426] A "database" is a system that stores information in an organized manner and allows it to be searched and manipulated as needed.
[0427] "Querying" is the act of looking up required information from a database or other source of information.
[0428] A "response message" is a message returned in response to a customer inquiry or request.
[0429] A "speech synthesis engine" is a software or hardware system for converting text data into speech data.
[0430] "Playback" refers to the act of outputting audio data so that it can be heard.
[0431] "Important content" refers to information or key points that deserve special attention in a call or conversation.
[0432] "Summarizing" is the act of concisely summarizing long content or a lot of information.
[0433] Organizing is the act of putting information into an easy-to-understand format.
[0434] "Storage" is the act of keeping information for later use.
[0435] Emotions are human psychological states and feelings.
[0436] "Emotion recognition" is the act of estimating and evaluating human emotions.
[0437] "Adjusting" is the act of making changes or modifications to make something optimal for the situation.
[0438] A "system" is a set of structures or devices in which multiple parts or elements work together.
[0439] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings.
[0440] System Overview
[0441] This invention adds an emotion recognition function to a customer service system based on voice input from customers over the phone and in physical stores. The system analyzes customer voice data, recognizes their emotions in real time, and generates appropriate response messages to provide smooth and sophisticated customer service.
[0442] Hardware and Software Configuration
[0443] Hardware:
[0444] Smart glasses, head-mounted displays, smartphones, servers
[0445] software:
[0446] Speech recognition engine (Google Web Speech API)
[0447] Emotion recognition model (sentiment-analysis pipeline from the transformers library)
[0448] Speech synthesis engine (pyttsx3 library)
[0449] Process flow and software / hardware used
[0450] 1. Receiving audio input:
[0451] The server receives customer calls and voice data from physical stores, and microphones built into smart glasses or head-mounted displays capture the voice.
[0452] 2. Speech Recognition:
[0453] The server sends the received voice data to a speech recognition engine (Google Web Speech API) and converts the voice into text data, allowing the customer's speech to be treated as text.
[0454] 3. Intent Analysis:
[0455] The server sends the text data to a natural language processing engine to analyze the customer's intent. For example, intent such as "I would like to make a reservation" or "I would like to check product availability" can be understood here.
[0456] 4. Emotion recognition:
[0457] The server simultaneously sends the audio data to an emotion recognition model (the sentiment-analysis pipeline in the transformers library) to analyze the customer's emotions, which determines whether the customer has a positive, negative, or neutral emotion.
[0458] 5. Database Query:
[0459] The server queries the database based on the customer's intent and retrieves the necessary information, such as whether a reservation can be made or the product's stock status.
[0460] 6. Response message generation and adjustment:
[0461] Based on the database query results and emotion recognition results, the server generates an appropriate response message, possibly adjusting it depending on the emotion, for example, generating a lighter-toned message if the customer is expressing positive emotions.
[0462] 7. Speech synthesis:
[0463] The server sends the generated response message to a speech synthesis engine (pyttsx3 library) and converts it into voice data, which allows the text message to be output as a voice message.
[0464] 8. Playback and saving responses:
[0465] The server plays the generated voice data to the customer, and at the same time summarizes the important content of the call or conversation and stores it in a database as text data.
[0466] Specific examples
[0467] Example 1:
[0468] If a customer walks into a store and says, "I'm busy today, but I'd like to take a quick look around," the system uses emotion recognition to recognize that the customer feels busy but is interested, and generates a response message such as, "Please feel free to look around."
[0469] Example 2:
[0470] If a customer says, "Oh, there's a product like this! I'm so happy," emotion recognition will detect the customer's joy and generate a response message such as, "Thank you. I have other products I recommend!"
[0471] Prompt Sentence Examples
[0472] Here are some example prompts to input to a generative AI model:
[0473] User input: "I'm busy today, but I just wanted to take a quick look."
[0474] A response message generated based on the output of the emotion recognition model: "Please feel free to browse."
[0475] User input: "Oh, I didn't know there was a product like this! I'm so happy."
[0476] A response message generated based on the output of the emotion recognition model: "Thank you! I have other recommendations!"
[0477] In this way, by understanding customer emotions in real time and generating appropriate responses accordingly, smoother customer service can be achieved.
[0478] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0479] Step 1:
[0480] The server receives voice input from customers via phone or in a physical store. The input is the customer's voice data, and the output is the acquisition of voice data. The microphone built into the smart glasses or head-mounted display captures the voice.
[0481] Step 2:
[0482] The server sends the received voice data to the voice recognition engine. The input is voice data and the output is text data. The voice data is analyzed using the Google Web Speech API and converted into text.
[0483] Step 3:
[0484] The server analyzes the text data obtained from the speech recognition engine to understand the customer's intent. The input is text data, and the output is the intent analysis result. The natural language processing engine extracts the customer's requests from the text data.
[0485] Step 4:
[0486] The server simultaneously sends the voice data to the emotion recognition model to recognize the customer's emotion. The input is the voice data, and the output is the emotion analysis result. The sentiment-analysis pipeline of the transformers library is used to assign emotion tags from the voice.
[0487] Step 5:
[0488] The server queries the database based on the customer's intention and emotion results. The input is the intention analysis result and emotion analysis result, and the output is the database query result. The server searches the database and obtains the necessary information (e.g., reservation status or product inventory status).
[0489] Step 6:
[0490] The server generates an appropriate response message based on the database query results and emotion recognition results. The input is the database query results and emotion analysis results, and the output is the text data of the response message. The tone of the message is adjusted according to the emotion, and a text response message is generated.
[0491] Step 7:
[0492] The response message generated by the server is sent to the speech synthesis engine and converted into speech data. The input is the text data response message, and the output is the response speech data. The text-to-speech conversion process is performed using the pyttsx3 library.
[0493] Step 8:
[0494] The server plays the generated voice data to the customer and summarizes and saves the important content. The input is the response voice data and the content of the call or dialogue, and the output is the response to the customer and data stored in the database. The voice data is played and the summarized text data is saved in the database.
[0495] 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.
[0496] 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.
[0497] 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.
[0498] [Second embodiment]
[0499] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0500] 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.
[0501] 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).
[0502] 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.
[0503] 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.
[0504] 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).
[0505] 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.
[0506] 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.
[0507] 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.
[0508] 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.
[0509] 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.
[0510] 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."
[0511] MODE FOR CARRYING OUT THE INVENTION
[0512] System Overview
[0513] This invention is a system that automates customer telephone responses and provides multilingual support. It can maintain smooth communication with customers and minimize opportunity loss, especially in restaurants and tourist facilities.
[0514] Program processing overview
[0515] 1. Receiving a call
[0516] The server receives the call from the customer. At this stage, the voice data is collected and prepared for real-time processing.
[0517] 2. Voice Recognition
[0518] The server sends the received voice data to a voice recognition engine, which converts the voice into text data, thereby obtaining the customer's speech in text format.
[0519] 3. Text Analysis and Intention Understanding
[0520] The server sends the acquired text data to a natural language processing engine to understand the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0521] 4. Database Query
[0522] The server queries the database in response to a customer request and obtains the necessary information (e.g., reservation status, business hours, etc.).
[0523] 5. Response Generation
[0524] The server generates an appropriate response message based on the results of the database query. The response is generated in text format.
[0525] 6. Vocalization of responses
[0526] The server sends the generated text response to a speech synthesis engine to generate audio data, which is then played back to the customer.
[0527] 7. Multilingual support
[0528] During the initial speech recognition stage, the server automatically detects the language the customer speaks and generates and plays responses in the corresponding language.
[0529] 8. Call summaries and recordings
[0530] The server summarizes the key points of the call and organizes them in text format, then stores the summary data in a database and makes it available for viewing in management screens and notification systems.
[0531] Specific examples
[0532] Example 1: Reservation
[0533] 1. The customer calls
[0534] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0535] 2. Speech Recognition and Analysis
[0536] The server receives the voice data and sends it to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine to understand the intent of the reservation.
[0537] 3. Check availability
[0538] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0539] 4. Vocalization and playback of responses
[0540] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0541] 5. Recording of reservation information
[0542] When the user speaks their name, the server recognizes the information and records it in a database. The server then summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[0543] By utilizing this program, restaurants and tourist facilities can improve customer service efficiency and minimize lost opportunities. In addition, multilingual support makes it possible to communicate smoothly with inbound customers.
[0544] The processing flow will be explained below.
[0545] Step 1:
[0546] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0547] Step 2:
[0548] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0549] Step 3:
[0550] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0551] Step 4:
[0552] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0553] Step 5:
[0554] The server generates an appropriate response message based on the database query results, and the generated response message is in text format.
[0555] Step 6:
[0556] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0557] Step 7:
[0558] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0559] Step 8:
[0560] The server waits for the customer's next utterance and again collects voice data, and this cycle continues until all of the customer's questions and requests have been resolved.
[0561] Step 9:
[0562] At the end of the call, the server summarizes the important parts of the call, and the summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format.
[0563] Step 10:
[0564] The server stores the summarized text data in a database, which can then be accessed through the administration screen and notification system for future reference by administrators.
[0565] Step 11:
[0566] The server automatically detects the customer's language during the initial speech recognition stage, and if the language is identified, generates a response message in that language.
[0567] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers and minimize lost opportunities.
[0568] Example 1
[0569] 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."
[0570] Modern restaurants and tourist facilities are required to communicate with customers efficiently and in multiple languages. However, conventional systems require manual response and are heavily dependent on specific languages, making it difficult to provide fast and efficient responses. Furthermore, recording and summarizing call content is largely manual, making it difficult to say it is efficient. To solve these problems, an automated response system that can quickly understand customer requests and respond in multiple languages is needed.
[0571] 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.
[0572] In this invention, the server includes means for receiving communications from customers, means for transmitting received voice data to a voice recognition engine and converting the voice data into text data, means for analyzing the text data and understanding the customer's intent, means for querying an information recording device in response to a customer request, means for generating an appropriate response message based on the results of querying the information recording device, means for transmitting the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the communication and organizing it in text format, and means for saving the summary data in the information recording device. This enables efficient communication with customers and multilingual support, enabling quick and accurate responses without human intervention. Furthermore, automatic summarization and recording of call content improves business efficiency and service quality.
[0573] "Customer" means any person or entity that makes calls or communicates using the System.
[0574] "Communication" refers to the act of sending and receiving voice data or text data via telephone, the Internet, etc.
[0575] "Voice data" refers to data that digitally represents the voice uttered by the customer.
[0576] A "voice recognition engine" is a software or hardware configuration for analyzing received voice data and converting it into text data.
[0577] "Text data" is a character string representing the customer's speech content converted by a voice recognition engine.
[0578] A "natural language processing engine" is a software or hardware configuration that analyzes acquired text data and understands the customer's intent and the content of their questions.
[0579] An "information recording device" is a device for storing and managing information in the form of a database or the like.
[0580] A "response message" is text data containing a reply generated in response to a customer request.
[0581] A "speech synthesis engine" is a software or hardware configuration for analyzing text data and converting it into speech data.
[0582] A "summary" is a text-formatted summary of the important parts of a communication.
[0583] "Saving in an information recording device" refers to the act of saving the acquired data and summary content in storage such as a database.
[0584] "Multilingual support" is a function that enables communication in multiple languages.
[0585] The "control screen" is a user interface for operating and managing the system.
[0586] A "notification system" is a system for notifying specific users or administrators of important information.
[0587] MODE FOR CARRYING OUT THE INVENTION
[0588] System Overview
[0589] This invention is a multilingual automated response system that receives customer communications and automatically converts speech into text, enabling efficient management of customer communications and minimizing opportunity loss, particularly in restaurants and tourist facilities.
[0590] Hardware and software used
[0591] The system is implemented using the following hardware and software:
[0592] Server: A central control device that manages communications and processes all data.
[0593] Speech recognition engine: Software for converting voice data into text data (e.g., Google Cloud Speech-to-Text).
[0594] Natural language processing engine: Software that analyzes text data and understands customer intent (e.g., IBM Watson Natural Language Understanding).
[0595] Information recording device: A database (e.g., MySQL, PostgreSQL) for storing customer information and call content.
[0596] Speech synthesis engine: Software for converting text data into speech data (e.g., Amazon Polly).
[0597] Control Screens and Notification Systems: User interfaces and systems for managing the system and communicating important information.
[0598] Example: Reservation
[0599] Below is a concrete example of how the system processes reservations from customers.
[0600] 1. The customer calls
[0601] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and collects the voice data.
[0602] 2. Speech Recognition and Analysis
[0603] The server sends the voice data to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine, which analyzes the intent of the reservation.
[0604] 3. Information Recording Device Inquiry
[0605] The server queries the information recording device to check the reservation status for tomorrow night at 7pm. If there is availability, the server generates a response message saying "That time slot is available. Please tell us your name."
[0606] 4. Vocalization of responses
[0607] The server sends the generated text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0608] 5. Recording of reservation information
[0609] When the user gives their name, the server recognizes the information and records it in the information recording device. The server summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[0610] Examples of prompt statements
[0611] Below is an example of a prompt sentence to input to the generative AI model.
[0612] A customer calls your restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." Use your telephone answering system to respond appropriately.
[0613] The implementation of such a system will improve the efficiency of customer service at restaurants and tourist facilities and enable multilingual support, which is expected to improve service quality and customer satisfaction.
[0614] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0615] Step 1:
[0616] The server receives communication from the customer
[0617] Input: A customer calls.
[0618] How it works: The server detects when a call is received at a specific phone number. It prepares to receive voice data and uses SIP (Session Initiation Protocol) or similar to establish communication.
[0619] Output: Real-time received audio data.
[0620] Step 2:
[0621] The server sends the received voice data to the voice recognition engine, which converts the voice data into text data.
[0622] Input: Real-time received audio data.
[0623] How it works: The server sends audio data to the Google Cloud Speech-to-Text API, which converts it to text.
[0624] Output: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[0625] Step 3:
[0626] The server sends the text data to a natural language processing engine to understand the customer's intent.
[0627] Input: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[0628] How it works: The server sends the text data to an NLP engine, such as IBM Watson Natural Language Understanding, which analyzes the text data and understands the meaning of "reserve."
[0629] Output: Customer intent "Make a reservation."
[0630] Step 4:
[0631] The server queries the information recording device in response to a customer request.
[0632] Input: The customer's intent to "make a reservation" and any additional relevant information.
[0633] Operation: The server executes an SQL query against the information storage device (e.g., a MySQL database) to retrieve the necessary reservation status data.
[0634] Output: Information that "There are two seats available at 7pm on October 25th, 2023."
[0635] Step 5:
[0636] The server generates an appropriate response message based on the information recorder query result.
[0637] Input: Information: "There are two seats available at 7pm on October 25th, 2023."
[0638] What it does: The server generates a response text message based on the data it retrieves, for example, "That time slot is available. What's your name?"
[0639] Output: A text message such as "I'm available at that time. What's your name?"
[0640] Step 6:
[0641] The server generates a text response, which is sent to a speech synthesis engine and converted into voice data.
[0642] Input: A text message such as "I'm available that time. What's your name?"
[0643] How it works: A server sends a text message to a speech synthesis engine, such as Amazon Polly, which converts the text into speech.
[0644] Output: Speech data saying "That time slot is free. Please tell me your name."
[0645] Step 7:
[0646] Plays the server-generated audio data to the customer
[0647] Input: Speech data saying "That time slot is available. Please tell me your name."
[0648] How it works: The server sends the voice data to the customer's communication device and plays it as audio.
[0649] Output: The customer hears the response.
[0650] Step 8:
[0651] The server summarizes the important parts of the communication and organizes them in text format.
[0652] Input: Text data of the entire call.
[0653] How it works: The server sends the call to a summarization algorithm, which creates a summary of the key points.
[0654] Output: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[0655] Step 9:
[0656] The server stores the summary data in an information recording device.
[0657] Input: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[0658] Operation: The server saves the acquired summary data in an information recording device (database).
[0659] Output: The saved summary data is recorded in a database.
[0660] This allows you to concretely understand the processing of the entire system, making the expected operations and data flow clear.
[0661] (Application example 1)
[0662] 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."
[0663] Conventional telephone answering systems have been unable to respond to diverse customer requests, particularly in multilingual support. Furthermore, in areas such as food delivery services, there has been a lack of efficient means for automatically recognizing voice orders and asking confirmation questions, resulting in the time required to confirm and fulfill orders.
[0664] 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.
[0665] In this invention, the server includes a means for receiving customer inquiries, a means for transmitting received voice data to a voice recognition engine and converting the voice into text, and a means for analyzing the text data and understanding the customer's intent. This enables automatic recognition of voice orders and the generation of confirmation questions to respond. In addition, the server also includes a means for summarizing recorded conversation content and storing and managing it in a database, and a means for automatically detecting the customer's language during the initial voice recognition stage and generating a response message in the corresponding language. It also includes a means for recording conversation content and updating order information in real time. This enables efficient and accurate customer service in areas requiring multilingual support, such as food delivery services.
[0666] A "customer inquiry" is an order or request for information made by a customer over the phone or online.
[0667] A "voice recognition engine" is software or hardware that analyzes received voice data and converts it into text data.
[0668] "Text data" is character information converted from speech by a speech recognition engine.
[0669] "Customer intent" is the purpose or desire behind the words a customer speaks.
[0670] "Means of querying a database" refers to the process of searching and retrieving the required information from a database based on the customer's intent.
[0671] A "response message" is a message that contains an appropriate response to a customer inquiry.
[0672] A "speech synthesis engine" is software or hardware for converting text data into voice data.
[0673] "Call content" refers to the content of the conversation between the customer and the system.
[0674] A "summary" is a concise summary of the important parts of the call.
[0675] The "management screen" is an interface that allows system administrators to manage and monitor the database and call content.
[0676] A "notification system" is a mechanism for notifying specific events or information in real time.
[0677] A "voice order" is an order for a product made by a customer using voice.
[0678] "Verification questions" are additional questions the system asks to verify the customer's order details and intent.
[0679] "Order information" refers to detailed information such as the contents, quantity, and delivery address of the product ordered by the customer.
[0680] "Real-time updates" means that data and information are reflected immediately and the information in the system is always kept up to date.
[0681] "Multilingual support" is the ability to respond to customers who speak different languages in their own language.
[0682] The means for automatically detecting "customer language" is a process for automatically determining the language spoken by a customer using voice recognition technology.
[0683] The present invention relates to a system for efficiently receiving voice orders from customers and appropriately processing and responding to them. This system is designed to also accommodate orders from customers in multiple languages.
[0684] System configuration
[0685] 1. A means of receiving customer inquiries
[0686] The server receives voice orders from smartphones and landlines, which include a microphone and a telephone line to capture voice data.
[0687] 2. Voice Recognition
[0688] The received voice data is sent to a speech recognition engine on the server (for example, Google Cloud Speech-to-Text API) and converted into text data. Through this process, the customer's speech is extracted from the voice.
[0689] 3. Text Analysis and Intention Understanding
[0690] The converted text data is sent to a natural language processing engine on the server to understand the customer's intent (e.g., order, inquiry, cancellation, etc.). If necessary, additional confirmation questions are generated.
[0691] 4. Database Query
[0692] The server queries the database according to the customer's intention and obtains the necessary information (e.g., menu availability, price, delivery time, etc.).
[0693] 5. Generating a Response Message
[0694] Based on the results of the database query, an appropriate response message is generated, which is generated in text format and may include additional confirmation questions if necessary.
[0695] 6. Multilingual support and speech synthesis
[0696] The server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. The generated text response is sent to a speech synthesis engine (e.g., gTTS) and converted into voice data.
[0697] 7. Playing audio data
[0698] The generated voice data is played back on the customer's device, allowing the customer to receive their order details and confirmation questions by voice.
[0699] 8. Recording and summarizing calls
[0700] The contents of the call are recorded on the server and important information is summarized. This summary data is stored in a database and can be viewed on the management screen and notification system.
[0701] 9. Real-time update of order information
[0702] The server updates order details and status in real time, ensuring that the information in the system is always up to date.
[0703] Specific examples
[0704] For example, when a customer orders a pizza using a smartphone, the process goes like this:
[0705] 1. A customer says, "I'd like to order one Margherita pizza."
[0706] 2. The server receives the voice data, and the voice recognition engine converts it into text data such as "I would like to order one Margherita pizza."
[0707] 3. The server analyzes the text data and understands that the customer's intent is to "order pizza."
[0708] 4. Query the database to check availability and delivery times for Margherita pizza.
[0709] 5. The server generates a response message saying, "Margherita pizza is in stock. What toppings and size would you like?"
[0710] 6. If necessary, the server auto-detects the customer's preferred language and generates a response message in the appropriate language.
[0711] 7. The text-to-speech engine converts the generated text response into audio data and plays it back to the customer.
[0712] 8. Order details and supplementary information are updated in real time and displayed on the management screen.
[0713] Prompt Sentence Examples
[0714] "We are developing a food delivery smartphone app. We would like to create a feature that can receive voice orders from customers, automatically recognize the order content, and respond by voice if necessary with confirmation questions. We also need to automatically detect the language used by the customer and support multiple languages. We would also like to add a feature that records the order details in a database."
[0715] In this way, the present invention provides an efficient voice ordering system that supports multiple languages, thereby improving customer satisfaction in food delivery services.
[0716] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0717] Step 1:
[0718] The user makes a voice inquiry from a smartphone or landline. The user's statement (e.g., "I'd like to order one Margherita pizza") is captured as voice data by the device.
[0719] Step 2:
[0720] The device sends the received voice data to the server. The server sends the voice data to a speech recognition engine such as the Google Cloud Speech-to-Text API, which converts the voice into text data. This text data is returned from the speech recognition engine to the server. The input is voice data, and the output is text data.
[0721] Step 3:
[0722] The server sends the text data to a natural language processing engine to analyze the customer's intent. As a result of the analysis, it is understood that the user is trying to place an order. For example, the intent "I would like to order one Margherita pizza" is obtained from the text data. The input is the text data, and the output is the analyzed intent.
[0723] Step 4:
[0724] The server queries a database based on the parsed customer intent. For example, it retrieves necessary information such as stock status and delivery time of Margherita pizza from the database. The input is the parsed intent, and the output is the database query result.
[0725] Step 5:
[0726] The server generates an appropriate response message based on the database query results. This response message is in text format, and might say something like, "Margherita pizza is in stock. What toppings and size would you like?" The input is the database query result, and the output is the response message (text).
[0727] Step 6:
[0728] If necessary, the server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. Language detection is performed using a language recognition system on the server. The input is the language detection data, and the output is a multilingual text response message.
[0729] Step 7:
[0730] The server sends the generated text response to a speech synthesis engine (e.g. gTTS) to convert it into audio data that is played back to the customer. The input is the text response message, and the output is the audio data.
[0731] Step 8:
[0732] The generated voice data is sent from the server to the terminal, and the terminal responds to the user by playing the voice data. For example, a voice message such as "Margherita pizza is in stock. What toppings and size would you like?" is played. The input is voice data, and the output is a voice response.
[0733] Step 9:
[0734] The server records the call and summarizes the important details. For example, a summary might be generated such as "The user ordered one Margherita pizza." This summary data is stored in a database. The input is the call content, and the output is the summary data.
[0735] Step 10:
[0736] The server updates order information in real time, ensuring that the information in the system is always up to date, allowing the most up-to-date information to be seen on the management screen and in the notification system. The input is summary data, and the output is updated order information.
[0737] 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.
[0738] MODE FOR CARRYING OUT THE INVENTION
[0739] System Overview
[0740] This invention adds emotion recognition functionality to a telephone answering system for restaurants and tourist facilities. It automates customer phone calls, supports multiple languages, and recognizes emotions. This system can maintain smooth communication with customers and minimize opportunity loss.
[0741] Program processing overview
[0742] 1. Receiving a call
[0743] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0744] 2. Voice Recognition
[0745] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0746] 3. Text Analysis and Intention Understanding
[0747] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0748] 4. Emotion recognition
[0749] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (e.g., joy, anger, sadness, etc.).
[0750] 5. Database Query
[0751] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0752] 6. Response Generation
[0753] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[0754] 7. Vocalization of responses
[0755] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0756] 8. Response playback
[0757] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0758] 9. Call summaries and recordings
[0759] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0760] 10. Data Retention
[0761] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0762] Specific examples
[0763] Example 1: Reservation and Emotion Recognition
[0764] 1. The customer calls
[0765] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0766] 2. Speech and Emotion Recognition
[0767] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[0768] 3. Check availability
[0769] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0770] 4. Vocalization and playback of responses
[0771] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0772] 5. Recording reservation information and emotional data
[0773] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[0774] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[0775] The processing flow will be explained below.
[0776] Step 1:
[0777] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[0778] Step 2:
[0779] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[0780] Step 3:
[0781] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (reservation, inquiry, cancellation, etc.).
[0782] Step 4:
[0783] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (happiness, anger, sadness, etc.).
[0784] Step 5:
[0785] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[0786] Step 6:
[0787] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[0788] Step 7:
[0789] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[0790] Step 8:
[0791] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0792] Step 9:
[0793] The server waits for the customer's next statement and collects voice data again. At this stage, the process continues until all of the customer's questions and requests have been resolved.
[0794] Step 10:
[0795] At the end of the call, the server summarizes the important parts of the call. The summary (reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0796] Step 11:
[0797] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0798] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers, minimize lost opportunities, and provide services that take into account customer feelings.
[0799] Example 2
[0800] 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."
[0801] The purpose of this invention is to automate telephone answering between customers and businesses (e.g., restaurants and tourist facilities) and realize smoother and more effective communication by incorporating emotion recognition. Specifically, conventional automated answering systems have difficulty accurately understanding customer emotions and intentions, which limits the improvement of customer satisfaction. For this reason, there is a demand for the development of a system that can recognize customer emotions and generate responses based on them.
[0802] 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.
[0803] In this invention, the server includes means for receiving calls from customers, means for sending voice data to a voice recognition engine and converting the voice into text, means for analyzing the text data and understanding the customer's intention, means for sending the voice data to an emotion engine and recognizing the customer's emotion, means for querying a database in response to a customer request, means for generating an appropriate response message based on the database query result and emotion data, means for sending the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the call and organizing it in text format, and means for saving the summary data and emotion data in a database. This enables appropriate responses that reflect the customer's emotion, improving customer satisfaction and enabling efficient business operations.
[0804] A "means for receiving customer calls" is a combination of hardware and software used to connect customers to an automated response system and has the ability to collect voice data over telephone lines or a VoIP network.
[0805] "Means for sending voice data to a voice recognition engine and converting the voice into text" refers to the entire process of sending collected voice data to a voice recognition engine via the Internet, and the engine analyzing the voice and converting it into text data.
[0806] "Means for analyzing text data and understanding customer intent" refers to the process in which a natural language processing engine analyzes text data obtained from a voice recognition engine and extracts the customer's requests and intent from the results.
[0807] "Means for transmitting voice data to an emotion engine to recognize customer emotions" refers to the process of transmitting collected voice data to an emotion recognition engine, which then identifies the customer's emotional state (such as joy, anger, or sadness) from the tone and content of the voice.
[0808] "Means of querying a database according to a customer's request" refers to the process of executing a search query on a database to obtain relevant information according to the customer's request or intent, and obtaining the required data.
[0809] The "means for generating an appropriate response message based on the database query results and emotion data" refers to a process for creating an appropriate response message for a customer using a natural language generation engine based on information retrieved from the database and emotion data received from the emotion engine.
[0810] The "means for sending the generated response message to a speech synthesis engine and converting it into voice data" refers to the process of sending a text-format response message to a speech synthesis engine, which then converts the text into voice and generates reproducible voice data.
[0811] The "means for playing the generated voice data to the customer" is the process of transmitting the voice data received from the speech synthesis engine over the customer's telephone line so that the customer can hear the voice response.
[0812] "Means for summarizing the important content of a call and organizing it in text format" refers to a function that extracts the important parts of the conversation after the call ends and organizes the summarized content in text format.
[0813] "Means for storing summary data and emotion data in a database" refers to the process of storing the summarized call content and emotion data in a database and accumulating it for later reference and analysis.
[0814] MODE FOR CARRYING OUT THE INVENTION
[0815] System Overview
[0816] This invention is a system that automates telephone conversations between customers and businesses (e.g., restaurants and tourist facilities) and incorporates emotion recognition. The main hardware used is a telephone line system and server using a VoIP network. The main software used is a speech recognition engine, a natural language processing engine, an emotion recognition engine, a database system, and a speech synthesis engine.
[0817] Program processing overview
[0818] 1. Receiving a call
[0819] The server receives a call from a customer, detects the call through the telephone line system (e.g., Asterisk), and starts collecting voice data.
[0820] 2. Voice Recognition
[0821] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text), which analyzes the voice data and converts it into text data.
[0822] 3. Text Analysis and Intention Understanding
[0823] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3), which analyzes the text data and understands the customer's intent.
[0824] 4. Emotion recognition
[0825] At the same time, the server sends the voice data to an emotion recognition engine (e.g., IBM Watson Tone Analyzer), which analyzes the voice data and recognizes the customer's emotions.
[0826] 5. Database Query
[0827] The server queries a database (e.g. MySQL) based on the customer's request. For example, if a customer wants to make a reservation, it searches the reservation system database to check availability for the desired date and time.
[0828] 6. Response Generation
[0829] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine.
[0830] 7. Vocalization of responses
[0831] The server generates a text response, which is then sent to a speech synthesis engine (e.g., Amazon Polly) for conversion into audio data.
[0832] 8. Response playback
[0833] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[0834] 9. Call summaries and recordings
[0835] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[0836] 10. Data Retention
[0837] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[0838] Specific examples
[0839] Prompt Sentence Examples
[0840] "Set the context for when a user calls"
[0841] Example 1: Reservation and Emotion Recognition
[0842] 1. The customer calls
[0843] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[0844] 2. Speech and Emotion Recognition
[0845] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[0846] 3. Check availability
[0847] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[0848] 4. Vocalization and playback of responses
[0849] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[0850] 5. Recording reservation information and emotional data
[0851] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[0852] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[0853] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0854] Step 1:
[0855] Receiving a call
[0856] The server receives a call from a customer. The input is the customer's telephone ringing signal. The telephone line system (e.g., Asterisk) detects the call and starts collecting voice data. The output is the collected voice data. Specifically, the server receives the telephone ringing signal via the VoIP network and captures the voice data in digital form.
[0857] Step 2:
[0858] Voice Recognition
[0859] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text). The collected voice data is the input. The voice recognition engine analyzes the voice data and converts it into text data. The generated text data is obtained as the output. Specifically, the server sends the voice data as an API request, and the voice recognition engine analyzes the voice waveform and generates corresponding text.
[0860] Step 3:
[0861] Text analysis and intent understanding
[0862] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3). The input is the generated text data. The natural language processing engine analyzes the text data and understands the customer's intent. The output is the customer's intent, which is identified. Specifically, the server sends the text data as an API request, and the natural language processing engine analyzes the text and extracts the intent, such as "make a reservation" or "inquire."
[0863] Step 4:
[0864] emotion recognition
[0865] The server simultaneously sends the voice data to an emotion recognition engine (e.g. IBM Watson Tone Analyzer). The input is the collected voice data. The emotion recognition engine analyzes the voice data and recognizes the customer's emotion. The output is the identified emotion data. Specifically, the server sends the voice data as an API request, and the emotion recognition engine analyzes the tone of the voice to identify the customer's emotion.
[0866] Step 5:
[0867] Database Query
[0868] The server queries a database (e.g. MySQL) based on the customer's request. The input is the customer's intent (e.g., requesting a reservation). The database returns the information according to the request. The output is the retrieved data. Specifically, the server issues an SQL query to search for reservation information. For example, it executes the query "SELECT FROM reservations WHERE date='YYYY-MM-DD' AND time='19:00'".
[0869] Step 6:
[0870] Response Generation
[0871] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine. The input is the reservation information and emotion data from the database. The output is a generated text response. Specifically, the server uses the natural language generation engine to generate a response message such as "That time slot is available. Please tell us your name."
[0872] Step 7:
[0873] Voiced responses
[0874] The server sends the generated text response to a speech synthesis engine (e.g., Amazon Polly) to convert it into speech data. The input is the generated text response. The speech synthesis engine converts the text into speech. The output is the generated speech data. Specifically, the server calls the speech synthesis API to convert the text message into speech data.
[0875] Step 8:
[0876] Response playback
[0877] The server plays the voice data received from the speech synthesis engine to the customer. The input is the generated voice data. The output is the voice response that the customer hears. In concrete terms, the server sends the voice data to the customer in real time via the telephone line system, and the customer hears the response.
[0878] Step 9:
[0879] Call summaries and recordings
[0880] At the end of a call, the server summarizes the important parts of the call. The input is the call content and emotion data. The summary is organized in text format. The output is the summarized text data. Specifically, the server analyzes the content of the call, extracts information such as "Reservation for two people tomorrow night at 7pm," and summarizes it in text format.
[0881] Step 10:
[0882] Data storage
[0883] The server saves the summarized text data and emotion data in a database. The input is the summary data and emotion data. The output is the saved data. Specifically, the server saves the summary data in the database using an INSERT SQL statement. For example, it executes the SQL statement "INSERT INTO summaries (date, time, customer, emotion) VALUES ('YYYY-MM-DD', '19:00', 'Customer name', 'Joy')".
[0884] (Application example 2)
[0885] 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."
[0886] Conventional telephone answering systems and customer service systems in brick-and-mortar stores have the problem of being unable to recognize customer emotions and respond appropriately. It is also difficult to provide multilingual support and efficiently manage customer voice data. Furthermore, there is a lack of means to improve customer satisfaction by adjusting services based on customer emotions.
[0887] 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 a means for receiving telephone calls from customers or voice input at a physical store, a means for sending the received voice data to a voice recognition engine and converting the voice into text, a means for analyzing the text data and understanding the customer's intent, a means for querying a database in response to a customer request, a means for generating an appropriate response message based on the database query results, a means for sending the generated response message to a voice synthesis engine and converting it into voice data, a means for playing the generated voice data to the customer, a means for summarizing important content of the call or conversation and organizing it in text format, a means for saving the summary data in a database, a means for recognizing emotions from voice data, and a means for adjusting the response message based on the emotion recognition results. This makes it possible to grasp customer emotions in real time and provide an optimal response accordingly. It also realizes multilingual support and efficient management of voice data, thereby improving customer satisfaction.
[0888] "Customer" means a person who uses or is a user of the Services.
[0889] A "telephone" is a device or system that transmits voice over a communication line.
[0890] "Audio input" is the act or means of providing audio data to a system.
[0891] "Audio data" is information that represents audio in digital form.
[0892] A "speech recognition engine" is a software or hardware system for analyzing voice data and converting it into text data.
[0893] "Text data" is digital data that includes character information.
[0894] "Intent" refers to the purpose or desire that the customer is trying to communicate.
[0895] A "database" is a system that stores information in an organized manner and allows it to be searched and manipulated as needed.
[0896] "Querying" is the act of looking up required information from a database or other source of information.
[0897] A "response message" is a message returned in response to a customer inquiry or request.
[0898] A "speech synthesis engine" is a software or hardware system for converting text data into speech data.
[0899] "Playback" refers to the act of outputting audio data so that it can be heard.
[0900] "Important content" refers to information or key points that deserve special attention in a call or conversation.
[0901] "Summarizing" is the act of concisely summarizing long content or a lot of information.
[0902] Organizing is the act of putting information into an easy-to-understand format.
[0903] "Storage" is the act of keeping information for later use.
[0904] Emotions are human psychological states and feelings.
[0905] "Emotion recognition" is the act of estimating and evaluating human emotions.
[0906] "Adjusting" is the act of making changes or modifications to make something optimal for the situation.
[0907] A "system" is a set of structures or devices in which multiple parts or elements work together.
[0908] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings.
[0909] System Overview
[0910] This invention adds an emotion recognition function to a customer service system based on voice input from customers over the phone and in physical stores. The system analyzes customer voice data, recognizes their emotions in real time, and generates appropriate response messages to provide smooth and sophisticated customer service.
[0911] Hardware and Software Configuration
[0912] Hardware:
[0913] Smart glasses, head-mounted displays, smartphones, servers
[0914] software:
[0915] Speech recognition engine (Google Web Speech API)
[0916] Emotion recognition model (sentiment-analysis pipeline from the transformers library)
[0917] Speech synthesis engine (pyttsx3 library)
[0918] Process flow and software / hardware used
[0919] 1. Receiving audio input:
[0920] The server receives customer calls and voice data from physical stores, and microphones built into smart glasses or head-mounted displays capture the voice.
[0921] 2. Speech Recognition:
[0922] The server sends the received voice data to a speech recognition engine (Google Web Speech API) and converts the voice into text data, allowing the customer's speech to be treated as text.
[0923] 3. Intent Analysis:
[0924] The server sends the text data to a natural language processing engine to analyze the customer's intent. For example, intent such as "I would like to make a reservation" or "I would like to check product availability" can be understood here.
[0925] 4. Emotion recognition:
[0926] The server simultaneously sends the audio data to an emotion recognition model (the sentiment-analysis pipeline in the transformers library) to analyze the customer's emotions, which determines whether the customer has a positive, negative, or neutral emotion.
[0927] 5. Database Query:
[0928] The server queries the database based on the customer's intent and retrieves the necessary information, such as whether a reservation can be made or the product's stock status.
[0929] 6. Response message generation and adjustment:
[0930] Based on the database query results and emotion recognition results, the server generates an appropriate response message, possibly adjusting it depending on the emotion, for example, generating a lighter-toned message if the customer is expressing positive emotions.
[0931] 7. Speech synthesis:
[0932] The server sends the generated response message to a speech synthesis engine (pyttsx3 library) and converts it into voice data, which allows the text message to be output as a voice message.
[0933] 8. Playback and saving responses:
[0934] The server plays the generated voice data to the customer, and at the same time summarizes the important content of the call or conversation and stores it in a database as text data.
[0935] Specific examples
[0936] Example 1:
[0937] If a customer walks into a store and says, "I'm busy today, but I'd like to take a quick look around," the system uses emotion recognition to recognize that the customer feels busy but is interested, and generates a response message such as, "Please feel free to look around."
[0938] Example 2:
[0939] If a customer says, "Oh, there's a product like this! I'm so happy," emotion recognition will detect the customer's joy and generate a response message such as, "Thank you. I have other products I recommend!"
[0940] Prompt Sentence Examples
[0941] Here are some example prompts to input to a generative AI model:
[0942] User input: "I'm busy today, but I just wanted to take a quick look."
[0943] A response message generated based on the output of the emotion recognition model: "Please feel free to browse."
[0944] User input: "Oh, I didn't know there was a product like this! I'm so happy."
[0945] A response message generated based on the output of the emotion recognition model: "Thank you! I have other recommendations!"
[0946] In this way, by understanding customer emotions in real time and generating appropriate responses accordingly, smoother customer service can be achieved.
[0947] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0948] Step 1:
[0949] The server receives voice input from customers via phone or in a physical store. The input is the customer's voice data, and the output is the acquisition of voice data. The microphone built into the smart glasses or head-mounted display captures the voice.
[0950] Step 2:
[0951] The server sends the received voice data to the voice recognition engine. The input is voice data and the output is text data. The voice data is analyzed using the Google Web Speech API and converted into text.
[0952] Step 3:
[0953] The server analyzes the text data obtained from the speech recognition engine to understand the customer's intent. The input is text data, and the output is the intent analysis result. The natural language processing engine extracts the customer's requests from the text data.
[0954] Step 4:
[0955] The server simultaneously sends the voice data to the emotion recognition model to recognize the customer's emotion. The input is the voice data, and the output is the emotion analysis result. The sentiment-analysis pipeline of the transformers library is used to assign emotion tags from the voice.
[0956] Step 5:
[0957] The server queries the database based on the customer's intention and emotion results. The input is the intention analysis result and emotion analysis result, and the output is the database query result. The server searches the database and obtains the necessary information (e.g., reservation status or product inventory status).
[0958] Step 6:
[0959] The server generates an appropriate response message based on the database query results and emotion recognition results. The input is the database query results and emotion analysis results, and the output is the text data of the response message. The tone of the message is adjusted according to the emotion, and a text response message is generated.
[0960] Step 7:
[0961] The response message generated by the server is sent to the speech synthesis engine and converted into speech data. The input is the text data response message, and the output is the response speech data. The text-to-speech conversion process is performed using the pyttsx3 library.
[0962] Step 8:
[0963] The server plays the generated voice data to the customer and summarizes and saves the important content. The input is the response voice data and the content of the call or dialogue, and the output is the response to the customer and data stored in the database. The voice data is played and the summarized text data is saved in the database.
[0964] 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.
[0965] 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.
[0966] 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.
[0967] [Third embodiment]
[0968] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0969] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0970] 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).
[0971] 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.
[0972] 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.
[0973] 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).
[0974] 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.
[0975] 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.
[0976] 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.
[0977] 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.
[0978] 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.
[0979] 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."
[0980] MODE FOR CARRYING OUT THE INVENTION
[0981] System Overview
[0982] This invention is a system that automates customer telephone responses and provides multilingual support. It can maintain smooth communication with customers and minimize opportunity loss, especially in restaurants and tourist facilities.
[0983] Program processing overview
[0984] 1. Receiving a call
[0985] The server receives the call from the customer. At this stage, the voice data is collected and prepared for real-time processing.
[0986] 2. Voice Recognition
[0987] The server sends the received voice data to a voice recognition engine, which converts the voice into text data, thereby obtaining the customer's speech in text format.
[0988] 3. Text Analysis and Intention Understanding
[0989] The server sends the acquired text data to a natural language processing engine to understand the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[0990] 4. Database Query
[0991] The server queries the database in response to a customer request and obtains the necessary information (e.g., reservation status, business hours, etc.).
[0992] 5. Response Generation
[0993] The server generates an appropriate response message based on the results of the database query. The response is generated in text format.
[0994] 6. Vocalization of responses
[0995] The server sends the generated text response to a speech synthesis engine to generate audio data, which is then played back to the customer.
[0996] 7. Multilingual support
[0997] During the initial speech recognition stage, the server automatically detects the language the customer speaks and generates and plays responses in the corresponding language.
[0998] 8. Call summaries and recordings
[0999] The server summarizes the key points of the call and organizes them in text format, then stores the summary data in a database and makes it available for viewing in management screens and notification systems.
[1000] Specific examples
[1001] Example 1: Reservation
[1002] 1. The customer calls
[1003] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1004] 2. Speech Recognition and Analysis
[1005] The server receives the voice data and sends it to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine to understand the intent of the reservation.
[1006] 3. Check availability
[1007] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1008] 4. Vocalization and playback of responses
[1009] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1010] 5. Recording of reservation information
[1011] When the user speaks their name, the server recognizes the information and records it in a database. The server then summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[1012] By utilizing this program, restaurants and tourist facilities can improve customer service efficiency and minimize lost opportunities. In addition, multilingual support makes it possible to communicate smoothly with inbound customers.
[1013] The processing flow will be explained below.
[1014] Step 1:
[1015] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1016] Step 2:
[1017] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1018] Step 3:
[1019] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[1020] Step 4:
[1021] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1022] Step 5:
[1023] The server generates an appropriate response message based on the database query results, and the generated response message is in text format.
[1024] Step 6:
[1025] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1026] Step 7:
[1027] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1028] Step 8:
[1029] The server waits for the customer's next utterance and again collects voice data, and this cycle continues until all of the customer's questions and requests have been resolved.
[1030] Step 9:
[1031] At the end of the call, the server summarizes the important parts of the call, and the summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format.
[1032] Step 10:
[1033] The server stores the summarized text data in a database, which can then be accessed through the administration screen and notification system for future reference by administrators.
[1034] Step 11:
[1035] The server automatically detects the customer's language during the initial speech recognition stage, and if the language is identified, generates a response message in that language.
[1036] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers and minimize lost opportunities.
[1037] Example 1
[1038] 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."
[1039] Modern restaurants and tourist facilities are required to communicate with customers efficiently and in multiple languages. However, conventional systems require manual response and are heavily dependent on specific languages, making it difficult to provide fast and efficient responses. Furthermore, recording and summarizing call content is largely manual, making it difficult to say it is efficient. To solve these problems, an automated response system that can quickly understand customer requests and respond in multiple languages is needed.
[1040] 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.
[1041] In this invention, the server includes means for receiving communications from customers, means for transmitting received voice data to a voice recognition engine and converting the voice data into text data, means for analyzing the text data and understanding the customer's intent, means for querying an information recording device in response to a customer request, means for generating an appropriate response message based on the results of querying the information recording device, means for transmitting the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the communication and organizing it in text format, and means for saving the summary data in the information recording device. This enables efficient communication with customers and multilingual support, enabling quick and accurate responses without human intervention. Furthermore, automatic summarization and recording of call content improves business efficiency and service quality.
[1042] "Customer" means any person or entity that makes calls or communicates using the System.
[1043] "Communication" refers to the act of sending and receiving voice data or text data via telephone, the Internet, etc.
[1044] "Voice data" refers to data that digitally represents the voice uttered by the customer.
[1045] A "voice recognition engine" is a software or hardware configuration for analyzing received voice data and converting it into text data.
[1046] "Text data" is a character string representing the customer's speech content converted by a voice recognition engine.
[1047] A "natural language processing engine" is a software or hardware configuration that analyzes acquired text data and understands the customer's intent and the content of their questions.
[1048] An "information recording device" is a device for storing and managing information in the form of a database or the like.
[1049] A "response message" is text data containing a reply generated in response to a customer request.
[1050] A "speech synthesis engine" is a software or hardware configuration for analyzing text data and converting it into speech data.
[1051] A "summary" is a text-formatted summary of the important parts of a communication.
[1052] "Saving in an information recording device" refers to the act of saving the acquired data and summary content in storage such as a database.
[1053] "Multilingual support" is a function that enables communication in multiple languages.
[1054] The "control screen" is a user interface for operating and managing the system.
[1055] A "notification system" is a system for notifying specific users or administrators of important information.
[1056] MODE FOR CARRYING OUT THE INVENTION
[1057] System Overview
[1058] This invention is a multilingual automated response system that receives customer communications and automatically converts speech into text, enabling efficient management of customer communications and minimizing opportunity loss, particularly in restaurants and tourist facilities.
[1059] Hardware and software used
[1060] The system is implemented using the following hardware and software:
[1061] Server: A central control device that manages communications and processes all data.
[1062] Speech recognition engine: Software for converting voice data into text data (e.g., Google Cloud Speech-to-Text).
[1063] Natural language processing engine: Software that analyzes text data and understands customer intent (e.g., IBM Watson Natural Language Understanding).
[1064] Information recording device: A database (e.g., MySQL, PostgreSQL) for storing customer information and call content.
[1065] Speech synthesis engine: Software for converting text data into speech data (e.g., Amazon Polly).
[1066] Control Screens and Notification Systems: User interfaces and systems for managing the system and communicating important information.
[1067] Example: Reservation
[1068] Below is a concrete example of how the system processes reservations from customers.
[1069] 1. The customer calls
[1070] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and collects the voice data.
[1071] 2. Speech Recognition and Analysis
[1072] The server sends the voice data to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine, which analyzes the intent of the reservation.
[1073] 3. Information Recording Device Inquiry
[1074] The server queries the information recording device to check the reservation status for tomorrow night at 7pm. If there is availability, the server generates a response message saying "That time slot is available. Please tell us your name."
[1075] 4. Vocalization of responses
[1076] The server sends the generated text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1077] 5. Recording of reservation information
[1078] When the user gives their name, the server recognizes the information and records it in the information recording device. The server summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[1079] Examples of prompt statements
[1080] Below is an example of a prompt sentence to input to the generative AI model.
[1081] A customer calls your restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." Use your telephone answering system to respond appropriately.
[1082] The implementation of such a system will improve the efficiency of customer service at restaurants and tourist facilities and enable multilingual support, which is expected to improve service quality and customer satisfaction.
[1083] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1084] Step 1:
[1085] The server receives communication from the customer
[1086] Input: A customer calls.
[1087] How it works: The server detects when a call is received at a specific phone number. It prepares to receive voice data and uses SIP (Session Initiation Protocol) or similar to establish communication.
[1088] Output: Real-time received audio data.
[1089] Step 2:
[1090] The server sends the received voice data to the voice recognition engine, which converts the voice data into text data.
[1091] Input: Real-time received audio data.
[1092] How it works: The server sends audio data to the Google Cloud Speech-to-Text API, which converts it to text.
[1093] Output: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[1094] Step 3:
[1095] The server sends the text data to a natural language processing engine to understand the customer's intent.
[1096] Input: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[1097] How it works: The server sends the text data to an NLP engine, such as IBM Watson Natural Language Understanding, which analyzes the text data and understands the meaning of "reserve."
[1098] Output: Customer intent "Make a reservation."
[1099] Step 4:
[1100] The server queries the information recording device in response to a customer request.
[1101] Input: The customer's intent to "make a reservation" and any additional relevant information.
[1102] Operation: The server executes an SQL query against the information storage device (e.g., a MySQL database) to retrieve the necessary reservation status data.
[1103] Output: Information that "There are two seats available at 7pm on October 25th, 2023."
[1104] Step 5:
[1105] The server generates an appropriate response message based on the information recorder query result.
[1106] Input: Information: "There are two seats available at 7pm on October 25th, 2023."
[1107] What it does: The server generates a response text message based on the data it retrieves, for example, "That time slot is available. What's your name?"
[1108] Output: A text message such as "I'm available at that time. What's your name?"
[1109] Step 6:
[1110] The server generates a text response, which is sent to a speech synthesis engine and converted into voice data.
[1111] Input: A text message such as "I'm available that time. What's your name?"
[1112] How it works: A server sends a text message to a speech synthesis engine, such as Amazon Polly, which converts the text into speech.
[1113] Output: Speech data saying "That time slot is free. Please tell me your name."
[1114] Step 7:
[1115] Plays the server-generated audio data to the customer
[1116] Input: Speech data saying "That time slot is available. Please tell me your name."
[1117] How it works: The server sends the voice data to the customer's communication device and plays it as audio.
[1118] Output: The customer hears the response.
[1119] Step 8:
[1120] The server summarizes the important parts of the communication and organizes them in text format.
[1121] Input: Text data of the entire call.
[1122] How it works: The server sends the call to a summarization algorithm, which creates a summary of the key points.
[1123] Output: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[1124] Step 9:
[1125] The server stores the summary data in an information recording device.
[1126] Input: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[1127] Operation: The server saves the acquired summary data in an information recording device (database).
[1128] Output: The saved summary data is recorded in a database.
[1129] This allows you to concretely understand the processing of the entire system, making the expected operations and data flow clear.
[1130] (Application example 1)
[1131] 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."
[1132] Conventional telephone answering systems have been unable to respond to diverse customer requests, particularly in multilingual support. Furthermore, in areas such as food delivery services, there has been a lack of efficient means for automatically recognizing voice orders and asking confirmation questions, resulting in the time required to confirm and fulfill orders.
[1133] 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.
[1134] In this invention, the server includes a means for receiving customer inquiries, a means for transmitting received voice data to a voice recognition engine and converting the voice into text, and a means for analyzing the text data and understanding the customer's intent. This enables automatic recognition of voice orders and the generation of confirmation questions to respond. In addition, the server also includes a means for summarizing recorded conversation content and storing and managing it in a database, and a means for automatically detecting the customer's language during the initial voice recognition stage and generating a response message in the corresponding language. It also includes a means for recording conversation content and updating order information in real time. This enables efficient and accurate customer service in areas requiring multilingual support, such as food delivery services.
[1135] A "customer inquiry" is an order or request for information made by a customer over the phone or online.
[1136] A "voice recognition engine" is software or hardware that analyzes received voice data and converts it into text data.
[1137] "Text data" is character information converted from speech by a speech recognition engine.
[1138] "Customer intent" is the purpose or desire behind the words a customer speaks.
[1139] "Means of querying a database" refers to the process of searching and retrieving the required information from a database based on the customer's intent.
[1140] A "response message" is a message that contains an appropriate response to a customer inquiry.
[1141] A "speech synthesis engine" is software or hardware for converting text data into voice data.
[1142] "Call content" refers to the content of the conversation between the customer and the system.
[1143] A "summary" is a concise summary of the important parts of the call.
[1144] The "management screen" is an interface that allows system administrators to manage and monitor the database and call content.
[1145] A "notification system" is a mechanism for notifying specific events or information in real time.
[1146] A "voice order" is an order for a product made by a customer using voice.
[1147] "Verification questions" are additional questions the system asks to verify the customer's order details and intent.
[1148] "Order information" refers to detailed information such as the contents, quantity, and delivery address of the product ordered by the customer.
[1149] "Real-time updates" means that data and information are reflected immediately and the information in the system is always kept up to date.
[1150] "Multilingual support" is the ability to respond to customers who speak different languages in their own language.
[1151] The means for automatically detecting "customer language" is a process for automatically determining the language spoken by a customer using voice recognition technology.
[1152] The present invention relates to a system for efficiently receiving voice orders from customers and appropriately processing and responding to them. This system is designed to also accommodate orders from customers in multiple languages.
[1153] System configuration
[1154] 1. A means of receiving customer inquiries
[1155] The server receives voice orders from smartphones and landlines, which include a microphone and a telephone line to capture voice data.
[1156] 2. Voice Recognition
[1157] The received voice data is sent to a speech recognition engine on the server (for example, Google Cloud Speech-to-Text API) and converted into text data. Through this process, the customer's speech is extracted from the voice.
[1158] 3. Text Analysis and Intention Understanding
[1159] The converted text data is sent to a natural language processing engine on the server to understand the customer's intent (e.g., order, inquiry, cancellation, etc.). If necessary, additional confirmation questions are generated.
[1160] 4. Database Query
[1161] The server queries the database according to the customer's intention and obtains the necessary information (e.g., menu availability, price, delivery time, etc.).
[1162] 5. Generating a Response Message
[1163] Based on the results of the database query, an appropriate response message is generated, which is generated in text format and may include additional confirmation questions if necessary.
[1164] 6. Multilingual support and speech synthesis
[1165] The server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. The generated text response is sent to a speech synthesis engine (e.g., gTTS) and converted into voice data.
[1166] 7. Playing audio data
[1167] The generated voice data is played back on the customer's device, allowing the customer to receive their order details and confirmation questions by voice.
[1168] 8. Recording and summarizing calls
[1169] The contents of the call are recorded on the server and important information is summarized. This summary data is stored in a database and can be viewed on the management screen and notification system.
[1170] 9. Real-time update of order information
[1171] The server updates order details and status in real time, ensuring that the information in the system is always up to date.
[1172] Specific examples
[1173] For example, when a customer orders a pizza using a smartphone, the process goes like this:
[1174] 1. A customer says, "I'd like to order one Margherita pizza."
[1175] 2. The server receives the voice data, and the voice recognition engine converts it into text data such as "I would like to order one Margherita pizza."
[1176] 3. The server analyzes the text data and understands that the customer's intent is to "order pizza."
[1177] 4. Query the database to check availability and delivery times for Margherita pizza.
[1178] 5. The server generates a response message saying, "Margherita pizza is in stock. What toppings and size would you like?"
[1179] 6. If necessary, the server auto-detects the customer's preferred language and generates a response message in the appropriate language.
[1180] 7. The text-to-speech engine converts the generated text response into audio data and plays it back to the customer.
[1181] 8. Order details and supplementary information are updated in real time and displayed on the management screen.
[1182] Prompt Sentence Examples
[1183] "We are developing a food delivery smartphone app. We would like to create a feature that can receive voice orders from customers, automatically recognize the order content, and respond by voice if necessary with confirmation questions. We also need to automatically detect the language used by the customer and support multiple languages. We would also like to add a feature that records the order details in a database."
[1184] In this way, the present invention provides an efficient voice ordering system that supports multiple languages, thereby improving customer satisfaction in food delivery services.
[1185] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1186] Step 1:
[1187] The user makes a voice inquiry from a smartphone or landline. The user's statement (e.g., "I'd like to order one Margherita pizza") is captured as voice data by the device.
[1188] Step 2:
[1189] The device sends the received voice data to the server. The server sends the voice data to a speech recognition engine such as the Google Cloud Speech-to-Text API, which converts the voice into text data. This text data is returned from the speech recognition engine to the server. The input is voice data, and the output is text data.
[1190] Step 3:
[1191] The server sends the text data to a natural language processing engine to analyze the customer's intent. As a result of the analysis, it is understood that the user is trying to place an order. For example, the intent "I would like to order one Margherita pizza" is obtained from the text data. The input is the text data, and the output is the analyzed intent.
[1192] Step 4:
[1193] The server queries a database based on the parsed customer intent. For example, it retrieves necessary information such as stock status and delivery time of Margherita pizza from the database. The input is the parsed intent, and the output is the database query result.
[1194] Step 5:
[1195] The server generates an appropriate response message based on the database query results. This response message is in text format, and might say something like, "Margherita pizza is in stock. What toppings and size would you like?" The input is the database query result, and the output is the response message (text).
[1196] Step 6:
[1197] If necessary, the server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. Language detection is performed using a language recognition system on the server. The input is the language detection data, and the output is a multilingual text response message.
[1198] Step 7:
[1199] The server sends the generated text response to a speech synthesis engine (e.g. gTTS) to convert it into audio data that is played back to the customer. The input is the text response message, and the output is the audio data.
[1200] Step 8:
[1201] The generated voice data is sent from the server to the terminal, and the terminal responds to the user by playing the voice data. For example, a voice message such as "Margherita pizza is in stock. What toppings and size would you like?" is played. The input is voice data, and the output is a voice response.
[1202] Step 9:
[1203] The server records the call and summarizes the important details. For example, a summary might be generated such as "The user ordered one Margherita pizza." This summary data is stored in a database. The input is the call content, and the output is the summary data.
[1204] Step 10:
[1205] The server updates order information in real time, ensuring that the information in the system is always up to date, allowing the most up-to-date information to be seen on the management screen and in the notification system. The input is summary data, and the output is updated order information.
[1206] 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.
[1207] MODE FOR CARRYING OUT THE INVENTION
[1208] System Overview
[1209] This invention adds emotion recognition functionality to a telephone answering system for restaurants and tourist facilities. It automates customer phone calls, supports multiple languages, and recognizes emotions. This system can maintain smooth communication with customers and minimize opportunity loss.
[1210] Program processing overview
[1211] 1. Receiving a call
[1212] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1213] 2. Voice Recognition
[1214] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1215] 3. Text Analysis and Intention Understanding
[1216] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[1217] 4. Emotion recognition
[1218] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (e.g., joy, anger, sadness, etc.).
[1219] 5. Database Query
[1220] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1221] 6. Response Generation
[1222] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[1223] 7. Vocalization of responses
[1224] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1225] 8. Response playback
[1226] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1227] 9. Call summaries and recordings
[1228] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1229] 10. Data Retention
[1230] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1231] Specific examples
[1232] Example 1: Reservation and Emotion Recognition
[1233] 1. The customer calls
[1234] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1235] 2. Speech and Emotion Recognition
[1236] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[1237] 3. Check availability
[1238] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1239] 4. Vocalization and playback of responses
[1240] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1241] 5. Recording reservation information and emotional data
[1242] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[1243] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[1244] The processing flow will be explained below.
[1245] Step 1:
[1246] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1247] Step 2:
[1248] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1249] Step 3:
[1250] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (reservation, inquiry, cancellation, etc.).
[1251] Step 4:
[1252] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (happiness, anger, sadness, etc.).
[1253] Step 5:
[1254] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1255] Step 6:
[1256] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[1257] Step 7:
[1258] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1259] Step 8:
[1260] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1261] Step 9:
[1262] The server waits for the customer's next statement and collects voice data again. At this stage, the process continues until all of the customer's questions and requests have been resolved.
[1263] Step 10:
[1264] At the end of the call, the server summarizes the important parts of the call. The summary (reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1265] Step 11:
[1266] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1267] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers, minimize lost opportunities, and provide services that take into account customer feelings.
[1268] Example 2
[1269] 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."
[1270] The purpose of this invention is to automate telephone answering between customers and businesses (e.g., restaurants and tourist facilities) and realize smoother and more effective communication by incorporating emotion recognition. Specifically, conventional automated answering systems have difficulty accurately understanding customer emotions and intentions, which limits the improvement of customer satisfaction. For this reason, there is a demand for the development of a system that can recognize customer emotions and generate responses based on them.
[1271] 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.
[1272] In this invention, the server includes means for receiving calls from customers, means for sending voice data to a voice recognition engine and converting the voice into text, means for analyzing the text data and understanding the customer's intention, means for sending the voice data to an emotion engine and recognizing the customer's emotion, means for querying a database in response to a customer request, means for generating an appropriate response message based on the database query result and emotion data, means for sending the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the call and organizing it in text format, and means for saving the summary data and emotion data in a database. This enables appropriate responses that reflect the customer's emotion, improving customer satisfaction and enabling efficient business operations.
[1273] A "means for receiving customer calls" is a combination of hardware and software used to connect customers to an automated response system and has the ability to collect voice data over telephone lines or a VoIP network.
[1274] "Means for sending voice data to a voice recognition engine and converting the voice into text" refers to the entire process of sending collected voice data to a voice recognition engine via the Internet, and the engine analyzing the voice and converting it into text data.
[1275] "Means for analyzing text data and understanding customer intent" refers to the process in which a natural language processing engine analyzes text data obtained from a voice recognition engine and extracts the customer's requests and intent from the results.
[1276] "Means for transmitting voice data to an emotion engine to recognize customer emotions" refers to the process of transmitting collected voice data to an emotion recognition engine, which then identifies the customer's emotional state (such as joy, anger, or sadness) from the tone and content of the voice.
[1277] "Means of querying a database according to a customer's request" refers to the process of executing a search query on a database to obtain relevant information according to the customer's request or intent, and obtaining the required data.
[1278] The "means for generating an appropriate response message based on the database query results and emotion data" refers to a process for creating an appropriate response message for a customer using a natural language generation engine based on information retrieved from the database and emotion data received from the emotion engine.
[1279] The "means for sending the generated response message to a speech synthesis engine and converting it into voice data" refers to the process of sending a text-format response message to a speech synthesis engine, which then converts the text into voice and generates reproducible voice data.
[1280] The "means for playing the generated voice data to the customer" is the process of transmitting the voice data received from the speech synthesis engine over the customer's telephone line so that the customer can hear the voice response.
[1281] "Means for summarizing the important content of a call and organizing it in text format" refers to a function that extracts the important parts of the conversation after the call ends and organizes the summarized content in text format.
[1282] "Means for storing summary data and emotion data in a database" refers to the process of storing the summarized call content and emotion data in a database and accumulating it for later reference and analysis.
[1283] MODE FOR CARRYING OUT THE INVENTION
[1284] System Overview
[1285] This invention is a system that automates telephone conversations between customers and businesses (e.g., restaurants and tourist facilities) and incorporates emotion recognition. The main hardware used is a telephone line system and server using a VoIP network. The main software used is a speech recognition engine, a natural language processing engine, an emotion recognition engine, a database system, and a speech synthesis engine.
[1286] Program processing overview
[1287] 1. Receiving a call
[1288] The server receives a call from a customer, detects the call through the telephone line system (e.g., Asterisk), and starts collecting voice data.
[1289] 2. Voice Recognition
[1290] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text), which analyzes the voice data and converts it into text data.
[1291] 3. Text Analysis and Intention Understanding
[1292] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3), which analyzes the text data and understands the customer's intent.
[1293] 4. Emotion recognition
[1294] At the same time, the server sends the voice data to an emotion recognition engine (e.g., IBM Watson Tone Analyzer), which analyzes the voice data and recognizes the customer's emotions.
[1295] 5. Database Query
[1296] The server queries a database (e.g. MySQL) based on the customer's request. For example, if a customer wants to make a reservation, it searches the reservation system database to check availability for the desired date and time.
[1297] 6. Response Generation
[1298] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine.
[1299] 7. Vocalization of responses
[1300] The server generates a text response, which is then sent to a speech synthesis engine (e.g., Amazon Polly) for conversion into audio data.
[1301] 8. Response playback
[1302] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1303] 9. Call summaries and recordings
[1304] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1305] 10. Data Retention
[1306] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1307] Specific examples
[1308] Prompt Sentence Examples
[1309] "Set the context for when a user calls"
[1310] Example 1: Reservation and Emotion Recognition
[1311] 1. The customer calls
[1312] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1313] 2. Speech and Emotion Recognition
[1314] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[1315] 3. Check availability
[1316] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1317] 4. Vocalization and playback of responses
[1318] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1319] 5. Recording reservation information and emotional data
[1320] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[1321] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[1322] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1323] Step 1:
[1324] Receiving a call
[1325] The server receives a call from a customer. The input is the customer's telephone ringing signal. The telephone line system (e.g., Asterisk) detects the call and starts collecting voice data. The output is the collected voice data. Specifically, the server receives the telephone ringing signal via the VoIP network and captures the voice data in digital form.
[1326] Step 2:
[1327] Voice Recognition
[1328] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text). The collected voice data is the input. The voice recognition engine analyzes the voice data and converts it into text data. The generated text data is obtained as the output. Specifically, the server sends the voice data as an API request, and the voice recognition engine analyzes the voice waveform and generates corresponding text.
[1329] Step 3:
[1330] Text analysis and intent understanding
[1331] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3). The input is the generated text data. The natural language processing engine analyzes the text data and understands the customer's intent. The output is the customer's intent, which is identified. Specifically, the server sends the text data as an API request, and the natural language processing engine analyzes the text and extracts the intent, such as "make a reservation" or "inquire."
[1332] Step 4:
[1333] emotion recognition
[1334] The server simultaneously sends the voice data to an emotion recognition engine (e.g. IBM Watson Tone Analyzer). The input is the collected voice data. The emotion recognition engine analyzes the voice data and recognizes the customer's emotion. The output is the identified emotion data. Specifically, the server sends the voice data as an API request, and the emotion recognition engine analyzes the tone of the voice to identify the customer's emotion.
[1335] Step 5:
[1336] Database Query
[1337] The server queries a database (e.g. MySQL) based on the customer's request. The input is the customer's intent (e.g., requesting a reservation). The database returns the information according to the request. The output is the retrieved data. Specifically, the server issues an SQL query to search for reservation information. For example, it executes the query "SELECT FROM reservations WHERE date='YYYY-MM-DD' AND time='19:00'".
[1338] Step 6:
[1339] Response Generation
[1340] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine. The input is the reservation information and emotion data from the database. The output is a generated text response. Specifically, the server uses the natural language generation engine to generate a response message such as "That time slot is available. Please tell us your name."
[1341] Step 7:
[1342] Voiced responses
[1343] The server sends the generated text response to a speech synthesis engine (e.g., Amazon Polly) to convert it into speech data. The input is the generated text response. The speech synthesis engine converts the text into speech. The output is the generated speech data. Specifically, the server calls the speech synthesis API to convert the text message into speech data.
[1344] Step 8:
[1345] Response playback
[1346] The server plays the voice data received from the speech synthesis engine to the customer. The input is the generated voice data. The output is the voice response that the customer hears. In concrete terms, the server sends the voice data to the customer in real time via the telephone line system, and the customer hears the response.
[1347] Step 9:
[1348] Call summaries and recordings
[1349] At the end of a call, the server summarizes the important parts of the call. The input is the call content and emotion data. The summary is organized in text format. The output is the summarized text data. Specifically, the server analyzes the content of the call, extracts information such as "Reservation for two people tomorrow night at 7pm," and summarizes it in text format.
[1350] Step 10:
[1351] Data storage
[1352] The server saves the summarized text data and emotion data in a database. The input is the summary data and emotion data. The output is the saved data. Specifically, the server saves the summary data in the database using an INSERT SQL statement. For example, it executes the SQL statement "INSERT INTO summaries (date, time, customer, emotion) VALUES ('YYYY-MM-DD', '19:00', 'Customer name', 'Joy')".
[1353] (Application example 2)
[1354] 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."
[1355] Conventional telephone answering systems and customer service systems in brick-and-mortar stores have the problem of being unable to recognize customer emotions and respond appropriately. It is also difficult to provide multilingual support and efficiently manage customer voice data. Furthermore, there is a lack of means to improve customer satisfaction by adjusting services based on customer emotions.
[1356] 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 a means for receiving telephone calls from customers or voice input at a physical store, a means for sending the received voice data to a voice recognition engine and converting the voice into text, a means for analyzing the text data and understanding the customer's intent, a means for querying a database in response to a customer request, a means for generating an appropriate response message based on the database query results, a means for sending the generated response message to a voice synthesis engine and converting it into voice data, a means for playing the generated voice data to the customer, a means for summarizing important content of the call or conversation and organizing it in text format, a means for saving the summary data in a database, a means for recognizing emotions from voice data, and a means for adjusting the response message based on the emotion recognition results. This makes it possible to grasp customer emotions in real time and provide an optimal response accordingly. It also realizes multilingual support and efficient management of voice data, thereby improving customer satisfaction.
[1357] "Customer" means a person who uses or is a user of the Services.
[1358] A "telephone" is a device or system that transmits voice over a communication line.
[1359] "Audio input" is the act or means of providing audio data to a system.
[1360] "Audio data" is information that represents audio in digital form.
[1361] A "speech recognition engine" is a software or hardware system for analyzing voice data and converting it into text data.
[1362] "Text data" is digital data that includes character information.
[1363] "Intent" refers to the purpose or desire that the customer is trying to communicate.
[1364] A "database" is a system that stores information in an organized manner and allows it to be searched and manipulated as needed.
[1365] "Querying" is the act of looking up required information from a database or other source of information.
[1366] A "response message" is a message returned in response to a customer inquiry or request.
[1367] A "speech synthesis engine" is a software or hardware system for converting text data into speech data.
[1368] "Playback" refers to the act of outputting audio data so that it can be heard.
[1369] "Important content" refers to information or key points that deserve special attention in a call or conversation.
[1370] "Summarizing" is the act of concisely summarizing long content or a lot of information.
[1371] Organizing is the act of putting information into an easy-to-understand format.
[1372] "Storage" is the act of keeping information for later use.
[1373] Emotions are human psychological states and feelings.
[1374] "Emotion recognition" is the act of estimating and evaluating human emotions.
[1375] "Adjusting" is the act of making changes or modifications to make something optimal for the situation.
[1376] A "system" is a set of structures or devices in which multiple parts or elements work together.
[1377] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings.
[1378] System Overview
[1379] This invention adds an emotion recognition function to a customer service system based on voice input from customers over the phone and in physical stores. The system analyzes customer voice data, recognizes their emotions in real time, and generates appropriate response messages to provide smooth and sophisticated customer service.
[1380] Hardware and Software Configuration
[1381] Hardware:
[1382] Smart glasses, head-mounted displays, smartphones, servers
[1383] software:
[1384] Speech recognition engine (Google Web Speech API)
[1385] Emotion recognition model (sentiment-analysis pipeline from the transformers library)
[1386] Speech synthesis engine (pyttsx3 library)
[1387] Process flow and software / hardware used
[1388] 1. Receiving audio input:
[1389] The server receives customer calls and voice data from physical stores, and microphones built into smart glasses or head-mounted displays capture the voice.
[1390] 2. Speech Recognition:
[1391] The server sends the received voice data to a speech recognition engine (Google Web Speech API) and converts the voice into text data, allowing the customer's speech to be treated as text.
[1392] 3. Intent Analysis:
[1393] The server sends the text data to a natural language processing engine to analyze the customer's intent. For example, intent such as "I would like to make a reservation" or "I would like to check product availability" can be understood here.
[1394] 4. Emotion recognition:
[1395] The server simultaneously sends the audio data to an emotion recognition model (the sentiment-analysis pipeline in the transformers library) to analyze the customer's emotions, which determines whether the customer has a positive, negative, or neutral emotion.
[1396] 5. Database Query:
[1397] The server queries the database based on the customer's intent and retrieves the necessary information, such as whether a reservation can be made or the product's stock status.
[1398] 6. Response message generation and adjustment:
[1399] Based on the database query results and emotion recognition results, the server generates an appropriate response message, possibly adjusting it depending on the emotion, for example, generating a lighter-toned message if the customer is expressing positive emotions.
[1400] 7. Speech synthesis:
[1401] The server sends the generated response message to a speech synthesis engine (pyttsx3 library) and converts it into voice data, which allows the text message to be output as a voice message.
[1402] 8. Playback and saving responses:
[1403] The server plays the generated voice data to the customer, and at the same time summarizes the important content of the call or conversation and stores it in a database as text data.
[1404] Specific examples
[1405] Example 1:
[1406] If a customer walks into a store and says, "I'm busy today, but I'd like to take a quick look around," the system uses emotion recognition to recognize that the customer feels busy but is interested, and generates a response message such as, "Please feel free to look around."
[1407] Example 2:
[1408] If a customer says, "Oh, there's a product like this! I'm so happy," emotion recognition will detect the customer's joy and generate a response message such as, "Thank you. I have other products I recommend!"
[1409] Prompt Sentence Examples
[1410] Here are some example prompts to input to a generative AI model:
[1411] User input: "I'm busy today, but I just wanted to take a quick look."
[1412] A response message generated based on the output of the emotion recognition model: "Please feel free to browse."
[1413] User input: "Oh, I didn't know there was a product like this! I'm so happy."
[1414] A response message generated based on the output of the emotion recognition model: "Thank you! I have other recommendations!"
[1415] In this way, by understanding customer emotions in real time and generating appropriate responses accordingly, smoother customer service can be achieved.
[1416] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1417] Step 1:
[1418] The server receives voice input from customers via phone or in a physical store. The input is the customer's voice data, and the output is the acquisition of voice data. The microphone built into the smart glasses or head-mounted display captures the voice.
[1419] Step 2:
[1420] The server sends the received voice data to the voice recognition engine. The input is voice data and the output is text data. The voice data is analyzed using the Google Web Speech API and converted into text.
[1421] Step 3:
[1422] The server analyzes the text data obtained from the speech recognition engine to understand the customer's intent. The input is text data, and the output is the intent analysis result. The natural language processing engine extracts the customer's requests from the text data.
[1423] Step 4:
[1424] The server simultaneously sends the voice data to the emotion recognition model to recognize the customer's emotion. The input is the voice data, and the output is the emotion analysis result. The sentiment-analysis pipeline of the transformers library is used to assign emotion tags from the voice.
[1425] Step 5:
[1426] The server queries the database based on the customer's intention and emotion results. The input is the intention analysis result and emotion analysis result, and the output is the database query result. The server searches the database and obtains the necessary information (e.g., reservation status or product inventory status).
[1427] Step 6:
[1428] The server generates an appropriate response message based on the database query results and emotion recognition results. The input is the database query results and emotion analysis results, and the output is the text data of the response message. The tone of the message is adjusted according to the emotion, and a text response message is generated.
[1429] Step 7:
[1430] The response message generated by the server is sent to the speech synthesis engine and converted into speech data. The input is the text data response message, and the output is the response speech data. The text-to-speech conversion process is performed using the pyttsx3 library.
[1431] Step 8:
[1432] The server plays the generated voice data to the customer and summarizes and saves the important content. The input is the response voice data and the content of the call or dialogue, and the output is the response to the customer and data stored in the database. The voice data is played and the summarized text data is saved in the database.
[1433] 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.
[1434] 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.
[1435] 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.
[1436] [Fourth embodiment]
[1437] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1438] 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.
[1439] 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).
[1440] 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.
[1441] 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.
[1442] 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).
[1443] 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.
[1444] 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.
[1445] 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.
[1446] 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.
[1447] 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.
[1448] 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.
[1449] 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."
[1450] MODE FOR CARRYING OUT THE INVENTION
[1451] System Overview
[1452] This invention is a system that automates customer telephone responses and provides multilingual support. It can maintain smooth communication with customers and minimize opportunity loss, especially in restaurants and tourist facilities.
[1453] Program processing overview
[1454] 1. Receiving a call
[1455] The server receives the call from the customer. At this stage, the voice data is collected and prepared for real-time processing.
[1456] 2. Voice Recognition
[1457] The server sends the received voice data to a voice recognition engine, which converts the voice into text data, thereby obtaining the customer's speech in text format.
[1458] 3. Text Analysis and Intention Understanding
[1459] The server sends the acquired text data to a natural language processing engine to understand the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[1460] 4. Database Query
[1461] The server queries the database in response to a customer request and obtains the necessary information (e.g., reservation status, business hours, etc.).
[1462] 5. Response Generation
[1463] The server generates an appropriate response message based on the results of the database query. The response is generated in text format.
[1464] 6. Vocalization of responses
[1465] The server sends the generated text response to a speech synthesis engine to generate audio data, which is then played back to the customer.
[1466] 7. Multilingual support
[1467] During the initial speech recognition stage, the server automatically detects the language the customer speaks and generates and plays responses in the corresponding language.
[1468] 8. Call summaries and recordings
[1469] The server summarizes the key points of the call and organizes them in text format, then stores the summary data in a database and makes it available for viewing in management screens and notification systems.
[1470] Specific examples
[1471] Example 1: Reservation
[1472] 1. The customer calls
[1473] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1474] 2. Speech Recognition and Analysis
[1475] The server receives the voice data and sends it to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine to understand the intent of the reservation.
[1476] 3. Check availability
[1477] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1478] 4. Vocalization and playback of responses
[1479] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1480] 5. Recording of reservation information
[1481] When the user speaks their name, the server recognizes the information and records it in a database. The server then summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[1482] By utilizing this program, restaurants and tourist facilities can improve customer service efficiency and minimize lost opportunities. In addition, multilingual support makes it possible to communicate smoothly with inbound customers.
[1483] The processing flow will be explained below.
[1484] Step 1:
[1485] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1486] Step 2:
[1487] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1488] Step 3:
[1489] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[1490] Step 4:
[1491] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1492] Step 5:
[1493] The server generates an appropriate response message based on the database query results, and the generated response message is in text format.
[1494] Step 6:
[1495] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1496] Step 7:
[1497] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1498] Step 8:
[1499] The server waits for the customer's next utterance and again collects voice data, and this cycle continues until all of the customer's questions and requests have been resolved.
[1500] Step 9:
[1501] At the end of the call, the server summarizes the important parts of the call, and the summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format.
[1502] Step 10:
[1503] The server stores the summarized text data in a database, which can then be accessed through the administration screen and notification system for future reference by administrators.
[1504] Step 11:
[1505] The server automatically detects the customer's language during the initial speech recognition stage, and if the language is identified, generates a response message in that language.
[1506] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers and minimize lost opportunities.
[1507] Example 1
[1508] 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."
[1509] Modern restaurants and tourist facilities are required to communicate with customers efficiently and in multiple languages. However, conventional systems require manual response and are heavily dependent on specific languages, making it difficult to provide fast and efficient responses. Furthermore, recording and summarizing call content is largely manual, making it difficult to say it is efficient. To solve these problems, an automated response system that can quickly understand customer requests and respond in multiple languages is needed.
[1510] 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.
[1511] In this invention, the server includes means for receiving communications from customers, means for transmitting received voice data to a voice recognition engine and converting the voice data into text data, means for analyzing the text data and understanding the customer's intent, means for querying an information recording device in response to a customer request, means for generating an appropriate response message based on the results of querying the information recording device, means for transmitting the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the communication and organizing it in text format, and means for saving the summary data in the information recording device. This enables efficient communication with customers and multilingual support, enabling quick and accurate responses without human intervention. Furthermore, automatic summarization and recording of call content improves business efficiency and service quality.
[1512] "Customer" means any person or entity that makes calls or communicates using the System.
[1513] "Communication" refers to the act of sending and receiving voice data or text data via telephone, the Internet, etc.
[1514] "Voice data" refers to data that digitally represents the voice uttered by the customer.
[1515] A "voice recognition engine" is a software or hardware configuration for analyzing received voice data and converting it into text data.
[1516] "Text data" is a character string representing the customer's speech content converted by a voice recognition engine.
[1517] A "natural language processing engine" is a software or hardware configuration that analyzes acquired text data and understands the customer's intent and the content of their questions.
[1518] An "information recording device" is a device for storing and managing information in the form of a database or the like.
[1519] A "response message" is text data containing a reply generated in response to a customer request.
[1520] A "speech synthesis engine" is a software or hardware configuration for analyzing text data and converting it into speech data.
[1521] A "summary" is a text-formatted summary of the important parts of a communication.
[1522] "Saving in an information recording device" refers to the act of saving the acquired data and summary content in storage such as a database.
[1523] "Multilingual support" is a function that enables communication in multiple languages.
[1524] The "control screen" is a user interface for operating and managing the system.
[1525] A "notification system" is a system for notifying specific users or administrators of important information.
[1526] MODE FOR CARRYING OUT THE INVENTION
[1527] System Overview
[1528] This invention is a multilingual automated response system that receives customer communications and automatically converts speech into text, enabling efficient management of customer communications and minimizing opportunity loss, particularly in restaurants and tourist facilities.
[1529] Hardware and software used
[1530] The system is implemented using the following hardware and software:
[1531] Server: A central control device that manages communications and processes all data.
[1532] Speech recognition engine: Software for converting voice data into text data (e.g., Google Cloud Speech-to-Text).
[1533] Natural language processing engine: Software that analyzes text data and understands customer intent (e.g., IBM Watson Natural Language Understanding).
[1534] Information recording device: A database (e.g., MySQL, PostgreSQL) for storing customer information and call content.
[1535] Speech synthesis engine: Software for converting text data into speech data (e.g., Amazon Polly).
[1536] Control Screens and Notification Systems: User interfaces and systems for managing the system and communicating important information.
[1537] Example: Reservation
[1538] Below is a concrete example of how the system processes reservations from customers.
[1539] 1. The customer calls
[1540] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and collects the voice data.
[1541] 2. Speech Recognition and Analysis
[1542] The server sends the voice data to a speech recognition engine, which generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." The server then sends the text data to a natural language processing engine, which analyzes the intent of the reservation.
[1543] 3. Information Recording Device Inquiry
[1544] The server queries the information recording device to check the reservation status for tomorrow night at 7pm. If there is availability, the server generates a response message saying "That time slot is available. Please tell us your name."
[1545] 4. Vocalization of responses
[1546] The server sends the generated text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1547] 5. Recording of reservation information
[1548] When the user gives their name, the server recognizes the information and records it in the information recording device. The server summarizes the conversation and saves the information as "Mr. / Ms. XX has made a reservation for two people tomorrow at 7pm."
[1549] Examples of prompt statements
[1550] Below is an example of a prompt sentence to input to the generative AI model.
[1551] A customer calls your restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." Use your telephone answering system to respond appropriately.
[1552] The implementation of such a system will improve the efficiency of customer service at restaurants and tourist facilities and enable multilingual support, which is expected to improve service quality and customer satisfaction.
[1553] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1554] Step 1:
[1555] The server receives communication from the customer
[1556] Input: A customer calls.
[1557] How it works: The server detects when a call is received at a specific phone number. It prepares to receive voice data and uses SIP (Session Initiation Protocol) or similar to establish communication.
[1558] Output: Real-time received audio data.
[1559] Step 2:
[1560] The server sends the received voice data to the voice recognition engine, which converts the voice data into text data.
[1561] Input: Real-time received audio data.
[1562] How it works: The server sends audio data to the Google Cloud Speech-to-Text API, which converts it to text.
[1563] Output: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[1564] Step 3:
[1565] The server sends the text data to a natural language processing engine to understand the customer's intent.
[1566] Input: Text data such as "I would like to make a reservation for two people tomorrow night at 7pm."
[1567] How it works: The server sends the text data to an NLP engine, such as IBM Watson Natural Language Understanding, which analyzes the text data and understands the meaning of "reserve."
[1568] Output: Customer intent "Make a reservation."
[1569] Step 4:
[1570] The server queries the information recording device in response to a customer request.
[1571] Input: The customer's intent to "make a reservation" and any additional relevant information.
[1572] Operation: The server executes an SQL query against the information storage device (e.g., a MySQL database) to retrieve the necessary reservation status data.
[1573] Output: Information that "There are two seats available at 7pm on October 25th, 2023."
[1574] Step 5:
[1575] The server generates an appropriate response message based on the information recorder query result.
[1576] Input: Information: "There are two seats available at 7pm on October 25th, 2023."
[1577] What it does: The server generates a response text message based on the data it retrieves, for example, "That time slot is available. What's your name?"
[1578] Output: A text message such as "I'm available at that time. What's your name?"
[1579] Step 6:
[1580] The server generates a text response, which is sent to a speech synthesis engine and converted into voice data.
[1581] Input: A text message such as "I'm available that time. What's your name?"
[1582] How it works: A server sends a text message to a speech synthesis engine, such as Amazon Polly, which converts the text into speech.
[1583] Output: Speech data saying "That time slot is free. Please tell me your name."
[1584] Step 7:
[1585] Plays the server-generated audio data to the customer
[1586] Input: Speech data saying "That time slot is available. Please tell me your name."
[1587] How it works: The server sends the voice data to the customer's communication device and plays it as audio.
[1588] Output: The customer hears the response.
[1589] Step 8:
[1590] The server summarizes the important parts of the communication and organizes them in text format.
[1591] Input: Text data of the entire call.
[1592] How it works: The server sends the call to a summarization algorithm, which creates a summary of the key points.
[1593] Output: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[1594] Step 9:
[1595] The server stores the summary data in an information recording device.
[1596] Input: Summary data such as "Mr. / Ms. XX made a reservation for 2 people at 7pm on October 25th, 2023."
[1597] Operation: The server saves the acquired summary data in an information recording device (database).
[1598] Output: The saved summary data is recorded in a database.
[1599] This allows you to concretely understand the processing of the entire system, making the expected operations and data flow clear.
[1600] (Application example 1)
[1601] 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."
[1602] Conventional telephone answering systems have been unable to respond to diverse customer requests, particularly in multilingual support. Furthermore, in areas such as food delivery services, there has been a lack of efficient means for automatically recognizing voice orders and asking confirmation questions, resulting in the time required to confirm and fulfill orders.
[1603] 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.
[1604] In this invention, the server includes a means for receiving customer inquiries, a means for transmitting received voice data to a voice recognition engine and converting the voice into text, and a means for analyzing the text data and understanding the customer's intent. This enables automatic recognition of voice orders and the generation of confirmation questions to respond. In addition, the server also includes a means for summarizing recorded conversation content and storing and managing it in a database, and a means for automatically detecting the customer's language during the initial voice recognition stage and generating a response message in the corresponding language. It also includes a means for recording conversation content and updating order information in real time. This enables efficient and accurate customer service in areas requiring multilingual support, such as food delivery services.
[1605] A "customer inquiry" is an order or request for information made by a customer over the phone or online.
[1606] A "voice recognition engine" is software or hardware that analyzes received voice data and converts it into text data.
[1607] "Text data" is character information converted from speech by a speech recognition engine.
[1608] "Customer intent" is the purpose or desire behind the words a customer speaks.
[1609] "Means of querying a database" refers to the process of searching and retrieving the required information from a database based on the customer's intent.
[1610] A "response message" is a message that contains an appropriate response to a customer inquiry.
[1611] A "speech synthesis engine" is software or hardware for converting text data into voice data.
[1612] "Call content" refers to the content of the conversation between the customer and the system.
[1613] A "summary" is a concise summary of the important parts of the call.
[1614] The "management screen" is an interface that allows system administrators to manage and monitor the database and call content.
[1615] A "notification system" is a mechanism for notifying specific events or information in real time.
[1616] A "voice order" is an order for a product made by a customer using voice.
[1617] "Verification questions" are additional questions the system asks to verify the customer's order details and intent.
[1618] "Order information" refers to detailed information such as the contents, quantity, and delivery address of the product ordered by the customer.
[1619] "Real-time updates" means that data and information are reflected immediately and the information in the system is always kept up to date.
[1620] "Multilingual support" is the ability to respond to customers who speak different languages in their own language.
[1621] The means for automatically detecting "customer language" is a process for automatically determining the language spoken by a customer using voice recognition technology.
[1622] The present invention relates to a system for efficiently receiving voice orders from customers and appropriately processing and responding to them. This system is designed to also accommodate orders from customers in multiple languages.
[1623] System configuration
[1624] 1. A means of receiving customer inquiries
[1625] The server receives voice orders from smartphones and landlines, which include a microphone and a telephone line to capture voice data.
[1626] 2. Voice Recognition
[1627] The received voice data is sent to a speech recognition engine on the server (for example, Google Cloud Speech-to-Text API) and converted into text data. Through this process, the customer's speech is extracted from the voice.
[1628] 3. Text Analysis and Intention Understanding
[1629] The converted text data is sent to a natural language processing engine on the server to understand the customer's intent (e.g., order, inquiry, cancellation, etc.). If necessary, additional confirmation questions are generated.
[1630] 4. Database Query
[1631] The server queries the database according to the customer's intention and obtains the necessary information (e.g., menu availability, price, delivery time, etc.).
[1632] 5. Generating a Response Message
[1633] Based on the results of the database query, an appropriate response message is generated, which is generated in text format and may include additional confirmation questions if necessary.
[1634] 6. Multilingual support and speech synthesis
[1635] The server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. The generated text response is sent to a speech synthesis engine (e.g., gTTS) and converted into voice data.
[1636] 7. Playing audio data
[1637] The generated voice data is played back on the customer's device, allowing the customer to receive their order details and confirmation questions by voice.
[1638] 8. Recording and summarizing calls
[1639] The contents of the call are recorded on the server and important information is summarized. This summary data is stored in a database and can be viewed on the management screen and notification system.
[1640] 9. Real-time update of order information
[1641] The server updates order details and status in real time, ensuring that the information in the system is always up to date.
[1642] Specific examples
[1643] For example, when a customer orders a pizza using a smartphone, the process goes like this:
[1644] 1. A customer says, "I'd like to order one Margherita pizza."
[1645] 2. The server receives the voice data, and the voice recognition engine converts it into text data such as "I would like to order one Margherita pizza."
[1646] 3. The server analyzes the text data and understands that the customer's intent is to "order pizza."
[1647] 4. Query the database to check availability and delivery times for Margherita pizza.
[1648] 5. The server generates a response message saying, "Margherita pizza is in stock. What toppings and size would you like?"
[1649] 6. If necessary, the server auto-detects the customer's preferred language and generates a response message in the appropriate language.
[1650] 7. The text-to-speech engine converts the generated text response into audio data and plays it back to the customer.
[1651] 8. Order details and supplementary information are updated in real time and displayed on the management screen.
[1652] Prompt Sentence Examples
[1653] "We are developing a food delivery smartphone app. We would like to create a feature that can receive voice orders from customers, automatically recognize the order content, and respond by voice if necessary with confirmation questions. We also need to automatically detect the language used by the customer and support multiple languages. We would also like to add a feature that records the order details in a database."
[1654] In this way, the present invention provides an efficient voice ordering system that supports multiple languages, thereby improving customer satisfaction in food delivery services.
[1655] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1656] Step 1:
[1657] The user makes a voice inquiry from a smartphone or landline. The user's statement (e.g., "I'd like to order one Margherita pizza") is captured as voice data by the device.
[1658] Step 2:
[1659] The device sends the received voice data to the server. The server sends the voice data to a speech recognition engine such as the Google Cloud Speech-to-Text API, which converts the voice into text data. This text data is returned from the speech recognition engine to the server. The input is voice data, and the output is text data.
[1660] Step 3:
[1661] The server sends the text data to a natural language processing engine to analyze the customer's intent. As a result of the analysis, it is understood that the user is trying to place an order. For example, the intent "I would like to order one Margherita pizza" is obtained from the text data. The input is the text data, and the output is the analyzed intent.
[1662] Step 4:
[1663] The server queries a database based on the parsed customer intent. For example, it retrieves necessary information such as stock status and delivery time of Margherita pizza from the database. The input is the parsed intent, and the output is the database query result.
[1664] Step 5:
[1665] The server generates an appropriate response message based on the database query results. This response message is in text format, and might say something like, "Margherita pizza is in stock. What toppings and size would you like?" The input is the database query result, and the output is the response message (text).
[1666] Step 6:
[1667] If necessary, the server automatically detects the customer's language during the initial speech recognition stage and generates a response message in the corresponding language. Language detection is performed using a language recognition system on the server. The input is the language detection data, and the output is a multilingual text response message.
[1668] Step 7:
[1669] The server sends the generated text response to a speech synthesis engine (e.g. gTTS) to convert it into audio data that is played back to the customer. The input is the text response message, and the output is the audio data.
[1670] Step 8:
[1671] The generated voice data is sent from the server to the terminal, and the terminal responds to the user by playing the voice data. For example, a voice message such as "Margherita pizza is in stock. What toppings and size would you like?" is played. The input is voice data, and the output is a voice response.
[1672] Step 9:
[1673] The server records the call and summarizes the important details. For example, a summary might be generated such as "The user ordered one Margherita pizza." This summary data is stored in a database. The input is the call content, and the output is the summary data.
[1674] Step 10:
[1675] The server updates order information in real time, ensuring that the information in the system is always up to date, allowing the most up-to-date information to be seen on the management screen and in the notification system. The input is summary data, and the output is updated order information.
[1676] 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.
[1677] MODE FOR CARRYING OUT THE INVENTION
[1678] System Overview
[1679] This invention adds emotion recognition functionality to a telephone answering system for restaurants and tourist facilities. It automates customer phone calls, supports multiple languages, and recognizes emotions. This system can maintain smooth communication with customers and minimize opportunity loss.
[1680] Program processing overview
[1681] 1. Receiving a call
[1682] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1683] 2. Voice Recognition
[1684] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1685] 3. Text Analysis and Intention Understanding
[1686] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (e.g., reservation, inquiry, cancellation, etc.).
[1687] 4. Emotion recognition
[1688] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (e.g., joy, anger, sadness, etc.).
[1689] 5. Database Query
[1690] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1691] 6. Response Generation
[1692] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[1693] 7. Vocalization of responses
[1694] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1695] 8. Response playback
[1696] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1697] 9. Call summaries and recordings
[1698] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1699] 10. Data Retention
[1700] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1701] Specific examples
[1702] Example 1: Reservation and Emotion Recognition
[1703] 1. The customer calls
[1704] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1705] 2. Speech and Emotion Recognition
[1706] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[1707] 3. Check availability
[1708] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1709] 4. Vocalization and playback of responses
[1710] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1711] 5. Recording reservation information and emotional data
[1712] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[1713] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[1714] The processing flow will be explained below.
[1715] Step 1:
[1716] The server receives a call from a customer. The telephone line system detects the call and begins collecting voice data.
[1717] Step 2:
[1718] The server sends the collected voice data to a voice recognition engine, which analyzes the voice data and converts it into text data.
[1719] Step 3:
[1720] The server sends the text data received from the speech recognition engine to the natural language processing engine, which analyzes the text data and understands the customer's intent (reservation, inquiry, cancellation, etc.).
[1721] Step 4:
[1722] The server simultaneously sends the voice data to the emotion engine, which analyzes the voice data and recognizes the customer's emotions (happiness, anger, sadness, etc.).
[1723] Step 5:
[1724] The server queries the database based on the customer's request. For example, if a customer wants to make a reservation, it searches the database of the reservation system to check availability for the desired date and time.
[1725] Step 6:
[1726] The server generates an appropriate response message based on the database query result and the emotion data received from the emotion engine. The generated response message is in text format.
[1727] Step 7:
[1728] The server generates a text response, which is sent to a speech synthesis engine for conversion to audio data. The speech synthesis engine converts the text to speech and outputs playable audio data.
[1729] Step 8:
[1730] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1731] Step 9:
[1732] The server waits for the customer's next statement and collects voice data again. At this stage, the process continues until all of the customer's questions and requests have been resolved.
[1733] Step 10:
[1734] At the end of the call, the server summarizes the important parts of the call. The summary (reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1735] Step 11:
[1736] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1737] This is the specific processing flow of the system. Through these steps, restaurants and tourist facilities can ensure smooth communication with customers, minimize lost opportunities, and provide services that take into account customer feelings.
[1738] Example 2
[1739] 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."
[1740] The purpose of this invention is to automate telephone answering between customers and businesses (e.g., restaurants and tourist facilities) and realize smoother and more effective communication by incorporating emotion recognition. Specifically, conventional automated answering systems have difficulty accurately understanding customer emotions and intentions, which limits the improvement of customer satisfaction. For this reason, there is a demand for the development of a system that can recognize customer emotions and generate responses based on them.
[1741] 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.
[1742] In this invention, the server includes means for receiving calls from customers, means for sending voice data to a voice recognition engine and converting the voice into text, means for analyzing the text data and understanding the customer's intention, means for sending the voice data to an emotion engine and recognizing the customer's emotion, means for querying a database in response to a customer request, means for generating an appropriate response message based on the database query result and emotion data, means for sending the generated response message to a voice synthesis engine and converting it into voice data, means for playing the generated voice data to the customer, means for summarizing important content of the call and organizing it in text format, and means for saving the summary data and emotion data in a database. This enables appropriate responses that reflect the customer's emotion, improving customer satisfaction and enabling efficient business operations.
[1743] A "means for receiving customer calls" is a combination of hardware and software used to connect customers to an automated response system and has the ability to collect voice data over telephone lines or a VoIP network.
[1744] "Means for sending voice data to a voice recognition engine and converting the voice into text" refers to the entire process of sending collected voice data to a voice recognition engine via the Internet, and the engine analyzing the voice and converting it into text data.
[1745] "Means for analyzing text data and understanding customer intent" refers to the process in which a natural language processing engine analyzes text data obtained from a voice recognition engine and extracts the customer's requests and intent from the results.
[1746] "Means for transmitting voice data to an emotion engine to recognize customer emotions" refers to the process of transmitting collected voice data to an emotion recognition engine, which then identifies the customer's emotional state (such as joy, anger, or sadness) from the tone and content of the voice.
[1747] "Means of querying a database according to a customer's request" refers to the process of executing a search query on a database to obtain relevant information according to the customer's request or intent, and obtaining the required data.
[1748] The "means for generating an appropriate response message based on the database query results and emotion data" refers to a process for creating an appropriate response message for a customer using a natural language generation engine based on information retrieved from the database and emotion data received from the emotion engine.
[1749] The "means for sending the generated response message to a speech synthesis engine and converting it into voice data" refers to the process of sending a text-format response message to a speech synthesis engine, which then converts the text into voice and generates reproducible voice data.
[1750] The "means for playing the generated voice data to the customer" is the process of transmitting the voice data received from the speech synthesis engine over the customer's telephone line so that the customer can hear the voice response.
[1751] "Means for summarizing the important content of a call and organizing it in text format" refers to a function that extracts the important parts of the conversation after the call ends and organizes the summarized content in text format.
[1752] "Means for storing summary data and emotion data in a database" refers to the process of storing the summarized call content and emotion data in a database and accumulating it for later reference and analysis.
[1753] MODE FOR CARRYING OUT THE INVENTION
[1754] System Overview
[1755] This invention is a system that automates telephone conversations between customers and businesses (e.g., restaurants and tourist facilities) and incorporates emotion recognition. The main hardware used is a telephone line system and server using a VoIP network. The main software used is a speech recognition engine, a natural language processing engine, an emotion recognition engine, a database system, and a speech synthesis engine.
[1756] Program processing overview
[1757] 1. Receiving a call
[1758] The server receives a call from a customer, detects the call through the telephone line system (e.g., Asterisk), and starts collecting voice data.
[1759] 2. Voice Recognition
[1760] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text), which analyzes the voice data and converts it into text data.
[1761] 3. Text Analysis and Intention Understanding
[1762] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3), which analyzes the text data and understands the customer's intent.
[1763] 4. Emotion recognition
[1764] At the same time, the server sends the voice data to an emotion recognition engine (e.g., IBM Watson Tone Analyzer), which analyzes the voice data and recognizes the customer's emotions.
[1765] 5. Database Query
[1766] The server queries a database (e.g. MySQL) based on the customer's request. For example, if a customer wants to make a reservation, it searches the reservation system database to check availability for the desired date and time.
[1767] 6. Response Generation
[1768] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine.
[1769] 7. Vocalization of responses
[1770] The server generates a text response, which is then sent to a speech synthesis engine (e.g., Amazon Polly) for conversion into audio data.
[1771] 8. Response playback
[1772] The server plays the voice data received from the speech synthesis engine to the customer, who then hears the voice response from the server.
[1773] 9. Call summaries and recordings
[1774] At the end of the call, the server summarizes the important parts of the call. The summary (e.g., reservation date and time, number of people, names, etc.) is organized in text format. Emotional data is also summarized.
[1775] 10. Data Retention
[1776] The server stores the summarized text data and emotion data in a database, which can then be accessed through the management screen and notification system for future reference by administrators.
[1777] Specific examples
[1778] Prompt Sentence Examples
[1779] "Set the context for when a user calls"
[1780] Example 1: Reservation and Emotion Recognition
[1781] 1. The customer calls
[1782] A user calls a restaurant and says, "I'd like to make a reservation for two people tomorrow night at 7pm." The server receives the call and captures the voice data.
[1783] 2. Speech and Emotion Recognition
[1784] The server receives the voice data, sends it to a voice recognition engine, and generates text data such as "I'd like to make a reservation for two people tomorrow night at 7pm." At the same time, the server sends the voice data to an emotion engine, which recognizes that the customer is happy.
[1785] 3. Check availability
[1786] The server queries the database to see if there is availability for tomorrow at 7pm. If there is availability, the server generates a response message such as "That time slot is available. Please tell us your name."
[1787] 4. Vocalization and playback of responses
[1788] The server sends the text response to the speech synthesis engine, which generates voice data saying, "That time slot is available. Please tell us your name." The server then plays the generated voice data to the customer.
[1789] 5. Recording reservation information and emotional data
[1790] When the user gives their name, the server recognizes the information and records it in a database. The server summarizes the conversation and saves the information, such as "Mr. / Ms. XX has made a reservation for two people tomorrow night at 7pm," along with the customer's emotional data (including their happiness).
[1791] Through this system, restaurants and tourist facilities will be able to provide services that take into account customer emotions, leading to smoother communication and higher customer satisfaction.
[1792] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1793] Step 1:
[1794] Receiving a call
[1795] The server receives a call from a customer. The input is the customer's telephone ringing signal. The telephone line system (e.g., Asterisk) detects the call and starts collecting voice data. The output is the collected voice data. Specifically, the server receives the telephone ringing signal via the VoIP network and captures the voice data in digital form.
[1796] Step 2:
[1797] Voice Recognition
[1798] The server sends the collected voice data to a voice recognition engine (e.g., Google Cloud Speech-to-Text). The collected voice data is the input. The voice recognition engine analyzes the voice data and converts it into text data. The generated text data is obtained as the output. Specifically, the server sends the voice data as an API request, and the voice recognition engine analyzes the voice waveform and generates corresponding text.
[1799] Step 3:
[1800] Text analysis and intent understanding
[1801] The server sends the text data received from the speech recognition engine to a natural language processing engine (e.g., OpenAI GPT-3). The input is the generated text data. The natural language processing engine analyzes the text data and understands the customer's intent. The output is the customer's intent, which is identified. Specifically, the server sends the text data as an API request, and the natural language processing engine analyzes the text and extracts the intent, such as "make a reservation" or "inquire."
[1802] Step 4:
[1803] emotion recognition
[1804] The server simultaneously sends the voice data to an emotion recognition engine (e.g. IBM Watson Tone Analyzer). The input is the collected voice data. The emotion recognition engine analyzes the voice data and recognizes the customer's emotion. The output is the identified emotion data. Specifically, the server sends the voice data as an API request, and the emotion recognition engine analyzes the tone of the voice to identify the customer's emotion.
[1805] Step 5:
[1806] Database Query
[1807] The server queries a database (e.g. MySQL) based on the customer's request. The input is the customer's intent (e.g., requesting a reservation). The database returns the information according to the request. The output is the retrieved data. Specifically, the server issues an SQL query to search for reservation information. For example, it executes the query "SELECT FROM reservations WHERE date='YYYY-MM-DD' AND time='19:00'".
[1808] Step 6:
[1809] Response Generation
[1810] The server generates an appropriate response message based on the database query results and the emotion data received from the emotion engine. The input is the reservation information and emotion data from the database. The output is a generated text response. Specifically, the server uses the natural language generation engine to generate a response message such as "That time slot is available. Please tell us your name."
[1811] Step 7:
[1812] Voiced responses
[1813] The server sends the generated text response to a speech synthesis engine (e.g., Amazon Polly) to convert it into speech data. The input is the generated text response. The speech synthesis engine converts the text into speech. The output is the generated speech data. Specifically, the server calls the speech synthesis API to convert the text message into speech data.
[1814] Step 8:
[1815] Response playback
[1816] The server plays the voice data received from the speech synthesis engine to the customer. The input is the generated voice data. The output is the voice response that the customer hears. In concrete terms, the server sends the voice data to the customer in real time via the telephone line system, and the customer hears the response.
[1817] Step 9:
[1818] Call summaries and recordings
[1819] At the end of a call, the server summarizes the important parts of the call. The input is the call content and emotion data. The summary is organized in text format. The output is the summarized text data. Specifically, the server analyzes the content of the call, extracts information such as "Reservation for two people tomorrow night at 7pm," and summarizes it in text format.
[1820] Step 10:
[1821] Data storage
[1822] The server saves the summarized text data and emotion data in a database. The input is the summary data and emotion data. The output is the saved data. Specifically, the server saves the summary data in the database using an INSERT SQL statement. For example, it executes the SQL statement "INSERT INTO summaries (date, time, customer, emotion) VALUES ('YYYY-MM-DD', '19:00', 'Customer name', 'Joy')".
[1823] (Application example 2)
[1824] 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."
[1825] Conventional telephone answering systems and customer service systems in brick-and-mortar stores have the problem of being unable to recognize customer emotions and respond appropriately. It is also difficult to provide multilingual support and efficiently manage customer voice data. Furthermore, there is a lack of means to improve customer satisfaction by adjusting services based on customer emotions.
[1826] 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 a means for receiving telephone calls from customers or voice input at a physical store, a means for sending the received voice data to a voice recognition engine and converting the voice into text, a means for analyzing the text data and understanding the customer's intent, a means for querying a database in response to a customer request, a means for generating an appropriate response message based on the database query results, a means for sending the generated response message to a voice synthesis engine and converting it into voice data, a means for playing the generated voice data to the customer, a means for summarizing important content of the call or conversation and organizing it in text format, a means for saving the summary data in a database, a means for recognizing emotions from voice data, and a means for adjusting the response message based on the emotion recognition results. This makes it possible to grasp customer emotions in real time and provide an optimal response accordingly. It also realizes multilingual support and efficient management of voice data, thereby improving customer satisfaction.
[1827] "Customer" means a person who uses or is a user of the Services.
[1828] A "telephone" is a device or system that transmits voice over a communication line.
[1829] "Audio input" is the act or means of providing audio data to a system.
[1830] "Audio data" is information that represents audio in digital form.
[1831] A "speech recognition engine" is a software or hardware system for analyzing voice data and converting it into text data.
[1832] "Text data" is digital data that includes character information.
[1833] "Intent" refers to the purpose or desire that the customer is trying to communicate.
[1834] A "database" is a system that stores information in an organized manner and allows it to be searched and manipulated as needed.
[1835] "Querying" is the act of looking up required information from a database or other source of information.
[1836] A "response message" is a message returned in response to a customer inquiry or request.
[1837] A "speech synthesis engine" is a software or hardware system for converting text data into speech data.
[1838] "Playback" refers to the act of outputting audio data so that it can be heard.
[1839] "Important content" refers to information or key points that deserve special attention in a call or conversation.
[1840] "Summarizing" is the act of concisely summarizing long content or a lot of information.
[1841] Organizing is the act of putting information into an easy-to-understand format.
[1842] "Storage" is the act of keeping information for later use.
[1843] Emotions are human psychological states and feelings.
[1844] "Emotion recognition" is the act of estimating and evaluating human emotions.
[1845] "Adjusting" is the act of making changes or modifications to make something optimal for the situation.
[1846] A "system" is a set of structures or devices in which multiple parts or elements work together.
[1847] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail below with reference to the accompanying drawings.
[1848] System Overview
[1849] This invention adds an emotion recognition function to a customer service system based on voice input from customers over the phone and in physical stores. The system analyzes customer voice data, recognizes their emotions in real time, and generates appropriate response messages to provide smooth and sophisticated customer service.
[1850] Hardware and Software Configuration
[1851] Hardware:
[1852] Smart glasses, head-mounted displays, smartphones, servers
[1853] software:
[1854] Speech recognition engine (Google Web Speech API)
[1855] Emotion recognition model (sentiment-analysis pipeline from the transformers library)
[1856] Speech synthesis engine (pyttsx3 library)
[1857] Process flow and software / hardware used
[1858] 1. Receiving audio input:
[1859] The server receives customer calls and voice data from physical stores, and microphones built into smart glasses or head-mounted displays capture the voice.
[1860] 2. Speech Recognition:
[1861] The server sends the received voice data to a speech recognition engine (Google Web Speech API) and converts the voice into text data, allowing the customer's speech to be treated as text.
[1862] 3. Intent Analysis:
[1863] The server sends the text data to a natural language processing engine to analyze the customer's intent. For example, intent such as "I would like to make a reservation" or "I would like to check product availability" can be understood here.
[1864] 4. Emotion recognition:
[1865] The server simultaneously sends the audio data to an emotion recognition model (the sentiment-analysis pipeline in the transformers library) to analyze the customer's emotions, which determines whether the customer has a positive, negative, or neutral emotion.
[1866] 5. Database Query:
[1867] The server queries the database based on the customer's intent and retrieves the necessary information, such as whether a reservation can be made or the product's stock status.
[1868] 6. Response message generation and adjustment:
[1869] Based on the database query results and emotion recognition results, the server generates an appropriate response message, possibly adjusting it depending on the emotion, for example, generating a lighter-toned message if the customer is expressing positive emotions.
[1870] 7. Speech synthesis:
[1871] The server sends the generated response message to a speech synthesis engine (pyttsx3 library) and converts it into voice data, which allows the text message to be output as a voice message.
[1872] 8. Playback and saving responses:
[1873] The server plays the generated voice data to the customer, and at the same time summarizes the important content of the call or conversation and stores it in a database as text data.
[1874] Specific examples
[1875] Example 1:
[1876] If a customer walks into a store and says, "I'm busy today, but I'd like to take a quick look around," the system uses emotion recognition to recognize that the customer feels busy but is interested, and generates a response message such as, "Please feel free to look around."
[1877] Example 2:
[1878] If a customer says, "Oh, there's a product like this! I'm so happy," emotion recognition will detect the customer's joy and generate a response message such as, "Thank you. I have other products I recommend!"
[1879] Prompt Sentence Examples
[1880] Here are some example prompts to input to a generative AI model:
[1881] User input: "I'm busy today, but I just wanted to take a quick look."
[1882] A response message generated based on the output of the emotion recognition model: "Please feel free to browse."
[1883] User input: "Oh, I didn't know there was a product like this! I'm so happy."
[1884] A response message generated based on the output of the emotion recognition model: "Thank you! I have other recommendations!"
[1885] In this way, by understanding customer emotions in real time and generating appropriate responses accordingly, smoother customer service can be achieved.
[1886] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1887] Step 1:
[1888] The server receives voice input from customers via phone or in a physical store. The input is the customer's voice data, and the output is the acquisition of voice data. The microphone built into the smart glasses or head-mounted display captures the voice.
[1889] Step 2:
[1890] The server sends the received voice data to the voice recognition engine. The input is voice data and the output is text data. The voice data is analyzed using the Google Web Speech API and converted into text.
[1891] Step 3:
[1892] The server analyzes the text data obtained from the speech recognition engine to understand the customer's intent. The input is text data, and the output is the intent analysis result. The natural language processing engine extracts the customer's requests from the text data.
[1893] Step 4:
[1894] The server simultaneously sends the voice data to the emotion recognition model to recognize the customer's emotion. The input is the voice data, and the output is the emotion analysis result. The sentiment-analysis pipeline of the transformers library is used to assign emotion tags from the voice.
[1895] Step 5:
[1896] The server queries the database based on the customer's intention and emotion results. The input is the intention analysis result and emotion analysis result, and the output is the database query result. The server searches the database and obtains the necessary information (e.g., reservation status or product inventory status).
[1897] Step 6:
[1898] The server generates an appropriate response message based on the database query results and emotion recognition results. The input is the database query results and emotion analysis results, and the output is the text data of the response message. The tone of the message is adjusted according to the emotion, and a text response message is generated.
[1899] Step 7:
[1900] The response message generated by the server is sent to the speech synthesis engine and converted into speech data. The input is the text data response message, and the output is the response speech data. The text-to-speech conversion process is performed using the pyttsx3 library.
[1901] Step 8:
[1902] The server plays the generated voice data to the customer and summarizes and saves the important content. The input is the response voice data and the content of the call or dialogue, and the output is the response to the customer and data stored in the database. The voice data is played and the summarized text data is saved in the database.
[1903] 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.
[1904] 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.
[1905] 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.
[1906] 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.
[1907] 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.
[1908] 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.
[1909] 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).
[1910] 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.
[1911] 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."
[1912] 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.
[1913] 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).
[1914] 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.
[1915] 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.
[1916] 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.
[1917] 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.
[1918] 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.
[1919] 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.
[1920] 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.
[1921] 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.
[1922] 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.
[1923] 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.
[1924] The following is further disclosed regarding the above embodiment.
[1925] (Claim 1)
[1926] a means for receiving calls from customers;
[1927] means for transmitting the received voice data to a voice recognition engine and converting the voice into text;
[1928] A means of analyzing text data and understanding customer intent,
[1929] means for querying the database in response to customer requests;
[1930] means for generating an appropriate response message based on the database query results;
[1931] a means for transmitting the generated response message to a speech synthesis engine and converting it into speech data;
[1932] means for playing the generated voice data to the customer;
[1933] A way to summarize the important content of a call and organize it in text form,
[1934] The system includes means for storing the summary data in a database.
[1935] (Claim 2)
[1936] 10. The system of claim 1, further comprising means for automatically detecting the language of the customer during an initial speech recognition stage and generating a response message in the corresponding language.
[1937] (Claim 3)
[1938] 2. The system according to claim 1, further comprising means for summarizing the contents of the call and making the summarization available for reference on a management screen or notification system.
[1939] "Example 1"
[1940] (Claim 1)
[1941] a means for receiving communications from customers;
[1942] means for transmitting the received voice data to a voice recognition engine and converting the voice data into text data;
[1943] A means of analyzing text data and understanding customer intent,
[1944] means for querying the information recording device in response to a customer request;
[1945] means for generating an appropriate response message based on the information recording device query result;
[1946] a means for transmitting the generated response message to a speech synthesis engine and converting it into speech data;
[1947] means for playing the generated voice data to the customer;
[1948] A means of summarizing the important content of communications and organizing it in text form;
[1949] The system includes means for storing the summary data in an information storage device.
[1950] (Claim 2)
[1951] 10. The system of claim 1, further comprising means for automatically detecting the language of the customer during an initial spee...
Claims
1. a means for receiving calls from customers; means for transmitting the received voice data to a voice recognition engine and converting the voice into text; A means of analyzing text data and understanding customer intent, means for querying the database in response to customer requests; means for generating an appropriate response message based on the database query results; a means for transmitting the generated response message to a speech synthesis engine and converting it into speech data; means for playing the generated voice data to the customer; A way to summarize the important content of a call and organize it in text form, The system includes means for storing the summary data in a database.
2. 2. The system of claim 1, further comprising means for automatically detecting a customer's language at an initial speech recognition stage and generating a response message in the corresponding language.
3. 2. The system according to claim 1, further comprising means for summarizing the contents of the call and making the summarization available for reference on a management screen or a notification system.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A