2. 智能寻源基础:寻源流程概述、供应商画像构建、需求匹配与评分模型
智能寻源是谈判支持系统的数据与策略入口。本章从寻源全流程出发,依次拆解供应商画像的构建方法、需求匹配的算法逻辑以及评分模型的设计原则,为后续谈判策略的驱动开发奠定基础。
2.1 寻源流程概述
智能寻源流程覆盖从需求提出到供应商入围的完整链路,通常包含以下五个核心阶段:
| 阶段 | 关键活动 | 输出物 |
|---|---|---|
| 需求解析 | 结构化采购需求、拆解品类与规格 | 需求特征向量 |
| 供应商初筛 | 基于画像标签过滤不合格供应商 | 候选供应商列表 |
| 匹配计算 | 需求与供应商画像的相似度/匹配度计算 | 匹配得分矩阵 |
| 评分排序 | 多维度加权评分,输出推荐排名 | 供应商推荐榜单 |
| 谈判准备 | 生成谈判基线、关键指标与策略建议 | 谈判策略包 |
性能关注点: 初筛阶段应利用倒排索引或布隆过滤器快速过滤,避免全量画像参与后续计算;匹配与评分阶段需关注向量化计算的吞吐与延迟。
2.2 供应商画像构建
供应商画像是智能寻源的核心数据资产,由静态属性、动态行为、关系网络三个维度构成。画像的完整性与时效性直接影响匹配精度。
2.2.1 画像维度定义
| 维度 | 数据来源 | 典型字段 | 更新频率 |
|---|---|---|---|
| 静态属性 | 注册信息、资质证书 | 注册资本、经营范围、ISO认证 | 季度 |
| 动态行为 | 历史交易、履约记录 | 准时交付率、质量合格率、响应时长 | 实时/日 |
| 关系网络 | 供应链图谱、合作记录 | 关联企业、历史合作次数、推荐关系 | 周 |
工程实践: 动态行为数据建议采用流式处理框架(如 Flink)实时更新画像中的 KPI 指标,避免批处理带来的数据滞后。
2.2.2 画像构建流程
- 数据接入: 从 ERP、SRM、外部征信 API 拉取原始数据。
- 特征工程: 对文本类字段(如经营范围)进行分词、TF-IDF 向量化;对数值字段进行归一化与分桶。
- 标签生成: 基于规则引擎或轻量模型生成品类标签、风险等级、产能等级。
- 画像存储: 使用支持向量检索的数据库(如 Milvus、Elasticsearch)存储画像向量与标签。
// 画像构建伪代码示例
class SupplierProfileBuilder:
def build(self, supplier_id):
static = self.load_static_attrs(supplier_id)
dynamic = self.load_dynamic_metrics(supplier_id)
network = self.load_network_features(supplier_id)
# 特征拼接与归一化
feature_vector = self.normalize(concat(static, dynamic, network))
# 标签推理
tags = self.rule_engine.infer(feature_vector)
return Profile(supplier_id, feature_vector, tags)
2.3 需求匹配与评分模型
需求匹配的核心是将采购需求转化为特征向量,与供应商画像进行相似度计算;评分模型则在此基础上引入业务权重与约束条件,输出可排序的推荐结果。
2.3.1 匹配算法选型
| 算法 | 适用场景 | 计算复杂度 | 精度 |
|---|---|---|---|
| 余弦相似度 | 文本类特征(经营范围、描述) | O(n) | 中 |
| 欧氏距离 | 数值类特征(价格、产能) | O(n) | 中 |
| 加权混合相似度 | 多模态特征融合 | O(n) | 高 |
| 深度语义模型 | 非结构化需求文本 | O(n²) 推理 | 很高 |
性能陷阱: 深度语义模型在候选集超过 10 万时,推理延迟会显著增加。建议先通过标签过滤将候选集缩小至千级,再使用深度模型精排。
2.3.2 评分模型设计
评分模型采用多因子加权架构,支持动态权重调整。基础公式如下:
Score(S, R) = α · Match(S, R) + β · Risk(S) + γ · Cost(S) + δ · History(S)
其中:
- Match(S, R) 为需求 R 与供应商 S 的匹配度
- Risk(S) 为供应商风险评分(反向指标)
- Cost(S) 为成本竞争力评分
- History(S) 为历史合作满意度评分
- α, β, γ, δ 为可配置权重,满足 α+β+γ+δ = 1
2.4 性能调优要点
- 向量化计算: 使用 NumPy 或 GPU 加速匹配度矩阵计算,避免逐条循环。
- 缓存策略: 供应商画像中静态属性缓存至本地或 Redis,动态指标按 TTL 刷新。
- 索引优化: 对品类标签、产能等级等枚举字段建立倒排索引,加速初筛过滤。
- 评分预计算: 对于高频需求模板,提前计算部分评分因子,运行时仅做加权求和。
案例: 某制造企业将匹配计算从 Python 原生循环改为 NumPy 向量化后,10 万级候选集的匹配耗时从 12 秒降至 0.3 秒,性能提升 40 倍。