Word2Vec 如何处理不在词汇表中的单词

数据挖掘 word2vec
2022-02-12 17:39:58

我正在尝试为句子中的每个单词分配一个向量。有些词即使是非常相似的词也无法识别 - 例如: Going, gone,go被识别,而goes不是。

我应该如何为单词 go 或类似的任何单词分配任何逻辑值?请注意,我事先不知道哪些单词不会被识别。

2个回答

这些词Going, Gone, Goes只在一种上下文中被认为是相似的,即它们都具有相同的词根Go这被称为 Stemming/Lemmatization,两者都是规范化过程的特殊情况。所以,为了给这些词赋予一些价值,你必须首先对它们进行词形还原。为了获得有关此的更多详细信息,我附上了两个对您的情况有帮助的链接:

http://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization

https://stackoverflow.com/questions/771918/how-do-i-do-word-stemming-or-lemmatization

通常对于在词汇表中没有找到的词,将零向量分配给它们。

我能想到的其他一些技巧是:

  1. 尝试单词的不同形态(例如 go 的形态会给出 go,你可以得到 go 的向量来初始化 go)。

  2. 尝试从 wordnet 中查找相似的单词。如果您能够从 wordnet 中找到相似词的嵌入,请使用该词的嵌入初始化原始词的嵌入。