如何衡量 Doc2vec 模型的准确性?
How to measure the accuracy of a Doc2vec model?
我有一个不同酒店评论的数据集。
我正在尝试使用酒店评论找出类似的酒店。所以,我正在使用 Doc2vec
算法来实现这一点。
有没有什么方法可以使用 Gensim
来衡量 Doc2Vec
模型的准确性,而不是使用 Gensim
的 most_similar()
函数来评估结果?
由于 Doc2Vec
(又名 'Paragraph Vector' 算法)是一种无监督方法,因此没有严格意义上的正确或错误结果——只是经过训练的模型对于某些下游任务来说更好或更差。
就您个人而言,您如何确定结果对您的项目是否有价值?
您必须将一些判断纳入可重复的过程中——例如,一种方法可能是手工制作一对酒店列表,根据您的专家级判断,"ought to be more similar"彼此比其他人,或者可能在彼此的 "top N" 最接近的结果中。然后将 Doc2Vec
模型与其他方法(或 Doc2Vec
的多个可选参数化运行)进行比较。
您可能能够从现有数据源中bootstrap 一些 "ought to be more similar" 对。例如,可能有两家酒店在同一连锁 "ought to be more similar" 中,而不是某个随机的第三家酒店。 (因此,他们品牌名称的外部数据将指导您的评估,理想情况下,如果您确定品牌名称没有泄漏到用于训练模型的文档文本中。)或者,两家酒店在地理上和价格方面彼此接近 "ought to be more similar" 而不是随机的三分之一。
但是对于所有可能的文档和项目目标的域上的这种模糊表示,没有 standard/automatic "accuracy" 的想法。您需要开发自己的自定义评估,以便能够在算法之间进行选择或调整算法。
我使用主题建模(LDA with gensim/mallet)最近邻作为基线来比较 Doc2Vec 的结果。当然这是非常粗略的方式,但至少你可以看到 Doc2Vec 结果是否在某种程度上与主题模型的结果一致。
假设您有 10 个来自 Doc2vec 和主题模型的最近邻居用于输入 query/doc,您可以在这两个集合之间进行 Jaccard 相似度或 NDCG 以查看它们有多接近。这将使您对 doc2vec 结果充满信心。理论上 Doc2Vec 结果应该比主题建模更好,因为主题建模无法找到像 Doc2vec 这样语义相似的文档。因此,如果两者之间的结果差异很大,您可以引入人为判断。
我有一个不同酒店评论的数据集。
我正在尝试使用酒店评论找出类似的酒店。所以,我正在使用 Doc2vec
算法来实现这一点。
有没有什么方法可以使用 Gensim
来衡量 Doc2Vec
模型的准确性,而不是使用 Gensim
的 most_similar()
函数来评估结果?
由于 Doc2Vec
(又名 'Paragraph Vector' 算法)是一种无监督方法,因此没有严格意义上的正确或错误结果——只是经过训练的模型对于某些下游任务来说更好或更差。
就您个人而言,您如何确定结果对您的项目是否有价值?
您必须将一些判断纳入可重复的过程中——例如,一种方法可能是手工制作一对酒店列表,根据您的专家级判断,"ought to be more similar"彼此比其他人,或者可能在彼此的 "top N" 最接近的结果中。然后将 Doc2Vec
模型与其他方法(或 Doc2Vec
的多个可选参数化运行)进行比较。
您可能能够从现有数据源中bootstrap 一些 "ought to be more similar" 对。例如,可能有两家酒店在同一连锁 "ought to be more similar" 中,而不是某个随机的第三家酒店。 (因此,他们品牌名称的外部数据将指导您的评估,理想情况下,如果您确定品牌名称没有泄漏到用于训练模型的文档文本中。)或者,两家酒店在地理上和价格方面彼此接近 "ought to be more similar" 而不是随机的三分之一。
但是对于所有可能的文档和项目目标的域上的这种模糊表示,没有 standard/automatic "accuracy" 的想法。您需要开发自己的自定义评估,以便能够在算法之间进行选择或调整算法。
我使用主题建模(LDA with gensim/mallet)最近邻作为基线来比较 Doc2Vec 的结果。当然这是非常粗略的方式,但至少你可以看到 Doc2Vec 结果是否在某种程度上与主题模型的结果一致。
假设您有 10 个来自 Doc2vec 和主题模型的最近邻居用于输入 query/doc,您可以在这两个集合之间进行 Jaccard 相似度或 NDCG 以查看它们有多接近。这将使您对 doc2vec 结果充满信心。理论上 Doc2Vec 结果应该比主题建模更好,因为主题建模无法找到像 Doc2vec 这样语义相似的文档。因此,如果两者之间的结果差异很大,您可以引入人为判断。