Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the embodiments of the present invention will be described in further detail with reference to the accompanying drawings. The embodiments of the present invention and the specific features of the embodiments are detailed descriptions of the technical solutions of the embodiments of the present invention, but not limited to the technical solutions of the descriptions of the present invention, and the embodiments of the present invention and the technical features of the embodiments of the present invention may be combined with each other without conflict.
1. Voice assistant system
FIG. 1 shows a block diagram of a voice assistant system on an intelligent terminal. The voice assistant system mainly comprises: man-machine interaction interface, processing module, database, etc. The processing module comprises m voice recognition engines and n voice interaction engines, wherein m and n are positive integers which are larger than or equal to 1. The processing module is connected with the man-machine interaction interface, and can receive data input by a user through the man-machine interaction interface and output interaction data to the user through the man-machine interaction interface, such as dialogue data and task execution processes and results fed back to the user.
The voice recognition engine is used for recognizing voice instructions of a user as texts; the voice interaction engines are used for executing specific tasks based on the text recognition results or the text instructions of the user, and each voice interaction engine can comprise a semantic understanding module, a dialogue management and control module, a dialogue generation module and a command execution module. Specifically, the voice interaction engine determines a user intent (i.e., determines a task), determines key knowledge data corresponding to each slot associated with the user intent, and populates the key knowledge data into the corresponding slot, and then performs the task based on the populated slot or slots.
In some embodiments, the processing module may include an interaction main engine and/or at least one interaction sub-engine. Wherein the voice interaction master engine is the default voice interaction engine of the voice assistant system. Each voice interaction engine (voice interaction main engine, voice interaction sub-engine) is capable of performing at least one task, i.e. each voice interaction engine may be associated with at least one task, the tasks that different voice interaction sub-engines are capable of performing may be the same or different.
In some embodiments, the voice interaction main engine determines, based on the user instructions only, a voice interaction sub-engine capable of processing the user instructions that itself does not perform a specific task. Thus, determining the user intent in the above-described process may be accomplished by a voice interaction host engine in the voice assistant system, which is further operable to select one or more voice interaction sub-engines to process the above-described user instructions based on the determined user intent, with slot filling and task execution in the above-described process being performed by the one or more voice interaction sub-engines determined by the voice interaction host engine. In the invention, the method executed by the intelligent terminal can be completed by the voice assistant or the voice interaction main engine of the voice assistant.
2. Dynamically building a list of speech processing capabilities
The present invention provides a method for dynamically constructing a list of speech processing capabilities in a local wireless network, see fig. 2, said method comprising the steps of:
step 101, in response to the first successful access to the local wireless network, the first intelligent terminal acquires the first voice processing capability which can be executed by the first intelligent terminal and initializes a local first voice processing capability list of the first intelligent terminal;
step 102, the first intelligent terminal judges whether at least one second intelligent terminal has successfully accessed the local wireless network for the first time before accessing the local wireless network by itself, if yes, step 103 is executed;
step 103, the first intelligent terminal generates a first voice processing capability interaction message, broadcasts the first voice processing capability interaction message in the local wireless network, so that the at least one second intelligent terminal generates a second voice processing capability interaction message after receiving the first voice processing capability interaction message, sends the second voice processing capability interaction message to the first intelligent terminal, and updates a local second voice processing capability list of the at least one second intelligent terminal based on the first voice processing capability interaction message;
The first voice processing capability interaction message comprises first voice processing capability which can be executed by the first intelligent terminal; the second voice processing capability interaction message comprises a second voice processing capability which can be executed by the second intelligent terminal;
step 104, the first intelligent terminal receives a second voice processing capability interaction message sent by the at least one second intelligent terminal, and updates the first voice processing capability list based on the second voice processing capability interaction message.
As described in step 101, the method of the present invention is only performed when the local wireless network is successfully accessed for the first time, and therefore, even if the intelligent terminal is online again after a period of time in an offline state with respect to the local wireless network, it is not necessary to perform the above steps 101-104 of the present invention again.
Preferably, the first intelligent terminal and the second intelligent terminal can access the internet by accessing a local wireless network.
Preferably, the first access to the local wireless network includes: the first intelligent terminal sends a first access request to a server in the local wireless network, the server authenticates the first intelligent terminal, if the authentication passes, a first access success response is returned to the first intelligent terminal, information of the first intelligent terminal, such as an MAC address, is recorded, and an identifier of the first intelligent terminal can be uniquely determined. The server also records a networking state of the first intelligent terminal.
Preferably, the speech processing capabilities include speech recognition capabilities and speech interaction capabilities. The voice recognition capability includes a voice recognition capability of a voice recognition engine (called a local voice recognition engine) included in a voice assistant of a certain intelligent terminal, such as a chinese recognition capability, an american english recognition capability, an english recognition capability, a mandarin recognition capability, a dialect recognition capability, and the like. The voice interaction capability includes tasks that can be performed by a voice interaction engine (called a local voice interaction engine) included in a voice assistant of a certain intelligent terminal, such as ticket reservation, weather inquiry, and the like.
Preferably, the first list of speech processing capabilities comprises a speech processing engine type, a speech processing engine name, a capability providing terminal identifier. For example, the voice recognition capability that can be executed by the first intelligent terminal includes mandarin recognition capability, and the voice interaction capability that can be executed, that is, the task includes air ticket reservation and take-out order, the first voice processing capability list obtained by initialization in step 101 is shown in table 1. In the following, when the speech processing capability is a speech interaction engine, the capability name is the same as the task that can be executed by the speech processing engine, and the capability name and the task can be used instead of each other.
TABLE 1 first list of speech processing capabilities
Preferably, in step 102, the first intelligent terminal sends a query request to a server of the local wireless network, where the server carries all second intelligent terminal identifiers that have been successfully accessed to the local wireless network for the first time before the first intelligent terminal accesses to the local wireless network for the first time in a query response and sends the query response to the first intelligent terminal. For example, before the first intelligent terminal first accesses the network, the second intelligent terminal a and the second intelligent terminal B have successfully accessed the local wireless network for the first time, and then identifiers of the second intelligent terminal a and the second intelligent terminal B are included in the query response. And if no other equipment except the first intelligent terminal is connected to the local wireless network, the query response is null.
Preferably, in step 103, the first intelligent terminal sends the first voice processing capability interaction message to the server, where the first voice processing capability interaction message carries a broadcast identifier, and the server broadcasts the first voice processing capability interaction message in the local wireless network.
Preferably, in step 104, the first intelligent terminal may update the first list of voice processing capabilities based on the second voice processing capability interaction message after receiving the second voice processing capability interaction message sent by one second intelligent terminal, or may update the first list of voice processing capability based on all the received second voice processing capability interaction messages after receiving all the second voice processing capability interaction messages sent by all the second intelligent terminals. For example, where the voice recognition capability that the second intelligent terminal a can perform includes mandarin recognition capability, dialect recognition capability, the voice interaction capability that the second intelligent terminal B can perform includes weather query, the voice interaction capability that the second intelligent terminal B can perform includes mandarin recognition capability, guangdong dialect recognition capability, the voice interaction capability that the second intelligent terminal a can perform includes weather query, hotel reservation, the updated first voice processing capability list is shown in table 2.
TABLE 2 first list of speech processing capabilities
Preferably, the first intelligent terminal and the second intelligent terminal may further exchange intelligent terminal parameter information with each other, for example, the first voice processing capability interaction message and the second voice processing capability interaction message or the independent intelligent terminal parameter interaction message carries respective intelligent terminal parameter information, including at least one of the following: processor power, communication power, energy harvesting. The processor capability can be CPU model, version, memory size, etc.; the communication capability includes: whether high-speed cellular communication (such as 4G, 5G and the like) is supported, and whether direct communication between terminals (such as wifi direct connection, bluetooth communication and one-to-many Bluetooth communication) is supported; the energy acquisition mode may be: alternating current powered, battery powered and not supporting wireless charging, battery powered and supporting wireless charging, etc. After receiving the interaction message, the first intelligent terminal and the second intelligent terminal each record the parameter information locally, such as recording in a first voice processing capability list, a second voice processing capability list or recording in a special intelligent terminal parameter list.
Preferably, if the first intelligent terminal receives the second voice processing capability interaction message only from a part of the second intelligent terminals in the at least one second intelligent terminal within a preset time, but does not receive the second voice processing capability interaction message from the rest of the second intelligent terminals, the first intelligent terminal selects one second intelligent terminal from the part of the second intelligent terminals receiving the second voice processing capability interaction message as a relay second intelligent terminal, sends a voice processing capability relay request message to the relay second intelligent terminal, wherein the relay second intelligent terminal carries an identifier of the rest of the second intelligent terminals, queries the voice processing capability of the rest of the second intelligent terminals from a local second voice processing capability list after receiving the voice processing capability relay request message, and carries the voice processing capability of the rest of the second intelligent terminals in a voice processing capability relay response message to be sent to the first intelligent terminal. At this time, the first intelligent terminal also updates the first voice processing capability list based on the voice processing capability relay response message.
Preferably, the first intelligent terminal selects a second intelligent terminal from the second intelligent terminals with the second voice processing capability interaction message, and specifically selects the second intelligent terminal which replies to the second voice processing capability interaction message earliest in the second intelligent terminals with the second voice processing capability interaction message.
Preferably, the query response in step 102 further carries a real-time networking status of the at least one second intelligent terminal that has successfully accessed the local wireless network for the first time before the first intelligent terminal accesses the local wireless network. The real-time networking state is one of on-line or off-line.
Preferably, when there is a change in the networking state of the intelligent terminals in the local wireless network, the server synchronizes the change to all (on-network) intelligent terminals in the network.
Preferably, the first voice processing capability list and the second voice processing capability list may further include a real-time networking state of the capability providing terminal.
Preferably, in the step 104, the first intelligent terminal receives a second voice processing capability interaction message sent by at least one second intelligent terminal in the network in the real-time networking state, and updates the first voice processing capability list based on the second voice processing capability interaction message. And after receiving the voice processing capability relay request message, the relay second intelligent terminal inquires the voice processing capability of the second intelligent terminal with the offline real-time networking state from a local second voice processing capability list, and sends the voice processing capability relay request message to the first intelligent terminal, so that the first intelligent terminal can update the first voice processing capability list based on the voice processing capability relay response message.
Preferably, the intelligent terminal in the local wireless network may also record the low battery status of other intelligent terminals, for example, including the low battery status in the voice processing capability list. When the battery power of the first intelligent terminal is lower than a preset threshold and the battery power cannot be supplemented through wireless charging (such as not supported or an automatic wireless charging system fails), a low-power warning message is broadcast in the local wireless network, so that after receiving the message, other intelligent terminals in the local wireless network record that the first intelligent terminal is in a low-power state currently. Similarly, the first intelligent terminal can also receive low-power warning messages sent by other intelligent terminals.
Preferably, the method further comprises step 105, the first intelligent terminal receives a user instruction, and determines a first speech processing engine capable of processing the user instruction based on a first speech processing capability list; judging whether the first voice processing engine is a local voice processing engine of the first intelligent terminal, if not, sending the user instruction to a cooperative intelligent terminal to which the first voice processing engine belongs, and receiving a voice processing result from the cooperative intelligent terminal; and if so, the first intelligent terminal adopts the first voice processing engine to obtain a voice processing result. In addition, when the voice processing result is a task execution result, the first intelligent terminal also provides the voice processing result to the user.
Preferably, the first intelligent terminal receives a user command, specifically, a user voice command, and then performs the related operation of the sharpness determination in step 300 described below. Then, a first speech processing engine capable of processing the user instruction is determined based on the first list of speech processing capabilities.
Preferably, the step 105 may further be: and the first intelligent terminal receives a user instruction, and when judging that the user instruction cannot be processed locally, selects a second intelligent terminal capable of processing the user instruction as a cooperative intelligent terminal based on the first voice processing capability list, sends the user instruction to the cooperative intelligent terminal, and receives a voice processing result from the cooperative intelligent terminal.
Preferably, the selecting, based on the first voice processing capability list, the second intelligent terminal capable of processing the user instruction as a collaborative intelligent terminal specifically includes: if more than two second intelligent terminals exist, the user instruction can be processed, and one of the second intelligent terminals is selected as the cooperative intelligent terminal according to the locally recorded intelligent terminal parameter information.
Preferably, the selection is made according to at least one of the following:
Selecting one of the two or more second intelligent terminals as a cooperative intelligent terminal according to the recorded processor capacity of the two or more second intelligent terminals;
judging networking states and communication capacities of the two or more second intelligent terminals in the local wireless network, and selecting one of the remaining second intelligent terminals (for example, according to processor capacity and energy acquisition modes) after excluding the second intelligent terminals meeting one of the following: the networking state is offline and does not support high-speed cellular communications; the networking state is offline, supports high-speed cellular communication and cannot interact with the first intelligent terminal (such as by high-speed cellular communication, wifi direct connection, bluetooth communication, one-to-many bluetooth communication and the like);
selecting one of the energy acquisition modes and/or low-power states as a cooperative intelligent terminal according to the recorded energy acquisition modes and/or low-power states, for example, sequentially selecting a second intelligent terminal which is powered by alternating current, powered by a battery and supports wireless charging, powered by the battery and does not support wireless charging preferentially; and/or selecting one of the remaining second intelligent terminals after excluding the second intelligent terminals in the low-power state.
Networking status and communication capabilities may be considered first, processor capabilities are considered, and energy harvesting is considered last when considering some of the above factors at the same time.
Preferably, when the user instruction is a voice instruction, judging that the local cannot process the user instruction can be that the local cannot perform voice recognition on the voice instruction; in addition, the judgment that the user instruction cannot be processed locally may be that the task determined based on the voice instruction cannot be processed locally, that is, the task does not have a voice interaction engine associated with the task locally, or the voice interaction engine associated with the task belongs to a voice assistant of other intelligent terminals.
Preferably, if the user command is a voice command and the local inability to process the user command is local inability to perform voice recognition on the voice command, the step 105 further includes: and extracting voiceprint features of the user based on the user instruction, and storing the voiceprint features in association with the collaborative intelligent terminal.
Preferably, the method further comprises: when the first intelligent terminal receives the voice command with the voiceprint characteristic again, local voice recognition is not tried any more, the voice command is directly sent to the cooperative intelligent terminal, and a voice recognition result is obtained from the cooperative intelligent terminal.
Preferably, after the first intelligent terminal and/or the second intelligent terminal is offline for a period of time and is online again, a voice processing capability list synchronization request is sent to at least one other intelligent terminal in the local wireless network, a voice processing capability list synchronization response is received from the at least one other intelligent terminal, and a local voice processing capability list is updated based on the voice processing capability list synchronization response.
Preferably, the first intelligent terminal and/or the second intelligent terminal acquire networking states of all intelligent terminals in the local wireless network from the server after offline for a period of time and online again.
Preferably, messages sent between the intelligent terminals, such as second voice processing capability interaction messages, may be forwarded by the server.
Preferably, the method further includes step 106, when the voice processing capability changes, the first intelligent terminal updates a local first voice processing capability list, generates a first voice processing capability update message, and broadcasts the first voice processing capability update message in the local wireless network, so that the at least one second intelligent terminal updates a local second voice processing capability list after receiving the first voice processing capability update message.
Preferably, the method further comprises step 107, the first intelligent terminal receives a second voice processing capability update message sent by the at least one second intelligent terminal, and updates the first voice processing capability list.
It should be noted that any one of the steps 105-107 may be performed first, and the present invention is not limited to the sequence of performing the above three steps.
Based on the method provided by the application, when the intelligent terminal is accessed to the local wireless network for the first time, the voice processing capability can be exchanged with other intelligent terminals in the network, so that after receiving a user instruction which cannot be processed by the intelligent terminal, the intelligent terminal can be selected to perform cooperative processing in time, the response speed to a user is increased, and the user experience is improved.
3. Constructing a collaborative speech interaction engine cluster
The following presents a brief description of a prior art interaction engine cluster (also referred to as a speech interaction engine cluster) (for details, reference is made to chinese patent application No. cn201911220477.X, the entire contents of which are incorporated by reference or incorporated herein).
At least two speech interaction engines are included in a speech interaction engine cluster. Wherein the task associated with any one of the voice interaction engine clusters is different from the task associated with other voice interaction engines in the voice interaction engine clusters, and the task associated with any one of the voice interaction engine clusters has at least one same or corresponding slot with the task associated with at least one other voice interaction engine in the voice interaction engine clusters.
The intelligent terminal can download the attribute information of the voice interaction engine cluster from the server and locally construct the voice interaction engine cluster according to the downloaded attribute information of the voice interaction engine cluster; the intelligent terminal can also locally aggregate and generate a voice interaction engine cluster according to the history dialogue record of the user and the voice assistant system.
When using the voice interaction engine cluster, if any voice interaction engine (hereinafter referred to as a first voice interaction engine) in the voice interaction engine cluster is activated, a voice assistant of the intelligent terminal activates other voice interaction engines (hereinafter referred to as at least one second voice interaction engine) in the voice interaction engine cluster, and performs instant synchronization on first slots and/or second slots of at least one second task associated with at least one second voice interaction engine, which has the first slots and/or second slots corresponding to the first slots, according to key knowledge data filled in first slots of the first task associated with the first voice interaction engine, and acquires task execution results from all or part of the voice interaction engines in the voice interaction engine cluster and simultaneously provides the user.
The instant synchronization includes an instant synchronization when the first slot is changed from unfilled to filled with the first critical knowledge data, and also includes an instant synchronization when the critical knowledge data filled with the first slot is changed from the first critical knowledge data to the second critical knowledge data.
One or more of at least two voice interaction engines included in the voice interaction engine cluster is a dominant voice interaction engine, the other voice interaction engines are slave voice interaction engines, when the voice assistant system is in a cluster task working mode, if the first voice interaction engine is the dominant voice interaction engine of the voice interaction engine cluster to which the first voice interaction engine belongs, when the first voice interaction engine is activated, other voice interaction engines in the voice interaction engine cluster are also activated, the instant synchronization of the slots among the voice interaction engines is carried out, and if the first voice interaction engine is not the dominant voice interaction engine of the voice interaction engine cluster to which the first voice interaction engine belongs, only the first voice interaction engine is activated.
However, in the prior art, the plurality of voice interaction engines forming the voice interaction engine cluster all belong to the voice assistant of the same intelligent terminal, the voice interaction engine cluster cannot be formed by using the voice interaction engines respectively belonging to the voice assistants of different intelligent terminals, and when the voice assistants of different intelligent terminals of the user are respectively provided with different voice interaction engines (for example, the intelligent assistant of the first intelligent terminal comprises an air ticket reservation voice interaction engine, and the intelligent assistant of the second intelligent terminal comprises a weather inquiry voice interaction engine), the user cannot enjoy the good experience brought by the voice interaction engine cluster formed by the different voice interaction engines.
Based on the characteristics, the invention provides a special voice interaction engine cluster, namely a collaborative voice interaction engine cluster, wherein the collaborative voice interaction engine cluster has all the other characteristics of the voice interaction engine cluster except the characteristic that the voice interaction engines in the voice interaction engine cluster are positioned in the same intelligent terminal.
As described in the foregoing, the first intelligent terminal and at least one second intelligent terminal in the local wireless network exchange voice processing capabilities (voice recognition capability and voice interaction capability) with each other when they successfully access the local wireless network for the first time, and can call each other or cooperate with each other, and the effect is equivalent to that any one intelligent terminal in the wireless network has all the voice processing capabilities of itself and the rest of intelligent terminals in the local wireless network, which makes it possible to construct a cooperative voice interaction engine cluster.
The invention provides a method for constructing a cooperative voice interaction engine cluster in a local wireless network, which comprises the steps of generating a first voice processing capability list according to a first intelligent terminal after the first intelligent terminal is successfully accessed into the local wireless network for the first time, constructing the cooperative voice interaction engine cluster based on voice interaction engines belonging to different intelligent terminals, and controlling the different intelligent terminals to perform voice interaction with a user based on the cooperative voice interaction engine cluster by the first intelligent terminal which receives a user instruction.
Referring to fig. 3, the method comprises the steps of:
step 200, a first intelligent terminal generates a first voice processing capability list after being successfully accessed to the local wireless network for the first time; the first voice processing capability list comprises at least one first voice interaction engine included in the first intelligent terminal and at least one voice interaction engine included in the second intelligent terminal; the second intelligent terminal successfully accesses the local wireless network for the first time before the first intelligent terminal accesses the local wireless network;
step 201, a first intelligent terminal sends a voice interaction engine cluster search request to a voice assistant cloud server, wherein the voice interaction engine cluster search request carries at least one first voice interaction engine;
step 202, a first intelligent terminal receives a voice interaction engine cluster search response from a voice assistant cloud server, wherein the voice interaction engine cluster search response carries attribute information of at least one first voice interaction engine cluster, and a voice interaction engine included in the first voice interaction engine cluster comprises the first voice interaction engine and at least one second voice interaction engine;
step 203, the first intelligent terminal queries a first voice processing capability list and determines at least one second intelligent terminal corresponding to the at least one second voice interaction engine;
And 204, the first intelligent terminal constructs and generates first cooperative voice interaction engine cluster attribute information according to the voice interaction engine cluster search response, wherein the first cooperative voice interaction engine cluster attribute information comprises the corresponding relation between the first voice interaction engine and the first intelligent terminal and the corresponding relation between the at least one second voice interaction engine and the at least one second intelligent terminal.
Preferably, the method further includes step 205, where the first intelligent terminal sends attribute information of the first cooperative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network. Therefore, the attribute information of the collaborative voice interaction engine cluster can be received by the second intelligent terminal comprising at least one voice interaction engine in the collaborative voice interaction engine cluster or the second intelligent terminal not comprising any voice interaction engine in the collaborative voice interaction engine cluster, and the collaborative voice interaction engine cluster is further used, so that a user can enjoy good experience brought by the collaborative voice interaction engine cluster on any terminal of the local wireless network.
Preferably, the attribute information of the first voice interaction engine cluster in step 202 includes a cluster name of the first voice interaction engine cluster, names of at least two voice interaction engines included in the first voice interaction engine cluster, and the same or corresponding slots that the at least two voice interaction engines can execute (or associate) tasks.
Alternatively, in the above method, the voice interaction engine cluster search response carries configuration information of at least one first voice interaction engine cluster, where tasks associated with the first voice interaction engine and tasks associated with at least one second voice interaction engine included in the voice interaction engine cluster configuration information are carried. In step 203, the first intelligent terminal queries the first list of voice processing capabilities, determines at least one second intelligent terminal and corresponding at least one third voice interaction engine capable of completing the task associated with the at least one second voice interaction engine. The first collaborative voice interaction engine cluster attribute information comprises a corresponding relation between the first voice interaction engine and a first intelligent terminal and a corresponding relation between the at least one third voice interaction engine and at least one second intelligent terminal.
In the method, when the collaborative voice interaction engine cluster is constructed, the information of the voice interaction engine cluster stored in the voice assistant cloud server before is utilized, so that the construction of the collaborative voice interaction engine cluster can be simplified and quickened, and a user can enjoy good experience brought by the interaction engine cluster as soon as possible.
Preferably, the step 204 further includes: before constructing and generating the attribute information of the collaborative voice interaction engine cluster, the first intelligent terminal sends a collaborative voice interaction engine cluster construction query request to at least one second intelligent terminal corresponding to the at least one second voice interaction engine or completing the task associated with the at least one second voice interaction engine, and after receiving a collaborative voice interaction engine cluster construction agreement response, the first intelligent terminal constructs the attribute information of the collaborative voice interaction engine cluster according to the voice interaction engine cluster search response; after receiving a query request constructed by the cooperative voice interaction engine cluster, the second intelligent terminal judges whether the second intelligent terminal supports the cooperative voice interaction engine cluster function or not, and if so, generates a cooperative voice interaction engine cluster construction agreement response and sends the response to the first intelligent terminal. The first intelligent terminal determines that the intelligent terminal to which each voice interaction engine in the cooperative voice interaction engine cluster to be constructed belongs supports the function of the cooperative voice interaction engine cluster in a mode of constructing a query request and constructing an agreement response, so that the phenomenon that the cooperative voice interaction engine cluster cannot be normally used due to the fact that part of intelligent terminals do not support the cooperative voice interaction engine cluster after the first intelligent terminal constructs the cooperative voice interaction engine cluster is avoided.
Preferably, if the first intelligent terminal sends a request for constructing a collaborative voice interaction engine cluster to the at least one second intelligent terminal, and does not receive a response for constructing the collaborative voice interaction engine cluster from one or more second intelligent terminals, the first intelligent terminal sends a voice assistant upgrading request message to the one or more second intelligent terminals, and after receiving a voice assistant upgrading completion message sent by the one or more second intelligent terminals, the first intelligent terminal constructs attribute information of the collaborative voice interaction engine cluster according to the voice interaction engine cluster search response. And after the one or more second intelligent terminals receive the voice assistant upgrading request message, the voice assistant upgrading is started, and after the upgrading is completed, the voice assistant upgrading completion message is generated and sent to the first intelligent terminal.
Preferably, the attribute information of the collaborative voice interaction engine cluster includes a cluster name of the collaborative voice interaction engine cluster, names of at least two voice interaction engines included in the collaborative voice interaction engine cluster, intelligent terminal identifiers (i.e., corresponding relations described above) to which the at least two voice interaction engines belong, and the same or corresponding slots of tasks that the at least two voice interaction engines can execute (or associate with). In a specific embodiment, the attribute information of the constructed collaborative voice interaction engine cluster is shown in the following table 3.
TABLE 3 Attribute information for collaborative voice interaction engine clusters
Preferably, the first voice interaction engine is the dominant interaction engine of the first voice interaction engine cluster, that is, the search response includes only the voice interaction engine cluster with the first voice interaction engine as the dominant interaction engine. And simultaneously, setting the first voice interaction engine as a dominant interaction engine of the first cooperative voice interaction engine cluster, and recording the dominant interaction engine in attribute information of the cooperative voice interaction engine cluster.
Preferably, in step 205, before the first intelligent terminal sends the attribute information of the collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network, the first intelligent terminal sends a first instruction to a user, instructs the user to name (when the voice interaction engine cluster search response carries configuration information) or rename (when the voice interaction engine cluster search response carries attribute information) the collaborative voice interaction engine cluster, receives a naming or renaming instruction of the user, records a cluster name carried in the naming instruction in the attribute information of the collaborative voice interaction engine cluster, or uses the cluster name carried in the renaming instruction to update the cluster name in the attribute information of the collaborative voice interaction engine cluster, and then sends the attribute information of the collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network.
Preferably, in step 203, if the first intelligent terminal determines that the second intelligent terminal corresponding to a certain second voice interaction engine or the second intelligent terminals capable of completing the task associated with the certain second voice interaction engine are multiple, one second intelligent terminal is selected as the second intelligent terminal corresponding to the second voice interaction engine or the second intelligent terminal capable of completing the task associated with the second voice interaction engine.
Preferably, the selection is made according to at least one of the following:
the first intelligent terminal obtains the offline time lengths of the plurality of second intelligent terminals from a server in the local wireless network, and selects the second intelligent terminal with the shortest offline time length;
selecting one of the second intelligent terminals according to the recorded processor capabilities of the plurality of second intelligent terminals;
selecting a second intelligent terminal supporting high-speed cellular communication and direct communication between at least one terminal according to the recorded communication capability;
and the second intelligent terminals which are powered by alternating current, powered by a battery and supporting wireless charging are sequentially selected preferentially.
If the at least two selection factors are comprehensively considered, the communication capacity selection, the processor capacity, the off-line time length and the energy acquisition mode are sequentially and preferentially considered.
Preferably, in step 203, if the first intelligent terminal determines that the second intelligent terminal corresponding to a certain second voice interaction engine or the second intelligent terminals capable of completing the task associated with a certain second voice interaction engine are multiple, one second intelligent terminal is selected from the second intelligent terminals as the second intelligent terminal corresponding to the second voice interaction engine or as the second intelligent terminal capable of completing the task associated with the second voice interaction engine (for example, one second intelligent terminal may be selected randomly as in the above manner), and the other second intelligent terminals are used as concurrent second intelligent terminals corresponding to the second voice interaction engine or concurrent second intelligent terminals capable of completing the task associated with the second voice interaction engine; accordingly, step 204 further includes: and the first intelligent terminal constructs and generates first collaborative voice interaction coexistence engine cluster attribute information according to the voice interaction engine cluster search response, wherein the first collaborative voice interaction coexistence engine cluster attribute information comprises a corresponding relation between the first voice interaction engine and the first intelligent terminal and a corresponding relation between the at least one second voice interaction engine and the at least one coexistence second intelligent terminal.
Preferably, the method further includes step 205, where the first intelligent terminal sends attribute information of the first collaborative voice interaction coexistence engine cluster to at least one second intelligent terminal in the local wireless network.
Preferably, if the second intelligent terminal is selected according to the foregoing communication capability selection, processor capability, offline duration, and energy acquisition manner, the priority of the first collaborative voice interaction engine cluster constructed based on the second intelligent terminal is highest, and the priority of the first collaborative voice interaction concurrent engine cluster is ordered according to the foregoing selection factors.
The first collaborative voice interaction engine cluster and the first collaborative voice interaction coexistence engine cluster are merely for convenience of description, and have the same characteristics and are used interchangeably hereinafter.
Preferably, the method further comprises the steps of:
step 206, receiving a request of constructing a collaborative voice interaction engine cluster by an agent sent by the at least one second intelligent terminal in the local wireless network, wherein the request carries at least one second voice interaction engine included in the at least one second intelligent terminal;
the first intelligent terminal constructs attribute information of a second collaborative voice interaction engine cluster by adopting a similar way of constructing a first collaborative voice interaction engine cluster, wherein the second collaborative voice interaction engine cluster comprises at least one second voice interaction engine, and specifically, the steps 207-211 are executed. By the method, the first intelligent terminal can replace a second intelligent terminal with lower partial processing capacity to execute construction of the collaborative voice interaction engine cluster.
Step 207, the first intelligent terminal sends a voice interaction engine cluster search request to a voice assistant cloud server, wherein the voice interaction engine cluster search request carries the at least one second voice interaction engine;
step 208, the first intelligent terminal receives a voice interaction engine cluster search response from the voice assistant cloud server, wherein the voice interaction engine cluster search response carries attribute information of at least one second voice interaction engine cluster, and the voice interaction engines included in the second voice interaction engine cluster comprise at least one second voice interaction engine and at least one fourth voice interaction engine;
step 209, the first intelligent terminal queries a first voice processing capability list, and determines at least one fourth intelligent terminal corresponding to the at least one fourth voice interaction engine; the at least one fourth intelligent terminal is at least one of at least one second intelligent terminal which has successfully accessed the local wireless network for the first time before the first intelligent terminal accesses the local wireless network;
step 210, the first intelligent terminal generates attribute information of the second collaborative voice interaction engine cluster according to the voice interaction engine cluster search response, where the attribute information includes a corresponding relationship between the at least one second voice interaction engine and the at least one second intelligent terminal and a corresponding relationship between the at least one fourth voice interaction engine and the at least one fourth intelligent terminal.
Preferably, the method further includes step 211, where the first intelligent terminal sends attribute information of the collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network.
All the further limitations described above for steps 201-205 in the present invention apply to the corresponding steps in steps 207-210 and are not repeated here.
4. Use of collaborative speech interaction engine clusters
The invention also provides a method for interacting with a voice assistant based on the cooperative voice interaction engine cluster, which is used for the first intelligent terminal, and referring to fig. 4, the method comprises the following steps:
step 300, obtaining a user instruction;
step 301, determining a first task based on the user instruction, and determining a first voice interaction engine capable of executing the first task based on a first voice processing capability list; the first voice processing capability list comprises the corresponding relation between different tasks and a voice interaction engine;
step 302, determining a first collaborative voice interaction engine cluster to which the first voice interaction engine belongs based on a locally stored collaborative voice interaction engine cluster; wherein the first collaborative voice interaction engine cluster comprises the first voice interaction engine and at least one second voice interaction engine;
Step 303, determining, based on the first voice processing capability list, a set of intelligent terminals corresponding to voice interaction engines included in the first collaborative voice interaction engine cluster, where the set of intelligent terminals includes a second intelligent terminal corresponding to a first voice interaction engine and at least one third intelligent terminal corresponding to the at least one second voice interaction engine;
step 304, the user instruction is sent to a first voice interaction engine of the second intelligent terminal, and slot synchronization information between terminals is received from the first voice interaction engine of the second intelligent terminal, wherein the first voice interaction engine carrying the second intelligent terminal needs key knowledge data of at least one second voice interaction engine synchronized to the at least one third intelligent terminal; forwarding the inter-terminal slot synchronization information to at least one second voice interaction engine of the at least one third intelligent terminal; and respectively receiving a first task execution result and at least one second task execution result from a first voice interaction engine of the second intelligent terminal and at least one second voice interaction engine of the at least one third intelligent terminal, and simultaneously providing the first task execution result and the at least one second task execution result for a user.
Preferably, step 304 is specifically:
performing a first determination: judging whether the first intelligent terminal and the second intelligent terminal are the same terminal or not, namely judging whether the first voice interaction engine is a local voice interaction engine of the first intelligent terminal or not;
case 1: if the result of the first judgment is that the voice command is sent to the first voice interaction engine, the inter-terminal slot synchronization information is received from the first voice interaction engine and is sent to the at least one third intelligent terminal, so that the at least one second voice interaction engine of the at least one third intelligent terminal performs instant synchronization on the slot of at least one second task associated with the at least one second voice interaction engine based on the inter-terminal slot synchronization information; receiving a first task execution result and at least one second task execution result from the first voice interaction engine and the at least one third intelligent terminal respectively, and simultaneously providing the first task execution result and the at least one second task execution result for a user;
case 2: if the result of the first judgment is negative, when one of the first intelligent terminal and at least one third intelligent terminal is the same terminal, sending the voice command to a second intelligent terminal corresponding to the first voice interaction engine, activating a second voice interaction engine belonging to the first intelligent terminal in the collaborative voice interaction engine cluster, namely a local second voice interaction engine, receiving inter-terminal slot position synchronization information from the second intelligent terminal, and carrying out instant synchronization on a slot position of a second task associated with the local second voice interaction engine based on the inter-terminal slot position synchronization information; receiving a second task execution result and a first task execution result from the local second voice interaction engine and the second intelligent terminal respectively, and simultaneously providing the first task execution result and the second task execution result for a user;
Case 3: if the result of the first judgment is negative, when any one of the first intelligent terminal and the at least one third intelligent terminal is not the same terminal, sending the voice command to a second intelligent terminal corresponding to the first voice interaction engine, informing the at least one third intelligent terminal to activate the at least one second voice interaction engine, receiving terminal slot position synchronization information from the second intelligent terminal, and forwarding the terminal slot position synchronization information to the at least one third intelligent terminal, so that the at least one third intelligent terminal can immediately synchronize the slot position of at least one second task associated with the at least one second voice interaction engine based on the terminal slot position synchronization information; and respectively receiving a first task execution result and at least one second task execution result from the second intelligent terminal and at least one third terminal, and simultaneously providing the first task execution result and the second task execution result for a user.
Preferably, in the case 2, that is, if the result of the first judgment is no, and one of the first intelligent terminal and the at least one third intelligent terminal is the same terminal, the first intelligent terminal notifies the at least one third intelligent terminal to activate the at least one second voice interaction engine after sending the voice command to the second intelligent terminal corresponding to the first voice interaction engine, and forwards the received inter-terminal slot synchronization information to other third intelligent terminals, so that the other third intelligent terminals synchronize slots of the second tasks associated with the corresponding second interaction engine based on the inter-terminal slot synchronization information, receive second task execution results from the other third intelligent terminals, and provide the second task execution results received from the other third intelligent terminals and the first task execution results and the second task execution results received from the local second voice interaction engine to the user at the same time.
Preferably, the inter-terminal slot synchronization information includes key knowledge data filled in a first slot of a first task by a first voice interaction engine; and the step of immediately synchronizing the slot position of at least one second task associated with at least one second voice interaction engine, in particular, immediately synchronizing the first slot position of at least one second task associated with at least one second interaction engine and/or the second slot position corresponding to the first slot position.
Preferably, in step 302, a second determination is further performed, that is, it is determined whether the first voice interaction engine is the dominant interaction engine of the first collaborative voice interaction engine cluster, and if the result of the second determination is yes, the step 303 and the subsequent steps are performed in a collaborative voice interaction engine cluster manner. If the result of the second determination is no, step 305 is executed, and step 305 is similar to the process of step 105 (where the speech processing engine is a speech interaction engine), that is, whether the first speech interaction engine is a local speech interaction engine of the first intelligent terminal is determined, if yes, the speech instruction is sent to the first speech interaction engine, so that the first speech interaction engine fills the slot of the first task based on the speech instruction, the first task execution result is received from the first speech interaction engine and is provided to the user, if no, the speech instruction is sent to the cooperative intelligent terminal to which the first speech interaction engine belongs, so that the cooperative intelligent terminal fills the slot of the first task based on the speech instruction, receives the first task execution result from the cooperative intelligent terminal, and provides the first task execution result to the user.
After step 301, it is determined whether the first intelligent terminal is in a collaborative interaction engine cluster working mode and whether the user instruction includes a collaborative interaction engine cluster working mode change instruction, if one of the two determinations is yes, step 302 is executed, and if both determinations are no, step 305 is executed.
Preferably, in step 300, a voice command of a user is obtained, after that, the first intelligent device determines a first definition value of the voice command based on the received voice command of the user, broadcasts the first definition value to at least one other intelligent device in the local wireless network, receives a second definition value from the at least one other intelligent device, and determines whether the first definition value is greater than the second definition value, if so, then, performs the subsequent steps.
Preferably, step 300 specifically includes: step 300-1: receiving a voice instruction of a user; step 300-2, the first intelligent terminal selects an intelligent terminal capable of performing voice recognition processing on the voice command based on the first voice capability list, and obtains a user command based on a processing result of the intelligent terminal.
Preferably, if the number of the first voice interaction engines capable of executing the first task is determined to be multiple based on the first voice processing capability list, one of the first interaction engines is selected according to the method of selecting one of the multiple intelligent devices described in the embodiments of fig. 2 and 3, and then the first collaborative voice interaction engine cluster to which the selected first voice interaction engine belongs is determined based on the locally stored collaborative voice interaction engine cluster.
If it is determined that the first voice interaction engine cluster (first cooperative voice interaction coexistence engine cluster) to which the first voice interaction engine belongs is plural, one of them is selected first, and then step 303 is executed. The selection method may be one of the following:
selecting according to the priority order of the first cooperative voice interaction engine cluster;
if the first voice interaction engine corresponds to different affiliated intelligent terminals in different first cooperative voice interaction engine clusters, if one of the first cooperative voice interaction engine clusters exists, the affiliated intelligent terminal corresponding to the first voice interaction engine is the first intelligent terminal, the first cooperative voice interaction engine cluster is selected, and the step 303 is continuously executed;
if all the intelligent terminals corresponding to the first voice interaction engine in all the first collaborative voice interaction engine clusters are not the first intelligent terminals, selecting one of the different intelligent terminals corresponding to the first voice interaction engine in different first collaborative voice interaction engine clusters according to the method for selecting one of the plurality of intelligent devices described in the embodiment of the foregoing fig. 2 and fig. 3, and taking the collaborative voice interaction engine cluster corresponding to the intelligent terminal as the selected collaborative voice interaction engine cluster;
If at least one second voice interaction engine corresponds to the same affiliated intelligent terminal in different first cooperative voice interaction engine clusters, if the affiliated intelligent terminal corresponding to at least one second voice interaction engine in one of the first cooperative voice interaction engine clusters is the first intelligent terminal, selecting the first cooperative voice interaction engine cluster, and continuing to execute step 303;
if the intelligent terminal corresponding to at least one second voice interaction engine in all the first cooperative voice interaction engine clusters is not the first intelligent terminal, selecting one from at least one second voice interaction engine in different affiliated intelligent terminals corresponding to different first cooperative voice interaction engine clusters according to the method for selecting one from a plurality of intelligent devices described in the embodiment of fig. 2 and 3, and taking the cooperative voice interaction engine cluster corresponding to the affiliated intelligent terminal as the selected cooperative voice interaction engine cluster.
Any one of the above-mentioned selecting a first collaborative voice interaction engine cluster and the above-mentioned second judgment may be performed first. This is because if a first speech interaction engine is the dominant speech interaction engine in one of the first collaborative speech interaction engine clusters, then it is also the dominant speech interaction engine in the other first collaborative speech interaction engine clusters to which it belongs.
The three methods of fig. 2-4 of the present invention are applied to the same scene and belong to the same conception system, and the three methods can be arbitrarily combined.
The present invention also provides an apparatus for dynamically constructing a list of speech processing capabilities, see fig. 5, the apparatus comprising:
a voice processing capability list dynamic construction unit, configured to acquire a first voice processing capability that the device can execute in response to a first successful access to the local wireless network, and initialize a local first voice processing capability list; judging whether at least one second intelligent terminal has successfully accessed to the local wireless network for the first time before the second intelligent terminal accesses to the local wireless network, if so, generating a first voice processing capability interaction message, triggering the communication unit to broadcast the first voice processing capability interaction message in the local wireless network, enabling the at least one second intelligent terminal to generate a second voice processing capability interaction message after receiving the first voice processing capability interaction message, transmitting the second voice processing capability interaction message to the device, and updating a local second voice processing capability list of the device based on the first voice processing capability interaction message;
A communication unit for broadcasting the first voice processing capability interaction message within the local wireless network;
wherein the first speech processing capability interaction message comprises a first speech processing capability executable by the apparatus; the second voice processing capability interaction message comprises a second voice processing capability which can be executed by the second intelligent terminal;
the communication unit is used for receiving a second voice processing capability interaction message sent by the at least one second intelligent terminal;
the voice processing capability list dynamic construction unit is further configured to update the first voice processing capability list based on the second voice processing capability interaction message.
Preferably, the communication unit is further configured to send a first access request to a server in the local wireless network, and receive a first access success response returned by the server after passing the authentication of the device;
the apparatus further comprises a storage unit for storing the first list of speech processing capabilities.
Preferably, the communication unit is further configured to send a query request to a server of the local wireless network, and receive a query response sent by the server, where the query response carries all second intelligent terminal identifiers that have been successfully accessed to the local wireless network for the first time before the device accesses to the local wireless network for the first time. The voice processing capability list dynamic construction unit judges whether at least one second intelligent terminal has successfully accessed the local wireless network for the first time before the voice processing capability list dynamic construction unit accesses the local wireless network.
Preferably, the communication unit broadcasts the first voice processing capability interaction message in the local wireless network, specifically: the communication unit sends the first voice processing capability interaction message to the server, the first voice processing capability interaction message carries a broadcast identifier, and the server broadcasts the first voice processing capability interaction message in the local wireless network.
Preferably, the communication unit is further configured to send the other messages, such as the intelligent terminal parameter interaction message, as described above.
The voice processing capability list dynamic construction unit is also used for recording parameter information of other intelligent terminals in the storage unit.
Preferably, the voice processing capability list dynamic construction unit is further configured to: and when judging that the communication unit only receives the second voice processing capability interaction message from part of the second intelligent terminals in the at least one second intelligent terminal within the preset time and does not receive the second voice processing capability interaction message from the rest of the second intelligent terminals, selecting one second intelligent terminal from the part of the second intelligent terminals receiving the second voice processing capability interaction message as a relay second intelligent terminal, triggering the communication unit to send a voice processing capability relay request message to the relay second intelligent terminal, wherein the relay second intelligent terminal carries an identifier of the rest of the second intelligent terminals, and after receiving the voice processing capability relay request message, inquiring a voice processing capability list of the rest of the second intelligent terminals from a local second voice processing capability list and carrying the voice processing capability relay request message to the communication unit of the device. At this time, the voice processing capability list dynamic construction unit also updates the first voice processing capability list based on the voice processing capability relay response message.
Preferably, the communication unit is further configured to receive a synchronization message sent by the server and indicating a change in networking state of the other intelligent terminals.
Preferably, the communication unit further sends a low battery warning message to the local wireless network when the battery power is lower than a preset threshold and the battery power cannot be supplemented by wireless charging (if the wireless charging system is not supported or an automatic wireless charging system fails).
The communication unit is also used for receiving low-power warning messages sent by other intelligent terminals.
The voice processing capability list dynamic construction unit is further used for recording the low-power state of the other intelligent terminals in the storage unit based on the low-power warning message.
Preferably, the communication unit receives a second voice processing capability interaction message sent by at least one second intelligent terminal in the network in the real-time networking state, and the voice processing capability list dynamic construction unit updates the first voice processing capability list based on the second voice processing capability interaction message. And after receiving the voice processing capability relay request message, the relay second intelligent terminal inquires the voice processing capability of the second intelligent terminal with the offline real-time networking state from a local second voice processing capability list, carries a communication unit which sends the voice processing capability relay response message to the device, and the voice processing capability list dynamic construction unit updates the first voice processing capability list based on the voice processing capability relay response message.
The device also comprises a user instruction acquisition unit, a user instruction generation unit and a user instruction generation unit, wherein the user instruction acquisition unit is used for receiving a user instruction;
the apparatus further includes a task execution control unit for determining a first speech processing engine capable of processing the user instruction based on a first speech processing capability list; judging whether the first voice processing engine is a local voice processing engine of the device, if not, triggering the communication unit to send the user instruction to a cooperative intelligent terminal to which the first voice processing engine belongs, and receiving a voice processing result from the cooperative intelligent terminal; and if so, acquiring a voice processing result by adopting the first voice processing engine.
The device also comprises a task execution result providing unit for providing the voice processing result to the user when the voice processing result is the task execution result.
The task execution control unit is further configured to perform a related operation of sharpness determination (see in detail below) based on the user instruction received by the user instruction obtaining unit, and then determine a first speech processing engine capable of processing the user instruction based on the first speech processing capability list.
The task execution control unit is further configured to: when the device is judged to be incapable of processing the user instruction, a second intelligent terminal capable of processing the user instruction is selected as a cooperative intelligent terminal based on the first voice processing capability list, the communication unit is triggered to send the user instruction to the cooperative intelligent terminal, and a voice processing result is received from the cooperative intelligent terminal.
The process of selecting the cooperative intelligent terminal by the task execution control unit is specifically described in the foregoing description.
And the task execution control unit is further used for extracting voiceprint features of the user based on the user instruction if the user instruction is a voice instruction and the local cannot process the user instruction to perform voice recognition on the voice instruction, and storing the voiceprint features in association with the collaborative intelligent terminal.
And the task execution control unit is also used for judging that the voice command received by the user command acquisition unit again has the voiceprint characteristics, not trying local voice recognition any more, triggering the communication unit to directly send the voice command to the cooperative intelligent terminal, and acquiring a voice recognition result from the cooperative intelligent terminal.
The voice processing capability list dynamic construction unit is further used for triggering the communication unit to send a voice processing capability list synchronous request to at least one other intelligent terminal in the local wireless network after the device is offline for a period of time and is on the network again, and receiving a voice processing capability list synchronous response from the at least one other intelligent terminal; the voice processing capability list dynamic construction unit is further configured to update a local voice processing capability list based on the voice processing capability list synchronization response.
The voice processing capability list dynamic construction unit is further used for triggering the communication unit to acquire networking states of all intelligent terminals in the local wireless network from the server after the device is offline for a period of time and is online again.
The voice processing capability list dynamic construction unit is further configured to update a local first voice processing capability list when the voice processing capability changes, generate a first voice processing capability update message, and trigger the communication unit to broadcast the first voice processing capability update message in the local wireless network, so that the at least one second intelligent terminal updates its local second voice processing capability list after receiving the first voice processing capability update message.
The communication unit is further used for receiving a second voice processing capability update message sent by the at least one second intelligent terminal; the speech processing capability list dynamic construction unit is further configured to update the first speech processing capability list based on the second speech processing capability update message.
Preferably, the device is used for the first intelligent terminal.
The invention also provides a device for dynamically constructing the voice processing capability list, which is used for the second intelligent terminal. The device further comprises a storage unit for storing a second voice processing capability list.
The present invention also provides an apparatus for constructing a collaborative voice interaction engine cluster in a local wireless network, referring to fig. 6, the apparatus comprising:
the voice processing capability list dynamic construction unit is used for generating a first voice processing capability list after the device successfully accesses the local wireless network for the first time; the first voice processing capability list comprises at least one first voice interaction engine included in the device and at least one voice interaction engine included in at least one second intelligent terminal; the second intelligent terminal successfully accesses the local wireless network for the first time before the device accesses the local wireless network;
the communication unit is used for sending a voice interaction engine cluster search request to the voice assistant cloud server, wherein the voice interaction engine cluster search request carries the at least one first voice interaction engine; receiving a voice interaction engine cluster search response from a voice assistant cloud server, wherein the voice interaction engine cluster search response carries attribute information of at least one first voice interaction engine cluster, and the voice interaction engines included in the first voice interaction engine cluster comprise the first voice interaction engine and at least one second voice interaction engine;
the collaborative voice interaction engine cluster construction unit is used for inquiring the first voice processing capability list and determining at least one second intelligent terminal corresponding to the at least one second voice interaction engine; and constructing and generating first cooperative voice interaction engine cluster attribute information according to the voice interaction engine cluster search response, wherein the first cooperative voice interaction engine cluster attribute information comprises the corresponding relation between the first voice interaction engine and the device and the corresponding relation between the at least one second voice interaction engine and the at least one second intelligent terminal.
Preferably, the device is used for the first intelligent terminal.
Preferably, the device further comprises a storage unit, configured to store the first collaborative voice interaction engine cluster attribute information.
The communication unit is further configured to send attribute information of the first collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network.
The collaborative voice interaction engine cluster construction unit is further configured to query the first voice processing capability list when the configuration information of the at least one first voice interaction engine cluster is carried in the voice interaction engine cluster search response, and determine at least one second intelligent terminal and at least one corresponding third voice interaction engine capable of completing tasks associated with the at least one second voice interaction engine. At this time, the generated first collaborative voice interaction engine cluster attribute information includes a correspondence between the first voice interaction engine and the device and a correspondence between the at least one third voice interaction engine and at least one second intelligent terminal.
The collaborative voice interaction engine cluster construction unit is further configured to trigger the communication unit to send a collaborative voice interaction engine cluster construction query request to at least one second intelligent terminal corresponding to the at least one second voice interaction engine or completing a task associated with the at least one second voice interaction engine before the collaborative voice interaction engine cluster attribute information is constructed and generated, and to construct the attribute information of the collaborative voice interaction engine cluster according to the voice interaction engine cluster search response after the communication unit receives the collaborative voice interaction engine cluster construction agreement response; and after receiving the query request constructed by the cooperative voice interaction engine cluster, the second intelligent terminal judges whether the second intelligent terminal supports the cooperative voice interaction engine cluster function or not, and if so, generates a cooperative voice interaction engine cluster construction agreement response and sends the response to the device.
The collaborative voice interaction engine cluster construction unit is further configured to trigger the communication unit to send a voice assistant upgrade request message to one or more second intelligent terminals if a collaborative voice interaction engine cluster construction approval response is not received from one or more second intelligent terminals after the device sends a collaborative voice interaction engine cluster construction query request to the at least one second intelligent terminal, and to construct attribute information of the collaborative voice interaction engine cluster according to the voice interaction engine cluster search response after the communication unit receives a voice assistant upgrade completion message sent by the one or more second intelligent terminals. And the one or more second intelligent terminals start the voice assistant upgrade after receiving the voice assistant upgrade request message, and generate and send the voice assistant upgrade completion message to the device after the upgrade is completed.
The collaborative voice interaction engine cluster construction unit is further configured to set the first voice interaction engine as a dominant interaction engine of the first collaborative voice interaction engine cluster, and record the dominant interaction engine in attribute information of the collaborative voice interaction engine cluster.
The collaborative voice interaction engine cluster construction unit is further configured to trigger the task execution result providing unit to send a first instruction to a user before triggering the communication unit to send attribute information of the collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network, instruct the user to name (when configuration information is carried in a voice interaction engine cluster search response) or rename (when attribute information is carried in a voice interaction engine cluster search response) the collaborative voice interaction engine cluster, and trigger the user instruction obtaining unit to receive a naming or renaming instruction of the user; the collaborative voice interaction engine cluster construction unit is further configured to record a cluster name carried in the naming instruction in attribute information of the collaborative voice interaction engine cluster, or update a cluster name in attribute information of the collaborative voice interaction engine cluster by using the cluster name carried in the renaming instruction.
The collaborative voice interaction engine cluster construction unit is further configured to select, when the first intelligent terminal determines that the second intelligent terminal corresponding to a certain second voice interaction engine or the second intelligent terminal capable of completing the task associated with the certain second voice interaction engine is multiple, one second intelligent terminal from the second intelligent terminals as the second intelligent terminal corresponding to the second voice interaction engine or as the second intelligent terminal capable of completing the task associated with the second voice interaction engine. The specific process of selection is as described above and will not be described again.
The collaborative voice interaction engine cluster construction unit is further configured to select one second intelligent terminal from the collaborative voice interaction engine cluster construction unit as a second intelligent terminal corresponding to the second voice interaction engine or as a second intelligent terminal capable of completing a task associated with the second voice interaction engine, and then use the other second intelligent terminals as concurrent second intelligent terminals corresponding to the second voice interaction engine or concurrent second intelligent terminals capable of completing the task associated with the second voice interaction engine; and constructing and generating first collaborative voice interaction coexistence engine cluster attribute information according to the voice interaction engine cluster search response, wherein the first collaborative voice interaction coexistence engine cluster attribute information comprises a corresponding relation between the first voice interaction engine and a first intelligent terminal and a corresponding relation between the at least one second voice interaction engine and at least one coexistence second intelligent terminal.
The communication unit is further configured to send attribute information of the first collaborative voice interaction coexistence engine cluster to at least one second intelligent terminal in the local wireless network.
The collaborative voice interaction engine cluster construction unit is further configured to, if a second intelligent terminal is selected according to the foregoing communication capability selection, processor capability, offline duration, and energy acquisition manner, perform priority ranking on the first collaborative voice interaction concurrent engine cluster based on the highest priority of the first collaborative voice interaction engine cluster constructed by the second intelligent terminal according to the foregoing selection factor.
The collaborative voice interaction engine cluster construction unit is further configured to trigger the communication unit to obtain offline time durations of the plurality of second intelligent terminals from a server in the local wireless network when it is determined that the second intelligent terminals corresponding to a certain second voice interaction engine or the second intelligent terminals capable of completing tasks associated with the certain second voice interaction engine are multiple, and take the second intelligent terminal with the shortest offline time duration as the second intelligent terminal corresponding to the second voice interaction engine or take the second intelligent terminal with the shortest offline time duration as the second intelligent terminal capable of completing tasks associated with the second voice interaction engine.
The communication unit is further configured to receive a request for constructing a collaborative voice interaction engine cluster from an agent sent by the at least one second intelligent terminal in the local wireless network, where the request carries at least one second voice interaction engine included in the at least one second intelligent terminal.
The collaborative voice interaction engine cluster construction unit is further configured to construct attribute information of a second collaborative voice interaction engine cluster by adopting a similar manner of constructing the first collaborative voice interaction engine cluster, where the second collaborative voice interaction engine cluster includes the at least one second voice interaction engine, and trigger the communication unit to send the attribute information of the second collaborative voice interaction engine cluster to at least one second intelligent terminal in the local wireless network.
The invention also provides a device for dynamically constructing the voice processing capability list, which is used for the second intelligent terminal. The device further comprises a storage unit, wherein the storage unit is used for storing attribute information of the first cooperative voice interaction engine cluster and the second cooperative voice interaction engine cluster.
The invention also provides a device for interacting with a voice assistant based on the cooperative voice interaction engine cluster, referring to fig. 7, the device comprises:
the user instruction acquisition unit is used for acquiring user instructions;
a task execution control unit configured to determine a first task based on the user instruction, and determine a first voice interaction engine capable of executing the first task based on a first voice processing capability list; the first voice processing capability list comprises the corresponding relation between different tasks and a voice interaction engine; determining a first collaborative voice interaction engine cluster to which the first voice interaction engine belongs based on a locally stored collaborative voice interaction engine cluster; wherein the first collaborative voice interaction engine cluster comprises the first voice interaction engine and at least one second voice interaction engine; determining a set of intelligent terminals corresponding to voice interaction engines included in the first collaborative voice interaction engine cluster based on the first voice processing capability list, wherein the set of intelligent terminals comprises a second intelligent terminal corresponding to a first voice interaction engine and at least one third intelligent terminal corresponding to the at least one second voice interaction engine; triggering a communication unit;
The communication unit is used for responding to the trigger of the task execution control unit, sending the user instruction to a first voice interaction engine of the second intelligent terminal, and receiving inter-terminal slot synchronization information from the first voice interaction engine of the second intelligent terminal, wherein the first voice interaction engine carrying the second intelligent terminal needs key knowledge data of at least one second voice interaction engine synchronized to the at least one third intelligent terminal; forwarding the inter-terminal slot synchronization information to at least one second voice interaction engine of the at least one third intelligent terminal;
the task execution result receiving unit is used for respectively receiving a first task execution result and at least one second task execution result from a first voice interaction engine of the second intelligent terminal and at least one second voice interaction engine of the at least one third intelligent terminal, and simultaneously providing the first task execution result and the at least one second task execution result for a user;
and the storage unit is used for storing the collaborative voice interaction engine cluster.
Preferably, the task execution result receiving unit may receive the first task execution result and the at least one second task execution result from the first voice interaction engine of the second intelligent terminal and the at least one second voice interaction engine of the at least one third intelligent terminal through the communication unit, respectively.
The task execution control unit is further configured to execute a first judgment: judging whether the device and the second intelligent terminal are the same terminal or not, namely judging whether the first voice interaction engine is a local voice interaction engine of the device or not;
case 1: if the result of the first judgment is that the voice command is sent to the first voice interaction engine, the inter-terminal slot synchronization information is received from the first voice interaction engine, and the communication unit is triggered to send the inter-terminal slot synchronization information to the at least one third intelligent terminal, so that the at least one second voice interaction engine of the at least one third intelligent terminal performs instant synchronization on the slot of the at least one second task associated with the at least one second voice interaction engine based on the inter-terminal slot synchronization information; and the task execution result receiving unit is further used for triggering the task execution result receiving unit to execute: receiving a first task execution result from the first voice interaction engine, receiving at least one second task execution result from the at least one third intelligent terminal through the communication unit, and simultaneously providing the first task execution result and the at least one second task execution result to a user;
Case 2: if the result of the first judgment is negative, triggering the communication unit to send the voice command to a second intelligent terminal corresponding to the first voice interaction engine when the device and one of the at least one third intelligent terminal are the same terminal; the task execution control unit is further used for activating a second voice interaction engine belonging to the first intelligent terminal in the collaborative voice interaction engine cluster, namely a local second voice interaction engine, and triggering the communication unit to receive the inter-terminal slot synchronization information from the second intelligent terminal; the task execution control unit is also used for immediately synchronizing the slot position of a second task associated with the local second voice interaction engine based on the slot position synchronization information among the terminals; the task execution control unit is further configured to trigger the task execution result receiving unit to cause the task execution result receiving unit to execute: receiving a second task execution result from the local second voice interaction engine, receiving a first task execution result from the second intelligent terminal through the communication unit, and simultaneously providing the first task execution result and the second task execution result for a user;
Case 3: if the result of the first judgment is negative, triggering the communication unit when any one of the device and the at least one third intelligent terminal is not the same terminal, so that the communication unit executes: the voice command is sent to a second intelligent terminal corresponding to the first voice interaction engine, the at least one third intelligent terminal is informed to activate the at least one second voice interaction engine, the inter-terminal slot synchronization information is received from the second intelligent terminal, the inter-terminal slot synchronization information is forwarded to the at least one third intelligent terminal, and therefore the at least one third intelligent terminal can immediately synchronize the slot of at least one second task associated with the at least one second voice interaction engine based on the inter-terminal slot synchronization information; triggering the task execution result receiving unit to enable the task execution result receiving unit to execute: and receiving a first task execution result and at least one second task execution result from the second intelligent terminal and at least one third terminal through a communication unit respectively, and simultaneously providing the first task execution result and the second task execution result for a user.
Preferably, the task execution control unit is further configured to: and triggering the communication unit when the case 2, i.e. the result of the first judgment, is no and one of the first intelligent terminal and the at least one third intelligent terminal is the same terminal: after the voice command is sent to the second intelligent terminal corresponding to the first voice interaction engine, notifying the at least one third intelligent terminal to activate the at least one second voice interaction engine, and forwarding the received inter-terminal slot synchronization information to other third intelligent terminals, so that the other third intelligent terminals synchronize slots of a second task associated with the corresponding second interaction engine based on the inter-terminal slot synchronization information; triggering the task execution result receiving unit to enable the task execution result receiving unit to execute: and receiving second task execution results from the other third intelligent terminals, and providing the second task execution results received from the other third intelligent terminals, the first task execution results and the second task execution results received from the local second voice interaction engine for a user at the same time.
The task execution control unit is further configured to: after the first cooperative voice interaction engine cluster of the first voice interaction engine is determined, executing second judgment, namely judging whether the first voice interaction engine is a dominant interaction engine of the first cooperative voice interaction engine cluster, and executing according to the mode of the cooperative voice interaction engine cluster if the result of the second judgment is yes; if the result of the second judgment is negative, judging whether the first voice interaction engine is a local voice interaction engine of the first intelligent terminal, if so, sending the voice command to the first voice interaction engine so that the first voice interaction engine fills the slot of the first task based on the voice command, triggering the task execution result receiving unit to receive a first task execution result from the first voice interaction engine, and providing the first task execution result to a user; if not, triggering the communication unit to send the voice command to the cooperative intelligent terminal to which the first voice interaction engine belongs, so that the cooperative intelligent terminal fills the slot of the first task based on the voice command, triggering the task execution result receiving unit to receive the first task execution result from the cooperative intelligent terminal through the communication unit, and providing the first task execution result to a user.
The task execution control unit is further configured to: judging whether the first intelligent terminal is in a collaborative interaction engine cluster working mode or not and judging whether the user instruction comprises a collaborative interaction engine cluster working mode changing instruction, if one of the two judging results is yes, executing a first collaborative voice interaction engine cluster and a subsequent step of determining that the first voice interaction engine belongs to based on a locally stored collaborative voice interaction engine cluster, and if the first collaborative voice interaction engine cluster and the subsequent step are both negative, executing a local voice interaction engine and a subsequent step of judging whether the first voice interaction engine is the first intelligent terminal or not.
The task execution control unit is further configured to: determining a first definition value of the voice command based on the voice command of the user received by the user command unit, broadcasting the first definition value triggering the communication unit to at least one other intelligent device in a local wireless network and receiving a second definition value from the at least one other intelligent device; the task execution control unit is further configured to determine whether the first sharpness value is greater than the second sharpness value, and if so, execute a subsequent step.
The user instruction acquisition unit is specifically used for acquiring a user voice instruction;
the task execution control unit is further configured to: and selecting an intelligent terminal capable of performing voice recognition processing on the voice command based on the first voice capability list, and acquiring a user command based on a processing result of the intelligent terminal.
The task execution control unit is further configured to, if it is determined that the first speech interaction engine capable of executing the first task is multiple based on the first speech processing capability list, first select one of the multiple first interaction engines, and then determine, based on the locally stored collaborative speech interaction engine cluster, a first collaborative speech interaction engine cluster to which the selected first speech interaction engine belongs.
The task execution control unit is further configured to, if it is determined that the first collaborative voice interaction engine cluster (first collaborative voice interaction coexistence engine cluster) to which the first voice interaction engine belongs is multiple, select one of the first collaborative voice interaction engine clusters first, and then determine, based on the first voice processing capability list, an intelligent terminal set corresponding to a voice interaction engine included in the first collaborative voice interaction engine cluster.
The invention also provides a device for dynamically constructing the voice processing capability list, which is used for the second intelligent terminal. The sending message and the receiving message executed by the second intelligent terminal are executed by the communication unit of the device, and the rest steps are executed by the task execution control unit of the device.
In three embodiments of the device for a first intelligent terminal of the present invention, the units with the same name have all the functions of the units in other embodiments. The devices in the above three embodiments may be combined arbitrarily.
The invention also provides a computer device characterized in that it comprises a processor and a memory in which a computer program is stored which is executable on the processor and which, when executed by the processor, implements a method as described above.
The invention also provides a computer readable storage medium, characterized in that it has stored therein a computer program executable on a processor, which when executed implements a method as described above.
The invention also provides a voice assistant, characterized by comprising the device.
The invention also provides a terminal characterized by comprising the device or the voice assistant.
Any combination of one or more computer readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. The computer readable storage medium may include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Computer program code for carrying out operations of the present invention may be written in one or more programming languages or combinations thereof.
The above description is only an example for the convenience of understanding the present invention, and is not intended to limit the scope of the present invention. In the specific implementation, the person skilled in the art may change, increase, decrease the components of the apparatus according to the actual situation, and may change, increase, decrease or change the order of the steps of the method according to the actual situation on the basis of not affecting the functions implemented by the method.
While embodiments of the invention have been shown and described, it will be understood by those skilled in the art that: various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents, and modifications which are not to be construed as being within the scope of the invention.