如何识别作为光学字符识别 (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) 输出的文本中的实体?的主要内容,如果未能解决你的问题,请参考以下文章