3. 关系抽取入门
在信息抽取的技术栈中,命名实体识别回答“谁被提到了”,而关系抽取回答“它们之间是什么关系”。例如从“宁德时代为特斯拉供应磷酸铁锂电池”中,实体识别给出“宁德时代”“特斯拉”“磷酸铁锂电池”,关系抽取则输出(宁德时代,供应商,特斯拉)与(特斯拉,采购产品,磷酸铁锂电池)。这些结构化三元组是构建金融知识图谱、事件图谱与风控推理链的基础原料。
一、核心定义与形式化表达
关系抽取(Relation Extraction, RE)的目标是:给定一段文本及其中已标注或已识别的实体对,判定该实体对之间是否存在预定义关系,并给出关系类型。形式化地,对句子 S 与实体对 (e1, e2),模型输出标签 r ∈ R ∪ {None},其中 R 是关系类型集合,None 表示无关系。当实体识别与关系抽取联合完成时,最终产物即为三元组 (头实体, 关系, 尾实体)。
金融文本中的关系往往具有方向性、隐含性和多跳性。例如“A公司控股B公司”与“B公司控股A公司”语义完全相反,方向必须保留;而“某银行因违规被罚”中,处罚主体与处罚原因之间的关系常跨句出现,需要跨句推理能力。
二、分类体系:从任务设定到关系类型
关系抽取可按不同维度划分。按输入设定可分为:流水线式(先做实体识别,再做关系分类)与联合抽取(实体与关系同时解码,缓解误差传播)。按监督信号可分为:全监督、远程监督(用知识库对齐文本自动标注,噪声大)、少样本/零样本(面向长尾关系)。按文本范围可分为句子级与文档级。
在金融领域,关系类型体系通常围绕业务语义设计,常见类别如下表所示。
| 关系大类 | 典型关系 | 金融示例 |
|---|---|---|
| 股权与控制 | 控股、参股、子公司、实际控制人 | (甲公司,控股,乙公司) |
| 交易与供应 | 供应商、客户、采购、销售 | (A公司,供应商,B公司) |
| 任职与人事 | 董事长、总经理、任职于 | (张某,董事长,丙银行) |
| 风险与合规 | 被处罚、违约、担保、诉讼 | (丁公司,被处罚,证监会) |
| 产品与业务 | 发行、承销、托管、投资 | (戊基金,投资,己股票) |
三、评价指标与常用数据集
关系抽取的评价沿用信息抽取的经典指标:精确率(Precision)、召回率(Recall)与F1值。在关系分类任务中,通常先固定实体边界,再评估关系标签是否正确;在端到端三元组抽取中,则要求头实体、关系、尾实体三者全部正确才算命中,评价更严格。
Precision = TP / (TP + FP)
Recall = TP / (TP + FN)
F1 = 2 * P * R / (P + R)
# 端到端三元组严格匹配示例
gold = {(宁德时代, 供应商, 特斯拉)}
pred = {(宁德时代, 客户, 特斯拉)}
# 关系方向错误 → 该三元组判为 FP 且 FN,F1 = 0
常用数据集包括:SemEval-2010 Task 8(句子级多类关系)、TACRED(大规模、含无关系类)、DocRED(文档级、多跳推理)、NYT与WebNLG(远程监督与三元组生成)。金融垂直领域可参考FinRE、FinCausal等,或基于年报、公告、研报自建标注集。
四、典型应用场景与常见误区
关系抽取在金融业务中的落地场景非常密集:
- 股权穿透与关联方识别:抽取控股、参股、实际控制人关系,构建股权图谱,辅助识别隐性关联交易。
- 供应链与产业链分析:抽取供应商、客户、采购关系,追踪产业链传导与集中度风险。
- 风险事件与舆情监控:抽取被处罚、违约、担保、诉讼关系,形成事件三元组并触发预警。
- 智能投研与问答:将研报、公告中的关系结构化,支撑“某公司的主要客户是谁”等问答与检索。
掌握关系抽取的定义、分类、评价与场景后,下一步即可进入具体建模方法。需要牢记的是:在金融场景中,关系体系设计往往比模型选型更决定最终效果,而方向性、跨句性与噪声控制,是贯穿始终的三个关键难点。