wiki.en.vec
我从 fastText Github 存储库页面下载了预训练的英语维基百科向量文件(
我通过简单地构建 word2vec 存储库make
。
我跑了./compute-accuracy wiki.en.vec 0 < questions-words.txt
,也就是说,我将预训练的向量文件从 word2vec 和阈值 0 一起传递给计算精度二进制文件,以便考虑整个词汇表,而不是默认将其限制为 30000,并且我还发送了准确度questions-words.txt
使用计算数据集,<
因为我注意到代码从标准输入读取数据集。
作为回应,我只是得到了一堆像下面这样的 NaN。即使我将阈值更改为 30000 或其他任何值,这也不会改变。
>capital-common-countries:
ACCURACY TOP1: 0.00 % (0 / 1)
Total accuracy: -nan % Semantic accuracy: -nan % Syntactic accuracy: -nan %
有人可以解释为什么英语预训练向量似乎不适用于 word2vec 的准确度计算代码吗?我看了看,compute-accuracy.c
它看起来确实需要标准矢量文件格式约定,我也看了看wiki.en.vec
,它看起来确实像标准约定格式。
此外,在 fastText 论文中,提出了使用 fastText 向量的词类比精度,并且该论文在那里引用了 Mikolov 的 word2vec 论文——显然,使用了相同的数据集,并且可能使用了相同的 word2veccompute-accuracy.c
文件来获得呈现的数字。那么有人可以解释发生了什么问题吗?