首页> 中国专利> 微博广告博文识别方法及装置

微博广告博文识别方法及装置

摘要

本发明公开一种微博广告博文识别方法及装置,其方法包括:以已知广告博文和非广告博文为样本,创建微博过滤器;基于微博过滤器及贝叶斯算法对当前微博博文进行广告识别。本发明基于贝叶斯算法,以已知广告博文和非广告博文为样本,得到广告或非广告微博过滤器,并利用该微博过滤器来判断当前微博博文是广告博文的概率,由此对微博中的广告博文进行有效识别,并提高了搜索引擎的有效数据召回率;此外,还可以通过学习新的广告博文及正常博文样本(非广告博文),不断的更新训练来更新微博过滤器,对实时性较强的微博媒体文本的广告博文的识别更加有效。

著录项

  • 公开/公告号CN103970801A

    专利类型发明专利

  • 公开/公告日2014-08-06

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN201310046176.6

  • 发明设计人 张国强;

    申请日2013-02-05

  • 分类号G06F17/30;

  • 代理机构深圳市世纪恒程知识产权代理事务所;

  • 代理人胡海国

  • 地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-17 00:55:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-26

    授权

    授权

  • 2015-11-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130205

    实质审查的生效

  • 2014-08-06

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其涉及一种微博广告博文识别方法及装 置。

背景技术

在互联网中,对微博社区内广告博文的识别是反广告、反作弊的重要内 容。目前,对广告微博的识别方式主要是:通过人工方式收集广告博文,产 生用于广告识别的关键词表,然后利用关键词表中的关键词对当前博文进行 判断。如图1所示,图1中的微博即为广告微博。

在识别时,假设已经得到的关键词表中包含“数字、元、预售”这几个 关键词,并且设置识别规则为:如果一篇微博中含有这几个关键词,就认为 该微博为广告,那么图1中的微博则可以被识别出来为广告微博。

但是,现有的广告微博识别方法存在以下不足:

1、广告关键词表维护困难,需要人工识别收集,其效率较低,并且人工 很难收集全面的广告博文,不能产生全面的关键词表,只能被动积累,从而 导致广告博文识别召回不够;另外,对于人工发现的广告博文,从中选择关 键词也比较困难,以图2及图3中的两篇博文为例,其中,图2所对应的博 文为广告,单从此博文看,其中“淘宝”一词可以加入广告关键词表;从图3 看,“淘宝”一词则不应该加入广告关键词表。

2、只根据关键词表对博文是否为广告进行判断,其准确性难以控制,因 为词语的出现和上下文有很大关系(除非采取长串文本作为词表,否则通过 词表来判定博文为广告的准确性有待商榷),不同词语在不同语境的作用和意 义会有很大差别。例如“便宜”一次在广告博文中是常见词,但也会出现在 正常博文中,对比图4和图5两篇博文,其中,图4为正常博文,图5是广 告博文。

3、对应微博这种时效性很强的社区媒体,收集词表的方式更新速度慢, 更新量小,因此不能及时地发现作弊博文。

发明内容

本发明的主要目的在于提供一种微博广告博文识别方法及装置,旨在对 微博中的广告博文进行有效识别,提高搜索引擎的有效数据召回率。

为了达到上述目的,本发明提出一种微博广告博文识别方法,包括:

以已知广告博文和非广告博文为样本,创建微博过滤器;

基于所述微博过滤器及贝叶斯算法对当前微博博文进行广告识别。

本发明还提出一种微博广告博文识别装置,包括:

创建模块,用于以已知广告博文和非广告博文为样本,创建微博过滤器;

识别模块,用于基于所述微博过滤器及贝叶斯算法对当前微博博文进行 广告识别。

本发明提出的一种微博广告博文识别方法及装置,基于贝叶斯算法,以 已知广告博文和非广告博文为样本,得到广告或非广告微博过滤器,并利用 该微博过滤器来判断当前微博博文是广告博文的概率,由此对微博中的广告 博文进行有效识别,并提高了搜索引擎的有效数据召回率;此外,还可以通 过学习新的广告博文及正常博文样本(非广告博文),不断的更新训练来更新 微博过滤器,对实时性较强的微博媒体文本的广告博文的识别更加有效。

附图说明

图1是现有的第一种微博实例示意图;

图2是现有的第二种微博实例示意图;

图3是现有的第三种微博实例示意图;

图4是现有的第四种微博实例示意图;

图5是现有的第五种微博实例示意图;

图6是本发明微博广告博文识别方法第一实施例的流程示意图;

图7是本发明微博广告博文识别方法第一实施例中以已知广告博文和非 广告博文为样本,创建微博过滤器的一种流程示意图;

图8是本发明微博广告博文识别方法第一实施例中以已知广告博文和非 广告博文为样本,创建微博过滤器的另一种流程示意图;

图9是本发明微博广告博文识别方法第二实施例的流程示意图;

图10是本发明微博广告博文识别装置第一实施例的结构示意图;

图11是本发明微博广告博文识别装置第一实施例中创建模块的结构示意 图;

图12是本发明微博广告博文识别装置第一实施例中识别模块的结构示意 图;

图13是本发明微博广告博文识别装置第二实施例的结构示意图。

为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详 述。

具体实施方式

本发明实施例的解决方案主要是:基于贝叶斯算法,以已知广告博文和 非广告博文为样本,得到广告或非广告微博过滤器,并利用该微博过滤器来 判断当前微博博文是广告博文的概率,以实现对微博中的广告博文的有效识 别。

如图6所示,本发明第一实施例提出一种微博广告博文识别方法,包括:

步骤S101,以已知广告博文和非广告博文为样本,创建微博过滤器;

本发明基于贝叶斯理论来实现微博广告博文的识别。

为了识别微博是广告微博还是正常微博(本实施例指非广告微博),本实 施例首先通过已知的广告博文和非广告博文创建微博过滤器,然后通过创建 的微博过滤器对当前微博进行广告识别。

其中,微博过滤器可以分为广告微博过滤器和非广告微博过滤器,广告 微博过滤器输出结果为当前微博为广告微博的概率,非广告微博过滤器输出 结果为当前微博为非广告微博的概率。

上述微博过滤器创建过程与广告博文的识别过程分别对应本实施例微博 广告博文识别整体系统的离线部分方案和在线部分方案。

在离线部分方案中,可以选择创建广告微博过滤器,也可以选择创建非 广告微博过滤器,两者选其一即可,或者综合两种选择来实施。

步骤S102,基于所述微博过滤器及贝叶斯算法对当前微博博文进行广告 识别。

在微博过滤器创建完成后,进入本实施例在线部分方案,对当前微博博 文进行识别,判断当前微博博文是广告博文还是非广告博文。

具体地,首先对当前微博博文进行分词和向量转换,然后将转换得到的 向量输入到步骤S101中所创建的微博过滤器中,并结合贝叶斯算法和全概率 公式计算出当前微博博文为广告博文的概率。

对于广告微博过滤器,则直接输出结果为当前微博为广告微博的概率, 对于非广告微博过滤器,其输出结果为当前微博为非广告微博的概率,则将 此结果转化为当前微博为广告微博的概率。

之后,将获得的当前微博博文为广告博文的概率与预先设定的阈值进行 比较,若超过预定阈值,则判定该微博博文为广告博文。

其中,对预定阈值的设定,可以基于已知的广告博文集和非广告博文集 计算统计,以及获取该预定阈值。

更为具体地,如图7所示,以创建广告博文过滤器为例,上述步骤S101, 以已知广告博文和非广告博文为样本,创建微博过滤器的步骤可以包括:

步骤S1010,收集若干已知广告博文和非广告博文分别组成广告博文集和 非广告博文集,作为样本;

步骤S1011,对所述广告博文集和非广告博文集中的每一篇博文进行分 词,得到每一篇博文的单词序列;

步骤S1012,计算获取所述广告博文集中每一单词在该广告博文集中出现 的概率;计算获取所述非广告博文集中每一单词在该非广告博文集中出现的 概率;

步骤S1013,根据计算获取的概率,对应建立所述广告博文集和非广告博 文集中每一单词和该单词在所述广告博文集或非广告博文集中出现的概率的 对应关系哈希表;

步骤S1014,基于所述对应关系哈希表,根据贝叶斯算法建立广告博文集 中,基于对应单词出现广告博文的概率与该单词的映射关系哈希表,得到广 告博文过滤器。

如图8所示,以创建非广告博文过滤器为例,上述步骤S101,以已知广 告博文和非广告博文为样本,创建微博过滤器的步骤与上述图7所示的步骤 相似,其不同之处在于,本实例中以步骤S1015替代上述图7中所示的步骤 S1014,其中:

步骤S1015,基于所述对应关系哈希表,根据贝叶斯算法建立非广告博文 集中,基于对应单词出现非广告博文的概率与该单词的映射关系哈希表,得 到非广告博文过滤器。

下面以实例详细阐述本实施例的具体实施过程:

对于本实施例离线部分方案(以创建广告博文过滤器为例):

1、积累海量的正常博文集(非广告博文集)和广告博文集,分为 SET_GOOD,SET_BAD。

2、对应正常博文集和广告博文集,将任意一篇博文D分词后得到的单词 序列,可以用向量表示,即D=(W1,W2,...Wn),n为该博文分词后的数目,因此 可以将SET_GOOD和SET_BAD看作一系列单词的组合。SET_GOOD中的任一 单词Wi表示为Wi∈SET_GOOD,从SET_GOOD中任选一词且该词Wi的概率(即 Wi在SET_GOOD出现的概率)表示为Pi_good,则或 其中,TF(Wi)为单词Wi对应的词频,N为SET_GOOD中 不重复词的个数;用同样的方法可以计算出pi_bad(即Wi在SET_BAD中出现的 概率)。

3、根据上述步骤2的计算结果,对于SET_GOOD和SET_BAD分别生成如 下对应关系的哈希表:

GoodHashtable:WiPi_good,WiSET_GOOD;

BadHashtable:WiPi_bad,WiSET_BAD;

其中,GoodHashtable表示SET_GOOD中任一单词Wi和该单词在SET_GOOD 中出现的概率Pi_good的对应关系,BadHashtable表示SET_BAD中任一单词Wi和 该单词在SET_BAD中出现的概率pi_bad的对应关系。

4、对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该 博文分词后数目,设P(i_bad|Wi)为该博文中出现单词Wi时,博文为广告的概 率,应用上述对应关系哈希表Goodhashtable和Badhashtable,根据贝叶斯算法可 以计算出P(i_bad|Wi)的值,然后对于SET_BAD中的每一个单词,即 Wi∈SET_BAD,建立如下映射关系的哈希表并存储:

Bad>:WiP(i_bad|Wi),WiSET_BAD

其中,Bad Pr obabilityH ashtable即为本实施例所称广告博文过滤器,表示 SET_BAD中任一单词Wi,当Wi出现在任意一篇博文D中时,博文D为广告的 概率。

对于本实施例在线部分方案:

对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该博 文分词后数目,设该博文为广告的概率表示为P(bad|W1,W2...Wn),应用上述离 线部分方案得到的Bad>1,W2...Wn),当 P(bad|W1,W2...Wn)超过某个阈值θ时,即可认为该博文为广告博文。

其中,对于阈值θ的设定,对已经积累的广告博文集SET_BAD和正常博 文集SET_GOOD,可以采取在线处理方案类似的方式,计算每一篇博文为广 告博文的概率,观察统计可以得到阈值θ。理论上,当一篇博文为广告博文的 概率P(bad|W1,W2...Wn)大于0.5时,说明该博文倾向为广告博文。

其中,0≤θ≤1,θ设置的越大,则判断的准确率越高,广告博文召回率越 低;相反,θ设置的越小,则判断的准确率越低,广告博文召回率越高,因此, 应根据实际情况兼顾准确率和召回率来设置θ。

此外,在离线部分方案中,若是创建非广告博文过滤器,其具体实现过 程如下:

对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该博 文分词后数目,设P(i_good|Wi)为该博文中出现单词Wi时,博文为正常博文的 概率,应用上述离线部分方案步骤3中得到的Goodhashtable和Badhashtable,根 据贝叶斯算法可以计算出P(i_good|Wi)的值,然后对于SET_GOOD中的每一个 词,即Wi∈SET_GOOD,建立如下映射关系的哈希表并存储:

Good>:WiP(i_good|Wi),WiSET_GOOD

其中,Good ProbabilityHashtable即为本实施例所称非广告博文过滤器,表 示SET_GOOD中任一单词Wi,当Wi出现在任意一篇博文D中时,该博文D为 正常博文的概率。

此外,本实施例还可以采用以下优化策略:

在上述离线统计和在线预测时,在对相应的博文进行分词时,去除不具 有代表性的词(如停用词等);或者,选取代表性的词(如名词、动词);或 者结合上述两种情形。

另外,在在线部分方案中,可以增加如下考虑,对于任意一篇博文,经 过分词后的向量表示为D=(W1,W2,...Wn),n为该博文分词后数目,当计算一篇 博文为广告博文的概率P(bad|W1,W2...Wn)时,如果某个单词Wi既没有出现在 Bad>

进一步地,在对博文进行分词时,还可以对分词序列N-gram(N元)化。 微博中有些词,在广告博文和正常博文中都经常出现,在分词时会被分为单 个词,如“抢”、“仅”等单词,单独的这些词不具有很好的识别(是广告还 是正常博文)能力,但是当这些词与其上下文的词组合后将会有很好的识别 能力,如“疯抢”、“仅售”等词,含有这些词的博文为广告的概率很大。因 此在离线部分方案和在线部分方案中,对分词得到的单个词进行2元或多元 的上下文组合,然后进行后续的计算处理,这样能减少广告博文过滤器的规 模,提高判别的准确性。

另外,在利用微博过滤器对当前微博博文进行识别时,还可以结合一定 的规则来判别。

具体地,本实施例上述方案虽然对广告博文识别具有较高的准确率 (90%+)和召回率(90%+),但为了减少误判带来的伤害,可以在一定程度 上放过一些内容丰富的广告,以减轻将正常文本判为广告可能带来的伤害, 可以结合一定的规则,如认为带视频的微博可以认为是非广告博文,而对那 些被广告博文过滤器识别为广告的博文,如果它没有含有任何明显的广告词, 则可以认为该博文是弱广告,可以进行正常的召回此具有广告性质的博文。

本实施例通过上述方案,可以对微博博文是否为广告博文进行有效识别, 在微博全文检索时,按照一定的策略(不召回或者选择性召回)召回广告贴, 可以提高搜索引擎的有效数据召回率,并提升用户搜索体验。

相比现有技术,本实施例具有以下优势:

1、基于贝叶斯理论进行微博广告博文识别,以已知广告博文和非广告博 文为样本,得到微博过滤器,并用其来判断新进博文是广告博文的概率。该 方案与现有技术中,基于作弊词表的识别技术不同,本发明是基于大量的数 据进行统计,对已知数据集合进行学习,得到分辨广告博文与非广告博文之 间的差别,该差别是用概率来表示,并且可自动应用到以后的检测中,其维 护自动化,对召回率有很大提高。

2、对博文的所有内容进行分析,不仅仅是其中的某个关键词,例如:包 含“便宜”、“卖”字样的博文不一定是广告博文,如果采用现有技术中的关 键字过滤技术,显然难以达到理想的效果。而本发明方法既考虑了这些词在 广告博文中出现的概率,又考虑了它在正常博文中的概率,通过综合考虑这 些因素做出判断,可以把握“好”与“坏”之间的平衡,其准确率明显优于 非1即0的静态过滤技术。

3、本实施例创建的微博过滤器很难被欺骗,虽然广告博文发送高手可以 通过减少广告词汇(如“便宜”,“价格”)或者在博文中多加入一些好的词汇 (如新闻,热词)来绕过一般的博文内容检查,但是由于广告博文过滤器具 有个性化的色彩,要想成功地绕过它的检查,就不得不对每个博主写微博的 偏好进行研究,而这几乎不具有可行性。另外,通过对“特殊”博文训练集 合的学习,基于贝叶斯的微博广告博文识别方法可以得到“特殊”的过滤器, 因此针对某一类广告博文,可以进行有效地识别。

如图9所示,本发明第二实施例提出一种微博广告博文识别方法,在上 述第一实施例的基础上,在上述步骤S102之后,还包括:

步骤S103,根据识别出的广告博文和非广告博文,重新进行学习,更新 所述微博过滤器。

本实施例与上述实施例的区别在于,本实施例还可以根据根据识别出的 广告博文和非广告博文,重新进行学习,周期性更新微博过滤器。

具体地,根据在线部分方案识别出的广告博文和正常博文,每隔一定的 周期,重复离线部分方案,训练出新的Bad ProbabilityHashtable(广告博文 过滤器)和Good ProbabilityHashtable(非广告博文过滤器),然后更新到在线 部分。

本实施例基于贝叶斯的微博广告博文识别方法具备自适应功能,通过学 习新的广告博文及正常博文样本,不断的更新训练,微博过滤器也不断地获 得自更新。当新博文到达的时候,应用新得到的广告博文过滤器或非广告博 文过滤器可以对抗最新的广告博文,对于微博这种实时性较强的媒体文本的 广告识别更加有效。

如图10所示,本发明第一实施例提出一种微博广告博文识别装置,包括: 创建模块201和识别模块202,其中:

创建模块201,用于以已知广告博文和非广告博文为样本,创建微博过滤 器;

识别模块202,用于基于所述微博过滤器及贝叶斯算法对当前微博博文进 行广告识别。

本发明基于贝叶斯理论来实现微博广告博文的识别。

为了识别微博是广告微博还是正常微博(本实施例指非广告微博),本实 施例首先由创建模块201通过已知的广告博文和非广告博文创建微博过滤器, 然后由识别模块202通过创建的微博过滤器对当前微博进行广告识别。

其中,微博过滤器可以分为广告微博过滤器和非广告微博过滤器,广告 微博过滤器输出结果为当前微博为广告微博的概率,非广告微博过滤器输出 结果为当前微博为非广告微博的概率。

上述微博过滤器创建过程与广告博文的识别过程分别对应本实施例微博 广告博文识别整体系统的离线部分方案和在线部分方案。

在离线部分方案中,可以选择创建广告微博过滤器,也可以选择创建非 广告微博过滤器,两者选其一即可,或者综合两种选择来实施。

在微博过滤器创建完成后,进入本实施例在线部分方案,对当前微博博 文进行识别,判断当前微博博文是广告博文还是非广告博文。

具体地,首先对当前微博博文进行分词和向量转换,然后将转换得到的 向量输入到所创建的微博过滤器中,并结合贝叶斯算法和全概率公式计算出 当前微博博文为广告博文的概率。

对于广告微博过滤器,则直接输出结果为当前微博为广告微博的概率, 对于非广告微博过滤器,其输出结果为当前微博为非广告微博的概率,则将 此结果转化为当前微博为广告微博的概率。

之后,将获得的当前微博博文为广告博文的概率与预先设定的阈值进行 比较,若超过预定阈值,则判定该微博博文为广告博文。

其中,对预定阈值的设定,可以基于已知的广告博文集和非广告博文集 计算统计,以及获取该预定阈值。

更为具体地,如图11所示,以创建广告博文过滤器为例,所述创建模块 201可以包括:收集单元2011、分词单元2012、第一计算单元2013、第一建 立单元2014以及第二建立单元2015,其中:

收集单元2011,用于收集若干已知广告博文和非广告博文分别组成广告 博文集和非广告博文集,作为样本;

分词单元2012,用于对所述广告博文集和非广告博文集中的每一篇博文 进行分词,得到每一篇博文的单词序列;

第一计算单元2013,用于计算获取所述广告博文集中每一单词在该广告 博文集中出现的概率;计算获取所述非广告博文集中每一单词在该非广告博 文集中出现的概率;

第一建立单元2014,用于根据计算获取的概率,对应建立所述广告博文 集和非广告博文集中每一单词和该单词在所述广告博文集或非广告博文集中 出现的概率的对应关系哈希表;

第二建立单元2015,用于基于所述对应关系哈希表,根据贝叶斯算法建 立广告博文集中,基于对应单词出现广告博文的概率与该单词的映射关系哈 希表,得到广告博文过滤器。

在创建非广告博文过滤器时,所述第二建立单元2015还用于:

基于所述对应关系哈希表,根据贝叶斯算法建立非广告博文集中,基于 对应单词出现非广告博文的概率与该单词的映射关系哈希表,得到非广告博 文过滤器。

如图12所示,所述识别模块202可以包括:分词转换单元2021、第二计 算单元2022以及判断单元2023,其中:

分词转换单元2021,用于对当前微博博文进行分词和向量转换;

第二计算单元2022,用于将转换得到的向量输入所述微博过滤器中,并 结合贝叶斯算法和全概率公式计算出当前微博博文为广告博文的概率;

判断单元2023,用于若当前微博博文为广告博文的概率超过预定阈值时, 判定该微博博文为广告博文。

下面以实例详细阐述本实施例的具体实施过程:

对于本实施例离线部分方案(以创建广告博文过滤器为例):

1、积累海量的正常博文集(非广告博文集)和广告博文集,分为 SET_GOOD,SET_BAD。

2、对应正常博文集和广告博文集,将任意一篇博文D分词后得到的单词 序列,可以用向量表示,即D=(W1,W2,...Wn),n为该博文分词后的数目,因此 可以将SET_GOOD和SET_BAD看作一系列单词的组合。SET_GOOD中的任一 单词Wi表示为Wi∈SET_GOOD,从SET_GOOD中任选一词且该词Wi的概率(即 Wi在SET_GOOD出现的概率)表示为Pi_good,则或 其中,TF(Wi)为单词Wi对应的词频,N为SET_GOOD中 不重复词的个数;用同样的方法可以计算出pi_bad(即Wi在SET_BAD中出现的 概率)。

3、根据上述步骤2的计算结果,对于SET_GOOD和SET_BAD分别生成如 下对应关系的哈希表:

GoodHashtable:WiPi_good,WiSET_GOOD;

BadHashtable:WiPi_bad,WiSET_BAD;

其中,GoodHashtable表示SET_GOOD中任一单词Wi和该单词在SET_GOOD 中出现的概率Pi_good的对应关系,BadHashtable表示SET_BAD中任一单词Wi和 该单词在SET_BAD中出现的概率pi_bad的对应关系。

4、对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该 博文分词后数目,设P(i_bad|Wi)为该博文中出现单词Wi时,博文为广告的概 率,应用上述对应关系哈希表Goodhashtable和Badhashtable,根据贝叶斯算法可 以计算出P(i_bad|Wi)的值,然后对于SET_BAD中的每一个单词,即 Wi∈SET_BAD,建立如下映射关系的哈希表并存储:

Bad>:WiP(i_bad|Wi),WiSET_BAD

其中,Bad ProbabilityHashtable即为本实施例所称广告博文过滤器,表示 SET_BAD中任一单词Wi,当Wi出现在任意一篇博文D中时,博文D为广告的 概率。

对于本实施例在线部分方案:

对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该博 文分词后数目,设该博文为广告的概率表示为P(bad|W1,W2...Wn),应用上述离 线部分方案得到的BadProbabilityHashtable(广告博文过滤器),根据贝叶斯算法 和全概率公式即可计算出该博文为广告博文的概率P(bad|W1,W2...Wn),当 P(bad|W1,W1...Wn)超过某个阈值θ时,即可认为该博文为广告博文。

其中,对于阈值θ的设定,对已经积累的广告博文集SET_BAD和正常博 文集SET_GOOD,可以采取在线处理方案类似的方式,计算每一篇博文为广 告博文的概率,观察统计可以得到阈值θ。理论上,当一篇博文为广告博文的 概率P(bad|W1,W2...Wn)大于0.5时,说明该博文倾向为广告博文。

其中,0≤θ≤1,θ设置的越大,则判断的准确率越高,广告博文召回率越 低;相反,θ设置的越小,则判断的准确率越低,广告博文召回率越高,因此, 应根据实际情况兼顾准确率和召回率来设置θ。

此外,在离线部分方案中,若是创建非广告博文过滤器,其具体实现过 程如下:

对于任意一篇博文,经过分词后的向量表示为D=(W1,W2,...Wn),n为该博 文分词后数目,设P(i_good|Wi)为该博文中出现单词Wi时,博文为正常博文的 概率,应用上述离线部分方案步骤3中得到的Goodhashtable和Badhashtable,根 据贝叶斯算法可以计算出P(i_good|Wi)的值,然后对于SET_GOOD中的每一个 词,即Wi∈SET_GOOD,建立如下映射关系的哈希表并存储:

Good>:WiP(i_good|Wi),WiSET_GOOD

其中,Good ProbabilityHashtable即为本实施例所称非广告博文过滤器,表 示SET_GOOD中任一单词Wi,当Wi出现在任意一篇博文D中时,该博文D为 正常博文的概率。

此外,本实施例还可以采用以下优化策略:

在上述离线统计和在线预测时,在对相应的博文进行分词时,去除不具 有代表性的词(如停用词等);或者,选取代表性的词(如名词、动词);或 者结合上述两种情形。

另外,在在线部分方案中,可以增加如下考虑,对于任意一篇博文,经 过分词后的向量表示为D=(W1,W2,...Wn),n为该博文分词后数目,当计算一篇 博文为广告博文的概率P(bad|W1,W2...Wn)时,如果某个单词Wi既没有出现在 Bad>

进一步地,在对博文进行分词时,还可以对分词序列N-gram(N元)化。 微博中有些词,在广告博文和正常博文中都经常出现,在分词时会被分为单 个词,如“抢”、“仅”等单词,单独的这些词不具有很好的识别(是广告还 是正常博文)能力,但是当这些词与其上下文的词组合后将会有很好的识别 能力,如“疯抢”、“仅售”等词,含有这些词的博文为广告的概率很大。因 此在离线部分方案和在线部分方案中,对分词得到的单个词进行2元或多元 的上下文组合,然后进行后续的计算处理,这样能减少广告博文过滤器的规 模,提高判别的准确性。

另外,在利用微博过滤器对当前微博博文进行识别时,还可以结合一定 的规则来判别。

具体地,本实施例上述方案虽然对广告博文识别具有较高的准确率 (90%+)和召回率(90%+),但为了减少误判带来的伤害,可以在一定程度 上放过一些内容丰富的广告,以减轻将正常文本判为广告可能带来的伤害, 可以结合一定的规则,如认为带视频的微博可以认为是非广告博文,而对那 些被广告博文过滤器识别为广告的博文,如果它没有含有任何明显的广告词, 则可以认为该博文是弱广告,可以进行正常的召回此具有广告性质的博文。

本实施例通过上述方案,可以对微博博文是否为广告博文进行有效识别, 在微博全文检索时,按照一定的策略(不召回或者选择性召回)召回广告贴, 可以提高搜索引擎的有效数据召回率,并提升用户搜索体验。

相比现有技术,本实施例具有以下优势:

1、基于贝叶斯理论进行微博广告博文识别,以已知广告博文和非广告博 文为样本,得到微博过滤器,并用其来判断新进博文是广告博文的概率。该 方案与现有技术中,基于作弊词表的识别技术不同,本发明是基于大量的数 据进行统计,对已知数据集合进行学习,得到分辨广告博文与非广告博文之 间的差别,该差别是用概率来表示,并且可自动应用到以后的检测中,其维 护自动化,对召回率有很大提高。

2、对博文的所有内容进行分析,不仅仅是其中的某个关键词,例如:包 含“便宜”、“卖”字样的博文不一定是广告博文,如果采用现有技术中的关 键字过滤技术,显然难以达到理想的效果。而本发明方法既考虑了这些词在 广告博文中出现的概率,又考虑了它在正常博文中的概率,通过综合考虑这 些因素做出判断,可以把握“好”与“坏”之间的平衡,其准确率明显优于 非1即0的静态过滤技术。

3、本实施例创建的微博过滤器很难被欺骗,虽然广告博文发送高手可以 通过减少广告词汇(如“便宜”,“价格”)或者在博文中多加入一些好的词汇 (如新闻,热词)来绕过一般的博文内容检查,但是由于广告博文过滤器具 有个性化的色彩,要想成功地绕过它的检查,就不得不对每个博主写微博的 偏好进行研究,而这几乎不具有可行性。另外,通过对“特殊”博文训练集 合的学习,基于贝叶斯的微博广告博文识别方法可以得到“特殊”的过滤器, 因此针对某一类广告博文,可以进行有效地识别。

如图13所示,本发明第二实施例提出一种微博广告博文识别装置,还包 括:

更新模块203,用于根据识别出的广告博文和非广告博文,重新进行学习, 更新所述微博过滤器。

本实施例与上述实施例的区别在于,本实施例还可以根据根据识别出的 广告博文和非广告博文,重新进行学习,周期性更新微博过滤器。

具体地,根据在线部分方案识别出的广告博文和正常博文,每隔一定的 周期,重复离线部分方案,训练出新的Bad ProbabilityH ashtable(广告博文 过滤器)和Good ProbabilityH ashtable(非广告博文过滤器),然后更新到在线 部分。

本实施例基于贝叶斯的微博广告博文识别方法具备自适应功能,通过学 习新的广告博文及正常博文样本,不断的更新训练,微博过滤器也不断地获 得自更新。当新博文到达的时候,应用新得到的广告博文过滤器或非广告博 文过滤器可以对抗最新的广告博文,对于微博这种实时性较强的媒体文本的 广告识别更加有效。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间 接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号