一种文本立场检测方法技术

技术编号:28478404 阅读:31 留言:0更新日期:2021-05-15 21:47
本发明专利技术涉及一种文本立场检测方法,包括以下步骤:使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,从而判断训练集a中评论数据的立场。本发明专利技术使用无需人工标注的训练集对模型进行训练后,再结合kmeans算法即可检测出评论数据立场的方法。场的方法。场的方法。

【技术实现步骤摘要】
一种文本立场检测方法


[0001]本专利技术涉及自然语言
,特别涉及一种文本立场检测方法。

技术介绍

[0002]互联网上有大量的言论,往往需要对这些言论中的立场进行检测。比如电商的评论区中用户对产品的评价立场,豆瓣电影中观众对电影的评价立场,以及微博言论中评论人对某个事件的态度立场等等。因此本申请中所述文本的应用领域为以人类语言表示的各种言论、评论。
[0003]传统的立场检测方法需要对每一个特定场景的数据进行大量的人工标注,然后将人工标注的数据用来训练监督学习模型,以使用训练好的模型判断文本的立场。这种方法虽然准确率较高,但是需要标注的成本也太高,且不通用。
[0004]还有传统的基于非监督学习的立场检测,直接对言论的词向量聚类来进行立场判断,由于这种方法没有针对性,往往聚类出来的结果并不是想要的,或者使不准确的。

技术实现思路

[0005]本专利技术的目的在于无需人工标注训练集,也能对评论数据进行立场检测,提供一种文本立场检测方法。
[0006]为了实现上述专利技术目的,本专利技术实施例提供了以下技术方案:一种文本立场检测方法,包括以下步骤:使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;所述训练集a中为若干无标注的评论数据;所述评论数据为以人类语言表示的言论、评论;在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场。
[0007]所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,具体包括:在语义一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为正向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为反向立场;在语义不一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为反向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为正向立场。
[0008]所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中
评论数据的立场的步骤,还包括:若对训练集b所对应的向量进行聚类后,其对应的评论数据未被划分到任何簇中,则该条评论数据为中立立场。
[0009]所述使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型的步骤之前,还包括:将数据集a中的每条评论数据以标点符号为基准分为一条或多条语句,将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能。
[0010]所述将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能的步骤,具体包括:若随机交错后的评论数据出自于数据集a中同一条评论数据,则BERT预训练模型判断为语义一致;若随机交错后的评论数据出自于数据集a中不同的评论数据,则BERT预训练模型判断为语义不一致。
[0011]与现有技术相比,本专利技术的有益效果:本专利技术使用无需人工标注的训练集对模型进行训练后,再结合kmeans算法即可检测出评论数据立场的方法。
附图说明
[0012]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0013]图1为本专利技术实施例1立场检测方法流程图。
具体实施方式
[0014]下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0015]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0016]实施例1:本专利技术通过下述技术方案实现,如图1所示,一种文本立场检测方法,包括以下步骤:
步骤S1:使用BERT预训练模型对训练集a进行finetune训练,形成训练后的BERT预训练模型。
[0017]所述训练集a中为若干无标注的评论数据,作为举例,比如现在数据集a中有三条评论数据,分别为:第一条:“这个苹果真好吃,太甜了!”第二条:“这部电影真好看,剧情很有意思,我推荐你去看。”第三条:“我买了一件衣服,拉链式坏的,我再也不在这家买了。”将这三条评论数据输入BERT预训练模型进行finetune训练,此种训练属于现有技术,故不赘述,从而形成训练后的BERT预训练模型,完成对BERT预训练模型的训练。
[0018]步骤S2:在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b。
[0019]本方案所述正向立场即为支持态度,反向立场即为反对态度。比如本实施例所添加的正向立场为“我喜欢它。”,添加的反向立场为“我不喜欢它。”,那么在步骤S1中举例的三条评论数据结尾处分别加上这两种立场,即为:“这个苹果真好吃,太甜了!我喜欢它。”“这个苹果真好吃,太甜了!我不喜欢它。”“这部电影真好看,剧情很有意思,我推荐你去看。我喜欢它。”“这部电影真好看,剧情很有意思,我推荐你去看。我不喜欢它。”“我买了一件衣服,拉链式坏的,我再也不在这家买了。我喜欢它。”“我买了一件衣服,拉链式坏的,我再也不在这家买了。我不喜欢它。”则从原始的训练集a中三条评论数据变成了六条评论数据,这六条评论数据即构成所述训练集b。
[0020]步骤S3:对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量。
[0021]所述BERT预训练模型是基于双向Transformer的大规模预训练语言模型,该预训练模型能分别捕捉词语和句子级别的表示,高效抽取文本信息,并应用于各种NLP任务。
[0022]比如将步骤S2中训练集b内的六条评论数据输入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文本立场检测方法,其特征在于:包括以下步骤:使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;所述训练集a中为若干无标注的评论数据;所述评论数据为以人类语言表示的言论、评论;在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场。2.根据权利要求1所述的一种文本立场检测方法,其特征在于:所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,具体包括:在语义一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为正向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为反向立场;在语义不一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为反向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为正向立场。3.根据权...

【专利技术属性】
技术研发人员:刘世林康青杨黄艳曾途
申请(专利权)人:成都数联铭品科技有限公司
类型:发明
国别省市:

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

1