我试图用Keras制作分类模型。我的数据包含一些数字功能和一些文本功能。通过文字功能我的意思是评论或类似的东西。数字功能将是类别,年龄等。
我想将文本特征传递给嵌入层,然后传递给LSTM层。需要将数字要素传递给一系列密集图层。之后,两个层都需要连接。之后是密集层来进行输出。
如何在Keras中实现这种类型的模型?
或者是否有其他方法可以同时在模型中同时使用数字要素和基于文本的要素。?
答案 0 :(得分:3)
使用keras功能API实现这样的网络相当容易。 假设您已经定义了两个连续模型来处理文本和数字特征,那么您可以合并输出并继续使用更多层:
txt_input = keras.layers.Input(shape=(n,))
txt_feat = text_network(txt_input)
num_input = keras.layers.Input(shape=(m,))
num_feat = num_network(input2)
concatinated = keras.layers.Concatenate()([txt_feat, num_feat])
out = keras.layers.Dense(nodes)(concatinated)
model = keras.models.Model(inputs=[input1, input2], outputs=out)
您还可以使用keras中的任何merge layer来使用其他类型的合并。