基于自然语言处理的高校舆情情感倾向分析模型的研究

2020-08-10 01:52王啸楠尹辉平
鞍山师范学院学报 2020年4期
关键词:分词分类器文档

王啸楠,尹辉平

(1.安徽信息工程学院 计算机与软件工程学院,安徽 芜湖 241000;2.苏州科大讯飞教育科技有限公司,江苏 苏州 215000)

教育部于2019年2月举行新闻发布会,介绍了2018年全国教育事业发展基本情况,2018年我国共有普通高校2 663所,含独立学院在内.其中,本科院校1 245所,高职(专科)院校1 418所,另有研究生培养单位815个,各种形式的高等教育在学总规模高达3 833万人.伴随着高校学生数量大幅上升而来的是高校网络舆情的爆发,高校学生成为高校舆情的主要传播体.高校舆情影响力的增强在为高校思政工作带来发展机遇的同时,也带来了不容小觑的冲击和负面影响.

因此,如何快速收集、整理网络舆论信息,及时发现学生关注热点话题,抑制消极情绪,纠正错误舆论,降低突发事件对高校产生的负面影响,成为各大高校所面临的重要课题之一[1].

基于上述思考,面向全国各大高校贴吧网站,设计一种高校舆情情感倾向分析模型,该模型通过网络爬虫进行定时采集,以用户评论为主要分析对象,通过自然语言处理技术,发现舆情热点话题,并针对热点话题评论进行情感正负倾向分析,将分析结果可视化,达到高校舆情情感倾向分析的目的.

1 模型架构

整个模型按照工作流程顺序进行划分,共分为5个阶段:语料库准备、数据预处理、舆情监测分析、性能评估、结果可视化,如图1所示.

(1)语料库准备:通过网络爬虫技术完成原始数据和新数据的采集,同时完成原始数据的整理,为后期数据训练做准备.

(2)数据预处理:针对已采集文本数据进行清洗,去除脏数据,并通过NLPIR中文分词系统完成分词、词性标注等预备工作,为后期数据特征分析做准备.

(3)舆情监测分析:完成两个核心功能分析,分别是热词分析以及发帖内容评论的情感倾向分析.

(4)性能评估:将通过分类器的准确率、召回率和F值对模型情感倾向分析进行评估.

(5)结果可视化:通过搭建网站页面对分析后的数据进行可视化展示.

图1 模型工作流程顺序展示图

2 算法实现

2.1 语料库准备

语料库分为两个组成部分:原始数据和新数据.原始数据主要扮演训练集和测试集角色,用于训练和测试计算模型的准确度,为选择情感倾向分类器提供数据基础;新数据为真实评价数据,为可视化展示阶段提供真实数据来源[2].

两种数据均来源于网络爬虫爬取,区别在于,以X年X月X日为分界线,原始数据为一次性爬取,将该日之前某一区间段数据爬取保存,保存后针对原始数据进行评论分类,分为积极评论文本和消极评论文本;而新数据则在该日之后,以日为单位,每天定时爬取[2].

数据爬取文本主要包含2个,分别是baseURL文本和id文本.baseURL文本为第一爬取文本,包含字段有:id(序号)、title(帖子标题)、link(该主题贴评论链接);通过链接爬取第二个id文本,顾名思义,以id为文件名,该id与baseURL中的id对应,用于保存该id主题贴的全部信息,包含字段有:id(与文件名一致)、title(帖子标题)、author(作者)、time(发表时间)、floor(评论楼层)、reviewer(评论人)、comment(评论内容).发表时间可用于后期最新发帖排序,评论楼层的多少可用于热门发帖排序,作者和评论人可用于后期统计该人的活跃度,评论内容为舆情情感倾向分析的基础数据.

2.2 数据预处理

首先,将爬取后的文本数据进行清洗,去除信息不全、表情图片、文字乱码等脏数据.针对处理后的文本数据集,采用NLPIR(全称:NLPIR-ICTCLAS汉语分词系统)对文本进行分词,该系统由中科院团队研发,具有对中文英文信息进行分词与词性标注功能.在分词之前准备两张表:停用词表和用户自定义表,通过去除停用词和添加自定义用户词来提高分词的准确性和针对性.停用词表主要用于过滤一些无效、无实质意义或者干扰词汇,例如“阿”“了”“哎呀”“不仅”等字、词或词组;用户自定义表主要用于设置一些主题词汇以及特殊的网络词汇,例如“北大”“挂科”“给力”“真香”等非常规词组,由于该模型用于处理高校舆情,因此自定义用户词将以高校为对象重点添加,例如“高数”“大物”“网课”等.将数据分词后的文本定义为评论单词comments_words文本,该文本用于舆情监测分析中的热词分析以及关联词分析.

2.3 舆情监测分析

舆情监测分析是整个模型的核心部分,以下对热词分析以及评论情感倾向分析进行具体阐述.

2.3.1 热词分析 LDA是一种较为成熟的文档主题生成模型,其本质是三层贝叶斯概率模型,常用于自然语言处理.考虑传统LDA主题模型的局限性,该部分通过在传统的LDA主题模型中融入文本类别的TF-IDF算法实现对文本类别的关键词提取[3,4].

TF-IDF算法由TF算法和IDF算法组合,是一种经典的数据挖掘特征加权算法.TF算法用于获取一个词i在文档j中出现的次数,即词频tf(i,j),n(i,j)表示单词i在文档j中出现的次数,n(k,j)表示文档j中共含有k个词,则tf(i,j)表示为

(1)

考虑到有些词可能在文档中虽然频繁出现,但往往其重要性并不高,例如“请问”“东西”等词语,因此通过IDF算法可以获取一个词i在文档中普遍重要性的度量权值,即逆文档词频idf(i),其中,|D|表示语料库中的总文档数,dj表示语料库中词i出现的文档数,则idf(i)可表示为

(2)

则TF-IDF为tf(i,j)和idf(i)相乘所得到的权重越大,则该词成为关键词的概率越高,表示为

(3)

在获得每个词语的权重矩阵基础上,构建LDA模型对象.LDA模型认为通过若干词语可以体现某种主题,而一篇文档可包含多个主题,因此生成一篇文档的过程也就包含两个阶段:由词语到主题,再由主题到文档[5].

设w代表词语,t代表主题,d代表文档.将nti表示文档对应到第i个主题的词语个数,n代表文档中的词语个数,则文档d中第i个主题ti可表示为

(4)

假设形成k个主题,将Pti表示某个文档对应到第i个主题的概率,则每个文档d对应到不同主题的概率:

p(t|d)=θd.

设V代表整个文档词语集合,将wi表示主题i中的第i个单词,则每个文档d中都包含一个单词序列,将Nwi表示对应到主题t的V中第i个单词的个数,N表示所有对应到主题t的单词总数,则wi可表示为

(5)

假设V中有m个不重复的词语,Pwi表示主题t生成V中第i个单词的概率,则对于主题t,生成不同单词的概率:

p(w|t)=φt.

以某日的评论数据为例,整个实现过程如下:

(1)载入分词处理过的评论单词comments_words文件;

(2)构建TfidfVectorizer对象,进行多次实验调整找到最大特征值,通过fit_transform函数得到评论文本的TF-IDF权重矩阵.

(3)在获得每个词语的权重矩阵基础上,构建LDA模型对象,通过设置LDA模型对象参数获得Top N的热词,利用fit函数完成对每个词语权重矩阵的数据集训练,最终训练出两个结果向量,即P(w|t)和P(t|d)两个概率分布.

(4)通过TfidfVectorizer对象中的get_feature_names函数获取整个热词的最终权值数据,根据权值降序排序,获取热词列表.

2.3.2 情感倾向分析 情感分类器选择是情感倾向分析功能实现中非常重要的一部分,该部分需要训练原始语料数据,并通过测试数据集的测试结果来完成模型评估.

首先,将原始数据按照评论的正负情感进行分类,整理出积极文本和消极文本,累计语料约6万条评论,利用NLPIR对这两个文本中的数据集进行分词,去掉停用词表,添加用户自定义词表,针对积极词汇设置特征值1,消极词汇设置特征值0,实现两个数据集分类:积极词汇列表pos和消极词汇列表neg.

其次,为了增加分类器选择的准确性,将两个数据集的数据排列随机化后再进行合并,针对合并后的数据集随机划分为训练集x_train和测试集x_test.

接着进行分类器选择,数据集将通过3次比例划分,尝试4种分类器,分别是:BernoulliNB伯努利贝叶斯分类器、MultinomialNB离散型朴素贝叶斯分类器、LogisticRegression逻辑回归分类器和LinearSVC支持向量机线性分类器.为了衡量不同分类器的准确性和实用性,采用3个评测指标来描述测试效果,分别是:准确率、召回率和F值,并对结果进行了计算和总结[5].结果如表1所示.

表1 不同分类器评测指标测试结果

通过表1数据可知,4种分类器中,LogisticRegression逻辑回归分类器和LinearSVC支持向量机线性分类器表现较好,而逻辑回归分类器则表现相对更优.

以某条发帖评论数据为例,整个实现过程如下:

(1)构建线性回归分类器,针对语料库中6万条原始数据构建训练集,通过该训练集完成线性回归分类器训练.

(2)完成某条发帖数据采集与预处理,形成新的发帖评论文本,字段包括发帖id,以及该id下的全部评论comments.读取该帖评论文本,构建该帖下的全部评论集合X.

(3)构建新的评论集合Y,从旧的评论集合X中迭代出每一句评论,生成词袋Di,即字典,Di表示第i条评论的词袋,针对每一句评论进行分词,分词过程中需去除停用词并添加自定义用户词,将分词后的每一个有效词语进行标记,装入词袋,再将Di放入Y中.

(4)通过训练后的分类器针对新的评论集合Y进行分类,返回整个评论分类结果集合,分类积极为1,分类消极为0.假设集合中积极个数为Pn,消极个数为Nm,则该帖评论中积极情感占比r(p)和消极情感占比r(n)可表示为

(6)

(7)

(5)将发帖信息与该主题帖下的评论情感倾向占比结果进行可视化.

3 总结

该模型通过自然语言处理技术,针对高校舆情这一主题进行评论情感倾向分析.由于该模型主要用于实现整个热词分析与评论情感分析流程的贯通,因此对于数据量不做前期要求,后期可大幅度提升舆情数据量,通过采用Hadoop相关技术实现大数据集的分布式存储和数据处理,大大缩短前期数据准备以及预处理速度,从真正意义上实现一个基于Hadoop的高校贴吧舆情监控系统.并且,该模型对于评论中出现的图片、表情等其他载体所包含的舆情信息并无涉及,还有待进一步研究.

猜你喜欢
分词分类器文档
浅谈Matlab与Word文档的应用接口
学贯中西(6):阐述ML分类器的工作流程
有人一声不吭向你扔了个文档
分词在英语教学中的妙用
基于朴素Bayes组合的简易集成分类器①
结巴分词在词云中的应用
结巴分词在词云中的应用
一种自适应子融合集成多分类器方法
Word文档 高效分合有高招
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat