谷歌的智能助理Google Assistant 开启了多语言支持

电子说

1.3w人已加入

描述

从今天开始,谷歌的智能助理可以同时说两种语言了!这意味着双语家庭可以用任何一种语言进行查询,而无需每次都更改设置。听起来简单,实现这一功能所需的技术可不简单,谷歌的口语识别LangID技术已经开发了5年!

使用 Google Assistant 的 Google Home Mini

多语家庭正变得越来越普遍,有一些研究发现多语人口已经超过单语人口,而且这个数字还将继续增长。随着多语用户数量的不断增加,开发能够同时支持多种语言的产品比以往任何时候都更加重要。

今天,谷歌的智能助理 Google Assistant 开启了多语言支持,允许用户同时使用两种不同的语言进行查询,而无需返回语言设置。一旦用户选择了两种支持的语言(目前支持的语言包括英语、西班牙语、法语、德语、意大利语和日语),他们就可以使用其中任一种语言与 Google Assistant 进行对话,智能助理也会以同一种语言做出回复。

在此之前,用户必须为智能助理选择一种语言设置,每次想要使用另一种语言时都必须更改设置。但现在,对于多语家庭来说,与谷歌助理交流的体验变得更加简单方便了。

Google Assistant 现在能够识别语言、解释查询并使用正确的语言提供回复,而无需用户手动设置设置。

然而,实现这一功能并非易事。事实上,研究人员努力了多年,解决了许多具有挑战性的问题。最后,我们将问题分解为三个独立的部分:识别多种语言,理解多种语言,以及为 Google Assistant 用户优化多语言识别。

识别多种语言

人类是有能力识别出别人在说另一种语言的,即使他们自己不会说这种语言,只需要注意语音的声学特征(语调、音域等等)。但是,即使借助于全自动语音识别系统,定义一个自动口语语言识别的计算框架也是很有挑战性的。

研究者通常认为,口语识别比基于文本的语言识别更具挑战性,对于文本语言识别来说,相对简单的基于字典的技术已经可以做得很好。口语词汇的时间 / 频率模式很难比较,口语词汇很难划界,因为口语可以毫无停顿地以不同的节奏说话,而且麦克风可能会记录除了语音之外的背景噪音。

在 2013 年,谷歌开始使用深度神经网络开发口语识别(LangID)技术。今天,谷歌最先进的 LangID 模型已经可以使用递归神经网络区分超过 2000 种可供选择的语言对。递归神经网络特别适用于序列建模问题,例如语音识别、语音检测、说话人识别等。研究人员遇到的挑战之一是使用更大的音频集——获取能够自动理解多种语言的模型,并达到允许这些模型正常工作的质量标准。

理解多种语言

要同时理解一种以上的语言,需要并行地运行多个进程,每个进程都会产生增量结果,这样智能助理不仅可以识别查询所使用的语言,还可以解析查询以创建可操作的命令。

例如,即使是单语环境,如果用户要求 “设一个下午 6 点的闹铃”,谷歌助理必须理解“设置闹铃” 意味着打开时钟 app,完成 “6pm” 的显式参数,并推断闹钟应该设在今天。为任何一对支持的语言实现这个功能都是一项挑战,因为智能助理需要执行与单语环境时相同的工作,但现在还必须另外启用 LangID。这不仅是一个语言识别系统,而是相当于两个单语言识别系统。

更重要的是,Google Assistan 以及在用户查询中异步引用的其他服务会生成需要在几毫秒内评估的实时增量结果。这是借助另外一种算法实现的,该算法使用 LangID 生成的候选语言的概率、我们对转录的信心以及用户的偏好(例如,最喜欢的艺术家)对两个语音识别系统提供的转录假设进行排序。

Google Assistant 使用的多语言语音识别系统与标准单语语音识别系统的示意图。排序算法用于从两个单语语音识别器中选择最佳的识别假设,利用了用户的相关信息和增量的 langID 结果。

当用户停止说话时,该模型不仅确定了用户所讲的语言,还确定了所讲的内容。当然,这个过程需要一个复杂的架构,增加了处理成本,并可能造成不必要的延迟。

优化多语识别模型

为了最大限度地减少这些不良影响,系统决定使用哪种语言的速度越快越好。如果系统在用户完成查询之前确定了所使用的语言,那么它将停止通过 losing recognizer 运行用户的语音,并丢弃 losing hypothesis,从而降低处理成本,减少任何潜在的延迟。

考虑到这一点,我们尝试了优化系统的几种方法。

我们考虑的一个用例是,人们通常在一个完整查询过程中使用相同的语言(这个语言通常也是用户希望智能助理回复使用的语言),除了询问某个东西用不同语言怎样说之外。这意味着,在大多数情况下,关注查询的开头部分就可以让智能助理对所使用的语言进行初步猜测,甚至在包含不同语言实体的句子中也是如此。

有了这种早期识别,我们就可以像处理单语查询那样,通过切换到单语语音识别器来简化任务。然而,快速决定如何以及何时切换到一个单语言,在最后会需要一个技术转折:具体来说,我们使用随机森林(random forest)方法,结合多个上下文信号,例如正在使用的设备类型、发现的语音假设的数量、多久收到类似的假设、各个语音识别器的不确定性、以及每种语言的使用频率等。

另外一种简化和改进系统质量的方法是限制用户可以选择的候选语言列表。用户可以谷歌智能助理设备目前支持的六种语言中选择两种语言,这已经能够支持大多数多语使用者。

不过,随着 LangID 技术的不断改进,谷歌希望接下来能够解决三语支持的问题,这将进一步提升多语用户群的体验。而且,谷歌负责产品的副总裁 Nick Fox 此前表示,接下来的几个月里 Google Assistant 将增加支持丹麦语、荷兰语、印地语、印度尼西亚语、挪威语、瑞典语和泰语。到今年年底,谷歌助理将支持超过 30 种语言,覆盖 Android 手机使用语言的 95%。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分