如何评估Word2Vec模型?

9

你好,我有自己的语料库,并在其中训练了几个Word2Vec模型。那么,如何评估它们并选择最佳模型呢?(显然不是手动评估——我正在寻找各种措施)。

值得注意的是,嵌入是针对项目而不是单词的,因此我无法使用任何现有的基准。

谢谢!

3个回答

9

如果你甚至没有使用真实单词进行比较(例如广为人知的类比问题),那么评估令牌向量质量就没有通用的方法。

如果你有自定义的最终任务,你必须设计自己的可重复评分方法。这很可能是你实际最终任务的某个子集,或者与该最终任务密切相关。基本上,无论你使用什么特定的方法来“眼测”结果的合理性,都应该被系统化,保存每次评估的判断,以便可以反复运行对迭代模型改进的评估。

(我需要更多关于你的数据/项目和最终目标的信息才能提出进一步的建议。)


非常感谢!困惑度/熵等是否不能通用?(数据是目录中的产品ID。我希望将会话视为句子,并将产品视为单词,使用word2vec表示产品向量) - oren_isp
1
我想在训练文本或其他保留的测试文本上检查模型的预测能力是可能的,但我没有看到这些度量用于选择word2vec模型,并且我不确定它们是否与最终任务的性能相关。尝试提高单词预测能力的行为可以使单词向量有用地排列用于其他目的 - 但并非训练目标最佳的模型也适用于下游目标。因此,最好针对特定任务评估进行优化。 - gojomo

5
一种评估word2vec模型的方法是开发一个“地面真实性”词组。 地面真相将代表在向量空间中理想情况下最接近的单词。例如,如果您的语料库与客户服务有关,则“不满意”和“失望”的向量理想上应具有最小的欧几里得距离或最大的余弦相似度。
您可以为Ground Truth创建此表格,可能会包含200个配对单词。 这200个单词是您行业/主题的最重要的配对单词。为了评估哪个word2vec模型最好,只需计算每对的距离,进行200次,总结总距离,最小总距离将是您最佳模型。我喜欢这个方法比“眼球”方法更好,无论那意味着什么。

模型是以无监督的方式进行训练的,但现在我需要对数据进行标记,我认为这将会非常痛苦。 - Simone

1
评估Word2Vec模型的一种方法是在Word2Vec生成的特征上应用K-Means算法。同时,您可以创建自己的手动标签/基本事实来表示实例/记录。通过将聚类结果标签与基本事实标签进行比较,可以计算模型的准确性。
例如:Cluster 0 - 正面 - {"这是一家好餐厅", "这里的食物很好", "晚餐不太好"} Cluster 1 - 负面 - {"这是一家棒极了的酒店", "食物很陈旧"}
现在,将聚类生成的标签/标签与聚类中的实例/句子的基本事实值进行比较,并计算准确性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接