4. 情感词典构建:通用情感词典、金融领域词典与自定义扩展
做金融文本情感分析,词典是绕不开的基础设施。
很多人一上来就怼深度学习模型,觉得词典太老土。我刚开始也这么想,结果被现实狠狠教育了一回——模型在通用场景下表现不错,但一遇到「降准」、「逆回购」、「黑天鹅」这些金融术语,直接就懵了。
说白了,词典是规则派的根基,也是数据增强的利器。今天咱们就聊聊怎么把这三层词典搭起来。
4.1 通用情感词典:BosonNLP 的取舍
通用情感词典里,我比较常用的是 BosonNLP。它基于微博数据构建,覆盖了约 10 万个情感词,正负面都有。
但有个坑——它太「社交化」了。比如「涨停」在 BosonNLP 里是正面词,但在某些场景下(比如「连续涨停后开板」),它其实是风险信号。
BosonNLP 的格式很简单,每行一个词,用空格分隔情感值:
# 示例:BosonNLP 情感词典片段
利好 1.5
利空 -1.8
上涨 1.2
下跌 -1.3
震荡 0.1
突破 1.0
崩盘 -2.0
情感值范围通常在 -2 到 2 之间。正值表示正面,负值表示负面,绝对值越大情感越强烈。
4.2 金融领域情感词典:LM 词典的实战应用
说到金融情感词典,就不得不提 Loughran-McDonald(LM)词典。这是学术界公认的金融情感词典标杆。
LM 词典把金融文本中的词分成六类:正面、负面、不确定性、诉讼、强语气、弱语气。我当年做财报情感分析时,就靠它撑起了整个基线系统。
| 类别 | 示例词 | 情感倾向 |
|---|---|---|
| 正面 | profit, growth, successful | +1 |
| 负面 | loss, default, bankruptcy | -1 |
| 不确定性 | uncertain, volatility, risk | 0(但需关注) |
| 诉讼 | lawsuit, litigation, claim | -1 |
| 强语气 | must, always, never | ±1(视上下文) |
| 弱语气 | maybe, possibly, might | 0(削弱情感) |
4.3 自定义词典的构建与扩展
通用词典和领域词典都有了,但还不够。为什么?因为金融行业变化太快了。
我记得 2020 年「熔断」这个词突然爆火,LM 词典里根本没有。如果你只靠现成词典,那段时间的文本分析基本是废的。
所以,自定义词典的构建能力,才是真正的核心竞争力。
4.3.1 基于规则的模式扩展
最简单的方法,是用词根+后缀的模式。比如:
# 模式扩展示例
# 核心词:涨
涨 -> 上涨、暴涨、疯涨、涨停、连涨
# 核心词:跌
跌 -> 下跌、暴跌、狂跌、跌停、连跌
# 核心词:风险
风险 -> 信用风险、市场风险、操作风险、流动性风险
嗯,这里要注意:不是所有组合都有情感倾向。比如「涨」本身是正面,但「涨速放缓」就偏中性了。我一般会加一个「上下文修饰词」的规则来兜底。
4.3.2 基于词向量的语义扩展
如果你有金融语料,用 Word2Vec 或 FastText 做语义扩展会更高效。
# 伪代码示例:基于词向量的情感词典扩展
from gensim.models import Word2Vec
# 假设已有金融语料训练好的模型
model = Word2Vec.load('finance_corpus.model')
# 种子词
seed_words = ['利好', '利空', '风险', '收益']
# 扩展:找最相似的 10 个词
for word in seed_words:
similar_words = model.wv.most_similar(word, topn=10)
print(f"{word} 的相似词: {similar_words}")
这样做的好处是能发现一些「隐性关联」。比如「利好」的相似词里可能会出现「政策扶持」、「资金流入」这些在通用词典里找不到的词。
4.3.3 基于半监督的迭代扩展
这是我最常用的方法。流程如下:
- 用种子词典对金融文本做初步情感标注
- 提取标注结果中「高频但未登录」的词
- 人工判断这些词的情感倾向
- 加入词典,重新标注
- 重复 2-4 步,直到词典覆盖率达到 90% 以上
说白了,就是「机器初筛 + 人工精标」的循环。虽然听起来笨,但效果最稳。
4.4 知识体系总览
下面这张图,是我做情感词典构建时的核心思路。你可以把它当成一个「施工蓝图」:
4.5 词典融合策略
三层词典都有了,怎么融合?我一般按优先级处理:
- 自定义词典 > 领域词典 > 通用词典:自定义词典的权重最高,因为它最贴近业务
- 情感值加权平均:如果同一个词在多个词典中出现,取加权平均(自定义词典权重 0.6,领域词典 0.3,通用词典 0.1)
- 冲突处理:如果情感倾向相反(比如通用词典标正面,领域词典标负面),以领域词典为准
好了,情感词典这块就聊到这儿。记住一句话:词典不是一次性工程,而是需要持续维护的活资产。你投入多少精力在词典上,你的情感分析系统就会回报你多少。