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

标签 nlp recurrent-neural-network text-classification named-entity-recognition named-entity-extraction

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

example data

我想提取和分类图像中给出的文本信息。问题是当我提取信息时 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 我可以根据目标类别拆分段落。换句话说,给定的输入段落根据目标标签对其进行分割。

最佳答案

如果只考虑文本,这是一个命名实体识别 (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

祝你好运!

关于nlp - 如何识别光学字符识别 (OCR) 输出的文本中的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968055/

相关文章:

pytorch - 如何在多次运行中重现 RNN 结果?

deep-learning - Keras LSTM 输入 - 预测抛物线轨迹

python - Tensorflow 在不同名称范围内重用变量

python - 我如何知道我的预测分类的标签?

machine-learning - 将电视和电影文件名与 NLP/机器学习相匹配?

nlp - Apache UIMA 与 Apache Opennlp 有何不同

nlp - 主题发现/发现的最佳模型

java - 使用自然语言处理从句子中提取某些单词

nlp - 斯坦福关系提取器自定义模型仅选择关系实体的一个标记