不预先训练嵌入基质具有<EOS>,<UNK>字矢量?

时间:2018-03-18 10:39:26

标签: nlp deep-learning

我想用预先训练好的嵌入矩阵构建一个seq2seq聊天机器人。预训练的嵌入矩阵(例如GoogleNews-vectors-negative300,FastText和GloVe)是否具有<EOS><UNK>的特定单词向量?

1 个答案:

答案 0 :(得分:4)

预训练嵌入具有​​定义的特定词汇。不在词汇表中的单词称为单词,也称为oov(词汇表外)单词。预训练的嵌入矩阵不会为UNK提供任何嵌入。处理UNK单词的方法有很多种。

  1. 忽略UNK字样
  2. 使用一些随机向量
  3. 使用Fasttext作为预训练模型,因为它通过从构成单词的n-gram向量构造UNK单词的向量来解决oov问题。
  4. 如果UNK的数量很少,准确度不会受到太大影响。如果数字更高,可以更好地训练嵌入或使用快速文本。

    “EOS”令牌也可以作为随机向量(初始化)。

    确保两个随机向量不相同。