一种文本数据挖掘方法、装置及电子设备与流程

文档序号:31202152发布日期:2022-08-20 01:53阅读:115来源:国知局
一种文本数据挖掘方法、装置及电子设备与流程

1.本公开涉及数据挖掘技术领域,尤其涉及一种文本数据挖掘方法、装置及电子设备。


背景技术:

2.目前为了提高客服机器人的理解能力和应答能力,需要对人工客服会话的数据挖掘,提取出问题-答案对,应用在线上的客服机器人问答中,来提升客服机器人回复用户问题时的整体表现,但是目前的数据挖掘方法,会存在针对问题抽取了错误答案的情况(例如,针对一些属性词、极性词等不能准确对焦,抽取错误),因此数据挖掘的准确性较低。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种文本数据挖掘方法、装置及电子设备,可以提高数据挖掘的准确性。
4.为了实现上述目的,本公开实施例提供的技术方案如下:
5.第二方面,提供一种文本数据挖掘方法,包括:
6.从历史会话日志中提取第一问题文本,以及与所述第一问题文本对应的第一回复段落;
7.将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本,所述目标bert模型为基于初始bert模型预训练后得到的模型;
8.将所述第一问题文本和所述第一答案预测文本对应存储;
9.其中,所述目标bert模型对所述第一回复段落通过以下至少一种第一向量进行标注:
10.属性判断向量,用于表示所述第一回复段落中词是否为属性词;
11.是否类词语判断向量,用于表示所述第一回复段落中词是不是表示是或否的词语;
12.重复词判断向量,用于表示所述第一回复段落中词是否出现在所述第一问题文本中。
13.作为本公开实施例一种可选的实施方式,所述将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本之前,包括:
14.获取标注样本数据,所述标注样本数据中包括多个问题文本,所述多个问题文本对应的回复段落,以及每个问题文本对应的标注答案文本;
15.从所述标注样本数据中获取目标问题文本、所述目标问题文本对应的目标回复段落,以及所述目标问题文本对应的目标答案文本;
16.将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本;
17.根据所述第二答案预测文本和所述目标答案文本,计算损失参数;
18.基于所述损失参数,对所述第一bert模型进行微调,得到所述目标bert模型。
19.作为本公开实施例一种可选的实施方式,所述将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本之前,所述方法还包括:
20.获取目标文本对数据;
21.根据所述目标文本对数据对预设bert模型进行预训练,以得到第二bert模型;
22.为所述第二bert模型配置所述至少一种第一向量,以得到所述第一bert模型。
23.作为本公开实施例一种可选的实施方式,所述根据所述文本配对数据对预设bert模型进行预训练时的预训练任务包括以下至少一种:
24.掩码语言模型mlm任务、下一句预测nsp任务。
25.作为本公开实施例一种可选的实施方式,所述文本对数据包括:
26.目标领域的文本对数据,和/或,任意领域的文本对数据。
27.作为本公开实施例一种可选的实施方式,所述将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本,包括:
28.所述第一问题文本和所述第一回复段落确定初始答案预测文本;
29.在根据所述第一问题文本和所述第一回复段落,确定所述第一问题文本为待反转极性类型时,从所述第一问题文本中提取系动词;
30.对所述系动词进行极性反转,以得到极性反转系动词;
31.根据所述极性反转系动词和所述初始答案预测文本,确定所述第一答案预测文本。
32.作为本公开实施例一种可选的实施方式,所述目标bert模型对所述第一回复段落还通过以下至少一种第二向量进行标注:
33.标记向量,用于将所述第一回复段落中各个词转换成固定维度的向量;
34.段向量,用于表示所述第一回复段落是否为同一个句子;
35.位置向量,用于表示所述第一回复段落中不同字在所述第一回复段落中的位置。
36.第二方面,提供一种文本数据挖掘装置,包括:
37.提取模块,用于从历史会话日志中提取第一问题文本,以及与所述第一问题文本对应的第一回复段落;
38.答案预测模块,用于将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本,所述目标bert模型为基于初始bert模型预训练后得到的模型;
39.存储模块,用于将所述第一问题文本和所述第一答案预测文本对应存储;
40.其中,所述目标bert模型对所述第一回复段落通过以下至少一种第一向量进行标注:
41.属性判断向量,用于表示所述第一回复段落中词是否为属性词;
42.是否类词语判断向量,用于表示所述第一回复段落中词是不是表示是或否的词语;
43.重复词判断向量,用于表示所述第一回复段落中词是否出现在所述第一问题文本
中。
44.作为本公开实施例一种可选的实施方式,所述装置还包括:
45.调整模块,用于在所述答案预测模块将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本之前,获取标注样本数据,所述标注样本数据中包括多个问题文本,所述多个问题文本对应的回复段落,以及每个问题文本对应的标注答案文本;从所述标注样本数据中获取目标问题文本、所述目标问题文本对应的目标回复段落,以及所述目标问题文本对应的目标答案文本;将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本;根据所述第二答案预测文本和所述目标答案文本,计算损失参数;基于所述损失参数,对所述第一bert模型进行微调,得到所述目标bert模型。
46.作为本公开实施例一种可选的实施方式,所述装置还包括:
47.预训练模块,用于所述调整模块将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本之前,获取目标文本对数据;根据所述目标文本对数据对预设bert模型进行预训练,以得到第二bert模型;为所述第二bert模型配置所述至少一种第一向量,以得到所述第一bert模型。
48.作为本公开实施例一种可选的实施方式,所述根据所述文本配对数据对预设bert模型进行预训练时的预训练任务包括以下至少一种:
49.掩码语言模型mlm任务、下一句预测nsp任务。
50.作为本公开实施例一种可选的实施方式,所述文本对数据包括:
51.目标领域的文本对数据,和/或,任意领域的文本对数据。
52.作为本公开实施例一种可选的实施方式,所述答案预测模块,具体用于:
53.所述第一问题文本和所述第一回复段落确定初始答案预测文本;
54.在根据所述第一问题文本和所述第一回复段落,确定所述第一问题文本为待反转极性类型时,从所述第一问题文本中提取系动词;
55.对所述系动词进行极性反转,以得到极性反转系动词;
56.根据所述极性反转系动词和所述初始答案预测文本,确定所述第一答案预测文本。
57.作为本公开实施例一种可选的实施方式,所述目标bert模型对所述第一回复段落还通过以下至少一种第二向量进行标注:
58.标记向量,用于将所述第一回复段落中各个词转换成固定维度的向量;
59.段向量,用于表示所述第一回复段落是否为同一个句子;
60.位置向量,用于表示所述第一回复段落中不同字在所述第一回复段落中的位置。
61.第三方面,提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第二方面或其任意一种可选的实施方式所述的文本数据挖掘方法。
62.第四方面,提供一种计算机可读存储介质,包括:所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第二方面或其任意一种可选的实施方式所述的文本数据挖掘方法。
63.第五方面,提供一种计算机程序产品,其特征在于,包括:当所述计算机程序产品
在计算机上运行时,使得所述计算机实现如第二方面或其任意一种可选的实施方式所述的文本数据挖掘方法。
64.本公开实施例提供的文本数据挖掘方法,可以从历史会话日志中提取第一问题文本,以及与所述第一问题文本对应的第一回复段落;将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本,所述目标bert模型为基于初始bert模型预训练后得到的模型;将所述第一问题文本和所述第一答案预测文本对应存储;其中,所述目标bert模型对所述第一回复段落通过以下至少一种第一向量进行标注:属性判断向量,用于表示所述第一回复段落中词是否为属性词;是否类词语判断向量,用于表示所述第一回复段落中词是不是表示是或否的词语;重复词判断向量,用于表示所述第一回复段落中词是否出现在所述第一问题文本中。通过该方案,由于目标bert模型对第一回复段落通过属性判断向量、是否类词语判断向量以及重复词判断向量中的一个或多个进行标注,这样使得可以对第一回复段落进行标注之后,可以方便目标bert模型从第一回复段落中抽取第一问题文本对应的答案,针对一些极有可能是答案的属性词、是否有类词语、以及重复类词语可以准确对焦进行抽取,因此可以提高数据挖掘的准确性。
附图说明
65.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
66.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
67.图1为本公开实施例提供的文本数据挖掘方法的一种实现示意图;
68.图2为本公开实施例提供的一种文本数据挖掘方法的流程示意图;
69.图3为本公开实施例提供的一种问题-答案库中存储数据的示意图;
70.图4为本公开实施例提供的另一种文本数据挖掘方法的流程示意图;
71.图5为本公开实施例提供的一种文本数据挖掘装置的结构框图;
72.图6为本公开实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
73.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
74.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
75.客服机器人,是目前电子商务场景中的重要组成部分,在夜间值守、快速回答高频重复问题、降低人工成本等方面发挥着重大作用。目前的产品形态有两种:全自动机器人和智能辅助。全自动机器人没有人工的参与,完全由系统来理解用户问题(query)并选择对应的回复返回给用户;智能辅助会在人工客服服务阶段理解用户query,并给出一些推荐回
复,由人工客服来选择其中可能能直接发送、或者只需少量修改就可以发送给用户的回复,然后或直接发送或略微编辑后发送。
76.客服机器人面临着不能完全理解用户query和合适答案较难获得两方面的问题,即理解能力和应答能力都需提升。在线上实际业务中,如果客服机器人不能回答用户问题,系统会根据一些规则转人工,把这些未解决的问题交给人工客服来解答。由于人工客服是受过一定训练过的服务人员,人工客户会话的满意度会比机器人客户高很多,并且由于是真人,回复也更有同理心、答案更具真实性,所以是非常不错的学习素材。本专利方法提出一整套流程,通过在线下对人工客服会话中的数据挖掘,提取出问题-答案(query-answer)库,应用于线上的机器人客服问答(包括全自动机器人和智能辅助),来提升客服机器人的整体表现。
77.目前需要对人工客服会话的数据挖掘,提取出问题-答案对,应用在线上的客服机器人问答中,来提升客服机器人回复用户问题时的整体表现,但是目前的数据挖掘方法,会存在针对问题抽取了错误答案的情况(例如,针对一些属性词、极性词等不能准确对焦,抽取错误),因此数据挖掘的准确性较低。
78.为了解决上述问题,本公开实施例提供了一种文本数据挖掘方法、装置及电子设备,该方案中,可以从历史会话日志中提取第一问题文本,以及与第一问题文本对应的第一回复段落;将第一问题文本和第一回复段落输入至目标基于特征匹配的双向编码器表示(bidirectional encoder representations from transformer,bert)模型,获取目标bert模型输出的第一答案预测文本,目标bert模型为基于初始bert模型预训练后得到的模型;将第一问题文本和第一答案预测文本对应存储。由于目标bert模型对第一回复段落通过属性判断向量、是否类词语判断向量以及重复词判断向量中的一个或多个进行标注,这样使得可以对第一回复段落进行标注之后,可以方便目标bert模型从第一回复段落中抽取第一问题文本对应的答案,针对一些极有可能是答案的属性词、是否有类词语、以及重复类词语可以准确对焦进行抽取,因此可以提高数据挖掘的准确性。
79.如图1所示,为本公开实施例提供的文本数据挖掘方法的一种实现示意图,该方法中会先获取用户和人工客服之间的历史会话日志,并且基于该历史会话日志和本公开实施例提供的文本数据挖掘方法进行数据挖掘,得到问题和答案后对应保存,保存为问题和答案对的形式,以便于后续客服机器人在于用户进行线上问答时,使用保存的问题和答案对。
80.本公开实施例中提供的文本数据挖掘方法,可以为通过文本数据挖掘装置或者电子设备实现,该文本数据挖掘装置可以为该电子设备中的功能模块或者功能实体。该电子设备包括但不限于:服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。计算机设备包括用户设备与网络设备。其中,用户设备包括但不限于电脑、智能手机、平板电脑等;网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,计算机设备可单独运行来实现本公开,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本公开。其中,计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用(virtual private network,vpn)网络等。
81.如图2所示,为本公开实施例提供的一种文本数据挖掘方法的流程示意图,该方法
包括以下步骤:
82.201、从历史会话日志中提取第一问题文本。
83.202、从历史会话日志中提取第一问题文本对应的第一回复段落。
84.其中,上述历史会话日志可以包括用户和人工客服之间的会话。用户和人工客服之间的会话可以包括但不限于:用户输入的问题文本,以及人工客服直接向用户回复文本内容,以及人工客服通过智能辅助方式选择的回复文本内容。
85.例如,在用户输入某一问题文本之后,人工客服通过选择预选设置的回复模板文本回复给用户,这样的回复模板文本也包括在用户和人工客户之间的会话中。
86.在一段会话中,由于query的答案只可能在它被问后回答,所以根据时序,可以先从历史会话日志中定位query,之后再选取query后面的会话内容作为该query的回复段落,以减少冗余文本干扰。也就是说,从历史会话日志中提取第一问题文本和第一回复段落的过程中,可以确定用户输入的第一问题文本,然后从历史会话日志中选择该第一问题文本之后,由人工客服回复的一个或多个文本,拼接这一个或多个文本作为第一回复段落。
87.在一些实施例中,上述历史会话日志可以包括大量的会话内容,因此,可以对该历史会话日志根据会话中涉及的对象类型进行划分,针对相同对象类型的文本内容,作为一组会话。
88.针对不同的场景,上述对象类型可以不同。示例性的,假设针对电商对话场景,上述对象类型可以是指商品类型。可以将针对同一商品的会话归类为一组会话。
89.进一步的,还可以对该历史会话日志根据会话中涉及的对象类型,以及预设划分时间范围进行划分,针对相同对象类型、且处于预设划分时间范围内的文本内容,作为一组会话。
90.示例性的,假设在电商对话场景中,历史会话日志中针对商品a用户和人工客服之间存在100条对话信息,其中,6月7日涉及有40条对话信息,6月8日涉及有60条对话信息,那么在以商品a和每一天为一个划分时间范围,那么可以将这100条对话信息,确定为两组会话,6月7日涉及的40条对话信息为一组对话信息,6月8日涉及的60条对话信息为另一组对话信息;在以商品a和每2天为一个划分时间范围的情况下,上述100条对话信息可以划分为一组会话。
91.203、将第一问题文本和第一回复段落输入至目标bert模型,获取目标bert模型输出的第一答案预测文本。
92.其中,目标bert模型为基于初始bert模型预训练后得到的模型。
93.上述目标bert模型为基于初始bert模型进行预训练的语言表征模型,其中,初始bert模型是指传统bert模型的模型结构框架在基于初始bert模型进行预训练的过程中,采用新的掩膜语言模型(masked language model,mlm)任务,和/或,下一句预测(next sentence prediction,nsp)任务,以使得生成深度的双向语言表征。其中,mlm任务让模型通过上下文来预测当前词,即通过上下文的语义来更好地学习当前词的向量,nsp通过随机打乱句子顺序、然后判断两个句子是否是上下句关系,来学习句子间的逻辑、语义关系,从而提升句子向量的表示效果。上述预训练的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的代表性(representation),即文本的语义表示。
94.上述预训练过程中可以采用任意领域的文本进行预训练,和/或,采用某个特定领
域的文本进行预训练。
95.在一些实施例中,可以先基于任意领域的文本基于初始bert模型进行预训练,得到第一阶段预训练之后的bert模型,然后再该第一阶段预训练之后的bert模型的基础上,基于目标领域的文本进行第二阶段预训练,得到预训练完成后的bert模型。
96.其中,目标领域可以为任意领域。例如,电商领域、急救领域等。上述第一阶段预训练和第二阶段预训练的预训练任务相同,都可以包括:mlm任务和/或nsp任务。
97.进一步的,基于初始bert模型进行预训练得到预训练模型之后,还可以对预训练后的模型进行微调,也就是说将文本的语义表示在特定nlp任务中作调整(通常可以称为微调过程),最终应用于该nlp任务。在微调过程中,通过少量标注过的语料,可以让模型学习具体任务数据,从而在测试时有更好的效果。
98.传统的bert模型通常会通过标记向量(token embedding)、段向量(segment embedding)和位置向量(position embedding)来表示输入的文本,而本公开实施例中,除了采用通过token embedding、segment embedding和position embedding中的至少一种表示输入的文本之外,还增加了至少一种第一向量来表示输入的文本。
99.其中,上述token embedding、segment embedding和position embedding本公开实施例中可以称为第二向量,这三种向量的作用如下:
100.token embedding,用于将各个词转换成固定维度的向量。在目标bert中,向量维度是768维,即每个字都有一个1*768维的向量。且在开头、末尾、句子对(如果是两个句子的话)中间,加入cls和sep的特殊标记。比如,如果输入是一个句子、有10个字,则token embedding是一个10+2=12*768的向量;如果输入是两个句子,每个句子各有5个字,则token embedding是一个(5+5+1)+2=13*768的向量。在本公开实施例中的目标bert中,token embedding具体用于将第一回复段落中各个词转换成固定维度的向量。
101.segment embedding,用来告诉模型输入是否是同一个句子,即处理句子对的情况。segment embedding有两种取值0和1,如果是两个句子,则第一个句子的每个字都赋值是0,第二个句子每个字赋值都是1;如果是一个句子,则每个字都赋值为0。在本公开实施例中的目标bert中,segment embedding具体用于表示第一回复段落是否为同一个句子。
102.position embedding,用于表示不同字出现在文本的不同位置,在不同字出现在文本的不同位置时,其语义会有明显区别,例如“张三生了李四”和“李四生了张三”这两句话中出现的文字是一样的,只是顺序发生了改变,两句话的语义有很大区别,因此需要位置信息来告诉模型不同字出现在文本的不同位置。可简单认为position embedding采用是罗马数字的递增方式表示不同字的不同位置,在本公开实施例中的目标bert中,position embedding具体用于表示第一回复段落中不同字在第一回复段落中的位置。
103.其中,上述第一向量包括但不限于以下至少一种:
104.属性判断向量(is_entity_embedding),在本公开实施例中is_entity_embedding用于表示第一回复段落中词是否为属性词,判断一个词是否为一个属性词,我们可以通过与预先存储的属性表中的属性词进行对比来实现,判断第一回复段落中词在不在词表中,如果在则is_entity_embedding值为1,如果不在,则is_entity_embedding值为0。
105.示例性的,假设用户的query问“这个衣服是什么材质”,人工客服回复为“真丝的呢亲,非常丝滑,这款最近卖得很好,心动不如行动哦~”。由于“真丝”预先存储的知识库的
属性表中,所以可能是答案,我们通过is_entity_embedding值为1标识出来,让目标bert更容易地学到。
106.是否类词语判断向量(yes_no_embedding),在本公开实施例中yes_no_embedding用于表示第一回复段落中词是不是表示是或否的词语,如果在会话中第一回复段落中的词在用户的query中出现(即在第一问题文本中出现),则更可能是答案。
107.示例性的,用户query问“会起球吗”,人工客服回答“不会”,则“不会”就会被yes_no_embedding赋值为1,因为它更可能是答案。
108.重复词判断向量(exact_match_embedding),在本公开实施例中exact_match_embedding用于表示第一回复段落中词是否出现在第一问题文本中。
109.示例性的,用户query问“这个衣服是防水的吗?”人工客服回答“对呢亲,是防水面料,下雨穿都不会湿”。人工客服回答中的“防水”出现在query中,说明跟query所问大概率相关,我们通过yes_no_embedding值为1标识出来,让目标bert模型更容易学到。
110.针对一些否定类问题,一些场景下可能存在通过目标bert模型抽取出的答案与实际答案存在极性相反的情况。例如,实际答案为:肯定(有、会、是等),但是抽取出的答案为否定(没有、不会、不是等)。
111.为解决上述问题,在一些实施例中,将第一问题文本和第一回复段落输入至目标bert模型,获取目标bert模型输出的第一答案预测文本可以包括:首先将第一问题文本和第一回复段落输入至目标bert模型之后,目标bert模型先根据第一问题文本和第一回复段落确定初始答案预测文本;然后再根据第一问题文本和第一回复段落,判断第一问题文本是否为待反转极性类型,在确定第一问题文本为待反转极性类型时,从第一问题文本中提取系动词;并对系动词进行极性反转,以得到极性反转系动词;最后根据极性反转系动词和初始答案预测文本,确定第一答案预测文本。
112.其中,该初始答案预测文本可以为从第一问题文本和/或第一回复段落中抽取的。
113.上述根据第一问题文本和第一回复段落,判断第一问题文本是否为待反转极性时,可以通过在目标bert模型中增加一个分类模块,执行分类任务实现。
114.其中,该分类模块可以通过对多种问题文本、回复段落,以及对应标注答案,进行多任务学习,判断以下三个分类:
115.0:无答案;
116.1:可抽取答案;
117.2:可抽取答案且需要反转极性。
118.可以通过将第一问题文本和第一回复段落输入到该分类模块,并通过该分类模块来获取输出的分类,当分类为“2:可抽取答案且需要反转极性”时,确定第一问题文本为待反转极性类型,从第一问题文本中提取系动词;并对系动词进行极性反转,以得到极性反转系动词;最后根据极性反转系动词和初始答案预测文本,确定第一答案预测文本。其中,系动词可以包括但不限于:“会”“是”“有”等。
119.如下表1所示,针对两种极性反转情况的示意表。
120.表1
[0121][0122]
从表1中可以看出,在分类标签为“2:可抽取答案且需要反转极性”时,会从query“卫衣套装有口袋吗?”中提取系动词“有”,并通过对系动词进行极性反转,得到“没有”,然后结合“没有”,以及初始答案预测文本“有口袋”,得到最终的第一答案预测文本“没有口袋”;以及在分类标签为“2:可抽取答案且需要反转极性”时,会从query“会掉色吗?”中提取系动词“会”,并通过对系动词进行极性反转,得到“不会”,然后结合“不会”,以及初始答案预测文本“会掉色”,得到最终的第一答案预测文本“没有口袋”。
[0123]
204、将第一问题文本和第一答案预测文本对应存储。
[0124]
在上述目标bert模型输入第一答案预测文本之后,可以将第一答案预测文本作为第一问题文本对应的答案,对应存储在问题-答案库中。
[0125]
需要说明的是,还可以基于从历史会话日志中提取的其他问题文本以及对应的回复段落,根据上述201值204所示的方法进行数据挖掘,确定问题文本对应的答案预测文本,并在问题-答案库中保存。
[0126]
其中,上述问题-答案库中可以包括多组对应存储的问题文本和答案预测文本。示例性的,如图3所示,为本公开实施例提供的一种问题-答案库中存储数据的示意图,其中,问题文本1对应的答案内容为答案预测文本1;问题文本2对应的答案内容为答案预测文本2;问题文本3对应的答案内容为答案预测文本3;问题文本4对应的答案内容为答案预测文本4。
[0127]
在后续用户与客服机器人进行线上问答过程中,可以将用户输入的问题文本与问题-答案库中的问题文本进行匹配,在确定到问题-答案库中匹配的问题文本后,可以将与该问题-答案库中匹配的问题文本对应存储的答案预测文本,作为用户所输入的问题文本的答案,由客服机器人回复给用户。
[0128]
本公开实施例提供的文本数据挖掘方法,由于目标bert模型对第一回复段落通过属性判断向量、是否类词语判断向量以及重复词判断向量中的一个或多个进行标注,这样使得可以对第一回复段落进行标注之后,可以方便目标bert模型从第一回复段落中抽取第一问题文本对应的答案,针对一些极有可能是答案的属性词、是否有类词语、以及重复类词语可以准确对焦进行抽取,因此可以提高数据挖掘的准确性。
[0129]
如图4所示,为本公开实施例提供的另一种文本数据挖掘方法,该方法可以包括但不限于预训练阶段、微调阶段和答案预测阶段,该方法包括以下步骤:
[0130]
预训练阶段包括但不限于以下步骤401和402:
[0131]
401、获取目标文本对数据。
[0132]
其中,目标文本对数据包括但不限于:目标领域的文本对数据,和/或,任意领域的文本对数据。
[0133]
上述文本对数据是指:包括多组文本数据,每组文本数据中包括两个文本组成一个文本对作为预设bert模型的一次输入。
[0134]
402、根据目标文本对数据对预设bert模型进行预训练,以得到第二bert模型。
[0135]
其中,根据文本配对数据对预设bert模型进行预训练时的预训练任务包括以下至少一种:mlm任务、下一句预测nsp任务。
[0136]
在一些实施例中,可以先基于任意领域的文本基于初始bert模型进行预训练,得到第一阶段预训练之后的bert模型,然后再该第一阶段预训练之后的bert模型的基础上,基于目标领域的文本进行第二阶段预训练,得到预训练完成后的bert模型。
[0137]
通过上述预训练过程,可以通过mlm任务让模型通过上下文来预测当前词,即通过上下文的语义来更好地学习当前词的向量,nsp通过随机打乱句子顺序、然后判断两个句子是否是上下句关系,来学习句子间的逻辑、语义关系等,从而预选连过程可以提升句子向量的表示效果,而采用目标领域的文本对数据进行预训练可以在提升句子向量的表示效果的基础上,结合该目标领域的业务特点,得到符合该领域句子向量的表示效果。
[0138]
微调阶段包括但不限于以下步骤403至408:
[0139]
403、为第二bert模型配置至少一种第一向量,以得到第一bert模型。
[0140]
该第二bert模型中原本已经存在上述token embedding、segment embedding和position embedding,可以在原本第二bert模型的基础上增加is_entity_embedding、exact_match_embedding和yes_no_embedding中的一种,这样后续得到的目标bert中也就包括了is_entity_embedding、exact_match_embedding和yes_no_embedding中的一种。
[0141]
404、获取标注样本数据。
[0142]
其中,标注样本数据中包括多个问题文本,多个问题文本对应的回复段落,以及每个问题文本对应的标注答案文本。
[0143]
其中,该标注样本数据可以为通过人工标注方式获取的数据。
[0144]
405、从标注样本数据中获取目标问题文本、目标问题文本对应的目标回复段落,以及目标问题文本对应的目标答案文本。
[0145]
其中,目标问题文本为上述标注样本数据中多个问题文本中的任意问题文本。
[0146]
406、将目标问题文本和目标回复段落输入第一bert模型,并获取第一bert模型输出的第二答案预测文本。
[0147]
407、根据第二答案预测文本和目标答案文本,计算损失参数。
[0148]
其中,根据第二答案预测文本和目标答案文本,计算损失参数时可以是根据第二答案预测文本、目标答案文本以及预设损失函数,计算损失参数。
[0149]
上述预设损失函数可以根据实际需求选取,本公开实施例不做限定。
[0150]
408、基于损失参数,对第一bert模型进行微调,得到目标bert模型。
[0151]
在执行上述405至408一轮或多轮之后,在损失参数处于预设损失范围内时,认为此时模型已经收敛,得到目标bert模型。
[0152]
上述实施例中,通过在预训练之后,通过标注样本数据对模型进行微调来得到目标bert模型的过程中,可以通过标注样本数据的多轮训练,使得模型收敛,这样得到的目标bert模型准确度会大幅度提升,为后续进行答案预测打好了基础,可以进一步提升数据挖掘的准确性。
[0153]
答案预测阶段包括但不限于以下步骤409至412:
[0154]
409、从历史会话日志中提取第一问题文本。
[0155]
410、从历史会话日志中提取第一问题文本对应的第一回复段落。
[0156]
411、将第一问题文本和第一回复段落输入至目标bert模型,获取目标bert模型输出的第一答案预测文本。
[0157]
412、将第一问题文本和第一答案预测文本对应存储。
[0158]
针对上述步骤409至412的描述可以参照上述针对步骤201至204的描述,此处不再赘述。
[0159]
本公开实施例提供的文本数据挖掘方法,由于目标bert模型对第一回复段落通过属性判断向量、是否类词语判断向量以及重复词判断向量中的一个或多个进行标注,这样使得可以对第一回复段落进行标注之后,可以方便目标bert模型从第一回复段落中抽取第一问题文本对应的答案,针对一些极有可能是答案的属性词、是否有类词语、以及重复类词语可以准确对焦进行抽取,因此可以提高数据挖掘的准确性。
[0160]
如图5所示,为本公开实施例提供一种文本数据挖掘装置的结构框图,该装置包括:
[0161]
提取模块501,用于从历史会话日志中提取第一问题文本,以及与所述第一问题文本对应的第一回复段落;
[0162]
答案预测模块502,用于将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本,所述目标bert模型为基于初始bert模型预训练后得到的模型;
[0163]
存储模块503,用于将所述第一问题文本和所述第一答案预测文本对应存储;
[0164]
其中,所述目标bert模型对所述第一回复段落通过以下至少一种第一向量进行标注:
[0165]
属性判断向量,用于表示所述第一回复段落中词是否为属性词;
[0166]
是否类词语判断向量,用于表示所述第一回复段落中词是不是表示是或否的词语;
[0167]
重复词判断向量,用于表示所述第一回复段落中词是否出现在所述第一问题文本中。
[0168]
作为本公开实施例一种可选的实施方式,所述装置还包括:
[0169]
调整模块504,用于在所述答案预测模块502将所述第一问题文本和第一回复段落输入至目标bert模型,获取所述目标bert模型输出的第一答案预测文本之前,获取标注样本数据,所述标注样本数据中包括多个问题文本,所述多个问题文本对应的回复段落,以及每个问题文本对应的标注答案文本;从所述标注样本数据中获取目标问题文本、所述目标
问题文本对应的目标回复段落,以及所述目标问题文本对应的目标答案文本;将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本;根据所述第二答案预测文本和所述目标答案文本,计算损失参数;基于所述损失参数,对所述第一bert模型进行微调,得到所述目标bert模型。
[0170]
作为本公开实施例一种可选的实施方式,所述装置还包括:
[0171]
预训练模块505,用于所述调整模块504将所述目标问题文本和所述目标回复段落输入第一bert模型,并获取所述第一bert模型输出的第二答案预测文本之前,获取目标文本对数据;根据所述目标文本对数据对预设bert模型进行预训练,以得到第二bert模型;为所述第二bert模型配置所述至少一种第一向量,以得到所述第一bert模型。
[0172]
作为本公开实施例一种可选的实施方式,所述根据所述文本配对数据对预设bert模型进行预训练时的预训练任务包括以下至少一种:
[0173]
掩码语言模型mlm任务、下一句预测nsp任务。
[0174]
作为本公开实施例一种可选的实施方式,所述文本对数据包括:
[0175]
目标领域的文本对数据,和/或,任意领域的文本对数据。
[0176]
作为本公开实施例一种可选的实施方式,所述答案预测模块502,具体用于:
[0177]
所述第一问题文本和所述第一回复段落确定初始答案预测文本;
[0178]
在根据所述第一问题文本和所述第一回复段落,确定所述第一问题文本为待反转极性类型时,从所述第一问题文本中提取系动词;
[0179]
对所述系动词进行极性反转,以得到极性反转系动词;
[0180]
根据所述极性反转系动词和所述初始答案预测文本,确定所述第一答案预测文本。
[0181]
作为本公开实施例一种可选的实施方式,所述目标bert模型对所述第一回复段落还通过以下至少一种第二向量进行标注:
[0182]
标记向量,用于将所述第一回复段落中各个词转换成固定维度的向量;
[0183]
段向量,用于表示所述第一回复段落是否为同一个句子;
[0184]
位置向量,用于表示所述第一回复段落中不同字在所述第一回复段落中的位置。
[0185]
如图6所示,为本公开实施例提供一种电子设备的硬件结构示意图,该电子设备包括:处理器601、存储器602及存储在所述存储器602上并可在所述处理器601上运行的计算机程序,所述计算机程序被所述处理器601执行时实现上述方法实施例中的文本数据挖掘方法的各个过程。且能达到相同的技术效果,为避免重复,这里不再赘述。
[0186]
本公开实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述方法实施例中文本数据挖掘方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0187]
其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0188]
本公开实施例提供一种计算程序产品,该计算机程序产品存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中文本数据挖掘方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0189]
本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产
品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0190]
本公开中,处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0191]
本公开中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0192]
本公开中,计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0193]
需要说明的是,在本文中,诸如“第二”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0194]
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1