首页 > 解决方案 > LSTM - 使用 word2vec 完成句子

问题描述

我想创建一个可以预测句子中缺少的单词的模型(句子有一个需要填充的整体)

我的数据集由~1000 个句子组成,最短的句子长度=6,最长的句子长度~120000。数据集的词汇量仅为 90。

模型具有 onehot 编码或预训练的 word2vec (gensim) 模型是否会产生巨大差异?我在 keras 嵌入层中使用预训练的权重:“冻结”(不可训练)该层的意义是什么,因为它对我的情况的准确性没有任何影响?

我尝试了两种表示方法,我的测试数据的准确性似乎没有区别。我达到的最高准确率是正确预测的 55%。

我是在正确的轨道上还是执行该任务的方法错误?我的机器非常慢,这使得参数实验变得如此困难和耗时。

我将不胜感激任何建议或提示!

标签: kerasdeep-learninglstmpredictionword2vec

解决方案


它会有所作为吗?是的,当然可以,但仅限于您词汇表中的 90 个单词。将 word2vec 与冻结一起使用的优势在于,您的模型可以用它以前见过的单词填充句子,但可能它训练过的单词相似。

冻僵的感觉是什么?Word2vec 接受了数百万个标记的训练,但您的数据集中只有 90 个。因此,如果您不冻结您的模型,则只会修改 90 个可能失去与其他词的关系的词。例如,如果您有电视但没有电视,那么根据您的数据集,电视的含义可能会相对于电视发生变化。


推荐阅读