如何识别作为光学字符识别 (OCR) 输出的文本中的实体?

Posted

技术标签:

【中文标题】如何识别作为光学字符识别 (OCR) 输出的文本中的实体?【英文标题】:How to recognize entities in text that is the output of optical character recognition (OCR)? 【发布时间】:2019-07-24 20:51:28 【问题描述】:

我正在尝试使用文本数据进行多类分类。我面临的问题是我有非结构化的文本数据。我会用一个例子来解释这个问题。 以这张图片为例:

我想提取和分类图像中给出的文本信息。问题是当我提取信息时,OCR 引擎会给出如下输出:

18
EURO 46
KEEP AWAY
FROM FIRE
MADE IN CHINA
2226249917581
7412501
DOROTHY
PERKINS

现在这里的目标类是:

18 -> size
EURO 46 -> price
KEEP AWAY FROM FIRE -> usage_instructions
MADE IN CHINA -> manufacturing_location
2226249917581 -> product_id
7412501 -> style_id
DOROTHY PERKINS -> brand_name

我面临的问题是输入文本不可分离,这​​意味着“多行可以属于同一个类”,并且可能存在“单行可以有多个类”的情况。

所以我不知道如何在将行传递给分类模型之前拆分/合并行。有什么方法可以使用 NLP 我可以根据目标类拆分段落。换句话说,给定的输入段落会根据目标标签对其进行拆分。

【问题讨论】:

【参考方案1】:

如果只考虑文本,这是一个命名实体识别 (NER) 任务。

你可以做的是train a Spacy model to NER for your particular problem。

这是您需要做的:

    首先收集训练文本数据列表 用相应的实体类型标记数据 将数据拆分为训练集和测试集 使用训练集通过 Spacy NER 训练模型 使用测试集对模型进行评分 ... 利润!

见Spacy documentation on training specific NER models

祝你好运!

【讨论】:

对达到良好准确度 (>80%) 所需的训练数据量有任何想法吗?

以上是关于如何识别作为光学字符识别 (OCR) 输出的文本中的实体?的主要内容,如果未能解决你的问题,请参考以下文章

光学字符识别技术

光学字符识别技术

光学字符识别OCR

光学字符识别OCR-5 文本切割

光学字符识别OCR-4

Android OCR(光学字符识别)[重复]