垃圾文本库的建立方法、过滤方法及系统与流程

文档序号:12063809阅读:225来源:国知局
垃圾文本库的建立方法、过滤方法及系统与流程

本发明涉及计算机文本库建立技术领域,特别涉及一种垃圾文本库的建立方法,对垃圾文本进行过滤的方法和建立垃圾文本库的系统。



背景技术:

随着互联网行业的普及和电子商务应用的不断深入发展,大家在网络中的互动也越来越频繁,但是在信息量不断的增大同时,不需要的垃圾信息也随之增多,导致用户在获取信息时接受到不需要的垃圾信息,从而做出错误的判断或选择。

在现有技术中,一些在线游戏或者论坛已经提供了类似垃圾评论的检测功能,其通常的处理步骤是:1、对用户输入的文本进行分词;2、对分词结果进行关键词匹配;3、如果匹配到关键词就禁止该语句的提交,或者将认为的敏感内容转换成星号。现有技术明显存在以下缺点:

1.现有技术方案提取广告关键词时需要大量的垃圾文本以及正常文本做对比才能确定垃圾特征词,统计起来费时费力;

2.收录到关键词后的相关垃圾关键词缺少进一步学习的功能;

3.忽略了关键词之间的联合概率问题。



技术实现要素:

本发明的目的是在获取少量垃圾文本样本的情况下,实现不断学习并录入至新的垃圾文本中,节约了时间和精力,且获得的新的垃圾文本样本更加精确。

根据本发明实施例的一个方面,提供了一种垃圾文本库的建立方法,包括:

步骤S100:从文本中获取预先采集的至少一个垃圾文本样本;

步骤S200:检测每个垃圾文本样本中是否存在长特征词,若存在,则将该长特征词录入长特征词集;

步骤S300:基于贝叶斯分类器对长特征词集对应的垃圾文本样本进行分类,得到垃圾文本和非垃圾文本;

步骤S400:将垃圾文本新增的数量与预设的收敛阈值进行比较,若垃圾文本新增的数量小于收敛阈值,则执行步骤500,否则,则执行步骤600;

步骤S500:垃圾文本库建立完毕,结束流程;

步骤S600:从文本中获取新的垃圾文本样本,返回执行步骤S200至步骤S500。

进一步地,检测每个垃圾文本样本中是否存在长特征词包括:基于分词算法对每个垃圾文本样本进行分词,得到分词结果。基于预存的停用词表去掉分词结果中的停用词。基于textrank算法,从去掉停用词的分词结果中选出预定数量的特征词。基于前缀匹配算法检测所述预定数量的特征词中是否存在长特征词。

进一步地,在基于贝叶斯分类器对长特征词集对应的所述垃圾文本样本进行分类之前还包括:计算长特征词集中每个长特征词的权重。将特征词集中每个特征词的权重输入至贝叶斯分类器,以对长特征词集进行分类,得到垃圾特征词集和非垃圾特征词集。

进一步地,计算长特征词集中每个长特征词的权重包括:基于式(1)计算长特征词集中每个长特征词的权重,

式(1):W3=(W1+W2)*(1-P3)/(1-P1)*(1-P2),

其中,P3、P2、P1分别为词语3、词语2、词语1在垃圾文本中出现的概率;

W3、W2、W1分别为词语3、词语2、词语1在垃圾文本中出现的权重。

进一步地,基于分词算法对每个垃圾文本样本进行分词,包括:利用维特比分词器对每个垃圾文本样本进行分词。

根据本发明实施例的另一方面,提供了一种对垃圾文本进行过滤的方法,包括采用上述的垃圾文本库的建立方法建立垃圾文本库对垃圾文本进行过滤。

根据本发明实施例的又一方面,提供了一种建立垃圾文本库的系统,包括:获取模块,用于从文本中获取预先采集的至少一个垃圾文本样本。检测模块,用于检测每个垃圾文本样本中是否存在长特征词,若存在,则将该长特征词录入长特征词集。分类模块,基于贝叶斯分类器对长特征词集对应的垃圾文本样本进行分类,得到垃圾文本和非垃圾特文本。判断模块,用于将垃圾文本新增的数量与预设的收敛阈值进行比较,若垃圾文本新增的数量小于收敛阈值,则垃圾文本库建立完毕;否则,从文本中获取新的垃圾文本样本输入至检测模块。

进一步地,检测模块包括:分词单元,用于基于分词算法对每个垃圾文本样本进行分词,得到分词结果。停用词过滤单元,用于基于预存的停用词表去掉分词结果中的停用词。特征词选取单元,用于基于textrank算法,从去掉停用词的分词结果中选出预定数量的特征词。长特征词检测单元,基于前缀匹配算法检测预定数量的特征词中是否存在长特征词。

进一步地,分类模块包括:计算单元,用于计算长特征词集中每个长特征词的权重。分类单元,用于将特征词集中每个特征词的权重输入至贝叶斯分类器,以对长特征词集进行分类,得到垃圾特征词集和非垃圾特征词集。

进一步地,计算单元基于式(1)计算所述长特征词集中每个长特征词的权重;

式(1):W3=(W1+W2)*(1-P3)/(1-P1)*(1-P2),

其中,P3、P2、P1分别为词语3、词语2、词语1在所述垃圾文本中出现的概率;

W3、W2、W1分别为词语3、词语2、词语1在所述垃圾文本中出现的权重。

进一步地,分词单元还用于,利用维特比分词器对每个所述垃圾文本样本进行分词。

本发明实施例的有益效果在于,因为采用长特征词加入垃圾文本样本的技术手段,所以克服了大量采集垃圾文本样本的技术问题,进而达到只需收集少量的垃圾文本就能构建垃圾文本库从而节约时间和精力以及更加精确且不断更新的技术效果。

附图说明

图1是本发明第一实施例提供的垃圾文本库的建立方法的流程图;

图2是本发明第一实施例提供的检测垃圾文本样本中是否存在长特征词的流程图;

图3是本发明第一实施例提供的贝叶斯分类器分类前的流程图;

图4是本发明第一实施例提供的建立垃圾文本库的系统的模块关系示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

请参阅图1,图1是本发明第一实施例提供的垃圾文本库的建立方法的流程图。

如图1所示,在本实施例中,垃圾文本库的建立方法包括:

步骤S100:从文本中获取预先采集的至少一个垃圾文本样本。步骤S200:检测每个垃圾文本样本中是否存在长特征词,若存在,则将该长特征词录入长特征词集。步骤S300:基于贝叶斯分类器对长特征词集对应的所述垃圾文本样本进行分类,得到垃圾文本和非垃圾文本。步骤S400:将垃圾文本新增的数量与预设的收敛阈值进行比较,若垃圾文本新增的数量小于收敛阈值,则执行步骤500;否则,执行步骤600。步骤S500:垃圾文本库建立完毕,结束流程。步骤S600:从文本中获取新的垃圾文本样本,返回执行步骤S200至步骤S500。

在本实施例中,我们采用“长特征词优先于短特征词的方法”进行垃圾文本样本的建立。首先,执行步骤S100,在这一步骤中,只需从文本中获取少量的词(可能包括长特征词和/或短特征词)作为垃圾文本样本。其中,文本中包含垃圾文本和非垃圾文本,一般情况下,垃圾文本样本为根据用户反应而提取的垃圾文本样本。这样,不需要建立大量的垃圾文本及正常文本做对比就能确定垃圾文本,从而可以节约时间和精力。

然后,执行步骤S200,在这一步骤中,需要检测每个垃圾文本样本(即可能包含长特征词和/或短特征词)中是否存在长特征词。如果存在长特征词,则将该长特征词录入长特征词集,如果不存在长特征词,则不需要录入。

然后,将录入长特征词后的长特征词集执行步骤S300,在这一步骤中,基于贝叶斯分类器对长特征词集对应的垃圾文本样本进行分类,得到垃圾文本和非垃圾文本。

具体地,贝叶斯分类器基于贝叶斯算法对长特征词集对应的垃圾文本样本进行分类。其中,贝叶斯算法基于贝叶斯公式:

进行计算。

具体地,P(B)代表长特征词B在文本中出现的概率;P(Ai)代表垃圾文本Ai出现的概率;P(Ai/B)代表长特征词B出现时P(Ai)发生的概率。

然后执行步骤S400:将垃圾文本新增的数量与预设的收敛阈值进行比较。如果预设的收敛阈值为5,而垃圾文本新增的数量为4个,即垃圾文本新增的数量小于设置的收敛阈值,则垃圾文本库建立完毕,结束流程。如果设置的收敛阈值为5,而垃圾文本新增的数量为8个,即垃圾文本新增的数量大于设置的收敛阈值,则从文本中选取新的垃圾文本样本,返回执行步骤S200至步骤S500。

通过采用本实施例中描述的方法,既考虑了单个特征词的概率问题,也考虑了特征词与特征词之间的联合概率问题,使得获取到的垃圾文本样本更加精确。同时,也实现了将特征词不断更新的过程。

请参阅图2,图2是本发明第一实施例提供的检测垃圾文本样本中是否存在长特征词的流程图。

如图2所示,在检测每个垃圾文本样本中是否存在长特征词包括:

步骤S211:基于分词算法对每个垃圾文本样本进行分词,得到分词结果;步骤S212:基于预存的停用词表去掉分词结果中的停用词;步骤S213:基于textrank算法,从去掉停用词的分词结果中选出预定数量的特征词;步骤S214:基于前缀匹配算法检测所述预定数量的特征词中是否存在长特征词。

在本实施例中,首先,利用分词算法对每个垃圾文本样本进行分词,得到分词结果。具体地,分词算法可以是维特比分词器,也可以采用其它分词算法。

然后,基于预存的停用词表去掉分词结果中的停用词。其中,停用词是“的、和、或”等没有什么实际含义的功能词。

然后,基于textrank算法,从去掉停用词的分词结果中选出预定数量的特征词。具体地,textrank的算法公式为:

其中,具体地,In(vi)代表指向分词vi的所有分词形成的集合;Out(vj)代表指向分词Vj的所有分词的集合;Wji代表从分词j指向分词集合In(vi)中各个分词的边的权重;WS(Vj)代表特征词Vj在垃圾文本中的权重大小,表示从特征词j指向Out(vj)集合中各个特征词的权重之和。

最后,基于前缀匹配算法检测预定数量的特征词中是否存在长特征词。具体地,前缀匹配算法能够从一个给定的特征词集合中找出其前缀特征,即前缀集合。前缀集合具有确定性,能够匹配该前缀特征词集合的特征词一定属于该特征词集合,否则将一定不属于该特征词集合。

请参阅图3,图3是本发明第一实施例提供的贝叶斯分类器分类前的流程图。

如图3所示,在基于贝叶斯分类器对长特征词集对应的所述垃圾文本样本进行分类之前还包括:步骤S311:计算长特征词集中每个长特征词的权重;步骤S312:将特征词集中每个特征词的权重输入至贝叶斯分类器,以对长特征词集进行分类,得到垃圾特征词集和非垃圾特征词集。

在本实施例中,在贝叶斯分类器对长特征词集对应的所述垃圾文本样本进行分类之前需要先计算长特征词集中每个长特征词的权重。具体地,基于基于式(1)计算所述长特征词集中每个长特征词的权重。式(1):

W3=(W1+W2)*(1-P3)/(1-P1)*(1-P2),

其中,P3、P2、P1分别为词语3、词语2、词语1在所述垃圾文本中出现的概率。W3、W2、W1分别为词语3、词语2、词语1在所述垃圾文本中出现的权重。将得到的权重结果输入至贝叶斯分类器,以便贝叶斯分类器采用上述方法对长特征词集进行分类,从而得到垃圾特征词集和非垃圾特征词集。

根据本发明实施例的另一方面,由上述实施例中的任一一种实施例展示的垃圾文本库的建立方法可知,其为本发明提供了一种对上述方法建立的垃圾文本进行过滤的方法。通过上述建立的垃圾文本进行过滤,可以使得过滤结果更加精确,确保用户在短时间内获取真正需要的信息。

请参阅图4,图4是本发明第一实施例提供的建立垃圾文本库的系统的模块关系示意图。

如图4所示,建立该垃圾文本库的系统包括:

用于从文本中获取预先采集的至少一个垃圾文本样本的获取模块100。用于检测每个垃圾文本样本中是否存在长特征词的检测模块200,若检测模块200检测到长特征词的存在,则将该长特征词录入长特征词集,若未检测到长特征词,则不需要录入。基于贝叶斯分类器对所述长特征词集对应的垃圾文本样本进行分类的分类模块300,用于得到垃圾文本和非垃圾文本。用于将所述垃圾文本新增的数量与预设的收敛阈值进行比较的判断模块400。若垃圾文本新增的数量小于收敛阈值,则建立垃圾文本库建立完毕;否则,从文本中获取新的垃圾文本样本输入至所述检测模块。

在本实施例中,获取模块100从文本中获取少量的垃圾文本样本(可能包括长特征词和/或短特征词)作为垃圾文本样本。其中,文本中包含垃圾文本和非垃圾文本,一般情况下,垃圾文本样本为根据用户反应而提取的垃圾文本样本。这样,不需要建立大量的垃圾文本及正常文本做对比就能确定垃圾文本,从而可以节约时间和精力。

检测模块200对获取的垃圾文本样本进行检测。具体检测方法为:

检测模块200包括:分词单元201,用于基于分词算法对每个垃圾文本样本进行分词,得到分词结果。具体地,分词单元201可用于利用维特比分词器对每个垃圾文本样本进行分词,也可采用其它分词方法。

停用词过滤单元202,用于基于预存的停用词表去掉所述分词结果中的停用词。具体地,停用词是“的、和、或”等没有什么实际含义的功能词;

特征词选取单元203,用于基于textrank算法,从去掉停用词的分词结果中选出预定数量的特征词,具体地,textrank的算法公式为:

其中,具体地,In(vi)代表指向分词vi的所有分词形成的集合;Out(vj)代表指向分词Vj的所有分词的集合;Wji代表从分词j指向分词集合In(vi)中各个分词的边的权重;WS(Vj)代表特征词Vj在垃圾文本中的权重大小,表示从特征词j指向Out(vj)集合中各个特征词的权重之和。

长特征词检测单元204,基于前缀匹配算法检测所述预定数量的特征词中是否存在长特征词,具体地,前缀匹配算法能够从一个给定的特征词集合中找出其前缀特征,即前缀集合。前缀集合具有确定性,能够匹配该前缀特征词集合的特征词一定属于该特征词集合,否则将一定不属于该特征词集合。

分类模块300包括:

计算单元301,用于计算长特征词集中每个长特征词的权重。具体地,计算单元301根据公式:W3=(W1+W2)*(1-P3)/(1-P1)*(1-P2)计算长特征词集中每个长特征词的权重,其中,P3、P2、P1分别为词语3、词语2、词语1在所述垃圾文本中出现的概率,W3、W2、W1分别为词语3、词语2、词语1在所述垃圾文本中出现的权重。

分类单元302,用于将所述特征词集中每个特征词的权重输入至基于贝叶斯分类器,以对所述长特征词集进行分类,得到垃圾特征词集和非垃圾特征词集。具体地,贝叶斯分类器基于贝叶斯算法对长特征词集进行分类。其中,贝叶斯算法基于贝叶斯公式

进行计算。

具体地,P(B)代表长特征词B在文本中出现的概率;P(Ai)代表垃圾文本Ai出现的概率;P(Ai/B)代表长特征词B出现时P(Ai)发生的概率。

判断模块400,用于判断是否将垃圾文本进行收敛。具体地判断方法为:将垃圾文本新增的数量与预设的收敛阈值进行比较。若设置的收敛阈值为5,而垃圾文本新增的数量为4个,即垃圾文本新增的数量小于设置的收敛阈值,则垃圾文本库建立完毕,结束流程。如果设置的收敛阈值为2,而垃圾文本新增的数量为5个,即垃圾文本新增的数量大于设置的收敛阈值,则从文本中获取新的垃圾文本样本输入至所述检测模块。

本发明通过上述实施例公开的垃圾文本库的建立方法,对垃圾文本进行过滤的方法和建立垃圾文本库的系统,实现了只需收集少量的垃圾文本样本构建垃圾文本库,省时省力,且更加精确的效果,且实现了不断更新和学习的过程。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

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