我正在使用Keras解决多类分类问题。但是我认为由于我的数据(特定于域的数据)的词嵌入效果较差,因此准确性很差。
Keras有自己的嵌入层,这是一种有监督的学习方法。
所以我对此有2个问题:
我可以在Keras的嵌入层中使用word2vec嵌入,因为word2vec是一种无监督学习/自我监督的形式吗?
如果是,那么我可以在word2vec预训练模型上使用转移学习来增加我的领域特定功能的知识。
答案 0 :(得分:0)
您可以使用word2vec或任何其他经过预训练的嵌入(可能是FastText?)来初始化嵌入层,以手动构建嵌入矩阵的方式,即,只需从word2vec文件中加载所有数字即可并使其np.array
。然后,创建一个constant initializer并将其作为参数传递给嵌入层构造函数。
如果您不希望在训练期间更新嵌入,只需在图层对象上将trainable
设置为False
。