CN113412515A - 适配自动化助理以用多种语言使用 - Google Patents
适配自动化助理以用多种语言使用 Download PDFInfo
- Publication number
- CN113412515A CN113412515A CN201980091601.9A CN201980091601A CN113412515A CN 113412515 A CN113412515 A CN 113412515A CN 201980091601 A CN201980091601 A CN 201980091601A CN 113412515 A CN113412515 A CN 113412515A
- Authority
- CN
- China
- Prior art keywords
- language
- translation
- canonical
- intent
- semantically related
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 claims abstract description 200
- 230000014616 translation Effects 0.000 claims abstract description 200
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012549 training Methods 0.000 claims abstract description 38
- 230000009471 action Effects 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000003058 natural language processing Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 10
- 235000013550 pizza Nutrition 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000007935 neutral effect Effects 0.000 description 4
- 235000013305 food Nutrition 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000000044 Amnesia Diseases 0.000 description 1
- 208000031091 Amnestic disease Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 240000005561 Musa balbisiana Species 0.000 description 1
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 1
- 230000006986 amnesia Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3337—Translation of the query language, e.g. Chinese to English
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/51—Translation evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本文所述的技术可以用于增加自动化助理系统的语言覆盖范围,即它们可以用于增加自动化助理能够递送合理响应的一种或多种非本机语言的查询的数量。例如,本文描述了用于训练和利用机器翻译模型来将一种语言的多个语义相关自然语言输入映射到另一种语言的一个或多个规范翻译的技术。在各种实现方式中,规范翻译可以被选择和/或优化以用于由自动化助理确定说话者的意图,使得可以基于说话者的意图来执行一个或多个响应动作。换句话说,规范翻译可以被具体格式化以用于向自动化助理指示说话者的意图。
Description
背景技术
人类可以参与与这里称为“自动化助理”(也称为“聊天程序”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用的人机对话。例如,人类(当他们与自动化助理交互时,可以被称为“用户”)可以使用自由形式的自然语言输入和/或键入的自由形式的自然语言输入来提供命令、查询和/或请求(在此统称为“查询”),所述自由形式的自然语言输入可以是被转换成文本并且然后被处理的声音话语。自动化助理通常使用预定的声音话语(例如,“OK Assistant(好的助理)”)来调用,并且通常仅对跟随调用短语的那些声音话语执行各种类型的处理,例如语音到文本处理和/或自然语言处理。
自动化助理擅长以诸如英语等某些广泛使用的语言与用户通信,但不太能够以其它语言通信。然而,用于配置自动化助理以用新语言通信的常规技术是资源密集型的。对于每种新语言,可能需要生成新触发语法(即,旨在调用自动化助理的特定动作的词或短语),识别新语言的查询意图(这需要针对不同语言的不同自然语言处理组件),并且生成在新语言中可理解的自然语言输出。除了该挑战之外,每种语言具有无数的特质(例如,形态丰富、前遗忘、性别中立等),并且可能难以找到能够以特定语言构建这些系统的语言专家。
发明内容
本文描述的技术部分地涉及自动化助理解释并且响应于自动化助理的“本机”语言以外的多种不同语言的查询、命令和请求的多语言模型。本文所述的技术还可以用来增加自动化助理系统的语言覆盖范围,即它们可以用来增加自动化助理能够递送合理响应的一种或多种非本机语言的查询的数量。
本文描述用于训练和利用机器翻译模型来将一种语言的多个语义相关自然语言输入映射到另一种语言的一个或多个规范翻译的一些实现方式。在各种实现方式中,规范翻译可以被选择和/或优化以用于由自动化助理确定说话者的意图,使得可以基于说话者的意图来执行一个或多个响应动作。换句话说,规范翻译可以被具体格式化以用于向自动化助理指示说话者的意图。虽然本文描述的示例将主要涉及一种语言的多个语音输入被语音识别并且被映射到另一种语言的单个规范翻译,但这并不意味着限制。本文描述的技术可应用于非口头的自然语言输入,诸如键入的自然语言输入。
在各种实现方式中,可以例如通过一个或多个麦克风来捕获口头话语以生成音频数据。音频数据可以采取各种形式,诸如音频记录、基于口头话语生成的嵌入等。口头话语可以是第一语言,该第一语言可能不被自动化助理本机支持,或者至少可能不像第二语言那样也被自动化助理所支持。
在一些实现方式中,可以对音频数据执行语音识别处理以生成语音识别输出。语音识别输出可以采取各种形式,诸如文本、语义嵌入等。语音识别输出可以被应用作为跨经训练的机器翻译模型的输入以生成输出。基于机器翻译模型生成的输出可以指示语音识别输出从第一语言到第二语言的规范翻译。基于规范翻译,口头话语传达的意图可以被确定并被用于触发自动化助理的一个或多个响应动作。
在各种实现方式中,机器翻译模型可以被训练成将第一语言的多个语义相关短语映射到第二语言的相同规范翻译。规范翻译可以在句法上不同于多个语义相关短语中的至少一些语义相关短语。换句话说,第一语言中的多个语义相关短语中的至少一些语义相关短语将不再被映射到第二语言中的它们的“真实”或严格翻译。相反,它们可以由机器翻译模型映射到第二语言的规范翻译。然而,规范翻译可以被选择或优化以供在自动化助理域中使用。因此,第一语言的语言覆盖范围-即自动化助理能够递送合理响应的第一语言的查询的数量-可以被增加。这可以增加自动化助理系统的效用,并且可以减少自动化助理系统不能够处理的以特定非本机语言接收的查询的实例数量(以及与其相关联的计算资源使用)。
假设自动化助理非本机支持的第一语言是德语,而自动化助理本机支持的第二语言是英语。可能存在传达在早晨设置闹铃的意图的几个不同的德语短语。当使用传统的机器翻译模型翻译时,这些德语短语中的每一个可以生成与其它短语稍微不同的英语翻译。换句话说,传统的机器翻译模型可以在各种德语短语及其英语翻译之间强加多对多的关系。然而,可能是这样的情况,即自动化助理仅将英语翻译的子集容易地映射到设置警报的意图。在该子集之外的英语翻译—其可以是“长尾(long tail)”或传达设置警报的意图的较不常见的方式—对于自动化助理而言可能更难以自信地响应和/或在不寻求来自用户的附加输入的情况下作出响应。
根据本公开训练的机器翻译模型可以替代地在各种德语短语与一个或多个规范英语翻译之间施加多对一或者至少是多对一些的关系。在一些实现方式中,这些一个或多个规范英语翻译可以被直接映射到结构化意图,在一些情况下,在规范翻译和结构化意图之间具有尽量少的一对一映射。换句话说,根据本公开训练的机器翻译模型可以将多个语义相关短语的多个不同翻译标准化为一个或多个规范翻译。因此,语义相关短语中的任何一个可以被映射到一个或多个规范翻译,而不管它们如何可以使用传统机器翻译模型或由人类翻译者自然地翻译。
在各种实现方式中,配置有本公开的所选各方面的机器翻译模型可以是序列到序列模型,诸如循环神经网络。在一些实现方式中,机器翻译模型可以是序列到序列模型,诸如编码器-解码器模型,有时被称为“自动编码器(autoencoder)”,其包括编码器部分和解码器部分。编码器部分可以被训练成将指示第一语言中的词或短语的数据映射到语言中立语义空间中的嵌入。解码器部分可以被训练成将语义空间中的嵌入映射到第二语言中的词或短语。
在一些实现方式中,机器翻译模型可以作为常规编码器-解码器模型启动,然后该编码器-解码器模型被优化以用于自动化助理域中。例如,可以使用训练数据来进一步训练常规编码器-解码器,在训练数据中,目标输出(即,要由解码器部分生成的期望的词或短语)被重写以便调谐机器翻译模型来将多个语义相关短语映射到相同规范翻译。
作为示例,假设存在N(大于一的正整数)种不同的方式来传达德语中的特定意图,并且如果应用传统翻译,则这N个短语映射到英语中的M(大于一的正整数)个不同的相应翻译。在一些实现方式中,可以生成至少N个训练示例,至少一个训练示例用于每个不同的德语短语。这些N个训练示例中的每一个的目标输出可以从传统翻译重写为一个规范翻译。如先前所提到的,这一个规范翻译可以具有与自动化助理所充分理解的结构化意图的一对一关系。
然后,训练数据可以用于进一步训练机器翻译模型。对于每个训练示例,由模型生成的输出可以与规范翻译进行比较。在输出和规范翻译不同(即,错误)的情况下,可以应用诸如反向传播和/或梯度下降之类的技术来调整机器转换模型的参数。一旦以这种方式利用了足够数量的训练示例,机器翻译模型就可以被训练成将多个语义相关的德语短语映射到相同规范翻译。
在其中机器翻译模型是编码器-解码器的一些实现方式中,解码器部分可以被训练成映射编码器部分的多个输出-例如表示第一语言中的多个语义相关短语的一个或多个语义嵌入-到相同规范翻译。在一些这样的实现方式中,解码器部分可以被训练成将语义嵌入的整个集群映射到相同规范翻译,使得集群的任何单独嵌入被映射到规范翻译,而不管其“真实”或严格翻译将是什么。另外地或替代地,在一些实现方式中,编码器-解码器的编码器部分可以经训练以将第一语言中的多个语义相关短语映射到比以其他方式用常规机器翻译模型映射的数量少的语义嵌入。这些较少的语义嵌入继而可以被映射到(多个)规范翻译。
本文描述的技术可以应用于被训练成从多于一种语言翻译成本机支持语言的机器翻译模型。例如,可以训练多个编码器,除了本机支持语言之外,每种语言一个编码器。每个编码器可以从相应语言的输入中生成语义嵌入。在一些实现方式中,这些语义嵌入可以是语言中性的。例如,基于法语话语的法语编码器可以生成与基于语义上相似的德语话语的德语编码器相同(或基本上相似)的语义嵌入。然后,单个解码器部分可以用于处理由任何编码器生成的语义嵌入。如上所述,单个解码器可以将语义嵌入映射到规范翻译。
在一些示例中,可以使用多任务训练来提高模型的最终性能。更具体来说,解码器部分可以附加地接收由附加编码器生成的嵌入,所述附加编码器经训练以将以第二本机支持语言接收到的语义相关短语映射到语义嵌入。然后,由附加编码器生成的语义嵌入可以由解码器部分以上述方式处理。
根据本公开,存在生成用于训练机器翻译模型的训练数据的各种方式。在一些实现方式中,可以针对给定响应动作(诸如设置警报、设置提醒等)选择一个或多个规范短语。例如,可以基于作为用于标识被映射到响应动作的结构化意图的最频繁或最流行的短语来选择这些规范短语。例如,用户可以以几种方式传达在特定<时间>设置警报的意图:“setan alarm for<time>(在<时间>设置警报)”、“please wake me up at<time>(请在<时间>唤醒我)”、“I need an alarm set for<time>(我需要在<时间>设置警报)”、“at<time>please wake me up(在<时间>请唤醒我)”等。然而,这些短语之一,诸如“set an alarmfor<time>(在<时间>设置警报)”可能是最频繁使用的。因此,该短语可以被选择为其它语言中的多个不同的语义相关短语可以被映射到的规范翻译,而不管那些短语“真实的”翻译。
在一些实现方式中,提供了一种由一个或多个处理器执行的方法,包括:在麦克风处捕获口头话语以生成音频数据,其中所述口头话语以第一语言说出;对所述音频数据执行语音识别处理以生成语音识别输出;应用所述语音识别输出作为跨经训练的机器翻译模型的输入以生成输出,其中所述输出指示所述语音识别输出从所述第一语言到第二语言的规范翻译;基于所述规范翻译来确定由所述口头话语传达的意图;以及基于所述意图执行一个或多个响应动作。在各种实现方式中,所述机器翻译模型被训练成将所述第一语言的多个语义相关短语映射到相同规范翻译,其中,所述规范翻译在句法上不同于所述多个语义相关短语中的至少一些。
本文公开的技术的这些和其他实现方式可以可选地包括以下特征中的一个或多个。
在各种实现方式中,机器翻译模型可以采取序列到序列模型的形式。在各种实现方式中,机器翻译模型可以采取编码器-解码器的形式。在各种实现方式中,编码器-解码器的解码器部分被训练成将表示第一语言的多个语义相关短语的一个或多个语义嵌入映射到相同规范翻译。在各种实现方式中,编码器-解码器的编码器部分被训练以将第一语言中的多个语义相关短语映射到较少数量的语义嵌入。
在各种实现方式中,该方法还可以包括:在所述相同麦克风或不同麦克风处捕获另一口头话语以生成附加音频数据,其中所述另一口头话语以第三语言说出;对所述附加音频数据执行语音识别处理以生成附加语音识别输出;应用所述附加语音识别输出作为跨所述经训练的机器翻译模型的输入以生成附加输出,其中,所述附加输出指示语音识别文本的所述规范翻译;基于所述规范翻译来确定由所述另一口头话语传达的意图;以及基于所述意图来执行一个或多个附加响应动作。在一些这样的实现中,机器翻译模型可以被训练成将所述第三语言的多个语义相关短语映射到相同规范翻译,其中,所述规范翻译在句法上不同于所述第三语言的所述多个语义相关短语中的至少一些。
在各种实现方式中,可以基于规范翻译与意图之间的映射来确定意图。在各种实现方式中,确定所述意图包括对所述规范翻译执行自然语言处理以确定所述意图。在一些实现中,经训练的机器翻译模块包括跨多种语言共享的词片段词汇。
在另一方面,一种使用一个或多个处理器实现的方法可以包括:标识第一语言的多个语义相关短语;标识第二语言的所述多个语义相关短语的多个翻译;生成所述第二语言的规范翻译,所述规范翻译对应于所述多个语义相关短语的所述多个翻译;基于所述多个语义相关短语和所述规范翻译来生成训练数据;以及使用所述训练数据来训练所述机器翻译模型,其中在被训练时,所述机器翻译模型将所述第一语言的所述多个语义相关短语映射到所述第二语言的所述规范翻译。在各种实现方式中,在被训练之前,所述机器学习模型可以将所述第一语言的所述多个语义相关短语映射到所述第二语言的所述多个翻译。
另外,一些实现方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中指令被配置为使得执行上述方法中的任何方法。一些实现方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。
应当理解,本文更详细描述的前述概念和附加概念的所有组合被预期为本文公开的主题的一部分。例如,在本公开结尾出现的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可以实现本文公开的实现方式的示例环境的框图。
图2描绘根据各种实现方式的说明本公开的各个方面的示例过程流。
图3、图4、图5A和图5B描述根据各种实现方式的用户和自动化助理之间的示例对话。
图6描绘示出根据本文公开的实现方式的示例方法的流程图。
图7描绘示出根据本文公开的实现方式的另一示例方法的流程图。
图8示出计算设备的示例架构。
具体实施方式
现在转向图1,示出其中可以实现本文公开的技术的示例环境。示例环境包括多个客户端计算设备1061-N。每个客户端设备106可以执行自动化助理客户端118的相应实例。诸如自然语言理解引擎135的一个或多个基于云的自动化助理组件119可以在经由在110处一般地指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备1061-N的一个或多个计算系统(统称为“云”计算系统)上实现。
在一些实现方式中,多个客户端计算设备1061-N(这里也简称为“客户端设备”)可以以各种方式彼此相关联,以便促进本文描述的技术的执行。例如,在一些实现方式中,多个客户端计算设备1061-N可以凭借它们是由一个或多个用户(例如,个人、家庭、组织的雇员、其他预定义的组等)操作的客户端设备106的协调生态系统的成员而彼此相关联。
如背景技术中所指出的,自动化助理客户端118的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度看似乎是用户可以与之进行人机对话的自动化助理120的逻辑实例。图1中描绘了这种自动化助理120的两个实例。由虚线环绕的第一自动化助理120A为操作第一客户端设备1061的第一用户(未描绘)服务,并且包括自动化助理客户端1181和一个或多个基于云的自动化助理组件119。
由双点划线环绕的第二自动化助理120B为操作另一客户端设备106N的第二用户(未描绘)服务,并且包括自动化助理客户端118N和一个或多个基于云的自动化助理组件119。因此,应当理解,与在客户端设备106上执行的自动化助理客户端118接洽的每个用户实际上可以与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简明起见,本文中用作“服务”特定用户的术语“自动化助理”将指在由用户操作的客户端设备106上执行的自动化助理客户端118和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端118之间共享)的组合。还应当理解,在一些实现方式中,自动化助理120可以响应于来自任何用户的请求,而不管该自动化助理120的特定实例是否实际上“服务”该用户。
客户端设备1061-N可以包括例如以下各项中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能电器、和/或包括计算设备的用户的可穿戴设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。
每个客户端计算设备1061-N可以操作各种不同的应用,诸如多个消息交换客户端1071-N中的对应的一个。消息交换客户端1071-N可以以各种形式出现,并且该形式可以跨客户端计算设备1061-N变化和/或可以在客户端计算设备1061-N的单个客户端上操作多种形式。在一些实现方式中,消息交换客户端1071-N中的一个或多个可以以短消息服务(“SMS”)和/或多媒体消息服务(“MMS”)客户端、在线聊天客户端(例如,即时消息、互联网中继聊天或“IRC”等)、与社交网络相关联的消息应用、专用于与自动助理120对话的个人助理消息服务等来实现。在一些实现方式中,消息交换客户端1071-N中的一个或多个可以经由web浏览器(未描绘)或客户端计算设备106的其他应用所渲染的网页或其他资源来实现。
如本文更详细地所述,自动化助理120经由一个或多个客户端设备1061-N的用户界面输入和输出设备与一个或多个用户进行人机对话会话。在一些实现方式中,自动化助理120可以响应于由用户经由客户端设备1061-N中的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。例如,消息交换客户端1071-N中的一个可以是专用于与自动化助理120的对话的个人助理消息收发服务,并且经由该个人助理消息服务提供的用户界面输入可以被自动地提供给自动化助理120。此外,例如,用户界面输入可以基于指示自动化助理120将被调用的特定用户界面输入而被明显地指向到一个或多个消息交换客户端1071-N中的自动化助理120。例如,特定用户界面输入可以是一个或多个键入的字符(例如,@AutomatedAssistant)、用户与硬件按钮和/或虚拟按钮的交互(例如,轻击、长按)、口头命令(例如,“Hey Automated Assistant(嗨自动化助理)”)和/或其他特定用户界面输入。
在一些实现方式中,即使当用户界面输入未明确地指向自动化助理120时,自动化助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动化助理120可以检查用户界面输入的内容并且响应于用户界面输入中存在的某些术语和/或基于其他提示而参与对话会话。在许多实现方式中,用户可以发出命令、进行搜索等,并且自动化助理可以利用语音识别来将话语转换成文本,并且例如通过提供搜索结果、一般信息和/或采取一个或多个响应动作(例如,播放媒体、启动游戏、订购食物等)相应地对文本做出响应。在一些实现方式中,自动化助理120可以另外地或替代地对话语做出响应而无需将话语转换成文本。例如,自动化助理120可以将声音输入转换成嵌入、转换成(多个)实体表示(指示声音输入中存在的一个或多个实体)、和/或其他“非文本”表示,并且对这样的非文本表示进行操作。因此,本文描述为基于从声音输入转换的文本进行操作的实现方式可以另外地和/或替代地直接对声音输入和/或声音输入的其他非文本表示进行操作。
客户端计算设备1061-N和操作基于云的自动化助理组件119的计算设备中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及有助于通过网络进行通信的其他组件。由一个或多个客户端计算设备1061-N和/或由自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以被实现为例如在通过网络彼此耦合的一个或多个位置处的一个或多个计算机上运行的计算机程序。
如上所述,在各种实现方式中,客户端计算设备1061-N中的每一个可以操作自动化助理客户端118。在各种实现方式中,每个自动化助理客户端118可以包括对应的语音捕获/文本到语音(“TTS”)/语音到文本(“STT”)模块114。在其他实现方式中,语音捕获/TTS/STT模块114的一个或多个方面可以与自动化助理客户端118分开而实现。在各种实现方式中,语音捕获/TTS/STT模块114可以基于声音查询来生成语音识别输出。可以根据本文描述的技术来分析该语音识别输出。
每个语音捕获/TTS/STT模块114可以被配置成执行一个或多个功能:例如经由麦克风捕获用户的语音;使用各种语音识别技术将所捕获的音频转换为文本(和/或转换为其他表示或嵌入);和/或将文本转换成语音。例如,在一些实现方式中,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面受到相对约束,所以对于每个客户端设备106而言是本地的语音捕获/TTS/STT模块114可以被配置为将有限数量的不同口语短语—特别是调用自动化助理120的短语—转换为文本(或转换为其他形式,诸如较低维度嵌入)。其它语音输入可以被发送到基于云的自动化助理组件119,其可以包括基于云的TTS模块116和/或基于云的STT模块117。
基于云的STT模块117可以被配置为利用云的实际上无限的资源来使用各种语音识别技术将由语音捕获/TTS/STT模块114捕获的音频数据转换成文本(其然后可以被提供给自然语言处理器122)。基于云的TTS模块116可以被配置为利用云的实际上无限的资源来将文本数据(例如,由自动化助理120制定的自然语言响应)转换为计算机生成的语音输出。在一些实现方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106,以例如使用一个或多个扬声器直接输出。在其他实现方式中,由自动化助理120生成的文本数据(例如,自然语言响应)可以被提供给语音捕获/TTS/STT模块114,其然后可以将文本数据转换成本地输出的计算机生成的语音。
自动化助理120(并且特别地,基于云的自动化助理组件119)可以包括自然语言理解引擎135、上述TTS模块116、上述STT模块117和下文更详细描述的其他组件。在一些实现方式中,自动化助理120的引擎和/或模块中的一个或多个可省略、组合和/或实现在与自动化助理120分离的组件中。在一些实现方式中,为了保护隐私,自动化助理120的组件中的一个或多个(诸如自然语言处理器122、语音捕获/TTS/STT模块114等)可以至少部分地在客户端设备106上实现(例如,排除在云之外)。
在一些实现方式中,自动化助理120响应于由客户端设备1061-N中的一个的用户在与自动化助理120的人机对话会话期间生成的各种输入来生成响应内容。自动化助理120可以(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容,用于作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备1061-N中的一个提供的自由形式的自然语言输入来生成响应内容。如本文所使用的,自由形式输入是由用户制定的并且不受到呈现以供用户选择的一组选项约束的输入。
如本文所使用的,“对话会话”可以包括用户与自动化助理120(以及在一些情况下,其他人类参与者)之间的一个或多个消息的逻辑上自包含的交换。自动化助理120可以基于各种信号来在与用户的多个对话会话之间进行区分,所述各种信号诸如会话之间的时间流逝、会话之间的用户上下文(例如,位置、在安排的会议之前/期间/之后等)的变化、除了在用户和自动化助理之间的对话之外的用户与客户端设备之间的一个或者多个中间交互的检测(例如,用户切换应用一会儿、用户离开然后返回到独立的声音激活产品)、会话之间客户端设备的锁定/睡眠、用于与自动化助理120的一个或多个实例对接的客户端设备的变化等。
自然语言理解引擎135的自然语言处理器122处理由用户经由客户端设备1061-N生成的自然语言输入,并且可以生成注释输出(例如,以文本形式)以供自动化助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由形式的输入。所生成的注释输出包括自然语言输入的一个或多个注释以及自然语言输入的一个或多个(例如,全部)术语。
在一些实现方式中,自然语言处理器122被配置为标识和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态引擎,该形态引擎可以将单个词分离成词素和/或例如用词素的类别注释这些词素。自然语言处理器122还可以包括被配置成用其语法角色注释术语的语音标记器的一部分。例如,语音标记器的一部分可以用诸如“名词”、“动词”、“形容词”、“代词”等语音的一部分来标记每个术语。此外,例如,在一些实现中,自然语言处理器122可以附加地和/或替换地包括被配置成确定自然语言输入中的术语之间的句法关系的依存关系解析器(未描绘)。例如,依存关系解析器可以确定哪些术语修饰其它术语、句子的主语和动词等(例如,解析树),并且可以作出这些依存关系的注释。
在一些实现方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未描绘),该实体标记器被配置成注释一个或多个片段中的实体引用,诸如对人们(包括例如文学角色、名人、公共人物等)、组织、位置(真实的和假想的)等的引用。在一些实现方式中,关于实体的数据可以存储在一个或多个数据库中,诸如存储在知识图(未描绘)中。在一些实现方式中,知识图可以包括表示已知实体(并且在一些情况下,实体属性)的节点以及连接节点并且表示实体之间的关系的边缘。例如,“香蕉”节点可以(例如,作为子节点)被连接到“水果”节点,其继而可以被(例如,作为子节点)连接到“生产”和/或“食物”节点。作为另一个示例,称为“Hypothetical Cafe”的餐厅可以由节点表示,该节点还包括诸如其地址、所供应食物的类型、营业时间、联系信息等属性。通过边缘(例如,表示子节点与父节点的关系)连接到一个或多个其他节点,诸如“餐厅”节点、“企业”节点、表示餐厅所在城市和/或其中餐厅位于的州的节点等等。
自然语言处理器122的实体标记器可以以较高级别粒度(例如,以使得能够标识对诸如人们的实体类别的所有引用)和/或较低级别粒度(例如,以使得能够标识对诸如特定人员的特定实体的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体,和/或可以可选地与知识图或其他实体数据库通信来解析特定实体。
在一些实现方式中,自然语言处理器122可以附加地和/或替代地包括共指解析器(未描绘),其被配置为基于一个或多个上下文线索对相同实体的引用进行分组或“聚类”。例如,共指解析器可以用于将术语“there(那里)”解析为自然语言输入“I likedHypothetical Cafe last time we ate there(我喜欢我们上次在那里用餐的Hypothetical Cafe)”中的“Hypothetical Cafe”。
在一些实现方式中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实现方式中,命名实体标记器在对特定实体注释所有提及时可以依赖于来自共指解析器和/或依存关系解析器的注释。此外,例如,在一些实现中,共指解析器可以在对同一实体的引用进行聚类时依赖于来自依存关系解析器的注释。在一些实现方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。
自然语言理解引擎135还可以包括意图匹配器136,其被配置为确定参与与自动化助理120的人机对话会话的用户的意图。虽然在图1中与自然语言处理器122分开描绘,但是在其他实现方式中,意图匹配器136可以是自然语言处理器122(或者更一般地,包括自然语言处理器122的流水线)的组成部分。在一些实现方式中,自然语言处理器122和意图匹配器136可以共同形成前述的“自然语言理解”引擎135。
意图匹配器136可以使用各种技术来确定用户的意图,例如基于来自自然语言处理器122的输出(其可以包括自然语言输入的注释和术语)。在一些实现方式中,意图匹配器136可以访问一个或多个数据库137,其包括例如语法和响应动作(或者更一般地,意图)之间的多个映射。在许多情况下,这些语法可以随着时间的推移而被选择和/或学习,并且可以表示用户的最常见意图。例如,一种语法“play<artist>播放<艺术家>”可以被映射到意图,该意图调用响应动作,该响应动作使得<艺术家>的音乐在用户操作的客户端设备106上播放。另一个语法“[weather|forcast]today([天气|预报]今天)”可以与用户查询(诸如“what’s the weather today(今天的天气如何)”和“what’s the forecast for today(今天的预报是什么)?”)匹配。如以下将更详细描述的,除了语法之外或代替语法,在一些实现方式中,意图匹配器136可以单独地或与一个或多个语法组合地采用一个或多个经训练的机器学习模型。这些经训练的机器学习模型也可以被存储在一个或多个数据库137中。
如在“播放<艺术家>”示例语法中看到的,一些语法具有可以用槽值(或“参数”)填满的槽(例如,<艺术家>)。槽值可以以各种方式确定。用户通常会主动地提供槽值。例如,对于语法“Order me a<topping>pizza(为我订购<topping>披萨)”,用户可能会讲出“orderme a sausage pizza(为我订购香肠披萨)”短语,在这种情况下,自动填满槽<topping>。另外地或可替代地,如果用户调用包括要用槽值填满的槽的语法,而无需用户主动地提供槽值,则自动化助理120可以向用户征求这些槽值(例如,“what type of crust do you wanton your pizza?(您的披萨使用哪种类型的饼皮?)”)。
在一些实现方式中,自动化助理120可以促进(或“协商”)用户与第三方应用之间的交易。这些第三方应用可以在或可以不在与操作例如基于云的自动化助理组件119的计算系统分开的计算系统上操作。因此,可以由意图匹配器136标识的一种用户意图是参与第三方应用。例如,自动化助理120可以向披萨递送服务提供对应用编程接口(“API”)的访问。用户可以调用自动化助理120并且提供诸如“I’d like to order a pizza(我想订购比萨)”的命令。意图匹配器136可以将该命令映射到语法(在一些情况下可以由第三方添加到数据库137),该语法触发自动化助理120与第三方披萨递送服务接洽。第三方披萨递送服务可以向自动化助理120提供需要填满的最小数量的槽列表,以便于履行披萨递送订单。自动化助理120可以生成自然语言输出并且将其提供给用户(经由客户端设备106),该自然语言输出向槽征求参数。
履行引擎124可以被配置为接收由意图匹配器136输出的意图以及相关联的槽值(无论是由用户主动提供的还是从用户征求的)并且履行该意图。在各种实现方式中,用户意图的履行可以导致例如由履行引擎124生成/获得各种履行信息(在一些实例中,其可以是语言不可知的)。如以下将描述的,在一些实现方式中,履行信息可以被提供给自然语言生成器(在一些附图中为“NLG”)126,其可以基于履行信息来生成自然语言输出。
因为可以以多种方式履行意图,所以履行信息可以采取各种形式。假设用户要求纯粹的信息,诸如“Where were the outdoor shots of'The Shining'filmed?(“TheShining”的外景拍摄在哪里拍摄?)”。可以例如通过意图匹配器136将用户的意图确定为搜索查询。可以将搜索查询的意图和内容提供给履行引擎124,其如图1中所描绘可以与被配置成在文档和/或其他数据源(例如,知识图等)的语料库中搜索响应信息的一个或多个搜索引擎150通信。履行引擎124可以向搜索引擎150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索引擎150可以提供响应信息,诸如GPS坐标,或者其他更明确的信息,诸如“Timberline Lodge,Mt.Hood,Oregon(俄勒冈州胡德山的森林界线小屋)”。该响应信息可以形成由履行引擎124生成的履行信息的一部分。
附加地或替换地,履行引擎124可以被配置成例如从自然语言理解引擎135接收用户的意图和由用户提供的或使用其它手段(例如,用户的GPS坐标、用户偏好等)确定的任何槽值,并且触发响应动作。响应动作可以包括例如订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实现方式中,履行信息可以包括与履行、确认响应(在一些情况下可以从预定响应中选择)等相关联的槽值。
如上所述,自然语言生成器126可以被配置为基于从各种源获得的数据来生成和/或选择自然语言输出(例如,被设计为模仿人类语音的口头词语/短语)。在一些实现方式中,自然语言生成器126可以被配置为接收与意图的履行相关联的履行信息作为输入,并且基于履行信息生成自然语言输出。附加地或替换地,自然语言生成器126可以从诸如第三方应用的其他源接收信息(例如,所需的槽),其可以用于为用户定制自然语言输出。
如果用户的意图是搜索一般信息,则自然语言生成器126可以生成传达响应于用户的信息的自然语言输出,例如以句子形式。在一些实例中,自然语言输出可以例如由自然语言生成器126从文档中不加改变地提取(例如,因为它已经处于完整的句子形式)并且照原样提供。附加地或替换地,在一些实现方式中,响应内容可以不是完整的句子形式(例如,对于今天的天气的请求可以包括高温和降水的机会作为独立的数据片段),在这种情况下,自然语言生成器126可以组成将响应内容呈现为自然语言输出的一个或多个完整的句子或短语。
如背景技术中所述,自动化助理擅长以诸如英语等某些广泛使用的语言与用户通信。这可能是由于各种原因,诸如在英语是最常用的口语的国家中正在开发自动化助理。然而,自动化助理可能较不擅长以其他语言与用户通信。每种语言具有无数的特质,这使得让自动化助理120适配与那些语言的通信是困难的,通常需要语言专家的大量人类干预。此外,第三方应用开发者可能缺乏资源来使他们的系统适配以多种语言通信。
在人机对话领域中,用户和自动化助理120所采用的词汇可能比日常对话、文学、书写等中所采用的词汇稍不全面和/或更受约束。换句话说,在人机对话期间采用的有限语言空间通常将是用于更通用的人-人通信(例如,谈话、书写等)的更全面语言空间的子集。例如,用户倾向于接洽自动化助理120以使得一个或多个任务被执行。即使在一般搜索查询的上下文中,用户也倾向于与自动化助理接洽以执行特定类型的查询,诸如问询天气、交通、通行时间、餐馆时间等。
存在用于将一种语言的文本自动翻译成另一种的各种技术。存在被配置成接收第一语言的输入并且提供第二语言的输出的各种模型。例如,许多web浏览器提供将网页翻译成不同语言的能力。另外,一些web服务被配备成接收一种语言的用户输入,并且提供由用户选择的另一种语言的输出。
因此,在各种实现方式中,翻译器138可以被提供为例如基于云的自动化助理组件119的一部分或单独地,其可以被配置为在各种语言之间翻译内容。在图1中,翻译器138访问一个或多个数据库139,该数据库可以包括可用于从一种语言翻译成另一种语言的各种类型的数据(例如,字典、训练的翻译模型等)。例如,第一数据库可以促进从第一语言到第二语言的翻译,反之亦然。第二数据库可以促进从第一语言到第三语言的翻译,反之亦然等等。
在一些实现方式中,翻译器138可以实现统计机器翻译服务,该统计机器翻译服务将文本从各种源语言翻译成规范(canonical)语言(例如,英语),并且然后从规范语言翻译成目标语言。附加地或替换地,在一些实现方式中,翻译器138可以实现神经机器翻译(“NMT”)引擎,该引擎一次翻译整个句子或短语,而不是个别的标记,使得可以利用文本输入的整体上下文。
在一些实现方式中,例如已经由翻译器138使用以执行通用翻译的常规NMT模型可以被增强(即,专门训练)以在翻译和理解专门用于人机对话领域的语言方面更好。该增强的NMT模型在本文将被称为“自然语言理解-神经机器翻译”(“NLU-NMT”)模型。
在各种实现方式中,NLU-NMT模型可以被训练成将一种语言的多个语义相关自然语言输入映射到另一种语言的一个或多个规范翻译。在各种实现方式中,可以选择和/或优化规范化翻译以用于由自动化助理120确定说话者的意图,使得可以基于说话者的意图来执行一个或多个响应动作。换句话说,规范翻译可以被具体地格式化/选择以用于向自动化助理指示说话者的意图。虽然本文描述的示例将主要涉及一种语言的多个语音输入被语音识别并且被映射到另一种语言的单个规范翻译,但这并不意味着限制。本文描述的技术可应用于非口头自然语言输入,诸如键入的自然语言输入。
图2描绘如何可以将一种语言中的多个语义相关短语映射到较低数量的规范翻译的一个非限制性示例。更具体地,图2说明了如何可以将多个语义上相似但句法上不同的德语短语映射到单个规范英语短语,这些德语短语传统上将翻译成对应的多个语义上相似但句法上不同的英语短语。在图2和本文的其他地方,第一语言的多个短语被映射到另一语言的单个规范短语。然而,这并不意味着限制。在各种实现方式中,第一语言中的多个语义相关短语可以被映射到较低数量的规范翻译,包括单个规范翻译。本文描述的技术确保第二语言的(多个)规范翻译在句法上不同于第一语言的多个语义相关短语中的至少一些。
在图2的左上部,描述了传统的NMT模型250'。在一些实现方式中,NMT模型250'可以采取诸如装备有存储器的神经网络等序列到序列模型的形式。装备有存储器的神经网络可以采取各种形式,诸如循环神经网络、长短期记忆(“LSTM”)网络、门控循环单元(“GRU”)网络或其任何组合。本文考虑了其他序列到序列模型和/或装配有存储器的NMT模型。在一些实现方式中,诸如图2中所描绘的,NMT模型250'可以采取包括编码器部分252和解码器部分254的编码器-解码器的形式。
NMT模型250'的编码器部分252和解码器部分254可以用各种方式来训练。在一些实现方式中,可以通过应用包括特定语言的短语的训练示例作为跨编码器部分252的输入以生成语义或降低维度的嵌入256来训练部分252和部分254。然后,该嵌入256可以被应用作为跨解码器部分254的输入以生成输出。该输出可以与用于生成它的输入短语进行比较。输出和输入短语之间的任何差异或误差可以用于例如使用诸如梯度下降、后向传播等技术来训练解码器部分254和编码器部分252。
一旦编码器部分252和解码器部分254以特定语言训练(例如,通过用大量训练示例训练),它们可以与以不同语言训练的其它编码器/解码器部分交换以生成NMT模型250'。在图2中,例如,编码器部分252可以从以德语训练的编码器-解码器(未描绘)中提取。解码器部分254可以从以英语训练的另一编码器-解码器(未描绘)中提取。当如图2所示耦合时,编码器部分252可以接收德语短语作为输入并且生成语义嵌入256。解码器部分254可以将语义嵌入256映射到英语短语作为输出。
如图2的顶部所示,NMT模型250'可以将N个语义上相似的德语短语翻译成M个语义上相似的英语翻译。N和M是可以彼此相等或不相等的正整数。然后,意图匹配器135可以如先前所描述的那样分析这些M个语义上相似的英语翻译中的任何一个,以标识用户的结构化意图(例如,意图=“设置定时器”参数=“20分钟”)。然而,在多种不同的英语翻译中,可能存在相当大的句法变化。此外,一些英语翻译可能是相对长尾的(即,在所有查询中相对不频繁地出现),这是由于一些相应的德语短语也是长尾的。因此,基于各种英语翻译所标识的意图可以具有指配给它们的各种置信度,并且在一些情况下可以导致自动化助理120请求消歧和/或出现错误。
因此,如图2中间所示,训练数据258可以被生成并且用于将NMT模型250'训练到NLU-NMT模型250,以将德语中的多个句法变化短语映射到英语中的单个规范翻译。例如,并且如图2中所描绘的,训练数据258可以包括多个训练示例。每个训练示例可以采用源短语(在左边)和期望的或“规范(canonical)”的翻译(在右边)的形式。值得注意的是,被用于跨多个训练示例的规范英语翻译对于多个语义上相似但句法上不同的德语短语可以是相同的。换言之,训练数据旨在将N个德语短语映射到从M个英语翻译中选择的单个(或者至少少于N和/或M个)规范英语翻译。
在各种实现方式中,规范英语翻译可以基于各种因素(诸如其使用频率(一般作为翻译或简单地作为向自动化助理120发出的查询))从多个语义上类似但句法上不同的英语翻译中选择。例如,在图2中,可以选择英语短语2,因为它是用户最经常用来传达在N个德语短语及其M个英语翻译之间共享的特定意图的短语。在一些实现方式中,规范翻译可以随机选择,或者可以基于其长度来选择,例如,较短的短语比长的短语更优选,反之亦然。在一些实现方式中,可以选择与原始语言中的最大数量的不同短语相匹配的规范短语。在一些实现方式中,可以将与已知命令语法最接近匹配的翻译选择为规范翻译。
如图2的中间所示,N个德语短语可以被应用作为NMT模型250'的编码器部分252的输入以生成相应嵌入256。这些嵌入256继而可以被应用作为跨NMT模型250的解码器部分254的输入以生成输出,该输出最初可以包括各种英语翻译。这些输出可以与所选择的规范翻译(在该示例中为英语短语2)进行比较以生成错误。然后,这些错误被用于例如使用诸如梯度下降和/或反向传播的技术重新训练NMT模型250',使得其现在采取NLU-NMT模型250的形式。
如图2的底部所示,该过程将NMT模型250'重新训练为NLU-NMT模型250,其将第一语言的多个语义上相似但句法上不同的短语(德语短语1-N)映射到第二语言的单个规范翻译(英语短语2),或者至少映射到比在不应用本文所述的技术的情况下将存在的更少的翻译。因此,第二语言的规范翻译在句法上不同于第一语言的多个语义相关短语中的至少一些。此外,意图匹配器135可以分析规范翻译(英语短语2)以确定用户的结构化意图。因为规范翻译比其他语义上类似但句法上不同的翻译更适合于生成结构化意图,所以可以以相对高的置信度来确定结构化意图。
在一些示例中,NLU NMT模型250的最终性能可以使用多任务训练来改善。例如,嵌入可以由附加编码器生成,该编码器被训练成映射以本机支持语言例如英语接收到的语义相关短语。然后,这些语义嵌入可以被应用作为跨解码器部分254的输入以生成输出。然后,如前所述,该输出可以用于进一步训练解码器部分254。直观地,该多任务训练可以促进附加语义嵌入和规范翻译之间的映射。
在一些实现方式中,例如,在NLU NMT模型250使用如前所述的多任务训练来进一步训练的情况下,NLU NMT模型250或包括其一个或多个组件的综合系统能够从多种源语言翻译成单个目标语言。例如,多个编码器部分252、多个源语言中的每一个所对应的一个可以被安排在单个解码器部分254的上游。在一些实现方式中,单个解码器部分254可能就足够了,因为它被训练成接收语言中立语义嵌入作为输入。在一些这样的实现方式中,可以跨多个编码器部分252中的每一个应用尚未确定的语言的口头话语,例如并行地生成多个语义嵌入。嵌入继而可以跨解码器部分254被应用以生成规范翻译。无论哪个编码器部分252匹配口头话语的语言,都将可能生成在被跨解码器部分254应用时具有最高置信度分值的嵌入。在一些情况下,可以分析该规范翻译以标识说话者的意图。
另外地或替换地,在一些实现方式中,单个NLU NMT模型250可以被用于处理多种语言的话语,和/或在多种语言之间进行翻译。在多语言NLU NMT模型250的一些实现方式中,编码器部分252可以被训练以接收除了指示口头话语的数据(例如,语音识别输出)之外还接收指示说话者所说的语言的一或多个信号作为一或多个输入。这些信号可以从各种源(诸如由说话者携带的设备的位置坐标传感器(例如,GPS)、说话者的偏好等)获得。在一些实现方式中,这些信号可以以有效地“选择”或“标识”所说的语言的方式通过NLU NMT模型250进行传播。
在一些实现方式中,NLU NMT模型250可以被有效地训练以执行先前未遇到的源语言与目标语言之间的“零镜头”翻译。例如,单个NLU NMT模型250可以用多种语言训练,使得多种语言中的各种语义相关短语可以全部映射到同一规范翻译。例如,NLU NMT模型250的编码器部分252可以在不同的源语言中共享。类似地,解码器部分254可以在不同的目标语言上共享。在一些这样的实现方式中,大小为V(V是正整数)的词汇可以在不同语言之间共享。在一些这样的实现方式中,词汇可以是共享的词片段词汇。如本文所使用的“词片段词汇(word piece vocabulary)”是指包含可组装成单词的子词单元(例如,音素)的词汇。
在一些实现方式中,可以以多种语言中的每一种语言来生成固定大小为V的多个词片段词汇。在一些这样的实现方式中,可以合并这些多个词汇以生成大小为V的新的单个词汇。例如,可以顺序地选择每个生成的词汇中出现的最高的词,直到新词汇的大小达到V为止。可选地,可以从生成的词汇中移除重复的词,直到新词汇的大小达到V为止。例如,当生成将英语词与德语词合并的词汇时,系统可以用德语文章“die”对英语词“die”进行去重。
在一些实现方式中,合并的词汇可以包括跨不同语言的词的概率分布。例如,合并的词汇可以包括均匀分布,使得对于n(n是正整数)种不同的语言,合并的词汇包括每种语言中的V/n个词。在其他情况下,合并的词汇可以包括跨不同语言的词的数据驱动分布,例如,所生成的词汇可以包括每种语言中的不同数量的词。
在各种实现方式中,可以生成模型输出,其是已接收的模型输入到单个目标语言的翻译。在这些情况下,多语言NLU NMT 250可以包括在不同源语言上共享的编码器部分252、用于单个目标语言的解码器部分254、以及在不同源语言之间共享的词汇。在其他情况下,可以生成模型输出,该模型输出是已接收的模型输入从单个源语言到多个目标语言的翻译。
图3至图5A描述了说德语的用户101可以传达用于在第二天早晨9点设置提醒以支付公用事业费的意图的不同方式的示例。在图3中,用户101通过包括客户端设备106的组件的独立交互式扬声器306来与自动化助理120对话,该组件包括自动化助理客户端118。在图3中,用户101通过说出“Hey Assistent(嗨助理)”来调用自动化助理。然后,用户101说“erinnere mich morgen um 9:00Uhr daran,meine Stromrechnung zu bezahlen”,其被翻译成英语“remind me tomorrow at 9:00to pay my utility bill(提醒我在明天早上9点支付我的水电费)”。该翻译360可以例如由意图匹配器135用来确定包括“reminder(提醒)”的意图(INTENT)、“Today+1(今天+1)”的日期(DATE)、“9:00AM”的时间(TIME)和“paymy utility bill(支付我的水电费)”的文本(TEXT)的结构化意图(SI)362。
在该示例中,将相对高的置信度水平(0.95)指配给结构化意图362。这可能是因为例如翻译与命令语法“remind me<date>at<time>to<reminder text>(在<日期><时间>提醒我<提醒文本>)”匹配,该命令语法由用户相对频繁地使用以使用自动化助理120来设置未来提醒。然而,可能存在其他命令,这些命令虽然可用于实现相同的结果(即,相同的结构化意图),但生成稍小的置信度,例如,因为那些命令是“长尾”的,其相对不频繁地被自动化助理120遇到,和/或不是直接解析和处理。无论如何,因为置信度分值满足某些准则,诸如最小阈值,所以自动化助理120可以采取行动并且响应“OK,Erinnerung eingestellt”,其以英语翻译成“OK,reminder set(好的,提醒已设置)”。
在图4中,同一用户101尝试设置同一提醒。然而,这次用户101在调用自动化助理120之后说,“Lassen Sie mich nicht vergessen,dass ich morgen um 9Uhr meineStromrechnung bezahlen muss”。这个短语的英语翻译360是“don't let me forget thatI need to pay my utility bill tomorrow at 9am(让我别忘记我需要在明天上午9点支付我的水电费)”。该英语翻译仍然可以是请求设置提醒的相对常见的方式,和/或可由自动化助理120相对容易地解析/处理以生成相同的结构化意图362。然而,它可以接收比先前示例略低的置信度分值0.85,因为翻译不像先前示例那样频繁地遇到和/或不被自动化助理120容易地理解。然而,只要置信度分值满足某个阈值(例如,0.75、0.8等),自动化助理120仍可以用“OK,Erinnerung eingestellt”来响应。
图5A说明其中用户101发出的查询对于自动化助理120而言如此非常规、长尾和/或以其他方式难以处理以致自动化助理120寻求消岐的示例。特别地,用户101在调用自动化助理120之后陈述“ich muss morgen um 9Uhr meine Stromrechnung bezahlen”。这用英语翻译成“I need to pay my utility bill tomorrow at 9am(我需要在明天上午9点支付我的水电费)”。注意,这是陈述,而不是问题,并且与用于使自动化助理120设置提醒的典型命令语法不相似。相反,更多的陈述是要求收听者推断他们需要采取行动,即设置提醒。因此,虽然结构化意图362仍然可以或可以不被自动化助理120标识,但是它可以用未能满足某一阈值的相对低的置信度分值(0.65)来标识。因此,自动化助理120不是响应于用户的请求,而是询问“Soll ich eine Erinnerung einstellen?”,其用英语翻译成“Should Iset areminder(我应该设置提醒吗)?”
然而,如果如前所述,本文描述的技术被应用于重新训练NMT模型(例如,250’→250),则有可能以统一的置信度对图3、图4和图5A中的用户请求中的任一个作出响应。在一些实现方式中,语义上彼此相似但是句法上不同的用户请求中的每一个可以被映射到单个规范翻译。图5B说明了这可以如何工作的示例。
在图5B中,类似于图5A,用户101在调用自动化助理120之后再次陈述“ich mussmorgen um 9Uhr meine Stromrechnung bezahlen”。然而,不是如图5A中的情况那样被直接翻译成“I need to pay my utility bill tomorrow at 9am(我需要在明天上午9点支付我的水电费)”,而是类似于图3将该陈述翻译成规范翻译364,“remind me tomorrow at9:00to pay my utility bill(提醒我在明天上午9点支付我的水电费)”。如图5B所示,该规范翻译364可以用于生成具有非常高的置信度水平的结构化意图362,在图5B中为0.99。因此,自动化助理120如前所述设置提醒并作出响应。
在各种实现方式中,可以使用各种机器翻译对齐技术,诸如使用统计模型、隐马尔可夫模型对齐、诸如对数似然比的启发式词关联统计、分层短语对齐等的技术,例如与命令语法分开地保存用户查询中包含的各种自变量和/或参数。
图6是示出利用使用本文描述的技术训练的NMT模型的示例方法600的流程图。为了方便期间,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如实现自动化助理120的计算系统的一个或多个组件。此外,虽然以特定顺序示出了方法600的操作,但是这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框602处,系统可以在麦克风处捕获口头话语以生成音频数据。在各种实现方式中,口头话语可以以第一语言说出,诸如图2至图5B的示例中的德语。在框604处,系统例如通过语音捕获/TT/STT模块114和/或STT模块117可以对音频数据执行语音识别处理以生成语音识别输出。该语音识别输出可以采取表示语音的文本的形式,或者诸如嵌入的另一形式。
在框606处,系统可以应用语音识别输出作为跨经训练的机器翻译模型(例如NLU-NMT模型250)的输入以生成输出。在各种实现方式中,输出可以指示语音识别输出从第一语言到第二语言的规范翻译。例如,NLU-NMT模型250可以是顺序地生成语音识别输出的规范翻译的序列到序列模型。如前所述,机器翻译模型可以被训练成将第一语言的多个语义相关短语(其最终产生相同意图)映射到相同规范翻译。因此,规范翻译可以在句法上不同于多个语义相关短语中的至少一些。
在框608处,系统可以基于规范翻译来确定由口头话语传达的意图。在一些实现方式中,可以基于规范翻译与意图之间的直接映射来确定意图。在一些实现方式中,这样的映射可以手动生成。附加地或替换地,在一些实现方式中,确定意图可以包括对规范化翻译执行自然语言处理以确定意图,例如,在不存在预定义映射的情况下。在框610处,系统可以基于意图执行一个或多个响应动作。响应动作可以包括但不限于自动化助理经常采取的动作,诸如设置提醒、设置警报、操作智能电器(例如,灯、恒温器等)、播放媒体、执行搜索等。
图7是示出用于训练(或再训练)使用本文所述的技术训练的NMT模型的示例方法700的流程图。为了方便期间,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如实现自动化助理120的计算系统的一个或多个组件。此外,虽然以特定顺序示出了方法700的操作,但是这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在框702处,系统可以标识第一语言的多个语义相关短语,例如图2中的N个德语短语,在框704处,系统可以标识第二语言的多个语义相关短语的多个翻译,例如图2中的M个英语翻译。
在框706处,系统可以生成第二语言的规范翻译,诸如图2中的英语短语2。该规范翻译可以对应于多个语义相关短语(例如,图2中的N个德语短语)的多个翻译(例如,图2中的M个英语短语)。在框708处,系统可以基于多个语义相关短语和规范翻译来生成训练数据(例如,图2中的258)。在框710处,系统可以使用训练数据来训练机器翻译模型,例如NMT模型250'。在被训练到NLU-NMT模型250中时,机器翻译模型可以将第一语言的多个语义相关短语映射到第二语言的规范翻译。
图8是可任选地用于执行本文描述的技术的一个或多个方面的示例计算设备810的框图。在一些实现方式中,客户端计算设备、用户控制的资源引擎130和/或(多个)其他组件中的一个或多个可以包括示例计算设备810的一个或多个组件。
计算设备810通常包括至少一个处理器814,其经由总线子系统812与多个外围设备通信。这些外围设备可以包括存储子系统824(包括例如存储器子系统825和文件存储子系统826)、用户界面输出设备820、用户界面输入设备822和网络接口子系统816。输入和输出设备允许用户与计算设备810交互。网络接口子系统816提供到外部网络的接口,并且耦合到其他计算设备中的对应接口设备。
用户界面输入设备822可以包括键盘、诸如鼠标、跟踪球、触摸板或图形输入板等定点设备、扫描仪、结合到显示器中的触摸屏、诸如声音识别系统等音频输入设备、麦克风和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备和将信息输入到计算设备810中或通信网络中的方式。
用户界面输出设备820可以包括显示子系统、打印机、传真机、或者诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算设备810向用户或另一台机器或计算设备输出信息的方式。
存储子系统824存储提供本文所述的一些或所有模块的功能的编程和数据构造。例如,存储子系统824可以包括用于执行图6和7的方法的所选方面以及实现图1中所描绘的各种组件的逻辑。
这些软件模块通常由处理器814单独执行或与其它处理器结合执行。存储子系统824中使用的存储器825可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)830和其中存储固定指令的只读存储器(ROM)832。文件存储子系统826可以提供用于程序和数据文件的永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实现方式功能的模块可以由文件存储子系统826存储在存储子系统824中,或者存储在由处理器814可访问的其他机器中。
总线子系统812提供用于使计算设备810的各种组件和子系统如所期望的那样彼此通信的机制。虽然总线子系统812被示意性地示出为单个总线,但是总线子系统的替代实现方式可以使用多个总线。
计算设备810可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断改变的性质,图8中描绘的计算设备810的描述仅旨在作为用于示出一些实现方式的目的具体示例。计算设备810的许多其他配置可能具有比图8中描绘的计算设备更多或更少的组件。
虽然本文已经描述和示出了若干实现方式,但是可以利用用于执行本文描述的功能和/或获得本文描述的结果和/或一个或多个优点的各种其他装置和/或结构,并且这样的变化和/或修改中的每一个被认为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造都意味着是示例性的,并且实际的参数、尺寸、材料和/或构造将取决于使用本教导的一个或多个具体应用。本领域技术人员将认识到或能够使用不超过常规实验来确定本文所述的具体实现方式的许多等效物。因此,应当理解,前述实现方式仅以示例的方式呈现,并且在所附权利要求及其等同物的范围内,可以以与具体描述和要求保护的方式不同的方式来实现方式。本公开的实现方式涉及本文所述的每个单独的特征、系统、制品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不是相互矛盾的,则两个或更多个这些特征、系统、物品、材料、套件和/或方法的任何组合包括在本公开的范围内。
Claims (20)
1.一种使用一个或多个处理器实现的方法,包括:
在麦克风处捕获口头话语以生成音频数据,其中,所述口头话语以第一语言说出;
对所述音频数据执行语音识别处理以生成语音识别输出;
应用所述语音识别输出作为跨经训练的机器翻译模型的输入以生成输出,其中,所述输出指示所述语音识别输出从所述第一语言到第二语言的规范翻译;
基于所述规范翻译来确定由所述口头话语传达的意图;以及
基于所述意图执行一个或多个响应动作;
其中,所述机器翻译模型被训练成将所述第一语言的多个语义相关短语映射到相同规范翻译,其中,所述规范翻译在句法上与所述多个语义相关短语中的至少一些语义相关短语不同。
2.根据权利要求1所述的方法,其中,所述机器翻译模型包括序列到序列模型。
3.根据权利要求1或权利要求2所述的方法,其中,所述机器翻译模型包括自动编码器。
4.根据权利要求3的方法,其中,所述自动编码器的解码器部分被训练成将表示所述第一语言的所述多个语义相关短语的一个或多个语义嵌入映射到所述相同规范翻译。
5.根据权利要求3的方法,其中,所述自动编码器的编码器部分被训练成将所述第一语言的所述多个语义相关短语映射到较低数量的语义嵌入。
6.根据前述权利要求中的任一项所述的方法,还包括:
在所述相同麦克风或不同麦克风处捕获另一口头话语以生成附加音频数据,其中,所述另一口头话语以第三语言说出;
对所述附加音频数据执行语音识别处理以生成附加语音识别输出;
应用所述附加语音识别输出作为跨所述经训练的机器翻译模型的输入以生成附加输出,其中,所述附加输出指示语音识别文本的规范翻译;
基于所述规范翻译来确定由所述另一口头话语传达的意图;以及
基于所述意图来执行一个或多个附加响应动作;
其中,所述机器翻译模型被训练成将所述第三语言的多个语义相关短语映射到所述相同规范翻译,其中,所述规范翻译在句法上与所述第三语言的所述多个语义相关短语中的至少一些语义相关短语不同。
7.根据前述权利要求中的任一项所述的方法,其中,所述经训练的机器翻译模块包括跨多种语言共享的词片段词汇。
8.根据权利要求1至7中的任一项所述的方法,其中,确定所述意图包括对所述规范翻译执行自然语言处理以确定所述意图。
9.一种训练机器翻译模型的方法,包括:
标识第一语言的多个语义相关短语;
标识第二语言的所述多个语义相关短语的多个翻译;
生成所述第二语言的规范翻译,所述规范翻译对应于所述多个语义相关短语的所述多个翻译;
基于所述多个语义相关短语和所述规范翻译来生成训练数据;以及
使用所述训练数据来训练所述机器翻译模型,其中在被训练时,所述机器翻译模型将所述第一语言的所述多个语义相关短语映射到所述第二语言的所述规范翻译。
10.根据权利要求9所述的方法,其中在被训练之前,所述机器学习模型被配置为将所述第一语言的所述多个语义相关短语映射到所述第二语言的所述多个翻译。
11.根据权利要求9或权利要求10所述的方法,其中,所述机器学习模型包括序列到序列模型。
12.根据权利要求11所述的方法,其中,所述序列到序列模型包括自动编码器。
13.根据权利要求12所述的方法,其中,所述训练包括训练所述自动编码器的解码器部分,以将表示所述第一语言的所述多个语义相关短语的一个或多个语义嵌入映射到相同规范翻译。
14.根据权利要求12或权利要求13所述的方法,其中,所述训练包括训练所述自动编码器的编码器部分,以将所述第一语言的所述多个语义相关短语映射到较低数量的语义嵌入。
15.一种包括一个或多个处理器和存储指令的存储器的系统,所述指令响应于由所述一个或多个处理器执行所述指令而使所述一个或多个处理器:
在麦克风处捕获口头话语以生成音频数据,其中,所述口头话语以第一语言说出;
对所述音频数据执行语音识别处理以生成语音识别输出;
应用所述语音识别输出作为跨经训练的机器翻译模型的输入以生成输出,其中,所述输出指示所述语音识别输出从所述第一语言到第二语言的规范翻译;
基于所述规范翻译来确定由所述口头话语传达的意图;以及
基于所述意图执行一个或多个响应动作;
其中,所述机器翻译模型被训练成将所述第一语言的多个语义相关短语映射到相同规范翻译,其中,所述规范翻译在句法上与所述多个语义相关短语中的至少一些语义相关短语不同。
16.根据权利要求15所述的系统,其中,所述机器翻译模型包括序列到序列模型。
17.根据权利要求15或权利要求16所述的系统,其中,所述机器翻译模型包括自动编码器。
18.根据权利要求17的系统,其中,所述自动编码器的解码器部分被训练成将表示所述第一语言的所述多个语义相关短语的一个或多个语义嵌入映射到所述相同规范翻译。
19.根据权利要求17或权利要求18所述的系统,其中,所述自动编码器的编码器部分被训练成将所述第一语言的所述多个语义相关短语映射到较低数量的语义嵌入。
20.根据权利要求15至19中的任一项所述的系统,其中,所述意图基于所述规范翻译与所述意图之间的映射来确定。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/030343 WO2020222846A1 (en) | 2019-05-02 | 2019-05-02 | Adapting automated assistants for use with multiple languages |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113412515A true CN113412515A (zh) | 2021-09-17 |
Family
ID=66530529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091601.9A Pending CN113412515A (zh) | 2019-05-02 | 2019-05-02 | 适配自动化助理以用多种语言使用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11113481B2 (zh) |
EP (1) | EP3899927A1 (zh) |
CN (1) | CN113412515A (zh) |
WO (1) | WO2020222846A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475875B2 (en) * | 2018-10-26 | 2022-10-18 | Sriram Chakravarthy | Method and system for implementing language neutral virtual assistant |
US11567788B1 (en) | 2019-10-18 | 2023-01-31 | Meta Platforms, Inc. | Generating proactive reminders for assistant systems |
US11636438B1 (en) | 2019-10-18 | 2023-04-25 | Meta Platforms Technologies, Llc | Generating smart reminders by assistant systems |
US11580312B2 (en) | 2020-03-16 | 2023-02-14 | Servicenow, Inc. | Machine translation of chat sessions |
US11385916B2 (en) * | 2020-03-16 | 2022-07-12 | Servicenow, Inc. | Dynamic translation of graphical user interfaces |
US11443193B2 (en) * | 2020-04-24 | 2022-09-13 | Adobe Inc. | Domain adaptation for machine learning models |
US11551695B1 (en) * | 2020-05-13 | 2023-01-10 | Amazon Technologies, Inc. | Model training system for custom speech-to-text models |
US11218594B1 (en) * | 2020-08-11 | 2022-01-04 | Genesys Telecommunications Laboratories, Inc. | System and method for creating bots for automating first party touchpoints |
US20220327288A1 (en) * | 2021-04-13 | 2022-10-13 | Microsoft Technology Licensing, Llc | Semantic Parsing of Utterance Using Contractive Paraphrasing |
WO2024048816A1 (ko) * | 2022-09-01 | 2024-03-07 | 엘지전자 주식회사 | 무선 통신 시스템에서 신호를 송수신하기 위한 장치 및 방법 |
KR20240032581A (ko) * | 2022-09-02 | 2024-03-12 | 삼성전자주식회사 | 복수의 번역 방식 중에서 선택된 번역 방식을 이용하여 번역문을 생성하는 전자 장치 및 그의 번역문 생성 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770107A (zh) * | 2004-11-04 | 2006-05-10 | 微软公司 | 提取小树转换对 |
WO2017112813A1 (en) * | 2015-12-22 | 2017-06-29 | Sri International | Multi-lingual virtual personal assistant |
CN107329960A (zh) * | 2017-06-29 | 2017-11-07 | 哈尔滨工业大学 | 一种上下文敏感的神经网络机器翻译中未登录词翻译装置和方法 |
CN107526727A (zh) * | 2017-07-31 | 2017-12-29 | 苏州大学 | 基于统计机器翻译的语言生成方法 |
US20180011843A1 (en) * | 2016-07-07 | 2018-01-11 | Samsung Electronics Co., Ltd. | Automatic interpretation method and apparatus |
CN107608973A (zh) * | 2016-07-12 | 2018-01-19 | 华为技术有限公司 | 一种基于神经网络的翻译方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010029455A1 (en) | 2000-03-31 | 2001-10-11 | Chin Jeffrey J. | Method and apparatus for providing multilingual translation over a network |
US20030144832A1 (en) | 2002-01-16 | 2003-07-31 | Harris Henry M. | Machine translation system |
US8583416B2 (en) | 2007-12-27 | 2013-11-12 | Fluential, Llc | Robust information extraction from utterances |
WO2013003749A1 (en) | 2011-06-30 | 2013-01-03 | Rosetta Stone, Ltd | Statistical machine translation framework for modeling phonological errors in computer assisted pronunciation training system |
US10891435B1 (en) * | 2018-02-20 | 2021-01-12 | Interactions Llc | Bootstrapping multilingual natural language understanding via machine translation |
-
2019
- 2019-05-02 WO PCT/US2019/030343 patent/WO2020222846A1/en unknown
- 2019-05-02 EP EP19724021.1A patent/EP3899927A1/en active Pending
- 2019-05-02 CN CN201980091601.9A patent/CN113412515A/zh active Pending
- 2019-05-02 US US16/621,578 patent/US11113481B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770107A (zh) * | 2004-11-04 | 2006-05-10 | 微软公司 | 提取小树转换对 |
WO2017112813A1 (en) * | 2015-12-22 | 2017-06-29 | Sri International | Multi-lingual virtual personal assistant |
US20180314689A1 (en) * | 2015-12-22 | 2018-11-01 | Sri International | Multi-lingual virtual personal assistant |
US20180011843A1 (en) * | 2016-07-07 | 2018-01-11 | Samsung Electronics Co., Ltd. | Automatic interpretation method and apparatus |
CN107590135A (zh) * | 2016-07-07 | 2018-01-16 | 三星电子株式会社 | 自动翻译方法、设备和系统 |
CN107608973A (zh) * | 2016-07-12 | 2018-01-19 | 华为技术有限公司 | 一种基于神经网络的翻译方法及装置 |
CN107329960A (zh) * | 2017-06-29 | 2017-11-07 | 哈尔滨工业大学 | 一种上下文敏感的神经网络机器翻译中未登录词翻译装置和方法 |
CN107526727A (zh) * | 2017-07-31 | 2017-12-29 | 苏州大学 | 基于统计机器翻译的语言生成方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020222846A1 (en) | 2020-11-05 |
US20210064828A1 (en) | 2021-03-04 |
US11113481B2 (en) | 2021-09-07 |
EP3899927A1 (en) | 2021-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021202694B2 (en) | Facilitating end-to-end communications with automated assistants in multiple languages | |
US11113481B2 (en) | Adapting automated assistants for use with multiple languages | |
US11354521B2 (en) | Facilitating communications with automated assistants in multiple languages | |
KR102355988B1 (ko) | 맥락을 인식하는 인간-대-컴퓨터 대화 | |
US11727220B2 (en) | Transitioning between prior dialog contexts with automated assistants | |
KR20170047268A (ko) | 오펀 발화 검출 시스템 및 방법 | |
CN112292724A (zh) | 用于调用自动助理的动态和/或场境特定热词 | |
US20220366910A1 (en) | Voice commands for an automated assistant utilized in smart dictation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |