【发布时间】:2021-05-14 16:46:38
【问题描述】:
我想根据 pdf 文档的结构进行聚类,而不仅仅是文本内容。
纯文本方法的主要问题是,如果文档具有 pdf 表单结构,或者它只是一个普通文档或包含图片,它会丢失信息?
对于我们的进一步处理,这些信息是最重要的。 我现在的主要目标是能够主要根据其结构对文档进行分类,而不仅仅是文本内容。
要分类的文档以 byte[] (varbinary) 的形式存储在 SQL 数据库中,所以我现在的想法是使用这些原始数据进行分类,无需事先进行文本转换。
因为如果我查看这些数据的十六进制输出,我可以看到重复结构,这些结构似乎类似于我想要分离的不同文档类。 您可以在我附加的屏幕截图中看到一些与第一印象相似的字节模式。
所以我现在的想法是训练一个 K-Means 模型,例如十六进制输出字符串。 在下一步中,我将尝试使用肘部方法找到最佳的聚类数,应该在 350 - 500 左右。
pdf 数据的大小在 20 kByte 和 5 MB 之间变化,大部分在 150 kBytes 左右。为了训练模型,我有 +30.k 个文档。
当我对此进行研究时,结果很少。我只找到这篇文章,这让我不确定解决我的任务的最佳方法。 https://www.ibm.com/support/pages/clustering-binary-data-k-means-should-be-avoided
我的问题是:
- K-Means 是实现我目标的最佳算法吗?
- 您会推荐什么方法?
- 如何规范化或转换数据以获得最佳结果?
【问题讨论】:
-
使用原始二进制数据对结构良好的图(树)进行分类听起来是个坏主意。为什么不能将其解析为 PDF、提取文档结构、从中创建特征,然后在其上使用 KNN 或其他算法?通过尝试从二进制文件中工作,您丢弃了这么多有价值的信息。
标签: machine-learning cluster-analysis k-means hierarchical-clustering