利用Python进行年报文本情感分析——从基础到应用
近年来,情感分析(Sentiment Analysis)在自然语言处理领域得到了广泛应用。情感分析旨在识别文本中所表达的情感态度,常见的应用场景包括商品评价、舆情监控以及金融领域的年报分析。年报作为上市公司对外披露的重要信息,其文本内容往往包含公司对未来的展望、风险提示等关键信息。通过情感分析,可以量化年报中的情感倾向,为投资决策提供参考。
本文将通过Python展示如何实现对上市公司年报的情感分析,包含从PDF文档中提取文本、基于情感词典进行情感计算、以及如何对多份年报数据进行批量分析,并将结果保存为CSV格式。
1.读取PDF年报文本
首先,需要将年报中的文本数据提取出来。这里使用pdfplumber库来处理PDF文件。
import pdfplumber
# 读取PDF文档
path = '000661:2021年年度报告.pdf'
pdf = pdfplumber.open(path)
text_all = ""
for page in pdf.pages:
text = page.extract_text()
text_all = text_all + '\n' + text # 字符串拼接
pdfplumber可以方便地逐页提取PDF中的文本内容,并将其拼接成一个完整的字符串,方便后续处理。
2. 导入情感词典
在进行情感分析前,我们需要引入情感词典。情感词典包含了已标注的正向(积极)和负向(消极)词汇。这里假设情感词典是以TXT格式保存,并且编码为GBK。
# 读取情感词典
poss = open('positive.txt', encoding='gbk').read().split('\n')
negs = open('negative.txt', encoding='gbk').read().split('\n')
情感词典可以根据领域需求进行自定义或扩展,除了常见的积极和消极两类情感,还可以引入中立、愤怒、喜悦等多种情感类别。
3.文本分词与情感计算
为了计算文本中的情感倾向,我们使用jieba进行中文分词。然后,逐词匹配情感词典&