我正在进行分类任务,我想将推文分为5个不同的类。我正在关注构建模型的Keras Github IMDB classification examples,但想修改此模型中的Embedding
图层。我没有将权重初始化传递给Embedding
层,而是我想在我的数据集中查找每条推文的word2vec权重,因此我可以为每条推文构建一个(tweet_words x vector_dimension)矩阵。 / p>
例如,推文“我已经厌倦了听到这次选举#tuningout”将被表示为一个矩阵,如:
vector_dim1 vector_dim2 vector_dim3 ... vector_dimN
I'm value1 value2 value3 valueN
so value1 value2 value3 valueN
tired (... and so on...)
of
hearing
about
this
election
#tuningout
我正在进行此查找,因为我有针对不同国家/地区单独学习的嵌入,我想根据推文的位置查找特定的嵌入,而不是将权重从联合嵌入传递到{{ 1}}层用于初始化。我可以将这样的矩阵直接传递给一个非常简单的LSTM,具有以下Keras架构:
Embedding
但是,与链接中的示例相比,此缺点是此体系结构无法进一步优化model = Sequential()
# layer here would normally be:
# model.add(Embedding())
model.add(LSTM(width, input_shape=(max_len, 100), dropout_W=0.2, dropout_U=0.2))
model.add(Dense(class_size))
model.add(Activation(activation))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
层。有没有办法将每个推文的这些矩阵传递给嵌入层,以便进一步优化,如示例所示?谢谢你的阅读。