语音机器人的语言困局_互动科普

使用社交账号登录

购买价格:
付款方式:

互动科普

主页 > 科普纵览 > 天文 • 物理

语音机器人的语言困局

admin  发表于 2017年11月26日


教机器说话,是我们怀揣数十年的一个梦想。但首先要弄明白,有关语言的知识,我们究竟是如何获得的。

 

撰文 乔舒亚·K·哈茨霍恩(Joshua K. Hartshorne)

翻译 郭凯声

 

 

几乎是现代计算机刚一发明出来,研究人员就开始考虑如何为电脑编程,以使其能够运用语言。1950年,计算机科学的奠基人之一阿兰·M·图灵(Alan M. Turing)预言,到20世纪末时,机器人将能够非常熟练地运用英语,以至于出现人机难辨的局面(后来人们就把判断机器是否达到这一水平的测试称为“图灵测试”)。4年后,美国乔治敦大学与IBM公司的科学家联手推出了701翻译机,成功地以每秒两行半的速度,将60个俄文句子翻成了英文,致使构想出该翻译机所用方法的研究人员利昂·多斯特尔(Leon Dostert)自信满满地宣称,流利的电子翻译机“顶多五年,说不定三年”就会问世了。

岂料,直到今天我们还在等待。经历了一波又一波乐观的预言,紧跟着的是一次又一次凄凉的挫折这样的轮回之后,不得不承认,完全够格的交谈机器人现在似乎同20世纪中期其他那些异想天开的预言(诸如建设海底城市、向火星移民等)一样离我们有十万八千里之遥。要说有什么不同的话,那就是现在我们追求交谈机器人的欲望更加强烈,因为我们迫切想抛掉键盘这个同数码工具和日益袖珍的电子产品打交道的界面。

近年来,人工语音研究的成果有喜有忧,喜的是若干机器理解语言的能力达到相当水平,可以干点有用的事了(例如谷歌翻译以及你致电客服时听到的自动语音回复),忧的是我们仍然要面对此项技术的种种短板,以及它容易发生严重故障的事实(例子还是谷歌翻译以及你致电客服时听到的自动语音回复)。还有些项目则尝试通过互联网上民间参与的众包方式来克服这些不足,这样我们兴许会更加了解我们是如何选择用词的。

但技术并不是唯一的问题,甚至也不是最大的问题:实践证明,解读语言的奥秘,其难度之大远超任何人的想象。我们能够搞定诸如从一个单词的多种意义中,选择正合要求的那个意义之类的任务,这种本领其实是人类数百万年进化的产物。我们做这些事时不必知道是如何做的,更不必知道如何把这种本领传授给人造的机器。事实上,当科学家在尝试概括地表述语法,并仔细梳理出类似词汇之间的微妙差别时,他们就逐渐明白语言的意义往往是难以捉摸的,而语言的结构即使对于已经熟练掌握了语言的人类来说也是一个难解之谜。

 

突破旧框框

打造交谈机器人的最初尝试简单得令人难以置信——用语法规则对机器人进行设置就大功告成了。这是IBM公司对701翻译机所采用的招数。由于冷战时期,苏联一举一动都为美国所关注,因此701在首次公开展露功夫时接受的任务就是把俄文翻成英文。1954年,介绍此项目的宣传资料解释了701如何处理两种语言间的差异(如词序的不同)。例如,俄文的“gyeneral mayor”(少将)翻成英文是“major general”,这样,每当翻译机遇到俄文中的mayor这个词时,它便检查其前面的单词。如果正好是gyeneral,它在翻成英文时就把两个词的顺序倒过来。

这样简单的系统居然也能玩翻译,其原因之一在于,701只认得250个俄文单词,因此识别其数据库中的每一个“形容词+名词”组合不算什么麻烦事。但许多语言都有数十万个单词,而英语的单词可能超过一百万。假设英语中一半的单词具有多种意义应该是说得过去的,不过那样一来,程序员就必须考虑5 000亿种单词组合。如果把这些组合都写入程序,以每秒写一个组合计算,程序员要花1.6万年才能写完。

不巧的是,短语gyeneral mayor在俄语中其实是个异类。一般说来俄语中的此类词序与英语相同,而与西班牙语这样的语言相反(西班牙语中形容词通常跟在名词后面)。对词汇量较大的翻译机来说,一个显而易见的解决方案是为它设置诸如“英语和俄语中的形容词在名词前面,而西班牙语中的形容词在名词后面”之类的规则,并附上一张例外情况的列表。这一招不仅可以大大减少规则的数量,同时也让系统能够搞定新的单词。但问题在于,解释例外的规则本身可能又有例外。科学家尚未发现一套可以完美解读英语、俄语或其他任何一种语言的抽象规则,尽管语法教科书的出版商不愿意承认这一点。

但这些系统之所以脆弱,不仅是因为语法规则不可能做到尽善尽美,而且是因为像领悟单个词汇的意义这样看似简单的任务,其实都暗含着复杂的玄机。

 

多义词

交谈机器人(以及打造交谈机器人的工程师)首先遇到的向题之一是,我们日常谈话中所用到的词,有许多属于同音异义字,即有多种意义。比如,“bank”可指银行(“John cashed a check at the bank”,约翰在银行兑换了一张支票),也可指河岸(“John swam to the nearest bank”,约翰向最近的岸边游去)。

人们在遇到这类句子时很快就会锁定正确的意义。美国加利福尼亚大学圣迭戈分校的心理语言学家西玛·范佩滕(Cyma van Petten)、马塔·库塔斯(Marta Kutas)在1987年的一篇著名论文中,阐述了“词汇启动”(lexical priming,指的是人们遇见某个单词时,该单词即会提示人们注意与语境相关的其他单词的意义),论证了人的这种能力。两位语言学家发现,当人们看到一个“bank”之类的多义词后刚半秒多点,他们就注意到提示语境的其他关键词汇了(如“money”和“river”)。

对于某些特殊群体,这些功能会有异常。2002年,美国塔夫斯大学的塔蒂亚纳·斯蒂尼科娃(Tatiana Sitnikova)和同事发现,精神分裂症患者无法排除一个多义词与前后语境搭不上界的意义。比如,他们看到“bat”(有球拍与蝙蝠两种意义)之后一秒多钟,仍有“本垒打”和“吸血蝠”这两个意思在他们的脑袋里面转。

不过,上述研究仅能告诉我们,大多数人可以根据语境,很快搞定同音异义的状况。但对设计交谈机器人的工程师来说,问题在于人们并不知道自己是如何做到这一点的。有一种理论认为,我们利用了多义词前后的词。例如,对银行的论述中常有“支票”、“兑现金”等字眼,而对河岸的描述中常有“游泳”、“水”等字眼。或许,我们就是直接由此领悟到,某些词提示了“bank”的一种意义,而另一些词则提示了“bank”的另一种意义。

比同音异义字更难摆平的是它的“同党”——多义词。多义词与同音异义词一样有多种意义,但其各种意义是密切相关的。比如在“Jane Austen wrote many books”(简·奥斯汀写过许多作品)与“I read some Jane Austen this afternoon.”(今天下午我读了简·奥斯汀写的一些作品)两句中,“Jane Austen”在头一句里指的是作者,而第二句中则指她的作品。其实,不仅是所有作者的名字,所有传媒名称都存在多义现象。“Rupert Murdoch has bought the Wall Street Journal”是指这位报业巨头买下了该报社,把默多克换成我,“I have bought the Wall Street Journal”,则是说我买了一期《华尔街日报》。

对多义词,语境显然也非常重要,但这类区别相当微妙,很难界定。“bank”的两种意义很少出现在同一个句子中,但“Jane Austen”却往往与“Pride and Prejudice”(傲慢与偏见)出现在同一个句子中,有时指作者,有时则指其作品,因此,只依靠前后的字词来澄清歧义并不总是行得通的。我们仍然未完全弄明白人们如何找出正确的意义。

诸如“bank” 和“Jane Austen” 之类的词汇之所以造成麻烦,就是因为它们有几种含义。那么,可怜的机器人如果必须面对具有几乎无穷多种意义的代词,其处境岂不是更加值得同情?在“I wrote Pride and Prejudice”(我写了《傲慢与偏见》一书)这个句子中,如果是简·奥斯汀自己在讲这句话,那么代词“I” 就是指她。如果讲话的是扮演简·奥斯汀的演员[如出演电影《珍爱来临》(Becoming Jane)中简·奥斯汀一角的安妮·海瑟薇],那么“I” 就不是指讲话的人,而是指她所演的人。这类情况无法用一条简单的规则来概括。第三人称代词则更为棘手。在“She wrote Pride and Prejudice”(她写了《傲慢与偏见》一书)这个句子中,不论是谁在讲这句话,代词“she” 都可以指任何一位女性。机器人不可能撇开这些歧义不管而自顾自地翻译下去,因为如果不知道这个句子讲的是谁,那这句话就几乎没有什么意义。

要想搞定这个代词瓶颈,最出名的解决方案或许要算所谓中心理论(Centering Theory)。该理论是哈佛大学计算机科学家巴巴拉·格罗斯(Barbara Grosz)及宾夕法尼亚大学计算机科学家阿拉文德·K·乔斯(Aravind K. Joshi)和哲学家斯科特·温斯坦(Scott Weinstein)在上世纪八九十年代提出并加以完善的,该理论全面阐释了在一段比较长的讲话中,各个句子是如何和谐地对接的。中心理论认为,人们通常用“she”之类的代词来指代前一句的中心(即最主要的角色),也就是这句话的主语。这种说法可以解释为何在“Jane Austen was an author. She wrote Pride and Prejudice”(简·奥斯汀是一位作家。她写了《傲慢与偏见》一书)等句子中,人们一般以“she”指代简·奥斯汀。

遗憾的是,对机器人而言,事情并不总是如此简单。心理语言学家詹妮弗·阿诺德(Jennifer Arnold)在1998年的论文中估计,作主语的人称代词中,仅有约64%指代前面的主语。此外,多项研究——最早可追溯到约翰斯·霍普金斯大学的语言学家凯瑟琳·加维(Catherine Garvey)和神经科学家阿方索·卡拉马扎(Alfonso Caramazza)在1974年的一篇开创性论文——已经揭示,人们在解读代词的指代时,语境线索之微妙复杂堪称令人抓狂。例如,我与哈佛大学心理学家杰西·斯内德克(Jesse Snedeker)在一篇论文中报道了这样一个结果:对于“Sally frightened Mary because she is strange”(萨丽吓着了玛丽,因为她是陌生人)一句,绝大多数人认为代词“she”是指萨丽,但对于“Sally feared Mary because she is strange”(萨丽害怕玛丽,因为她是陌生人)一句,大多数人认为代词是指玛丽。人们为何会如此认定,无人知晓,反正大家很快就会作出这样的判断。

2007年,荷兰阿姆斯特丹大学心理语言学家约斯·范伯克姆(Jos van Berkum)和同事让受试者看一些句子,同时观察他们的脑电波变化情况。这些句子有的符合人们的预期模式,如“Sally frightened John because she is strange”(萨丽吓着了约翰,因为她是陌生人),有的则与一般预期冲突,如“Sally frightened John because he is strange”(萨丽吓着了约翰,因为他是陌生人)。脑电图揭示,当代词的使用与句子语境不般配时(比如在上句中用了“他”,而不是“她”),脑波中有迹象表明,大脑对此又下了一番功夫进行处理。

 

统计模式

由于单词意义具有千变万化的微妙差别,科学家需要找到恰当的方法来帮助机器人改进预测方式。许多学者求助于语言的统计处理,就是把不计其数的素材塞进他们的计算机中,然后进行统计分析。首先,他们把名为语料库的巨量文本集合——有时超过十亿单词——灌入机器中。然后,机器把这些文本分解成由n个连续单词构成的无数段,每段称作一个n元。机器对它吞进的所有n元进行分析后,就知道了哪些单词一般会同什么单词搭配。例如,机器人最终会弄清楚,“tall man”(高个子男人)这个短语在英语中相当常见(在网上搜索,会出现大量相关词条),而“man tall”则相对少见。类似地,机器也可以学到如下知识:如果句子中的“bank”前面有“swam”,那么它的意思多半是“河岸”。701翻译机实际上就是在对n元(更确切地说是由两个单词构成的二元短语)进行分析。

统计模式的优点在于,程序员不需要制定诸如“‘general’要在‘major’前面”之类的具体规则,甚至也不需要制定“形容词要在名词前面”之类的抽象规则,统计系统只需要弄清哪些词在哪些词的前面。更复杂的方案则可能也会跟踪词类信息,以便让语言机器知道,当“check”用作名词而非动词时,它很可能与“银行”有关。

语音机器人的语言困局.jpg

研究也表明,统计学习——即通过语境来识别语言模式——可能有助于人们学习语言,因而这种方法格外受机器人工程师的青睐。美国罗切斯特大学心理学家詹尼·萨福兰(Jenny Saffran)、理查德·阿斯林(Richard Aslin)和艾丽莎·纽波特(Elissa Newport)1996年的一项研究显示,甚至连8个月大的婴儿也能领会三元概率,即三联词汇或音节中各单词或音节依次出现的可能性。研究人员让婴儿倾听一串无意义的音节,如bidakupadotigolabi。其中bidaku、padoti和golabi这几个三元词出现得非常频繁,而其他三元词(包括dakupa)的出现次数少得多。听了这些无意义的音节串两分钟之后,婴儿们就能区分常见和不常见的三元词(对于不常见的三元词他们会听得更久一些,就像是听到新的音节一样)。几位科学家把这种能力解读为,儿童可能是通过这一方式来分清他们听到的单词。类似地,2010年,美国圣路易斯大学心理学家克里斯托弗·康维(Christopher Conway)领导的一个团队发现,擅长统计学习的人也擅长于在嘈杂的环境下听懂谈话。

虽然n元机器并非科学家正在尝试的唯一一种语言系统,但工程师对这类系统情有独钟,因为现在海量语料库一抓一大把,要弄到一个易如反掌。比如,谷歌就发布了一个网上语料库,单词量在万亿以上。但为了让语料库分清单词的意义和代词指代的种种复杂微妙之处,必须对每个句子加以标注,也就是标出每个单词的意思或词类,但现在大多数基本语料库并未做这项工作。对词义作了标注的最大语料库是SemCor(SemCor是semantic correlation即语义关联的缩写),是由普林斯顿大学创建,包含36万个单词。从标注这些单词所需的工作量来看,这是一个非常大的语料库,但按语音工程师的需要来衡量,它又太小了。

看看谷歌推出的两种n元系统,我们就可以领略到n元机由此而来的长处与软肋。其中一个系统是谷歌翻译。谷歌向这个统计型翻译工具灌进了大量已经翻译成多种语言的文本(谷歌翻译最初的资料库的内容,主要就是用多种语言发布的联合国文件)。由于某种语言中的一个同音多义字,在另一种语言中通常要用两个词来表示[比如英语中‘bank’的两个意思,在西班牙语中就分别用orilla(岸边)和banco(银行)来表示],因此用于训练统计型翻译机器人的双语语料库就可以充当有词义标注的语料库。翻译机可以学会区分英语中含有“bank”,而西班牙语中含有“orilla”的句子(往往还有“swim”这个词),以及英语中含有“bank”,而西班牙语中含有“banco”的句子(往往还有“cashed”和“check”之类词汇)。

谷歌最近推出了一款名为谷歌抄写(Google Scribe)的工具,其实就是一种n元机,用于句子的书写——它可以在你打字时实时提示下一个要输入的单词。比如当你输入“major”时,机器便帮你联想到“role”、“cities”、“and”、“role in”、“problem”、“histocompatibility complex”、“league”等。这些全是与major搭配的常见词汇[连“major histocompatibility complex”(主要组织相容性复合体,生物学上的专业词汇)都属于常见的组合,在谷歌中的搜索次数超过百万次]。

联想建议是如此的多,凸显了现今n元机的一个重大局限性。由于n元机跟踪的上下文仅有几个单词,因此,如果相关单词隔得太远,机器往往会乱了方寸。比如输入“He swam to the bank”(他游向岸边),谷歌翻译会返回正确的西班牙语译文“Él nadó hasta la orilla”,但若输入“He swam to the nearest bank”(他游向最近的岸边),则谷歌翻译会给你“Él nadó hasta el banco más cercano”,意为“He swam to the nearest fnancial institution”(他游向最近的银行)。双语语料库在应对多义词和代词时也显得很不给力。某种语言中的许多多义词在其他语言中也是多义词。

同样,谷歌抄写和其他简单的n元机既无法搞定新词,也不能生成有用的句子。即便是幼儿也会用新词造句,但你在谷歌翻译中输入新造的词“wug”后,它不会给你任何提示。而且,由于它只能领会很短的短语的统计规律,因此对于由它生成的句子,如果逐个单词来看,你知道每个单词是什么意思,但全部连起来就成了不知所云的东拉西扯。例如,向谷歌抄写输入“Google”,然后依次在每个单词之后输入它提示的首个联想词,则最终得到这样一句:“Google Scholar search results on terms that are relevant to the topic of the Large Hadron Collider at the European level and the other is a more detailed description of the invention.”这样的n元系统生成的句子,其句首与句尾多半是南辕北辙,很难对得上号。

 

求助网友

改进n元机最简单的招数之一,就是让它们使用更长的句子。但说来容易做起来难。假设某种语言仅有一万个单词。为了把所有潜在的三元短语一网打尽,单词机得学习一万的三次方即万亿种组合。而要把每一个六词组合都收罗进来(其实,对这种任务来说六个单词仍然不够长),则得存储1024种组合,相当于十万亿EB的信息(一EB为十亿GB)。想想看,截至2009年,全球所有数字信息据估计也不过500EB而已。

不过,即使有了巨量的词义标注语料库作靠山,聪明的“机器人学生”仍然还得学一些实用的功夫,说起话来才比较靠谱。以色列希伯来大学的哲学家耶霍舒亚·巴尔-希勒尔(Yehoshua Bar-Hillel)在1960年的一篇经典论文中指出,单靠上下文,永远也无法解释为什么人人皆知“the box was in the pen”(箱子放在栅栏里)中的“pen” 必定是指一块围起来的场地而非钢笔。人们作出这样的推断,并非根据上下文,而是根据他们的常识——箱子不可能塞进钢笔里。

为了让机器人在填补数据空白的同时,也在现实的江湖里多磨练磨练,近来若干个依托网络的项目尝试求助于广大网友的力量。美国卡内基·梅隆大学以安东尼·托马西克(Anthony Tomasic)为首的一批计算机科学家将推出一个名为Jinx的网上游戏。游戏中,系统将向两位玩家显示包含在一个句子中的某个单词(例如“John cashed a check at the BANK” 中的“BANK”),并要求玩家尽快输入相关词汇。如果两个玩家输入同样的词,则可赢得点数。研究人员可以利用他们的判断来标注多义词的意义(尤其当玩家意见一致时),从而打造一个比SemCor更大的语料库。

我自己做的网站“代词侦探”(Pronoun Sleuth ,网址gameswithwords.org/PronounSleuth)则是让自愿参加的网友看一些包含代词的句子,并判断其中代词是指哪位(例如“Sally went to the store with Mary. She bought ice cream.”(萨丽同玛丽一起去商店。她买了冰淇淋)。对于某些句子,参与者的判断相当一致,但对于另外一些句子,意见则不那么统一。

我们发现,要把一类句子同另一类句子区分开来,需要30~40位网友的意见。最终有500多位参与者对几个句子作出了判断。不久前,我和斯内德克递交的一份论文,收集了针对一千个句子的数据——机器人要想理顺代词用法的微妙差别,一千个句子仍嫌太少,但这已经是现有的针对这类句子的最大数据库了。

2008年,英国埃塞克斯大学的计算机科学家创建了“短语侦探”(anawiki.essex.ac.uk/phrasedetectives),采取了一个较为传统的思路。“短语侦探”会向参与者出示一本书或一篇文章中的一段,当参与者遇到一个代词时,便须找出它指代的是哪个词。“短语侦探”也会询问参与者对其他指代性短语的判断。例如,实验人员想知道参与者是否会认出“Jane Austen wrote Pride and Prejudice. The book was very popular”(简·奥斯汀写了《傲慢与偏见》。该书非常受欢迎)这段话中,“the book”是指“Pride and Prejudice”。迄今,“短语侦探”的参与者们已经完成了对317份文档的判断。把这类项目所产生的数据综合起来,我们就能建立并检验相关理论,并在理论的指引下,最终打造出会使用代词的机器人。

不过,什么时候能实现这个目标仍是一个有争议的问题,而且我们的预期也可能同以往一样完全不靠谱。虽然谷歌公司机器翻译团队的老大弗朗兹·约瑟夫·奥克(Franz Joseph Och)对前路上的障碍心知肚明,但他不久前在接受《洛杉矶时报》采访时仍宣称,具有《星际旅行》中万能翻译机那种神奇功力(即讲即翻式的同步传译)的语音机器人有可能在“不太遥远的未来”诞生。不过,打造会说话的机器人的前提是深刻领悟语言的奥秘,而事实可能会证明,语言之难于捉摸,绝不逊于《星际旅行》中其他任何神奇的东西。

 

本文作者 乔舒亚·K·哈茨霍恩是美国哈佛大学的心理学研究生,主要研究语言及语言习得(Language Acquisition,一个无意识的语言学习过程)。

 


全部评论

你的评论