人民网
人民网>>传媒>>人民网奖学金>>北邮2018

基于机器学习的相关新闻事件挖掘

马正,张帅,赵朋亚
2019年01月13日15:44 | 来源:人民网研究院
小字号

摘 要:网络新闻的发展导致新闻稿件数量的极快上涨,如何在大量的新闻数据中快速准确的找到想要分析的新闻事件的所有新闻文本就成了一个急需解决的问题。常见的方法是搜索关键字之后再进行人工搜集,效率低下。本文以新闻领域的理论为基础提出新闻事件相关文本的挖掘方法。首先以新闻网站的新闻文本作为研究对象,通过TextCNN模型对新闻进行领域分类,然后使用Word2vec得到词向量、TF-IDF作为词语的权重以及新闻领域的经验相结合来查找相关新闻文本。实验结果表明,显著提高了识别效率。

关键词:新闻事件发掘;TextCNN;Word2vec;TF-IDF

News event related news mining based on machine learning

Ma Zheng , Zhang Shuai , Zhao Peng-Ya

(School of Software Engineering, Beijing University of Posts and Telecommunications, Beijing 100876)

Abstract: The development of online news has led to an extremely rapid increase in the number of news articles. How to quickly and accurately find all the news texts of news events that you want to analyze in a large amount of news data has become an urgent problem to be solved. A common method is to search for keywords and then manually collect them, which is inefficient. Based on the theory of the news field, this paper proposes a method for mining news related texts. Firstly, the news text of the news website is used as the research object, and the news is classified by the TextCNN model. Then, We use Word2vec get the word vector, TF-IDF to get the weight of the word and the experience in the news field to find the relevant news text. The experimental results show that the recognition efficiency is significantly improved.

Key words: News events mining; TextCNN;Word2vec;TF-IDF

1引言

随着网络的发展,网络新闻的数量也极大增加,当今时代是一个信息爆炸的时代,如何在海量的新闻数据中快速准确的找到想要分析的新闻事件的所有新闻文本就成了一个急需解决的问题。具体研究问题为:对于某一新闻事件,如何使用机器学习的方法在数据集中挖掘其全部相关新闻文本。调查国内外研究发现,现在没有一个效果出色的系统来进行这方面的工作。目前除了人工筛选之外主要有基于模式匹配的新闻文本识别方法,其效果较佳,但是需要新闻专业人员操作,而且灵活性比较差。还有张松[1]使用词袋模型对文本进行向量化之后计算相似度,但该模型会导致丢失大部分文本信息,所以导致效果不佳。所以本文提出了这样的一种新的解决方案。使用TextCNN模型对新闻进行领域分类,然后使用Word2vec得到词向量、TF-IDF作为词语的权重以及新闻领域的经验相结合来查找相关新闻文本,在共38万新闻文本的数据集中达到了一个不错的效果,准确率为81%,召回率为79%。

这对于新闻从业者而言,这能够帮助他们更加准确的统计和计算新闻领域的各项指标数据。具有十分重要的现实意义。整体流程如下图一所示:

2 构建数据集

要进行实验,首先需要获取实验数据,构建数据集。本实验使用python在腾讯新闻(https://news.qq.com/)、新浪新闻(https://news.sina.com.cn/)、中国新闻网(https://www.chinanews.com/)三个网站爬取了2017年6月至12月的全部新闻。采集数据内容包括新闻标题、新闻发布时间、新闻作者、新闻发布源网站、新闻所在网站、新闻评论数、新闻正文等。经过去除脏数据和填充缺失值等操作之后总共387431条新闻。

爬取数据之后对新闻文本进行预处理,先使用百度云的词法分析的功能进行分词,因为百度云在命名实体识别方面做的效果显著高于其他方法,然后根据停用词表对停用词进行去除。最终得到可以用来试验的数据集。

3 新闻分类

分类模型使用的TextCNN ,TextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim提出,其分类效果十分出色,在以往的实验中已经得到验证[2]。由多种不同类型的卷积核组成的卷积层、池化层和全连接层共同计算得到分类结果。具体分为十种类别,体育、财经、房产、家居、教育、科技、时尚、时政、游戏、娱乐。

训练集为十个类别每个类别5000条,总共50000条新闻文本组成。验证集为每类1000条总共10000条文本组成,测试集用每类2000条,总共20000条新闻文本组成。这里研究对象为新闻文本的正文,文本长度为400,对于文本不足300词的进行填充0处理,超过300的进行截取。每次模型调优使用mini-batch大小为50.。

词的向量化使用的是Word2vec词向量,维度为200维。卷积核尺寸为3、4、5三种,每种有100个卷积核。训练期间使用dropout来防止模型过拟合,dropout值为0.5.。模型进行调优之后每次都在验证集上计算结果,只有效果提升的才会被采纳。在经过1500个mini-batch在验证集上没有提升之后,模型停止训练。

最终得到的模型在测试集上,最终准确率和召回率为96.8%和97.1%。结果如表1所示。

4 新闻事件相关新闻发掘

在分类之后的文本中进行新闻事件的相关新闻发掘。例如2017年下半年“红黄蓝幼儿园虐童事件”,要发掘出其所有相关新闻。主要流程如下:训练词向量模型、训练TF-IDF模型、新闻文本向量的计算、不同新闻文本相似度的计算。

4.1词向量计算

这里使用的Word2vec向量来表示词向量。自从 Google 的 Tomas Mikolov[3]提出 Word2vec,就成为了深度学习在自然语言处理中的基础部件。Word2vec的基本思想是把自然语言中的每一个词,表示成一个统一意义统一维度的短向量。Word2vec通过训练,可以把对文本内容的处理简化为 K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。因此, Word2vec输出的词向量可以被用来做很多 NLP 相关的工作,比如聚类、找同义词、词性分析等等。使用Word2vec处理后的词可以对它们做向量的加减乘除操作等。这样将词的表示进行量化,更易计算它们之间的相似度。

首先对于分词完的数据读取,这里读取的是全部新闻文本共38万条,然后读取之后的语料库放入Word2vec模型中去训练,设置各个参数,使用CBOW模式训练模型,词向量维度为200维,上下文窗口为4等,使用Negative Sampling技术加速训练。然后开始训练。最终得到效果如下所示。查找与“北京”相似度最高的词语。

print(model.most_similar(positive=['北京']) )

[('北京市', 0.6418594717979431), ('上海', 0.6290482878684998), ('南京', 0.6218650341033936), ('天津', 0.6215558648109436), ('北平', 0.5777425765991211), ('沈阳', 0.5712735652923584), ('武汉', 0.5640500783920288), ('燕京', 0.5502774715423584), ('杭州', 0.5484658479690552), ('中国', 0.5257613062858582)]

4.2训练TF-IDF模型

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

在一份给定的文件里,词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(分子一般小于分母 区别于IDF),以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)

逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

具体流程为,把新闻语料库中按类别读入分词完的新闻文本,数据格式为[‘word1 word2 word3’ , ‘word4 word5 word6’],每个新闻文本中的词用空格隔开,然后所有新闻文本放入一个list中,训练TF-IDF模型得到TF-IDF权重值,对于不同的新闻文本中的不同词均有不同的权重。例如:

文本一:

想象 0.0414187845264

战略 0.0704195017334

所用 0.0414187845264

文本二:

手段 0.0352097508667

打通 0.0616087427535

打造 0.0222347726757

4.3新闻文本向量的计算

新闻文本的格式均比较固定,出现在正文首部的文字就能概括整个新闻所描述的事件。所以本实验取新闻前30个词来对新闻文本向量进行计算。

新闻的六要素是5个“W”和1个“H”, 即Who ,What ,When ,Where ,Why和How;即:时间、地点、人物、事件的起因、经过、结果。这里挑选出可以利用的关键词,即时间、地点、人物来判定为关键词,在计算向量时赋予更高的权重。这里利用到之前分词时确定的命名实体。对于不是关键词的普通词语,权重为1。

因为新闻之中的时间关键词会有歧义。例如“昨晚”这个词出现在不同时间的新闻稿件中所指代的实际时间肯定是不同的,所以本实验中利用规则对这些时间关键词进行了转换。统一格式为:YYYY年MM月DD日,以方便后续的计算。

本次试验共标注了3000条数据,标出的部分新闻事件主题如下所示。

一带一路、功守道、战狼、中国有嘻哈、禁酒令 、戚继光舰出国访问、辽宁舰香港、建军90周年朱日和阅兵、中印对峙、世界机器人大会、王者荣耀防沉迷、苹果电池门、十九大、红黄蓝虐童、海底捞卫生鼠患,

试验是在不同的新闻类别下分别识别上述新闻事件的相关新闻文本,总共搜索的数据规模为38万条。输入要查询的新闻事件的相关原始文本,然后就会找寻相似度大于阈值的其他新闻文本。例如搜索“王者荣耀防沉迷”结果如下所示,上方数值为每条文本对应的与原始文本的相似度,下方文字是每条文本对应的新闻标题。

0.955816560253

王者荣耀的社交:时间、金钱、杀人游戏

0.97403353679

记者亲测王者荣耀为何让你着迷:花钱就成大侠?

0.967141859087

新华社:“荣耀”还是“农药”?健康游戏不止于防沉迷

0.95819191127

是否比麻将更容易上瘾 王者荣耀为何让人着迷?

0.96172696944

通向王者荣耀的奴役之路:无法下线的“王者”

0.955020467616

王者荣耀深陷舆论风暴 巨头如何权衡利益与责任?

0.966630783757

五六亿人每天“玩掉”数小时 网游在和我们争时间?

部分热点新闻事件的效果如表2所示:

最终调试完之后试验结果如表3所示:

试验结果显示总体准确率为81%,召回率为79%,F1值为80%。即在搜索新闻事件时,预测样本中能有81%是正确识别的,对于该事件中的所有样本,能够识别出79%,说明试验在样本中取得了较好的效果,比起前人的研究取得了一定的进步。

5.2总结与展望

本文针对新媒体传播环境下的特点,试验了对于新闻事件相关新闻文本的挖掘,这对于新闻从业者或者人们在大量数据中快速准确的找到一个事件的全部新闻提供了参考。但是因为时间、水平等限制,本实验的工作还有不足之处。没有获取到足够大数量的新闻,仅仅只是三家网站半年的新闻数据,数据量的不足导致了效果可能不是最优。以及参数的选择问题,现在只是试验中发现的最优配合,但肯定不是最终的最优解,如何才能找到最优的各个参数的问题。这些都是后续值得深入研究的问题。 

(责编:尹峥、赵光霞)

分享让更多人看到

传媒推荐
  • @媒体人,新闻报道别任性
  • 网站运营者 这些"红线"不能踩!
  • 一图纵览中国网络视听行业
返回顶部