Keras:优化特定于Tweet的预训练Word嵌入层

时间:2016-09-20 03:23:58

标签: machine-learning neural-network deep-learning keras word-embedding

我正在进行分类任务,我想将推文分为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']) 层。有没有办法将每个推文的这些矩阵传递给嵌入层,以便进一步优化,如示例所示?谢谢你的阅读。

0 个答案:

没有答案