CN116719798A - 一种simhash文本去重方法 - Google Patents
一种simhash文本去重方法 Download PDFInfo
- Publication number
- CN116719798A CN116719798A CN202310472505.7A CN202310472505A CN116719798A CN 116719798 A CN116719798 A CN 116719798A CN 202310472505 A CN202310472505 A CN 202310472505A CN 116719798 A CN116719798 A CN 116719798A
- Authority
- CN
- China
- Prior art keywords
- text
- particle
- optimal solution
- speed
- simhash
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims abstract description 9
- 239000002245 particle Substances 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000000605 extraction Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种simhash文本去重方法,该方法包括:S1、对文本进行预处理以获取文本的关键词和摘要,所述的对文本预处理的方法包括基于改进PSO‑TextRank模型或者基于改进的LDA算法;S2、进行simihash去重,将所有文本的哈希值进行比较,并将相似的文本合并为一条记录,去除重复的记录。本发明可提升去重的计算效率和降低存储空间,达到海量文本进行去重的效率提升和成本降低的目的。本发明方法可以在不损失去重准确率情况下可以高效提升内存的占用效率和计算速度。
Description
技术领域
本发明涉及一种simhash文本去重方法,尤其是一种改进的simhash文本高效去重方法。属于信息处理技术领域。
背景技术
随着全球生成和存储的数据越来越多,对存储容量的需求将继续以稳定的速度增长。但无论是云存储系统,还是传统的数据存储系统,都存在大量的冗余数据,有的系统中数据重复率高达70%~90%。越来越多的研究者开始关注解决数据冗余问题以缩减存储空间,重复数据删除技术应运而生。重复数据删除技术的核心思想是只存储唯一的数据对象,对于其他重复数据则通过存储指针代替,指针指向该唯一数据对象。
当前流行的相似文本检测和去重算法主要有k-shingle、minhash和simhash算法。k-shingle是指文档中连续出现的任意k个字符,如果将文档表示成其k-shingle的集合,那么就可以基于集合之间的Jaccard相似度来计算文档之间的文本相似度,有时候将shingle哈希成更短的位串,可以基于这些哈希值的集合来表示文档。Minhash集合上的最小哈希函数基于全集上的排序转换来定义,给定任意一个排列转换,集合的最小哈希值为在排列转换次序出现的第一个集合元素。simhash是Google工程师Charikar等人提出的一种局部敏感哈希算法,用来解决亿万级别网页去重问题。simhash算法较其他算法的优势是处理速度快,结果准确度高,被广泛应用于相似文本检测、冗余数据去重和数据异常检测等领域。该文主要对Simhash算法在文本去重上的应用进行研究和改进,以进一步提高其检测重复文本的精确率。
其中,在大规模文本情况下,通过simhash去重存在内存占用空间大计算效率低等问题。本发明拟通过基于PSO改进的textrank对文本进行预处理获取文本的关键词和摘要,再利用simhash进行文本去重,可以高效提升去重效率,而保证去重准确率不会降低。
发明内容
本发明的目的在于提供一种simhash文本去重方法,基于PSO-textrank对文本进行预处理获取文本的关键词和摘要,再利用simhash进行去重,在不损失去重准确率情况下可以高效提升内存的占用效率和计算速度。
本发明一种simhash文本去重方法,其技术方案如下:
S1、对文本进行预处理以获取文本的关键词和摘要
所述的对文本预处理的方法包括基于改进PSO-TextRank模型;或者基于改进的LDA算法;
其中基于改进PSO-TextRank模型对文本关键词和摘要抽取具体过程如下:
S101、确定目标函数:首先需要明确要优化的目标函数,对于TextRank算法来说,其目标为计算文本中每个节点的得分值,因此目标函数可以定义为节点得分值的加权和;
S102、定义粒子的状态和速度:每个粒子的状态可以定义为一个长度为N的向量,表示节点的得分值,其中N为文本中节点的数量;粒子的速度可以定义为另一个长度为N的向量,表示节点得分值的变化量;
S103、初始化粒子群和参数:随机初始化一组粒子群,并设置粒子群的初始速度和参数设置,包括学习因子、惯性权重等;
S104、计算适应度值:使用步骤S101的目标函数计算每个粒子的适应度值,即计算节点得分值的加权和,评估当前粒子的解的优劣;
S105、更新粒子速度和位置:根据粒子当前位置和速度,更新其位置和速度,以搜索更优解;
其中,速度更新公式如下:Vi(t+1)=w×Vi(t)+c1×rand×(pbesti-xi(t))
c2×rand×(gbest-xi(t))。其中,Vi(t)表示第i个粒子在t时刻的速度,w为惯性权重,pbesti为第i个粒子的历史最优解,gbest为全局最优解,rand为0到1之间的随机数;
S106、更新粒子群最优解:根据每个粒子的适应度值,更新粒子群的最优解,包括全局最优解和每个粒子的历史最优解;
S107、判断停止条件:重复执行步骤104-106,直到满足停止条件,如达到最大迭代次数或粒子群的最优解收敛。
S2、进行simihash去重。
将所有文本的哈希值进行比较,并将相似的文本合并为一条记录,去除重复的记录。
本发明一种simhash文本去重方法,其优点及功效在于:在利用simhash进行文本去重之前,利用改进PSO-TextRank模型进行关键词和摘要抽取,提升去重的计算效率和降低存储空间,达到海量文本进行去重的效率提升和成本降低的目的。本发明方法可以在不损失去重准确率情况下可以高效提升内存的占用效率和计算速度。
附图说明
图1所示为本发明方法流程框图。
图2所示为本发明实施例去重处理参考图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案做进一步的说明。
一种simhash文本去重方法,具体步骤如下:
S1、基于改进的PSO-TextRank模型对文本进行关键词和摘要抽取
在爬取工业互联网领域的海量数据,其进行文本去重需要大量的空间和算力,为了提高去重的效率,可以先使用PSO-TextRank模型对待处理文本进行关键词和摘要抽取。
原始的TextRank算法是一种基于图的用于关键词抽取和文档摘要的排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,它利用一篇文档内部的词语间的共现信息(语义)便可以抽取关键词,它能够从一个给定的文本中抽取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法抽取出该文本的关键句。通过PSO改进Textrank的迭代过程可以提高Textrank算法的性能和效率。
PSO-TextRank算法的基本思路是通过模拟粒子的移动过程来搜索最优解,以加速算法的收敛速度。下面详细介绍如何使用PSO算法优化TextRank算法的迭代过程:
S101、确定目标函数:首先需要明确要优化的目标函数,对于TextRank算法来说,其目标为计算文本中每个节点的得分值,因此目标函数可以定义为节点得分值的加权和。
S102、定义粒子的状态和速度:每个粒子的状态可以定义为一个长度为N的向量,表示节点的得分值,其中N为文本中节点的数量。粒子的速度可以定义为另一个长度为N的不同向量,表示节点得分值的变化量。
S103、初始化粒子群和参数:随机初始化一组粒子群,并设置粒子群的初始速度和参数设置,如学习因子、惯性权重等。
S104、计算适应度值:使用步骤S101的目标函数计算每个粒子的适应度值,即计算节点得分值的加权和,评估当前粒子的解的优劣。
S105、更新粒子速度和位置:根据粒子当前位置和速度,更新其位置和速度,以搜索更优解。速度更新公式如下:Vi(t+1)=w×Vi(t)+c1×rand×(pbesti-xi(t))
c2×rand×(gbest-xi(t))。其中,Vi(t)表示第i个粒子在t时刻的速度,w为惯性权重,pbesti为第i个粒子的历史最优解,gbest为全局最优解,rand为0到1之间的随机数。
S106、更新粒子群最优解:根据每个粒子的适应度值,更新粒子群的最优解,包括全局最优解和每个粒子的历史最优解。
S107、判断停止条件:重复执行步骤104-106,直到满足停止条件,如达到最大迭代次数或粒子群的最优解收敛。
总的来说,PSO-TextRank算法模型是一种使用PSO算法优化后的TextRank算法。相比于原始的TextRank模型,PSO-TextRan模型在迭代过程可以加速算法的收敛速度,提高算法的准确性和效率。但是需要注意的是,PSO算法需要设置合适的参数和初始值,否则可能会陷入局部最优解。因此,需要根据具体问题的特点和需求来进行参数调优和算法优化。
PSO-TextRank在Textrank基础上能够提高效率,再获取文本摘要、关键词提取之后进行文本simhash去重。
S2、进行simhash去重
SimHash是一种基于哈希函数的文本去重方法,其具体流程如下:
·关键词摘要:在文本经过PSO-Textrank处理之后获取关键词和摘要。
·词语加权:对于每个关键词和摘要,通过一些规则对其进行加权,使得在哈希计算时不同的词语对于哈希值的贡献程度不同。例如,可以采用TF-IDF等算法对词语进行加权。
·生成特征向量:将每个词语的加权值表示为一个二进制数(0或1),然后将这些二进制数组合起来形成一个特征向量。对于长度为n的特征向量,可以采用n位的哈希函数对其进行哈希计算,得到一个哈希值。
·比较哈希值:对于两个文本的哈希值,可以比较它们的汉明距离(HammingDistance),即两个哈希值中不同位的个数。一般来说,如果两个文本的汉明距离小于某个阈值,则可以认为它们是相似的,需要进行进一步的判断和处理。
去重处理:将所有文本的哈希值进行比较,并将相似的文本合并为一条记录,去除重复的记录。如图2。
需要注意的是,SimHash去重方法的效果和哈希函数的选择、加权方法、特征向量长度以及汉明距离阈值等因素密切相关。在实际应用中需要根据具体情况进行参数调整和优化,以提高去重效果和减少误判率。
在文本利用textrank获取摘要或者关键词以及权重信息的方法,也可以利用其他算法实现关键词和摘要的目的,比如LDA。LDA(Latent Dirichlet Allocation)是一种基于主题模型的方法,通过对文本进行概率建模来识别主题,并根据主题分布进行文本摘要和关键词抽取。LDA算法的核心思想是,将文本看作是由多个主题的混合组成,每个主题又是由多个词语组成的。LDA算法首先假设每个文档都由若干个主题组成,每个主题由一些词语组成,然后根据这些假设,通过统计方法求解每个主题的词语分布以及每个文档的主题分布。
LDA算法的摘要和关键词抽取过程如下:
·数据预处理:将文本数据进行分词、去除停用词等预处理操作,得到分好词的文本。·构建词袋模型:将预处理后的文本转化为词袋模型(Bag of Words),即将每个文本
表示为一个向量,向量中的每个元素代表一个词语在文本中出现的次数。
·训练LDA模型:将词袋模型输入LDA算法中,通过训练LDA模型来获取每个文档的主
题分布和每个主题的词语分布。
摘要和关键词抽取:根据文档的主题分布和主题的词语分布,可以从文本中提取摘要和关键词。具体方法如下:a.摘要抽取:根据文档的主题分布,选择主题分布中得分较高的主题,然后根据该主题的词语分布,选择得分较高的一些词语作为文本的摘要。b.关键词抽取:根据主题的词语分布,选择得分较高的一些词语作为文本的关键词。
Claims (3)
1.一种simhash文本去重方法,其特征在于:该方法包括:
S1、对文本进行预处理以获取文本的关键词和摘要:
所述的对文本预处理的方法包括基于改进PSO-TextRank模型或者基于改进的LDA算法;
S2、进行simihash去重:
将所有文本的哈希值进行比较,并将相似的文本合并为一条记录,去除重复的记录。
2.根据权利要求1所述的一种simhash文本去重方法,其特征在于:所述的基于改进PSO-TextRank模型对文本关键词和摘要抽取具体过程如下:
S101、确定目标函数:首先需要明确要优化的目标函数,对于TextRank算法来说,其目标为计算文本中每个节点的得分值,因此目标函数可以定义为节点得分值的加权和;
S102、定义粒子的状态和速度:每个粒子的状态可以定义为一个长度为N的向量,表示节点的得分值,其中N为文本中节点的数量;粒子的速度可以定义为另一个长度为N的向量,表示节点得分值的变化量;
S103、初始化粒子群和参数:随机初始化一组粒子群,并设置粒子群的初始速度和参数设置,包括学习因子、惯性权重等;
S104、计算适应度值:使用步骤S101的目标函数计算每个粒子的适应度值,即计算节点得分值的加权和,评估当前粒子的解的优劣;
S105、更新粒子速度和位置:根据粒子当前位置和速度,更新其位置和速度,以搜索更优解;
S106、更新粒子群最优解:根据每个粒子的适应度值,更新粒子群的最优解,包括全局最优解和每个粒子的历史最优解;
S107、判断停止条件:重复执行步骤104-106,直到满足停止条件,如达到最大迭代次数或粒子群的最优解收敛。
3.根据权利要求2所述的一种simhash文本去重方法,其特征在于:所述S105中速度更新公式如下:Vi(t+1)=w×Vi(t)+c1×rand×(pbesti-xi(t))+c2
rand×(gbest-xi(t));其中,Vi(t)表示第i个粒子在t时刻的速度,w为惯性权重,pbest为第i个粒子的历史最优解,gbest为全局最优解,rand为0到1之间的随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472505.7A CN116719798A (zh) | 2023-04-26 | 2023-04-26 | 一种simhash文本去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310472505.7A CN116719798A (zh) | 2023-04-26 | 2023-04-26 | 一种simhash文本去重方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116719798A true CN116719798A (zh) | 2023-09-08 |
Family
ID=87870363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310472505.7A Pending CN116719798A (zh) | 2023-04-26 | 2023-04-26 | 一种simhash文本去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116719798A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117176482A (zh) * | 2023-11-03 | 2023-12-05 | 国任财产保险股份有限公司 | 一种大数据网络安全防护方法及系统 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
-
2023
- 2023-04-26 CN CN202310472505.7A patent/CN116719798A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117176482A (zh) * | 2023-11-03 | 2023-12-05 | 国任财产保险股份有限公司 | 一种大数据网络安全防护方法及系统 |
CN117176482B (zh) * | 2023-11-03 | 2024-01-09 | 国任财产保险股份有限公司 | 一种大数据网络安全防护方法及系统 |
CN117892727A (zh) * | 2024-03-14 | 2024-04-16 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
CN117892727B (zh) * | 2024-03-14 | 2024-05-17 | 中国电子科技集团公司第三十研究所 | 一种实时文本数据流去重系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116719798A (zh) | 一种simhash文本去重方法 | |
Dong et al. | Modeling LSH for performance tuning | |
CN102207945B (zh) | 基于知识网络的文本标引系统及其方法 | |
Sood et al. | Probabilistic near-duplicate detection using simhash | |
CN108132929A (zh) | 一种海量非结构化文本的相似性计算方法 | |
CN111737453B (zh) | 一种基于无监督的多模型融合抽取式文本摘要方法 | |
KR102197945B1 (ko) | 윅수퍼비전 방법론에 기초하여 정보검색모델을 학습시키는 방법 및 이에 의하여 학습된 정보검색모델을 이용하여 검색결과를 제공하는 방법 | |
CN111104510B (zh) | 一种基于词嵌入的文本分类训练样本扩充方法 | |
WO2017193685A1 (zh) | 社交网络中数据的处理方法和装置 | |
CN113962293B (zh) | 一种基于LightGBM分类与表示学习的姓名消歧方法和系统 | |
CN107357895B (zh) | 一种基于词袋模型的文本表示的处理方法 | |
CN115794999A (zh) | 一种基于扩散模型的专利文档查询方法及计算机设备 | |
CN113779246A (zh) | 基于句子向量的文本聚类分析方法及系统 | |
Wang et al. | The detection of network intrusion based on improved adaboost algorithm | |
CN115098690A (zh) | 一种基于聚类分析的多数据文档分类方法及系统 | |
KR101562232B1 (ko) | 자동문서분류시스템 성능개선을 위한 특징 정보 추상화 기법 | |
Zhang et al. | Learning hash codes for efficient content reuse detection | |
CN113918807A (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
Wang et al. | Mining high-dimensional data | |
CN110609997A (zh) | 生成文本的摘要的方法和装置 | |
Maylawati et al. | Feature-based approach and sequential pattern mining to enhance quality of Indonesian automatic text summarization | |
Thangairulappan et al. | Improved term weighting technique for automatic web page classification | |
Anjaneyulu et al. | Sentence similarity using syntactic and semantic features for multi-document summarization | |
CN117150012A (zh) | 基于语义表示的dga域名检测方法及装置 | |
Santra et al. | An Efficient Document Clustering by Optimization Technique for ClusterOptimality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |