36、使用带EDA的Transformer进行古巴旅游评论极性预测

使用带EDA的Transformer进行古巴旅游评论极性预测

1 研究概述

本文聚焦于古巴旅游评论的极性预测,旨在分析不同预处理技术(去噪、词形还原和数据增强)的效果。为此,设计了基于mT5的Transformer模型进行极性预测,并引入结合AdamW和EDA的混合微调方法。研究涉及三种EDA算法变体:多元正态算法估计(EMNA)、连续域单变量边际分布(UMDAc)和协方差矩阵自适应进化策略(CMA - ES)。同时,通过反向翻译进行数据增强来解决数据不平衡问题,并使用准确率(Acc)、宏观F值(Macro F)、平均绝对误差(MAE)和召回率(R)等指标比较不同方法的效果。

2 计算方法

2.1 模型描述

提出基于mT5的Transformer文本分类模型,该模型接收输入的标记序列。mT5是大规模多语言T5模型,输入序列可通过特殊标记表示为单序列或序列对,使用“multilabel classification:”作为任务前缀。模型采用编码器 - 解码器架构,仅使用编码器部分,其输出作为全连接头的输入。

编码器由自注意力层和小型前馈网络组成的块堆叠而成,仅使用编码器可将模型复杂度降低至使用完整架构参数的一半以下。全连接头由64个神经元的密集层和对应分类标签数量的输出层组成,两层均使用双曲正切(tanh)作为激活函数,并在输出端应用Dropout,最后一层应用softmax函数。

模型的最终预测通过条件概率分布的最大标签值确定,公式如下:
- 条件概率分布:
[P(cl|h_{last}, \Theta) = softmax(tanh(W_{2}^{T} tanh(W_{1}^{T} h_{last}))) = \frac{exp(P(cl|h_{last}, \Theta))}{\sum_{c = 1}^{L} exp(P(cl|h_{last}, \Theta))}]
其中,(W_1 \in \mathbb{R}^{|h_{last}| \times K}) 和 (W_2 \in \mathbb{R}^{K \times L}) 分别是第一层和第二层密集层的可训练参数,(K) 是第一层密集层的神经元数量。
- 最终预测:
[\hat{y} x = argmax P(cl|h {last}, \Theta)]

2.2 分布估计算法和超参数

使用三种连续域策略:UMDAc、EMNA和CMA - ES。通过对个体按适应度函数排序并选择最佳个体来估计分布。采用两阶段训练过程:首先使用AdamW方法训练mT5编码器,然后使用EDA优化全连接头。

  • UMDAc :是UMDA的连续域修改版本,每一代通过随机抽样生成新个体:
    [W_{2,\lambda}^{(g + 1)} = \sigma^{(g)} N_{\lambda}(0, 1) + CS_{avg}^{(g)}]
  • EMNA :使用多元正态分布生成新解,需要初始质心向量 (\Omega),每一代个体由下式给出:
    [W_{2,\lambda}^{(g + 1)} = \sigma^{(g)} N_{\lambda}(0, 1) + \Omega^{(g)} + CS_{avg}^{(g)}]
    下一轮迭代中,(\Omega) 更新为:
    [\Omega^{(g + 1)} = \Omega^{(g)} + CS_{avg}^{(g)}]
  • CMA - ES :协方差矩阵 (Cov) 初始化为单位矩阵,固定初始质心 (\Omega) 和初始步长 (\sigma),每一代新个体生成公式为:
    [W_{2,\lambda}^{(g + 1)} = \Omega^{(g)} + \sigma^{(g)}N(0, Cov^{(g)})]
    通过特征值分解 (Cov = BD^{2}B^{T}) 计算 (N(0, Cov^{(g)})):
    [N(0, Cov^{(g)}) = BDN(0, I)]

2.3 数据集

从TripAdvisor收集了2006 - 2022年古巴酒店、别墅、旅社和出租房的西班牙语评论数据,共涉及429个设施,总计17988个示例。数据集包含标题、评论、极性和日期四个字段。数据存在类别分布不平衡问题,按70%训练集和30%测试集划分。相关统计信息如下表所示:
| 统计指标 | 数值 |
| — | — |
| 词汇长度 | 44609个标记 |
| 训练集评论数 | 12591条 |
| 测试集评论数 | 5397条 |
| 标签数量 | 5个 |
| 停用词数量 | 1012405个标记 |
| 标点符号数量 | 237492个标记 |

2.4 预处理和数据增强

  • 预处理 :通过分词进行数据归一化,将文本小写,去除停用词和标点符号,并使用词形还原将单词转换为基本形式以减少噪声。
  • 数据增强 :使用基于Transformer的MarianMT语言模型进行反向翻译,以英语为辅助语言,将评论先翻译成英语再翻译回西班牙语。对于类别1和2的数据进行复制,对类别3和4每类随机无放回选择1200条评论,从而减少数据不平衡。

3 实验结果

3.1 不同预处理技术的AdamW测试集结果

极性预测 预处理方式 准确率(Acc) 平均绝对误差(MAE) 宏观F值(Macro F) 召回率(R)
归一化 0.6472 0.4073 0.5739 0.6472
归一化 + 词形还原 0.6468 0.4137 0.5618 0.6468
归一化 + 数据增强 0.6535 0.4030 0.5981 0.6535
归一化 + 数据增强 + 词形还原 0.6463 0.4065 0.5776 0.6463

由于数据不平衡,MAE作为估计泛化误差的指标。结果表明,数据增强可提高模型性能,而词形还原对学习效果无明显影响。

3.2 EDA优化的极性预测测试集结果

极性预测 算法 准确率(Acc) 平均绝对误差(MAE) 宏观F值(Macro F) 召回率(R)
AdamW 0.6535 0.4030 0.5981 0.6535
AdamW + UMDAc(变体1) 0.6555 0.3965 0.5962 0.6555
AdamW + EMNA(变体2) 0.6593 0.3919 0.6097 0.6593
AdamW + CMA - ES(变体3) 0.6543 0.3956 0.6136 0.6543

实验使用最佳预处理和不平衡处理组合(归一化和数据增强),训练20代,种群大小为20。结果显示,EDA可作为神经网络泛化能力的二级改进方法。

4 结论和进一步工作

提出混合梯度法和EDA的方法微调基于mT5的Transformer进行极性预测。AdamW在第一阶段训练mT5编码器可利用其学习速度快的优势,反向翻译可改善不平衡数据下的模型性能。但词形还原对学习效果无影响,可能影响Transformer学习上下文和语义的方式。通过EDA优化全连接头的最后一层可提高模型的泛化能力。未来需进一步研究克服数据不平衡的其他技术,并通过词典或本体丰富引入额外特征。

整个实验流程可通过以下mermaid流程图表示:

graph LR
    A[数据收集] --> B[数据预处理]
    B --> C[数据增强]
    C --> D[模型训练]
    D --> E[模型评估]
    E --> F[结果分析]
    D1[AdamW训练编码器] --> D
    D2[EDA优化全连接头] --> D

综上所述,本文的研究为古巴旅游评论的极性预测提供了有效的方法和思路,通过合理的模型设计、数据处理和优化算法,提高了模型的性能和泛化能力。但仍有一些问题需要进一步探索和解决,以推动该领域的发展。

3.3 实验结果分析

  • 数据增强的作用 :从实验结果可以清晰地看到,应用数据增强技术对于改善模型的泛化能力起到了积极作用。在处理不平衡数据时,数据增强通过生成额外的样本来平衡不同类别的数据分布,使得模型在训练过程中能够接触到更多样化的数据,从而更好地学习到各类别的特征。例如,在AdamW训练的实验中,使用归一化和数据增强的组合在Acc、Macro F和R等指标上都取得了相对较好的结果,MAE也有所降低,这表明模型在预测时的误差减小,泛化能力得到提升。
  • 词形还原的影响 :实验结果显示,词形还原对模型的学习效果没有明显的积极影响。这可能是因为西班牙语的词形变化较为复杂,将单词还原为基本形式后,可能会破坏Transformer模型通过词序和上下文来学习语义的方式。Transformer模型擅长捕捉单词之间的依赖关系和上下文信息,而词形还原可能会干扰这种学习过程,使得模型难以准确理解文本的含义。
  • EDA的优化效果 :通过将AdamW与不同的EDA算法(UMDAc、EMNA、CMA - ES)相结合,对全连接头的最后一层进行优化,实验结果表明EDA可以作为提高神经网络泛化能力的二级改进方法。在Acc、MAE、Macro F和R等指标上,混合算法的表现都优于单纯使用AdamW的情况。这说明EDA算法能够帮助模型找到更接近全局最优的参数,从而提高模型的预测准确性和泛化能力。

3.4 模型参数分析

考虑到mT5编码器设计,对于一个五类分类问题(极性预测),网络的参数总数达到了146973765个,而全连接头的最后一层仅有325个参数。这种设计充分利用了网络在第一阶段学习到的特征,通过mT5编码器产生的最后隐藏状态,对全连接头的最后一层权重进行细化调整。由于最后一层的参数数量相对较少,使用EDA算法进行优化时可以在较短的时间内找到较好的参数组合,从而提高模型的性能。

5 实验操作步骤总结

5.1 数据收集

使用Python的Selenium和BeautifulSoup4库从TripAdvisor上收集2006 - 2022年古巴酒店、别墅、旅社和出租房的西班牙语评论数据。

5.2 数据预处理

  1. 对数据进行归一化,通过分词将文本转换为标记序列,并将所有标记转换为小写。
  2. 去除停用词和标点符号,减少噪声。
  3. 使用词形还原将单词转换为基本形式。

5.3 数据增强

  1. 使用基于Transformer的MarianMT语言模型进行反向翻译,以英语为辅助语言,将评论先翻译成英语再翻译回西班牙语。
  2. 对于类别1和2的数据进行复制,对类别3和4每类随机无放回选择1200条评论,以平衡数据分布。

5.4 模型训练

  1. 使用AdamW方法训练mT5编码器,通过Grid Search Cross - Validation算法调整学习率(α = 6e - 05),训练3个epoch。
  2. 使用EDA算法(UMDAc、EMNA、CMA - ES)优化全连接头,训练20代,种群大小为20。

5.5 模型评估

使用Acc、MAE、Macro F和R等指标对模型在测试集上的性能进行评估。

5.6 结果分析

比较不同预处理技术和算法组合的实验结果,分析数据增强、词形还原和EDA算法对模型性能的影响。

整个实验操作步骤可以用以下表格总结:
| 步骤 | 操作内容 |
| — | — |
| 数据收集 | 使用Selenium和BeautifulSoup4从TripAdvisor收集数据 |
| 数据预处理 | 归一化、去除停用词和标点、词形还原 |
| 数据增强 | 反向翻译、复制和随机选择数据 |
| 模型训练 | AdamW训练编码器,EDA优化全连接头 |
| 模型评估 | 使用Acc、MAE、Macro F和R评估模型 |
| 结果分析 | 比较不同组合的实验结果 |

6 未来研究方向

  • 克服数据不平衡的其他技术 :虽然反向翻译在一定程度上改善了数据不平衡问题,但仍有必要探索其他更有效的技术。例如,可以研究基于生成对抗网络(GAN)的数据增强方法,通过生成更真实的样本来平衡数据分布。
  • 引入额外特征 :通过词典或本体丰富引入额外的特征,可能会进一步提高模型的性能。例如,可以使用情感词典来提取文本中的情感信息,或者使用本体来表示领域知识,从而为模型提供更多的语义信息。
  • 模型结构的改进 :可以尝试对基于mT5的Transformer模型结构进行改进,例如调整编码器的层数或全连接头的结构,以提高模型的学习能力和泛化能力。

以下是未来研究方向的mermaid流程图:

graph LR
    A[克服数据不平衡] --> B[研究GAN数据增强]
    C[引入额外特征] --> D[使用情感词典]
    C --> E[使用本体]
    F[模型结构改进] --> G[调整编码器层数]
    F --> H[调整全连接头结构]

通过不断地探索和改进,有望进一步提高古巴旅游评论极性预测的准确性和可靠性,为旅游行业的决策提供更有力的支持。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值