一种快速计算评论相似度的方法、装置及系统的制作方法

文档序号:6368892阅读:241来源:国知局
专利名称:一种快速计算评论相似度的方法、装置及系统的制作方法
技术领域
本发明属于文本相似度分析技术领域,尤其涉及ー种快速计算评论相似度的方法、装置及系统。
背景技术
在信息网络的互动领域,用户往往希望对所接收到的信息发表评论,由于评论中往往存在部分相似度很高的评论,所以分析评论相似度对于评论的数据分析处理有重要作用,例如有助于精华评论萃取、垃圾评论内容分析等。现有的评论计算方式普遍采用直接使用相似度算法计算任意两个评论之间的相似度,进而计算相似度最高的评论的相似度得分,进而找出相似度较高的评论。然而,该种评论计算方式需要用新评论与历史评论逐一进行比较,计算量较大。如此,一方面导致了服 务器的处理速度比较慢;另ー方面,也増加了对服务器的存储评论内容数据库的访问次数。

发明内容
鉴于现有技术中存在的问题,本发明的目的在于提供ー种快速计算评论相似度的方法、装置及系统,用于针对互联网信息,特别是互联网信息的评论、回复等。针对这类短文本,采用适合短文本的相似度计算方法,可以实现減少对服务器CPU的运算依赖度和对服务器的存储评论内容数据库的访问次数,以此提高服务器的系统处理效能。为了达到上述目的,本发明提供了ー种快速计算评论相似度的方法,其特征在于包括如下步骤SI、提取新评论关键字;S2、为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;S3、计算新评论文本与索引文本间相同关键字的数量;S4、根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;S5、获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本。进ー步,本发明所述的快速计算评论相似度的方法,其特征在于还包括步骤S6,将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。进ー步,本发明所述的快速计算评论相似度的方法,其特征在于步骤SI具体包括如下步骤SI I,将评论原始文本转化为可用处理文本;S12,接着使用分词程序对已处理的评论文本进行分词;S13,根据文本分词结果,抽取句子主干;S14,根据停用词词表进ー步过滤步骤S13所得到特征关键字,最终提取得到有用的新的评论关键字。进ー步,本发明所述的快速计算评论相似度的方法,其特征在于步骤S4的具体过程包括步骤S21,采用采用布尔权重的方法计算特征关键字权重;步骤S22,根据步骤SI获得的各个关键字的权重,采用Dice系数计算文本相似度,以两个文本间相同关键字的个数以及各个关键字的权重来衡量文本间的相似程度。此外,本发明还提供ー种快速计算评论相似度的装置,其特征在于包括如下模块关键字提取ホ吴块,用于提取新评论的关键字;倒排索引模块,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论 文本有相同关键字的文本;相同关键字计算模块,用于计算新评论文本与索引文本间相同关键字的数量;相似度计算模块,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;相似度文本确定模块,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本;索引添加模块,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。此外,本发明还提供ー种快速计算评论相似度的系统,其特征在于包括如下装置:关键字提取装置,用于提取新评论的关键字;倒排索引装置,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;相同关键字计算装置,用于计算新评论文本与索引文本间相同关键字的数量;相似度计算装置,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;相似度文本确定装置,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本;索引添加装置,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。本发明所述的快速分析计算评论相似度的方法、装置及系统可以快速计算短文本相似度,运算程序以空间换时间,減少CPU计算时间,具体而言;I、采用倒排索引方式存储文本特征关键字,增强相似度文本查找速度,不需要文本之间逐一相似度计算,减少计算量;2、保留每个文本相似度计算时的中间计算值,文本相似度计算时直接使用,不需要多次计算。


图I是本发明所述的快速计算评论相似度的方法的流程图2是本发明所述的快速计算评论相似度的装置的框图;图3是本发明所述的快速计算评论相似度的系统的框图。
具体实施例方式为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施例对本发明作进ー步详细的说明图I是本发明所述的快速计算评论相似度的方法的流程图。如图I所示,本发明方法具体执行过程如下SI、提取新评论关键字;具体提取过程如下步骤S11,将评论原始文本转化为可用处理文本,如去掉内部标签、表情等信息;转化程序可以使用自身程序来进行文本处理,例如,对于对于微博这类短文本,可以将短文本中的内部标签、新浪微博标签去掉,在转发中出现的人名“//ぎ’,话题标答“##”等都去掉,仅抽取评论的自身内容,此外,也通过在数据库中存储"[]"如[赞]等表情标签,可以将短文本中的表情标签信息去掉步骤S12,接着使用分词程序对已处理的评论文本进行分词;该过程可以使用自身程序实现,也可以使用第三方中文分词程序,词典从互联网上抓取,从而可以不断丰富了本地分词词库;分词算法采用最大逆向匹配原则,根据词典中的词对文本进行分词。步骤S13,根据文本分词结果,抽取名词、动词等句子主干;抽取名词、动词、形容词等是根据程序进行词性标注得来的,使用外部程序完成。比如“黄晓明哈哈剧情发展”标记后得“黄晓明/nh哈哈/o剧情/n发展/V”。如果对于一些复杂句子结构,有可能出现标记错误情況,导致抽取会出现错误。根据测试词性标注的准确率会在95%以上,存在少部分错误可能影响最后相似度得分,但由于高准确率得分范围变化不会太大。所以能够比较准确地抽取到句子主干。步骤S14,最后根据停用词词表进ー步过滤步骤S13所得到特征关键字,最终提取得到有用的新的评论关键字。停用词词表中的词,表不这些词对文本意思的影响不大,可以忽略。停用词词表部分来源于互联网,少部分使用统计方法得出,比如统计大規模评论中发现后“沙发”这个关键字得分非常低,可以加入停用词词表。此外,更多的停用词,例如似乎、的、当然等等。S2、为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;对每个关键字建立ー个索引,索引文本为需要做相似度分析的文本。倒排索引的目的以便于快速查找文本及文本信息;排索引是搜索引擎中使用的一种技术方法。倒排索引实质是根据文本中的关键词建立一个查找机制,来查找文本的ー种方法。这种索引表中的每ー项都包括ー个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件。本发明建立倒排索引具体过程如下
定义两张表a和b ;其中,表a的每一行存储评论的文本、抽取的特征关键字信息、以及ー个代表文本的卩隹ー id号;表b是姆一行存储关键字及ー组id序列。根据表a的文本所生成关键字对应ー个文本的id序列。表b生成规则是遍历表a中所有文本,对每ー个文本中出现的关键字,将id号添加到表b关键字对应的id序列中,如果没有该关键字则加入一组新的关键字。倒排索引使用过程,例如,找出含有关键字“你好”的文档,可以根据表b快速定位到关键字“你好”,并获取到对应的id序列,根据id查找表a中id对应的文档。S3、计算新评论文本与索引文本间相同关键字的数量;具体过程如下根据S2步骤中新评论文本与其他所有文本中包含相同的关键字的索引文本, 算新评论文本与所有文本的关键字个数,由于S2步骤已经找出了与新文本有相同关键字的文本,所以本步骤中“所有文本”是ー个被简化的区间,所得到的结果为文本间相同关键字的个数,这个关键字个数就是下面相似度计算公式Dice方法中comm(sl, s2)值。统计各文本与新文本之间相同特征的信息,这一信息可以是关键字,本发明的文本特征只使用文本中的关键字来表示,所以计算相似度的时候只使用Si步骤中抽取出来的特征关键字,其他的方法可能出现ー些信息,如文本长度、符号信息等也算是文本特征,也可以作为对文本进行分析的特征信息。评论特征信息指公式中Ieng (s2)这个值,这个值表示使用特种关键字计算的ー个文本信息值,如本发明中使用Dice方法计算文本相似度,那么该值为文本中特征关键字的个数即可。这个值可以保存在S2的表a中,以方便与其他文本进行相似度时使用。S4、根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;该步骤的具体实现过程如下步骤S41,采用采用布尔权重的方法计算特征关键字权重;由于评论内容为短文本,文本包含的特征词数量较少,所以采用布尔权重的方法计算特征权重;常用的特征权重方法有布尔权重、词频(tf)权重、tf-idf权重。根据实验表明如果使用tf-idf方法计算特征权重,会相对增加计算量,且计算相似度的效果没有明显变化,所以采用布尔权重的方法计算特征权重。步骤S42,根据步骤S41获得的各个关键字的权重,采用Dice系数计算文本相似度,以两个文本间相同关键字的个数以及各个关键字的权重来衡量文本间的相似程度;Dice系数计算公式为Dice (si, s2) = 2Xcomm(sl, s2)/(leng(si)+Ieng(s2))其中,comm(sl, s2)是si、s2中相同字符的个数,leng(sl), leng(s2)是字符串sl、s2的长度。举例说明如下,例如已经经过提取关键字处理之后的句子为新文本Cl :电影黄晓明扮演小明;已有索引文本包括索引文本C2 :电影黄晓明演技索引文本C3 :赵薇扮演小薇索引文本C4:小薇女孩首先,根据“电影”、“黄晓明”,“扮演”,“小明”等关键字找出倒排索引中对应文档C2和C3(C2、C3、C4已经加入倒排索引)。然后,计算Cl与C2、C1与C3关键字相同的个数,即公式中的comm(sl,s2)。最后,使用Dice相似度计算公式,计算Cl与C2的相似度,Cl与C3的相似度。S5、获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本。最终得到相似度的ー个分数,该分数在0-1之间,I表示文本内容最相近,O表示最不相近;得到新评论相似度得分的目的是判断该新的评论是否是抄袭,也可以基于此确定被引用次数最多的评论为精华评论,从而降低抄袭评论的精华评论得分。S6、将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。本发明技术方案可以在ー単独装置中实现,由此也可以获得一种能够完成此技术 方案的实体装置,图2是本发明所述的快速计算评论相似度的装置的框图;具体包括如下模块关键字提取模块,用于提取新评论的关键字;具体工作过程与方法步骤SI的具体过程相同。倒排索引模块,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;具体工作过程与方法步骤S2的具体过程相同。相同关键字计算模块,用于计算新评论文本与索引文本间相同关键字的数量;具体工作过程与方法步骤S3的具体过程相同。相似度计算模块,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;具体工作过程与方法步骤S4的具体过程相同。相似度文本确定模块,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本;具体工作过程与方法步骤S5的具体过程相同。索引添加模块,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。此外,本发明也可以通过分离的各个装置来协同完成,由此可以获得ー种能够完成此技术方案的系统,图3是本发明所述的快速计算评论相似度的系统的框图,具体包括如下装置关键字提取装置,用于提取新评论的关键字;具体工作过程与方法步骤SI的具体过程相同。倒排索引装置,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;具体工作过程与方法步骤S2的具体过程相同。相同关键字计算装置,用于计算新评论文本与索引文本间相同关键字的数量;具体工作过程与方法步骤S3的具体过程相同。相似度计算装置,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;具体工作过程与方法步骤S4的具体过程相同。相似度文本确定装置,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本;具体工作过程与方法步骤S5的具体过程相同。索引添加装置,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。
综上所述,本发明的快速计算评论相似度的方法、装置及系统,由于评论内容为短文本,文本包含的特征词数量较少,所以采用布尔权重的方法计算特征权重,采用Dice系数计算两个字符串的相似度,对相似度计算复杂做出优化,其具有以下优点可以快速计算短文本相似度,运算程序以空间换时间,減少CPU计算时间。采用倒排索引方式存储文本特征关键字,增强相似度文本查找速度,不需要文本之间逐一相似度计算,減少计算量。以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如调整接ロ 调用顺序、改变消息格式和内容、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。
权利要求
1.ー种快速计算评论相似度的方法,其特征在于包括如下步骤 51、提取新评论关键字; 52、为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本; 53、计算新评论文本与索引文本间相同关键字的数量; 54、根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度; 55、获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本。
2.根据权利要求I所述的快速计算评论相似度的方法,其特征在于还包括步骤S6,将新评论文本加入索引,生产新索引,进而当计算下一条评论时,所有已知评论都要加入倒排索引中。
3.根据权利要求I或2所述的快速计算评论相似度的方法,其特征在于步骤SI具体包括如下步骤 SI I,将评论原始文本转化为可用处理文本; S12,接着使用分词程序对已处理的评论文本进行分词; S13,根据文本分词结果,抽取句子主干; S14,根据停用词词表进ー步过滤步骤S13所得到特征关键字,最终提取得到有用的新的评论关键字。
4.根据权利要求I或2所述的快速计算评论相似度的方法,其特征在于步骤S4的具体过程包括 S21,采用采用布尔权重的方法计算特征关键字权重; S22,根据步骤SI获得的各个关键字的权重,采用Dice系数计算文本相似度,以两个文本间相同关键字的个数以及各个关键字的权重来衡量文本间的相似程度。
5.ー种快速计算评论相似度的装置,其特征在于包括如下模块 关键字提取ホ吴块,用于提取新评论的关键字; 倒排索引模块,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本; 相同关键字计算模块,用于计算新评论文本与索引文本间相同关键字的数量; 相似度计算模块,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度; 相似度文本确定模块,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本; 索引添加模块,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论吋,所有已知评论都要加入倒排索引中。
6.ー种快速计算评论相似度的系统,其特征在于包括如下装置 关键字提取装置,用于提取新评论的关键字; 倒排索引装置,用于为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本; 相同关键字计算装置,用于计算新评论文本与索引文本间相同关键字的数量;相似度计算装置,用于根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度; 相似度文本确定装置,用于获取新文本最高相似度得分,从而找出与新评论文本中最相似的文 本; 索引添加装置,用于将新评论文本加入索引,生产新索引,进而当计算下一条评论吋,所有已知评论都要加入倒排索引中。
全文摘要
一种快速计算评论相似度的方法、装置及系统,其首先提取新评论关键字;然后,为提取的每个关键字查倒排索引及文本信息,找出与新评论文本有相同关键字的文本;进而计算新评论文本与索引文本间相同关键字的数量;并根据新评论文本与索引文本间相同关键字的数量计算新文本与索引中文本的相似度;最终获取新文本最高相似度得分,从而找出与新评论文本中最相似的文本。本发明尤其适合针对影视评论这类短文本内容的相似度分析,可以快速计算短文本相似度,运算程序以空间换时间,减少CPU计算时间。
文档编号G06F17/30GK102693279SQ201210132078
公开日2012年9月26日 申请日期2012年4月28日 优先权日2012年4月28日
发明者卢述奇, 姚键, 张宇峰, 潘柏宇, 陈学文 申请人:合一网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1