CN111324750A - 一种大规模文本相似度计算及文本查重方法 - Google Patents

一种大规模文本相似度计算及文本查重方法 Download PDF

Info

Publication number
CN111324750A
CN111324750A CN202010132181.9A CN202010132181A CN111324750A CN 111324750 A CN111324750 A CN 111324750A CN 202010132181 A CN202010132181 A CN 202010132181A CN 111324750 A CN111324750 A CN 111324750A
Authority
CN
China
Prior art keywords
fingerprint
text
integer
integer value
value
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.)
Granted
Application number
CN202010132181.9A
Other languages
English (en)
Other versions
CN111324750B (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.)
Shanghai Eisoo Information Technology Co Ltd
Original Assignee
Shanghai Eisoo Information 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 Shanghai Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN202010132181.9A priority Critical patent/CN111324750B/zh
Publication of CN111324750A publication Critical patent/CN111324750A/zh
Priority to PCT/CN2020/108653 priority patent/WO2021169186A1/zh
Priority to US17/905,220 priority patent/US20230122661A1/en
Application granted granted Critical
Publication of CN111324750B publication Critical patent/CN111324750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种大规模文本相似度计算及文本查重方法,包括:获取原始文本数据集,创建整数形式的指纹集合;将指纹集合及对应的文本id以字节数据方式存储,得到指纹库;获取目标文本,创建目标指纹;从指纹库读取所有字节数据,并存入map内存;根据目标指纹,从map内存中得到对比指纹集合,采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度;当相似度二进制数值中1的个数小于或等于预设值时,则判断该对比指纹与目标指纹相似,通过查询文本id,即完成目标文本的查重。与现有技术相比,本发明能够减少文档指纹存储占用空间、减少查询文档指纹时间,在保证准确度的基础上,大大提升相似度计算及文本查重效率。

Description

一种大规模文本相似度计算及文本查重方法
技术领域
本发明涉及文本分析技术领域,尤其是涉及一种大规模文本相似度计算及文本查重方法。
背景技术
在文本分析领域,文本相似度的计算一直是研究的一个热门方向,能够应用于文本查重方面,但目前大多数方法只针对短文本的相似度计算,包括编辑距离的计算、杰卡德系数计算、TF计算以及word2vec等方法。其中编辑距离计算是指两个字符串之间有一个字符串转成另一个字符串所需要的最少编辑操作次数,编辑距离越大说明越是不同,编辑操作包括增加、替换、删除;杰卡德系数是指两个文本的交集除以并集得到的数值,数值越大说明越相似;TF或TF-IDF值是指对文本进行向量化然后计算两个文本的余弦值,值越大说明两个文本越相似;word2vec是指通过训练好的模型,将每个词转换成向量,再计算余弦值,值越大说明越相似。上述方法在少量的短文本相似度判断中具有较好的效率,但是在海量的长文本相似度计算或文本查重时,其效率就十分低下。
在对大规模文本进行相似度计算时,传统是采用指纹方式存储文本,最后利用指纹比较的方式实现相似度计算,目前文档指纹是以字符串(即类似“1010100011”)数据进行存储,将指纹字符串存储在数据库中,然后采用汉明距离计算两个字符串不同的位数,以作为两个指纹的距离,从而得到文档之间的相似度,这种方式存在以下缺陷:1、存储数据时需要占用大量空间;2、在较多文本进行对比时,通常会耗费较多的查询文档指纹时间。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种大规模文本相似度计算及文本查重方法,采用字节数据存储整数指纹的方式,能够大大减少数据存储空间,并通过整数异或运算,以快速计算指纹之间的距离,在保证准确度的基础上,能够大大提高相似度计算及文本查重效率。
本发明的目的可以通过以下技术方案来实现:一种大规模文本相似度计算及文本查重方法,包括以下步骤:
S1、获取原始文本数据集,创建对应整数形式的指纹集合,其中,原始文本数据集中包含多段语句,每一段语句均有对应的一个文本id;
S2、将指纹集合及各指纹对应的文本id均以字节数据方式进行存储,得到指纹库;
S3、获取目标文本,创建对应的目标指纹;
S4、从指纹库读取所有字节数据,并将所有指纹及对应的文本id存入相应的map内存;
S5、根据目标指纹,从map内存中得到对比指纹集合,采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度,并记录各个相似度二进制数值中1的个数;
S6、当相似度二进制数值中1的个数小于或等于预设值时,则判断该相似度对应map内存中的对比指纹与目标指纹相似,通过查询map内存中该对比指纹相应的文本id,即完成目标文本的查重。
进一步地,所述步骤S1具体包括以下步骤:
S11、获取原始文本数据集;
S12、对数据集中每一段语句进行分词,得到每一段语句对应的特征向量;
S13、通过hash函数计算每一段语句对应特征向量的hash值;
S14、给每一段语句的各特征向量进行加权;
S15、将每一段语句的各特征向量加权结果累加,得到该段语句对应的序列串;
S16、对每一段语句对应序列串进行位移计算,得到每一段语句对应的指纹,其中,一个指纹由4个指纹整数值表示;
S17、将所有语句对应的指纹依次排列组合,得到原始文本数据集对应的指纹集合。
进一步地,所述步骤S16中位移计算的具体过程为:按照每16位进行一次位移运算,如果大于等于0,则向右位移一位加1,如果小于0,则向右位移一位不加1,如此即可得到该段语句对应的指纹。
进一步地,所述步骤S2具体是将指纹集合中各指纹及对应的文本id分别转换成字节数据,组合之后一同存入指纹库,其中,每一个指纹及对应的文本id转换后的字节数据中一共包含20个字节,20个字节中第一段4字节数据至第四段4字节数据分别对应于指纹的四个指纹整数值,第五段4字节数据对应于文本id整数值。
进一步地,所述步骤S4具体包括以下步骤:
S41、从指纹库读取各字节数据;
S42、将读取的各字节数据转换成整数,一个字节数据转换后的整数包括第1~第4个指纹整数值及第5个文本id整数值;
S43、将字节数据转换成的整数对应存入5个map格式中,其中,前4个map依次存入:第1个指纹整数值及文本id整数值、第2个指纹整数值及文本id整数值、第3个指纹整数值及文本id整数值、第4个指纹整数值及文本id整数值,最后一个map作为索引map,存入的是文本id整数值及4个指纹整数值组成的完整指纹。
进一步地,所述步骤S5具体包括以下步骤:
S51、根据目标指纹的4个指纹整数值,依次分别从第1~第4个map中寻找相同的指纹整数值,若该map中存在相同的指纹整数值,则从该map中提取该相同指纹整数值对应的文本id整数值,若该map中不存在相同的指纹整数值,则返回空值;
S52、将提取的文本id整数值进行组合,得到文本id集合;
S53、对文本id集合进行去重处理,即删除文本id集合中重复的文本id整数值,得到去重后的文本id集合,去重后的文本id集合中包含不同的文本id整数值;
S54、根据不同的文本id整数值的排序,从第5个map中提取与文本id集合中文本id整数值对应的指纹,得到对比指纹集合;
S55、采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度,并记录各个相似度二进制数值中1的个数。
进一步地,所述步骤S51中依次分别从第1~第4个map中寻找相同的指纹整数值的具体过程为:
对于目标指纹的第1个指纹整数值,从第1个map中寻找与其相同的指纹整数值;
对于目标指纹的第2个指纹整数值,从第2个map中寻找与其相同的指纹整数值;
对于目标指纹的第2个指纹整数值,从第3个map中寻找与其相同的指纹整数值;
对于目标指纹的第4个指纹整数值,从第4个map中寻找与其相同的指纹整数值。
进一步地,所述步骤S6中预设值具体为3。
与现有技术相比,本发明具有以下优点:
一、本发明通过位移的方式创建整数形式的指纹,相比通过字符串拼接方式得到的字符串指纹,具有效率高,易储存的优点,此外,在存储指纹阶段,本发明采用字节数据存储方式,可以大大减少数据存储的占用空间。
二、本发明将存储的指纹预先读取存入map内存中,能够有效减少后续寻找文档指纹的时间,并利用整数异或运算计算相似度,在保证相似度计算准确性的基础上,大大提高了指纹之间相似度计算以及文本查重的效率。
附图说明
图1为本发明的方法流程示意图;
图2为实施例中应用过程示意图;
图3为实施例中创建指纹的过程示意图;
图4为实施例中存储指纹的过程示意图;
图5为实施例中读取指纹到map内存的过程示意图;
图6为实施例中map内存格式的示意图;
图7为实施例中文本查重的过程示意图;
图8为实施例中目标指纹与对比指纹之间相似度计算的示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种大规模文本相似度计算及文本查重方法,包括以下步骤:
S1、获取原始文本数据集,创建对应整数形式的指纹集合,其中,原始文本数据集中包含多段语句,每一段语句均有对应的一个文本id;
S2、将指纹集合及各指纹对应的文本id均以字节数据方式进行存储,得到指纹库;
S3、获取目标文本,创建对应的目标指纹;
S4、从指纹库读取所有字节数据,并将所有指纹及对应的文本id存入相应的map内存;
S5、根据目标指纹,从map内存中得到对比指纹集合,采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度,并记录各个相似度二进制数值中1的个数;
S6、当相似度二进制数值中1的个数小于或等于预设值时,则判断该相似度对应map内存中的对比指纹与目标指纹相似,通过查询map内存中该对比指纹相应的文本id,即完成目标文本的查重。
本发明针对在海量的文本库中快速判断查找出与目标文本相同或相似的文本。主要应用于在海量的文本库中盲找相同或相似的文本,可以进行去重或查找相似度较高的文件进行推荐等操作,可应用于对机密文档查找,快速有效地判断机密文件,防止被公布泄漏。
本实施例应用上述方法的具体过程如图2所示,主要包括三步:
第一步:创建指纹(①);
第二步:存储指纹形成指纹库(②);
第三步:相似度计算从指纹库中查找相似或相同文档(③)。
在第一步创建指纹时,如图3所示,分为5个步骤——分词、hash、加权、合并、降维:
(1)分词
给定一段语句,进行分词,得到有效的特征向量,举例为每一个特征向量设置1-5等5个级别的权重(如果是给定一个文本,那么特征向量可以是文本中的词,其权重可以是这个词出现的次数或分词权重系数,也可以是这个词的重要程度)。例如给定一段语句:“自然语言处理是计算机科学领域中的一个重要方向”,分词后为:“自然语言处理是计算机科学领域中的一个重要方向”,然后每个特征词会带有权值:自然语言(5)处理(4)是(1)计算机科学(2)领域(3)中(1)的(1)一个(1)重要(3)方向(3),其中括号里的数字代表这个单词在整条语句中的重要程度,数字越大代表越重要。
(2)hash
通过hash函数计算各个特征向量的hash值,hash值为二进制数01组成的n-bit签名。比如“自然语言”的hash值为“101011…”。就这样,文字语言字符串就变成了一系列数字。
(3)加权
在hash值的基础上,给所有特征向量进行加权,即W=Hash*weight,且遇到1则hash值和权值正相乘,遇到0则hash值和权值负相乘。例如给“自然语言”的hash值“101011…”加权得到:W(“自然语言”,权重值位为5)=5-5 5-5 5 5…,给“处理”的hash值“100101…”加权得到:W(处理,权重值为4)=4-4-4 4-4 4…,其余特征向量类似此般操作。
(4)合并计算降维
将上述各个特征向量的加权结果累加,变成只有一个序列串。
拿前两个特征向量举例,例如“处理”的“4-4-4 4-4 4…”和“自然语言”的“5-5 5-5 5 5…”进行累加,得到“4+5-4+-5-4+5 4+-5-4+5 4+5”,得到“9-9 1-1 1…”
(5)位移运算,本方法与传统方法的不同之处:
对于n-bit签名的累加结果,总共有64位,按照每16位做一次位移运算,如果大于等于0则向右位移一位加1,如果小于0,向右位移一位不加1,则可得到该文档的指纹整数值,作为文档数据指纹。例如把上面计算出来的“9-9 1-1 1 9…”位移运算,得到[41642,44514,27097,21845]四个整数作为此文档的数据指纹。
在第二步存储指纹时,如图4所示,在海量的指纹对比中,如果存入的是原始的字符串形式的二进制数据,比较直观好理解,但是存储的占用空间较大,读取的效率较低。
根据存储方案,在得到文档的数据指纹后,把整数转成字节数据,并把文档的id也转成字节数据和文档指纹的二进制数据一同存入文档(转成字节数据主要原因有两个:1是占用空间较小,2是读取较快)。海量的文本形成海量的文档指纹及id字节数据,形成文档指纹库,用于查找相似或相同的文档。
在第三步相似度计算以查找相似或相同文档时,如图5~图7所示:
(1)如图5所示,先从指纹库中把所有指纹读取到内存
因存储在文档中的指纹库都是以指纹分割和id的字节数据存储,所以每20个字节就表示一个文档指纹和对应id。在20个字节中每4个字节表示一个数,共5个数,分别表示为指纹分割的第一个16位数据、第二个16位数据、第三个16位数据、第四个16位数据、文件id数据,即字节数据的第一个4字节数据~第四个4字节数据对应4个指纹整数值,第5个4字节数据对应文本id整数值。从指纹库读取字节数据(步骤①)然后转成整数(步骤②),再依次对应的存到前4个map格式中(步骤③),在存入map的同时,4个指纹数据生成一个完整的指纹数据(步骤④)存入第5个索引map中,用以索引数据。这样把文档库中的所有数据都存入内存中,具体map内存数据格式如图6。
(2)如图7所示,进行文本查重
在把指纹库中的数据全都读取到相应的map内存中后就可以进行文本查重的工作,得到目标文件相同或相似的文章id。举例有一个机密文档,需要找到文档库中是否有与该机密文档相同或相似的文档,主要步骤如下:
第一步(如①):先对机密文档进行指纹创建,流程如图2一样,创建好的指纹也是用4个整数表示,指纹数据为41642、44514、27097、21845。
第二步(如②):由指纹数据中四个整数值,从map1~map4中得到对应的各个文档的id集合,上述指纹数据得到的id集合为[10001,10002,10003,10004,10001]。
第三步(如③):对id集合进行去重,只保留id[10001,10002,10003,10004],得到id后,从idmap中获得各个id的指纹数据,[11721372168135202133、33661355218896202888…]。
第四步(如④):有了指纹数据的集合就可以与机密文档的完整指纹(由4个指纹数据转换)进行指纹对比计算相似度(如⑤),如图8所示,就是文档指纹的整数进行异或运算得到一个数,这个数的二进制中1的个数作为相似度判断的依据,数据越小表示与目标文件的相似度越高。最终可找到id为10001的文件与机密文件相同,找到隐藏在文档库中的机密文档。
按照上述应用过程,本实施例具体包括:
(一)、机密文件查找测试:
现有108万文档数据,已知机密文档40篇,需要查询在108万的数据中是否含有与机密文档相同或相似的文档,以进行过滤,防止复制或转发造成机密文档的泄漏。测试数据见表1:
表1
Figure BDA0002396090940000081
(二)、机密文件查找测试步骤:
1、按图2中第一步(①)创建指纹库:
(1)把1078621篇文章按图3步骤创建指纹。
(2)每一篇文档创建好指纹后再与文件编号id转换后的字节数据按照图4存储到文本文件中作为指纹库数据,大小共21M。
2、按图2中第二步(②)指纹库中查重阶段:
(1)根据图5把指纹库数据读到内存中;
(2)根据图7,把40个机密文件循环读取内容、创建指纹数据、从内存中找到指纹数据、进行异或处理计算汉明距离、得到文件id,即得到与机密文件相同或高度相似的文件的文件。
(三)、测试结果:
本实施例把文档指纹用二进制字符串形式数据存储数据库mysql,以进行文档指纹对比查找,测试结果与本方法查找对比结果如表2:
表2
Figure BDA0002396090940000082
从两方面进行比较可知:
1、准确率——两种方法的准确都是100%,都可以准确地从未知的文档库中找到机密文档。
2、效率——存储字符串形式的文档指纹明显较慢,存储字节形式的文档指纹对比查找平均只需0.0004s,达到毫秒级,效率提高千倍。
综上所述,将本发明应用于大规模文本时,在文档大小及数量均比较大的情况下,本发明方法具体表现如表3所示:
表3
Figure BDA0002396090940000083
Figure BDA0002396090940000091
并且,当有一篇已知的机密文件,在文档库中可能存在与该文件内容相同或相似的机密文件,但因修改了存储位置不记得在哪里,就可以通过本发明方法快速找到与此机密文件相同或相似的文件id,从而查找到文件,及时进行相关操作防止泄露。再比如有一份机密文档库,有一篇目标文件,可通过本发明方法判断这个文章是否是和机密文档库里的文档相同或相似的机密文档。

Claims (8)

1.一种大规模文本相似度计算及文本查重方法,其特征在于,包括以下步骤:
S1、获取原始文本数据集,创建对应整数形式的指纹集合,其中,原始文本数据集中包含多段语句,每一段语句均有对应的一个文本id;
S2、将指纹集合及各指纹对应的文本id均以字节数据方式进行存储,得到指纹库;
S3、获取目标文本,创建对应的目标指纹;
S4、从指纹库读取所有字节数据,并将所有指纹及对应的文本id存入相应的map内存;
S5、根据目标指纹,从map内存中得到对比指纹集合,采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度,并记录各个相似度二进制数值中1的个数;
S6、当相似度二进制数值中1的个数小于或等于预设值时,则判断该相似度对应map内存中的对比指纹与目标指纹相似,通过查询map内存中该对比指纹相应的文本id,即完成目标文本的查重。
2.根据权利要求1所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S1具体包括以下步骤:
S11、获取原始文本数据集;
S12、对数据集中每一段语句进行分词,得到每一段语句对应的特征向量;
S13、通过hash函数计算每一段语句对应特征向量的hash值;
S14、给每一段语句的各特征向量进行加权;
S15、将每一段语句的各特征向量加权结果累加,得到该段语句对应的序列串;
S16、对每一段语句对应序列串进行位移计算,得到每一段语句对应的指纹,其中,一个指纹由4个指纹整数值表示;
S17、将所有语句对应的指纹依次排列组合,得到原始文本数据集对应的指纹集合。
3.根据权利要求2所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S16中位移计算的具体过程为:按照每16位进行一次位移运算,如果大于等于0,则向右位移一位加1,如果小于0,则向右位移一位不加1,如此即可得到该段语句对应的指纹。
4.根据权利要求2所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S2具体是将指纹集合中各指纹及对应的文本id分别转换成字节数据,组合之后一同存入指纹库,其中,每一个指纹及对应的文本id转换后的字节数据中一共包含20个字节,20个字节中第一段4字节数据至第四段4字节数据分别对应于指纹的四个指纹整数值,第五段4字节数据对应于文本id整数值。
5.根据权利要求4所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S4具体包括以下步骤:
S41、从指纹库读取各字节数据;
S42、将读取的各字节数据转换成整数,一个字节数据转换后的整数包括第1~第4个指纹整数值及第5个文本id整数值;
S43、将字节数据转换成的整数对应存入5个map格式中,其中,前4个map依次存入:第1个指纹整数值及文本id整数值、第2个指纹整数值及文本id整数值、第3个指纹整数值及文本id整数值、第4个指纹整数值及文本id整数值,最后一个map作为索引map,存入的是文本id整数值及4个指纹整数值组成的完整指纹。
6.根据权利要求5所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S5具体包括以下步骤:
S51、根据目标指纹的4个指纹整数值,依次分别从第1~第4个map中寻找相同的指纹整数值,若该map中存在相同的指纹整数值,则从该map中提取该相同指纹整数值对应的文本id整数值,若该map中不存在相同的指纹整数值,则返回空值;
S52、将提取的文本id整数值进行组合,得到文本id集合;
S53、对文本id集合进行去重处理,即删除文本id集合中重复的文本id整数值,得到去重后的文本id集合,去重后的文本id集合中包含不同的文本id整数值;
S54、根据不同的文本id整数值的排序,从第5个map中提取与文本id集合中文本id整数值对应的指纹,得到对比指纹集合;
S55、采用整数异或运算方法,分别计算目标指纹与对比指纹集合中各指纹之间的相似度,并记录各个相似度二进制数值中1的个数。
7.根据权利要求6所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S51中依次分别从第1~第4个map中寻找相同的指纹整数值的具体过程为:
对于目标指纹的第1个指纹整数值,从第1个map中寻找与其相同的指纹整数值;
对于目标指纹的第2个指纹整数值,从第2个map中寻找与其相同的指纹整数值;
对于目标指纹的第2个指纹整数值,从第3个map中寻找与其相同的指纹整数值;
对于目标指纹的第4个指纹整数值,从第4个map中寻找与其相同的指纹整数值。
8.根据权利要求1所述的一种大规模文本相似度计算及文本查重方法,其特征在于,所述步骤S6中预设值具体为3。
CN202010132181.9A 2020-02-29 2020-02-29 一种大规模文本相似度计算及文本查重方法 Active CN111324750B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010132181.9A CN111324750B (zh) 2020-02-29 2020-02-29 一种大规模文本相似度计算及文本查重方法
PCT/CN2020/108653 WO2021169186A1 (zh) 2020-02-29 2020-08-12 文本查重方法、电子设备及计算机可读存储介质
US17/905,220 US20230122661A1 (en) 2020-02-29 2020-08-12 Text duplicate checking method, electronic device and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010132181.9A CN111324750B (zh) 2020-02-29 2020-02-29 一种大规模文本相似度计算及文本查重方法

Publications (2)

Publication Number Publication Date
CN111324750A true CN111324750A (zh) 2020-06-23
CN111324750B CN111324750B (zh) 2021-07-13

Family

ID=71172954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010132181.9A Active CN111324750B (zh) 2020-02-29 2020-02-29 一种大规模文本相似度计算及文本查重方法

Country Status (3)

Country Link
US (1) US20230122661A1 (zh)
CN (1) CN111324750B (zh)
WO (1) WO2021169186A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182337A (zh) * 2020-10-14 2021-01-05 数库(上海)科技有限公司 从海量短新闻中识别相似新闻的方法及相关设备
CN112464639A (zh) * 2020-12-14 2021-03-09 上海爱数信息技术股份有限公司 一种搜索文本折叠处理系统及其方法
CN112529111A (zh) * 2020-12-28 2021-03-19 广东国粒教育技术有限公司 一种基于ppt文档对比技术计算老师备课创新度的方法
CN112861505A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 重复度检测方法、装置和电子设备
WO2021169186A1 (zh) * 2020-02-29 2021-09-02 上海爱数信息技术股份有限公司 文本查重方法、电子设备及计算机可读存储介质
CN113806071A (zh) * 2021-08-10 2021-12-17 中标慧安信息技术股份有限公司 一种边缘计算应用的数据同步方法与系统
CN117369731A (zh) * 2023-12-07 2024-01-09 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970722A (zh) * 2014-05-07 2014-08-06 江苏金智教育信息技术有限公司 一种文本内容去重的方法
CN109145080A (zh) * 2018-07-26 2019-01-04 新华三信息安全技术有限公司 一种文本指纹获得方法及装置
CN109359183A (zh) * 2018-10-11 2019-02-19 南京中孚信息技术有限公司 文本信息的查重方法、装置及电子设备
US20190332722A1 (en) * 2018-04-25 2019-10-31 Oracle International Corporation Memory reduced string similarity analysis
CN110516212A (zh) * 2019-09-02 2019-11-29 河南理工大学 一种云计算的海量文档相似检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014028860A2 (en) * 2012-08-17 2014-02-20 Opera Solutions, Llc System and method for matching data using probabilistic modeling techniques
CN109471921A (zh) * 2018-11-23 2019-03-15 深圳市元征科技股份有限公司 一种文本查重方法、装置及设备
CN111324750B (zh) * 2020-02-29 2021-07-13 上海爱数信息技术股份有限公司 一种大规模文本相似度计算及文本查重方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970722A (zh) * 2014-05-07 2014-08-06 江苏金智教育信息技术有限公司 一种文本内容去重的方法
US20190332722A1 (en) * 2018-04-25 2019-10-31 Oracle International Corporation Memory reduced string similarity analysis
CN109145080A (zh) * 2018-07-26 2019-01-04 新华三信息安全技术有限公司 一种文本指纹获得方法及装置
CN109359183A (zh) * 2018-10-11 2019-02-19 南京中孚信息技术有限公司 文本信息的查重方法、装置及电子设备
CN110516212A (zh) * 2019-09-02 2019-11-29 河南理工大学 一种云计算的海量文档相似检测方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021169186A1 (zh) * 2020-02-29 2021-09-02 上海爱数信息技术股份有限公司 文本查重方法、电子设备及计算机可读存储介质
CN112182337A (zh) * 2020-10-14 2021-01-05 数库(上海)科技有限公司 从海量短新闻中识别相似新闻的方法及相关设备
CN112182337B (zh) * 2020-10-14 2021-10-22 数库(上海)科技有限公司 从海量短新闻中识别相似新闻的方法及相关设备
CN112464639A (zh) * 2020-12-14 2021-03-09 上海爱数信息技术股份有限公司 一种搜索文本折叠处理系统及其方法
CN112529111A (zh) * 2020-12-28 2021-03-19 广东国粒教育技术有限公司 一种基于ppt文档对比技术计算老师备课创新度的方法
CN112529111B (zh) * 2020-12-28 2022-07-22 广东国粒教育技术有限公司 一种ppt文档的对比方法
CN112861505A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 重复度检测方法、装置和电子设备
CN113806071A (zh) * 2021-08-10 2021-12-17 中标慧安信息技术股份有限公司 一种边缘计算应用的数据同步方法与系统
CN113806071B (zh) * 2021-08-10 2022-08-19 中标慧安信息技术股份有限公司 一种边缘计算应用的数据同步方法与系统
CN117369731A (zh) * 2023-12-07 2024-01-09 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质
CN117369731B (zh) * 2023-12-07 2024-02-27 苏州元脑智能科技有限公司 一种数据的缩减处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111324750B (zh) 2021-07-13
WO2021169186A1 (zh) 2021-09-02
US20230122661A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
CN111324750B (zh) 一种大规模文本相似度计算及文本查重方法
CN108573045B (zh) 一种基于多阶指纹的比对矩阵相似度检索方法
KR100903961B1 (ko) 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템
US7979268B2 (en) String matching method and system and computer-readable recording medium storing the string matching method
US10521441B2 (en) System and method for approximate searching very large data
US8533203B2 (en) Identifying synonyms of entities using a document collection
US7853598B2 (en) Compressed storage of documents using inverted indexes
CN110569629A (zh) 二进制代码文件溯源方法
CN109885641B (zh) 一种数据库中文全文检索的方法及系统
WO2014047214A1 (en) Hierarchical ordering of strings
CN106933824A (zh) 在多个文档中确定与目标文档相似的文档集合的方法和装置
CN109977286B (zh) 基于内容的信息检索方法
JP5780036B2 (ja) 抽出プログラム、抽出方法及び抽出装置
CN112748811A (zh) 一种英文单词输入方法及装置
CN112464639A (zh) 一种搜索文本折叠处理系统及其方法
KR20210022503A (ko) 연관 유사성 검색을 통한 데이터의 중복 제거
CN109902162B (zh) 基于数字指纹的文本相似性的识别方法、存储介质及装置
CN110866088B (zh) 一种语料库之间的快速全文检索方法及系统
JP3514874B2 (ja) フリーテキスト検索システム
KR101739992B1 (ko) 서브 시퀀스 매칭을 위한 데이터베이스 시스템 및 그 방법
CN115017267A (zh) 无监督的语义检索方法、装置及计算机可读存储介质
CN113971403A (zh) 一种考虑文本语义信息的实体识别方法及系统
JP6666312B2 (ja) 多次元データ管理システム及び多次元データ管理方法
JP2009140302A (ja) 転置インデックス作成装置及びフォワードインデックス作成装置
JP3019286B2 (ja) 文書検索装置

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
GR01 Patent grant
GR01 Patent grant