Voice interaction method, server and readable storage medium

By performing slot recognition and natural language understanding of voice requests forwarded by the vehicle, combined with historical request information, the target input information and intent tags are determined, which solves the problem of user weak intention voice request recognition, and improves user experience and interaction fluency.

CN119495292AActive Publication Date: 2025-02-21GUANGZHOU XIAOPENG MOTORS TECH CO LTD

Patent Information

Application Number
CN202411630918.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2025-02-21
Estimated Expiration
2044-11-14

AI Technical Summary

Technical Problem

The prior art is difficult to accurately identify the user sending vague or incomplete voice requests, resulting in poor user experience.

Method used

By receiving the current round voice request forwarded by the vehicle, slot recognition is performed, combining the historical round voice request and natural language understanding results, the target input information is determined, and the intent tag is determined based on the target input information, and the voice interaction is finally completed.

Benefits of technology

Accurately identify users' weak intention voice requests, reduce misunderstandings, reduce the probability of error responses, improve user experience, and make interactions more natural and smooth.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119495292A_ABST
    Figure CN119495292A_ABST
Patent Text Reader

Abstract

The invention discloses a voice interaction method, a server and a nonvolatile computer readable storage medium containing a computer program. The method comprises the following steps: receiving a current round voice request forwarded by a vehicle; and carrying out slot position identification on the current round of voice request to obtain a slot position identification result. And determining target input information according to the current round of voice request, the slot recognition result, the historical round of voice request and the natural language understanding result of the historical round of voice request. And according to the target input information, determining an intention label of the current round of voice request. And completing voice interaction according to the intention label. Thus, the target input information is determined by combining the current round of voice request, the slot position recognition result, the historical round of voice request and the understanding result thereof, intention recognition is performed on the target input information, the weak intention voice request of the user is accurately recognized, misunderstanding of the user request is reduced, the probability of wrong response is reduced, the user experience is improved, and the user experience is improved. And the interaction is more natural and smooth.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of voice interaction technology, and in particular to a voice interaction method, a server and a non-volatile computer-readable storage medium containing a computer program. Background Art

[0002] In the related art, when a user issues a voice request with weak semantics, such as ambiguous or incomplete expressions, the intent is usually recognized through a classification model, and then the voice request is processed. However, this often fails to accurately recognize the user's voice request with weak intent, resulting in a poor user experience. Summary of the invention

[0003] The embodiments of the present invention provide a voice interaction method, a server and a non-volatile computer-readable storage medium containing a computer program.

[0004] An embodiment of the present invention provides a voice interaction method, the method comprising:

[0005] Receive the current round voice request forwarded by the vehicle;

[0006] Performing slot recognition on the current round of voice requests to obtain a slot recognition result;

[0007] Determine target input information according to the current round voice request, the slot recognition result, the historical round voice request, and the natural language understanding result of the historical round voice request;

[0008] Determining the intent label of the current round of voice request according to the target input information;

[0009] Complete the voice interaction according to the intent tag.

[0010] In this way, an embodiment of the present invention provides a voice interaction method. First, a current round voice request forwarded by a vehicle is received. Subsequently, the server performs slot identification on the current round voice request and obtains the slot identification result. Next, the server determines the target input information based on the current round voice request, the slot identification result, the historical round voice request, and the natural language understanding result of the historical round voice request. Then, the server determines the intent label of the current round voice request based on the target input information. Finally, the server completes the voice interaction based on the intent label. In this way, the target input information is determined by combining the current round voice request, the slot identification result, the historical round voice request and its understanding result, and the intent identification is performed on the target input information, so as to accurately identify the user's weak intent voice request, reduce the misunderstanding of the user's request, and reduce the probability of incorrect response, thereby improving the user experience and making the interaction more natural and smooth.

[0011] In some embodiments, determining the target input information according to the current round voice request, the slot recognition result, the historical round voice request, and the natural language understanding result of the historical round voice request includes:

[0012] The preset mark, the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result are concatenated to determine the first temporary input information;

[0013] Performing position coding processing on the first temporary input information to determine second temporary input information;

[0014] Determining third temporary input information according to the round information of the current round voice request and the round information of the historical round voice request;

[0015] The target input information is obtained according to the first temporary input information, the second temporary input information and the third temporary input information.

[0016] In this way, the server splices the preset mark, the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result to determine the first temporary input information. Next, the server performs position encoding processing on the first temporary input information to determine the second temporary input information. Then, the server determines the third temporary input information based on the round information of the current round voice request and the round information of the historical round voice request. Finally, the server obtains the target input information based on the first temporary input information, the second temporary input information and the third temporary input information. In this way, the ability to understand the context of the conversation can be improved, and the model's understanding of the positional relationship of elements in the input sequence can be enhanced, the model's ability to process sequence data can be improved, and the server can accurately capture the user's intentions and contextual information, and ensure the coherence and accuracy of the conversation.

[0017] In some implementations, completing the voice interaction according to the intention tag includes:

[0018] In the case where the intent tag is the first intent tag, the application interface parameters are filled in according to the slot recognition result and the application interface of the historical round voice request, and the output execution result is sent to the vehicle to complete the voice interaction.

[0019] In this way, when the intent tag is the first intent tag, the server executes the API parameter filling according to the slot recognition result and the API of the historical voice request, and outputs the execution result and sends it to the vehicle to complete the voice interaction. In this way, the end-to-end architecture can reduce the latency of the vehicle system and improve the response speed to user commands. At the same time, the additional features of the slot recognition result of the user's voice request and the API of the historical voice request can be integrated to accurately identify the user's intent and required parameters, and can call the correct API to perform the corresponding operation, thereby meeting the vehicle control requirements.

[0020] In some implementations, according to the slot recognition result and the API of the historical round voice request, executing API parameter filling, outputting the execution result and sending it to the vehicle to complete the voice interaction, includes:

[0021] Determine a target parameter for slot filling according to the current round voice request, the slot recognition result, the application program interface of the historical round voice request, and the application program interface type of the historical round voice request;

[0022] According to the slot identification result and the target parameter, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

[0023] In this way, the server determines the target parameters for slot filling based on the current round of voice requests, slot recognition results, the API of historical rounds of voice requests, and the API type of historical rounds of voice requests. Then, the server executes the API parameter filling based on the slot recognition results and target parameters, and outputs the execution results and sends them to the vehicle to complete the voice interaction. In this way, according to the slot recognition results and target parameters, the predicted API is selected to execute the API parameter filling, and the execution results are directly output and sent to the vehicle to complete the voice interaction, which can reduce the delay of the vehicle system and improve the response speed to user commands.

[0024] In some implementations, determining a target parameter for slot filling according to the current round voice request, the slot recognition result, the application program interface of the historical round voice request, and the application program interface type of the historical round voice request includes:

[0025] The current round of voice request and the slot value of the slot recognition result are concatenated as a text sequence and encoded to obtain a first feature vector;

[0026] Mapping the slot type of the slot identification result to a first identity identifier, and converting the first identity identifier into a second feature vector;

[0027] Mapping the application program interface type of the historical round voice request to a second identity identifier, and converting the second identity identifier into a third feature vector;

[0028] Mapping the parameters of the application program interface of the historical round voice request into a third identity identifier, and converting the third identity identifier into a fourth feature vector;

[0029] The first eigenvector, the second eigenvector, the third eigenvector, and the fourth eigenvector are processed using a slot filling model to determine the target parameter.

[0030] In this way, the server concatenates the slot values ​​of the current round of voice request and the slot recognition result as a text sequence for encoding to obtain a first feature vector. Next, the server maps the slot type of the slot recognition result to a first identity identifier, and converts the first identity identifier to a second feature vector. Subsequently, the application interface type of the historical round of voice request is mapped to a second identity identifier, and the second identity identifier is converted to a third feature vector. Then, the server maps the parameters of the application interface of the historical round of voice request to a third identity identifier, and converts the third identity identifier to a fourth feature vector. Finally, the server uses the slot filling model to process the first feature vector, the second feature vector, the third feature vector, and the fourth feature vector to determine the target parameters. In this way, by incorporating features such as the slot type, application interface type, and application interface parameters of the user slot recognition result, the accuracy of the slot filling task can be significantly improved, thereby improving the accuracy of the application interface parameter filling task.

[0031] In some implementations, completing the voice interaction according to the intention tag includes:

[0032] When the intent tag is the second intent tag and the current round of voice request is the first round of voice request, performing application program interface prediction on the current round of voice request based on a preset database;

[0033] According to the slot recognition result and the predicted application program interface, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

[0034] In this way, when the intent tag is the second intent tag and the current round of voice requests is the first round of voice requests, the server predicts the application interface for the current round of voice requests based on the preset database. Then, the server fills in the application interface parameters according to the slot recognition result and the predicted application interface, and outputs the execution result and sends it to the vehicle to complete the voice interaction. In this way, based on the preset database, the application interface is predicted, and the server can obtain the commands or operations that need to be executed when the intent tag is the second intent tag, thereby performing human-computer interaction and providing a convenient and natural user experience.

[0035] In some implementations, completing the voice interaction according to the intention tag includes:

[0036] When the intent tag is the second intent tag and the current round of voice request is not the first round of voice request, the current round of voice request is rejected.

[0037] In this way, when the intent tag is the second intent tag and the current round of voice request is not the first round of voice request, the server rejects the current round of voice request. In this way, when the server cannot determine the user's intent, in order to avoid providing an erroneous response, the server will choose not to process the non-first round of voice request, thereby improving the user experience.

[0038] In some implementations, completing the voice interaction according to the intention tag includes:

[0039] When the intent tag is the third intent tag, performing application program interface prediction on the current round of voice request;

[0040] According to the slot recognition result and the predicted application program interface, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

[0041] In this way, when the intent tag is the third intent tag, the server predicts the application program interface for the current round of voice requests. Then, the server executes the application program interface parameter filling according to the slot recognition result and the predicted application program interface, and outputs the execution result and sends it to the vehicle to complete the voice interaction. In this way, the use of an end-to-end architecture can reduce the latency of the vehicle system and improve the response speed to user commands. At the same time, the slot recognition results of the user's voice request and the additional features of the predicted application program interface are integrated to accurately identify the user's intentions and required parameters, and can call the correct application program interface to perform the corresponding operations, thereby meeting the vehicle control requirements.

[0042] The present invention further provides a server, wherein the server comprises a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the voice interaction method described in any one of the above implementation modes is implemented.

[0043] The present invention also provides a non-volatile computer-readable storage medium containing a computer program. When the computer program is executed by one or more processors, the voice interaction method described in any one of the above implementations is implemented.

[0044] Additional aspects and advantages of the embodiments of the present invention will be given in part in the following description, and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:

[0046] Figure 1 This is one of the flow charts of the voice interaction method according to the implementation mode of the present application;

[0047] Figure 2 This is the second flow chart of the voice interaction method according to the implementation mode of the present application;

[0048] Figure 3 is a flowchart of an example of a voice interaction method according to an embodiment of the present application;

[0049] Figure 4 This is the third flow chart of the voice interaction method according to the implementation mode of the present application;

[0050] Figure 5 This is the fourth flow chart of the voice interaction method according to the implementation mode of the present application;

[0051] Figure 6 This is the fifth flow chart of the voice interaction method according to the implementation mode of the present application;

[0052] Figure 7 This is the sixth flow chart of the voice interaction method according to the implementation mode of the present application;

[0053] Figure 8 This is the seventh flow chart of the voice interaction method according to the implementation mode of the present application;

[0054] Fig. 9 This is the eighth flow chart of the voice interaction method of the implementation mode of the present application. DETAILED DESCRIPTION

[0055] The embodiments of the present invention are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals represent the same or similar elements or elements having the same or similar functions from beginning to end. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the embodiments of the present invention, and cannot be understood as limiting the embodiments of the present invention.

[0056] In the related art, when a user makes a weak-intent voice request, the intent is usually identified through a classification model, and then the voice request is processed.

[0057] The classification model can provide a clear decision boundary, so that the system can clearly judge the strength of the intent and respond accordingly. In addition, the classification model is relatively simple, easy to implement and train, and can quickly classify sentences to determine whether they have weak intent. In addition, the performance of the classification model can be intuitively evaluated through indicators such as accuracy, recall, and F1 score, which is convenient for optimization and improvement. Once the classification model is trained, it can be easily extended to new fields or applications by simply retraining or fine-tuning the model, and has good scalability.

[0058] However, classification models may face the problem of low classification accuracy, especially when dealing with vague or ambiguous sentences, the model may mistakenly classify strong intent as weak intent, or vice versa. In addition, the classification model may not be able to fully utilize the contextual information, resulting in an insufficient understanding of the sentence intent, thus affecting the accuracy of recognition. In summary, in this case, traditional classification models may not be able to effectively handle users' weak-intent instructions because they rely on clear and complete instructions to make accurate predictions. This can lead to a poor user experience because the system cannot understand the user's true intent or incorrectly executes the user's instructions.

[0059] Weak intent refers to an intent that is not clear, complete, or direct enough from the user. This intent may be difficult for the system to accurately understand and respond to due to the user's vague words, missing information, or unclear context. For example, the user may say "I'm a little cold" instead of explicitly asking to adjust the air conditioning temperature; or the user may say "play a song" but do not provide a specific song title.

[0060] Based on the above questions, please refer to Figure 1 , the present application embodiment provides a voice interaction method, the method comprising:

[0061] 01: Receive the current round voice request forwarded by the vehicle;

[0062] 02: Perform slot recognition on the current round of voice requests and obtain the slot recognition results;

[0063] 03: Determine the target input information based on the current round voice request, slot recognition results, historical round voice requests, and natural language understanding results of historical round voice requests;

[0064] 04: Determine the intent label of the current round of voice request based on the target input information;

[0065] 05: Complete voice interaction based on intent tags.

[0066] The present invention also provides a server. The server includes a memory and a processor. The voice interaction method of the embodiment of the present application can be implemented by the server of the embodiment of the present application. Specifically, a computer program is stored in the memory, and the processor is used to receive the current round voice request forwarded by the vehicle. And perform slot identification on the current round voice request to obtain the slot identification result. And determine the target input information based on the current round voice request, the slot identification result, the historical round voice request and the natural language understanding result of the historical round voice request. The processor is also used to determine the intent label of the current round voice request based on the target input information. And complete the voice interaction according to the intent label.

[0067] Specifically, the current round voice request refers to the voice instruction or request issued by the user in the current interaction round.

[0068] Slot recognition refers to extracting specific information fragments from the user's input, which are usually called "slots". Slots are usually key information required to complete a task or request, such as time, place, object, etc. Taking the user's voice request "What will the temperature be tomorrow" as an example, the slot information that can be obtained through slot recognition includes ["tomorrow" - date (Date)], that is, the slot information includes slot value and slot type, where "tomorrow" is the slot value and date (Date) is the slot type. Taking the user's voice request "Navigate to Zhongguancun" as an example, the slot information that can be obtained through slot recognition is ["Zhongguancun" - place name (Place)], where "Zhongguancun" is the slot value and place name (Place) is the slot type.

[0069] The slot recognition result refers to the named entity obtained by performing slot recognition on the voice request, such as the slot information ["tomorrow" - date (Date)] and slot information ["Zhongguancun" - place name (Place)] mentioned above.

[0070] The historical round voice request refers to the collection of voice instructions or requests issued by the user in the previous interaction round in the dialogue system. It should be noted that the implementation method of the present application takes the previous round voice request of the current round voice request as the historical round voice request to illustrate the voice interaction method of the implementation method of the present application. In some implementation methods, the historical round voice request can indicate more rounds of voice requests, which is not limited here.

[0071] The natural language understanding results of historical rounds of voice requests include the corresponding API call or operation of the previous round of voice requests, the user's original voice request in the previous round, and the named entities obtained from the user's previous round of voice requests.

[0072] The intent label refers to the classification obtained by the label generation model after performing intent recognition processing on the current round of voice requests, including the first intent label, the second intent label, and the third intent label.

[0073] Generative models refer to a class of models in the field of machine learning and artificial intelligence that can generate new data instances. Generative models are able to learn the underlying distribution of data and generate new data based on it. This means that they can not only generate new instances that are similar to the training data, but also generate completely new instances that do not exist in the training data. Generative models can be applied to a variety of tasks, such as image generation, text generation, audio synthesis, etc.

[0074] The label generation model refers to a generative model obtained by fine-tuning a pre-trained model such as BERT in the implementation of the present application. The BERT training model is a pre-trained language representation model that can understand text from both left to right and right to left, thereby capturing deep bidirectional contextual information in the text.

[0075] When the user speaks a certain sentence, the vehicle's voice recognition system receives the user's voice input and converts it into text information, and then forwards the text information to the server, which is the above-mentioned server. For example, if the user says in the vehicle: "Please adjust the air conditioning temperature to 25 degrees", the voice recognition system will convert the voice input into text: "Please adjust the air conditioning temperature to 25 degrees".

[0076] The server receives the current round of voice requests forwarded by the vehicle, and then performs slot recognition on the current round of voice requests to obtain slot recognition results. That is, the server analyzes the current round of voice requests and identifies key information. For example, the slot recognition results are ["air conditioning" - equipment] and ["25 degrees" - temperature].

[0077] Next, the server determines the target input information based on the current round of voice request, slot recognition results, historical round of voice request, and natural language understanding results of historical round of voice request. In this way, the server better understands the user's overall intent and context. Then, the server determines the intent label of the current round of voice request based on the target input information. Finally, the server completes the voice interaction based on the intent label.

[0078] It should be noted that in some embodiments, the server is deployed in the cloud and is connected to the vehicle via a communication protocol. In some embodiments, the server is deployed in the vehicle.

[0079] In this way, the target input information is determined by combining the current round of voice requests, slot recognition results, historical rounds of voice requests and their understanding results, and the intent of the target input information is recognized to accurately identify the user's weak intent voice requests, reduce misunderstandings of user requests, and reduce the probability of incorrect responses, thereby improving the user experience and making the interaction more natural and smooth.

[0080] See also Figure 2 In some embodiments, step 03 (determining target input information according to the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result of the historical round voice request) includes:

[0081] 031: Concatenate the preset mark, the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result to determine the first temporary input information;

[0082] 032: Perform position coding processing on the first temporary input information to determine the second temporary input information;

[0083] 033: determining third temporary input information according to the round information of the current round voice request and the round information of the historical round voice request;

[0084] 034: Obtain target input information according to the first temporary input information, the second temporary input information and the third temporary input information.

[0085] The processor is also used to perform splicing processing on the preset mark, the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result to determine the first temporary input information. And perform position encoding processing on the first temporary input information to determine the second temporary input information. The processor is also used to determine the third temporary input information according to the round information of the current round voice request and the round information of the historical round voice request. And obtain the target input information according to the first temporary input information, the second temporary input information and the third temporary input information.

[0086] Specifically, the preset token refers to a special token or symbol used for a specific purpose in the model input, including a CLS token (Class Token) and a special token.

[0087] The CLS tag is a special tag that is added to the beginning of each input sequence. It can aggregate the global information of the entire sequence and is often used in classification tasks.

[0088] Special Token refers to the start and end position of the slot. For example, if the user's voice output is "open the window", then the window will be <device> and< / device> Marking. <device> Represents the starting point of the device.< / device> Represents the endpoint of the device.

[0089] Position encoding refers to the process of position encoding the first temporary input information in the Transformer model according to the position of the slot recognition result in the current round of voice request to confirm the second temporary input information. For example, if the voice request is "open the window", then the position of the slot recognition result "window" in the voice request "open the window" is 2 to 3. Correspondingly, in the second temporary input information, the position of the slot recognition result "window" also needs to be 2 to 3.

[0090] The server concatenates the preset mark, the current round of voice request, the slot recognition result, the previous round of voice request, and the natural language understanding result of the previous round of voice request to form a comprehensive input information, namely the first temporary input information. This helps the server better understand the context of the entire conversation.

[0091] Next, in order to understand the positional relationship of each element in the input sequence, the server performs position coding processing on the first temporary input information determined after splicing to determine the second temporary input information, which helps to understand the relative or absolute position of the elements in the sequence.

[0092] Then, the server determines the third temporary input information according to the turn information of the current round of voice request and the previous round of voice request, so as to take into account the timing characteristics of the dialogue.

[0093] Finally, the server combines the first temporary input information, the second temporary input information and the third temporary input information to generate target input information, which will be used as input for intent recognition.

[0094] See also Figure 3 In one example, the preset tag is "CLS, <singer> and< / singer>", the current round of voice request is "Cao Cao", the slot recognition result is "[{Singer: Cao Cao, pos: [1,2]}]", the previous round of voice request is "Play Jay Chou", and the natural language understanding result of the previous round of voice request is "[last-api: SingSong], [last-arguments: {singer: Jay Chou, pos: [6,7]}]". The preset tag, the current round of voice request, the slot recognition result, the previous round of voice request and the natural language understanding result of the previous round of voice request are concatenated to obtain the token-embedding, that is, the first temporary input signal Next, the server encodes token-embedding according to the position of the voice request to obtain pos-embedding, that is, the second temporary input information. Then, the server encodes the token-embedding according to the round information of the current round voice request and the previous round voice request. In this example, the current round voice request is the second round of dialogue, and the round information is 1, and the previous round voice request is the first round of dialogue, and the round information is 0. Then wakeup-embedding, that is, the third temporary input information, is obtained. Finally, the server combines the first temporary input information, the second temporary input information, and the third temporary input information to generate the target input information.

[0095] In this way, the ability to understand the context of the conversation can be improved, and the model's understanding of the positional relationship of elements in the input sequence can be enhanced, and the model's ability to process sequence data can be improved, ensuring that the system can accurately capture the user's intentions and contextual information, and ensuring the coherence and accuracy of the conversation.

[0096] See also Figure 4 In some implementations, step 05 (completing voice interaction according to the intent tag) includes:

[0097] 051: When the intent tag is the first intent tag, the API parameters are filled according to the slot recognition result and the API of the historical round voice request, and the output execution result is sent to the vehicle to complete the voice interaction.

[0098] The processor is also used to execute application interface parameter filling according to the slot recognition result and the application interface of the historical round voice request when the intent tag is the first intent tag, and output the execution result to the vehicle to complete the voice interaction.

[0099] Specifically, in some embodiments, the judgment process of the first intent label can be: first, the preset generative model first performs intent recognition processing on the data information corresponding to the current round of voice request in the input target input information, and determines that the current round of voice request is a weak intent. Next, the data information corresponding to the current round of voice request, the data information corresponding to the previous round of voice request, and the natural language understanding result are subjected to intent recognition processing to determine that the current round of voice request is related to the previous round of voice request, and the previous round of voice request outputs the corresponding application program interface, so that the intent label can be confirmed as the first intent label. In other embodiments, there may be other confirmation processes, which are not limited here.

[0100] For example, the previous round of voice request is "I want to listen to Daoxiang", and the current round of voice request is "Cao Cao". Then there is only a single "Cao Cao", which may refer to the historical figure Cao Cao or Cao Cao in film and television dramas. The server cannot identify what information needs to be provided. However, based on the previous round of voice requests, it can be identified that the user is more likely to want to provide the song "Cao Cao". In this way, only looking at the current round of voice requests is a weak intent, but combined with the previous round of voice requests, it can be identified, which means that the intent label of the current round of voice requests is the first intent label.

[0101] Please refer to Figure 3 , the server first performs intent recognition on the user's voice request to determine the user's intent, that is, to determine the intent label of the current round of voice request. Continuing with the above example, after the server analyzes the generated target input information according to the label generation model, it will obtain an intent label, which can mark which intent label the current voice request belongs to among the first intent label, the second intent label, and the third intent label.

[0102] In this scenario, if the identified intent tag is the first intent tag, the system will enter a specific processing flow. That is, the slot recognition results of the current round and the voice request information of the historical rounds are used to determine the application program interface (API) that needs to be called. The slot recognition results provide the location and content of the key information in the user request, while the historical round voice request provides the context information of the conversation. The server then performs application program interface parameter filling based on the slot recognition results and the application program interface of the historical round voice request. This means that the system will use the identified key information to fill in the parameters required for the API call. Finally, the server sends the execution results to the vehicle, and the vehicle completes the corresponding operations according to these instructions, thereby completing the voice interaction.

[0103] Please refer to Figure 3, Continuing with the above example, the server uses the model to predict and obtains "SingSong(singer=Cao Cao)", and believes that the current voice request is more likely to need to play the song "Cao Cao", so the final NLU result is "Api-name: SingSong; arguments: {Name: Singer, Type, string, value: Cao Cao]}". The server sends this NLU result to the vehicle, and the vehicle completes the corresponding operations according to these instructions, thereby completing the voice interaction.

[0104] In this way, the adoption of an end-to-end architecture can reduce the latency of the vehicle system and improve the response speed to user commands. At the same time, the additional features of the application program interface that incorporates the slot recognition results of the user's voice requests and the historical rounds of voice requests can accurately identify the user's intentions and required parameters, and can call the correct application program interface to perform the corresponding operations, thereby meeting vehicle control requirements.

[0105] See also Figure 5 In some embodiments, step 051 (implementing application program interface parameter filling according to the slot recognition result and the application program interface of the historical round voice request, and outputting the execution result to the vehicle to complete the voice interaction) includes:

[0106] 0511: Determine the target parameters for slot filling according to the current round of voice request, the slot recognition result, the application program interface of the historical round of voice request and the application program interface type of the historical round of voice request;

[0107] 0512: According to the slot recognition results and target parameters, execute the application interface parameter filling, output the execution results and send them to the vehicle to complete the voice interaction.

[0108] The processor is also used to determine the target parameters for slot filling according to the current round of voice request, slot recognition result, application program interface of the historical round of voice request and application program interface type of the historical round of voice request. And according to the slot recognition result and the target parameter, the application program interface parameter filling is executed, and the execution result is output and sent to the vehicle to complete the voice interaction.

[0109] Specifically, the previous round of voice request is "I want to listen to Daoxiang", and the current round of voice request is "Cao Cao". The result of slot recognition is: ["Cao Cao"——singer], and the corresponding application interface type is "Song Play (SingSong)". After "Cao Cao" in the result of slot recognition is filled into the song playing application interface, the song playing operation can be performed accordingly, thereby completing the voice interaction.

[0110] In this way, according to the results of slot identification and target parameters, the predicted application interface is selected to execute the application interface parameter filling, and the execution result is directly output and sent to the vehicle to complete the voice interaction, which can reduce the delay of the vehicle system and improve the response speed to user commands.

[0111] See also Figure 6 In some embodiments, step 0511 (determining a target parameter for slot filling according to a current round voice request, a slot recognition result, an application program interface of a historical round voice request, and an application program interface type of a historical round voice request) includes:

[0112] 05111: concatenate the current round of voice request and the slot value of the slot recognition result as a text sequence for encoding to obtain a first feature vector;

[0113] 05112: Map the slot type of the slot recognition result to a first identity identifier, and convert the first identity identifier into a second feature vector;

[0114] 05113: Map the application program interface type of the historical round voice request to the second identity identifier, and convert the second identity identifier into a third feature vector;

[0115] 05114: Mapping the parameters of the application program interface of the historical round voice request to the third identity identifier, and converting the third identity identifier into a fourth feature vector;

[0116] 05115: The first eigenvector, the second eigenvector, the third eigenvector and the fourth eigenvector are processed using a slot filling model to determine target parameters.

[0117] The processor is also used to concatenate the slot values ​​of the current round of voice request and the slot recognition result as a text sequence to encode the first feature vector. And map the slot type of the slot recognition result to the first identity identifier, and convert the first identity identifier to the second feature vector. And map the application interface type of the historical round of voice request to the second identity identifier, and convert the second identity identifier to the third feature vector. The processor is also used to map the parameters of the application interface of the historical round of voice request to the third identity identifier, and convert the third identity identifier to the fourth feature vector. And use the slot filling model to process the first feature vector, the second feature vector, the third feature vector and the fourth feature vector to determine the target parameter.

[0118] Specifically, first, the user voice request input by the user and the slot value of the slot recognition result are concatenated as a text sequence to obtain a first feature vector "Query[SEP]slot value". For example, the slot recognition result obtained by performing slot recognition on the user voice request "What will the temperature be tomorrow" is ["tomorrow" - date (Date)], that is, the slot recognition result includes the slot value and the slot type, where "tomorrow" is the slot value, and date (Date) is the slot type. That is, the present invention can obtain the first feature vector "[CLS]What will the temperature be tomorrow [SEP]tomorrow [SEP]" by concatenating the user voice request and the slot value through the word embedding matrix.

[0119] Then, a slot type mapping and an API type mapping are constructed, and the embedding matrix used by the present invention to map the slot type and the API type is an additional embedding matrix. The present invention maps the slot type of the result of slot identification to the first identity identifier slot-type through the additional embedding matrix, and converts the first identity identifier slot-type to the second feature vector; maps the predicted application interface type to the second identity identifier api-type, and converts the second identity identifier api-type to the third feature vector; maps the predicted application interface parameters to the third identity identifier agrument-type, and converts the third identity identifier agrument-type to the fourth feature vector. Among them, the second feature vector, the third feature vector and the fourth feature vector are used as additional feature vectors (Extra Eembeddings).

[0120] Finally, the slot filling model is used to process the first eigenvector, the second eigenvector, the third eigenvector and the fourth eigenvector to determine the target parameter. The slot filling model can output the argument filing logits, that is, the target parameter can be determined according to the argument filing logits.

[0121] In this way, by incorporating features such as slot type, application interface type, and application interface parameters of the user slot recognition results, the accuracy of the slot filling task can be significantly improved, thereby improving the accuracy of the application interface parameter filling task.

[0122] See also Figure 7 In some implementations, step 05 (completing voice interaction according to the intent tag) includes:

[0123] 052: when the intent tag is the second intent tag and the current round of voice request is the first round of voice request, perform application program interface prediction on the current round of voice request based on a preset database;

[0124] 053: Based on the slot recognition results and the predicted API, execute API parameter filling, output the execution results and send them to the vehicle to complete the voice interaction.

[0125] The processor is also used to predict the application program interface for the current round of voice request based on the preset database when the intent tag is the second intent tag and the current round of voice request is the first round of voice request. And according to the slot recognition result and the predicted application program interface, execute the application program interface parameter filling, output the execution result and send it to the vehicle to complete the voice interaction.

[0126] Specifically, in some embodiments, the judgment process of the second intent label can be: first, the preset generative model first performs intent recognition processing on the data information corresponding to the current round of voice request in the input target input information, and determines that the current round of voice request is a weak intent. Next, the data information corresponding to the current round of voice request, the data information corresponding to the previous round of voice request, and the natural language understanding result are subjected to intent recognition processing to determine that the current round of voice request is not associated with the previous round of voice request, or that the previous round of voice request did not output the corresponding application program interface, so that the intent label can be confirmed as the second intent label. In other embodiments, there may be other confirmation processes, which are not limited here.

[0127] For example, the previous round of voice request is "open the car window", and the current round of voice request is "Cao Cao". Then there is only a single "Cao Cao", which may refer to the historical figure Cao Cao or Cao Cao in film and television dramas. The server cannot identify it, and what information needs to be provided. And according to the previous round of voice request, it is found that the user's intention cannot be identified because the correlation is not strong. Or, the previous round of voice request is "Cao Cao", and the current round of voice request is "confession balloon". Then there is only a single "confession balloon", which the server cannot identify, and what information needs to be provided. And according to the previous round of voice request, it is found that the user's intention cannot be identified, and no other application interface is called. Or, in the current voice interaction cycle, the user only performed one round of voice interaction, that is, there is no historical voice request. And the current round of voice request is "Cao Cao", which may refer to the historical figure Cao Cao or Cao Cao in film and television dramas. The server cannot identify it, and what information needs to be provided. In this way, only looking at the current round of voice request is a weak intent, and it cannot be identified in combination with the previous round of voice request, it means that the intent label of the current round of voice request is the second intent label.

[0128] The preset database refers to the case where the intent tag is the second intent tag and the current round of voice request is the first round of voice request. In order to improve the user experience, the server may need to answer the user's voice request, but the user's voice request is unclear, so a pre-set database is used to reply to the user's voice request based on the database.

[0129] When the intent tag is the second intent tag and the current round of voice request is the first round of voice request, the server performs an application program interface prediction on the current round of voice request based on the preset database. By predicting the API, the server can prepare in advance the commands or operations that may need to be executed, thereby improving the response speed and interaction efficiency.

[0130] Next, the server performs API parameter filling based on the slot identification results and the predicted API. By filling in the parameters required by the API, the server is ensured to accurately perform the operations requested by the user.

[0131] Finally, the server outputs the execution results to the vehicle, and the vehicle completes corresponding operations based on these instructions, such as adjusting the air-conditioning temperature, navigating to a designated location, etc.

[0132] In this way, based on the preset database, the application interface is predicted, and the server can obtain the command or operation to be executed when the intent tag is the second intent tag, thereby performing human-computer interaction and providing a convenient and natural user experience.

[0133] See also Figure 8 In some implementations, step 05 (completing voice interaction according to the intent tag) includes:

[0134] 054: When the intent tag is the second intent tag and the current round of voice request is not the first round of voice request, the current round of voice request is rejected.

[0135] The processor is also used to reject the current round of voice request when the intent tag is the second intent tag and the current round of voice request is not the first round of voice request.

[0136] Specifically, in some cases, non-first-round voice requests may be highly dependent on the previous conversation context. If the server cannot accurately understand or loses the previous context information, it may lead to misunderstanding of the user's intention. To avoid this situation, when the intent label is the second intent label and the current round of voice request is a non-first-round voice request, the server may be designed not to provide a response. Because in some cases, if the server cannot determine the user's intention, providing an incorrect response may be worse than providing no response, and rejection processing can avoid confusion or discomfort to the user.

[0137] In this way, when the server cannot determine the user's intention, in order to avoid providing an erroneous response, the server will choose not to process the non-first-round voice request, thereby improving the user experience.

[0138] See also Fig. 9 In some implementations, step 05 (completing voice interaction according to the intent tag) includes:

[0139] 055: when the intent tag is the third intent tag, perform application program interface prediction on the current round of voice request;

[0140] 056: Based on the slot recognition results and the predicted API, execute API parameter filling, output the execution results and send them to the vehicle to complete the voice interaction.

[0141] The processor is also used to predict the application program interface for the current round of voice request when the intent tag is the third intent tag, and to perform application program interface parameter filling according to the slot recognition result and the predicted application program interface, and output the execution result to the vehicle to complete the voice interaction.

[0142] Specifically, in some embodiments, the judgment process of the third intent tag can be: the preset generative model first performs intent recognition processing on the data information corresponding to the current round of voice request in the input target input information, and judges that the current round of voice request is a strong intent. In other embodiments, there may be other confirmation processes, which are not limited here.

[0143] First, the user voice request forwarded by the vehicle is received, and the slot recognition is performed on the user voice request. For example, if the current user inputs a voice request of "what is the temperature tomorrow", the server can receive the user voice request forwarded by the vehicle as "what is the temperature tomorrow".

[0144] Then, slot recognition is performed on the user voice request "What will be the temperature tomorrow?" to obtain the slot recognition result. The slot recognition result includes information on entities such as weather and location covering all vertical domains in the user voice request.

[0145] Taking the result of slot recognition as the information of the weather entity as an example, for example, the slot information obtained by recognizing the user voice request "what will be the temperature tomorrow" includes ["tomorrow" - date (Date)], that is, the slot information includes slot value and slot type, where "tomorrow" is the slot value and date (Date) is the slot type. It can be understood that user voice requests often contain a lot of information, which can be used as a supplement to the application interface type and slot information. The slot type is also crucial information for filling parameters, because the slot type and the application interface parameter are often a fixed mapping relationship. For example, the "Date" slot type can be filled with the time or date parameters of certain application interfaces with a high probability, while for other types of parameters, such as "temperature", the probability of the slot filling this parameter is very small. Therefore, the slot type often exists as a strong feature, which will greatly affect the accuracy of the task of filling the application interface parameters. That is, the voice interaction method of the present invention incorporates the additional features of the user voice request input by the current user and the slot type of the slot recognition, which can effectively improve the accuracy of the application interface parameter filling task.

[0146] Taking the result of slot recognition as the information of the place entity as an example, the slot information that can be obtained by recognizing the user voice request "Navigate to Zhongguancun" is ["Zhongguancun" - place name (Place)], where "Zhongguancun" is the slot value and the place name (Place) is the slot type.

[0147] That is, the architecture adopted by the present invention is an end-to-end architecture, which does not distinguish between vertical domains and does not require internal training models of vertical domains, thereby reducing the large amount of manpower and data costs required for the separate design of each vertical domain.

[0148] Next, the API prediction is performed on the user voice request. For example, the API prediction for the user voice request "What will be the temperature tomorrow" is API A for temperature query. The API prediction for the user voice request "Navigate to Zhongguancun" is API B for navigation.

[0149] Finally, based on the results of slot recognition and the predicted API, the predicted API is selected to execute API parameter filling, and the output execution result is sent to the vehicle to complete the voice interaction.

[0150] In this way, the use of an end-to-end architecture can reduce the latency of the vehicle system and improve the response speed to user commands. At the same time, the slot recognition results of the user's voice request and the additional features of the predicted application interface are integrated to accurately identify the user's intentions and required parameters, and to call the correct application interface to perform the corresponding operations, thereby meeting the vehicle control needs.

[0151] The present application also provides a non-volatile computer-readable storage medium containing a computer program. When the computer program is executed by one or more processors, the one or more processors execute the method of the present application.

[0152] It is understood that a computer program includes computer program code. The computer program code may be in source code form, object code form, executable file or some intermediate form. Computer readable storage media may include: any entity or device capable of carrying computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), and software distribution medium.

[0153] In the description of this specification, the descriptions with reference to the terms "specifically", "further", "particularly", "understandably", etc., mean that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms are not intended to be considered as the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.

[0154] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0155] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A voice interaction method, characterized in that: The method comprises: Receive the current round voice request forwarded by the vehicle; Performing slot recognition on the current round of voice requests to obtain a slot recognition result; Determine target input information according to the current round voice request, the slot recognition result, the historical round voice request, and the natural language understanding result of the historical round voice request; Determining the intent label of the current round of voice request according to the target input information; Complete the voice interaction according to the intent tag.

2. The method according to claim 1, characterized in that: The determining target input information according to the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result of the historical round voice request includes: The preset mark, the current round voice request, the slot recognition result, the historical round voice request and the natural language understanding result are concatenated to determine the first temporary input information; Performing position coding processing on the first temporary input information to determine second temporary input information; Determining third temporary input information according to the round information of the current round voice request and the round information of the historical round voice request; The target input information is obtained according to the first temporary input information, the second temporary input information and the third temporary input information.

3. The method according to claim 1, characterized in that The completing the voice interaction according to the intention tag includes: In the case where the intent tag is the first intent tag, the application interface parameters are filled in according to the slot recognition result and the application interface of the historical round voice request, and the output execution result is sent to the vehicle to complete the voice interaction.

4. The method according to claim 3, characterized in that The API according to the slot recognition result and the historical round voice request executes API parameter filling, outputs the execution result and sends it to the vehicle to complete the voice interaction, including: Determine a target parameter for slot filling according to the current round voice request, the slot recognition result, the application program interface of the historical round voice request, and the application program interface type of the historical round voice request; According to the slot identification result and the target parameter, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

5. The method according to claim 4, characterized in that The determining a target parameter for slot filling according to the current round voice request, the slot recognition result, the application program interface of the historical round voice request, and the application program interface type of the historical round voice request includes: The current round of voice request and the slot value of the slot recognition result are concatenated as a text sequence and encoded to obtain a first feature vector; Mapping the slot type of the slot identification result to a first identity identifier, and converting the first identity identifier into a second feature vector; Mapping the application program interface type of the historical round voice request to a second identity identifier, and converting the second identity identifier into a third feature vector; Mapping the parameters of the application program interface of the historical round voice request into a third identity identifier, and converting the third identity identifier into a fourth feature vector; The first eigenvector, the second eigenvector, the third eigenvector, and the fourth eigenvector are processed using a slot filling model to determine the target parameter.

6. The method according to claim 1, characterized in that The completing the voice interaction according to the intention tag includes: When the intent tag is the second intent tag and the current round of voice request is the first round of voice request, performing application program interface prediction on the current round of voice request based on a preset database; According to the slot recognition result and the predicted application program interface, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

7. The method according to claim 1, characterized in that The completing the voice interaction according to the intention tag includes: When the intent tag is the second intent tag and the current round of voice request is not the first round of voice request, the current round of voice request is rejected.

8. The method according to claim 1, characterized in that The completing the voice interaction according to the intention tag includes: When the intent tag is the third intent tag, performing application program interface prediction on the current round of voice request; According to the slot recognition result and the predicted application program interface, the application program interface parameter filling is executed, and the output execution result is sent to the vehicle to complete the voice interaction.

9. A server, characterized in that: The server includes a processor and a memory, and a computer program is stored in the memory. When the computer program is executed by the processor, the voice interaction method described in any one of claims 1 to 8 is implemented.

10. A non-volatile computer-readable storage medium containing a computer program, characterized in that: When the computer program is executed by one or more processors, the voice interaction method described in any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Multi-round dialogue method and device, electronic equipment and storage medium

    CN112100349A

  • Vehicle voice interaction method, server and storage medium

    CN115064166A

  • Voice interaction method, server and storage medium

    CN115064168A

  • Voice interaction method, server and computer readable storage medium

    CN116110397A

  • Display device and multi-round dialogue method

    CN117896563A

Cited By

  • Voice interaction method, server and medium

    CN120913560A

  • Interaction method and device, vehicle and storage medium

    CN121237090A