用于文本挖掘的特征构建的传统方法是词袋方法,并且可以使用 tf-idf 来增强以设置表征给定文本文档的特征向量。目前,我正在尝试使用二元语言模型或(N-gram)来构建特征向量,但不太知道该怎么做?我们是否可以只遵循词袋的方法,即用二元组而不是词来计算频率计数,并使用 tf-idf 加权方案对其进行增强?
关于使用二元组(N-gram)模型为文本文档构建特征向量
是的。但这会产生更多的特征:应用一些截断可能很重要(例如丢弃特征,如在数据集中出现少于 5 次的双元词或单词),以免分类器被太多噪声淹没特征。
通过仅选择具有正互信息的那些,可以减少二元组的数量。
我们这样做是为了在 INEX XML Mining 跟踪http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp上生成一个二元组表示。
我们没有尝试的是使用术语之间的互信息来加权二元组。请参阅https://en.wikipedia.org/wiki/Pointwise_mutual_information、https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf和http : //www.nltk。 org/howto/collocations.html以更好地解释二元组的逐点互信息。
请参阅https://stackoverflow.com/questions/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python和https://stackoverflow.com/questions/22118350/python-sentiment-analysis -使用pointwise-mutual-information来解决与此相关的其他问题。
使用随机投影来减少数据的维度可能有助于减少存储特征所需的空间,https://en.wikipedia.org/wiki/Random_projection。它可以很好地扩展,每个示例都可以独立投影到较低维空间,无需任何直接优化方法,如 PCA、SVD、Sammon Maps、NMF 等。