遗憾的是,由于涉及机密数据,我无法提供更具体的解释。
问题
我有几份文档,这些文档通常包含相同的信息,但格式各不相同。在大多数情况下,我要找的值通常靠近文档上的某个关键词。OCR本身由Google Cloud Vision API处理,但如何处理这些不同格式的最佳方法是什么?
我的想法
…是训练一个分类器来检测我正在处理的格式,然后选择我事先手动实现的查找目标值的适当方法。这既不方便也不具备可扩展性。因此,我在寻找某种算法,例如告诉我目标值的位置、外观等信息。
对于这个问题,最佳的机器学习方法是什么,或者你们有哪些想法?
作为数据类型的示例:假设我有来自20个不同超市的收据,我要找的是总费用,问题是每个公司的收据看起来都不一样。
回答:
最近我处理了一个类似的情境,使用了tesseract,除了OCR工具本身外,我没有使用任何机器学习方法,因为正如你所说,这不会具有可扩展性。
我认为除非你有大量不同的布局,否则使用分类器不会有回报,然后你还得决定如何为每种布局提取数据…
这很大程度上取决于你需要提取的数据类型,但以你的例子来说,如果你需要从所有不同的布局中提取总费用,你可以从每张收据中尽可能多地提取数字,并根据一些因素对它们进行评分,例如:
- 如果它是一个费用($或其他货币符号)
- 与一些常见关键词(如“总计、最终、合计等”)的距离
- 如果它是该收据的最高值
- 你可能想到的其他因素,这完全取决于你需要提取的数据
然后你可以使用每个收据得分最高的各个费用来计算最终的总费用