特定事件追踪
基于给定事件关键词,采集事件资讯,对事件进行挖掘和分析。
架构:
------------------------------------------------------------------------------
1.基于话题关键词的话题历时语料库采集
基于scrapy爬虫框架:
一.Scrapy 简介:
Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
二.Scrapy框架
1.框架图
绿色线是数据流向
2.框架图讲解:
功能讲解:
Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理,
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.
Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)
------------------------------------------------------------------------------
------------------------------------------------------------------------------
2.关于热点事件的情感分析
基于句法依存的情感分析+情感词扩展
https://www.cnblogs.com/bbn0111/p/6677517.html
https://blog.csdn.net/SpringRolls/article/details/80228349
https://blog.csdn.net/MrZhangZZ/article/details/60342343
https://www.cnblogs.com/CheeseZH/p/5768389.html
传入一篇文章,先做分句处理:依据文章中的句号,把文章分成若干句,装入list;情感句过滤:通过步骤1的linst,分词并且过滤出含有情感词的句子;计算情感句中每个分词的情感得分并累加,结果作为情感句的情感得分;最终求一篇文章的所有情感句的得分加和求平均,得到一篇文章的情感得分;通过双曲正切函数tanh把最后得分映射到(-1,1)区间作为最终得分。整个过程中用到jieba分词,ltp词性标注,依存句法格式化等ltp功能。
# 总结
1)基于情感词库的篇章级情感分析领域相关性很强,针对不同的领域,需要构建领域相关的情感词表,用于解决领域迁移性
2)本项目以情感词为核心,借助依存句法的情感计算方式还有改进空间
过程中学习:SentimentWordExpansion 基于SOPIM算法的情感词表扩展项目
SO-PMI情感倾向点互信息算法
https://www.jianshu.com/p/d9b6ed70abd9
输入:
1、5W个文档,每个文档为一行,保存在'./data/train.txt'中
2、种子情感词:正负情感词各50个,共100个,格式为 ‘词\t极性’,保存在'./data/sentiment_words.txt'中
1)输出:
1、格式:复杂,29.47870186147108,neg,2,a (词语,pmi值,情感极性,词长,词性)
2、正向扩充情感候选词,保存在'./data/candi_po