从图像/文本中提取信息 - 方法?

数据挖掘 机器学习 Python 神经网络 nlp 计算机视觉
2022-02-26 22:38:21

我目前正在尝试创建的 ML 项目需要帮助。

我从许多不同的供应商那里收到了很多发票——所有这些发票都有自己独特的布局。我需要从发票中提取3 个关键要素。3 个元素都位于所有发票的表/行项目中。

3个要素是:

  • 1:关税编号(位数)
  • 2:数量(总是一个数字)
  • 3:总行金额(货币价值)

请参阅下面的屏幕截图,我在示例发票上标记了这些字段。

在此处输入图像描述

我使用基于正则表达式的模板方法开始了这个项目。然而,这根本不是可扩展的,我最终得到了大量不同的规则。

我希望机器学习可以在这里帮助我 - 或者可能是混合解决方案?

共同点

在我所有的发票中,尽管布局不同,但每个行项目将始终包含一个关税编号此关税编号始终为 8 位数字,并且始终采用以下格式之一:

  • xxxxxxxx
  • xxxx.xxxx
  • xx.xx.xx.xx

(其中“x”是从 0 到 9 的数字)。

此外,正如您在发票上看到的那样,每行既有单价又有总金额。我需要的量总是每条线的最高量。

输出

对于上面的每张发票,我需要每一行的输出。例如,这可能是这样的:

{
    "line":"0",
    "tariff":"85444290",
    "quantity":"3",
    "amount":"258.93"
},
{
    "line":"1",
    "tariff":"85444290",
    "quantity":"4",
    "amount":"548.32"
},
{
    "line":"2",
    "tariff":"76109090",
    "quantity":"5",
    "amount":"412.30"
}

然后去哪儿?

我不确定我要做什么属于机器学习,如果是,属于哪个类别。是计算机视觉吗?自然语言处理?命名实体识别?

我最初的想法是:

  1. 将发票转换为文本。(发票都是可文本的 PDF,所以我可以使用类似的东西pdftotext来获取确切的文本值)
  2. 创建自定义命名实体quantitytariffamount
  3. 导出找到的实体。

但是,我觉得我可能错过了一些东西。

任何人都可以在正确的方向上帮助我吗?

0个回答
没有发现任何回复~