3. NLP核心概念
在金融新闻情绪因子构建中,很多人一上来就调用现成模型,却忽略了底层NLP任务之间的依赖关系。结果是:分词切错导致实体识别漏掉“贵州茅台”,词性标注把“利好”当成名词,句法分析没识别出否定范围,最终情绪得分与真实市场反应严重偏离。本节把六个核心概念串成一条可解释的加工链,帮助你理解每一步如何影响最终情绪因子。
一、核心原理:从字符到情绪的分层加工
NLP处理金融文本时,并非一步到位判断“利好”或“利空”,而是逐层抽象。可以把它理解为一条从“符号”到“语义”再到“情绪”的流水线:
- 分词:把连续字符切成有意义的词单元,是中文NLP的第一道关口。金融领域存在大量未登录词,如“北向资金”“可转债”“市盈率”。
- 词性标注:为每个词标注名词、动词、形容词等,帮助判断“增长”是名词还是动词,影响情绪触发规则。
- 命名实体识别:识别公司、机构、人物、产品、金额、日期等实体,决定情绪归属于谁。
- 句法分析:分析主谓宾、修饰、否定、并列结构,确定情绪的作用范围与方向。
- 语义表示:把词、句映射为向量,捕捉“超预期”“不及预期”等语义相似性。
- 情绪分析:在以上结果基础上,输出极性、强度、目标与置信度。
这六层不是并列关系,而是层层递进。分词错误会向上传播,句法缺失会让情绪分析退化为“关键词匹配”。
二、方法流程:六步加工与情绪因子的映射
把上述概念落到工程实现,通常对应以下流程。每一步都产出结构化中间结果,便于排查与复用:
- 文本清洗:去除HTML、广告、免责声明,保留标题与正文。
- 分词与词性标注:使用金融领域词典增强,输出“词/词性”序列。
- 命名实体识别:抽取公司、行业、金额、时间,建立实体-情绪归属。
- 句法分析:识别否定、转折、程度副词,确定情绪作用域。
- 语义表示:用预训练模型生成句向量,计算与情绪锚点的相似度。
- 情绪打分:融合规则与模型,输出极性、强度、目标、置信度。
下面是一个简化的处理日志示例,展示中间结果如何逐层传递:
输入: "公司Q3净利超预期,但营收不及预期"
分词: 公司/Q3/净利/超/预期/,/但/营收/不及/预期
词性: 公司/n Q3/n 净利/n 超/v 预期/n 但/c 营收/n 不及/v 预期/n
实体: 公司=ORG, Q3=TIME
句法: 转折关系(但),前半句正向,后半句负向
情绪: 目标=公司, 极性=中性偏负, 强度=0.42, 置信度=0.81
提示:金融文本中“超预期”与“不及预期”只差一个字,但情绪方向相反。分词若把“不及”切成“不/及”,句法若未识别否定,情绪分析就会误判。
三、案例/场景:一条新闻如何变成情绪因子
假设新闻标题为“某新能源龙头获北向资金大幅加仓,机构上调目标价”。加工过程如下:
| NLP任务 | 输出示例 | 对情绪因子的作用 |
|---|---|---|
| 分词 | 某/新能源/龙头/获/北向资金/大幅/加仓 | 保留“北向资金”“加仓”等金融术语 |
| 词性标注 | 加仓/v 大幅/d 上调/v | 识别动作与程度,提升强度权重 |
| 命名实体识别 | 某新能源龙头=ORG,北向资金=ORG | 确定情绪归属主体与资金来源 |
| 句法分析 | 主谓宾:龙头-获-加仓;机构-上调-目标价 | 确认两个正向事件并列,情绪叠加 |
| 语义表示 | “加仓”与“买入”向量相似度高 | 泛化同义表达,减少词典遗漏 |
| 情绪分析 | 极性=正向,强度=0.78,目标=该龙头 | 生成可聚合的数值因子 |
最终,这条新闻被映射为“该新能源龙头 + 正向 + 0.78 + 当日”的情绪因子,可与行情数据对齐回测。
四、误区与复盘:常见坑与修正策略
误区一:只做关键词匹配。“跌”在“跌幅收窄”中是正向信号,在“跌停”中是负向信号。缺少句法分析,关键词匹配会大量误判。
- 误区二:忽略否定与转折。“并非不及预期”是双重否定,实际偏正向。句法分析必须识别否定辖域。
- 误区三:实体归属错误。“某公司供应商股价大涨”中,情绪主体是供应商,不是该公司。命名实体识别要区分主体与关联方。
- 误区四:分词粒度不一致。训练与推理使用不同词典,会导致因子分布漂移。应固定词典版本并记录。
- 误区五:语义表示与情绪目标脱节。句向量相似不代表情绪一致,需用情绪锚点做校准。
复盘时建议逐层检查:分词是否漏掉金融术语,词性是否影响触发词,实体是否归属正确,句法是否覆盖否定与转折,语义表示是否与情绪标签对齐。只有六层协同,情绪因子才具备可解释性与稳定性。
核心结论:分词、词性标注、命名实体识别、句法分析、语义表示是情绪分析的“前置基础设施”。情绪分析不是孤立模型,而是这条加工链的最终输出。理解它们的关系,才能在金融新闻场景中构建出可回测、可归因、可迭代的情绪因子。