CN113094502A - 一种多粒度外卖用户评论情感分析方法 - Google Patents
一种多粒度外卖用户评论情感分析方法 Download PDFInfo
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 32
- 238000012549 training Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000011218 segmentation Effects 0.000 claims abstract description 46
- 230000007246 mechanism Effects 0.000 claims abstract description 33
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 230000014509 gene expression Effects 0.000 claims abstract description 11
- 230000000694 effects Effects 0.000 claims abstract description 10
- 238000006243 chemical reaction Methods 0.000 claims abstract description 3
- 239000013598 vector Substances 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 235000019580 granularity Nutrition 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000013145 classification model Methods 0.000 claims description 2
- 239000012141 concentrate Substances 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000013215 result calculation Methods 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims 3
- 230000001131 transforming effect Effects 0.000 claims 1
- 230000008451 emotion Effects 0.000 abstract description 36
- 238000000605 extraction Methods 0.000 abstract description 2
- 230000007812 deficiency Effects 0.000 abstract 1
- 230000002996 emotional effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000007935 neutral effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008909 emotion recognition Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000272525 Anas platyrhynchos Species 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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可以表示为这样一个矩阵,然后再利用L个卷积过滤器对其进行卷积,卷积窗口长度为ω,即过滤器l进行一次窗口卷积后将得到一个映射值yn,最后得到向量
向量yl再使用最大池化层进行池化,得到新的向量。
上文中,ri为利用word2vec训练得到的词向量矩阵,w为word2vec训练得到的词向量矩阵中的元素,Wl·xn:n+ω+1为词向量矩阵经过池化操作后的元素,bl为修正参数。
LSTM编码器和线性解码器
由于外卖评论文本存在时序关系和长距离依赖关系,所以可以利用LSTM把上述得到的区域向量当作一个序列进行编码,最终得到的网络隐状态可以当作是文本的表示形式xt。因为VA空间两个维度上的值都是连续值,这里需要一个回归模型进行回归,所以使用一个线性的解码器进行回归,最终得到预测值。即:
y=Wdxt+bd
其中Wd为线性解码器斜率,bd为线性解码器截距,其中LSTM网络结构如附图1所示。
4)在模型初步构建完成后,利用自注意力机制对本发明所述的基础模型进行优化。
在自注意力机制中,多头注意力机制使模型能够从不同子空间关注到相应的信息。由于自注意力机制往往会忽略句子中单词的位置因素,它可以显式地捕捉到当前单词和句子中所有单词之间的语义关系,而多头注意力机制则是把输入序列映射到不同的子空间中,这些子空间分别采用自注意力机制,进一步增强了机器翻译模型的性能。
根据所述方法,其中步骤4)包括:
本方法使用自注意力机制处理每个单词(即输入序列中每个元素)时,比如对xi进行计算时,自注意力机制能够使其与序列中的所有单词进行关联,计算出它们之间的语义相似度,这样的好处在于能够帮助挖掘序列中所有单词之间的语义关系,从而更准确地对单词进行编码。
在softmax函数中,对输入元素进行线性变换增强了表达能力。softmax分数决定了每个词语在当前位置所表达的注意力分数的大小。这里用值向量Vj乘以softmax分数是要保持当前被关注的单词的值的完整性并淹没无关的单词。然后对这些加权的值向量进行求和,得到自注意力机制输出,这个输出会被发送到前馈神经网络层进行进一步计算。softmax函数的计算方式如下:
Qi=xiWQ
Kj=xjWK
Vj=xjWV
WQ,WK,是在训练过程中学习得到的矩阵,它们分别是Q,K,V的权重矩阵。每一个注意力头有属于自己特有的权重矩阵。值得一提的是,与传统的注意力机制有所区别,在自注意力机制中,同一个注意力头中,WQ=WK=WV,所以对于同一个输入元素xi,Qi=Ki=Vi
自注意力机制使用l个注意力头,所有注意力头的输出zh都被合并,然后进行线性变换得到每个子层的输出。多头注意力机制扩展了模型专注于不同位置的能力,为注意力层提供了多个表示子空间,多头注意力机制提供了多组Query,Key,Value集合,这些集合都是随机初始化生成的,在训练之后,每个集合都将用于输入的嵌入,然后被投入到不同的表示子空间中。多头注意力机制的输出结果计算公式如下:
注意力机制的计算过程如附图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万条。数据集中的评价对象按照粒度不同划分为两个层次,层次一为粗粒度的评价对象,例如评论文本中涉及的服务、位置等要素;层次二为细粒度的情感对象,例如“服务”属性中的“服务人员态度”、“排队等候时间”等细粒度要素。评价对象的具体划分如下表所示。
每个细粒度要素的情感倾向有四种状态:正向、中性、负向、未提及。使用[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表示为这样一个矩阵,然后再利用L个卷积过滤器对其进行卷积,卷积窗口长度为ω,即过滤器l进行一次窗口卷积后将得到一个映射值yn,最后得到向量
向量yl再使用最大池化层进行池化,得到新的向量;
ri为利用word2vec训练得到的词向量矩阵,w为word2vec训练得到的词向量矩阵中的元素,Wl·xn:n+ω+1为词向量矩阵经过池化操作后的元素,bl为修正参数;
LSTM编码器和线性解码器
由于外卖评论文本存在时序关系和长距离依赖关系,所以利用LSTM把上述得到的区域向量当作一个序列进行编码,最终得到的网络隐状态当作是文本的表示形式xt;因为VA空间两个维度上的值都是连续值,这里需要一个回归模型进行回归,所以使用一个线性的解码器进行回归,最终得到预测值;即:
y=Wdxt+bd
其中Wd为线性解码器斜率,bd为线性解码器截距。
3.根据权利要求1所述的一种多粒度外卖用户评论情感分析方法,其特征在于:根据所述方法,其中步骤4)包括:
使用自注意力机制处理每个单词时,对xi进行计算时,自注意力机制能够使其与序列中的所有单词进行关联,计算出它们之间的语义相似度;
在softmax函数中,对输入元素进行线性变换增强了表达能力;softmax分数决定了每个词语在当前位置所表达的注意力分数的大小;这里用值向量Vj乘以softmax分数是要保持当前被关注的单词的值的完整性并淹没无关的单词;然后对这些加权的值向量进行求和,得到自注意力机制输出,这个输出会被发送到前馈神经网络层进行进一步计算;softmax函数的计算方式如下:
Qi=xiWQ
Kj=xjWK
Vj=xjWV
是在训练过程中学习得到的矩阵,它们分别是Q,K,V的权重矩阵;每一个注意力头有属于自己特有的权重矩阵;值得一提的是,与传统的注意力机制有所区别,在自注意力机制中,同一个注意力头中,WQ=WK=WV,所以对于同一个输入元素xi,Qi=Ki=Vi
自注意力机制使用l个注意力头,所有注意力头的输出zh都被合并,然后进行线性变换得到每个子层的输出;多头注意力机制扩展了模型专注于不同位置的能力,为注意力层提供了多个表示子空间,多头注意力机制提供了多组Query,Key,Value集合,这些集合都是随机初始化生成的,在训练之后,每个集合都将用于输入的嵌入,然后被投入到不同的表示子空间中;多头注意力机制的输出结果计算公式如下:
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)
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)
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 | 福州大学 | 一种方面级用户产品评论情感分析方法及系统 |
-
2021
- 2021-03-22 CN CN202110303408.6A patent/CN113094502A/zh active Pending
Patent Citations (3)
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)
Title |
---|
姚彬;杜义华;: "一种基于深度学习的科普文章评论情感分析", 科研信息化技术与应用, no. 04, pages 29 - 35 * |
Cited By (7)
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 |