X

谷歌助手精通30种语言智商碾压各大竞争对手 语音助手学习语言有多难?

与流行的“以英语为中心”的观点相反,从以英语为母语的人的总数来看,英语并不是世界上说的最多的语言,也不是第二多的语言。事实上,西日耳曼语排在第三位,接下来是印地语、阿拉伯语、葡萄牙语、孟加拉语和俄语。普通话和西班牙语分别排名第一和第二。

令人惊讶的是,谷歌助手、苹果的Siri、亚马逊的Alexa和微软的Cortana只能识别出其中相对较小的一部分语言。直到今年秋天,三星的Bixby才获得了德语、法语、意大利语和西班牙语的支持。全球共有6.16亿人使用这些语言。Cortana花了好几年时间才精通西班牙语、法语和葡萄牙语。

那么,为什么创新的步伐如此缓慢呢?如果你想要找到答案,最好是从用于训练语音识别算法的技术开始。事实证明,人工智能助手远比我们看到或听到的要复杂得多。

为什么让语音助手“支持”一门新语言如此困难

在语音助手上添加对一种语言的支持是一个多管齐下的过程——在语音识别和语音合成方面都需要大量的研发工作。

“从语音交互的角度来看,有两件事是相互独立的,”初创公司Clinc的产品副总裁Himi Khan在接受VentureBeat采访时说。“一种是语音到文本——将语音本身转换成某种视觉文本格式的行为。然后是自然语言处理组件。”

如今,大多数语音识别系统都借助于深度神经网络——神经元类数学功能层,随着时间的推移,这些功能会自我完善——来预测音素,或感知上不同的声音单位(例如,英语单词pad、pat和bad中的p、b和d)。以前的自动语音识别(ASR)技术依赖于手工调整的统计模型来计算单词组合在短语中出现的概率,而深度神经网络则不同,它将声音(以分段谱图或声音频率谱的表示形式)转换成字符。这不仅降低了错误率,而且在很大程度上消除了对人工监督的需要。

但是基础语言理解是不够的。如果不本地化,语音助理就无法了解文化特质——或者更糟的是,无法了解不同文化之间的适当规范。Next IT首席技术创新官Joe Dumoulin在接受Ars Technica采访时表示,为一门新语言构建一个查询理解模块需要30至90天,具体时间取决于该模块需要涵盖多少意图。即便是谷歌和亚马逊等市场领先的智能音箱,也很难听懂带有某些口音的方言。9月由Vocalize.ai进行的一项测试发现,苹果的HomePod和亚马逊的Echo设备只能捕捉到78%的中文单词,而在英语和印度语方面的这一比例为94%。

Khan说:“在核心层面,某些语言之间的差距是非常大的。例如,在英语中,形容词通常出现在名词之前,副词可以出现在名词之前,也可以出现在名词之后。有一个很好的例子:如果有人说,‘Starfish’,就会变得比较难理解。根据你的语音文本转换引擎和类似的东西,你可以很容易地将“star”和“fish”作为形容词或单个名词联系起来。有各种不同的术语被使用,你必须适应不同的说话模式。”

学一门语言已经够难的了。亚马逊Alexa AI部门的研究人员在2018年8月描述了其中一个潜在问题。在与助手的典型聊天过程中,用户经常在连续的问题中调用多个语音应用程序。这些应用程序重新使用变量——例如“town”和“city”。如果有人问了方向,接着又问了一个关于餐馆位置的问题,一个训练有素的助理需要能够弄清楚在回答这个问题时应该参考哪条线索。

然后,助理必须做出回应。如果不能,它就没有多大用处。

而先进从文本到语音(TTS)系统像谷歌Tacotron 2(构建基于谱图的语音合成模型)和WaveNet(构建基于波形的模型)或多或少地从语音中学习语言。

另一种被称为参数TTS技术利用数学模型重建声音,然后将这些声音组合成单词和句子。生成这些声音所需的数据存储在参数(变量)中,语音本身是使用一个语音编码器(vocoder)创建的。语音编码器(coder-decoder)用于分析和合成输出信号。

尽管如此,TTS还是比语言理解更容易解决——尤其是通过对于数据科学家可以随意使用的像WaveNet这样的深层神经网络。亚马逊基于Polly cloud的TTS服务支持28种语言,微软的Azure语音识别API支持75种以上。而且,谷歌、微软和亚马逊已经提供了人工智能系统合成的中文、荷兰语、法语、德语、意大利语、日语、韩语、瑞典语和土耳其语的精选语音。

语音助手支持的语言

谷歌助手

今年1月,谷歌助手新增加支持20多种新语言,凭借其能听懂的语言数量谷歌助手拔得头冠。目前,它已经在80个国家的30种语言中被广泛使用,而在2017年,这一数字仅为8种语言和14个国家。它们包括:

阿拉伯语(埃及、沙特阿拉伯)

孟加拉语

中文

丹麦语

荷兰语

英语(澳大利亚、加拿大、印度、印度尼西亚、爱尔兰、菲律宾、新加坡、泰国、英国、美国)

法语(加拿大、法国)

德语(奥地利、德国)

古吉拉特语

北印度语

印度尼西亚语

坎那达语

意大利语

日语

韩语

马拉雅拉姆语

马拉地语

挪威语

波兰语

葡萄牙语(巴西)

俄语

西班牙语(阿根廷、智利、哥伦比亚、秘鲁)

瑞典语

泰米尔语

泰卢固语

泰语

土耳其语

乌尔都语

苹果Siri

直到今年1月,苹果的Siri在支持语言的广度方面一直领先于谷歌助手。目前,它支持36个国家的21种语言,以及汉语、荷兰语、英语、法语、德语、意大利语和西班牙语的数十种方言:

阿拉伯语

中文(普通话、上海话和广东话)

丹麦语

荷兰语

英语

芬兰语

法语

德语

希伯来语

意大利语

日语

韩语

马来语

挪威语

葡萄牙语

俄语

西班牙语

瑞典语

泰语

微软的Cortana

Cortana于2013年4月在微软的Build developer大会上首次亮相,后来又通过与亚马逊的合作,在Windows 10、耳机、智能扬声器、安卓、iOS、Xbox One,甚至Alexa上发布。Cortana支持的语言可能不及谷歌助手和Siri那么多。尽管如此,它在6年的时间里取得了长足的进步。以下是它能识别的语言:

中文(简体)

英语(澳大利亚、加拿大、新西兰、印度、英国、美国)

法语(加拿大、法国)

德语

意大利语

日语

葡萄牙语(巴西)

西班牙语(墨西哥,西班牙

和Siri一样,Cortana也进行了广泛的本地化。由英法女演员 Ginnie Watson配音版本带有英国口音,使用英国习语;而中文版则讲普通话。

亚马逊Alexa

Alexa可以在41个国家的150多种产品上使用,但它支持的语言是语音助理中最少的:

英语(澳大利亚、加拿大、印度、英国和美国)

法语(加拿大、法国)

德语

日语(日本)

西班牙语(墨西哥、西班牙)

公平地说,亚马逊已经煞费苦心地在扩张新地区进行本地化。当Alexa去年进军印度市场时,它推出了一种“全新的英语语音”,能听懂当地发音,并能用当地发音交谈。

值得注意的是,情况正在改善。亚马逊表示,超过1万名工程师正在研究其NLP协议栈的各种组件,该公司通过众包的方式逐步扩展了对语言的支持。去年,该公司发布了一项名为“Cleo”的游戏化技能,奖励那些用当地语言和方言(如普通话、印地语、泰米尔语、马拉地语、卡纳达语、孟加拉语、泰卢谷语和古吉拉特邦语)重复短语的用户。

三星Bixby

三星的Bixby搭载在三星的旗舰和中端Galaxy智能手机系列以及即将推出的Galaxy家庭智能扬声器中。Bixby在全球200个市场都有销售,但只支持这些国家的少数几种语言:

英语

中文

德语

法语

意大利语

韩语

西班牙语

三星在历史上曾遭遇过NLP的挫折。《华尔街日报》在2017年3月报道称,三星被迫推迟了英文版Bixby的发布,因为它无法理解某些句法和语法。

语言支持在未来如何改进

很明显,一些语音助理在语言方面取得了更大的进步,而有一些仍在在苦苦挣扎。如何才能让这些落后的语音助手迎头赶上呢?

Khan认为,更加依赖机器学习可能会有所帮助。

他解释说:“处理多语言支持的主要挑战之一实际上是与之相关的语法规则,必须考虑并适应这些语法规则。大多数NLP模型都是利用某个句子做词性标注——在某种意义上识别语法,或话语中的语法,并创建规则来决定如何解释该语法。”

Khan说,有了一个“真正的”神经网络栈——一个不太依赖于语言库、关键字和字典的栈——重点就从语法转移到单词嵌入以及单词嵌入中的关系模式。然后,几乎可以在任何语言上训练语音识别系统。

这就是Clinc的方法——它宣称自己的技术或多或少与语言无关。该公司通过向大量以英语为母语的人提出开放式问题来构建corpa,比如“如果你能打电话问一下你的个人财务状况,你会说什么?”它将响应视为现实世界中使用的“调优器”数据集。

只要这些数据集是用一种本地语言管理和创建的,Clinc声称只需3到500个发音,它可以添加对一种语言的支持——比传统的统计方法少几千个。

“我们用来训练人工智能的所有数据都是由母语人士创建的,”Khan 说。“这样一来,人工智能就能优化消费者的实际行为。”

总部位于旧金山的Aiqudo采取了稍微不同的策略。这家初创公司提供摩托罗拉Hello Moto 助手的基础技术,专注于意图(用户希望智能系统执行的动作),并创建跨类别的“动作索引”,如餐馆、电影和地理位置,将给定的意图映射到应用程序、服务和功能上。

Aiqudo的模型不需要理解整个语言——只需要理解意图。例如,仅从动作指数就可以知道,“Make a dinner reservation for tomorrow at seven p.m. at Avia”这句话中的“Avia”可能指的是一家餐馆,而不是电视节目。

该公司首席执行官John Foster在接受VentureBeat的电话采访时说:“我们并不一定能真正理解语言本身。我们所做的基本上是用我们可以获得的数据来预先训练我们的算法,然后我们去统计这些单词在页面上的位置,以及它们在页面上相对于周围其他单词的位置。这就成为我们阅读这些词在不同语境中的含义的基础。”

本地化只需要构建特定区域的操作索引。(巴塞罗那的“Avia”可能与墨西哥城的“Avia”有所不同。)这不仅使Aiquido的模型能够相对快速地获得对新语言的支持,而且使它们能够处理混合语言——结合单词、表达式和习语的语言——如西班牙式英语。

Foster 说:“我们的模型不会被(混合语言)搞糊涂,因为(当)他们看印地语句子时,他们只是在寻找意图。如果有些单词是英语,有些是印地语,那也没关系。”

毫无疑问,谷歌、苹果、微软、亚马逊、三星等公司已经在使用Foster和Khan所描述的技术,为各自的语音助手增加新的语言支持。但是,有些公司抢先一步,而另一些公司则不得不与遗留系统竞争。