公路交通舆情监测及系统开发
2021-02-22汤丽华吴星宇徐华健朱燕翔刁业敏吴建盛
汤丽华,吴星宇,徐华健,朱燕翔,刁业敏,吴建盛
(1.南京邮电大学地理与生物信息学院,江苏 南京 210023) (2.南京邮电大学通信与信息工程学院,江苏 南京 210003) (3.南京仁面集成电路技术有限公司VeriMake实验室,江苏 南京 210088) (4.南京叁角加文化发展中心TP实验室,江苏 南京 210005)
目前,舆情分析方法已从人工分析舆情信息的情感倾向,过渡到了通过一系列文本情感分析算法进行舆情信息情感分析. 文本情感分析算法通过对网络上的文本进行智能化分析,可以挖掘文本内容蕴含的各种观点、喜好等非内容或非事实信息,提炼文本中蕴含的情感方向,明确文本传播者的真实意图. 文本情感分析主要分为基于语义的分析和基于机器学习的分析两种类型. 基于语义的分析一般通过构造倾向性词典,借助语义分析工具如Word Net或 How Net等进行文本倾向性判别[1]. 但其较少考虑上下文语义联系,难以适应网络舆情信息的动态演化性. 基于机器学习的分析采用机器学习方法,通过对大量标注倾向性词汇的训练构造一个褒贬两类分类器,让机器自动进行倾向性判别,更适合于网络舆情信息的倾向性分析.
2013 年Google发布了Word2vec[2],深度学习方法在自然语言处理领域开始普及,情感分析进入快速发展阶段. 借助机器学习特别是深入学习技术,采集并整合社交媒体上的舆情信息,进而进行分析处理已经成为当下的研究热点[3]. 2009年,Go等[4]对民众在Twitter上发布的文章进行情感分析. Mukherjee等[5]提出了一种轻量级的分析方法,充分结合了否定词、连词与情态动词等词语特性对于情感倾向的影响,考虑了N-gram、词性等特征,使用SVM算法大幅度地提高了对Twitter的情感倾向分类准确率. Kaur等[6]将N-gram 用于特征提取并在句子后添加标记,结合KNN分类算法精确率达到 82%. Rathor等[7]结合字母加权对比分析了SVM、NB和ME 3种机器学习技术. 深度学习是人工神经网络在使用多层网络进行任务学习中的应用,随着深度学习在图像和语音处理方面取得重大进展,其在情感分析领域也开始被广泛应用[8]. Mikolov等[2]提出CBOW和Skip-gram模型,前者是利用上下文词来预测目标词,后者是利用目标词去预测周围词,对细粒度的语义有较好的表达. Zeng等[9]提出的Pos ATT-LSTM模型同时考虑了上下文词和上下文位置关系的重要性. 对于结构复杂的阿拉伯语,Heikal等[10]把最佳的CNN模型和双向LSTM模型集成起来,提高了分类准确率. Du等[11]使用了分段池化策略,并对最大值拼接的向量做Tanh函数运算,同时引入了dropout算法. 冯兴杰等[12]将CNN与注意力机制相结合,CNN考虑了不同的 N-gram 信息,注意力机制则考虑了文本句子与结果的相关性.
在交通舆情的文本挖掘领域,相关研究主要集中在交通事件与各种新型大数据媒体的分离、实时道路交通状况跟踪、游客感知、碰撞检测和车辆设备故障诊断等方面,而交通领域舆情情感分析研究相对较少. Cao等[13]将交通舆情情感分析分为同义词替换、主题识别、属性提取和评估4个阶段. Ardic等[14]基于结构方程研究媒体报道对交通政策舆情影响,计算舆情情感与媒体的关系. Cao等[15]基于半监督学习方法对中文微博用户进行情感分析并预测交通拥堵道路和时间. Lu等[16]基于Word2vec事件融合模型并通过多渠道社交信息,感知检测城市交通事故并对其进行可视化. 何梦娇等[17]利用SVM模型进行交通舆情主题自动分类,基于Apriori算法利用关联规则分析关键词隐含的交通现象,并使用共现网络分析方法深入挖掘舆情所反映的交通问题. Ali等[18]基于潜在狄利克雷函数方法和本体论进行交通情感分析,研究城市交通拥堵问题. 冒婷婷等[19]针对网民对关键基础设施社会服务供应能力的情感倾向,利用深度学习模型进行舆情分析,建立了基于情感挖掘的基础设施社会韧性评价模型. 以上分析表明,通过网络媒体监测交通舆情信息、掌握情感倾向、反馈交通治理效果具有可行性.
我国公路四通八达,公路运输行业与民众生活息息相关. 每年因公路交通而引发的舆情事件数量庞大,涉及内容广泛,事件归因复杂,信息蔓延迅速,极易滋生舆情热点[20]. 目前针对公路交通领域的舆情监测和情感分析的研究很少. 江苏省是公路交通大省,公路交通舆情监测复杂且极其重要. 本文以江苏省为例,采集了从2019年10月到2020年9月一整年间江苏省公路交通相关网络文本信息数据,从季度、年度、重大事件3个角度分别进行了舆情监测和分析,梳理了热点舆情的内容及走势变化,设计了一种基于长短期记忆网络(long short-term memory,LSTM)方法的公路交通舆情情感分析模型,并构建了一套公路交通舆情监测系统.
1 数据集与方法
1.1 数据集
本文采集了从2019年10月到2020年9月一整年间江苏省公路交通相关网络文本信息数据,主要包含:全省普通公路的建设、养护方面工作,具体指普通国省干线公路、农村公路的施工现场、路面养护情况;全省普通公路的管理,生命防护工程管理和普通公路收费站管理;全省普通公路的服务管理,普通公路的服务区、公路驿站的服务管理,普通公路附属服务设施的建设和管理;此外还包括全省普通公路所应用的新技术等.
本文使用Python语言进行数据的爬取. 首先,将Python程序伪装成浏览器,通过rsa加密模块模拟登录,爬取数据;然后构建所需的URL,发送爬虫请求,在接收到请求后,网页将判断是否为通过机器人爬取数据,如是则需输入验证码;最后,程序判断网页返回的数据是否为空,若为空继续构建URL,反之则程序解析数据后将数据存储到文件中去. 将上述数据存储到excel文档中,并进行数据的预处理. 预处理包含了分词、去除停用词和文本向量化. 本文采用中文分词库jieba中的精确模式,将句子中每个单词精确地分割开. 由于某些词语对于语义的影响不明显,需过滤这些停用词. 最后,采用Word2vec技术对完成分词处理的文本进行向量化. 本实验使用的数据库为MySQL8.0.
1.2 方法
本文分别从季度、年度、重大事件3个角度进行了关键词分析. 读入文本数据后,使用jieba库的精确模式进行分词,再导入WordCloud库. 通过关键词的演变分析,可以准确地掌握主流的舆情.
本文采用LSTM模型进行情感分析. LSTM模型是一种特殊形式的循环神经网络,是为了解决基于长文本序列的模型训练过程中梯度消失和梯度爆炸等问题而提出的,在自然语言处理的领域有着较好的效果. LSTM模型如图1所示.
图1 LSTM模型Fig.1 LSTM model
LSTM通过增添3个门控单元(输入门、输出门、遗忘门)的方式进行信息的选择. 输入门对当前数据及其上一个时间进行激活,然后对输入到 LSTM 细胞中的信息进行选择性控制,只通过对下一步进程有用的信息,阻挡无用的噪声. 若输入门的值为零,则断开来自另一个节点的数据;若输入门的值为1,则所有的信息都将通过. 输出门的目的是控制状态的输出,通过控制 LSTM 状态来减少对输出的不利影响. 遗忘门的目的是控制状态的更新,通过抉择上一时刻的状态来保留对预测有用的信息,丢弃无用的信息. LSTM通过输入门、遗忘门、输出门来共同解决数据中的噪声干扰,原理见式(1)-(6):
it=σ(Wi·[ht-1,xt]+bi),
(1)
ft=σ(Wf·[ht-1,xt]+bf),
(2)
(3)
ot=σ(Wo·[ht-1,xt]+bo),
(4)
(5)
ht=ot·tanh(Ct).
(6)
式中,ht-1表示上一时刻的输出;bi、bf、bo、bc分别表示和门控函数及细胞状态有关的偏置矩阵;xt为最新输入;Wi、Wf、Wo、Wc分别表示和门控函数及细胞状态有关的权重矩阵;σ代表门函数,大多数情况下是 sigmoid 函数,范围为 0-1;it代表输入门,ft代表遗忘门,ot代表输出门;Ct-1表示旧的细胞状态;Ct表示新的细胞状态,实现长记忆;ht表示这一时刻的输出,实现短记忆;ft控制在多大程度上丢弃老的记忆单元内容;it控制在多大程度上将新信息存入当前记忆单元中;ot控制基于记忆单元Ct的输出.
基于LSTM的文本情感分析方法实现流程如表1所示. 其中,Word2vec是Google推出的一个用于获取词向量的工具包,CBOW是其中一种网络模型,使用上下文的词汇来同时预测中间词. 通过平均池化层来把词向量集合H降维生成表达词向量h,以及防止过拟合的发生. 逻辑回归层用于将连续的多维输出转换为“类”.
表1 方法实现流程Table 1 Implementation flow of the method
2 结果和讨论
2.1 舆情数据分析
通过对舆情监测系统所爬取的舆情内容分别从季度、年度、重大事件3个角度进行简要的统计分析,梳理了热点舆情的内容及走势变化.
(1)舆情数据季度分析
2019年第四季度,舆情内容以一系列各地区公路中心动态为主,主要有公路养护、公路安全及各种保障整治工作等. 受无锡312事故影响,涉及桥梁安全、严查治超等相关报道也有一定的数量. 舆情报道大部分为正面;负面舆情较少,约占9%,大多与无锡312事故相关.
2020年第一季度,舆情内容主要涉及疫情防控、防疫保畅、公路养护、复工、春运等内容.
2020年第二季度,舆情内容以一系列各地区公路中心动态为主,主要有公路整治、公路养护及各种安全保障工作等. 舆情报道大部分为正面;负面舆情较少,约占8%,主要涉及一些道路交通小事故等.
2020年第三季度,舆情内容以一系列各地区公路中心动态为主,主要有公路整治、公路养护、路面修复及各种安全保障工作等. 舆情报道大部分为正面;负面舆情较少,约占8%,主要涉及一些道路交通小事故和道路问题.
(2)舆情数据年度分析
2019年第四季度至2020年第三季度,舆情内容以各地区公路中心日常工作动态为主,主要包括道路养护修建、道路安全保畅整治和安全检查工作等. 同时,舆情内容也和相关热点事件有关,如:受无锡312事故影响,涉及桥梁安全、严查治超等相关报道增多;随着国庆假期的来临,涉及道路安全检查及道路保畅相关舆情报道增多. 舆情内容正面居多,负面舆情主要涉及一些道路交通小事故和道路问题等.
(3)舆情数据重大事件分析
2019年10月10日,江苏无锡312国道K135处、锡港路上跨桥发生桥面侧翻事故. 桥下共有3辆小车被压,其中一辆系停放车辆(无人),事故共造成3人死亡,2人受伤. 以无锡312事故动态为例,舆情内容主要有桥梁安全、严查治超等工作. 其中,针对该事故舆情存在以下几点问题:(1)权威信息发布慢,发布水平需提升;(2)需要同媒体打好交道,展示出良好的政府形象;(3)要对超载进行进一步的整顿.
表2 LSTM方法与其他方法的比较Table 2 Comparison of LSTM with other methods
2.2 基于LSTM模型的舆情情感分析
本文按照8∶2的比例将数据集随机划分为训练集和测试集,对每组数据集,重复3次实验,并取其Accuracy、Precision、Recall、AUC的平均值作为最终结果. LSTM模型的主要配置参数包含了训练最大轮数(epoch=10)、词嵌入大小(embeddingSize=100).
将本文方法与支持向量机(support vector machine,SVM)和卷积神经网络(text convolutional neural network,textCNN)进行比较,如表2所示. textCNN通过一维卷积来获取句子中N-gram的特征表示. textCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域专注于意图分类时效果很好;对长文本领域,textCNN主要靠filter窗口抽取特征,在长距离建模方面能力受限,且对语序不敏感. LSTM可以捕捉到序列信息,在情感分析这种词序很重要的应用场景中效果更好. 在该数据集上,LSTM准确率、查准率、召回率达到了96.1%、84.2%、88.9%,AUC值达到了0.904(阈值=0.7). 与textCNN相比,准确率、查准率、召回率和AUC值分别提升了3.2%、0.9%、3.3%和0.053;与SVM相比,分别提升了7.2%、4.8%、7.7%和0.082 1. 可见,使用LSTM模型对于解决文本情感分析问题时效果要比SVM和textCNN更好,究其主要原因是LSTM模型具有一定的记忆能力,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件.
本文分析了不同的词向量维度大小对模型性能的影响,如图2(a)所示. 对数据分别进行50、100、150、200维词向量处理,然后用带有标签的文本对LSTM模型进行对比实验,准确率分别可达到89.3%、89.9%、88.9%和88.6%. 结果显示,当词向量维度为100的时候,准确率会达到最大值89.9%,因此本文采取词向量维度为100进行模型训练.
本文还考虑了LSTM模型的训练最大轮数对结果的影响,如图2(b)所示. 训练的最大轮数epoch是影响模型性能的关键参数,次数过大则会出现过拟合现象. 损失率可用来估量模型的预测值与真实值的不一致程度,损失率越小,模型的鲁棒性就越好. 分别选取epoch为5、10、15、20、25进行测试,结果显示,随着epoch的增加,模型的损失率呈现先下降后上升的趋势,当epoch为10时,模型的损失率达到最优值16.8%,因此本文的训练最大轮数设置为10.
图2 重要参数对实验数据的影响Fig.2 Influence of important parameters on experimental data
图3 系统模块与功能Fig.3 System modules and functions
3 系统开发
本文构建了一套公路交通舆情监测系统,主要包含了用户管理模块、舆情数据管理模块、舆情数据分析模块,功能如图3所示. 系统代码和附图可以从https://github.com/RTPO中获得.
用户管理模块包含用户注册、用户登录和用户信息修改. 用户填写个人信息(包含用户名、密码、手机号、邮箱、生日)进行注册,注册完成后即可通过用户名和密码登录系统查看个人信息,并可进入修改页面进行相关信息的修改.
舆情数据管理模块包含数据查询、数据条数和数据增删. 其中,数据查询可按URL或按时间段两种方式进行. 选择查询方式,点击确认按钮,向后端发送请求,系统将从数据库中调用用户所需要的数据. 同时,用户可以指定查询的数据条数,还可对舆情数据进行删改操作.
舆情数据分析模块包含本地文本分析模块、选定时间段的多个文本分析和结果展示模块. 在本地文本分析模块,用户点击确认后,系统将会调用算法分析接口对上传或拖拽至此的文件进行分析. 在选定时间段的多个文本分析模块,用户点击确认后,将会调用算法分析接口对起止日期内和指定条数的文件进行分析,对舆情情感进行分类. 在结果展示模块,将会生成相应的关键词云图和舆情情感倾向,同时也可查看舆情信息的详细内容.
4 结论
本文首先分别从季度、年度、重大事件3个角度对江苏省公路交通舆情进行简要的统计分析,梳理了热点舆情的内容及走势变化,然后基于长短期记忆网络(LSTM)设计了一种新的公路交通舆情情感分析方法,其准确率、查准率、召回率和AUC值分别达到了96.1%、84.2%、88.9%和0.904. 最后构建了一套公路交通舆情监测系统,该系统可以展示公路交通舆情关键词云图,并分析舆情情感倾向,可为公路管理部门出台相关措施、及时反馈治理效果、促进舆情正向循环提供参考.