苹果最近的秋季发布会主要围绕着 iPhone X,更换 Touch ID 的人脸识别,OLED 显示屏以及支持蜂窝网络的 Apple Watch。但是,生活在波兰、立陶宛、斯洛伐克、捷克共和国以及世界上许多其他地方的人们,并没有注意以上那些“闪光点”,而是发现另外一件事情。
Siri 没有学习新的语言,这可是件大事。
触摸屏作为智能手机的界面工作得很出色,但是对于智能手表的微型显示器来说,它就成了一个麻烦。苹果计划在今年年底前推出的智能音箱根本就不会有屏幕。Siri 和其他虚拟助手,如 Google Assistant、Cortana 或 Bixby,正日益成为我们与设备交互的主要方式。设想一下在自己的国家,要用外语与机器交谈,仅仅是为了播放一首歌,相信大部分人都会觉得特别别扭。
我试了下,目前,Siri 只支持 21 种语言。
从民族学的角度看,世界上现在有 7000 多种语言。Siri 支持的 21 中的语言使用者占了地球总人口的一半。添加新的语言会导致收益的减少,因为公司需要经过代价高昂而精细的开发过程,以迎合越来越小的人群。一些国家和地区的人口比较少,波兰的人口为 3800 万人,捷克共和国只有 1050 万人,而斯洛伐克更少只有 540 万。将斯洛伐克语添加到 Siri 或任何其他虚拟助手,将花费和添加西班牙语一样多的精力和钱,但需要注意的是西班牙有 4.37 亿人口,而斯洛伐克只有 540 万。
所以,如果 Siri 目前还不支持你的母语,你可能就得等待科技的进步。幸运的是,这种变革的苗头已经出现。
注意,虚拟助手花了很长时间才到达这一步。
第一步:让他们听
“在识别语音时,需要处理大量的数据:重音,背景噪音,音量。因此,识别语音实际上要比产生语音困难得多。”百度计算语言学研究员 Andrew Gibiansky 说。 Gibiansky 还指出,尽管如此,语音识别领域的研究比语音领域的研究更为先进。
一直以来语音识别的根本挑战是把声音转换成文字。当你和你的设备交谈时,语音会被转化成波形,代表了频率随时间的变化。解决这个问题的首要方法之一是使波形某些部分与相应的字符对齐。这种方法挺糟糕的,因为我们都以不同的声音说话。即使建立专门用来理解一个人的系统也不能很好的解决,因为人们可以用不同的方式说每个词,比如改变节奏。如果一个词说得很慢或者很快,这意味着输入信号可能很长或者很短,但是在两种情况下,它都必须翻译成同一组字符。
当计算机科学家断定将声音直接映射到字符上并不是最好的方法时,他们开始尝试将波形的一部分映射到音素上,这些符号代表语言学中的音。这就相当于建立了一个声学模型,这些音素将进入一个语言模型,把这些音翻译成文字。基于这种方法,带有信号处理单元的自动语音识别(ASR)系统的方案就出现了,你可以平滑输入声音,将波形转换成频谱图,并将其分成约 20 毫秒的片段。这个 ASR 也有一个声学模型来将这些片段转换成音素,以及一个语言模型,然后将这些音素转换成文本。
“在过去,翻译系统和语音文本系统是围绕着相同的工具——隐马尔可夫模型(HMMs)设计的,”Next IT 的首席技术革新官乔·杜姆林(Joe Dumoulin)说。Next IT 是一家为美国陆军、美国铁路公司(Amtrak)和英特尔(Intel)等公司设计虚拟助手的公司。
HMMs 是用来计算概率的,即以统计学的方式表示在复杂系统(如语言)中多个元素之间如何相互作用的。以大量的人工翻译文本为例,就像欧洲议会的议事录以所有欧盟成员国的语言提供一样,用 HMMs 可以确定一个特定的输入短语各种词组合的可能性,以及你最终会得到一个或多或少可行的翻译系统。这个想法同样是采用抄录语音的手法。
当你从正确的角度看待这件事就变得清楚了。把语音看作一种语言,把音素当作另一种语言。然后对音素和文字进行同样的处理。由于 HMMs 在机器翻译方面工作得相当好,所以很自然的选择它在语音识别各步骤之间进行转换。
随着时间的推移,开发的模型越来越大,积累的词汇越来越多,像 Google 和 Nuanc 等 IT 巨头采用的语音识别工具,单词错误率降低到 20%以下。但这种语音识别工具有一个重要的缺陷:它们是多年来人类细致微调的结果。要在一种新语言中达到这样的精确程度,意味着几乎从开始就需要由工程师、计算机科学家和语言学家组成团队合作。这样花费的代价是非常昂贵的,因此目前语音识别工具只支持最流行的语言。然而,在 2015 年出现了新的突破。
第二步:利用深度学习革命
图|“十九世纪”的频谱图
2015 年,谷歌的语音识别系统以惊人的 49%的性能跃升震惊了全世界。这个系统怎么会如此迅速地从 20%的错误率变成了 5%的错误率呢?深度学习真的开始了。
深度神经网络(DNNs),是一种利用大数据和强大的硬件模仿人脑的算法。在上面概述的三种传统的 ASR 模块中,DNNs 取代了最具挑战性和大工作量的声学建模。不再需要预测音素。相反,只要系统事先摄取了数十万小时的记录语音,ASR 系统可以直接从原始的频谱帧中获取字符。(这就是为什么听写服务优于虚拟助手,听写是 DNNs 大数据的来源,从而使真正的、自我改进的声学模型得以形成。)公司只需要很少的人力监督就能做到这一点,随着时间的推移,这些系统也得到了改进。
有一些小问题,就是这些系统无法预测如何拼写一个以前没见过的词,在大多数情况下,它们都是专有名词或新词。但系统也不是完全失败,而是以一种非常人性化的方式来处理这个问题:他们会根据发音来拼写新单词。对于基于 HMM 的语言模型而言一个音标就像蛋糕的一小块,如果它遇到一个小概率的词组“try cough ski concerto”。该系统拼出来更有可能是“Tchaikovsky 柴可夫斯基”。
苹果(Apple)的亚历克斯·阿尔科索(Alex Acero)今年春天在接受路透社(Reuters)采访时,描述了苹果是如何开始 Siri 学习上海话的。首先,公司邀请母语人士阅读各种方言和口音的段落,并让电脑从转录样本中学习。但是这样出现了一个问题,人们在录音棚里读这些段落,往往听起来很沉闷,没有感情,就是是不是他们平时自然说话的方式。
为此,科技公司使用一些巧妙的技巧来解决这个问题,比如用耳机来装配扬声器,播放拥挤的咖啡馆或购物中心的背景音。为了让参与者说话更加生动,工程师们让他们阅读诗歌、优秀文学、或电影剧本,引导他们进行语音表演。然后,通过声音编辑软件,给样本添加各种各样的噪音,比如风,汽车的发动机,远处的音乐,和其他人的交谈。所有这些都有助于使样本尽可能接近真实世界的数据。
这听起来像是一种构建 ASRs 的预深造方法。苹果以完美主义著称,在部署之前,会尽可能地对自己的系统进行调整,这意味着,苹果的研究更多地依赖于依赖人类的转录。相比之下,谷歌(Google)最近已经展示了深度学习在这个领域真正能起到的作用。去年 8 月,谷歌(Google)听写增加了 21 种新语言,支持的语言数量达到惊人的 119 种语言。
第三步:算法理解
不管什么语言,都能理解你的话语。仅仅是复杂的 ASR 系统所有目标中的第一部分。一个虚拟助手需要对此做些什么?通常这种查询理解分三个步骤进行,第一个步骤是域分类。首先,AI 本质上试图找出被请求任务属于哪个类别。这是否与信息传递、看电影、回答事实问题、发出指示等有关?
助手最终选择哪个领域通常取决于它是否能在文本中找到特定的关键字或关键字的组合。当我们说“播放约翰尼·德普(Johnny Depp)主演的加勒比海盗电影预告片。”时,助理会简单地计算一下,考虑到影片中包含“电影”、“预告片”和“主演”等词语的内容,它应该选择“电影”领域。
一旦找到域名,虚拟助手就可以进行意图检测。这取决于你想让你的虚拟助手采取什么行动。就像在“电影”里,出现“播放”这个词则很有可能是希望打开一个视频文件。最后一个问题是播放哪个视频。
为了做出猜测,Siri 使用了语义标签或关键词。比如说,要找到合适的预告片,我们需要填上“标题”或“演员”这样的关键词,当我们记不清标题的时候,也可以是“情节”。在这里,Siri 很可能这样发现,在之前考虑过的两个步骤中,Johnny Depp 是一个演员,而“加勒比海”(Caribbean)这个词就在“海盗”(pirates)的旁边,暗示着一部热门电影的最新一部。
虚拟助手所能做的就是将这样定义的意图与针对它们的一组关键字组合在一起。亚马逊的 Alexa 大约支持 16000 个这样的组合。Next IT 公司最近发布了一套工具,供企业开发自己的虚拟助手,其中包含了惊人的 9 万个意图。
乍一看,另外一个国家的助手要本地化时,要把所有这些都翻译出来似乎是个恶梦。然而,情况并非如此。这种处理输入文本的方式意味着当涉及到支持多种语言时,对虚拟助手的大脑来说并不是什么大问题。“在翻译系统中,可以测量输出中的删除、插入和不正确的翻译数量来查看错误率。”杜姆林说。“我们所做的就是查看我们在过程中删除或插入的概念的数量。这就是为什么一种语言模型可以与其他语言一起使用,即使翻译可能并不完美。只要助手能正确认识概念,它就能很好地工作。”
根据杜姆林的说法,虚拟助手甚至可以通过机器翻译意图,获得相当好的结果。“这是可行的解决方案之一,”他说。Next IT 添加新语言的第一步是通过机器翻译来运行意图和相应的关键字。“然后,我们与语言学家和专家合作来完善译文。”然而,这最后一步仅仅是因为 Next IT 构建的助手将使用他们自己的专业术语,工作在特定领域。“对于机器翻译来说,通常没有可以使其可靠工作在特定领域的文本文档,但是一般用途的助手更通用。用谷歌翻译输入“给我订周日航班”,它会在每种语言下都找到正确答案。”杜姆林说。
可以看出机器学习的困境:使助手本地化,而不仅仅是翻译,意味着要考虑到文化因素。这似乎很简单,比如要英国人把足球叫做“football”,而美国人叫“soccer”,这一问题似乎很容易理解,但这一问题还远不止于此。
“在葡萄牙,人们在接电话的时候会用到一个特定的短语,意思是‘谁在说话’。在美国,这么说会认为粗鲁,但在那里,则什么都不是,就像是说‘你好’一样。”杜姆林说。
因此,一个真正的会话人工智能必须了解给定语言和文化的这种细微差别,并意识到这是一种言语方式,而不是字面要求。根据杜姆林的说法,用一种新的语言来发现这种本地特性,并在新的语言中使用使用查询理解模块需要 30 到 90 天(这取决于虚拟助理需要覆盖多少意图)。这里的好处是,由于 Siri 和其他最流行的系统可以被第三方应用开发者所使用,本地化的重担主要落在希望 Siri 使用特定语言处理的公司身上。苹果公司要求开发人员加入关键词和短语示例,促使 Siri 以他们希望支持的所有语言触发他们的应用程序。这使本地化成为可能。
因此,对于多语言而言,识别语言和理解语言都是可行的(有了可行的时间、资源和成本承诺)。但这不是虚拟助手的终点,一旦助手处理完我们的查询,它还必须把结果传达给我们。今天,这就是不那么流行的语言的发展方向。
和人交谈
“为了生成语音,Siri 和其他类似的系统使用串连模型,”百度计算语言学研究员 Gibiansky 这样表示。“串连”的意思是“串连在一起”,在语音生成系统中,串连在一起的是人类声音的基本声音。建立这种系统的一种方法是邀请一批语言学家来研究音素系统,声音工程师来研究信号处理,还有许许多多的人来研究每一个细节。这非常复杂、耗时又昂贵。”
像苹果(Apple)或谷歌(Google)这样的大型科技公司,完全有能力组织一支精通英语和其他广泛使用语言的专家队伍。但是,试着去找一个能在波兰、斯洛伐克或苏丹做同样的事情的人,会非常困难。然而,串连模型是值得的,因为它们提供了最自然、最好理解的合成语音。
聘请以英语为母语的声音演员,能够把他们的声音发给虚拟助手,接下来要做的就是构建正确的脚本。就拿 Siri 来说。“Siri 语音合成的质量有明显的差异,”Gibiansky 说。“当一个给定的单词出现在数据库中时,声音演员实际上在录音的时候说过,这听起来很自然,质量是完美的。但如果不是这样,系统必须连接。连接意味着将这些词从语音的基本构造块(音素、双音、半音素等等)串接在一起,质量会下降。”因此,脚本的选择取决于助手应该做什么。而对于像 Siri 这样的通用系统,需要涵盖范围广泛的会话语音。
声音演员完成录音,会得到了两个文件。一个是文本文件,其中包含脚本;另一个是语音文件,其中包含了音频。在这一阶段,语言学家和其他专家需要仔细检查语音文件,并将其与多个层次(整段段落、句子、单词、音节、电话,所有这些都成为文件的语音单元)的文本文件进行对比。
进入这个过程的时间和努力都取决于所追求的质量。按照音标工作的 TTS 系统相当简单。英语、印地语和波兰语大约有 50 音标,让所有这些都正确需要一小时左右的音频。但最终的言语,却没有考虑到一个音标如何转换到另一个的,这是挺糟糕的。这样是很机械呆板的,为了让系统更自然,你需要使用双元音,由两个相连的音标组成的语音单元。突然之间,你的言语单位的数量增长到了一千到两千之间。
在这一点上,声音变得更好了,但这仍然不是有更高要求的用户希望听到的。这就是为什么大多数当前的 TTS 系统都依赖于三音标,音标中有一半以上以元音开始、辅音结束。但是声音工程师和语言学家们并不能只用一个三音标数据库来完成。他们还需要提出一套详细的韵律规则来描述特定语言中重音和语调的模式。Gibiansky 表示,完善这些服务用来与用户交流的声音,可能需要几个月的努力工作。这就是为什么他和他在百度的同事们正在努力解决这个问题的原因——他们希望深入学习,以彻底改变语音合成的方式,就像两年前革命化语音识别一样。
神经语言
今年 3 月,由 Yuxuan Wang(王雨轩)领导谷歌研究团队发表了一篇名为《Tacotron》的论文,这是一篇关于一种新的 TTS 的论文。他们声称它是世界上第一个端到端的 TTS 系统,这种端到端方式,意味着你只需给它文本和语音配对,它就可以学会自己说任何语言。Tacotron 只用了 21 个小时转录音频就掌握了英语。它的设计原理可以追溯到谷歌引入顺序到序列的神经翻译。
为了将文本从一种语言翻译成另一种语言,神经网络在源语言中获取一系列符号,并预测目标语言中对应的符号序列应该是什么样子。单词被赋予了数值,并成为短语、句子或整个段落等较长序列的符号。因此,像英语中的“小玛丽想要冰淇淋”这样的句子首先会变成一系列的符号,比如“123456”,其中“1”代表“小”,“2”代表“玛丽”,依此类推。翻译为波兰语时,系统会尝试猜出波兰语相应的符号顺序,可能会想出类似“Mała Mary chce loda”的词组,其中“1”代表“Mała”、“2”代表“Mary”、“3”代表“chce”等等。神经翻译算法通过分析源语言和目标语言中大量的这样排列的序列对来学习。就像在过去,一旦一种新技术在机器翻译中占据主导地位,它也开始进入语音识别和生成领域。
Tacotron 团队基本上将语音作为书面文本来翻译成另一种目标语言的。这个过程的开始看起来差不多,一个关键的区别是一个符号不再被定义为一个完整的单词,而是一个单一的字符。(因此,“1”代表“a”,“2”代表“b”,等等。)一个字不再是一个符号,而成为一个序列。可以把这看作是在算法对语言的理解上达到了更高的分辨率。字符级的分辨率比文字级的分辨率要高,但是它需要更高的计算能力。
对于语音,Tacotron 团队将符号定义为一个持续约 20 毫秒的光谱框架。其余的工作方式与神经翻译一样;输入文本中的一系列符号(字符),在输出端被转换成符号系列(语谱帧)。同别的系统学习过程一样,Tacotron 也是通过分析这样的序列学习的。
这种方式的结果很好。它对标点符号很敏感,重音和语调准确得出奇,而且还能知道如何读出训练数据库中没有的单词。你可以在这里听到 Tacotron 的声音,它只经过几个小时的训练就学会了这一切。
“深度学习系统最令人兴奋之处在于,它只需要数据。你可以通过一次生成语音来解决这个问题,而对于所有其他语言,你可以应用相同的机制。”Gibiansky 说。“我们可以拥有数百种语言和成千上万的声音,整个过程所花费的金钱和精力要比我们今天使用的非神经文本到语音系统少得多。”
在谷歌发布了 Tacotron 论文后不久,Gibiansky 的团队在百度推出了自己的系统,名为“Deep Voice 2”。它使这种深入的学习应用更进一步。“我想说,谷歌的论文描述了一个新的神经网络系统,根据一个人 20 小时的讲话,这个系统可以用这个声音合成语音。我们在这方面的改进有两个方面。”Gibiansky 告诉 Ars。“首先,我们改进了部分 Tacotron 使用的 WaveNet 系统,这大大提高了音频的质量。但我们真正追求的目标是证明我们不需要一个演讲者 20 个小时的录音。”
Deep Voice2 可以通过一个人 20 到 30 分钟的录音讲话来学习用特定的声音说话。其余所有的训练音频都可以从多个演讲者那里收集。“我们数据库中的每个人仅有半小时的讲话时间。有一百多个,不同的声音,不同的口音,不同的性别,”Gibiansky 表示。“在选择了系统应该模仿谁的声音之后,通过利用其余发言者的音频中包含的所有信息,可以学习用这个声音说话。”
“Deep Voice2 可以发出一个从来没有被一个人说过的词,这是它从其他声音中学到的共同点。”Gibiansky 声称。
Gibiansky 和百度认为,这是打开了一个充满可能性的世界。不仅仅是语音助手,而是使用深度学习语音生成作为保存全部语言的方法,或者作为一种工具让其他人构建高度特定的 TTS 系统。“将不再需要使用专家团队,”Gibiansky 说。“你可以想象,可以根据需要,用数百种语言创建成千上万个不同的声音。这可以是非常个性化的。”
所以,尽管我们今天无法用自己的语言很好的与 Siri 对话,但这种扩展的蓝图似乎已经存在。根据 Gibiansky 的说法,语音生成是几年前语音识别领域。在两到三年的时间内,或许可以实现把神经语言者这项技术应用到生产上。一旦到达这种水准,就可以看到何种语言的语音系统出现爆炸式增长。
更多有关语音识别的资讯,欢迎访问 与非网语音识别专区
与非网编译内容,未经许可,不得转载!