一种基于BERT-TextCNN的外卖评论分类方法技术

技术编号:36543524 阅读:9 留言:0更新日期:2023-02-01 16:49
针对线上外卖平台评论文本,本发明专利技术设计了一种基于BERT

【技术实现步骤摘要】
一种基于BERT

TextCNN的外卖评论分类方法


[0001]本专利技术涉及情感倾向分析领域。

技术介绍

[0002]2020年中国实体餐饮业呈现颓势,近十年来实体餐饮收入首次下跌。与之形成鲜明对比的是中国线上外卖市场的蓬勃发展。据统计,2020年中国线上外卖用户达到了4.56亿人,较2019年增长了7.8%。线上订单量的激增和外卖交易规模的不断扩大造成了外卖评论文本的爆炸式增长。
[0003]分析外卖平台评论文本的情感倾向可以督促外卖平台完善服务体系,规范服务机制。情感分析目前被广泛应用于提取用户评论文本中的情感因素,从而精确表达用户对于商品的褒贬情绪,是文本挖掘的一种高效手段。但是现有的针对外卖评论文本的极性判别多倾向于总体情感倾向判别,而忽略了对于食品不同特征的情感倾向分类。一般的外卖评论文本往往涉及用户对商品不同特征的情感倾向,褒贬不一。笼统的判定整句极性不能协助平台高效挖掘用户行为倾向等特点。因此对外卖产品评论进行多特征情感极性分析可以更大程度的帮助平台实现高效管理,降低消费者对于多特征商品、商家的选择成本,为消费者提供更全面、有效的决策支撑。
[0004]BERT是近两年被广泛应用的自然语言处理手段,其应用动态词向量技术,开创性地同时进行下句预测和掩语言模型两个子任务,利用大规模数据预训练出Transformer模型。由于BERT的词向量是依据上下文信息动态生成的,因此可以更好的解决一词多义等问题。结合电商评论文本长短不一,上下文关联性较强的特点,利用BERT进行词向量编码要比One

hot,word2vec,ELMo等方式更加准确,高效。故本专利技术用BERT编码代替传统Text

CNN网络嵌入层的word2vec编码,增强评论文本的连贯性,为后续多任务学习打下更好的基础。为了提升分类准确率,本专利技术在Text

CNN的卷积和池化层加入了降维CBAM注意力机制。

技术实现思路

[0005]针对线上外卖平台评论文本,本专利技术设计了一种基于BERT

TextCNN的外卖评论分类方法。将BERT模型训练所获得词向量矩阵通过含有注意力机制的Text

CNN网络对文本进行长距离编码,判别外卖评论中的不同主题并对相关特征评价的情感极性进行分析,实现基于用户评论的多特征情感极性分析。该方法主要包含五个步骤:
[0006]步骤1:对输入的评论文本进行预处理,包括去除停用词和分词等,最终得到一个token列表。
[0007]步骤2:利用BERT进行文本向量化处理,通过字嵌入、段嵌入、位置嵌入和双向Transformer编码器生成词嵌入矩阵。
[0008]步骤3:搭建基于Text

CNN的多任务文本分类、极性判别模型。将步骤2得到的词嵌入矩阵作为Text

CNN嵌入层的输出进行多标签文本分类,训练出基于Text

CNN的特征识别、极性判别模型。
[0009]步骤4:在Text

CNN模型的卷积和池化部分加入降维卷积注意力机制(CBAM),在通道和空间两个维度优化Text

CNN网络,提升分类准确率。
[0010]步骤5:对模型进行训练和验证。实现输入外卖评论文本,自动判别所涉主题情感极性的功能。
附图说明
[0011]图1为:算法整体逻辑流程图。
[0012]图2为:BERT词向量嵌入表示图。
[0013]图3为:多任务学习模式图。
[0014]图4为:Text

CNN网络结构图。
[0015]图5为:CBAM降维注意力机制模型图。
[0016]图6为:训练模块定义函数及其功能。
[0017]图7为:评论文本特征、极性判别流程图。
[0018]图8为:输入输出文本示例。
具体实施方式
[0019]下面将结合本专利技术实施例中的附图,对本专利技术进一步说明。
[0020]图1是算法整体逻辑流程图,本专利技术主要以PyTorch框架为基础,利用BERT

TextCNN模型,针对外卖平台评论文本的不同主题进行多任务情感极性分析,具体实施方式如下:
[0021]步骤1数据预处理
[0022]本专利技术采用BERT进行中文分词,BERT进行中文分词的方式与jieba、pyltp等传统分词模型不同。BERT特有的tokenization模块为数据的预处理提供了很大的便利,tokenization模块主要有两个分词器:BasicTokenizer和WordpieceTokenizer。前者可以被视作粗略分词器,后者在前者的基础上进行再一次切分,得到子词。FullTokenizer是两者的结合。比如对评论“包装还不错,但送来的时候菜已经凉了。”首先对该评论文本进行BasicTokenizer,流程为:(1)转化为可以读入的编码;(2)删除非法字符;(3)空格间隔分词;(4)去除多余字符、进行标点分词;(5)二次空格间隔分词;(6)结束。由此可以得到一个初步的token列表{


‘’

‘’

‘’

‘’

’‘

‘’

’‘

‘’

‘’

‘’

‘’

’‘

‘’

’‘

‘’


}后再对每个token进行一次WordpieceTokenizer,但是这一步对纯中文文本分词结果影响不大。最终得到最终的分词结果{tok1,tok2,tok3,....tok
n
}。
[0023]步骤2利用BERT进行文本向量化处理
[0024]针对步骤1得到的词集,利用BERT进行文本向量化处理。BERT的输入由字嵌入(tokenembedding)、段嵌入(segmentembedding)和位置嵌入(positionembedding)三部分相加构成。每句话用[CLS]和[SEP]作为开头和结尾的标记。在步骤1所得的分词结果前后分别加上{CLS},{SEP}起止符作为输入,即{[CLS],tok1,tok2,tok3,....tok
n
,[SEP]},输出为字嵌入、段嵌入和位置嵌入的加和,如下式所示:
[0025]E=E
token
+E
segment
+E
position
E∈R
n
[0026]E=E1,E2,E3,....E
n
E∈R
n
[0027]图2是BERT词向量嵌入表示图,最终的输本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BERT

TextCNN的外卖评论分类方法,包括以下步骤:步骤1:对输入的评论文本进行预处理,包括去除停用词和分词等,最终得到一个token列表;步骤2:利用BERT进行文本向量化处理,通过字嵌入、段嵌入、位置嵌入和双向Transformer编码器生成词嵌入矩阵;步骤3:搭建基于Text

CNN的多任务文本分类、极性判别模型;将步骤2得到的词嵌入矩阵作为Text

CNN嵌入层的输出,设置卷积核为{h=i,w=768}(i=2,3,4,5),沿着词向量矩阵的方向上下滑动,实现一维卷积,设置通道数为512;将卷积核c与词向量矩阵T中的第i个窗口t
i:i+h
‑1内的词向量进行卷积得到特征f
i
,卷积核C(C∈R
H
×
W
)与词向量矩阵内所有窗口的向量{t
1:h
,t
2:h
,....,t
n

h+1:n
}顺次进行卷积操作得到特征图f={f1,f2,...,f
n

【专利技术属性】
技术研发人员:许文波陈泓秀贾海涛罗欣常乐冷庚
申请(专利权)人:电子科技大学长三角研究院湖州
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1