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

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: R语言自然语言处理NLP:情感分析上市公司文本信息知识发现可视化

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


研究目的


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


点击标题查阅往期内容


主题挖掘LDA和情感分析图书馆话题知乎用户问答行为数据


01

02

03

04


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

研究的目的就是在文本分析结果的基础上扩展用户词典,这些需要在文本挖掘的基础上进行扩展。其中语料库一共是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)


ggplot可视化


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

相关文章
|
9月前
|
数据可视化 数据挖掘 图形学
R语言基础可视化:使用ggplot2构建精美图形的探索
【8月更文挑战第29天】 `ggplot2`是R语言中一个非常强大的图形构建工具,它基于图形语法提供了一种灵活且直观的方式来创建各种统计图形。通过掌握`ggplot2`的基本用法和美化技巧,你可以轻松地将复杂的数据转化为直观易懂的图形,从而更好地理解和展示你的数据分析结果。希望本文能够为你探索`ggplot2`的世界提供一些帮助和启发。
|
9月前
|
数据可视化 数据挖掘 数据处理
R语言高级可视化技巧:使用Plotly与Shiny制作互动图表
【8月更文挑战第30天】通过使用`plotly`和`shiny`,我们可以轻松地创建高度互动的数据可视化图表。这不仅增强了图表的表现力,还提高了用户与数据的交互性,使得数据探索变得更加直观和高效。本文仅介绍了基本的使用方法,`plotly`和`shiny`还提供了更多高级功能和自定义选项,等待你去探索和发现。希望这篇文章能帮助你掌握使用`plotly`和`shiny`制作互动图表的技巧,并在你的数据分析和可视化工作中发挥更大的作用。
|
6月前
|
机器学习/深度学习 自然语言处理 知识图谱
GraphRAG在自然语言处理中的应用:从问答系统到文本生成
【10月更文挑战第28天】作为一名自然语言处理(NLP)和图神经网络(GNN)的研究者,我一直在探索如何将GraphRAG(Graph Retrieval-Augmented Generation)模型应用于各种NLP任务。GraphRAG结合了图检索和序列生成技术,能够有效地处理复杂的语言理解和生成任务。本文将从个人角度出发,探讨GraphRAG在构建问答系统、文本摘要、情感分析和自动文本生成等任务中的具体方法和案例研究。
218 5
|
6月前
|
自然语言处理 Python
如何使用自然语言处理库`nltk`进行文本的基本处理
这段Python代码展示了如何使用`nltk`库进行文本的基本处理,包括分词和词频统计。首先需要安装`nltk`库,然后通过`word_tokenize`方法将文本拆分为单词,并使用`FreqDist`类统计每个单词的出现频率。运行代码后,会输出每个词的出现次数,帮助理解文本的结构和常用词。
182 1
|
7月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
149 2
|
7月前
|
自然语言处理
【NLP自然语言处理】文本特征处理与数据增强
【NLP自然语言处理】文本特征处理与数据增强
|
9月前
|
数据可视化
R语言可视化设计原则:打造吸引力十足的数据可视化
【8月更文挑战第30天】R语言可视化设计是一个综合性的过程,需要综合运用多个设计原则来创作出吸引力十足的作品。通过明确目标、选择合适的图表类型、合理运用色彩与视觉层次、明确标注与引导视线以及引入互动性与动态效果等原则的应用,你可以显著提升你的数据可视化作品的吸引力和实用性。希望本文能为你提供一些有益的启示和帮助。
|
9月前
|
机器学习/深度学习 自然语言处理 算法
nlp文本提取关键词
8月更文挑战第21天
195 0
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
118 9
|
8月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。