RNN自然语言处理与情感分析代码
时间: 2025-01-01 18:31:40 浏览: 7
### RNN用于自然语言处理中的情感分析
对于利用循环神经网络(Recurrent Neural Network, RNN)来进行自然语言处理(NLP),特别是针对情感分析的任务,可以构建一个简单的基于Keras框架下的LSTM模型来实现这一目标。下面提供了一个具体的Python代码实例[^1]。
```python
import numpy as np
from keras.preprocessing import sequence
from keras.models import Sequential
from keras.layers import Dense, Embedding, LSTM
from keras.datasets import imdb
max_features = 20000 # 只考虑最常见的2万个单词
maxlen = 80 # 每条评论截断或填充到长度为80
batch_size = 32 # 批量大小设置为32
# 加载IMDB数据集并准备输入数据
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=max_features)
x_train = sequence.pad_sequences(x_train, maxlen=maxlen)
x_test = sequence.pad_sequences(x_test, maxlen=maxlen)
model = Sequential()
model.add(Embedding(max_features, 128))
model.add(LSTM(128, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='adam', metrics=['accuracy'])
print('Train...')
model.fit(x_train, y_train,
batch_size=batch_size,
epochs=15,
validation_data=(x_test, y_test))
score, acc = model.evaluate(x_test, y_test,
batch_size=batch_size)
print(f'Test score: {score}')
print(f'Test accuracy: {acc}')
```
此段代码展示了如何使用长短期记忆(Long Short-Term Memory, LSTM)单元——一种特殊的RNN结构,在电影评论的情感分类上应用。通过加载IMDB的数据集,该程序能够学习区分正面评价和负面评价之间的差异,并最终评估其性能表现。
阅读全文