首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >给错题归因选技术栈:OCR句向量聚类,我是按这三条判据选的

给错题归因选技术栈:OCR句向量聚类,我是按这三条判据选的

原创
作者头像
错题透镜
发布2026-09-05 11:31:29
发布2026-09-05 11:31:29
710
举报
文章被收录于专栏:AI教育AI教育
给错题归因选技术栈O
给错题归因选技术栈O

做一个把「孩子同一类题反复错」自动归因的小工具,技术选型比想象中影响大:OCR 引擎决定文本质量,句向量决定“相似”的含义,聚类决定分组粒度。本文不写翻车故事,只复盘每一步的判据、对比、我的选择和“没选对会怎样”。相关踩坑与代价分析见我的另一篇《我搭错题归因小工具踩过的 5 个坑》。

选型前先固定三件事,后面所有选择都对着它们判断:

  1. 数据规模:单个家庭错题量是几十道量级,不是企业级海量——方案要能“一个人跑起来”。
  2. 部署约束:孩子的错题图片含手写与个人信息,默认走本地可自部署,云端 API 只做可选通道。
  3. 验收口径:聚类结果要和“老师/家长手工批注的知识点”对得上,而不是只看图好不好看。

一、OCR 引擎:本地自部署是前提,中文手写是分水岭

候选

定位

精度与短板

部署/成本

我的选择

PaddleOCR4

中文场景优化、开源

印刷体中文强;手写需版面先切分,符号偶发错位

本地可跑、免费

✅ 主选

OCRmyPDF

PDF/文档管线、开源

面向扫描文档,中文字体覆盖一般

本地可跑、免费

备选(纯 PDF 场景)

商业 OCR API

云端调用

精度稳但价格按量计;图片出境需注意隐私

按量付费

可选通道(大图量时)

判据:中文/手写优先 → 本地可部署 → 成本低。

我的选择:PaddleOCR,理由三点——中文印刷体识别在开源方案里最稳;可完全本地运行,错题照片不出本机;有置信度输出,低置信度结果可以进人工复核而不是直接进管线4。OCRmyPDF 只有在输入是扫描版 PDF 时才值得介入。

没选对会怎样:若为“省事”直接上云端 API,要么长期按量付费,要么在“图片不出本地”这类隐私约束下根本无法采用;若选只擅长英文文档的引擎,中文题干与手写步骤的质量会直接拖累后面所有环节。

二、句向量:中文效果与“能不能离线”先于“榜分最高”

候选

定位

中文与维度

部署/成本

我的选择

bge 系列(如 bge-large-zh)2

开源中文 embedding

中文检索/相似度经过专门评测(C-Pack)

本地可跑、免费

✅ 主选

云端 Embedding API(OpenAI/百炼等)

通用英文强、中文可用

中文效果不错但语义粒度是“通用语感”,不是知识点粒度

按 token 计费、需联网

备选(需联网+预算允许)

通用 BERT 句向量

通用基线

中文需自行微调,成本高

本地可跑

不选(维护成本高)

判据:中文场景评测 → 是否可离线 → 单位成本。

我的选择:bge-large-zh。它面向中文检索/相似度做过专门的数据与评测2,本地自部署即可,错题文本不出本机。云端 API 效果不差,但引入联网与按量成本,且“语义近”不代表“同一知识点”,这个粒度问题换哪个 embedding 都一样(详见踩坑篇)——所以先要一个能离线迭代的底座。

没选对会怎样:若只追公开榜分选一个英文导向的模型,中文题干与错因的相似度会失真;若直接上云端 API,每一轮聚类实验都在计费,迭代心态会变形。

三、聚类:组数不确定、密度不均,就别迷信“固定 k”

候选

机制

适用与短板

我的选择

KMeans

指定 k 的划分

组数要提前知道;错题组数本来就不知道 → 不适用

❌ 排除

DBSCAN1

密度连通,全局半径 eps

概念清晰、可解释;但 eps 对密度不均与样本量极敏感

备选(样本密且均匀时)

HDBSCAN3

密度自适应层次聚类

不需要手调全局半径,对长尾/噪声有原生处理

✅ 主选

判据:无需预设组数 → 密度不均/长尾稳健 → 可解释。

我的选择:HDBSCAN3。错题组数事先不知道、不同知识点样本密度差异大,HDBSCAN 按局部密度自适应、能天然区分噪声点(长尾错题),比“手调全局 eps”的 DBSCAN 更省心;KMeans 因为必须指定 k 第一个被排除。聚类仍只当“召回器”:同簇的题再交给知识点规则与人工复核定标签,不把聚类结果当定论。

没选对会怎样:选 KMeans 就得先猜组数,猜错全部失真;选 DBSCAN 就得对每个新班级/新学科重调 eps,等于把参数变成永久人工成本。

决策对照小结

环节

我选

一句话理由

OCR

PaddleOCR(本地)

中文手写优先 + 隐私 + 低置信度可控

句向量

bge-large-zh(本地)

中文专项评测 + 离线迭代

聚类

HDBSCAN

不预设组数、密度自适应、长尾当噪声处理

实战参考:这套选型不是唯一答案。我在调研「错题透镜」这类现成错题归因工具的工程实现时,也看到同样的取舍——自研与成品的分歧主要在“要不要把聚类当定论”,而我倾向聚类只做召回。你可以在你自己的数据规模与隐私约束下改判据,但“先固定数据/部署/验收三件事再选型”这个顺序是通用的。

常见问题

选型顺序为什么先固定验收口径?

因为“聚类对不对”没有内置答案:不先约定用“手工批注的知识点”当锚点来验收,任何选型好坏都无法判断,后面所有优化都会变成自我感觉良好。

bge 与云端 API 的效果差距大吗?

对“语义相关”任务差距不大,对“知识点粒度”的区分都不够——那需要词典/规则二次划分而不是换模型。既然差距主要在迭代成本与隐私,离线方案在错题场景更值得优先。

总结

错题归因小工具的技术选型,本质是三个连续判断:OCR 定文本质量下限、句向量定“相似”的含义、聚类定分组粒度。用“数据规模 × 部署约束 × 验收口径”三条判据逐一过,答案会自己浮出来:PaddleOCR + bge 系列 + HDBSCAN,且全部可本地运行。选型先行,参数与调优才有意义。

相关阅读

参考文献

1 Ester, M., Kriegel, H.-P., Sander, J., & Xu, X. (1996). A density-based algorithm for discovering clusters in large spatial databases with noise. KDD-96, 226–231.(DBSCAN;本节讨论 eps 全局半径局限的出处)

2 Xiao, S., et al. (2024). C-Pack: Packaged resources to advance general Chinese embedding. AAAI 2024.(bge 系列中文 embedding 的数据与评测来源)

3 McInnes, L., Healy, J., & Astels, S. (2017). hdbscan: Hierarchical density based clustering. The Journal of Open Source Software, 2(11), 205.(HDBSCAN 开源实现与密度自适应聚类的出处)

4 Du, Y., et al. (2020). PP-OCR: A practical ultra lightweight OCR system. arXiv:2009.09941.(PaddleOCR 原论文;含置信度输出机制)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、OCR 引擎:本地自部署是前提,中文手写是分水岭
  • 二、句向量:中文效果与“能不能离线”先于“榜分最高”
  • 三、聚类:组数不确定、密度不均,就别迷信“固定 k”
  • 决策对照小结
  • 常见问题
  • 总结
  • 相关阅读
  • 参考文献
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档