CN112800233B - 一种文本立场检测方法 - Google Patents
一种文本立场检测方法 Download PDFInfo
- Publication number
- CN112800233B CN112800233B CN202110392633.1A CN202110392633A CN112800233B CN 112800233 B CN112800233 B CN 112800233B CN 202110392633 A CN202110392633 A CN 202110392633A CN 112800233 B CN112800233 B CN 112800233B
- Authority
- CN
- China
- Prior art keywords
- comment data
- training
- training set
- semantics
- 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
- 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/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种文本立场检测方法,包括以下步骤:使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,从而判断训练集a中评论数据的立场。本发明使用无需人工标注的训练集对模型进行训练后,再结合kmeans算法即可检测出评论数据立场的方法。
Description
技术领域
本发明涉及自然语言技术领域,特别涉及一种文本立场检测方法。
背景技术
互联网上有大量的言论,往往需要对这些言论中的立场进行检测。比如电商的评论区中用户对产品的评价立场,豆瓣电影中观众对电影的评价立场,以及微博言论中评论人对某个事件的态度立场等等。因此本申请中所述文本的应用领域为以人类语言表示的各种言论、评论。
传统的立场检测方法需要对每一个特定场景的数据进行大量的人工标注,然后将人工标注的数据用来训练监督学习模型,以使用训练好的模型判断文本的立场。这种方法虽然准确率较高,但是需要标注的成本也太高,且不通用。
还有传统的基于非监督学习的立场检测,直接对言论的词向量聚类来进行立场判断,由于这种方法没有针对性,往往聚类出来的结果并不是想要的,或者使不准确的。
发明内容
本发明的目的在于无需人工标注训练集,也能对评论数据进行立场检测,提供一种文本立场检测方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
一种文本立场检测方法,包括以下步骤:
使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;所述训练集a中为若干无标注的评论数据;所述评论数据为以人类语言表示的言论、评论;
在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;
对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;
使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场。
所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,具体包括:
在语义一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为正向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为反向立场;
在语义不一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为反向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为正向立场。
所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,还包括:
若对训练集b所对应的向量进行聚类后,其对应的评论数据未被划分到任何簇中,则该条评论数据为中立立场。
所述使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型的步骤之前,还包括:
将数据集a中的每条评论数据以标点符号为基准分为一条或多条语句,将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能。
所述将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能的步骤,具体包括:
若随机交错后的评论数据出自于数据集a中同一条评论数据,则BERT预训练模型判断为语义一致;
若随机交错后的评论数据出自于数据集a中不同的评论数据,则BERT预训练模型判断为语义不一致。
与现有技术相比,本发明的有益效果:
本发明使用无需人工标注的训练集对模型进行训练后,再结合kmeans算法即可检测出评论数据立场的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例1立场检测方法流程图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
实施例1:
本发明通过下述技术方案实现,如图1所示,一种文本立场检测方法,包括以下步骤:
步骤S1:使用BERT预训练模型对训练集a进行finetune训练,形成训练后的BERT预训练模型。
所述训练集a中为若干无标注的评论数据,作为举例,比如现在数据集a中有三条评论数据,分别为:
第一条:“这个苹果真好吃,太甜了!”
第二条:“这部电影真好看,剧情很有意思,我推荐你去看。”
第三条:“我买了一件衣服,拉链式坏的,我再也不在这家买了。”
将这三条评论数据输入BERT预训练模型进行finetune训练,此种训练属于现有技术,故不赘述,从而形成训练后的BERT预训练模型,完成对BERT预训练模型的训练。
步骤S2:在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b。
本方案所述正向立场即为支持态度,反向立场即为反对态度。比如本实施例所添加的正向立场为“我喜欢它。”,添加的反向立场为“我不喜欢它。”,那么在步骤S1中举例的三条评论数据结尾处分别加上这两种立场,即为:
“这个苹果真好吃,太甜了!我喜欢它。”
“这个苹果真好吃,太甜了!我不喜欢它。”
“这部电影真好看,剧情很有意思,我推荐你去看。我喜欢它。”
“这部电影真好看,剧情很有意思,我推荐你去看。我不喜欢它。”
“我买了一件衣服,拉链式坏的,我再也不在这家买了。我喜欢它。”
“我买了一件衣服,拉链式坏的,我再也不在这家买了。我不喜欢它。”
则从原始的训练集a中三条评论数据变成了六条评论数据,这六条评论数据即构成所述训练集b。
步骤S3:对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量。
所述BERT预训练模型是基于双向Transformer的大规模预训练语言模型,该预训练模型能分别捕捉词语和句子级别的表示,高效抽取文本信息,并应用于各种NLP任务。
比如将步骤S2中训练集b内的六条评论数据输入BERT预训练模型进行编码后,依次得到向量V_1、V_2、V_3、V_4、V_5、V_6,则是训练集b中每条评论数据所对应的向量。
步骤S4:使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场。
将kmeans算法中的聚类个数设置为2,则训练集b的向量经过聚类后,训练集b中的评论数据会被划分到两个簇中,其中一个簇代表评论数据的语义一致,另一个簇则代表评论数据的语义不一致。
由于训练集b中各评论数据的立场未知,但BERT预训练模型对训练集b进行编码后得到的向量中,可以被kmeans算法解析出语义环境。
那么在语义不一致的簇中,若评论数据结尾处添加的是正向立场,即添加了“我喜欢它。”,则该条评论数据为正向立场,因为原始训练集a中的评论数据如果和“我喜欢它。”的语义是一致的,那么说明原始训练集a中的该条评论数据的立场也是正向的,即和“我喜欢它。”的立场一致。
同理,若评论数据结尾处添加的是反向立场,即添加了“我不喜欢它。”,则该条评论数据为反向立场,因为原始训练集a中的评论数据如果和“我不喜欢它。”的语义是一致的,那么说明原始训练集a中的该评论评论的立场也是反向的,即和“我不喜欢它。”的立场一致。
反之,在语义不一致的簇中,若评论数据结尾处添加的是正向立场,即添加了“我喜欢它。”,则该条评论数据为反向立场,因为原始训练集a中的评论数据如果和“我喜欢它。”的语义不一致,那么说明原始训练集a中的该条评论数据的立场则是反向的,即和“我喜欢它。”不一致。
同理,在语义不一致的簇中,若评论数据结尾处添加的是反向立场,即添加了“我不喜欢它。”,则该条评论数据为正向立场,因为原始训练集a中的评论数据如果和“我不喜欢它。”的语义不一致,那么说明原始训练集a中的该条评论数据的立场则是正向的,即和“我不喜欢它。”不一致。
更进一步地,若对训练集b所对应的向量进行聚类后,其对应的评论数据未被划分到任何簇中,则说明该条评论数据的立场不为正向,也不为反向,而是中立立场。
以上就是使用无需人工标注的训练集对模型进行训练后,再结合kmeans算法即可检测出评论数据立场的方法。
实施例2:
基于实施例1的方案作出改进,在所述步骤S1中使用BERT预训练模型在训练集a上进行finetune训练之前,可以对BERT预训练模型判断语义是否一致的功能进行训练。
将数据集a中的每条评论数据以标点符号为基准分为一条或多条语句,将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型。
作为举例,比如现在数据集a中有三条评论数据,分别为:
第一条:“这个苹果真好吃,太甜了!”
第二条:“这部电影真好看,剧情很有意思,我推荐你去看。”
第三条:“我买了一件衣服,拉链式坏的,我再也不在这家买了。”
以标点符号为基准,比如逗号、句号、感叹号、问好等,将评论数据分为一条或多条语句,比如第一条评论数据则可以被分为2条语句,第二、三条评论数据则可以被分为3条语句。
将数据集a中所有评论数据中的一条或多条语句随机交错,构成不同的评论数据,比如得到评论数据“这个苹果真好吃,拉链是坏的,我推荐你去看。”,显然该条随机交错后的评论数据出自于不同评论数据,则BERT预训练模型判断为语义不一致。
比如得到评论数据“这部电影真好看,我推荐你去看。”,显然该条堆积交错后的评论数据出自于同一条评论数据,则BERT预训练模型判断为语义一致。
故此对BERT预训练模型具有判断语义是否一致的功能,本实施例2中其他技术方案与实施例1相同,不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (3)
1.一种文本立场检测方法,其特征在于:包括以下步骤:
使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型;所述训练集a中为若干无标注的评论数据;所述评论数据为以人类语言表示的言论、评论;
在训练集a中的每条评论数据的结尾处分别添加正向立场的话语和反向立场的话语,从而构成训练集b;
对训练集b中的评论数据输入训练好的BERT预训练模型进行编码,得到训练集b中每条评论数据所对应的向量;
使用kmeans算法对训练集b所对应的向量进行聚类,将聚类簇的个数设置为2,聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场;
所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,具体包括:
在语义一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为正向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为反向立场;
在语义不一致的簇中,若评论数据结尾处添加的是正向立场,则该条评论数据为反向立场;若评论数据结尾处添加的是反向立场,则该条评论数据为正向立场;
所述聚类后得到一个簇为语义一致,另一个簇为语义不一致,从而判断训练集a中评论数据的立场的步骤,还包括:
若对训练集b所对应的向量进行聚类后,其对应的评论数据未被划分到任何簇中,则该条评论数据为中立立场。
2.根据权利要求1所述的一种文本立场检测方法,其特征在于:所述使用BERT预训练模型在训练集a上进行finetune训练,形成训练后的BERT预训练模型的步骤之前,还包括:
将数据集a中的每条评论数据以标点符号为基准分为一条或多条语句,将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能。
3.根据权利要求2所述的一种文本立场检测方法,其特征在于:所述将所有评论数据中的一条或多条语句随机交错,构成不同的评论数据后输入BERT预训练模型,以使BERT预训练模型具有判断语义是否一致的功能的步骤,具体包括:
若随机交错后的评论数据出自于数据集a中同一条评论数据,则BERT预训练模型判断为语义一致;
若随机交错后的评论数据出自于数据集a中不同的评论数据,则BERT预训练模型判断为语义不一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110392633.1A CN112800233B (zh) | 2021-04-13 | 2021-04-13 | 一种文本立场检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110392633.1A CN112800233B (zh) | 2021-04-13 | 2021-04-13 | 一种文本立场检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800233A CN112800233A (zh) | 2021-05-14 |
CN112800233B true CN112800233B (zh) | 2021-06-18 |
Family
ID=75816928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110392633.1A Active CN112800233B (zh) | 2021-04-13 | 2021-04-13 | 一种文本立场检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800233B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682130A (zh) * | 2012-05-17 | 2012-09-19 | 苏州大学 | 一种文本情感分类方法及系统 |
CN103886081A (zh) * | 2014-03-26 | 2014-06-25 | 海信集团有限公司 | 一种信息发送方法及系统 |
CN109461037A (zh) * | 2018-12-17 | 2019-03-12 | 北京百度网讯科技有限公司 | 评论观点聚类方法、装置和终端 |
CN112214991A (zh) * | 2020-10-10 | 2021-01-12 | 上海海事大学 | 一种基于多特征融合加权的微博文本立场检测方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070249343A1 (en) * | 2006-04-19 | 2007-10-25 | Andreas Olsson | Method and system of communications |
CN106227718A (zh) * | 2016-07-18 | 2016-12-14 | 中国民航大学 | 基于cnn的陆空通话语义一致性校验方法 |
CN109389136A (zh) * | 2017-08-08 | 2019-02-26 | 上海为森车载传感技术有限公司 | 分类器训练方法 |
CN108804608B (zh) * | 2018-05-30 | 2021-08-27 | 武汉烽火普天信息技术有限公司 | 一种基于层次attention的微博谣言立场检测方法 |
CN108804612B (zh) * | 2018-05-30 | 2021-11-02 | 武汉烽火普天信息技术有限公司 | 一种基于对偶神经网络模型的文本情感分类方法 |
DE102018130289A1 (de) * | 2018-11-29 | 2020-06-04 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Anzeige von Nachrichten eines Nachrichtensystems |
-
2021
- 2021-04-13 CN CN202110392633.1A patent/CN112800233B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682130A (zh) * | 2012-05-17 | 2012-09-19 | 苏州大学 | 一种文本情感分类方法及系统 |
CN103886081A (zh) * | 2014-03-26 | 2014-06-25 | 海信集团有限公司 | 一种信息发送方法及系统 |
CN109461037A (zh) * | 2018-12-17 | 2019-03-12 | 北京百度网讯科技有限公司 | 评论观点聚类方法、装置和终端 |
CN112214991A (zh) * | 2020-10-10 | 2021-01-12 | 上海海事大学 | 一种基于多特征融合加权的微博文本立场检测方法 |
Non-Patent Citations (2)
Title |
---|
Better Sentiment Analysis with BERT;Marion Valette;《https://medium.com/southpigalle/how-to-perform-better-sentiment-analysis-with-bert-ba127081eda》;20190429;1 * |
检索式医疗问答系统中问句匹配算法研究;沈叶丹;《中国优秀硕士学位论文全文数据库 医药卫生科技辑》;20210115;E054-69 * |
Also Published As
Publication number | Publication date |
---|---|
CN112800233A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Sentiment analysis of multimodal twitter data | |
CN107133224B (zh) | 一种基于主题词的语言生成方法 | |
US11551007B2 (en) | Determining intent from a historical vector of a to-be-analyzed statement | |
CN103049435B (zh) | 文本细粒度情感分析方法及装置 | |
CN110019812B (zh) | 一种用户自生产内容检测方法和系统 | |
CN106649603B (zh) | 一种基于网页文本数据情感分类的指定信息推送方法 | |
CN109492229B (zh) | 一种跨领域情感分类方法和相关装置 | |
CN105139211B (zh) | 产品简介生成方法及系统 | |
CN102737013B (zh) | 基于依存关系来识别语句情感的设备和方法 | |
CN112214685A (zh) | 一种基于知识图谱的个性化推荐方法 | |
CN110717325B (zh) | 文本的情感分析方法、装置、电子设备及存储介质 | |
CN110781273B (zh) | 文本数据处理方法、装置、电子设备及存储介质 | |
CN108920665B (zh) | 基于网络结构和评论文本的推荐评分方法及装置 | |
CN111325571B (zh) | 一种多任务学习的商品评论标签自动生成方法、装置及系统 | |
Petz et al. | On text preprocessing for opinion mining outside of laboratory environments | |
CN112016002A (zh) | 融合评论文本层级注意力和时间因素的混合推荐方法 | |
CN110706028A (zh) | 基于属性特征的商品评价情感分析系统 | |
Zhang et al. | D-score: Holistic dialogue evaluation without reference | |
CN111966888A (zh) | 融合外部数据的基于方面类别的可解释性推荐方法及系统 | |
CN112948575A (zh) | 文本数据处理方法、装置和计算机可读存储介质 | |
Firdaus et al. | Multidm-gcn: Aspect-guided response generation in multi-domain multi-modal dialogue system using graph convolutional network | |
CN114201516A (zh) | 一种用户画像构建的方法、信息推荐的方法以及相关装置 | |
CN110659368A (zh) | 知识图谱构建方法、装置、电子设备及可读存储介质 | |
CN112800233B (zh) | 一种文本立场检测方法 | |
CN113469786A (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 |