CN109145080A - 一种文本指纹获得方法及装置 - Google Patents
一种文本指纹获得方法及装置 Download PDFInfo
- Publication number
- CN109145080A CN109145080A CN201810834570.9A CN201810834570A CN109145080A CN 109145080 A CN109145080 A CN 109145080A CN 201810834570 A CN201810834570 A CN 201810834570A CN 109145080 A CN109145080 A CN 109145080A
- Authority
- CN
- China
- Prior art keywords
- hash
- character
- txt
- text
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种文本指纹获得方法及装置,涉及网络技术领域,其中,上述方法包括:确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。应用本申请实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量。
Description
技术领域
本申请涉及文本处理领域,特别是涉及一种文本指纹获得方法及装置。
背景技术
随着网络技术的发展,无论是对搜索引擎搜索的网页进行去重和过滤处理、对新闻小说等内容网站的内容进行反盗版和追踪处理,还是对机密文件进行防泄漏处理,均涉及对文本进行去重和过滤处理。
对文本进行去重和过滤处理时,一般采用文本相似性实现。其中,文本相似性是通过文本的特征计算得到的。
现有技术中,一般先对文本进行分词处理,然后利用空间向量模型获得分词处理后文本的特征向量。由于分词处理和使用空间向量模型获得特征向量过程中,涉及的处理过程复杂,导致获得文本特征向量所需的计算量大。
又由于文本特征可以通过上述文本特征向量进行表示,因此,应用上述方式获得文本特征时,所需的计算量大,进而难以根据上述方式获得海量文本中两两文本之间的文本相似性。
发明内容
本申请实施例的目的在于提供一种文本指纹获得方法及装置,以降低获得文本特征所需的计算量。具体技术方案如下:
第一方面,本申请实施例提供了一种文本指纹获得方法,所述方法包括:
确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
第二方面,本申请实施例提供了一种文本指纹获得装置,所述装置包括:
字符确定模块,用于确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
第一哈希值获得模块,用于采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
第二哈希值获得模块,用于采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
文本指纹确定模块,用于将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
第三方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例所述的方法步骤。
第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例所述的任一所述的方法步骤。
由以上可见,本申请实施例提供的方案中,确定目标文本中用于进行指纹计算的目标字符后,分别采用第一哈希算法和第二哈希算法对目标字符进行哈希计算,得到第一哈希值和第二哈希值,然后将第一哈希值和第二哈希值的组合,确定为目标文本的文本指纹。由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用本申请实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文本指纹获得方法的流程示意图;
图2为本申请实施例提供的一种文本指纹中信息的存储示意图;
图3为本申请实施例提供的一种文本指纹获得装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于现有技术中在获得文本的特征时,存在所需计算量大的问题,为解决这一技术问题,本申请实施例提供了一种文本指纹获得方法及装置。
本申请的一个实施例中,提供了一种文本指纹获得方法,该方法包括:
确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
采用第一哈希算法对目标字符进行哈希计算,得到第一哈希值;
采用与第一哈希算法正交的第二哈希算法对目标字符进行哈希计算,得到第二哈希值;
将第一哈希值和第二哈希值的组合,确定为目标文本的文本指纹。
由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用本实施例提供的方案获得文本指纹,能够增加文本指纹的区别度、降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
下面通过具体实施例,对本申请实施例提供的文本指纹获得方法进行详细说明。
图1为本申请实施例提供的一种文本指纹获得方法的流程示意图,该方法包括:
S101:确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符。
对于文本而言,可以认为其中存储的内容是由一个一个字符构成的。
上述目标文本是指需要获取文本指纹的文本。这一目标文本可以是作为执行主体的电子设备本地存储的文本,也可以是上述电子设备从其他设备、网络端等获得的文本,本申请并不对此进行限定。
上述目标字符可以是目标文本中从第一个字符开始的第一预设数量的字符,也可以是从目标文本中任一字符开始的第一预设数量的字符,本申请并不对此进行限定。
本领域技术人员可以理解的是,因文本所包含内容不同,不同文本中所包含的字符也不完全相同。如,有些文本中包含包含大量的标点符号、空格、虚词等等。为保证获得较为准确的文本指纹,本申请的一个实施例中,在获得文本后,可以对所获得的文本进行字符过滤处理,滤除其中的标点符号、空格、虚词等等对应的字符,然后将滤除上述内容的文本作为目标文本。
S102:采用第一哈希算法对目标字符进行哈希计算,得到第一哈希值。
具体的,上述第一哈希算法可以是Rabin-Karp算法,当然,也可以是其他算法,本申请并不对此进行限定。
S103:采用与第一哈希算法正交的第二哈希算法对目标字符进行哈希计算,得到第二哈希值。
其中,上述第二哈希算法只要与第一哈希算法满足正交关系即可,本申请并不对第二哈希算法的具体形式进行限定。
本申请的一个实施例中,上述第二哈希算法可以为:通过对目标字符对应的预设表达式中预设取值的表达位的第一统计信息进行取模操作的算法。
具体的,上述第一统计信息可以为以下第一种信息至第三种信息中的一种:
第一种信息:目标字符中各个字符对应的数值之和
由于电子设备处理的信息均可以以二进制数值进行表示,所以目标字符中的各个字符也会对应于相应的二进制数值,也就是,目标字符中的各个字符均可以对应一个数值,由于二进制与八进制、十进制等等进制之间可以进行转换,因此,每一字符对应的数值可以以不同进制的数值进行表示。
例如,电子设备可以按照ASCII(American Standard Code for InformationInterchange,美国信息交换标准代码)表确定每一字符对应的ASCII,而每一ASCII可以是以二进制、十进制等各种进制的数值表示的,所以可以获得目标字符中各个字符对应的数值。这样可以将目标字符中各个字符对应的数值相加,得到和值,然后将这一和值作为上述第一统计信息。
例如,目标字符中包含A、B和C三个字符,这三个字符对应的ASCII以十进制表示为:65、66、67,65+66+67=198,则上述第一统计信息为198。
对应于上述第一种信息,上述第二哈希算法中涉及的预设表达式可以理解为:目标字符中各个字符对应的数值表达式,预设取值为:目标字符中字符对应的数值,预设取值的表达位为:用于表示目标字符中每一字符所对应数值的各个数据位。
例如,目标字符包括A和B两个字符,则上述预设表达式为:A、B对应的以十进制表示的ASCII 65、66的表达式,预设取值为:6566,预设取值的表达位为:65的个位和十位、66的个位和十位。
第二种信息:目标字符中各个字符对应的二进制表达式中预设取值的比特数量之和
目标字符中的每一字符均可以用二进制数据进行表示,也就是,用于表示每一二进制数据的各个比特位的取值为0或者1。
上述预设取值可以为1或者0。
例如,目标字符中包含A、B和C三个字符,这三个字符对应的二进制数据为:01000001、01000010和01000011,上述预设取值为:1,则A的比特位中包含2个1,B的比特位中包含2个1,C的比特位中包含3个1,这三个字符的比特位中1的和=2+2+3=7。这样上述第一统计信息为7。
对应于上述第二种信息,上述第二哈希算法中涉及的预设表达式为:目标字符中各个字符对应的二进制表达式,预设取值为:0或者1,预设取值的表达位为:上述二进制表达中预设取值所在的比特位。
第三种信息:目标字符中各个字符对应的二进制表达式的预设比特位中值为预设取值的比特数量之和。
上述预设比特位可以是各个字符的奇数比特位或者偶数比特位。
例如,预设比特位为:偶数比特位,预设取值为:1,则
A的比特位中偶数比特位的取值分别为:0、0、0、0,1的数量为:0;
B的比特位中偶数比特位的取值分别为:0、0、0、1,1的数量为:1;
C的比特位中偶数比特位的取值分别为:0、0、0、1,1的数量为:1;
这三个字符的比特位中1的和=0+1+1=2。这样上述第一统计信息为2。
本发明实施例中,并不对S102、S103的先后顺序作特别限定,S102还可先于S103执行,S102也可后于S103执行。
对应于上述第三种信息,上述第二哈希算法中涉及的预设表达式为:目标字符中各个字符对应的二进制表达式,预设取值为:预设比特位的取值,预设取值的表达位为:上述二进制表达中预设比特位中值为预设取值所在的比特位。
S104:将第一哈希值和第二哈希值的组合,确定为目标文本的文本指纹。
其中,对第一哈希值和第二哈希值进行组合,可以理解为,将第一哈希值直接连接于第二哈希值的后面形成一个数据,或者将第二哈希值直接连接于第一哈希值的后面形成一个数据。
具体的,可以预先设定第一哈希值和第二哈希值在组合得到的数据中的位置,如,第一哈希值位于组合得到的数据的高若干比特位,第二哈希值位于组合得到的数据的低若干比特位。
例如,一些设备是以4字节对齐的,也就是,设备为各个数据分配的起始存储地址均为4的整数倍,或者说,设备所要处理的每一数据占用的字节数均为4字节的整数倍,因此可以规定文本的一个文本指纹占用4字节的存储空间,也就是,第一哈希值和第二哈希值组合得到的数据占用4字节。如图2所示,可以预先规定第一哈希值占用3字节,位于文本指纹数据的高24比特,第二哈希值占用1字节,位于文本指纹的低8比特。
也就是,第一哈希值和第二哈希值组合得到的文本指纹为:
(hash_value2&0xFF000000)+(hash_value1&0xFFFFFF)
其中,图2及上述表达之中hash_value1表示第一哈希值,hash_value2表示第二哈希值。
本申请的一个实施例中,目标字符为目标文本中从第一个字符开始的第一预设数量个字符时,上述步骤S102采用第一哈希算法对目标字符进行哈希计算,得到第一哈希值时,可以采用以下表达式对目标字符进行哈希计算,得到第一哈希值:
hash_value1(txt[0…m-1])=(txt[0]*d(m-1)+txt[1]*d(m-2)+...+txt[m-1]*d0)mod q
其中,hash_value1(txt[0…m-1])表示以目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第一哈希值,m表示第一预设数量,txt[]表示目标文本中的字符,txt[0]、txt[1]……txt[m-1]表示目标文本中标识为0至标识为(m-1)的字符,d表示预设的第一数值,q表示预设的第二数值,mod表示取模运算符。
其中,上述d为指数运算中的基数。这样在计算第一哈希值的过程中,相当于将目标字符中各个字符形成的字符串看成d进制数。
上述q一定程度上反映了计算得到的哈希值的离散程度,由于本申请实施例中,文本指纹是由哈希值确定的,所以上述q一定程度上也反映了文本指纹的离散程度。q值越大,哈希值、文本指纹的离散程度越大。
另外,在计算哈希值的过程中,上述q能够使得计算得到的哈希值归一至[0,q-1]的范围内。
txt[0…m-1]表示目标文本中标识为0至标识为(m-1)的字符。
例如,目标文本包含的字符为:ABCDEFGHIJKLMN,上述m的取值为:5,则上述txt[0]、txt[1]……txt[m-1]为:txt[0]=A、txt[1]=B、txt[2]=C、txt[3]=D、txt[4]=E,上述txt[0…m-1]为:txt[0…4]=ABCDE。
本申请的一个实施例中,考虑到一个字节包括8比特,可以表示0~255(255=28-1)共计256个数,因此,上述d的取值可以为256等。
本申请的一个实施例中,上述q的取值可以为素数,其具体取值大小由预先为第一哈希值分配的、在文本指纹中占用的比特数决定。例如,第一哈希值在文本指纹中占3个字节时,为保证应用上述公式计算得到的第一哈希值占用的比特数不超过3个字节,上述q的取值可以为:0xFFFFFD,也就是,16777213。
在上述针对第一哈希值的计算方式的基础上,上述步骤S103采用与第一哈希算法正交的第二哈希算法对目标字符进行哈希计算,得到第二哈希值时,可以采用以下表达式对目标字符进行哈希计算,得到第二哈希值:
hash_value2(txt[0…m-1])=(StatInfo(txt[0])+StatInfo(txt[1])+...+StatInfo
(txt[m-1]))mod p
其中,hash_value2(txt[0…m-1])表示以目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第二哈希值,StatInfo()用于获得字符对应的预设表达式中预设取值的表达位的第二统计信息,p表示预设的第三数值。
上述p在计算哈希值过程中,可以使得计算得到的哈希值归一至[0,p-1]的范围内。上述p一定程度上反映了计算得到的哈希值的离散程度,由于本申请实施例中,文本指纹是由哈希值确定的,所以上述p一定程度上也反映了文本指纹的离散程度。p值越大,哈希值、文本指纹的离散程度越大。示例性的,p取值可以为素数。
其中,上述第二统计信息与前述第一统计信息类似,区别在于第二统计信息是针对StatInfo()的括号中的字符进行统计得到的,而第一统计信息是针对目标字符中包含的所有字符进行统计得到的。
由于txt[0]、txt[1]……txt[m-1]表示目标文本中标识为0至标识为(m-1)的字符,因此,StatInfo(txt[0])、StatInfo(txt[1])……StatInfo(txt[m])分别为:目标文本中标识为0至标识为(m-1)的字符对应的预设表达式中预设取值的表达位的第二统计信息。
例如,假设上述m为3,txt[0]、txt[1]、txt[2]分别为:A、B、C,第二统计信息为:字符中各个字符对应的二进制表达式中预设取值的比特数量之和,预设取值为:1,则
A的二进制数据为:01000001,A对应的第二统计信息为2,即:StatInfo(txt[0])=StatInfo(A)=2;
B的二进制数据为:01000010,B对应的第二统计信息为2,即:StatInfo(txt[1])=StatInfo(B)=2;
C的二进制数据为:01000011,C对应的第二统计信息为3,即:StatInfo(txt[2])=StatInfo(C)=3。
本申请的一个实施例中,上述p的取值大小可以由预先为第二哈希值分配的、在文本指纹中占用的比特数决定。例如,第二哈希值在文本指纹中占1个字节时,由于一个字节包括8比特,可以表示0~255(255=28-1)共计256个数,为保证应用上述公式计算得到的第二哈希值占用的比特数不超过1个字节,上述p的取值可以为:256。
一个文本可以具有多个文本指纹,在利用本文中包含的字符计算文本的文本指纹时,可以分别以文本中的每一字符为起始字符,从该起始字符开始共计第一预设数量个字符为目标字符,计算文本的各个文本指纹。这样来看,计算相邻两个文本指纹时使用的字符之间有大量重复,因此,可以认为相邻两个文本指纹之间具有较强的相关性。
鉴于上述情况,本申请的一个实施例中,目标字符不是目标文本中从第一个字符开始的第一预设数量个字符时,上述步骤S102采用第一哈希算法对目标字符进行哈希计算,得到第一哈希值时,可以采用以下表达式对目标字符进行哈希计算,得到第一哈希值:
hash_value3(txt[s+1..s+m])=(d*(hash_value4(txt[s..s+m-1])–
txt[s]*h)+txt[s+m])mod q
其中,hash_value3(txt[s+1..s+m])表示以目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第一哈希值,s表示目标字符中第一个字符在目标文本中的标识,hash_value4(txt[s..s+m-1])表示以目标文本中标识为s至标识为(s+m-1)的字符为目标字符计算得到的第一哈希值,h=d(m-1)。
根据前面的内容可以得知,txt[s]表示目标文本中标识为s的字符,txt[s+m]表示目标文本中标识为(s+m)的字符,txt[s+1..s+m]表示目标文本中标识为(s+1)至标识为(s+m)的字符,txt[s..s+m-1]表示目标文本中标识为s至标识为(s+m-1)的字符。
在上述针对第一哈希值的计算方式的基础上,上述步骤S103采用与第一哈希算法正交的第二哈希算法对目标字符进行哈希计算,得到第二哈希值时,采用以下表达式对目标字符进行哈希计算,得到第二哈希值:
hash_value5(txt[s+1..s+m])=((hash_value6(txt[s..s+m-1])–
StatInfo(txt[s]))+StatInfo(txt[s+m]))mod p
其中,hash_value5(txt[s+1..s+m])表示以目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第二哈希值,hash_value6(txt[s..s+m-1])表示以目标文本中标识为s至标识为(s+m-1)的字符为目标字符时计算得到的第二哈希值。
根据前面的内容可以得知,StatInfo(txt[s])为:目标文本中标识为s的字符对应的预设表达式中预设取值的表达位的第二统计信息,StatInfo(txt[s+m]为:目标文本中标识为(s+m)的字符对应的预设表达式中预设取值的表达位的第二统计信息。
假设,目标文本包含的字符为:CABBCDEFG,上述s为:1,上述m为:2,则txt[s]=txt[1]=A,txt[s+m]=txt[3]=B。
若第二统计信息为:字符中各个字符对应的二进制表达式中预设取值的比特数量之和,预设取值为:1,则
A的二进制数据为:01000001,A对应的第二统计信息2,即:StatInfo(txt[s])=StatInfo(txt[1])=StatInfo(A)=2;
B的二进制数据为:01000010,B对应的第二统计信息2,即:StatInfo(txt[s+m])=StatInfo(txt[3])=StatInfo(B)=2。
由以上可见,上述各个实施例提供的方案中,确定目标文本中用于进行指纹计算的目标字符后,分别采用第一哈希算法和第二哈希算法对目标字符进行哈希计算,得到第一哈希值和第二哈希值,然后将第一哈希值和第二哈希值的组合,确定为目标文本的一个文本指纹。由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用上述各个实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
另外,由于受算法自身等因素的限制,对文本中不同的字符进行哈希计算,得到的各个第一哈希值之间可能存在碰撞现象,因此,上述各个实施例提供的方案,相对于仅仅使用第一哈希值作为目标文本的一个文本指纹,在第一哈希值发生碰撞的现象时,还可以通过第二哈希值对文本的指纹加以区分,增加文本指纹的区别度,从而降低文本指纹发生碰撞的概率。
再者从前面的描述可以得知,一个文本可以具有多个文本指纹,但是并不是所有文本指纹的表征性均较强,为此,在获得文本的各个文本指纹后,还可以通过winnoeing等算法,从所获得的文本指纹中选择表征性强的文本指纹作为文本的指纹,从而能够有效减轻计算得到的文本指纹碰撞的情况。
具体的,获得目标文本的各个文本指纹后,可以通过预设的窗对所获得的文本指纹进行分组,然后选择每一组中取值最小的文本指纹作为目标文本的最终文本指纹。
例如,所获得目标文本的文本指纹数量为100个,预设的窗大小为10,则可以按照这100个文本指纹的排列序号滑动上述预设窗的过程中将上述100个文本指纹划分为:1~10、11~20、21~30、31~40、41~50、51~60、61~70、71~80、81~90、91~100共计10组,并在滑动预设窗的过程中可以分别从每一组中确定出最小的文本指纹,得到10个文本指纹作为目标文本的最终文本指纹。
本申请仅仅以上述为例进行说明,并不对本申请构成限定。
下面再通过一个具体实例对本申请实施例提供的文本指纹获得方法进行说明。
假设,目标文本中包含的字符为:ABCDE,第一预设数量m为:3,第二统计信息为:字符对应的二进制表达式的预设比特位中值为预设取值的比特数量之和,预设比特位为:偶数比特位,预设取值为:1。
则各个第一预设数量的字符,也就是各个目标字符分别为:
目标字符1包含的字符为:ABC;
目标字符2包含的字符为:BCD;
目标字符3包含的字符为:CDE。
字符A的ASCII以十进制表示为:65,以二进制表示为:01000001,偶数比特位的取值分别为:0、0、0、0,1的数量为:0,则StatInfo(A)=0;
字符B的ASCII以十进制表示为:66,以二进制表示为:01000010,偶数比特位的取值分别为:0、0、0、1,1的数量为:1,则StatInfo(B)=1;
字符C的ASCII以十进制表示为:67,以二进制表示为:01000011,偶数比特位的取值分别为:0、0、0、1,1的数量为:1,则StatInfo(C)=1;
字符D的ASCII以十进制表示为:68,以二进制表示为:01000100,偶数比特位的取值分别为:0、0、0、0,0的数量为:0,则StatInfo(D)=0;
字符E的ASCII以十进制表示为:69,以二进制表示为:01000101,偶数比特位的取值分别为:0、0、0、0,0的数量为:0,则StatInfo(E)=0。
其中,目标字符1为目标文本中从第一个字符开始的3个字符,则目标字符1对应的第一哈希值为:
hash_value1(txt[0…2])=(txt[0]*d2+txt[1]*d+txt[2]*d0)mod q
=(65*d2+66*d+67*d0)mod q
为便于表述,将根据上述公式计算得到的目标字符1对应的第一哈希值记为:V11。
目标字符1对应的第二哈希值为:
hash_value2(txt[0…2])=(StatInfo(txt[0])+StatInfo(txt[1])+...+StatInfo
(txt[m-1]))mod p
=(StatInfo(A)+StatInfo(B)+StatInfo(C))mod p=(0+1+1)mod p
为便于表述,将根据上述公式计算得到的目标字符1对应的第一哈希值记为:V12。
记目标字符2、目标字符3对应的第一哈希值分别为:V21、V31,具体为:
V21=hash_value3(txt[1..3])=(d*(V11–txt[0]*h)+txt[3])mod q
=(d*(V11–65*h)+68)mod q
V31=hash_value3(txt[2..4])=(d*(V21–txt[1]*h)+txt[4])mod q
=(d*(V21–66*h)+69)mod q
记目标字符2、目标字符3对应的第二哈希值分别为:V22、V32,具体为:
V22=hash_value5(txt[1..3])=((V12–StatInfo(txt[0]))+StatInfo(txt[3]))mod p
=((V12–StatInfo(A))+StatInfo(D))mod p=((V12–0)+1)mod p
V32=hash_value5(txt[2..4])=((V22–StatInfo(txt[1]))+StatInfo(txt[4]))mod p
=((V22–StatInfo(B))+StatInfo(E))mod p=((V22–1)+0)mod p
若一个文本指纹占用4字节的存储空间,且第一哈希值占用高3字节,第二哈希值占用低1字节,则目标字符1、目标字符2和目标字符对应的文本指纹V1、V2和V3分别为:
V1=(V12&0xFF000000)+(V11&0xFFFFFF)
V2=(V22&0xFF000000)+(V21&0xFFFFFF)
V3=(V32&0xFF000000)+(V31&0xFFFFFF)
从上述V1、V2和V3中确定目标文本的最终文本指纹时,若预设的窗大小为:3,则可以将V1、V2和V3中的最小值作为目标文本的最终文本指纹。
与上述文本指纹获得方法相对应,本申请实施例还提供了一种文本指纹获得装置。
图3为本申请实施例提供的一种文本指纹获得装置的结构示意图,该装置包括:
字符确定模块301,用于确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
第一哈希值获得模块302,用于采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
第二哈希值获得模块303,用于采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
文本指纹确定模块304,用于将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
本申请的一个实施例中,所述第二哈希算法可以为:通过对用于所述目标字符对应的预设表达式中预设取值的表达位的第一统计信息进行取模操作而实现哈希计算的算法。
本申请的一个实施例中,所述第一统计信息可以为以下信息中的一种:
所述目标字符中各个字符对应的数值之和;
所述目标字符中各个字符对应的二进制表达式中值为预设取值的比特数量之和;
所述目标字符中各个字符对应的二进制表达式的预设比特位中值为预设取值的比特数量之和。
本申请的一个实施例中,所述目标字符为所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述第一哈希值获得模块302,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value1(txt[0…m-1])=(txt[0]*d(m-1)+txt[1]*d(m-2)+...+txt[m-1]*d0)mod q
其中,hash_value1(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第一哈希值,m表示所述第一预设数量,txt[]表示所述目标文本中的字符,txt[0]、txt[1]……txt[m-1]表示所述目标文本中标识为0至标识为(m-1)的字符,d表示预设的第一数值,q表示预设的第二数值,mod表示取模运算符;
所述第二哈希值获得模块303,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value2(txt[0…m-1])=(StatInfo(txt[0])+StatInfo(txt[1])+...+StatInfo
(txt[m-1]))mod p
其中,hash_value2(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第二哈希值,StatInfo()用于获得字符对应的预设表达式中预设取值的表达位的第二统计信息,p表示预设的第三数值。
本申请的一个实施例中,所述目标字符不是所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述第一哈希值获得模块302,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value3(txt[s+1..s+m])=(d*(hash_value4(txt[s..s+m-1])–
txt[s]*h)+txt[s+m])mod q
其中,hash_value3(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第一哈希值,s表示所述目标字符中第一个字符在所述目标文本中的标识,hash_value4(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符计算得到的第一哈希值,h=d(m-1);
所述第二哈希值获得模块303,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value5(txt[s+1..s+m])=((hash_value6(txt[s..s+m-1])–
StatInfo(txt[s]))+StatInfo(txt[s+m]))mod p
其中,hash_value5(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第二哈希值,hash_value6(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符时计算得到的第二哈希值。
由以上可见,上述各个实施例提供的方案中,确定目标文本中用于进行指纹计算的目标字符后,分别采用第一哈希算法和第二哈希算法对目标字符进行哈希计算,得到第一哈希值和第二哈希值,然后将第一哈希值和第二哈希值的组合,确定为目标文本的一个文本指纹。由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用上述各个实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
与前述文本指纹获得方法相对应,本申请实施例还提供了一种电子设备。
图4为本申请实施例提供的一种电子设备的结构示意图,该电子设备包括:处理器401和机器可读存储介质402,所述机器可读存储介质402存储有能够被所述处理器401执行的机器可执行指令,所述处理器401被所述机器可执行指令促使:实现本申请实施例提供的文本指纹获得方法。
本申请的一个实施例中,提供了一种文本指纹获得方法,该方法包括:
确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
需要说明的是,处理器401被机器可执行指令促使实现的文本指纹获得方法的其他实施例,与前述方法实施例部分提及的实施例相同,这里不再赘述。
上述机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,上述机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本实施例提供的方案中,电子设备确定目标文本中用于进行指纹计算的目标字符后,分别采用第一哈希算法和第二哈希算法对目标字符进行哈希计算,得到第一哈希值和第二哈希值,然后将第一哈希值和第二哈希值的组合,确定为目标文本的一个文本指纹。由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用本实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
与上述文本指纹获得方法相对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的文本指纹获得方法。
本申请的一个实施例中,提供了一种文本指纹获得方法,该方法包括:
确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
需要说明的是,机器可执行指令促使处理器实现的文本指纹获得方法的其他实施例,与前述方法实施例部分提及的实施例相同,这里不再赘述。
由以上可见,本实施例提供的方案中,通过执行机器可读存储介质中存储的机器可执行指令,确定目标文本中用于进行指纹计算的目标字符后,分别采用第一哈希算法和第二哈希算法对目标字符进行哈希计算,得到第一哈希值和第二哈希值,然后将第一哈希值和第二哈希值的组合,确定为目标文本的一个文本指纹。由于文本指纹是从模仿生物学的角度获得的文本的信息,因此,文本指纹可以作为本文的特征。与现有技术中利用分词处理、空间特征向量获得文本的特征相比,进行哈希计算的过程简单、计算量小。因此,应用本实施例提供的方案获得文本指纹,能够降低获得文本特征所需的计算量,进而也能够降低获得海量文本中两两文本之间文本相似性的难度。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备和机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (12)
1.一种文本指纹获得方法,其特征在于,所述方法包括:
确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
2.根据权利要求1所述的方法,其特征在于,
所述第二哈希算法为:通过对所述目标字符对应的预设表达式中预设取值的表达位的第一统计信息进行取模操作的算法。
3.根据权利要求2所述的方法,其特征在于,所述第一统计信息为以下信息中的一种:
所述目标字符中各个字符对应的数值之和;
所述目标字符中各个字符对应的二进制表达式中值为预设取值的比特数量之和;
所述目标字符中各个字符对应的二进制表达式的预设比特位中值为预设取值的比特数量之和。
4.根据权利要求2或3所述的方法,其特征在于,所述目标字符为所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值,包括:
采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value1(txt[0…m-1])=(txt[0]*d(m-1)+txt[1]*d(m-2)+...+txt[m-1]*d0)mod q
其中,hash_value1(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第一哈希值,m表示所述第一预设数量,txt[]表示所述目标文本中的字符,txt[0]、txt[1]……txt[m-1]表示所述目标文本中标识为0至标识为(m-1)的字符,d表示预设的第一数值,q表示预设的第二数值,mod表示取模运算符;
所述采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值,包括:
采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value2(txt[0…m-1])=(StatInfo(txt[0])+StatInfo(txt[1])+...+StatInfo(txt[m-1]))mod p
其中,hash_value2(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第二哈希值,StatInfo()用于获得字符对应的预设表达式中预设取值的表达位的第二统计信息,p表示预设的第三数值。
5.根据权利要求4所述的方法,其特征在于,所述目标字符不是所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值,包括:
采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value3(txt[s+1..s+m])=(d*(hash_value4(txt[s..s+m-1])–txt[s]*h)+txt[s+m])mod q
其中,hash_value3(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第一哈希值,s表示所述目标字符中第一个字符在所述目标文本中的标识,hash_value4(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符计算得到的第一哈希值,h=d(m-1);
所述采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值,包括:
采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value5(txt[s+1..s+m])=((hash_value6(txt[s..s+m-1])–StatInfo(txt[s]))+StatInfo(txt[s+m]))mod p
其中,hash_value5(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第二哈希值,hash_value6(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符时计算得到的第二哈希值。
6.一种文本指纹获得装置,其特征在于,所述装置包括:
字符确定模块,用于确定目标文本中用于进行指纹计算的第一预设数量的字符,作为目标字符;
第一哈希值获得模块,用于采用第一哈希算法对所述目标字符进行哈希计算,得到第一哈希值;
第二哈希值获得模块,用于采用与所述第一哈希算法正交的第二哈希算法对所述目标字符进行哈希计算,得到第二哈希值;
文本指纹确定模块,用于将所述第一哈希值和第二哈希值的组合,确定为所述目标文本的文本指纹。
7.根据权利要求6所述的装置,其特征在于,
所述第二哈希算法为:通过对所述目标字符对应的预设表达式中预设取值的表达位的第一统计信息进行取模操作的算法。
8.根据权利要求7所述的装置,其特征在于,所述第一统计信息为以下信息中的一种:
所述目标字符中各个字符对应的数值之和;
所述目标字符中各个字符对应的二进制表达式中值为预设取值的比特数量之和;
所述目标字符中各个字符对应的二进制表达式的预设比特位中值为预设取值的比特数量之和。
9.根据权利要求7或8所述的装置,其特征在于,所述目标字符为所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述第一哈希值获得模块,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value1(txt[0…m-1])=(txt[0]*d(m-1)+txt[1]*d(m-2)+...+txt[m-1]*d0)mod q
其中,hash_value1(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第一哈希值,m表示所述第一预设数量,txt[]表示所述目标文本中的字符,txt[0]、txt[1]……txt[m-1]表示所述目标文本中标识为0至标识为(m-1)的字符,d表示预设的第一数值,q表示预设的第二数值,mod表示取模运算符;
所述第二哈希值获得模块,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value2(txt[0…m-1])=(StatInfo(txt[0])+StatInfo(txt[1])+...+StatInfo(txt[m-1]))mod p
其中,hash_value2(txt[0…m-1])表示以所述目标文本中标识为0至标识为(m-1)的字符为目标字符计算得到的第二哈希值,StatInfo()用于获得字符对应的预设表达式中预设取值的表达位的第二统计信息,p表示预设的第三数值。
10.根据权利要求9所述的装置,其特征在于,所述目标字符不是所述目标文本中从第一个字符开始的第一预设数量个字符时,
所述第一哈希值获得模块,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第一哈希值:
hash_value3(txt[s+1..s+m])=(d*(hash_value4(txt[s..s+m-1])–txt[s]*h)+txt[s+m])mod q
其中,hash_value3(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第一哈希值,s表示所述目标字符中第一个字符在所述目标文本中的标识,hash_value4(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符计算得到的第一哈希值,h=d(m-1);
所述第二哈希值获得模块,具体用于采用以下表达式对所述目标字符进行哈希计算,得到第二哈希值:
hash_value5(txt[s+1..s+m])=((hash_value6(txt[s..s+m-1])–StatInfo(txt[s]))+StatInfo(txt[s+m]))mod p
其中,hash_value5(txt[s+1..s+m])表示以所述目标文本中标识为(s+1)至标识为(s+m)的字符为目标字符计算得到的第二哈希值,hash_value6(txt[s..s+m-1])表示以所述目标文本中标识为s至标识为(s+m-1)的字符为目标字符时计算得到的第二哈希值。
11.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一所述的方法步骤。
12.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810834570.9A CN109145080B (zh) | 2018-07-26 | 2018-07-26 | 一种文本指纹获得方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810834570.9A CN109145080B (zh) | 2018-07-26 | 2018-07-26 | 一种文本指纹获得方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109145080A true CN109145080A (zh) | 2019-01-04 |
CN109145080B CN109145080B (zh) | 2021-01-01 |
Family
ID=64797854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810834570.9A Active CN109145080B (zh) | 2018-07-26 | 2018-07-26 | 一种文本指纹获得方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109145080B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414251A (zh) * | 2019-07-31 | 2019-11-05 | 北京明朝万达科技股份有限公司 | 数据监测方法和装置 |
CN111324750A (zh) * | 2020-02-29 | 2020-06-23 | 上海爱数信息技术股份有限公司 | 一种大规模文本相似度计算及文本查重方法 |
CN111382233A (zh) * | 2020-03-18 | 2020-07-07 | 深圳市随金科技有限公司 | 一种相似文本检测方法、装置、电子设备及存储介质 |
CN111581955A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 文本指纹提取和校验方法、装置 |
CN111737534A (zh) * | 2020-06-19 | 2020-10-02 | 北京百度网讯科技有限公司 | 文件处理方法、装置及设备 |
CN117176807A (zh) * | 2023-10-31 | 2023-12-05 | 神州灵云(北京)科技有限公司 | 一种使用请求指纹合并网络请求的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102124489A (zh) * | 2008-08-17 | 2011-07-13 | 杜比实验室特许公司 | 图像的签名推导 |
CN103425639A (zh) * | 2013-09-06 | 2013-12-04 | 广州一呼百应网络技术有限公司 | 一种基于信息指纹的相似信息识别方法 |
US20140089285A1 (en) * | 2004-11-12 | 2014-03-27 | Google Inc. | Method and System for Autocompletion for Languages Having Ideographs and Phonetic Characters |
CN104283848A (zh) * | 2013-07-03 | 2015-01-14 | 杭州华三通信技术有限公司 | 终端接入方法和装置 |
US20150193459A1 (en) * | 2014-01-07 | 2015-07-09 | 2020CyberSec Ltd | Data file searching method |
CN105589962A (zh) * | 2015-12-22 | 2016-05-18 | 北京奇虎科技有限公司 | 一种文本指纹信息的生成方法与装置 |
CN105912514A (zh) * | 2016-04-28 | 2016-08-31 | 吴国华 | 基于指纹特征的文本复制检测系统及方法 |
CN107256271A (zh) * | 2017-06-27 | 2017-10-17 | 鲁东大学 | 基于映射字典学习的跨模态哈希检索方法 |
-
2018
- 2018-07-26 CN CN201810834570.9A patent/CN109145080B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089285A1 (en) * | 2004-11-12 | 2014-03-27 | Google Inc. | Method and System for Autocompletion for Languages Having Ideographs and Phonetic Characters |
CN102124489A (zh) * | 2008-08-17 | 2011-07-13 | 杜比实验室特许公司 | 图像的签名推导 |
CN104283848A (zh) * | 2013-07-03 | 2015-01-14 | 杭州华三通信技术有限公司 | 终端接入方法和装置 |
CN103425639A (zh) * | 2013-09-06 | 2013-12-04 | 广州一呼百应网络技术有限公司 | 一种基于信息指纹的相似信息识别方法 |
US20150193459A1 (en) * | 2014-01-07 | 2015-07-09 | 2020CyberSec Ltd | Data file searching method |
CN105589962A (zh) * | 2015-12-22 | 2016-05-18 | 北京奇虎科技有限公司 | 一种文本指纹信息的生成方法与装置 |
CN105912514A (zh) * | 2016-04-28 | 2016-08-31 | 吴国华 | 基于指纹特征的文本复制检测系统及方法 |
CN107256271A (zh) * | 2017-06-27 | 2017-10-17 | 鲁东大学 | 基于映射字典学习的跨模态哈希检索方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581955A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 文本指纹提取和校验方法、装置 |
CN110414251A (zh) * | 2019-07-31 | 2019-11-05 | 北京明朝万达科技股份有限公司 | 数据监测方法和装置 |
CN111324750A (zh) * | 2020-02-29 | 2020-06-23 | 上海爱数信息技术股份有限公司 | 一种大规模文本相似度计算及文本查重方法 |
CN111324750B (zh) * | 2020-02-29 | 2021-07-13 | 上海爱数信息技术股份有限公司 | 一种大规模文本相似度计算及文本查重方法 |
CN111382233A (zh) * | 2020-03-18 | 2020-07-07 | 深圳市随金科技有限公司 | 一种相似文本检测方法、装置、电子设备及存储介质 |
CN111737534A (zh) * | 2020-06-19 | 2020-10-02 | 北京百度网讯科技有限公司 | 文件处理方法、装置及设备 |
CN111737534B (zh) * | 2020-06-19 | 2024-04-09 | 北京百度网讯科技有限公司 | 文件处理方法、装置及设备 |
CN117176807A (zh) * | 2023-10-31 | 2023-12-05 | 神州灵云(北京)科技有限公司 | 一种使用请求指纹合并网络请求的方法和装置 |
CN117176807B (zh) * | 2023-10-31 | 2024-01-26 | 神州灵云(北京)科技有限公司 | 一种使用请求指纹合并网络请求的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109145080B (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109145080A (zh) | 一种文本指纹获得方法及装置 | |
CN109948497B (zh) | 一种物体检测方法、装置及电子设备 | |
CN110597511B (zh) | 一种页面自动生成方法、系统、终端设备及存储介质 | |
CN111860398B (zh) | 遥感图像目标检测方法、系统及终端设备 | |
CN107368820B (zh) | 一种精细化手势识别方法、装置及设备 | |
CN105718848B (zh) | 一种指纹图像的质量评估方法及装置 | |
EP4064071A1 (en) | Text search method, device, server, and storage medium | |
CN106528508A (zh) | 一种重复文本的判定方法和装置 | |
CN109255632A (zh) | 一种用户团体识别方法、装置、设备及介质 | |
CN111159329A (zh) | 敏感词检测方法、装置、终端设备和计算机可读存储介质 | |
CN109597987A (zh) | 一种文本还原方法、装置及电子设备 | |
CN114297665A (zh) | 基于深度学习的智能合约漏洞检测方法和装置 | |
CN112949290B (zh) | 文本纠错方法、装置及通信设备 | |
CN114116013A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112948895A (zh) | 数据的水印嵌入方法、水印溯源方法及装置 | |
CN107103010A (zh) | 可视化数据的处理方法及装置 | |
CN106528048B (zh) | 评估随机数生成器质量的方法及装置 | |
CN107688596B (zh) | 突发话题检测方法及突发话题检测设备 | |
EP3812952A1 (en) | Digital identification generating method, device and system and storage medium | |
EP3309660A1 (en) | Method for detecting input device, and detection device | |
CN105700704A (zh) | 小尺寸屏幕下的文字输入方法和装置 | |
CN107943760B (zh) | Pdf文档编辑的字体优化方法、装置、终端设备和存储介质 | |
CN110928441A (zh) | 一种触摸物识别方法、系统、终端设备及存储介质 | |
CN113792849B (zh) | 字符生成模型的训练方法、字符生成方法、装置和设备 | |
EP3531335A1 (en) | Barcode identification method and apparatus |
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 |