system
The system addresses inefficiencies in speech recognition by converting audio to text and numerical data, training AI models, and using padding to provide quick and accurate responses to user queries.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Conventional speech recognition systems and customer support systems face challenges in efficiently accumulating speech data, performing learning and prediction, and providing quick and accurate responses to complex customer questions due to limitations in automatic text conversion and utilization of advanced artificial intelligence models.
A system that reads audio files from a directory, converts them into text, numerical data, and creates feature vectors, trains an artificial intelligence model using these vectors and labels, and uses padding to unify vector lengths, enabling efficient and accurate processing and prediction of user voice inputs.
Enables rapid and accurate responses to user voice inputs by efficiently processing audio files and classifying and predicting data using an AI model, improving user experience and operational efficiency.
Smart Images

Figure 2026064682000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In conventional speech recognition systems and customer support systems, it is difficult to accumulate speech data and perform efficient learning and prediction based on it. In particular, there is a lack of automatic text conversion from speech and utilization of advanced artificial intelligence models based on such text data. For this reason, there has been a problem that it is impossible to respond quickly and accurately to complex customer questions and responses.
Means for Solving the Problems
[0005] To solve the above problems, the present invention provides the following means: means for reading audio files from a directory storing audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; and means for training an artificial intelligence model using the created feature vector and corresponding labels, and saving the trained model. The system includes means for converting audio input by a user into text, converting it into numerical data and creating a feature vector, predicting the feature vector obtained from the user's input using the saved trained model, and outputting the prediction result. It also includes means for converting audio files into text using a speech recognition library and performing padding to unify the length of the feature vectors.
[0006] An "audio file" is a file in which audio information is stored in a digital format, and is usually saved in .wav or .mp3 format.
[0007] A "directory" refers to a folder in a file system, which is a place where files are stored and where files are categorized and managed within a specific path.
[0008] "Text" refers to string information converted from audio data through speech recognition, and is data in a format that can be read by humans.
[0009] "Numerical data" refers to data obtained by converting information such as text into numerical values for calculation and analysis purposes, and is a format that is easy to handle in machine learning and other applications.
[0010] A "feature vector" is a vector that numerically represents the characteristics of data and is used as input to a machine learning model.
[0011] A "label" is a part of the training data in machine learning, representing categorical information or classifications that indicate the content of an audio file.
[0012] An "artificial intelligence model" is a mathematical model that uses machine learning algorithms to learn patterns from data and perform predictions and classifications.
[0013] A "speech recognition library" is a software library used to analyze speech signals and convert speech data into text data.
[0014] "Padding" is the operation of adding a specific value (usually 0) to the missing portion of a vector or array to unify its length. [Brief explanation of the drawing]
[0015] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11]It is a sequence diagram showing the processing flow of the data processing system in Embodiment 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 2 when the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0016] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), and the like.
[0019] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0020] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0021] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0023] [First Embodiment]
[0024] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0025] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0028] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0031] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0035] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0036] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0037] Reading and processing audio files
[0038] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0039] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0040] Learning an artificial intelligence model
[0041] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0042] User voice input and recognition
[0043] The device accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data.
[0044] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0045] Predictions and results presented using a pre-trained model.
[0046] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0047] Specific example
[0048] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the terminal converts the voice into text data and creates a feature vector as numerical data. Next, the trained model is used to analyze the text "Please tell me the exchange procedure," and the user is presented with "Explanation of the exchange procedure" as the optimal response.
[0049] With the configuration described above, the present invention can respond efficiently and accurately to the user's voice input.
[0050] The following describes the processing flow.
[0051] Step 1:
[0052] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0053] Step 2:
[0054] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0055] Step 3:
[0056] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0057] Step 4:
[0058] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0059] Step 5:
[0060] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0061] Step 6:
[0062] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0063] Step 7:
[0064] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0065] Step 8:
[0066] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0067] Step 9:
[0068] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0069] Step 10:
[0070] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0071] Step 11:
[0072] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0073] Step 12:
[0074] The terminal displays the prediction results to the user. For example, in response to the input "Please tell me how to return the item," the terminal will display "Explanation of the return procedure" as a prediction result.
[0075] (Example 1)
[0076] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0077] Conventional systems for classifying and predicting speech data suffer from low accuracy and efficiency in speech recognition, making it difficult to effectively process large amounts of speech data. Furthermore, real-time responses to user voice input are often delayed. Therefore, there is a need for improved user experience and increased operational efficiency.
[0078] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0079] In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text; means for converting the converted text data into numerical data and creating a feature vector; and means for training a multilayer perceptron model using the created feature vector and corresponding labels and saving the trained model. This enables efficient and highly accurate processing of audio data and rapid response to user voice input.
[0080] "Audio data" refers to data that represents audio in a digital format.
[0081] A "directory" is a logical area on a file system used to store multiple files.
[0082] "Text" refers to data consisting of letters and symbols arranged in a specific order, and is essentially a conversion of speech into a string of characters.
[0083] "Numerical data" refers to text data that has been converted into numerical values, where each character or symbol is mapped to a specific numerical value, such as an ASCII code.
[0084] A "feature vector" is a vector that numerically represents the characteristics of data, and it is a data format that machine learning models use as input.
[0085] A "multilayer perceptron model" is a type of artificial neural network with multiple layers, and is a machine learning model primarily used to solve classification and regression problems.
[0086] A "trained model" is a predictive model obtained after applying a machine learning algorithm to a specific dataset and training it.
[0087] "Voice input" refers to the process where a user speaks into a device, and that voice is input in digital format.
[0088] "Prediction" is the process of inputting feature vectors into a trained model and generating the most appropriate labels or results.
[0089] "Output" refers to the result data used by the system to display prediction results to the user or to determine the next action.
[0090] This invention is a system for efficiently processing audio data and classifying and predicting audio data based on an artificial intelligence model. The embodiments of this invention are described in detail below.
[0091] Reading audio data and converting it to text.
[0092] The server reads multiple audio files from a specified directory. These audio files are typically saved in .wav format. The server then uses a speech recognition library (e.g., Google® Cloud Speech-to-Text) to convert each audio file into text data. For example, "Audio File 01.wav" is converted to the text "This is the content of your customer support inquiry."
[0093] Numerical conversion of text data
[0094] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors. For example, to make the length of the vectors consistent, it fills the missing parts of the array with "0".
[0095] Learning an artificial intelligence model
[0096] The server uses feature vectors and their corresponding labels (obtained from the audio data names) to train an artificial intelligence model (specifically, a multilayer perceptron model). For example, the model is trained using TENSORFLOW® or PyTorch. Once the training is complete, the model is saved as a file and used for subsequent prediction processing. This allows for more efficient prediction processing in the future.
[0097] User voice input and recognition
[0098] The user provides voice input to the device. For example, they might use the microphone on their smartphone or PC to say, "Please tell me how to return the item." This audio is saved as "user_input.wav." The device then uses Google Cloud Speech-to-Text to convert this audio data into text. For example, "user_input.wav" is converted to the text "Please tell me how to return the item."
[0099] Numerical conversion of text data and creation of feature vectors
[0100] The device converts this text data into numerical data and creates a feature vector in the same way as during training on the server. For example, it converts each character to its ASCII code and uses padding to make it a constant length.
[0101] Prediction using a pre-trained model
[0102] The device loads a pre-trained model downloaded from the server and uses the user's feature vector as input to make predictions. For example, in response to the input "Please tell me how to return the item," the trained model predicts the label "Explanation of the return procedure."
[0103] Specific example
[0104] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device saves that voice as a file called "user_input.wav." Using Google Cloud Speech-to-Text, it converts the voice data "Please tell me the exchange procedure" into text data, and then converts the text data into numerical data to create a feature vector. The device uses a pre-trained model to analyze this feature vector and presents the user with an appropriate response, such as "Explanation of the exchange procedure."
[0105] Example of a prompt
[0106] Examples of prompt statements to input into a generative AI model include:
[0107] User input: 'Please tell me how to return the item.'
[0108] Processing method: Convert audio data to text and generate numerical data as features. Predict the optimal response using a pre-trained model.
[0109] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0110] Step 1:
[0111] The server reads audio data from the specified directory. The input is the directory path, and the output is the read audio data (.wav file). Specifically, the server periodically scans the directory, detects new audio data, and imports it into local storage.
[0112] Step 2:
[0113] The server converts the received audio data into text data using the Google Cloud Speech-to-Text API. The input is audio data (.wav file), and the output is the converted text data. Specifically, the server sends each audio file to the API and receives the returned text data.
[0114] Step 3:
[0115] The server converts text data into numerical data using ASCII codes and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure the vectors have uniform lengths.
[0116] Step 4:
[0117] The server trains a multilayer perceptron model using feature vectors and their corresponding labels. The input is feature vectors and labels, and the output is the trained model. Specifically, it trains the model using TensorFlow or PyTorch and saves the model with the optimal weights as a file.
[0118] Step 5:
[0119] The user provides voice input to the device. The input is the user's voice, and the output is an audio file (user_input.wav). Specifically, the device's microphone is used to record the voice, and the file is saved in the specified format.
[0120] Step 6:
[0121] The device converts a stored audio file into text data using the Google Cloud Speech-to-Text API. The input is an audio file (user_input.wav), and the output is the converted text data. Specifically, the device sends the audio file to the API and receives the returned text data.
[0122] Step 7:
[0123] The terminal converts text data into numerical data and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure that the vector length is uniform.
[0124] Step 8:
[0125] The device uses a pre-trained model downloaded from the server to take the user's feature vector as input and make predictions. The input is a feature vector, and the output is the prediction result. Specifically, it inputs the feature vector into the pre-trained model and predicts the optimal label.
[0126] Step 9:
[0127] The device displays the prediction results to the user. The input is the prediction result, and the output is what is displayed to the user. Specifically, the predicted label and description are presented to the user through the device's display or voice assistant.
[0128] (Application Example 1)
[0129] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0130] Conventional speech recognition systems have struggled with efficient processing of speech data and accurate prediction using artificial intelligence models. Furthermore, misrecognition during the conversion of speech input to text and the appropriate selection of corresponding labels have been challenges. In particular, it has been difficult to quickly and accurately present the information users are seeking during user-system interaction.
[0131] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0132] In this invention, the server includes means for reading audio files from a directory storing audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting user-input audio into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; and means for presenting the prediction result to the user. This enables efficient processing of audio files and accurate prediction by the artificial intelligence model. Furthermore, it enables the rapid and accurate provision of information requested by the user.
[0133] An "audio file" is digital data that electronically records human speech or ambient sounds.
[0134] A "directory" is a structure in a computer's file system that indicates the location where files and folders are stored.
[0135] "Text" refers to a data format that converts audio or images into a string of characters.
[0136] "Numerical data" refers to a data format in which non-numerical data, such as text or audio, is converted into numerical values.
[0137] A "feature vector" is a vector-based data representation of features extracted from audio or text data, expressed as numerical values.
[0138] An "artificial intelligence model" is a model that uses machine learning algorithms to learn from data and perform predictions and classifications.
[0139] A "trained model" is an artificial intelligence model that has completed training using training data.
[0140] "User" refers to an individual or organization that uses the system.
[0141] A "speech recognition library" is a program library used to convert speech data into text data.
[0142] "Padding" is the process of adding extra elements to unify the length of data.
[0143] "Prediction result" refers to the result of a prediction output by an artificial intelligence model based on the input data.
[0144] "Means of presentation" refers to functions that communicate prediction results to the user visually or audibly.
[0145] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0146] Reading and processing audio files
[0147] The server reads multiple audio files from a directory where audio files are stored. These audio files are typically saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "Customer support inquiry details". The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0148] Learning an artificial intelligence model
[0149] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0150] User voice input and recognition
[0151] The terminal accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The terminal then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data. The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0152] Predictions and results presented using a pre-trained model.
[0153] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure." The user can receive this information visually or audibly. This allows the user to quickly and accurately obtain the information they need in real time.
[0154] Specific example
[0155] For example, in the smartphone app "Smart Voice Shopping Helper," suppose a user says, "Please tell me how to return an item." The app records the user's voice and uploads it to the server. The server converts the audio file into text and then creates a feature vector as numerical data. Using a trained model, the text "Please tell me how to return an item" is analyzed, and the user is presented with "Explanation of the Return Procedure" as the optimal response. An example of this prompt would be as follows:
[0156] Example of a prompt
[0157] "Please convert the audio file `user_input.wav` into text data, then convert that into numerical data and input it. Next, we will use a pre-trained multilayer perceptron model to predict the best response to the user's query and display the result."
[0158] This invention enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to receive information quickly and accurately.
[0159] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0160] Step 1:
[0161] The server reads multiple audio files from a directory where audio files are stored. These audio files are usually saved in .wav format. The server processes each audio file sequentially.
[0162] Input: Multiple .wav audio files
[0163] Output: Audio data
[0164] Step 2:
[0165] The server uses a speech recognition library to convert each loaded audio file into text data. For example, "Audio file 01.wav" is converted into the text data "This is the content of your customer support inquiry."
[0166] Input: Audio data
[0167] Output: Text data
[0168] Step 3:
[0169] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0170] Input: Text data
[0171] Output: Feature vector
[0172] Step 4:
[0173] If the feature vectors have different lengths, the server uses padding to unify the vector lengths.
[0174] Input: Feature vector
[0175] Output: Unified feature vector
[0176] Step 5:
[0177] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used.
[0178] Input: Unified feature vector and labels
[0179] Output: Trained model
[0180] Step 6:
[0181] The server saves the trained model as a file.
[0182] Input: Trained model
[0183] Output: Saved trained model file
[0184] Step 7:
[0185] The device accepts the user's voice input, and this audio is saved in a specific format (e.g., "user_input.wav").
[0186] Input: User voice input
[0187] Output: Audio file (user_input.wav)
[0188] Step 8:
[0189] The device uses a speech recognition library to convert this audio file (user_input.wav) into text data. For example, if the user says, "Please tell me how to return the item," that audio will be converted into text data.
[0190] Input: Audio file (user_input.wav)
[0191] Output: Text data
[0192] Step 9:
[0193] The device converts this text data into numerical data and creates a feature vector. The feature vector is then converted back to numerical data and padded using the same method as during training on the server.
[0194] Input: Text data
[0195] Output: Feature vector
[0196] Step 10:
[0197] The device loads a saved, pre-trained model. It then inputs the feature vector obtained from the user's input into the model to perform predictions.
[0198] Input: Feature vectors and pre-trained model
[0199] Output: Prediction results (labels)
[0200] Step 11:
[0201] The device displays the prediction results to the user. For example, if the user enters "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0202] Input: Prediction result
[0203] Output: Displayed to the user (prediction result)
[0204] This enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to obtain real-time, fast, and accurate information.
[0205] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0206] The present invention is a system that efficiently processes audio files and performs classification, prediction, and emotion recognition of audio data using an artificial intelligence model and emotion engine. Specific embodiments of this system are described below.
[0207] Reading and processing audio files
[0208] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0209] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0210] Learning an artificial intelligence model
[0211] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0212] Introducing an emotional engine
[0213] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0214] User voice input and recognition
[0215] The device accepts voice input from the user. This voice data is saved as a file named "user_input.wav". The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice will be converted into text data.
[0216] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then padding is applied.
[0217] Predictions and results presented using trained models and emotion engines.
[0218] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0219] Specific example
[0220] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0221] With the configuration described above, the present invention can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[0222] The following describes the processing flow.
[0223] Step 1:
[0224] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0225] Step 2:
[0226] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0227] Step 3:
[0228] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0229] Step 4:
[0230] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0231] Step 5:
[0232] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0233] Step 6:
[0234] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0235] Step 7:
[0236] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0237] Step 8:
[0238] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0239] Step 9:
[0240] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0241] Step 10:
[0242] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0243] Step 11:
[0244] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0245] Step 12:
[0246] The device uses an emotion engine to recognize emotions from the user's voice input. The emotion engine identifies the user's emotional state by analyzing voice features (such as pitch and energy). For example, emotions such as "anger," "joy," and "sadness" can be recognized.
[0247] Step 13:
[0248] The device generates the optimal response based on the prediction results and recognized emotion information. For example, if the user's emotion is recognized as "anger," a more polite and calmer tone of response will be generated.
[0249] Step 14:
[0250] The terminal displays the most appropriate response to the user. For example, in response to the input "Please tell me how to return the item," the terminal will present an explanation of the return procedure along with a response in a tone that matches the user's emotions.
[0251] (Example 2)
[0252] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0253] Conventional speech recognition systems often struggled to achieve sufficient accuracy in classifying and predicting speech data. Furthermore, they failed to consider user emotions, resulting in inappropriate responses and decreased user satisfaction. This invention aims to solve these problems by improving the accuracy of speech data classification and prediction, as well as generating responses based on user emotions.
[0254] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text, means for converting the converted text data into numerical data and creating a feature vector, and means for training a learning model using the created feature vector and corresponding labels and saving the trained model. This makes it possible to improve the classification and prediction accuracy of audio data.
[0255] The system also includes means for converting user-input speech into text and numerical data to create a feature vector, means for predicting the feature vector obtained from user input using a stored pre-trained model and outputting the prediction result, means for using an emotion engine to identify the emotional state based on the features extracted from the user's input speech, and means for generating an optimal response based on the identified emotional state and prediction result and presenting it to the user. This makes it possible to generate an appropriate response based on the user's emotions.
[0256] "Audio data" refers to file or data formats that store audio as digital signals.
[0257] A "directory" is a computer folder or path used to organize and store files and data.
[0258] "Text data" refers to string data obtained by converting audio data into text format.
[0259] "Numerical data" refers to data that is represented as a numerical value, such as strings or other data.
[0260] A "feature vector" is a representation of data characteristics quantified and expressed in vector format, and is used as input for machine learning models.
[0261] A "label" is an identifier or tag used to classify data.
[0262] A "learning model" is a predictive model built on data using machine learning algorithms.
[0263] A "trained model" is a model that has completed training using training data and is ready to be used for prediction and classification.
[0264] "Prediction result" refers to the result calculated on the input data using a trained model.
[0265] An "emotion engine" refers to software or algorithms that identify a user's emotional state from voice or text data.
[0266] An "optimal response" is the most appropriate answer or message generated based on the user's input and their emotional state.
[0267] The present invention is a system for efficiently processing speech data and performing classification, prediction, and emotion recognition of speech data using an artificial intelligence model and an emotion engine. This system uses a server and terminals as hardware, and a speech recognition library, a machine learning model, and an emotion engine as software. Specific embodiments of the present invention are as follows.
[0268] Reading and processing audio data
[0269] The server reads audio data in .wav format from a specified directory (e.g., / audio_files / ). During this process, the server uses a speech recognition library (e.g., Google Cloud Speech-to-Text API) to convert each audio file into text data. For example, "audio file01.wav" is converted into the text "Customer support inquiry details". The server then converts the text data into numerical data and creates a feature vector. Each character is mapped to an ASCII code, and padding is used to unify the length of the vector.
[0270] Learning an artificial intelligence model
[0271] The server uses the prepared feature vectors and their corresponding labels (e.g., audio file names) to train an artificial intelligence model. A multilayer perceptron (MLP) model is used for this training. Once the training is complete, the model is saved as a file (e.g., / models / audio_model.mlp). This allows the model to be reused in prediction processing.
[0272] Introducing an emotional engine
[0273] The server incorporates an emotion engine (e.g., IBM Watson® Tone Analyzer) to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch, energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0274] User voice input and recognition
[0275] The terminal accepts the user's voice input and saves it as "user_input.wav". The terminal is equipped with a speech recognition library and converts the saved voice data into text data. For example, if the user says "Please tell me how to return the item," that voice is converted into text data. Next, the terminal converts the text data into numerical data and creates a feature vector. Similar to the method used on the server, each character is converted into a numerical code and padding is performed.
[0276] Predictions and results presented using trained models and emotion engines.
[0277] The device loads a pre-trained model from the server and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0278] Specific example
[0279] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0280] Example of a prompt
[0281] Examples of prompts to input into a generative AI model include the following:
[0282] "Please teach me the return procedure."
[0283] "I would like to know about the exchange procedure."
[0284] "I would like to inquire about customer support."
[0285] The flow of the specific process in Example 2 will be described using FIG. 13.
[0286] Step 1:
[0287] Loading of audio data and text conversion
[0288] The server reads a plurality of.wav format audio data from the specified directory (e.g., / audio_files / ). Each loaded audio data is converted into text data using a speech recognition library (e.g., Google Cloud Speech-to-Text API). Given.wav format audio data as input, the corresponding text data is obtained as output. For example, "audio file 01.wav" is converted into text such as "This is the content of the inquiry for customer support".
[0289] Step 2:
[0290] Numerical conversion of text data and creation of feature vectors
[0291] The server converts the converted text data into numerical data. Each character is mapped to its ASCII code to create a feature vector. Given text data as input, the corresponding feature vector is output. When the lengths of the vectors are different, the server uses padding (e.g., zero padding) to unify the lengths of the vectors. For example, the text "customer support" is converted into numerical codes for each character and arranged in an appropriate vector format.
[0292] Step 3:
[0293] Learning an artificial intelligence model
[0294] The server trains an artificial intelligence model using the prepared feature vectors and corresponding labels (obtained from the audio file name). A multilayer perceptron (MLP) model is used in this process. The feature vectors and labels are given as input, and the trained model is obtained as output. The trained model is saved as a file (e.g., / models / audio_model.mlp).
[0295] Step 4:
[0296] Introducing an emotional engine
[0297] The server installs and sets up an emotion engine (e.g., IBM Watson Tone Analyzer). The emotion engine analyzes speech features (such as pitch and energy) to identify the user's emotional state. Speech data features are provided as input, and the identified emotional state is output. This adds emotion recognition functionality to the system.
[0298] Step 5:
[0299] User voice input and text conversion
[0300] The device accepts user voice input and saves it as "user_input.wav". Next, it uses a speech recognition library to convert this voice data into text data. Given user voice data in .wav format as input, the corresponding text data is obtained as output. For example, if the user says "Please tell me how to return the item," that voice is converted into the text "Please tell me how to return the item."
[0301] Step 6:
[0302] Numerical conversion of user voice text data and creation of feature vectors
[0303] The terminal converts the acquired text data into numerical data and creates a feature vector. Given text data as input, the corresponding feature vector is output. Similar to the server, each character is converted into a numerical code, and the vector length is unified using padding.
[0304] Step 7:
[0305] Prediction using the trained model
[0306] The terminal uses the trained model acquired from the server to make a prediction with the user's feature vector as input data. Given a feature vector as input, a prediction result is obtained as output. This prediction result serves as an answer to the user's inquiry.
[0307] Step 8:
[0308] Emotion recognition using the emotion engine
[0309] The terminal uses the emotion engine to recognize the emotion from the user's voice. Given the feature of the voice data as input, the identified emotional state is obtained as output. For example, the emotion of "anger" is recognized from the user's voice.
[0310] Step 9:
[0311] Generation and presentation of the optimal response
[0312] The terminal combines the prediction result and the emotion data to generate an optimal response and presents it to the user. Given the prediction result and the identified emotional state as input, an appropriate answer is obtained as output. For example, when the prediction result of "Please teach me the return procedure" is combined with the emotion of "anger", a more polite response is presented.
[0313] Through the steps described above, this system can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[0314] (Application Example 2)
[0315] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0316] While voice-based ordering systems exist in food delivery services, they face challenges in providing appropriate responses and suggestions that take into account the user's emotional state. In particular, there is a need to recognize the user's emotions during the ordering process and provide services based on those emotions. This is expected to improve the user experience and increase customer satisfaction.
[0317] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for reading audio files from a storage device that stores audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting the voice input by the user into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; means for using an emotion engine that recognizes emotions from the user's voice input and combining the emotion recognition data with the prediction result; and means for analyzing the user's input voice and generating and providing an optimal response. This makes it possible to recognize the emotional state of the user when they place an order by voice and to provide appropriate service based on that state.
[0318] An "audio file" is a file format containing data that stores a user's voice data.
[0319] "Storage device" is a general term for hardware and media used to store data.
[0320] "Means of converting to text" refers to technologies and software for converting audio data into text data.
[0321] "Numerical data" refers to a numerical representation of data that has been transformed based on a specific algorithm.
[0322] A "feature vector" is a vector-based data structure composed of multiple numerical values extracted from audio or text data.
[0323] An "artificial intelligence model" is a model that uses a machine learning algorithm trained on data to perform predictions and classifications.
[0324] A "trained model" is an artificial intelligence model that has completed training using training data and is now capable of performing a specific task.
[0325] An "emotion engine" is a technology or algorithm that analyzes the features of voice data to identify the user's emotional state.
[0326] "Prediction result" refers to the result calculated by the artificial intelligence model based on the given input data.
[0327] "Means for generating responses" refer to technologies and software that generate optimal responses and suggestions based on the user's input data and emotional state.
[0328] This invention relates to a system that efficiently processes audio files and uses an artificial intelligence model and emotion engine to classify, predict, and recognize emotions in audio data. This system is particularly applicable to food delivery services and can provide order details and appropriate suggestions based on the user's voice input. Specific embodiments of this system are described below.
[0329] Reading and processing audio files
[0330] The server reads multiple audio files from the specified storage device. These audio files are typically saved in .wav format. The server then uses speech recognition software to convert each audio file into text data. For example, "Audio file 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0331] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses data padding to unify the lengths of the vectors.
[0332] Learning an artificial intelligence model
[0333] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0334] Introducing an emotional engine
[0335] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0336] User voice input and recognition
[0337] The user uses the smartphone application "Emotion-Aware Food Delivery Assistant" for voice input. When the user says, "I want to order a pizza," the voice is saved as a file named "user_input.wav." The device then uses speech recognition software to convert this voice file into text data. For example, when the user says, "I want to order a pizza," the voice is converted into text data.
[0338] The device converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then data padding is applied.
[0339] Predictions and results presented using trained models and emotion engines.
[0340] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "I want to order a pizza" and the emotion of "joy" is recognized from the voice, the device will suggest campaign information and coupons.
[0341] Specific example
[0342] Here's a concrete example: Suppose a user says, "I want to order a pizza for a party. What toppings do you recommend?" The device converts this speech into text data and creates a feature vector as numerical data. Next, it uses a trained model to analyze the text "I want to order a pizza" and generates "recommended toppings" as the optimal response. Furthermore, if the user's emotion is recognized as "joy," promotional information and coupons are suggested.
[0343] Example of a prompt
[0344] The prompt text when a user types "I want to order a pizza for a party. What toppings do you recommend?" is as follows:
[0345] I want to order pizza for a party. What toppings would you recommend?
[0346] In this way, it becomes possible to provide appropriate services that take into account the user's emotional state.
[0347] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0348] Step 1:
[0349] The server reads multiple audio files from its storage device. It identifies which files to process and uses speech recognition software to convert those audio files (e.g., in .wav format) into text data. This converts the audio files into text data. The input is audio files, and the output is text data.
[0350] Step 2:
[0351] The server maps each character in the converted text data to an ASCII code and converts it into numerical data. Next, it creates a feature vector using the numerical data. If the feature vectors have different lengths, data padding is performed to unify the lengths of the vectors. The input is text data, and the output is a feature vector of unified length.
[0352] Step 3:
[0353] The server trains an artificial intelligence model using the created feature vectors and labels obtained from the audio file names. It uses a multilayer perceptron (MLP) model for training and saves the trained model as a file. The input is the feature vectors and labels, and the output is the trained model.
[0354] Step 4:
[0355] The user uses a smartphone application to perform voice input. The device saves this voice data as "user_input.wav". Input is voice input, and output is an audio file.
[0356] Step 5:
[0357] The device reads the stored audio file and converts it into text data using speech recognition software. This converts the audio into text data. The input is an audio file, and the output is text data.
[0358] Step 6:
[0359] The terminal converts the converted text data into numerical data and creates a feature vector. Similar to what was done on the server, each character is converted into a numerical code to generate a feature vector, and the length of the vectors is standardized. The input is text data, and the output is a feature vector.
[0360] Step 7:
[0361] The device loads a pre-trained model obtained from the server and inputs the feature vector obtained from the user's input into the model to perform predictions. This results in the optimal prediction result regarding the user's speech content. The input is the feature vector, and the output is the prediction result.
[0362] Step 8:
[0363] The device analyzes the features of the audio data and uses an emotion engine to recognize the user's emotional state. It combines the emotion recognition data with the prediction results to generate an optimal response that corresponds to the user's emotions. The input is the audio data and prediction results, and the output is the response including the emotion recognition data.
[0364] Step 9:
[0365] The generated optimal response is delivered to the user via the device. The response includes emotion-based suggestions and coupon information. The input is the response containing emotion recognition data, and the output is what is presented to the user.
[0366] This enables the provision of appropriate and emotionally responsive services based on voice input.
[0367] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0368] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0369] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0370] [Second Embodiment]
[0371] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0372] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0373] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0374] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0375] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0376] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0377] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0378] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0379] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0380] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0381] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0382] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0383] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0384] Reading and processing audio files
[0385] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0386] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0387] Learning an artificial intelligence model
[0388] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0389] User voice input and recognition
[0390] The device accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data.
[0391] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0392] Predictions and results presented using a pre-trained model.
[0393] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0394] Specific example
[0395] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the terminal converts the voice into text data and creates a feature vector as numerical data. Next, the trained model is used to analyze the text "Please tell me the exchange procedure," and the user is presented with "Explanation of the exchange procedure" as the optimal response.
[0396] With the configuration described above, the present invention can respond efficiently and accurately to the user's voice input.
[0397] The following describes the processing flow.
[0398] Step 1:
[0399] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0400] Step 2:
[0401] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0402] Step 3:
[0403] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0404] Step 4:
[0405] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0406] Step 5:
[0407] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0408] Step 6:
[0409] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0410] Step 7:
[0411] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0412] Step 8:
[0413] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0414] Step 9:
[0415] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0416] Step 10:
[0417] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0418] Step 11:
[0419] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0420] Step 12:
[0421] The terminal displays the prediction results to the user. For example, in response to the input "Please tell me how to return the item," the terminal will display "Explanation of the return procedure" as a prediction result.
[0422] (Example 1)
[0423] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0424] Conventional systems for classifying and predicting speech data suffer from low accuracy and efficiency in speech recognition, making it difficult to effectively process large amounts of speech data. Furthermore, real-time responses to user voice input are often delayed. Therefore, there is a need for improved user experience and increased operational efficiency.
[0425] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0426] In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text; means for converting the converted text data into numerical data and creating a feature vector; and means for training a multilayer perceptron model using the created feature vector and corresponding labels and saving the trained model. This enables efficient and highly accurate processing of audio data and rapid response to user voice input.
[0427] "Audio data" refers to data that represents audio in a digital format.
[0428] A "directory" is a logical area on a file system used to store multiple files.
[0429] "Text" refers to data consisting of letters and symbols arranged in a specific order, and is essentially a conversion of speech into a string of characters.
[0430] "Numerical data" refers to text data that has been converted into numerical values, where each character or symbol is mapped to a specific numerical value, such as an ASCII code.
[0431] A "feature vector" is a vector that numerically represents the characteristics of data, and it is a data format that machine learning models use as input.
[0432] A "multilayer perceptron model" is a type of artificial neural network with multiple layers, and is a machine learning model primarily used to solve classification and regression problems.
[0433] A "trained model" is a predictive model obtained after applying a machine learning algorithm to a specific dataset and training it.
[0434] "Voice input" refers to the process where a user speaks into a device, and that voice is input in digital format.
[0435] "Prediction" is the process of inputting feature vectors into a trained model and generating the most appropriate labels or results.
[0436] "Output" refers to the result data used by the system to display prediction results to the user or to determine the next action.
[0437] This invention is a system for efficiently processing audio data and classifying and predicting audio data based on an artificial intelligence model. The embodiments of this invention are described in detail below.
[0438] Reading audio data and converting it to text.
[0439] The server reads multiple audio files from a specified directory. These audio files are typically saved in .wav format. The server then uses a speech recognition library (e.g., Google Cloud Speech-to-Text) to convert each audio file into text data. For example, "audio file 01.wav" is converted to the text "This is the content of your customer support inquiry."
[0440] Numerical conversion of text data
[0441] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors. For example, to make the length of the vectors consistent, it fills the missing parts of the array with "0".
[0442] Learning an artificial intelligence model
[0443] The server uses feature vectors and their corresponding labels (obtained from the audio data names) to train an artificial intelligence model (specifically, a multilayer perceptron model). For example, TensorFlow or PyTorch can be used to train the model. Once the training is complete, the model is saved as a file and used for subsequent prediction processing. This allows for more efficient prediction processing in the future.
[0444] User voice input and recognition
[0445] The user provides voice input to the device. For example, they might use the microphone on their smartphone or PC to say, "Please tell me how to return the item." This audio is saved as "user_input.wav." The device then uses Google Cloud Speech-to-Text to convert this audio data into text. For example, "user_input.wav" is converted to the text "Please tell me how to return the item."
[0446] Numerical conversion of text data and creation of feature vectors
[0447] The device converts this text data into numerical data and creates a feature vector in the same way as during training on the server. For example, it converts each character to its ASCII code and uses padding to make it a constant length.
[0448] Prediction using a pre-trained model
[0449] The device loads a pre-trained model downloaded from the server and uses the user's feature vector as input to make predictions. For example, in response to the input "Please tell me how to return the item," the trained model predicts the label "Explanation of the return procedure."
[0450] Specific example
[0451] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device saves that voice as a file called "user_input.wav." Using Google Cloud Speech-to-Text, it converts the voice data "Please tell me the exchange procedure" into text data, and then converts the text data into numerical data to create a feature vector. The device uses a pre-trained model to analyze this feature vector and presents the user with an appropriate response, such as "Explanation of the exchange procedure."
[0452] Example of a prompt
[0453] Examples of prompt statements to input into a generative AI model include:
[0454] User input: 'Please tell me how to return the item.'
[0455] Processing method: Convert audio data to text and generate numerical data as features. Predict the optimal response using a pre-trained model.
[0456] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0457] Step 1:
[0458] The server reads audio data from the specified directory. The input is the directory path, and the output is the read audio data (.wav file). Specifically, the server periodically scans the directory, detects new audio data, and imports it into local storage.
[0459] Step 2:
[0460] The server converts the received audio data into text data using the Google Cloud Speech-to-Text API. The input is audio data (.wav file), and the output is the converted text data. Specifically, the server sends each audio file to the API and receives the returned text data.
[0461] Step 3:
[0462] The server converts text data into numerical data using ASCII codes and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure the vectors have uniform lengths.
[0463] Step 4:
[0464] The server trains a multilayer perceptron model using feature vectors and their corresponding labels. The input is feature vectors and labels, and the output is the trained model. Specifically, it trains the model using TensorFlow or PyTorch and saves the model with the optimal weights as a file.
[0465] Step 5:
[0466] The user provides voice input to the device. The input is the user's voice, and the output is an audio file (user_input.wav). Specifically, the device's microphone is used to record the voice, and the file is saved in the specified format.
[0467] Step 6:
[0468] The device converts a stored audio file into text data using the Google Cloud Speech-to-Text API. The input is an audio file (user_input.wav), and the output is the converted text data. Specifically, the device sends the audio file to the API and receives the returned text data.
[0469] Step 7:
[0470] The terminal converts text data into numerical data and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure that the vector length is uniform.
[0471] Step 8:
[0472] The device uses a pre-trained model downloaded from the server to take the user's feature vector as input and make predictions. The input is a feature vector, and the output is the prediction result. Specifically, it inputs the feature vector into the pre-trained model and predicts the optimal label.
[0473] Step 9:
[0474] The device displays the prediction results to the user. The input is the prediction result, and the output is what is displayed to the user. Specifically, the predicted label and description are presented to the user through the device's display or voice assistant.
[0475] (Application Example 1)
[0476] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0477] Conventional speech recognition systems have struggled with efficient processing of speech data and accurate prediction using artificial intelligence models. Furthermore, misrecognition during the conversion of speech input to text and the appropriate selection of corresponding labels have been challenges. In particular, it has been difficult to quickly and accurately present the information users are seeking during user-system interaction.
[0478] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0479] In this invention, the server includes means for reading audio files from a directory storing audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting user-input audio into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; and means for presenting the prediction result to the user. This enables efficient processing of audio files and accurate prediction by the artificial intelligence model. Furthermore, it enables the rapid and accurate provision of information requested by the user.
[0480] An "audio file" is digital data that electronically records human speech or ambient sounds.
[0481] A "directory" is a structure in a computer's file system that indicates the location where files and folders are stored.
[0482] "Text" refers to a data format that converts audio or images into a string of characters.
[0483] "Numerical data" refers to a data format in which non-numerical data, such as text or audio, is converted into numerical values.
[0484] A "feature vector" is a vector-based data representation of features extracted from audio or text data, expressed as numerical values.
[0485] An "artificial intelligence model" is a model that uses machine learning algorithms to learn from data and perform predictions and classifications.
[0486] A "trained model" is an artificial intelligence model that has completed training using training data.
[0487] "User" refers to an individual or organization that uses the system.
[0488] A "speech recognition library" is a program library used to convert speech data into text data.
[0489] "Padding" is the process of adding extra elements to unify the length of data.
[0490] "Prediction result" refers to the result of a prediction output by an artificial intelligence model based on the input data.
[0491] "Means of presentation" refers to functions that communicate prediction results to the user visually or audibly.
[0492] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0493] Reading and processing audio files
[0494] The server reads multiple audio files from a directory where audio files are stored. These audio files are typically saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "Customer support inquiry details". The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0495] Learning an artificial intelligence model
[0496] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0497] User voice input and recognition
[0498] The terminal accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The terminal then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data. The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0499] Predictions and results presented using a pre-trained model.
[0500] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure." The user can receive this information visually or audibly. This allows the user to quickly and accurately obtain the information they need in real time.
[0501] Specific example
[0502] For example, in the smartphone app "Smart Voice Shopping Helper," suppose a user says, "Please tell me how to return an item." The app records the user's voice and uploads it to the server. The server converts the audio file into text and then creates a feature vector as numerical data. Using a trained model, the text "Please tell me how to return an item" is analyzed, and the user is presented with "Explanation of the Return Procedure" as the optimal response. An example of this prompt would be as follows:
[0503] Example of a prompt
[0504] "Please convert the audio file `user_input.wav` into text data, then convert that into numerical data and input it. Next, we will use a pre-trained multilayer perceptron model to predict the best response to the user's query and display the result."
[0505] This invention enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to receive information quickly and accurately.
[0506] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0507] Step 1:
[0508] The server reads multiple audio files from a directory where audio files are stored. These audio files are usually saved in .wav format. The server processes each audio file sequentially.
[0509] Input: Multiple .wav audio files
[0510] Output: Audio data
[0511] Step 2:
[0512] The server uses a speech recognition library to convert each loaded audio file into text data. For example, "Audio file 01.wav" is converted into the text data "This is the content of your customer support inquiry."
[0513] Input: Audio data
[0514] Output: Text data
[0515] Step 3:
[0516] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0517] Input: Text data
[0518] Output: Feature vector
[0519] Step 4:
[0520] If the feature vectors have different lengths, the server uses padding to unify the vector lengths.
[0521] Input: Feature vector
[0522] Output: Unified feature vector
[0523] Step 5:
[0524] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used.
[0525] Input: Unified feature vector and labels
[0526] Output: Trained model
[0527] Step 6:
[0528] The server saves the trained model as a file.
[0529] Input: Trained model
[0530] Output: Saved trained model file
[0531] Step 7:
[0532] The device accepts the user's voice input, and this audio is saved in a specific format (e.g., "user_input.wav").
[0533] Input: User voice input
[0534] Output: Audio file (user_input.wav)
[0535] Step 8:
[0536] The device uses a speech recognition library to convert this audio file (user_input.wav) into text data. For example, if the user says, "Please tell me how to return the item," that audio will be converted into text data.
[0537] Input: Audio file (user_input.wav)
[0538] Output: Text data
[0539] Step 9:
[0540] The device converts this text data into numerical data and creates a feature vector. The feature vector is then converted back to numerical data and padded using the same method as during training on the server.
[0541] Input: Text data
[0542] Output: Feature vector
[0543] Step 10:
[0544] The device loads a saved, pre-trained model. It then inputs the feature vector obtained from the user's input into the model to perform predictions.
[0545] Input: Feature vectors and pre-trained model
[0546] Output: Prediction results (labels)
[0547] Step 11:
[0548] The device displays the prediction results to the user. For example, if the user enters "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0549] Input: Prediction result
[0550] Output: Displayed to the user (prediction result)
[0551] This enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to obtain real-time, fast, and accurate information.
[0552] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0553] The present invention is a system that efficiently processes audio files and performs classification, prediction, and emotion recognition of audio data using an artificial intelligence model and emotion engine. Specific embodiments of this system are described below.
[0554] Reading and processing audio files
[0555] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0556] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0557] Learning an artificial intelligence model
[0558] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0559] Introducing an emotional engine
[0560] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0561] User voice input and recognition
[0562] The device accepts voice input from the user. This voice data is saved as a file named "user_input.wav". The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice will be converted into text data.
[0563] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then padding is applied.
[0564] Predictions and results presented using trained models and emotion engines.
[0565] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0566] Specific example
[0567] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0568] With the configuration described above, the present invention can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[0569] The following describes the processing flow.
[0570] Step 1:
[0571] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0572] Step 2:
[0573] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0574] Step 3:
[0575] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0576] Step 4:
[0577] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0578] Step 5:
[0579] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0580] Step 6:
[0581] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0582] Step 7:
[0583] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0584] Step 8:
[0585] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0586] Step 9:
[0587] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0588] Step 10:
[0589] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0590] Step 11:
[0591] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0592] Step 12:
[0593] The device uses an emotion engine to recognize emotions from the user's voice input. The emotion engine identifies the user's emotional state by analyzing voice features (such as pitch and energy). For example, emotions such as "anger," "joy," and "sadness" can be recognized.
[0594] Step 13:
[0595] The device generates the optimal response based on the prediction results and recognized emotion information. For example, if the user's emotion is recognized as "anger," a more polite and calmer tone of response will be generated.
[0596] Step 14:
[0597] The terminal displays the most appropriate response to the user. For example, in response to the input "Please tell me how to return the item," the terminal will present an explanation of the return procedure along with a response in a tone that matches the user's emotions.
[0598] (Example 2)
[0599] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0600] Conventional speech recognition systems often struggled to achieve sufficient accuracy in classifying and predicting speech data. Furthermore, they failed to consider user emotions, resulting in inappropriate responses and decreased user satisfaction. This invention aims to solve these problems by improving the accuracy of speech data classification and prediction, as well as generating responses based on user emotions.
[0601] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text, means for converting the converted text data into numerical data and creating a feature vector, and means for training a learning model using the created feature vector and corresponding labels and saving the trained model. This makes it possible to improve the classification and prediction accuracy of audio data.
[0602] The system also includes means for converting user-input speech into text and numerical data to create a feature vector, means for predicting the feature vector obtained from user input using a stored pre-trained model and outputting the prediction result, means for using an emotion engine to identify the emotional state based on the features extracted from the user's input speech, and means for generating an optimal response based on the identified emotional state and prediction result and presenting it to the user. This makes it possible to generate an appropriate response based on the user's emotions.
[0603] "Audio data" refers to file or data formats that store audio as digital signals.
[0604] A "directory" is a computer folder or path used to organize and store files and data.
[0605] "Text data" refers to string data obtained by converting audio data into text format.
[0606] "Numerical data" refers to data that is represented as a numerical value, such as strings or other data.
[0607] A "feature vector" is a representation of data characteristics quantified and expressed in vector format, and is used as input for machine learning models.
[0608] A "label" is an identifier or tag used to classify data.
[0609] A "learning model" is a predictive model built on data using machine learning algorithms.
[0610] A "trained model" is a model that has completed training using training data and is ready to be used for prediction and classification.
[0611] "Prediction result" refers to the result calculated on the input data using a trained model.
[0612] An "emotion engine" refers to software or algorithms that identify a user's emotional state from voice or text data.
[0613] An "optimal response" is the most appropriate answer or message generated based on the user's input and their emotional state.
[0614] The present invention is a system for efficiently processing speech data and performing classification, prediction, and emotion recognition of speech data using an artificial intelligence model and an emotion engine. This system uses a server and terminals as hardware, and a speech recognition library, a machine learning model, and an emotion engine as software. Specific embodiments of the present invention are as follows.
[0615] Reading and processing audio data
[0616] The server reads audio data in .wav format from a specified directory (e.g., / audio_files / ). During this process, the server uses a speech recognition library (e.g., Google Cloud Speech-to-Text API) to convert each audio file into text data. For example, "audio file01.wav" is converted into the text "Customer support inquiry details". The server then converts the text data into numerical data and creates a feature vector. Each character is mapped to an ASCII code, and padding is used to unify the length of the vector.
[0617] Learning an artificial intelligence model
[0618] The server uses the prepared feature vectors and their corresponding labels (e.g., audio file names) to train an artificial intelligence model. A multilayer perceptron (MLP) model is used for this training. Once the training is complete, the model is saved as a file (e.g., / models / audio_model.mlp). This allows the model to be reused in prediction processing.
[0619] Introducing an emotional engine
[0620] The server incorporates an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch, energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0621] User voice input and recognition
[0622] The terminal accepts the user's voice input and saves it as "user_input.wav". The terminal is equipped with a speech recognition library and converts the saved voice data into text data. For example, if the user says "Please tell me how to return the item," that voice is converted into text data. Next, the terminal converts the text data into numerical data and creates a feature vector. Similar to the method used on the server, each character is converted into a numerical code and padding is performed.
[0623] Predictions and results presented using trained models and emotion engines.
[0624] The device loads a pre-trained model from the server and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0625] Specific example
[0626] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0627] Example of a prompt
[0628] Examples of prompts to input into a generative AI model include the following:
[0629] "Please tell me how to return an item."
[0630] "I'd like to know about the exchange procedure."
[0631] "I would like to contact customer support."
[0632] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0633] Step 1:
[0634] Reading audio data and converting it to text.
[0635] The server reads multiple .wav audio files from a specified directory (e.g., / audio_files / ). Each read audio file is converted to text data using a speech recognition library (e.g., Google Cloud Speech-to-Text API). Given .wav audio data as input, the corresponding text data is obtained as output. For example, "Audio file 01.wav" is converted to the text "This is your customer support inquiry."
[0636] Step 2:
[0637] Numerical conversion of text data and creation of feature vectors
[0638] The server converts the transformed text data into numerical data. It maps each character to its ASCII code and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. If the vectors have different lengths, the server uses padding (e.g., zero padding) to unify the lengths of the vectors. For example, the text "Customer Support" is converted to a numerical code for each character and then formatted into an appropriate vector.
[0639] Step 3:
[0640] Learning an artificial intelligence model
[0641] The server trains an artificial intelligence model using the prepared feature vectors and corresponding labels (obtained from the audio file name). A multilayer perceptron (MLP) model is used in this process. The feature vectors and labels are given as input, and the trained model is obtained as output. The trained model is saved as a file (e.g., / models / audio_model.mlp).
[0642] Step 4:
[0643] Introducing an emotional engine
[0644] The server installs and sets up an emotion engine (e.g., IBM Watson Tone Analyzer). The emotion engine analyzes speech features (such as pitch and energy) to identify the user's emotional state. Speech data features are provided as input, and the identified emotional state is output. This adds emotion recognition functionality to the system.
[0645] Step 5:
[0646] User voice input and text conversion
[0647] The device accepts user voice input and saves it as "user_input.wav". Next, it uses a speech recognition library to convert this voice data into text data. Given user voice data in .wav format as input, the corresponding text data is obtained as output. For example, if the user says "Please tell me how to return the item," that voice is converted into the text "Please tell me how to return the item."
[0648] Step 6:
[0649] Numerical conversion of user voice text data and creation of feature vectors
[0650] The terminal converts the acquired text data into numerical data and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. Similar to the server, each character is converted into a numerical code, and the vector length is standardized using padding.
[0651] Step 7:
[0652] Prediction using a pre-trained model
[0653] The device uses a pre-trained model obtained from the server to make predictions using the user's feature vector as input data. The feature vector is given as input, and the prediction result is obtained as output. This prediction result serves as an answer to the user's inquiry.
[0654] Step 8:
[0655] Emotion recognition using an emotion engine
[0656] The device uses an emotion engine to recognize emotions from the user's voice. The input is feature vectors of the voice data, and the output is the identified emotional state. For example, the emotion "anger" might be recognized from the user's voice.
[0657] Step 9:
[0658] Generating and presenting the optimal response
[0659] The device combines prediction results and emotion data to generate the optimal response and present it to the user. Prediction results and identified emotion states are given as input, and an appropriate response is obtained as output. For example, combining the prediction "Please tell me how to return the item" with the emotion "anger" results in a more polite response.
[0660] Through the steps described above, this system can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[0661] (Application Example 2)
[0662] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0663] While voice-based ordering systems exist in food delivery services, they face challenges in providing appropriate responses and suggestions that take into account the user's emotional state. In particular, there is a need to recognize the user's emotions during the ordering process and provide services based on those emotions. This is expected to improve the user experience and increase customer satisfaction.
[0664] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for reading audio files from a storage device that stores audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting the voice input by the user into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; means for using an emotion engine that recognizes emotions from the user's voice input and combining the emotion recognition data with the prediction result; and means for analyzing the user's input voice and generating and providing an optimal response. This makes it possible to recognize the emotional state of the user when they place an order by voice and to provide appropriate service based on that state.
[0665] An "audio file" is a file format containing data that stores a user's voice data.
[0666] "Storage device" is a general term for hardware and media used to store data.
[0667] "Means of converting to text" refers to technologies and software for converting audio data into text data.
[0668] "Numerical data" refers to a numerical representation of data that has been transformed based on a specific algorithm.
[0669] A "feature vector" is a vector-based data structure composed of multiple numerical values extracted from audio or text data.
[0670] An "artificial intelligence model" is a model that uses a machine learning algorithm trained on data to perform predictions and classifications.
[0671] A "trained model" is an artificial intelligence model that has completed training using training data and is now capable of performing a specific task.
[0672] An "emotion engine" is a technology or algorithm that analyzes the features of voice data to identify the user's emotional state.
[0673] "Prediction result" refers to the result calculated by the artificial intelligence model based on the given input data.
[0674] "Means for generating responses" refer to technologies and software that generate optimal responses and suggestions based on the user's input data and emotional state.
[0675] This invention relates to a system that efficiently processes audio files and uses an artificial intelligence model and emotion engine to classify, predict, and recognize emotions in audio data. This system is particularly applicable to food delivery services and can provide order details and appropriate suggestions based on the user's voice input. Specific embodiments of this system are described below.
[0676] Reading and processing audio files
[0677] The server reads multiple audio files from the specified storage device. These audio files are typically saved in .wav format. The server then uses speech recognition software to convert each audio file into text data. For example, "Audio file 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0678] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses data padding to unify the lengths of the vectors.
[0679] Learning an artificial intelligence model
[0680] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0681] Introducing an emotional engine
[0682] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0683] User voice input and recognition
[0684] The user uses the smartphone application "Emotion-Aware Food Delivery Assistant" for voice input. When the user says, "I want to order a pizza," the voice is saved as a file named "user_input.wav." The device then uses speech recognition software to convert this voice file into text data. For example, when the user says, "I want to order a pizza," the voice is converted into text data.
[0685] The device converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then data padding is applied.
[0686] Predictions and results presented using trained models and emotion engines.
[0687] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "I want to order a pizza" and the emotion of "joy" is recognized from the voice, the device will suggest campaign information and coupons.
[0688] Specific example
[0689] Here's a concrete example: Suppose a user says, "I want to order a pizza for a party. What toppings do you recommend?" The device converts this speech into text data and creates a feature vector as numerical data. Next, it uses a trained model to analyze the text "I want to order a pizza" and generates "recommended toppings" as the optimal response. Furthermore, if the user's emotion is recognized as "joy," promotional information and coupons are suggested.
[0690] Example of a prompt
[0691] The prompt text when a user types "I want to order a pizza for a party. What toppings do you recommend?" is as follows:
[0692] I want to order pizza for a party. What toppings would you recommend?
[0693] In this way, it becomes possible to provide appropriate services that take into account the user's emotional state.
[0694] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0695] Step 1:
[0696] The server reads multiple audio files from its storage device. It identifies which files to process and uses speech recognition software to convert those audio files (e.g., in .wav format) into text data. This converts the audio files into text data. The input is audio files, and the output is text data.
[0697] Step 2:
[0698] The server maps each character in the converted text data to an ASCII code and converts it into numerical data. Next, it creates a feature vector using the numerical data. If the feature vectors have different lengths, data padding is performed to unify the lengths of the vectors. The input is text data, and the output is a feature vector of unified length.
[0699] Step 3:
[0700] The server trains an artificial intelligence model using the created feature vectors and labels obtained from the audio file names. It uses a multilayer perceptron (MLP) model for training and saves the trained model as a file. The input is the feature vectors and labels, and the output is the trained model.
[0701] Step 4:
[0702] The user uses a smartphone application to perform voice input. The device saves this voice data as "user_input.wav". Input is voice input, and output is an audio file.
[0703] Step 5:
[0704] The device reads the stored audio file and converts it into text data using speech recognition software. This converts the audio into text data. The input is an audio file, and the output is text data.
[0705] Step 6:
[0706] The terminal converts the converted text data into numerical data and creates a feature vector. Similar to what was done on the server, each character is converted into a numerical code to generate a feature vector, and the length of the vectors is standardized. The input is text data, and the output is a feature vector.
[0707] Step 7:
[0708] The device loads a pre-trained model obtained from the server and inputs the feature vector obtained from the user's input into the model to perform predictions. This results in the optimal prediction result regarding the user's speech content. The input is the feature vector, and the output is the prediction result.
[0709] Step 8:
[0710] The device analyzes the features of the audio data and uses an emotion engine to recognize the user's emotional state. It combines the emotion recognition data with the prediction results to generate an optimal response that corresponds to the user's emotions. The input is the audio data and prediction results, and the output is the response including the emotion recognition data.
[0711] Step 9:
[0712] The generated optimal response is delivered to the user via the device. The response includes emotion-based suggestions and coupon information. The input is the response containing emotion recognition data, and the output is what is presented to the user.
[0713] This enables the provision of appropriate and emotionally responsive services based on voice input.
[0714] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0715] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0716] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0717] [Third Embodiment]
[0718] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0719] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0720] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0721] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0722] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0723] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0724] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0725] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0726] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0727] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0728] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0729] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0730] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0731] Reading and processing audio files
[0732] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0733] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0734] Learning an artificial intelligence model
[0735] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0736] User voice input and recognition
[0737] The device accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data.
[0738] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0739] Predictions and results presented using a pre-trained model.
[0740] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0741] Specific example
[0742] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the terminal converts the voice into text data and creates a feature vector as numerical data. Next, the trained model is used to analyze the text "Please tell me the exchange procedure," and the user is presented with "Explanation of the exchange procedure" as the optimal response.
[0743] With the configuration described above, the present invention can respond efficiently and accurately to the user's voice input.
[0744] The following describes the processing flow.
[0745] Step 1:
[0746] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0747] Step 2:
[0748] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0749] Step 3:
[0750] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0751] Step 4:
[0752] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0753] Step 5:
[0754] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0755] Step 6:
[0756] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0757] Step 7:
[0758] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0759] Step 8:
[0760] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0761] Step 9:
[0762] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0763] Step 10:
[0764] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0765] Step 11:
[0766] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0767] Step 12:
[0768] The terminal displays the prediction results to the user. For example, in response to the input "Please tell me how to return the item," the terminal will display "Explanation of the return procedure" as a prediction result.
[0769] (Example 1)
[0770] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0771] Conventional systems for classifying and predicting speech data suffer from low accuracy and efficiency in speech recognition, making it difficult to effectively process large amounts of speech data. Furthermore, real-time responses to user voice input are often delayed. Therefore, there is a need for improved user experience and increased operational efficiency.
[0772] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0773] In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text; means for converting the converted text data into numerical data and creating a feature vector; and means for training a multilayer perceptron model using the created feature vector and corresponding labels and saving the trained model. This enables efficient and highly accurate processing of audio data and rapid response to user voice input.
[0774] "Audio data" refers to data that represents audio in a digital format.
[0775] A "directory" is a logical area on a file system used to store multiple files.
[0776] "Text" refers to data consisting of letters and symbols arranged in a specific order, and is essentially a conversion of speech into a string of characters.
[0777] "Numerical data" refers to text data that has been converted into numerical values, where each character or symbol is mapped to a specific numerical value, such as an ASCII code.
[0778] A "feature vector" is a vector that numerically represents the characteristics of data, and it is a data format that machine learning models use as input.
[0779] A "multilayer perceptron model" is a type of artificial neural network with multiple layers, and is a machine learning model primarily used to solve classification and regression problems.
[0780] A "trained model" is a predictive model obtained after applying a machine learning algorithm to a specific dataset and training it.
[0781] "Voice input" refers to the process where a user speaks into a device, and that voice is input in digital format.
[0782] "Prediction" is the process of inputting feature vectors into a trained model and generating the most appropriate labels or results.
[0783] "Output" refers to the result data used by the system to display prediction results to the user or to determine the next action.
[0784] This invention is a system for efficiently processing audio data and classifying and predicting audio data based on an artificial intelligence model. The embodiments of this invention are described in detail below.
[0785] Reading audio data and converting it to text.
[0786] The server reads multiple audio files from a specified directory. These audio files are typically saved in .wav format. The server then uses a speech recognition library (e.g., Google Cloud Speech-to-Text) to convert each audio file into text data. For example, "audio file 01.wav" is converted to the text "This is the content of your customer support inquiry."
[0787] Numerical conversion of text data
[0788] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors. For example, to make the length of the vectors consistent, it fills the missing parts of the array with "0".
[0789] Learning an artificial intelligence model
[0790] The server uses feature vectors and their corresponding labels (obtained from the audio data names) to train an artificial intelligence model (specifically, a multilayer perceptron model). For example, TensorFlow or PyTorch can be used to train the model. Once the training is complete, the model is saved as a file and used for subsequent prediction processing. This allows for more efficient prediction processing in the future.
[0791] User voice input and recognition
[0792] The user provides voice input to the device. For example, they might use the microphone on their smartphone or PC to say, "Please tell me how to return the item." This audio is saved as "user_input.wav." The device then uses Google Cloud Speech-to-Text to convert this audio data into text. For example, "user_input.wav" is converted to the text "Please tell me how to return the item."
[0793] Numerical conversion of text data and creation of feature vectors
[0794] The device converts this text data into numerical data and creates a feature vector in the same way as during training on the server. For example, it converts each character to its ASCII code and uses padding to make it a constant length.
[0795] Prediction using a pre-trained model
[0796] The device loads a pre-trained model downloaded from the server and uses the user's feature vector as input to make predictions. For example, in response to the input "Please tell me how to return the item," the trained model predicts the label "Explanation of the return procedure."
[0797] Specific example
[0798] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device saves that voice as a file called "user_input.wav." Using Google Cloud Speech-to-Text, it converts the voice data "Please tell me the exchange procedure" into text data, and then converts the text data into numerical data to create a feature vector. The device uses a pre-trained model to analyze this feature vector and presents the user with an appropriate response, such as "Explanation of the exchange procedure."
[0799] Example of a prompt
[0800] Examples of prompt statements to input into a generative AI model include:
[0801] User input: 'Please tell me how to return the item.'
[0802] Processing method: Convert audio data to text and generate numerical data as features. Predict the optimal response using a pre-trained model.
[0803] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0804] Step 1:
[0805] The server reads audio data from the specified directory. The input is the directory path, and the output is the read audio data (.wav file). Specifically, the server periodically scans the directory, detects new audio data, and imports it into local storage.
[0806] Step 2:
[0807] The server converts the received audio data into text data using the Google Cloud Speech-to-Text API. The input is audio data (.wav file), and the output is the converted text data. Specifically, the server sends each audio file to the API and receives the returned text data.
[0808] Step 3:
[0809] The server converts text data into numerical data using ASCII codes and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure the vectors have uniform lengths.
[0810] Step 4:
[0811] The server trains a multilayer perceptron model using feature vectors and their corresponding labels. The input is feature vectors and labels, and the output is the trained model. Specifically, it trains the model using TensorFlow or PyTorch and saves the model with the optimal weights as a file.
[0812] Step 5:
[0813] The user provides voice input to the device. The input is the user's voice, and the output is an audio file (user_input.wav). Specifically, the device's microphone is used to record the voice, and the file is saved in the specified format.
[0814] Step 6:
[0815] The device converts a stored audio file into text data using the Google Cloud Speech-to-Text API. The input is an audio file (user_input.wav), and the output is the converted text data. Specifically, the device sends the audio file to the API and receives the returned text data.
[0816] Step 7:
[0817] The terminal converts text data into numerical data and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure that the vector length is uniform.
[0818] Step 8:
[0819] The device uses a pre-trained model downloaded from the server to take the user's feature vector as input and make predictions. The input is a feature vector, and the output is the prediction result. Specifically, it inputs the feature vector into the pre-trained model and predicts the optimal label.
[0820] Step 9:
[0821] The device displays the prediction results to the user. The input is the prediction result, and the output is what is displayed to the user. Specifically, the predicted label and description are presented to the user through the device's display or voice assistant.
[0822] (Application Example 1)
[0823] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0824] Conventional speech recognition systems have struggled with efficient processing of speech data and accurate prediction using artificial intelligence models. Furthermore, misrecognition during the conversion of speech input to text and the appropriate selection of corresponding labels have been challenges. In particular, it has been difficult to quickly and accurately present the information users are seeking during user-system interaction.
[0825] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0826] In this invention, the server includes means for reading audio files from a directory storing audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting user-input audio into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; and means for presenting the prediction result to the user. This enables efficient processing of audio files and accurate prediction by the artificial intelligence model. Furthermore, it enables the rapid and accurate provision of information requested by the user.
[0827] An "audio file" is digital data that electronically records human speech or ambient sounds.
[0828] A "directory" is a structure in a computer's file system that indicates the location where files and folders are stored.
[0829] "Text" refers to a data format that converts audio or images into a string of characters.
[0830] "Numerical data" refers to a data format in which non-numerical data, such as text or audio, is converted into numerical values.
[0831] A "feature vector" is a vector-based data representation of features extracted from audio or text data, expressed as numerical values.
[0832] An "artificial intelligence model" is a model that uses machine learning algorithms to learn from data and perform predictions and classifications.
[0833] A "trained model" is an artificial intelligence model that has completed training using training data.
[0834] "User" refers to an individual or organization that uses the system.
[0835] A "speech recognition library" is a program library used to convert speech data into text data.
[0836] "Padding" is the process of adding extra elements to unify the length of data.
[0837] "Prediction result" refers to the result of a prediction output by an artificial intelligence model based on the input data.
[0838] "Means of presentation" refers to functions that communicate prediction results to the user visually or audibly.
[0839] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[0840] Reading and processing audio files
[0841] The server reads multiple audio files from a directory where audio files are stored. These audio files are typically saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "Customer support inquiry details". The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0842] Learning an artificial intelligence model
[0843] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0844] User voice input and recognition
[0845] The terminal accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The terminal then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data. The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[0846] Predictions and results presented using a pre-trained model.
[0847] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure." The user can receive this information visually or audibly. This allows the user to quickly and accurately obtain the information they need in real time.
[0848] Specific example
[0849] For example, in the smartphone app "Smart Voice Shopping Helper," suppose a user says, "Please tell me how to return an item." The app records the user's voice and uploads it to the server. The server converts the audio file into text and then creates a feature vector as numerical data. Using a trained model, the text "Please tell me how to return an item" is analyzed, and the user is presented with "Explanation of the Return Procedure" as the optimal response. An example of this prompt would be as follows:
[0850] Example of a prompt
[0851] "Please convert the audio file `user_input.wav` into text data, then convert that into numerical data and input it. Next, we will use a pre-trained multilayer perceptron model to predict the best response to the user's query and display the result."
[0852] This invention enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to receive information quickly and accurately.
[0853] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0854] Step 1:
[0855] The server reads multiple audio files from a directory where audio files are stored. These audio files are usually saved in .wav format. The server processes each audio file sequentially.
[0856] Input: Multiple .wav audio files
[0857] Output: Audio data
[0858] Step 2:
[0859] The server uses a speech recognition library to convert each loaded audio file into text data. For example, "Audio file 01.wav" is converted into the text data "This is the content of your customer support inquiry."
[0860] Input: Audio data
[0861] Output: Text data
[0862] Step 3:
[0863] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0864] Input: Text data
[0865] Output: Feature vector
[0866] Step 4:
[0867] If the feature vectors have different lengths, the server uses padding to unify the vector lengths.
[0868] Input: Feature vector
[0869] Output: Unified feature vector
[0870] Step 5:
[0871] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used.
[0872] Input: Unified feature vector and labels
[0873] Output: Trained model
[0874] Step 6:
[0875] The server saves the trained model as a file.
[0876] Input: Trained model
[0877] Output: Saved trained model file
[0878] Step 7:
[0879] The device accepts the user's voice input, and this audio is saved in a specific format (e.g., "user_input.wav").
[0880] Input: User voice input
[0881] Output: Audio file (user_input.wav)
[0882] Step 8:
[0883] The device uses a speech recognition library to convert this audio file (user_input.wav) into text data. For example, if the user says, "Please tell me how to return the item," that audio will be converted into text data.
[0884] Input: Audio file (user_input.wav)
[0885] Output: Text data
[0886] Step 9:
[0887] The device converts this text data into numerical data and creates a feature vector. The feature vector is then converted back to numerical data and padded using the same method as during training on the server.
[0888] Input: Text data
[0889] Output: Feature vector
[0890] Step 10:
[0891] The device loads a saved, pre-trained model. It then inputs the feature vector obtained from the user's input into the model to perform predictions.
[0892] Input: Feature vectors and pre-trained model
[0893] Output: Prediction results (labels)
[0894] Step 11:
[0895] The device displays the prediction results to the user. For example, if the user enters "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[0896] Input: Prediction result
[0897] Output: Displayed to the user (prediction result)
[0898] This enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to obtain real-time, fast, and accurate information.
[0899] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0900] The present invention is a system that efficiently processes audio files and performs classification, prediction, and emotion recognition of audio data using an artificial intelligence model and emotion engine. Specific embodiments of this system are described below.
[0901] Reading and processing audio files
[0902] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[0903] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[0904] Learning an artificial intelligence model
[0905] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[0906] Introducing an emotional engine
[0907] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0908] User voice input and recognition
[0909] The device accepts voice input from the user. This voice data is saved as a file named "user_input.wav". The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice will be converted into text data.
[0910] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then padding is applied.
[0911] Predictions and results presented using trained models and emotion engines.
[0912] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0913] Specific example
[0914] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0915] With the configuration described above, the present invention can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[0916] The following describes the processing flow.
[0917] Step 1:
[0918] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[0919] Step 2:
[0920] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[0921] Step 3:
[0922] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[0923] Step 4:
[0924] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[0925] Step 5:
[0926] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[0927] Step 6:
[0928] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[0929] Step 7:
[0930] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[0931] Step 8:
[0932] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[0933] Step 9:
[0934] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[0935] Step 10:
[0936] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[0937] Step 11:
[0938] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[0939] Step 12:
[0940] The device uses an emotion engine to recognize emotions from the user's voice input. The emotion engine identifies the user's emotional state by analyzing voice features (such as pitch and energy). For example, emotions such as "anger," "joy," and "sadness" can be recognized.
[0941] Step 13:
[0942] The device generates the optimal response based on the prediction results and recognized emotion information. For example, if the user's emotion is recognized as "anger," a more polite and calmer tone of response will be generated.
[0943] Step 14:
[0944] The terminal displays the most appropriate response to the user. For example, in response to the input "Please tell me how to return the item," the terminal will present an explanation of the return procedure along with a response in a tone that matches the user's emotions.
[0945] (Example 2)
[0946] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[0947] Conventional speech recognition systems often struggled to achieve sufficient accuracy in classifying and predicting speech data. Furthermore, they failed to consider user emotions, resulting in inappropriate responses and decreased user satisfaction. This invention aims to solve these problems by improving the accuracy of speech data classification and prediction, as well as generating responses based on user emotions.
[0948] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text, means for converting the converted text data into numerical data and creating a feature vector, and means for training a learning model using the created feature vector and corresponding labels and saving the trained model. This makes it possible to improve the classification and prediction accuracy of audio data.
[0949] The system also includes means for converting user-input speech into text and numerical data to create a feature vector, means for predicting the feature vector obtained from user input using a stored pre-trained model and outputting the prediction result, means for using an emotion engine to identify the emotional state based on the features extracted from the user's input speech, and means for generating an optimal response based on the identified emotional state and prediction result and presenting it to the user. This makes it possible to generate an appropriate response based on the user's emotions.
[0950] "Audio data" refers to file or data formats that store audio as digital signals.
[0951] A "directory" is a computer folder or path used to organize and store files and data.
[0952] "Text data" refers to string data obtained by converting audio data into text format.
[0953] "Numerical data" refers to data that is represented as a numerical value, such as strings or other data.
[0954] A "feature vector" is a representation of data characteristics quantified and expressed in vector format, and is used as input for machine learning models.
[0955] A "label" is an identifier or tag used to classify data.
[0956] A "learning model" is a predictive model built on data using machine learning algorithms.
[0957] A "trained model" is a model that has completed training using training data and is ready to be used for prediction and classification.
[0958] "Prediction result" refers to the result calculated on the input data using a trained model.
[0959] An "emotion engine" refers to software or algorithms that identify a user's emotional state from voice or text data.
[0960] An "optimal response" is the most appropriate answer or message generated based on the user's input and their emotional state.
[0961] The present invention is a system for efficiently processing speech data and performing classification, prediction, and emotion recognition of speech data using an artificial intelligence model and an emotion engine. This system uses a server and terminals as hardware, and a speech recognition library, a machine learning model, and an emotion engine as software. Specific embodiments of the present invention are as follows.
[0962] Reading and processing audio data
[0963] The server reads audio data in .wav format from a specified directory (e.g., / audio_files / ). During this process, the server uses a speech recognition library (e.g., Google Cloud Speech-to-Text API) to convert each audio file into text data. For example, "audio file01.wav" is converted into the text "Customer support inquiry details". The server then converts the text data into numerical data and creates a feature vector. Each character is mapped to an ASCII code, and padding is used to unify the length of the vector.
[0964] Learning an artificial intelligence model
[0965] The server uses the prepared feature vectors and their corresponding labels (e.g., audio file names) to train an artificial intelligence model. A multilayer perceptron (MLP) model is used for this training. Once the training is complete, the model is saved as a file (e.g., / models / audio_model.mlp). This allows the model to be reused in prediction processing.
[0966] Introducing an emotional engine
[0967] The server incorporates an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch, energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[0968] User voice input and recognition
[0969] The terminal accepts the user's voice input and saves it as "user_input.wav". The terminal is equipped with a speech recognition library and converts the saved voice data into text data. For example, if the user says "Please tell me how to return the item," that voice is converted into text data. Next, the terminal converts the text data into numerical data and creates a feature vector. Similar to the method used on the server, each character is converted into a numerical code and padding is performed.
[0970] Predictions and results presented using trained models and emotion engines.
[0971] The device loads a pre-trained model from the server and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[0972] Specific example
[0973] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[0974] Example of a prompt
[0975] Examples of prompts to input into a generative AI model include the following:
[0976] "Please tell me how to return an item."
[0977] "I'd like to know about the exchange procedure."
[0978] "I would like to contact customer support."
[0979] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0980] Step 1:
[0981] Reading audio data and converting it to text.
[0982] The server reads multiple .wav audio files from a specified directory (e.g., / audio_files / ). Each read audio file is converted to text data using a speech recognition library (e.g., Google Cloud Speech-to-Text API). Given .wav audio data as input, the corresponding text data is obtained as output. For example, "Audio file 01.wav" is converted to the text "This is your customer support inquiry."
[0983] Step 2:
[0984] Numerical conversion of text data and creation of feature vectors
[0985] The server converts the transformed text data into numerical data. It maps each character to its ASCII code and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. If the vectors have different lengths, the server uses padding (e.g., zero padding) to unify the lengths of the vectors. For example, the text "Customer Support" is converted to a numerical code for each character and then formatted into an appropriate vector.
[0986] Step 3:
[0987] Learning an artificial intelligence model
[0988] The server trains an artificial intelligence model using the prepared feature vectors and corresponding labels (obtained from the audio file name). A multilayer perceptron (MLP) model is used in this process. The feature vectors and labels are given as input, and the trained model is obtained as output. The trained model is saved as a file (e.g., / models / audio_model.mlp).
[0989] Step 4:
[0990] Introducing an emotional engine
[0991] The server installs and sets up an emotion engine (e.g., IBM Watson Tone Analyzer). The emotion engine analyzes speech features (such as pitch and energy) to identify the user's emotional state. Speech data features are provided as input, and the identified emotional state is output. This adds emotion recognition functionality to the system.
[0992] Step 5:
[0993] User voice input and text conversion
[0994] The device accepts user voice input and saves it as "user_input.wav". Next, it uses a speech recognition library to convert this voice data into text data. Given user voice data in .wav format as input, the corresponding text data is obtained as output. For example, if the user says "Please tell me how to return the item," that voice is converted into the text "Please tell me how to return the item."
[0995] Step 6:
[0996] Numerical conversion of user voice text data and creation of feature vectors
[0997] The terminal converts the acquired text data into numerical data and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. Similar to the server, each character is converted into a numerical code, and the vector length is standardized using padding.
[0998] Step 7:
[0999] Prediction using a pre-trained model
[1000] The device uses a pre-trained model obtained from the server to make predictions using the user's feature vector as input data. The feature vector is given as input, and the prediction result is obtained as output. This prediction result serves as an answer to the user's inquiry.
[1001] Step 8:
[1002] Emotion recognition using an emotion engine
[1003] The device uses an emotion engine to recognize emotions from the user's voice. The input is feature vectors of the voice data, and the output is the identified emotional state. For example, the emotion "anger" might be recognized from the user's voice.
[1004] Step 9:
[1005] Generating and presenting the optimal response
[1006] The device combines prediction results and emotion data to generate the optimal response and present it to the user. Prediction results and identified emotion states are given as input, and an appropriate response is obtained as output. For example, combining the prediction "Please tell me how to return the item" with the emotion "anger" results in a more polite response.
[1007] Through the steps described above, this system can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[1008] (Application Example 2)
[1009] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1010] While voice-based ordering systems exist in food delivery services, they face challenges in providing appropriate responses and suggestions that take into account the user's emotional state. In particular, there is a need to recognize the user's emotions during the ordering process and provide services based on those emotions. This is expected to improve the user experience and increase customer satisfaction.
[1011] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for reading audio files from a storage device that stores audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting the voice input by the user into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; means for using an emotion engine that recognizes emotions from the user's voice input and combining the emotion recognition data with the prediction result; and means for analyzing the user's input voice and generating and providing an optimal response. This makes it possible to recognize the emotional state of the user when they place an order by voice and to provide appropriate service based on that state.
[1012] An "audio file" is a file format containing data that stores a user's voice data.
[1013] "Storage device" is a general term for hardware and media used to store data.
[1014] "Means of converting to text" refers to technologies and software for converting audio data into text data.
[1015] "Numerical data" refers to a numerical representation of data that has been transformed based on a specific algorithm.
[1016] A "feature vector" is a vector-based data structure composed of multiple numerical values extracted from audio or text data.
[1017] An "artificial intelligence model" is a model that uses a machine learning algorithm trained on data to perform predictions and classifications.
[1018] A "trained model" is an artificial intelligence model that has completed training using training data and is now capable of performing a specific task.
[1019] An "emotion engine" is a technology or algorithm that analyzes the features of voice data to identify the user's emotional state.
[1020] "Prediction result" refers to the result calculated by the artificial intelligence model based on the given input data.
[1021] "Means for generating responses" refer to technologies and software that generate optimal responses and suggestions based on the user's input data and emotional state.
[1022] This invention relates to a system that efficiently processes audio files and uses an artificial intelligence model and emotion engine to classify, predict, and recognize emotions in audio data. This system is particularly applicable to food delivery services and can provide order details and appropriate suggestions based on the user's voice input. Specific embodiments of this system are described below.
[1023] Reading and processing audio files
[1024] The server reads multiple audio files from the specified storage device. These audio files are typically saved in .wav format. The server then uses speech recognition software to convert each audio file into text data. For example, "Audio file 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[1025] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses data padding to unify the lengths of the vectors.
[1026] Learning an artificial intelligence model
[1027] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[1028] Introducing an emotional engine
[1029] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[1030] User voice input and recognition
[1031] The user uses the smartphone application "Emotion-Aware Food Delivery Assistant" for voice input. When the user says, "I want to order a pizza," the voice is saved as a file named "user_input.wav." The device then uses speech recognition software to convert this voice file into text data. For example, when the user says, "I want to order a pizza," the voice is converted into text data.
[1032] The device converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then data padding is applied.
[1033] Predictions and results presented using trained models and emotion engines.
[1034] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "I want to order a pizza" and the emotion of "joy" is recognized from the voice, the device will suggest campaign information and coupons.
[1035] Specific example
[1036] Here's a concrete example: Suppose a user says, "I want to order a pizza for a party. What toppings do you recommend?" The device converts this speech into text data and creates a feature vector as numerical data. Next, it uses a trained model to analyze the text "I want to order a pizza" and generates "recommended toppings" as the optimal response. Furthermore, if the user's emotion is recognized as "joy," promotional information and coupons are suggested.
[1037] Example of a prompt
[1038] The prompt text when a user types "I want to order a pizza for a party. What toppings do you recommend?" is as follows:
[1039] I want to order pizza for a party. What toppings would you recommend?
[1040] In this way, it becomes possible to provide appropriate services that take into account the user's emotional state.
[1041] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1042] Step 1:
[1043] The server reads multiple audio files from its storage device. It identifies which files to process and uses speech recognition software to convert those audio files (e.g., in .wav format) into text data. This converts the audio files into text data. The input is audio files, and the output is text data.
[1044] Step 2:
[1045] The server maps each character in the converted text data to an ASCII code and converts it into numerical data. Next, it creates a feature vector using the numerical data. If the feature vectors have different lengths, data padding is performed to unify the lengths of the vectors. The input is text data, and the output is a feature vector of unified length.
[1046] Step 3:
[1047] The server trains an artificial intelligence model using the created feature vectors and labels obtained from the audio file names. It uses a multilayer perceptron (MLP) model for training and saves the trained model as a file. The input is the feature vectors and labels, and the output is the trained model.
[1048] Step 4:
[1049] The user uses a smartphone application to perform voice input. The device saves this voice data as "user_input.wav". Input is voice input, and output is an audio file.
[1050] Step 5:
[1051] The device reads the stored audio file and converts it into text data using speech recognition software. This converts the audio into text data. The input is an audio file, and the output is text data.
[1052] Step 6:
[1053] The terminal converts the converted text data into numerical data and creates a feature vector. Similar to what was done on the server, each character is converted into a numerical code to generate a feature vector, and the length of the vectors is standardized. The input is text data, and the output is a feature vector.
[1054] Step 7:
[1055] The device loads a pre-trained model obtained from the server and inputs the feature vector obtained from the user's input into the model to perform predictions. This results in the optimal prediction result regarding the user's speech content. The input is the feature vector, and the output is the prediction result.
[1056] Step 8:
[1057] The device analyzes the features of the audio data and uses an emotion engine to recognize the user's emotional state. It combines the emotion recognition data with the prediction results to generate an optimal response that corresponds to the user's emotions. The input is the audio data and prediction results, and the output is the response including the emotion recognition data.
[1058] Step 9:
[1059] The generated optimal response is delivered to the user via the device. The response includes emotion-based suggestions and coupon information. The input is the response containing emotion recognition data, and the output is what is presented to the user.
[1060] This enables the provision of appropriate and emotionally responsive services based on voice input.
[1061] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1062] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1063] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1064] [Fourth Embodiment]
[1065] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1066] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1067] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1068] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1069] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1070] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1071] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1072] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1073] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1074] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1075] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1076] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1077] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1078] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[1079] Reading and processing audio files
[1080] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[1081] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[1082] Learning an artificial intelligence model
[1083] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[1084] User voice input and recognition
[1085] The device accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data.
[1086] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[1087] Predictions and results presented using a pre-trained model.
[1088] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[1089] Specific example
[1090] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the terminal converts the voice into text data and creates a feature vector as numerical data. Next, the trained model is used to analyze the text "Please tell me the exchange procedure," and the user is presented with "Explanation of the exchange procedure" as the optimal response.
[1091] With the configuration described above, the present invention can respond efficiently and accurately to the user's voice input.
[1092] The following describes the processing flow.
[1093] Step 1:
[1094] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[1095] Step 2:
[1096] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[1097] Step 3:
[1098] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[1099] Step 4:
[1100] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[1101] Step 5:
[1102] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[1103] Step 6:
[1104] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[1105] Step 7:
[1106] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[1107] Step 8:
[1108] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[1109] Step 9:
[1110] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[1111] Step 10:
[1112] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[1113] Step 11:
[1114] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[1115] Step 12:
[1116] The terminal displays the prediction results to the user. For example, in response to the input "Please tell me how to return the item," the terminal will display "Explanation of the return procedure" as a prediction result.
[1117] (Example 1)
[1118] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1119] Conventional systems for classifying and predicting speech data suffer from low accuracy and efficiency in speech recognition, making it difficult to effectively process large amounts of speech data. Furthermore, real-time responses to user voice input are often delayed. Therefore, there is a need for improved user experience and increased operational efficiency.
[1120] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1121] In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text; means for converting the converted text data into numerical data and creating a feature vector; and means for training a multilayer perceptron model using the created feature vector and corresponding labels and saving the trained model. This enables efficient and highly accurate processing of audio data and rapid response to user voice input.
[1122] "Audio data" refers to data that represents audio in a digital format.
[1123] A "directory" is a logical area on a file system used to store multiple files.
[1124] "Text" refers to data consisting of letters and symbols arranged in a specific order, and is essentially a conversion of speech into a string of characters.
[1125] "Numerical data" refers to text data that has been converted into numerical values, where each character or symbol is mapped to a specific numerical value, such as an ASCII code.
[1126] A "feature vector" is a vector that numerically represents the characteristics of data, and it is a data format that machine learning models use as input.
[1127] A "multilayer perceptron model" is a type of artificial neural network with multiple layers, and is a machine learning model primarily used to solve classification and regression problems.
[1128] A "trained model" is a predictive model obtained after applying a machine learning algorithm to a specific dataset and training it.
[1129] "Voice input" refers to the process where a user speaks into a device, and that voice is input in digital format.
[1130] "Prediction" is the process of inputting feature vectors into a trained model and generating the most appropriate labels or results.
[1131] "Output" refers to the result data used by the system to display prediction results to the user or to determine the next action.
[1132] This invention is a system for efficiently processing audio data and classifying and predicting audio data based on an artificial intelligence model. The embodiments of this invention are described in detail below.
[1133] Reading audio data and converting it to text.
[1134] The server reads multiple audio files from a specified directory. These audio files are typically saved in .wav format. The server then uses a speech recognition library (e.g., Google Cloud Speech-to-Text) to convert each audio file into text data. For example, "audio file 01.wav" is converted to the text "This is the content of your customer support inquiry."
[1135] Numerical conversion of text data
[1136] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors. For example, to make the length of the vectors consistent, it fills the missing parts of the array with "0".
[1137] Learning an artificial intelligence model
[1138] The server uses feature vectors and their corresponding labels (obtained from the audio data names) to train an artificial intelligence model (specifically, a multilayer perceptron model). For example, TensorFlow or PyTorch can be used to train the model. Once the training is complete, the model is saved as a file and used for subsequent prediction processing. This allows for more efficient prediction processing in the future.
[1139] User voice input and recognition
[1140] The user provides voice input to the device. For example, they might use the microphone on their smartphone or PC to say, "Please tell me how to return the item." This audio is saved as "user_input.wav." The device then uses Google Cloud Speech-to-Text to convert this audio data into text. For example, "user_input.wav" is converted to the text "Please tell me how to return the item."
[1141] Numerical conversion of text data and creation of feature vectors
[1142] The device converts this text data into numerical data and creates a feature vector in the same way as during training on the server. For example, it converts each character to its ASCII code and uses padding to make it a constant length.
[1143] Prediction using a pre-trained model
[1144] The device loads a pre-trained model downloaded from the server and uses the user's feature vector as input to make predictions. For example, in response to the input "Please tell me how to return the item," the trained model predicts the label "Explanation of the return procedure."
[1145] Specific example
[1146] As a concrete example, suppose a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device saves that voice as a file called "user_input.wav." Using Google Cloud Speech-to-Text, it converts the voice data "Please tell me the exchange procedure" into text data, and then converts the text data into numerical data to create a feature vector. The device uses a pre-trained model to analyze this feature vector and presents the user with an appropriate response, such as "Explanation of the exchange procedure."
[1147] Example of a prompt
[1148] Examples of prompt statements to input into a generative AI model include:
[1149] User input: 'Please tell me how to return the item.'
[1150] Processing method: Convert audio data to text and generate numerical data as features. Predict the optimal response using a pre-trained model.
[1151] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1152] Step 1:
[1153] The server reads audio data from the specified directory. The input is the directory path, and the output is the read audio data (.wav file). Specifically, the server periodically scans the directory, detects new audio data, and imports it into local storage.
[1154] Step 2:
[1155] The server converts the received audio data into text data using the Google Cloud Speech-to-Text API. The input is audio data (.wav file), and the output is the converted text data. Specifically, the server sends each audio file to the API and receives the returned text data.
[1156] Step 3:
[1157] The server converts text data into numerical data using ASCII codes and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure the vectors have uniform lengths.
[1158] Step 4:
[1159] The server trains a multilayer perceptron model using feature vectors and their corresponding labels. The input is feature vectors and labels, and the output is the trained model. Specifically, it trains the model using TensorFlow or PyTorch and saves the model with the optimal weights as a file.
[1160] Step 5:
[1161] The user provides voice input to the device. The input is the user's voice, and the output is an audio file (user_input.wav). Specifically, the device's microphone is used to record the voice, and the file is saved in the specified format.
[1162] Step 6:
[1163] The device converts a stored audio file into text data using the Google Cloud Speech-to-Text API. The input is an audio file (user_input.wav), and the output is the converted text data. Specifically, the device sends the audio file to the API and receives the returned text data.
[1164] Step 7:
[1165] The terminal converts text data into numerical data and creates a feature vector. The input is text data, and the output is a feature vector. Specifically, it maps each character to its corresponding ASCII code and stores these in vector format. It also performs padding to ensure that the vector length is uniform.
[1166] Step 8:
[1167] The device uses a pre-trained model downloaded from the server to take the user's feature vector as input and make predictions. The input is a feature vector, and the output is the prediction result. Specifically, it inputs the feature vector into the pre-trained model and predicts the optimal label.
[1168] Step 9:
[1169] The device displays the prediction results to the user. The input is the prediction result, and the output is what is displayed to the user. Specifically, the predicted label and description are presented to the user through the device's display or voice assistant.
[1170] (Application Example 1)
[1171] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1172] Conventional speech recognition systems have struggled with efficient processing of speech data and accurate prediction using artificial intelligence models. Furthermore, misrecognition during the conversion of speech input to text and the appropriate selection of corresponding labels have been challenges. In particular, it has been difficult to quickly and accurately present the information users are seeking during user-system interaction.
[1173] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1174] In this invention, the server includes means for reading audio files from a directory storing audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting user-input audio into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; and means for presenting the prediction result to the user. This enables efficient processing of audio files and accurate prediction by the artificial intelligence model. Furthermore, it enables the rapid and accurate provision of information requested by the user.
[1175] An "audio file" is digital data that electronically records human speech or ambient sounds.
[1176] A "directory" is a structure in a computer's file system that indicates the location where files and folders are stored.
[1177] "Text" refers to a data format that converts audio or images into a string of characters.
[1178] "Numerical data" refers to a data format in which non-numerical data, such as text or audio, is converted into numerical values.
[1179] A "feature vector" is a vector-based data representation of features extracted from audio or text data, expressed as numerical values.
[1180] An "artificial intelligence model" is a model that uses machine learning algorithms to learn from data and perform predictions and classifications.
[1181] A "trained model" is an artificial intelligence model that has completed training using training data.
[1182] "User" refers to an individual or organization that uses the system.
[1183] A "speech recognition library" is a program library used to convert speech data into text data.
[1184] "Padding" is the process of adding extra elements to unify the length of data.
[1185] "Prediction result" refers to the result of a prediction output by an artificial intelligence model based on the input data.
[1186] "Means of presentation" refers to functions that communicate prediction results to the user visually or audibly.
[1187] The present invention is a system for efficiently processing audio files and classifying and predicting audio data based on an artificial intelligence model. Specific embodiments of this system are described below.
[1188] Reading and processing audio files
[1189] The server reads multiple audio files from a directory where audio files are stored. These audio files are typically saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "Customer support inquiry details". The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[1190] Learning an artificial intelligence model
[1191] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[1192] User voice input and recognition
[1193] The terminal accepts voice input from the user. This voice is saved in a specific format (e.g., "user_input.wav"). The terminal then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice is converted into text data. The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is converted back into numerical data using the same method as during training on the server, and padding is applied.
[1194] Predictions and results presented using a pre-trained model.
[1195] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. The prediction result (the most appropriate label) is displayed to the user. For example, if the user inputs "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure." The user can receive this information visually or audibly. This allows the user to quickly and accurately obtain the information they need in real time.
[1196] Specific example
[1197] For example, in the smartphone app "Smart Voice Shopping Helper," suppose a user says, "Please tell me how to return an item." The app records the user's voice and uploads it to the server. The server converts the audio file into text and then creates a feature vector as numerical data. Using a trained model, the text "Please tell me how to return an item" is analyzed, and the user is presented with "Explanation of the Return Procedure" as the optimal response. An example of this prompt would be as follows:
[1198] Example of a prompt
[1199] "Please convert the audio file `user_input.wav` into text data, then convert that into numerical data and input it. Next, we will use a pre-trained multilayer perceptron model to predict the best response to the user's query and display the result."
[1200] This invention enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to receive information quickly and accurately.
[1201] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1202] Step 1:
[1203] The server reads multiple audio files from a directory where audio files are stored. These audio files are usually saved in .wav format. The server processes each audio file sequentially.
[1204] Input: Multiple .wav audio files
[1205] Output: Audio data
[1206] Step 2:
[1207] The server uses a speech recognition library to convert each loaded audio file into text data. For example, "Audio file 01.wav" is converted into the text data "This is the content of your customer support inquiry."
[1208] Input: Audio data
[1209] Output: Text data
[1210] Step 3:
[1211] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[1212] Input: Text data
[1213] Output: Feature vector
[1214] Step 4:
[1215] If the feature vectors have different lengths, the server uses padding to unify the vector lengths.
[1216] Input: Feature vector
[1217] Output: Unified feature vector
[1218] Step 5:
[1219] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used.
[1220] Input: Unified feature vector and labels
[1221] Output: Trained model
[1222] Step 6:
[1223] The server saves the trained model as a file.
[1224] Input: Trained model
[1225] Output: Saved trained model file
[1226] Step 7:
[1227] The device accepts the user's voice input, and this audio is saved in a specific format (e.g., "user_input.wav").
[1228] Input: User voice input
[1229] Output: Audio file (user_input.wav)
[1230] Step 8:
[1231] The device uses a speech recognition library to convert this audio file (user_input.wav) into text data. For example, if the user says, "Please tell me how to return the item," that audio will be converted into text data.
[1232] Input: Audio file (user_input.wav)
[1233] Output: Text data
[1234] Step 9:
[1235] The device converts this text data into numerical data and creates a feature vector. The feature vector is then converted back to numerical data and padded using the same method as during training on the server.
[1236] Input: Text data
[1237] Output: Feature vector
[1238] Step 10:
[1239] The device loads a saved, pre-trained model. It then inputs the feature vector obtained from the user's input into the model to perform predictions.
[1240] Input: Feature vectors and pre-trained model
[1241] Output: Prediction results (labels)
[1242] Step 11:
[1243] The device displays the prediction results to the user. For example, if the user enters "Please tell me how to return the item," the prediction result will be displayed as "Explanation of the return procedure."
[1244] Input: Prediction result
[1245] Output: Displayed to the user (prediction result)
[1246] This enables efficient processing of audio files and highly accurate predictions using artificial intelligence models, allowing users to obtain real-time, fast, and accurate information.
[1247] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1248] The present invention is a system that efficiently processes audio files and performs classification, prediction, and emotion recognition of audio data using an artificial intelligence model and emotion engine. Specific embodiments of this system are described below.
[1249] Reading and processing audio files
[1250] The server reads multiple audio files from the specified directory. These audio files are usually saved in .wav format. The server then uses a speech recognition library to convert each audio file into text data. For example, "Audio File 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[1251] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses padding to unify the lengths of the vectors.
[1252] Learning an artificial intelligence model
[1253] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[1254] Introducing an emotional engine
[1255] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[1256] User voice input and recognition
[1257] The device accepts voice input from the user. This voice data is saved as a file named "user_input.wav". The device then uses a speech recognition library to convert this voice file into text data. For example, if the user says, "Please tell me how to return the item," that voice will be converted into text data.
[1258] The terminal then converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then padding is applied.
[1259] Predictions and results presented using trained models and emotion engines.
[1260] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[1261] Specific example
[1262] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[1263] With the configuration described above, the present invention can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[1264] The following describes the processing flow.
[1265] Step 1:
[1266] The server reads all audio files (e.g., .wav format) from the specified directory. During the reading process, it retrieves the filename of each file in the directory and determines whether it is an audio file.
[1267] Step 2:
[1268] The server uses the speech_recognition library to sequentially convert the loaded audio files into text data. The converted results are stored in a list. For example, "audio file01.wav" is converted to "Customer support inquiry details".
[1269] Step 3:
[1270] The server retrieves the part of each audio file's filename excluding the extension as a label and stores it in a separate list. This ensures that the audio data is associated with its corresponding label.
[1271] Step 4:
[1272] The server converts the transformed text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector.
[1273] Step 5:
[1274] The server pads all feature vectors so that they are all the same length. This unifies the vector lengths, making calculations in the AI model easier.
[1275] Step 6:
[1276] The server uses the generated feature vectors and labels to train a multilayer perceptron (MLP) model. Once the training process is complete, it saves the trained model to a file.
[1277] Step 7:
[1278] The user inputs their questions or requests as voice. This voice data is saved on the device as a file named "user_input.wav".
[1279] Step 8:
[1280] The device uses the speech_recognition library to convert the user's input into text data. For example, "Please tell me how to return the item" would be converted into text data.
[1281] Step 9:
[1282] The device converts the text data entered by the user into numerical data, and, as during training, maps each character to its ASCII code to create a feature vector.
[1283] Step 10:
[1284] The device performs padding to unify the lengths of the feature vectors. These feature vectors are then formatted to match the format used during training.
[1285] Step 11:
[1286] The device loads a saved, pre-trained model and inputs the feature vector obtained from the user's input into the model to perform predictions.
[1287] Step 12:
[1288] The device uses an emotion engine to recognize emotions from the user's voice input. The emotion engine identifies the user's emotional state by analyzing voice features (such as pitch and energy). For example, emotions such as "anger," "joy," and "sadness" can be recognized.
[1289] Step 13:
[1290] The device generates the optimal response based on the prediction results and recognized emotion information. For example, if the user's emotion is recognized as "anger," a more polite and calmer tone of response will be generated.
[1291] Step 14:
[1292] The terminal displays the most appropriate response to the user. For example, in response to the input "Please tell me how to return the item," the terminal will present an explanation of the return procedure along with a response in a tone that matches the user's emotions.
[1293] (Example 2)
[1294] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1295] Conventional speech recognition systems often struggled to achieve sufficient accuracy in classifying and predicting speech data. Furthermore, they failed to consider user emotions, resulting in inappropriate responses and decreased user satisfaction. This invention aims to solve these problems by improving the accuracy of speech data classification and prediction, as well as generating responses based on user emotions.
[1296] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading audio data from a directory storing audio data and converting each audio data into text, means for converting the converted text data into numerical data and creating a feature vector, and means for training a learning model using the created feature vector and corresponding labels and saving the trained model. This makes it possible to improve the classification and prediction accuracy of audio data.
[1297] The system also includes means for converting user-input speech into text and numerical data to create a feature vector, means for predicting the feature vector obtained from user input using a stored pre-trained model and outputting the prediction result, means for using an emotion engine to identify the emotional state based on the features extracted from the user's input speech, and means for generating an optimal response based on the identified emotional state and prediction result and presenting it to the user. This makes it possible to generate an appropriate response based on the user's emotions.
[1298] "Audio data" refers to file or data formats that store audio as digital signals.
[1299] A "directory" is a computer folder or path used to organize and store files and data.
[1300] "Text data" refers to string data obtained by converting audio data into text format.
[1301] "Numerical data" refers to data that is represented as a numerical value, such as strings or other data.
[1302] A "feature vector" is a representation of data characteristics quantified and expressed in vector format, and is used as input for machine learning models.
[1303] A "label" is an identifier or tag used to classify data.
[1304] A "learning model" is a predictive model built on data using machine learning algorithms.
[1305] A "trained model" is a model that has completed training using training data and is ready to be used for prediction and classification.
[1306] "Prediction result" refers to the result calculated on the input data using a trained model.
[1307] An "emotion engine" refers to software or algorithms that identify a user's emotional state from voice or text data.
[1308] An "optimal response" is the most appropriate answer or message generated based on the user's input and their emotional state.
[1309] The present invention is a system for efficiently processing speech data and performing classification, prediction, and emotion recognition of speech data using an artificial intelligence model and an emotion engine. This system uses a server and terminals as hardware, and a speech recognition library, a machine learning model, and an emotion engine as software. Specific embodiments of the present invention are as follows.
[1310] Reading and processing audio data
[1311] The server reads audio data in .wav format from a specified directory (e.g., / audio_files / ). During this process, the server uses a speech recognition library (e.g., Google Cloud Speech-to-Text API) to convert each audio file into text data. For example, "audio file01.wav" is converted into the text "Customer support inquiry details". The server then converts the text data into numerical data and creates a feature vector. Each character is mapped to an ASCII code, and padding is used to unify the length of the vector.
[1312] Learning an artificial intelligence model
[1313] The server uses the prepared feature vectors and their corresponding labels (e.g., audio file names) to train an artificial intelligence model. A multilayer perceptron (MLP) model is used for this training. Once the training is complete, the model is saved as a file (e.g., / models / audio_model.mlp). This allows the model to be reused in prediction processing.
[1314] Introducing an emotional engine
[1315] The server incorporates an emotion engine (e.g., IBM Watson Tone Analyzer) to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch, energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[1316] User voice input and recognition
[1317] The terminal accepts the user's voice input and saves it as "user_input.wav". The terminal is equipped with a speech recognition library and converts the saved voice data into text data. For example, if the user says "Please tell me how to return the item," that voice is converted into text data. Next, the terminal converts the text data into numerical data and creates a feature vector. Similar to the method used on the server, each character is converted into a numerical code and padding is performed.
[1318] Predictions and results presented using trained models and emotion engines.
[1319] The device loads a pre-trained model from the server and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "Please tell me how to return the item" and the emotion "anger" is recognized from the voice, a more polite response will be presented along with an explanation of the return procedure.
[1320] Specific example
[1321] As a concrete example, consider a scenario where a large amount of voice data for customer support has been accumulated. When a user says, "Please tell me the exchange procedure," the device converts the voice into text data and creates a feature vector as numerical data. Next, a trained model is used to analyze the text "Please tell me the exchange procedure," and the optimal response, "Explanation of the exchange procedure," is generated. Furthermore, if the user's emotion is recognized as "anxiety," the response is given in a tone appropriate to that emotion.
[1322] Example of a prompt
[1323] Examples of prompts to input into a generative AI model include the following:
[1324] "Please tell me how to return an item."
[1325] "I'd like to know about the exchange procedure."
[1326] "I would like to contact customer support."
[1327] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1328] Step 1:
[1329] Reading audio data and converting it to text.
[1330] The server reads multiple .wav audio files from a specified directory (e.g., / audio_files / ). Each read audio file is converted to text data using a speech recognition library (e.g., Google Cloud Speech-to-Text API). Given .wav audio data as input, the corresponding text data is obtained as output. For example, "Audio file 01.wav" is converted to the text "This is your customer support inquiry."
[1331] Step 2:
[1332] Numerical conversion of text data and creation of feature vectors
[1333] The server converts the transformed text data into numerical data. It maps each character to its ASCII code and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. If the vectors have different lengths, the server uses padding (e.g., zero padding) to unify the lengths of the vectors. For example, the text "Customer Support" is converted to a numerical code for each character and then formatted into an appropriate vector.
[1334] Step 3:
[1335] Learning an artificial intelligence model
[1336] The server trains an artificial intelligence model using the prepared feature vectors and corresponding labels (obtained from the audio file name). A multilayer perceptron (MLP) model is used in this process. The feature vectors and labels are given as input, and the trained model is obtained as output. The trained model is saved as a file (e.g., / models / audio_model.mlp).
[1337] Step 4:
[1338] Introducing an emotional engine
[1339] The server installs and sets up an emotion engine (e.g., IBM Watson Tone Analyzer). The emotion engine analyzes speech features (such as pitch and energy) to identify the user's emotional state. Speech data features are provided as input, and the identified emotional state is output. This adds emotion recognition functionality to the system.
[1340] Step 5:
[1341] User voice input and text conversion
[1342] The device accepts user voice input and saves it as "user_input.wav". Next, it uses a speech recognition library to convert this voice data into text data. Given user voice data in .wav format as input, the corresponding text data is obtained as output. For example, if the user says "Please tell me how to return the item," that voice is converted into the text "Please tell me how to return the item."
[1343] Step 6:
[1344] Numerical conversion of user voice text data and creation of feature vectors
[1345] The terminal converts the acquired text data into numerical data and creates a feature vector. Text data is given as input, and the corresponding feature vector is output. Similar to the server, each character is converted into a numerical code, and the vector length is standardized using padding.
[1346] Step 7:
[1347] Prediction using a pre-trained model
[1348] The device uses a pre-trained model obtained from the server to make predictions using the user's feature vector as input data. The feature vector is given as input, and the prediction result is obtained as output. This prediction result serves as an answer to the user's inquiry.
[1349] Step 8:
[1350] Emotion recognition using an emotion engine
[1351] The device uses an emotion engine to recognize emotions from the user's voice. The input is feature vectors of the voice data, and the output is the identified emotional state. For example, the emotion "anger" might be recognized from the user's voice.
[1352] Step 9:
[1353] Generating and presenting the optimal response
[1354] The device combines prediction results and emotion data to generate the optimal response and present it to the user. Prediction results and identified emotion states are given as input, and an appropriate response is obtained as output. For example, combining the prediction "Please tell me how to return the item" with the emotion "anger" results in a more polite response.
[1355] Through the steps described above, this system can respond efficiently and accurately to user voice input, and by combining this with emotion recognition, it can provide more appropriate support.
[1356] (Application Example 2)
[1357] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1358] While voice-based ordering systems exist in food delivery services, they face challenges in providing appropriate responses and suggestions that take into account the user's emotional state. In particular, there is a need to recognize the user's emotions during the ordering process and provide services based on those emotions. This is expected to improve the user experience and increase customer satisfaction.
[1359] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for reading audio files from a storage device that stores audio files and converting each audio file into text; means for converting the converted text data into numerical data and creating a feature vector; means for training an artificial intelligence model using the created feature vector and corresponding labels and saving the trained model; means for converting the voice input by the user into text, converting it into numerical data and creating a feature vector; means for predicting the feature vector obtained from the user's input using the saved trained model and outputting the prediction result; means for using an emotion engine that recognizes emotions from the user's voice input and combining the emotion recognition data with the prediction result; and means for analyzing the user's input voice and generating and providing an optimal response. This makes it possible to recognize the emotional state of the user when they place an order by voice and to provide appropriate service based on that state.
[1360] An "audio file" is a file format containing data that stores a user's voice data.
[1361] "Storage device" is a general term for hardware and media used to store data.
[1362] "Means of converting to text" refers to technologies and software for converting audio data into text data.
[1363] "Numerical data" refers to a numerical representation of data that has been transformed based on a specific algorithm.
[1364] A "feature vector" is a vector-based data structure composed of multiple numerical values extracted from audio or text data.
[1365] An "artificial intelligence model" is a model that uses a machine learning algorithm trained on data to perform predictions and classifications.
[1366] A "trained model" is an artificial intelligence model that has completed training using training data and is now capable of performing a specific task.
[1367] An "emotion engine" is a technology or algorithm that analyzes the features of voice data to identify the user's emotional state.
[1368] "Prediction result" refers to the result calculated by the artificial intelligence model based on the given input data.
[1369] "Means for generating responses" refer to technologies and software that generate optimal responses and suggestions based on the user's input data and emotional state.
[1370] This invention relates to a system that efficiently processes audio files and uses an artificial intelligence model and emotion engine to classify, predict, and recognize emotions in audio data. This system is particularly applicable to food delivery services and can provide order details and appropriate suggestions based on the user's voice input. Specific embodiments of this system are described below.
[1371] Reading and processing audio files
[1372] The server reads multiple audio files from the specified storage device. These audio files are typically saved in .wav format. The server then uses speech recognition software to convert each audio file into text data. For example, "Audio file 01.wav" is converted into text data that reads "This is the content of your customer support inquiry."
[1373] The server then converts the converted text data into numerical data. Specifically, it maps each character to its ASCII code and creates a feature vector. If the feature vectors have different lengths, the server uses data padding to unify the lengths of the vectors.
[1374] Learning an artificial intelligence model
[1375] The server uses feature vectors and their corresponding labels (obtained from audio file names) to train an artificial intelligence model. In this invention, a multilayer perceptron (MLP) model is used. The server saves the trained model as a file. This makes it possible to reuse the model in subsequent prediction processing.
[1376] Introducing an emotional engine
[1377] The server incorporates an emotion engine to recognize emotions based on the user's voice input. The emotion engine analyzes voice features (e.g., pitch and energy) to identify the user's emotional state (joy, sadness, anger, etc.). The output of the emotion engine is used to refine prediction results and generate optimal responses.
[1378] User voice input and recognition
[1379] The user uses the smartphone application "Emotion-Aware Food Delivery Assistant" for voice input. When the user says, "I want to order a pizza," the voice is saved as a file named "user_input.wav." The device then uses speech recognition software to convert this voice file into text data. For example, when the user says, "I want to order a pizza," the voice is converted into text data.
[1380] The device converts this text data into numerical data and creates a feature vector. The feature vector is created by converting each character into a numerical code, similar to the training process on the server, and then data padding is applied.
[1381] Predictions and results presented using trained models and emotion engines.
[1382] The device loads a pre-trained model and inputs the feature vector obtained from the user's input into the model to make predictions. Furthermore, the device uses an emotion engine to recognize emotions from the user's voice. By combining this emotion data with the prediction results, it generates the optimal response and displays it to the user. For example, if the user inputs "I want to order a pizza" and the emotion of "joy" is recognized from the voice, the device will suggest campaign information and coupons.
[1383] Specific example
[1384] Here's a concrete example: Suppose a user says, "I want to order a pizza for a party. What toppings do you recommend?" The device converts this speech into text data and creates a feature vector as numerical data. Next, it uses a trained model to analyze the text "I want to order a pizza" and generates "recommended toppings" as the optimal response. Furthermore, if the user's emotion is recognized as "joy," promotional information and coupons are suggested.
[1385] Example of a prompt
[1386] The prompt text when a user types "I want to order a pizza for a party. What toppings do you recommend?" is as follows:
[1387] I want to order pizza for a party. What toppings would you recommend?
[1388] In this way, it becomes possible to provide appropriate services that take into account the user's emotional state.
[1389] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1390] Step 1:
[1391] The server reads multiple audio files from its storage device. It identifies which files to process and uses speech recognition software to convert those audio files (e.g., in .wav format) into text data. This converts the audio files into text data. The input is audio files, and the output is text data.
[1392] Step 2:
[1393] The server maps each character in the converted text data to an ASCII code and converts it into numerical data. Next, it creates a feature vector using the numerical data. If the feature vectors have different lengths, data padding is performed to unify the lengths of the vectors. The input is text data, and the output is a feature vector of unified length.
[1394] Step 3:
[1395] The server trains an artificial intelligence model using the created feature vectors and labels obtained from the audio file names. It uses a multilayer perceptron (MLP) model for training and saves the trained model as a file. The input is the feature vectors and labels, and the output is the trained model.
[1396] Step 4:
[1397] The user uses a smartphone application to perform voice input. The device saves this voice data as "user_input.wav". Input is voice input, and output is an audio file.
[1398] Step 5:
[1399] The device reads the stored audio file and converts it into text data using speech recognition software. This converts the audio into text data. The input is an audio file, and the output is text data.
[1400] Step 6:
[1401] The terminal converts the converted text data into numerical data and creates a feature vector. Similar to what was done on the server, each character is converted into a numerical code to generate a feature vector, and the length of the vectors is standardized. The input is text data, and the output is a feature vector.
[1402] Step 7:
[1403] The device loads a pre-trained model obtained from the server and inputs the feature vector obtained from the user's input into the model to perform predictions. This results in the optimal prediction result regarding the user's speech content. The input is the feature vector, and the output is the prediction result.
[1404] Step 8:
[1405] The device analyzes the features of the audio data and uses an emotion engine to recognize the user's emotional state. It combines the emotion recognition data with the prediction results to generate an optimal response that corresponds to the user's emotions. The input is the audio data and prediction results, and the output is the response including the emotion recognition data.
[1406] Step 9:
[1407] The generated optimal response is delivered to the user via the device. The response includes emotion-based suggestions and coupon information. The input is the response containing emotion recognition data, and the output is what is presented to the user.
[1408] This enables the provision of appropriate and emotionally responsive services based on voice input.
[1409] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1410] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1411] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1412] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1413] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1414] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1415] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1416] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1417] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1418] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1419] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1420] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1421] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1422] 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.
[1423] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1424] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1425] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1426] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1427] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1428] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1429] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1430] The following is further disclosed regarding the embodiments described above.
[1431] (Claim 1)
[1432] A means of reading audio files from a directory where audio files are stored and converting each audio file to text,
[1433] A means for converting the converted text data into numerical data and creating a feature vector,
[1434] A means for training an artificial intelligence model using the created feature vectors and corresponding labels, and for saving the trained model,
[1435] A means for converting user-inputted speech into text, then into numerical data, and creating a feature vector,
[1436] A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result,
[1437] A system that includes this.
[1438] (Claim 2)
[1439] The system according to claim 1, wherein the means for reading audio files and converting each audio file into text is to use a speech recognition library.
[1440] (Claim 3)
[1441] The system according to claim 1, comprising means for performing padding to unify the lengths of the created feature vectors.
[1442] "Example 1"
[1443] (Claim 1)
[1444] A means of reading audio data from a directory that stores audio data and converting each audio data to text,
[1445] A means for converting the converted text data into numerical data and creating a feature vector,
[1446] A means for training a multilayer perceptron model using the created feature vectors and corresponding labels, and for saving the trained model,
[1447] A means by which a terminal receives voice input from a user, converts it to text, converts it to numerical data, and creates a feature vector,
[1448] A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result,
[1449] A system that includes this.
[1450] (Claim 2)
[1451] The system according to claim 1, wherein the means for reading audio data and converting each audio data into text is to use a speech recognition library.
[1452] (Claim 3)
[1453] The system according to claim 1, comprising means for performing padding to unify the lengths of the created feature vectors.
[1454] "Application Example 1"
[1455] (Claim 1)
[1456] A means of reading audio files from a directory where audio files are stored and converting each audio file to text,
[1457] A means for converting the converted text data into numerical data and creating a feature vector,
[1458] A means for training an artificial intelligence model using the created feature vectors and corresponding labels, and for saving the trained model,
[1459] A means for converting user-inputted speech into text, then into numerical data, and creating a feature vector,
[1460] A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result,
[1461] A means of presenting prediction results to the user,
[1462] A system that includes this.
[1463] (Claim 2)
[1464] The system according to claim 1, wherein the means for reading audio files and converting each audio file into text is to use a speech recognition library.
[1465] (Claim 3)
[1466] The system according to claim 1, comprising means for performing padding to unify the lengths of the created feature vectors.
[1467] "Example 2 of combining an emotion engine"
[1468] (Claim 1)
[1469] A means of reading audio data from a directory that stores audio data and converting each audio data to text,
[1470] A means for converting the converted text data into numerical data and creating a feature vector,
[1471] A means for training a learning model using the created feature vectors and corresponding labels, and for saving the trained model,
[1472] A means for converting user-inputted speech into text, then into numerical data, and creating a feature vector,
[1473] A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result,
[1474] A method using an emotion engine that identifies emotional states based on features extracted from the user's input voice,
[1475] A means for generating and presenting the optimal response to the user based on identified emotional states and predicted results,
[1476] A system that includes this.
[1477] (Claim 2)
[1478] The system according to claim 1, wherein the means for reading audio data and converting each audio data into text is to use a speech recognition library.
[1479] (Claim 3)
[1480] The system according to claim 1, comprising means for performing padding to unify the lengths of the created feature vectors.
[1481] "Application example 2 when combining with an emotional engine"
[1482] (Claim 1)
[1483] A means for reading audio files from a storage device that stores audio files and converting each audio file into text,
[1484] A means for converting the converted text data into numerical data and creating a feature vector,
[1485] A means for training an artificial intelligence model using the created feature vectors and corresponding labels, and for saving the trained model,
[1486] A means for converting user-inputted speech into text, then into numerical data, and creating a feature vector,
[1487] A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result,
[1488] A method for using an emotion engine that recognizes emotions from the user's voice input, and combining the emotion recognition data with prediction results,
[1489] A means for analyzing the user's input voice and generating and providing the optimal response,
[1490] A system that includes this.
[1491] (Claim 2)
[1492] The system according to claim 1, wherein the means for reading audio files and converting each audio file into text is to use speech recognition software.
[1493] (Claim 3)
[1494] The system according to claim 1, comprising means for performing data padding to unify the lengths of the created feature vectors. [Explanation of symbols]
[1495] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of reading audio files from a directory where audio files are stored and converting each audio file to text, A means for converting the converted text data into numerical data and creating a feature vector, A means for training an artificial intelligence model using the created feature vectors and corresponding labels, and for saving the trained model, A means for converting user-inputted speech into text, then into numerical data, and creating a feature vector, A means for predicting a feature vector obtained from user input using a saved, pre-trained model and outputting the prediction result, A system that includes this.
2. The system according to claim 1, wherein the means for reading audio files and converting each audio file into text is to use a speech recognition library.
3. The system according to claim 1, comprising means for performing padding to unify the lengths of the created feature vectors.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A