2017-12-20 11 views
0

LSTMを使用してゆっくりとスケーリングすることで手を汚すことを目指しています。しかし、現在の初期段階では、Kerasを使用してYoutube LSTMセンチメントアナライザを実装しようとしています。私を助けるために利用できるリソースを探しているうちに、私はIMDBセンチメント分析データセットとLSTMコードを見つけました。これは長い入力に対しては効果的ですが、短い入力ではあまりうまく機能しません。コードは、私が「驚くほど素晴らしい」または「このような「悪いビデオ」など、様々な入力に送りKerasモデルを保存すると、このコードKerasを使用したYoutubeのコメントに対する感情分析

model = load_model('ytsentanalysis.h5') 
print("Enter text") 
text=input() 
list=text_to_word_sequence(text,filters='!"#$%&()*+,-./:;<=>[email protected][\\]^_`{|}~\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) 

と、このデータのための予測モジュールをビルドする際https://github.com/keras-team/keras/blob/master/examples/imdb_lstm.py

にここにあります良い素晴らしい "ひどい悪い"。同様に悪いテーマの入力については、出力は1に近い範囲にあり、良いテーマの入力については0.3ishの予測を見ました。私はそれが正に1に近く、負に0に近くなるはずだと思います。

この問題を解決するため、Youtubeのコメントがずっと短く、同じコードが再び実行されるため、トレーニングと予測中にmaxlen = 20が制限されました。今度は予測中の確率はすべてe^大きな負のパワーを挿入する

既存のデータセットを適応させて再利用する方法はありませんか?そうでない場合、ラベル付きのYoutubeコメントデータセットはそれほど広範ではないので、KerasのIMDB入力モジュールの効率を犠牲にして、Twitterのコメントデータセットのようなものを使うべきですか?そして、私はそれらのモジュールのコードを見ることができる方法はありますか?

これらの質問にすべてお答えいただき、ありがとうございます。

答えて

1

IMDbのデータセットとYouTubeのコメントの違いは、映画のレビューがコメントやつぶやきと比べてかなり長く、広範であるためです。

公開されているデータセット(たとえば、YTコメントにもっとインラインになるかもしれないツイートなど)でモデルを訓練すると、より効果的です。その後、事前に訓練されたモデルを使用して、YTコメントデータセットで微調整できます。あらかじめ訓練された単語埋め込みを利用することも、GloVeやword2vecのように便利です。

また、NLTKを使用してコメントを分析することもできます。

+0

あなたの言ったように、私は[link](https://ahmedbesbes.com/sentiment-analysis-on-twitter-using-word2vec-and-keras.html)で作業しましたが、これはつぶやきこれをLSTM IMDBネットワークと組み合わせると、この問題は解決しますか? – Ishwar

関連する問題