基于深度学习的文本情感识别代码
时间: 2023-10-10 12:09:30 浏览: 41
以下是一个基于深度学习的文本情感识别代码的示例:
```python
import pandas as pd
import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Embedding, LSTM, Dense, Dropout
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from sklearn.model_selection import train_test_split
# 加载数据集
data = pd.read_csv('sentiment_data.csv')
# 分割训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data['text'], data['sentiment'], test_size=0.2, random_state=42)
# 构建词汇表
tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X_train)
# 将文本转换为数字序列
X_train = tokenizer.texts_to_sequences(X_train)
X_test = tokenizer.texts_to_sequences(X_test)
# 填充序列
maxlen = 100
X_train = pad_sequences(X_train, padding='post', maxlen=maxlen)
X_test = pad_sequences(X_test, padding='post', maxlen=maxlen)
# 构建模型
model = tf.keras.Sequential([
Embedding(5000, 32, input_length=maxlen),
LSTM(64),
Dropout(0.5),
Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_test, y_test))
```
这个示例代码使用了 LSTM 网络来进行文本情感识别,并且使用了 Keras 和 TensorFlow 来实现。在代码中,我们首先加载了数据集,然后将文本数据分割成训练集和测试集。接下来,我们使用 Tokenizer 将文本转换为数字序列,并使用 pad_sequences 将序列填充到固定长度。然后,我们构建了一个包含嵌入层、LSTM 层、Dropout 层和全连接层的模型,并使用二元交叉熵作为损失函数进行训练。