计算机系统应用  2021, Vol. 30 Issue (5): 247-252   PDF    
基于逆类别注意力机制的电商文本分类
王维1,2, 胡慧君1,2, 刘茂福1,2     
1. 武汉科技大学 计算机科学与技术学院, 武汉 430065;
2. 智能信息处理与实时工业系统湖北省重点实验室, 武汉 430081
摘要:电商数据所属类别对于分析电商数据有重要意义, 基于人力的分类无法适应如今海量的电商数据, 基于传统算法模型的分类难以提取有价值的人工特征. 本文采用BiLSTM模型并且引入注意力机制, 将其应用于电商数据分类中. 该模型包括Embedding层、BiLSTM层、注意力机制层和输出层. Embedding层加载Word2Vec开源工具训练得到的词向量, BiLSTM层捕捉每个词语的上下文信息, 注意力机制层为每个词语分配权重, 合成新的样本特征. 实验表明, 基于逆类别率的注意力机制在电商数据的分类准确率达到91.93%, 与不加注意力机制的BiLSTM模型和其他引入的注意力机制相比, 均有不同程度的提高. 此模型电商数据分类中有良好的效果, 为注意力机制的引入提供了新的思考方向.
关键词: 电商数据    文本分类    Word2Vec    BiLSTM模型    注意力机制    
E-Commerce Text Classification Based on Reverse Category Attention Mechanism
WANG Wei1,2, HU Hui-Jun1,2, LIU Mao-Fu1,2     
1. School of Computer Science and Technology, Wuhan University of Science and Technology, Wuhan 430065, China;
2. Key Laboratory of Intelligent Information Processing and Real-Time Industrial System of Hubei Province, Wuhan 430081, China
Foundation item: Innovation Training Program for Students of Wuhan University of Science and Technology (18ZRA078); Major Program of National Social Science Foundation of China (11&ZD189)
Abstract: The category of e-commerce data is of great significance for its analysis. The classification based on human resources cannot adapt to the massive e-commerce data nowadays, and the classification based on traditional algorithm models can hardly extract valuable artificial features. In this study, the BiLSTM model integrated with an attention mechanism is introduced to classify e-commerce data. The model includes embedding layer, BiLTM layer, attention mechanism layer, and output layer. The embedding layer loads the word vector trained by Word2Vec; the BiLSTM layer captures the context of each word; the attention mechanism layer allocates weights for each word to synthesize new sample features. The experimental results show that the classification accuracy of the attention mechanism based on the inverse class frequency reaches 91.93%, which is improved compared with the BiLSTM model without the attention mechanism and other attention mechanisms introduced. This model has a good effect in the classification of e-commerce data and points out a new thinking direction for the introduction of attention mechanisms.
Key words: e-commerce data     text classification     Word2Vec     BiLSTM     attention    

 

随着电子商务的快速发展, 电商数据呈指数式增长. 这些数据承载了各类消费群体的信息, 成为了极有价值的资产, 应用大数据正逐渐成为商业竞争的关键. 大数据的发展, 为企业带来了新的生产革命, 带来了一系列的机遇. 基于互联网实现电子商务数据收集, 大数据分析促进了企业客户服务的差异化, 强化了市场营销的针对性, 增强了电子商务企业竞争力. 而对电商数据的文本分类, 是进行一切数据分析的基础.

依靠人力对电商数据进行分类, 无法适应如今海量的电商数据且成本过高. 传统机器学习难以捕捉有用的人工特征, 深度学习可以自动提取特征. 近年来, 随着深度学习的快速发展, 深度学习在自然语言处理领域取得了良好的效果. 采用深度学习模型如卷积神经网络(Convolutional Neural Networks, CNN)[1]、循环神经网络(Recurrent Neural Network, RNN)[2]以及长短期记忆神经网络(Long Short-Term Memory, LSTM)[3]等进行文本分类, 都取得了比传统机器学习模型更好的结果.

文献[4]中, 作者使用深度学习模型对新闻文本进行分类. 采用的模型包括BPNN模型, BiLSTM模型, TextCNN模型和BiLSTM+TextCNN模型, 除了BPNN模型之外, 其他模型的F1值均超过0.9, 取得了较好的分类效果[4]. 这些模型取得的分类成果, 足以说明将深度学习模型应用于文本分类, 是一个不错的选择.

Attention机制模拟人类注意力机制, 对信息中的关键部分进行着重关注, 最早在计算机视觉领域被提出. 2014年, Google Mind团队发表的论文《Recurrent Models of Visual Attention》真正让Attention机制大火. 作者在RNN模型中引入Attention机制进行图像分类, 取得了良好的分类效果[5]. 2015年, Bahdanau等在文献《Neural Machine Translation by Jointly Learning to Align and Translate》中将Attention机制引入机器翻译中, 这是Attention机制首次在NLP任务中应用[6]. 随后, Attention机制被广泛应用于NLP的各个领域. 文献[7]中, 作者在BiLSTM模型中引入Attention机制对招聘信息进行分类, 分类准确率达到93.36%, 与其他没有引入Attention机制的模型相比, 提高约2%[7]. 可见, 注意力机制在文本分类中有良好的作用[8].

本文主要针对电商数据的文本分类, 分类过程中对上下文有较强依赖, 同时, 某些关键词对分类结果也有较强影响. BiLSTM模型在对词语进行编码时, 可以充分考虑上下文信息. $\mathit{T}\mathit{f}-\mathit{i}\mathit{d}\mathit{f}$ 值则可以衡量一个词语对一个文档的重要性, 但忽略了文档的类别信息[9,10]. 本文由逆文档率 $ \mathit{i}\mathit{d}\mathit{f} $ 的概念提出逆类别率 $ \mathit{i}\mathit{c}\mathit{f} $ , 评估一个词语对一个类别的重要性, 并以此引入注意力机制. 将此模型的实验结果与未引入注意力机制的模型和以其他方式引入注意力机制的模型的实验结果进行对比, 验证基于逆类别率的注意力机制在电商文本分类中的有效性.

1 数据处理 1.1 文本预处理

本文的数据来源于第9届中国大学生服务外包创新创业大赛中企业方提供的真实的电商数据, 从全部数据集中取部分样本, 数量为156788. 一共有24个类别, 且每个类别的样本数量分布不均衡. 为了确保模型能够充分学习到每个类别的特征, 本文采用分层抽样的方法, 将数据集划分为训练集和测试集, 样本比例为7:3, 划分后的数据集如图1所示. 对数据集使用jieba中文分词工具进行分词处理, 接着对分词结果进行停用词过滤, 停用词表为哈工大停用词表.

图 1 样本数量分布

1.2 生成词向量

使用Word2Vec开源工具的CBOW模型训练词向量, 可以充分考虑到每个词语的上下文信息, 训练得到的词向量维度为64. 下文中提到的所有深度学习模型都将使用Word2Vec训练得到的词向量.

2 模型描述与实现 2.1 BiLSTM模型

双向长短期记忆网络(Bi-directional Long Short-Term Memory, BiLSTM)是一种时序循环神经网络, 是由前向长短期记忆网络(Long Short-Term Memory, LSTM)和反向长短期记忆网络(Long Short-Term Memory, LSTM)组成. LSTM的提出是为了解决循环神经网络(Recurrent Neural Network, RNN)在长距离训练过程中存在的梯度消失和梯度爆炸问题, 因此LSTM在结构设计中引入了门控机制, 包含3种门: 遗忘门、输入门、输出门. 遗忘门决定上一时刻的细胞状态有多少信息需要被遗忘, 输入门决定当前时刻的输入中有多少信息需要被添加, 输出门决定当前的细胞状态有多少信息需要被输出. 通过这3种门控机制可以很容易解决RNN在长距离训练中存在的梯度消失和梯度爆炸的问题.

LSTM模型的第1步是通过遗忘门来计算 $ {f}_{t} $ , 决定上一时刻的细胞状态 $ {C}_{t-1} $ 中哪些信息需要被遗忘. 具体实现方式是, 将 $ {h}_{t-1} $ $ {x}_{t} $ 连接, 再通过遗忘门的权重矩阵 $ {W}_{f} $ , 最后再经过Sigmoid激活函数 $ \sigma $ , 得到一个0–1的值, 值越小, 表示上一时刻的细胞状态 $ {C}_{t-1} $ 中需要遗忘的信息越多.

$ {f}_{t}=\sigma \left( {{W}_{f}\cdot \left[{h}_{t-1},{x}_{t}\right]+{b}_{f}} \right) $ (1)

第2步生成新的细胞状态 $ {C}_{t} $ . 首先, 与遗忘门的操作类似, 将 $ {h}_{t-1} $ $ {x}_{t} $ 连接, 再通过输入门的权重矩阵 $ {W}_{i} $ , 最后再经过Sigmoid激活函数 $ \sigma $ , 求得 $ {i}_{t} $ 来决定更新哪些信息. 然后, 将 $ {h}_{t-1} $ $ {x}_{t} $ 连接, 再通过权重矩阵 $ {W_C} $ , 最后经过tanh激活函数, 得到新的细胞候选状态 $ {\tilde C}_{t} $ . 最后, 使用上一时刻的细胞状态 $ {C}_{t-1} $ 和新的细胞候选状态 $ {\tilde C}_{t} $ 来生成新的细胞状态 $ {C}_{t} $ .

$ {i}_{t}=\sigma \left( {{W}_{i}\cdot \left[{h}_{t-1},{x}_{t}\right]+{b}_{i}} \right) $ (2)
$ {\tilde C}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left( {{W}_{C}\cdot \left[{h}_{t-1},{x}_{t}\right]+{b}_{C}} \right) $ (3)
$ {C}_{t}={f}_{t}*{C}_{t-1}+{i}_{t}*{\tilde C}_{t} $ (4)

第3步决定细胞状态中哪些信息需要被输出. 首先, 将 $ {h}_{t-1} $ $ {x}_{t} $ 连接, 再通过输出门的权重矩阵 $ {W}_{o} $ , 最后再经过Sigmoid激活函数 $ \sigma $ , 得到输出门的判断条件 $ {o}_{t} $ . 最后, 将细胞状态 $ {C}_{t} $ 经过tanh层将数值规范化, 再与输出门的判断条件 $ {o}_{t} $ 相乘, 得到当前时刻的输出.

$ {o}_{t}=\sigma \left( {{W}_{t}\cdot \left[{h}_{t-1},{x}_{t}\right]+{b}_{o}} \right) $ (5)
$ {h}_{t}={o}_{t}*\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({C}_{t}\right) $ (6)

以上, 就是LSTM模型的一次流程, LSTM可以编码句子中从前到后的信息, 但是无法编码从后到前的信息. 本文采用的BiLSTM模型由前向LSTM模型和后向LSTM模型构成, 因此, 既能编码从前到后的信息同时又能编码从后到前的信息, 可以更好的捕捉双向的语义依赖.

本文使用PyTorch实现BiLSTM模型, 模型结构如图2. 其中 $ {x}_{i} $ 表示文本中第i个词语对应的词向量, 由Word2Vec训练得到. 经过BiLSTM模型后, 取最后一个词语的两个隐藏层状态进行拼接得到向量h, 再将向量h经过Softmax层求得样本属于每一个类别的概率.

图 2 BiLSTM模型结构图

2.2 注意力机制

近年来注意力机制被广泛应用于深度学习的各个领域, 都取得了良好的效果. 其模拟人脑中的注意力分配机制, 对信息中比较关键的部分进行着重关注. 本文以3种方案对BiLSTM模型添加注意力机制.

方案一. 按照文献[7]中的方式为BiLSTM添加注意力机制, 此模型为BiLSTM+Attention1模型. 计算过程如下:

$ {u}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}({W}_{u}\cdot {H}_{t}+{b}_{u}) $ (7)
$ {a_t} = \frac{{{\rm{exp}}\left( {u_t^{\rm{T}}{u_w}} \right)}}{{\displaystyle\sum\nolimits_j {\rm{e}} {\rm{xp}}\left( {u_j^{\rm{T}}{u_w}} \right)}} $ (8)

其中, $ {H}_{t} $ t时刻, 前向LSTM和后向LSTM的隐藏层状态的拼接而成. $ {W}_{u} $ , $ {b}_{u} $ 以及 $ {u}_{w} $ 是模型需要学习的参数. $ {a}_{t} $ 为计算得到的权重值, 表示t时刻的隐藏层状态对文本分类的贡献程度.

方案二. $ tf-idf $ 值可以衡量一个词语对一个文档的重要性, 计算文档中每个词语 $ tf-idf $ 值, 将计算得到的 $ tf-idf $ 值经过Softmax函数得到一个文档中每个词语的权重, 以此来添加注意力机制, 此模型为BiLSTM+Attention2模型. 计算过程如下:

$ {tf}_{i}={\text{词语}}i{\text{在文档中出现的次数}} $ (9)
$ {idf}_{i}=\mathrm{l}\mathrm{o}\mathrm{g}\left(\frac{1+{\text{文档总数}}}{1+{\text{包含词语}}i{\text{的文档个数}}}\right)+1 $ (10)
$ {tf-idf}_{i}={tf}_{i}*{idf}_{i} $ (11)
$ {a}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({tf-idf}_{i}\right)}{\displaystyle\sum\nolimits_j{{\rm{e}}}\mathrm{x}\mathrm{p}\left({tf-idf}_{j}\right)} $ (12)

方案三. $Tf-idf$ 值可以衡量一个词语对一个文档的重要性, 但是忽略了一个词语对于一类文档的重要性. 因此, 在方案二的基础上, 提出逆类别率 $ icf $ 的概念, 用来衡量一个词语对一类文本的重要性, 再经过Softmax函数计算一个文档中每个词语的权重, 并以此来添加注意力机制, 此模型为BiLSTM+Attention3模型. 计算过程如下:

$ \begin{split} {icf}_{i}=&{w}_{1}*\frac{1+{\text{类别总数}}}{1+{\text{包含词语}}i{\text{的类别个数}}}\\ &+{w}_{2}*\mathrm{l}\mathrm{o}\mathrm{g}\left(\frac{1+{\text{类别总数}}}{1+{\text{包含词语}}i{\text{的类别个数}}}\right) \end{split} $ (13)
$ {a}_{i}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left({icf}_{i}\right)}{\displaystyle\sum\nolimits_j{{\rm{e}}}\mathrm{x}\mathrm{p}\left({icf}_{j}\right)} $ (14)

其中, $ {w}_{1} $ $ {w}_{2} $ 为模型参数, 本文中, 将 $ {w}_{1} $ 值设为0.001, $ {w}_{2} $ 的值设为1.2时, 模型的分类效果最优.

3 实验结果与分析 3.1 实验结果

本文共有4组对照实验, 训练次数均为15次, 学习率为0.001. 模型分别为BiLSTM模型, BiLSTM+Attention1模型, BiLSTM+Attention2模型, BiLSTM+Attention3模型, 实验结果分别见表1表4. 精确率(Precision), 召回率(Recall), F1值(F1-score)的加权平均值对比如图3所示. 加权平均值可以很好的反映模型在测试集上的分类效果. 4个模型在每个类别上的预测准确率如图4所示.

表 4 BiLSTM+Attention3分类结果

4类模型分类的准确率均超过90%. BiLSTM+Attention2模型和BiLSTM+Attention3模型均比BiLSTM模型的分类效果更好, BiLSTM+Attention1模型的分类效果最差. BiLSTM+Attention3模型在Precision, Recall以及F1-score值上均是最大的, 是4类模型中最优的, 但分类准确率的提升并不大.

表 1 BiLSTM分类结果

表 2 BiLSTM+Attention1分类结果

表 3 BiLSTM+Attention2分类结果

图 3 4种方法分类效果对比

3.2 原因分析

取潮流女包类和奢侈品类各5条数据进行比较, 如表5所示. 两个类别样本的相关性比较高, 甚至存在包含关系, 如: 潮流女包属于奢侈品. 类似关系的还有: 童书与中小学教辅, 男装与户外鞋服, 茶具/咖啡具与水具酒具, 内衣与妈妈专区等. Attention机制为文本中的关键词分配更多的权重, 当文本比较相近时, Attention机制起到的效果会有折扣.

表 5 类别数据对比

4 结论与展望

逆类别率 $ \mathit{i}\mathit{c}\mathit{f} $ 可以评估一个词语对一个类别的重要性, 基于逆类别率 $\mathit{i}\mathit{c}\mathit{f} $ 引入注意力机制的BiLSTM+Attention3模型, 在4类模型中分类效果最好, F1值最大, 在电商数据分类问题上表现相对最好. 但文章仍然存在不足, 逆类别率 $ \mathit{i}\mathit{c}\mathit{f} $ 并没有考虑词语的位置信息, 词语的位置信息对于文档的语义有一定影响, 将在后续的研究中不断完善.

图 4 4类模型在24个类别上的预测准确率

参考文献
[1]
Gu JX, Wang ZH, Kuen J, et al. Recent advances in convolutional neural networks. Pattern Recognition, 2018, 77: 354-377. DOI:10.1016/j.patcog.2017.10.013
[2]
Chien JT, Lu TW. Deep recurrent regularization neural network for speech recognition. 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). South Brisbane, QLD, Australia. 2015. 4560–4564.
[3]
Staudemeyer RC, Morris ER. Understanding LSTM — a tutorial into long short-term memory recurrent neural networks. arXiv: 1909.09586, 2019.
[4]
涂文博, 袁贞明, 俞凯. 针对文本分类的神经网络模型. 计算机系统应用, 2019, 28(7): 145-150. DOI:10.15888/j.cnki.csa.006972
[5]
Mnih V, Heess N, Graves A, et al. Recurrent models of visual attention. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal, BC, Canada. 2014. 2204–2212.
[6]
Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate. arXiv: 1409.0473, 2014.
[7]
吕飞亚, 张英俊, 潘理虎. 注意力机制的BiLSTM模型在招聘信息分类中的应用. 计算机系统应用, 2020, 29(4): 242-247. DOI:10.15888/j.cnki.csa.007364
[8]
Wu TH, Hsieh CC, Chen YH, et al. Hand-crafted attention is all you need? A study of attention on self-supervised audio transformer. arXiv: 2006.05174v1, 2020.
[9]
胡万亭, 贾真. 基于加权词向量和卷积神经网络的新闻文本分类. 计算机系统应用, 2020, 29(5): 275-279. DOI:10.15888/j.cnki.csa.007391
[10]
牛雪莹, 赵恩莹. 基于Word2Vec的微博文本分类研究. 计算机系统应用, 2019, 28(8): 256-261. DOI:10.15888/j.cnki.csa.007030