改进的Simhash算法在文本去重中的方法及系统技术方案

技术编号:21478013 阅读:32 留言:0更新日期:2019-06-29 04:54
本发明专利技术属于信息处理技术领域,公开了一种改进的Simhash算法在文本去重中的方法及系统,利用基于TF‑IDF算法与信息熵进行加权得到权重,并按照在文档中的分布进行排序,对每个特征词汇生成的hash再与特征词汇所在位置进行异或;经过改进的权重计算后,引入权重阈值Wt,增加文本分布信息,使最终生成的指纹体现关键信息的比重,并对指纹信息与权重的关联性进行分析。仿真实验表明,本发明专利技术优化权重计算能有效的提升Simhash算法的性能,E‑Simhash算法在去重率、召回率、F值等方面均优于传统Simhash算法,并且在文本去重方面取得了良好的效果。

【技术实现步骤摘要】
改进的Simhash算法在文本去重中的方法及系统
本专利技术属于信息处理
,尤其涉及一种改进的Simhash算法在文本去重中的方法及系统。
技术介绍
目前,业内常用的现有技术是这样的:在去除冗余数据方面,Simhash算法是当前公认的最好的去重算法。该算法是一种局部敏感哈希算法,它能够将高维数据进行概率降维并映射为位数较少且固定的指纹,之后再对指纹进行相似度比较来反映数据之间的相似程度。其中相似度比较通常使用海明距离或编辑距离。Simhash算法优势在于处理速度快,并且结果准确度高。如今,Simhash算法被广泛应用在近似文本检测、冗余数据去重、异常检测等领域。董博,郑庆华等提出了一种基于多Simhash指纹算法,利用多种指纹值经过k维多曲面进行相似度计算,有效地解决了指纹单一,信息丢失严重的问题;陈波,潘永涛等在Simhash算法中加入了减值运算,对最后合并的结果序列串结果减去一个阈值T,从而提升了Simhash算法的准确性。NIS,QianQ等将Simhash算法和CNN进行结合用于恶意软件检测,通过转化为灰度图像提高恶意软件识别率和性能。综上所述,现有技术存在的问题是:(1)现有技术中,数据处理方法处理速度快,但结果准确度低。(2)现Simhash算法在权重计算方面的欠缺,在生成的hash指纹中不能体现关键特征项所占比重。(3)现有技术中未能体现文档特征词汇中的分布信息。解决上述技术问题的难度:为了提升Simhash算法的文本去重效果、精确率,解决Simhash算法无法体现分布信息的缺点,引入信息熵的概念,采用熵加权的方式给文档中的关键词进行赋权,优化权重计算公式,并在hash计算中加入关键词分布信息,从而达到对传统Simhash算法的优化,最后通过仿真实验论证了该算法的可行性,合理性。解决上述技术问题的意义:该算法引入TF-IDF和信息熵,通过优化Simhash算法中的权重及阈值计算,增加文本分布信息,使得最终生成的指纹更能体现关键信息的比重,并对指纹信息与权重的关联性进行了分析。仿真实验表明:优化权重计算能有效的提升Simhash算法的性能,E-Simhash算法在去重率、召回率、F值等方面均优于传统Simhash算法,并且在文本去重方面取得了良好的效果。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种改进的Simhash算法在文本去重中的方法及系统。本专利技术是这样实现的,一种改进的Simhash算法在文本去重中的方法包括:利用基于TF-IDF算法与信息熵进行加权得到权重,并按照在文档中的分布进行排序,对每个特征词汇生成的hash再与特征词汇所在位置进行异或;经改进的权重计算后,引入权重阈值Wt,增加文本分布信息,使最终生成的指纹体现关键信息的比重,并对指纹信息与权重的关联性进行分析。进一步,所述改进的Simhash算法在文本去重中的方法具体包括:步骤1:,初始化:对数据集大小及存储成本确定Simhash位数以及f维向量空间,同时初始化f位二进制数s均置为0;步骤2,文档预处理:对文档进行分词、去停用词操作,构成文档若干特征词项M={};步骤3,权重计算:分别计算分词之后的特征项的TF-IDF值以及左右信息熵,使用TF值、IDF值的平方平均值作为特征项最终的权重,并且引入阈值Wt防止文档特征失真;步骤4,hash计算:对步骤二中的特征项进行hash计算,并引入位置因子与hash进行异或操作作为特征项的最终hash值,hash值包括特征项的位置信息,记为H={},其中=hash();步骤5:,累加对步骤三中产生的特征项权重以及步骤四中产生的f位hash值进行下列运算:步骤6:,压缩变换:对最后生成的二级指纹向量V,对每一位进行转化处理,最终生成文档f位hash指纹S;进一步,文档中提取出n个关键词分别为{p1,p2,p3,…pn},各关键词的权重为W={w1,w2,w3,…,wn};对n个关键词生成hash值,结果为H={h1,h2,h3,…,hn},经过叠加后生成二级指纹F={f1,f2,f3,...fm},m为指纹位数,最后根据F中fi是否大于0生成Simhash指纹为S;若存在某一特征词pk,权重为wk>>wj,j∈[1,n]∩j≠k;则s由pk决定。进一步,引入权重阈值后,权重计算如下式所示:进一步,信息熵为:H(X)=-∑(xi∈X)P(xi)log2P(xi)其中x表示信息概率空间X=(x1:P(x1),x2:P(x2),...,xn:P(xn)),H(X)表示随机变量x不确定性的量度。进一步,信息熵包括左右信息熵,公式如下:式中,W表示某个单词,EL(W)表示该单词的左熵,P(aW|W)表示该单词左侧出现不同词的概率,a变量是一个变化值,表示与W相结合的词汇;ER(W)为右熵。进一步,熵加权计算法包括:对特征词左右信息熵取平均;用Hk(w)来表示该单词的熵信息量;把熵因子Hk加入权值计算公式中,取两者的平方平均数作为词权重,如下所示:特征词tk在文档dj中出现的次数越多,在训练集中出现该特征词的文档越少,并且其信息量越大,则其权重越高。本专利技术的另一目的在于提供一种实施所述改进的Simhash算法在文本去重中的方法的改进的Simhash算法在文本去重中的控制系统。本专利技术的另一目的在于提供一种实施所述改进的Simhash算法在文本去重中的方法的改进的Simhash算法在文本去重中的去除冗余数据储存介质。综上所述,本专利技术的优点及积极效果为:本专利技术在去除冗余数据方面具有良好的效果,Simhash算法是一种局部敏感哈希算法,它能够将高维数据进行概率降维并映射为位数较少且固定的指纹,之后再对指纹进行相似度比较来反映数据之间的相似程度。其中相似度比较通常使用海明距离或编辑距离。Simhash算法优势在于处理速度快,并且结果准确度高。本专利技术针对传统Simhash算法在权重计算方面的欠缺,以及算法中不能考虑到文档特征词汇的分布信息,本专利技术通过优化权重计算,使用TF-IDF和信息熵的平方平均数作为特征词的权重值,考虑到部分权重过大导致信息失真,引入权重阈值,并在此基础上将特征词的位置信息引入到hash计算中去,从而提升Simhash算法的去重率、查准率,并通过仿真实验论证了E-Simhash算法在各方面均优于传统的Simhash算法。通过仿真实验,使用搜狐实验室中的全网新闻数据作为文档集,在去重率对比实验中,实验结果如图4所示。修改相似度阈值T,E-Simhash算法去重率分别以0.833:0.679、0.751:0.529,0.687:0.476、0.661:0.451优于传统的Simhash算法,并且随着文章变动的增加,其去重率都呈现下降趋势,其仿真实验结果如图5所示。最后在查准率、召回率以及F值对比中,如图6所示,E-Simhash算法在查准率0.963:0.818,召回率0.867:0.621,F1值0.912:0.706优于传统的Simhash算法,。仿真实验结果表明:优化权重计算能有效的提升Simhash算法的性能,E-Simhash算法在去重率、召回率、F值等方面均优于传统Simhash算法,并且在文本去重方面取得了良好的效果。附图说明图1是本专利技术实施例提供的Simh本文档来自技高网
...

【技术保护点】
1.一种改进的Simhash算法在文本去重中的方法,其特征在于,所述改进的Simhash算法在文本去重中的方法包括:利用基于TF‑IDF算法与信息熵进行加权得到权重,并按照在文档中的分布进行排序,对每个特征词汇生成的hash再与特征词汇所在位置进行异或;经改进的权重计算后,引入权重阈值Wt,增加文本分布信息,使最终生成的指纹体现关键信息的比重,并对指纹信息与权重的关联性进行分析。

【技术特征摘要】
1.一种改进的Simhash算法在文本去重中的方法,其特征在于,所述改进的Simhash算法在文本去重中的方法包括:利用基于TF-IDF算法与信息熵进行加权得到权重,并按照在文档中的分布进行排序,对每个特征词汇生成的hash再与特征词汇所在位置进行异或;经改进的权重计算后,引入权重阈值Wt,增加文本分布信息,使最终生成的指纹体现关键信息的比重,并对指纹信息与权重的关联性进行分析。2.如权利要求1所述的改进的Simhash算法在文本去重中的方法,其特征在于,所述改进的Simhash算法在文本去重中的方法具体包括:步骤1:,初始化:对数据集大小及存储成本确定Simhash位数以及f维向量空间,同时初始化f位二进制数S均置为0;步骤2,文档预处理:对文档进行分词、去停用词操作,构成文档若干特征词项M={};步骤3,权重计算:分别计算分词之后的特征项的TF-IDF值以及左右信息熵,使用TF值、IDF值的平方平均值作为特征项最终的权重,并且引入阈值Wt防止文档特征失真;步骤4,hash计算:对步骤二中的特征项进行hash计算,并引入位置因子与hash进行异或操作作为特征项的最终hash值,hash值包括特征项的位置信息,记为H={},其中=hash();步骤5,累加对步骤三中产生的特征项权重以及步骤四中产生的f位hash值进行下列运算:步骤6:,压缩变换:对最后生成的二级指纹向量V,对每一位进行转化处理,最终生成文档f位hash指纹S;3.如权利要求1所述的改进的Simhash算法在文本去重中的方法,其特征在于,文档中提取出n个关键词分别为{p1,p2,p3,…pn},各关键词的权重为W={w1,w2,w3,…,wn};对n个关键词生成hash值,结果为H={h...

【专利技术属性】
技术研发人员:张仕斌张航盛志伟万国根
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1