制裁名单交易筛查
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_96597d90/transaction-screening
技能介绍
为什么需要它
制裁筛查是交易合规的硬环节:对手方一旦命中 OFAC、UN、EU 等名单就必须拦截或上报。难点在于名单分散在十余个官方源,格式各异,条目超过七万,人工比对既慢又易漏。中文实体尤其棘手——同一家公司可能以简体、繁体、拼音、简称等形式出现,纯字符串匹配对不上。
技能如何工作
数据层:内置 10 个公开源(OFAC SDN、UK FCDO、EU、UN、INTERPOL、香港 CEDB 及中国本地名单),合计约 71.8K 条目。首次运行 fetch.py 拉取全部数据缓存本地,后续搜索直接读缓存。
单实体搜索(search.py):跑精确、子串、模糊三级匹配,按四档返回——≥85% 高置信命中,60–84% 待复核,35–59% 低置信巧合,无结果即未命中。
批量筛查(batch_screen.py):输入 .xlsx,自动提取名称列逐条比对,输出 CSV 和 HTML 报告。
中文匹配四层防线:
- 停用词过滤:剔除「科技有限公司」等 80+ 通用词,避免后缀巧合
- 拼音桥接:词边界滑窗匹配,
kunlun能命中BANK OF KUNLUN,嵌入碎片不会 - 繁简归一:内置 600+ 字对照表,简体查询能命中繁体条目
- 简称展开:
data/aliases.json收录约 280 条映射,「工行」自动展开为「中国工商银行」
防误报:类型维度不一致时降级置信度并标记人工复查;子串占比 < 50% 不给分,短名单名(< 5 字符)不参与子串匹配;纯拼音匹配上限 0.45,永远进待复核。
扩展:fetch.py --add-url 可将任意 CSV 名单并入索引。
适用边界
- 核心脚本零第三方依赖,仅用 Python 标准库;可选依赖(
openpyxl、pypinyin、pdfplumber)离线需预装 - 缓存不检查有效期,离线快照会随时间变旧
- 实体类型识别是规则版(
_guess_entity_type()),非 NER,"宁少标不多标" - 简称展开表仅覆盖约 280 条,表外缩写无法识别
- 做的是名单比对和相似度排序,不替代合规人员对模糊结果的最终判定
使用场景
- 银行合规员在放款前对交易对手做制裁名单比对,输出置信度供复核
- 财务人员拿到一份付款 Excel,需批量筛查所有收款方是否命中 OFAC、UN、EU 等名单并生成 HTML 报告
- 法务或风控团队新增内部黑名单,需用 fetch.py 拉取本地 CSV 并合并进搜索索引
- 跨境支付运营在交易前查中文实体名,需验证拼音、简称、繁简体是否都能正确命中
适合人员
- 银行或支付机构的合规专员,需要在交易放行前对对手方做制裁名单核查
- 企业财务或风控人员,定期批量筛查供应商、客户、收款方名单
- 金融科技后端工程师,想把制裁筛查脚本集成进交易或开户流水线
- 法务和审计从业者,需要离线拉取并比对多国制裁与反恐名单