fasttext - 提取和比较预先训练过的单词向量

时间:2017-10-14 11:44:32

标签: matlab vector text fasttext

我使用来自https://github.com/facebookresearch/fastText/blob/master/pretrained-vectors.md

的德语预训练单词向量

我遇到了以下问题:

  1. 要为我的单词提取向量,我首先只需在wiki.de.vec文本文件中搜索相应的单词。但是,wiki.de.vec文本文件中的向量与print-word-vectors函数输出的向量不同(例如,' affe'含义' monkey'的向量不同wiki.de.vec文件而不是print-word-vectors的' affe'的输出。这是什么原因?我假设发生这种情况是因为一个单词的向量是通过Bojanowski等人在模型中添加其字符 n -gram向量的总和来计算的,但该向量对于' affe& #39;在wiki.de.vec文本文件中反映出来了吗?它是 n -gram' affe'的矢量?换句话说就像卡拉菲'卡拉菲等。因此,在使用这些向量时,是否应始终使用print-word-vectors函数(即添加字符 n -gram向量),而只需从文本中提取向量-file?
  2. 一些真正的德语单词(例如knatschen,resonieren)接收空向量(即使使用print-word-vectors函数)。如果这个子词方法的主要优点是计算词汇外单词的向量,怎么会这样呢?
  3. 最近邻函数(./fasttext nn)输出具有余弦距离的单词的最近邻居。但是,此值与通过使用print-word-vectors获取单个单词的向量并使用pdist2(wordVector1, wordVector2, 'cosine')在Matlab中手动计算其余弦距离而获得的值不同。为什么会这样?这是获取两个字向量之间的余弦距离的错误方法吗?
  4. 提前感谢您的帮助和建议!

0 个答案:

没有答案
相关问题