1.网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,一是网络热点的实时发掘与噪音处理,包括网络热点发掘、初始页面的噪音处理,二是舆情热点话题解析生成,包括前置处理、特定领域的文本聚类、地名个性化识别、连环线性中文分词模型、关键词实时选举提炼、基于字频的片段与短语提取、话题筛选提炼、基于共现度的话题生成、话题的消亡和合并;
S1:构建一种高性能的网络热点爬虫架构,及时抓取网络中的网络热点,采用Mysql集群来构建关系型数据的存储,并采用Hbase集群和es集群存储舆情文档,采用Kafka作为消息队列用作消息传输的中间件,系统承载了巨大信息流量,支撑巨大的数据量;
S2:构建一种基于滑动窗口字块密度视觉的正文提取方法,无需事先训练模型直接进行主题型网站的正文提取,作为补充,基于论坛类网站都采用通用模板,提出一种基于近似块的清除方法来提取正文,并将两种方法组合;
S3:舆情热点话题解析生成,采用热门话题的发现、合并和消亡策略,基于频次找到关键片段,利用左右互信息和信息嫡提取短语,并选举关键词,对关键词进行热度解析和筛选,利用关键词的共现度对关键词进行聚类,形成一个词群,归纳为一个话题,利用话题关联的文档数目制定话题的生成和消亡方法,最后采用近似度哈希方法解决海量文档的近似文档归并问题。
2.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,云架构爬虫包含以下模块:页面采集模块,任务云调度模块,页面云存储模块,页面筛选模块,页面采集模块发起http请求获取HTML数据,任务云调度基于云计算管理新任务和对爬虫子结点进行任务分发,页面筛选模块筛选不需要下载的页面,而最后页面云存储模块在云端把数据存储起来,以供后续查询及处理;
任务云调度与筛选策略:在网络热点爬虫在爬取新闻页面时,判定是否属于舆情页面,在存储过程中会把页面的url存储下来,在下载时判定是否下载过,如果是属于下载过的新闻页面,则不会再去下载,采用Hbase存储URL,并用来作重复性检查;页面采集模块解析HTML页面后,将所有的URL汇报给任务云调度模块,任务云调度模块筛选掉一些重复的以及无关的url之后,把url以任务形式发放到队列中,再由页面采集集群竞争获取队列中的任务;
另外,将所有页面分为信息源种子页面,舆情页面和其它页面三种,舆情页面是所需要的具有网络热点的页面,所有需要解析的实时舆情数据都来自舆情页面,种子页面是所有网络热点发布的页面,所有的舆情页面都可从种子页面找到,并且种子页面不停的更新发布新的舆情页面,种子页面是舆情页面的入口,其它页面是一些广告页面或无关页面,在解析页面时,只需要关心信息源页面的出链,在任务云调度时,如果取到了种子页面,防止筛选程序把它筛选掉。
3.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,基于滑动窗口字块密度视觉的正文提取方法:滑动窗口字块密度视觉方法基于页面的正文在物理位置上比较接近这一假设,基于正文代码大多位置靠近且大多是文字,并且超链接所占的长度比例不高的推论,包括以下步骤:步骤一:将所有的HTML标签都去掉,只留下文字部分,同时留下空白信息;
步骤二:规定一个K大小的滑动窗口,从初始行开始滑动,记下每个窗口的位置和窗口中所有文字块的长度,每个滑动窗口包含从第i行到i+K行的所有数据,如果窗口中没有正文文本则为空白窗口,否则为文字窗口;
步骤三:将相邻的空白窗口合并,同时将相邻的文字窗口合并;
步骤四:挑选出最大的文字块就是正文部分;
近似结点清除的正文提取方法:利用以下推论来进行筛选:
推论一:论坛网站大多基于模板;
推论二:根据url可以找到近似的兄弟页面;
推论三:模板大部分具有近似的字符串或标签序列;
推论四:正文部分有明显较多的文字或标点;
将该类页面缓存并利用url找到其兄弟结点,解析页面的DOM树,利用字符串,标签序列,标点符号和文字长度四个特征对正文部分进行定位,并且清除掉冗余的DOM结点;
其它特殊处理:采用黑名单策略,在爬取时检测黑名单,如果是黑名单中的网站则不再下载,制定一些特征url筛选器,所有符合这些特征的url都被筛选掉。
4.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,地名个性化识别:将每一篇文本都进行地域提炼,并按照地域进行分发,按照地域来进行热点提炼,对于无法提炼到的地域,则按照未知地域来处理;
一)命名实体识别:中文地名个性化识别作为一种随机序列的状态转换和其隐含状态序列的标注问题,通过对文本序列的标注,找到命名实体的边界,识别出所有可能的命名实体,采用地名解析模型来识别中文地名,地名解析链由一个五元组来描述;
(S,O,A,B,π) 式1
(1)其中S表示模型中所有状态的集合,S={S1,S2,S3,…,SN},其中N为集合中所有状态的数目总和,且每个状态之间都有对应意义,每个状态之间可互相转换,用qt来表示t时刻的状态;
(2)O表示模型实际输出的观察值的集合,其中规定观察到的状态为V={V1,V2,V3,…,VM},其中M为观察值的个数;
(3)A描述模型的状态转移概率,是一个概率矩阵,表示为A=(aij),其中aij表示从状态i转移到j的概率由下式描述:aij=p(qt+1=Sj|qt=Si)1≤i,j≤N,∑jaij=1,aij≥0 式2(4)B表示由观察值的概率所构成的矩阵,B=(bij),其中bij表示在状态j时输出的观察值为i的概率,即p=(Vj|Si),其中i表示隐含状态,i小于等于状态数N,j表示观察值,小于等于M;
(5)π是初始化的概率向量,描述初始状态的概率分布,π={πi}表示在初始时刻处于第i状态的概率,πi=p(q1=Si);
在地名解析模型中,在t时刻的隐含状态只跟上一时刻t‑1有关,同时t时刻的观察值也只受到t时刻隐含状态的约束和影响;
通过对语料的标注进行解析,得到标注过的序列,得到转移矩阵和角色词典以及初始状态计算,并计算出对应的概率矩阵A,B,π,之后对句子进行地名个性化识别时,会先进行分词,然后计算最大可能的隐藏的状态,通过词典匹配识别可能的地名;
通过观察值序列寻找概率最大的隐藏状态序列,求出观察序列隐状态序列Pmax,定义局部最大概率δ(i,t)是t时刻达到状态i的最大概率,该值所对应的隐状态的序列是t时刻到达状态i时的最大概率的路径,假设在初始时刻,观察值为0,局部概率有:δ(i,1)=π(i)bio 式3
而对于t时刻,对于观察值Ot有:
计算过程中加上用于回溯路径的指针,一遍计算便可得出最优路径,即最优隐状态链解;
二)地名个性化识别特征化模式匹配:找到对应的隐状态链之后,对对应的状态进行匹配,找到:CF,CDF,CDEF,GF这4种模式,即单字/双字/三字/全地面+地名后缀的模式,多模式匹配由goto表,fail表和output表三部分构成,Goto表的构建过程以下:(1)对于P中的每一个模式Pi[1,…,j](1≤i≤m),按照其包含的字母顺序输入到自动机;
(2)起始状态为D[0],如果目前状态机状态为D[p],对于下一个字母pi[k]没有可用的新状态时则将总状态数目max加1,并且令转移D[p][pi[k]]=max;
(3)继续把下一个字母加入到状态机中;
Goto表是一棵字典树的结构,fail表描述在模式匹配时状态转移失败之后应该转移到什么状态,在构建跳转表时,找到后缀中最长的其它模式串的前缀部分,并构建fail跳转表,匹配到模式串之后,构建output表,并且根据后缀会继续查找状态,并记录在output中。
5.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,连环线性中文分词模型:在给定连环线性中文分词模型及其观察值序列的条件之下,设其为x,求得隐含状态序列为y的概率,特征函数fj(yi‑1,yi,x,i)为正实值函数,描述在给定观察值序列x的条件下,其中某个y在i位置的状态转移的关联信息,j代表特征函数的编号,表示第j个位置的标签,在序列标注问题中,其接受的四个参数的意义分别是观察值序列x,当前位置i,上一个位置状态标签yi‑1,当前位置标签yi;
把中文分词作为词边界状态序列标注问题,首先定义几种特定的标记来标记文本序列,采用S,B,M,E四种标签,分别对应单字词,词首,词中,词尾四种角色,对于单字词打上S标签,双字词则打上标签序列{B,E},三字词则打上{B,M,E}标签,四个字以上则为{B,M.M,E}序列,利用训练好的连环线性中文分词模型对文本打上标签后,按照标签对文字分词;
另外还准备自身的特征模板,采用宏来定义输出数据的每个token,写作%x[row,col],其中col表示绝对列数,而row表示相对偏移,模板有U模板和B模板2种类型;
每个模型所生成的特征函数的总数为L*N个,其中N是给定模板扩展出的唯一特征的数目,L是输出的类别数目,采用B模板时,系统自动产生当前输出的token与前一个token相组合,产生的特征数目可以达到L*L*N个;
在特征的选择中,选择能够提升准确率的特征模板,包括:
(1)一元特征,即当当前字符或其上一个字符或下一个字符为特定值时激活,表示为序列C‑1,C0,C1;
(2)二元特征,即当前字符串与上一个字符串或下一个字符串为特定的字符时激活,表示为序列C‑1C0和C0C1;
(3)跳跃特征,即上一个字符和下一个字符为特定的字符串时激活,即C‑1C1;
(4)三元特征,即当前字符与上下字符组成特定的串时激活,即C‑1C0C1;
本申请还考虑状态转移的特征,由于当上一个字符的状态为E或S时,当前字符的状态肯定是词的开头部分,一定为B或s,而不可能是M或E,而当上一个字符的状态是B,那么下一个字符的状态就可能是M或E,但不可能是或B,因而上一个字符的状态会影响到下一个状态的概率,本申请在训练模型的特征模板中再加入状态转移的模板T‑1T0。
6.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,关键词实时选举提炼:(1)关键词选举:按照文本词语顺序,构建一个窗口,让窗口中所有相邻词语投赞成票给该词语,并按照该规则构建一个备选词的投票词图,步骤包括:
1)对应一个文本D,按照句子进行分割:D=[S1,S2,S3,…,Sn];
2)对每个句子进行分词,然后对每一个词的词性加以标注,并且按照词性筛选出备选词,保留动词、名词、形容词,去掉助词、停用词和没有意义的词,最后对于每个句子Si,得到关键词序列[w1,w2,w3,…,wt];
3)对所有的备选词进行投票词图的构建,表示为G=
4)最后利用公式进行迭代投票,计算出每一个词语的权重,取前k个作为关键词,公式以下:其中ωji表示由结点j指向结点i的边所占的权重,并作归一化处理,而d是阻尼系数,取
0.85;
(2)优化投票权重赋值:包括:1)关键词语是否在标题出出现;2)该关键词的tf‑idf值;
定义权重边V的权重为wa(vi,vj),其公式:
其中f(vj)表示该词语的一个重要性的情况,如果该词出现在标题中,那么该词所占的权重最高,而如果词语中的字在标题中有所出现,那么所占权重相对低一些,但比其它情况要高,式中OUT(Vi)表示结点i所有指向的出结点,另外,还根据tf‑idf计算一个权重:对于每条投票边权重都相同,有:
最后,基于ωa和ωb来构建权重矩阵ω:
ωij表示结点i投票给j所占的权重分值,其中α,β,γ是控制系数,调整其所占的权重比例;
(3)对于短文本的模型优化:在短文本的情况下,采用滑动窗口的方式,采用大小为10的窗口,向前向后各取5个词,如果取不到5个词则能取多少取多少,如果该词出现多次,则计算不同位置的窗口,并在词图中增加这些词对应的投票有向边。
7.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,基于字频的片段与短语提取:(1)基于字频率的关键片段提取:在每次的热点信息提取时,获取一批实时数据,按照批次对文档进行计算,首先按照一元分词的方式把所有的文档划分成单字,清除掉符号,特殊字符和停用词,得到一个字集W;
定义字集中每个字w的频率为P(w),等于文档中所有该字出现的频次除以文档字数,公式定义为:其中分母d表示文档,len函数表示文档中字符个数,也为文档的长度,设定一个临界值x,使得概率大于λ的所有字都为种子字,对所有的字进行计算后得到种子字集seed,seed中的每个字都是文档中重复频次较高的字,先初步挑选出一些含有高频字的片段,再从中进行筛选;
利用分割字符,停用词把文本分割成片段,利用bitmap标记字集这些文本片段的位置,标记为有效片段,然后通过合并相邻的有效片段,筛选出所有的备选片段集phrase;
最后筛选所有的备选片段,如果片段中含有种子字seed,则保留,否则丢弃,得到一个高频片段集,该集合中的所有片段都包含高频字;
(2)基于互信息及左右信息嫡的短语提取:首先对每个句子进行断句,分词,然后清除停用词,然后对每个句子作为一个窗口计算每一个词频,然后计算两两相邻词和三个词同时出现的词频;
采用点间互信息式计算互信息:
当两个词同时出现的概率越高,p(x,y)的值越高,而在同一篇文档中p(x)和p(y)的值固定,该两个词的互信息值也就越高,相对更加相关,组成一个短语序列的可能性越大;
采用左右嫡来进行对短语的评估,文本中越是可以组成短语的词串,其必定会在不同的语境中出现,因而在短语的左边或右边会出现更多的不确定的词,利用左右嫡计算短语左边和右边出现的词的不确定的程度,嫡越大,其不确定程度越高,能组成短语的可能性越高,利用下式计算嫡:H(X)=‑∑x∈XP(x)*log(P(x)) 式13
分别计算左右嫡,即计算所有左边词汇的嫡和右边词汇的嫡:
hl(phrase)=‑∑p(leftword|phrase)*log2p(leftword|phrase)hr(phrase)=‑∑p(rightword|phrase)*log2p(rightword|phrase) 式14点间互信息,左右信息的嫡为短语评分,提取分值最高的短语作为提取的短语:score=mi+hl+hr 式15
提取到短语之后,对提取到的短语进行筛选,仅保留包含有高频率种子词汇的短语。
8.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,话题筛选提炼:首先设置屏蔽词典,筛选一些常见的噪音文本,然后筛选地名,最后对包含片段的文档的数目以及包含的文档来源站点作临界值限制,增加消息的可信度,保证消息的热度;
另外通过计算文本的时间密度来计算话题是否为有效话题,利用某一时间段包含该关键词或短语或片段的文档数目与时间的比值来计算信息的密度,公式如下:其中x表示小时数,分母表示在x小时的时间内包含该词的文档数目,信息密度越大,说明关键词的热度越高,采用相对密度来体现热度的相对变化趋势,定义相对密度:其中X是比x大的一段时间,判定在x时间内该词的密度相对于X时间内的趋势,对于新热点出现时,一个关联的关键词热度一定会大幅度提升,因而这个公式能够筛选出相对比较热的词汇。
9.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,基于共现度的话题生成:根据筛选之后的关键词和关键短语的集合作为生产话题的种子,利用一个词群来定义一个话题,一个词群包含若干个关键词、关键短语描述该话题,在得到关键词之后,计算每一个关键词在哪个文本中出现,并利用bitmap记录下所有包含该关键词的文档信息,计算每个词的共现度,对于共现度较高的词,把他们划分到一个词群中,两个词的共现度用下式描述:其中doc(x.y)表示包含x和y两个词的文档数目,分母计算包含词x或包含词y的文档数目,设定一个临界值,当两个词的共现度大于该临界值时将该两个词合并到一个词群;
最后将这个词群作为一个找到的热点话题,并将所有的关联页面作为发现话题的页面,存储到数据库中。
10.根据权利要求1所述网络实时热点话题挖掘解析与舆情提炼系统,其特征在于,话题的消亡和合并:设定一个时间临界值,当大于这个临界值时再对这个话题进行消亡判定,要判定话题是否活跃,利用话题的关联帖子数目进行判定,记录每个话题的最大的每日关联文档数目,当当天的文档数目明显低于最大的文档数目时,将话题定义为已经死亡;
另外,在生成新话题时,根据新话题与旧话题的关联度来进行话题合并,根据地域以及关键词,对近似的话题进行合并操作,另外合并近似文本,避免重复的计算;
计算文档近似度,把高维的特征向量降维,映射到一个低维度的特征向量上,然后通过其汉明距离来量化文档之间的近似度,从而清除近似的页面,汉明距离定义两个字符串中对应的相同位置不同字符的个数,放在近似度度量中,只需计算两个hash值进行异或运算之后得到值,比特位为1的个数,汉明距离越大,2个文本就越不近似,反之则越近似,具体计算步骤为:
1)首先对文本分词,得到一个词序列,然后对每个词设置权重,是每个词的词频,把词权重设置为tf‑idf的值,一个词越重要那么他的词权重也就越高;
2)计算哈希值,得到每个词的特征签名;
3)对于固定长度的每个词的签名,并且每个词所对应的权重,得到一个特征向量W,其中W中的每一位分别对应词的哈希值的每一比特,如果为1那么该位置的特征向量为正的权重值,如果为0则为负的权重值;
4)合并所有的词的特征向量,即把每一个特征向量相加;
5)最后进行降维,将特征向量中每个大于0的位置置为1,小于0的位置置为0,得到一个签名值;
对于两个文本的近似哈希的签名,计算其汉明距离,相对于64位的哈希,设定一个临界值,汉明距离在此临界值之内的则认定这2个文本近似;
对于海量文档,本申请维护一个近似哈希签名池,对每一个话题或进行归并的同时,对该文档计算其与现有文章的近似度,对于近似文档则直接归并,并且标记出文档的近似文章,这样规避显示大量的相同文档。