---
title: "FDE 系列教程｜数据治理从入门到精通"
author: Miles Ma
date: 2026-09-09
section: 企业 AI
url: https://immilesma.com/blog/fde-data-governance-guide/
x: https://x.com/miles_mazy/status/2097603040169885855
description: "从纸质资料、扫描件和 Excel 开始，把企业数据整理成能查、能核对的材料。讲清 OCR、表格还原、字段口径、清洗、版本与权限的分工，用原件和真实查询验收，再考虑接入知识库或 AI。"
---

# FDE 系列教程｜数据治理从入门到精通

> 从纸质资料、扫描件和 Excel 开始，把企业数据整理成能查、能核对的材料。讲清 OCR、表格还原、字段口径、清洗、版本与权限的分工，用原件和真实查询验收，再考虑接入知识库或 AI。

数据都没有，做个屁的 AI 改造。

90% 的企业连数字化转型这一步都没有做，还想上 AI，还想做知识库，这不扯淡吗？

所以，**FDE 进入企业，最重要的第一步就是数据治理**。

纸质维修单还在档案柜里，产品手册有三个「最终版」，Excel 里的型号各有各的写法。这些东西不先理顺，后面不管接什么模型，都只会更快地给出错误答案。

下面就用一批纸质维修单、扫描版产品手册和 Excel 配件表，把企业数据从「看得见」处理到「查得到、算得准」。文中的型号和记录是模拟数据，处理方法可以直接用在企业项目里。

我的流程是：**确认用途 → 盘点原件 → 扫描采集 → OCR 与解析 → 清洗核对 → 验收发布 → 持续维护**。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/01-image-01.jpg)

### 先把 OCR 说清楚：它只负责把字认出来

OCR 的全称是 Optical Character Recognition，中文就是光学字符识别。它做的事情很具体：读取扫描件或照片里的字，输出可以复制、可以搜索的文本。

它不会自动把一份文档变成可信的企业数据。维修单上写着「AB-100」，OCR 可能认成「AB-10O」；表格里的字都认出来了，数量也可能跑到错误的配件名下面。它同样不知道两个同名文件中哪一个正在生效。

举个例子，eClinicalWorks 这家医疗技术公司要帮医疗机构处理大量传真。它的系统先读取传真，判断资料类型，再尝试匹配到正确的患者档案。427 家医疗机构用它处理了近 220 万份传真，每份最多节省一分钟，但自动识别和匹配成功率是 75%—85%。

匹配成功的资料继续流转，无法确认的资料进入人工核对。这条流程先把正常数据和问题数据分开，再分别处理。

### 第一步：确定数据要拿来做什么

同样一批维修单，售后人员可能只想查某台设备以前修过什么，仓库要统计用了多少配件，管理者则要看哪些型号经常返修。三个目标，数据处理的程度完全不同。

只做资料查询，先让每张维修单能按设备编号找到，打开以后能看到原件。要统计配件消耗，就要把配件编号、数量、单位和维修日期拆成字段。要分析返修，还得定义什么算一次返修。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/02-image-10.jpg)

第一批不要包含全公司的资料。先选一条产品线，把目标写成一句能验收的话：

```
售后人员输入设备编号，
能找到对应的历史维修记录和适用的产品手册，
并能打开原件核对。

```

这句话定了第一批要收什么、要提取哪些字段、最后怎么测。

### 先盘点原件，不要看到纸就扫

桌上放着一本打印手册，不代表它没有电子原件。先找编写部门，再查共享盘、邮件附件和原有系统。能找到 Word、Excel 或原生 PDF，就直接读原文件，少做一轮 OCR。

接着建一张资料台账。每份资料至少记录六件事：

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/03-image-03.jpg)

一份资料有了编号，后面的扫描件、OCR 文本、提取表格和清洗记录都继续用这个编号。出了问题，可以一路找回纸质原件。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/04-image-04.jpg)

原件保持收到时的样子，不在上面直接改字。后面所有纠错都改工作副本，同时记录改了什么、为什么改、谁确认的。

### 扫描时保住一份完整的电子原件

先整理纸张：一张单据有几页，背面有没有备注，附件属于哪张单。扫描前编号，扫描后马上对页数和顺序。原件六页，PDF 只有五页，就在纸还在手边时补扫。

如果用手机拍摄，打开原尺寸检查反光、阴影、透视变形和遮挡。直接读最小的字、型号里的字母、数字 0 和字母 O、小数点以及手写备注。

批量扫描前，先拿四类页面试一次：清晰打印页、细小表格、褪色复印件、带手写批注的页面。试扫样本能看清，再用同样的设置处理后面的文件。

自动裁边、去背景和去空白页最容易伤到浅色字、印章和签字。处理后的图片另存，不覆盖原始扫描图。人眼已经看不清的内容，直接标成「待核」，不让模型补全。

### 开始做 OCR：先选对文件，再选工具

原生 Word 和 Excel 直接读文件本身。有文字层的 PDF 先复制几段检查。整页是图片的 PDF，才需要 OCR。一批资料全部重做 OCR，反而可能把原本正确的文字做错。

扫描 PDF 只需要能搜索原文，可以用开源的 OCRmyPDF。它会在扫描页上增加一层文字，并可以处理倒置和轻微歪斜的页面。

安装 OCRmyPDF、Tesseract 以及中英文语言包后，一份扫描件可以这样处理：

```
ocrmypdf -l chi_sim+eng \
  --rotate-pages \
  --deskew \
  --sidecar ocr.txt \
  input.pdf searchable.pdf

```

searchable.pdf 是可以搜索的 PDF，ocr.txt 是识别出来的文本。处理完成后，用原件里明确存在的设备型号做搜索，再复制一段包含数字和单位的文字与原图对照。

常见问题有三个：语言包没装对，中英文混排的型号识别很差；页面方向判断错误，整页被旋转；原图分辨率太低，怎么换参数都不稳定。先在样本上试，检查旋转结果，重点核对型号和数字。原图太差就重扫，不要在错误的输入上反复换模型。

OCRmyPDF 的安装和参数可以查看 [OCRmyPDF 文档](https://ocrmypdf.readthedocs.io/)。

### 表格和版式不能只靠 OCR

产品手册里有标题、段落、图片和表格。OCR 可以把字认出来，却不一定保得住它们之间的关系。第一列的配件名如果和第二列的数量错了一行，产出的表格看起来仍然整齐，数据却已经不能用。

这类文档可以用 PaddleOCR 的 PP-StructureV3。它会先找出页面中的文字区、表格和其他版面区域，再输出识别文字、表格单元格和阅读顺序等结果。项目入口在 [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/05-image-05.jpg)

先选三份样本：纯文字页、复杂表格和模糊扫描件。处理后看三件事：表头有没有被拆错，单元格有没有串行，结果能不能找回原页。

跨页表格、合并单元格和无边框表格最容易出问题。处理时保留原页，把提取结果放在旁边对照。表格结构不稳定，就让它进入待核，不直接加入统计。

### 清洗数据：能按规则改的才批量改

OCR 和表格解析完成后，先处理能明确判断的问题：去掉字段前后多余空格，统一已经确认的日期格式，清理反复出现的页眉，把识别时拆开的同一段合回去。

每条被修改的数据，至少保留这几项：

```
原始值：AB-10O
清洗值：AB-100
修改依据：对照 DOC-001 第 3 页和产品型号清单
确认人：产品负责人
处理状态：已确认

```

如果只有 OCR 结果里的「AB-10」和「AB-100」，就不能凭长得像直接合并。可能是 OCR 漏了一个数字，也可能真有两个型号。先标记疑似问题，再对照原图和已经确认的产品清单。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/06-image-06.jpg)

缺失值也不能顺手补成零。维修单没写配件数量，代表「没有记录」；填成零，就变成了「确认没有消耗」。原件模糊、原件未填和字段不适用，分别标记。

### 用 OpenRefine 处理同一列里的不同写法

OpenRefine 是一个开源的表格清洗工具。它适合把一列里的不同写法集中摊开，找出空格、错别字和相似名称。每次修改都会记录在操作历史里，发现改错可以撤回。

把配件表导入 OpenRefine 后，先确认中文编码，并把设备编号、配件编号这类字段设为文本，避免 00125 变成 125。

在目标列里选择 Facet → Text facet，可以看到每种写法和出现次数。先用 Trim leading and trailing whitespace 清掉首尾空格，再用 Cluster and edit 找相似值。

比如「售后部」「售后部门」「售后服务部」，工具会把它们放到一起供人选择，但不会在没有确认的情况下替换。先让业务负责人确认是否指向同一个部门，再合并。「售后部」和「售后服务有限公司」看起来很像，也可能是两个完全不同的主体。

OpenRefine 可以在 [OpenRefine 官网](https://openrefine.org/) 下载。

### Excel 要先把字段和口径说清楚

一列写着「维修日期」，它到底是报修日期、开工日期，还是维修完成日期？「配件数量」是本次领用，还是历史累计？「一套」和「一件」能不能直接相加？

程序可以发现两列的格式不一样，但不知道业务上是不是一回事。字段的含义、单位的换算和记录的唯一标识，由业务负责人确认。

一条维修记录整理前后可以变成这样：

```
收到的记录：
设备编号：00027
维修日期：2026/04/08
配件：密封圈 A
用量：2 套
备注：补录

整理后：
设备编号：00027
维修日期：2026-04-08
配件名称：密封圈 A
数量：2
单位：套
备注：补录
来源资料：DOC-017
来源位置：维修记录表第 18 行
处理状态：待核对

```

设备编号必须按文本保留，否则前面的零会丢失。数量和单位要拆开，否则无法稳定汇总。「补录」不能被猜成第二次维修，「套」也不能在没有换算规则时改成「件」。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/07-image-07.jpg)

遇到合并单元格，只在它原本覆盖的行里向下填充。复杂表头拆开后保留上下文：「上半年／维修／数量」和「下半年／采购／数量」不能都变成「数量」。明细行和合计行也要分开，避免统计时算两次。

### 重复、版本和权限，要分开处理

找重复文件，可以先用文件指纹找出完全相同的副本。同一张纸扫描两次，文件指纹可能不同，再按资料编号、页面内容和来源人继续比对。

表格里的记录也不能只按「设备编号＋日期＋配件」删除重复。同一台设备在同一天可能领用两次同一种配件。只有找到维修单号、明细行号或其他业务唯一标识，才能确认是否重复。

版本处理先记录适用型号、设备批次、生效时间和替代关系。「修改时间更新」不能证明「当前有效」。旧设备的历史维修记录，仍然要保留它当时使用的手册版本。

从维修单提取出来的文本和表格，继承原文件的访问范围。原始 PDF 只有售后组能打开，旁边的清洗表也不能向全员开放。给外部人员做故障分类统计，另外生成去掉客户姓名和联系方式的用途副本。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/08-image-11.jpg)

### 验收要打开数据看，不是看程序有没有报错

程序运行成功，只能证明它跑到了最后一步。先用程序检查可以明确判断的问题：是否有文件没有处理状态，必填字段是否为空，日期能否识别，设备编号能否在设备清单中找到，清洗记录能否返回原文件。

清洗结果是 CSV 时，可以用开源的 [DuckDB](https://github.com/duckdb/duckdb) 直接查询：哪些设备编号为空，哪些维修单号重复，哪些配件编号在已经确认的配件清单里不存在。这一步用固定规则查异常，不需要让大模型猜。

再做人工抽查。清晰打印页、模糊扫描件、复杂表格和手写记录分别抽样，重点对照型号、日期、数量、单位和会影响业务处理的条款。只抽到清晰页，结果一定会偏好。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/09-image-02.jpg)

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/10-image-09.jpg)

数量、单位和适用版本存在未解决的错误，对应记录就不进入正式统计。不影响当前用途的缺口，保留说明后交给业务负责人决定是否接收。

### 新资料不要继续按旧方式制造问题

历史资料清理完以后，新的维修单还会不断产生。这时候反过来改资料入口：设备编号设为必填，配件从已经确认的清单里选，数量和单位分开填，同时记录经办人。

纸质表单暂时不能取消，就先统一表格版式、填写要求和扫描交接方式。否则每个月都要重新修同样的部门简称、缺失型号和模糊图片。

每次处理按批次记录：收到什么文件，使用什么规则，哪些成功，哪些失败，哪些在等人确认。失败后只重跑有问题的部分。规则改了，就根据批次找回受影响的数据重新检查。

人工已经确认过的修改不能被下一次程序运行直接覆盖。保留原始识别结果，再叠加人工确认的修正。两者冲突时，记录重新进入待核。

### 开源工具怎么组合

资料主要是扫描档案，目标是搜索原文，先用 OCRmyPDF 生成可搜索 PDF，加上资料台账和人工抽查就能开始。

资料里有大量复杂表格，后面还要统计，用 PaddleOCR 做版面和表格解析，用 OpenRefine 统一杂乱字段，再用 DuckDB 查缺失、重复和无法匹配的记录。

资料需要长期更新，再在这条流程上增加接收入口、批次状态、失败重试、人工确认和发布管理。企业要求数据不出内网，这些工具和数据就都放在企业允许的环境里。

### 数据准备好了，再谈知识库和 AI

AI 可以帮忙标出疑似错字、给出分类建议、整理字段冲突，但它的结果先进入待核队列，不直接覆盖正式数据。

产品手册已经分清版本和适用型号，就可以接入知识问答。维修记录已经拆好字段和单位，就放在可以查询的表里。用户查某台设备的历史，系统返回记录和原件；用户问配件用量，先用确定的查询得出数字，再让模型解释。

暂时不接 AI 也没关系。售后人员已经能按设备编号找到正确资料，仓库能按统一口径核对配件，新资料进来后也有固定的处理方式。这时候数据已经能用，后面换知识库、换模型，也不用从纸堆里重来一遍。

---

我是 Miles，一名从大厂转型 FDE 的 AI 算法专家，做过算法研发、优化部署，也做过企业培训、落地交付，我的 X 账号，**15 天做到 1 万粉，一周写出三篇百万曝光长文**，其中两篇后来超过 200 万。

关注我[@miles_mazy](https://x.com/@miles_mazy)，**一起成长，一起赚钱**。

![文章配图](https://immilesma.com/blog/fde-data-governance-guide/media/11-image-08.jpg)

---

[在 X 查看原文](https://x.com/miles_mazy/status/2097603040169885855)
