CN115563987B - 一种评论文本分析处理方法 - Google Patents
一种评论文本分析处理方法 Download PDFInfo
- Publication number
- CN115563987B CN115563987B CN202211265766.3A CN202211265766A CN115563987B CN 115563987 B CN115563987 B CN 115563987B CN 202211265766 A CN202211265766 A CN 202211265766A CN 115563987 B CN115563987 B CN 115563987B
- Authority
- CN
- China
- Prior art keywords
- model
- training
- text
- emotion
- data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种评论文本分析处理方法,属于自然语言处理技术领域,解决了现有技术中模型对评论文本的内在联系和上下文表征学习不充分,方面级情感结构不完整,情感元素维度过少、输出文本非结构化、结果不直观的问题。通过预训练方法和微调方法获得的情感分析模型,学习到了评论文本的内在逻辑及上下文表征,将经过预处理的评论文本输入情感分析模型,能输出结构化的分析文本,为后期的量化和评估提供了更优化的信息。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种评论文本分析处理方法。
背景技术
随着社会的进步和科技的发展,互联网上会产生大量观点和感受的评论信息,这些评论信息对于了解用户需求、社会舆论走向和社会预期等有至关重要的意义。基于NLP的情感分析技术可以帮助我们高效地分析这些评论信息并产生可用的结果。情感分析(Sentiment Analysis)是利用人们对产品、服务、组织、个人、问题、事件、话题等的评论文本,分析相应的观点、情感、情绪、评价和态度的技术,是将非结构化评论文本转换成结构化数据的有效方法。
目前的对文本的情感分析主要集中在对于四个情感元素的抽取,分别是方面项(Aspect Term)、方面类别(Aspect Category)、观点项(Opinoin Term)和情感极性(Sentiment Polarity)。单一的情感分析只抽取上述四元素中的一个,通常通过一个分类或序列标注方法就能实现,虽然实现简单,但是这种方法不能展示四个情感元素之间的关联,也忽略了评论中的很多重要信息。相应地,复合的情感分析任务同时抽取上述四元素中的两个或更多,实现方法通常有4种:管道方法(Pipline)、联合方法(Joint)、统一方法(Unified)以及序列到序列方法(Seq2seq)。管道方法一般先抽取一到两个元素,再根据抽取出的元素抽取其余的元素,由此将各个任务串联起来;联合方法通常通过在多任务学习框架内对子任务进行联合训练、共享参数的方式实现,最终的结果由子任务的输出组合得到;统一方法训练时不区分子任务,将各子任务的标签组合成一套统一的标签进行训练和预测;序列到序列方法将所有任务都当作是文本生成任务,输入和输出都是一段文本,这种方法可以更好地利用预训练模型包含的知识,在少样本和零样本的情况下有很大的优势。
目前,国外对于情感分析的研究主要集中在三联(即同时抽取4个元素中的三个),国内还没有学者公开专门解决评论文本情感分析任务的预训练模型,且情感分析的研究主要集中在单一情感分析和两联抽取上,模型与对评论文本情感抽取任务的适配性和表现不高,对评论文本的情感分析不够全面,输出结果非结构化。可见,目前亟需用于评论文本多联情感分析处理的方法。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种评论文本分析处理方法,用以解决现有技术中对评论文本的情感分析不够全面,输出结果非结构化的问题。
一方面,本发明实施例提供了一种评论文本分析处理方法,包括如下步骤:获取待分析的评论文本;
对所述待分析的评论文本进行预处理;
将预处理后的文本输入情感分析模型得到所述评论文本的分析结果;其中,所述情感分析模型通过下式方式训练得到:
对mT5模型进行预训练,得到训练好的模型Mpt;其中,所述模型Mpt通过输入掩码后的文本目标输出原始文本训练得到;
获取情感标注后的微调任务数据集对训练好的所述模型Mpt进行微调任务训练,得到所述情感分析模型。
进一步的,所述对所述待分析的评论文本进行预处理,包括:对获取的数据进行去噪处理;
其中,所述去噪处理包括:删除所述评论文本数据中的特殊符号和多余的空格,将所有全角字符转换为半角,将所有繁体字转换为简体,将所有大写的英文字母转换为小写。
进一步的,所述对mT5模型进行预训练,得到训练好的模型Mpt,包括:
获取预训练所需原始数据集DP;
根据原始数据集Dp构建相应模型词表Vp和分词器;
对原始数据集Dp进行掩码,得到包括不完整数据及原始文本对的训练数据集;
基于所述训练数据集及其标签对已构建分词器的mT5模型进行预训练得到训练好的模型Mp。
进一步的,获取预训练所需原始数据集DP,包括:
利用爬虫技术爬取大量评论文本;以及
使用现有中文情感分析数据集。
进一步的,所述对原始数据集Dp进行掩码,得到包括不完整数据及原始文本对的训练数据集,包括:
将原始数据集Dp打乱,得到打乱后的数据集Dp_s;
使用随机遮盖法对Dp中的部分数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Da_;
使用重点遮盖法对Dp中的剩余部分数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Db_;
使用整句遮盖法对数据集Dp_s中长度大于预设值的数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Dc_;
合并Da_,Db_,Dc_,得到所述训练数据集Dp_all。
进一步的,利用下述损失函数对已构建分词器的mT5模型进行预训练:
其中,Xtrue为所述训练数据集Dp_all中的原始文本经过分词、one-hot编码得到的向量集合;Xout为输入原始文本数据对应的不完整数据至mT5模型经解码完成后得到的输出向量集合;n为不完整数据及原始文本对的数量。
进一步的,根据原始数据集Dp构建相应模型词表Vp,包括:
使用jieba工具包对所述原始数据集Dp进行分词,所得的词与bert中文词表合并得到词表Vjb;
使用bert分词器及词表Vjb对所述原始数据集Dp进行再次分词,统计出现次数,筛选高频词;
修改词表Vjb,删除非高频词,加入标记,得到最终词表Vp。
进一步的,对所述模型Mpt进行微调,得到所述情感分析模型,包括:
获取微调任务数据集Df;
使用六联情感元素对所述微调任务数据集Df进行结构化标注,得到标注后的微调任务数据集Df_;
将标注后的微调任务数据集Df_的原文、完整标注、结构词和标签通过组合方法组合构建输入和目标输出,得到对应训练集,以及验证集Df_dev和测试集Df_test;;
利用所述至少一种训练集对训练好的所述模型Mpt进行微调任务训练,使用验证集Df_dev、测试集Df_test分别进行验证和测试,得到所述六联情感分析模型;所述六联情感元素包括:情感观点、情感极性、评价方面、方面类别、方面主体和情感归因。
进一步的,所述组合方法包括如下三种组合方法:输入原文和提示语,输出结构词;输入原文,输出完整标注;输入结构词和标签,输出完整标注;
以所述三种组合方法分别构建得到训练集Df1、Df2、Df3,以所述三种组合方法构建得到所述验证集Df_dev和测试集Df_test。
进一步的,利用至少包含所述训练集Df2的一至三种训练集对训练好的所述模型Mpt进行微调任务训练,包括:
将至少包含所述训练集Df2的一至三种训练集输入模型Mpt,输出最终结果概率;计算交叉熵损失;
当输入模型的训练集Df1、Df2经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss1、Loss2,更新编码器参数θe和解码器参数θd;当输入模型的训练集Df3经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss3,不更新编码器参数θe,只更新解码器参数θd;
所述交叉熵损失计算表达式为:
Loss1=CrossEntropy(Pf1,Df1),
Loss2=CrossEntropy(Pf2,Df2),
Loss3=CrossEntropy(Pf3,Df3);
通过最小化Loss更新模型参数,直到Loss不再下降。
与现有技术相比,本发明至少可实现如下有益效果:
1、通过对mT5模型进行预训练,得到模型Mpt;然后对训练好的所述模型Mpt进行微调任务训练,得到情感分析模型;利用该情感分析模型对待分析的评论文本进行分析处理,能够将大量评论中的情感元素结构词抽取出来并进行预测,输出结构化的情感分析文本数据,方便了后期对预测结果进行加工和分析。
2、通过获取情感分析领域文本构建数据集,并以三种不同的掩码方式进行预训练的模型,在适配下游任务即对评论文本分析处理时的性能及表现得到提升;
3、基于所述预训练模型,以结构化标注后的评论文本构建数据集微调模型,使得训练好的最终模型在输入评论文本后能够输出结构化的情感分析文本,与传统的序列到序列方法生成的非结构化文本相比,输出结果更直观,并且更容易进行量化评估;
4、在现有四种情感元素的基础上,增加了方面主体和情感归因两种新的情感元素,提高了模型对评论文本情感分析的完整性。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例的评论文本分析处理方法流程图;
图2为本发明实施例的结构化的六联情感分析模型的训练方法流程图;
图3为本发明实施例的预训练方法流程图;
图4为构建预训练数据集过程示意图;
图5为本发明实施例的训练预训练模型过程示意图;
图6为本发明实施例的训练微调模型过程示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,如图1所示,公开了一种评论文本分析处理方法,包括以下步骤:
步骤S110、获取待分析的评论文本;所述待分析的评论文本可以是从相关网站或软件获取的外部数据,或者运营方直接获得的网站或软件的内部数据。
步骤S120、对所述待分析的评论文本进行预处理;所述预处理包括对获取的数据进行去噪处理。
其中,所述去噪处理包括:删除所述评论文本数据中的特殊符号和多余的空格,将所有全角字符转换为半角,将所有繁体字转换为简体,将所有大写的英文字母转换为小写。
步骤S130、将预处理后的文本输入情感分析模型得到所述评论文本的分析结果;其中,所述情感分析模型通过下式方式训练得到:
对mT5模型进行预训练,得到训练好的模型Mpt;其中,所述模型Mpt通过输入掩码后的文本目标输出原始文本训练得到;
获取情感标注后的微调任务数据集对训练好的所述模型Mpt进行微调任务训练,得到所述情感分析模型。
本发明实施例通过获取待分析的评论文本并对其进行预处理,再将其输入经过训练的情感分析模型,使模型输出结构化的情感分析文本,为后期的量化和评估提供了更优化的信息。
在上述实施例的基础上,如图2所示,上述步骤S130还可以优化为以下步骤:
步骤S210:预训练任务原始数据的获取及预处理:获取预训练用评论文本;对预训练用评论文本进行预处理,得到预训练所需原始数据集DP;
具体的,所述获取预训练用评论文本的途径有两种:1.利用爬虫技术从各大新闻、社交媒体及提供的网站上爬取大量评论文本;2.使用现有中文情感分析数据集。可选的,所述中文情感分析数据集包括ASC-QA,ASAP数据集等。
优选的,所述获取数据的数据总量不低于5G,数据越多模型表现越好。
所述对预训练用评论文本进行预处理,包括:对获取的文本数据进行去噪处理;将去噪完成的数据打乱顺序,形成预训练所需的原始数据集Dp。
其中,所述去噪处理包括:删除获取数据中可能影响模型训练的特殊符号和多余的空格,将所有全角字符转换为半角,将所有繁体字转换为简体,将所有大写的英文字母转换为小写,删除从现有数据集获取的数据的标注。
步骤S220:构建用于预训练任务的词表及分词器:根据Dp构建相应模型词表Vp,将所述词表Vp应用于mT5模型的分词器;
具体的,所述词表Vp的构建包括:下载bert中文预训练模型(bert-chinese)词表并安装jieba工具包;使用jieba工具包对所述原始数据集Dp进行分词;分词所得的所有词加入bert中文词表并去除重复词,构成新词表Vjb;将bert分词器的词表改为Vjb,用bert分词器对Dp中的所有文本再次进行分词,统计每个词出现的次数并降序排列;修改Vjb,只保留高频词,删除其余词汇,不删除标点、数字、字母,得到Vjb_;向Vjb_中加入特殊标记;向Vjb_中加入备用标记,得到最终的词表Vp。
所述分词器的构建包括:将mT5模型分词器更改为bert分词器;将bert分词器词表更改为Vp;
优选的,所述高频词为出现次数排名前5万的词;
优选的,所述特殊标记包括<unk>,<mask>,<pad>,<cls>,<sep>,分别用于识别词表中不存在的词,遮盖的字符,句子长度的填充,句子开头,句子结束;
优选的,所述备用标记数量为100个,分别是<unused1>~<unused100>,用于微调时遇到的陌生词汇和构建情感元素首尾标签;
步骤S230:构建用于预训练任务的训练数据:对Dp进行掩码,构建训练所需数据及其标签,划分数据集得到Dp_train,Dp_dev,Dp_test;
具体的,如图2所示,包含:将原始数据集Dp打乱,得到Dp_s;将Dp_s对半分成两个小数据集,记为Da和Db;将Dp_s中所有长度大于特定数值的文本单独取出,组成新的数据集Dc;使用随机遮盖法对Da中的每条数据进行遮盖,向Da中增加对应的遮盖后的文本,得到包含(遮盖后文本,原始文本)对的数据集Da_;使用重点遮盖法对Db中的每条数据进行遮盖,向Db中增加对应的遮盖后的文本,得到包含(遮盖后文本,原始文本)对的数据集Db_;使用整句遮盖法对Dc中的每条数据进行遮盖,向Dc中增加对应的遮盖后的文本,得到包含(遮盖后文本,原始文本)对的数据集Dc_;合并Da_,Db_,Dc_,得到最终数据集Dp_all;打乱Dp_all,得到Dp_all_s;将Dp_all_s按照特定比例划分为训练集、验证集、测试集,记为Dp_train,Dp_dev,Dp_test。
其中,所述随机遮盖法,具体为:随机将特定比率的子词替换成<mask>,如遇非整子词数则向下取整;所述重点遮盖法,具体为:使用textrank算法对各子词进行打分,将得分排名靠前的特定比率的子词替换成<mask>,如遇非整子词数则向下取整;所述整句遮盖法,具体为:对于长度大于特定数值的文本进行分句,使用textrank算法对各子句进行打分,将得分排名靠前的特定比率的子句全部替换成<mask>,如遇非整子句数则向下取整。需要说明的是,在将原文替换成<mask>的过程中,如遇连续的<mask>标记,需将所有连续的<mask>合为一个<mask>。使用textrank算法进行打分,并遮盖掉得分高的文本片段,是为了让预训练模型对重要的文本片段有更强的编码能力。
表1、表2、表3分别展示了使用随机遮盖法、重点遮盖法和整句遮盖法对原始文本进行遮盖的示例。
表1根据随机遮盖法对原始文本进行遮盖的示例
表2根据重点遮盖法对原始文本进行遮盖的示例
表3根据整句遮盖法对原始文本进行遮盖的示例
优选的,所述训练集、验证集、测试集的比例为8:1:1;
优选的,使用所述随机遮盖法遮盖的子词的比率为15%;使用所述textrank算法对子词或子句进行打分,将得分排名前20%的子词或子句替换成<mask>;使用所述整句遮盖法遮盖的数据的文本长度大于200;
需要注意的是,构建的训练数据集在原始数据集的基础上增加了长度大于200的数据,故每条长度大于200的数据应该在最终数据集Dp_all和Dp_all_s中出现两次,但两次的遮盖方法不同,这么做有助于提高模型对长文本的学习效果和编码能力。
步骤S240:训练预训练模型:用所述数据集Dp_train对mt5模型进行预训练,使用验证集Dvaild验证模型预测效果,使用测试集Dtest测试最终结果,最终得到预训练好的模型Mpt;
具体的,包括:加载mT5模型权重,确认分词器已改为重新构建的bert分词器;使用数据集Dp_train进行训练;使用验证集Dvaild验证模型预测效果,保存效果最好的一轮模型,使用测试集Dtest测试最终结果。其中,所述mT5模型是一个序列到序列的模型,由一个编码器和一个解码器组成;所述mT5模型的输入为遮盖之后的文本,输出为原始文本。
进一步的,所述预训练任务每轮训练流程如图3所示,包括:
3)解码时,在第一个时间步t0,解码器接收He与随机初始化的词表长度的向量xran,输出词表长度的向量x0,x0中每个元素的值代表词表对应位置的词的概率,概率最大的位置对应的词为这一步的输出;
4)在之后的每个时间步t,解码器都接收Hc与上一个时间步的输出xt-1,得到该时间步的输出xt。一般的,第一个时间步的输出x0所对应的词为特殊标记<cls>,代表句子开头,而当某一时间步T预测出的xT所对应的词为<sep>时,代表句子结束,解码器不再进行解码。
5)解码完成后,得到输出的向量集合Xout=[x0,x1,...,xT],Xout与真实向量Xtrue的交叉熵作为损失:
其中真实向量Xtrue为输入的原始文本经过one-hot编码后的向量集合。
反向传播损失,通过最小化LOSS更新模型参数,直到LOSS不再下降。
需要说明的是,如果输出的向量集合Xout长度小于Xidx的长度,则用相等形状的全0向量补齐。
步骤S250:对训练好的模型Mpt进行微调任务训练,得到所述情感分析模型。
具体的,步骤S250还可以优化为以下步骤:
步骤S310:获取微调任务数据集Df。
具体的,所述获取微调任务数据集Df包括:基于下游任务获取微调任务原始数据,对微调任务原始数据进行预处理,得到微调任务数据集Df;其中,所述下游任务指实际需要解决的情感提取任务。
进一步的,获取微调任务原始数据的途径有两种:继续使用预训练任务的中文情感分析数据集;或者自行准备其他数据。预处理包括:对获取的数据进行去噪处理;将去噪完成的数据打乱顺序,形成微调任务预训练所需的微调任务数据集Df。
其中,所述去噪处理包括:删除获取数据中可能影响模型训练的特殊符号和多余的空格,将所有全角字符转换为半角,将所有繁体字转换为简体,将所有大写的英文字母转换为小写。
可选的,所述中文情感分析数据集包括ASC-QA,ASAP数据集等。
步骤S320:使用六联情感元素对所述微调任务数据集Df进行结构化标注,得到标注后的微调任务数据集Df_。
具体的,所述六种情感元素,包括:
1)情感观点:直接或间接表达观点或情感的词、短语、句子均可,必须从原始文本中抽取得到;
2)情感极性:情感观点表达的情感态度,分为正面、负面和中立,需自行判断;
3)评价方面:评价的对象,如提到了具体事物,则标注具体事物,否则标注评价对象所属类别(方面类别);
4)方面类别:评价对象所属类别,如食品、服务、环境等,需自行归类。注意类别名称应该统一,如食品和食物应该统一名称为一类;
5)方面主体:评价对象所属的主体,如评价对象为某食品,则主体可能为某超市、某饭店等;
6)情感归因:评价者给出某情感观点和表达某情感态度的理由,一般是对评价方面的具体描述,需人工进行提炼和概括;
需要注意的是,以上六个情感元素只同时表示一种观点或评价,多个观点或评价需分别标注,最后拼接在一起。
具体的,所述结构化情感元素标注格式,包括:使用6对以不同字母作区分的首尾标签代表6种情感元素对数据进行标注;以情感观点作为首要元素,情感极性、评价方面、方面主体、情感归因作为情感观点的附属元元素,方面类别作为评价方面的下一级附属元素,划分层次结构。
其中,所述六种情感元素与标签的对应关系,如表4所示。
表4六种情感元素与其首尾所对应的标签
情感元素 | 首标签 | 尾标签 |
情感观点 | <o> | <o/> |
情感极性 | <p> | <p/> |
评价方面 | <a> | <a/> |
方面类别 | <c> | <c/> |
方面主体 | <t> | <t/> |
情感归因 | <r> | <r/> |
其中,所述结构化情感元素标注格式,如表5所示。
表5结构化情感元素的标注格式
<o>情感观点 |
<p>情感极性<p/> |
<a>评价方面 |
<c>方面类别<c/><a/> |
<t>方面主体<t/> |
<r>情感归因<r/><o/> |
该格式中不仅包含了各情感元素的内容,还包含了情感元素的上下级关系,这样做有两个优势。第一,模型更容易学习这种包含逻辑性的文本;第二,便于后期对预测结果进行加工和分析。
进一步的,依照所述标注方法和所述标注格式进行标注的样例如表6所示。
表6按照本发明规定的标注方法和标注格式进行标注的样例
注意,如果原文本中有些情感元素未出现,则首尾标签之间无需填入任何内容,但任何情况下12个首尾标签缺一不可;在输入模型时,需将标注按现在的顺序写在同一行里,标注1与标注2直接前后拼接,中间无需加任何符号;对Df中的所有数据进行标注,若Df中存在已经带标注的数据,则在此基础上进行补充。
步骤S330:将标注后的微调任务数据集Df_的原文、完整标注、结构词和标签通过组合方法组合构建输入和目标输出,得到对应训练集,以及验证集Df_dev和测试集Df_test。
具体的,构建所述训练集,以及验证集Df_dev和测试集Df_test包括:以训练模型的识别并预测结构词的能力、训练模型的整体预测+整合能力、训练模型的整合(解码)能力为目标,将微调任务数据集Df的原文、完整标注、结构词和标签通过三种不同的组合方法构建输入和目标输出;所述三种方法,包括:输入原文+提示语(prompt),输出结构词;输入原文,输出完整标注;输入结构词+标签,输出完整标注。以所述三种方法分别构建训练集Df1、Df2、Df3,以所述三种方法中第二种方法构建验证集Df_dev和测试集Df_test;
更具体的,所述完整标注为Df_中所有的标注,所述结构词为所有标注中的文字内容。
表7展示了对表6中的所述原文本构建微调任务训练数据的三种方法。
表7构建微调训练数据的三种方法样例
其中,所述方法1能够训练模型识别并预测结构词的能力,所述方法2的输入输出为原始输入输出,能够训练模型的整体预测+整合能力,所述方法3输入结构词与标签,输出原始输出,能够训练模型的整合(解码)能力。
优选的,取出全部数据的20%,使用方法2进行构建,将这部分数据对半分开,得到Df_dev和Df_test;将剩余的数据平均分成三份,分别用所述三个方法进行构建,得到三个数据集Df1,Df2,Df3。
需要说明的是,所述方法1中在原文后添加的提示语(prompt)为“找出结构词”,目标输出的结构词之间用逗号隔开,每组情感元素之间用句号隔开。所述方法3的输入是在所述方法1的输出的后面加了一组标签,结构词的顺序与标签的顺序不能随意打乱,且标签只加一组。开始训练前,可以先用分词器对所有数据进行分词,如有分词器词表中不存在的词(分词结果为<unk>),可以使用词表中剩余的备用标记进行替换。
步骤S340:利用所述训练集对训练好的所述模型Mpt进行微调任务训练,使用验证集Df_dev、测试集Df_test分别进行验证和测试,得到所述六联情感分析模型。
具体的,所述微调任务训练包括:将至少包含所述训练集Df2的一至三种训练集输入模型Mpt,输出最终结果概率;计算交叉熵损失;
优选的,输入所述模型Mpt的数据集为所述三个数据集Df1,Df2,Df3。
当输入模型的训练集Df1、Df2经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss1、Loss2,更新编码器参数θe和解码器参数θd;当输入模型的训练集Df3经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss3,不更新编码器参数θe,只更新解码器参数θd;
所述交叉熵损失计算表达式为:
Loss1=CrossEntropy(Pf1,Df1),
Loss2=CrossEntropy(Pf2,Df2),
Loss3=CrossEntropy(Pf3,Df3);
通过最小化Loss更新模型参数,直到Loss不再下降。
更具体的,包括:将所述模型Mpt词表里12个备用标记替换成12个情感元素首尾标签;训练以轮计算,每轮训练分为两个阶段,第一阶段使用数据集Df1和Df2,第二阶段冻结模型的解码器,只训练编码器,使用数据集Df3;每轮训练结束后使用验证集Df_dev进行验证;重复训练数轮,选择在Df_dev上表现最好的模型为最终模型Mft,并用测试集Df_test进行测试。
进一步的,所述微调任务每一轮的微调过程如图4所示,包括:
1)依次向模型输入Df1,Df2,编码器接收数据,输出包含了输入序列上下文信息的隐向量Hc,并将Hc输入给解码器,解码器根据Hc按词输出最终结果概率,记Df1,Df2所对应输出的最终结果概率分别为Pf1,Pf2;发送控制信号使模型编码器冻结,向模型输入Df3,解码器输出最终结果概率Pf3。
所述最终结果概率的表达式为:
其中,x、y、yw分别是输入的原始文本、完整标注以及完整标注中的结构词部分;θe、θd分别是编码器、解码器参数;prompt和s分别是提示和一组标签,prompt=str(找出结构词),s=<o><p><p/><a><c><c/><a/><t><t/><r><r/><o/>。
2)依次计算Df1与Pf1、Df2与Pf2、Df3与Pf3的交叉熵损失,记Loss1、Loss2、Loss3;当输入模型的数据为Df1时,向前传播Loss1,更新θe和θd,当输入模型的数据为Df2时,向前传播Loss2,更新θe和θd,当输入模型的数据为Df3时,向前传播Loss3,不更新θe,只更新θd。
所述交叉熵损失计算表达式为:
Loss1=CrossEntropy(Pf1,Df1),
Loss2=CrossEntropy(Pf2,Df2),
Loss3=CrossEntropy(Pf3,Df3)。
优选的,重复所述微调过程50轮,选择在Df_dev上表现最好的模型为最终模型Mft,并用测试集Df_test进行测试。
综上所述,本实施例的有益效果如下:
与现有技术相比,本发明至少可实现如下有益效果之一:
1、通过对mT5模型进行预训练,得到模型Mpt;然后对训练好的所述模型Mpt进行微调任务训练,得到情感分析模型;利用该情感分析模型对待分析的评论文本进行分析处理,能够将大量评论中的情感元素结构词抽取出来并进行预测,输出结构化的情感分析文本数据,方便了后期对预测结果进行加工和分析。
2、通过获取情感分析领域文本构建数据集,并以三种不同的掩码方式进行预训练的模型,在适配下游任务即对评论文本分析处理时的性能及表现得到提升;
2、基于所述预训练模型,以结构化标注后的评论文本构建数据集微调模型,使得训练好的最终模型在输入评论文本后能够输出结构化的情感分析文本,与传统的序列到序列方法生成的非结构化文本相比,输出结果更直观,并且更容易进行量化评估;
3、在现有四种情感元素的基础上,增加了方面主体和情感归因两种新的情感元素,提高了模型对评论文本情感分析的完整性。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种评论文本分析处理方法,其特征在于,包括如下步骤:
获取待分析的评论文本;
对所述待分析的评论文本进行预处理;
将预处理后的文本输入情感分析模型得到所述评论文本的分析结果;其中,所述情感分析模型通过下式方式训练得到:
对mT5模型进行预训练,得到训练好的模型Mpt,包括:
获取预训练所需原始数据集DP;
根据原始数据集Dp构建相应模型词表Vp和分词器;其中,使用jieba工具包对所述原始数据集Dp进行分词,所得的词与bert中文词表合并得到词表Vjb;使用bert分词器及词表Vjb对所述原始数据集Dp进行再次分词,统计出现次数,筛选高频词;修改词表Vjb,删除非高频词,加入标记,得到最终词表Vp;
对原始数据集Dp进行掩码,得到包括不完整数据及原始文本对的训练数据集,包括:将原始数据集Dp打乱,得到打乱后的数据集Dp_s;使用随机遮盖法对Dp中的部分数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Da_;使用重点遮盖法对Dp中的剩余部分数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Db_;使用整句遮盖法对数据集Dp_s中长度大于预设值的数据进行遮盖,得到包含遮盖后文本和原始文本对的数据集Dc_;合并Da_,Db_,Dc_,得到训练数据集Dp_all;
基于所述训练数据集及其标签对已构建分词器的mT5模型进行预训练得到训练好的模型Mpt,包括:利用下述损失函数对已构建分词器的mT5模型进行预训练:
其中,Xtrue为所述训练数据集Dp_all中的原始文本经过分词、one-hot编码得到的向量集合;Xout为输入原始文本数据对应的不完整数据至mT5模型经解码完成后得到的输出向量集合;n为不完整数据及原始文本对的数量;
获取情感标注后的微调任务数据集对训练好的所述模型Mpt进行微调任务训练,得到所述情感分析模型,包括:
获取微调任务数据集Df;
使用六联情感元素对所述微调任务数据集Df进行结构化标注,得到标注后的微调任务数据集Df_;
将标注后的微调任务数据集Df_的原文、完整标注、结构词和标签通过组合方法组合构建输入和目标输出,得到对应训练集,以及验证集Df_dev和测试集Df_test;所述组合方法包括如下三种组合方法:输入原文和提示语,输出结构词;输入原文,输出完整标注;输入结构词和标签,输出完整标注;所述完整标注为Df_中所有的标注;以所述三种组合方法分别构建得到训练集Df1、Df2、Df3,以所述三种组合方法中第二种方法构建得到所述验证集Df_dev和测试集Df_test;
利用所述训练集对训练好的所述模型Mpt进行微调任务训练,包括:将训练集Df1、Df2、Df3输入模型Mpt,输出最终结果概率;计算交叉熵损失;当输入模型的训练集Df1、Df2经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss1、Loss2,更新编码器参数θe和解码器参数θd;当输入模型的训练集Df3经过模型Mpt的编码器编码和解码器解码时,向前传播交叉熵损失Loss3,不更新编码器参数θe,只更新解码器参数θd;所述交叉熵损失计算表达式为:
Loss1=CrossEntropy(Pf1,Df1),
Loss2=CrossEntropy(Pf2,Df2),
Loss3=CrossEntropy(Pf3,Df3);
通过最小化Loss更新模型参数,直到Loss不再下降;
使用验证集Df_dev、测试集Df_test分别进行验证和测试,得到所述情感分析模型;
所述六联情感元素包括:情感观点、情感极性、评价方面、方面类别、方面主体和情感归因。
2.根据权利要求1的方法,其特征在于:所述对所述待分析的评论文本进行预处理,包括:对获取的数据进行去噪处理;
其中,所述去噪处理包括:删除所述评论文本数据中的特殊符号和多余的空格,将所有全角字符转换为半角,将所有繁体字转换为简体,将所有大写的英文字母转换为小写。
3.根据权利要求1所述方法,其特征在于:获取预训练所需原始数据集DP,包括:
利用爬虫技术爬取大量评论文本;以及
使用现有中文情感分析数据集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211265766.3A CN115563987B (zh) | 2022-10-17 | 2022-10-17 | 一种评论文本分析处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211265766.3A CN115563987B (zh) | 2022-10-17 | 2022-10-17 | 一种评论文本分析处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115563987A CN115563987A (zh) | 2023-01-03 |
CN115563987B true CN115563987B (zh) | 2023-07-04 |
Family
ID=84746571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211265766.3A Active CN115563987B (zh) | 2022-10-17 | 2022-10-17 | 一种评论文本分析处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563987B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649338A (zh) * | 2015-10-30 | 2017-05-10 | 中国移动通信集团公司 | 信息过滤策略生成方法及装置 |
WO2019214145A1 (zh) * | 2018-05-10 | 2019-11-14 | 平安科技(深圳)有限公司 | 文本情绪分析方法、装置及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110263134B (zh) * | 2019-05-09 | 2023-06-27 | 平安科技(深圳)有限公司 | 智能化情感问答方法、装置及计算机可读存储介质 |
CN110516245A (zh) * | 2019-08-27 | 2019-11-29 | 蓝盾信息安全技术股份有限公司 | 细粒度情感分析方法、装置、计算机设备及存储介质 |
AU2020100710A4 (en) * | 2020-05-05 | 2020-06-11 | Chen, Dadu Mr | A method for sentiment analysis of film reviews based on deep learning and natural language processing |
CN114880461A (zh) * | 2022-06-02 | 2022-08-09 | 大连理工大学 | 一种结合对比学习和预训练技术的中文新闻文本摘要方法 |
-
2022
- 2022-10-17 CN CN202211265766.3A patent/CN115563987B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649338A (zh) * | 2015-10-30 | 2017-05-10 | 中国移动通信集团公司 | 信息过滤策略生成方法及装置 |
WO2019214145A1 (zh) * | 2018-05-10 | 2019-11-14 | 平安科技(深圳)有限公司 | 文本情绪分析方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115563987A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363743B (zh) | 一种智能问题生成方法、装置和计算机可读存储介质 | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN110413768B (zh) | 一种文章题目自动生成方法 | |
CN112699216A (zh) | 端到端的语言模型预训练方法、系统、设备及存储介质 | |
CN110119443B (zh) | 一种面向推荐服务的情感分析方法 | |
CN107436942A (zh) | 基于社交媒体的词嵌入方法、系统、终端设备及存储介质 | |
CN113094502A (zh) | 一种多粒度外卖用户评论情感分析方法 | |
CN108763211A (zh) | 融合蕴含知识的自动文摘方法及系统 | |
CN112349294B (zh) | 语音处理方法及装置、计算机可读介质、电子设备 | |
CN113505583A (zh) | 基于语义决策图神经网络的情感原因子句对提取方法 | |
CN117216234A (zh) | 基于人工智能的话术改写方法、装置、设备及存储介质 | |
CN113407711A (zh) | 一种利用预训练模型的吉布斯受限文本摘要生成方法 | |
CN117113937A (zh) | 一种基于大规模语言模型的电力领域阅读理解方法和系统 | |
Nithya et al. | Deep learning based analysis on code-mixed tamil text for sentiment classification with pre-trained ulmfit | |
CN115114940A (zh) | 一种基于课程化预训练的机器翻译风格的迁移方法和系统 | |
CN114611520A (zh) | 一种文本摘要生成方法 | |
CN113807307A (zh) | 一种用于视频多行为识别的多模态联合学习方法 | |
Kancharapu et al. | A comparative study on word embedding techniques for suicide prediction on COVID-19 tweets using deep learning models | |
Zhao et al. | Tibetan Multi-Dialect Speech and Dialect Identity Recognition. | |
CN115563987B (zh) | 一种评论文本分析处理方法 | |
CN115563972B (zh) | 一种结构化的六联情感分析模型的训练方法 | |
CN115114396A (zh) | 一种语言模型的训练方法、样本数据的构建方法及装置 | |
CN112464664B (zh) | 一种多模型融合中文词汇复述抽取方法 | |
Alvarado et al. | Detecting Disaster Tweets using a Natural Language Processing technique | |
CN114416923A (zh) | 一种基于富文本特征的新闻实体链接方法和系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |