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

How to recognize entities in text that is the output of optical character recognition (OCR)?

我正在尝试对文本数据进行多重class class化。我面临的问题是我有非结构化的文本数据。我将用一个例子来解释这个问题。 例如考虑这张图片:

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

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

现在这里的目标 class 是:

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

我面临的问题是输入文本不可分离,这​​意味着 "multiple lines can belong to same class" 并且可能存在 "single line can have multiple classes".

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

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

你能做的是train a Spacy model to NER for your particular problem

这是您需要执行的操作:

  1. 首先收集训练文本数据列表
  2. 用相应的实体类型标记该数据
  3. 将数据拆分为训练集和测试集
  4. 使用训练集使用 Spacy NER 训练模型
  5. 使用测试集对模型进行评分
  6. ...
  7. 盈利!

Spacy documentation on training specific NER models

祝你好运!