社会焦点

从短句到长文,计算机如何学习阅读理解

字号+ 作者: 来源: 2017-05-09

从短句到长文,计算机如何学习阅读理解,初中语文阅读理解解题技巧,阅读用短句的好处,人生格言短句,阅读理解的技巧和方法,三年级阅读理解训练题

  从短句到长文,计算机如何学习阅读理解

(从左至右:崔磊、韦福如、周明、杨南)

在电影《她(HER)》中有这样一幕:主人公是一位信件撰写人,人工智能操作系统萨曼莎在得到他的允许后阅读他的邮件资料,总结出需要保留和删除的邮件,帮助他修改信件草稿中的错字,并且与他探讨她喜爱的信件片段。与此同时,萨曼莎通过阅读主人公的海量信息来了解他,也通过阅读互联网上的海量数据来了解世界。阅读这项人类的基本能力,在众多科幻作品中也成了人工智能的入门标配。

尽管人工智能的热点此起彼伏,但毫无疑问的是,自然语言处理始终是实现智能、自然人机交互愿景里一块重要的技术基石。而机器阅读理解则可以被视为是自然语言处理领域皇冠上的明珠,也是目前该领域的研究焦点之一。

做机器阅读理解研究的学者想必对由斯坦福大学自然语言计算组发起的SQuAD(Stanford Question Answering Dataset)文本理解挑战赛并不陌生,它也被誉为“机器阅读理解界的ImageNet”。诸多来自全球学术界和产业界的研究团队都积极地参与其中,目前微软亚洲研究院的自然语言计算研究组持续稳居榜首,与包括艾伦研究院、IBM、Salesforce、Facebook、谷歌以及CMU(卡内基·梅隆大学)、斯坦福大学等在内的全球自然语言处理领域的研究人员,共同推动着自然语言理解的进步。

  从短句到长文,计算机如何学习阅读理解

2017年5月8日SQuAD排名和结果截图,其中微软亚洲研究院的集成模型(ensemble)和单模型(single model)分列各自排名首位

那么,SQuAD机器阅读理解挑战赛是怎样进行的呢?SQuAD通过众包的方式构建了一个大规模的机器阅读理解数据集(包含10万个问题),即将一篇几百(平均100,最多800)词左右的短文给标注者阅读,随后让标注人员提出最多5个基于文章内容的问题并提供正确答案。SQuAD向参赛者提供训练集用于模型训练,以及一个规模较小的数据集作为开发集,用于模型的测试和调优。与此同时,他们提供了一个开放平台供参赛者提交自己的算法,并利用测试集对其进行评分,评分结果将实时地在SQuAD官网上进行更新。

得益于SQuAD所提供的庞大数据规模,参与该项挑战赛的选手不断地对成绩进行刷新,SQuAD挑战赛也逐步成为行业内公认的机器阅读理解标准水平测试。在今年的ACL大会(自然语言处理领域最顶尖的会议之一)的投稿里,有非常多的论文就是关于这项挑战赛的研究,其影响力可见一斑。从ACL 2017论文主题的可视分析中可以看到,“reading comprehension(阅读理解)”是今年ACL录取论文中最热门的关键词和任务,广受自然语言处理领域研究人员的关注。

“虽然偶尔有一两天其它团队超过了我们的成绩,但我们也有最新的算法能够很快地进行更新,并取得更好的成绩,对于这一点我们的团队始终十分自信。”机器阅读理解研究的主要负责人、微软亚洲研究院自然语言计算研究组主管研究员韦福如表示。

  自然语言计算领域皇冠上的明珠

如今,我们在图像识别、机器翻译和语音识别等研究领域已经看到了机器学习带来的显著成果。例如图像识别技术对癌细胞病理切片的识别能力已逐步超过人类,目前机器围棋棋手的棋力已经几乎无人能敌……在人工智能技术进步向人们展现了各种可喜的成果之后,大家将探寻的目光投向更远的未来,下一个人工智能技术的增长点在哪里?

狂热过后,当我们重新审视人工智能这个问题时,一个最基本的问题可能尚未解决:计算机能够理解多少我们的语言了?

一些人类学家认为,语言是构建人类文明的基石。在语言之上,我们构建了神话、宗教;构建了城邦,帝国;还构建了信任、信仰。计算机发明以来,层出不穷的编程语言都在教人们学会和计算机对话,而人们理想中的人工智能则是应该主动学习,掌握人类语言的奥义。为此微软提出了CaaP(Conversation as a Platform,对话即平台)战略,并将对话式人工智能作为微软在人工智能领域布局的重点。

计算语言学协会(ACL, Association for Computational Linguistics)候任主席,微软亚洲研究院副院长周明博士认为:“自然语言处理的基本研究包括分词、断句、句法语义分析等等。而机器阅读理解就是自然语言计算领域皇冠上的明珠。”

一般来说,人们在读完一篇文章之后就会在脑海里形成一定的印象,例如这篇文章讲的是什么人,做了什么事情,出现了什么,发生在哪里等等。人们能够很轻而易举地归纳出文章中的重点内容。机器阅读理解的研究就是赋予计算机与人类同等的阅读能力,即让计算机阅读一篇文章,随后让计算机解答与文中信息相关的问题。这种对人类而言轻而易举的能力,对计算机来说却并非如此。

很长一段时间以来,自然语言处理的研究都是基于句子级别的阅读理解。例如给计算机一句话,理解句子中的主谓宾、定状补,谁做了何事等等。但长文本的理解问题一直是研究的一个难点,因为这涉及到句子之间的连贯、上下文和推理等更高维的研究内容。

比如下面这段文本: The Rhine (Romansh: Rein, German: Rhein, French: le Rhin, Dutch: Rijn) is a European river that begins in the Swiss canton of Graubünden in the southeastern Swiss Alps, forms part of the Swiss-Austrian, Swiss-Liechtenstein border, Swiss-German and then the Franco-German border, then flows through the Rhineland and eventually empties into the North Sea in the Netherlands. The biggest city on the river Rhine is Cologne, Germany with a population of more than 1,050,000 people. It is the second-longest river in Central and Western Europe (after the Danube), at about 1,230 km (760 mi), with an average discharge of about 2,900 m3/s (100,000 cu ft/s). (大意:莱茵河是一条位于欧洲的著名河流,始于瑞士阿尔卑斯山,流经瑞士、 奥地利、列支敦士登、法国、德国、荷兰,最终在荷兰注入北海。莱茵河上最大的城市是德国科隆。它是中欧和西欧区域的第二长河流,位于多瑙河之后,约1230公里。)

若针对该段内容提问:What river is larger than the Rhine?(什么河比莱茵河长?)人们可以轻易地给出答案:Danube(多瑙河)。但目前即使是最佳的系统模型R-NET给出的输出也并不尽人意,它的回答是:科隆,可见要让计算机真正地理解文本内容并像人一样可以对文字进行推理的难度是如此之大。在回答该问题时,计算机除了要处理文中的指代“it”,还需要算法和模型进一步对“larger than”和“after”这两个表述进行推理,从而得知Danube是正确答案。此外,由于文中并没有显式提到Danube是“river”,所以又加大了系统的推理难度。

但大数据的发展让学者们看到了这一研究方向的曙光。可获取的越来越大的文本数据,加上深度学习的算法以及海量的云计算资源,使得研究者们可以针对长文本做点对点的学习,即对句子、短语、上下文进行建模,这其中就隐藏了一定的推理能力。所以,目前自然语言处理领域就把基于篇章的理解提上研究的议事日程,成为目前该领域的研究焦点之一。而针对上文提及的相关难点,微软亚洲研究院自然语言计算研究组正在进行下一步的研究和探索。

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章