用于情感分析的 LSTM

LSTM for sentiment analysis

我看到了这个tensorflow模型,它是用来判断文本是正负的,我不是很理解。我知道 LSTM 会保存单词并根据前面的单词预测下一个单词,但这如何帮助网络区分文本的情绪?

def tensorflow_based_model(): 
    inputs = Input(name='inputs',shape=[max_len])
    layer = Embedding(2000,50,input_length=max_len)(inputs) 
    layer = LSTM(64)(layer)
    layer = Dense(256,name='FC1')(layer) 
    layer = Activation('relu')(layer) 
    layer = Dropout(0.5)(layer)
    layer = Dense(1,name='out_layer')(layer) 
    layer = Activation('sigmoid')(layer) 
    model = Model(inputs=inputs,outputs=layer) 
    return model 

虽然 LSTM 可以用于文本生成,但 LSTM(或任何递归神经网络层)的主要用途是理解序列。您可以在这篇博文中找到更多信息:

The Unreasonable Effectiveness of Recurrent Neural Networks

Understanding LSTM Networks

在情感分析的情况下,LSTM 不是帮助生成新词,而是帮助我们理解所说的内容。它基本上读取字符串并保留一些关于前面所说的单词的重要信息。