Conversational AI platform with integrated closed-domain and open-domain conversations
Through the combination of natural language understanding model and dialogue manager, identifying user queries and routing to appropriate closed or open domain dialogue systems solves the inconvenience of users when selecting and switching systems, and achieving more relevant response and context maintenance.
Patent Information
- Application Number
- CN202210238235.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-31
- Filing Date
- 2022-03-11
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2042-03-11
AI Technical Summary
In the prior art, it is difficult for users to effectively select and switch closed domain dialogue systems and open domain dialogue systems, resulting in the loss of conversation context and insufficient response.
By combining natural language understanding models and dialogue managers, identifying domain tags and intent classifications for user queries, routing text queries to appropriate closed or open domain dialogue systems, and training open domain dialogue systems to favor closed domain dialogue systems to maintain conversation context.
It realizes that when user query, effectively routes to the correct dialogue system, maintains the conversation context, and provides more relevant responses, avoiding the inconvenience and insufficient response caused by user manual switching.
Smart Images

Figure CN115146038B_ABST
Abstract
Description
Background Art
[0001] Users often rely on software applications—such as chatbots, virtual assistants, social robots, and other forms of AI—to submit queries and engage in conversations. However, these software applications typically use dialogue systems that are configured to provide either broad or narrow responses, but not both. For example, closed-domain dialogue systems are configured to provide specific, informed responses and are trained to answer queries related only to a specific set of topics and / or domains. Thus, a user can submit a limited set of queries about a specific topic (e.g., restaurants in a city) to a closed-domain dialogue system (e.g., a chatbot) and receive specific, detailed content in response. In contrast, open-domain dialogue systems are trained to provide human-like responses to queries that are more general or colloquial and less detailed than those provided by closed-domain dialogue systems. For example, a user can submit most queries to an open-domain dialogue system and receive relevant responses; however, responses to task-oriented queries (e.g., "Find me the top 10 restaurants in Seattle") are typically not as specific or informative as responses received from closed-domain dialogue systems.
[0002] While users can manually select to use a closed-domain dialogue system for task-oriented queries and an open-domain dialogue system for all other queries, many users do not know which type of system will be able to provide an effective response to them. Consequently, many users simply give up trying to route different queries to different systems. Furthermore, when users manually switch between open-domain and closed-domain dialogue systems, the context of the conversation is lost. Consequently, users may not be provided with adequate and / or relevant responses to their queries. Summary of the Invention
[0003] Embodiments of the present disclosure relate to the combined use of closed-domain dialogue systems and open-domain dialogue systems. Disclosed are systems and methods for transmitting text data representing a user query to at least one of an open-domain dialogue system and a closed-domain dialogue system based on analyzing the text data. For example, and in contrast to conventional systems such as those described above, the systems and methods of the present disclosure combine an open-domain dialogue system and a closed-domain dialogue system into an integrated intelligent dialogue management system. According to embodiments of the present disclosure, when a user submits a text query, or transcribes a text query from a voice query, the text query can be processed by a natural language understanding model that is trained to associate the text query with domain labels, intent classifications, and / or input slots. Using the domain labels, the natural language understanding model can identify information in the text query that corresponds to the input slot required to answer the text query. The text query and related information can then be passed to a dialogue manager to direct the text query to the appropriate domain.
[0004] The dialog manager can support one or more open-domain dialog systems and one or more closed-domain dialog systems. In some embodiments, when the dialog manager receives a text query, a domain label, and an intent classification, the dialog manager can access the domain label and intent classification of the text query to determine whether the dialog management system includes rules for routing the text query to a domain dialog system corresponding to the domain label and intent classification. The label / classification can correspond to a specific closed or open dialog system. If no corresponding dialog system exists, the dialog manager can route the text query to a default domain dialog system. The default domain system can then process and return a response to the text query. When the dialog manager is able to determine a corresponding dialog system, the dialog manager can route the text query to both the corresponding dialog system and the default domain dialog system. A specific dialog system may require the dialog manager to enforce the dialog system's policies. The retrieved response can be provided to the user via text output and / or via the text-to-speech component of the dialog management system.
[0005] In a further embodiment, an open-domain dialog system can be trained to bias (e.g., weight or guide) its responses toward a closed-domain dialog system included as part of a dialog management system. When the dialog management system fails to provide relevant answers to user queries, a set of training data can be applied to the existing open-domain dialog system to guide responses toward the included closed-domain dialog system. Thus, the conversation between the user and the dialog management system can be guided toward the discussion that the dialog management system is equipped to maintain. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] The system and method for the joint use of closed-domain and open-domain dialogue systems are described in detail below with reference to the accompanying drawings, wherein:
[0007] Figure 1 is an example conversation management system suitable for implementing some embodiments of the present disclosure;
[0008] Figures 2A-2B is an example routing operation for text queries suitable for implementing some embodiments of the present disclosure;
[0009] Figure 3 is an example user interface suitable for implementing some embodiments of the present disclosure;
[0010] Figure 4 is a flow chart suitable for implementing some embodiments of the present disclosure for generating output to a user query;
[0011] Figure 5 is a flow chart suitable for implementing some embodiments of the present disclosure for generating output to a user query;
[0012] Figure 6is a block diagram of an example computing device suitable for implementing some embodiments of the present disclosure; and
[0013] Figure 7 is a block diagram of an example data center suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION
[0014] Systems and methods are disclosed that relate to the combined use of closed-domain and open-domain conversational systems. While primarily described herein with respect to mobile and desktop digital assistant implementations, this is not intended to be limiting, and the systems and methods of the present disclosure can be implemented in any implementation that combines open-domain and closed-domain conversational systems. By way of non-limiting example, the systems and methods described herein can be implemented for smart speaker applications, smart appliance applications, instant messaging applications, human wearable technology applications, smart vehicle applications, and / or other types of applications that facilitate interactive human-computer interactions, or perform tasks and / or services for users based on commands and / or questions.
[0015] In some embodiments, the open dialogue system and the closed dialogue system can be combined into an intelligent dialogue management system for generating responses to user queries. For example, a user can submit a query to the dialogue management system via voice input and / or text input. When a user submits a query via voice input, an automatic speech recognizer can process the audio data corresponding to the voice input query to generate a text representation of the audio data (e.g., a transcript). The text representation or voice input and / or text input - such as an input query received via a chat box - (collectively referred to as a "text query") can then be processed and / or analyzed by a natural language understanding model that is trained to associate the text query with a domain label, intent classification, and / or input slot.
[0016] Domain tags can be labels for specific closed-domain dialog systems. Closed-domain dialog systems and corresponding tags may include, but are not limited to, navigation systems, weather systems, restaurant systems, sports systems, music or entertainment systems, digital media systems, theater systems, in-vehicle control systems, fitness systems, and so on. These tags can be associated with text queries by a natural language understanding model. For example, a query such as "Take me to the nearest coffee shop" can be tagged with a closed-domain tag for restaurants (e.g., a restaurant review application) and / or a navigation tag (e.g., a navigation application).
[0017] An intent classification can describe what the user is trying to accomplish. In some embodiments, a natural language understanding model can be trained to infer answers to questions about why the user submitted the query and what the user wants to achieve. Thus, the natural language understanding model can associate an intent classification with a text query. For example, the same query above, "Take me to the nearest coffee shop," can be classified as a navigation intent because the natural language understanding model can determine that the user is trying to navigate to the nearest coffee shop.
[0018] Using one or more domain tags, a natural language understanding model can identify information in a text query that corresponds to input slots of one or more corresponding domains required to answer the text query. For example, a restaurant domain may include input slots for location, price, cuisine category, open / closed, etc. Based on a received text query, a natural language understanding model can associate information from the text query with one or more input slots. For example, a query saying, "What's the weather like in Seattle tomorrow night?" can be tagged with a weather domain that may have input slots for location, date, time, etc. In this example, the natural language understanding model can associate "Seattle" with the location input slot, "tomorrow" with the date input slot, and evening with the time input slot.
[0019] In some embodiments, the text query and related information (e.g., domain labels, intent classifications, and / or input slot data) can then be passed to the dialog manager to direct the text query to the appropriate domain. The dialog manager can support one or more open domain dialog systems—such as NVIDIA's MISTY, BLENDER, or other conversational AI robots—and one or more closed domain dialog systems—such as one or more specific task-oriented robots. The dialog management system can include any number of dialog systems. Developers can configure rules (e.g., elseif statements) to route (e.g., transfer) text queries to specific domains.
[0020] In some embodiments, when a text query and related information (e.g., domain labels, intent classifications, and / or input slot data) are received, the dialog manager can access the domain labels and intent classifications of the text query. The domain labels and intent classifications can be used to determine whether the dialog management system includes rules for routing the text query to a domain dialog system corresponding to the domain labels and intent classifications. The domain labels and intent classifications can correspond to specific closed or open dialog systems. In some embodiments, if there is no corresponding dialog system, the dialog manager can route the text query to a default domain dialog system, such as an open domain dialog system. The open domain dialog system can then process and return a response to the text query.
[0021] In some embodiments, when the dialog manager is able to determine a corresponding closed dialog system, the dialog manager can route the text query to the corresponding closed dialog system in addition to the open-domain dialog system (e.g., so that the open-domain dialog system can maintain the state of the conversation). A particular closed dialog system may require the dialog manager to enforce the dialog system's policies. For example, the dialog system may require input slot information to be filled in (e.g., find_weather(location="Seattle", date="Monday", time="evening")) to allow the fulfillment component to interact with the domain dialog system and retrieve a response. The retrieved response can be provided to the user via text output and / or via the text-to-speech component of the dialog management system.
[0022] In some embodiments, when a user interacts with the dialog management system, the user may enter a query that is routed to and fulfilled by one or more open-domain systems and one or more closed-domain systems. In this case, the dialog management system may maintain the dialog state (e.g., conversation context) between the open-domain system and the closed-domain system. For example, when the dialog manager determines that a text query should be routed to an identified closed-domain dialog system, the dialog manager may route the text query to the identified closed-domain dialog system and the open-domain dialog system (e.g., the default domain dialog system). Both dialog systems may then process the text query.
[0023] Processing text queries by the identified closed-domain dialogue system and the open-domain dialogue system can allow the open-domain dialogue system to update the open-domain dialogue system's internal dialogue state, which can be stored in the open-domain dialogue system. The dialogue manager can also record / store the dialogue state based on the text query. The dialogue state can refer to a history, an estimate of the user's intent, and / or the state of the user's conversation with the digital assistant application. In some embodiments, the identified closed-domain dialogue system and the open-domain dialogue system can each return a response to the text query. However, when the text query is directed to the identified closed-domain dialogue system, the dialogue manager can then ignore the response received from the open-domain dialogue system. The response returned by the closed-domain dialogue system can then be provided to the user. Advantageously, by routing the text query to the identified closed-domain dialogue system and the open-domain dialogue system, if the user submits a subsequent query that is routed to the open-domain dialogue system, the open-domain dialogue system can understand the dialogue state, thereby providing the user with more relevant results than would otherwise be available.
[0024] In embodiments where text queries are routed only to the open-domain dialog system, responses returned by the open-domain dialog system can be considered by the dialog manager and used to update the dialog state stored in the dialog manager. Advantageously, subsequent user queries routed to the closed-domain dialog system can access the dialog state stored in the dialog manager. For example, the dialog manager can extract information from the dialog state to fill the input slots required for the system to submit queries to the closed-domain dialog system.
[0025] In a further embodiment, an open-domain dialogue system can be trained to bias its responses toward a closed-domain dialogue system included as part of a dialogue management system. For example, a dialogue management system can include closed-domain dialogue systems for restaurants, weather, travel, sports, and so on. Developers can leverage an existing open-domain dialogue system and apply a set of training data to it to steer responses toward the included closed-domain dialogue system when the dialogue management system fails to provide relevant answers to user queries. For example, if a user asks, "What is the population of Seattle?", since the dialogue management system doesn't enable the closed-domain dialogue system to answer this query, the query may be routed to the open-domain dialogue system, which will be unable to provide population information. However, based on the trained bias, the open-domain dialogue system can redirect the conversation to the closed-domain dialogue system. The open-domain dialogue system might respond, "I don't know, but I know it has some great restaurants." Advantageously, this prevents the conversation between the user and the dialogue management system from straying in undesirable directions.
[0026] refer to Figure 1 , Figure 1 is an example dialog management system 100 (also referred to herein as "system 100") according to some embodiments of the present disclosure. It should be understood that this and other arrangements described herein are set forth by way of example only. Other arrangements and elements (e.g., machines, interfaces, functions, commands, functional groupings, etc.) may be used in addition to or in place of those shown, and some elements may be omitted entirely. In addition, many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. The various functions described herein as being performed by entities may be performed by hardware, firmware, and / or software. For example, the various functions may be performed by a processor executing instructions stored in a memory. In some embodiments, the system 100 may include Figure 6 The example computing device 600 and / or Figure 7 Components, features and / or functions similar to those of the example data center 700 may be employed.
[0027] The dialog management system 100 may include an automatic speech recognizer 110 , a natural language understanding model 120 , a dialog manager 130 , one or more open-domain dialog systems 150 , one or more closed-domain dialog systems 160 , and a text-to-speech converter 170 , among other things.
[0028] In operation, a user may submit a query to the dialog management system 100 via voice input 102 and / or text input 104. Although not depicted, such a query may be submitted to the dialog management system 100 via one or more of a mobile device, a desktop device, a smart device, a human wearable device, a vehicle interface, and / or another device that supports or is communicatively coupled to a device that executes a digital assistant interface. When a user submits a query via voice input 102, an automatic speech recognizer 110 may process audio data corresponding to the voice input 102 to generate a text representation 112 (e.g., a transcript) of the audio data. The text representation 112 or voice input 102 and / or text input 104 (collectively depicted and described as a text query 114) may then be passed to a natural language understanding model 120, which may process and / or analyze the text query 114. The natural language understanding model 120 may be trained to associate the text query 114 with a domain label, an intent classification, and / or one or more input slots.
[0029] The domain label can be a label for a specific closed-domain dialog system of the one or more closed-domain dialog systems 160. The closed-domain dialog systems 160—and the corresponding labels—can include, but are not limited to, navigation systems, weather systems, restaurant systems, sports systems, music systems, movie theater systems, etc. The natural language understanding model 120 can associate the label corresponding to the one or more closed-domain dialog systems 160 with the text query 114.
[0030] The natural language understanding model 120 can determine the intent of the text query 114 by predicting the reason why the user submitted the text query 114 and what the user wants to achieve via the text query 114. Therefore, the natural language understanding model 120 can associate one or more determined intent categories with the text query 114. For example, when the text data of the text query 114 says "What is the best barbecue restaurant in Seattle?", the natural language understanding model 120 can associate a navigation intent and a restaurant intent with the text query 114. The natural language understanding model 120 can associate these intents with the text query 114 because the natural language understanding model 120 can predict that the user wants the dialog management system 100 to provide the user with information about barbecue restaurants in Seattle with the best reviews.
[0031] The natural language understanding model 120 can further use one or more domain tags associated with the text query 114 to identify information in the text query 114 that corresponds to one or more input slots of the corresponding domain. The input slots can operate as placeholders for values required by one or more open-domain dialog systems 150 and / or one or more closed-domain dialog systems 160 to answer the text query 114. Based on the received text query 114, the natural language understanding model 120 can associate information from the text query 114 with one or more input slots.
[0032] In some embodiments, the text query 114, one or more domain labels, one or more intent classifications, and / or input slot data associated with the text query 114 can be passed to the dialog manager 130 to direct the text query 114 to the correct domain. The dialog manager can support one or more open-domain dialog systems 150 and one or more closed-domain dialog systems 160. The dialog management system can include any number of dialog systems, each of which can be designated by the developer as one of the open-domain dialog systems 150, one of the closed-domain dialog systems 160, and / or a default domain dialog system.
[0033] The dialog manager 130 may include dialog rules 132, a domain controller 134, a core dialog manager 136 (which may include a dialog policy manager 138 and a dialog state tracker 140), and a task fulfillment interface 142. The dialog rules 132 may include routing rules for routing text queries 114 to specific domains based on domain labels. In operation, when the dialog manager 130 receives a text query 114 and one or more corresponding domain labels, one or more intent classifications, and / or input slot data, the dialog manager may access the domain labels and intent classifications for the text query. The domain labels and intent classifications may be used to determine whether the dialog rules 132 include a rule for routing the text query 114 to a domain dialog system corresponding to the domain label and intent classification. For example, if the text query 114 is associated with a specific domain label that is associated with a rule in the dialog rules 132, the text query 114 may be routed to the corresponding specific domain, such as one of the one or more closed-domain dialog systems 160, based on the rule. If the text query 114 is not associated with a particular domain label or the domain label is not associated with any of the dialog rules 132 , the text query can be routed to a default domain—eg, one of the one or more open-domain dialog systems 150 .
[0034] In some embodiments, policies corresponding to each of the one or more open-domain dialog systems 150 and / or the one or more closed-domain dialog systems 160 may be stored in the dialog policy manager 138. When the domain tag of the text query 114 corresponds to a specific domain dialog system, the dialog manager 130 may access the dialog policy manager 138 to identify the corresponding policy. The one or more open-domain dialog systems 150 and / or the one or more closed-domain dialog systems 160 may request the dialog manager 130 to execute the policy for the specific domain dialog system. Based on the one or more policies corresponding to a particular domain, the dialog manager 130 may generate a request to the specific domain dialog system. For example, the request to the specific domain dialog system may require filling in input slot information from the text query 114 (e.g., find_weather(location="Seattle", date="Monday", time="evening")) to allow the task-based fulfillment interface 142 to communicate with the specific domain dialog system.
[0035] When the text query 114 is transmitted to one or more open-domain dialogue systems 150 and / or one or more closed-domain dialogue systems 160, the text query may be processed by the one or more open-domain dialogue systems 150 and / or one or more closed-domain dialogue systems 160 to return one or more responses (e.g., text responses) to the text query 114. One of the returned responses may be provided to the user via a text output 106 and presented to the user. For example, the text may be displayed on the user's mobile device, vehicle display, wearable device, etc. Additionally or alternatively, the response (e.g., text output 106) may be passed to a text-to-speech converter 170. The text-to-speech converter 170 may process the response to generate audio data corresponding to the response to generate a speech output 108. The speech output 108 may be provided to the user via the user's mobile device, smart speaker, vehicle audio system, wearable device, etc.
[0036] In some embodiments, the dialog state tracker 140 can track interactions with one or more open-domain dialog systems 150 and / or one or more closed-domain dialog systems 160 to maintain the user's conversation state. The dialog state can refer to a history, an estimate of the user's intent, and / or the state of the user's conversation with the digital assistant application. The dialog state tracker 140 can maintain the dialog state based on one or more received text queries 114 and / or one or more responses received from one or more open-domain dialog systems 150 and / or one or more closed-domain dialog systems 160, such as in conjunction with Figure 2A and Figure 2B Further discussion.
[0037] In some embodiments, one or more open-domain dialog systems 150 can be trained to bias responses toward one or more closed-domain dialog systems 160. For example, the dialog management system 100 can include one or more closed-domain dialog systems 160 trained to fulfill text queries 114 about restaurants, weather, travel, sports, etc. In such an embodiment, a set of training data can be applied to the one or more open-domain dialog systems 150 to train the one or more open-domain dialog systems 150 to direct responses toward the one or more closed-domain dialog systems 160 included in the dialog management system 100 when the dialog management system cannot provide a relevant answer to the text query 114. For example, if the dialog management system 100 does not have a domain dialog system to answer the text query 114 in either the open-domain dialog system 150 or the closed-domain dialog system 160, the text query 114 can be routed to the default-domain dialog system, which may not be able to provide an answer. However, based on the trained bias, the default-domain dialog system can direct the conversation toward the one or more closed-domain dialog systems 160 and / or the one or more open-domain dialog systems 150. Thus, the conversation between the user and the dialog management system 100 may be prevented from straying into an undesired direction, where the dialog management system may be less likely to provide appropriate responses to future text queries 114 from the user.
[0038] Now go to Figures 2A-2B , Figures 2A-2B An example routing operation for text queries suitable for implementing some embodiments of the present disclosure is shown. In some embodiments, for example Figure 2A As shown in , the dialog manager 210 may simply route the text query to one or more open-domain dialog systems 220. The one or more open-domain dialog systems 220 may process the text query and return a response to the dialog manager 210. The dialog manager may consider the response and use it to update the dialog state stored in the dialog manager 210. In some embodiments, the dialog manager 210 may also record / store the dialog state based on the text query. Thus, subsequent text queries routed to one or more closed-domain dialog systems 230 may access the dialog state stored in the dialog manager 210. For example, the dialog manager 210 may be able to extract information from the dialog state to populate the input slots required for the dialog manager 210 to submit queries to the one or more closed-domain dialog systems 230. For example, while discussing Seattle in a conversation with one or more open-domain dialog systems 220, the user may then say, "Where is the best coffee shop?" The internally stored state in the dialog manager 210—which may now include the location state for "Seattle"—can be used to generate a query to the one or more closed-domain dialog systems 230 that includes the best coffee shops in Seattle, without requiring the user to again specify the location they are looking for.
[0039] refer to Figure 2B , the dialog manager 210 can route the text query to one or more open-domain dialog systems 220 and one or more closed-domain dialog systems 230. In this case, the dialog management system 210 can maintain the dialog state (e.g., conversation context) between the one or more open-domain dialog systems 220 and the one or more closed-domain dialog systems 230. For example, when the dialog manager 210 determines that the text query should be routed to an identified closed-domain dialog system among the one or more closed-domain dialog systems 230, the dialog manager 210 can route the text query to the identified closed-domain dialog system and one or more open-domain dialog systems 220, such as a default domain dialog system. The text query can then be processed by both the one or more open-domain dialog systems 220 and the identified closed-domain dialog system.
[0040] Processing the text query by both the identified closed-domain dialog system(s) in the one or more closed-domain dialog systems 230 and the one or more open-domain dialog systems 220 may allow the one or more open-domain dialog systems 220 to update the internal dialog state of the one or more open-domain dialog systems 220, which may be stored within the one or more open-domain dialog systems 220. In some embodiments, the dialog manager 210 may also record / store the dialog state based on the text query. In further embodiments, the dialog manager 210 may receive responses from the one or more closed-domain dialog systems 230 and may send the received responses to the one or more open-domain dialog systems 220. The one or more open-domain dialog systems 220 may receive the responses provided by the one or more closed-domain dialog systems 230 and update the internal dialog state of the one or more open-domain dialog systems 220 based on the responses. The responses provided by the one or more open-domain dialog systems 220 may then be incorporated into the state information stored in the one or more open-domain dialog systems 220 based on the updated internal dialog state.
[0041] In some embodiments, the identified closed-domain dialog system and the one or more open-domain dialog systems 220 can each return a response to the text query. However, when the text query is directed to an identified closed-domain dialog system in the one or more closed-domain dialog systems 230, the dialog manager 210 can ignore any responses received from the one or more open-domain dialog systems 220. The responses returned by the one or more closed-domain dialog systems 230 can then be provided to the user. By routing the text query to the identified closed-domain dialog system and the one or more open-domain dialog systems 220, if the user submits a subsequent query that is routed to the one or more open-domain dialog systems 220, the one or more open-domain dialog systems 220 can access the dialog state, enabling the one or more open-domain dialog systems 220 to understand the context of the text query and provide the user with more relevant results than would otherwise be available.
[0042] Now refer to Figure 3 , Figure 3 An example user interface suitable for implementing some embodiments of the present disclosure is shown. Figure 3 Included is a device 310, an AI graphic 320, and a user 330. In various embodiments, the device 310 may be a smartphone, a laptop, a tablet, a desktop, a wearable device, a gaming console, a virtual reality system (e.g., a headset, a computer, a gaming console), a streaming device (e.g., NVIDIA SHIELD), a smart home device, a vehicle computing device, another type of device that can perform tasks and / or services for the user 330 based on commands and / or questions, depending on the embodiment or implementation, and / or a combination thereof. The AI graphic 320 may be an animated character, an avatar, or other anthropomorphism. In operation, the user 330 may provide a dialog management system (e.g., a user's computer) with a voice input and / or text input to the device 310. Figure 1 System 100) submits a query. Device 310 can receive and process the query via the dialogue management system. In some embodiments, the dialogue management system can cause AI graphic 320 to provide an indicator to user 330 via device 310 indicating that the query is being processed. For example, AI graphic 320 can change its facial expression to mimic a person's thinking. Once the dialogue management system has processed the query, a response can be provided to user 330 via device 310. In some embodiments, by matching the AI graphic 320's mouth gestures with the acoustic reflections of the responsive audio data, the AI graphic 320 can appear to speak the response back to user 330.
[0043] Now refer to Figure 4-5, each block of the methods 400 and 500 described herein includes a computing process that can be performed using any combination of hardware, firmware, and / or software. For example, various functions can be performed by a processor executing instructions stored in a memory. The methods 400 and 500 can also be embodied as computer-usable instructions stored on a computer storage medium. The methods 400 and 500 can be provided by a standalone application, a service, or a hosted service (standalone or in combination with another hosted service), or a plug-in to another product, to name a few. In addition, as an example, with respect to Figure 1 Methods 400 and 500 are described with reference to system 100. However, these methods may additionally or alternatively be performed by any one system or any combination of systems, including but not limited to those described herein.
[0044] refer to Figure 4 , Figure 4 4 is a flow chart illustrating a method 400 for generating an output in response to a user query according to some embodiments of the present disclosure. At block B402, the method 400 includes analyzing text data representing the user query. For example, the text representation 112 or the voice input 102 and / or the text input 104 (collectively depicted and described as a text query 114) can then be passed to a natural language understanding model 120, which can process and / or analyze the text query 114.
[0045] At B404 , method 400 includes generating a domain label corresponding to the user query based at least in part on the analysis. For example, natural language understanding model 120 may be trained to associate text query 114 with a domain label, an intent classification, and / or one or more input slots.
[0046] At B406 , method 400 includes transmitting the text data to the open-domain dialogue system when the domain tag corresponds to the open-domain dialogue system. For example, if the text query 114 is associated with a specific domain tag associated with a rule in dialogue rules 132 , the text query 114 can be transmitted to the corresponding specific domain based on the rule.
[0047] At B408, the method 400 includes: when the domain tag corresponds to a closed-domain dialog system, (1) accessing one or more request strategies corresponding to the closed-domain dialog system based at least in part on the domain tag; (2) generating a request to the closed-domain dialog system using the text data based at least in part on the one or more request strategies; and (3) transmitting the request to the closed-domain dialog system. For example, when the domain tag of the text query 114 corresponds to a determined-domain dialog system, the dialog manager 130 may access the dialog strategy manager 138 to identify the corresponding strategy. One or more open-domain dialog systems 150 and / or one or more closed-domain dialog systems 160 may request the dialog manager 130 to execute strategies for the determined-domain dialog system. Based on the one or more strategies corresponding to the specific domain, the dialog manager 130 may generate a request to the determined-domain dialog system.
[0048] At B410, method 400 includes receiving response text data from at least one of the open-domain dialogue system or the closed-domain dialogue system in response to the text data. For example, when a text query 114 is transmitted to one or more open-domain dialogue systems 150 and / or one or more closed-domain dialogue systems 160, the text query can be processed by the one or more open-domain dialogue systems 150 and / or the one or more closed-domain dialogue systems 160 to return one or more responses (e.g., text responses) to the text query 114.
[0049] At B412, method 400 includes generating an output based at least in part on the response text data. For example, the text response can be displayed on a user's mobile device, a vehicle display, a wearable device, etc. Additionally or alternatively, the response (e.g., text output 106) can be passed to a text-to-speech converter 170. The text-to-speech converter 170 can process the response to generate audio data corresponding to the response to generate a speech output 108. The speech output 108 can be provided to the user via the user's mobile device, a smart speaker, a vehicle's audio system, a wearable device, etc.
[0050] Now refer to Figure 5 , Figure 5 is a flow chart illustrating a method 500 for generating an output in response to a user query according to some embodiments of the present disclosure. At block B 502 , the method 500 includes analyzing first text data representing the user query. For example, the text representation 112 or voice input 102 and / or text input 104 (collectively depicted and described as a text query 114 ) can then be passed to a natural language understanding model 120 , which can process and / or analyze the text query 114 .
[0051] At block B504, method 500 includes determining, based at least in part on the analysis, a domain label corresponding to the user query, and determining, based at least in part on the analysis, a domain label corresponding to one or more of an open-domain dialog system or a closed-domain dialog system. For example, natural language understanding model 120 may be trained to associate text query 114 with a domain label, an intent classification, and / or one or more input slots.
[0052] At block B506 , method 500 includes accessing one or more request policies corresponding to the closed-domain dialog system determined to be associated with the domain tag. For example, when the domain tag of text query 114 corresponds to the determined domain dialog system, dialog manager 130 may access dialog policy manager 138 to identify corresponding policies.
[0053] At block B508, method 500 includes generating a request to a closed-domain dialog system using the first text data based at least in part on one or more request policies. For example, based on one or more policies corresponding to a particular domain, dialog manager 130 may generate a request to a specific domain dialog system.
[0054] At block B510 , method 500 includes sending a request to the closed-domain dialog system. For example, if text query 114 is associated with a domain-specific tag associated with a rule in dialog rules 132 , text query 114 may be directed to the corresponding domain-specific tag based on the rules.
[0055] At block B512 , the method 500 includes receiving second text data from the closed-domain dialog system in response to the request. For example, the dialog manager 210 may receive a response from one or more closed-domain dialog systems 230 .
[0056] At block B514 , the method 500 includes sending the second text data to the open-domain dialog system. For example, the dialog manager 210 may transmit responses received from one or more closed-domain dialog systems 230 to one or more open-domain dialog systems 220 .
[0057] At block B516, method 500 includes generating an output based at least in part on the second text data received from the closed-domain dialog system. For example, a response provided by one or more open-domain dialog systems 220 may then incorporate state information stored in one or more open-domain dialog systems 220 based on the updated internal dialog state.
[0058] Example computing device
[0059] Figure 6FIG6 is a block diagram of an example computing device 600 suitable for implementing some embodiments of the present disclosure. Computing device 600 may include an interconnect system 602 that directly or indirectly couples the following devices: memory 604, one or more central processing units (CPUs) 606, one or more graphics processing units (GPUs) 608, a communication interface 610, input / output (I / O) ports 612, I / O components 614, a power supply 616, one or more presentation components 618 (e.g., a display), and one or more logic units 620. In at least one embodiment, computing device 600 may include one or more virtual machines (VMs), and / or any of its components may include virtual components (e.g., virtual hardware components). For non-limiting examples, one or more GPUs 608 may include one or more vGPUs, one or more CPUs 606 may include one or more vCPUs, and / or one or more logic units 620 may include one or more virtual logic units. Thus, computing device 600 may include discrete components (eg, a complete GPU dedicated to computing device 600 ), virtual components (eg, a portion of a GPU dedicated to computing device 600 ), or a combination thereof.
[0060] although Figure 6 The various blocks of are shown as being connected via an interconnect system 602 having wires, but this is not intended to be limiting and is provided for clarity only. For example, in some embodiments, a presentation component 618 such as a display device may be considered an I / O component 614 (e.g., if the display is a touch screen). As another example, the CPU 606 and / or the GPU 608 may include memory (e.g., the memory 604 may represent a storage device in addition to the memory of the GPU 608, the CPU 606, and / or the other components). In other words, Figure 6 The term computing device is illustrative only. No distinction is made between categories such as "workstation," "server," "laptop," "desktop," "tablet," "client device," "mobile device," "handheld device," "game console," "electronic control unit (ECU)," "virtual reality system," and / or other device or system types, as all are considered within the Figure 6 within the range of computing devices.
[0061] Interconnect system 602 can represent one or more links or buses, such as an address bus, a data bus, a control bus, or a combination thereof. Interconnect system 602 can include one or more links or bus types, such as an industry standard architecture (ISA) bus, an extended industry standard architecture (EISA) bus, a video electronics standard association (VESA) bus, a peripheral component interconnect (PCI) bus, a peripheral component interconnect express (PCIe) bus, and / or another type of bus or link. In some embodiments, there is a direct connection between components. As an example, CPU 606 can be directly connected to memory 604. In addition, CPU 606 can be directly connected to GPU 608. In the case where there is a direct or point-to-point connection between components, interconnect system 602 can include a PCIe link to perform the connection. In these examples, it is not necessary to include a PCI bus in computing device 600.
[0062] Memory 604 may include any of a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 600. Computer-readable media can include volatile and non-volatile media and removable and non-removable media. By way of example and not limitation, computer-readable media can include computer storage media and communication media.
[0063] Computer storage media may include volatile and non-volatile media and / or removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, and / or other data types. For example, memory 604 may store computer-readable instructions (e.g., representing programs and / or program elements, such as an operating system). Computer storage media may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computing device 600. As used herein, computer storage media does not include signals themselves.
[0064] Computer storage media may embody computer-readable instructions, data structures, program modules, and / or other data types in a modulated data signal such as a carrier wave or other transmission mechanism, and include any information delivery media. The term "modulated data signal" may refer to a signal that has one or more of its characteristics set or changed in such a manner as to encode information into the signal. By way of example and not limitation, computer storage media may include wired media such as a wired network or a direct wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the above should also be included within the scope of computer-readable media.
[0065] The CPU 606 can be configured to execute at least some of the computer-readable instructions to control one or more components of the computing device 600 to perform one or more of the methods and / or processes described herein. Each of the CPUs 606 can include one or more cores (e.g., one, two, four, eight, twenty-eight, seventy-two, etc.) capable of processing a large number of software threads simultaneously. The CPU 606 can include any type of processor and can include different types of processors, depending on the type of computing device 600 implemented (e.g., a processor with fewer cores for mobile devices and a processor with more cores for servers). For example, depending on the type of computing device 600, the processor can be an Advanced RISC (ARM) processor implemented using Reduced Instruction Set Computing (RISC) or an x86 processor implemented using Complex Instruction Set Computing (CISC). The computing device 600 can also include one or more CPUs 606 in addition to one or more microprocessors or supplementary coprocessors such as math coprocessors.
[0066] In addition to or in place of the CPU 606, the GPU 608 may also be configured to execute at least some computer-readable instructions to control one or more components of the computing device 600 to perform one or more of the methods and / or processes described herein. One or more GPUs 608 may be integrated GPUs (e.g., with one or more CPUs 606) and / or one or more GPUs 608 may be discrete GPUs. In embodiments, one or more GPUs 608 may be coprocessors for one or more CPUs 606. The computing device 600 may use the GPU 608 to render graphics (e.g., 3D graphics) or perform general-purpose computing. For example, the GPU 608 may be used for general-purpose computing on a GPU (GPGPU). The GPU 608 may include hundreds or thousands of cores capable of processing hundreds or thousands of software threads simultaneously. The GPU 608 may generate pixel data for outputting an image in response to a rendering command (e.g., a rendering command received from the CPU 606 via a host interface). The GPU 608 may include graphics memory, such as display memory, for storing pixel data or any other suitable data (e.g., GPGPU data). Display memory can be included as part of memory 604. GPU 608 can include two or more GPUs operating in parallel (e.g., via a link). The link can connect the GPUs directly (e.g., using NVLINK) or through a switch (e.g., using NVSwitch). When combined, each GPU 608 can generate pixel data or GPGPU data for different portions or different outputs (e.g., a first GPU for a first image and a second GPU for a second image). Each GPU can include its own memory or can share memory with other GPUs.
[0067] In addition to or in lieu of the CPU 606 and / or GPU 608, the logic unit 620 may be configured to execute at least some computer-readable instructions to control one or more components of the computing device 600 to perform one or more methods and / or processes described herein. In embodiments, the CPU 606, GPU 608, and / or logic unit 620 may perform any combination of methods, processes, and / or portions thereof, either separately or in conjunction. The one or more logic units 620 may be part of and / or integrated within the one or more CPUs 606 and / or the one or more GPUs 608 and / or the one or more logic units 620 may be discrete components of or otherwise external to the CPU 606 and / or GPU 608. In embodiments, the one or more logic units 620 may be processors of the one or more CPUs 606 and / or the one or more GPUs 608.
[0068] Examples of logic unit 620 include one or more processing cores and / or components thereof, such as a tensor core (TC), a tensor processing unit (TPU), a pixel vision core (PVC), a vision processing unit (VPU), a graphics processing cluster (GPC), a texture processing cluster (TPC), a streaming multiprocessor (SM), a tree traversal unit (TTU), an artificial intelligence accelerator (AIA), a deep learning accelerator (DLA), an arithmetic logic unit (ALU), an application-specific integrated circuit (ASIC), a floating point unit (FPU), an input / output (I / O) element, a peripheral component interconnect (PCI) or a peripheral component interconnect express (PCIe) element, etc.
[0069] The communication interface 610 may include one or more receivers, transmitters, and / or transceivers that enable the computing device 600 to communicate with other computing devices via an electronic communication network, including wired and / or wireless communications. The communication interface 610 may include components and functionality that enable communication over any of a number of different networks, such as wireless networks (e.g., Wi-Fi, Z-Wave, Bluetooth, Bluetooth LE, ZigBee, etc.), wired networks (e.g., via Ethernet or InfiniBand communications), low-power wide-area networks (e.g., LoRaWAN, SigFox, etc.), and / or the Internet.
[0070] The I / O ports 612 can enable the computing device 600 to be logically coupled to other devices including I / O components 614, presentation components 618, and / or other components, some of which can be built into (e.g., integrated into) the computing device 600. Illustrative I / O components 614 include a microphone, a mouse, a keyboard, a joystick, a game pad, a game controller, a satellite dish, a browser, a printer, a wireless device, and the like. The I / O components 614 can provide a natural user interface (NUI) that processes user-generated air gestures, voice, or other physiological input. In some instances, the input can be transmitted to an appropriate network element for further processing. The NUI can implement any combination of voice recognition, stylus recognition, facial recognition, biometric recognition, gesture recognition on and adjacent to the screen, air gestures, head and eye tracking, and touch recognition associated with the display of the computing device 600 (as described in more detail below). The computing device 600 can include a depth camera such as a stereo camera system, an infrared camera system, an RGB camera system, touch screen technology, and combinations thereof for gesture detection and recognition. Additionally, computing device 600 may include an accelerometer or gyroscope to enable motion detection (e.g., as part of an inertial measurement unit (IMU)). In some examples, the output of the accelerometer or gyroscope may be used by computing device 600 to render immersive augmented or virtual reality.
[0071] The power supply 616 may include a hardwired power supply, a battery power supply, or a combination thereof. The power supply 616 may provide power to the computing device 600 to enable the components of the computing device 600 to operate.
[0072] The presentation component 618 may include a display (e.g., a monitor, a touch screen, a television screen, a head-up display (HUD), other display types, or a combination thereof), speakers, and / or other presentation components. The presentation component 618 may receive data from other components (e.g., the GPU 608, the CPU 606, etc.) and output the data (e.g., as images, video, sound, etc.).
[0073] Sample Data Center
[0074] Figure 7 An example data center 700 is shown, which may be used in at least one embodiment of the present disclosure. The data center 700 may include a data center infrastructure layer 710, a framework layer 720, a software layer 730, and an application layer 740.
[0075] like Figure 7 As shown, the data center infrastructure layer 710 may include a resource coordinator 712, grouped computing resources 714, and node computing resources ("node CRs") 716(1)-716(N), where "N" represents any complete positive integer. In at least one embodiment, the node CRs 716(1)-716(N) may include, but are not limited to, any number of central processing units ("CPUs") or other processors (including accelerators, field programmable gate arrays (FPGAs), graphics processors or graphics processing units (GPUs), etc.), memory devices (e.g., dynamic read-only memory), storage devices (e.g., solid-state drives or disk drives), network input / output ("NW I / O") devices, network switches, virtual machines ("VMs"), power modules and cooling modules, etc. In some embodiments, one or more of the node CRs 716(1)-716(N) may correspond to a server having one or more of the above-mentioned computing resources. Furthermore, in some embodiments, nodes CR 716 ( 1 )- 716 (N) may include one or more virtual components, such as vGPUs, vCPUs, etc., and / or one or more of nodes CR 716 ( 1 )- 716 (N) may correspond to virtual machines (VMs).
[0076] In at least one embodiment, the computing resources 714 of grouping can include the separate grouping (not shown) of the node CR716 housed in one or more racks, or can be housed in many racks (also not shown) in the data center of each geographical location. The separate grouping of the node CR716 in the computing resources 714 of grouping can include the computing, network, memory or storage resources that can be configured or assigned to the grouping supporting one or more workloads. In at least one embodiment, several node CR716 comprising CPU, GPU and / or other processors can be grouped in one or more racks to provide computing resources to support one or more workloads. One or more racks can also include any number of power modules, cooling modules and / or network switches in any combination.
[0077] Resource coordinator 722 may configure or otherwise control one or more nodes CR 716(1)-716(N) and / or grouped computing resources 714. In at least one embodiment, resource coordinator 722 may comprise a software design infrastructure ("SDI") management entity for data center 700. Resource coordinator may comprise hardware, software, or some combination thereof.
[0078] In at least one embodiment, Figure 7 As shown, the framework layer 720 may include a job scheduler 732, a configuration manager 734, a resource manager 736, and a distributed file system 738. The framework layer 720 may include a framework that supports the software 732 of the software layer 730 and / or one or more applications 742 of the application layer 740. The software 732 or the application 742 may include web-based service software or applications, such as those provided by Amazon Web Services, Google Cloud, and Microsoft Azure. The framework layer 720 may be, but is not limited to, a free and open source software network application framework, such as Apache Spark, which can utilize the distributed file system 738 for large-scale data processing (e.g., "big data"). TM(hereinafter referred to as "Spark"). In at least one embodiment, the job scheduler 732 may include a Spark driver to facilitate scheduling of workloads supported by the various layers of the data center 700. In at least one embodiment, the configuration manager 734 may be capable of configuring different layers, such as the software layer 730 and the framework layer 720 including Spark and a distributed file system 738 for supporting large-scale data processing. The resource manager 736 may be capable of managing the mapping or allocation of clustered or grouped computing resources to support the distributed file system 738 and the job scheduler 732. In at least one embodiment, the clustered or grouped computing resources may include the grouped computing resources 714 at the data center infrastructure layer 710. The resource manager 736 may coordinate with the resource coordinator 712 to manage these mapped or allocated computing resources.
[0079] In at least one embodiment, the software 732 included in the software layer 730 may include software used by at least a portion of the node CRs 716(1)-716(N), the grouped computing resources 714, and / or the distributed file system 738 of the framework layer 720. The one or more types of software may include, but are not limited to, Internet web page search software, email virus scanning software, database software, and streaming video content software.
[0080] In at least one embodiment, the one or more applications 742 included in the application layer 740 may include one or more types of applications used by at least a portion of the node CRs 716(1)-716(N), the grouped computing resources 714, and / or the distributed file system 738 of the framework layer 720. The one or more types of applications may include, but are not limited to, any number of genomics applications, cognitive computing, and machine learning applications, including training or inference software, machine learning framework software (e.g., PyTorch, TensorFlow, Caffe, etc.), and / or other machine learning applications used in conjunction with one or more embodiments.
[0081] In at least one embodiment, any of the configuration manager 734, resource manager 736, and resource coordinator 712 can implement any number and type of self-modification actions based on any number and type of data acquired in any technically feasible manner. The self-modification actions can relieve the data center operator of the data center 700 from making potentially poor configuration decisions and can avoid underutilized and / or poorly performing portions of the data center.
[0082] The data center 700 may include tools, services, software, or other resources for training one or more machine learning models or using one or more machine learning models to predict or infer information according to one or more embodiments described herein. For example, a machine learning model may be trained by calculating weight parameters according to a neural network architecture using the software and computing resources described above with respect to the data center 700. In at least one embodiment, using the weight parameters calculated by one or more training techniques, the resources described above with respect to the data center 700 may be used to infer or predict information using a trained machine learning model corresponding to one or more neural networks, such as but not limited to those described herein.
[0083] In at least one embodiment, the data center 700 may use a CPU, an application-specific integrated circuit (ASIC), a GPU, an FPGA, and / or other hardware (or corresponding virtual computing resources) to perform training and / or reasoning using the aforementioned resources. In addition, one or more of the aforementioned software and / or hardware resources may be configured as a service to allow users to train or perform information reasoning, such as image recognition, speech recognition, or other artificial intelligence services.
[0084] Sample network environment
[0085] A network environment suitable for implementing embodiments of the present disclosure may include one or more client devices, servers, network attached storage (NAS), other backend devices, and / or other device types. The client devices, servers, and / or other device types (e.g., each device) may be configured to: Figure 6 The backend device 700 may be implemented on one or more instances of the computing device 600 of the embodiment of the present invention—for example, each device may include similar components, features and / or functions of the computing device 600. In addition, in the case of implementing a backend device (e.g., a server, NAS, etc.), the backend device may be included as part of the data center 700, examples of which are described herein with respect to FIG. Figure 7 Describe in more detail.
[0086] The components of the network environment can communicate with each other through the network, which can be wired, wireless, or both. The network can include multiple networks, or a network of networks. For example, the network can include one or more wide area networks (WANs), one or more local area networks (LANs), one or more public networks (e.g., the Internet and / or the Public Switched Telephone Network (PSTN)), and / or one or more private networks. In the case where the network includes a wireless telecommunications network, components such as base stations, communication towers, or even access points (and other components) can provide wireless connections.
[0087] Compatible network environments may include one or more peer-to-peer network environments (in which case the server may not be included in the network environment), and one or more client-server network environments (in which case one or more servers may be included in the network environment). In a peer-to-peer network environment, the functionality described herein with respect to the server may be implemented on any number of client devices.
[0088] In at least one embodiment, the network environment may include one or more cloud-based network environments, distributed computing environments, combinations thereof, and the like. The cloud-based network environment may include a framework layer, a job scheduler, a resource manager, and a distributed file system implemented on one or more servers, which may include one or more core network servers and / or edge servers. The framework layer may include a framework for supporting software at the software layer and / or one or more applications at the application layer. The software or application may include network-based service software or application programs, respectively. In an embodiment, one or more client devices may use network-based service software or application programs (e.g., by accessing the service software and / or application programs via one or more application programming interfaces (APIs)). The framework layer may be, but is not limited to, a type of free and open source software network application framework that may, for example, use a distributed file system for large-scale data processing (e.g., "big data").
[0089] A cloud-based network environment can provide cloud computing and / or cloud storage that performs any combination of the computing and / or data storage functions described herein (or one or more portions thereof). Any of these various functions can be distributed across multiple locations from a central or core server (e.g., one or more data centers that can be distributed across a state, region, country, global, etc.). If the connection to the user (e.g., client device) is relatively close to an edge server, the core server can assign at least a portion of the functionality to the edge server. A cloud-based network environment can be private (e.g., limited to a single organization), public (e.g., available to many organizations), and / or a combination thereof (e.g., a hybrid cloud environment).
[0090] Client devices may include Figure 6The client device 600 may be embodied as a personal computer (PC), a laptop computer, a mobile device, a smartphone, a tablet computer, a smartwatch, a wearable computer, a personal digital assistant (PDA), an MP3 player, a virtual reality head-mounted display, a global positioning system (GPS) or device, a video player, a camera, a surveillance device or system, a vehicle, a watercraft, an aircraft, a virtual machine, a drone, a robot, a handheld communication device, a hospital device, a gaming device or system, an entertainment system, an in-vehicle computer system, an embedded system controller, a remote control, an appliance, a consumer electronic device, a workstation, an edge device, any combination of these described devices, or any other suitable device.
[0091] The present disclosure can be described in the general context of machine-usable instructions or computer code executed by a computer or other machine such as a personal digital assistant or other handheld device, including computer-executable instructions such as program modules. Generally, program modules including routines, programs, objects, components, data structures, etc. refer to code that performs a specific task or implements a specific abstract data type. The present disclosure can be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, more specialized computing devices, etc. The present disclosure can also be practiced in a distributed computing environment where tasks are performed by remote processing devices linked through a communication network.
[0092] As used herein, the statement "and / or" with respect to two or more elements should be interpreted as referring to only one element or combination of elements. For example, "element A, element B and / or element C" may include only element A, only element B, only element C, element A and element B, element A and element C, element B and element C, or elements A, B and C. In addition, "at least one of element A or element B" may include at least one of element A, at least one of element B, or at least one of element A and at least one of element B. Further, "at least one of element A and element B" may include at least one of element A, at least one of element B, or at least one of element A and at least one of element B.
[0093] The subject matter of the present disclosure is described in detail herein to meet statutory requirements. However, the description itself is not intended to limit the scope of the present disclosure. On the contrary, the inventors have contemplated that the claimed subject matter may also be embodied in other ways to include steps that are different from the steps described herein in conjunction with other current or future technologies, or combinations of similar steps. Moreover, although the terms "step" and / or "block" may be used herein to imply different elements of the method employed, these terms should not be interpreted as implying any particular order among or between the various steps disclosed herein, unless the order of the steps is explicitly described.
Claims
1. A processor, comprising a processing circuit configured to: analyzing query data representing user queries; generating a domain label corresponding to the user query based at least in part on the analyzing; When the domain tag corresponds to an open domain dialogue system, transmitting the query data to the open domain dialogue system; When the domain tag corresponds to a closed-domain dialog system: - accessing one or more request policies corresponding to the closed-domain dialog system based at least in part on the domain tag; - generating requests to the closed-domain dialog system and the open-domain dialog system using the query data based at least in part on the one or more request strategies; as well as - transmitting the request to the closed domain dialog system and the open domain dialog system; receiving response data from the open-domain dialog system and the closed-domain dialog system in response to the query data; as well as Output is generated based at least in part on the response data received from the closed-domain dialog system, and a dialog state between the open-domain dialog system and the closed-domain dialog system is maintained.
2. The processor of claim 1 , wherein the processing circuit is further configured to: receiving audio data corresponding to the user query; and The query data is generated based at least in part on the audio data.
3. The processor of claim 1 , wherein the output comprises at least one of a display of text corresponding to the response data or audio corresponding to audio data generated from the response data using one or more text-to-speech algorithms. 4 . The processor of claim 1 , wherein the one or more request strategies include filling one or more input slots corresponding to the request with one or more portions of the query data.
5. The processor of claim 1 , wherein: The one or more request strategies include populating one or more input slots corresponding to the request with information from a dialog state tracker; as well as The conversation state tracker tracks the context of an ongoing conversation including the user query.
6. The processor of claim 1, wherein: When the domain tag corresponds to the closed-domain dialog system, the response data received from the closed-domain dialog system is transmitted to the open-domain dialog system to allow the open-domain dialog system to maintain the context of the ongoing conversation including the user query and the output.
7. The processor of claim 1, wherein: When the domain tag corresponds to the closed-domain dialog system, the query data is transmitted to the open-domain dialog system to allow the open-domain dialog system to maintain the context of the ongoing conversation including the user query.
8. The processor of claim 1, wherein the open-domain dialog system is trained to bias responses toward a domain associated with at least one of the closed-domain dialog system or one or more additional closed-domain dialog systems.
9. The processor of claim 1 , wherein the processor is included in at least one of the following: systems for autonomous or semi-autonomous machines; Systems implemented using edge devices; Systems implemented using robots; A system containing one or more virtual machines (VMs); A system implemented at least in part in a data center; or A system implemented at least in part using cloud computing resources.
10. A system comprising: one or more processing units; and One or more memory units for storing instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising: analyzing first query data representing a user query; determining, based at least in part on the analyzing, a domain label corresponding to the user query, the domain label corresponding to one or more of an open-domain dialog system or a closed-domain dialog system; accessing one or more request policies corresponding to the closed-domain dialog system determined to be associated with the domain tag; generating a request to the closed-domain dialog system and the open-domain dialog system using the first query data based at least in part on the one or more request policies; Sending the request to the closed domain dialogue system and the open domain dialogue system; receiving query data from the open-domain dialog system and receiving second query data from the closed-domain dialog system in response to the request; sending the second query data to the open domain dialogue system; and An output is generated based at least in part on the second query data received from the closed-domain dialog system, and a dialog state is maintained between the open-domain dialog system and the closed-domain dialog system.
11. The system of claim 10, wherein the operations further comprise: sending the first query data to the open domain dialogue system, The first query data and the second query data enable the open-domain dialog system to update a dialog state tracker maintained by the open-domain dialog system.
12. The system of claim 10, wherein the operations further comprise: receiving audio data corresponding to the user query; as well as The first query data is generated based at least in part on audio data.
13. The system of claim 10, wherein the output comprises at least one of a display of text corresponding to the second query data or audio corresponding to audio data generated from the second query data using one or more text-to-speech algorithms.
14. The system of claim 10, wherein the one or more request strategies include populating one or more input slots corresponding to the request with one or more portions of the first query data.
15. The system of claim 10, wherein: The one or more request strategies include populating one or more input slots corresponding to the request with information from a dialog state tracker; as well as The conversation state tracker tracks the context of an ongoing conversation including the user query.
16. The system of claim 10, wherein the open-domain dialog system is trained to bias responses toward a domain associated with at least one of the closed-domain dialog system or one or more additional closed-domain dialog systems.
17. The system of claim 10, wherein the system comprises at least one of: systems for autonomous or semi-autonomous machines; Systems implemented using edge devices; Systems implemented using robots; A system containing one or more virtual machines (VMs); A system implemented at least in part in a data center; or A system implemented at least in part using cloud computing resources.
18. A method comprising: analyzing text data representing user queries; generating a domain label corresponding to the user query based at least in part on the analyzing; When the domain tag corresponds to an open domain dialogue system, transmitting the text data to the open domain dialogue system; When the domain tag corresponds to a closed-domain dialog system: - accessing one or more request policies corresponding to the closed-domain dialog system based at least in part on the domain tag; - generating requests to the closed-domain dialog system and the open-domain dialog system using the text data based at least in part on the one or more request strategies; as well as - transmitting the request to the closed domain dialog system and the open domain dialog system; receiving response text data from the open-domain dialog system and the closed-domain dialog system; and Output is generated based at least in part on the responsive text data received from the closed-domain dialog system, and a dialog state between the open-domain dialog system and the closed-domain dialog system is maintained.
19. The method of claim 18, further comprising: receiving audio data corresponding to the user query; as well as A textual representation is generated based at least in part on the audio data.
20. The method of claim 18, wherein the one or more request strategies include filling one or more input slots corresponding to the request with one or more portions of the text data.
21. The method of claim 18, wherein the one or more request strategies include populating one or more input slots corresponding to the request with information from a conversation state tracker, wherein the conversation state tracker tracks the context of an ongoing conversation including the user query.
22. The method of claim 18, wherein when the domain tag corresponds to the closed-domain dialog system, the response text data received from the closed-domain dialog system is transmitted to the open-domain dialog system to allow the open-domain dialog system to maintain the context of the ongoing conversation including the user query and the output.
Citation Information
Patent Citations
Intelligent interaction method, intelligent interaction device, electronic equipment and storage medium
CN111223485A