额,基本工作完成了,先整理一下这个小项目。发现一个非常棒的网址:https://github.com/yaleimeng/Final_word_Similarity

项目内容:

一、数据准备

项目数据来源:抓取全景网上业绩说明会文本内容

实验所用词典数据  == 基本词典 + 金融词典

1.1 基本词典:

1)大连理工情感词典

2)Hownet 知网

董氏父子整理,有六大类

1.2 金融词典:

1)对数据样本进行处理(分词--清洗--计算TF-IDF提取关键词--TFIDF累加排序,剔除掉基本词典中已有的词,选取排名靠前的前1W词,人工挑选出金融相关词汇,分成积极、消极、中性三类)

2)将1)中人工筛选出来的金融积极消极词汇作为种子词,利用word2vec找出相似词进而扩展金融词典)

代码如下:

"""
训练语料库
利用word2vec来扩展金融词汇
date:2018/7/25
author:susuxuer
"""
# coding=UTF-8
import re
import time
import csv
import sys
import os
import pandas  as pd
import gensim.models.word2vec as w2v
import jieba.posseg as pseg
import jieba
import globdef loadPoorEnt(path2='G:/project/sentimation_analysis/data/stopwords.csv'):csvfile = open(path2, encoding='UTF-8')stopwords = [line.strip() for line in csvfile.readlines()]return stopwords
stop_words = loadPoorEnt()def cut(data):result=[]    #pos=['n','v']res = pseg.cut(data)list = []for item in res:#if item.word not in stop_words and (item.flag == 'n' or item.flag == 'a' or item.flag == 'v'):if item.word not in stop_words :list.append(item.word)result.append(list)return resultdef get_all_content():# abel_dir = [path + x for x in os.listdir(path) if os.path.isdir(path + x)]all_files = glob.glob(r'D:/GFZQ/GFZQ/xuesu2018/xuesu/*.csv')return all_filesdef get_wenben(path):csvfile = open(path, 'r', encoding='UTF-8')reader = csv.reader(csvfile)reader = csv.reader(line.replace('\0', ' ') for line in csvfile)return readerdef get_QA(wenben):Q_all =[]A_all =[]for QA in wenben :Q_all.append(QA[1])A_all.append(QA[2])all = Q_all + A_allreturn all,Q_all,A_alldef set_ourdict(all_files, length):all_file = []for i in range(length):print("正在解析第%d家公司" % i)file_path = all_files[i]wenben = get_wenben(file_path)all_file.append(wenben)return all_filedef cal_time(time):if time < 60:return str(time) + 'secs'if time < 60 * 60:return str(time / 60.0) + 'mins'if time < 60 * 60 * 60:return str(time / 60.0) + 'hours'if __name__ == '__main__':start = time.time()# stop_words = loadPoorEnt()# length = 2800# ##test# all_files = get_all_content()# words = list()# for i in range(length):#     print ("第%d家公司:%s" %((i+1),all_files[i]))#     wenben = get_wenben(all_files[i])#     sentences, Q_all, A_all = get_QA(wenben)#     for sentence in sentences:#         #print (sentence)#         word_list = cut(sentence)#         words.append(word_list)# 初始化word2vec的参数features = 200  # 词向量的长度,数值越大,精确度越高,但是消耗时间越长min_word_count = 1  # 设置最小词频,低于这个频率的词语会被过滤,不进入后续计算context_size = 5  # 设置上下文窗口大小# 将分词结果写到本地, 每行是每句话的分词结果,用空格分割# with open("G:/project/sentimation_analysis/data/corpus.csv", "w", encoding="utf-8") as f:#     for word in words:#         f.write("{}\n".format(" ".join(word[0])))# 训练模型corpus = w2v.Text8Corpus('G:/project/sentimation_analysis/data/corpus.csv')book2vec = w2v.Word2Vec(corpus,sg=1,size=features,min_count=min_word_count,window=context_size)end = time.time()print('模型训练使用了:%s' % cal_time(end - start))# 查看模型结果## 寻找关联词,调用种子词典,构建情感词典print("reading...")pospath = open("D:/GFZQ/GFZQ/data/dict_finance/pos.txt",encoding='gbk')negpath = open("D:/GFZQ/GFZQ/data/dict_finance/neg.txt",encoding = 'gbk')pos = pospath.readlines()neg = negpath.readlines()word_neg=[]word_pos=[]for i in pos:word_pos.append(i)length=len(pos)# print (length)# print (word_pos)for i in range(length):#print(word_pos[i])try:sim_word = book2vec.wv.most_similar(positive=word_pos[i].strip('\n'), topn=5)#sim_word = book2vec.wv.most_similar(positive= '下跌', topn=20)#print('与%s相近的词语:%s ' % (word_pos[i],sim_word))for item in sim_word:print(item[0])#print('与相近的词语:%s ' %sim_word)except KeyError as e:print ("No such word:%s" %word_pos[i])

金融情感分析--基于业绩说明会的研究相关推荐

  1. 自然语言处理模型_ICLR 2020 「自然语言处理」【Prosus AI】金融情感分析FinBERT模型(含源码)!...

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2020-1-15 TILE: FinBERT: Financial Sentiment Analysis wi ...

  2. 商品评论情感分析——基于商品评论建立的产品综合评价模型(1)

    商品评论情感分析--基于用户评论建立的产品综合评价模型(1) 1.背景 1.1问题分析 2.数据预处理 2.1删除无关数据 2.2文本去重 3.情感分析 4.LDA主题模型 4.1评论文本分词 4.2 ...

  3. 情感分析基于词典(算例代码)

    基于词典的情感分析 情感分析是指挖掘文本表达的观点,识别主体对某客体的评价是褒还是贬,褒贬根据进态度行倾向性研究.文本情感分析可以分为基于机器学习的情感分类方法和基于语义理解的情感分析.基于机器学习进 ...

  4. 金融情感分析--股市预测(一)

    (PS:趋势分析) 我选的是周大生2018年第二季度的股市行情,在这里选择周大生 直接复制粘贴得到xlsx文件(文件内容如下) (已在Win7.python3.6上运行成功) "" ...

  5. 推特情感分析-基于spark

    参考链接:使用spark Mlib 数据集下载:由于对Twitter的操作需要FQ,为方便大家进行后续实验操作,我们已将数据保存至tweets.json, donald.json及hillary.js ...

  6. 金融情感分析,股市预测(二)

    """ 已周大生为例: 2018/4/10-2018/6/20 抓取业绩说明会前后的股民评论"""#!/usr/bin/env python ...

  7. python评论情感分析毕业设计_使用文本挖掘技术进行小说《圣墟》评论的情感分析——基于python...

    反正我已经准备好节后吃土了

  8. java对微博评论进行分析_微博上分析情感的_中文情感分析java_中文微博情感分析...

    目前,社会正处于一个微博崛起的时代,一切有关于微博的问题都被社会广泛关注,并得到了工业界和学术界的高度重视.微博从出现以来,取得了良好的发展,并拥有大众的普遍关注和应用.微博的超大信息量和高速度的更新 ...

  9. 综述:基于深度学习的情感分析

    近年来,深度学习有了突破性发展,NLP 领域里的情感分析任务逐渐引入了这种方法,并形成了很多业内最佳结果.本文中,来自领英与伊利诺伊大学芝加哥分校的研究人员对基于深度学习的情感分析研究进行了详细论述. ...

最新文章

  1. POJ 1189 记忆化搜索
  2. 计算机网络 物理层链路层
  3. 腾讯的张小龙是一个什么样的人
  4. java r$_基于javacv的人脸检测Demo
  5. ipfs 云服务器_IPFS加速云服务生机和分布式存储
  6. php mysqli报错,php安装扩展mysqli的实现步骤及报错解决办法
  7. MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)
  8. php实现微信红包金额随机分配的函数
  9. java 错误页_《javaweb学习笔记2-jsp错误页设置》
  10. 2005开启服务器文件夹,vss2005图文教你如何安装与配置?
  11. 泛微OA漏洞(综合)
  12. 论文学习13Reconstructing the house from the ad: Structured prediction on real estate classifieds(实体关系抽取)
  13. 电子邮箱官网地址是什么,企业邮箱官网地址登录入口讲解
  14. Mac上运行matlab2019b卡顿
  15. 数字图像处理 DCT变换
  16. 新巴塞尔资本协议(中英文)
  17. python exe文件反编译_[原创]python exe文件解包方法总结
  18. 6轮面试辛苦拿到阿里Android开发offer,却从22k降到15k,在逗我
  19. 解析GMAT语法中主谓一致知识点
  20. 职场常用的办公软件,操作很方便

热门文章

  1. c语言冒泡排序算法排序字符串,利用冒泡排序实现一串字符串从小到大的排序...
  2. Linux 权限管理 day6
  3. 【研报】2021年版《居民常见恶性肿瘤筛查和预防推荐》——附下载链接
  4. Python 把视频切割成一帧帧的图片
  5. Ubuntu 16.04 amd64架构下安装使用i386程序动态链接库依赖
  6. IDEA配置JavaFX环境
  7. 大学-Java课程-第八章 常用实用类
  8. figma查看原始图片大小
  9. html5中按钮尺寸设计,UI设计中的按钮设计规范
  10. 如何判断是住宅ip还是机房ip?