使用Keras进行YSTube评论的LSTM情感分析

时间:2017-12-20 11:07:28

标签: youtube deep-learning keras recurrent-neural-network imdb

我的目标是通过使用LSTM慢慢缩放来弄脏手。然而,在现阶段的初始阶段,我尝试使用Keras实现Youtube LSTM情绪分析器。在搜索可用于帮助我的资源时,我遇到了IMDB情绪分析数据集和LSTM代码。虽然它适用于较长的输入,但较短的输入不能很好地完成。代码位于https://github.com/keras-team/keras/blob/master/examples/imdb_lstm.py

保存Keras模型并使用此代码为此数据构建预测模块

 model = load_model('ytsentanalysis.h5')
 print("Enter text")
 text=input()
 list=text_to_word_sequence(text,filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',lower=True,split=" ")
 print(list)
 word_index = imdb.get_word_index()
 x_test = [[word_index[w] for w in list if w in word_index]]
 prediction=model.predict(x_test)
 print(prediction)

我提供各种输入,例如“坏视频”等。奇妙的惊人&#39;或者&#39;好的&#39; &#39;可怕的坏&#39;。对于同样糟糕的主题输入,输出范围从接近1开始,并且我已经看到对于良好主题输入的0.3%预测。我预计它应该接近1表示正数,接近0表示负数。

为了解决这个问题,我在训练和预测时限制了maxlen = 20,因为Youtube注释要短得多,同样的代码再次运行。这次预测期间的概率都是e ^ 插入大负功率

我无法调整和重用现有数据集吗?如果没有,因为标记为Youtube的评论数据集并不广泛,我是否应该使用像Twitter评论数据集这样的东西,而代价是在Keras中失去预先构建的IMDB输入模块的效率?有什么方法可以看到这些模块的代码吗?

提前感谢您回答所有这些问题。

1 个答案:

答案 0 :(得分:1)

IMDb数据集和YouTube评论之间的差异是完全不同的,因为与评论和推文相比,电影评论相当长且广泛。

在公开可用的数据集上训练模型可能更有帮助(例如推文,可能更符合YT评论)。然后,您可以使用预先训练的模型并在YT注释数据集上对其进行微调。利用一些预先训练过的单词嵌入也很有用,比如GloVe和word2vec。

或者,您可以考虑使用NLTK来分析评论。