分享

专题 | 自然语言处理学习笔记(一):自动摘要技术简介

 shawnsun007 2016-05-24

投稿

作者: 阿儁是个nerd

这是关于「自动摘要」的原创博客系列文章,由作者 阿儁是个nerd 向机器之心投稿。

最近人工智能随着AlphaGo战胜李世乭这一事件的高关注度,重新掀起了一波新的关注高潮,有的说人工智能将会如何超越人类,有的说将会威胁到人类的生存和发展,种种声音都在表明人工智能的又一个春天即将到来,但很多学者认为媒体的过度炒作,会引发民众对人工智能不切实际地期待,从而导致人工智能寒冬的又一次到来。Yann Lecun作为上一个人工智能寒冬时期还在坚持做冷门的神经网络研究的人,他对AI有一个非常理性的认知。

最近几年在人工智能领域中大热的工程技术deep learning,将机器对图像,语音,人类语言的认知能力都提升了不少,前前后后也涌现出不少不仅仅是很cool而且是非常实用的应用,比如人脸识别,猫脸识别,无人车,语义搜索等等。其中,深度学习技术对图像和语音的影响最大,但对人类语言的理解(NLP)做的没有那么那么好。所以,不必太过鼓吹人工智能将会如何如何,民众的期待不应太过接近科幻电影,不然只能换来无尽的失望,从而导致寒冬的来临。

NLP是一个非常难的task,至今有很多的子task都没有得到太好的解决。虽然每天我们在arxiv上都可以看到update的paper,但大多数都是一些model上的小trick,在个别数据集上跑一些example,和baseline做一些对比,得到所谓的state-of-the-art结果,并没有真正深刻理解要解决的问题,所谓的唯model论。不久前,Christopher D. Manning在文章中写了这么一句话:

However, I would encourage everyone to think about problems, architectures, cognitive science, and the details of human language, how it is learned, processed, and how it changes, rather than just chasing state-of-the-art numbers on a benchmark task.

以上是一些简单的背景介绍,下面进入正题。

自动文摘(auto text summarization)是NLP中较难的技术,难点很多,至今并没有一个非常让人满意的、成熟的技术来解决这个问题。

想法

大家在查文献的时候,输入一个关键词之后,会返回一个paper列表,如果你只看paper的title可能会被一些标题党蒙骗,如果每篇paper都看abstract,时间会花太久,看着很烦。所以我在想,给rsarxiv添加一个功能,基于query的research survey生成。当你输入一个keyword之后,返回的结果不仅仅是paper列表,还有一个非常精炼的survey,你可以通过阅读survey了解到每篇paper的最核心工作,如果你感兴趣的话,可以进一步查看paper的具体内容。

基于这个idea,开始逐步地了解自动文摘技术,所以这一系列blog的目的是为了记录我在学习自动文摘过程中的一些点滴心得。

介绍

第一篇blog对自动文摘做一个简单的介绍。

自动文摘技术应用最广的领域在于新闻,由于新闻信息的过载,人们迫切地希望有这么一个工具可以帮助自己用最短的时间了解最多的最有用的新闻(为什么不直接看标题呢?因为很多新闻为了哗众取宠,故意将标题起的特别吸引人眼球,但却名不副实),因此就有了Yahoo 3000w$$ 收购summly的交易。另外,搜索引擎也是应用之一,基于query的自动文摘会帮助用户尽快地找到感兴趣的内容。前者是单文档摘要技术,后者是多文档摘要技术,后者较于前者会更加复杂一些。

自动文摘出现的重要原因之一是信息过载问题的困扰,(当然个性化推荐系统是解决信息过载的另外一个好的办法)另外一个重要原因是人工文摘的成本较高。可以想象,如果计算机有能力写出一个topic下的综述paper,也就不需要survey作者去花大量的时间来读和写了。

自动文摘要解决的问题描述很简单,就是用一些精炼的话来概括整篇文章的大意,用户通过阅读文摘就可以了解到原文要表达的意思。问题包括两种解决思路,一种是extractive,抽取式的,从原文中找到一些关键的句子,组合成一篇摘要;另外一种是abstractive,摘要式的,这需要计算机可以读懂原文的内容,并且用自己的意思将其表达出来。现阶段,相对成熟的是抽取式的方案,有很多很多的算法,也有一些baseline的测试,但得到的摘要效果差强人意,对后者的研究并不是很多,人类语言包括字、词、短语、句子、段落、文档这几个level,研究难度依次递增,理解句子、段落尚且困难,何况是文档,这是自动文摘最大的难点。

自动文摘的方法主要分为两大类,extractive和abstractive。前者是目前最主流、应用最多、最容易的方法,后者相对来说更有一种真正人工智能的味道。还有另外一种分类方法是,单文档摘要和多文档摘要,前者是后者的基础,但后者不只是前者结果简单叠加那么简单。本文只介绍单文档的extractive方法。

Extractive Summarization

抽取式的方法基于一个假设,一篇文档的核心思想可以用文档中的某一句或几句话来概括。那么摘要的任务就变成了找到文档中最重要的几句话,也就是一个排序的问题。

排序是一个非常经典的问题,也是一个非常多解决方案的问题。比如:Google根据用户的query生成的网页列表,就是一个排序之后的结果;再比如Amazon的推荐系统推荐给用户的N个可能感兴趣的产品,也都是通过算法做了排序输出的。

排序针对不同的问题,需要提出不同的指标,比如有的应用关心的是相关性,有的关心的是时效性,有的关心的是新颖性等等,在这个层面上来讨论排序,会有不同的模型。

一般的抽取式摘要问题,会考虑相关性和新颖性两个指标。相关性是指摘要所用的句子最能够代表本文档的意思,而新颖性是指候选句子包含的冗余信息要少,尽可能每句话都可以独立地表达出一种独立的意思。

下面简单介绍一些思路。

预处理

NLP任务的标准流程中第一步都是预处理,将拿到的文本做分句,这里有两种可能性,一是用句点或者其他可以表达一句话结尾的符号作为分隔,另外一种是用逗号作为分隔符获取句子。

词、句表示

这一步的思路是:将词、句子表示成计算机能理解的量,然后计算一些指标进行排序。这个地方也是各种算法、模型最大的不同之处:

1、Bag Of Words。词袋模型将词定义为一个维度,一句话表示成在所有词张成的空间中的一个高维稀疏向量。

2、TFIDF。可以理解为带权重的词袋模型,计算出每个词的TFIDF值,作为该词的权重。

3、LDA/LSI。将整篇文档利用TFIDF模型表示成一个矩阵,做SVD降维分解,生成两个矩阵,一个是文档-话题矩阵、另一个是词-话题矩阵。得到词-话题矩阵之后,可以得到句子-话题矩阵。

4、Word Embedding。Tomas Mikolov提出的Word2Vec,用了很多技巧和近似的思路让word很容易地表示成一个低维稠密向量,在很多情况下都可以达到不错的效果。词成为了一个向量,句子也可有很多种方法表示成一个向量。

排序

这里介绍两种常见的方法。

1、基于图排序

将文档的每句话作为节点,句子之间的相似度作为边权值构建图模型,用pagerank算法进行求解,得到每个句子的得分。

代表算法有TextRank和LexRank。

2、基于特征

特征工程在深度学习火之前是解决特定领域问题的良药,这里用到的特征包括:

  1. 句子长度,长度为某个长度的句子为最理想的长度,依照距离这个长度的远近来打分。

  2. 句子位置,根据句子在全文中的位置,给出分数。(比如每段的第一句是核心句的比例大概是70%)

  3. 句子是否包含标题词,根据句子中包含标题词的多少来打分。

  4. 句子关键词打分,文本进行预处理之后,按照词频统计出排名前10的关键词,通过比较句子中包含关键词的情况,以及关键词分布的情况来打分。

代表算法是TextTeaser。

后处理

排序之后的结果只考虑了相关性并没有考虑新颖性,非常有可能出现排名靠前的几句话表达的都是相似的意思。所以需要引入一个惩罚因子,将新颖性考虑进去。对所有的句子重新打分,如下公式:

a x score(i) + (1-a) x similarity(i,i-1), i = 2,3,….N

序号i表示排序后的顺序,从第二句开始,排第一的句子不需要重新计算,后面的句子必须被和前一句的相似度进行惩罚。

这个算法就是所谓的MMR(Maximum Margin Relevance)

输出

输出的结果一般是取排序后的前N句话,这里涉及到一个非常重要的问题,也是一直自动文摘质量被诟病的问题,可读性。因为各个句子都是从不同的段落中选择出来的,如果只是生硬地连起来生成摘要的话,很难保证句子之间的衔接和连贯。保证可读性是一件很难的事情。

这里有一个取巧的方法,就是将排序之后的句子按照原文中的顺序输出,可以在一定程度下保证一点点连贯性。

作者微博:阿儁是个nerd

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多