一种基于卷积神经网络和关键词聚类的热点事件检测方法与流程

文档序号:18740164发布日期:2019-09-21 01:40阅读:182来源:国知局
一种基于卷积神经网络和关键词聚类的热点事件检测方法与流程

本发明属于网络信息技术领域,特别涉及一种基于卷积神经网络和关键词聚类的热点事件检测方法。



背景技术:

随着互联网的飞速发展与进步,互联网已成为人们获取和交流信息的最重要的平台之一。用户可以通过网络发布文字、图片、音频、视频等信息,并可以对该发布内容作出评论。由于网络传播信息的速度极快,突发事件或热点事件在网络上的传播速度和影响范围远远大于传统媒体,这就使得互联网上容易散步不良信息,如欺诈性的信息或是危害国家安全的信息。同时,网络文本中包含了大量反应民意的舆情信息,因此针对网络上的海量数据进行挖掘、分析、监控和预测,有利于尽早检测热点事件并从中抽取重要信息。

目前现有的热点事件检索方法是基于人工监控的方式对互联网舆情信息进行监控并分析热点事件。然而该方式需要大量人工,成本较高,处理速度较慢。还有一种做法是利用计算机对特定网站的文本进行关键词提取,提取出热点关键词,再由人工分析出与这些热点关键词对应的热点信息。但是单个关键词包含信息少,对其进行聚类,延长了获取热点事件的时间,降低了获取热点事件的效率,影响对热点信息的判断。近年来,神经网络在自然语言处理的各个领域获得了令人瞩目的成就,一方面它克服了人工设计特征的局限性,另一方面它更适用于处理海量数据。因此本发明采用基于神经网络的有监督算法实现对于网络海量数据的事件抽取。



技术实现要素:

本发明的目的是提供了一种能够利用神经网络实现文本学习,处理海量网络数据准确性强,效率高,并采用监督学习方法的基于卷积神经网络和关键词聚类的热点事件检测方法。

为实现上述目的,本发明的技术方案是:一种基于卷积神经网络和关键词聚类的热点事件检测方法,包括以下步骤:

设已知事件类型的训练集Ttrain={ttrain_1 ,ttrain_2 ,… ,ttrain_N ;ytrain_1 ,ytrain_2 ,… ytrain_N} ,其中ttrain_i表示一条网络文本以及retweet、hashtag、用户等网络相关信息, ytrain_i表示网络所属的事件类型且ytrain_i∈{0 ,1 ,2 ,3},时间段t内采集的网络测试集Ttest={ttest_1 ,ttest_2 ,… ,ttest_N};

步骤1:获取网络中当前时间段内的网络文本数据;

步骤2:建立初滤的关键字集合;

步骤3:对测试集中的网络文本进行初滤;

步骤4:对步骤3初滤后的测试集中的网络文本进行拼写纠正规范化处理以及分词、词性标注去停用词、提取表情符号、词干化预处理,统计分词得到的各个词在所述网络文本数据中的出现次数;

步骤5:获取网络中历史时间段内所述各个词在历史网络文本数据中的出现次数 ;所述历史时间段和所述当前时间段的时间长度相等;

步骤6:对所述各个词在所述网络文本数据中的出现次数和在历史网络文本数据中的出现次数进行比较,确定所述网络文本数据中的热词;

步骤7:获取所述网络文本数据中包括所述热词的网络文本;

步骤8:对于训练集Ttrain,训练卷积神经网络,得到事件分类模型;

步骤9:利用步骤8得到的事件分类模型对经过步骤3预处理后的测试集网络文本进行分类,并将类型为其他的网络文本滤除;

步骤10:对包括所述热词的网络文本进行聚类,利用K-means算法将测试集中同一类型的网络文本聚类成多个事件实例簇,确定所述网络文本数据中的热点事件。

进一步的,所述步骤2具体包含以下步骤:

步骤2.1:对于每个待检测的特定事件类型名称,分别利用基于维基百科训练的词向量得到该特定事件类型名称的相关词列表;

步骤2.2:对于每个类型,分别利用TextRank算法提取其初始集合中关键词的维基百科词条的关键词,扩充其关键词集合;

步骤2.3:对于每个类型,分别利用基于Twitter文本训练的词向量得到其关键词集合中所有关键词的相关词列表,扩充其关键词集合;

步骤2.4:将三个关键字集合合并得到关键字集合。

进一步的,所述步骤3具体包含以下步骤;

步骤3.1:若网络文本中包含hashtag,且hashtag中包含关键字集合中的关键字,则判定该网络文本与特定事件相关;

步骤3.2:若上述条件不符合,则计算网络文本与关键字集合间的Jaccard相似度,若该相似度高于预设阈值,则判定该网络文本与事件相关。

进一步的,步骤6所述对所述各个词在所述网络文本数据中的出现次数和在历史网络文本数据中的出现次数进行比较,确定所述网络文本数据中的热词,包括 :

计算所述各个词在所述网络文本数据中的出现次数与在历史网络文本数据中的出现次数的比值;

将所述比值大于第一阈值的相应词确定为所述网络文本数据中的热词。

进一步的,所述对所述各个词在所述网络文本数据中的出现次数和在历史网络文本数据中的出现次数进行比较,确定所述网络文本数据中的热词,还包括:

计算所述各个词在所述网络文本数据中的出现次数与在历史网络文本数据中的出现次数的差值;

所述将所述比值大于第一阈值相应词确定为所述网络文本数据中的热词,包括:

将所述比值大于第一阈值,且所述差值大于第二阈值的相应词确定为所述网络文本数据中的热词。

进一步的,所述步骤8具体包含以下步骤;

步骤8.1:将Ttrain中的每条网络文本由词向量的串联表示,采用200维基于GloVe在网络文本数据集上训练的词向量,通过TF-IDF对词向量进行加权并将hashtag中的词权重加倍;

步骤8.2:将上述网络文本向量及标签作为输入,卷积神经网络采用Xavier方法进行初始化,偏置项均初始化为0,采用l2正则化以及dropout策略,通过随机梯度下降法更新输入特征向量以及网络参数,得到事件分类模型。

进一步的,所述步骤10具体包含以下步骤:

步骤10.1:将网络文本采用卷积神经网络全连接层中的200维向量表示,并利用余弦相似度计算文本相似度;

步骤10.2:利用命名实体识别算法抽取网络文本的命名实体,并利用余弦相似度计算命名实体相似度;

步骤10.3:根据预处理中词性标注的结果滤除介词、冠词等,滤除命名实体,之后通过基于hashtag加权的TF-IDF算法获得网络文本的关键词,取排名前10的关键词计算关键词相似度;

步骤10.4:根据公式计算两条网络文本的相似度。

进一步的,步骤10所述对包括所述热词的网络文本进行聚类,确定所述网络文本数据中的热点事件,包括:

对包括所述热词的网络文本进行canopy聚类,确定初始类的数目和中心点;

根据所述初始类的数目和中心点对包括所述热词的网络文本进行 k-means聚类,确定所述网络文本数据中的热点事件。

进一步的,所述对包括所述热词的网络文本进行canopy聚类,确定初始类的数目和中心点之前,还包括:

查询预设的词表,确定所述热词在所述词表中的序号;

根据所述热词在所述词表中的序号和所述热词在所述网络文本数据中的出现次数,确定包括所述热词的网络文本对应的网络文本向量;

所述对包括所述热词的网络文本进行canopy聚类,确定初始类的数目和中心点,包括:

对所述网络文本向量进行canopy聚类,确定初始类的数目和中心点。

本发明的有益效果是:利用卷积神经网络实现了文本学习,提取适用于海量数据的泛化能力强、效率高。采用有监督的学习方法,相较于无监督学习方法更具有针对性,可以提供语义清晰的事件表示。通过对热点话题作深层次的信息挖掘,可以实现从多方面对网络上热点话题发展过程的分析,以帮助政府监管部门能够更为全面的了解网络热点事件的态势,而针对需要加以管控的热点话题,能够便于及时采取相关的舆情引导手段,提供热点事件分析的准确性和检测效率。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面结合附图实施例,对本发明做进一步描述:

实施例1

本发明的简要步骤参见图1,包括:

输入:已知事件类型的训练集Ttrain={ttrain_1 ,ttrain_2 ,… ,ttrain_N ;ytrain_1 ,ytrain_2 ,… ytrain_N} ,其中ttrain_i表示一条网络文本以及retweet、hashtag、用户等网络相关信息, ytrain_i表示网络所属的事件类型且ytrain_i∈{0 ,1 ,2 ,3},时间段t内采集的网络测试集Ttest={ttest_1 ,ttest_2 ,… ,ttest_N};

步骤1:获取网络中当前时间段内的网络文本数据;将其信息文档及相应的评论文档保存到数据库中。具体为:通过网络爬虫的方式,获得网络文本数据。

步骤2:按照以下步骤建立初滤的关键字集合;

步骤2.1:对于每个待检测的特定事件类型名称,分别利用基于维基百科训练的词向量得到该特定事件类型名称的相关词列表;

步骤2.2:对于每个类型,分别利用TextRank算法提取其初始集合中关键词的维基百科词条的关键词,扩充其关键词集合;

步骤2.3:对于每个类型,分别利用基于Twitter文本训练的词向量得到其关键词集合中所有关键词的相关词列表,扩充其关键词集合;

步骤2.4:将三个关键字集合合并得到关键字集合。

步骤3:按照以下步骤对测试集中的网络文本进行初滤;

步骤3.1:若网络文本中包含hashtag,且hashtag中包含关键字集合中的关键字,则判定该网络文本与特定事件相关;

步骤3.2:若上述条件不符合,则计算网络文本与关键字集合间的Jaccard相似度,若该相似度高于预设阈值,则判定该网络文本与事件相关。

步骤4:对步骤3初滤后的测试集中的网络文本进行拼写纠正规范化处理以及分词、词性标注去停用词、提取表情符号、词干化预处理,统计分词得到的各个词在所述网络文本数据中的出现次数;

采用 IKAnalyser 中文分词器对网络中的多条网络文本的内容进行分词;分词完成后,可以先统计分词得到的各个词在一秒内在网络文本数据中的出现次数,进而汇总分词得到的各个词在一分钟内在网络文本数据中的出现次数,进而汇总分词得到的各个词在一小时内在网络文本数据中的出现次数,进而汇总分词得到的各个词在一天内在网络文本数据中的出现次数;依次执行上述所有汇总过程或者部分汇总过程,分词得到的各个词在当前时间段内在网络文本数据中的出现次数。

步骤5:获取网络中历史时间段内各个词在历史网络文本数据中的出现次数;历史时间段和当前时间段的时间长度相等;

具体为:获取网络中历史时间段内的历史网络文本数据;对历史网络文本数据中的多条网络文本的内容进行分词及统计,获取到网络中历史时间段内各个词在历史网络文本数据中的出现次数。统计过程可以参照步骤4。

步骤6:对各个词在网络文本数据中的出现次数和在历史网络文本数据中的出现次数进行比较,确定网络文本数据中的热词;

具体为:计算各个词在网络文本数据中的出现次数与在历史网络文本数据中的出现次数的比值;将所述比值大于第一阈值的相应词确定为网络文本数据中的热词。

为了避免在多个预设时间段内出现次数一直较低或一直较高的词被选为热词,例如,在历史时间段内只出现过两次的词,而在当前时间段内出现过十几次的词被选为热词,步骤6还可以包括:计算各个词在网络文本数据中的出现次数与在历史网络文本数据中的出现次数的差值;

对应的,将比值大于第一阈值的相应词确定为网络文本数据中的热词具体可以为:将比值大于第一阈值,且差值大于第二阈值的相应词确定为网络文本数据中的热词。

另外,还有部分词,历史时间段内出现过上千次的词,而在当前时间段内出现过几千次的词,由于这些词在当前时间段之前可能已经被选为热词,因此,为了避免这些词又被选为热词,在确定热词后,可以设置预设的过滤条件,将该部分词过滤掉。

步骤7:获取网络文本数据中包括热词的网络文本。

步骤8:对于训练集Ttrain,按照以下步骤训练卷积神经网络,得到事件分类模型;

步骤8.1:将Ttrain中的每条网络文本由词向量的串联表示,采用200维基于GloVe在网络文本数据集上训练的词向量,通过TF-IDF对词向量进行加权并将hashtag中的词权重加倍;若网络文本向量表示不足140行,则补零至140行。

步骤8.2:将上述网络文本向量及标签作为输入,卷积神经网络采用Xavier方法进行初始化,偏置项均初始化为0,采用l2正则化以及dropout策略,通过随机梯度下降法更新输入特征向量以及网络参数,得到事件分类模型。

步骤9:利用步骤8得到的事件分类模型对经过步骤3预处理后的测试集网络文本进行分类,并将类型为其他的网络文本滤除;

步骤10:对包括热词的网络文本进行聚类,确定网络文本数据中的热点事件,包括:

对包括热词的网络文本进行canopy聚类,确定初始类的数目和中心点;

其中,在对包括热词的网络文本进行canopy聚类之前,需要先查询预设的词表,确定所述热词在所述词表中的序号;根据热词在词表中的序号和热词在网络文本数据中的出现次数,确定包括热词的网络文本对应的网络文本向量;

对应的,具体为:对网络文本向量进行canopy聚类,确定初始类的数目和中心点。

根据初始类的数目和中心点对包括热词的网络文本进行 k-means聚类。

利用K-means算法将测试集中同一类型的网络文本聚类成多个事件实例簇,两条网络文本的相似度计算方式如下:

步骤10.1:将网络文本采用卷积神经网络全连接层中的200维向量表示,并利用余弦相似度计算文本相似度;

步骤10.2:利用命名实体识别算法抽取网络文本的命名实体,并利用余弦相似度计算命名实体相似度;

步骤10.3:根据预处理中词性标注的结果滤除介词、冠词等,滤除命名实体,之后通过基于hashtag加权的TF-IDF算法获得网络文本的关键词,取排名前10的关键词计算关键词相似度;

步骤10.4:根据公式计算两条网络文本的相似度。

确定所述网络文本数据中的热点事件。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

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