CN113094502A - 一种多粒度外卖用户评论情感分析方法 - Google Patents

一种多粒度外卖用户评论情感分析方法 Download PDF

Info

Publication number
CN113094502A
CN113094502A CN202110303408.6A CN202110303408A CN113094502A CN 113094502 A CN113094502 A CN 113094502A CN 202110303408 A CN202110303408 A CN 202110303408A CN 113094502 A CN113094502 A CN 113094502A
Authority
CN
China
Prior art keywords
model
training
data
attention
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110303408.6A
Other languages
English (en)
Inventor
刘子豪
姬庆庆
高宇健
张津丽
蒋宗礼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202110303408.6A priority Critical patent/CN113094502A/zh
Publication of CN113094502A publication Critical patent/CN113094502A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种多粒度外卖用户评论情感分析方法。所述情感分析的方法,包括1)对评论数据进行预处理,包括繁简转换、数据去重、表情数据切分等;2)对评论数据采用端到端的训练网络进行训练,并以此网络为基线网络,该网络训练的结果为基线模型;3)在训练网络中加入注意力机制,提升网络对数据特征的提取能力;4)对数据采用多种模型进行训练,并将多个模型进行融合,各自取长补短。通过上述操作最终实现对外卖评论数据的情感分析。本发明设计的相关方法面向真实用户数据,考虑了数据中存在的多种问题,并能够在短时间内取得较好的训练及分类效果。

Description

一种多粒度外卖用户评论情感分析方法
技术领域
本发明是一种多粒度外卖用户评论情感分析方法,主要用于外卖平台用户评论的情感分析等,属于文本情感分析技术领域。
背景技术
自2009年“饿了么”等平台问世以来,外卖平台用户数量呈倍数级增长。时至今日,外卖平台已成为国内最大且最有价值的网络平台类型之一,成为最重要的信息交互平台和人们生活和交流的重要手段。消费者在外卖平台选择购买商品时,除了关注商品的价格、销量之外都会特别关注商品的评论,而商家也会通过消费者对商品的评论来知晓消费者对该商品的感受,通过评论来放大目标商品的优点,改进商品的缺点。目前的外卖平台上的评论往往是按时间序列来进行排序的,对评论的分类往往也是按照好评、差评,或是“一星”到“五星”的星级来分类。在这种分类模式下,用户想要精准获取自己需要的信息是十分困难的,很容易便迷失在海量的平台数据中。如何从海量的平台数据中提取出用户的主观情感并加以识别利用,一直是人工智能与自然语言处理领域非常重要的研究课题之一。
情感分析是自然语言处理(Natural Language Processing,NLP)领域最受欢迎的应用之一,其应用的广泛性及重要性不断的增强。情感分析的概念最早由Nasukawa等提出,又名意见挖掘,是指使用自然语言处理、机器学习、文本分类等技术来系统地识别带有情感色彩的文本的情感状态和主观信息。情感分类主要是从任务的定义、采用的方法和文本粒度上进行处理。近年来,情感分析已被广泛应用于舆情监控,话题推断,评论分析与决策等领域,具有很高的商业和社会价值。
随着科技的不断发展进步,在当今大数据社会,文本情感分析的作用越来越重要,针对众多评论用户不能快速了解商家信息和商家不知道从哪方面提高用户满意度等问题。情感分析有助于通过研究餐饮评论数据的情感,结合数据挖掘来分析用户对在线订餐的情感倾向,一方面可以帮助用户快速了解所下单门店的信息,一方面帮助商家根据顾客的情感采取不同措施来提高订单率。
在情感分析任务中,不同的归类方式会有不同的层次划分:按照输出结果,可划分为情感强度分类和情感极性分类;按照处理文本的粒度,可以划分为词语级、句子级、篇章级三个研究层次;按照研究方法,可以划分为无监督学习,半监督学习和监督学习等。传统的情感分析算法大多采用人工设计的特征选择方法进行特征提取,如最大熵模型、朴素贝叶斯、支持向量机等,但这些方法耗时长,训练难,人工成本高的缺陷很难适用于如今数据集庞大的应用场景。
早期的情感分析研究关注句子或篇章拥有的正面、中性或负面情感,通常被认为是粗粒度的情感分析。近些年,细粒度情感分析吸引了研究者的关注,也出现了多粒度分析的方式。对情感标签种类细化是一种典型的多粒度情感分析研究。此类研究不再将情感简单得分为正面、中性或负面,而是使用更多的类别分类。比较有代表性的是加入情感程度,从三分类任务变成多分类,例如五类情感。另一类多粒度分析的方式是对情感对象的多粒度化。此类研究关心针对某个特定对象的情感。进一步可以分为方面级情感分析、实体级情感分析、实体方面级情感分析等。
发明内容
本发明的目的是针对外卖平台真实评论数据,克服现阶段情感分析中存在的技术缺陷,提供一种多粒度外卖用户评论情感分析方法及系统,包括:
1)对原始外卖平台真实评论数据进行预处理,直至达到能够对神经网络进行训练和测试的目的。
根据所述方法,其中步骤1)包括:
将所述原始外卖平台真实评论数据进行汉语语言繁简转换,即在外卖平台中存在使用中文繁体进行评价的用户,因此需要对这部分用户的评语首先转换为中文简体,以便后续处理。
对所述原始外卖平台真实评论数据中的特殊表情字符进行处理,使之不被切分。在外卖评论中,用户往往会使用符号表情或者图形表情进行评价。在外卖平台评论数据中,特殊表情字符包含符号表情和图形表情,在数据预处理时需要避免对这些数据进行切分。
对所述原始外卖平台真实评论数据中相近时间内相同评论进行删除处理。这一操作主要是为避免因为买家故意多轮恶评或店家故意评论大量好评带来大量相同情感趋向的评论,给模型训练带来不必要的时间消耗。
在针对所述原始外卖平台真实评论数据进行处理时,除了去重处理之外还需要对数据中格式错误的评论数据进行修正处理,自动将错误格式改为正确格式,使得最终得到的评论数据更加完整有效。对于一些噪声数据,比如停用词、空值、特殊符号等这些数据也是需要进行一一删除处理。
数据只有经过预处理才能保证研究结果的真实性和可靠性,因此数据预处理是确保研究结论准确可靠的前提。
2)对所述原始外卖平台真实评论数据进行分词处理,在本发明方法中,主要使用的是jieba和char结合的分词工具对评论数据进行分词处理。
在中文情感分析问题中,相较于自然包含了有空格进行词组划分的英文文本,中文文本中字与字、词与词之间所呈现的距离分隔并没有那么的明显。因此在本发明中,需要将词作为分析中文理解的最小单位,根据中文语法和上下文情景等规则把中文文本切分成词语或者是短语,使得每个分割都具有独立的语义。
根据所述方法,其中步骤2)包括:
首先将所述原始外卖平台真实评论数据利用jieba分词工具进行第一轮分词处理,然后抽取10%分词后的结果进行评价。遇到分词不准确的评论数据进行标记,并从jieba分词工具的分词结果中剔除,最终形成第一阶段分词结果集合M1。
针对jieba分词工具分词不准确的评论数据,利用char分词工具进行重新分词,分词后的结果形成第二阶段分词结果集合M2
随后将两阶段分词结果集合M1与M2合并形成最终的分词结果M
3)在数据预处理及分词阶段结束后,利用基于LSTM的文本分类模型构建本发明的基础模型。
根据所述方法,其中步骤3)包括:
构建卷积层和最大池化层,即把文本按照句子划分成K个区域,每个区域里包含句子的词汇,对每个区域进行特征提取并赋予权重,有些区域不含感情色彩则权重会变得很小。每个词汇利用word2vec训练得到的词向量矩阵进行转化为一个向量,即区域i可以表示为
Figure BDA0002987182120000031
这样一个矩阵,然后再利用L个卷积过滤器对其进行卷积,卷积窗口长度为ω,即过滤器l进行一次窗口卷积后将得到一个映射值yn,最后得到向量
Figure BDA0002987182120000032
向量yl再使用最大池化层进行池化,得到新的向量。
Figure BDA0002987182120000041
上文中,ri为利用word2vec训练得到的词向量矩阵,w为word2vec训练得到的词向量矩阵中的元素,Wl·xn:n+ω+1为词向量矩阵经过池化操作后的元素,bl为修正参数。
LSTM编码器和线性解码器
由于外卖评论文本存在时序关系和长距离依赖关系,所以可以利用LSTM把上述得到的区域向量当作一个序列进行编码,最终得到的网络隐状态可以当作是文本的表示形式xt。因为VA空间两个维度上的值都是连续值,这里需要一个回归模型进行回归,所以使用一个线性的解码器进行回归,最终得到预测值。即:
y=Wdxt+bd
其中Wd为线性解码器斜率,bd为线性解码器截距,其中LSTM网络结构如附图1所示。
4)在模型初步构建完成后,利用自注意力机制对本发明所述的基础模型进行优化。
在自注意力机制中,多头注意力机制使模型能够从不同子空间关注到相应的信息。由于自注意力机制往往会忽略句子中单词的位置因素,它可以显式地捕捉到当前单词和句子中所有单词之间的语义关系,而多头注意力机制则是把输入序列映射到不同的子空间中,这些子空间分别采用自注意力机制,进一步增强了机器翻译模型的性能。
根据所述方法,其中步骤4)包括:
本方法使用自注意力机制处理每个单词(即输入序列中每个元素)时,比如对xi进行计算时,自注意力机制能够使其与序列中的所有单词进行关联,计算出它们之间的语义相似度,这样的好处在于能够帮助挖掘序列中所有单词之间的语义关系,从而更准确地对单词进行编码。
每一个注意力头对一组n元组的输入序列
Figure BDA0002987182120000042
进行操作,然后通过计算得到一组n元组的输出序列
Figure BDA0002987182120000043
对于输出序列Z中的元素zi,是由输入元素xi,xj经过线性变换后并计算其加权和得到:
Figure BDA0002987182120000051
在softmax函数中,对输入元素进行线性变换增强了表达能力。softmax分数决定了每个词语在当前位置所表达的注意力分数的大小。这里用值向量Vj乘以softmax分数是要保持当前被关注的单词的值的完整性并淹没无关的单词。然后对这些加权的值向量进行求和,得到自注意力机制输出,这个输出会被发送到前馈神经网络层进行进一步计算。softmax函数的计算方式如下:
Figure BDA0002987182120000052
Q,K,V分别表示query,key,value,它们是对计算注意力分数有用的抽象表示,dk是key的维度,除以
Figure BDA0002987182120000053
是缩放点积,这样可以使渐变更加稳定,Q,K,V计算方式分别如下:
Qi=xiWQ
Kj=xjWK
Vj=xjWV
WQ,WK
Figure BDA0002987182120000054
是在训练过程中学习得到的矩阵,它们分别是Q,K,V的权重矩阵。每一个注意力头有属于自己特有的权重矩阵。值得一提的是,与传统的注意力机制有所区别,在自注意力机制中,同一个注意力头中,WQ=WK=WV,所以对于同一个输入元素xi,Qi=Ki=Vi
自注意力机制使用l个注意力头,所有注意力头的输出zh都被合并,然后进行线性变换得到每个子层的输出。多头注意力机制扩展了模型专注于不同位置的能力,为注意力层提供了多个表示子空间,多头注意力机制提供了多组Query,Key,Value集合,这些集合都是随机初始化生成的,在训练之后,每个集合都将用于输入的嵌入,然后被投入到不同的表示子空间中。多头注意力机制的输出结果计算公式如下:
Figure BDA0002987182120000055
Figure BDA0002987182120000056
表示第i个注意力头的输出向量,Concat(·)的功能是将所有注意力头的输出向量合并,WO是模型训练过程中产生的权重矩阵。最终多头注意力机制合并各个注意力头的输出,然后进行线性变换得出最终输出。
注意力机制的计算过程如附图2所示。
5)在模型构建和优化完毕后,开始对本发明所涉及到的外卖点评数据进行训练。
根据所述方法,其中步骤5)包括:
对训练过程中loss的处理,在本发明方法中,选择不对训练loss进行调整。
对训练数据的采样,在本发明方法中,选择不对训练数据进行过采样或者欠采样处理。
在训练阶段,只针对训练结果按照类别在训练数据的分布进行调整,具体包括以下步骤:
首先是按照文本长度对训练数据进行分桶,这一操作的目的是为了能够实现对长文本截断的同时也不影响整体的训练速度。
在本发明中,长度分桶的原则是按照文本长度聚簇,将评论数据分为长文本和短文本,对于长文本采用小一些的batch_size,短文本则采用大一些的batch_size。在这样操作的基础上,便能够很好地对所有评论数据开展训练工作了。
其次是对训练过程的学习率进行调节优化,学习率对于机器学习而言是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法对其都有所涉及。学习率越小,损失梯度下降的速度越慢,收敛的时间更长。
因此为更快地达到loss的最小值,且保证收敛的loss值是神经网络的全局最优解,在本发明中,使用三角学习率调整法对学习率进行调整。三角学习率调整法使用了最简单的一次函数来动态调整学习率的大小,如附图3所示,每个周期之后学习率的最小值和最大值之间的差减半。
6)在对模型进行训练的过程中,对UnknownWords进行选择。
根据所述方法,其中步骤6)包括:
UNK是UnknownWords的简称,在机器翻译任务和文本摘要任务中经常会出现。在一些使用到的语言模型中生成某个单词的时候就会出现UNK问题。语言模型本质上是一个多分类器,通过计算词汇表中的每个单词在当前条件下出现的概率,来生成该条件下的单词。为了提高计算效率,往往只选择出现频次最高的N个单词作为词汇表,其他的单词都用UNK来替换,这样导致使用到语言模型的时候会出现UNK。其中,很多UNK可能都是一些不常出现的但有意义的词,比如机构名、地名。
在本发明中,从第二轮开始以0~0.02的随机概率设置原词为UNK,如附图4所示。
7)在Unknown Words选择完毕后,采用端到端的模型对数据再次进行训练,该模型训练的结果将作为本发明的基线结果。
根据所述方法,其中步骤7)包括:
相对于深度学习,传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。而深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,中间所有的操作都包含在神经网络内部,不再分成多个模块处理。由原始数据输入,到结果输出,从输入端到输出端,中间的神经网络自成一体,这是端到端的。两者相比,端到端的学习省去了在每一个独立学习任务执行之前所做的数据标注。在人工智能问题中,为样本做标注的代价是昂贵的、极易出错的。
本发明采用如附图5所示的端到端模型对数据进行训练,在训练过程中,对模型参数进行调整,直至取得最优训练结果。
8)在端到端的模型对数据再次进行训练后,使用BERT-MRC模型对数据进行训练。
BERT-MRC模型能取得比其他模型更好的性能的原因是它特殊的数据处理方法,在输入文本前加上了实体类型的描述信息,这些实体类型的描述作为先验知识提高了模型抽取的效果,所以BERT-MRC模型在数据量匮乏的场景下,通过在输入文本前面拼接的query能够获得一定的先验信息,从而提升性能。
根据所述方法,其中步骤8)包括:
模型输入:与其他模型不同,在使用BERT-MRC模型之前,需要进行大量的数据预处理操作,例如,有一个实体识别数据集,该数据集中有一下三种类型的实体:
人名 人物名称
地名 地理位置
机构名 政府企业等机构或组织名称
在数据预处理阶段需要将实体类型的描述作为query,拼接到每个输入句子的前面,然后针对性的修改原有的标注。例如:对于输入文本“张三2021年与好友李四一起在张亮麻辣烫吃了麻辣烫”这句话,由于数据集共有三种类型的实体,所以需要为这句话构建三条数据,首先以人名的描述作为query,这条数据中标注有两个人名类型的实体(张三和李四);然后以地名的描述作为query,这条数据中没有实体;以机构名作为query的这条数据有一个实体(张亮麻辣烫)。可以发现,BERT-MRC模型增加了数据的规模,并通过query增加了先验信息,但是同时也造成一条数据中的实体更少了,这在一定程度上会带来标签不平衡问题。
模型结构:在使用BERT编码得到词向量之后,训练三个分类器,分别用于预测开始、结束位置标签以及一个概率矩阵。开始、结束位置序列是和输入文本等长的一个序列,对应每个字符是否是实体片段的开始和结束位置,概率矩阵代表文本中每个片段是否是实体片段的概率。上述两个标签序列和一个矩阵三个分类器在训练过程中共可以求三个loss,模型的总loss是上述三个loss之和。模型具体结构及流程如附图6所示
9)在端到端的模型对数据再次进行训练后,使用fastText模型对数据进行训练。
fastText是Facebook于2016年开源的一个词向量计算和文本分类工具,在学术上并没有太大创新。但是它的优点也非常明显,在文本分类任务中,fastText(浅层网络)往往能取得和深度网络相媲美的精度,却在训练时间上比深度网络快许多数量级。在标准的多核CPU上,能够训练10亿词级别语料库的词向量在10分钟之内,能够分类有着30万多类别的50多万句子在1分钟之内。
根据所述方法,其中步骤9)包括:
使用字符级别的n-gram向量表示句子:word2vec把语料库中的每个单词当成原子的,它会为每个单词生成一个向量。这忽略了单词内部的形态特征,比如:“apple”和“apples”,“大关数据”和“大关”,这两个例子中,两个单词都有较多公共字符,即它们的内部形态类似,但是在传统的word2vec中,这种单词内部形态信息因为它们被转换成不同的id丢失了。
为了克服这个问题,fastText使用了字符级别的n-grams来表示一个单词。对于单词“apple”,假设n的取值为3,则它的trigram有:
“<ap”,“app”,“ppl”,“ple”,“le>”
其中,<表示前缀,>表示后缀。于是,我们可以用这些trigram来表示“apple”这个单词,进一步,我们可以用这5个trigram的向量叠加来表示“apple”的词向量。
本发明上述方法带来好处:
A.对于低频词生成的词向量效果会更好。因为它们的n-gram可以和其它词共享。
B.对于训练词库之外的单词,仍然可以构建它们的词向量,可以叠加它们的字符级n-gram向量。
其模型结构如附图7所示。
10)在使用fastText模型对数据进行训练后,对模型进行优化,并对多种模型进行集成处理。
根据所述方法,其中步骤10)包括:
模型优化:在基线模型的基础上,本发明效仿阅读理解常见的做法,增加了SelfAttention层(计算文本到文本自身的Attention权重),并将Attention之后的输出和原始LSTM输出,采用Gate(RNet)或者Semantic Fusion(MnemonicReader)的方式进行融合,从而提升模型训练效果。
模型集成:为了取得更好的模型多样性,采用了多种粒度的分词方式,在Jieba分词的主要模型基础上,同时引入了基于SentencePiece的多种粒度分词。SentencePiece分词能带来更短的句子长度,但是分词错误相对Jieba略多,容易过拟合,因此采用了只Finetune Char向量,固定词向量的策略来避免过拟合。多种粒度的分词配合Word+Char的建模方式带来了很好的模型多样性。
此外,模型维度的多样性来源自RNet结构和MnemonicReader结构,以及BERT模型的结构的不同。在模型选择的时候选取了基线模型训练中最优的轮次模型,集成的时候采用了按多方面(Aspect)效果分开加权集成的方式。基于以上的多样性策略,将多个单模型集成从而取得较好的效果,最终使用的训练模型如附图8所示。
本发明与现有技术相比,具有以下技术优势:
1.对于真实外卖评论数据,在进行情感分析前针对数据具体特点进行预处理,包括将繁体文字转换为简体文字、删除过度重复的评论数据、对表情评论进行具有针对性的处理等操作,这些数据预处理工作能有效减少给后续情感分析带来的误差。
2.现阶段不少情感分析方法往往仅能够对外卖评论数据进行单一尺度的识别,难以对外卖评论数据开展多尺度识别工作,本发明方法能够对外卖数据开展多尺度识别工作,从而利于商家更加准确地对用户情感进行判断和分析。
3.本发明融合了多种模型,各个模型之间分别发挥自身的优势,从而在模型融合后能够大幅提升情感识别结果。
4.本发明在模型中引入注意力机制,这一机制的引入能够帮助模型更好地发掘训练数据中的数据特征,从而使得网络模型能够更好地学习数据中的相关关系和情感特征,最终达到提升预测精度的目的。
5.模型在训练过程中考虑了多种因素,如繁简体、长短文本、表情数据等等,采用多种方法提升或加快训练速率,从而使得本方法具有较强的应用前景。
附图说明
图1为LSTM-Cell内部结构图。
图2为注意力机制计算过程示意图。
图3为三角学习率示意图。
图4为UNK选择示意图。
图5为端到端模型结构示意图。
图6为BERT-MRC模型结构示意图。
图7为fastText模型结构示意图。
图8为增加注意力机制后的模型结构示意图。
具体实施方式
本发明方法在真实外卖数据中开展实验进行效果测试,具体实施方法如下:
发明取得标注后的真实数据共12万条,其中数据集分为训练、验证、测试A与测试B四部分,验证数据为1.5万条。数据集中的评价对象按照粒度不同划分为两个层次,层次一为粗粒度的评价对象,例如评论文本中涉及的服务、位置等要素;层次二为细粒度的情感对象,例如“服务”属性中的“服务人员态度”、“排队等候时间”等细粒度要素。评价对象的具体划分如下表所示。
Figure BDA0002987182120000111
每个细粒度要素的情感倾向有四种状态:正向、中性、负向、未提及。使用[1,0,-1,-2]四个值对情感倾向进行描述,情感倾向值及其含义对照表如下所示:
情感倾向值 1 0 -1 -2
含义 正面情感 中性情感 负面情感 情感倾向未提及
首先对数据进行预处理,包括去除大量重复数据、将繁体评论转换为简体评论、对表情评论进行特殊处理等操作。例如某繁体评论数据为“[精伍鴨頭湖北菜館]位於環球塔樓一樓西側1054號,88259300,位於鬧市區,不太好停車”,经过简体转换后变为:“[精伍鸭头湖北菜馆]位于环球大厦一楼西侧1054号,88259300,位于闹市区,不太好停车”,据统计,在本发明使用的数据集中,共有4.61%(4839/10500)的数据为繁体评论。例如某商家在2019年11月12日中午11:30-11:42之间出现了28条相同评论数据“非常好吃”,经过处理仅保留一条数据。例如针对高频Emoji表情和字符表情^_^,需要保证他们不被切分。
经过数据划分,本发明共有无监督数据1000万条,可以用于训练的标注数据为10.5万条,可以用于验证的数据为1.5万条。在训练过程中不调整训练loss,不对训练数据采取过采样/欠采样处理,只针对训练结果按照类别在训练数据的分布进行相应调整。随后对数据进行长度分桶操作,这一步操作的目的是为了避免长文本在截断的同时不影响整体的训练速度。该步操作的具体方法是将评论数据按照文本长度进行聚簇,长文本使用小的batch_size,短文本使用大的batch_size,本发明中使用的batch_size=23,16,8。为了使模型更好地开展学习任务,本文使用三角学习率对学习过程进行相应调整,同时从第二轮训练开始,以0~0.02的概率随机将原词设置为UNK。
进行完上述全部操作后,对端到端的模型参数进行相应设置并根据训练结果进行恰当调整直至取得最优训练结果。
为了取得更好地训练和预测结果,在端到端的网络中增加注意力机制模块,从而更好地提取训练数据中存在的数据特征。同时结合fastText模型、BERT-MRC模型等模型进行训练,结合其他模型进行训练的目的是为了充分发掘训练数据中存在的多种数据特征,补充主模型的不足。
最后在各单模型取得较好结果以后,将多个模型进行深度融合,共同开展情感识别任务。
在本发明中,一共集成6个单模型效果达到最优,这6个模型对应的loss如下表所示;
模型 Loss
Jieba.mreader.elmo.lstm 0.31265
Sp20w.rnet.lstm 0.31723
Sp10w.mreader.elmo.lstm 0.31556
Jieba.rnetv2.elmo.gru 0.32677
Sp20w.rnet.gru 0.32123
Char.bert 0.34357
训练结束后,本发明进行测试,最终测试结果显示本发明在训练集上取得了95.6%的准确率,在测试集上取得了91.6%的准确率。

Claims (3)

1.一种多粒度外卖用户评论情感分析方法,其特征在于:该方法包括如下步骤:
1)对原始外卖平台真实评论数据进行预处理,达到能够对神经网络进行训练和测试的目的;将所述原始外卖平台真实评论数据进行汉语语言繁简转换,即在外卖平台中存在使用中文繁体进行评价的用户,因此需要对这部分用户的评语首先转换为中文简体,以便后续处理;
2)对所述原始外卖平台真实评论数据进行分词处理,使用jieba和char结合的分词工具对评论数据进行分词处理;
首先将所述原始外卖平台真实评论数据利用jieba分词工具进行第一轮分词处理,然后抽取10%分词后的结果进行评价;遇到分词不准确的评论数据进行标记,并从jieba分词工具的分词结果中剔除,最终形成第一阶段分词结果集合M1
针对jieba分词工具分词不准确的评论数据,利用char分词工具进行重新分词,分词后的结果形成第二阶段分词结果集合M2
随后将两阶段分词结果集合M1与M2合并形成最终的分词结果M
3)在数据预处理及分词阶段结束后,利用基于LSTM的文本分类模型构建基础模型;
4)在模型初步构建完成后,利用自注意力机制对所述的基础模型进行优化;
在自注意力机制中,多头注意力机制使模型能够从不同子空间关注到相应的信息;
5)在模型构建和优化完毕后,开始对本发明所涉及到的外卖点评数据进行训练;
对训练过程中loss的处理,选择不对训练loss进行调整;
对训练数据的采样,在本发明方法中,选择不对训练数据进行过采样或者欠采样处理;
在训练阶段,只针对训练结果按照类别在训练数据的分布进行调整;
6)在对模型进行训练的过程中,对Unknown Words进行选择;
根据所述方法,其中步骤6)包括:
通过计算词汇表中的每个单词在当前条件下出现的概率,来生成该条件下的单词;从第二轮开始以0~0.02的随机概率设置原词为UNK;
7)在Unknown Words选择完毕后,采用端到端的模型对数据再次进行训练,该模型训练的结果将作为基线结果;采用端到端模型对数据进行训练,在训练过程中,对模型参数进行调整,直至取得训练结果;
8)在端到端的模型对数据再次进行训练后,使用BERT-MRC模型对数据进行训练;
模型输入:在使用BERT-MRC模型前,进行数据预处理操作;
模型结构:在使用BERT编码得到词向量之后,训练三个分类器,分别用于预测开始、结束位置标签以及一个概率矩阵;开始、结束位置序列是和输入文本等长的一个序列,对应每个字符是否是实体片段的开始和结束位置,概率矩阵代表文本中每个片段是否是实体片段的概率;上述两个标签序列和一个矩阵三个分类器在训练过程中共求三个loss,模型的总loss是上述三个loss之和;
9)在端到端的模型对数据再次进行训练后,使用fastText模型对数据进行训练;
根据所述方法,其中步骤9)包括:
使用字符级别的n-gram向量表示句子,fastText使用字符级别的n-grams来表示一个单词;
10)在使用fastText模型对数据进行训练后,对模型进行优化,并对多种模型进行集成处理;
模型优化:在基线模型的基础上,效仿阅读理解,增加了SelfAttention层,并将Attention之后的输出和原始LSTM输出,采用Gate或者Semantic Fusion的方式进行融合,从而提升模型训练效果;
模型集成:采用多种粒度的分词方式,引入基于SentencePiece的多种粒度分词;
在模型选择的时候选取了基线模型训练中最优的轮次模型,集成的时候采用了按多方面效果分开加权集成的方式。
2.根据权利要求1所述的一种多粒度外卖用户评论情感分析方法,其特征在于:根据所述方法,其中步骤3)包括:
构建卷积层和最大池化层,即把文本按照句子划分成K个区域,每个区域里包含句子的词汇,对每个区域进行特征提取并赋予权重;每个词汇利用word2vec训练得到的词向量矩阵进行转化为一个向量,即区域i表示为
Figure FDA0002987182110000031
这样一个矩阵,然后再利用L个卷积过滤器对其进行卷积,卷积窗口长度为ω,即过滤器l进行一次窗口卷积后将得到一个映射值yn,最后得到向量
Figure FDA0002987182110000032
Figure FDA0002987182110000033
向量yl再使用最大池化层进行池化,得到新的向量;
Figure FDA0002987182110000034
ri为利用word2vec训练得到的词向量矩阵,w为word2vec训练得到的词向量矩阵中的元素,Wl·xn:n+ω+1为词向量矩阵经过池化操作后的元素,bl为修正参数;
LSTM编码器和线性解码器
由于外卖评论文本存在时序关系和长距离依赖关系,所以利用LSTM把上述得到的区域向量当作一个序列进行编码,最终得到的网络隐状态当作是文本的表示形式xt;因为VA空间两个维度上的值都是连续值,这里需要一个回归模型进行回归,所以使用一个线性的解码器进行回归,最终得到预测值;即:
y=Wdxt+bd
其中Wd为线性解码器斜率,bd为线性解码器截距。
3.根据权利要求1所述的一种多粒度外卖用户评论情感分析方法,其特征在于:根据所述方法,其中步骤4)包括:
使用自注意力机制处理每个单词时,对xi进行计算时,自注意力机制能够使其与序列中的所有单词进行关联,计算出它们之间的语义相似度;
每一个注意力头对一组n元组的输入序列
Figure FDA0002987182110000035
进行操作,然后通过计算得到一组n元组的输出序列
Figure FDA0002987182110000036
对于输出序列Z中的元素zi,是由输入元素xi,xj经过线性变换后并计算其加权和得到:
Figure FDA0002987182110000037
在softmax函数中,对输入元素进行线性变换增强了表达能力;softmax分数决定了每个词语在当前位置所表达的注意力分数的大小;这里用值向量Vj乘以softmax分数是要保持当前被关注的单词的值的完整性并淹没无关的单词;然后对这些加权的值向量进行求和,得到自注意力机制输出,这个输出会被发送到前馈神经网络层进行进一步计算;softmax函数的计算方式如下:
Figure FDA0002987182110000041
Q,K,V分别表示query,key,value,它们是对计算注意力分数有用的抽象表示,dk是key的维度,除以
Figure FDA0002987182110000042
是缩放点积,这样可以使渐变更加稳定,Q,K,V计算方式分别如下:
Qi=xiWQ
Kj=xjWK
Vj=xjWV
Figure FDA0002987182110000043
是在训练过程中学习得到的矩阵,它们分别是Q,K,V的权重矩阵;每一个注意力头有属于自己特有的权重矩阵;值得一提的是,与传统的注意力机制有所区别,在自注意力机制中,同一个注意力头中,WQ=WK=WV,所以对于同一个输入元素xi,Qi=Ki=Vi
自注意力机制使用l个注意力头,所有注意力头的输出zh都被合并,然后进行线性变换得到每个子层的输出;多头注意力机制扩展了模型专注于不同位置的能力,为注意力层提供了多个表示子空间,多头注意力机制提供了多组Query,Key,Value集合,这些集合都是随机初始化生成的,在训练之后,每个集合都将用于输入的嵌入,然后被投入到不同的表示子空间中;多头注意力机制的输出结果计算公式如下:
Figure FDA0002987182110000044
Figure FDA0002987182110000045
表示第i个注意力头的输出向量,Concat(·)的功能是将所有注意力头的输出向量合并,WO是模型训练过程中产生的权重矩阵;最终多头注意力机制合并各个注意力头的输出,然后进行线性变换得出最终输出。
CN202110303408.6A 2021-03-22 2021-03-22 一种多粒度外卖用户评论情感分析方法 Pending CN113094502A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110303408.6A CN113094502A (zh) 2021-03-22 2021-03-22 一种多粒度外卖用户评论情感分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110303408.6A CN113094502A (zh) 2021-03-22 2021-03-22 一种多粒度外卖用户评论情感分析方法

Publications (1)

Publication Number Publication Date
CN113094502A true CN113094502A (zh) 2021-07-09

Family

ID=76669152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110303408.6A Pending CN113094502A (zh) 2021-03-22 2021-03-22 一种多粒度外卖用户评论情感分析方法

Country Status (1)

Country Link
CN (1) CN113094502A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113822445A (zh) * 2021-09-22 2021-12-21 上海明略人工智能(集团)有限公司 模型集成预测方法、系统、电子设备及存储介质
CN114722797A (zh) * 2022-04-05 2022-07-08 东南大学 一种基于语法导向网络的多模态评价对象情感分类方法
CN117390141A (zh) * 2023-12-11 2024-01-12 江西农业大学 一种农业社会化服务质量用户评价数据分析方法
CN117688185A (zh) * 2024-02-04 2024-03-12 华东交通大学 一种用户信息增强的长文本细粒度情感分析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284506A (zh) * 2018-11-29 2019-01-29 重庆邮电大学 一种基于注意力卷积神经网络的用户评论情感分析系统及方法
CN110874397A (zh) * 2019-11-20 2020-03-10 福州大学 基于注意力机制的水军评论检测系统及方法
CN111274398A (zh) * 2020-01-20 2020-06-12 福州大学 一种方面级用户产品评论情感分析方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284506A (zh) * 2018-11-29 2019-01-29 重庆邮电大学 一种基于注意力卷积神经网络的用户评论情感分析系统及方法
CN110874397A (zh) * 2019-11-20 2020-03-10 福州大学 基于注意力机制的水军评论检测系统及方法
CN111274398A (zh) * 2020-01-20 2020-06-12 福州大学 一种方面级用户产品评论情感分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚彬;杜义华;: "一种基于深度学习的科普文章评论情感分析", 科研信息化技术与应用, no. 04, pages 29 - 35 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113822445A (zh) * 2021-09-22 2021-12-21 上海明略人工智能(集团)有限公司 模型集成预测方法、系统、电子设备及存储介质
CN113822445B (zh) * 2021-09-22 2024-02-06 上海明略人工智能(集团)有限公司 模型集成预测方法、系统、电子设备及存储介质
CN114722797A (zh) * 2022-04-05 2022-07-08 东南大学 一种基于语法导向网络的多模态评价对象情感分类方法
CN117390141A (zh) * 2023-12-11 2024-01-12 江西农业大学 一种农业社会化服务质量用户评价数据分析方法
CN117390141B (zh) * 2023-12-11 2024-03-08 江西农业大学 一种农业社会化服务质量用户评价数据分析方法
CN117688185A (zh) * 2024-02-04 2024-03-12 华东交通大学 一种用户信息增强的长文本细粒度情感分析方法
CN117688185B (zh) * 2024-02-04 2024-04-12 华东交通大学 一种用户信息增强的长文本细粒度情感分析方法

Similar Documents

Publication Publication Date Title
CN109753566B (zh) 基于卷积神经网络的跨领域情感分析的模型训练方法
CN110245229B (zh) 一种基于数据增强的深度学习主题情感分类方法
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
CN113254599B (zh) 一种基于半监督学习的多标签微博文本分类方法
CN111626063B (zh) 一种基于投影梯度下降和标签平滑的文本意图识别方法及系统
CN110929030B (zh) 一种文本摘要和情感分类联合训练方法
CN108984526B (zh) 一种基于深度学习的文档主题向量抽取方法
CN110472003B (zh) 基于图卷积网络的社交网络文本情感细粒度分类方法
CN111209401A (zh) 网络舆情文本信息情感极性分类处理系统及方法
CN110287320A (zh) 一种结合注意力机制的深度学习多分类情感分析模型
CN113094502A (zh) 一种多粒度外卖用户评论情感分析方法
Maharjan et al. A multi-task approach to predict likability of books
CN111966812B (zh) 一种基于动态词向量的自动问答方法和存储介质
CN110598005A (zh) 一种面向公共安全事件的多源异构数据知识图谱构建方法
CN111414481A (zh) 基于拼音和bert嵌入的中文语义匹配方法
CN110263325A (zh) 中文分词系统
Bokka et al. Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks
CN114417851B (zh) 一种基于关键词加权信息的情感分析方法
CN113360667B (zh) 基于多任务学习的生物医学触发词检测和命名实体识别方法
CN116245110A (zh) 基于图注意力网络的多维度信息融合用户立场检测方法
CN112905736A (zh) 一种基于量子理论的无监督文本情感分析方法
CN114722835A (zh) 基于lda和bert融合改进模型的文本情感识别方法
CN109543036A (zh) 基于语义相似度的文本聚类方法
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法
CN115630653A (zh) 一种基于BERT与BiLSTM的网络流行语情感分析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination