如何评估Word2Vec模型

时间:2018-10-04 11:22:38

标签: python nlp word2vec embedding word-embedding

嗨,我有自己的语料库,我在上面训练了几个Word2Vec模型。 互相评估他们并选择最佳人选的最佳方法是什么? (显然不是手动进行的-我正在寻找各种措施。)

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

谢谢!

3 个答案:

答案 0 :(得分:0)

如果您甚至没有使用可以尝试针对其他任务(例如流行的类比求解)的实词,就没有通用的方法来评估令牌向量的质量。

如果您有自定义的最终任务,则必须设计自己的可重复计分方法。那可能是您实际最终任务的一部分,或者与该最终任务紧密相关。本质上,无论您使用哪种“眼球”临时方法,都应该系统化理智的结果,从而避免每次评估都保留您的判断,以便针对迭代模型的改进可以反复运行它们。

(我需要有关您的数据/项目和最终目标的更多信息,以提出进一步的建议。)

答案 1 :(得分:0)

评估word2vec模型的一种方法是开发一组单词的“基本事实”。地面真理将代表在向量空间中最理想的词。例如,如果您的语料库与客户服务有关,那么“不满意”和“失望”的向量可能理想地具有最小的欧几里得距离或最大的余弦相似度。

您为此表创建了基​​本事实,可能有200个成对单词。对于您的行业/主题,这200个单词是最重要的成对单词。要评估哪种word2vec模型是最佳的,只需简单地计算每对的距离,将其进行200次,将总距离相加即可,最小的总距离将是您的最佳模型。

无论哪种方式,我都比“眼球”方法更喜欢这种方式。

答案 2 :(得分:0)

评估Word2Vec模型的方法之一是将K-Means算法应用于Word2Vec生成的功能。随之创建您自己的代表实例/记录的手动标签/地面事实。您可以通过将聚类的结果标签与地面真实标签进行比较来计算模型的准确性。

例如:CLuter 0-肯定-{“这是一家不错的餐厅”,“这里的美食”,“晚餐不太好”}     类别1-负面-{“这是一家很棒的酒店”,“食物很陈旧”}

现在,将群集生成的标签/标签与群集中实例/句子的基本真实值进行比较,并计算准确性。