基于Bert+LMST+MLP专利相关性筛选项目实践

小样本专利相关性筛选:一个从 100 条不到的标注数据起步的项目实践 很多文本分类项目一开始都会默认一个前提:先有一批像样的标注数据,再谈模型效果。 但真实项目里,经常不是这样。 这次做的是一个专利相关性筛选任务。目标并不复杂:从一批专利中找出与目标技术方向更相关、值得进一步研究的候选专利。真正复杂的是现实条件: 已标注样本不到 100 条 正样本更少 未标注样本有上千条 专利文本很长,表达也不统一 结果还需要能回写到原始表格,方便人工复核 在这种条件下,项目的重点其实不是“堆一个多复杂的模型”,而是先找到一条能跑通、能迭代、能扩充数据的路线。 这篇文章就总结一下这个项目的思路、取舍和踩坑。 1. 项目到底在做什么 从任务定义上看,这其实是一个很标准的二分类问题: relevant:相关专利 irrelevant:不相关专利 但从业务视角看,它更像一个筛选系统,而不是一个追求绝对准确率的学术分类器。 我真正想解决的问题不是: “模型能不能把每一条专利都 100% 判对?” 而是: “能不能先把最值得看的相关候选排到前面,减少人工筛选成本?” 这个目标的变化非常重要。 因为在小样本阶段,模型更适合作为: 概率打分器 候选发现器 人工筛选辅助工具 而不是最终裁决者。 2. 数据长什么样 项目里每条专利大致包含这些字段: Publication Number:公开号 Claims:权利要求相关文本 Description:描述文本 IPC:国际专利分类号 label:人工标注结果,仅训练阶段有 这里有一个容易被忽略但很关键的点: Publication Number 要保留,但不要喂给模型 它的作用是: 标识这条样本是谁 后续和原始 Excel 对齐 预测结果回写 人工复核定位 但它本身不是语义特征,不应该参与模型学习。 如果把它拼进输入文本里,模型学不到什么有用信息,反而可能引入噪声。 所以在整个流程里,我一直保留 Publication Number,但只把它当作样本主键。 3. 为什么没有一上来就重度微调 BERT 这个问题其实很关键。 一开始最自然的想法是: 既然是文本分类,那就直接用 BERT 微调不就好了? 理论上可以,但在这个项目里不太合适,原因很现实: 已标注样本太少 正负样本不平衡 文本很长 输入字段比较多 直接全参数微调很容易过拟合 简单说就是:模型复杂度和数据规模不匹配。 ...

April 8, 2026 · 2 min

基于 Unstructured + PaddleOCR + DeepSeek-OCR 的智能 PDF 解析技术路线复盘

最近终于把一条完整的智能 PDF 解析链路跑通了。整个方案从最开始的 fast 策略文本提取,到后面的 hi_res、版面检测、Paddle OCR、表格图块导出,再到 DeepSeek-OCR 对表格进行结构化增强,基本把一条复杂 PDF 的解析链完整打透了。 最终效果比预期要好,尤其是 YOLOX 在版面检测阶段对表格区域的提取效果明显优于 detectron2_onnx,这一点对后续表格结构化质量提升非常关键。 这篇文章主要做一个完整复盘,梳理这个项目的核心技术路线、关键模块分工、踩坑点,以及最终可落地的方案。 一、项目目标 这个项目的核心目标不是单纯做“PDF 转文本”,而是: 对复杂 PDF 做结构化解析 识别标题、正文、图片、表格等版面元素 对复杂表格做更高质量的结构化重建 最终输出统一 JSON,方便后续检索、知识库入库和下游问答 所以本质上,这是一个 多模型协同的智能文档解析系统,而不是一个简单的 OCR 脚本。 二、整体技术路线 整个系统采用的是分阶段流水线: 数据接入层 支持本地 PDF 支持数据库二进制 PDF 文档解析主链 使用 unstructured.partition.pdf.partition_pdf fast 模式用于基础文本提取 hi_res 模式用于复杂版面解析 版面检测(Layout Detection) 使用 detectron2_onnx / yolox 负责识别页面中的 Title、Text、Table、Image 等区域 OCR 识别 使用 Paddle OCR 对版面检测后的区域做文字识别 表格局部增强 提取 Table 元素对应的图块 调用 DeepSeek-OCR 做 markdown / HTML 风格重构 统一结构化输出 ...

April 4, 2026 · 3 min

OCR-SLAM3 基本理解

视觉 SLAM 核心理解(以 ORB-SLAM3 为例) 一、什么是 SLAM SLAM(Simultaneous Localization and Mapping)解决的问题是: 在未知环境中,通过传感器数据,同时估计自身位姿(Localization)并构建环境地图(Mapping)。 对于视觉 SLAM: 输入:图像序列(单目 / 双目 / RGB-D) 输出: 相机轨迹(Pose) 地图(Map) 本质上是一个: 时序状态估计 + 几何重建 + 优化问题 二、SLAM 的核心问题拆解 SLAM 的本质可以拆成三个核心子问题: 1️⃣ 位姿估计(Localization) 目标: 求解每一时刻相机在世界坐标系中的位姿 (T_{cw}) 依赖: 图像特征 2D-3D 或 2D-2D 约束 几何模型(PnP / 本质矩阵) 2️⃣ 地图构建(Mapping) 目标: 从多帧观测中恢复三维结构 方式: 双目视差(Stereo) 多视图三角化(Monocular) 结果: 稀疏地图(MapPoints) 关键帧结构(KeyFrames) 3️⃣ 优化(Optimization) 目标: 通过最小化重投影误差,提高整体一致性 核心形式: min \sum || x - \pi(T \cdot X) ||^2 其中: ...

March 26, 2026 · 2 min