如何将word2vec嵌入作为Keras嵌入层传递?

时间:2019-04-26 05:04:48

标签: python keras nlp data-science word2vec

我正在使用Keras解决多类分类问题。但是我认为由于我的数据(特定于域的数据)的词嵌入效果较差,因此准确性很差。

Keras有自己的嵌入层,这是一种有监督的学习方法。

所以我对此有2个问题:

  1. 我可以在Keras的嵌入层中使用word2vec嵌入,因为word2vec是一种无监督学习/自我监督的形式吗?

  2. 如果是,那么我可以在word2vec预训练模型上使用转移学习来增加我的领域特定功能的知识。

1 个答案:

答案 0 :(得分:0)

您可以使用word2vec或任何其他经过预训练的嵌入(可能是FastText?)来初始化嵌入层,以手动构建嵌入矩阵的方式,即,只需从word2vec文件中加载所有数字即可并使其np.array。然后,创建一个constant initializer并将其作为参数传递给嵌入层构造函数。

如果您不希望在训练期间更新嵌入,只需在图层对象上将trainable设置为False