1.本说明书涉及通信技术领域,尤其涉及一种故障变更定位方法、装置、设备、介质及程序产品。
背景技术:2.为了修复已有的漏洞(bug),提高软件的性能,技术人员需要频繁地对软件进行变更。软件变更需要对系统的配置或者代码等进行更改,这很容易产生故障。在故障发生后,需要快速地对这个故障对应的变更进行定位,即确定故障是由历史上的哪个变更导致的,以便技术人员能够快速对所定位的变更进行回滚,以快速止损并使系统恢复正常运行。
3.目前,故障可以通过用户投诉来发现。而通过用户投诉来定位故障的流程比较长。客服收到用户投诉后,为了避免误报的情况,需要把多个用户投诉中类似故障的信息汇总,确认是技术出现问题后,通知技术人员对多个变更一一进行排查,确定是哪个变更的发布导致出现故障即确定故障变更的位置。
技术实现要素:4.本说明书实施例提供了一种故障变更定位方法、装置、设备、介质及程序产品,利用自然语言技术将用户投诉文本和每个变更通过文本相似度进行关联,只要出现用户投诉文本就能对其进行处理,实现短—长文本的匹配,大大加快了故障变更的定位和修复,提高了对用户投诉文本进行处理的效率。上述技术方案如下:
5.第一方面,本说明书实施例提供了一种故障变更定位方法,包括:
6.获取用户投诉文本;
7.基于上述用户投诉文本的投诉时刻,确定预设时间段内的变更集合;
8.获取上述变更集合中每个变更对应的描述文本;
9.计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;
10.若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更。
11.在一种可能的实现方式中,上述描述文本包括至少一个句子;
12.上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
13.计算上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的第一词重叠分数;上述第一词重叠分数用于表征上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的相关性;
14.从上述每个变更对应的描述文本中提取上述第一词重叠分数最高的n个句子;上述n为正整数;
15.根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
16.在一种可能的实现方式中,上述根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
17.计算上述每个变更对应的上述n个句子分别与上述用户投诉文本之间的n个文本相似度;
18.根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述l为大于0,且小于或等于n的正整数。
19.在一种可能的实现方式中,上述根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
20.根据上述n个文本相似度中l个最高的上述文本相似度,以及上述l个最高的上述文本相似度对应的l个句子与上述用户投诉文本之间的l个第一词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
21.在一种可能的实现方式中,上述描述文本包括多个句子;
22.上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
23.将上述每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,得到上述描述文本对应的至少一个目标文本;上述目标文本包括至少一个上述句子;
24.计算上述用户投诉文本与上述描述文本对应的每个目标文本之间的第二词重叠分数;上述第二词重叠分数用于表征上述用户投诉文本与上述描述文本对应的每个目标文本之间的相关性;
25.从上述描述文本对应的上述至少一个目标文本中提取上述第二词重叠分数最高的m个目标文本;上述m为正整数;
26.根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
27.在一种可能的实现方式中,上述根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
28.计算上述每个变更对应的上述m个目标文本分别与上述用户投诉文本之间的m个文本相似度;
29.根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述k为大于0,且小于或等于m的正整数。
30.在一种可能的实现方式中,上述根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
31.根据上述m个文本相似度中k个最高的上述文本相似度,以及上述k个最高的上述文本相似度对应的k个目标文本与上述用户投诉文本之间的k个第二词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
32.在一种可能的实现方式中,上述接收用户投诉文本之后,上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度之前,上述方法还包括:
33.根据预设停用词词库按照第二预设规则对上述用户投诉文本以及上述每个变更
对应的描述文本进行过滤,得到过滤后的用户投诉文本以及过滤后的每个变更对应的描述文本;
34.上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
35.计算上述过滤后的每个变更对应的描述文本与上述过滤后的用户投诉文本之间的文本相似度。
36.在一种可能的实现方式中,上述接收用户投诉文本之后,上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度之前,上述方法还包括:
37.确定在上述用户投诉文本的投诉时刻之前投诉的x个历史用户投诉文本;上述x为正整数;
38.计算上述用户投诉文本与上述x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度;
39.若存在y个历史用户投诉文本与上述用户投诉文本之间的文本相似度大于或等于第二预设阈值,则将上述y个历史用户投诉文本与上述用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本;上述y为大于0,且小于或等于x的正整数;
40.上述计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,包括:
41.计算上述每个变更对应的描述文本与上述目标投诉文本之间的文本相似度;
42.上述若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更,包括:
43.若存在变更对应的描述文本与上述目标投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本以及上述y个历史用户投诉文本对应的故障变更。
44.第二方面,本说明书实施例提供了一种故障变更定位装置,包括:
45.获取模块,用于获取用户投诉文本;
46.第一确定模块,用于基于上述用户投诉文本的投诉时刻,确定预设时间段内的变更集合;
47.上述获取模块还用于,获取上述变更集合中每个变更对应的描述文本;
48.第一计算模块,用于计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;
49.第二确定模块,用于若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更。
50.在一种可能的实现方式中,上述描述文本包括至少一个句子;
51.上述第一计算模块包括:
52.第一计算单元,用于计算上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的第一词重叠分数;上述第一词重叠分数用于表征上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的相关性;
53.第一提取单元,用于从上述每个变更对应的描述文本中提取上述第一词重叠分数
最高的n个句子;上述n为正整数;
54.第二计算单元,用于根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
55.在一种可能的实现方式中,上述第二计算单元具体用于:
56.计算上述每个变更对应的上述n个句子分别与上述用户投诉文本之间的n个文本相似度;
57.根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述l为大于0,且小于或等于n的正整数。
58.在一种可能的实现方式中,上述第二计算单元在根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于:
59.根据上述n个文本相似度中l个最高的上述文本相似度,以及上述l个最高的上述文本相似度对应的l个句子与上述用户投诉文本之间的l个第一词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
60.在一种可能的实现方式中,上述描述文本包括多个句子;
61.上述第一计算模块还包括:
62.拼接单元,用于将上述每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,得到上述描述文本对应的至少一个目标文本;上述目标文本包括至少一个上述句子;
63.第三计算单元,用于计算上述用户投诉文本与上述描述文本对应的每个目标文本之间的第二词重叠分数;上述第二词重叠分数用于表征上述用户投诉文本与上述描述文本对应的每个目标文本之间的相关性;
64.第二提取单元,用于从上述描述文本对应的上述至少一个目标文本中提取上述第二词重叠分数最高的m个目标文本;上述m为正整数;
65.第四计算单元,用于根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
66.在一种可能的实现方式中,上述第四计算单元具体用于:
67.计算上述每个变更对应的上述m个目标文本分别与上述用户投诉文本之间的m个文本相似度;
68.根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述k为大于0,且小于或等于m的正整数。
69.在一种可能的实现方式中,上述第四计算单元在根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于:
70.根据上述m个文本相似度中k个最高的上述文本相似度,以及上述k个最高的上述文本相似度对应的k个目标文本与上述用户投诉文本之间的k个第二词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
71.在一种可能的实现方式中,上述故障变更定位装置还包括:
72.过滤模块,用于根据预设停用词词库按照第二预设规则对上述用户投诉文本以及上述每个变更对应的描述文本进行过滤,得到过滤后的用户投诉文本以及过滤后的每个变更对应的描述文本;
73.上述第一计算模块具体用于:
74.计算上述过滤后的每个变更对应的描述文本与上述过滤后的用户投诉文本之间的文本相似度。
75.在一种可能的实现方式中,上述故障变更定位装置还包括:
76.第三确定模块,用于确定在上述用户投诉文本的投诉时刻之前投诉的x个历史用户投诉文本;上述x为正整数;
77.第二计算模块,用于计算上述用户投诉文本与上述x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度;
78.拼接模块,用于若存在y个历史用户投诉文本与上述用户投诉文本之间的文本相似度大于或等于第二预设阈值,则将上述y个历史用户投诉文本与上述用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本;上述y为大于0,且小于或等于x的正整数;
79.上述第一计算模块还用于,计算上述每个变更对应的描述文本与上述目标投诉文本之间的文本相似度;
80.上述第二确定模块还用于,若存在变更对应的描述文本与上述目标投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本以及上述y个历史用户投诉文本对应的故障变更。
81.第三方面,本说明书实施例提供了一种电子设备,包括:处理器以及存储器;
82.上述处理器与上述存储器相连;
83.上述存储器,用于存储可执行程序代码;
84.上述处理器通过读取上述存储器中存储的可执行程序代码来运行与上述可执行程序代码对应的程序,以用于执行本说明书实施例第一方面或第一方面的任意一种可能的实现方式提供的方法。
85.第四方面,本说明书实施例提供了一种计算机存储介质,上述计算机存储介质存储有多条指令,上述指令适于由处理器加载并执行本说明书实施例第一方面或第一方面的任意一种可能的实现方式提供的方法。
86.第五方面,本说明书实施例提供了一种包含指令的计算机程序产品,当上述计算机程序产品在计算机或处理器上运行时,使得上述计算机或上述处理器执行本说明书实施例第一方面或第一方面的任意一种可能的实现方式提供的故障变更定位方法。
87.本说明书实施例根据用户投诉文本的投诉时刻,确定预设时间段内的变更集合,然后通过计算上述变更集合中的每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,将与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值的变更确定为上述用户投诉文本对应的故障变更,实现利用自然语言技术将用户投诉文本和每个变更通过文本相似度进行关联,只要出现用户投诉文本就能对其进行处理,能够进行短(用户投诉文本)—长(变更对应的描述文本)文本的匹配,大大加快了故障变更的定位和修复,减少了技术人员的排查时间,提高了对用户投诉文本进行处理的效率。
附图说明
88.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
89.图1为本说明书一示例性实施例提供的一种故障变更定位系统的架构示意图;
90.图2为相关技术中提供的一种从用户发现故障到技术人员修复故障的流程示意图;
91.图3为本说明书一示例性实施例提供的一种故障变更定位方法的流程示意图;
92.图4为本说明书一示例性实施例提供的变更以及变更对应的描述文本的示意图;
93.图5为本说明书一示例性实施例提供的一种文本相似度模型的实现流程示意图;
94.图6为本说明书一示例性实施例提供的另一种文本相似度模型的实现流程示意图;
95.图7为本说明书一示例性实施例提供的另一种故障变更定位方法的流程示意图;
96.图8为本说明书一示例性实施例提供的一种故障变更定位装置的结构示意图;
97.图9为本说明书一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
98.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述。
99.本说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
100.请参考图1,图1为本说明书一示例性实施例提供的一种故障变更定位系统的架构示意图。如图1所示,故障变更定位系统可以包括:第一终端集群、第二终端120、服务器130和第三终端集群。其中:
101.第一终端集群可以为用户端,具体包括一个或多个用户端,其中多个用户端可以包括用户端110a、用户端110b、用户端110c
…
等。在第一终端集群中可安装用户版的软件,用于实现用户线上输入用户投诉文本或投诉语音等功能。第一终端集群中任意一个用户端均可以建立与网络之间的数据关系,并通过该网络和第二终端120建立数据连接关系,例如发送用户投诉文本、发起投诉电话等。其中,第一终端集群中任意一个用户端可以但不限于是安装有用户版软件的手机、平板电脑、笔记本电脑等设备。
102.第二终端120可以为客服端,具体可以包括一个或多个客服端。在第二终端120中可安装客服版的软件,用于实现客服线上获取用户投诉文本或投诉语音、接听投诉电话、将投诉电话的内容转换为投诉文本等功能。第二终端120可以建立与网络之间的数据关系,并通过该网络和第一终端集群中任意一个用户端建立数据连接关系,例如接收用户投诉文本、接听投诉电话等。第二终端120还可以通过网络和服务器130建立数据连接关系,例如发
送用户投诉文本或投诉电话等。其中,第二终端120可以但不限于是安装有客服版软件的手机、平板电脑、笔记本电脑等设备。
103.第三终端集群可以为技术人员端,具体包括一个或多个技术人员端,其中多个技术人员端可以包括技术人员端140a、技术人员端140b、技术人员端140c
…
等。在第三终端集群中可安装技术人员版的软件,用于实现技术人员线上接收故障变更、对故障变更进行排查和修复等功能。第三终端集群中任意一个技术人员端均可以建立与网络之间的数据关系,并通过该网络和服务器130建立数据连接关系,例如发送变更对应的描述文本、接收确定的故障变更等。其中,第三终端集群中任意一个技术人员端可以但不限于是安装有技术人员版软件的手机、平板电脑、笔记本电脑等设备。
104.服务器130可以是能提供多种故障变更定位的服务器,可以接收网络或第二终端120发送的用户投诉文本等数据,以及接收第三终端集群中任意一个技术人员端发送的变更对应的描述文本等,并将所有技术人员端发送的变更对应的描述文本均存储在数据库中,然后根据上述用户投诉文本以及在上述用户投诉文本的投诉时刻预设时间段内的变更集合中每个变更对应的描述文本确定上述用户投诉文本对应的故障变更。服务器130还可以给第三终端集群中任意一个技术人员端或与用户投诉文本对应的故障变更的技术人员端发送用户投诉文本等。服务器130可以但不限于是硬件服务器、虚拟服务器、云服务器等。
105.网络可以是在第二终端120和第一终端集群中任意一个用户端之间、在第二终端120和服务器130之间、以及服务器130和第三终端集群中任意一个技术人员端之间提供通信链路的介质,也可以是包含网络设备和传输介质的互联网,不限于此。传输介质可以是有线链路(例如但不限于,同轴电缆、光纤和数字用户线路(digital subscriber line,dsl)等)或无线链路(例如但不限于,无线上网(wireless fidelity,wifi)、蓝牙和移动设备网络等)。
106.可以理解地,图1所示的故障变更定位系统中的第一终端集群、第二终端120、服务器130和第三终端集群的数目仅作为示例,在具体实现中,该故障变更定位系统中可以包含任意数目的用户端、客服端、技术人员端和服务器。本说明书实施例对此不作具体限定。例如但不限于,第二终端120可以是多个第二终端(客服端)组成的第二终端集群,服务器130可以是多个服务器组成的服务器集群。
107.接下来结合图1,介绍相关技术中从用户发现故障到技术人员修复故障时的整体流程。具体请参考图2,其为相关技术中提供的一种从用户发现故障到技术人员修复故障的流程示意图。如图2所示,若软件发生了故障(201,故障发生),客服将会接收到用户的电话投诉和/或线上投诉(202,客户投诉),然后需要客服将接收到用户投诉电话和/或线上投诉文本进行手动提交上报(203,投诉上报)。由于一个投诉电话或投诉文本可能是误报的情况,所以需要由多个客服或现场总控人员把类似故障的投诉电话和/或投诉文本进行汇总(204,投诉汇总),确认是技术出现问题后,通知技术人员,由技术人员拉大群进行一一排查(205,拉群排查),从而定位故障变更的具体位置(206,定位故障变更),并由上述故障变更对应的技术人员进行回滚和修复(207,回滚&修复)。由于变更的数量很多,相应的技术人员也很多,所以不仅需要时间去等待多个类似故障的投诉出现后(204,投诉汇总)才开始对确认是技术出现问题的投诉进行处理,还需要大量地时间才能够确定是哪个变更的发布导致的故障,即现有的从用户发现故障到技术人员修复故障的流程过长,客服以及技术人员的
工作量极大,并不能及时对每一个用户投诉电话或投诉文本进行处理。
108.而本说明书实施例通过机器学习自然语言处理技术,将用户的投诉电话对应的文本和投诉文本(短文本),结合技术人员变更系统或代码等时的相关描述(长文本),在时序上进行关联,即实现短-长文本的文本相似度计算,确认用户投诉是否与某个变更有关,从而可以在变更一发布后,就立刻让技术人员感知到有多少相关的用户投诉,极大加快了故障变更的定位,也可以对每一个用户投诉进行及时的处理,即不需要进行步骤204(投诉汇总)就可以确认该用户投诉是否是技术出现问题,若是,也不需要进行步骤205(拉群排查)就能够由机器迅速地确定其对应的故障变更,从而通知上述故障变更对应的技术人员及时进行回滚和修复。
109.接下来结合图1-图2,介绍本说明书实施例提供的故障变更定位方法。具体请参考图3,其为本说明书一示例性实施例提供的一种故障变更定位方法的流程示意图。如图3所示,该故障变更定位方法包括以下几个步骤:
110.步骤302,获取用户投诉文本。
111.具体地,客服端在接收到用户投诉电话后,可先将上述用户投诉电话的语音数据转换成用户投诉文本,然后将上述投诉文本发送给服务器,从而使服务器可以获取到用户投诉文本。客服端也可以直接将用户投诉电话的语音数据发送给服务器,由服务器将上述语音数据转换为用户投诉文本,服务器也可以直接通过网络接收到由客服端或用户端发送的用户投诉文本等,本说明书对此不作限定。
112.步骤304,基于用户投诉文本的投诉时刻,确定预设时间段内的变更集合。
113.具体地,用户投诉文本包括对应的投诉时刻。上述投诉时刻用于表征用户开始拨打投诉电话的时刻或开始发送线上投诉文本的时刻。由于不同的变更对应的发布时刻也可能不同,且每天都可能出现很多个变更,从时序上看,在用户投诉文本的投诉时刻之前,且距离上述用户投诉文本的投诉时刻近的变更与用户投诉文本的具有相关性的概率更大,所以,可以根据用户投诉文本的投诉时刻,确定在上述投诉时刻的预设时间段内的变更集合。上述预设时间段可以是1分钟、8小时、3天、1个月等,本说明书对此不作限定。上述变更集合中包括在户投诉文本的投诉时刻之前的预设时间段内的所有变更。
114.示例性地,若预设时间段为1天,用户投诉文本的投诉时刻为2022年1月26日00:00:00,则可以将2022年1月25日00:00:00至2022年1月26日00:00:00期间发布的所有变更确定为预设时间段内的变更集合。
115.步骤306,获取变更集合中每个变更对应的描述文本。
116.具体地,服务器可以根据变更集合中每个变更对应的名称从预先存储的所有变更对应的描述文本中查找到上述变更集合中每个变更对应的描述文本。变更可以包括但不限于代码变更、配置变更、系统变更、接口变更等。
117.示例性地,如图4所示,变更400包括配置变更410、代码变更420、系统变更430。上述配置变更410对应的描述文本中包括技术人员撰写的本次变更对应的参数描述411、接口描述412、系统描述413,以及产品经理等非技术人员撰写的本次变更对应的需求描述414。上述代码变更420对应的描述文本中包括技术人员撰写的本次变更对应的代码备注421、迭代描述422、系统描述423、以及产品经理等非技术人员撰写的本次变更对应的需求描述424。上述系统变更430对应的描述文本中包括技术人员撰写的本次变更对应的系统描述
431,以及产品经理等非技术人员撰写的本次变更对应的需求描述432。
118.步骤308,计算每个变更对应的描述文本与用户投诉文本之间的文本相似度。
119.具体地,可以将每个变更对应的描述文本与用户投诉文本直接输入bert文本相似度模型中,从而输出得到每个变更对应的描述文本与用户投诉文本之间的文本相似度。上述bert文本相似度模型由多个变更对应的描述文本、多个用户投诉文本以及上述每个变更对应的描述文本与上述每一个用户投诉文本之间的文本相似度训练得到。
120.可选地,为了提高上述bert文本相似度模型的准确率,可以先根据预设停用词词库按照第二预设规则对用户投诉文本以及每个变更对应的描述文本进行过滤,得到过滤后的用户投诉文本以及过滤后的每个变更对应的描述文本,然后再计算上述过滤后的每个变更对应的描述文本与上述过滤后的用户投诉文本之间的文本相似度。上述第二预设规则可以为过滤掉用户投诉文本以及描述文本中与预设停用词词库中的停用词相同的词。上述停用词用于表征对故障和变更的描述无关的词,例如谢谢,好的等。为了避免每个变更对应的描述文本中与软件相关的描述词等被过滤掉而导致故障变更定位的准确率变低,上述第二预设规则也可以为根据预设停用词词库过滤掉用户投诉文本和描述文本中的停用词,同时保留上述描述文本中的与软件相关的描述,例如描述文本中对配置、系统等专业术语的描述,即为了避免与软件相关描述中的某些与预设停用词库中的停用词相同的词被过滤掉,可以对其添加保护字段,本说明书对此不作限定。
121.步骤310,若存在变更对应的描述文本与用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将变更确定为用户投诉文本对应的故障变更。
122.具体地,可以将与用户投诉文本之间的文本相似度大于或等于第一预设阈值的描述文本对应的变更确定为上述用户投诉文本对应的故障变更,即可能是由于上述故障变更导致上述用户在使用软件时出现问题,从而发起投诉,即产生上述用户投诉文本。上述第一预设阈值可以为0.1、0.9等,本说明书对此不作限定。上述用户投诉文本对应的故障变更包括至少一个变更。服务器在确定与上述用户投诉文本相关的至少一个故障变更之后,可以将上述用户投诉文本以及其对应的至少一个故障变更发送给上述每个故障变更对应的技术人员进行排查、回滚以及修复。
123.本说明书实施例根据用户投诉文本的投诉时刻,确定预设时间段内的变更集合,然后通过计算上述变更集合中的每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,将与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值的变更确定为上述用户投诉文本对应的故障变更,实现利用自然语言技术将用户投诉文本和每个变更通过文本相似度进行关联,只要出现用户投诉文本就能对其进行处理,能够进行短(用户投诉文本)—长(变更对应的描述文本)文本的匹配,从而只需要技术人员对与上述用户投诉文本相关联的故障变更进行排查、回滚和修复,并不需要排查所有的变更,大大加快了故障变更的定位和修复,减少了技术人员的排查时间,提高了对用户投诉文本进行处理的效率。
124.传统的bert文本相似度模型(bert模型)只能处理长度小于512的短文本,用户投诉文本的长度一般小于512,而每个变更对应的描述文本的长度远远大于512,为了使bert文本相似度模型能够实现计算短-长文本的相似度,一般采用对长文本进行压缩或提取长文本中关键词或包括关键词的关键句等进行匹配的方式。但上述方式都会导致丢失掉变更对应的描述文本中大量有意义地文本,从而影响bert文本相似度模型计算短-长文本相似
度的准确率,导致故障变更定位的准确率不高。为了解决上述问题,接下来结合图1-图4,介绍本说明书实施例提供的故障变更定位方法中上述步骤308,计算每个变更对应的描述文本与用户投诉文本之间的文本相似度的一种具体实现过程。具体请参考图5,其为本说明书一示例性实施例提供的一种文本相似度模型的实现流程示意图。如图5所示,该文本相似度模型的实现流程包括以下几个步骤:
125.步骤502,计算用户投诉文本与每个变更对应的描述文本中的每个句子之间的第一词重叠分数。
126.具体地,变更对应的描述文本包括至少一个句子。可以先将每个变更对应的描述文本按照句号进行切分,然后再将用户投诉文本与每个变更文本对应的描述文本中的每个句子进行词重叠打分,即计算用户投诉文本与每个变更对应的描述文本中的每个句子之间具有相同或相似的词的分数即第一词重叠分数。上述第一词重叠分数用于表征用户投诉文本与每个变更对应的描述文本中的每个句子之间的相关性。
127.步骤504,从每个变更对应的描述文本中提取第一词重叠分数最高的n个句子。
128.具体地,计算出用户投诉文本与每个变更对应的描述文本中的每个句子之间的第一词重叠分数后,可以提取出每个变更对应的描述文本中第一词重叠分数最高的n个句子。上述n为正整数。
129.示例性地,可以从每个变更对应的描述文本中提取出第一词重叠分数最高的5个句子。
130.步骤506,根据每个变更对应的n个句子计算每个变更对应的描述文本与用户投诉文本之间的文本相似度。
131.可选地,可以先计算每个变更对应的第一词重叠分数最高的n个句子分别与用户投诉文本之间的n个文本相似度,即可以将上述每个变更对应的第一词重叠分数最高的n个句子分别与用户投诉文本输入bert文本相似度模型中,从而输出得到每个变更对应的n个句子与用户投诉文本之间的n个文本相似度。然后根据上述n个文本相似度中l个最高的文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。上述l为大于0,且小于或等于n的正整数。
132.示例性地,可以计算上述每个变更对应的n个文本相似度中l个最高的文本相似度的平均值,并将上述平均值确定为上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;也可以将上述每个变更对应的n个文本相似度中l个最高的文本相似度进行加权求和,从而得到上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,本说明书实施例对此不作限定。
133.可选地,在计算出每个变更对应的第一词重叠分数最高的n个句子分别与用户投诉文本之间的n个文本相似度之后,还可以根据上述n个文本相似度中l个最高的文本相似度,以及上述l个最高的文本相似度对应的l个句子与上用户投诉文本之间的l个第一词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。即可以将上述n个文本相似度中l个最高的文本相似度,以及上述l个最高的文本相似度对应的l个句子与上用户投诉文本之间的l个第一词重叠分数进行加权融合,从而得到上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。上述l为大于0,且小于或等于n的正整数。
134.本说明书实施例通过将每个变更描述文本中第一词重叠分数最高的n个句子对应的n个文本相似度中l个最高的文本相似度,以及上述l个最高的文本相似度对应的l个句子与上用户投诉文本之间的l个第一词重叠分数结合起来共同确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,能够进一步提高计算文本相似度的准确率,从而进一步提升故障变更定位的准确率。
135.由于每个人撰写描述文本的习惯不同,有时写句号有时写分号,句子长度不一致,若通过上述按照句号切分每个变更对应的描述文本,再根据每个变更对应的描述文本中的某些句子计算每个变更对应的描述文本与用户投诉文本之间的文本相似度,将会产生由于撰写时多写句号导致文本语义被切割的情况,且每个变更对应的描述文本中包括很多个句子,即每个都需要进行很多次第一词重叠分数的计算,计算量特别大,从而出现故障变更定位的效率不够高,文本相似度计算的准确率还不够高,故障变更定位还不够准确等问题。为了解决上述问题,接下来结合图1-图4,介绍本说明书实施例提供的故障变更定位方法中上述步骤308,计算每个变更对应的描述文本与用户投诉文本之间的文本相似度的另一种具体实现过程。具体请参考图6,其为本说明书一示例性实施例提供的另一种文本相似度模型的实现流程示意图。如图6所示,该文本相似度模型的实现流程包括以下几个步骤:
136.步骤602,将每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,得到描述文本对应的至少一个目标文本。
137.具体地,每个变更对应的描述文本包括多个句子。可以将上每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,从而得到描述文本对应的至少一个目标文本。上述目标文本包括至少一个上述描述文本中的句子。上述第一预设规则可以为将每个变更对应的描述文本中的多个句子按照描述文本中的顺序进行拼接,直至拼接得到的目标文本的长度最接近或等于预设长度。上述句子为长度小于预设阈值的短句子。上述预设阈值可以为256、200、512等大于1且,小于或等于512的任意值,本说明书对此不作限定。上述第一预设规则也可以为将描述文本中的句子或字符按照描述文本中的顺序进行拼接,直至拼接得到的目标文本的长度最接近或等于预设长度,本说明书实施例对此不作限定。上述预设长度可以为bert文本相似度模型训练的最大文本长度512,也可以为256、400等小于512的任意长度,本说明书实施例对此不作限定。
138.步骤604,计算用户投诉文本与描述文本对应的每个目标文本之间的第二词重叠分数。
139.具体地,可以将用户投诉文本与每个描述文本对应的至少一个目标文本中每个目标文本进行词重叠打分,即计算用户投诉文本与每个描述文本对应的至少一个目标文本中每个目标文本之间具有相同或相似的词的分数即第二词重叠分数。上述第二词重叠分数用于表征用户投诉文本与描述文本对应的每个目标文本之间的相关性。
140.步骤606,从描述文本对应的至少一个目标文本中提取第二词重叠分数最高的m个目标文本。
141.具体地,计算出用户投诉文本与每个变更的描述文本对应的至少一个目标文本中每个目标文本之间的第二词重叠分数后,可以提取出每个变更的描述文本对应的至少一个目标文本中第二词重叠分数最高的m个目标文本。上述m为正整数,且上述m小于或等于描述文本对应的所有目标文本的总数。
142.示例性地,若某个变更对应的描述文本中的句子进行拼接后得到20个目标文本,则可以从上述描述文本对应的20个目标文本中提取第二词重叠分数最高的3个目标文本。
143.步骤608,根据每个变更的描述文本对应的m个目标文本计算每个变更对应的描述文本与用户投诉文本之间的文本相似度。
144.可选地,可以先计算每个描述文本对应的第二词重叠分数最高的m个目标文本分别与用户投诉文本之间的m个文本相似度,即可以将上述每个描述文本对应的第二词重叠分数最高的m个目标文本分别与用户投诉文本输入bert文本相似度模型中,从而输出得到每个描述文本对应的m个目标文本与用户投诉文本之间的m个文本相似度。然后根据上述m个文本相似度中k个最高的文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。上述k为大于0,且小于或等于m的正整数。
145.示例性地,可以计算上述每个变更对应的m个文本相似度中k个最高的文本相似度的平均值,并将上述平均值确定为上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;也可以将上述每个变更对应的m个文本相似度中k个最高的文本相似度进行加权求和,从而得到上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度,本说明书实施例对此不作限定。
146.可选地,在计算出每个变更对应的第二词重叠分数最高的m个目标文本分别与用户投诉文本之间的m个文本相似度之后,还可以根据上述m个文本相似度中k个最高的文本相似度,以及上述k个最高的文本相似度对应的k个目标文本与上用户投诉文本之间的k个第二词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。即可以将上述m个文本相似度中k个最高的文本相似度,以及上述k个最高的文本相似度对应的k个目标文本与上用户投诉文本之间的k个第二词重叠分数进行加权融合,从而得到上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。上述k为大于0,且小于或等于m的正整数。
147.本说明书实施例不按照原始的句号进行切分,而是通过将变更对应的描述文本中的句子拼接到接近或等于bert文本相似度模型训练的最大长度才开始计算第二词重叠分数,并根据每个变更的描述文本对应的第二词重叠分数最高的m个目标文本计算每个变更对应的描述文本与用户投诉文本之间的文本相似度,避免了由于撰写时多写句号导致文本语义被切割的情况,也减少了计算第二词重叠分数的计算量,不仅提高了定位故障变更的效率,还能够进一步提高计算文本相似度的准确率,从而进一步提升故障变更定位的准确率。
148.由于上述无监督的bert文本相似度模型不会放过任何的可能性,即尽可能将用户投诉文本与变更关联起来,并且一个用户的描述可能不全面,导致盯盘的技术人员每天都需要对大量的疑似与多个类似又不相同的用户投诉文本相关联的故障变更进行排查。为了解决上述问题,接下来结合图1-图2,介绍本说明书实施例提供的故障变更定位方法。具体请参考图7,其为本说明书一示例性实施例提供的另一种故障变更定位方法的流程示意图。如图7所示,该故障变更定位方法包括以下几个步骤:
149.步骤702,获取用户投诉文本。
150.具体地,步骤702与步骤302一致,此处不再赘述。
151.步骤704,基于用户投诉文本的投诉时刻,确定预设时间段内的变更集合。
152.具体地,步骤704与步骤304一致,此处不再赘述。
153.步骤706,获取变更集合中每个变更对应的描述文本。
154.具体地,步骤706与步骤306一致,此处不再赘述。
155.步骤708,确定在用户投诉文本的投诉时刻之前投诉的x个历史用户投诉文本。
156.具体地,可以从获取到的所有用户投诉文本中找到在本次用户投诉文本的投诉时刻之前,且投诉时刻离上述用户投诉文本的投诉时刻最近的x个历史用户投诉文本。上述x为正整数。
157.示例性地,上述x可以为50、100、200等,本说明书实施例对此不作限定。
158.步骤710,计算用户投诉文本与x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度。
159.具体地,可以将用户投诉文本与x个历史用户投诉文本输入上述实施例中训练好的bert文本相似度模型中,从而输出得到用户投诉文本与x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度。
160.步骤712,若存在y个历史用户投诉文本与用户投诉文本之间的文本相似度大于或等于第二预设阈值,则将y个历史用户投诉文本与用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本。
161.具体地,可以将x个历史用户投诉文本中与用户投诉文本之间的文本相似度大于或等于第二预设阈值的所有历史用户投诉文本即y个历史用户投诉文本,与用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本。上述第三预设规则可以为将上述y个历史用户投诉文本与用户投诉文本按照投诉时刻的先后顺序进行拼接,也可以为将上述y个历史用户投诉文本与用户投诉文本按照任意的顺序进行拼接,还可以为过滤掉上述y个历史用户投诉文本与用户投诉文本中的停用词,然后按照任意的顺序进行拼接等,本说明书实施例对此不作限定。上述y为大于0,且小于或等于x的正整数。上述第二预设阈值可以为0.6、0.9等,本说明书实施例对此不作限定。
162.步骤714,计算每个变更对应的描述文本与目标投诉文本之间的文本相似度。
163.具体地,可以将每个变更对应的描述文本与目标投诉文本直接输入bert文本相似度模型中,从而输出得到每个变更对应的描述文本与目标投诉文本之间的文本相似度。上述bert文本相似度模型由多个变更对应的描述文本、多个用户投诉文本以及上述每个变更对应的描述文本与上述每一个用户投诉文本之间的文本相似度训练得到。
164.步骤716,若存在变更对应的描述文本与目标投诉文本之间的文本相似度大于或等于第一预设阈值,则将变更确定为用户投诉文本以及y个历史用户投诉文本对应的故障变更。
165.具体地,可以将与目标投诉文本之间的文本相似度大于或等于第一预设阈值的描述文本对应的变更确定为上述目标文本即上述用户投诉文本以及y个历史用户投诉文本对应的故障变更,即可能是由于上述故障变更导致上述用户投诉文本以及y个历史用户投诉文本各自对应的用户在使用软件时出现问题,从而发起投诉,即产生上述用户投诉文本以及y个历史用户投诉文本。上述第一预设阈值可以为0.1、0.9等,本说明书对此不作限定。上述用户投诉文本以及y个历史用户投诉文本对应的故障变更包括至少一个变更,且上述故障变更的数量小于或等于仅根据用户投诉文本确定的故障变更的数量。服务器在确定与上
述用户投诉文本相关的至少一个故障变更之后,可以将上述用户投诉文本以及y个历史用户投诉文本和其对应的至少一个故障变更发送给上述每个故障变更对应的技术人员进行排查、回滚以及修复。
166.本说明书实施例将在本次用户投诉文本的投诉时刻之前投诉的,y个与用户投诉文本之间的文本相似度大于或等于第二预设阈值的历史用户投诉文本,与上述用户投诉文本按照第三预设规则拼接为一个目标投诉文本,并通过计算上述每个变更对应的描述文本与上述目标投诉文本之间的文本相似度确定上述用户投诉文本以及上述x个历史用户投诉文本对应的故障变更,既能够避免一个用户的描述不全面导致定位不准确或疑似与该用户投诉文本相关联的故障变更太多的问题,提高故障变更定位的准确性,又可以同时对多个“同类”的用户投诉文本进行处理,极大地减少技术人员工作量。
167.请参考图8,图8为本说明书一示例性实施例提供的一种故障变更定位装置。该故障变更定位装置800包括:
168.获取模块810,用于获取用户投诉文本;
169.第一确定模块820,用于基于上述用户投诉文本的投诉时刻,确定预设时间段内的变更集合;
170.上述获取模块810还用于,获取上述变更集合中每个变更对应的描述文本;
171.第一计算模块830,用于计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;
172.第二确定模块840,用于若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更。
173.在一种可能的实现方式中,上述描述文本包括至少一个句子;
174.上述第一计算模块830包括:
175.第一计算单元,用于计算上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的第一词重叠分数;上述第一词重叠分数用于表征上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的相关性;
176.第一提取单元,用于从上述每个变更对应的描述文本中提取上述第一词重叠分数最高的n个句子;上述n为正整数;
177.第二计算单元,用于根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
178.在一种可能的实现方式中,上述第二计算单元具体用于:
179.计算上述每个变更对应的上述n个句子分别与上述用户投诉文本之间的n个文本相似度;
180.根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述l为大于0,且小于或等于n的正整数。
181.在一种可能的实现方式中,上述第二计算单元在根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于:
182.根据上述n个文本相似度中l个最高的上述文本相似度,以及上述l个最高的上述文本相似度对应的l个句子与上述用户投诉文本之间的l个第一词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
183.在一种可能的实现方式中,上述描述文本包括多个句子;
184.上述第一计算模块830还包括:
185.拼接单元,用于将上述每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,得到上述描述文本对应的至少一个目标文本;上述目标文本包括至少一个上述句子;
186.第三计算单元,用于计算上述用户投诉文本与上述描述文本对应的每个目标文本之间的第二词重叠分数;上述第二词重叠分数用于表征上述用户投诉文本与上述描述文本对应的每个目标文本之间的相关性;
187.第二提取单元,用于从上述描述文本对应的上述至少一个目标文本中提取上述第二词重叠分数最高的m个目标文本;上述m为正整数;
188.第四计算单元,用于根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
189.在一种可能的实现方式中,上述第四计算单元具体用于:
190.计算上述每个变更对应的上述m个目标文本分别与上述用户投诉文本之间的m个文本相似度;
191.根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述k为大于0,且小于或等于m的正整数。
192.在一种可能的实现方式中,上述第四计算单元在根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于:
193.根据上述m个文本相似度中k个最高的上述文本相似度,以及上述k个最高的上述文本相似度对应的k个目标文本与上述用户投诉文本之间的k个第二词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
194.在一种可能的实现方式中,上述故障变更定位装置800还包括:
195.过滤模块,用于根据预设停用词词库按照第二预设规则对上述用户投诉文本以及上述每个变更对应的描述文本进行过滤,得到过滤后的用户投诉文本以及过滤后的每个变更对应的描述文本;
196.上述第一计算模块830具体用于:
197.计算上述过滤后的每个变更对应的描述文本与上述过滤后的用户投诉文本之间的文本相似度。
198.在一种可能的实现方式中,上述故障变更定位装置800还包括:
199.第三确定模块,用于确定在上述用户投诉文本的投诉时刻之前投诉的x个历史用户投诉文本;上述x为正整数;
200.第二计算模块,用于计算上述用户投诉文本与上述x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度;
201.拼接模块,用于若存在y个历史用户投诉文本与上述用户投诉文本之间的文本相似度大于或等于第二预设阈值,则将上述y个历史用户投诉文本与上述用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本;上述y为大于0,且小于或等于x的正整数;
202.上述第一计算模块830还用于,计算上述每个变更对应的描述文本与上述目标投诉文本之间的文本相似度;
203.上述第二确定模块840还用于,若存在变更对应的描述文本与上述目标投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本以及上述y个历史用户投诉文本对应的故障变更。
204.上述故障变更定位装置中各模块的划分仅用于举例说明,在其他实施例中,可将故障变更定位装置按照需要划分为不同的模块,以完成上述故障变更定位装置的全部或部分功能。本说明书实施例中提供的故障变更定位装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本说明书实施例中所描述的故障变更定位方法的全部或部分步骤。
205.请参阅图9,图9为本说明书一示例性实施例提供的一种电子设备的结构示意图。如图9所示,该电子设备900可以包括:至少一个处理器910、至少一个通信总线920、用户接口930、至少一个网络接口940、存储器950。
206.其中,通信总线920可用于实现上述各个组件的连接通信。
207.其中,用户接口930可以包括显示屏(display)和摄像头(camera),可选用户接口还可以包括标准的有线接口、无线接口。
208.其中,网络接口940可选的可以包括蓝牙模块、近场通信(near field communication,nfc)模块、无线保真(wireless fidelity,wi-fi)模块等。
209.其中,处理器910可以包括一个或者多个处理核心。处理器910利用各种接口和线路连接整个电子设备900内的各个部分,通过运行或执行存储在存储器950内的指令、程序、代码集或指令集,以及调用存储在存储器950内的数据,执行路由电子设备900的各种功能和处理数据。可选的,处理器910可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器910可集成处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器910中,单独通过一块芯片进行实现。
210.其中,存储器950可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。可选的,该存储器950包括非瞬时性计算机可读介质。存储器950可用于存储指令、程序、代码、代码集或指令集。存储器950可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如获取功能、计算功能、确定功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器950可选的还可以是至少一个位于远离前述处理器910的存储装置。如图9所示,作为一种计算机存储介质的存储器950
中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。
211.具体地,处理器910可以用于调用存储器950中存储的程序指令,并具体执行以下操作:
212.获取用户投诉文本。
213.基于上述用户投诉文本的投诉时刻,确定预设时间段内的变更集合。
214.获取上述变更集合中每个变更对应的描述文本。
215.计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
216.若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更。
217.在一些可能的实施例中,上述描述文本包括至少一个句子。
218.上述处理器910计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
219.计算上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的第一词重叠分数;上述第一词重叠分数用于表征上述用户投诉文本与上述每个变更对应的描述文本中的每个句子之间的相关性。
220.从上述每个变更对应的描述文本中提取上述第一词重叠分数最高的n个句子;上述n为正整数。
221.根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
222.在一些可能的实施例中,上述处理器910根据上述每个变更对应的上述n个句子计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
223.计算上述每个变更对应的上述n个句子分别与上述用户投诉文本之间的n个文本相似度。
224.根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述l为大于0,且小于或等于n的正整数。
225.在一些可能的实施例中,上述处理器910根据上述n个文本相似度中l个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
226.根据上述n个文本相似度中l个最高的上述文本相似度,以及上述l个最高的上述文本相似度对应的l个句子与上述用户投诉文本之间的l个第一词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
227.在一些可能的实施例中,上述描述文本包括多个句子。
228.上述处理器910计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
229.将上述每个变更对应的描述文本中的所有句子按照第一预设规则进行拼接,得到上述描述文本对应的至少一个目标文本;上述目标文本包括至少一个上述句子。
230.计算上述用户投诉文本与上述描述文本对应的每个目标文本之间的第二词重叠
分数;上述第二词重叠分数用于表征上述用户投诉文本与上述描述文本对应的每个目标文本之间的相关性。
231.从上述描述文本对应的上述至少一个目标文本中提取上述第二词重叠分数最高的m个目标文本;上述m为正整数。
232.根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
233.在一些可能的实施例中,上述处理器910根据上述每个变更的描述文本对应的上述m个目标文本计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
234.计算上述每个变更对应的上述m个目标文本分别与上述用户投诉文本之间的m个文本相似度。
235.根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度;上述k为大于0,且小于或等于m的正整数。
236.在一些可能的实施例中,上述处理器910根据上述m个文本相似度中k个最高的上述文本相似度确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
237.根据上述m个文本相似度中k个最高的上述文本相似度,以及上述k个最高的上述文本相似度对应的k个目标文本与上述用户投诉文本之间的k个第二词重叠分数确定上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度。
238.在一些可能的实施例中,上述处理器910执行接收用户投诉文本之后,计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度之前,还用于执行:
239.根据预设停用词词库按照第二预设规则对上述用户投诉文本以及上述每个变更对应的描述文本进行过滤,得到过滤后的用户投诉文本以及过滤后的每个变更对应的描述文本。
240.上述处理器910计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度时,具体用于执行:
241.计算上述过滤后的每个变更对应的描述文本与上述过滤后的用户投诉文本之间的文本相似度。
242.在一些可能的实施例中,上述处理器910执行接收用户投诉文本之后,计算上述每个变更对应的描述文本与上述用户投诉文本之间的文本相似度之前,还用于执行:
243.确定在上述用户投诉文本的投诉时刻之前投诉的x个历史用户投诉文本;上述x为正整数。
244.计算上述用户投诉文本与上述x个历史用户投诉文本中每个历史用户投诉文本之间的文本相似度。
245.若存在y个历史用户投诉文本与上述用户投诉文本之间的文本相似度大于或等于第二预设阈值,则将上述y个历史用户投诉文本与上述用户投诉文本按照第三预设规则进行拼接,得到目标投诉文本;上述y为大于0,且小于或等于x的正整数。
246.上述处理器910计算上述每个变更对应的描述文本与上述用户投诉文本之间的文
本相似度时,具体用于执行:
247.计算上述每个变更对应的描述文本与上述目标投诉文本之间的文本相似度。
248.上述处理器910在执行若存在变更对应的描述文本与上述用户投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本对应的故障变更时,具体用于执行:
249.若存在变更对应的描述文本与上述目标投诉文本之间的文本相似度大于或等于第一预设阈值,则将上述变更确定为上述用户投诉文本以及上述y个历史用户投诉文本对应的故障变更。
250.本说明书实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述实施例中的一个或多个步骤。上述故障变更定位装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取存储介质中。
251.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本说明书实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者通过上述计算机可读存储介质进行传输。上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(digital versatile disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
252.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
253.以上所述的实施例仅仅是本说明书的优选实施例方式进行描述,并非对本说明书的范围进行限定,在不脱离本说明书的设计精神的前提下,本领域普通技术人员对本说明书的技术方案作出的各种变形及改进,均应落入权利要求书确定的保护范围内。
254.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。