【问题标题】:How to measure the accuracy of a Doc2vec model?如何衡量 Doc2vec 模型的准确性?
【发布时间】:2020-07-16 15:56:20
【问题描述】:

我有一个不同酒店的评论数据集。 我正在尝试使用酒店评论找出类似的酒店。所以,我使用Doc2vec 算法来实现这一点。

有没有什么方法可以使用Gensim 测量Doc2Vec 模型的准确性,而不是使用Gensimmost_similar() 函数评估结果?

【问题讨论】:

    标签: gensim unsupervised-learning doc2vec


    【解决方案1】:

    由于Doc2Vec(又名“段落向量”算法)是一种无监督方法,因此没有严格的正确或错误结果 - 只是经过训练的模型对某些下游任务更好或更差。

    您个人如何根据自己的想法确定结果是否对您的项目有价值?

    您必须将其中的一些判断纳入一个可重复的过程中——例如,一种方法可能是手工制作一组酒店列表,根据您的专业人类判断,这些酒店“应该更相似”彼此比其他人,或者可能在彼此的“前 N”个最接近的结果中。然后将Doc2Vec 模型与其他方法(或Doc2Vec 的多个替代参数化运行)相比,根据该理想进行评分。

    您也许可以从现有数据源中引导一些“应该更相似”的对。例如,也许同一连锁店中的两家酒店“应该更相似”,而不是随机的第三家酒店。 (因此,他们的品牌名称的外部数据将指导您的评估,理想情况下,如果您确定品牌名称没有泄漏到用于训练模型的文档文本中。)或者也许,两家酒店在地理上和在价格方面,彼此之间“应该更相似”而不是随机的三分之一。

    但是对于所有可能的文档和项目目标的域上的这种模糊表示,没有标准/自动的“准确性”概念。您需要开发自己的自定义评估,以便能够在算法之间进行选择,或调整算法。

    【讨论】:

    • 好的。感谢您的回复:)
    【解决方案2】:

    我使用主题建模(LDA 与 gensim/mallet)最近邻作为基线来比较 Doc2Vec 的结果。诚然这是一种非常粗略的方式,但至少你可以看到 Doc2Vec 的结果在某种程度上与主题模型的结果是否一致。

    假设您有 10 个来自 Doc2vec 和主题模型的最近邻用于输入查询/文档,您可以在这两个集合之间进行 Jaccard 相似性或 NDCG 以查看它们的接近程度。这将使您对 doc2vec 结果充满信心。理论上,Doc2Vec 结果应该比主题建模更好,因为主题建模无法找到语义相似的文档,如 Doc2vec。因此,如果两者之间的结果差异很大,您可以引入人工判断。

    【讨论】:

      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 2019-10-21
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多