2. 北京工商大学 农产品质量安全追溯技术及应用国家工程实验室, 北京 100048
2. National Engineering Laboratory for Agri-product Quality Traceability, Beijing Technology and Business University, Beijing 100048, China
为了规范化妆品生产经营活动,加强对化妆品市场的监督管理工作,使得化妆品质量和消费者健康都能得到有效保障,促进化妆品产业的健康蓬勃发展,化妆品安全监管部门在日常工作中会采取预防、保护、监管等一系列保障措施,防止化妆品相关安全事故发生,保障人民群众的安全与权益。根据近几年国家化妆品监督抽检结果发现,染发类化妆品不合格率偏高,这为化妆品安全监管带来了新的难题和挑战。为进一步保障公众用妆安全,加强化妆品安全风险评估,化妆品安全监管亟需对违法违规行为进行自动识别及分类。因此,研究利用智能化手段辅助相关监管部门监督管理化妆品市场,以确保化妆品安全得到有效监管具有重大意义。本研究建立了针对化妆品安全领域的文本语义分类模型,能够有效提高监管部门监管效率及质量。
文本分类是自然语言处理(natural language processing, NLP)的一个重要且实用的研究方向。在深度学习兴起之前,传统机器学习方法被应用在文本分类领域,如朴素贝叶斯模型[1]与SVM (support vector machines) 模型[2]。然而传统机器学习模型依赖人工语料标注,不仅耗费大量人力物力,而且文本特征提取结果也不尽如人意。
近年来随着深度学习、云计算、人工智能等技术的发展,深度神经网络在各个领域实现应用并取得了较好的成果[3-5]。在NLP领域,基于大规模语料的情况下,多层次的网络模型实现了自动挖掘文本特征信息,深度神经网络成为了NLP领域的关键技术之一,其在文本语义分类任务中也取得了良好的效果。
针对文本语义分类问题,目前深度神经网络表现出更好的分类性能[6],因此本文采用基于深度神经网络的方法构建分类模型。
1 相关工作深度学习方法通过数据来自动学习文本特征,替代了传统人工选取特征的过程,将特征选取转化为通用的学习过程,避免了传统人工选取特征存在的主观性和偶然性。Kim[7]提出将卷积神经网络应用于文本分类任务,降低了文本特征提取的难度,提升了分类精度,但 CNN仅能学习文本的局部特征,无法考虑词的上下文含义。Mikolov等[8]将文本分类应用于循环神经网络(recurrent neural network,RNN),其实验证明了RNN网络能够在文本分类中取得良好的分类效果,并且表现出充分学习文本上下文信息的能力;Socher等[9-10]分别在2012年和2013年发表了他们在RNN方面开展的相关工作,从词开始通过树形结构逐步合成各短语,乃至整句语义,该方法被证实在构建句子级语义时较为有效。但随着输入的增多,RNN存在梯度消失和梯度爆炸问题。Hochreiter等[11]利用门机制克服传统RNN模型缺点,建立长短时记忆网络(long short-term memory, LSTM)模型;Liu等[12]将LSTM应用到文本分类中;Alkhodair等[13]训练了一个LSTM模型,对谣言文本进行分类。
值得注意的是,近年来注意力机制在NLP领域取得了广泛的应用。Bahdanau等[14]做出了最早的尝试,将attention机制与RNN结合应用于机器翻译任务;Yin等[15]介绍了CNN和attention的3种结合方式;Zhou等[16]将attention机制与双向长短时记忆网络(bidirectional long short-term memory, BLSTM)结合应用在文本分类中,以获取句子中最重要的语义信息,然而对于内部位置语义等重要信息仍然没有进行很好的学习和处理。
此外,在文本语义分类中,关于字符级和词语级两种嵌入粒度是否对分类效果有影响,不少研究者对此进行了研究。目前,常见的词语级别文本表示方法有布尔模型(Boolean model)、向量空间模型(vector space model,VSM)[17]、嵌入向量模型。嵌入向量模型的目的是将高维词向量嵌入到低维空间,降低文本特征的稀疏性,减少训练资源浪费,并且能够考虑词的上下文信息来进行计算。常用的嵌入向量模型主要有Word2vec模型[18]和Glove模型[19]。Kim等[20]提出了一种通过字符级CNN提取文本语义信息的模型,刘龙飞等[21]证明了字符级特征表示在中文文本处理中的优越性。
本文针对化妆品安全监管领域,建立了一种基于融合位置感知注意力机制的BLSTM网络与CNN网络的字词双维度语义分类模型,使用中文字向量和词向量分别作为双路模型的输入,采用CNN模型训练字向量,在引入位置注意力机制的BLSTM网络模型中训练词向量,最后结合双路网络的特征提取结果对文本进行分类。该模型充分利用BLSTM 的特性,从词向量级别挖掘化妆品抽样检查建议(下文称检查建议)文本的语义特征,并结合使用位置注意力机制进行Attention Value的计算,使化妆品安全领域的领域词汇在整个检查建议的语义表达中能够起到决定性作用。同时,CNN网络能够从字向量级别对文本语义进行进一步挖掘,避免了由于文本语义特征提取不全面而损失文本分类精度的情况发生,有效提高了文本语义分类效果。
2 字词双维度识别模型为进一步提高文本语义分类准确性,本文提出一种字词双维度模型,能够从字、词级别提取检查建议中提到的违法违规行为语义特征,进一步丰富文本重要语义特征输入,结合两种级别的特征向量,得到最终的分类结果。CNN-BLSTM模型结构如图1所示。
Download:
|
|
模型在化妆品安全检查建议语料的字和词维度上使用字嵌入和词嵌入,分别生成字向量和词向量,其中字向量作为CNN网络输入,词向量作为BLSTM网络输入。
在图1中,其左半部分为CNN网络模型。字向量通过输入层输入,经由CNN网络的卷积层、池化层和全连接层计算,最后得到字符级别文本特征表示。在图1的右半部分网络模型中,首先模型通过结合领域词库判断领域关键词语义角色和位置,生成基于位置感知的注意力。经过词嵌入生成词向量输入BLSTM模型,将词向量参与中间隐藏层的计算,之后模型输出隐藏层向量并在注意力机制的影响下得到文本语义特征。在得到字词双维度文本特征输出后,将两路输出通过连接层进行连接,最后通过SoftMax层进行分类,得到最终分类结果。
2.1 文本向量化1)语料存在问题
化妆品违法违规行为检查建议语料存在因人为填写而不可避免地产生口语化及表达差异化问题,属于非结构化、非标准化语料。且检查建议中包括化妆品安全领域专业词汇、化妆品安全相关法律法规名称等,具有较强的领域性。语料结构性弱、领域性强,因此向量化难度较大。
2)语料处理思路
针对语料结构性弱问题,本文采用两种不同的向量作为输入,其中一个输入通过获取文本字符级别向量,能够有效避免因为非结构化、非标准化带来的文本语料特征提取困难。再结合词向量级别特征提取,避免重要文本语义特征丢失,丰富文本语义特征表示。在生成字向量前,需要将数据集中所有字符进行提取,构成字符库,并按照字符出现频率进行排序,以便下一步字向量的生成。
针对语料领域性强问题,本文首先进了语料扩充,即在一个公共语料库的基础上,增加化妆品领域相关的百度百科语料,并网络爬虫得到领域词汇、新闻等语料,训练词向量模型。在每隔一段时间积累了一定的检察建议语料时,利用增量训练的方式更新词向量模型,使其能适应最新语料的语义关系,及时更新词汇的向量表示,得到更好的文本向量,提高文本向量化水平,为算法的性能提升打下基础。
3)语料向量化
将检查建议文本分别按词语级别和字符级别进行分词处理后,需要进一步将其向量化表示以作为神经网络输入,用于后续训练分类模型。本研究使用word2vec进行文本向量化,提取文本语义特征。
2.2 CNN-PA-BLSTM模型阐述 2.2.1 CNN网络卷积神经网络作为一个多层前馈神经网络,通常在全连接层前面包含卷积层和池化层,卷积层和池化层的个数可能是一个或多个。每个卷积层由一组神经元组成,每个神经元都可学习权重和偏差,卷积运算旨在提取输入的不同特征,多层的网络能够从大量样本中通过提取、迭代特征,自动学习获得复杂、高维、非线性映射的文本特征。
1)输入层
在文本分类任务中,将文本进行向量化,作为CNN模型的输入。
2)卷积层
卷积层是由一系列卷积单元(也称卷积核,filter)组成,通过反向传播算法训练得到每个卷积单元的参数。卷积层能够提取输入的不同局部特征,原因是每个神经元的输入并非与前一层全连接,而是与其局部接收域相连,因此提取到的是该局部的特征。针对化妆品检查建议数据集特点,本文共设置了几种不同尺寸的卷积核,并且确定了适合的滑动步长(stride),以保证提取出的语义特征更全面。另外,为避免特征矩阵中间区域与边缘区域提取次数不同的问题,本研究采取在边缘区域填充空值的操作来避免边缘区域特征提取少,还能够使得卷积输出与输入维度一致,提高程序可维护性和泛化性。
假设卷积层输入维度
$ {{{W}}_{{\rm{out}}}}{{ = }}{l_{{\rm{out}}}} \times d_{{\rm{out}}} $ | (1) |
$ {{l}}_{{\rm{out}}}{\rm{ = }}\frac{{{l}}_{{\rm{in}}} - {f }+2{\rm{P}}}{S} + 1 $ | (2) |
$ {{{d}}_{{\rm{out}}}}{\rm{ = }}\frac{{{{d}}_{{\rm{in}}} - {{f}} + 2{\rm{P}}}}{{{{S}}}} + 1 $ | (3) |
由式(1)~(3)可知,
3)池化层
卷积层输出的特征维度通常较高,会造成较大运算压力,解决这一问题的方法是通过池化层对卷积层输出进行特征压缩。本文选择使用最大池化作为池化方式,最大池化即在过滤器滑动到一个区域时,选择使用区域内最大值作为该区域表示。过滤器大小为2×2,滑动步长设置为2。原特征矩阵经过最大池化处理后被压缩为原来大小的四分之一,因此池化操作能够在尽可能保持最显著特征的前提下有效提高计算效率。
4)全连接层
全连接层接收经过卷积和池化操作后得到的一系列局部特征,将其通过权值矩阵重新整合成为完整的特征信息。
2.2.2 BLSTM网络LSTM使用输入门、遗忘门和输出门机制,解决了传统RNN模型在输入序列信息过长时产生的梯度消失和梯度爆炸问题,图2给出了LSTM的一个神经元结构。
Download:
|
|
忽略其内部细节,每个神经元都有3个输入与3个输出,
$ {i_t} = \sigma \left( {{W_i}\left[ {{h_{t - 1}};{W_t}} \right] + {b_i}} \right) $ | (4) |
$ {f_t} = \sigma \left( {{W_f}\left[ {{h_{t - 1}};{W_t}} \right] + {b_f}} \right) $ | (5) |
$ {o_t} = \sigma \left( {{W_o}\left[ {{h_{t - 1}};{W_t}} \right] + {b_o}} \right) $ | (6) |
$ {g_t} = \tanh \left( {{W_c}\left[ {{h_{t - 1}};{W_t}} \right] + {b_c}} \right) $ | (7) |
$ {c_i} = {i_t} \odot {g_t} + {f_t} \odot {c_{t - 1}} $ | (8) |
$ {h_t} = {o_t} \odot \tanh \left( {{c_t}} \right) $ | (9) |
式中:
BLSTM本质上是由前向LSTM与后向LSTM组合而成,通过两层相反方向的数据流对数据进行处理,从而对文本历史信息和未来信息进行兼顾。BLSTM结构如图3所示。它的两个并行神经元分别从前向和后向两个方向处理输入序列信息,最终将两层输出进行拼接,作为BLSTM隐藏层的输出。
Download:
|
|
前向传播隐藏层计算公式为
$ {{\boldsymbol{h}}_{ft}} = \sigma ({{\boldsymbol{W}}_1}{{\boldsymbol{x}}_t} + {{\boldsymbol{W}}_2}{{\boldsymbol{h}}_{f\left( {t - {\text{1}}} \right)}} + {{\boldsymbol{b}}_f}) $ | (10) |
后向传播隐藏层计算公式为
$ {{\boldsymbol{h}}_{bt}} = \sigma ({{\boldsymbol{W}}_1}{{\boldsymbol{x}}_t} + {{\boldsymbol{W}}_2}{{\boldsymbol{h}}_{b\left( {t - {\text{1}}} \right)}} + {{\boldsymbol{b}}_b}) $ | (11) |
两层输出合并得到输出 ,可表示为
$ {{\boldsymbol{y}}_t} = {{\boldsymbol{W}}_3}{{\boldsymbol{h}}_{ft}} + {{\boldsymbol{W}}_3}{{\boldsymbol{h}}_{bt}} + {{\boldsymbol{b}}_y} $ | (12) |
式中:
为了突出领域关键词在句中的作用,本文将位置注意力机制引入BLSTM网络中,对其输出进行微调。
2.2.3 attention机制注意力机制最早应用在视觉图像领域,用来模拟人类视觉聚焦,在重要信息点加注更多注意力,而相对忽略不重要信息的机制。随着深度学习的发展,自然语言处理领域也越来越多地进行了基于注意力机制的网络模型应用实现。
在文本分类任务中,最终分类结果会受到文本中的每个词所带来的不同影响,而对关键词加大关注力度能够在文本语义表示上更充分发挥关键词作用。同时,上下文信息能够在一定程度上增强字词的语义表示。因此,针对本文中化妆品抽样检查建议的语义分类问题,应考虑到化妆品安全领域关键词及其临近词对于文本语义表示有着不可忽视的作用。因此本文根据领域词库定位关键词位置,让模型学习到更多的位置信息,在模型中引入基于位置的注意力机制,具体结构图4。
Download:
|
|
本文假设领域关键词的影响力在隐层维度特定距离上是遵循高斯分布的。首先,定义影响的基础矩阵为
$ {\boldsymbol{K}}\left( {i,u} \right) \sim N\left( {{{G}}\left( u \right),\sigma } \right) $ | (13) |
式中:
$ {{G}}\left( u \right) = \exp \left(\frac{{ - {u^2}}}{{2{\sigma ^2}}}\right) $ | (14) |
当
计算某位置上的词语的位置感知影响力向量,需要结合所有关键词的累积影响,并利用影响力基础矩阵K,得到特定位置下关键词的影响力向量:
$ {{\boldsymbol{p}}_j} = {\boldsymbol{K}}{{\boldsymbol{c}}_j} $ | (15) |
式中:
$ {{\boldsymbol{C}}}_{j}\left(u\right)={\displaystyle\sum_{q\in Q}}\left[\begin{array}{l}\left(j-u\right)\in {\rm{pos}}(w)+ \left(j+u\right)\in {\rm{pos}}(w)\end{array}\right] $ | (16) |
式中:
对于化妆品在检查建议中词语处于
$ {{\boldsymbol{a}}_j} = \dfrac{{{\text{exp}}\left( {y\left( {{{\boldsymbol{h}}_j},{{\boldsymbol{p}}_j}} \right)} \right)}}{{\mathop {\displaystyle\sum_{k = 1}^{{\text{len}}}} {\text{exp}}\left( {y\left( {{{\boldsymbol{h}}_k},{{\boldsymbol{p}}_k}} \right)} \right)}} $ | (17) |
式中:
$ {\boldsymbol{a}}\left( {i,m} \right) = {{\boldsymbol{v}}^{\rm{T}} } \text{Ø} \left( {{{\boldsymbol{W}}_H}{{\boldsymbol{h}}_j} + {{\boldsymbol{W}}_p}{{\boldsymbol{p}}_j} + {{\boldsymbol{b}}_1}} \right) + {{\boldsymbol{b}}_2} $ | (18) |
式中:
$ {{\boldsymbol{r}}_a} = \mathop \sum \limits_{j = 1}^{{l_{{\rm{en}}}}} {{\boldsymbol{a}}_j}{{\boldsymbol{h}}_j} $ | (19) |
语料经CNN与BLSTM双路神经网络处理输出后,在连接层合并文本特征信息,然后输入分类器进行分类。本文选择使用SoftMax作为损失函数,输出分类结果。此外,本文设置一定概率的Dropout来避免过拟合问题的发生,即在模型训练过程中对隐含层的部分权重或输出进行随机归零操作,从而使得各节点间的相互依赖程度降低,提高模型泛化性。
3 实验结果及分析 3.1 实验准备本文数据集来自化妆品监管部门针对化妆品安全相关违法违规行为的抽样数据集,为监管部门每次对化妆品售卖商家实行监管检查后,根据检查结果所填写的违法违规行为及改正建议。抽样检测数据集共包含10 000条数据,主要分为无问题、功效问题、与产品描述不一致、不良反应、味道不好、不是正品、包装问题、物流问题、价格问题、容量不合理十大类检查建议,结果由5折交叉验证得到。
将数据集按照8∶2的比例划分为训练集和测试集用于模型的训练及验证。对于实验使用的相关指标部分,本文采用了准确率、召回率和F1值作为实验结果的评判标准。
准确率计算公式为
$ P = \frac{{\rm{TP}}}{{{\rm{TP + FP}}}} $ | (20) |
召回率的计算公式为
$ R = \frac{{\rm{TP}}}{{\rm{TP + FN}}} $ | (21) |
式中:
因为准确率和召回率往往在其中一个取得较高值时,另一个就会相对较低,即当P高时R往往相对较低,当R高时P往往相对较低。所以为了更均衡地对模型的综合性能进行评价,一般使用F1-Score(F1分数)作为评价标准:
$ {F}_ 1 = \frac{{2 P R}}{{P + R}} $ | (22) |
在实验的参数设置方面,CNN使用的是12层768维的隐藏层,BLSTM模型使用128维的隐层维度。
3.2 实验结果分析表1的实验结果显示,在化妆品安全抽样检测语料中,常规的CNN网络模型的精确度表现良好,但是在召回率上表现稍次,因此本文在CNN的基础上,对CNN模型引入了注意力机制,其精确度、召回率和F1都得到了一定的提升。由第3个模型和第1个模型实验结果对比可以看出,对于句子整体的语义而言,CNN模型对比BLSTM模型来说学习机制依然有所欠缺。并且在BLSTM中加入注意力机制后,其精确度、召回率和F1值都得到了较大程度的提升。在一系列的实验中,本文提出的CNN-BLSTM模型在精确度、召回率和F1值都取得了最优表现,且与前几种常用模型相比,实验结果提升非常明显。
本文根据化妆品安全监管部门的现实需要,提出了面向化妆品安全的字词双维度违法违规行为语义分类模型。模型使用字、词两个嵌入级别的特征表示,并结合位置感知注意力机制,以实现自动判别抽样检测数据中的违法违规行为。实验表明,本文模型表现出了良好的特征提取和分类性能,相较于实验中几种常用的神经网络模型取得了更好的结果。
未来的工作将继续优化网络结构、寻找更优的参数设置和提升模型训练效率,以期实现对现有模型的进一步优化与改进。
[1] | RASCHKA S. Naive Bayes and text classification i-introduction and theory [EB/OL]. (2014-02-14) [2021-05-01]https://arxiv.org/abs/1410.5329. (0) |
[2] | JOACHIMS T. Text categorization with support vector machines: learning with many relevant features[M]//NÉDELLEC C, ROUVEIROL C. Machine Learning: ECML-98. Berlin: Springer, 1998: 137−142. (0) |
[3] |
毛明毅, 吴晨, 钟义信, 等. 加入自注意力机制的BERT命名实体识别模型[J]. 智能系统学报, 2020, 15(4): 772-779. MAO Mingyi, WU Chen, ZHONG Yixin, et al. BERT named entity recognition model with self-attention mechanism[J]. CAAI transactions on intelligent systems, 2020, 15(4): 772-779. (0) |
[4] |
王一成, 万福成, 马宁. 融合多层次特征的中文语义角色标注[J]. 智能系统学报, 2020, 15(1): 107-113. WANG Yicheng, WAN Fucheng, MA Ning. Chinese semantic role labeling with multi-level linguistic features[J]. CAAI transactions on intelligent systems, 2020, 15(1): 107-113. (0) |
[5] | ZHAO Rui, YAN Ruqiang, CHEN Zhenghua, et al. Deep learning and its applications to machine health monitoring[J]. Mechanical systems and signal processing, 2019, 115: 213-237. DOI:10.1016/j.ymssp.2018.05.050 (0) |
[6] | AL-SAREM M, BOULILA W, AL-HARBY M, et al. Deep learning-based rumor detection on microblogging platforms: a systematic review[J]. IEEE access, 2019, 7: 152788-152812. DOI:10.1109/access.2019.2947855 (0) |
[7] | KIM Y. Convolutional neural networks for sentence classification[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar, 2014: 1746−1751. (0) |
[8] | MIKOLOV T, SUTSKEVER I, CHEN Kai, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, USA, 2013, 26: 3111−3119. (0) |
[9] | SOCHER R, HUANG E H, PENNINGTON J, et al. Dynamic pooling and unfolding recursive autoencoders for paraphrase detection[C]//Proceedings of the 24th International Conference on Neural Information Processing Systems. Granada, Spain, 2012: 801−809. (0) |
[10] | SOCHER R, PERELYGIN A, WU J, et al. Recursive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. Seattle, USA, 2013: 1631−1642. (0) |
[11] | HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735 (0) |
[12] | LIU Pengfei, QIU Xipeng, HUANG Xuanjing. Recurrent neural network for text classification with multi-task learning[C]//Proceedings of the 25th International Joint Conference on Artificial Intelligence. New York, USA, 2016: 2873−2879. (0) |
[13] | ALKHODAIR S A, DING S H H, FUNG B C M, et al. Detecting breaking news rumors of emerging topics in social media[J]. Information processing & management, 2020, 57(2): 102018. (0) |
[14] | BAHDANAU D, CHO K H, BENGIO Y. Neural machine translation by jointly learning to align and translate[C]//3rd International Conference on Learning Representations. San Diego, United States, 2014. (0) |
[15] | YIN Wenpeng, SCHÜTZE H, XIANG Bing, et al. Attention-based convolutional neural network for modeling sentence Pairs[J]. Transactions of the association for computational linguistics, 2016, 4: 259-272. DOI:10.1162/tacl_a_00097 (0) |
[16] | ZHOU Peng, SHI Wei, TIAN Jun, et al. Attention-based bidirectional long short-term memory networks for relation classification[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). Berlin, Germany, 2016: 207−212. (0) |
[17] | GAO Yuhan. English semantic recognition based on abstract meaning representation and vector space model[J]. Journal of physics: conference series, 2018, 1087(5): 052017. (0) |
[18] | MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space [EB/OL]. (2013-09-07) [2021-05-01]https://arxiv.org/abs/1301.3781. (0) |
[19] | PENNINGTON J, SOCHER R, MANNING C. Glove: global vectors for word representation[C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar, 2014: 1532−1543. (0) |
[20] | KIM Y, JERNITE Y, SONTAG D, et al. Character-aware neural language models[C]//Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence. Phoenix, Arizona, 2016: 2741−2749. (0) |
[21] |
刘龙飞, 杨亮, 张绍武, 等. 基于卷积神经网络的微博情感倾向性分析[J]. 中文信息学报, 2015, 29(6): 159-165. LIU Longfei, YANG Liang, ZHANG Shaowu, et al. Convolutional neural networks for Chinese micro-blog sentiment analysis[J]. Journal of Chinese information processing, 2015, 29(6): 159-165. (0) |