马海祥博客是一个专注于分享SEO优化、网站制作、网络营销和运营思维的自媒体博客!
马海祥博客 > SEO优化 > SEO研究院 > 如何利用词频统计原理自动提取文章摘要?

如何利用词频统计原理自动提取文章摘要?

时间:2013-10-15   文章来源:马海祥博客   访问次数:

我一直觉得要想做好SEO,要做大一个网站,需要的不光是我们的坚持,也更需要一个正确的SEO技术,一个可行的SEO方法,一个合理的SEO策略,这也就是我一直提倡是SEO思维。虽说搜索引擎有着自己很复杂的算法,可有的时候,一个很简单的数学方法,就可以完成很复杂的任务。比如前面我在马海祥博客上跟大家分享的依靠统计词频和余弦相似性,就能找出文章的关键词和判定相似文章。虽然它们在效果方面算不上最好的方法,但肯定是最简便易行的方法。

由于前面的两篇文章受到各位博友的好评,所以今天我要在马海祥博客上跟大家分享的依然是这个主题。那就是讨论如何通过词频统计分析,对文章进行提取自动摘要(Automatic summarization)?

如何利用词频统计原理自动提取文章摘要?-马海祥博客
(图1)

如果我们能从3000字的文章中,提炼出150字的摘要,也就可以为读者节省大量阅读时间。简单的说,由人完成的摘要叫"人工摘要",由机器完成的也就叫"自动摘要"了。对于这一功能也已经被很多的网站使用了,比如论文网站、新闻网站、搜索引擎等等。

2007年,美国学者的一篇论文《A Survey on Automatic Text Summarization》(Dipanjan Das, Andre F.T. Martins, 2007)总结了目前的自动摘要算法。其中,很重要的一种就是词频统计。

这种方法最早出自1958年的IBM公司科学家H.P. Luhn的论文《The Automatic Creation of Literature Abstracts》。

Luhn博士认为,文章的信息都包含在句子中,有些句子包含的信息多,有些句子包含的信息少。“自动摘要”就是要找出那些包含信息最多的句子。

句子的信息量用“关键词”来衡量。如果包含的关键词越多,就说明这个句子越重要。当时Luhn提出用“簇”(cluster)表示关键词的聚集。所谓“簇”就是包含多个关键词的句子片段。

如何利用词频统计原理自动提取文章摘要?-马海祥博客
(图2)

上图2就是Luhn原始论文的插图,被框起来的部分就是一个“簇”。只要关键词之间的距离小于“门槛值”,它们就被认为处于同一个簇之中。Luhn建议的门槛值是4或5。也就是说,如果两个关键词之间有5个以上的其他词,就可以把这两个关键词分在两个簇。

下一步,对于每个簇,就需要计算它的重要性分值,如下图3所示:

如何利用词频统计原理自动提取文章摘要?-马海祥博客
(图3)

我们以图2为例,其中的簇一共有7个词,其中4个是关键词。因此,它的重要性分值等于 ( 4 x 4 ) / 7 = 2.3。

然后,找出包含分值最高的簇的句子(比如5句),把它们合在一起,就构成了这篇文章的自动摘要。

后来,Luhn的这种算法被简化,不再区分"簇",只考虑句子包含的关键词。下面就是一个例子(采用伪码表示),只考虑关键词首先出现的句子。

Summarizer(originalText, maxSummarySize):

// 计算原始文本的词频,生成一个数组,比如[(10,'the'), (3,'language'), (8,'code')...]
  wordFrequences = getWordCounts(originalText)

// 过滤掉停用词,数组变成[(3, 'language'), (8, 'code')...]
  contentWordFrequences = filtStopWords(wordFrequences)

// 按照词频进行排序,数组变成['code', 'language'...]
  contentWordsSortbyFreq = sortByFreqThenDropFreq(contentWordFrequences)

// 将文章分成句子
  sentences = getSentences(originalText)

// 选择关键词首先出现的句子
  setSummarySentences = {}
  foreach word in contentWordsSortbyFreq:
  firstMatchingSentence = search(sentences, word)
  setSummarySentences.add(firstMatchingSentence)
  if setSummarySentences.size() = maxSummarySize:
  break

// 将选中的句子按照出现顺序,组成摘要
  summary = ""
  foreach sentence in sentences:
  if sentence in setSummarySentences:
  summary = summary + " " + sentence

return summary

其实,如上面类似的算法也早已被广泛使用了,有的也已经被写成了工具,比如基于Java的Classifier4J库的SimpleSummariser模块、基于C语言的OTS库、以及基于classifier4J的C#实现和python实现。

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于http://www.mahaixiang.cn/seoyjy/295.html,注明出处;否则,禁止转载;谢谢配合!

相关标签搜索: 词频统计   词频原理   自动摘要   提取文章摘要  

上一篇:搜索引擎判定相似文章网页的原理
下一篇:解读IIS日志中搜索引擎蜘蛛名称代码及爬寻返回代码

您可能还会对以下这些文章感兴趣!

  • 影响谷歌搜索排名算法的5大趋势

    从2010年开始谷歌的算法调整就非常的频繁,熊猫、企鹅、蜂鸟算法等都是典型的例子,而这些算法都主要是打击那些低质量链接和内容的网站,打击黑帽SEO对互联网带来的不良影响。而那些给用户提供高质量内容的网站将会获得更好的排名,得到更多的访客。这就意味着你的网站需要给……【查看全文

    阅读:513关键词: 谷歌搜索   排名算法   谷歌搜索排名   谷歌搜索算法   日期:2014-05-18
  • 详解Google Analytics计算流量及统计流量的原理

    对于一个SEO来说,网站流量来源分析是一个至关重要的工作,因为从网站的流量来源分布情况,可以判定出我们近期工作的成效,也可以制定我们下一部工作的重点规划,而对于大多数站长和SEOer来说,我们所依据的也都是依靠Google Analytics、百度统计和cnzz提供的流量记录……【查看全文

    阅读:3121关键词: 计算流量   统计流量   日期:2014-08-02
  • 影响搜索引擎算法和SEO优化的139个相关因素

    众所周知,网站优化是随着搜索引擎算法的升级不断的探索和寻求效果的优化推广方式,对于网站的SEO优化,也是SEO技术不断提升的一个过程,随着搜索引擎的算法在不断的完善,网站的竞争应该会趋向于网站的内容,网站的内容越好,那么跳出率就不会高,排名也会比较的靠前,……【查看全文

    阅读:907关键词: 搜索引擎   搜索引擎算法   seo优化   seo因素   seo   日期:2014-07-31
  • 百度人工词:做SEO必须要知道的特殊关键词

    在做SEO的行业里有这样一个名词人工词,这个词出现的频率不高,但是却很受争议,因为它本身就代表着一种争议。人工词简单地说也就是禁词,这种词所有人都想去做,去优化,因为至少他能给你的网站带来巨大的流量。但是,你或许会遇到这样的情况,不论你怎么优化,你的网站排名……【查看全文

    阅读:1709关键词: 百度人工词   SEO   特殊关键词   人工词   关键词   日期:2013-11-21
  • Google图片搜索辨别技术的原理

    自从做了这个关于seo思维的马海祥博客以后,最近一直在写些关于seo经验的文章跟大家分享,为了使文章更加的生动形象,增加趣味性,我也特意在文章中穿插了一些图片,于是最近也就经常用百度图片搜索、google图片搜索功能,在使用的过程中,也使我对搜索引擎是如何把图片……【查看全文

    阅读:1107关键词: Google图片   图片搜索   Google图片搜   日期:2012-09-15
  • 网站运营的八大SEO策略

    一个大型网站的SEO成功,绝不仅仅是依靠单一SEO技术的成功,最重要的还是靠SEO思维策略,并且把这些SEO思维策略融入到网站运营中,才能使其SEO达到最佳的效果!总的来说,SEO策略就通过实践、总结、思考和创新来创造或者组合各种资源来达放大突破SEO效果,区别于SEO技术……【查看全文

    阅读:1657关键词: 网站运营   SEO策略   网站SEO策略   网站SEO   日期:2013-12-27
  • 什么是长尾关键词?

    网站上非目标关键词但也可以带来搜索流量的关键词,称为长尾关键词。长尾关键词的特征是比较长,往往是2-3个词组成,甚至是短语,存在于内容页面,除了内容页的标题,还存在于内容中。搜索量非常少,并且不稳定。长尾关键词带来的客户,转化为网站产品客户的概率比目标……【查看全文

    阅读:7840关键词: 长尾关键词   关键词   长尾关键词是   关键词是什么   日期:2013-10-12
  • 网站点击率对关键词排名到底有没有影响

    网站的总流量对排名并没有太大的直接影响,但是通过来自搜索引擎某关键词的流量,相比同关键词下的其它网站流量,对网站的该关键词的排名影响较大。其它因素还有:网站用户停留时间较长,你的网站PV量,跳出率。如果你的网站来自搜索引擎里面的点击量相比其他来说更多,……【查看全文

    阅读:4363关键词: 网站点击率   关键词排名   点击率   网站排名   关键词   日期:2014-09-12
  • 百度索引量下降的原因及解决方法

    作为一名专业的SEO人员,我们很多的时候都在研究站点中有多少页面可以作为搜索候选结果,也就是一个网站的索引量,所谓网站索引量,就是搜索引擎抓取你网站的数量,这能影响到网站收录率,是一个非常重要的SEO因素,索引量是流量的基础,索引量数据的每一个变动都拨动着……【查看全文

    阅读:5191关键词: 百度索引量   百度   索引量   百度索引   日期:2015-05-21
  • 301永久重定向的设置方法大全

    301永久重定向是在搜索引擎优化中很常用的一个域名地址跳转的操作,可以帮助我们转移域名的权重,但是在做301重定向的时候由于服务器系统、网站程序语言、域名和链接地址的不同,使用的方法也不同,这个时候我们就需要根据具体的网站环境来制定不同的301重定向方法。……【查看全文

    阅读:9302关键词: 301重定向   永久重定向   301设置   重定向方法   日期:2014-10-17
↓ 点击查看更多 ↓

互联网更多>>

SEO优化 更多>>

一个完整的企业网站首页应该具备什么因素? 如何利用极客精神优化网站的网络组件和代码