CN109241274B - 文本聚类方法及装置 - Google Patents
文本聚类方法及装置 Download PDFInfo
- Publication number
- CN109241274B CN109241274B CN201710537557.2A CN201710537557A CN109241274B CN 109241274 B CN109241274 B CN 109241274B CN 201710537557 A CN201710537557 A CN 201710537557A CN 109241274 B CN109241274 B CN 109241274B
- Authority
- CN
- China
- Prior art keywords
- text
- keywords
- texts
- category
- classified
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种文本聚类方法及装置,该方法包括:确定当前获取的文本;提取所述文本的关键词;当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。本发明实施例能够提升文本聚类的抗文本变形能力。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种文本聚类方法及装置。
背景技术
随着互联网,特别是移动互联网的发展,文本的传播量越来越大,内容黑产团队(内容的黑色产业链团队)为获取利益往往会传播包含违法违规内容的文本(如传播包含欺诈、色情买卖、赌博、刷票、刷榜、刷广告等内容的文本),对传播的文本进行安全检测,识别出包含违法违规内容的文本是内容安全团队的主要任务之一。
同质化内容的文本大量传播,是内容黑产团队获取利益的核心手段,因此在对传播文本进行安全检测时,首要任务是收集传播的文本,并进行聚类处理,使得相同内容的文本聚集在一起(即将传播的文本进行聚集,让同一个类别中的文本彼此相似,不同类别中的文本差异明显)。
目前内容黑产团队在传播同质化内容的文本时,往往会使用文本变形手段,将同一实质内容的多个文本的表达形式进行局部变化(如将同一实质内容的文本通过增减符号、使用同音字、使用形近字等变形手段,变形出多个文本),以此来干扰内容安全团队对于传播的文本的聚类处理和安全检测;
甚至于内容黑产团队随着移动互联网浪潮,引入了类似UGC(User GeneratedContent,用户原创内容)的机制,裹挟正常用户的使用来干扰内容安全团队对于传播的文本的聚类处理,例如以一个假链接诱导分享的活动为例,发起者声称只要用户将链接转发一定次数就可获取一定的收益,那么用户转发出去的链接标题会通过授权拿到用户昵称等个性化信息,于是每一次转发的链接几乎都变成了独一无二的文本。
可见,同一实质内容的文本的变形,甚至加入正常用户的使用来变形同一实质内容的文本,无疑使得对传播的文本进行聚类处理的难度提升。
发明内容
有鉴于此,本发明实施例提供一种文本聚类方法及装置,以提升文本聚类的抗文本变形能力。
为实现上述目的,本发明实施例提供如下技术方案:
一种文本聚类方法,包括:
确定当前获取的文本;
提取所述文本的关键词;
当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
本发明实施例还提供一种文本聚类装置,包括:
当前文本确定模块,用于确定当前获取的文本;
关键词提取模块,用于提取所述文本的关键词;
相似度确定模块,用于当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
第一归类模块,用于当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
第二归类模块,用于当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
基于上述技术方案,本发明实施例提供的文本聚类方法,确定当前获取的文本后,可提取所述文本的关键词;如果所述文本为非第一次获取的文本,则可根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;进而当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,可将所述文本归类到该文本代表的类别中;而当已分类的各类别的文本代表中,不存在与所述文本的相似度大于设定相似度阈值的文本代表,则可将所述文本归为一个类别。
通过本发明实施例提供的文本聚类方法,可对于当前获取的文本实现文本聚类,并且根据当前获取的文本的关键词,和当前已分类的各类别的文本代表的关键词,进行当前获取的文本与已分类的各类别的文本代表的相似度比对,实现当前获取的文本的聚类,可使得当前获取的文本与各类别的文本代表的相似度确定更为精准,可降低文本变形对于文本聚类的干扰,提升文本聚类的抗文本变形能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的文本聚类系统的结构框图;
图2为本发明实施例提供的文本聚类方法的流程图;
图3为本发明实施例提供的文本聚类方法的另一流程图;
图4为倒排索引的示意图;
图5为使用链表和线性表的示意图;
图6为正排索引的示意图;
图7为本发明实施例提供的文本聚类方法的示意图;
图8为本发明实施例提供的文本聚类方法的另一示意图;
图9为本发明实施例提供的文本聚类方法的聚类结果示意图;
图10为本发明实施例提供的文本聚类装置的结构框图;
图11为本发明实施例提供的文本聚类装置的另一结构框图;
图12为本发明实施例提供的文本聚类装置的再一结构框图;
图13为本发明实施例提供的文本聚类装置的又一结构框图;
图14为本发明实施例提供的文本聚类装置的又另一结构框图;
图15为服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的文本聚类系统的结构框图,图1所示文本聚类系统为实现本发明实施例提供的文本聚类方法的可选系统结构,并且在实现文本聚类时能够提升抗文本变形能力,且提升文本聚类的实时性;参照图1,该文本聚类系统可以包括:多台前处理服务器10和一台后处理服务器20;
在本发明实施例中,前处理服务器10可获取随机分配的流式数据的文本,并对获取的各文本进行聚类处理,在文本聚类的过程中,将文本数量达到文本数量阈值的类别的文本输出到后处理服务器;值得注意的是,本发明实施例所处理的文本是流式数据的,其特点是前处理服务器是随着时间顺序获取文本(如随着文本的传播时间获取文本),文本是按时间先后顺序被分配到前处理服务器10中,前处理服务器是按照时间先后顺序获取各文本,并对获取的各文本进行聚类处理;
后处理服务器20可获取各前处理服务器10输出的文本,并对获取的各文本进行聚类处理,得到最终的文本聚类结果。
在本发明实施例中,前处理服务器10和后处理服务器20对文本进行聚类处理的逻辑是相同的;区别在于,前处理服务器10是基于随机分配到的文本,筛选出文本数量达到文本数量阈值的类别,并输出该类别中的文本到后处理服务器进行进一步的聚类处理,从而基于多台前处理服务器的处理,实现分布式多机剪枝,剔除任一前处理服务器随机分配到的文本中文本数量未达到文本数量阈值的类别的文本;
而后处理服务器则是可聚合各前处理服务器输出的文本数量达到文本数量阈值的类别的文本,对各文本进行进一步的聚类处理。
采用图1所示文本聚类系统,可使用多台前处理服务器事先剔除文本数量未达到文本数量阈值的类别的文本,剔除无聚类意义的文本,使得后处理服务器基于前处理服务器输出的文本数量达到文本数量阈值的类别的文本,对有聚类意义的文本进行进一步聚类处理,采用这种前处理服务器多机剪枝,后处理服务器聚合前处理服务器的输出进行最终文本聚类的方式,可使得文本聚类的实时性得以提升,且各服务器的数据处理压力得以减缓,面对海量的文本的聚类也成为可能。
需要说明的是,本发明实施例也可仅由独立的处理服务器实现文本聚类方法,即文本聚类方法可在单一的处理服务器或者处理服务器的服务器集群中进行独立的实现,而并不一定需要由图1所示的前处理服务器和后处理服务器实现;由独立的处理服务器实现文本聚类方法的逻辑,与前处理服务器10和后处理服务器20对文本进行聚类处理的逻辑是相同的,且独立的处理服务器是针对随着时间顺序获取的流式文本进行文本聚类,并且得到最终的文本聚类结果;可以理解的是,采集的传播中文本将随时间顺序分配到该独立的处理服务器,由该独立的处理服务器对各文本进行文本聚类,得到最终的文本聚类结果。
前处理服务器10和后处理服务器20,或者,独立的处理服务器对文本进行聚类处理的逻辑是相同的;下面站在前处理服务器的角度,对文本进行聚类处理的逻辑进行介绍,后处理服务器20或者独立的处理服务器对文本进行聚类处理的逻辑可相互参照。
可选的,图2示出了本发明实施例提供的文本聚类方法的流程图,图2所示方法可应用于前处理服务器,参照图2,该方法可以包括:
步骤S100、确定当前获取的文本。
本发明实施例可依时间顺序收集传播的文本(可选的,收集的传播的文本,可以是在社交平台上传播的文本,如即时通讯、微博等社交平台上传播的文本),并随机分配到多台前处理服务器,使得各前处理服务器可依时间顺序获取随机分配到的文本,如此,前处理服务器在每一时刻,可确定出当前获取的文本,进而前处理服务器可依时间顺序获取到流式的文本;前处理服务器对于依时间顺序获取的每一文本,可使用如下步骤所示的文本聚类逻辑进行处理。
步骤S110、提取所述文本的关键词。
可选的,为了使得文本聚类具有较高的抗文本变形能力,针对不同字数数量的文本,本发明实施例可采用不同的方式进行关键词的提取;
可选的,本发明实施例可定义字数数量超过字数阈值的文本为长文本,定义字数数量未超过字数阈值的文本为短文本,字数阈值可根据实际情况设置;
如像博客正文这样的长文本,含有成百上千个词汇,长文本中可进行文本变形的部分也比较多,如果使用分词方式对长文本提取关键词,则不但会带来过多的关键词,提高后续处理的复杂度,还可能带入不少的对抗文本聚类的干扰词(最为典型的就是长文本页面底部的插入广告);因此针对长文本,本发明实施例可对长文本进行分词处理,从分词处理后的关键词中确定长文本的文本摘要,根据文本摘要对应的关键词,确定从长文本提取的关键词;
而以链接标题为代表的短文本,短文本中包含的词汇较少,常用的文本变形手段为使用同音字、形近字、加符号等,因此文本变形的短文本会使得原本的词汇失去语义,使用分词方式进行短文本的关键词提取并无法成功;基于此,针对短文本,本发明实施例考虑到文本变形可能引起的语义缺失,可对短文本进行切词处理,根据切词处理后的关键词,确定从短文本提取的关键词。
这里需要说明的是,分词处理可以认为是将连续的字序列按照一定的规范(如语义)重新组合成关键词的序列的过程,例如“我爱北京天安门”这一字序列,可通过分词处理得到关键词的序列“我/爱/北京/天安门”;
而切词处理可以认为是将一字序列切分成一个一个单独的词,得到关键词的序列的过程,切词处理一般基于字符串匹配实现,通过将字序列与机器词典中的字符串进行匹配,将字序列中与机器词典中的字符串匹配的词寻找出来,得到切词处理后的关键词,例如“我爱北京天安门”这一字序列,可通过切词处理得到关键词的序列“我爱/爱北/北京/京天/天安/安门”。
可以理解的是,在短文本的情况下,经常使用同音字、形近字对文本进行变形,像“我爱北京天安门”这一字序列经过文本变形后,变形后的文本可能是“偶爱北京天铵门”,这一变形后的文本通过分词是得不出有效的关键词的,因此在常用同音字、形近字等文本变形手段的短文本情况下,本发明实施例选择使用切词处理来得到关键词。
步骤S120、判断所述文本是否为第一次获取的文本,若是,执行步骤S130,若否,执行步骤S140。
步骤S130、将所述文本归为一个类别。
可选的,如果所述文本为前处理服务器第一次获取的文本,则前处理服务器中文本聚类的结果是空白的,因此可将所述文本独立的归为一个类别。
进一步,如果对于任一类别,使用建立该类别的第一个文本作为该类别的文本代表,则当所述文本为第一次获取的文本,除将所述文本归为一个类别外,还可将所述文本作为所归为的类别的文本代表;
在本发明实施例中,一个类别的文本代表能代表该类别的所有文本,一个类别中的各文本的关键词可以由该类别的文本代表的关键词表示;显然,一个类别的文本代表的定义方式,除使用建立该类别的第一个文本外,还可以使用从该类别的多个文本代表中随机选取确定等方式。
步骤S140、根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度。
可选的,当所述文本非前处理服务器第一获取的文本,则在获取到所述文本时,前处理服务器已经依照本发明实施例提供的文本聚类方法,基于早于当前获取的文本进行过聚类,确定出了至少一个类别,且每一个类别均确定出了代表该类别的文本代表;
则对于前处理服务器非第一次获取的每一文本,在提取所述文本的关键词后,可根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定出所述文本与已分类的各类别的文本代表的相似度;如本发明实施例可将所述文本的关键词,与当前已分类的各类别的文本代表的关键词相似程度,作为所述文本与已分类的各类别的文本代表的相似度;
可选的,所述文本与一文本代表的关键词相似程度,可以认为是一个比例数值,该比例数值属于一个连续的范围值;如对于一文本代表,本发明实施例可根据所述文本与该文本代表的交集关键词的数量,以及所述文本与该文本代表的并集关键词的数量,确定所述文本与该文本代表的关键词相似程度。
步骤S150、当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中。
相似度阈值是预先设定的文本归为某一类别的相似度下限值,即如果当前获取的文本的关键词,与已分类的某一类别的文本代表的关键词的相似度大于相似度阈值,则当前获取的文本可归类到该类别中;可选的,如果与所述文本的相似度大于相似度阈值的文本代表具有多个,则可将所述文本归类到与所述文本的相似度最大的文本代表的类别中。
步骤S160、当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
如果已分类的各类别的文本代表中,不存在与所述文本的相似度大于设定相似度阈值的文本代表,则说明所述文本不属于已分类的类别,可将所述文本独立的归为一个类别。
进一步,当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,除将所述文本归为一个类别,还可将所述文本作为该类别的文本代表。
即对于非第一次获取的文本,如果所述文本与已分类的某一类别的文本代表足够相似(相似度大于设定相似度阈值),则所述文本可插入到该类别中,而如果所述文本与已分类的各类别的文本代表均不相似,则所述文本可独立归为一个类别。
可见,本发明实施例提供的文本聚类方法中,前处理服务器可依时间顺序获取流式的文本,并确定出当前获取的文本,提取所述文本的关键词;如果所述文本为第一次获取的文本,则可将所述文本归为一个类别;如果所述文本为非第一次获取的文本,则可根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;进而当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,可将所述文本归类到该文本代表的类别中;而当已分类的各类别的文本代表中,不存在与所述文本的相似度大于设定相似度阈值的文本代表,则可将所述文本归为一个类别。
通过本发明实施例提供的文本聚类方法,可对于当前获取的文本实现文本聚类,并且根据当前获取的文本的关键词,和当前已分类的各类别的文本代表的关键词,进行当前获取的文本与已分类的各类别的文本代表的相似度比对,实现当前获取的文本的聚类,可使得当前获取的文本与各类别的文本代表的相似度确定更为精准,可降低文本变形对于文本聚类的干扰,提升文本聚类的抗文本变形能力。
进一步,本发明实施例可设置文本聚类的类别数量阈值,这是因为内存空间的使用是存在限制的,如果不限制文本聚类的类别数量,那么文本聚类的类别数量将不断的增大,导致内存空间的不可用,影响文本聚类的正常进行;
因此在图2所示步骤S150的执行过程中,如果已分类的各类别的文本代表中,不存在与所述文本的相似度大于设定相似度阈值的文本代表,且当前已分类的类别数量未达到类别数量阈值,则可直接将所述文本归为一个类别;进一步,还可将所述文本作为该类别的文本代表;
而如果已分类的各类别的文本代表中,不存在与所述文本的相似度大于设定相似度阈值的文本代表,且当前已分类的类别数量达到类别数量阈值,则需从已分类的类别中删除一类别,再将所述文本归为一个类别,并将所述文本作为所归为的类别的文本代表,从而维持当前已分类的类别数量不超过类别数量阈值。
可选的,图3示出了本发明实施例提供的文本聚类方法的另一流程图,图3所示方法可应用于前处理服务器,参照图3,该方法可以包括:
步骤S200、确定当前获取的文本。
步骤S210、当所述文本为短文本,对所述文本进行切词处理,根据切词处理后的关键词,确定从所述文本提取的关键词;当所述文本为长文本,对所述文本进行分词处理,根据分词处理后的关键词确定所述文本的文本摘要,根据所述文本的文本摘要对应的关键词,确定从所述文本提取的关键词。
步骤S220、判断所述文本是否为第一次获取的文本,若是,执行步骤S230,若否,执行步骤S240。
步骤S230、将所述文本归为一个类别,并将所述文本作为该类别的文本代表。
步骤S240、根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度。
步骤S250、当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中。
步骤S260、当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,判断当前已分类的类别数量是否达到类别数量阈值,若否,执行步骤S270,若是,执行步骤S280。
步骤S270、将所述文本归为一个类别,并将所述文本作为该类别的文本代表。
步骤S280、从当前已分类的类别中确定剔除的类别,剔除所确定的类别,并将所述文本归为一个类别,将所述文本作为所归为的类别的文本代表。
可选的,本发明实施例可根据当前已分类的各类别的衰减指数,从当前已分类的类别中确定衰减指数最大的类别作为剔除的类别,从而剔除衰减指数最大的类别,再将所述文本归为一个类别,将所述文本作为所归为的类别的文本代表,维持当前已分类的类别数量不超过类别数量阈值;
可选的,类别的衰减指数可与类别的存在时长成正相关关系,与类别中文本的数量成负相关关系,即一个类别存在的越久,则衰减指数越大,越优先被剔除,一个类别中的文本数量越少,则衰减指数越大,越优先被剔除。
可选的,聚类的类别可以存放在内存中,上述所指的类别的衰减指数与类别的存在时长成正相关关系,可以认为是,类别的衰减指数与类别在内存中的存在时长成正相关关系;而剔除衰减指数最大的类别可以认为是从内存中将该衰减指数最大的类别剔除,剔除后的类别可以存放到硬盘中,并不是进行丢弃。
可选的,本发明实施例也可使用LRU(Least Recently Used,近期最少使用算法),确定当前已分类的各类别的衰减指数,从而根据LRU确定出最久未使用的当前已分类的类别,得到当前已分类的衰减指数最大的类别。
可选的,对于提取文本的关键词的方式,这里需要补充的是,从文本提取的关键词的数量应不超过设定词数量,这样做的目的是,减少文本聚类过程涉及的数据处理量;可以理解的是,如果一个文本中有大量的关键词(如10万个),则如果基于该文本的每一个关键词进行与文本代表的相似度比对,无疑会增大数据处理负担,因此本发明实施例可在文本的关键词的数量超过设定词数量时,仅选取其中的设定词数量的最具代表性的关键词作为从文本提取的关键词使用;可选的,所选取的设定词数量的最具代表性的关键词可以是,文本中词频和逆向文件频率的乘积最大的设定词数量的关键词,即文本中最具代表性的关键词可以通过关键词在文本中的TF(词频)*IDF(逆向文件频率)的乘积表示;对于一文本,本发明实施例可确定各关键词在该文本中的TF*IDF的乘积,将乘积最大的设定词数量的关键词作为该文本中最具代表性的关键词;
具体的,在文本为长文本的情况下,当所述文本的文本摘要对应的关键词的数量不超过设定词数量,将所述文本的文本摘要对应的关键词,作为从所述文本提取的关键词;当所述文本的文本摘要对应的关键词的数量超过设定词数量,选取所述文本的文本摘要对应的关键词中,词频和逆向文件频率的乘积最大的设定词数量的关键词,作为从所述文本提取的关键词;文本为短文本情况下的处理类似。
前文描述了在当前获取的文本为长文本的情况下,提取长文本的关键词的手段;这其中对于提取文本的文本摘要的方式可以有如下可选手段:
使用TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)提取文本的文字摘要;TF-IDF一种用于信息检索与数据挖掘的常用加权技术,是经典的文本摘要技术,广泛应用于搜索引擎中;按TF-IDF值筛选文本中定长的关键片段特征,优点是快速稳定,缺点是需要额外维护IDF表;
使用Text-Rank(文本-排名)提取文本的文字摘要;Text-Rank来源于被人熟知的Page-Rank算法,可将每个分词后的单词看作Page-Rank中的一个节点,设定定长的窗体来计算同窗体节点间的关系,并迭代得到节点重要性;与单纯的计算词频相比,Text-Rank以一种“关键词周围的词,有更高概率也是关键词”的思想,考虑了邻域的影响;使用Text-Rank的优点是不需额外维护IDF表,缺点是迭代必然带来成倍的时间复杂度。
显然,上述描述的提取文本的文本摘要的方式仅是可选的,本发明实施例并不排除其他的能够提取文本的文本摘要的手段。
可选的,在将当前获取的文本的关键词,与已分类的某一类别的文本代表的关键词进行关键词相似程度比对时,当前获取的文本与已分类的该类别的文本代表的相似度,可基于关键词采用Jaccard Index(杰卡德)指数进行表示;基于关键词采用Jaccard Index指数表示所述文本与一文本代表的相似度可以由如下公式体现:
其中,公式1中A可以表示当前获取的文本,B可以表示一文本代表,sim(A,B)表示当前获取的文本A与文本代表B的相似度,A∩B表示文本A与文本B的交集关键词的第一数量,A∪B表示文本A与文本B的并集关键词的第二数量;
可选的,本发明实施例可定义所述文本与文本代表的交集关键词的数量为第一数量,定义所述文本与文本代表的并集关键词的数量为第二数量。
则确定当前获取的文本与一文本代表的相似度的方式可以是:将当前获取的文本与该文本代表的交集关键词的第一数量及并集关键词的第二数量相除,将所得到的比值作为当前获取的文本与该文本代表的关键词相似程度,确定出所述文本与该文本代表的相似度。
即本发明实施例可确定所述文本与各文本代表的交集关键词的第一数量,以及确定所述文本与各文本代表的并集关键词的第二数量;从而对于一文本代表,可获取对应的第一数量与第二数量的比值,将所述比值作为所述文本与该文本代表的关键词相似程度,确定出所述文本与该文本代表的相似度。
可以看出,当前获取的文本与文本代表的相似度是一个比例数值,而非绝对的二值判断,这为文本之间的相似度确定提供了足够的柔性空间,使得实质内容相同但局部变形的多个文本,在本发明实施例提供的文本聚类方法下存在被聚集的可能。需要说明的是,二值判断的相似度表达的结果是,当前获取的文本与文本代表不相似还是相似,没有中间态,两个相似的文本若通过绝对的二值判断确定相似度,如使用md5,则一个文本随便的改动一个字,则两个文本可能就聚集不到一起;而本发明实施例提供的相似度是一个比例数值,表示了当前获取的文本与文本代表的相似程度,这使得文本之间的相似度判断变得柔性。
需要说明的是,上述公式1仅是在确定当前获取的文本与一文本代表的相似度时的一种可选方式,公式1表达的内容可以认为是,对于一文本代表,确定当前获取的文本与该文本代表的相似度时,可根据当前获取的文本与该文本代表的交集关键词的第一数量及并集关键词的第二数量,计算当前获取的文本与该文本代表的关键词相似程度的一种可选实现;本发明实施例并不限于通过公式1的方式进行文本间相似度的计算。
进一步,为使得当前获取的文本与当前已分类的各类别的文本代表的关键词的相似度比对的效率能够提升,本发明实施例可通过建立关键词与文本代表的倒排索引,从而通过该倒排索引提升当前获取的文本与文本代表的相似度比对的效率,为提升文本聚类的实时性提供可能;
本发明实施例可将各文本代表的各关键词分别作为倒排索引的key(键),将各key的关键词所对应的文本代表作为各key对应的value(值),从而构建出倒排索引;即倒排索引可以表示各关键词分别对应的文本代表,其中一个关键词作为倒排索引中的一个key,而一个关键词所对应的文本代表作为倒排索引中该关键词的key对应的value;
如图4所示,本发明实施例可将内存中聚类的各类别的文本代表作为一篇DOC(文章),并进行编号,编号的最大值与类别数量阈值一致,即DOC的数量(表示了文本代表的数量,也即聚类的类别的数量)不超过设定的类别数量阈值;每篇DOC中提取的关键词的数量不超过设定词数量,则在建立倒排索引时,可使用关键词作为KEY,以包含该关键词的DOC列表(由包含该关键词的DOC组成)作为该key对应的value,建立出倒排索引;
则对于当前获取的文本,假设为A,从文本A中选取了1至M个关键词(M为设定词数量),则在比较当前获取的文本与各DOC(即各文本代表)的相似度时,本发明实施例可利用倒排索引实现,也即仅需在倒排索引中进行M次的O(1)查找,即可遍历倒排索引中的所有DOC列表,并进行各DOC与文本A所匹配的关键词数量的累计,确定出各DOC与文本A所匹配的关键词数量,找到与文本A的关键词具有最大交集的DOC;其中,O(1)是计算机领域形容衡量时间效率的基本表示法,如大O表示法等;
具体的,在根据当前获取的文本的关键词,与当前已分类的各类别的文本代表的关键词,确定当前获取的文本与已分类的各类别的文本代表的相似度时,本发明实施例可根据倒排索引,遍历当前获取的文本的各关键词所对应的文本代表,确定出各文本代表与当前获取的文本所匹配的关键词数量,得到各文本代表与当前获取的文本的交集关键词的第一数量;
经过统计分析,DOC的数量(即聚类的文本类别的数量)一般是比设定词数量M大得多,因此使用倒排索引的方式,可使得当前获取的文本与文本代表的相似度的计算性能得到优化,提升处理效率,为文本聚类的实时性提升提供可能。
相应的,在将当前获取的文本进行聚类,确定出当前获取的文本归类的类别后,本发明实施例可根据当前获取的文本的关键词,与所归类的类别的文本代表,更新倒排索引;
相应的,从已分类的类别中剔除衰减指数最大的类别时,也需相应的更新倒排索引。
进一步,基于上文描述的采用Jaccard Index指数表示当前获取的文本与一文本代表的相似度的内容,本发明实施例可对上述的公式1进行优化,使用文本A与文本B中关键词数最大的文本对应的关键词数,表示文本A与文本B的并集关键词的第二数量,即公式1可以优化为由如下公式2表示:
其中,公式2中CardA表示当前获取的文本A的关键词数,CardB表示文本代表B的关键词数,max(CardA,CardB)表示文本A和B中关键词数最大的文本对应的关键词数;可见,公式2中可使用max(CardA,CardB)近似公式1的A∪B;即使用文本A与文本B中关键词数最大的文本对应的关键词数,近似文本A与文本B的并集关键词的第二数量,从而进一步简化文本间相似度的比对;而采用max(CardA,CardB)近似A∪B,对于最终的相似度结果基本没有影响,只是需要在倒排索引的基础上,额外建立一张记录各文本代表对应的关键词数的第一哈希表;
具体的,本发明实施例可根据倒排索引遍历当前获取的文本的各关键词所对应的文本代表,确定出各文本代表与当前获取的文本所匹配的关键词数量,得到各文本代表与当前获取的文本的交集关键词的第一数量;
并在确定当前获取的文本与一文本代表的相似度时,通过倒排索引的第一哈希表所记录的各文本代表对应的关键词数,确定当前获取的文本与该文本代表中关键词数最大的文本对应的关键词数,从而将当前获取的文本与该文本代表中关键词数最大的文本对应的关键词数,近似为,当前获取的文本与该文本代表的并集关键词的第二数量。
相应的,对于当前获取的文本A,文本A中选取了1至M个关键词,则计算文本A与各类别的文本代表的相似度的时间复杂度为O(M*1)+O(K)=O(M+K),K为最大的类别数量阈值。
通过本发明实施例使用的倒排索引进行当前获取的文本,与当前已分类的各类别的文本代表的相似度比对,可极大的提升相似度的比对效率,为文本聚类的实时性提示提供可能。
经过发明人的分析发现文本聚类的实时性提升,需要考虑检索和替换两种情况,所涉及操作实际上是数据的查找和增删,并且实践中两种操作的次数基本会维持在同一数量级。前文提供的倒排索引能保证的是检索效率的提升,而对于替换操作效率的提升有限。
为提升替换操作的效率,发明人考虑过如下手段尝试,但均不理想:
如图5所示,在倒排索引的基础上,进一步使用链表或者线性表的方式,存储关键词与文本代表之间的对应关系;
但是,对于使用链表存储关键词与文本代表之间的对应关系的方式而言,由于DOC列表基本是非常稀疏的,以链表存储,虽然有非常好的空间优势,又能在检索时最快遍历保证时间效率;但在替换时,在一个DOC列表中,每次增删一个特定DOC,都需要遍历定位其位置,时间效率很低;
对于使用线性表存储关键词与文本代表之间的对应关系的方式而言,每一个DOC列表都以定长的线性表存储,线性表长度为允许存在的类别数量阈值。而增删操作仅仅改变固定位标记,查找某DOC并替换的效率能够达到最优的O(1);虽然替换不再是瓶颈,但检索却又遇到了问题。如上所述,倒排索引中的DOC列表往往是非常稀疏的,如果在一10万个key的倒排索引中,单个key对应的DOC列表中最大的DOC长度不到3K(千字节)。考虑遍历操作,如果以定长线性表存储DOC列表,原本只有不到3K的DOC列表需要遍历10万长度,这不但时间效率十分低下,更有着巨大的空间浪费。
如上文所述在倒排索引中,对于每一个VALUE中的DOC列表,能够基于关键词很快地遍历,而如果以链表存储DOC列表,遍历效率最高,增删足够方便,却无法快速地查找列表中的某个DOC;
为解决这一缺陷,本发明实施例可对DOC列表中的DOC再建正排索引,如图6所示,本发明实施例可以将已分类的各类别的文本代表(即各个DOC)分别作为key,将各key对应的文本代表的各关键词的指针作为对应的value,同时通过指针,将指针对应的关键词指向该关键词在倒排索引的value中对应的文本代表,从而构建出正排索引。
在本发明实施例中,倒排索引和正排索引配合使用,可使得针对文本和关键词的关系的更新、删除更为高效、快速;比如在确定已分类的类别中衰减指数最大的类别2需要删除,类别2的文本代表是文本2,关键词有关键词3和4;相应的,需要删除倒排索引和正排索引中文本2与关键词3和4的关系时,并不需要在倒排索引里把关键词3和4对应出现过的文本挨个遍历,发现文本2才删除,而是可配合使用倒排索引和正排索引,在正排索引里查找文本2的关键词3和4的指针在倒排索引中指向的位置,将倒排索引中该位置的文本进行删除则可,提升针对文本和关键词的关系的更新、删除的效率。
可以看出,倒排索引配合正排索引后,对于一个新文本而言,其性能提升如下:
检索操作,每个关键词对应的DOC列表均为链表结构,遍历性能最优,检索效率有保证;
增删操作,只需从正排索引中遍历该DOC对应的所有指针(这些被保存下来的指针本身指向该DOC在倒排索引中所有生效节点),查找效率优于树结构,同时链表增删负责度O(1);
链表存储,虽然从单向链表变成了双向链表,但并没有明显空间浪费;
不要求DOC列表去重,允许一个关键词在一个DOC中出现多次的应用可能存在。
可见,倒排索引配合正排索引,可进一步满足文本聚类的实时、抗文本变形的性能要求。
如图7所示,本发明实施例提供的文本聚类方法中,前处理服务器在获取到一个新文本后,可提取该新文本的关键词,利用倒排索引(如公式1或公式2所示),将新文本的关键词与已分类的各类别的文本代表的关键词进行相似度比对;如果与新文本存在足够相似的文本代表,如图7所示类4的文本代表,则新文本可插入到类4中;如果与新文本不存在相似的文本代表,则新文本可自成一类;同时,可基于类别的增加、删减(新文本自成一类时,如果已分类的类别数量达到类别数量阈值,则需要删减衰减指数最大的类别),类别中文本的变化,相应的更新倒排索引和正排索引。
进一步,本发明实施例还可通过设置第二哈希表,记录已分类的各类别的文本代表的文本指纹(如md5或simhash,其中,md5是消息摘要算法第五版,simhash是用来网页去重最常用的hash方法,速度很快),与相应的文本代表的关系;
如可在第二哈希表中以已分类的各类别的文本代表的文本指纹为key,以相应的文本代表为value,记录出文本代表的文本指纹与文本代表的关系;从而在获取到新的文本(即当前获取的文本)时,可通过新的文本的文本指纹,在第二哈希表中查找是否存在对应的文本代表,进行精准匹配;当在哈希表中查找到与新的文本的文本指纹对应的文本代表,则可直接将该新的文本归类到该文本代表的类别中;而如果在哈希表中未查找到与新的文本的文本指纹对应的文本代表,则可基于该新的文本的关键词,与已分类的各类别的文本代表的关键词,确定新的文本与各文本代表的相似度,进行文本聚类,具体流程可如图8所示;
本发明实施例可先以文本指纹进行新的文本与各类别的文本代表的精准匹配,在文本指纹匹配不上时,再使用关键词进行相似度比对的原因是:
在UGC场景中,使用文本变形的高对抗行为毕竟是少数,并不是每一次比较都应该以逻辑较为复杂的关键词相似度比对去考虑。考虑到一个特征数为M的文本,在倒排索引中,一次相似计算需要进行M次O(1)查找,而一次精准的以文本指纹为key的匹配可以只需要一次O(1)查找。直观理解,只要在两个文本至少相似的情况下,两个文本一模一样的概率高于1/M,那么先进行精准匹配,那么文本聚类效率就有提升的可能。
在业务场景中,以文本指纹作为精准key优先精准查找,并统计“精准匹配成功”和“相似度匹配成功”的发生次数,这个比值接近3比1。这说明在平均情况下,同个聚类中超过7成的文本是精确一致的,优先精确查找而避免逻辑较复杂的相似度查找,能提高文本聚类效率。
前文描述的文本聚类方法主要站在前处理服务器的角度描述,前处理服务器在文本聚类的过程中,还可将文本数量超过文本数量阈值的类别的文本输出到后处理服务器,由后处理服务器进行聚合的文本聚类;
后处理服务器的文本聚类逻辑与前文描述的前处理服务器的文本聚类逻辑一致,可参照前文描述的前处理服务器的文本聚类逻辑,可涉及前文描述的关键词提取内容、相似度比对内容、倒排索引内容、正排索引内容、以md5或simhash等文本指纹的精准匹配内容等,在此不再赘述;前处理服务器和后处理服务器在文本聚类上的不同仅在于:前处理服务器获取的文本是收集的传播的流式文本,后处理服务器是获取的前处理服务器输出的文本数量达到文本数量阈值的类别的流式的文本。
当然,本发明实施例也由独立的处理服务器实现文本聚类,该处理服务器可获取传播中的流式的文本,依照前文所述的文本聚类逻辑对各文本进行聚类,得到最终的文本聚类结果;处理服务器进行文本聚类的逻辑涉及前文描述的关键词提取内容、相似度比对内容、倒排索引内容、正排索引内容、以md5或simhash等文本指纹的精准匹配内容等,在此不再赘述。
本发明实施例提供的文本聚类方法与传统方案相比,在保证实时性,具有良好可解释性的同时,显著提升了文本聚类的抗文本变形能力。
总体情况下,比起以simhash为代表的文本指纹聚集,本发明实施例提供的实时流式抗文本形变的文本聚类方法,文本聚集性平均可以提高近1/3水平。
而聚焦于高热文本,这个效果还会大大提升;如下图9所示,以代表短文本的某昵称场景为例,这些聚类基本是该场景变形对抗最为激烈的部分;把一个聚类中“相似但却不完全相同”的文本个数定义为变形指数,部分聚类文本数和变形指数对比如图9。统计聚类的文本数和变形指数之比为0.86,可以理解为在该高热文本的场景中,发生文本变形的概率为86%。换言之,如果采用传统的精准文本指纹聚集,这86%的文本是聚不到一起的,在高热文本的业务场景中,使用本发明实施例提供的文本聚类方法,可使得文本的聚集性得到数倍的提高。
下面对本发明实施例提供的文本聚类装置进行介绍,下文描述的文本聚类装置涉及的程序功能,可与上文描述的文本聚类方法相互对应参照。下文描述的文本聚类装置可适用于前处理服务器,后处理服务器,或者独立的处理服务器;文本聚类装置在前处理服务器,后处理服务器,或者独立的处理服务器上的适用区别下文将相应描述。
图10为本发明实施例提供的文本聚类装置的结构框图,参照图10,该文本聚类装置可以包括:
当前文本确定模块100,用于确定当前获取的文本;
关键词提取模块200,用于提取所述文本的关键词;
相似度确定模块300,用于当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
第一归类模块400,用于当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
第二归类模块500,用于当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
可选的,一类别的文本代表可由建立该类别的文本表示,第二归类模块500还可用于,将所述文本作为所归类的类别的文本代表。
可选的,图11示出了本发明实施例提供的文本聚类装置的另一结构框图,结合图10和图11所示,该文本聚类装置还可以包括:
第三归类模块600,用于当所述文本为第一次获取的文本,将所述文本归为一个类别。
可选的,一类别的文本代表可由建立该类别的文本表示,第三归类模块600还可用于,将所述文本作为所归类的类别的文本代表。
可选的,关键词提取模块200,用于提取所述文本的关键词,具体包括:
当所述文本为字数数量未超过字数阈值的短文本,对所述文本进行切词处理,根据切词处理后的关键词,确定从所述文本提取的关键词;
当所述文本为字数数量超过字数阈值的长文本,对所述文本进行分词处理,根据分词处理后的关键词确定所述文本的文本摘要,根据所述文本的文本摘要对应的关键词,确定从所述文本提取的关键词。
可选的,关键词提取模块200,用于根据所述文本的文本摘要对应的关键词,确定从所述文本提取的关键词,具体包括:
当所述文本的文本摘要对应的关键词的数量不超过设定词数量,将所述文本的文本摘要对应的关键词,作为从所述文本提取的关键词;
当所述文本的文本摘要对应的关键词的数量超过设定词数量,选取所述文本的文本摘要对应的关键词中,词频和逆向文件频率的乘积最大的设定词数量的关键词,作为从所述文本提取的关键词。
可选的,第二归类模块500,用于当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别,具体包括:
当当前已分类的类别数量未达到类别数量阈值,将所述文本归为一个类别;
当当前已分类的类别数量达到类别数量阈值,从当前已分类的类别中确定剔除的类别,剔除所确定的类别,将所述文本归为一个类别。
可选的,第二归类模块500,用于从当前已分类的类别中确定剔除的类别,具体包括:
根据当前已分类的各类别的衰减指数,从当前已分类的类别中确定衰减指数最大的类别作为剔除的类别;其中,类别的衰减指数与类别在内存的存在时长成正相关关系,与类别中文本的数量成负相关关系;
可选的,第二归类模块500,用于剔除所确定的类别,具体包括:
从内存中剔除所确定的类别,并将剔除后的类别存放到硬盘中。
可选的,相似度确定模块300,用于根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度,具体包括:
确定所述文本与各文本代表的交集关键词的第一数量,以及确定所述文本与各文本代表的并集关键词的第二数量;
对于一文本代表,获取对应的第一数量与第二数量的比值,将所述比值作为所述文本与该文本代表的关键词相似程度,确定出所述文本与该文本代表的相似度。
可选的,图12示出了本发明实施例提供的文本聚类装置的再一结构框图,结合图10和图12所示,该文本聚类装置还可以包括:
倒排索引构建模块700,用于将各文本代表的各关键词分别作为倒排索引的key,将各key的关键词所对应的文本代表作为各key对应的value,构建出倒排索引;通过所述倒排索引的第一哈希表,记录各类别的文本代表对应的关键词数;
相应的,相似度确定模块300,用于确定所述文本与各文本代表的交集关键词的第一数量,具体包括:
根据倒排索引遍历所述文本的各关键词所对应的文本代表,确定出各文本代表与所述文本所匹配的关键词数量,得到所述文本与各文本代表的交集关键词的第一数量;
相似度确定模块300,用于确定所述文本与各文本代表的并集关键词的第二数量,具体包括:
对于一文本代表,通过第一哈希表所记录的各文本代表对应的关键词数,确定所述文本与该文本代表中关键词数最大的文本对应的关键词数,将所述文本与该文本代表中关键词数最大的文本对应的关键词数,近似为,所述文本与该文本代表的并集关键词的第二数量。
可选的,图13示出了本发明实施例提供的文本聚类装置的又一结构框图,结合图12和图13所示,该文本聚类装置还可以包括:
正排索引构建模块800,用于将已分类的各类别的文本代表分别作为key,将各key对应的文本代表的各关键词的指针作为对应的value,且指针指向对应的关键词在倒排索引的value中对应的文本代表,以构建出正排索引;
索引更新模块900,用于根据类别的增加和/或删减,以及类别中文本的变化,更新倒排索引和正排索引。
可选的,图14示出了本发明实施例提供的文本聚类装置的又另一结构框图,结合图10和图14所示,该文本聚类装置还可以包括:
第二哈希表设置模块1000,用于设置第二哈希表,记录已分类的各类别的文本代表的文本指纹与相应的文本代表的关系;
文本指纹匹配模块1100,用于根据所述文本的文本指纹,在第二哈希表中查找是否存在对应的文本代表;当在哈希表中查找到与所述文本的文本指纹对应的文本代表,将所述文本归类到该文本代表的类别中;当在哈希表中未查找到所述文本的文本指纹对应的文本代表,触发关键词提取模块200执行所述提取所述文本的关键词的步骤。
可选的,如果文本聚类装置应用于前处理服务器,则所述文本来源于前处理服务器依时间顺序获取的随机分配到的处于传播中的文本;相应的,所述文本聚类装置还用于,将文本数量达到文本数量阈值的类别的文本,输出到后处理服务器。
可选的,如果文本聚类装置应用于后处理服务器,所述文本来源于各前处理服务器输出的文本数量达到文本数量阈值的类别的文本。
需要说明的是,上文描述的文本聚类装置也可适用于独立进行文本聚类的处理服务器,前处理服务器获取的文本来源是前处理服务器依时间顺序获取的随机分配到的处于传播中的文本;而该独立的处理服务器获取的文本来源是,依时间顺序获取的处于传播中的文本;在独立的处理服务器实现文本聚类的情况下,并不涉及到在多台前处理服务器随机分配处于传播中的文本的情况;
前处理服务器进行文本聚类后的结果,是确定文本数量达到文本数量阈值的类别,并将该类别的文本输出到后处理服务器;而该独立的处理服务器进行文本聚类的结果即可认为是最终的文本聚类结果。
可选的,上述描述的文本聚类装置可以程序形式装载于前处理服务器,后处理服务器,或者独立的处理服务器;该程序在前处理服务器,后处理服务器,或者独立的处理服务器适用的区别之处,可参照上文文本聚类装置相应部分的描述。
前处理服务器,后处理服务器,或者独立的处理服务器的硬件结构均可如图15所示,包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本发明实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器3存储有程序,处理器1调用存储器3所存储的程序,所述程序用于:
确定当前获取的文本;
提取所述文本的关键词;
当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
本发明实施例还提供一种文本聚类系统,该文本聚类系统的结构可如图1所示,包括:多台前处理服务器,以及,一台后处理服务器;
所述前处理服务器用于确定当前获取的文本,所述文本来源于前处理服务器依时间顺序获取的随机分配到的处于传播中的文本;提取所述文本的关键词;当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别;输出文本数量达到文本数量阈值的类别的文本到后处理服务器;
所述后处理服务器,用于确定当前获取的文本,所述文本来源于前处理服务器依时间顺序获取的随机分配到的处于传播中的文本;提取所述文本的关键词;当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别。
本发明实施例可在保证实时性,具有良好可解释性的同时,显著提升文本聚类的抗文本变形能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (16)
1.一种文本聚类方法,其特征在于,包括:
确定当前获取的文本;
提取所述文本的关键词;
当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别,具体包括:当当前已分类的类别数量未达到类别数量阈值,将所述文本归为一个类别;当当前已分类的类别数量达到类别数量阈值,从当前已分类的类别中确定剔除的类别,剔除所确定的类别,将所述文本归为一个类别。
2.根据权利要求1所述的文本聚类方法,其特征在于,还包括:
当所述文本为第一次获取的文本,将所述文本归为一个类别。
3.根据权利要求1所述的文本聚类方法,其特征在于,提取所述文本的关键词包括:
当所述文本为字数数量未超过字数阈值的短文本,对所述文本进行切词处理,根据切词处理后的关键词,确定从所述文本提取的关键词;
当所述文本为字数数量超过字数阈值的长文本,对所述文本进行分词处理,根据分词处理后的关键词确定所述文本的文本摘要,根据所述文本的文本摘要对应的关键词,确定从所述文本提取的关键词。
4.根据权利要求3所述的文本聚类方法,其特征在于,所述根据所述文本的文本摘要对应的关键词,确定从所述文本提取的关键词包括:
当所述文本的文本摘要对应的关键词的数量不超过设定词数量,将所述文本的文本摘要对应的关键词,作为从所述文本提取的关键词;
当所述文本的文本摘要对应的关键词的数量超过设定词数量,选取所述文本的文本摘要对应的关键词中,词频和逆向文件频率的乘积最大的设定词数量的关键词,作为从所述文本提取的关键词。
5.根据权利要求1所述的文本聚类方法,其特征在于,所述从当前已分类的类别中确定剔除的类别包括:
根据当前已分类的各类别的衰减指数,从当前已分类的类别中确定衰减指数最大的类别作为剔除的类别;其中,类别的衰减指数与类别在内存的存在时长成正相关关系,与类别中文本的数量成负相关关系;
所述剔除所确定的类别包括:
从内存中剔除所确定的类别,并将剔除后的类别存放到硬盘中。
6.根据权利要求1所述的文本聚类方法,其特征在于,所述根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度包括:
确定所述文本与各文本代表的交集关键词的第一数量,以及确定所述文本与各文本代表的并集关键词的第二数量;
对于一文本代表,获取对应的第一数量与第二数量的比值,将所述比值作为所述文本与该文本代表的关键词相似程度,确定出所述文本与该文本代表的相似度。
7.根据权利要求6所述的文本聚类方法,其特征在于,还包括:
将各文本代表的各关键词分别作为倒排索引的键key,将各key的关键词所对应的文本代表作为各key对应的值value,构建出倒排索引;
通过所述倒排索引的第一哈希表,记录各类别的文本代表对应的关键词数;
所述确定所述文本与各文本代表的交集关键词的第一数量包括:
根据倒排索引遍历所述文本的各关键词所对应的文本代表,确定出各文本代表与所述文本所匹配的关键词数量,得到所述文本与各文本代表的交集关键词的第一数量;
所述确定所述文本与各文本代表的并集关键词的第二数量包括:
对于一文本代表,通过第一哈希表所记录的各文本代表对应的关键词数,确定所述文本与该文本代表中关键词数最大的文本对应的关键词数,将所述文本与该文本代表中关键词数最大的文本对应的关键词数,近似为,所述文本与该文本代表的并集关键词的第二数量。
8.根据权利要求6所述的文本聚类方法,其特征在于,还包括:
将已分类的各类别的文本代表分别作为key,将各key对应的文本代表的各关键词的指针作为对应的value,且指针指向对应的关键词在倒排索引的value中对应的文本代表,以构建出正排索引;
根据类别的增加和/或删减,以及类别中文本的变化,更新倒排索引和正排索引。
9.根据权利要求1-8任一项所述的文本聚类方法,其特征在于,还包括:
设置第二哈希表,记录已分类的各类别的文本代表的文本指纹与相应的文本代表的关系;
在提取所述文本的关键词之前,所述方法还包括:
根据所述文本的文本指纹,在第二哈希表中查找是否存在对应的文本代表;
当在哈希表中查找到与所述文本的文本指纹对应的文本代表,将所述文本归类到该文本代表的类别中;
当在哈希表中未查找到所述文本的文本指纹对应的文本代表,触发执行所述提取所述文本的关键词的步骤。
10.根据权利要求1所述的文本聚类方法,其特征在于,当所述方法应用于前处理服务器,所述文本来源于前处理服务器依时间顺序获取的随机分配到的处于传播中的文本;所述方法还包括:
将文本数量达到文本数量阈值的类别的文本,输出到后处理服务器。
11.根据权利要求1所述的文本聚类方法,其特征在于,当所述方法应用于后处理服务器,所述文本来源于各前处理服务器输出的文本数量达到文本数量阈值的类别的文本。
12.一种文本聚类装置,其特征在于,包括:
当前文本确定模块,用于确定当前获取的文本;
关键词提取模块,用于提取所述文本的关键词;
相似度确定模块,用于当所述文本为非第一次获取的文本,根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度;
第一归类模块,用于当已分类的各类别的文本代表中,存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归类到该文本代表的类别中;
第二归类模块,用于当已分类的各类别的文本代表中,不存在与所述文本的相似度大于相似度阈值的文本代表,将所述文本归为一个类别,具体包括:当当前已分类的类别数量未达到类别数量阈值,将所述文本归为一个类别;当当前已分类的类别数量达到类别数量阈值,从当前已分类的类别中确定剔除的类别,剔除所确定的类别,将所述文本归为一个类别。
13.根据权利要求12所述的文本聚类装置,其特征在于,所述相似度确定模块,用于根据所述文本的关键词,与当前已分类的各类别的文本代表的关键词,分别计算所述文本与已分类的各类别的文本代表的关键词相似程度,确定所述文本与已分类的各类别的文本代表的相似度,具体包括:
确定所述文本与各文本代表的交集关键词的第一数量,以及确定所述文本与各文本代表的并集关键词的第二数量;
对于一文本代表,获取对应的第一数量与第二数量的比值,将所述比值作为所述文本与该文本代表的关键词相似程度,确定出所述文本与该文本代表的相似度。
14.根据权利要求13所述的文本聚类装置,其特征在于,还包括:
倒排索引构建模块,用于将各文本代表的各关键词分别作为倒排索引的key,将各key的关键词所对应的文本代表作为各key对应的value,构建出倒排索引;通过所述倒排索引的第一哈希表,记录各类别的文本代表对应的关键词数;
所述相似度确定模块,用于确定所述文本与各文本代表的交集关键词的第一数量,具体包括:
根据倒排索引遍历所述文本的各关键词所对应的文本代表,确定出各文本代表与所述文本所匹配的关键词数量,得到所述文本与各文本代表的交集关键词的第一数量;
所述相似度确定模块,用于确定所述文本与各文本代表的并集关键词的第二数量,具体包括:
对于一文本代表,通过第一哈希表所记录的各文本代表对应的关键词数,确定所述文本与该文本代表中关键词数最大的文本对应的关键词数,将所述文本与该文本代表中关键词数最大的文本对应的关键词数,近似为,所述文本与该文本代表的并集关键词的第二数量。
15.一种服务器,其特征在于,包括存储器和处理器;
所述存储器用于存储程序;
所述处理器用于运行所述程序,以实现如权利要求1至11任一项所述的文本聚类方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序用于在被处理器执行时,实现如权利要求1至11任一项所述的文本聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710537557.2A CN109241274B (zh) | 2017-07-04 | 2017-07-04 | 文本聚类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710537557.2A CN109241274B (zh) | 2017-07-04 | 2017-07-04 | 文本聚类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241274A CN109241274A (zh) | 2019-01-18 |
CN109241274B true CN109241274B (zh) | 2022-01-25 |
Family
ID=65083258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710537557.2A Active CN109241274B (zh) | 2017-07-04 | 2017-07-04 | 文本聚类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241274B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522941A (zh) * | 2019-02-03 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 文本聚类方法、装置、电子设备及计算机存储介质 |
CN109918624B (zh) * | 2019-03-18 | 2022-10-04 | 北京搜狗科技发展有限公司 | 一种网页文本相似度的计算方法和装置 |
CN110399483A (zh) * | 2019-06-12 | 2019-11-01 | 五八有限公司 | 一种主题分类方法、装置、电子设备及可读存储介质 |
CN110245275B (zh) * | 2019-06-18 | 2023-09-01 | 中电科大数据研究院有限公司 | 一种大规模相似新闻标题快速归一化方法 |
CN110362580B (zh) * | 2019-07-25 | 2021-09-24 | 重庆市筑智建信息技术有限公司 | 一种bim建筑工程数据检索优化归类方法及其系统 |
CN112668322A (zh) * | 2019-09-29 | 2021-04-16 | 北京国双科技有限公司 | 确定短文本类别的方法及装置 |
CN111104484B (zh) * | 2019-12-19 | 2021-09-03 | 南京中孚信息技术有限公司 | 文本相似度检测方法、装置及电子设备 |
CN111339303B (zh) * | 2020-03-06 | 2023-08-22 | 成都晓多科技有限公司 | 一种基于聚类与自动摘要的文本意图归纳方法及装置 |
CN111324737B (zh) * | 2020-03-23 | 2022-04-22 | 中国电子科技集团公司第三十研究所 | 一种基于词袋模型的分布式文本聚类方法、存储介质及计算装置 |
CN111460180B (zh) * | 2020-03-30 | 2024-03-15 | 维沃移动通信有限公司 | 信息显示方法、装置、电子设备及存储介质 |
CN111782601A (zh) * | 2020-06-08 | 2020-10-16 | 北京海泰方圆科技股份有限公司 | 电子文件的处理方法、装置、电子设备及机器可读介质 |
CN112732914A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市网联安瑞网络科技有限公司 | 基于关键词匹配的文本聚类方法、系统、储存介质及终端 |
CN113761196B (zh) * | 2021-07-28 | 2024-02-20 | 北京中科模识科技有限公司 | 文本聚类方法及系统、电子设备和存储介质 |
CN113610405A (zh) * | 2021-08-11 | 2021-11-05 | 国网河北省电力有限公司邢台市环城供电分公司 | 一种基于供电营销大数据建立供电服务风险预警系统和方法 |
CN113673958A (zh) * | 2021-08-23 | 2021-11-19 | 广东电网有限责任公司 | 一种适用于供电所的信息提取分配方法及设备 |
CN113535965A (zh) * | 2021-09-16 | 2021-10-22 | 杭州费尔斯通科技有限公司 | 一种文本大规模分类的方法和系统 |
CN114398968B (zh) * | 2022-01-06 | 2022-09-20 | 北京博瑞彤芸科技股份有限公司 | 基于文件相似度对同类获客文件进行标注的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692240A (zh) * | 2009-08-14 | 2010-04-07 | 北京中献电子技术开发中心 | 一种基于规则的专利摘要自动抽取和关键词标引方法 |
CN102968439A (zh) * | 2012-10-11 | 2013-03-13 | 微梦创科网络科技(中国)有限公司 | 一种推送微博的方法及装置 |
CN103838886A (zh) * | 2014-03-31 | 2014-06-04 | 辽宁四维科技发展有限公司 | 基于代表词知识库的文本内容分类方法 |
CN103902703A (zh) * | 2014-03-31 | 2014-07-02 | 辽宁四维科技发展有限公司 | 基于移动互联网访问的文本内容分类方法 |
CN105095223A (zh) * | 2014-04-25 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 文本分类方法及服务器 |
CN105843818A (zh) * | 2015-01-15 | 2016-08-10 | 富士通株式会社 | 训练设备和训练方法、判断设备、以及推荐设备 |
CN106034152A (zh) * | 2015-03-16 | 2016-10-19 | 联想(北京)有限公司 | 一种数据发送方法及系统 |
CN106886576A (zh) * | 2017-01-22 | 2017-06-23 | 广东广业开元科技有限公司 | 一种基于预分类的短文本关键词提取方法及系统 |
-
2017
- 2017-07-04 CN CN201710537557.2A patent/CN109241274B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692240A (zh) * | 2009-08-14 | 2010-04-07 | 北京中献电子技术开发中心 | 一种基于规则的专利摘要自动抽取和关键词标引方法 |
CN102968439A (zh) * | 2012-10-11 | 2013-03-13 | 微梦创科网络科技(中国)有限公司 | 一种推送微博的方法及装置 |
CN103838886A (zh) * | 2014-03-31 | 2014-06-04 | 辽宁四维科技发展有限公司 | 基于代表词知识库的文本内容分类方法 |
CN103902703A (zh) * | 2014-03-31 | 2014-07-02 | 辽宁四维科技发展有限公司 | 基于移动互联网访问的文本内容分类方法 |
CN105095223A (zh) * | 2014-04-25 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 文本分类方法及服务器 |
CN105843818A (zh) * | 2015-01-15 | 2016-08-10 | 富士通株式会社 | 训练设备和训练方法、判断设备、以及推荐设备 |
CN106034152A (zh) * | 2015-03-16 | 2016-10-19 | 联想(北京)有限公司 | 一种数据发送方法及系统 |
CN106886576A (zh) * | 2017-01-22 | 2017-06-23 | 广东广业开元科技有限公司 | 一种基于预分类的短文本关键词提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109241274A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241274B (zh) | 文本聚类方法及装置 | |
US11544459B2 (en) | Method and apparatus for determining feature words and server | |
CN107229668B (zh) | 一种基于关键词匹配的正文抽取方法 | |
US9654446B2 (en) | On-the fly pattern recognition with configurable bounds | |
RU2628431C1 (ru) | Подбор параметров текстового классификатора на основе семантических признаков | |
CN109635296B (zh) | 新词挖掘方法、装置计算机设备和存储介质 | |
CN105389349B (zh) | 词典更新方法及装置 | |
CN112329836A (zh) | 基于深度学习的文本分类方法、装置、服务器及存储介质 | |
US8892580B2 (en) | Transformation of regular expressions | |
US20150142760A1 (en) | Method and device for deduplicating web page | |
WO2017097231A1 (zh) | 话题处理方法及装置 | |
WO2021227831A1 (zh) | 威胁情报的主题检测方法、装置和计算机存储介质 | |
WO2020215667A1 (zh) | 文本内容快速去重方法、装置、计算机设备及存储介质 | |
CN108710611B (zh) | 一种基于词网络和词向量的短文本主题模型生成方法 | |
CN108763348B (zh) | 一种扩展短文本词特征向量的分类改进方法 | |
CN108197144B (zh) | 一种基于BTM和Single-pass的热点话题发现方法 | |
CN103995876A (zh) | 一种基于卡方统计和smo算法的文本分类方法 | |
CN108647322B (zh) | 基于词网识别大量Web文本信息相似度的方法 | |
CN110909531B (zh) | 信息安全的甄别方法、装置、设备及存储介质 | |
KR20070102035A (ko) | 문서 분류 시스템 및 그 방법 | |
CN111460153A (zh) | 热点话题提取方法、装置、终端设备及存储介质 | |
CN105787121B (zh) | 一种基于多故事线的微博事件摘要提取方法 | |
CN111368529B (zh) | 基于边缘计算的移动终端敏感词识别方法、装置及系统 | |
US8484221B2 (en) | Adaptive routing of documents to searchable indexes | |
CN110399464B (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 |