机器阅读理解:算法与实践
上QQ阅读APP看书,第一时间看更新

1.2 自然语言处理

机器阅读理解属于语言处理的范畴,而自然语言处理是人工智能领域的重要研究方向。它主要分析人类语言的规律和结构,设计计算机模型理解语言并与人类进行交流。自然语言处理的历史可以追溯到人工智能的诞生。在数十年的发展中,自然语言的处理、理解和生成等领域的研究已经取得了长足的进步。这些都为机器阅读理解研究奠定了坚实的基础。本节主要介绍自然语言处理的研究现状及其对机器阅读理解的影响。

1.2.1 研究现状

经过70余年的发展,自然语言处理相关研究已经细化分类成许多子任务。以下是与机器阅读理解相关的重要研究方向。

1)信息检索(information retrieval)。研究如何在海量文档或网页中寻找与用户查询相关的结果。信息检索方面的研究已经相当成熟,并广泛应用在网页搜索等产品中,为信息的传播和获取提供了极大的便利。当一个阅读理解任务涉及大规模文本库时,信息检索通常作为系统中抽取相关信息的第一个模块。

2)问答系统(question and answering system)是指可以自动回答用户提出问题的系统。问答系统与信息检索的区别在于,问答系统需要理解复杂问题的语义,并支持多轮有上下文的对话。例如,对话式阅读理解需要模型同时分析文章语义和之前对话轮次的信息,再对当前问题作出回答。

3)文本分类(text classification)是指对文章、段落、语句进行分类,如将大量网页按照内容和主题进行划分。一些机器阅读理解模型对问题进行分类,如关于时间的问题、关于地点的问题等,以提高答案的准确性。这种问题分类就属于文本分类的范畴。

4)机器翻译(machine translation)研究如何让计算机自动翻译文本,可以应用在跨语言的阅读理解任务中。例如,当文本来自小语种语言时,我们可以利用机器自动翻译常用语言中的阅读理解数据,从而解决训练数据缺乏的问题。

5)文本摘要(text summarization)研究如何用简洁的语言概括文章的主旨和重要信息。由于文本摘要需要对文章语义进行分析并生成结果,其中的很多技术被应用到机器阅读理解中,例如序列到序列模型(sequence-to-sequence),拷贝-生成网络(pointer-generator network)等。

1.2.2 仍需解决的问题

随着相关模型的不断发展,自然语言处理在许多任务中取得了令人瞩目的成绩。但是,仍有许多没有很好解决的问题,其中也包括对基本语言结构和语义的理解。这些也是机器阅读理解研究中亟待解决的问题。

1.语言的歧义性

由于语言的一大特性是用较为精练的语句代表复杂的语义,因此一段文本时常会存在多义和歧义等情况,也就是有多种合理的解释方式。来看下面几个例子。

示例1:工厂领导对小张的批评意见进行过多次讨论。

这里,既可以理解为领导讨论了小张对工厂提出的批评意见,也可以理解为领导讨论了对小张的批评意见。原因是“对”的对象可以是“小张的批评意见”,也可以是“小张”。

示例2:化学所取得的成绩是有目共睹的。

这里,既可以理解为成绩是“化学”取得的,也可以理解为成绩是“化学所”取得的。原因是“所”既可以作为介词,也可以作为“化学所”的一部分。

示例3:我要炒青菜。

这里,可以认为“炒青菜”是一道菜,而“我”在点菜,也可以认为“我”要去炒青菜。原因是“炒”可以作为整句话的动词,也可以和“青菜”组成菜名。

这样的歧义性示例还有许多。即使人类在面对这些语句时,也很难判断说话者的真实意图。但是,如果有上下文信息,歧义就会消除。例如,“我要炒青菜”发生在餐馆点菜语境中,就说明“炒青菜”是一道菜;“化学所取得的成绩是有目共睹的”出现在学校领导对化学所的考评中,就表示成绩是属于“化学所”的。

到目前为止,自然语言处理的模型仍不能很好地理解上下文的语义。研究人员通过分析自然语言处理模型在机器阅读理解模型等任务上的结果,发现现有模型很大程度上是基于单词或关键词进行匹配,这也导致这些模型对于歧义性文本的处理能力很低。

2.推理能力

在人类语言交流中,许多时候可以从语言推理得出结论,而不需要详细说明。例如,下面这个顾客通过客服订票的对话例子:

客服:您好,请问我可以怎样帮助您?

顾客:我想订一张5月初从北京去上海的机票。

客服:好的,那么您想哪天出发?

顾客:嗯,我是去上海开会,这个会从4号开到7号。

客服:好的,下面是5月3日从北京出发到上海的直达航班信息……

上面的对话中,顾客并没有正面回答客服关于哪天出发的问题,而是给出了开会的时间段。但是,从订机票去开会这个事件可以推理出,顾客一定是想在会议开始前到达目的地,因此客服给出了5月3日出发的航班信息。当然,如果顾客想要订上海回北京的机票,客服就应该给出5月7日晚或5月8日出发的航班信息。

因此,智能客服的模型需要根据之前的谈话内容推断出所需要的信息——出发日期。这种推断需要模型具有一定的常识,即航班必须在开会前到达目的地。

近年来已经出现常识和推理在自然语言处理应用上的研究,但如何让模型包含海量的常识并进行有效的推理仍是一个需要解决的问题。