ConceptioArchiveGoogle Patents
Google Patentsopen access

Facilitating communications with automated assistants in multiple languages — Google Llc (US11942082B2)

Google Llc · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
googlellcjameskuczmarski
patent, google patents, intellectual property, US11942082B2, Google Llc, James Kuczmarski, en, 2024

ABSTRACT

Abstract

Techniques described herein relate to facilitating end-to-end multilingual communications with automated assistants. In various implementations, speech recognition output may be generated based on voice input in a first language. A first language intent may be identified based on the speech recognition output and fulfilled in order to generate a first natural language output candidate in the first language. At least part of the speech recognition output may be translated to a second language to generate an at least partial translation, which may then be used to identify a second language intent that is fulfilled to generate a second natural language output candidate in the second language. Scores may be determined for the first and second natural language output candidates, and based on the scores, a natural language output may be selected for presentation.

Description

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 16/792,572, which was filed on Feb. 17, 2020 and issued as U.S. Pat. No. 11,354,521. U.S. Pat. No. 11,354,521 was a continuation-in-part of U.S. patent application Ser. No. 16/082,175, which was filed on Sep. 4, 2018 and issued as U.S. Pat. No. 10,984,784 on Apr. 20, 2021. U.S. Pat. No. 10,984,784 was a National Phase filing of Patent Cooperation Treaty (PCT) Application No. PCT/US2018/027774, which itself claimed priority to U.S. Provisional Patent application Ser. No. 62/639,740, filed on Mar. 7, 2018.

BACKGROUND

Humans may engage in human-to-computer dialogs with interactive software applications referred to herein as “automated assistants” (also referred to as “chatbots,” “interactive personal assistants,” “intelligent personal assistants,” “personal voice assistants,” “conversational agents,” etc.). For example, humans (which when they interact with automated assistants may be referred to as “users”) may provide commands, queries, and/or requests (collectively referred to herein as “queries”) using free form natural language input which may be vocal utterances converted into text and then processed, and/or typed free form natural language input. Automated assistants are typically invoked using predetermined vocal utterances (e.g., “OK Assistant”) and often perform various types of processing, such as speech-to-text processing and/or natural language processing, only on those vocal utterances that follow an invocation phrase.

Automated assistants are adept at communicating with users in some widely-used languages, such as English, but are less able to communicate in other languages. However, conventional techniques for configuring automated assistants to communicate in new languages are resource-intensive. For each new language, it may be necessary to generate new trigger grammars (i.e., words or phrases intended to invoke a particular action by the automated assistant), recognize query intents in the new language (which require different natural language processing components for different languages), and to generate natural language output that is comprehensible in the new language. Adding to the challenge, each language has myriad idiosyncrasies (e.g., morphologically rich, pro-drop, gender neutrality, etc.) and language experts who can build these systems in particular languages may be hard to find.

SUMMARY

Techniques are described herein for facilitating end-to-end processing of human-to-computer dialogs in various languages by leveraging the processing in a particular language. Put another way, techniques described herein increase language coverage for automated assistants. In various implementations, user queries provided to automated assistants may be processed using multiple pipelines. For example, in some implementations, a first pipeline may be employed to attempt to process the user's query in the original language of the query. A second pipeline may be employed to translate the user's query to a different language that the automated assistant is better-equipped to handle, and to use the translation to identify and fulfill the user's intent. Natural language output returned via the second pipeline may or may not be translated back to the user's original language. In various implementations, the natural language output generated via the multiple pipelines may be ranked, e.g., based on confidence scores, and the highest ranked natural language output may be presented to the user.

It may be desirable to preserve portions of a user's original query in the user's spoken language. For example, in some implementations, slot values may be identified in the user's original query (or more specifically, in speech recognition output generated from the user's original voice input). These slot values may not need to be translated, and in some cases translating them might lead to errors. For example, suppose a user utters the phrase, “What is Akash's phone number?” The name “Akash” may translate to some word in English that has a particular meaning (e.g., sky) that is unrelated to the user's intent. However, if the word “Akash” can be identified as a slot value and thereby preserved in the user's spoken language, the remainder of the user's query may be properly translated so that an appropriate responsive action may be taken.

Most languages have various colloquialisms. In addition, colloquialisms may be built into the natural language output generation process so that automated assistants can provide output that sounds more “human.” For example, suppose a user asks about the weather today in a language that is not yet well supported. The user's query may be translated to a more widely-supported language, such as English, and then the user's intent may be identified and fulfilled. However, for common queries like this it is highly possible that informal (e.g., “humanlike”) natural language output may be available as alternatives to straight-forward natural language output. For example, suppose it is supposed to be hot and sunny today. Rather than simply generating natural language output such as “It will be 90 degrees and sunny,” the automated assistant may instead select natural language output that is, for instance, generated manually, to sound more human, such as “Better grab your sunglasses because it's gonna be a scorcher.” Translating this colloquial-sounding natural language output back to the user's native language may yield results that are nonsensical to the user. Accordingly, in some implementations, natural language output that may be difficult to translate, e.g., because it includes manually-generated colloquialisms, slang, etc., may be replaced with more straight-forward natural language output that is more likely to be properly translatable to the user's native language.

In some implementations, a method performed by one or more processors is provided that includes: receiving voice input provided by a user at an input component of a client device in a first language; generating speech recognition output from the voice input, wherein the speech recognition output is in the first language; identifying a first language intent of the user based on the speech recognition output; fulfilling the first language intent to generate first fulfillment information; based on the first fulfillment information, generating a first natural language output candidate in the first language; translating at least a portion of the speech recognition output from the first language to a second language to generate an at least partial translation of the speech recognition output; identifying a second language intent of the user based on the at least partial translation; fulfilling the second language intent to generate second fulfillment information; based on the second fulfillment information, generating a second natural language output candidate in the second language; determining scores for the first and second natural language output candidates; based on the scores, selecting, from the first and second natural language output candidates, a natural language output to be presented to the user; and causing the client device to present the selected natural language output at an output component of the client device.

These and other implementations of technology disclosed herein may optionally include one or more of the following features.

In various implementations, the method may further include generating a third natural language output candidate in the first language that is responsive to the second language intent. In some such implementations, determining the scores may further include determining scores for the first, second, and third content.

In various implementations, the method may further include translating the second natural language output candidate to the first language prior to the scoring. In various implementations, translating the second natural language output candidate may be based on a machine learning model that is trained using one or more logs of natural language outputs provided by one or more automated assistants during human-to-computer dialogs.

In various implementations, the translating to generate the at least partial translation of the speech recognition output may be based on a machine learning model that is trained using one or more logs of user queries submitted to one or more automated assistants during human-to-computer dialogs. In various implementations, the scoring may be based on respective confidence scores assigned to the first and second natural language intents. In various implementations, the scoring may be based on time required to obtain the first and second natural language output candidates.

In various implementations, the method may further include identifying a slot value in the speech recognition output. In some such implementations, the at least partial translation of the speech recognition output may exclude the slot value, and the second language intent may be further identified based on the slot value in the first language.

In another aspect, a method may include the following operations: receiving voice input provided by a user at an input component of a client device in a first language; generating speech recognition output of the voice input in the first language; translating at least a portion of the speech recognition output from the first language to a second language to generate an at least partial translation of the speech recognition output; identifying a second language intent of the user based on the at least partial translation; fulfilling the second language intent to generate fulfillment information; generating natural language output in the second language based on the second language intent; translating the natural language output to the first language to generate translated natural language output; determining whether the translated natural language output satisfies one or more criteria; based on the determining, selecting output that is based on the translated natural language output or alternative natural language output; and causing the client device to present the output at an output component of the client device; and causing the client device to present the selected natural language output at an output component of the client device.

In another aspect, a method for generating training data for training a machine translation model to translate from a first language to a second language may include: applying a textual query in the first language as input across a machine learning model to generate a first embedding of the textual query in a reduced dimensionality space; identifying one or more additional embeddings in the reduced dimensionality space based on one or more respective proximities of the one or more additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more additional embeddings were generated based on one or more respective textual queries in the second language; and generating and storing at least one training example of the training data using the textual query in the first language and one of the textual queries in the second language that was used to generate a respective one of the additional embeddings.

In various implementations, the method may further include: receiving voice input provided by a user at an input component of a client device in the first language; and performing speech recognition on the voice input to generate the textual query in the first language. In various implementations, the method may further include training the machine translation model using the training data. In various implementations, the machine translation model comprises a neural machine translation model.

In various implementations, the one or more additional embeddings comprise a plurality of embeddings, and the method further includes selecting the one of the textual queries in the second language from the plurality of embeddings. In various implementations, the selecting is based on respective proximities of the plurality of embeddings to the first embedding.

In various implementations, the method may further include: performing natural language understanding processing in the first language to identify a first language intent of the user based on the textual query in the first language; translating the textual query in the first language to generate a translation of the textual query in the second language; performing natural language understanding processing in the second language to identify a second language intent of the user based on the translation of the textual query in the second language; comparing the first and second language intents; and in response to determining, based on the comparing, that the first and second language intents match, generating and storing an additional training example of the training data using the textual query in the first language and the translation of the textual query in the second language. In various implementations, the comparing includes comparing one or more arguments associated with the first language intent with one or more arguments associated with the second language intent. In various implementations, the translating comprises using the one of the textual queries in the second language as the translation of the textual query in the second language. In various implementations, the translating is performed using the machine translation model.

In another aspect, a method for generating training data for training a machine translation model to translate from a first language to a second language may include: performing natural language understanding processing in the first language to identify a first language intent of a user based on a textual query in the first language that is obtained from input provided by the user; translating the textual query in the first language to generate a translation of the textual query in the second language; performing natural language understanding processing in the second language to identify a second language intent of the user based on the translation of the textual query in the second language; comparing the first and second language intents; and in response to determining, based on the comparing, that the first and second language intents match, generating and storing a training example of the training data using the textual query in the first language and the translation of the textual query in the second language.

In various implementations, the comparing includes comparing one or more arguments associated with the first language intent with one or more arguments associated with the second language intent. In various implementations, the translating is performed using the machine translation model.

In various implementations, the translating comprises using a previously-identified textual query in the second language as the translation of the textual query in the second language, wherein the previously-identified textual query in the second language was identified by: applying the textual query in the first language as input across a machine learning model to generate a first embedding of the textual query in a reduced dimensionality space; identifying one or more additional embeddings in the reduced dimensionality space based on one or more respective proximities of the one or more additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more additional embeddings were generated based on one or more respective textual queries in the second language; and identifying, as the previously-identified query in the second language, one of the textual queries in the second language that was used to generate a respective one of the additional embeddings.

In addition, some implementations include one or more processors of one or more computing devices, where the one or more processors are operable to execute instructions stored in associated memory, and where the instructions are configured to cause performance of any of the aforementioned methods. Some implementations also include one or more non-transitory computer readable storage media storing computer instructions executable by one or more processors to perform any of the aforementioned methods.

It should be appreciated that all combinations of the foregoing concepts and additional concepts described in greater detail herein are contemplated as being part of the subject matter disclosed herein. For example, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

<div id="p-0024" n

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 16/792,572, which was filed on Feb. 17, 2020 and issued as U.S. Pat. No. 11,354,521. U.S. Pat. No. 11,354,521 was a continuation-in-part of U.S. patent application Ser. No. 16/082,175, which was filed on Sep. 4, 2018 and issued as U.S. Pat. No. 10,984,784 on Apr. 20, 2021. U.S. Pat. No. 10,984,784 was a National Phase filing of Patent Cooperation Treaty (PCT) Application No. PCT/US2018/027774, which itself claimed priority to U.S. Provisional Patent application Ser. No. 62/639,740, filed on Mar. 7, 2018.

BACKGROUND

Humans may engage in human-to-computer dialogs with interactive software applications referred to herein as “automated assistants” (also referred to as “chatbots,” “interactive personal assistants,” “intelligent personal assistants,” “personal voice assistants,” “conversational agents,” etc.). For example, humans (which when they interact with automated assistants may be referred to as “users”) may provide commands, queries, and/or requests (collectively referred to herein as “queries”) using free form natural language input which may be vocal utterances converted into text and then processed, and/or typed free form natural language input. Automated assistants are typically invoked using predetermined vocal utterances (e.g., “OK Assistant”) and often perform various types of processing, such as speech-to-text processing and/or natural language processing, only on those vocal utterances that follow an invocation phrase.

Automated assistants are adept at communicating with users in some widely-used languages, such as English, but are less able to communicate in other languages. However, conventional techniques for configuring automated assistants to communicate in new languages are resource-intensive. For each new language, it may be necessary to generate new trigger grammars (i.e., words or phrases intended to invoke a particular action by the automated assistant), recognize query intents in the new language (which require different natural language processing components for different languages), and to generate natural language output that is comprehensible in the new language. Adding to the challenge, each language has myriad idiosyncrasies (e.g., morphologically rich, pro-drop, gender neutrality, etc.) and language experts who can build these systems in particular languages may be hard to find.

SUMMARY

Techniques are described herein for facilitating end-to-end processing of human-to-computer dialogs in various languages by leveraging the processing in a particular language. Put another way, techniques described herein increase language coverage for automated assistants. In various implementations, user queries provided to automated assistants may be processed using multiple pipelines. For example, in some implementations, a first pipeline may be employed to attempt to process the user&#39;s query in the original language of the query. A second pipeline may be employed to translate the user&#39;s query to a different language that the automated assistant is better-equipped to handle, and to use the translation to identify and fulfill the user&#39;s intent. Natural language output returned via the second pipeline may or may not be translated back to the user&#39;s original language. In various implementations, the natural language output generated via the multiple pipelines may be ranked, e.g., based on confidence scores, and the highest ranked natural language output may be presented to the user.

It may be desirable to preserve portions of a user&#39;s original query in the user&#39;s spoken language. For example, in some implementations, slot values may be identified in the user&#39;s original query (or more specifically, in speech recognition output generated from the user&#39;s original voice input). These slot values may not need to be translated, and in some cases translating them might lead to errors. For example, suppose a user utters the phrase, “What is Akash&#39;s phone number?” The name “Akash” may translate to some word in English that has a particular meaning (e.g., sky) that is unrelated to the user&#39;s intent. However, if the word “Akash” can be identified as a slot value and thereby preserved in the user&#39;s spoken language, the remainder of the user&#39;s query may be properly translated so that an appropriate responsive action may be taken.

Most languages have various colloquialisms. In addition, colloquialisms may be built into the natural language output generation process so that automated assistants can provide output that sounds more “human.” For example, suppose a user asks about the weather today in a language that is not yet well supported. The user&#39;s query may be translated to a more widely-supported language, such as English, and then the user&#39;s intent may be identified and fulfilled. However, for common queries like this it is highly possible that informal (e.g., “humanlike”) natural language output may be available as alternatives to straight-forward natural language output. For example, suppose it is supposed to be hot and sunny today. Rather than simply generating natural language output such as “It will be 90 degrees and sunny,” the automated assistant may instead select natural language output that is, for instance, generated manually, to sound more human, such as “Better grab your sunglasses because it&#39;s gonna be a scorcher.” Translating this colloquial-sounding natural language output back to the user&#39;s native language may yield results that are nonsensical to the user. Accordingly, in some implementations, natural language output that may be difficult to translate, e.g., because it includes manually-generated colloquialisms, slang, etc., may be replaced with more straight-forward natural language output that is more likely to be properly translatable to the user&#39;s native language.

In some implementations, a method performed by one or more processors is provided that includes: receiving voice input provided by a user at an input component of a client device in a first language; generating speech recognition output from the voice input, wherein the speech recognition output is in the first language; identifying a first language intent of the user based on the speech recognition output; fulfilling the first language intent to generate first fulfillment information; based on the first fulfillment information, generating a first natural language output candidate in the first language; translating at least a portion of the speech recognition output from the first language to a second language to generate an at least partial translation of the speech recognition output; identifying a second language intent of the user based on the at least partial translation; fulfilling the second language intent to generate second fulfillment information; based on the second fulfillment information, generating a second natural language output candidate in the second language; determining scores for the first and second natural language output candidates; based on the scores, selecting, from the first and second natural language output candidates, a natural language output to be presented to the user; and causing the client device to present the selected natural language output at an output component of the client device.

These and other implementations of technology disclosed herein may optionally include one or more of the following features.

In various implementations, the method may further include generating a third natural language output candidate in the first language that is responsive to the second language intent. In some such implementations, determining the scores may further include determining scores for the first, second, and third content.

In various implementations, the method may further include translating the second natural language output candidate to the first language prior to the scoring. In various implementations, translating the second natural language output candidate may be based on a machine learning model that is trained using one or more logs of natural language outputs provided by one or more automated assistants during human-to-computer dialogs.

In various implementations, the translating to generate the at least partial translation of the speech recognition output may be based on a machine learning model that is trained using one or more logs of user queries submitted to one or more automated assistants during human-to-computer dialogs. In various implementations, the scoring may be based on respective confidence scores assigned to the first and second natural language intents. In various implementations, the scoring may be based on time required to obtain the first and second natural language output candidates.

In various implementations, the method may further include identifying a slot value in the speech recognition output. In some such implementations, the at least partial translation of the speech recognition output may exclude the slot value, and the second language intent may be further identified based on the slot value in the first language.

In another aspect, a method may include the following operations: receiving voice input provided by a user at an input component of a client device in a first language; generating speech recognition output of the voice input in the first language; translating at least a portion of the speech recognition output from the first language to a second language to generate an at least partial translation of the speech recognition output; identifying a second language intent of the user based on the at least partial translation; fulfilling the second language intent to generate fulfillment information; generating natural language output in the second language based on the second language intent; translating the natural language output to the first language to generate translated natural language output; determining whether the translated natural language output satisfies one or more criteria; based on the determining, selecting output that is based on the translated natural language output or alternative natural language output; and causing the client device to present the output at an output component of the client device; and causing the client device to present the selected natural language output at an output component of the client device.

In another aspect, a method for generating training data for training a machine translation model to translate from a first language to a second language may include: applying a textual query in the first language as input across a machine learning model to generate a first embedding of the textual query in a reduced dimensionality space; identifying one or more additional embeddings in the reduced dimensionality space based on one or more respective proximities of the one or more additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more additional embeddings were generated based on one or more respective textual queries in the second language; and generating and storing at least one training example of the training data using the textual query in the first language and one of the textual queries in the second language that was used to generate a respective one of the additional embeddings.

In various implementations, the method may further include: receiving voice input provided by a user at an input component of a client device in the first language; and performing speech recognition on the voice input to generate the textual query in the first language. In various implementations, the method may further include training the machine translation model using the training data. In various implementations, the machine translation model comprises a neural machine translation model.

In various implementations, the one or more additional embeddings comprise a plurality of embeddings, and the method further includes selecting the one of the textual queries in the second language from the plurality of embeddings. In various implementations, the selecting is based on respective proximities of the plurality of embeddings to the first embedding.

In various implementations, the method may further include: performing natural language understanding processing in the first language to identify a first language intent of the user based on the textual query in the first language; translating the textual query in the first language to generate a translation of the textual query in the second language; performing natural language understanding processing in the second language to identify a second language intent of the user based on the translation of the textual query in the second language; comparing the first and second language intents; and in response to determining, based on the comparing, that the first and second language intents match, generating and storing an additional training example of the training data using the textual query in the first language and the translation of the textual query in the second language. In various implementations, the comparing includes comparing one or more arguments associated with the first language intent with one or more arguments associated with the second language intent. In various implementations, the translating comprises using the one of the textual queries in the second language as the translation of the textual query in the second language. In various implementations, the translating is performed using the machine translation model.

In another aspect, a method for generating training data for training a machine translation model to translate from a first language to a second language may include: performing natural language understanding processing in the first language to identify a first language intent of a user based on a textual query in the first language that is obtained from input provided by the user; translating the textual query in the first language to generate a translation of the textual query in the second language; performing natural language understanding processing in the second language to identify a second language intent of the user based on the translation of the textual query in the second language; comparing the first and second language intents; and in response to determining, based on the comparing, that the first and second language intents match, generating and storing a training example of the training data using the textual query in the first language and the translation of the textual query in the second language.

In various implementations, the comparing includes comparing one or more arguments associated with the first language intent with one or more arguments associated with the second language intent. In various implementations, the translating is performed using the machine translation model.

In various implementations, the translating comprises using a previously-identified textual query in the second language as the translation of the textual query in the second language, wherein the previously-identified textual query in the second language was identified by: applying the textual query in the first language as input across a machine learning model to generate a first embedding of the textual query in a reduced dimensionality space; identifying one or more additional embeddings in the reduced dimensionality space based on one or more respective proximities of the one or more additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more additional embeddings were generated based on one or more respective textual queries in the second language; and identifying, as the previously-identified query in the second language, one of the textual queries in the second language that was used to generate a respective one of the additional embeddings.

In addition, some implementations include one or more processors of one or more computing devices, where the one or more processors are operable to execute instructions stored in associated memory, and where the instructions are configured to cause performance of any of the aforementioned methods. Some implementations also include one or more non-transitory computer readable storage media storing computer instructions executable by one or more processors to perform any of the aforementioned methods.

It should be appreciated that all combinations of the foregoing concepts and additional concepts described in greater detail herein are contemplated as being part of the subject matter disclosed herein. For example, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment in which implementations disclosed herein may be implemented.

FIG. 2 depicts an example process flow that demonstrates various aspects of the present disclosure, in accordance with various implementations.

FIG. 3 A and FIG. 3 B depict example dialogs between a user and an automated assistant, in accordance with various implementations.

FIG. 4 depicts a flowchart illustrating an example method according to implementations disclosed herein.

FIG. 5 depicts a flowchart illustrating an example method according to implementations disclosed herein.

FIG. 6 illustrates an example architecture of a computing device.

FIG. 7 , FIG. 8 , and FIG. 9 demonstrate another aspect in which training data is automatically generated for training a machine translation model to translate text from a first language to a second language, with little or no human intervention, in accordance with various implementations.

DETAILED DESCRIPTION

Now turning to FIG. 1 , an example environment in which techniques disclosed herein may be implemented is illustrated. The example environment includes a plurality of client computing devices 106 1-N . Each client device 106 may execute a respective instance of an automated assistant client 118 . One or more cloud-based automated assistant components 119 , such as a natural language understanding engine 135 , may be implemented on one or more computing systems (collectively referred to as a “cloud” computing system) that are communicatively coupled to client devices 106 1-N via one or more local and/or wide area networks (e.g., the Internet) indicated generally at 110 .

In some implementations, plurality of client computing devices 106 1-N (also referred to herein simply as “client devices”) may be associated with each other in various ways in order to facilitate performance of techniques described herein. For example, in some implementations, plurality of client computing devices 106 1-N may be associated with each other by virtue of them being members of a coordinated ecosystem of client devices 106 that are operated by one or more users (e.g., an individual, a family, employees of an organization, other predefined groups, etc.).

As noted in the background, an instance of an automated assistant client 118 , by way of its interactions with one or more cloud-based automated assistant components 119 , may form what appears to be, from the user&#39;s perspective, a logical instance of an automated assistant 120 with which the user may engage in a human-to-computer dialog. Two instances of such an automated assistant 120 are depicted in FIG. 1 . A first automated assistant 120 A encompassed by a dashed line serves a first user (not depicted) operating first client device 106 1 and includes automated assistant client 118 1 and one or more cloud-based automated assistant components 119 . A second automated assistant 120 B encompassed by a dash-dash-dot line serves a second user (not depicted) operating another client device 106 N and includes automated assistant client 118 N and one or more cloud-based automated assistant components 119 . It thus should be understood that each user that engages with an automated assistant client 118 executing on a client device 106 may, in effect, engage with his or her own logical instance of an automated assistant 120 . For the sakes of brevity and simplicity, the term “automated assistant” as used herein as “serving” a particular user will refer to the combination of an automated assistant client 118 executing on a client device 106 operated by the user and one or more cloud-based automated assistant components 119 (which may be shared amongst multiple automated assistant clients 118 ). It should also be understood that in some implementations, automated assistant 120 may respond to a request from any user regardless of whether the user is actually “served” by that particular instance of automated assistant 120 .

The client devices 106 1-N may include, for example, one or more of: a desktop computing device, a laptop computing device, a tablet computing device, a mobile phone computing device, a computing device of a vehicle of the user (e.g., an in-vehicle communications system, an in-vehicle entertainment system, an in-vehicle navigation system), a standalone interactive speaker, a smart appliance such as a smart television, and/or a wearable apparatus of the user that includes a computing device (e.g., a watch of the user having a computing device, glasses of the user having a computing device, a virtual or augmented reality computing device). Additional and/or alternative client computing devices may be provided.

Each of the client computing devices 106 1-N may operate a variety of different applications, such as a corresponding one of a plurality of message exchange clients 107 1-N . Message exchange clients 107 1-N may come in various forms and the forms may vary across the client computing devices 106 1-N and/or multiple forms may be operated on a single one of the client computing devices 106 1-N . In some implementations, one or more of the message exchange clients 107 1-N may come in the form of a short messaging service (“SMS”) and/or multimedia messaging service (“MMS”) client, an online chat client (e.g., instant messenger, Internet relay chat, or “IRC,” etc.), a messaging application associated with a social network, a personal assistant messaging service dedicated to conversations with automated assistant 120 , and so forth. In some implementations, one or more of the message exchange clients 107 1-N may be implemented via a webpage or other resources rendered by a web browser (not depicted) or other application of client computing device 106 .

As described in more detail herein, automated assistant 120 engages in human-to-computer dialog sessions with one or more users via user interface input and output devices of one or more client devices 106 1-N . In some implementations, automated assistant 120 may engage in a human-to-computer dialog session with a user in response to user interface input provided by the user via one or more user interface input devices of one of the client devices 106 1-N . In some of those implementations, the user interface input is explicitly directed to automated assistant 120 . For example, one of the message exchange clients 107 1-N may be a personal assistant messaging service dedicated to conversations with automated assistant 120 and user interface input provided via that personal assistant messaging service may be automatically provided to automated assistant 120 . Also, for example, the user interface input may be explicitly directed to automated assistant 120 in one or more of the message exchange clients 107 1-N based on particular user interface input that indicates automated assistant 120 is to be invoked. For instance, the particular user interface input may be one or more typed characters (e.g., @AutomatedAssistant), user interaction with a hardware button and/or virtual button (e.g., a tap, a long tap), an oral command (e.g., “Hey Automated Assistant”), and/or other particular user interface input.

In some implementations, automated assistant 120 may engage in a human-to-computer dialog session in response to user interface input, even when that user interface input is not explicitly directed to automated assistant 120 . For example, automated assistant 120 may examine the contents of user interface input and engage in a dialog session in response to certain terms being present in the user interface input and/or based on other cues. In many implementations, automated assistant 120 may engage interactive voice response (“IVR”), such that the user can utter commands, searches, etc., and the automated assistant may utilize speech recognition to convert the utterances into text, and respond to the text accordingly, e.g., by providing search results, general information, and/or taking one or more responsive actions (e.g., playing media, launching a game, ordering food, etc.). In some implementations, the automated assistant 120 can additionally or alternatively respond to utterances without converting the utterances into text. For example, the automated assistant 120 can convert voice input into an embedding, into entity representation(s) (that indicate entity/entities present in the voice input), and/or other “non-textual” representation and operate on such non-textual representation. Accordingly, implementations described herein as operating based on text converted from voice input may additionally and/or alternatively operate on the voice input directly and/or other non-textual representations of the voice input.

Each of the client computing devices 106 1-N and computing device(s) operating cloud-based automated assistant components 119 may include one or more memories for storage of data and software applications, one or more processors for accessing data and executing applications, and other components that facilitate communication over a network. The operations performed by one or more of the client computing devices 106 1-N and/or by automated assistant 120 may be distributed across multiple computer systems. Automated assistant 120 may be implemented as, for example, computer programs running on one or more computers in one or more locations that are coupled to each other through a network.

As noted above, in various implementations, each of the client computing devices 106 1-N may operate an automated assistant client 118 . In various implementations, each automated assistant client 118 may include a corresponding speech capture/text-to-speech (“TTS”)/speech-to-text (“STT”) module 114 . In other implementations, one or more aspects of speech capture/TTS/STT module 114 may be implemented separately from automated assistant client 118 . In various implementations, speech capture/TTS/STT module 114 may generate speech recognition output based on a vocal query. This speech recognition output may be analyzed pursuant to techniques described herein.

Each speech capture/TTS/STT module 114 may be configured to perform one or more functions: capture a user&#39;s speech, e.g., via a microphone; convert that captured audio to text (and/or to other representations or embeddings); and/or convert text to speech. For example, in some implementations, because a client device 106 may be relatively constrained in terms of computing resources (e.g., processor cycles, memory, battery, etc.), the speech capture/TTS/STT module 114 that is local to each client device 106 may be configured to convert a finite number of different spoken phrases—particularly phrases that invoke automated assistant 120 —to text (or to other forms, such as lower dimensionality embeddings). Other speech input may be sent to cloud-based automated assistant components 119 , which may include a cloud-based TTS module 116 and/or a cloud-based STT module 117 .

Cloud-based STT module 117 may be configured to leverage the virtually limitless resources of the cloud to convert audio data captured by speech capture/TTS/STT module 114 into text (which may then be provided to natural language processor 122 ). Cloud-based TTS module 116 may be configured to leverage the virtually limitless resources of the cloud to convert textual data (e.g., natural language responses formulated by automated assistant 120 ) into computer-generated speech output. In some implementations, TTS module 116 may provide the computer-generated speech output to client device 106 to be output directly, e.g., using one or more speakers. In other implementations, textual data (e.g., natural language responses) generated by automated assistant 120 may be provided to speech capture/TTS/STT module 114 , which may then convert the textual data into computer-generated speech that is output locally.

Automated assistant 120 (and in particular, cloud-based automated assistant components 119 ) may include a natural language understanding engine 135 , the aforementioned TTS module 116 , the aforementioned STT module 117 , and other components that are described in more detail below. In some implementations, one or more of the engines and/or modules of automated assistant 120 may be omitted, combined, and/or implemented in a component that is separate from automated assistant 120 . In some implementations, to protect privacy, one or more of the components of automated assistant 120 , such as natural language processor 122 , speech capture/TTS/STT module 114 , etc., may be implemented at least on part on client devices 106 (e.g., to the exclusion of the cloud).

In some implementations, automated assistant 120 generates responsive content in response to various inputs generated by a user of one of the client devices 106 1-N during a human-to-computer dialog session with automated assistant 120 . Automated assistant 120 may provide the responsive content (e.g., over one or more networks when separate from a client device of a user) for presentation to the user as part of the dialog session. For example, automated assistant 120 may generate responsive content in response to free-form natural language input provided via one of the client devices 106 1-N . As used herein, free-form input is input that is formulated by a user and that is not constrained to a group of options presented for selection by the user.

As used herein, a “dialog session” may include a logically-self-contained exchange of one or more messages between a user and automated assistant 120 (and in some cases, other human participants). Automated assistant 120 may differentiate between multiple dialog sessions with a user based on various signals, such as passage of time between sessions, change of user context (e.g., location, before/during/after a scheduled meeting, etc.) between sessions, detection of one or more intervening interactions between the user and a client device other than dialog between the user and the automated assistant (e.g., the user switches applications for a while, the user walks away from then later returns to a standalone voice-activated product), locking/sleeping of the client device between sessions, change of client devices used to interface with one or more instances of automated assistant 120 , and so forth.

Natural language processor 122 of natural language understanding engine 135 processes natural language input generated by users via client devices 106 1-N and may generate annotated output (e.g., in textual form) for use by one or more other components of automated assistant 120 . For example, the natural language processor 122 may process natural language free-form input that is generated by a user via one or more user interface input devices of client device 106 1 . The generated annotated output includes one or more annotations of the natural language input and one or more (e.g., all) of the terms of the natural language input.

In some implementations, the natural language processor 122 is configured to identify and annotate various types of grammatical information in natural language input. For example, the natural language processor 122 may include a morphological engine that may separate individual words into morphemes and/or annotate the morphemes, e.g., with their classes. Natural language processor 122 may also include a part of speech tagger configured to annotate terms with their grammatical roles. For example, the part of speech tagger may tag each term with its part of speech such as “noun,” “verb,” “adjective,” “pronoun,” etc. Also, for example, in some implementations the natural language processor 122 may additionally and/or alternatively include a dependency parser (not depicted) configured to determine syntactic relationships between terms in natural language input. For example, the dependency parser may determine which terms modify other terms, subjects and verbs of sentences, and so forth (e.g., a parse tree)—and may make annotations of such dependencies.

In some implementations, the natural language processor 122 may additionally and/or alternatively include an entity tagger (not depicted) configured to annotate entity references in one or more segments such as references to people (including, for instance, literary characters, celebrities, public figures, etc.), organizations, locations (real and imaginary), and so forth. In some implementations, data about entities may be stored in one or more databases, such as in a knowledge graph (not depicted). In some implementations, the knowledge graph may include nodes that represent known entities (and in some cases, entity attributes), as well as edges that connect the nodes and represent relationships between the entities. For example, a “banana” node may be connected (e.g., as a child) to a “fruit” node,” which in turn may be connected (e.g., as a child) to “produce” and/or “food” nodes. As another example, a restaurant called “Hypothetical Café” may be represented by a node that also includes attributes such as its address, type of food served, hours, contact information, etc. The “Hypothetical Café” node may in some implementations be connected by an edge (e.g., representing a child-to-parent relationship) to one or more other nodes, such as a “restaurant” node, a “business” node, a node representing a city and/or state in which the restaurant is located, and so forth.

The entity tagger of the natural language processor 122 may annotate references to an entity at a high level of granularity (e.g., to enable identification of all references to an entity class such as people) and/or a lower level of granularity (e.g., to enable identification of all references to a particular entity such as a particular person). The entity tagger may rely on content of the natural language input to resolve a particular entity and/or may optionally communicate with a knowledge graph or other entity database to resolve a particular entity.

In some implementations, the natural language processor 122 may additionally and/or alternatively include a coreference resolver (not depicted) configured to group, or “cluster,” references to the same entity based on one or more contextual cues. For example, the coreference resolver may be utilized to resolve the term “there” to “Hypothetical Café” in the natural language input “I liked Hypothetical Café last time we ate there.”

In some implementations, one or more components of the natural language processor 122 may rely on annotations from one or more other components of the natural language processor 122 . For example, in some implementations the named entity tagger may rely on annotations from the coreference resolver and/or dependency parser in annotating all mentions to a particular entity. Also, for example, in some implementations the coreference resolver may rely on annotations from the dependency parser in clustering references to the same entity. In some implementations, in processing a particular natural language input, one or more components of the natural language processor 122 may use related prior input and/or other related data outside of the particular natural language input to determine one or more annotations.

Natural language understanding engine 135 may also include an intent matcher 136 that is configured to determine an intent of a user engaged in a human-to-computer dialog session with automated assistant 120 . While depicted separately from natural language processor 122 in FIG. 1 , in other implementations, intent matcher 136 may be an integral part of natural language processor 122 (or more generally, of a pipeline that includes natural language processor 122 ). In some implementations, natural language processor 122 and intent matcher 136 may collectively form the aforementioned “natural language understanding” engine 135 .

Intent matcher 136 may use various techniques to determine an intent of the user, e.g., based on output from natural language processor 122 (which may include annotations and terms of the natural language input). In some implementations, intent matcher 136 may have access to one or more databases 137 that include, for instance, a plurality of mappings between grammars and responsive actions (or more generally, intents). In many cases, these grammars may be selected and/or learned over time, and may represent the most common intents of users. For example, one grammar, “play &lt;artist&gt;”, may be mapped to an intent that invokes a responsive action that causes music by the &lt;artist&gt; to be played on the client device 106 operated by the user. Another grammar, “[weather|forecast] today,” may be match-able to user queries such as “what&#39;s the weather today” and “what&#39;s the forecast for today?” As will be described in more detail below, in addition to or instead of grammars, in some implementations, intent matcher 136 may employ one or more trained machine learning models, alone or in combination with one or more grammars. These trained machine learning models may also be stored in one or more databases 137 .

As seen in the “play &lt;artist&gt;” example grammar, some grammars have slots (e.g., &lt;artist&gt;) that can be filled with slot values (or “parameters”). Slot values may be determined in various ways. Often users will provide the slot values proactively. For example, for a grammar “Order me a &lt;topping&gt; pizza,” a user may likely speak the phrase “order me a sausage pizza,” in which case the slot &lt;topping&gt; is filled automatically. Additionally or alternatively, if a user invokes a grammar that includes slots to be filled with slot values, without the user proactively providing the slot values, automated assistant 120 may solicit those slot values from the user (e.g., “what type of crust do you want on your pizza?”).

In some implementations, automated assistant 120 may facilitate (or “broker”) transactions between users and third party applications. These third party applications may or may not operate on computing systems that are separate from those that operate, for instance, cloud-based automated assistant components 119 . Accordingly, one kind of user intent that may be identified by intent matcher 136 is to engage a third party application. For example, automated assistant 120 may provide access to an application programming interface (“API”) to a pizza delivery service. A user may invoke automated assistant 120 and provide a command such as “I&#39;d like to order a pizza.” Intent matcher 136 may map this command to a grammar (which may be added to database 137 in some cases by the third party) that triggers automated assistant 120 to engage with the third party pizza delivery service. The third party pizza delivery service may provide automated assistant 120 with a minimum list of slots that need to be filled in order to fulfill a pizza delivery order. Automated assistant 120 may generate and provide to the user (via client device 106 ) natural language output that solicits parameters for the slots.

In the human-to-computer dialog domain, the vocabulary employed by users and by automated assistant 120 may be somewhat less comprehensive than what is employed in everyday conversation, literature, writing, etc. In other words, a limited language space employed during human-to-computer dialogs is typically going to be a subset of a more comprehensive language space used for more general purpose human-to-human communication (e.g., talking, writing, etc.). For example, users tend to engage with automated assistants 120 to cause one or more tasks to be performed. Even in the context of general search queries, users tend to engage with automated assistants to perform particular types of queries, such as asking about the weather, traffic, transit times, restaurant hours, etc.

Accordingly, in some implementations, natural language understanding engine 135 , e.g., by way of natural language processor 122 or intent matcher 136 , may have access to one or more models (e.g., in database 137 ) that are trained in a particular language to understand the specific and limited vocabulary typically employed in human-to-computer dialogs with automated assistant 129 . These models may be trained in a particular language, e.g., using logs of natural language inputs translated to the particular language, to determine users&#39; intents in the particular language. This is especially helpful for languages that are not yet fully supported (i.e., for which comprehensive translation is not yet available). For example, common queries (e.g., order food, check weather, set timer, etc.) in a widely supported language, such as English, may be obtained from log(s) and translated (e.g., automatically by translator 138 , manually by linguists/translators, etc.) into a less-widely-supported second language. These translated common queries may be used in conjunction with their matching intents as training examples to train a model for the less-widely supported second language.

For example, the English queries may be translated, e.g., using translator 138 and/or human linguists/translators, into the less-widely supported language. The translations may be used as training examples, labeled with corresponding intents (which also may be translated into the less-widely supported language), to train the model. If the model is some flavour of a neural network, the labeled training examples may be applied as input across the neural network to generate output. The output may be compared to the corresponding labels to generate an error. Based on the error, various training techniques, such as gradient descent (stochastic or batch) and back propagation may be employed to adjust weights of one or more hidden layers of the neural network.

In some implementations, previously-unseen queries in the less-widely supported language may be applied as input across the model to generate output. In some such implementations, the output may take the form of embeddings into a reduced-dimensionality space associated with the language. Intents may be matched to these previously-unseen queries based on their proximity (e.g., Euclidian distance, cosine similarity, etc.) with other embeddings in the reduced-dimensionality space. If a user who provides a previously-unseen query rejects the ultimate outcome, then the user&#39;s query may be used as a negative training example to further train the model. If a user who provides a new query provides positive feedback (or no feedback, which may indicate the user is satisfied), then the user&#39;s query may be used as a positive training example to further train the model. In this manner it is possible for automated assistant 120 to “learn” how to predict intents in a new language.

Fulfillment engine 124 may be configured to receive the intent output by intent matcher 136 , as well as an associated slot values (whether provided by the user proactively or solicited from the user) and fulfill the intent. In various implementations, fulfillment of the user&#39;s intent may cause various fulfillment information (which may be language-agnostic in some instances) to be generated/obtained, e.g., by fulfillment engine 124 . As will be described below, the fulfillment information may in some implementations be provided to a natural language generator (“NLG” in some FIGS.) 126 , which may generate natural language output based on the fulfillment information.

Fulfillment information may take various forms because an intent can be fulfilled in a variety of ways. Suppose a user requests pure information, such as “Where were the outdoor shots of ‘The Shining’ filmed?” The intent of the user may be determined, e.g., by intent matcher 136 , as being a search query. The intent and content of the search query may be provided to fulfillment engine 124 , which as depicted in FIG. 1 may be in communication with one or more search engines 150 configured

CLAIMS

Claims ( 10 )

What is claimed is:

1. A method for training a neural machine translation model to translate from a first language to a second language, the method implemented by one or more processors and comprising:

applying a multi-word textual query in the first language as input across a cross-lingual machine learning model that is different from the neural machine translation model to generate a first embedding of the multi-word textual query in a reduced dimensionality space;

identifying a plurality of additional embeddings in the reduced dimensionality space based on one or more respective proximities of the plurality of additional embeddings to the first embedding in the reduced dimensionality space, wherein the respective proximities are determined using cosine similarity or Euclidean distance, and the plurality of additional embeddings were generated based on a plurality of respective multi-word textual queries in the second language;

selecting one of the textual queries in the second language from the plurality of embeddings based on one or more additional criteria, wherein the one or more additional criteria include one or more of:

a shortest edit distance between the multi-word textual query in the first language and the selected one of the textual queries in the second language;

the multi-word textual query in the first language and the selected one of the textual queries in the second language being submitted to automated assistants at the most similar frequencies;

the most similar lengths of the multi-word textual query in the first language and the selected one of the textual queries in the second language; or

the multi-word textual query in the first language and the selected one of the textual queries in the second language having the most shared characters;

generating and storing at least one training example of the training data using the multi-word textual query in the first language and the selected one of the multi-word textual queries in the second language that was used to generate a respective one of the additional embeddings; and

training the neural machine translation model using the training data.

2. The method of claim 1 , further comprising:

receiving voice input provided by a user at an input component of a client device in the first language; and

performing speech recognition on the voice input to generate the multi-word textual query in the first language.

3. The method of claim 1 , further comprising:

performing natural language understanding processing in the first language to identify a first language intent of a user based on the multi-word textual query in the first language;

translating the multi-word textual query in the first language to generate a translation of the multi-word textual query in the second language;

performing natural language understanding processing in the second language to identify a second language intent of the user based on the translation of the multi-word textual query in the second language;

comparing the first and second language intents; and

in response to determining, based on the comparing, that the first and second language intents match, generating and storing an additional training example of the training data using the multi-word textual query in the first language and the translation of the multi-word textual query in the second language.

4. The method of claim 3 , wherein the comparing includes comparing one or more arguments associated with the first language intent with one or more arguments associated with the second language intent.

5. The method of claim 3 , wherein the translating comprises using the one of the textual queries in the second language as the translation of the multi-word textual query in the second language.

6. The method of claim 3 , wherein the translating is performed using the machine translation model.

7. A system for training a neural machine translation model to translate from a first language to a second language, the system comprising one or more processors and memory storing instructions that, in response to execution of the instructions, cause the one or more processors to:

apply a multi-word textual query in the first language as input across a cross lingual machine learning model that is different from the neural machine translation model to generate a first embedding of the textual query in a reduced dimensionality space;

identify a plurality of additional embeddings in the reduced dimensionality space based on one or more respective proximities of the plurality of additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more respective proximities are determined using cosine similarity or Euclidean distance, and the plurality of additional embeddings were generated based on a plurality of respective multi-word textual queries in the second language;

select one of the textual queries in the second language from the plurality of embeddings based on one or more additional criteria, wherein the one or more additional criteria include one or more of:

a shortest edit distance between the multi-word textual query in the first language and the selected one of the textual queries in the second language;

the multi-word textual query in the first language and the selected one of the textual queries in the second language being submitted to automated assistants at the most similar frequencies;

the most similar lengths of the multi-word textual query in the first language and the selected one of the textual queries in the second language; or

the multi-word textual query in the first language and the selected one of the textual queries in the second language having the most shared characters;

generate and store at least one training example of the training data using the multi-word textual query in the first language and one of the multi-word textual queries in the second language that was used to generate a respective one of the additional embeddings; and

train the neural machine translation model using the training data.

8. The system of claim 7 , further comprising instructions to:

receive voice input provided by a user at an input component of a client device in the first language; and

perform speech recognition on the voice input to generate the textual query in the first language.

9. A non-transitory computer-readable medium for training a machine translation model to translate from a first language to a second language, the medium comprising instructions that, in response to execution of the instructions by a processor, cause the processor to:

apply a multi-word textual query in the first language as input across a cross lingual machine learning model that is different from the neural machine translation model to generate a first embedding of the textual query in a reduced dimensionality space;

identify a plurality of additional embeddings in the reduced dimensionality space based on one or more respective proximities of the plurality of additional embeddings to the first embedding in the reduced dimensionality space, wherein the one or more respective proximities are determined using cosine similarity or Euclidean distance, and the plurality of additional embeddings were generated based on a plurality of respective multi-word textual queries in the second language;

select one of the textual queries in the second language from the plurality of embeddings based on one or more additional criteria, wherein the one or more additional criteria include one or more of:

a shortest edit distance between the multi-word textual query in the first language and the selected one of the textual queries in the second language;

the multi-word textual query in the first language and the selected one of the textual queries in the second language being submitted to automated assistants at the most similar frequencies;

the most similar lengths of the multi-word textual query in the first language and the selected one of the textual queries in the second language; or

the multi-word textual query in the first language and the selected one of the textual queries in the second language having the most shared characters;

generate and store at least one training example of the training data using the multi-word textual query in the first language and one of the multi-word textual queries in the second language that was used to generate a respective one of the additional embeddings; and

train the neural machine translation model using the training data.

10. The non-transitory computer-readable medium of claim 9 , further comprising instructions to:

receive voice input provided by a user at an input component of a client device in the first language; and

perform speech recognition on the voice input to generate the textual query in the first language.

US17/825,778

2018-03-07

2022-05-26

Facilitating communications with automated assistants in multiple languages

Active

US11942082B2

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US17/825,778

US11942082B2

( en )

2018-03-07

2022-05-26

Facilitating communications with automated assistants in multiple languages

Applications Claiming Priority (5)

Application Number

Priority Date

Filing Date

Title

US201862639740P

2018-03-07

2018-03-07

PCT/US2018/027774

WO2019172946A1

( en )

2018-03-07

2018-04-16

Facilitating end-to-end communications with automated assistants in multiple languages

US16/082,175

US10984784B2

( en )

2018-03-07

2018-04-16

Facilitating end-to-end communications with automated assistants in multiple languages

US16/792,572

US11354521B2

( en )

2018-03-07

2020-02-17

Facilitating communications with automated assistants in multiple languages

US17/825,778

US11942082B2

( en )

2018-03-07

2022-05-26

Facilitating communications with automated assistants in multiple languages

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

US16/792,572

Continuation

US11354521B2

( en )

2018-03-07

2020-02-17

Facilitating communications with automated assistants in multiple languages

Publications (2)

Publication Number

Publication Date

US20220284198A1

US20220284198A1 ( en )

2022-09-08

US11942082B2

true

US11942082B2 ( en )

2024-03-26

Family

ID=62116597

Family Applications (3)

Application Number

Title

Priority Date

Filing Date

US16/082,175

Active

2039-01-18

US10984784B2

( en )

2018-03-07

2018-04-16

Facilitating end-to-end communications with automated assistants in multiple languages

US17/211,488

Active

US11915692B2

( en )

2018-03-07

2021-03-24

Facilitating end-to-end communications with automated assistants in multiple languages

US17/825,778

Active

US11942082B2

( en )

2018-03-07

2022-05-26

Facilitating communications with automated assistants in multiple languages

Family Applications Before (2)

Application Number

Title

Priority Date

Filing Date

US16/082,175

Active

2039-01-18

US10984784B2

( en )

2018-03-07

2018-04-16

Facilitating end-to-end communications with automated assistants in multiple languages

US17/211,488

Active

US11915692B2

( en )

2018-03-07

2021-03-24

Facilitating end-to-end communications with automated assistants in multiple languages

Country Status (7)

Country

Link

US

( 3 )

US10984784B2

( en )

EP

( 4 )

EP4138074B1

( en )

JP

( 1 )

JP6678764B1

( en )

KR

( 1 )

KR102048030B1

( en )

CN

( 2 )

CN113128239B

( en )

AU

( 3 )

AU2018412575B2

( en )

WO

( 1 )

WO2019172946A1

( en )

Families Citing this family (58)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US11354521B2

( en )

2018-03-07

2022-06-07

Google Llc

Facilitating communications with automated assistants in multiple languages

JP6678764B1

( en )

2018-03-07

2020-04-08

グーグル エルエルシー

Facilitating end-to-end communication with automated assistants in multiple languages

CN111368565B

( en )

*

2018-09-05

2022-03-18

腾讯科技(深圳)有限公司

Text translation method, apparatus, storage medium and computer equipment

CN112673421B

( en )

*

2018-11-28

2024-07-16

谷歌有限责任公司

Training and/or using a language selection model to automatically determine a language for speech recognition of spoken utterances

US11361169B2

( en )

*

2019-02-28

2022-06-14

Yandex Europe Ag

Method and server for training a machine learning algorithm for translation

KR102825992B1

( en )

*

2019-03-06

2025-06-26

삼성전자주식회사

Method for expanding language used in voice recognition model and electronic device including voice recognition model

US11176934B1

( en )

*

2019-03-22

2021-11-16

Amazon Technologies, Inc.

Language switching on a speech interface device

US11551012B2

( en )

*

2019-07-05

2023-01-10

Electronics And Telecommunications Research Institute

Apparatus and method for providing personal assistant service based on automatic translation

US11308289B2

( en )

*

2019-09-13

2022-04-19

International Business Machines Corporation

Normalization of medical terms with multi-lingual resources

US11288293B2

( en )

*

2019-11-07

2022-03-29

International Business Machines Corporation

Methods and systems for ensuring quality of unstructured user input content

KR102333611B1

( en )

*

2019-12-05

2021-12-01

주식회사 케이티

Device, method and computer program for providing multilingual assistant service

US11095578B2

( en )

*

2019-12-11

2021-08-17

International Business Machines Corporation

Technology for chat bot translation

US11397762B2

( en )

2020-01-24

2022-07-26

Accenture Global Solutions Limited

Automatically generating natural language responses to users&#39; questions

US11449556B2

( en )

*

2020-02-04

2022-09-20

Accenture Global Solutions Limited

Responding to user queries by context-based intelligent agents

JP7434978B2

( en )

*

2020-02-10

2024-02-21

トヨタ自動車株式会社

Information processing device, information processing method, and program

WO2021162489A1

( en )

2020-02-12

2021-08-19

Samsung Electronics Co., Ltd.

Method and voice assistance apparatus for providing an intelligence response

CN111324727B

( en )

2020-02-19

2023-08-01

百度在线网络技术(北京)有限公司

User intent recognition method, device, device and readable storage medium

US11301645B2

( en )

*

2020-03-03

2022-04-12

Aziza Foster

Language translation assembly

US12045572B2

( en )

2020-03-10

2024-07-23

MeetKai, Inc.

System and method for handling out of scope or out of domain user inquiries

EP4118538A4

( en )

2020-03-10

2024-03-20

Meetkai, Inc.

PARALLEL HYPOTHETIC REASONING TO OPERATE A MULTI-DOMAIN, MULTI-TURN, MULTILINGUAL VIRTUAL ASSISTANT

CN115699036A

( en )

2020-03-17

2023-02-03

梅特凯股份有限公司

An intelligence layer that supports cross-platform, edge-cloud hybrid AI services

US11995561B2

( en )

2020-03-17

2024-05-28

MeetKai, Inc.

Universal client API for AI services

CN111581362A

( en )

*

2020-04-29

2020-08-25

联想(北京)有限公司

Processing method and device

US11741317B2

( en )

*

2020-05-25

2023-08-29

Rajiv Trehan

Method and system for processing multilingual user inputs using single natural language processing model

WO2021262605A1

( en )

*

2020-06-24

2021-12-30

MeetKai, Inc.

A system and method for handling out of scope or out of domain user inquiries

WO2022039745A1

( en )

*

2020-08-20

2022-02-24

Google Llc

Selecting from arrays of multilingual content

US11356480B2

( en )

2020-08-26

2022-06-07

KnowBe4, Inc.

Systems and methods of simulated phishing campaign contextualization

US11562028B2

( en )

*

2020-08-28

2023-01-24

International Business Machines Corporation

Concept prediction to create new intents and assign examples automatically in dialog systems

US11921712B2

( en )

2020-10-05

2024-03-05

MeetKai, Inc.

System and method for automatically generating question and query pairs

US11557300B2

( en )

*

2020-10-16

2023-01-17

Google Llc

Detecting and handling failures in other assistants

CN114416931A

( en )

*

2020-10-28

2022-04-29

华为云计算技术有限公司

Label generation method and device and related equipment

US11568870B2

( en )

*

2020-12-02

2023-01-31

Google Llc

Automated assistant for facilitating communications through dissimilar messaging features of different applications

US11967319B2

( en )

2020-12-22

2024-04-23

Direct Cursus Technology L.L.C

Method and electronic device for processing a spoken utterance

US11783824B1

( en )

*

2021-01-18

2023-10-10

Amazon Technologies, Inc.

Cross-assistant command processing

US12041299B2

( en )

*

2021-02-03

2024-07-16

Arris Enterprises Llc

Interactive smart media device

KR102938181B1

( en )

*

2021-02-24

2026-03-12

삼성전자주식회사

Apparatus and method for processing voice commands

JP2024526652A

( en )

*

2021-07-06

2024-07-19

グーグル エルエルシー

Dataset Refinement Using Machine Translation Quality Prediction

CN113378586B

( en )

*

2021-07-15

2023-03-28

北京有竹居网络技术有限公司

Speech translation method, translation model training method, device, medium, and apparatus

US12548552B2

( en )

2021-11-19

2026-02-10

International Business Machines Corporation

Dynamic language selection of an AI voice assistance system

JP7333377B2

( en )

*

2021-12-14

2023-08-24

楽天グループ株式会社

Information processing device, information processing method and program

CN114490975B

( en )

*

2021-12-31

2023-02-07

马上消费金融股份有限公司

User question labeling method and device

US12346994B2

( en )

2022-01-11

2025-07-01

Meetkai, Inc

Method and system for virtual intelligence user interaction

US11983554B2

( en )

*

2022-04-21

2024-05-14

X Development Llc

Automating semantically-related computing tasks across contexts

CN114970541A

( en )

*

2022-05-12

2022-08-30

吉林科讯信息科技有限公司

Text semantic understanding method, device, device and storage medium

US11763097B1

( en )

*

2022-08-02

2023-09-19

Fmr Llc

Intelligent dialogue recovery for virtual assistant communication sessions

WO2024050487A1

( en )

*

2022-08-31

2024-03-07

Onemeta Inc.

Systems and methods for substantially real-time speech, transcription, and translation

US20240169165A1

( en )

*

2022-11-17

2024-05-23

Samsung Electronics Co., Ltd.

Automatically Generating Annotated Ground-Truth Corpus for Training NLU Model

US12579370B2

( en )

*

2022-11-23

2026-03-17

Bank Of America Corporation

Multilingual chatbot

US12585892B2

( en )

2022-12-15

2026-03-24

Google Llc

Auto-translation of customized assistant

US12462110B2

( en )

*

2023-04-18

2025-11-04

Bank Of America Corporation

Natural language generation system for automated translation of digital multimedia

US11908476B1

( en )

2023-09-21

2024-02-20

Rabbit Inc.

System and method of facilitating human interactions with products and services over a network

WO2025062642A1

( en )

*

2023-09-22

2025-03-27

株式会社Subaru

Information processing device

US12489722B2

( en )

*

2023-12-14

2025-12-02

Google Llc

Dynamic memory architecture for use with large language model(s)

US20250245299A1

( en )

*

2024-01-25

2025-07-31

Dell Products L.P.

Microservice point-of-use interface for an information handling system

GB202405233D0

( en )

*

2024-04-12

2024-05-29

Osr Tech Ltd

A computer-implemented method for communicating inherent meaning between users

US12182530B1

( en )

*

2024-04-16

2024-12-31

Relay, Inc.

Techniques for translating messages into multiple languages among a group of portable electronic devices

US12340181B1

( en )

2024-10-31

2025-06-24

Fmr Llc

Conversation dialogue orchestration in virtual assistant communication sessions

US12321709B1

( en )

2025-01-23

2025-06-03

Fmr Llc

Efficient caching and retrieval of responses in conversation service application communication sessions

Citations (71)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

JPH11259089A

( en )

1998-03-16

1999-09-24

Atr Onsei Honyaku Tsushin Kenkyusho:Kk

Natural language understanding device and system therefor

CN1350685A

( en )

1999-03-09

2002-05-22

皇家菲利浦电子有限公司

Method with a pulrality of speech recognizers

US20040162724A1

( en )

2003-02-11

2004-08-19

Jeffrey Hill

Management of conversations

US20070022134A1

( en )

2005-07-22

2007-01-25

Microsoft Corporation

Cross-language related keyword suggestion

US7212964B1

( en )

2000-12-08

2007-05-01

At&amp;T Corp.

Language-understanding systems employing machine translation components

CN101019113A

( en )

2004-08-11

2007-08-15

Sdl有限公司

Computer-implemented method for use in a translation system

US20070198245A1

( en )

2006-02-20

2007-08-23

Satoshi Kamatani

Apparatus, method, and computer program product for supporting in communication through translation between different languages

CN101154220A

( en )

2006-09-25

2008-04-02

株式会社东芝

Machine translation device and method

US20080288474A1

( en )

2007-05-16

2008-11-20

Google Inc.

Cross-language information retrieval

US20090024595A1

( en )

2007-07-20

2009-01-22

Google Inc.

Automatic expanded language search

US20090125497A1

( en )

2006-05-12

2009-05-14

Eij Group Llc

System and method for multi-lingual information retrieval

CN101520780A

( en )

2008-02-29

2009-09-02

株式会社东芝

Speech translation apparatus

US20100145694A1

( en )

2008-12-05

2010-06-10

Microsoft Corporation

Replying to text messages via automated voice search techniques

US7797688B1

( en )

2005-03-22

2010-09-14

Dubagunta Saikumar V

Integrating applications in multiple languages

US20110125483A1

( en )

2009-11-20

2011-05-26

Manuel-Devadoss Johnson Smith Johnson

Automated Speech Translation System using Human Brain Language Areas Comprehension Capabilities

US7984034B1

( en )

2007-12-21

2011-07-19

Google Inc.

Providing parallel resources in search results

US20120150532A1

( en )

2010-12-08

2012-06-14

At&amp;T Intellectual Property I, L.P.

System and method for feature-rich continuous space language models

CN102799579A

( en )

2012-07-18

2012-11-28

西安理工大学

Statistical machine translation method with error self-diagnosis and self-correction functions

US20130144900A1

( en )

2011-11-30

2013-06-06

Bruce Winston MURPHY

System and method for determining user language intent

US20130151235A1

( en )

2008-03-26

2013-06-13

Google Inc.

Linguistic key normalization

US20130238312A1

( en )

2012-03-08

2013-09-12

Mobile Technologies, Llc

Device for extracting information from a dialog

US20140006012A1

( en )

2012-07-02

2014-01-02

Microsoft Corporation

Learning-Based Processing of Natural Language Questions

US8655901B1

( en )

2010-06-23

2014-02-18

Google Inc.

Translation-based query pattern mining

US20140079195A1

( en )

2012-09-19

2014-03-20

24/7 Customer, Inc.

Method and apparatus for predicting intent in ivr using natural language queries

US20140156565A1

( en )

*

2012-11-30

2014-06-05

Xerox Corporation

Methods and systems for predicting learning curve for statistical machine translation system

US20140272821A1

( en )

2013-03-15

2014-09-18

Apple Inc.

User training by intelligent digital assistant

US20140278343A1

( en )

2013-03-15

2014-09-18

Bao Tran

Assistive agent

US20140365209A1

( en )

2013-06-09

2014-12-11

Apple Inc.

System and method for inferring user intent from speech inputs

US20150127319A1

( en )

2013-11-07

2015-05-07

Microsoft Corporation

Filled Translation for Bootstrapping Language Understanding of Low-Resourced Languages

US20150142704A1

( en )

2013-11-20

2015-05-21

Justin London

Adaptive Virtual Intelligent Agent

US20150142447A1

( en )

2008-05-27

2015-05-21

Voicebox Technologies Corporation

System and method for an integrated, multi-modal, multi-device natural language voice services environment

US20150278201A1

( en )

*

2014-03-26

2015-10-01

Microsoft Technology Licensing, Llc

Temporal translation grammar for language translation

US9164985B1

( en )

2011-11-29

2015-10-20

Google Inc.

Techniques for detecting poor machine translations of key terms

CN104991892A

( en )

2015-07-09

2015-10-21

百度在线网络技术(北京)有限公司

Speech translation method and apparatus

US20150340033A1

( en )

2014-05-20

2015-11-26

Amazon Technologies, Inc.

Context interpretation in natural language processing using previous dialog acts

US20150370780A1

( en )

2014-05-30

2015-12-24

Apple Inc.

Predictive conversion of language input

US20160004707A1

( en )

2011-05-12

2016-01-07

Microsoft Technology Licensing, Llc

Translating natural language utterances to keyword search queries

US20160042748A1

( en )

2014-08-11

2016-02-11

Rawles Llc

Voice application architecture

US20160147744A1

( en )

2013-12-25

2016-05-26

Beijing Baidu Netcom Science And Technology Co., Ltd.

On-line voice translation method and device

CA2970733A1

( en )

2015-01-23

2016-07-28

Microsoft Technology Licensing, Llc

Methods for understanding incomplete natural language query

US9442920B2

( en )

2009-07-16

2016-09-13

National Institute Of Information And Communications Technology

Speech translation system, dictionary server, and program

US20160307567A1

( en )

2015-04-17

2016-10-20

Microsoft Technology Licensing, Llc

Context carryover in language understanding systems or methods

US20170060854A1

( en )

2015-08-25

2017-03-02

Alibaba Group Holding Limited

Statistics-based machine translation method, apparatus and electronic device

US9607102B2

( en )

2014-09-05

2017-03-28

Nuance Communications, Inc.

Task switching in dialogue processing

US20170091177A1

( en )

2015-09-30

2017-03-30

Kabushiki Kaisha Toshiba

Machine translation apparatus, machine translation method and computer program product

US9633317B2

( en )

2013-06-20

2017-04-25

Viv Labs, Inc.

Dynamically evolving cognitive architecture system based on a natural language intent interpreter

CN107170453A

( en )

2017-05-18

2017-09-15

百度在线网络技术(北京)有限公司

Across languages phonetic transcription methods, equipment and computer-readable recording medium based on artificial intelligence

US20170270925A1

( en )

2007-12-11

2017-09-21

Voicebox Technologies Corporation

System and method for providing a natural language voice user interface

WO2017197187A1

( en )

2016-05-13

2017-11-16

Google Llc

Media transfer among media output devices

US9959272B1

( en )

2017-07-21

2018-05-01

Memsource a.s.

Automatic classification and translation of written segments

US20180233132A1

( en )

2017-02-14

2018-08-16

Microsoft Technology Licensing, Llc

Natural language interaction for smart assistant

US10073843B1

( en )

2003-09-05

2018-09-11

Spoken Translation Inc.

Method and apparatus for cross-lingual communication

US10088853B2

( en )

2012-05-02

2018-10-02

Honeywell International Inc.</span

Related documents

Record · ID 607290
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.