谷歌双语助理来了!中英夹杂也不怕,递归神经网络和随机森林显神威

使用 Google Assistant 的 Google Home Mini


新智元报道

来源:ai.googleblog

编辑:肖琴

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

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

今天,谷歌的智能助理 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%。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2018-08-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

最适合人工智能的编程语言:JAVA人工智能程序编程

可用于开发人工智能项目的程序编程语言列表,包括Python,POP-11,C ++,MATLAB,Java,Lisp和Wolfram语言。在本文中,你会了解Ja...

4959
来自专栏BestSDK

GitHub 发布 2018 年开源项目趋势

去年,Github 有来自将近 200 个国家的 2400 万的开发者聚集在一起,共同编写更好更强大的代码。2017 年,从框架到数据可视化,共构建了 2500...

3625
来自专栏新智元

【更新】机器学习干货大放送,再来5G资料送你

新智元干货 【新智元导读】在第一期机器学习资料的基础上,我们又更新了课程《机器学习技法》《机器学习基础》《机器学习基石》《线性代数》等。 课程更新:《机器...

2635
来自专栏SDNLAB

Juniper发布Unite架构,简化创建、管理混合云环境

Juniper Networks日前发布了一个可以简化混合多云环境创建和管理的数据中心架构Unite Cloud,作为Juniper Networks Unit...

3196
来自专栏PPV课数据科学社区

【工具】Excel,SPSS和QlikView等数据可视化产品选型指南

大数据的核心不是“大”,也不是“数据”,而是蕴含在其中的商业价值。作为挖掘数据背后潜在价值的重要手段,商业智能和分析平台成为大数据部署中的 关键环...

3516
来自专栏程丽萍的专栏

快手 GIF 为何选择腾讯云 CDN ?

GIF 社区用户对浏览 GIF 图的速度有很高的要求,因此 GIF 快手要求视频文件播放的失败慢速比在2.5%以下。同时,GIF 快手要求 CDN 的带宽储备,...

1.2K0
来自专栏DevOps时代的专栏

腾讯自动化测试的 AI 智能

本文是林奕在腾讯 DevDays 2018 分享内容的脱敏整理,介绍了 CSIG 测试开发中心(前 SNG 测试开发中心)在自动化测试领域所做的智能化尝试。

1842
来自专栏CSDN技术头条

如何成为一名数据科学家

本文是出自Springboard上面一篇文章的摘录,介绍了如果想成为一名数据科学家,需要掌握哪些技能,熟练使用哪些工具,以及如何对数据进行处理等。 ? 数据科学...

21610
来自专栏专知

DeepMind开源Psychlab平台——搭建AI和认知心理学的桥梁(附论文和代码下载)

【导读】DeepMind近期开源了Psychlab,这是一个利用认知心理学等领域知识来研究受控环境下人工智能体(Artificial Agent)的行为,从而模...

34711
来自专栏腾讯大讲堂的专栏

腾讯自动化测试的AI智能

引子: 本文是林奕在腾讯 DevDays 2018 分享内容的脱敏整理,介绍了 CSIG 测试开发中心(前 SNG 测试开发中心)在自动化测试领域所做的智能...

9002

扫码关注云+社区

领取腾讯云代金券