2. 金融文本与情绪分析基础

在把 FinBERT 用于真实业务之前,必须先回答一个更基础的问题:金融世界里到底有哪些文本?这些文本里的“情绪”如何定义、如何标注、如何被模型学习?如果跳过这一步直接微调,模型往往会在训练集上表现良好,却在实际研报、公告或社交媒体上频繁误判。本节围绕金融文本类型、情绪分类体系、情感分析任务定义以及常见应用场景与业务价值四个模块展开,为后续的 FinBERT 微调打下概念地基。

一、金融文本类型:不同来源决定不同难度

金融文本并非单一文体,它横跨正式披露、专业研究和非正式表达三大类。不同来源的文本在语言风格、噪声水平、情绪强度和标注难度上差异显著,直接决定了模型输入预处理与标签体系的设计。

  • 正式披露类:年报、季报、招股说明书、重大事项公告、监管问询回复。语言规范、结构固定,但情绪表达含蓄,常用“审慎乐观”“存在不确定性”等模糊措辞。
  • 专业研究类:券商研报、评级报告、行业深度、基金经理观点。包含大量专业术语与逻辑推理,情绪往往体现在评级调整、目标价变化和风险提示中。
  • 新闻资讯类:财经新闻、快讯、政策解读。时效性强、覆盖面广,但同一事件在不同媒体笔下情绪倾向可能相反。
  • 社交媒体类:股吧、微博、雪球、Twitter/X 财经帖。口语化、反讽、表情符号和缩写密集,是情绪最强烈也最难标注的一类。
  • 交互文本类:财报电话会议记录、分析师问答、投资者调研纪要。包含问答轮次和说话人角色,情绪随对话推进而变化。
提示:在微调 FinBERT 时,建议先明确你的业务主要覆盖哪几类文本。混合多来源训练虽然能提升泛化,但若标注标准不统一,反而会引入标签噪声。

二、情绪分类体系:从三分类到多维标注

金融情绪分析最常用的分类体系是三分类:正面(Positive)、中性(Neutral)、负面(Negative)。中性类别在金融文本中占比往往很高,因为大量披露性内容只是陈述事实,并不表达明确倾向。若业务需要更细粒度,可扩展为五分类,加入“强烈正面”和“强烈负面”,或引入“不确定/混合”类别。

除了极性,专业金融情绪还常从以下维度标注:

维度 取值示例 典型用途
极性 正面 / 中性 / 负面 舆情监控、因子构建
强度 弱 / 中 / 强 事件冲击评估
确定性 确定 / 不确定 / 推测 风险预警
时间指向 历史 / 当前 / 未来 预期管理
主体 公司 / 行业 / 宏观 归因分析

标注体系一旦确定,就要在标注手册中给出明确边界案例。例如“公司预计下半年业绩承压”应标为负面还是中性?通常若“承压”明确指向业绩下滑,则标负面;若只是风险提示且无明确方向,可标中性。边界一致性直接决定 FinBERT 微调的上限。

三、情感分析任务定义:句子级、文档级与方面级

金融情感分析在任务粒度上可分为三个层次,它们对模型输入长度和输出结构的要求不同。

  1. 句子级:输入单句,输出一个极性标签。适合新闻标题、快讯、社交媒体短帖。FinBERT 原生预训练即面向句子级分类。
  2. 文档级:输入整篇公告或研报,输出整体情绪。需要处理长文本截断、段落聚合或层次化建模。
  3. 方面级:识别文本中针对不同方面(如营收、利润、管理层、政策)的情绪。例如“营收超预期,但利润率承压”中,营收为正面、利润率为负面。方面级更贴近投研需求,但标注成本最高。

从建模角度看,句子级和文档级通常建模为文本分类任务,方面级则可建模为序列标注或多标签分类。FinBERT 微调时,只需在 [CLS] 向量后接一个线性分类头即可完成句子级任务:

from transformers import BertForSequenceClassification

model = BertForSequenceClassification.from_pretrained(
    "yiyanghkust/finbert-tone",
    num_labels=3,
    id2label={0: "neutral", 1: "positive", 2: "negative"}
)
# 输入: [CLS] 公司上调全年营收指引 [SEP]
# 输出: logits -> softmax -> 正面概率最高
注意:FinBERT 的标签顺序在不同开源版本中可能不同,微调前务必核对 id2label 映射,否则会出现“正面判成负面”的系统性错误。

四、常见应用场景与业务价值

金融情绪分析的价值不在于“判断一句话好坏”,而在于把非结构化文本转化为可量化、可回测、可监控的信号。典型场景包括:

  • 舆情监控与风险预警:实时扫描新闻和社交媒体,对负面情绪突增的公司发出预警,辅助风控和合规部门快速响应。
  • 量化因子构建:将每日情绪得分聚合为情绪因子,与收益率、波动率进行回归或分层回测,验证其选股或择时能力。
  • 研报与公告摘要:自动提取评级调整、目标价变化和风险提示,帮助投研人员快速筛选关键信息。
  • 智能投顾与客服:识别用户提问中的焦虑或投诉情绪,动态调整回复策略与人工介入优先级。
  • ESG 与合规审查:检测披露文本中是否存在误导性乐观表述,辅助内部审计与监管报送。

业务价值可归纳为三个层面:效率(替代人工阅读海量文本)、覆盖(7×24 小时全市场监控)、一致性(统一标注标准减少人为偏差)。但也要清醒认识到,情绪信号本身存在噪声和滞后,必须与基本面、量价数据结合使用,不能单独作为交易依据。

五、误区与复盘:别让“情绪”变成玄学

初学者常犯的错误包括:把中性文本强行归为正面或负面;忽略否定词和反讽;用通用情感词典直接套用金融文本;以及在没有验证集的情况下盲目相信准确率。一个典型的复盘案例是:某团队用通用情感模型分析财报电话会议,发现“管理层信心十足”被标为正面,但股价随后下跌。原因在于金融语境中,过度自信可能被市场解读为风险信号。这说明金融情绪不等于日常情绪,必须用领域数据微调。

核心结论:金融文本类型决定输入难度,情绪分类体系决定标签空间,任务粒度决定模型结构,应用场景决定业务价值。四者环环相扣,缺一不可。只有在标注标准、任务定义和评估指标都清晰之后,FinBERT 微调才真正有意义。
金融文本 → 情绪信号 → 业务价值 转化链路 金融文本类型 正式披露 专业研报 财经新闻 社交媒体 电话会议 情绪分类体系 极性:正 / 中 / 负 三分类为主,可扩展五分类 强度:弱 / 中 / 强 衡量事件冲击力度 确定性:确定 / 推测 区分事实与预期 时间指向:过去 / 未来 影响因子构建方式 主体:公司 / 行业 / 宏观 业务价值 舆情监控与预警 负面突增实时告警 量化情绪因子 回测选股与择时 研报公告摘要 提取评级与风险提示 智能投顾客服 识别用户情绪状态 ESG 与合规审查 任务粒度:句子级 → 文档级 → 方面级 | 模型结构:文本分类 → 长文本聚合 → 多标签/序列标注