实现基于Aspect的情感分析深度学习模型时出错

时间:2017-02-20 14:55:06

标签: nlp deep-learning keras sentiment-analysis

我的任务是Aspect based sentiment analysis,我必须首先预测每个句子的方面。方面是预先定义的&他们总共19岁。

我必须实现一个2-layer Neural Network(用于上述任务),其中第一层完全连接&第二层输出softmax分布 每个句子由单词向量的平均值表示。使用的单词矢量模型是GoogleNews 300 dimensional wordvec model [https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing] 因此,对于每个句子,我都有一个300维的单词向量(句子中所有单词的所有300维度单词向量的平均值)。
当句子具有方面i&时,输出y被定义为y(i) = 1/k。总共k方面
否则y(i)=0
(注意 - 一个句子可以有多个方面)

实施上述模式 -
我总共有1739个句子&对于他们每个人,我有一个300-dim单词向量。所以我有一个np.array X形状(1739,300)。同样,y是形状np.array的{​​{1}}。

我使用keras的代码是 -

(1739,19)

这段代码引发了我的错误 -
model = Sequential() model.add(Dense(output_dim=64, input_dim=300)) model.add(Activation('relu')) model.add(Dense(output_dim=19)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) model.fit(X, y, nb_epoch=3)

我是深度学习的新手。 keras,所以如果有人可以对我做错的事情有所了解吗?

1 个答案:

答案 0 :(得分:1)

问题在于数据的错误维度。它的形状应为(1739, 300)。重新检查您的数据准备,因为可能会出现错误。