一种识别关联文本的方法、装置、电子设备及存储介质与流程

文档序号:25281755发布日期:2021-06-01 17:28阅读:123来源:国知局
一种识别关联文本的方法、装置、电子设备及存储介质与流程

本申请涉及互联网技术领域,尤其涉及一种识别关联文本的方法、装置、电子设备及存储介质。



背景技术:

随着移动互联网的发展,以虚假注册、违法推广、网络诈骗为代表的互联网不法产业已呈现产业化发展态势,对互联网安全造成了极大威胁。

目前,主要通过正常用户举报或者是通过监控不法产业团伙的资金往来识别不法产业团伙,但通过正常用户举报只能针对不法产业团伙中的单个账户,而不能识别不法产业团伙,以及,不法产业团伙之间可能会回避资金往来,从而通过监控资金往来也不能保证识别到的不法产业团伙就是真正的不法产业团伙。也即,现有不法产业团伙识别方式不能很好的满足业务监控需求。



技术实现要素:

本申请所要解决的技术问题在于,提供一种识别关联文本的方法、装置、电子设备及存储介质,以解决现有技术中不法产业团伙识别方式不能满足业务监控需求的问题。

为了解决上述技术问题,一方面,本申请提供了一种识别关联文本的方法,所述方法包括:确定第一目标文本和第二目标文本;获取所述第一目标文本和所述第二目标文本的文字文本相似度,所述文字文本相似度基于第一文字文本和第二文字文本的距离确定,所述第一文字文本基于提取的所述第一目标文本中的文字字符形成,所述第二文字文本基于提取的所述第二目标文本中的文字字符形成;识别所述第一目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第一结构化文本;以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第二结构化文本;基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度;根据所述文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

另一方面,本申请提供了一种识别关联文本的装置,所述装置包括:目标文本确定模块,用于确定第一目标文本和第二目标文本;文字文本相似度获取模块,用于获取所述第一目标文本和所述第二目标文本的文字文本相似度,所述文字文本相似度基于第一文字文本和第二文字文本的距离确定,所述第一文字文本基于提取的所述第一目标文本中的文字字符形成,所述第二文字文本基于提取的所述第二目标文本中的文字字符形成;结构化文本生成模块,用于识别所述第一目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第一结构化文本;以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第二结构化文本;文本结构相似度确定模块,用于基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度;关联关系确定模块,用于根据所述文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

另一方面,本申请提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行如上述的方法。

另一方面,本申请提供了一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如上述的方法。

在本申请实施例中,通过确定第一目标文本和第二目标文本,识别所述第一目标文本中每个字符所属的字符类型,根据识别结果生成第一结构化文本,以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果生成第二结构化文本,基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度,根据获取的文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。如此,不仅考虑了两个目标文本的文字文本相似度,还考虑了两个目标文本的文本结构相似度,从而可以有效找出相互关联的目标文本,当应用到不法产业团伙挖掘中时,能够有效识别团伙中相互关联的昵称文本,从而便于更好的找到真正的不法产业团伙。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是现有技术中simhash算法的存储和查找示意图;

图2是本申请实施例提供的一种识别关联文本的方法的流程图;

图3是本申请实施例提供的一种识别关联文本的方法中确定第一目标文本和第二目标文本的方法的流程图;

图4是本申请实施例提供的一种识别关联文本的方法中进行聚类的流程示意图;

图5是本申请实施例提供的一种识别关联文本的方法中更新目标聚类类别的方法的流程图;

图6是本申请实施例提供的一种识别关联文本的装置的结构示意图;

图7是本申请实施例提供的一种识别关联文本的设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

自然语言处理(naturelanguageprocessing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

本申请实施例提供了一种识别关联文本的方法,可选地,在本申请实施例中,上述的识别关联文本的方法可以运行于服务器或终端中。

其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

作为一个可能的实施方式,服务器可以是区块链系统中的节点设备,能够将获取到以及生成的信息共享给区块链系统中的其他节点设备,实现多个节点设备之间的信息共享。区块链系统中的多个节点设备可以配置有同一条区块链,该区块链由多个区块组成,并且前后相邻的区块具有关联关系,使得任一区块中的数据被篡改时都能通过下一区块检测到,从而能够避免区块链中的数据被篡改,保证区块链中数据的安全性和可靠性。

在一些社交欺诈场景下,可以通过不法产业团伙的昵称文本对可能属于同一团伙的成员的昵称进行分析,如果昵称文本相似,那么说明其真的属于同一团伙。例如,通过资金关系找到一个可疑黑产团伙,如果这个可疑团伙的昵称文本很相似,那么说明其真的属于同一个黑产团伙。

现有技术中主要有以下方式计算文本相似性:

(一)计算纯文本相似性的传统算法

(1)不需要进行分词

1.编辑距离:由一个字符串转化成另一个字符串所需的最少的操作次数,其中包括插入、删除、替换。

2.hamming距离:对比等长的两个字符串,描述两个等长字串之间对应位置上不同字符的个数。

3.jaro距离:是字符串相似性的一种度量方式,也是一种编辑距离,jaro距离越高文本相似性越高。

4.jaro-winkler距离:由williame.winkler在1990年提出的jarodistance度量标准的一种变体,jaro-winkler给予了起始部分就相同的字符串更高的分数,他定义了一个前缀p,给予两个字符串,如果前缀部分有长度为l的部分相同,则计算公式为:

dw=dj+l*p(1-dj)

其中:

l是前缀部分匹配的长度;p是一个范围因子常量,用来调整前缀匹配的权值,但是p的值不能超过0.25,因为这样最后得分可能超过1分,winkler的标准默认设置值p=0.1。

5.最长公共子序列lcs:是两个字符串的最长公共子序列。比如字符串1:bdcaba;字符串2:abcbdab,则这两个字符串的最长公共子序列长度为4,最长公共子序列是:bcba。

上述各种距离计算的实际效果如下:

str1=不会飞的阿谁接电,str2=会飞的阿谁介绍阿

str3=会飞的阿谁接电吧,str4=飞会你然谁介绍阿

sim(str1,str2):

hammingsimilarity:8

levenshteinsimilarity:4

levenshtein.ratiosimilarity:0.625

levenshtein.jarosimilarity:0.75

levenshtein..jaro-winklersimilarity:0.75

由以上结果可以看出,在前缀和个别字的顺序不一致的情况下,hamming距离效果不如编辑距离,jaro距离的表现会比编辑距离算出来的相似度要高一些,此时jaro距离和jaro-winkler距离的相似度是一样的。

sim(str2,str3):

hammingsimilarity:3

levenshteinsimilarity:3

levenshtein.ratiosimilarity:0.625

levenshtein.jarosimilarity:0.75

levenshtein..jaro-winklersimilarity:0.875

由以上结果可以看出,当两个字符串在顺序上没有区别的时候,hamming距离与编辑距离一致,同样jaro距离的表现会比编辑距离算出来的相似度要高一些,而在有前缀一致的情况下,jaro-winkler距离会比jaro距离好一些,但是当遇到后缀一致的情况,就达不到这种效果了,如str2和str4的情况。

(2)需要分词

1.simhash(哈希算法的一种):主要用于长文本的相似度计算,在海量文本数据中去重是比较有效的。过程分为5步:分词、hash算法、加权、合并、降维,得到形如‘101001’之后进行hamming距离计算相似性。

2.jaccard系数:用于比较有限样本集之间的相似性和差异性。

(二)解决大规模的两两相似度计算问题

1.在大量文本数据中进行文本相似性聚类,但如果按照两两计算相似性,100万个昵称进行聚类,则需要100万乘100万次计算次数,非常浪费计算资源,实际上有很多文本两两相似性为0的情况。

2.simhash:

存储(如图1所示):a、将一个64位的simhash签名拆分成4个16位的二进制码。(图1中虚框对应的16位);b、分别拿着4个16位二进制码查找当前对应位置上是否有元素(图1中放大后的16位);c、对应位置没有元素,直接追加到链表上;对应位置有则直接追加到链表尾端(图1中的s1-sn)。

查找:a、将需要比较的simhash签名拆分成4个16位的二进制码;b、分别拿着4个16位二进制码每一个去查找simhash集合对应位置上是否有元素;c、如果有元素,则把链表拿出来顺序查找比较,直到simhash小于一定大小的值,整个过程完成。

但方式(1)主要针对纯文本,如果文本中出现了大量非文字字符,则准确性较差;方式(2)的前提是文本需要具有语义,而昵称文本通常没有语义,如昵称文本“@@不会飞的12阿谁p接电”就无语义,因此,现有技术中针对纯文本的相似性计算不适用本申请中的昵称文本,方式(二)则需要进行大规模的两两相似度的计算。

基于此,以下对本申请实施例提供的一种识别关联文本的方法进行说明,如图2所示,所述方法包括:

步骤s201:确定第一目标文本和第二目标文本;

在本申请实施例中,所述第一目标文本和所述第二目标文本可以是指非语义短文本,非语义短文本是指文本中不包含具体语义的词汇、且字符数量较少的文本。

可选的,所述第一目标文本和所述第二目标文本为在互联网领域中用于表征用户身份的不具有语义的文本,如用户昵称“@@不会飞的12阿谁p接电”、“@&不会飞的50阿谁aa接电”等。

当然,本申请实施例也适用于具有语义的短文本,本申请对此不作限制。

步骤s203:获取所述第一目标文本和所述第二目标文本的文字文本相似度,所述文字文本相似度基于第一文字文本和第二文字文本的距离确定,所述第一文字文本基于提取的所述第一目标文本中的文字字符形成,所述第二文字文本基于提取的所述第二目标文本中的文字字符形成;

在本申请实施例中,所述第一文字文本的具体形成过程可以为,首先从所述第一目标文本中提取所有的文字字符,然后将提取的各个文字字符按照预设顺序进行排列及拼接得到所述第一文字文本。

可以理解的是,预设顺序可以是指文字字符在所述第一目标文本中由前往后的排列顺序,例如,对于昵称文本“@@不会飞的12阿谁p接电”,生成后的第一文字文本为“不会飞的阿谁接电”;也可以是指文字字符在所述第一目标文本中由后往前的排列顺序,例如,对于昵称文本“@@不会飞的12阿谁p接电”,生成后的第一文字文本为“电接谁阿的飞会不”;还可以是指其他预先设定的顺序。

所述第二文字文本的具体形成过程与所述第一文字文本的形成过程相同,此处不再赘述。需要说明的是,在对所述第二目标文本中提取的字符进行排列时,所述预设顺序需要与第一目标文本所遵从的预设顺序相同,例如,所述第一目标文本中提取的字符是遵循由前往后的顺序排列的,那么,在生成第二文字文本时,从所述第二目标文本中提取的字符也需要遵循由前往后的顺序排列。

所述第一文字文本和所述第二文字文本的距离可以通过编辑距离、hamming距离、jaro距离、jaro-winkler距离等算法进行计算,具体计算方式可以参照上述对各种距离的描述,此处不再赘述。

步骤s205:识别所述第一目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第一结构化文本;以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第二结构化文本;

在本申请实施例中,所述字符类型包括文本、字母、符号和数字等,识别所述第一目标文本中每个字符所属的字符类型是指识别所述第一目标文本中每个字符是属于文本、字母、符号还是数字,所述识别结果中包括所述第一目标文本中的每个字符的字符类型,并包括每个字符的字符类型与每个所述字符的位置对应关系,例如,对于昵称文本“@@不会飞的12阿谁p接电”,所述识别结果可以为字符类型集合“符号、符号、文字、文字、文字、数字、数字、文字、文字、字母、文字、文字”。

然后,可以根据识别结果和预设字符类型替换关系生成第一结构化文本,所述预设字符类型替换关系可以是预设字符类型替换表,所述预设字符类型替换表中包括字符类型与替换标识的对应关系,例如,文字-a,字母-b,符号-c,数字-d,那么对于昵称文本“@@不会飞的12阿谁p接电”的字符类型集合“符号、符号、文字、文字、文字、数字、数字、文字、文字、字母、文字、文字”,可以结合预设字符类型替换关系“文字-a,字母-b,符号-c,数字-d”转换成第一结构化文本“ccaaaddaabaa”。

所述第二结构化文本与所述第一结构化文本可以基于相同的方式生成,此处不再赘述。

可以理解的是,在将目标文本生成结构化文本后,可以忽略目标文本中某一字符的具体含义,只考虑其中每个字符的字符类型和位置,这也与黑产昵称文本的性质一致,即,黑产昵称文本中的字符是不具有具体语义的,其是通过模拟器随机生成的字符的序列,而在随机生成黑产昵称文本时,其通常会设置一定的字符排布规则,如设置包括几种字符类型,不同字符类型应该怎么分布,如此,通过对两个结构化文本进行比较,可以较好的识别出可能具有关联关系的黑产昵称文本。

在一些实施例中,所述根据识别结果和预设字符类型替换关系生成第一结构化文本;以及根据识别结果和预设字符类型替换关系生成第二结构化文本(即步骤s205)可以包括:

步骤一:按照字符类型对所述第一目标文本进行切割,得到至少一个第一字符串序列,以使得同一个字符串中的字符具备相同的字符类型,并且相邻字符串中的字符具备不同的字符类型;

例如,对第一昵称文本“@@不会飞的12阿谁p接电”进行切割,得到第一字符串序列“@@、不会飞的、12、阿谁、p、接电”。

其中,“@@”为一个字符串,字符串“不会飞的”为字符串“@@”的相邻字符串,字符串“12”为字符串“不会飞的”的相邻字符串…。

步骤二:基于所述第一字符串序列中所述字符串的字符类型和预设字符类型替换关系确定与其唯一对应的替换标识;

例如,预设字符类型替换关系表为“文字-a,字母-b,符号-c,数字-d…”,那么,可以从所述预设字符类型替换关系表中查找出第一字符串序列中字符串“@@”的替换标识为c、字符串“不会飞的”的替换标识为a…。

步骤三:将所述第一字符串序列中的所述字符串替换成与其唯一对应的替换标识,并对替换后的所述替换标识进行拼接,生成所述第一结构化文本;

例如,将字符串“@@”替换成c,将字符串“不会飞的”替换为a,将字符串“12”替换为d,将字符串“阿谁”替换为a,将字符串“p”替换为b,将字符串“接电”替换为a,从而得到第一结构化文本“cadaba”。

步骤四:按照字符类型对所述第二目标文本进行切割,得到至少一个第二字符串序列,以使得同一个字符串中的字符具备相同的字符类型,并且相邻字符串中的字符具备不同的字符类型;

步骤五:基于所述第一字符串序列中所述字符串的字符类型和预设字符类型替换关系确定与其唯一对应的替换标识;

步骤六:将所述第二字符串序列中的所述字符串替换成与其唯一对应的替换标识,并对替换后的所述替换标识进行拼接,生成所述第二结构化文本。

例如,所述第二昵称文本为“@&不会飞的50阿谁aa接电”,经过上述步骤四至六的转换后,生成的第二结构化文本为“cadaba”。

如此,通过较为简洁的结构化文本就可以识别出黑产昵称文本中的字符排布规则,从而可以在对两个结构化文本进行较好关联识别的基础上,提高关联识别的效率。

步骤s207:基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度;

在本申请实施例中,所述第一结构化文本和所述第二结构化文本的距离同样可以通过编辑距离、hamming距离、jaro距离、jaro-winkler距离等算法进行计算。

例如,第一结构化文本为“ccaaaddaabaa”,第二结构化文本为“ccaaadd”,如果采用编辑距离进行计算,将第一结构化文本“ccaaaddaabaa”转化为第二结构化文本至少需要执行5次删除字符的动作,即所述第一结构化文本和所述第二结构化文本的编辑距离为5。

对于hamming距离、jaro距离、jaro-winkler等其他距离计算方式,可以参照上述对各种距离的描述,此处不再赘述。

步骤s209:根据所述文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

在本申请实施例中,可以预先设定所述文字文本相似度的第一权值,以及设置所述文本结构相似度的第二权值,而后采用加权求和的方式计算所述第一目标文本和所述第二目标文本的相似度,其计算公式可以如下:

sim(str1,str2)=a*x1+b*x2

其中,sim(str1,str2)表示所述第一目标文本和所述第二目标文本的关联关系,a表示第一权值,x1表示文字文本相似度,b表示第二权值,x2表示文字结构相似度。

在本申请实施例中,通过确定第一目标文本和第二目标文本,识别所述第一目标文本中每个字符所属的字符类型,根据识别结果生成第一结构化文本,以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果生成第二结构化文本,基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度,根据获取的文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。如此,不仅考虑了两个目标文本的文字文本相似度,还考虑了两个目标文本的文本结构相似度,从而可以有效找出相互关联的目标文本,当应用到不法产业团伙挖掘中时,能够有效识别团伙中相互关联的昵称文本,从而便于更好的找到真正的不法产业团伙。

在一些实施例中,如图3所示,所述确定第一目标文本和第二目标文本可以包括:

步骤s301:获取目标文本集,所述目标文本集中至少两个初始文本;

在本申请实施例中,所述目标文本集可以为通过其他指标判断方式确定,所述目标文本集中可以包括在较大概率上相互关联的初始文本。

例如,可以通过资金关系确定出一个昵称文本集,所述昵称文本集中包括在资金上有异常往来的用户的昵称文本,也即,所述昵称文本集中的昵称文本有较大可能属于某一黑产团伙成员。

步骤s307:对所述目标文本集中的所述初始文本进行两两组合,得到至少一个初始文本对;

例如,所述目标文本集中包括文本a、文本b和文本c,那么,可以得到三个初始文本对,即文本对a-b、文本对a-c和文本对b-c。

步骤s309:提取所述初始文本对中各个所述初始文本中的文字字符,形成与所述初始文本一一对应的文字文本;

例如,初始文本对中的一个初始文本为“@@不会飞的12阿谁p接电”,生成的一一对应的文字文本为“电接谁阿的飞会不”,初始文本对中另一个初始文本为“@&不会飞的50阿谁aa接电”,生成的一一对应的文字文本为“不会飞的阿谁接电”。

步骤s311:基于所述初始文本对中两个所述初始文本的文字文本的距离,确定所述初始文本对中两个所述初始文本的文字文本相似度;

其中,所述初始文本对中两个所述初始文本的文字文本相似度可以通过编辑距离、hamming距离、jaro距离、jaro-winkler距离等算法进行计算,具体计算方式可以参照上述对各种距离的描述,此处不再赘述。

在一些实施例中,现有距离计算公式在遇到后缀一致的情况时,相似度计算效果较差,例如,当出现昵称文本为“梦梦的财务”、“梦回到财务”、“自由梦财务”等相似度比较时,相似性未达到0.8以上,会影响昵称聚合,但是,从感知上,这三个昵称文本其实是非常相似的昵称。

因此,在计算文字文本度时,可以采用如下公式进行计算:

dw1=dj+l1*p1(1-dj)

dw2=dj+l2*p2(1-dj)

dw=(dw1+dw2)/2

其中,l1是前缀部分匹配的长度,l2是后缀部分匹配的长度;

p1是一个范围因子常量,用来调整前缀匹配的权值,p2也是一个范围因子常量,用来调整后缀匹配的权值,但是p1及p2的值不能超过0.25,因为这样最后得分可能超过1分。

如此,同时考虑了文字文本前缀一致和后缀一致的情况,可以提高了文字文本相似度计算的精确度。

步骤s313:基于文字文本相似度大于等于预设文本相似度的所述初始文本对所涉及的所述初始文本,确定所述第一目标文本和所述第二目标文本。

例如,文本对a-b中的初始文本a和初始文本b的文字文本相似度大于等于预设文本相似度(如80%),那么将初始文本a确定为第一目标文本,将初始文本b确定为第二目标文本。

相反,如果初始文本对中两个所述初始文本的文本相似度小于预设文本相似度,那么不会直接基于该所述初始文本对所涉及的两个初始文本确定第一目标文本和第二目标文本。

例如,文本对a-c中的初始文本a和初始文本c的文字文本相似度小于预设文本相似度(如80%),那么,不会在将初始文本a确定为第一目标文本时,将初始文本c确定为第二目标文本。

在实际应用中,通过对目标文本集中的初始文本对进行文字文本相似度比较,只有在文字文本相似度满足条件时,才将初始文本对中涉及的初始文本分别确定为第一目标文本和第二目标文本,并继而同时基于两个目标文本的文字文本相似度和文本结构相似度确定两个目标文本的关联关系,如此,考虑到了黑产昵称文本中的文字相对其他字符更能够体现其文本特征的性质,并利用该性质对目标文本集中的初始文本进行了筛选,只有符合条件的初始文本才可以进行后续的结构文本相似度计算,从而避免了对所有目标文本集中的所有文本对进行结构文本相似度计算,节省了计算资源。

在一些实施例中,如图3和图4所示,在所述对所述目标文本集中的所述初始文本进行两两组合,得到至少一个初始文本对的步骤(步骤s307)之前,所述方法还包括:

步骤s303:按照预设切割方式,对所述目标文本集中各个所述初始文本的文字文本分别进行切割,得到与各个所述初始文本一一对应的切割词集合;

在本申请实施例中,所述预设切割方式可以为n-gram切割,其是将句子分割成由n个字符组成的片段序列的方法,每个片段称作一个n-gram。

例如,如下4个文字文本:

str1=不会飞的阿谁接电,str2=会飞的阿谁介绍阿

str3=会飞的阿谁接电吧,str4=飞会你然谁介绍阿

对它们分别进行3-gram后,得到如下四个切割词集合:

不会飞,会飞的飞的阿的阿谁,阿谁接,谁接电

会飞的飞的阿的阿谁,阿谁介,谁介绍,介绍阿

会飞的飞的阿的阿谁,阿谁接,谁接电,接电吧

飞会你,会你然,你然谁,然谁介,谁介绍,介绍阿

在一些实施例中,如果文字文本的长度为8,单位切割长度设置为7,则切割后的词元较长,可能导致不能正确归类,如本应归于目标聚类类别中但却未被归于目标聚类类别中;相反,如果单位切割长度设为1,又会导致切割后的词元相对较多,从而导致不该归入目标聚类类别中的文本也归入目标聚类类别。为了解决该问题,所述按照预设切割方式,对所述目标文本集中各个所述初始文本的文字文本分别进行切割,得到与各个所述初始文本一一对应的切割词集合可以包括:

步骤一:分别获取各个所述初始文本的文字文本的长度;

步骤二:基于各个所述初始文本的文字文本的长度和预设切割比例,确定相应文字文本切割时的单位切割长度;

步骤三:按照所述单位切割长度和所述预设切割方式,对各个所述初始文本的文字文本进行切割,得到与各个所述初始文本一一对应的切割词集合。

在本申请实施例中,所述初始文本的文字文本的长度可以通过所述初始文本的文字文本的字符数量来表征,如“不会飞的阿谁接电”的字符数量为8,那么其长度也为8。

可以将所述单位切割长度和所述预设切割比例的乘积确定为单位切割长度,所述预设切割比例可以基于经验设定。

例如,基于经验将预设切割比例设置为50%,如此,当文字文本的长度为8,计算的单位切割长度为4。

在实际应用中,通过本申请实施例的方案,可以避免切割后的词元较长导致的不能正确归类问题,如本应归于目标聚类类别中但却未被归于目标聚类类别中,也可以避免切割后的词元相对较多导致的不该归入目标聚类类别中的文本也归入目标聚类类别,从而提高了归类的正确率。

步骤s305:根据各个所述切割词集合中相同切割词的数量,对所述目标文本集中的所述初始文本进行聚类,得到目标聚类类别;

具体的,预先设置分裂阈值,如将分裂阈值设置为3,那么,可以将具有3个及3个以上相同切割词的切割词集合所对应的初始文本(假设前3个初始文本分别为初始文本1、初始文本2和初始文本3)聚为同一类别,并将该类别作为目标聚类类别,而第4个初始文本(假设为初始文本4)不会在所述目标聚类类别中。

在上述例子中,前3个切割词集合具有3个相同切割词,即相同切割词数量等于分裂阈值,满足了聚类条件,那么,将该3个切割词集合所对应的初始文本聚为同一类别。

步骤s307:对所述目标文本集中属于所述目标聚类类别的所述初始文本进行两两组合,得到至少一个初始文本对。

进而,步骤s307中只会对目标文本集中属于所述目标聚类类别的所述初始文本进行两两组合,生成初始文本对,也即,只会对目标文本集中的初始文本1、初始文本2和初始文本3进行两两组合,而不会将目标文本集中的初始文本4与其他初始文本组合,从而也不会形成初始文本4和其他初始文本的初始文本对。

在实际应用中,通过对所述目标文本集中的所述初始文本进行聚类,可以减少后续文本匹配的范围,即可以只对所述目标文本集中属于所述目标聚类类别的初始文本进行匹配,从而减少了大规模匹配导致的计算资源的浪费。

在一些实施例中,如图5所示,所述基于文字文本相似度大于等于预设文本相似度的所述初始文本对所涉及的所述初始文本,确定所述第一目标文本和所述第二目标文本(步骤s313)可以包括:

步骤s501:将文字文本相似度大于等于预设文本相似度的所述初始文本对所涉及的所述初始文本确定为待保留初始文本;

步骤s503:基于所述待保留初始文本,对所述目标聚类类别进行更新,更新后的所述目标聚类类别中只涉及所述待保留初始文本;

步骤s505:基于更新后的所述目标聚类类别,确定所述第一目标文本和所述第二目标文本。

例如,更新前的所述目标聚类类别中包括包括初始文本a、初始文本b和初始文本c,那么,可以得到三个初始文本对,即文本对a-b、文本对a-c和文本对b-c。

如果初始文本对a-b的文字文本相似度大于等于预设文本相似度,那么,将初始文本对a-b所涉及的初始文本a和初始文本b确定为待保留初始文本;如果初始文本对a-c的文字文本相似度和初始文本对b-c的文字文本相似度小于预设文本相似度,那么,初始文本c将不会确定为待保留文本,并会将初始文本c从所述目标聚类类别中剔除,即更新后的所述目标聚类类别中只包括初始文本a和初始文本b,不会包括初始文本c。

进而在确定第一目标文本和第二目标文本时,也不将初始文本c确定为第一目标文本或第二目标文本。

在实际应用中,通过对所述目标文本集中的所述初始文本进行聚类,得到目标聚类类别,并进一步基于文字文本相似度对所述目标聚类类别进行更新,如此,后续可以直接从更新后的所述目标聚类类别中确定第一目标文本和第二目标文本。

在一些实施例中,所述根据所述文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系可以包括:

步骤一:从所述第一目标文本中提取预设类型字符,将提取的所述预设类型字符按照预设顺序进行拼接,得到第一预设字符文本;

在本申请实施例中,所述预设类型字符是指除文字字符以外的字符类型,如字母类型、数字类型和符号类型。

所述预设顺序可以是指预设类型字符在所述第一目标文本中由前往后的排列顺序,例如,在第一预设字符类型为符号类型时,对于昵称文本“@@不会飞的12阿谁p接电”,生成后的第一预设字符文本为“@@”;也可以是指预设类型字符在所述第一目标文本中由后往前的排列顺序,还可以是指其他预先设定的顺序,本申请实施例对此不作限定。

步骤二:从所述第二目标文本中提取所述预设类型字符,将提取的所述预设类型字符按照预设顺序进行拼接,得到第二预设字符文本;

在本申请实施例中,所述第二预设字符文本的生成方式与所述第一预设字符文本的生成方式类似,此处不再赘述。

步骤三:基于所述第一预设字符文本和所述第二预设字符文本,确定所述第一目标文本和所述第二目标文本的预设字符文本相似度;

在本申请实施例中,所述第一预设字符文本和所述第二预设字符文本的距离同样可以通过编辑距离、hamming距离、jaro距离、jaro-winkler距离等算法进行计算。

步骤四:根据所述文字文本相似度、所述文本结构相似度和所述预设字符文本相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

在本申请实施例中,可以预先设定所述预设字符文本相似度的第三权值,而后采用加权求和的方式计算所述第一目标文本和所述第二目标文本的相似度,其计算公式可以如下:

sim(str1,str2)=a*x1+b*x2+c*x3

其中,sim(str1,str2)表示所述第一目标文本和所述第二目标文本的关联关系,a表示第一权值,x1表示文字文本相似度,b表示第二权值,x2表示文字结构相似度,b表示第三权值,x3表示预设字符文本相似度。

在实际应用中,通过考虑预设字符类型内部(如符号内部、数字内部和/或字母内部)的相似度,可以提高相似度比较的精确度。

未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。

本申请实施例还提供了一种识别关联文本的装置600,请参见图6,所述装置600可以包括:

目标文本确定模块610,用于确定第一目标文本和第二目标文本;

文字文本相似度获取模块620,用于获取所述第一目标文本和所述第二目标文本的文字文本相似度,所述文字文本相似度基于第一文字文本和第二文字文本的距离确定,所述第一文字文本基于提取的所述第一目标文本中的文字字符形成,所述第二文字文本基于提取的所述第二目标文本中的文字字符形成;

结构化文本生成模块630,用于识别所述第一目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第一结构化文本;以及识别所述第二目标文本中每个字符所属的字符类型,根据识别结果和预设字符类型替换关系生成第二结构化文本;

文本结构相似度确定模块640,用于基于所述第一结构化文本和所述第二结构化文本,确定所述第一目标文本和所述第二目标文本的文本结构相似度;

关联关系确定模块650,用于根据所述文字文本相似度和所述文本结构相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

在一些实施例中,所述结构化文本生成模块可以包括:

第一文本切割子模块,用于按照字符类型对所述第一目标文本进行切割,得到至少一个字符串序列,以使得同一个字符串中的字符具备相同的字符类型,并且相邻字符串中的字符具备不同的字符类型;

第一替换标识确定子模块,用于基于所述字符串的字符类型和预设字符类型替换关系确定与其唯一对应的替换标识;

第一结构化文本生成子模块,用于将所述字符串替换成与其唯一对应的替换标识,并对替换后的所述替换标识进行拼接,生成所述第一结构化文本;

第二文本切割子模块,用于按照字符类型对所述第二目标文本进行切割,得到至少一个字符串序列,以使得同一个字符串中的字符具备相同的字符类型,并且相邻字符串中的字符具备不同的字符类型;

第二替换标识确定子模块,用于基于所述字符串的字符类型和预设字符类型替换关系确定与其唯一对应的替换标识;

第二结构化文本生成子模块,用于将所述字符串替换成与其唯一对应的替换标识,并对替换后的所述替换标识进行拼接,生成所述第二结构化文本。

在一些实施例中,所述目标文本确定模块可以包括:

目标文本集获取子模块,用于获取目标文本集,所述目标文本集中至少两个初始文本;

初始文本对获取子模块,用于对所述目标文本集中的所述初始文本进行两两组合,得到至少一个初始文本对;

文字文本形成子模块,用于提取所述初始文本对中各个所述初始文本中的文字字符,形成与所述初始文本一一对应的文字文本;

文字文本相似度确定子模块,用于基于所述初始文本对中两个所述初始文本的文字文本的距离,确定所述初始文本对中两个所述初始文本的文字文本相似度;

目标文本确定子模块,用于基于文字文本相似度大于等于预设文本相似度的所述初始文本对所涉及的所述初始文本,确定所述第一目标文本和所述第二目标文本。

在一些实施例中,所述装置还可以包括:

文字文本切割模块,用于按照预设切割方式,对所述目标文本集中各个所述初始文本的文字文本分别进行切割,得到与各个所述初始文本一一对应的切割词集合;

聚类模块,用于根据各个所述切割词集合中相同切割词的数量,对所述目标文本集中的所述初始文本进行聚类,得到目标聚类类别;

所述初始文本对获取子模块还用于对所述目标文本集中属于所述目标聚类类别的所述初始文本进行两两组合,得到至少一个初始文本对。

在一些实施例中,所述目标文本确定子模块可以包括:

待保留初始文本确定单元,用于将文字文本相似度大于等于预设文本相似度的所述初始文本对所涉及的所述初始文本确定为待保留初始文本;

更新单元,用于基于所述待保留初始文本,对所述目标聚类类别进行更新,更新后的所述目标聚类类别中只涉及所述待保留初始文本;

目标文本确定单元,用于基于更新后的所述目标聚类类别,确定所述第一目标文本和所述第二目标文本。

在一些实施例中,所述文字文本切割模块可以包括:

文字文本长度获取子模块,用于分别获取各个所述初始文本的文字文本的长度;

单位切割长度确定子模块,用于基于各个所述初始文本的文字文本的长度和预设切割比例,确定文本切割时的单位切割长度;

文字文本切割子模块,用于按照所述单位切割长度和所述预设切割方式,对各个所述初始文本的文字文本进行切割,得到与各个所述初始文本一一对应的切割词集合。

在一些实施例中,所述关联关系确定模块可以包括:

第一预设字符文本获取子模块,用于从所述第一目标文本中提取预设类型字符,将提取的所述预设类型字符按照预设顺序进行拼接,得到第一预设字符文本;

第二预设字符文本获取子模块,用于从所述第二目标文本中提取所述预设类型字符,将提取的所述预设类型字符按照预设顺序进行拼接,得到第二预设字符文本;

预设字符文本相似度确定子模块,用于基于所述第一预设字符文本和所述第二预设字符文本,确定所述第一目标文本和所述第二目标文本的预设字符文本相似度;

关联关系确定子模块,用于根据所述文字文本相似度、所述文本结构相似度和所述预设字符文本相似度,确定所述第一目标文本和所述第二目标文本的关联关系。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如本实施例上述任一方法。

本申请实施例还提供了一种电子设备,其结构图请参见图7,该设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对设备中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在设备700上执行存储介质730中的一系列指令操作。设备700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。本实施例上述的任一方法均可基于图7所示的设备进行实施。

本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。

基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施方式中提供的方法。

本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1