CN109670153B - 一种相似帖子的确定方法、装置、存储介质及终端 - Google Patents

一种相似帖子的确定方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN109670153B
CN109670153B CN201811570832.1A CN201811570832A CN109670153B CN 109670153 B CN109670153 B CN 109670153B CN 201811570832 A CN201811570832 A CN 201811570832A CN 109670153 B CN109670153 B CN 109670153B
Authority
CN
China
Prior art keywords
posts
post
simhash
newly added
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.)
Active
Application number
CN201811570832.1A
Other languages
English (en)
Other versions
CN109670153A (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 Chengshi Wanglin Information Technology Co Ltd
Original Assignee
Beijing Chengshi Wanglin 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 Beijing Chengshi Wanglin Information Technology Co Ltd filed Critical Beijing Chengshi Wanglin Information Technology Co Ltd
Priority to CN201811570832.1A priority Critical patent/CN109670153B/zh
Publication of CN109670153A publication Critical patent/CN109670153A/zh
Application granted granted Critical
Publication of CN109670153B publication Critical patent/CN109670153B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files

Abstract

本发明公开了一种相似帖子的确定方法、装置、存储介质及终端,通过计算出新增帖子的simhash值后,将simhash值分为相同的几个部分,并分别获取具有相同部分的其他帖子的simhash值与新增帖子的simhash值进行汉明距离的计算,汉明距离小于预设阈值时,证明新增帖子存在相似帖子,此时可针对相似帖子进行删除操作。本发明通过上述方法降低了计算帖子之间汉明距离的次数,提高查询速度,在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子,提高用户的使用体验。

Description

一种相似帖子的确定方法、装置、存储介质及终端
技术领域
本发明涉及文本挖掘技术领域,特别是涉及一种相似帖子的确定方法、装置、存储介质及终端。
背景技术
应用程序在向用户进行相关内容推荐的过程,就是将内容池中已有的帖子推送给用户。在有新帖子进入内容池后,在进行内容推荐时可能将新帖子推荐给用户,但是,新帖子可能是与内容池中已有帖子内容重复的帖子,在将新帖子推送给用户后,可能会造成为用户重复推荐的情况。
现有技术通过计算内容池中所有帖子和新帖子的最小哈希签名simhash值,然后计算新帖子与内容池中每个帖子之间的汉明距离,来判断是否存在原有帖子与新帖子内容重复,但是,现有技术无法对新帖子进行实时的相似内容判断,只能在离线情况下进行。在新帖子入库,还未离线删除重复相似的帖子时,有一定概率将重复或相似的帖子同时推荐给用户,进而影响用户的使用体验。
发明内容
本发明提供一种相似帖子的确定方法、装置、存储介质及终端,用以解决现有技术中将重复或相似的帖子同时推荐给用户,进而影响用户的使用体验的问题。
为解决上述技术问题,一方面,本发明提供一种相似帖子的确定方法,包括:计算新增帖子的最小哈希签名值simhash;将所述新增帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取所述关键字对应的值内保存的列表,其中,所述列表中保存有具有相同关键字的帖子的simhash值;计算所述新增帖子的simhash值与所述列表中已存在的每个帖子的simhash值之间的汉明距离;检测是否存在与所述新增帖子的simhash值的所述汉明距离小于预设阈值的帖子;在存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子存在相似内容;在不存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子不存在相似内容。
进一步,所述计算新增帖子的最小哈希签名值simhash,包括:对所述新增帖子进行分词,并提取分词后的所述新增帖子的特征词,确定所述特征词的权重值;根据所述特征词和所述特征词的权重值计算所述新增帖子的最小哈希签名值simhash。
进一步,所述以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取所述关键字对应的值内保存的列表list之后,还包括:在每个所述关键字对应的值内保存的列表为空的情况下,确定所述新增帖子不存在相似内容。
进一步,所述计算新增帖子的最小哈希签名值simhash之前,还包括:计算内容池中所有帖子的最小哈希签名值simhash;将所述所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以所述相同第二预设位数的二进制字符串作为关键字的列表中。
另一方面,本发明还提供一种相似帖子的确定装置,包括:第一计算模块,用于计算新增帖子的最小哈希签名值simhash;转换模块,用于将所述新增帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;获取模块,用于以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取所述关键字对应的值内保存的列表,其中,所述列表中保存有具有相同关键字的帖子的simhash值;第二计算模块,计算所述新增帖子的simhash值与所述列表中已存在的每个帖子的simhash值之间的汉明距离;检测模块,用于检测是否存在与所述新增帖子的simhash值的所述汉明距离小于预设阈值的帖子;确定模块,用于在存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子存在相似内容;在不存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子不存在相似内容。
进一步,所述第一计算模块,具体用于:对所述新增帖子进行分词,并提取分词后的所述新增帖子的特征词,确定所述特征词的权重值;根据所述特征词和所述特征词的权重值计算所述新增帖子的最小哈希签名值simhash。
进一步,所述确定模块,还用于:在每个所述关键字对应的值内保存的列表为空的情况下,确定所述新增帖子不存在相似内容。
进一步,还包括:处理模块,用于计算内容池中所有帖子的最小哈希签名值simhash;将所述所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以所述相同第二预设位数的二进制字符串作为关键字的列表中。
另一方面,本发明还提供一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的字典转码方法的步骤。
另一方面,本发明还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的字典转码方法的步骤。
本发明通过计算出新增帖子的simhash值后,将simhash值分为相同的几个部分,并分别获取具有相同部分的其他帖子的simhash值与新增帖子的simhash值进行汉明距离的计算,汉明距离小于预设阈值时,证明新增帖子存在相似内容,此时可针对相似帖子进行删除操作。通过上述方法降低了计算帖子之间汉明距离的次数,提高查询速度,在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子内容,提高用户的使用体验。
附图说明
图1是本发明第一实施例中相似帖子的确定方法的流程图;
图2是本发明第二实施例中相似帖子的确定方法的流程图;
图3是本发明第三实施例中相似帖子的确定方法的流程图;
图4是本发明第四实施例中相似帖子的确定方法的流程图;
图5是本发明第五和第六实施例中相似帖子的确定装置的结构示意图;
图6是本发明第七实施例中相似帖子的确定装置的结构示意图;
图7是本发明第八实施例中相似帖子的确定装置的结构示意图。
具体实施方式
为了解决现有技术无法对新帖子进行实时的相似内容判断,只能在离线情况下进行,在新帖子入库,还未离线删除重复相似的帖子时,有一定概率将重复或相似的帖子同时推荐给用户,进而影响用户的使用体验的问题,本发明提供了一种相似帖子的确定方法、装置、存储介质及终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明的第一实施例提供了一种相似帖子的确定方法,其流程图如图1所示,主要包括步骤S101至S105:
S101,计算新增帖子的最小哈希签名值simhash。
计算最小哈希签名值是一种用单个哈希函数得到文档最小哈希签名的方法,其计算结果是得到该文档的一个唯一的哈希值,即simhash。在本实施例中,simhash值可以代表帖子的具体内容,是进行帖子之间内容是否相似的判断依据。因此,在新增帖子进入内容池时,首先需要计算其最小哈希签名值simhash,以便进行后续的相似判断步骤。
S102,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串。
本实施例中通过计算帖子之间的汉明距离来判断两个帖子之间是否相似,而两个相似的帖子的二进制的simhash值中必有相同的部分,为了降低汉明距离的计算次数,首先将新增帖子的simhash值进行二进制转化,转换为第一预设位数的二进制字符串,第一预设位数可以为16位、64位、128位等,为了方便计算和保证一定的准确率,本实施例中第一预设位数优选地为64位。
随后将第一预设位数的二进制字符串均匀分割为预设个数的第二预设位数的二进制字符串,也就是说,预设个数与第二预设位数的乘积等于第一预设位数。为了方便计算,并保证相似内容判断的准确率,在第一预设位数为64位的情况下,预设个数为4个,第二预设位数为16位。
S103,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表。
在本实施例中,分布式缓存数据库redis中保存有内容池内所有帖子的simhash值,具体的保存形式为以具有不同内容的第二预设位数的二进制字符串为关键字(key),对应的值(value)为保存有具有相同关键字的帖子的simhash值的列表(list)。
具体地,为了确定内容池中已有的帖子中是否有与新增帖子相同或相似的帖子存在,只需要以新增帖子的每个第二预设位数的二进制字符串作为关键字,获取对应的列表即可,进而减少了需要计算汉明距离的帖子数量,只需要计算列表中记录的帖子即可。
S104,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离。
对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。在获取到以每个第二预设位数的二进制字符串作为关键字的对应列表后,计算新增帖子的simhash值与每个列表中每个帖子的simhash值之间的汉明距离,通过两个帖子的汉明距离值,确定两个帖子之间的相似程度。应当了解的是,在预设个数为4的情况下,最多可以存在4个列表,在计算汉明距离时,只需要计算新增帖子的simhash值与对应的4个列表内的帖子的simhash值之间的汉明距离即可,也可能根据4个关键值仅能获取1个或2个或3个列表,此时只需要计算新增帖子的simhash值与对应的1个或2个或3个列表内的帖子的simhash值之间的汉明距离即可。
S105,检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子,在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
预设阈值可以为事先设置好的一个数值,当两个帖子之间的汉明距离小于预设阈值时,则认为两个帖子内容不相似,否则,两个帖子之间内容相同或相似,进一步地,根据汉明距离的计算方式以及相似判定规则,汉明距离小于4的两个帖子为相似,因此,预设阈值的优选值为4。
分别计算新增帖子与列表中所有帖子之间的汉明距离,若不存在计算结果大于4的帖子,则确定新增帖子在内容池中不存在相似内容,此时可以将新增帖子存入至内容池中,作为为用户推荐的新增内容;若存在计算结果大于4的帖子,则证明存在已有帖子与新增帖子内容相同或相似,此时无法将新增帖子添加到内容池中,对应删除新增帖子即可,或者可以由维护人员手动确定删除的对象是新增帖子或与新增帖子内容详细的内容池中原有帖子。
本实施例通过上述方法降低了计算帖子之间汉明距离的次数,提高查询速度,在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子,提高用户的使用体验。
本发明的第二实施例提供了一种相似帖子的确定方法,其流程图如图2所示,主要包括步骤S201至S206:
S201,对新增帖子进行分词,并提取分词后的新增帖子的特征词,确定特征词的权重值。
S202,根据特征词和特征词的权重值计算新增帖子的simhash值。
一个帖子的内容可能包括文字、图片、链接等具体内容,在计算一个帖子的simhash值时,只能针对该帖子的文字内容进行计算。并且,在文字描述中,也常常存在没有具体意义的助词、量词或语气词等,因此,需要对新增帖子进行分词处理,将帖子内容中的名词、动词、形容词、助词、量词或语气词等词语一一划分出来,然后进行特征提取,提取出若干个可以代表帖子内容的特征词,并确定上述若干个特征词的权重,最后根据特征词的内容和对应的权重计算帖子的simhash值即可。应当了解的是,上述分词、特征词提取和权重确定的过程,可以通过已有的特征提取模型实现,在此不再详细赘述。
S203,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串。
S204,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表list。
S205,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离。
S206,检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子,在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
本实施例中的步骤S203至S206与本发明第一实施例中的步骤S102至S105相同,在本实施例中不再详细赘述。
本实施例通过对帖子内容进行分词、特征词提取和权重计算,计算出唯一代表帖子内容的最小哈希签名值,以作为汉明距离计算的依据,为后续进行帖子之间内容的相似判断提供了准确的数据支撑。
本发明的第三实施例提供了一种相似帖子的确定方法,其流程图如图3所示,主要包括步骤S301至S304:
S301,计算新增帖子的最小哈希签名值simhash。
S302,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串。
S303,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表list。
S304,在每个关键字对应的值内保存的列表为空的情况下,确定新增帖子不存在相似内容。
本实施例中的步骤S301至S303与本发明第一实施例中的步骤S101至S103相同,在本实施例中不再详细赘述。
在本发明的第一实施例中描述了根据关键字可以获取到对应列表的情况,但是若当前新增帖子的内容较为新颖独特,则会出现以下情况,即根据其simhash分割出的关键字在分布式缓存数据库中没有对应的列表存在,说明内容池中的帖子对应的simhash值均不包含上述关键字部分对应的内容,即表示新增帖子在当前内容池中不存在相似帖子,可以将新增帖子添加至内容池中。
本实施例在根据新增帖子的simhash分割出的关键字在分布式缓存数据库中没有对应的列表存在的情况下,可直接判断内容池中没有帖子与新增帖子相似,可进一步简化相似帖子的判断过程。
本发明的第四实施例提供了一种相似帖子的确定方法,其流程图如图4所示,主要包括步骤S401至S408:
S401,计算内容池中所有帖子的最小哈希签名值simhash。
S402,将所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串。
S403,将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以相同第二预设位数的二进制字符串作为关键字的列表中。
在进行新增帖子的是否为相似帖子的判断之前,需要对内容池中已存在的所有帖子进行前期的数据准备,即将内容池中的所有帖子根据其simhash进行整理。首先需要对所有帖子计算其对应的simhash值,以代表该帖子的主要内容;随后将每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;最后将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以相同第二预设位数的二进制字符串作为关键字的列表中,即在相同列表中保存的帖子,都至少具有一部分相同的simhash值。并且,在预设个数为4的情况下,一个帖子的simhash值则最多可以被保存在4个不同关键字对应的列表中。
应当了解的是,本实施例中第一预设位数、预设个数、第二预设位数的具体值应当与第一实施例中保持一致,也就是说,内容池中的帖子和新增帖子的二进制simhash值及其关键字的划分方式应该是一样的,这样才能保证后续根据关键字获取列表时获取到具有正确内容的列表结果。
S404,计算新增帖子的最小哈希签名值simhash。
S405,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串。
S406,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表list。
S407,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离。
S408,检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子,在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
本实施例中的步骤S404至S408与本发明第一实施例中的步骤S101至S105相同,在本实施例中不再详细赘述。
本实施例对内容池中原有的帖子进行了整理,将其对应的simhash值分别保存在对应关键字的列表中,方便进行后续新增帖子的相似性判断,减少了计算汉明距离的次数,使新增帖子在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子,提高用户的使用体验。
本发明的第五实施例提供了一种相似帖子的确定装置,主要安装于作为内容池使用的存储服务器中,其结构示意图如图5所示,主要包括:第一计算模块10,用于计算新增帖子的最小哈希签名值simhash;转换模块20,与第一计算模块10耦合,用于将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;获取模块30,与转换模块20耦合,用于以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;第二计算模块40,与获取模块30耦合,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离;检测模块50,与第二计算模块40耦合,用于检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子;确定模块60,与检测模块50耦合,用于在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
在本实施例中,simhash值可以代表帖子的具体内容,是进行帖子之间内容是否相似的判断依据。因此,在新增帖子进入内容池时,首先由第一计算模块10计算其最小哈希签名值simhash,以便进行后续的相似判断步骤。
本实施例通过计算帖子之间的汉明距离来判断两个帖子之间是否相似,而两个相似的帖子的二进制的simhash值中必有相同的部分,为了降低汉明距离的计算次数,转换模块20将新增帖子的simhash值进行二进制转化,转换为第一预设位数的二进制字符串,第一预设位数可以为16位、64位、128位等,为了方便计算和保证一定的准确率,本实施例中第一预设位数优选地为64位;随后转换模块20将第一预设位数的二进制字符串均匀分割为预设个数的第二预设位数的二进制字符串,也就是说,预设个数与第二预设位数的乘积等于第一预设位数。为了方便计算,并保证相似内容判断的准确率,在第一预设位数为64位的情况下,预设个数为4个,第二预设位数为16位。
在本实施例中,分布式缓存数据库中保存有内容池内所有帖子的simhash值,具体的保存形式为以具有不同内容的第二预设位数的二进制字符串为关键字,对应的值为保存有具有相同关键字的帖子的simhash值的列表。具体地,为了确定内容池中已有的帖子中是否有与新增帖子相同或相似的帖子存在,获取模块30以新增帖子的每个第二预设位数的二进制字符串作为关键字,获取对应的列表即可,进而减少了需要计算汉明距离的帖子数量,只需要计算列表中记录的帖子即可。
对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。在获取到以每个第二预设位数的二进制字符串作为关键字的对应列表后,第二计算模块40计算新增帖子的simhash值与每个列表中每个帖子的simhash值之间的汉明距离,通过两个帖子的汉明距离值,确定两个帖子之间的相似程度。
进一步地,预设阈值可以为事先设置好的一个数值,当检测模块50检测两个帖子之间的汉明距离大于预设阈值时,则确定模块60认为两个帖子不相似,否则,两个帖子之间相同或相似,进一步地,根据汉明距离的计算方式以及相似判定规则,汉明距离小于4的两个帖子为相似,因此,预设阈值的优选值为4。
第二计算模块40分别计算新增帖子与列表中所有帖子之间的汉明距离,并通过检测模块50进行检测,若不存在计算结果小于4的帖子,则确定模块60确定新增帖子在内容池中不存在相似帖子内容,此时可以将新增帖子存入至内容池中,作为为用户推荐的新增内容;若存在计算结果小于4的帖子,则确定模块60确定存在已有帖子与新增帖子内容相同或相似,此时无法将新增帖子添加到内容池中,对应删除新增帖子即可,或者可以由维护人员手动确定删除的对象是新增帖子或与新增帖子内容详细的内容池中原有帖子。
本实施例通过上述方法降低了计算帖子之间汉明距离的次数,提高查询速度,在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子,提高用户的使用体验。
本发明的第六实施例提供了一种相似帖子的确定装置,主要安装于作为内容池使用的存储服务器中,其结构示意图如图5所示,主要包括:第一计算模块10,对新增帖子进行分词,并提取分词后的新增帖子的特征词,确定特征词的权重值;根据特征词和特征词的权重值计算新增帖子的最小哈希签名值simhash;转换模块20,与第一计算模块10耦合,用于将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;获取模块30,与转换模块20耦合,用于以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;第二计算模块40,与获取模块30耦合,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离;检测模块50,与第二计算模块40耦合,用于检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子;确定模块60,与检测模块50耦合,用于在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
本实施例中转换模块20、获取模块30、第二计算模块40、检测模块50与确定模块60的功能与本发明第五实施例相同,在此不再详细赘述。
一个帖子的内容可能包括文字、图片、链接等具体内容,在计算一个帖子的simhash值时,只能针对该帖子的文字内容进行计算。并且,在文字描述中,也常常存在没有具体意义的助词、量词或语气词等,因此,需要对新增帖子进行分词处理,由第一计算模块10将帖子内容中的名词、动词、形容词、助词、量词或语气词等词语一一划分出来,然后进行特征提取,提取出若干个可以代表帖子内容的特征词,并确定上述若干个特征词的权重,最后根据特征词的内容和对应的权重计算帖子的simhash值即可。应当了解的是,上述分词、特征词提取和权重确定的过程,第一计算模块10可以使用已有的特征提取模型实现,在此不再详细赘述。
本实施例通过对帖子内容进行分词、特征词提取和权重计算,计算出唯一代表帖子内容的最小哈希签名值,以作为汉明距离计算的依据,为后续进行帖子之间内容的相似判断提供了准确的数据支撑。
本发明的第七实施例提供了一种相似帖子的确定装置,主要安装于作为内容池使用的存储服务器中,其结构示意图如图6所示,主要包括:第一计算模块10,用于计算新增帖子的最小哈希签名值simhash;转换模块20,与第一计算模块10耦合,用于将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;获取模块30,与转换模块20耦合,用于以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;确定模块60,与获取模块30耦合,用于在每个关键字对应的值内保存的列表为空的情况下,确定新增帖子不存在相似内容。
本实施例中第一计算模块10、转换模块20和获取模块30的功能与本发明第五实施例相同,在此不再详细赘述。
在本发明的第五实施例中描述了根据关键字可以获取到对应列表的情况,但是若当前新增帖子的内容较为新颖独特,则会出现以下情况,即根据其simhash分割出的关键字在分布式缓存数据库中没有对应的列表存在,此时确定模块60可确定内容池中的帖子对应的simhash值均不包含上述关键字部分对应的内容,即表示新增帖子在当前内容池中不存在相似内容,可以将新增帖子添加至内容池中。
本实施例在根据新增帖子的simhash分割出的关键字在分布式缓存数据库中没有对应的列表存在的情况下,可直接判断内容池中没有帖子与新增帖子相似,可进一步简化相似帖子的判断过程。
本发明的第八实施例提供了一种相似帖子的确定装置,主要安装于作为内容池使用的存储服务器中,其结构示意图如图7所示,主要包括:处理模块70,用于计算内容池中所有帖子的最小哈希签名值simhash;将所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以相同第二预设位数的二进制字符串作为关键字的列表中;第一计算模块10,用于计算新增帖子的最小哈希签名值simhash;转换模块20,与第一计算模块10耦合,用于将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;获取模块30,与转换模块20和处理模块70耦合,用于以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;第二计算模块40,与获取模块30耦合,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离;检测模块50,与第二计算模块40耦合,用于检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子;确定模块60,与检测模块50耦合,用于在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
本实施例中第一计算模块10、转换模块20、获取模块30、第二计算模块40、检测模块50与确定模块60的功能与本发明第五实施例相同,在此不再详细赘述。
在进行新增帖子的是否为相似帖子的判断之前,需要对内容池中已存在的所有帖子进行前期的数据准备处理,即通过处理模块70将内容池中的所有帖子根据其simhash进行整理。首先需要对所有帖子计算其对应的simhash值,以代表该帖子的主要内容;随后将每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;最后将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以相同第二预设位数的二进制字符串作为关键字的列表中,即在相同列表中保存的帖子,都至少具有一部分相同的simhash值。并且,在预设个数为4的情况下,一个帖子的simhash值则最多可以被保存在4个不同关键字对应的列表中。
应当了解的是,内容池中的帖子和新增帖子的二进制simhash值及其关键字的划分方式应该是一样的,这样才能保证后续根据关键字获取列表时获取到具有正确内容的列表结果。
本实施例对内容池中原有的帖子进行了整理,将其对应的simhash值分别保存在对应关键字的列表中,方便进行后续新增帖子的相似性判断,减少了计算汉明距离的次数,使新增帖子在入库的同时,迅速确定是否为相似贴,提高了去重效率,从而达到快速确定和删除相似帖子的目的,避免向用户重复推荐相同或相似帖子,提高用户的使用体验。
本发明的第九实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤S11至S15:
S11,计算新增帖子的最小哈希签名值simhash;
S12,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;
S13,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;
S14,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离;
S15,检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子;在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
在本实施例中,存储介质可以安装作为内容池使用的存储服务器中。由于在第一实施例中已经对相似帖子的确定方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明的第十实施例提供了一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤S21至S25:
S21,计算新增帖子的最小哈希签名值simhash;
S22,将新增帖子的simhash值转换为第一预设位数的二进制字符串,并将第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;
S23,以预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取关键字对应的值内保存的列表,其中,列表中保存有具有相同关键字的帖子的simhash值;
S24,计算新增帖子的simhash值与列表中已存在的每个帖子的simhash值之间的汉明距离;
S25,检测是否存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子;在存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子存在相似内容;在不存在与新增帖子的simhash值的汉明距离小于预设阈值的帖子的情况下,确定新增帖子不存在相似内容。
在本实施例中,终端可以为作为内容池使用的存储服务器。由于在第一实施例中已经对相似帖子的确定方法的具体步骤进行了详细说明,因此,在本实施例中不再赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (10)

1.一种相似帖子的确定方法,其特征在于,包括:
计算新增帖子的最小哈希签名值simhash;
将所述新增帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;
以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库分布式缓存数据库中获取所述关键字对应的值内保存的列表,用于减少需要计算汉明距离的帖子数量,其中,所述列表中保存有具有相同关键字的帖子的simhash值;
计算所述新增帖子的simhash值与所述列表中已存在的每个帖子的simhash值之间的汉明距离;
检测是否存在与所述新增帖子的simhash值的所述汉明距离小于预设阈值的帖子;
在存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子存在相似内容;
在不存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子不存在相似内容。
2.如权利要求1所述的确定方法,其特征在于,所述计算新增帖子的最小哈希签名值simhash,包括:
对所述新增帖子进行分词,并提取分词后的所述新增帖子的特征词,确定所述特征词的权重值;
根据所述特征词和所述特征词的权重值计算所述新增帖子的最小哈希签名值simhash。
3.如权利要求1所述的确定方法,其特征在于,所述以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取所述关键字对应的值内保存的列表list之后,还包括:
在每个所述关键字对应的值内保存的列表为空的情况下,确定所述新增帖子不存在相似内容。
4.如权利要求1或3中任一项所述的确定方法,其特征在于,所述计算新增帖子的最小哈希签名值simhash之前,还包括:
计算内容池中所有帖子的最小哈希签名值simhash;
将所述所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;
将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以所述相同第二预设位数的二进制字符串作为关键字的列表中。
5.一种相似帖子的确定装置,其特征在于,包括:
第一计算模块,用于计算新增帖子的最小哈希签名值simhash;
转换模块,用于将所述新增帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;
获取模块,用于以所述预设个数中的每个第二预设位数的二进制字符串作为关键字,从分布式缓存数据库中获取所述关键字对应的值内保存的列表,,用于减少需要计算汉明距离的帖子数量,其中,所述列表中保存有具有相同关键字的帖子的simhash值;
第二计算模块,计算所述新增帖子的simhash值与所述列表中已存在的每个帖子的simhash值之间的汉明距离;
检测模块,用于检测是否存在与所述新增帖子的simhash值的所述汉明距离小于预设阈值的帖子;
确定模块,用于在存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子存在相似内容;在不存在与所述新增帖子的simhash值的所述汉明距离小于所述预设阈值的帖子的情况下,确定所述新增帖子不存在相似内容。
6.如权利要求5所述的确定装置,其特征在于,所述第一计算模块,具体用于:
对所述新增帖子进行分词,并提取分词后的所述新增帖子的特征词,确定所述特征词的权重值;
根据所述特征词和所述特征词的权重值计算所述新增帖子的最小哈希签名值simhash。
7.如权利要求5所述的确定装置,其特征在于,所述确定模块,还用于:
在每个所述关键字对应的值内保存的列表为空的情况下,确定所述新增帖子不存在相似内容。
8.如权利要求5至7中任一项所述的确定装置,其特征在于,还包括:
处理模块,用于计算内容池中所有帖子的最小哈希签名值simhash;将所述所有帖子中的每一个帖子的simhash值转换为第一预设位数的二进制字符串,并将所述第一预设位数的二进制字符串均分为预设个数的第二预设位数的二进制字符串;将具有相同第二预设位数的二进制字符串的帖子的simhash值存入以所述相同第二预设位数的二进制字符串作为关键字的列表中。
9.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的相似帖子的确定方法的步骤。
10.一种终端,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至4中任一项所述的相似帖子的确定方法的步骤。
CN201811570832.1A 2018-12-21 2018-12-21 一种相似帖子的确定方法、装置、存储介质及终端 Active CN109670153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811570832.1A CN109670153B (zh) 2018-12-21 2018-12-21 一种相似帖子的确定方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811570832.1A CN109670153B (zh) 2018-12-21 2018-12-21 一种相似帖子的确定方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN109670153A CN109670153A (zh) 2019-04-23
CN109670153B true CN109670153B (zh) 2023-11-17

Family

ID=66145784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811570832.1A Active CN109670153B (zh) 2018-12-21 2018-12-21 一种相似帖子的确定方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN109670153B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297879B (zh) * 2019-05-15 2023-05-30 平安科技(深圳)有限公司 一种基于大数据的数据去重的方法、装置及存储介质
CN110223107B (zh) * 2019-05-23 2021-12-07 中国银行股份有限公司 基于相似对象的参考广告确定方法、装置和设备
CN113536763A (zh) * 2021-07-20 2021-10-22 北京中科闻歌科技股份有限公司 一种信息处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103189867A (zh) * 2012-10-30 2013-07-03 华为技术有限公司 重复数据检索方法及设备
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
CN103646080A (zh) * 2013-12-12 2014-03-19 北京京东尚科信息技术有限公司 基于倒序索引的微博去重方法和系统
CN106873964A (zh) * 2016-12-23 2017-06-20 浙江工业大学 一种改进的SimHash代码相似度检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661341B1 (en) * 2011-01-19 2014-02-25 Google, Inc. Simhash based spell correction
CN103189867A (zh) * 2012-10-30 2013-07-03 华为技术有限公司 重复数据检索方法及设备
CN103646080A (zh) * 2013-12-12 2014-03-19 北京京东尚科信息技术有限公司 基于倒序索引的微博去重方法和系统
CN106873964A (zh) * 2016-12-23 2017-06-20 浙江工业大学 一种改进的SimHash代码相似度检测方法

Also Published As

Publication number Publication date
CN109670153A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN110020424B (zh) 合同信息的提取方法、装置和文本信息的提取方法
CN109670153B (zh) 一种相似帖子的确定方法、装置、存储介质及终端
TW202020691A (zh) 特徵詞的確定方法、裝置和伺服器
CN111460083A (zh) 文档标题树的构建方法、装置、电子设备及存储介质
CN107577755B (zh) 一种搜索方法
JP6457123B2 (ja) 探索処理方法およびデバイス
CN105630765A (zh) 地名地址识别方法
EP3232336A1 (en) Method and device for recognizing stop word
CN101369278B (zh) 一种近似匹配方法和装置
US8090720B2 (en) Method for merging document clusters
CN110019640B (zh) 涉密文件检查方法及装置
CN113906445A (zh) 上下文感知数据挖掘
CN111831785A (zh) 敏感词检测方法、装置、计算机设备及存储介质
CN107085568B (zh) 一种文本相似度判别方法及装置
CN103631769A (zh) 一种判断文件内容与标题间一致性的方法及装置
CN114090735A (zh) 一种文本匹配方法、装置、设备及存储介质
CN112149410A (zh) 语义识别方法、装置、计算机设备和存储介质
CN110019193B (zh) 相似帐号识别方法、装置、设备、系统及可读介质
CN117216239A (zh) 文本去重方法、装置、计算机设备及存储介质
CN110442696B (zh) 查询处理方法及装置
CN106407332B (zh) 基于人工智能的搜索方法和装置
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
CN112765976A (zh) 文本相似度计算方法、装置、设备及存储介质
CN108038124B (zh) 一种基于大数据的pdf文档采集处理方法、系统及装置
CN109815475B (zh) 文本匹配方法、装置、计算设备及系统

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