2019年10月4日-6日

Python爬虫与文本分析工作坊 & 课题申报高级研修班


这篇文章是公众号关注者郝童鞋今早发给我的,在此谢谢郝童鞋。

文章基于简单算法和人工判断,使用多阶段剔除法,构建了 中文金融情感词典CFSD(ChineseFinancialSentimentDictionary), 这个词典能帮到那些想用文本分析研究会计金融领域的中文文档的研究者。CFSD词典有1489个负面词,1108个正面词。并且简单讨论了CFSD词典的应用领域。

本篇教程主要分为两部分:

  1. 这篇论文如何构建 中文金融情感词典

  2. 大邓将论文附录中的词典整理好给大家用

一、构建中文金融情感词典

情感分析目前有两大方式,情感词典法和机器学习法。基于情感词典的文本分析,必须要有好用的词典。但由于语言差异,英文的情感词典无法直接应用于中文的情感分析,而且目前中文的情感词典(如HOWNET、DLUTSD、NTUSD)都是通用性词典(大多是形容词副词),并不是专业领域词典。Loughran和 McDonald (2011)曾经指出研究商业领域问题的文本数据不应该使用非商业领域数据集构建出的词典。

因此本文作者使用HOWNET、DLUTSD、NTUSD三种词典作为初始词典,并搜集了在线路演纪要(online roadshow transcripts)、业绩说明电话会议纪要(earnings conference call transcripts)、IPO招股报告(IPO prospectus)及公司年报构建了基础语料库。基于算法和人工判断, 使用多阶段剔除法来构建 中文金融情感词典CFSD。具体步骤:

  1. 合并HOWNET、DLUTSD、NTUSD三个情感词典,去除重复词

  2. 收集了1411篇在线路演纪要、7138篇业绩说明电话会议纪要、2043IPO招股报告和29737公司年报。jieba被用于分割文档,构建 基础语料

  3. 计算步骤1所有的词在 基础语料 中的词频,词频数为0的词语不予考虑,剔除掉。与金融不相关的词语也剔除掉,最终构建了 CFSD0.0版本中文金融情感词典。

  4. 所有的CFSD0.0版本的词语都来自与三个通用情感词典(HOWNET、DLUTSD、NTUSD),但这三个词典并不包含金融领域常出现的正面词和负面词。我们人工向 CFSD0.0版情感词典加入了金融领域最常用的100个正面词100个负面词,构建出 CFSD0.1版中文金融情感词典.

  5. Gensim是python中的一个文本分析库,在本步骤主要用来通过大量的语料训练处词向量。词向量可以使用余弦cos计算出相似性。在本步骤,计算出CFSD0.1版中每个词的词向量,进而从 基础语料 中发现每个词(CFSD0.1中的词)最相似的50个词。剔除掉与金融不关的词(包括相似词、同义词),构建出 CFSD0.2版的中文金融情感词典

  6. 合并 CFSD0.0、CFSD0.1、CFSD0.2,剔除掉重复词,最终构建出 CFSD中文金融情感词典

构件好的CFSD词典有1489个负面词,1108个正面词。

二、词典整理到csv文件中

论文后面富有CFSD情感词典,如下

我想先将这些内容全部复制到txt中,正面词表复制粘贴到 正面词典.txt, 负面词表复制粘贴到 负面词典.txt

通过中文正则表达式 [\u4e00-\u9fa5]+ 把txt文件里面所有的中文词抽取出来,存到csv文件中。开始~

import jieba
import re
import csv
def extract_keywords(infile, outfile, header):  raw_kws_string = open(infile).read()   kws = re.findall('[\u4e00-\u9fa5]+', raw_kws_string)    csvf = open(outfile, 'w', encoding='gbk', newline='')  writer = csv.writer(csvf)  writer.writerow((header,))  for kw in set(kws): writer.writerow((kw,))  csvf.close()
extract_keywords(infile = '正面词典.txt',    outfile = '正面词典.csv',    header = 'postive')
extract_keywords(infile = '负面词典.txt',    outfile = '负面词典.csv',    header = 'negative')

现在我们的项目文件夹中出现了 正面词典.csv、负面词典.csv , 现在我们可以试着读取一下 正面词典.csv

import pandas as pd
#正面词典.csv中有1109个词
df = pd.read_csv('正面词典.csv', encoding='gbk')
len(df)

Run

1109

负面词典.csv中有1488个词

df2 = pd.read_csv('负面词典.csv', encoding='gbk')
len(df2)

Run

1488

词典中的词数与论文中的 1108和 1489有出入,应该是复制粘贴时不够自信。下面我们看看词典中的内容

#正面词典前5
df.head(5)

#负面词典前5
df2.head(5)

至于在python中如何使用这些词典进行文本分析和情感计算, !插播广告^_^

2019年10月4日-6日,杭州 

Python爬虫与文本分析工作坊 & 课题申报高级研修班

咨询请加微信,记得备注”工作坊”

1

欢迎扫码咨询!!

后台回复"2019中秋快乐", 下载CFSD中文金融情感词典

中文金融领域情感词典构建相关推荐

  1. python情感词典计算得分_用python进行金融市场文本数据的情感计算!

    之前我依据一篇论文中的中文金融情感词典CFSD(chinese financial sentiment dictionary), 中文金融领域情感词典构建 ,整理成csv文件的情感词典.现在我们找点财 ...

  2. 使用SO-PMI算法构建行业/专业情感词典

    文章目录 1. 情感词典内容 2. 情感倾向点互信息算法(SO-PMI)算法 点互信息算法 PMI 情感倾向点互信息算法 SO-PMI 3. 构建情感词典 1. 导入项目 2. 构建情感种子词 3. ...

  3. CnOpenData公共数据专区上新 | 中文金融情感词典

    中文金融情感词典 一.数据简介   姜富伟教授及其研究团队于2021年第4期<经济学(季刊)>发表了<媒体文本情绪与股票回报预测>,并在文中介绍了一项极富创造力的金融学科研究成 ...

  4. 金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0

    出品 | AI科技大本营 头图 | CSDN付费下载于东方IC 为了促进自然语言处理技术在金融科技领域的应用和发展,熵简科技 AI Lab 近期开源了基于 BERT 架构的金融领域预训练语言模型 Fi ...

  5. 首个金融领域的开源中文预训练语言模型FinBERT了解下

    背景及下载地址 为了促进自然语言处理技术在金融科技领域的应用和发展,熵简科技 AI Lab 近期开源了基于 BERT 架构的金融领域预训练语言模型 FinBERT 1.0.据我们所知,这是国内首个在金 ...

  6. 开源开放 | 熵简科技 AI Lab 开源金融领域中文预训练语言模型 FinBERT

    1 背景及下载地址 为了促进自然语言处理技术在金融科技领域的应用和发展,熵简科技 AI Lab 近期开源了基于 BERT 架构的金融领域预训练语言模型 FinBERT 1.0.相对于Google发布的 ...

  7. 微博指定日期舆情数据爬虫获取—基于中文金融词典(python)

    最近在做一个微博舆情与金融市场分析的课题,需要爬取微博的舆情数据.因此需要根据关键词爬取指定日期的微博.现在代码写完了,实测还行,sleep设置得比较久,但爬取的数据很完整.硕士三年在CSDN学到了很 ...

  8. 在线计算机科学词典,基于Word2Vec的情感词典自动构建与优化-计算机科学.PDF

    基于Word2Vec的情感词典自动构建与优化-计算机科学.PDF 第 44 卷第1 期 Vo l. 44 No. 1 计算机科学 2017 年 1 月 COMPUTER SCIENCE Ja口.201 ...

  9. BERT辅助金融领域人物关系图谱构建

    摘要 现有的人员简历信息抽取方法无法针对金融公告中非结构化人员简历进行人员属性以及事件的抽取,无法发现金融公告中跨文档的人员之间关系.针对以上问题,将非结构化的人员简历抽取成结构化的人员信息模板,提出 ...

  10. python情感词典_sentimentpy模块进行中文文本情感分类

    sentimentpy是我根据R语言的一个文本情感分析包sentiment进行开发的, 开发的初衷有: R的sentiment已经被弃坑, 没人维护 Python比R更擅长文本处理 sentiment ...

最新文章

  1. 激光雷达 win10
  2. 人脸关键点估计人头姿态
  3. GridView中使用DataFromatString
  4. IT人员健康信号之大脑保养
  5. Centos7 虚拟机复制后网卡问题 Job for network.service failed
  6. 基于Xml 的IOC 容器-分配路径处理策略
  7. Python—进程、线程、协程
  8. java剑姬_ListView和Adapter(文字列表)
  9. 【翻译】C#表达式中的动态查询
  10. 三菱mode bus tcp通讯_邢台三菱MR-J4-200B4
  11. 使用树莓派 Raspberry Pi 播放豆瓣 FM
  12. 基于springboot点餐系统java web订餐管理平台源码
  13. 计算机任务管理器中的进程,Win7任务管理器中哪些进程可以关闭?
  14. 基于virtualbox 的虚拟路由器搭建
  15. Python提取pcap文件中原始数据
  16. 达威尔GK5巧克力办公静音键盘,七色背光RGB游戏家用有线键盘上线啦!
  17. 《PHP基于GD库制作图形验证码》
  18. oracle各个版本数据库软件下载方法
  19. 搭建自己的技术博客系列(六)酷炫主题icarus常用配置整合版,快速搞定博客首页
  20. 12AU7+6V6GT 耳放的设计

热门文章

  1. linux java sdk_java linux sdk1.8
  2. spss中的aic值计算_常用SPSS数据处理方法,你都会吗?
  3. CMU 15-213 Introduction to Computer Systems学习笔记(8) Machine-Level Programming-Advanced
  4. 列转行 oracle11g,PostgreSQL 实现列转行问题
  5. 抓包——HTTP分析
  6. centos配置epel和remi源
  7. Python中re.findall的贪心和非贪心算法
  8. C#实体更新指定的字段
  9. 前端逼死强迫症系列之javascript
  10. shit!Vxworks!Shit!WorkBench!