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

Viv*_*hta 6 nlp named-entity-recognition named-entity-extraction text-classification recurrent-neural-network

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

示例数据

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

18
EURO 46
KEEP AWAY
FROM FIRE
MADE IN CHINA
2226249917581
7412501
DOROTHY
PERKINS
Run Code Online (Sandbox Code Playgroud)

现在这里的目标类是:

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
Run Code Online (Sandbox Code Playgroud)

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

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

ami*_*che 5

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

您可以做的是针对您的特定问题训练一个 Spacy 模型到 NER

以下是您需要执行的操作:

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

请参阅有关训练特定 NER 模型的 Spacy 文档

祝你好运!