CN103646029B - 一种针对博文的相似度计算方法 - Google Patents

一种针对博文的相似度计算方法 Download PDF

Info

Publication number
CN103646029B
CN103646029B CN201310538588.1A CN201310538588A CN103646029B CN 103646029 B CN103646029 B CN 103646029B CN 201310538588 A CN201310538588 A CN 201310538588A CN 103646029 B CN103646029 B CN 103646029B
Authority
CN
China
Prior art keywords
word
text
blog article
fingerprint
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310538588.1A
Other languages
English (en)
Other versions
CN103646029A (zh
Inventor
王欢龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongsou Cloud Business Network Technology Co ltd
Original Assignee
Beijing Zhongsou Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongsou Network Technology Co ltd filed Critical Beijing Zhongsou Network Technology Co ltd
Priority to CN201310538588.1A priority Critical patent/CN103646029B/zh
Publication of CN103646029A publication Critical patent/CN103646029A/zh
Application granted granted Critical
Publication of CN103646029B publication Critical patent/CN103646029B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种针对博文的相似度计算方法,包括以下步骤:预处理博文;分别计算处理后的原文和转发文中所有词语的权重;合并原文和转发文词语的权重,并将所得结果按降序排列;生成指纹。本发明的微博内容相似度计算方法,算法简明,效果显著;生成指纹阶段按博文的长度(词语个数)直接去对应的指纹集去查找指纹,减少了匹配次数,节省了计算时间,提升了计算相似度的效率和准确率,实现了微博搜索引擎对及时性和高效性的要求。

Description

一种针对博文的相似度计算方法
技术领域
本发明属于电子识别技术领域,具体涉及一种针对博文的相似度计算方法。
背景技术
相似博文(微博内容,以下简称博文)在微博中的大量存在,给微博搜索应用带来了多方面的问题,如采集***反复抓取同样内容的博文给索引导致索引的重复与额外存储空间的消耗,并降低了微博搜索应用的性能和用户体验。因此,若有效的相似博文计算算法能够去除大量的相似博文,则可以大大减轻微博搜索应用的负担和提升微博搜索应用的性能与用户体验。
目前国内外还没有什么比较好的针对博文的相似度计算方法,这里介绍几个比较流行的网页相似度计算方法,有基于网页特征码的算法,基于关键词的算法,Charikar的Simhash算法和Broder的Shingle算法等。
基于网页特征码的算法,该算法的关键是对网页特征的提取,以句号为中心,在句号两边各取长度相等的一串字词作为网页的特征码,提取出特征码后可以采用B-Tree来组织这些特征码以便快速的查找是否出现了相同网页,然后计算两个网页的特征码集的重叠率作为网页的相似度。若相似度超过某个设定的临界值,则判定两个网页相似。
基于网页关键词的算法,该算法是首先通过对网页的解析,提取出网页标题的关键词,然后在网页正文中获取和标题关键词相关度高的其他关键词形成该网页的关键词集。当需要对一个网页判定是否存在重复网页的时候,可以在倒排表中查询包含该网页关键词集中的全部或部分关键词的网页,然后计算两个网页的关键词集的重叠率作为网页的相似度。若相似度超过某个设定的临界值,则判定两个网页相似。
Simhash该算法可以将一个多维向量映射成一个只需较小存储空间的指纹(Fingerprint),它是一种指纹识别技术,该技术拥有两个看似冲突的重要性质:首先,一个文档的指纹是这个文档的特征集的“哈希”;其次,相似文档有着相似的哈希,即相似文档的指纹只有少数bit不相同。当要计算两个网页的相似度的时候,可以计算两个指纹(二进制向量)之间的Hamming距离,即两个二进制向量中不相同位的个数。如果该值足够小,即Hamming距离小于某个设定的临界值时,则可以判定两个网页相似。
Shingle算法的设计思想则是通过对网页文本信息的处理,得到k个连续单词序列,这个连续单词序列构成一个Shingle,网页最后就由一个shingle的集合来表示。所有网页的shingle集合最后采用一种类似于倒排索引方式的倒排表来存储,如(Shingle,文档ID)以标示某个shingle出现在某个网页文档中。如果两个网页非常相似,则网页中很可能会有公共shingle,公共的shingle越多,网页越相似,从而判定两个网页的相似度。
Simhash和Shingle都需要对文本提取出多个hash数值才可以继续,所以它比较耗费CPU和内存资源,针对即时性要求高的微博搜索应用来说不太适用。
基于特征值的算法需要以句号为中心择取多个特征值来做相似判断,而微博这种短文本存在句号的可能性和数量都不高,所以该算法不太适合微博搜索应用。
基于关键词的算法需要网页标题,博文不存在网页标题,所以不完全适用于微博搜索引擎的应用。
发明内容
为了克服上述现有技术的不足,本发明提供一种简单高效的博文相似度计算方法,实现微博搜索引擎对及时性和高效性的要求。
为了实现上述发明目的,本发明采取如下技术方案:
一种针对博文的相似度计算方法,其特征在于,所述方法包括以下步骤:
A.预处理博文;
B.分别计算处理后的原文和转发文中所有词语的权重;
C.合并原文和转发文的权重,并将所得结果按降序排列;
D.生成指纹。
优选地,所述步骤A包括:去除博文中的无用信息,将大写字母转为小写,并对提取后的文本分词,统计各个切分词语的词频。
优选地,所述步骤B中计算原文词语的权重如下式表达:
计算转发文词语的权重如下式表达:
式中,C为原文中切分词语的总数,C为转发文中切分词语的总数,TF为切分词语在文中的词频,IDF为逆向文件频率,代表着该词的区分度,从已有词典中直接取得。
优选地,步骤C中,所述合并为:将原文和转发文中相同切分词语的权重相加,作为该词语在整篇博文中的权重。
优选地,所述步骤D包括以下步骤:
D-1.取出权重高的前n个词作为该微博的核心词,计算核心词的哈希值,并查找哈希表是否存在该核心词,如没有,执行步骤D-3;否则,执行步骤D-2;
D-2.遍历该核心词哈希项所有的指纹结点是否存在与当前m个二级匹配词重叠率满足阈值的,如存在,执行步骤D-4,否则,执行步骤D-3;
D-3.即之前没有过相似的博文,需生成新指纹,把该指纹、核心词语和m个二级匹配词语存储在哈希表内对应的位置上;
D-4.有相似的博文,返回重叠率符合阈值的二级匹配词所属的指纹;同时查看重叠率是否为1,如不是,则把当前的二级匹配词挂在当前指纹结点下。
优选地,所述无用信息包括:超链接、标签、表情符号。
优选地,所述二级匹配词为所有切分词语中除去核心词之后剩下的词;所述阈值为针对重叠率设定的临界值。
与现有技术相比,本发明的有益效果在于:
本发明的微博内容相似度计算方法,算法简明,效果显著;生成指纹阶段按博文的长度(词语个数)直接去对应的指纹集去查找指纹,减少了匹配次数,节省了计算时间,提升了计算相似度的效率和准确率,实现了微博搜索引擎对及时性和高效性的要求。
附图说明
图1是本发明计算方法的流程图;
图2是本发明实施例中生成指纹的具体流程图;
图3是本发明实施例中指纹集的内存结构图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
博文包含原文和转发文,所以博文的相似度应该有原文和转发文共同决定,但他们又都存在一些链接、表情和@人名等与博文关系弱的垃圾信息。因此,先对原文和转发文进行预处理,去除链接、表情和@人名等垃圾信息,然后分词计算每个词的权重之后提取权重比较高的(n+m)个词来作为这篇微博的关键词。
关键词又分为两部分,权重最高前n个词作为该博文的核心词,关键词剩下的m个词作为该博文的二级匹配词。判断依据是如果两篇博文的核心词相同,且二级匹配词重叠率达到一定的阈值,我们就认为两篇博文相似,给相同指纹。反之,则不相似,给不同的指纹。
这里根据博文的切分词后词语个数C(原文和转发文的词语总数),按下表所示的规则分为三个集合,分别计算对应的指纹,这样减少了计算相似度过程中的匹配次数,提升了计算效率。
满足条件 核心词语数n 二级匹配词语数m 指纹集名称
C>10 3 5 大文本指纹集
5<C<=10 2 3 中文本指纹集
C<=5 C 0 小文本指纹集
计算相似度的具体流程如图1所示。
具体步骤如下:
1.微博预处理,去除原文和转发文中存在的链接、标签和@人名等垃圾信息,并把拼音统一转换成小写。
2.根据TF和IDF还有其他的附属信息分别计算原文和转发文所有词语的权重。分别生成了词语对权重的一维向量。下面是计算原文词语权值的公式2-1,和计算转发文词语权重的公式2-2。
…………………………………(式2-1)
…………………………………(式2-2)
其中,TF(Term Frequency)为切分词语在文中出现的次数(词频),是在预处理阶段统计出来的。IDF(Inverse Document Frequency)为逆向文件频率,代表着该词的区分度,既该词的价值,为小数,是从已有词典中直接取得。C为原文中的有效词语总数,既预处理之后的词语总数。同理,C为转发文经过预处理后的词语总数。
3.把原文词语权重向量和转发文的词语权重向量合并(相同词语权重相加),以此作为整篇博文的词语权重向量。并按权重降序排序。
4.指纹集内生成指纹的过程如图2所示(图3为指纹集的内存结构图),具体如下:4.1取出权重最高的前n个词作为该微博的核心词,计算核心词语的哈希值,查找哈希表是否存在该核心词语,如没有,goto4.3。否则,goto4.2。
4.2遍历该哈希项所有的指纹结点是否存在与当前m个二级匹配词重叠率满足某个设定的临界值的,如存在,goto4.4,否则goto4.3。
4.3即之前没有过相似的博文,需生成新指纹,把该指纹、核心词语和m个二级匹配词语存储在哈希表内对应的位置上。
找到了相似的博文,返回重叠率符合阈值的二级匹配词所属的指纹。同时查看重叠率是否为1,如不是,需要把当前的二级匹配词挂在当前指纹结点下。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

Claims (5)

1.一种针对博文的相似度计算方法,其特征在于,所述方法包括以下步骤:
A.预处理博文;
B.分别计算处理后的原文和转发文中所有词语的权重;
C.合并原文和转发文的权重,并将所得结果按降序排列;
D.生成指纹;
所述步骤D包括以下步骤:
D-1.取出权重高的前n个词作为该微博的核心词,计算核心词的哈希值,并查找哈希表是否存在该核心词,如没有,执行步骤D-3;否则,执行步骤D-2;
D-2.遍历该核心词哈希项所有的指纹结点是否存在与当前m个二级匹配词重叠率满足阈值的,如存在,执行步骤D-4,否则,执行步骤D-3;
D-3.即之前没有过相似的博文,需生成新指纹,把该指纹、核心词语和m个二级匹配词语存储在哈希表内对应的位置上;
D-4.有相似的博文,返回重叠率符合阈值的二级匹配词所属的指纹;同时查看重叠率是否为1,如不是,则把当前的二级匹配词挂在当前指纹结点下;
所述二级匹配词为所有切分词语中除去核心词之后剩下的词;所述阈值为针对重叠率设定的临界值。
2.如权利要求1所述的方法,其特征在于:所述步骤A包括:去除博文中的无用信息,将大写字母转为小写,并对提取后的文本分词,统计各个切分词语的词频。
3.如权利要求1所述的方法,其特征在于,所述步骤B中计算原文词语的权重如下式表达:
计算转发文词语的权重如下式表达:
式中,C为原文中切分词语的总数,C为转发文中切分词语的总数,TF为切分词语在文中的词频,IDF为逆向文件频率,代表着该词的区分度,从已有词典中直接取得。
4.如权利要求1所述的方法,其特征在于:步骤C中,所述合并为:将原文和转发文中相同切分词语的权重相加,作为该词语在整篇博文中的权重。
5.如权利要求2所述的方法,其特征在于:所述无用信息包括:超链接、标签、表情符号。
CN201310538588.1A 2013-11-04 2013-11-04 一种针对博文的相似度计算方法 Expired - Fee Related CN103646029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310538588.1A CN103646029B (zh) 2013-11-04 2013-11-04 一种针对博文的相似度计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310538588.1A CN103646029B (zh) 2013-11-04 2013-11-04 一种针对博文的相似度计算方法

Publications (2)

Publication Number Publication Date
CN103646029A CN103646029A (zh) 2014-03-19
CN103646029B true CN103646029B (zh) 2017-03-15

Family

ID=50251245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310538588.1A Expired - Fee Related CN103646029B (zh) 2013-11-04 2013-11-04 一种针对博文的相似度计算方法

Country Status (1)

Country Link
CN (1) CN103646029B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079559B (zh) * 2014-06-05 2017-07-25 腾讯科技(深圳)有限公司 一种网址安全性检测方法、装置及服务器
CN104615714B (zh) * 2015-02-05 2019-05-24 北京中搜云商网络技术有限公司 基于文本相似度和微博频道特征的博文排重方法
CN105786799A (zh) * 2016-03-21 2016-07-20 成都寻道科技有限公司 网络文章原创性判定方法
CN106569989A (zh) * 2016-10-20 2017-04-19 北京智能管家科技有限公司 一种用于短文本的去重方法及装置
CN108595517B (zh) * 2018-03-26 2021-03-09 南京邮电大学 一种大规模文档相似性检测方法
CN110399464B (zh) * 2019-07-30 2023-04-07 广州吉信网络科技开发有限公司 一种相似新闻判别方法、***及电子设备
CN111159996B (zh) * 2019-12-31 2023-03-24 福建福诺移动通信技术有限公司 基于文本指纹算法的短文本集合相似度比较方法及***
CN112084776B (zh) * 2020-09-15 2023-11-10 腾讯科技(深圳)有限公司 相似文章的检测方法、装置、服务器和计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977360A (zh) * 2010-09-30 2011-02-16 北京新媒传信科技有限公司 垃圾短信过滤方法
CN102693279A (zh) * 2012-04-28 2012-09-26 合一网络技术(北京)有限公司 一种快速计算评论相似度的方法、装置及***
CN102799647A (zh) * 2012-06-30 2012-11-28 华为技术有限公司 网页去重方法和设备
CN102831198A (zh) * 2012-08-07 2012-12-19 人民搜索网络股份公司 一种基于文档签名技术的相似文档识别装置及方法
CN103020140A (zh) * 2012-11-21 2013-04-03 合一网络技术(北京)有限公司 一种对互联网用户评论内容自动过滤的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725766B2 (en) * 2010-03-25 2014-05-13 Rovi Technologies Corporation Searching text and other types of content by using a frequency domain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977360A (zh) * 2010-09-30 2011-02-16 北京新媒传信科技有限公司 垃圾短信过滤方法
CN102693279A (zh) * 2012-04-28 2012-09-26 合一网络技术(北京)有限公司 一种快速计算评论相似度的方法、装置及***
CN102799647A (zh) * 2012-06-30 2012-11-28 华为技术有限公司 网页去重方法和设备
CN102831198A (zh) * 2012-08-07 2012-12-19 人民搜索网络股份公司 一种基于文档签名技术的相似文档识别装置及方法
CN103020140A (zh) * 2012-11-21 2013-04-03 合一网络技术(北京)有限公司 一种对互联网用户评论内容自动过滤的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Hash技术的重复性评论检测;李真等;《计算机应用》;20091231;第29卷;第263-266页 *

Also Published As

Publication number Publication date
CN103646029A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
CN103646029B (zh) 一种针对博文的相似度计算方法
CN104573046B (zh) 一种基于词向量的评论分析方法及***
CN104615593B (zh) 微博热点话题自动检测方法及装置
CN103646080A (zh) 基于倒序索引的微博去重方法和***
CN104199857B (zh) 一种基于多标签分类的税务文档层次分类方法
CN103678412B (zh) 一种文档检索的方法及装置
CN108132929A (zh) 一种海量非结构化文本的相似性计算方法
CN103150382B (zh) 基于开放知识库的短文本语义概念自动化扩展方法及***
CN103294681B (zh) 一种搜索结果的生成方法和装置
CN103838833A (zh) 基于相关词语语义分析的全文检索***
CN102955857B (zh) 一种搜索引擎中基于类中心压缩变换的文本聚类方法
Sun et al. The keyword extraction of Chinese medical web page based on WF-TF-IDF algorithm
CN102682085A (zh) 一种网页去重的方法
CN106708947B (zh) 一种基于大数据的网络文章转发识别方法
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
CN104268230B (zh) 一种基于异质图随机游走的中文微博客观点探测方法
CN102929902A (zh) 一种基于中文检索的分词方法及装置
CN112507109A (zh) 一种基于语义分析与关键词识别的检索方法和装置
CN103207864A (zh) 一种网络小说内容近似度比对方法
CN108920482A (zh) 基于词汇链特征扩展和lda模型的微博短文本分类方法
CN100458797C (zh) 一种对网络广告进行排序的方法
CN105404677A (zh) 一种基于树形结构的检索方法
CN102722526B (zh) 基于词性分类统计的重复网页和近似网页的识别方法
CN105824915A (zh) 一种网购产品评论文摘生成方法及***
CN105574004A (zh) 一种网页去重方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170503

Address after: 100086 Beijing, Haidian District, North Third Ring Road West, No. 43, building 5, floor 08-09, No. 2

Patentee after: BEIJING ZHONGSOU CLOUD BUSINESS NETWORK TECHNOLOGY Co.,Ltd.

Address before: Shou Heng Technology Building No. 51 Beijing 100191 Haidian District Xueyuan Road room 0902

Patentee before: BEIJING ZHONGSOU NETWORK TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170315

Termination date: 20211104