我想构建一个带有预训练嵌入矩阵的 seq2seq 聊天机器人。预训练的 Embedding 矩阵,例如 GoogleNews-vectors-negative300、FastText 和 GloVe,是否具有 <EOS>
的特定词向量和 <UNK>
?
最佳答案
预训练嵌入定义了特定的词汇表。不在词汇表中的词称为词,也称为 oov(out of vocabulary)词。预训练的嵌入矩阵不会为 UNK 提供任何嵌入。处理 UNK 词有多种方法。
- 忽略 UNK 词
- 使用一些随机向量
- 使用 Fasttext 作为预训练模型,因为它通过从构成单词的 n-gram 向量构建 UNK 单词的向量来解决 oov 问题。
如果 UNK 的数量较少,则准确性不会受到太大影响。如果数字更高,则更好地训练嵌入或使用快速文本。
“EOS”Token也可以作为随机向量取(初始化)。
确保两个随机向量不相同。
关于nlp - 预训练的嵌入矩阵是否具有<EOOS>,word vector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346922/