基于文本和网络拓扑结构的用户立场检测算法*

2021-09-15 08:48尚义博刘笑影
计算机与数字工程 2021年8期
关键词:立场节点特征

方 冰 尚义博 刘笑影

(上海大学管理学院 上海 200444)

1 引言

在当今时代,社交平台已成为用户获取信息和表达观点的主要渠道。庞大的社交媒体用户量以及频繁的社交活动形成了大量的以博文形式存在的用户生成内容[1]。因此,基于用户生成内容的意见挖掘[2]已成为热门的研究领域。用户立场检测作为其中一个重要的新兴研究课题,指的是检测用户对某一特定事件是否持有立场或立场是支持还是反对[3]。

现有的用户立场检测工作可以分为两类:一类是基于特征工程的机器学习立场检测方法,通过挖掘丰富的文本语义特征结合特征融合的方法研究立场检测问题;另一类是基于深度学习,借助CNN、RNN、LSTM等神经网络模型来开展立场检测工作。两类方法均以文本作为唯一研究对象通过机器学习算法来研究立场检测问题。忽略了除博文信息外其他对于用户立场检测的影响因素。为了克服这一局限性,本文提出了一种新的基于文本和网络拓扑结构的立场检测算法。该算法基于认知理论,认为用户的立场是由其先验立场和外界环境共同作用形成的,通过分析用户文本语义特征提取先验立场,通过分析用户所处的社交网络结构特征提取外界影响力强度,最后由两者共同作用确定用户最终立场。

2 相关工作

现有的社交网络用户立场检测算法研究主要分为以下两类:基于特征工程的立场检测方法和基于深度学习的立场检测方法。两类方法均通过机器学习算法来研究立场检测问题。

2.1 基于特征工程的立场检测方法

最初的立场检测通过尽可能地挖掘文本特征来开展研究工作。Pang等[4]将文本n-gram、词性特征置于立场检测工作中,表明一元文法特征在立场检测中效果更佳。Xu等[5]采用了更广泛的文本语义特征,如Para2vec,LDA,LSA,LE,LPI等研究立场检测中特征适用度与话题相关性问题。Liu等[6]则是在探究不同特征的基础上将特征进行了融合。Dian等[3]将主题词和立场标签共现关系这一特征放入立场检测研究中,探究微博文本隐含语义问题。

2.2 基于深度学习的立场检测方法

一般基于深度学习的立场检测方法大多借助CNN、RNN、LSTM等神经网络模型来开展立场检测工作。

Lecun等[7]利用CNN构建了一个多层次的神经网络学习算法。Wei等[8]则通过谷歌新闻训练文本词向量,利用CNN进行特征提取并实现分类。CNN在输入输出方面表现优异,但在处理连续序列的样本时,却很难将其划分成独立的单元进行训练,所以在自然语言处理领域实际应用比较广泛的是基于RNN模型的一个特例LSTM[9]。MITRE[10]基于深度学习使用了一种基于RNN的两层方法进行立场检测研究。Augenstein等[11]采用了LSTM对文本以及描述文本的主体进行综合建模。Yu等[12]使用双层神经网络,在CNN下嵌套LSTM开展立场检测工作取得不错的分类效果。

综上所述,基于特征工程的方法需要从复杂多变的大量信息中寻找更丰富的文本特征来提升整个实验的表现;基于深度学习的方法通过计算机自动习得模式特征并将特征融入到模型构建中。这两类研究都仅仅将微博文本作为唯一的研究对象,忽略了除博文信息外其他信息对于用户立场检测的影响。针对这个缺陷,本文提出一种基于文本分析技术和网络拓扑结构分析技术的立场检测算法。该算法以认知理论为出发点,在基于特征工程的立场检测方法的基础上加入区别于微博文本信息的新特征。这既弥补了基于特征工程方法对于特征的丰富性要求,也为深度学习的特征输入提供了新的补充,更为重要的是为立场检测研究提供了一个新的研究方向。

3 研究框架

人类认知理论认为[13~14]人类在生活的过程中首先会形成对于不同事物的先验认知,继而通过先验认知来处理事物,当事物携带信息与其先验认知产生差异时便会出现认知失衡现象,接着人类通过判断学习形成对于该事物的新认知,如图1所示。

图1 人类认知过程

根据人类认知理论,本文认为用户最终立场的形成过程为首先用户所处的社会经济地位决定其先验立场,接着用户所处的环境影响用户的先验立场,最后在这两方面因素的共同作用下生成最终立场。如图2所示。

图2 用户立场形成过程

因此用户立场检测的核心包含以下两点:一个是确定用户所处的社会经济地位,二是如何有效地选取和评估外界因素。基于此,本文提出了新的立场检测算法,如图3所示。

图3 研究框架

3.1 社区划分

为了更好地研究基于社交网络拓扑结构影响的立场检测,我们将大型的社会网络划分成多个独立的社区。本文采用最大化整个数据模块度的社区发现算法——Louvain算法[15]。

3.2 特征提取

本文从用户发布内容数据中提取了文本特征、从用户社交网络数据中提取了网络拓扑结构特征。

3.2.1 基于用户社交网络拓扑结构特征

本文将社区结构特征以及用户结构特征作为立场检测外界影响的具体反映。

1)度中心性:一个节点的度中心性越高,其在网络中就越重要。其计算如下:

CD(Ei)表示节点的度中心性,cij表示用户i与用户j的联系。

2)中介中心性:通过一个结点与其他节点相连的最短路径桥梁的次数来反映一个节点的重要性。其计算如下:

其中CB(Ei)表示节点的中介中心性,bij(Ei)表示用户i与用户j连接的最短路径长度。

3)紧密中心性:通过计算该节点到其他节点的最短路径和的倒数来衡量一个节点与网络中其他节点的接近程度。其计算如下:

其中CC(Ei)表示节点的紧密中心性,p(Ei,Ej)表示节点i到节点j的最短路径。

4)特征向量中心性:根据相邻节点的中心性来计算该节点的中心性。其计算如下:

其中Ce(Ei)表示节点的特征向量中心性。

5)聚类分数:聚类分数越高的节点,节点间的联系越紧密。其计算如下:

其中CC-S表示聚类分数,S UM(F)表示与该节点有联系的所有节点数。

6)社区特征集:本文将基于社区特征的度中心势、中介中心势、紧密中心势、聚类分数进行集合。其计算如下:

Cmix表示特征聚合,Cmax表示网络的最大中心性。

7)社区归属指标:本文通过用户互动数据来研究社区环境对用户立场的影响。其表示如下:

3.2.2 基于微博语义特征

本文在先前研究的基础上提取文本的两类特征:

1)基于词频统计特征

本文选取基于Unigram的词袋特征对微博进行词袋化。同时采用最常见的TF-IDF算法[16]对词袋化的向量进行加权。

2)文本潜在语义特征

(1)段落向量(para2vec)

本文利用Gensim以及原始数据集,训练了一个100维的word2vec模型。

(2)文档主题生成模型(LDA)

本文将主题数量设置为50,将每一篇文档转化成易于建模的词频向量。

(3)潜在语义分析(LSA)

本文首先建立Term-Document矩阵,接着对矩阵进行奇异值分解并构建潜在语义空间。

(4)文本相似性(sim)

本文将筛选后的博文分为11个主题,本文将文本相似性计算放在不同话题下。

3.2.3 分类器选择

结合先前基于特征工程的立场检测研究,本文采用支持向量机(SVM),逻辑回归(LR),朴素贝叶斯(NB),Adaboost(ADA)以及随机森林(RF)五种机器学习方法进行立场检测实验。

4 实验过程与结果讨论

4.1 数据收集

本文基于新浪微博的真实数据集,将社区划分为548个社区。数据包含40个社区共20730个原创用户,116538条原创博文以及213450个转发用户。基于LDA对微博原始数据集进行主题词提取分析,一共得到11个主题共8900条微博并完成数据标注工作。

4.2 立场检测实验

针对立场检测研究,本文进行了三组实验。

实验1:探究不同主题单体特征下文本特征与用户社交网络特征的优劣性。其中所有单体特征相互对照。

实验2:在实验1的基础上探究文本所提出的特征的有效性。实验2将实验所需特征重新划分为三部分,其中文本特征(TFIDF、Para2vec、LDA、LSA、SIM)、拓扑结构特征(度中心性、中介中心性、紧密中心性、特征向量中心性、聚类分数、社区特征集、社区归属)分别作为对照组,(文本+拓扑结构特征)作为实验组。

实验3:在实验1,实验2的基础上探究本文所提出的特征的话题适应度。实验3将特征划分为两部分,其中对照组包括(TFIDF、Para2vec、LDA、LSA),实验组则包括所有的十二个特征。本文对以上所有特征依据如下公式进行特征归一化。

4.3 分类器选择

对于数据不均衡问题,本文采用欠采样的方式进行处理。训练集与测试集按4:1进行划分。其中实验1,实验2采用支持向量机(SVM),朴素贝叶斯(NB),Adaboost(ADA)以及随机森林(RF)四种机器学习方法进行分类实验。实验3在此基础上增加了逻辑回归(LR),使用五种机器学习方法进行实验。所有实验均采用5折交叉验证。

4.4 评价指标

本文采用最常用的准确率、召回率和F1值作为评价标准。由于立场检测更在乎有立场的信息。因此本文增加了支持和反对类的F1均值Favg作为综合评价指标。

4.5 结果分析

4.5.1 探究不同主题单体特征下文本特征与用户社交网络特征的优劣性

本文首先研究不同主题下单一特征的分类情况。以“春晚”主题为例。基于Para2vec的分类结果更好,均值达到72.8%,分别高于TFIDF、LDA、LSA、sim,10.5%、17.2%、11.9%、8.7%。这表明基于word2vec计算的Para2vec能更好地捕捉文本语义信息。反观拓扑结构特征在单一特征中表现不佳。这是因为在微博立场检测中,用户的信息特征更稀疏,在结果预测上图4反映了基于“春晚”主题单一特征的整体情况。

图4“春晚”主题特征的情况

4.5.2 探究拓扑结构特征的有效性

考虑到本文探究包含基于网络拓扑结构部分,因此判断社区指标在加入立场检测实验后的分类表现就变得至关重要。本文将实验1单一特征调整为三部分特征集:文本特征集(TFIDF、LDA、LSA、Para2vec、sim)、拓扑结构特征集(度中心性、中介中心性、紧密中心性、特征向量中心性、聚类分数、社区特征集、社区归属)、(文本特征+拓扑结构)特征集。并将新特征组合放在十一个主题下进行立场检测。朴素贝叶斯(NB)分类器下,十一个主题基于三个特征组的平均分别为60.45%、49.05%、70.27%。随机森林(RF)下为62.80%、55.60%、70.00%。支持向量机(SVM)下为67.54%、62.89%、73.81%。Adaboost(ADA)下为61.40%、55.31%、71.34%。从图5也可以看出不同主题下,基于文本+社区特征的表现最好。这表明本文加入的特征指标的有效性。图6表明针对本文不同主题的分类实验中支持向量机(SVM)表现更优。

图5 多主题多分类器下特征分类情况

图6 十一个主题下分类器表现

4.5.3 探究基于社交网络拓扑特征立场检测方法的话题适应度

实验3用来探究忽略主题下的立场检测。本文将采用上文所提出的对照组特征进行对比实验。图7~9呈现了实验的实验的准确率、召回率以及F1。数据结果表明基于五个机器学习方法的实验组结果均优于对照组。这表明不考虑特定主题,本文指标仍能够有效地提高立场检测结果。

图7 实验3准确率

图8 实验3召回率

图9 实验3 F1

5 结语

本文基于先前立场检测研究以及人类认知理论提出了基于文本和网络拓扑结构的用户立场检测算法。首先采用Louvain算法,将用户社交网络划分成独立社区。接着本文根据真实数据集,采用LDA方法进行主题词提取分析,确定十一个实验主题并完成数据标注,之后本文通过三个实验开展立场检测研究。实验1研究在不同主题下单一特征的分类情况,结果表明基于文本的特征优于基于拓扑结构的特征。实验2将原始特征集分为三部分:文本特征、拓扑结构特征、(文本特征+拓扑结构)特征。结果表明基于(文本特征+拓扑结构)特征的立场分类表现最优,这表明本文所提出指标的有效性。实验3选取基于词频统计的特征以及文本的潜在语义特征作为对照组特征。选取基于文本相似性指标以及基于基于用户社交网络的拓扑结构的特征作为实验组结果表明本文提出的特征能有效提升立场分类结果。

本文开展的基于新浪微博的立场检测研究,还需要借助其他数据来验证模型的性能。此外本文采用人工标注的方法存在标注误差。在未来的研究中,将继续探索其他外界因素对于用户立场的影响并挖掘更丰富的文本特征以及用户画像信息确定用户先验立场。

猜你喜欢
立场节点特征
基于RSSI测距的最大似然估计的节点定位算法
离散型随机变量的分布列与数字特征
分区域的树型多链的无线传感器网络路由算法
一种基于能量和区域密度的LEACH算法的改进
扬 善
扬善
基于点权的混合K-shell关键节点识别方法
抓特征解方程组
不忠诚的四个特征
草地