Skip to content

lsgggggg/NameLink

Repository files navigation

🔗 NameLink

公司名称智能匹配系统 — 模糊匹配,精准关联

上传两张公司名单 → 自动标准化 + 三重相似度算法 → 输出专业匹配报告
繁简体 / 全半角自动统一 · 公司后缀智能标准化 · 带颜色的 Excel 报告 · 完全免费离线运行


✨ 为什么需要 NameLink?

你是否遇到过这些头疼的场景?

  • 🏢 手里有两张公司名单(比如供应商名录 vs 付款记录),需要找出哪些是同一家公司
  • 🔤 同一家公司在不同表里写法不同:华为技术有限公司 vs 華為技術有限責任公司 vs Huawei Technologies Co., Ltd.
  • 📋 几百上千条数据,靠 VLOOKUP 根本匹配不上,手动一条条核对要崩溃

NameLink 为这类场景而生:

核心能力 说明
🧠 多维文本标准化 繁→简转换、全角→半角、公司后缀统一(有限责任公司→有限公司、Ltd.→ltd 等)
🎯 三重相似度算法 字符重叠率(40%)+ LCS 最长公共子序列(35%)+ 分词重叠率(25%)
📊 专业 Excel 报告 颜色标记(绿色≥85% / 黄色55-85% / 红色<55%)+ 候选明细表
智能格式检测 自动判断表格是单列名单还是多列复杂表,智能提取公司名称
🔄 实时进度追踪 圆形进度环 + 当前处理公司名,清晰掌控匹配进度
💰 完全免费 纯算法实现,无需任何 API Key,无需联网,离线运行

🔬 匹配算法说明

NameLink 采用 三重评分加权融合,既不会漏匹配,也不会乱匹配:

最终得分 = 0.40 × 字符重叠率 + 0.35 × LCS序列相似度 + 0.25 × 分词重叠率

预处理流程:

  1. 繁体→简体转换(支持 OpenCC 高精度模式)
  2. 全角→半角字符统一
  3. 公司后缀标准化(Limited → ltd、Corporation → corp、有限责任公司 → 有限公司 等 30+ 条规则)
  4. 括号统一(全角/方括号/书名号 → 统一半角圆括号)
  5. 停用词过滤(the、of、and 等)

🖥️ 界面预览

运行后自动打开浏览器,四步完成全部操作:

步骤 1 → 上传文件:拖拽上传 A 表(正确名单)和 B 表(待核对名单)
步骤 2 → 配置参数:选择读取模式、候选百分比、匹配阈值
步骤 3 → 匹配处理:圆形进度环实时显示进度
步骤 4 → 查看结果:统计概览 + 在线预览表格 + 一键下载 Excel 报告


🚀 快速开始

1. 环境要求

  • Python 3.8+(推荐 3.10+)
  • 操作系统:Windows / macOS / Linux 均可

2. 安装

# 克隆项目
git clone https://github.com/你的用户名/NameLink.git
cd NameLink

# 安装基础依赖
pip install flask openpyxl pandas

# (可选)安装 OpenCC 获得更精准的繁简转换
pip install opencc-python-reimplemented

💡 OpenCC 为可选依赖,不安装也能正常运行(程序内置了常用繁简字映射表作为备用方案)

3. 运行

python app.py

程序将自动在浏览器中打开 http://localhost:8080 ,按界面提示操作即可。

💡 也可以直接运行对应的纯后端 Python 文件使用命令行版本,功能完全相同。


📁 项目结构

NameLink/
├── app.py                              # Flask 网页应用(运行此文件即可)
├── company_matcher.py             # 核心匹配引擎(纯后端,也可独立运行)
├── TestFile_A表_正确公司名单.xlsx        # 测试用 A 表
├── TestFile_B表_待核对公司名单.xlsx      # 测试用 B 表
└── README.md                           # 本文件

📝 使用提示

  • 首次使用? 项目内附带了测试文件 TestFile_A表_正确公司名单.xlsxTestFile_B表_待核对公司名单.xlsx,可直接上传体验完整流程
  • 表格格式灵活: 支持 .xlsx.xls.csv 格式。单列名单或多列复杂表都能自动识别
  • 参数建议: 默认参数(候选前5%、阈值35%)已经过优化,通常无需调整
  • 输入文件建议: 确保 Excel 文件没有隐藏行、隐藏文字或折叠分组,否则可能影响匹配结果(程序不会修改原始文件,可放心尝试)

📊 输出报告说明

生成的 Excel 报告包含两个工作表:

工作表 内容
最佳匹配结果 每家 B 表公司的最佳匹配 A 表公司、匹配度、风险提示、前 X% 候选明细
前X%匹配明细 每家 B 表公司的所有候选匹配公司排名及得分

匹配度颜色标记:

  • 🟢 绿色 ≥ 85%:高度匹配,大概率是同一家公司
  • 🟡 黄色 55-85%:中等匹配,建议人工复核
  • 🔴 红色 < 55%:低匹配度,请重点核查

⚠️ 注意事项

  • 程序不会修改你的原始文件,匹配结果保存为独立的新 Excel 文件
  • 匹配耗时与数据量相关:A 表 × B 表的笛卡尔积越大,耗时越长(例:500×500 约数秒,5000×5000 可能需要几分钟)
  • 完全离线运行,无需网络连接,无需 API Key,100% 免费

📄 License

本项目基于 MIT License 开源,欢迎自由使用和二次开发。

About

🔗 公司名称智能匹配系统 | 三重相似度算法 · 繁简体自动统一 · 专业Excel报告 · 完全免费离线运行

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages