python - 使用 AI 进行文本提取和文本识别

从文本开始,我希望能够识别特定信息。

例子 :

输入文本:“发票编号为 18”、“Inv : 75”、“Inv N. : 84”

识别发票号码:“18”、“75”、“84”

具体问题是我有很多包含大量此类信息的文档,我想使用一种算法来识别和提取各种类型的字段。

我认为理论上我会使用某种框架/算法,输入我所有的文档并通过批准或不批准结果来训练算法,但我不知道从哪里开始。

我研究了 deep learning 的非结构化文本、machine learning、斯坦福 NER、命名实体识别作为一般概念等。

我将不胜感激有关从何处开始实施此类解决方案的指导。

谢谢

回答1

具体取决于您的用例,我推荐的主要架构是 https://dl.acm.org/doi/pdf/10.1145/3394486.3403047

NER 基本上是为了在文本中没有明确实体类型的情况下识别某个实体(例如国家)的重复(例如,“去年夏天在南非比其他年份更冷”)。这不是一个糟糕的方法,但是当你在文本中有明确的实体时,你可以利用它。

AVEQA 基本上是为这个用例而设计的。你问了一个特定的问题,可能是:发票号码是哪个?模型从输入文本中提取答案。它是从文本中训练出来的,答案是文本本身,你只需给算法答案的开始和结束索引位置。

从句子中提取发票编号的整个示例:

  • 上下文(输入文本):“发票编号为 18。”
  • 问题:“发票号码是多少?”
  • 答案开始指数:22
  • 回答结束指数:23

它还有一个名为 no-answer 的模块,以避免在输入文本中出现误报,例如在文本中没有发票编号的地方询问发票编号。

相似文章

python - 我的精灵不再在屏幕上移动

最初我的精灵会向宝石移动,然后我把它变成一个类,这样我就可以制作多个精灵,它停止工作。有谁知道为什么?很抱歉发布了大量代码,但我不知道哪个部分破坏了它。顺便说一句,我正在使用带有pygame的Repl...

python - (IndexError:列表索引超出范围)

在制作这个简单的程序时,我遇到了这个似乎与列表有关的错误。但是,我真的不知道如何正确修复它。PS:如果你能给我一些建议或者我可以让我的程序变得更好的方法,那就太酷了。defgetOrder():mai...

最新文章