我正在比较技术,并想找出对大量文本文档进行矢量化和减少维度的最佳方法。我已经用 PCA、SVD 和 NMF 测试了 Bag of Words 和 TF-IDF 并缩减了维度。使用这些方法,我可以减少我的数据,并根据解释的方差了解最佳维数。
但是,我想对 doc2vec 做同样的事情,考虑到 doc2vec 本身是一个降维器,找出模型维数的最佳方法是什么?是否有任何统计措施可以帮助我找到最佳的 vector_size 数量?
提前致谢!
我正在比较技术,并想找出对大量文本文档进行矢量化和减少维度的最佳方法。我已经用 PCA、SVD 和 NMF 测试了 Bag of Words 和 TF-IDF 并缩减了维度。使用这些方法,我可以减少我的数据,并根据解释的方差了解最佳维数。
但是,我想对 doc2vec 做同样的事情,考虑到 doc2vec 本身是一个降维器,找出模型维数的最佳方法是什么?是否有任何统计措施可以帮助我找到最佳的 vector_size 数量?
提前致谢!
没有什么是最好的神奇指标。鉴于您的数据和目标,您应该尝试一系列维度,以查看在您的特定下游评估中哪些得分较高。
如果使用提供训练集外文档推断的 doc2vec 实现(例如通过.infer_vector()
Python gensim 库中的方法),那么消除非常糟糕的选择(或其他参数)的合理健全性检查vector_size
是重新推断训练集文档的向量。
如果相同文本的重复重新推断通常彼此“接近”,并且与由完整模型训练创建的同一文档的向量相近,那么这是模型至少表现自洽的弱指标方法。(如果结果的分布很大,这可能表明数据不足、训练时期太少、模型过大/过拟合或其他基础问题的潜在问题。)