评估 FastText 嵌入

问题描述 投票:0回答:1

我想评估我的 FastText 模型(在我自己的语料库上训练)。

对于语义意义,我知道我们可以使用包含几对由人类评分的两个词的数据集,看看我们的模型与“人类评分”的接近程度,例如this

问题是 FastText 没有对语义进行建模,即

car
carrot
应该比
car
train
更接近(如果我是正确的话)。

FastText 是否存在这样的数据集,或者我们可以用任何其他方式来做(而不是手动做,而是随机查看特定的单词)?

word-embedding fasttext
1个回答
0
投票

由于 FastText 词向量是否“好”的标准与其他词向量相同,因此您不需要一组特定于 FastText 的测试。

Python Gensim 库的词向量支持,在其类

KeyedVectors
(以及像
FastTextKeyedVectors
这样的专门子类)中,包括一些通过一些流行的评估对词向量质量进行评分的方法。

方法

.evaluate_word_pairs()
(docs) 使用人工评分的词对,就像您所描述的那样。它的方法文档提到了一些词对数据的来源,并且一个这样的小文件(353 个词)
wordsim353.tsv
包含在 Gensim 安装的
test_data
目录中,用于一些 Gensim 的单元测试。

方法

.evaluate_word_analogies()
(docs) 在原始 word2vec 论文中使用的同类类比解决方法上测试词向量,并且在这些评估中使用的相同
questions-words.txt
文件也捆绑在 Gensim 的
test_data
目录中.

因此,您可以将 FastText 向量加载到 Gensim 中并执行这些评估,并使用其他已发布作品使用的标准单词列表。

如果您想测试 FastText 为词汇外单词构建合成猜测向量的独特能力,请务必从 FastText

.bin
文件加载向量——
.vec
文件仅包含全词向量——并且使用像
load_facebook_vectors()
.

这样的 Gensim 方法
© www.soinside.com 2019 - 2024. All rights reserved.