首页 > 其他分享 >R语言自然语言处理NLP:情感分析上市公司文本信息知识发现可视化|附代码数据

R语言自然语言处理NLP:情感分析上市公司文本信息知识发现可视化|附代码数据

时间:2023-10-30 23:57:24浏览次数:37  
标签:NLP 文本 index read 情感 可视化 Words 自然语言

全文链接:http://tecdat.cn/?p=31702

原文出处:拓端数据部落公众号

情感分析,就是根据一段文本,分析其表达情感的技术。比较简单的情感分析,能够辨别文本内容是积极的还是消极的(褒义/贬义);比较复杂的情感分析,能够知道这些文字是否流露出恐惧、生气、狂喜等细致入微的情感。此外,情感的二元特性还可以表达为是否含有较大的感情波动。也就是说,狂喜和暴怒都属于感情波动,而宠辱不惊则属于稳定的情感状态。

研究目的

本文基于R语言的自然语言处理技术,针对企业的财务信息、产品质量等文本信息,帮助客户对企业和产品进行情感分析和情感分类,并将这些数据可视化呈现。本文选择了A股上市公司相关数据,通过构建R语言的文本情感分析模型对文本情感进行分析,并以此为基础对企业进行情感分类。   附件说明:其中基础词典是要通过文本挖掘的结果扩展的词典了,也是研究的主要目的(分词的时候可以用到);

image.png

image.png

image.png

image.png

image.png

image.png

image.png

语料库资源是要进行文本挖掘的数据源。

image.png

image.png

image.png

研究的目的就是在文本分析结果的基础上扩展用户词典,这些需要在文本挖掘的基础上进行扩展。其中语料库一共是10个文件,需要的是一个文件出一个结果。最后是要对比这10个文件的。还有就是语料库是pdf格式。

出现的结果应该是类似这种的:

 

中文财务关键词 05年 06年 07年 08年
负面词 184 107    
正面词 48 66    
不确定词 22 19    
诉权词 57 31  

读取词库数据

   

Litigious=read.table("Litigious Words.txt")  
Strong=read.table("Modal Words Strong.txt")  
Weak=read.table("Modal Words Weak .txt")  
Positive=read.table("Positive Words.txt")  
Uncertainty=read.table("Uncertainty Words.txt")  
Negative=read.table("Negative Words .txt")

文本清理和分词

   

qrxdata=gsub("\n","",qrxdata)  
words= lapply(X=qrxdata, FUN=segmentCN) ;

初始化统计结果

   
x=words  
pwords=positive  
nwords=negative  
Litigious=Litigious  
Strong=Strong  
Weak=Weak  
Uncertainty=Uncertainty  
  
  
npwords=0  
nnwords=0  
nLitigious=0  
nStrong=0  
nWeak=0  
nUncertainty=0
emotionType <-numeric(0)  
xLen <-length(x)  
emotionType[1:xLen]<- 0  
index <- 1

词法分析

词法分析。它的原理非常简单,事前需要定义一个情感词典。比如“喜欢”这个词我们定义为1分。那么“我喜欢你”这句话,“我”和“你”都是中性词,均为0分,“喜欢”为1分,这句话的总分就是1分。“我喜欢你,但讨厌他”,这样一句话中有“讨厌”这个词,在情感词典中分数为“-1”,那么整句话的得分就是0。这样,我们就可以对每一个文本进行分词,然后使用内连接(inner join)来提取其中的情感词语,并根据情感词语的得分,来评估这段文本的情感得分。

   

for(index in 1: xLen){  
  x[[index]]=unique(x[[index]])  
  yLen <-length(x[[index]])  
  index2 <- 1  
  for(index2 in 1 :yLen){  
    if(length(pwords[pwords==x[[index]][index2]]) >= 1){  
      i=pwords[pwords==x[[index]][index2]]  
      npwords=npwords+length(pwords[pwords==x[[index]][index2]])  
      if(length(i)==0)next;  
      duanluo=substr(qrxdata[index],regexpr(i,qrxdata[index])[1]-20,regexpr(i,qrxdata[index])[1]+20)  
      if(regexpr(i,duanluo)[1]<0 )next;  
      cat(studentID,"\t",i," \t","DOC",index,"\t ","pos"," \t",duanluo," \t",length(pwords[pwords==x[[index]][index2]])/length(x[[index]])," \

按年份和词性分类汇总成表格

   
1=data.frame("正面词"=npwords,"负面词"=nnwords,"不确定词"=nUncertainty,"诉权词"=nLitigious,  
                "强语气词"=nStrong,"弱语气词"=nWeak)  
  


 =rbind(,1)  
  
  

image.png

ggplot可视化

将每个文档的词性输出,并按照词性和年份绘制变化趋势:

image.png

image.png


the-hidden-value-of-voice-conversations-part-2-reaping-the-rewards-1536x1536.webp

最受欢迎的见解

1.Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组

2.R语言文本挖掘、情感分析和可视化哈利波特小说文本数据

3.r语言文本挖掘tf-idf主题建模,情感分析n-gram建模研究

4.游记数据感知旅游目的地形象

5.疫情下的新闻数据观察

6.python主题lda建模和t-sne可视化

7.r语言中对文本数据进行主题模型topic-modeling分析

8.主题模型:数据聆听人民网留言板的那些“网事”

9.python爬虫进行web抓取lda主题语义数据分析

标签:NLP,文本,index,read,情感,可视化,Words,自然语言
From: https://www.cnblogs.com/tecdat/p/17799248.html

相关文章

  • 数据驱动的风险管理:保险行业的可视化革命
    在当今不确定性充斥的世界中,保险行业扮演着关键的社会角色。无论是财产保险、健康保险还是生命保险,它们都提供了一种安全网,帮助个人和企业在不可预测的风险面前保护自己。然而,随着信息时代的来临,数据变得愈发重要,而保险行业可视化大屏正在以前所未有的方式推动这一领域的变革。 ......
  • 使用Python获取建筑网站数据,进行可视化分析,并实现网站JS解密!
    哈喽兄弟们,今天来实现一下建筑市场公共服务平台的数据采集,顺便实现一下网站的JS解密。话不多说,我们直接开始今天的内容。 首先我们需要准备这些环境使用Python3.8Pycharm模块使用requests-->pipinstallrequestsexecjs-->pipinstallPyExecJ......
  • CVer从0入门NLP(一)———词向量与RNN模型
    ......
  • 【Python数据可视化】2023中秋国庆电影票房数据
    ......
  • 数字孪生智慧工厂三维可视化系统解决方案,打造智慧工厂
    在制造业的快速发展和数字化转型的时代,智慧工厂已经成为制造企业前进的必经之路。数字孪生技术,作为工业数字化转型的核心动力,为打造智慧工厂提供了关键支持。其中,数字孪生智慧工厂三维可视化系统解决方案无疑是制造企业的得力助手,通过实时数据采集、数字孪生模型建立和智能分析,能......
  • Excel表格数据可视化的六大常见方式,看看你都会吗?
    当涉及到Excel表格数据的可视化,有许多不同的方式可以展示和呈现数据。以下是六种常见的Excel表格数据可视化方式的详细介绍。1.条形图(BarChart)条形图是一种常见的数据可视化图表类型,用于比较不同类别或组之间的数据。在Excel中创建条形图非常简单。首先,选择包含数据的表格区......
  • 如何快速上手数据可视化?小白仅需4步轻松搞定!
    当您是个数据可视化新手时,以下是一个简单的4步指南,帮助您快速上手数据可视化:1.准备数据第一步是准备您要进行可视化的数据。确保您的数据集已经收集完整并以合适的格式存储。您可以使用电子表格软件(如MicrosoftExcel、GoogleSheets)或专业的数据分析工具(如Datainside的Panda......
  • Python用正则化Lasso、岭回归预测房价、随机森林交叉验证鸢尾花数据可视化2案例
    机器学习模型的表现不佳通常是由于过度拟合或欠拟合引起的,我们将重点关注客户经常遇到的过拟合情况。过度拟合是指学习的假设在训练数据上拟合得非常好,以至于对未见数据的模型性能造成负面影响。该模型对于训练数据中没有的新实例的泛化能力较差。复杂模型,如随机森林、神经网络和X......
  • R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
    行为风险因素监测系统(BRFSS)是一项年度电话调查。BRFSS旨在确定成年人口中的风险因素并报告新兴趋势。例如,调查对象被询问他们的饮食和每周体育活动、HIV/AIDS状况、可能的吸烟情况、免疫接种、健康状况、健康日数-与健康相关的生活质量、医疗保健获取、睡眠不足、高血压认知、胆固......
  • 可视化1
    importpandasaspddata=pd.read_csv(r'C:\Users\Administrator\Desktop\第三章1\第三章\data\employee.csv')data1=pd.read_csv(r'C:\Users\Administrator\Desktop\第三章1\第三章\data\employee.csv',names=[1,2,3,4,5,],usecols=[1,3,4,5])d......