3

我正在为 NLP 任务构建 TensorFlow 模型,并且正在使用预训练的 Glove 300d 词向量/嵌入数据集。

显然,某些标记不能被解析为嵌入,因为没有包含在词向量嵌入模型的训练数据集中,例如稀有名称。

我可以用 0 的向量替换这些标记,但我更愿意以某种方式对其进行编码并将其包含到我的训练数据中,而不是将这些信息丢弃在地板上。

说,我有 'raijin' 词,它不能被解析为嵌入向量,用 Glove 嵌入数据集对其进行编码的最佳方法是什么?将其转换为 300d 矢量的最佳方法是什么?

谢谢你。

4

2 回答 2

11

与其将所有Out of Vocabulary标记分配给一个公共UNK向量(零),不如为它们分配一个唯一的随机向量。至少这样,当你发现它们与任何其他词的相似性时,它们中的每一个都是独一无二的,并且模型可以从中学到一些东西。在 中UNK case,它们都是相同的,因此所有 UNK 单词都将被视为具有相同的上下文。

Quora Duplicate question pair detection我尝试了这种方法,并使用LSTM模型将数据集的准确率提高了 3% 。

于 2017-08-04T01:20:48.180 回答
1

看看关于通过生成嵌入来处理“oov”令牌的 EMNLP 论文很好

使用子词 RNN 模拟词嵌入

于 2018-01-05T15:40:35.430 回答