从文本开始,我希望能够识别特定信息。
例子 :
输入文本:“发票编号为 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 的模块,以避免在输入文本中出现误报,例如在文本中没有发票编号的地方询问发票编号。