一种相似文本检测装置和方法

文档序号:6517749阅读:186来源:国知局
一种相似文本检测装置和方法
【专利摘要】本发明公开了一种相似文本检测装置和方法,用于识别相似文本,该装置包括:中文文本获取单元,适于对文本进行文本处理以获取中文文本;拼音文本获取单元,适于将获取的中文文本中的汉字转为拼音得到拼音文本;指纹获取单元,适于提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量;检测单元,适于根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。使用本发明的装置和方法,可以由待检测的文本得到中文文本、进而得到拼音文本、形成拼音文本的特征向量,以及根据特征向量判断待检测的文本是否与一个数据库中的记录匹配,达到降低运算量、准确识别相似文本的变种的有益效果。
【专利说明】一种相似文本检测装置和方法
【技术领域】
[0001]本发明涉及计算机领域,具体涉及一种相似文本检测装置和方法。
【背景技术】
[0002]随着问答社区等网络应用的兴起,网络上出现了大量的文本,比如用户的提问和回答,然而大量的广告信息充斥在网络应用中,给用户查找信息带来了诸多不便,同时也降低了网络应用的质量。为了解决这个问题,文本相似度计算的研究工作逐渐开展起来,以期望能够通过计算文本相似度找出广告等垃圾信息。
[0003]—种相似文本检测方法为:首先提取文本的特征(例如对文本进行分词,提取实体词)并使用各种技术对特征进行扩展(例如使用同义词词林,近义词词典等知识库进行词汇扩展),并使用VSM模型来描述文本(例如使用VSM模型将一篇文本表示为一个向量),然后使用聚类方法对文本进行聚类(例如对于两篇文本,经过向量化表示后,计算两个向量的余弦夹角用于表征两篇文本的相似性,如果相似度大于一定阈值,则认为两篇文本是相似的),被聚到一起的文本是相似的。
[0004]然而,在网络应用中,存在着大量的相似文本的变种,如使用繁体字、适用拼音代替文字、用同音字代替原字、加入大量无意义的干扰字符,等等,上述技术存在以下缺点:(一)分词结果存在误差;(二)同音不同字的文本无法判断为相似;(三)无法将经过拼音化处理的两篇文本识别为相似文本;(四)对文本的计算复杂度太高(例如,将文本表示为向量,需要较大的运算量),无法满足当前大数据量情况下的运算实时性要求。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种相似文本检测装置和相应的一种相似文本检测方法。
[0006]依据本发明的一个方面,提供了 一种相似文本检测装置,其中,该装置包括:
[0007]中文文本获取单元,适于对文本进行文本处理以获取中文文本;
[0008]拼音文本获取单元,适于将获取的中文文本中的汉字转为拼音得到拼音文本;
[0009]指纹获取单元,适于提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量;
[0010]检测单元,适于根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。
[0011]可选地,所述检测单元,适于对所述特征向量中的每个特征,检测数据库中是否多次出现该特征;所述检测单元,适于判断所述特征向量中的在数据库中多次出现的特征占该特征向量的全部特征的比例是否达到第一阈值,是则确定所述待检测的文本与数据库中的记录匹配,否则不匹配。
[0012]可选地,所述检测单元,适于对所述特征向量中的每个特征,从数据库中查找是否存在该特征,如果存在,则进一步查看该特征的权值,如果该特征的权值大于或等于第二阈值,则数据库中多次出现该特征。
[0013]可选地,该装置进一步包括数据库更新单元,所述数据库更新单元,适于在确定所述待检测的文本与数据库中的记录匹配时,对于所述特征向量中的每个特征,如果检测到数据库中存在该特征,则将数据库中该特征的权值加I。
[0014]可选地,所述检测单元,适于在对于所述特征向量中的每个特征,检测数据库中是否存在该特征之前,判断所述特征向量中的特征的数目是否小于第三阈值,是则所述待检测的文本与数据库中的记录不匹配并结束判断操作,否则对于所述特征向量中的每个特征,检测数据库中是否多次出现该特征。
[0015]可选地,所述中文文本获取单元,适于对文本进行数据清洗操作,将文本中的内容转换为规则字符;将拼音转化为汉字;以及保留常用的汉字。
[0016]可选地,所述中文文本获取单元,适于识别并丢弃HTML标记,将繁体字转换为简体字,将全角字符转换为半角字符,将大写英文字母转换为小写英文字母,以及识别并丢弃url,以将文本中的内容转换为规则字符;所述中文文本获取单元,适于使用双向最大匹配算法将文本中的拼音转换为汉字,如果一个拼音对应多个汉字,则从对应的多个汉字中任选一个,以将文本中的拼音转化为汉字;所述中文文本获取单元,适于使用GBK编码表中的常用汉字对文本进行过滤,丢弃所有不属于常用汉字的字符,以保留常用的汉字。
[0017]可选地,所述拼音文本获取单元,适于使用拼音汉字对照表,将每个汉字转换为对应的拼音串,以得到拼音文本。
[0018]可选地,所述指纹获取单元,适于以单个汉字为切分粒度提取所述拼音文本的特征,并使用向量空间模型将提取的特征形成所述拼音文本的特征向量。
[0019]根据本发明的另一方面,提供了一种相似文本检测方法,其中,该方法包括如下步骤:
[0020]对待检测的文本进行文本处理以获取中文文本;
[0021]将获取的中文文本中的汉字转为拼音得到拼音文本;
[0022]提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量;
[0023]根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。
[0024]可选地,所述判断待检测的文本是否与数据库中的记录匹配包括:对所述特征向量中的每个特征,检测数据库中是否多次出现该特征;判断所述特征向量中的在数据库中多次出现的特征占该特征向量的全部特征的比例是否达到第一阈值,是则确定所述待检测的文本与数据库中的记录匹配,否则不匹配。
[0025]可选地,所述检测数据库中是否多次出现该特征包括:从数据库中查找是否存在该特征,如果存在,则进一步查看该特征的权值,如果该特征的权值大于或等于第二阈值,则数据库中多次出现该特征。
[0026]可选地,在确定所述待检测的文本与数据库中的记录匹配时,该方法进一步包括:对于所述特征向量中的每个特征,如果检测到数据库中存在该特征,则该将数据库中该特征的权值加I。
[0027]可选地,在对于所述特征向量中的每个特征,检测数据库中是否存在该特征之前,所述判断待检测的文本是否与数据库中的记录匹配进一步包括:判断所述特征向量中的特征的数目是否小于第三阈值,是则所述待检测的文本与数据库中的记录不匹配并结束判断操作,否则对于所述特征向量中的每个特征,检测数据库中是否多次出现该特征。
[0028]可选地,所述对文本进行文本处理以获取中文文本,具体包括:对文本进行数据清洗操作,将文本中的内容转换为规则字符;将拼音转化为汉字;保留常用的汉字。
[0029]可选地,所述对文本进行数据清洗操作,具体包括:识别并丢弃HTML标记,将繁体字转换为简体字,将全角字符转换为半角字符,将大写英文字母转换为小写英文字母,以及识别并丢弃url ;所述将文本中的拼音转化为汉字,具体包括:使用双向最大匹配算法将文本中的拼音转换为汉字,如果一个拼音对应多个汉字,则从对应的多个汉字中任选一个;所述保留常用的汉字,具体包括:使用GBK编码表中的常用汉字对文本进行过滤,丢弃所有不属于常用汉字的字符。
[0030]可选地,所述将获取的中文文本中的汉字转为拼音得到拼音文本,具体包括:使用拼音汉字对照表,将每个汉字转换为对应的拼音串,得到拼音文本。
[0031]可选地,所述提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量,具体包括:以单个汉字为切分粒度提取所述拼音文本的特征,并使用向量空间模型将提取的特征形成所述拼音文本的特征向量。
[0032]根据本发明的相似文本检测装置和方法,可以由待检测的文本得到中文文本、进而得到拼音文本、形成所述拼音文本的特征向量,以及根据所述特征向量判断待检测的文本是否与一个数据库中的记录匹配,解决了【背景技术】运算量大、不能有效识别相似文本的变种的问题,取得了降低运算量、准确识别相似文本的变种的有益效果。
[0033]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0035]图1示出了根据本发明一个实施例的相似文本检测方法的流程图;
[0036]图2示出了如图1所示的步骤S100、步骤S200和步骤S300的详细的流程图;
[0037]图3示出了如图1所示的步骤S400的详细的流程图;
[0038]图4示出了根据本发明第一实施例的相似文本检测装置的框图;以及
[0039]图5示出了根据本发明第二实施例的相似文本检测装置的框图。
【具体实施方式】
[0040]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0041]图1示出了根据本发明一个实施例的相似文本检测方法的流程图。图2示出了图1中步骤S100、步骤S200和步骤S300的详细的流程图。该方法包括以下的步骤S100、S200、S300 和 S400。
[0042]S100、对待检测的文本进行文本处理以获取中文文本。
[0043]通过由待检测的文本获取中文文本,可以消除包括有无意义的干扰字符、繁体字等相似文本的变种对本实施例相似文本检测方法的影响。
[0044]S200、将获取的中文文本中的汉字转为拼音得到拼音文本。
[0045]通过将中文文本中的汉字统一转化为拼音,可以消除用拼音代替文字、用同音字代替原字等相似文本的变种对本实施例相似文本检测方法的影响。
[0046]S300、提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量。
[0047]本实施例中,可以采用N元语言模型(N-gram)提起拼音文本的特征向量,基于步骤SlOO获取的中文文本中的汉字粒度,对步骤S200获取的拼音文本提取N-gram特征SHINGLE^ SHINGLE^…SHINGLEm。例如,如果步骤SlOO获取的中文文本为“我爱北京天安门”,汉字粒度为“我”、“爱”、“北”、“京”、“天”,“安”,“门”,步骤S200获取的拼音文本为“wo ai bei jing tian an 111611”,那么拼音串被切分为“¥0”、“&;[”、%6;[”、“」;[1^”、“1:1&11”、“an”、“men”,如果令 N=6 则步骤 S300 中,获取的 N-gram 特征 SHINGLei 为“wo ai bei jingtian an”、SHINGLe2 为“ai bei jing tian an men”,依次类推。并使用向量空间模型(VSM,Vector Space Model)形成特征向量 DMSHINGLEi, SHINGLE2,…,SHINGLEJ。
[0048]S400、根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。
[0049]本实施例中,对 每一个特征,会检测在一个预设的数据库中是否多次出现该特征。检测了一个特征向量中的所有特征之后,判断特征向量中的在数据库中多次出现的特征占特征向量的全部特征的比例,从而判断待检测的文本与数据库中的记录是否匹配。本实施例中预设的数据库使用Redis数据库,可以是通过对海量的网络文本(例如抓取收集的网络广告等垃圾信息)进行分析得到海量的特征,并统计得到的各个特征的数目而得到权值,令特征(Shingle)和权值(Value)构成数据库。
[0050]图2示出了图1中步骤S100、步骤S200和步骤S300的详细的流程图。步骤SlOO具体包括:
[0051]S110、对文本进行数据清洗操作,将文本中的内容转换为规则字符。
[0052]其中,对文本进行数据清洗操作,具体包括:识别并丢弃HTML标记,将繁体字转换为简体字,将全角字符转换为半角字符,将大写英文字母转换为小写英文字母,以及识别并丢弃url。
[0053]S120、将拼音转化为汉字。
[0054]其中,将文本中的拼音转化为汉字,具体包括:使用双向最大匹配算法将文本中的拼音转换为汉字,如果一个拼音对应多个汉字,则从对应的多个汉字中任选一个。
[0055]S130、保留常用的汉字。
[0056]其中,保留常用的汉字,具体包括:使用GBK编码表中的常用汉字对文本进行过滤,丢弃所有不属于常用汉字的字符,即只保留汉字GBK编码在OxBOAO~0xF7FE中的汉字。
[0057]步骤S200具体包括:使用拼音汉字对照表,将每个汉字转换为对应的拼音串,得到拼音文本。
[0058]通过步骤SlOO由待检测的文本获取中文文本,以及通过步骤S200将获取的中文文本中的汉字转为拼音得到拼音文本,可以将相似文本的不同变种,识别为相同的拼音文本。例如将如表1所示的文本和三种变种,通过步骤SlOO和S200得到相同的拼音文本。
[0059]表1文本及三种变种
[0060]
【权利要求】
1.一种相似文本检测装置,其中,该装置包括: 中文文本获取单元,适于对文本进行文本处理以获取中文文本; 拼音文本获取单元,适于将获取的中文文本中的汉字转为拼音得到拼音文本; 指纹获取单元,适于提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量; 检测单元,适于根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。
2.根据权利要求1所述的装置,其中, 所述检测单元,适于对所述特征向量中的每个特征,检测数据库中是否多次出现该特征; 所述检测单元,适于判断所述特征向量中的在数据库中多次出现的特征占该特征向量的全部特征的比例是否达到第一阈值,是则确定所述待检测的文本与数据库中的记录匹配,否则不匹配。
3.根据权利要求1或2所述的装置,其中, 所述检测单元,适于 对所述特征向量中的每个特征,从数据库中查找是否存在该特征,如果存在,则进一步查看该特征的权值,如果该特征的权值大于或等于第二阈值,则数据库中多次出现该特征。
4.根据权利要求1-3任一项所述的装置,其中,该装置进一步包括数据库更新单元, 所述数据库更新单元,适于在确定所述待检测的文本与数据库中的记录匹配时,对于所述特征向量中的每个特征,如果检测到数据库中存在该特征,则将数据库中该特征的权值加I。
5.根据权利要求1-4任一项所述的装置,其中, 所述检测单元,适于在对于所述特征向量中的每个特征,检测数据库中是否存在该特征之前,判断所述特征向量中的特征的数目是否小于第三阈值,是则所述待检测的文本与数据库中的记录不匹配并结束判断操作,否则对于所述特征向量中的每个特征,检测数据库中是否多次出现该特征。
6.一种相似文本检测方法,其中,该方法包括如下步骤: 对待检测的文本进行文本处理以获取中文文本; 将获取的中文文本中的汉字转为拼音得到拼音文本; 提取所述拼音文本的特征,将提取的特征形成所述拼音文本的特征向量; 根据所述特征向量,判断待检测的文本是否与一个数据库中的记录匹配。
7.根据权利要求6所述的方法,其中,所述判断待检测的文本是否与数据库中的记录匹配包括: 对所述特征向量中的每个特征,检测数据库中是否多次出现该特征; 判断所述特征向量中的在数据库中多次出现的特征占该特征向量的全部特征的比例是否达到第一阈值,是则确定所述待检测的文本与数据库中的记录匹配,否则不匹配。
8.根据权利要求6或7所述的方法,其中,所述检测数据库中是否多次出现该特征包括: 从数据库中查找是否存在该特征,如果存在,则进一步查看该特征的权值,如果该特征的权值大于或等于第二阈值,则数据库中多次出现该特征。
9.根据权利要求6-8任一项所述的方法,其中,在确定所述待检测的文本与数据库中的记录匹配时,该方法进一步包括: 对于所述特征向量中的每个特征,如果检测到数据库中存在该特征,则该将数据库中该特征的权值加I。
10.根据权利要求6-9任一项所述的方法,其中, 在对于所述特征向量中的每个特征,检测数据库中是否存在该特征之前,所述判断待检测的文本是否与数据库中的记录匹配进一步包括: 判断所述特征向量中的特征的数目是否小于第三阈值,是则所述待检测的文本与数据库中的记录不匹配并结束判断操作,否则对于所述特征向量中的每个特征,检测数据库中是否多次出现该特征。
【文档编号】G06F17/30GK103605694SQ201310537965
【公开日】2014年2月26日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】孙林, 陈培军, 秦吉胜 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1