分享到微博 分享到人人 分享到LinkedIn 分享到Email
计算机能“理解”多少我们的语言了?

作者:微软亚洲研究院首席研究员 周明博士

1770年,库克船长的“努力号”抵达澳大利亚昆士兰海岸。他留下一些船员维修船只,自己率领一支队伍出发探险。遇上当地土著居民后,一个船员用手指着身体袋囊里揣着幼崽跳来跳去的动物,问一个土著,这东西叫什么?土著说:“Kanguru。”自那以后,库克和他的手下便如此称呼这种动物——袋鼠(后来写作Kangroo)。很久以后他们才明白, Kanguru在土著语言中的意思是,“你说什么?”

——Ted Chiang《你一生的故事》

在地球的任何一个角落,你都能发现在一起的两个人,总会彼此交谈。如果没人能对谈,人会自言自语,对猫儿狗儿说话,甚至对盆栽呢喃。

你或许并未察觉,阅读这些文字时,自然界的奇迹正在发生。你我都属于有这种惊异能力的种族——我们能精确描绘彼此脑中的概念——这种能力就是语言。我们只要张开嘴,发出声音,或者写下文字,就能将彼此心中的意念准确地传递给对方。这个过程如此轻松自然,让人意识不到它的存在。

然而对最强大的计算机来说,理解人类语言并非易事——这便是自然语言理解的研究领域——所谓“自然语言理解”就是人与计算机可以进行有效沟通,计算机能理解用户的意图,执行命令或回答问题。而作为这个领域的研究人员,我们一直努力向这个目标迈进。

机器翻译

老彼得·布吕赫尔画笔下的巴别塔

《创世记》第11章记载,人类原本说着同一种语言,居住在与幼发拉底河相距不远的示拿之地。人们利用河谷的资源建城筑塔。高塔直达天堂,逼近上帝。上帝认为人类过于自信团结,一旦完成计划将为所欲为,便决定变乱人们的口音和语言,并使他们分散各地。高塔于是停工,该塔被称为“巴别”。

如今,现代交通和网络的发展令使用不同语言的人们合作和交流的机会比以往更多,因此对理解对方语言,人们有着迫切的需求。

而在1940年代,计算机刚刚出现,计算能力相当弱,但那时候就有研究者提出了使用计算机进行翻译的想法,并进行了尝试。不过第一次引起公众关注要到1954年,那年1月7日,美国乔治城大学的研究者和IBM利用6条规则,250个词汇,完成了一次俄英机器翻译演示——二战后,苏联是美国的头号对手,了解这个国度的一举一动是那时政府的迫切需求,尤其是科学报告。60多条俄文短句,预先转写为拉丁字母,内容涵盖有机化学、政治、法律、数学等领域,由一名不懂俄语的女操作员输入一台IBM 701主机,几秒钟后打印出英文结果。这一项目的主要负责人Leon Dostert在演示后乐观地预言:“再有五年,说不定也许三年,用计算机翻译多种语言就将变成现实”。

这次成功的演示和公众高涨的热情为机器翻译研究带来了资金,掀起一阵计算机语言翻译研究的热潮。而当人们期望过高,承诺又无法兑现时,资助就缩减或取消了。就像那个时代人工智能领域的众多分支一样,研究者们低估了问题的难度。

  • “十年内,数字计算机将发现并证明一个重要的数学定理。”(H. A. Simon,Allen Newell,1958年)
  • “二十年内,机器能完成人能做到的一切工作。”(H. A. Simon,1965年)
  • “一代之内……创造‘人工智能’的问题将获得实质解决。”(Marvin Minsky,1967年)
  • “三到八年我们将得到具有人类平均智能的机器。”(Marvin Minsky,1970年)

许多字词不只有一个意思,想要正确翻译一句话,计算机必须消除歧义,选出使句意最为通顺的解释,否则就容易犯荒唐的错误。一个有名的例子是“the spirit is willing but the flesh is weak”(心有余而力不足),用当时的翻译系统译成俄文再译回英文就变成了“the vodka is good but the meat is rotten”(伏特加不错,但肉已腐烂。spirit有“烈酒”的含义)。

1964年,美国国家科学研究委员会(National Research Council,NRC)开始关注这个领域长期未能取得进展的问题,进而成立了语言自动处理咨询委员会(Automatic Language Processing Advisory Committee,ALPAC),调查机器翻译的研究状况。两年后,ALPAC发布了一份改变整个领域的报告。报告对当时的机器翻译持高度怀疑态度——认为当时的机器翻译比人工更耗时、质量更糟,更烧钱,应当注重更基础的计算机语言学(Computational Linguistics)研究,注重引入词典、翻译例句、人工等手段提升整体的翻译质量。这份务实的报告,对机器翻译研究敲了警钟。在ALPAC报告的影响下,不单NRC停止了对机器翻译项目的资助,那些已建立的机器翻译研究机构或遭遇行政阻碍,或经费困难,世界范围内的机器翻译热潮突然消失,整个领域空前萧条——这也是后来被称为人工智能严冬(AI Winter)的开端。

尽管在那之后,个计算机出现和电子词典开始流行,让基于规则的机器翻译研究在部分国家有所复苏(例如日本各大电子厂商),但研究水平不高,仅在有的场合聊胜于无。

直到1990年代,基于数据驱动(譬如大规模双语对照的数据,和大规模的单语数据)的统计机器翻译开始兴起,这个领域才又重新活跃起来。新思路靠自动学习概率化的翻译规律(譬如词对词的翻译,n-gram之间的翻译,或者短语之间、子树之间、句型之间的翻译)来实现翻译系统。这个时期数据规模越来越大,尤其双语对照的数据越来越多。那之后的二十余年,这个领域的研究主流都基于统计机器学习方法。

机器翻译的难点在于领域迁移和自适应。训练机器翻译系统的原始数据可能来自宽泛的各个领域,遇见某个具体领域生僻的词语、句型时,如何快速迁移,以得到高水平的翻译颇为不易,因为这些领域的语料库掌握得少,迁移时知识不足。目前几家著名的在线翻译系统,新闻翻译尚可胜任(因为新闻语料最多),但对银行、法律这些语料稀缺的领域,自适应能力则薄弱许多。

另一个难点是口语翻译,因为口语中夹杂着表达不连贯,语法顺序颠倒,用词不精准、重叠、省略等各种现象,而机器翻译系统大多针对书面语训练,突然用在口语里,表现就会一塌糊涂。因此需要加强对口语现象的处理能力,以及对上下文的理解能力。另外,未来的机器翻译需要与手机语音应用配合,提升对地图、导航、购物、交友、邮件、新闻阅读等的支持,在这个方向还有很长的路要走。

2012年10月,微软研究院的研究取得了阶段性的重要成果,微软研究院创始人Rick Rashid在天津的“21世纪的计算大会”上公开演示了一个全自动同声传译系统,他的英文演讲被实时转换成与他的音色相近、字正腔圆的中文,赢得了现场观众的掌声。这项技术是由微软亚洲研究院和雷德蒙研究院从事语音识别、合成和机器翻译的很多同事共同开发的。这一演示背后的关键技术——DNN(深层神经网络)也随之第一次进入了许多人的视野。在语音识别过程中,DNN使准确率提升了25%,而将这项技术应用于机器翻译解码优选过程,这项技术令翻译的准确率又提高了1-2个百分点。

在这次成功演示之后的两年多里,我们微软亚洲研究院和位于美国总部的微软雷德蒙研究院共同努力,不断地改进中英实时语音翻译,于今年4月发布了Skype Translator实时语音翻译技术的中文预览版,让普通用户也能体验到实时中英文语音翻译。Skype Translator构建于一个10亿对量级的超大规模双语对照语料库基础之上,应用机器学习的方法,在海量的候选集中找到最佳的译文。作为人与人之间的沟通工具,Skype Translator针对口语对话中常见的问题进行了处理,并提供了许多具有本地语言特色的服务。

有人说,语音识别在过去两年产生了质的飞跃,而机器翻译虽然已有六十年的研究积累,但是在处理语音和口语方面则方兴未艾,虽然我们用了大规模的语料训练,但是方法还是十年以前的统计机器翻译——它正期待着更大的突破。而其中探索利用深层神经网络在翻译解码的有效方法(譬如利用LSTM把原文句子经过一个中间表示向量转换为目标语言的句子)引起了很多研究者的关注。

问答系统和聊天

冬天能穿多少穿多少

夏天能穿多少是多少

上面的两句话说明了语言的歧义性。人的言辞孤立地看,有时候有些模糊,不过和旁人讲话,他们总能领会你的用意。设想你对配偶说:“知道钥匙放在哪儿了吗?”如果对方仅仅回答:“是的,我知道。”你一定不会满意——因为你的真实意思是“快告诉我,钥匙放在哪里了?”这种相互理解就是所谓的“对上下文敏感”。

不过计算机对上下文可不那么敏感。例如“把香蕉给猴子,因为它们饿了”和“把香蕉给猴子,因为它们熟透了”有同样的结构,但代词“它们”在第一句中指的是 “猴子”,在第二句中指的是“香蕉”。如果计算机不了解猴子和香蕉的属性,就区分不开。媒体记者们早就开始根据搜索引擎的特点,在网络文章的标题上尽量堆砌关键词,而不是从读者的角度来设计标题——他们宁可牺牲原本雅致的笔触,也要能够适应“机械”搜索引擎的特点。

由于人们使用语言的随意性和多样性,带来了问题理解的困难。给定一个问题,电脑要理解问题的类型(事实类,定义类,选择性,观点类等)和答案的类型(人、地点、机构、定义、电影名字,文字序列等等)。比如:

  • 事实类问题:“谁是奥巴马的夫人?”
  • 定义类问题:“什么是操作系统?
  • YES-NO类问题:“萨达姆还活着吗?”
  • 观点类问题:“多数美国人对枪支管制的看法是什么?
  • 比较类问题:“诺基业手机和苹果手机有什么区别?

问答系统可以是针对某一个封闭领域的,也可以是无领域限定的, 而后者的难度更大。为了理解问题,计算机需要语义解析,把用户输入的问句转换为一个有结构的语义表达式,然后到相关数据和知识库中寻找答案。很多时候,可能会有多个看似可行的答案候选,问答系统需要根据一个基于机器学习获得的排序系统进行优选。问答系统的答案可以从结构化的知识库,或者非结构化的自然语言文档集合来获得,如web,社会关系网络,新闻等。目前,我们实现了利用知识库、web和社会关系网络的多种智能体来回答问题。知识库适合回答事实类的问题,而基于web的问答系统,也就是把问题丢给搜索引擎,在搜索结果里面直接抽取答案,适合于回答时效性很强的问题,如新闻类问题或很复杂的问题。社会关系网络适合回答主观类的问题,譬如“如何考入哈佛大学”,“怎样才能学好日语”等。由于这类问题在社区、社会关系网络里面有很多的讨论,经过信息抽取和问题匹配之后,可以用来回答相同或者相似的问题。除了以上三种智能体之外,还可以考虑众包智能,就是由系统把问题导引给该类问题的人(专家、附近的人、社会关系网络的好友)来完成。如能巧妙利用多智能架构,即可大幅度提升问答系统的精确度和覆盖面。

问答系统与机器翻译看似并无明显关联,但是两者实际上可以互相借鉴。机器翻译的技术可以用于问答系统中,譬如转述、语义解析等,也可以把问答系统变换为一个从问题到答案的翻译过程。我们后来发现,问答系统中使用的技术也恰能借鉴到机器翻译中,令翻译的质量明显提高——过去,机器翻译需提前在线下实现翻译模型,而新做法是模仿基于web的问答系统,将原句直接抛给搜索引擎,利用搜索引擎的搜索结果动态得到词汇或者短语的翻译模型,以及目标语言的语言模型,以实现翻译候选生成和排序,这种方式对处理新词和领域自适应颇为有效。

目前几乎所有的问答系统,仅仅考虑当前的输入问句,并没有考虑提问的场景、提问者的特性、以及时间和地点。读者们大概都有过与微软小娜、小冰聊天,Siri或Google Now对话的经历,用户期待当问答系统进入到这些应用时应考虑这些因素以体现个性化。而“个性化”是对问答系统能力的大考验——提出相同问题,但你我期望得到的答案却可能千差万别。问答系统需要依靠用户的历史行为了解用户,包括性格、偏好、朋友圈、买过的商品、说过的话,都会影响系统对用户建模,进而决定给出怎样的回复才会让用户感觉更贴心。不过,这些问题目前对问答系统来讲还是一个巨大的挑战。

为了实现自然语言的人机对话,除了问答系统,还要有一个聊天系统。问答系统用于回答问题或者理解了问题之后完成一定的任务。而聊天系统是一个非正式的社会交往需求,用于情感交流与连接。人们在交流过程中,聊天、问答的技能是穿插进行的。同时,为了体现多样性,答案所采用的句式,以及聊天的回复风格要根据场景和用户的特点发生变化。

微软小冰是我们建立自然的人机自然语言对话的重要尝试。在小冰中,我们除了需要建立问答系统和聊天系统之外,还要根据用户输入的句子,决定是进入聊天还是进入问答。比如:

人: 你都不理我了。(聊天)

小冰: 我怎么不理你。(聊天)

人: 荣耀6plus多少钱? (问答)

小冰: 京东大哥说过是2,899元哦。(问答)

人: 你知道的真多呀。(聊天)

小冰: 我应该的呀。(聊天)

人: 你知道李敏镐吗 (问答)

小冰: 【一张李敏镐的图片】(问答)

而小冰的回复不仅仅要看当前的句子,还要看聊天的历史。比如另外一个例子:

人:请推荐一款手机。

小冰:你看看这款如何? 华为荣耀3X畅玩版,1099元。

人:我不要华为的,我要iPhone的。(系统需要知道产品类别没变,但是品牌变化)

小冰:那你看看这款iPhone如何呢?iPhone6, 5988元,64GB,金色。

人:我要能支持128G存储空间的。(系统要知道产品类别和品牌没有变化)

小冰:我看看。那你看看这款?iPhone6, 6488元,128GB。

人:算了,我还是要华为的吧。(系统需要知道产品类别没变,但是品牌变化)

小冰:那么这款华为P8,最新款,3800元。怎么样?

此外,系统需要对用户的输入进行理解以判断用户的意图。比如:“给我推荐一款性价比高的手机,要诺基亚的。”

User Intent = Recommendation

Product = Select ?ID

Where

{

?ID Category 手机 (cellphone)

?ID Brand 诺基亚 (Nokia)

?ID Facet 性价比高 (cost-effective)

}

在对用户意图的理解基础上,要进行必要的对话,以便确认所有必要的信息,来决定接下来的动作,比如推荐,搜索,聊天还是问答。综合利用聊天和问答技术来形成一个聪明的对话系统,是一件非常有意思的事情。不过这个问题挑战也很大,它是目前自然语言理解的最核心的问题。我们需要耐心地循序渐进地推进研究。

机器人作家

机器翻译的应用还远不止文字翻译和问答系统,让我们先看看这两篇体育报道的开头:

“周日,天使队在第九局中落后两分时,情况看来不妙,但凭借弗拉迪米尔·葛雷诺赢得的关键一分,洛杉矶天使队挽回败局,在芬威球场以七比六击败波士顿红袜队。”

“周六下午(4月24日),密歇根大学棒球队在威尔彭棒球场——具有历史意义的雷·费舍尔体育场的所在地,通过赢得四分的第五局比赛,扭转局势,最终以七比五赢得了与爱荷华棒球队在周末举行的三场比赛中的最后一场。”

如果你无法分辨哪篇是由人类写的,那你不是唯一一个。

——《纽约时报》

今年3月,美联社宣布,它们将用软件自动生成的文字来报道“大学体育”这个它们之前未曾涉足的领域。而这些报道背后的写手,是Automated Insights公司推出的一款名为Wordsmith的软件,它不仅能在赛后根据技术统计写成综述文章,甚至能根据比赛数据实时评论。这位机器人作家去年创作了10亿篇文章,每秒钟就能写出2000篇故事。

不单是体育新闻,去年《洛杉矶时报》在当地地震后仅几分钟后,用软件自动生成了第一篇报道。机器人作家还能解读枯燥的商业报表、个人健康数据,变成更适合人们理解的文字——或者反过来,将冗长的文章浓缩成一小段摘要。

为了完成摘要,程序首先要搜集关于相同主题的文章。通常关于一个主题,会有来自多个渠道的文章。然后,提取每篇文章中最重要的词。算法一般通过词频和倒序词频来判断——如果一个词重要,它在文中出现的频率就高。但另一些词,如“the”、“a”出现的频率颇高,但是因为每篇文章都出现,所以对单篇文章的内容则表征能力不强,反而不重要,算法需要综合考虑这些特征。

以这些关键词为种子,便能抽取包含它们的语句,再次筛选这些句子,挑选最重要的几句话,就能代表所有文档的摘要了,这种方式称为“抽取式摘要”——没对文字再加工,只把重要的句子抽取出来。还有一种称为“生成式摘要”的技术,会对文字进行再整理,将这几句话揉成一句,还能保留原始信息。不过目前“生成式摘要”技术还不成熟,通常我们所见的案例都来自抽取式摘要。

如何判断摘要算法的优劣?目前的做法是先以人工方式对文章做摘要,再与机器摘要做对比,词语吻合度越高,算法相对越好。但这种判断方式并不绝对有效,虽然从原文“抽取的摘要”大多数通顺,但前后衔接是否连贯,差别很大,用这种测评体系还无法判断。

对了,关于这节开头的两段报道,第一段是计算机,第二段是人类作家的作品。

我们的生活正悄然被自然语言处理技术改变。在写这篇文章时,我常常一口气输入一整句文字的拼音,但很少需要选字。而在几年前,用拼音输入法,一次还只能输入单字或词组,那时“整句输入”只是个美好的愿望。假如单词出现了拼写错误,或有语法问题,计算机也会提示我修改。在未来,或许你我只用先完成一句话,或一个词,计算机就能理解你的意图,告诉你有哪些参考资料,扩展你的写作思路,成为你的写作助手。

而我个人与自然语言计算的“缘分” 或许源自我小时候偶然在别人家发现的一本《唐诗三百首》,由于我非常喜爱所以就借回家天天背,身为地质工程师的父亲见我有这方面爱好,便为我订阅了诗刊。从此我爱上了文学,甚至大学都想考取文科,只是在父亲“学会数理化,走遍全天下”的建议下,才改学理科。但我总琢磨着,计算机应该也可以做与文字有关的事 ——自然语言处理就正是其用武之地。

2004年,时任微软亚洲研究院院长、现任微软全球执行副总裁沈向洋博士让我带领团队试着搞个自动对联,立足中国传统文化做一些创新。我们的研究从机器翻译入手,把对对联当作翻译问题来解决——把输入上联对下联想象成输入一种语言,再翻译出另一种语言的过程,只不过是同语言翻译。在设计模型的时候,我们加入了对联的语言学约束,譬如平仄和对仗。我们收集了古今中外的160万对名联,运用了大数据和翻译技术,基于机器学习进行自动建模。这个对联系统(duilian.msra.cn)于2005年推出,用户可以输入上联,系统会自动对出数个下联、并生成恰当的横批供用户选择。后来我们做的绝句生成,也借鉴了对联技术,用户给定创作的主题,系统经过一个交互过程,逐句生成一首诗。跟对联不同的地方是,在生成某一句的时候,不仅仅要看上一句,还要看前面的所有句子,使得生成的句子前后连贯。

另外,今年我们推出的微软字谜与对联以及刚刚发布的微软绝句也有异曲同工之妙,它针对字形谜,由谜面迅速分析给出谜底,还可以根据用户的谜底迅速生成谜面。因为谜面和谜底是一个映射和联想的过程,研发也是基于互联网平台,对大数据进行搜集、利用统计机器学习方法自动学习建立智能模型。

在对联和诗词基础上,我们也在考虑如何用计算机辅助一般的文章写作,就像前面的新闻写作一样。比如,给定一个主题,电脑自动形成文章的大纲,然后对每一要点,综合已有的大规模数据库和领域知识库,生成候选句子,作者可以根据需要进行修改。这样便可大大提高写作的效率。

在冷冰冰的科技外表之下,自然语言处理技术也能为我们带来恍然大悟和会心一笑。在大数据、机器学习和互联网的推动下,语言的理解、机器翻译、自然语言对话系统、文本生成取得了令人激动的进步,也预示了电脑认知能力可期待的未来。然而人工智能依然任重道远,通过坚忍与淡泊的研究,不断地逼近自然语言理解的极限,并将它巧妙地应用在现实系统中连接广大用户,是与我一样的研究者们毕生的追求。