使用机器学习进行文档分类

时间:2020-02-13 11:55:57

标签: python machine-learning nlp computer-vision

我目前正在从事一个项目,在该项目中,我需要能够对传入文档进行动态分类。这些文档可以是文本PDF文件,也​​可以是扫描的PDF文件。

我有以下标签:

  • 发票
  • 包装清单
  • 证书

我试图弄清楚应该如何解决这个问题。

我的初步想法

我当时认为解决此问题的最佳方法是根据文档文本进行文本分类。

第1步-训练模型

  • 首先将PDF文件转换为文本。
  • 然后用三个标签之一标记文本内容。 (对大型数据集执行此操作)

第2步-使用模型

  • 对模型进行训练后,对于新的传入文档,请将其转换为文本。
  • 通过模型运行文本内容以获得文本分类。

还有另一种方法吗?我担心的是,我不确定是否可以对整个文本文档执行NLP?也许需要检测物体(计算机视觉)吗?

2 个答案:

答案 0 :(得分:1)

计算机视觉将更快,这是您使用案例的首选。从布局上看,三种类型的文档在视觉上是否有所不同?证书可能具有不同的“外观”和“布局”,但装箱单和发票可能看起来相似。您可能希望将PDF转换为页面图像,然后首先训练并运行图像分类模型。您应该在像ResNet这样的预训练图像分类模型上使用转移学习。

您可以在“整个文档”上执行NLP,但它最适合散文而不是发票或装箱单上的文本。您可以查找句子嵌入模型(Infersent,Google USE,BERT),这些模型实际上可以用于对整页文本进行分类,而不仅仅是对句子进行分类。尽管其中一些可能在计算上很昂贵。

答案 1 :(得分:0)

我理解你的问题。 关于它的一些关键点 a) 首先对输入数据进行预处理。即(例如,发票或 pdf 证书中有多少页)。然后,将 pdf 转换为 TiFF 图像。

b) 使用图像、视觉\布局和文本的训练模型。您将获得良好的准确性。 c) 可以使用计算机视觉和深度学习(Keras 和 tensorflow)