返回

使用 PyTorch 构建 NLP 情感分析基准模型

人工智能

NLP情感分析(二)—— 基准模型

前言

在情感分析领域,构建一个基准模型是至关重要的,它为后续模型的改进和比较提供了参照点。在本文中,我们将使用 PyTorch 和 TorchText 构建一个简单的机器学习模型来预测句子的情绪。该模型将使用 IMDb 电影评论数据集进行训练和评估。

数据准备

我们使用 TorchText 加载 IMDb 数据集:

from torchtext.datasets import IMDB
train_data, test_data = IMDB.splits(root='.data')

模型架构

我们的基准模型是一个简单的神经网络,由以下层组成:

  • 词嵌入层: 将每个单词映射到一个密集的向量表示。
  • RNN 层: 捕获单词之间的时序依赖关系。
  • 全连接层: 将 RNN 输出投影到情绪预测(正面或负面)。

模型训练

我们使用 PyTorch 的 Adam 优化器和二元交叉熵损失函数训练模型:

import torch
import torch.nn as nn
import torch.optim as optim

model = ...  # 定义模型架构

optimizer = optim.Adam(model.parameters(), lr=0.01)
criterion = nn.BCELoss()

for epoch in range(10):
    for batch in train_data:
        optimizer.zero_grad()
        outputs = model(batch.text)
        loss = criterion(outputs, batch.label)
        loss.backward()
        optimizer.step()

模型评估

我们在测试集上评估模型的性能:

from sklearn.metrics import accuracy_score

test_outputs = model(test_data.text)
predictions = torch.round(test_outputs).squeeze()
accuracy = accuracy_score(test_data.label, predictions)

结果

使用该基准模型,我们在 IMDb 数据集上实现了约 85% 的准确率。这为进一步改进和探索情感分析模型提供了坚实的基础。

总结

本文介绍了如何使用 PyTorch 和 TorchText 构建一个简单的 NLP 情感分析基准模型。该模型为后续模型的开发和比较提供了起点,为改善文本的情感理解铺平了道路。