相对于综合任务而言,前面所说的基础任务其实就是一些“准备工作”,在这些准备工作之上,衍生出了很多复杂的任务,尤其是随着深度学习的发展,很多代表着目前人工智能最高水平的工作都在推进中,如信息抽取、阅读理解甚至通用型的智能问答等。下面对这些任务进行简单的介绍。

1、机器翻译。顾名思义,机器翻译就是希望计算机能够自动地进行双语同义变换。在深度学习应用到NLP之前,机器翻译已被研究多年,它们统称为“统计机器翻译”模型,不夸张地说,“统计机器翻译”可以说是传统机器学习方法的巅峰之作了。引入深度学习后,机器翻译也取得比较大的突破,形成了“神经机器翻译”模型。开始时,深度学习模型仅仅是作为传统机器翻译模型的辅助特征,比如Devlin等人[17]将神经网络语言模型引入到传统机器翻译框架的解码过程,并取得了3个BLEU值(机器翻译的一个评测指标)的提升。之后,越来越多的研究者开始采用端到端的深度学习模型来进行机器翻译,其主要体系就是以RNN模型(Recurrent Neural Network,循环神经网络)为基础的Seq2Seq(Sequence to Sequence)模型,这一模型可以直接将输入编码为一个向量,然后对它进行解码得到输出,故而可以应用到很多任务中。

2、文本摘要。文本摘要是希望给出长文本的简短的描述,这个任务也被研究已久,包括新闻标题自动生成等也属于这个范围。传统的做法一般是在提取关键词的基础上,来抽取原文中比较重要的句子作为摘要,这也就是“抽取式”的做法,这种做法简单高效,但并非真正地从语义上进行总结归纳,从而很难得到真正能够概括全文的、流畅的行文。而自深度学习引入以来,同样地Seq2Seq模型也被应用到文本摘要中,实现了“生成式”的文本摘要,即最后所得的句子不一定是原文的句子。“生成式”模型能更好地捕捉语义,生成更高质量的摘要,但存在训练上的困难,而且效果依赖于大量的训练语料,因此效果依然还有很大的提升空间,模型还在进一步的探索和研究中。

3、信息抽取。文本挖掘的难度在于:同一个意思可以有很多不同的表达方式,并没有统一的表达规范,换句话说,文本是非结构化的内容。如果有办法能够将文本中的有效信息提取出来,并且进行一定的规范化,那么就可以直接使用结构化的数据挖掘手段,从而降低挖掘难度,这就是所谓的信息抽取。比如,从一份法院的判刑文书中自动提取出“姓名”、“罪行”、“判刑”、“日期”等信息,从一份简历中自动提取出“姓名”、“学历”、“工作经验”、“擅长技能”等,这些问题不论在学术研究上还是在商业上都有很大的价值。针对这个任务,目前已经有了不少的模型,但还没有形成通用性较强的方案,此外,限于训练语料的不足,因此还没有比较好的端到端的方案。

4、阅读理解。阅读理解是一类比较广泛的任务,像我们平时英语考试中的完形填空(句子挖空然后填词)和材料阅读(材料+问题+选项),都可以归为阅读理解。而诸如斯坦福大学于2016年推出的数据集SQuAD(Stanford Question Answering Dataset),则是“一段材料+多个问题”的形式(没有选项),每个问题的答案是材料中的某个片段,显然这种任务目的是考察模型对文本的推理理解能力;此外,还有像百度在2016年公开的数据集WebQA,则是“多个材料+一个问题”的形式,希望从多个材料中共同决策出正确答案,而这种任务的目的显然是希望能够在检索的基础上做更为精准的回答。可以说,每个数据集都代表着一个经典的阅读理解任务,这些数据集自公布以来,吸引了大量的学者去研究,也得到了很多行之有效的模型。(关于SQuAD的模型及其排行榜,可以查看其主页:https://rajpurkar.github.io/SQuAD-explorer/。)

5、问答系统。问答系统是更加广泛的任务,前面说的阅读理解,也可以说是问答系统的一种,现在比较热门的聊天机器人,也可以说是问答系统,只不过侧重点不一样。而比较狭义的问答系统,则主要指两种任务。第一,是指已经有很多现成的“问题-答案”对(比如很多公司都会有FAQ库),我们希望用它们来训练一个理解和匹配的模型。这种任务在问答系统来看相对简单一点,做法是基于问题跟问题的匹配、问题跟答案的匹配或直接用Seq2Seq模型做生成式的问答。对于工业上来说,这种任务更看重可控性,即确保回答的基本都是对的,而不大肯定的则不要回答,在这个基础上再提高准确率。第二种比较热门的任务是基于知识图谱的问答系统,这种任务需要先把大量的知识结构化,做成一个网络图,然后基于这个网络图进行作答。基于知识图谱的问答系统会有很强的推理能力,比如“姚明的爸爸的儿子的女儿的爸爸是谁”这类问题也可以胜任,但需要的准备工作很多,如何得到一个有效的知识图谱是一大难点,而相关的模型也在发展中。

6、自动写作。其实机器作诗、机器作文、机器写歌、自动编程、看图说话等任务,都可以看成是广义上的自动写作任务。目前,这些任务主要是循环神经网络的杰作,用大量现有的文本材料进行训练一个类似语言模型的模型,然后逐字或逐词进行预测,从而完成本文的写作。目前的最好成果是写出人基本能分辨正确的句子,但如何使得句子更加流畅,甚至是更富有感情,还是一个很艰难的事情。

然而,这些任务是很庞大的,限于本书的定位和作者水平的不足,在后面的章节中,我们只能对这些任务里边某些方面进行探究和实现,无法给出完整的实现代码。当然,本书的大多数工作都是这些综合任务的基础,很多模型都不过是这些基础模型的复合和发展。因此,完成本书学习的读者,笔者相信已经有能力进一步研究更加复杂的任务和模型了。

标签: 机器翻译, 文本摘要, 信息, 问答

添加新评论