我正在构建一个文档分类器来对文档进行分类。
因此第一步是将每个文档表示为“特征向量”以用于训练目的。
经过一些研究,我发现我可以使用 Bag of Words 方法或 N-gram 方法将文档表示为向量。
每个文档(扫描的 pdf 和图像)中的文本都是使用 OCR 检索的,因此某些单词包含错误。而且我之前不了解这些文档中使用的语言(无法使用词干分析)。
据我所知,我必须使用 n-gram 方法。或者还有其他方法来表示文档?
N-gram 只是 N 个项目的序列。在按主题分类时,您通常使用单词或其词根的 N 元语法(尽管有基于字符的 N 元语法的模型)。最流行的 N 元语法是一元语法(仅单词)、二元语法(2 个连续单词)和三元语法(3 个连续单词)。所以,从句子
Hello, my name is Frank
您应该得到以下一元组:
[hello, my, name, is, frank] (or [hello, I, name, be, frank], if you use roots)
以下二元组:
[hello_my, my_name, name_is, is_frank]
等等。
最后,你的特征向量应该具有与所有文本中的单词一样多的位置(维度)对于未知单词加 1 。实例向量中的每个位置都应该以某种方式反映实例文本中相应单词的数量。这可能是出现次数、二元特征(如果单词出现则为 1,否则为 0)、标准化特征或tf-idf(在按主题分类中非常流行)。
分类过程本身与任何其他域相同。