一种基于改进层次聚类的多源网络舆情主题挖掘方法与流程

文档序号:18642682发布日期:2019-09-11 23:43阅读:182来源:国知局
一种基于改进层次聚类的多源网络舆情主题挖掘方法与流程

本发明涉及主题挖掘领域,特别涉及一种基于改进层次聚类的多源网络舆情主题挖掘方法。



背景技术:

网络舆情是指在互联网上流行的对社会问题不同看法的网络舆论,是社会舆论的一种表现形式。近年来,网络舆情对政治生活秩序和社会稳定的影响与日俱增,一些重大的网络舆情事件使人们开始认识到网络对社会监督起到的巨大作用。随着互联网的发展,网络平台因其用户群体广泛,开放性强,信息传播速度快等特点迅速成为网络舆情的主要来源。舆情主题是对用户所发文本的高度抽象概括,理解了舆情主题便可以高效的掌握和利用这些离散的、无序的文本数据。这对网络平台进行舆情主题挖掘具有重要意义,如对热点话题的识别或对突发话题的检测可以有效应用于网络舆情检测,高质量的主题抽取可有效的应用于网络平台信息检索、用户行为分析等领域。同时,对多源网络平台文本进行舆情主题分析,及时挖掘出网络平台舆情主题分布情况,使得网络平台用户及管理者能够相对系统、集中地获取网络平台中舆情主题分布信息,对引导网络舆情走向,营造良好的网络舆情环境有着重要意义。

以往的研究多针对网络社区或社交媒体进行主题挖掘,关注某个网络平台的舆情主题情况。少有针对多源网络平台公共舆情主题与特色舆情主题相关的研究,且研究角度大多致力于主题挖掘的效果以及应用,缺少针对主题层次挖掘的研究。



技术实现要素:

本发明实施例提供了一种基于改进层次聚类的多源网络舆情主题挖掘方法。改进后的层次聚类算法,利用层次聚类算法包含层次信息的优点,并在此基础上从先验知识使用、模型输入向量化、优质主题筛选等角度进行优化,最终使得本文提出的方法能有效适用于主题广泛、文本噪声多、语法缺少规范的多源网络平台短文本的主题挖掘。

根据本发明实施例的第一方面,提供一种基于改进层次聚类的多源网络舆情主题挖掘方法,一种基于改进层次聚类的多源网络舆情主题挖掘方法,具体包括以下步骤:

步骤一、获取词向量;

步骤二、获取主题,得到有约束的数据和不涉及必连约束的数据样本集合数据,对所有数据进行预处理;

步骤三、对步骤二预处理后总的样本数据句向量化,得到总的样本数据句向量;

步骤四、对步骤三中的总的样本数据句向量的进行句向量半监督层次主题挖掘;

步骤五、输出树状图dendrogram。

所述步骤四中,进行句向量半监督层次主题挖掘具体包括以下子步骤:

4.1初始化类别,对于涉及必连约束的数据样本集合进行合并得到类别c1,c2…cr,r为必连约束的数据样本的类别数,对于不涉及必连约束的数据样本点各自作为一类得到cr+1,cr+2…cr+xe,xe为不涉及必连约束的数据样本点个数;得到的总的类别为c1,c2…cr,cr+1,cr+2…cr+xe;

4.2.利用经过步骤三处理后的总的样本数据句向量,计算任意两个类别的距离d(ci,cj),其中,ci,cj∈{c1,c2…cr,cr+1,cr+2…cr+xe},且i≠j;

4.3.层次聚类,得到树状图dendrogram;

4.4对树状图dendrogram中的主题簇自顶向下逐级进行独立性检测;不满足阈值时进行剪枝。

所述步骤4.3中,层次聚类,得到树状图dendrogram,具体包括以下子步骤:

4.3.a)寻找距离最小的两个样本数据ca和cb,a和b为两个数据样本的序号;

4.3.b)将类别ca和cb合并为新的类别cm,m为新的数据样本的序号,提取类别cm表证词,计算表证词信息熵;

4.3.c)当表证词信息熵大于等于优质topic标准阈值时,计算cm与除ca和cb之外的其他类别之间的距离,删除s中类别ca和cb加入类别cm,并构建树状图dendrogram;当表证词信息熵小于优质topic标准阈值时,删除类别ca和cb;

4.3.d)返回4.3.a)直至层次聚类完成。

所述步骤4.4中,所述独立性检测的公式为:

sim(topici,topicj,n)为第i个主题簇与第j个主题簇之间前n个词之间的相似度。

所述步骤一中,词向量使用网络社区和社交媒体文本训练;同时搜集其他领域开放词向量。

所述步骤三中,对步骤二预处理后总的样本数据利用power-means算法,得到总的样本数据句向量;具体为对每一个数据含有多个词,将每一个词参照步骤一中的词向量对应转化为词向量,对多个词的每一维度的值求均值、最大值、最小值,得到三个词向量,然后把这三个句向量串联得到文本句向量;同时,再把网络上开放的通用词向量加进来进行语义补充,通过对多个词的每一维度的值求均值、最大值、最小值得到开放句向量;将两个句向量串联,得到扩充的句向量。

所述步骤一中,具体包括以下子步骤:

1.1将每一个词语映射到n维实数向量空间上,即x∈rn,x为词语,rn为n维实数向量空间,构成一个基于词表v的词向量矩阵l∈rn×|v|,rn×|v|为n×|v|的矩阵,|v|为单词向量空间长度,该词表v是以one-hot编码形式表示的;

1.2模型的输入层是预测词上下文单词的one-hot编码,即对第t个预测词xt的上下文单词个数为c,对于c个词长度的输入上下文,它们的one-hot向量xt-c,…,xt-1,xt+1,…,xt+c,为输入变量;将得到上下文的单词转化为词向量xt-c,…,xt-1,xt+1,…,xt+c;

1.3预测词vt的2c个上下文词向量为vt-c,…,vt-1,vt+1,…,vt+c;初始化输入权重矩阵w|v|×n,将全部词向量分别乘以共享的输入权重矩阵w|v|×n,其中n为预设定的数,将得到的词向量做加和求平均,得到作为隐层向量,长度为1n,将隐层向量vt乘以输出权重矩阵w′n×|v|得到输出层词向量u;

1.4使用向量激活函数处理输出层结果u得到u的概率分布,将概率最大值所对应的单词预测出值与真实值的做比较,对第t个词向量的优化函数jt,用梯度下降法去更新输入权重矩阵w|v|×n和输出权重矩阵w′n×|v|,进而更新词向量ut,重复1.4直至按序训练完全部样本;训练完毕后,输入层的每个单词与输入权重矩阵w|v|×n相乘得到的向量就为含有上下文语义信息的词向量。

所述步骤1.4中,所述优化函数jt为:

其中,ut为第t个输入层的词向量;为第j个输出层词向量的转置。

本发明实施例提供的技术方案可以包括以下有益效果:该方法的核心是由传统层次聚类算法改进而来的半监督层次聚类算法,并在此基础上从模型输入向量化、优质主题筛选等角度进行优化,使得本文提出的方法能有效适用于主题广泛、文本噪声多、语法缺少规范的多源网络平台短文本的主题挖掘;实验表明,该方法可以有效的挖掘主题及其层次结构,并且在细粒度主题挖掘上效果优于传统的lda主题模型;多源的网络平台中包含众多公共主题以及平台特色主题,对网络平台文本数据进行主题挖掘,挖掘出其中的主题以及主题间的层级关系,更便于及时掌握多源网络平台舆情分布情况,有利于后续主题检索、主题演化分析等相关应用研究;同时,使得网络平台使用者、管理者能够相对系统、集中地获取网络平台中的主题分布信息,对引导网络舆情走向,营造良好的网络舆情环境有着重要意义。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是本发明提供了一种基于改进层次聚类的多源网络舆情主题挖掘方法流程图;

图2是本发明提供的半监督层次主题挖掘流程图;

图3是体育主题的第一部分词云图;

图4是体育主题的第二部分词云图。

具体实施方式

如图1所示,本发明提供了一种基于改进层次聚类的多源网络舆情主题挖掘方法,具体包括以下步骤:

步骤一、词向量获取,传统的向量空间模型通过词及词频构建向量,没有考虑上下文间关系及语义信息;而网络平台大多为短文本,词汇匮乏、噪声多且口语化严重,利用向量空间模型进行向量化在向量维度高的同时并不能有效表示其主题特征;相应的,神经网络语言模型在文本向量表示方面在使用神经网络解决自然语言处理问题,其利用上下文关系及语义信息进行训练,采用一个低维度的实值向量来表示词语以避免数据维数灾难;

使用网络社区和社交媒体文本训练;同时搜集其他领域开放词向量;具体包括以下子步骤:

1.1将每一个词语映射到n维实数向量空间上,即x∈rn,x为词语,rn为n维实数向量空间,构成一个基于词表v的词向量矩阵l∈rn×|v|,单词向量空间长度为|v|,该词表v是以one-hot编码形式表示的,用于获得使用神经网络模型来训练得到的词向量;

1.2模型的输入层是预测词上下文单词的one-hot,即对第t个预测词xt的上下文单词个数为c,对于c个词长度的输入上下文,它们的one-hot向量xt-c,…,xt-1,xt+1,…,xt+c,为输入变量;将得到上下文的单词转化为词向量,即vt-c=vxt-c,…,vt-1=vxt-1,vt+1=vxt+1,…,vt+c=vxt+c;

1.3预测词vt的2c个上下文词向量为vt-c,…,vt-1,vt+1,…,vt+c;初始化输入权重矩阵w|v|×n,将全部词向量分别乘以共享的输入权重矩阵w|v|×n,其中n为预设定的数,将得到的词向量做加和求平均,即作为隐层向量,长度为1n,将隐层向量vt乘以输出权重矩阵w′n×|v|得到输出层词向量u;

1.4使用向量激活函数处理输出层结果u得到u的概率分布,将概率最大值所对应的单词预测出值与真实值的做比较,具体为对于第t个词向量,第t个优化函数jt为:

其中,ut为第t个输入层的词向量;为第j个输出层词向量的转置。用梯度下降法去更新输入权重矩阵w|v|×n和输出权重矩阵w′n×|v|,进而更新词向量ut,重复1.4直至按序训练完全部样本;训练完毕后,输入层的每个单词与输入权重矩阵w|v|×n相乘得到的向量就为含有上下文语义信息的词向量。

步骤二、获取主题,得到有约束的数据和不涉及必连约束的数据样本集合数据,对所有数据进行预处理,对搜索的主题进行去停用词、选取主题相关词性、同义词语意增强、去除单字及非中文;

步骤三、句向量化,网络平台短文本含有大量噪声,主题挖掘时只关注主题相关词汇,从文本中选取主题相关词性词汇进行句向量表示,可以使生成的句向量含有更多主题信息,同主题标题语句在向量空间上更为相似,同时减少文本中的噪声对主题挖掘效果的影响。文本中大多含有多个主题相关词汇;

对步骤二预处理后总的样本数据利用power-means算法,得到总的样本数据句向量;具体为对每一个数据含有多个词,将每一个词参照步骤一中的词向量对应转化为词向量,对多个词的每一维度的值求均值、最大值、最小值,这样就得到了三个词向量,然后把这三个句向量串联得到文本句向量;同时,再把网络上开放的通用词向量加进来进行语义补充,通过对多个词的每一维度的值求均值、最大值、最小值得到开放句向量;将两个句向量串联,得到扩充的句向量,power-means算法生成含有语义特征的稠密、低维的实值句向量来表征主题信息,把对文本内容的处理简化为k维向量空间中的向量运算,向量空间上的相似度可以用来表示文本主题语义上的相似,用于主题挖掘任务;

步骤四、半监督层次主题挖掘,如图2所示,具体包括以下子步骤:

4.1初始化类别,对于设计必连约束的数据样本集合进行合并得到类别c1,c2…cr,r为必连约束的数据样本的类别数,对于不涉及必连约束的数据样本点各自作为一类得到cr+1,cr+2…cr+xe,xe为不涉及必连约束的数据样本点个数;得到的总的类别为c1,c2…cr,cr+1,cr+2…cr+xe;

4.2.利用经过步骤三处理后的总的样本数据的句向量,计算任意两个类别的距离d(ci,cj),其中,ci,cj∈{c1,c2…cr,cr+1,cr+2…cr+xe},且i≠j;

4.3.层次聚类,具体包括以下子步骤:

4.3.a)寻找距离最小的两个样本数据ca和cb,,a和b为两个数据样本的序号;

4.3.b)将类别ca和cb合并为新的类别cm,m为新的数据样本的序号,提取类别cm表证词,计算表证词信息熵;

4.3.c)当表证词信息熵大于等于优质topic标准阈值时,计算cm与除ca和cb之外的其他类别之间的距离,删除s中类别ca和cb加入类别cm,并构建树状图dendrogram;当表证词信息熵小于优质topic标准阈值时,删除类别ca和cb;

层次聚类无须预先输入topic数目,自动挖掘出主题以及主题间的层次结构。事实上,并非所有topic都能代表一个真正的主题。由于事先无法确定topic数目,因此,聚类结果可能与想象的结果相去甚远。层次挖掘过深,一些完整的topic可能会被分割成两个或多个topic;层次挖掘过浅,一些不相关的topic可能错误合成一个topic。算法中将有明确话题的topic定义为优质topic,没有明确话题或者话题分散的topic定义为劣质topic;下面具体设计优质topic筛选方法;

优质topic的表证词词频通常呈现不均衡分布,少量核心词以较高的频次出现,而噪声topic的表证词通常是由一些随机词构成,对应高频表证词的概率较低。对每个优质topic筛选中,通过统计可以看出,仅1.25%的词出现频次占总频次的80%以上,即只有少量的核心词以较大的概率出现,其他98%以上的词以均衡的小概率出现。所以选择少量的核心表证词计算信息熵,由于核心词的概率较大,核心词之间概率分布不均衡,因此序列的信息熵越大越好;

优质topic信息熵计算公式如下:

xi为表示第i个核心表证词出现的概率;

4.3.d)返回4.3.a)直至层次聚类完成;

4.4自下而上的聚类过程结束后,对树状图dendrogram中的主题簇自顶向下逐级进行独立性检测;不满足阈值时进行剪枝;

独立性检测,优质topic的表证词中高频词通常具有独占性,即该topic的高频表证词仅出现在该topic下,而不作为其他topic的高频表证词出现。计算topic表征词与其他所有topic表证词之间的相似度,并将相似度累加,累加结果作为一个topic的独立性检测结果,这个值即为independence。

为了对每个topic进行独立性检测,定义sim(topici,topicj,n)为第i个主题簇与第j个主题簇之间前n个词之间的相似度,具体的2个topic表证词之间的相似度为计算2个topic表征词之间共现词的概率乘积累加;

independence(i,n)为对第i个topic利用前n个表证词进行独立性检测所得的independence值;公式如下:

步骤五、输出树状图dendrogram,层次聚类算法输出结果为树状图,与待挖掘的主题树结构相似。通过层次聚类方法进行挖掘可以很好的得到父类、子类等信息;但现有的层次聚类算法无法很好的利用多源网络舆情信息中的板块信息等先验知识。且没有办法应对含有大量噪声文本的情况;本文对现有层次聚类算法进行改进;在生成主题树前后对优质主题进行筛选,最终输出优质主题树。

为了对比改进后的层次主题挖掘方法与其他主题挖掘模型的性能,本文以北邮人社区、水木社区作为验证对象,结合平台api和网络爬虫技术,每个网络平台收集10000条标题数据。同时,将包含在同一版块内的数据添加必连约束,使用本文改进的方法进行主题挖掘,并和常用的lda主题模型得到的结果进行比较评估。

利用改进后的模型对网络平台一个月的数据进行主题挖掘。为了解释说明各个社区的主题含义,计算出各个社区的关键词tf-idf值分布,并将其可视化为词云图。如图3、图4所示,选取两个论坛公共的体育主题的部分词云图,词汇大小表示在该主题下tf-idf值的高低。

将挖掘出的网络平台舆情主题分类体系分别通过表格进行绘制,如下表1、表2所示,两个平台公共一级主题包括生活、工作、校园、体育、科技。北邮人社区特色主题为读研,水木社区特色主题为艺术、人文、思想、经济。

表1北邮人网络平台舆情主题分类体系

表2水木网络平台舆情主题分类体系

半监督层次主题挖掘方法,预先利用神经网络语言模型对网络社区和社交媒体文本进行训练,将每一个词语映射到n维实数向量空间上,得到对应词的词向量。对待挖掘语料进行分词、去停用词、去主题无关词等预处理操作,而后对主题词向量利用power-means算法生成主题标题句向量。将生成的句向量作为半监督层次主题挖掘模型的输入。

对于现有技术的使用lda模型进行主题挖掘需要预先指定聚类主题个数,通常使用困惑度来优化主题个数,一般情况下困惑度越小,聚类质量越好。使用lda模型对验证集进行主题挖掘,实验过程中,lda主题个数选取为n时开始收敛,则将lda模型的聚类主题个数设为n。由于lda模型所得到的结果为属于各个文本的概率值,为了与本文模型进行比较,选取概率最大的主题类别作为lda的结果输出。

利用改进后的模型对网络平台一个月的数据进行主题挖掘。为了解释说明各个社区的主题含义,计算出各个社区的关键词tf-idf值分布,并将其可视化为词云图。如图3、图4所示,选取两个论坛公共的体育主题的部分词云图,词汇大小表示在该主题下tf-idf值的高低。

在具体验证中,为了对比本文提出的半监督层次主题挖掘模型和经典的lda主题模型,本文利用网络平台数据构建验证集,并对两种模型的准确率和召回率进行对比。

构建验证集,通过半人工方式构建了1000条数据验证集。其中包含了生活主题相关的一级类别6个包括租房、买卖、旅行、征友、安家落户、感情生活。二级类别13个包括合租、房屋环境、房屋位置。、代购、门票等。

将验证集输入利用本文改进后的模型,得到主题结果簇与主题间层次关系。

将验证集输入lda模型,得到主题结果簇,由于lda不能进行层次关系挖掘,故选取结果簇中的租房主题,再次进行lda主题聚类。

分别对一级类别结果与二级租房类别结果簇,计算准确率和召回率。准确率计算公式召回率计算公式其中tp表示被聚在一起的两个文档被正确分类了;tn表示不应该被聚在一起的两个文档被正确分开了;fp表示不应该放在一类的文档被错误的放在了一类;fn表示不应该分开的文档被错误的分开了。

通过计算得到本文改进后的方法和lda方法在不同类别及级别下的准确率和召回率,如表3所示,可以看出在一级主题分类的情况下,lda方法与本文改进的方法在准确率与召回率上接近;如表4所示,在细粒度的二级分类的情况下,本文改进的方法在准确率和召回率上均高于lda方法。

表3一级类别对比验证表

表4二级租房主题类别对比验证表

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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