一种针对海量相似短文本的聚类方法和系统的制作方法

文档序号:6425430阅读:183来源:国知局
专利名称:一种针对海量相似短文本的聚类方法和系统的制作方法
技术领域
信息技术
背景技术
在信息化已经成为世界发展趋势的背景下,互联网有着应用极为广泛、发展规模最大、非常贴近人们生活等众多特点。一方面,互联网创造了巨大的经济效益和社会效益, 使得人们可以接受到即时的、最新的消息;但同时随着网络的普及、网上的信息量越来越大,不仅对计算机对这些海量信息的获取、存储及实时分析处理能力提出了严峻的挑战,也给人们在搜索信息时准确性和可靠性带来了一定的难度;另一方面,互联网也带来了一些负面影响,如色情、反动等不良信息在网络上大量传播。垃圾邮件等不正当行为的泛滥,利用网络传播电影、音乐、软件等侵犯版权的行为,甚至通过网络方式诈骗用户,以及出现网络暴力等问题。因此,在建设信息化社会的过程中,提高信息内容安全保障水平及对互联网中各种不良信息的检测能力,是网络信息技术中的重要一环,也是顺利建设信息化社会的坚实基础。伴随着三网融合的进程,下一代互联网中文本形式变得多样化,普通网页所占比例越来越小。微博、WAP、评论、短信等内容比例会逐渐提高。同普通网页类似,这类文本中也存在大量的相同或极为相似的内容。例如[1]北京办证办毕业证身份证刻章QQ731787311[2]北京办,证办毕业,证身份,证刻,章QQ7317@87@311[3]祝福短信我来发,光棍开怀笑哈哈。节日不分大和小,快乐潇洒真热闹。万事都随风刮掉,如意才会无烦恼![4] <祝福 > 短信我来发,< 光棍 > 开怀笑哈哈。〈节日〉不分大和小,< 快乐 > 潇洒真热闹。〈万事〉都随风刮掉,< 如意 > 才会无烦恼![5]瑞雪飘,寒梅俏,金牛哞哞报春早。锣鼓敲,爆竹闹,神州处处有欢笑。交情牢, 赶个巧,今儿巴巴送福到。身体好,财神找,牛运鼎鼎莫忘交!——张三敬上[6]瑞雪飘,寒梅俏,金牛哞哞报春早。锣鼓敲,爆竹闹,神州处处有欢笑。交情牢, 赶个巧,今儿巴巴送福到。身体好,财神找,牛运鼎鼎莫忘交!——李四敬上例1和例2比较发现,短信里插入了不当的标点符号和特殊符号,这是发送广告短信的不法商贩为了躲避运营商的广告过滤。例3和例4比较发现,发送短信者在转发过程中把要强调的关键词括了起来。例5和例6比较发现,短信的主体内容是相同的,不同的转发者在最后分别署上自己的名字。虽然这种类型短信的内容有所更改,但其主体部分还是一样的。还有一类是手机用户就同一话题或类似话题创作的短信。如节日祝福短信或就某一个公众事件交流的短信等。这类短信都是原创短信,虽然表达方式各异,但因为内容是同一话题,所以有很大的相似性。
发明内容
1、本发明所要解决的技术问题(发明目的)短文本语料的冗余现象特别严重在手机短信中冗余主要来自垃圾短信的大量群发,搞笑短信和祝福短信的大量群发和转发,以及常用日常用语的大量涌现;在BBS语料或新闻评论语料中,冗余主要来自于热点帖子的大量转帖和大量回复;即时消息中幽默消息、 祝福消息、日常用语等非常频繁,导致大量消息冗余。微软曾经统计了由1.5亿个网页构成的互联网语料,发现6%的网页是完全重复的。由此可以看出短文本完全重复的比例远远高于互联网语料的重复比例。另外,短文本语料中除了内容完全相同的冗余短信外,还有数量更为庞大的短文本内容是近似相同的,这些短文本明显是谈论同一个事件,而且明显是以几乎完全相同的方式谈论,只是标点符号有细微差别,或者短信开始或结尾添加了几个字符。而微软从互联网语料统计出来的近似冗余比例为29. 2%,因此短文本语料的近似冗余比例大大高于互联网语料的近似冗余比例。完全冗余短文本和近似冗余短文本的存在会造成硬盘空间的浪费.检测并去除冗余短文本能够大大降低系统处理规模。检测并去除冗余短文本还可以一定程度上发现热点短文本,辅助发现社会热点。传统的重复文本检测算法大多用于解决检测两个文本是否完全重复,不能解决 1. 1中的相似短文本的重复检测问题。传统的重复文本分析方法不适用于短文本的重复分析,传统的文本相关性分析方法主要采用向量空间模型或概率模型。在向量空间模型中,用文本中的字或者词作为特征表示文本,用特征向量之间的相似度来度量文本的相关性。但短信、微博这类文本的长度过短,这会导致特征向量过于稀疏,计算相似性的结果无法满足相似性分析的要求,其结果在语义层面更是无法使人接受。在概率模型中,同样会存在类似的问题。若使用短信这种过短的文本,大部分特征都会是概率平滑的结果,不能反映真实数据的信息。因此计算结果无法令人满意,也不能解决相似短文本的重复检测问题。本文采用基于文本内容主干的重复分析方法,并结合相关词群,较好的解决了这一问题。2、本发明提供的完整技术方案(发明方案)2. 1基于短文本内容主干的重复分析方法本算法根据文本内容主干的一致性来去除高度相似的文本。不论是概率模型还是向量空间模型,其相关性分析的方法都是基于文本中的词频之上的。同时,如果两个短文本 (例如短信、微博)如果相似,那么文本中必然出现大量相同或语义近似的词。因此我们采用提取文本内容主干的方法进行短信样本的相关性分析。该方案包括如下几步1)预处理该步骤用于提高文本质量。包括如下步骤a)文本过滤(去掉长度过短且没有信息量的文本)b)文本修剪(去掉文本中的起干扰作用的前后缀和特殊符号)c)文本编码转换d)文本内容归一化(繁简体统一、大小写字母统一、全角半角符号统一、各种形式编号的统一等)2)分词该步骤讲完整的文本内容切分成带有词性的字或者单词。
3)提取文本主干该步骤只提取动词、名词、数词,其它词性的单词丢弃不用。然后将语义相同的同义词、近义词替换为同一个词(语义归一化)。4)相似性计算经提取主干后,我们假设相同词数越多(单词顺序不变)的文本,其相似性越强。因此该步骤将文本主干放入HASH表中,根据映射关系把文本分为相关和不相关两种。5)相似文本聚类该步骤将相关文档归为一类,从而形成多个“相关文本”的类别。并选出词频(关键词重复率)最高的关键词代表该类别。


图1 强相关重复文本检测算法流程2 分布式处理方案架构3 短文本数据时序同步4:服务器端部署5 每个处理节点的文本处理流程图
具体实施例方式为了处理海量网络数据,必须以分布式的方式部署上述方案。每个分布式处理节点从短文本数据源获取数据,提取短文本主干后,与HASH数据库服务器通信,在HASH数据库中查找该短文本主干,从而确定该短文本是否重复过,如果重复,则在本地TokyoCabinet HASH表中更新该类短文本的数量,处理结果传输到后续进程做进一步处理。同时为提高处理速度,在每个处理节点上采用BUFFER_DEQUE和DB_DEQUE两个缓存结构对HASH服务器中的重复文本类别信息做二级缓存。1、该架构需要说明之处1)处理节点设置缓存的原因为保证哈希服务器较高的读取性能,将哈希数据库中的数据量限制在一定范围内 (亿级别以下)十分重要,所以在每个处理节点设置缓存。另一方面,每删除一条记录时都会锁住数据库文件,其他请求必须等待。因此不能采用“集中删除策略”或者“批量删除策略”。每个处理节点负责从哈希服务器数据库中删除自己处理过的记录,这样能把删除操作分散开来,不会导致长时间的等待(数据库操作应答时延)。另外,短文本在缓存中按照时间顺序排列,这样在删除“过时”的短文本记录时,能够以0(1)时间复杂度找到待删除的短文本类。2)设置两级缓存的原因最终应用关心的往往是时间敏感的事件,因此,在一个短时间内(简称为“小周期”)没有发现重复的短文本类视为不关心的短文本。这类短文本往往占绝大部分,例如我们日常生活中发送的短信。即使短时间内发现重复的短文本类,当发生了一段时间(简称为“大周期”)之后也会成为“过时”的短文本类,也视为不关心的短文本。例如现在再谈金融危机就已经没有眉、了 ο为了尽量减少哈希数据库中存储的记录数量,我们按照上述原因区分对待短文本类记录。缓存结构BUffer_DeqUe中存储“小周期”内的所有短文本记录,包括重复的和不重复的。缓存结构DB_DeqUe用于存储“大周期”内的重复短文本。在处理短文本流的过程中,我们将超出小周期而且没有发现重复的短文本记录及时从哈希服务器和缓存结构BUffer_DeqUe中删除。将超出小周期但已经发现重复的短文本记录转存入缓存结构DB_DeqUe ;超过大周期的短文本类记录应及时从缓存结构DB_ Deque和HASH数据库中删除。3)双缓存、哈希数据库之间的数据同步关系缓存结构BUffer_DeqUe和哈希数据库之间同步“小周期”内的所有短文本记录。 缓存结构DB_DeqUe和哈希数据库之间同步“大周期”内的重复短文本记录。4)使用处理节点的TokyoCabinet HASH表做短文本计数的原因在哈希数据库中统一记录某个短文本类内短文本的数量(简称集中计数)看似更简单些,而其也不会出现计数出错的问题。但这样也存在如下的问题A、计数结果需要周期性的写入分析结果数据库(Oracle数据库等),这时需要较长时间的锁住数据库表和HASH数据库,该期间各处理节点不能访问HASH数据库以返回相似性重复检测的结果,同时Oracle数据库的瞬时压力也比较大。B、对每个短文本数超过3的短文本类,集中计数会增加一次数据库写操作。这样会增加哈希服务器的压力。采用分布式的短文本计数能够避免上述问题。这是因为减少了对HASH数据库的访问量,同时采用分散的方式向数据库写数据减小了数据库的瞬时压力。2、该架构中涉及的数据存储1) HASH数据库安装在HASH数据库服务器上,负责存储重复短文本的主干。2)每个处理节点中安装TokyoCabinet,负责存储短文本类计数信息。3)缓存结构Buffer_Deque用于存储小周期内的所有短文本。缓存结构Buffer_ Deque 包括 buffer_queue 禾口 buffer_inde 两个哈希结构。采用双哈希的原因在于,buffer_queue中以短文本主干为键,可以迅速查询某短文本类是否已存在。bufferjndex以短文本发送时间为键,可以迅速得知哪些短文本类超出了 “小周期”。所以buffer_queue和buffer_index中的短文本类需要同步。4)DB_Deque用于存储大周期内发现重复的所有短文本类。DB_DeqUe队列中的短文本类按照时间顺序升序排列。这样每次按照时间阈值删除数据只需从队头读取即可。3、HASH服务器端结构在HASH服务器端,请求按照接受到的时间先后按顺序处理。HASH服务器端主要三部分,主线程、全局队列和工作线程组。主线程通过网络接口侦听请求连接,然后将得到的请求放到一个全局的队列中,然后工作线程从队列头取出请求,到HASH数据库中查询,并将查询结果返回给用户。
权利要求
1.对海量相似短文本的基于内容主干的重复检测方法,包括对文本进行预处理,将完整的文本内容切分成带有词性的字或者单词,对文本提取主干,只提取文本中的动词、 名词、数词,其它词性的单词丢弃不用,然后将语义相同的同义词、近义词替换为同一个词 (语义归一化),对文本进行相似性计算,经提取主干后,我们假设相同词数越多(单词顺序不变)的文本,其相似性越强,将相关文档归为一类,从而形成多个“相关文本”的类别。并选出词频(关键词重复率)最高的若干个关键词代表该类别。
2.如权利要求1所述的对海量相似短文本的基于内容主干的重复检测方法,其特征在于对文本进行预处理时对文本的进行过滤和修剪,即去掉长度过短且没有信息量的文本和文本中的起干扰作用的前后缀和特殊符号。
3.如权利要求1所述的对海量相似短文本的基于内容主干的重复检测方法,其特征在于对文本进行预处理时对文本进行编码转换,并对对文本内容归一化,即繁简体统一、大小写字母统一、全角半角符号统一、各种形式编号的统一等。
4.如权利要求1所述的对海量相似短文本的基于内容主干的重复检测方法,其特征在于对文本进行预处理时对文本进行相似性计算过程中将文本主干放入HASH表中,根据映射关系把文本分为相关和不相关两种。
5.对海量相似短文本的包含重复检测和重复程度统计功能的分布式架构,包括每个分布式处理节点从短文本数据源获取数据,提取短文本主干,与HASH数据库服务器通信, 在HASH数据库中查找该短文本主干,从而确定该短文本是否重复过,如果重复,则在本地 TokyoCabinet中更新该类短文本的数量,处理结果传输到后续进程做进一步处理。
6.如权利要求5所述的对海量相似短文本的包含重复检测和重复程度统计功能的分布式架构,其特征在于对每个分布式处理节点从短文本数据源获取数据,提取短文本主干时在每个处理节点上采用BUFFER_DEQUE和DB_DEQUE对hash服务器中的重复文本类别信息做二级缓存。
全文摘要
一种针对海量相似短文本的聚类方法和系统是属于信息技术科学领域内的一项针对重复短文本检测的研究。因为短文本有着它自身的特点,所以传统的重复文本分析方法应用到短文本上的计算结果无法令人满意。而本发明采用基于短文本内容主干的重复分析方法,并结合相关词群,除能检测出完全重复的文本外,还可以检测出相似性极高的文本,而且处理速度快,效率高,可以较好的处理海量数据。采用本发明的方法可以去除冗余短文本,能够大大降低系统处理规模,并且还可以在一定程度上发现热点短文本,辅助发现社会热点。
文档编号G06F17/30GK102184256SQ201110147340
公开日2011年9月14日 申请日期2011年6月2日 优先权日2011年6月2日
发明者白俊良, 陈 光 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1