Files
check_in/.trae/documents/优化资源匹配算法:引入语义关键词映射.md
jeremygan2021 20c280405a pp
2026-01-10 01:38:34 +08:00

46 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 构建专家规则匹配系统 (Expert Rule-Based Matching)
既然不使用 AI 模型,要解决“尽快上市”和“证券”这种字面不同但意义相关的匹配,唯一且最高效的方法是构建一个**领域同义词库Domain Thesaurus**。这是一种经典的“专家系统”算法,通过预定义的业务规则来模拟理解。
## 1. 核心思路
我们不再依赖通用的模糊匹配,而是建立一套**精准的映射规则**。
- **原理**:计算机不知道“上市”需要“证券”,但我们知道。我们将这些业务逻辑“硬编码”为一本字典。
- **算法**`关键词提取` + `同义词扩散` + `加权匹配`
## 2. 方案优势
- **完全可控**:为什么匹配?为什么不匹配?逻辑一目了然。
- **零依赖**:不需要安装任何新库(如 torch 或 jieba纯 Python 原生代码,运行极快。
- **即刻生效**:只要规则里写了,匹配准确率就是 100%。
## 3. 实施计划
### 步骤 1: 构建商业同义词库 (Thesaurus)
`main.py` 中定义一个详尽的字典,覆盖主要的商业场景。
针对您的痛点,我会重点编写“上市/金融”类的规则:
```python
BUSINESS_THESAURUS = {
# 核心词: [同义词, 关联行业, 关联职能]
"上市": ["IPO", "证券", "股票", "股份", "路演", "投行", "辅导", "财报", "合规", "董秘"],
"证券": ["上市", "交易", "股票", "投资", "金融", "资本"],
"融资": ["找钱", "资金", "投资", "VC", "PE", "天使", "风投", "路演", "BP"],
"获客": ["销售", "渠道", "推广", "流量", "代理", "分销", "增长"],
"技术": ["研发", "代码", "程序", "系统", "平台", "App", "小程序", "AI"],
"法律": ["合规", "律师", "法务", "合同", "知识产权", "维权"],
"财税": ["会计", "审计", "报税", "记账", "财务"],
}
```
### 步骤 2: 实现智能匹配算法 (Smart Matching Algorithm)
我将编写一个 `compute_expert_score(text_a, text_b)` 函数:
1. **关键词扫描**:遍历字典的 `Key`,看 `text_a`(如愿景)中包含哪些核心词(如发现“上市”)。
2. **关联扩散**:如果发现了“上市”,不仅匹配“上市”本身,还自动去 `text_b`(如对方行业)中寻找 `Value` 列表中的词(如“证券”、“投行”)。
3. **加权打分**
- 直接命中关键词100分
- 命中关联词80分
- 保留原有的 `difflib` 作为兜底(处理人名或未收录的词)。
### 步骤 3: 替换现有逻辑
修改 `/api/resource-match``get_tablemates`,使用新的专家算法替换旧算法。
这个方案完全满足“不用AI”且“提高模糊语义准确度”的需求。