4. 金融场景中的相似关系
在金融业务中,“相似”从来不是一个纯数学概念,而是由业务目标反向定义的关系。相似公司用于同业对标与产业链映射,相似股票用于量化选股与组合替代,相似客户用于精准营销与适当性管理,相似风险事件用于预警传导,相似舆情用于情绪扩散监测,相似交易模式用于异常识别。Embedding 的价值在于把这些语义关系压缩为可计算的向量距离,但前提是先把业务定义讲清楚,否则向量再准也检索不到正确对象。
一、六类相似关系的业务定义
六类关系看似都叫“相似”,但比较维度、粒度与时效性差异很大。下面用一张清单明确各自定义与检索需求。
| 关系类型 | 业务定义 | 主要比较维度 | 典型检索需求 |
|---|---|---|---|
| 相似公司 | 主营业务、产业链位置、客户群体、商业模式接近的企业 | 行业标签、产品描述、供应链关系 | 同业对标、竞品发现、产业链补全 |
| 相似股票 | 价格行为、因子暴露、资金流向、波动结构相近的标的 | 行情序列、因子向量、交易统计 | 选股替代、组合分散、风格暴露分析 |
| 相似客户 | 风险偏好、资产结构、行为习惯、生命周期阶段接近的客户 | 画像标签、交易行为、持仓结构 | 精准营销、适当性匹配、流失预警 |
| 相似风险事件 | 触发原因、传导路径、影响范围、处置方式相近的事件 | 事件文本、主体关系、损失特征 | 历史类比、风险预警、压力测试 |
| 相似舆情 | 主题、情绪、传播路径、影响主体相近的舆情信息 | 文本语义、情绪极性、传播网络 | 情绪监测、扩散预测、声誉管理 |
| 相似交易模式 | 下单节奏、撤单行为、账户关联、资金路径相近的交易序列 | 时序行为、图关系、统计特征 | 异常交易识别、团伙发现、合规审查 |
二、从业务定义到向量检索的映射
业务定义要落地为可检索的向量,需要经过字段选择、编码、索引与相似度计算四步。以相似公司为例,输入通常包括公司简介、主营业务描述、产品名称、行业标签和供应链关系;编码后得到公司向量,检索时用余弦相似度返回 Top-K。相似股票则不同,它的输入更多是数值型时序与因子,需要先做标准化和窗口聚合,再编码为向量。
# 相似公司检索示例(伪代码)
company_text = f"{name} {industry} {main_business} {products}"
vec = embed(company_text)
results = index.search(vec, top_k=10, metric="cosine")
# 相似股票检索示例
factor_vec = normalize([momentum, volatility, turnover, pe, roe])
stock_vec = embed_numeric(factor_vec)
results = stock_index.search(stock_vec, top_k=20)
关键差异在于:文本型相似关系依赖语义 Embedding,数值型相似关系依赖特征工程与距离度量,图型相似关系依赖节点嵌入与关系传播。三者可以融合,但必须分别定义评估指标。
三、典型场景与检索需求拆解
以相似风险事件为例,业务方往往希望“找到历史上与当前事件最像的 5 个案例,并给出传导路径”。这要求检索系统不仅返回相似事件,还要返回事件主体、影响行业、损失金额和处置动作。因此,Embedding 不能只编码事件标题,而应融合事件描述、主体关系、时间窗口和影响标签。
相似交易模式的检索需求更偏向图结构。两个账户可能单笔交易差异很大,但在“下单—撤单—再下单”的节奏、关联账户资金往来、IP 与设备共用等维度上高度相似。此时需要把交易序列转为行为向量,同时把账户关系转为图嵌入,再做联合检索。
四、常见误区与复盘
- 误区一:所有相似关系共用一个向量空间。公司、股票、客户、事件的语义空间差异极大,混用会导致检索结果不可解释。应按业务域分库,必要时再做跨域对齐。
- 误区二:只关注 Top-K 准确率,忽略业务阈值。金融场景中,相似度低于某阈值的结果可能带来合规风险,必须结合业务规则做二次过滤。
- 误区三:忽略时效性。舆情和交易模式的相似关系衰减很快,索引需要支持增量更新与时间衰减加权。
- 误区四:把相似等同于相关。相似公司不一定同涨同跌,相似客户不一定风险相同。检索结果必须附带解释字段,供业务人员判断。
复盘时建议按“业务定义—特征选择—编码方式—检索指标—业务反馈”五步走。每一类相似关系都要回答:谁在用、用来做什么决策、错误结果的代价是什么。只有把这三个问题回答清楚,Embedding 与相似关系检索才能真正落地到金融业务中。