对话数据的处理方法、装置、电子设备及存储介质与流程

未命名 09-21 阅读:59 评论:0


1.本技术涉及人工智能以及云技术领域,具体而言,本技术涉及一种对话数据的处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着科学技术的发展,为了提高目标对象的输入体验,快速解决目标对象的输入需求,出现了越来越多的输入辅助系统。
3.相关技术中,通常会提前配置录入的话术库,比如,在智能问答系统中,在接收到目标对象提出的问题时,通过在话术库中查询到与目标对象所提出的问题最匹配的答案,将查询到的答案发送给目标对象。再比如,输入辅助系统可以基于目标对象的当前输入内容进行实时补全。
4.虽然现有的输入辅助系统能够在一定程度上满足目标对象的需求,但是智能辅助输入的准确性仍不够理想,有待改善。


技术实现要素:

5.本技术实施例提供了一种对话数据的处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,可以充分结合当前对话的各项信息,得到与当前输入文本对应的至少一条推荐对话,并推荐给当前输入文本对应的目标对象。
6.根据本技术实施例的一个方面,提供了一种对话数据的处理方法,该方法包括:
7.对于当前对话,获取当前对话数据和当前对话对应的对话元信息,该当前对话数据包括文本输入区域中的当前输入文本和对话历史数据;
8.通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征;
9.将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,并推荐给当前输入文本对应的目标对象。
10.根据本技术实施例的另一个方面,提供了一种对话数据的处理装置,该装置包括:
11.对话信息获取模块,用于获取当前对话对应的当前对话数据和当前对话对应的对话元信息,当前对话数据包括文本输入区域中的当前输入文本和对话历史数据;
12.对话特征确定模块,用于通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征;
13.推荐对话确定模块,用于将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,并推荐给当前输入文本对应的目标对象。
14.可选地,对话特征确定模块在通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征时,具体用于:
15.将对话历史数据中的对话文本和当前输入文本按照对话时序拼接,得到拼接文
本;
16.基于拼接文本,确定当前对话对应的文本特征;
17.基于对话元信息,确定当前对话对应的当前对话标签;
18.将文本特征和当前对话标签拼接,得到对话特征。
19.可选地,对话元信息包括对话场景信息和当前对话的参与对象的对象属性信息;
20.对话特征确定模块在基于对话元信息,确定当前对话对应的当前对话标签时,具体用于:
21.确定对话场景信息的信息特征以及对象属性信息的信息特征;
22.将对话元信息包括的各项信息的信息特征拼接,得到当前对话标签。
23.可选地,对话场景信息包括当前输入文本对应的当前时间或当前对话对应的业务类型中的至少一项;
24.当前对话的对象属性信息包括当前对话的至少两个参与对象的对象标识;
25.对话特征确定模块在确定对话场景信息的信息特征以及对象属性信息的信息特征时,具体用于:
26.确定对话场景信息中包括的各项信息的信息特征;
27.确定当前对话的对象属性信息包括的每个对象标识的信息特征。
28.可选地,对话特征确定模块在基于拼接文本,确定当前对话对应的文本特征时,具体用于:
29.确定拼接文本中包括的各词的词向量,将各词的词向量按照各词在拼接文本中的位置关系拼接,得到文本向量;
30.对于拼接文本中的每个词,确定该词所属的当前对话的参与对象的对象标识;
31.将各词对应的对象标识按照位置关系进行拼接,得到对象特征向量;
32.确定各词在拼接文本中的位置标识;
33.将各词对应的位置标识按照位置关系进行拼接,得到位置向量;
34.将文本向量、对象特征向量和位置向量进行融合,得到文本特征。
35.可选地,推荐对话确定模块在将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话时,具体用于:
36.将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本;
37.将每个后续输入文本分别拼接在当前输入文本之后,得到至少一条推荐对话。
38.可选地,推荐对话确定模块在将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本时,具体用于:
39.将对话特征输入到对话生成模型中,预测得到当前输入文本对应的至少一个第一个后续输入候选词;
40.将每个第一个后续输入候选词拼接在当前输入文本之后,将拼接后的各文本分别作为新的当前输入文本;
41.对于每个新的当前输入文本,基于对话历史数据和对话元信息,确定与每个新的当前输入文本对应的第二拼接特征;
42.将各第二拼接特征分别输入至对话生成模型中,得到至少一个后续输入文本。
43.可选地,对话生成模型是基于前缀微调的自回归语言模型的神经网络模型;
44.对话特征确定模块在将文本特征和当前对话标签拼接,得到对话特征时,具体用于:
45.将当前对话标签作为前缀向量拼接在文本特征之前,得到对话特征。
46.可选地,对话生成模型是基于以下方式训练得到的:
47.获取训练数据集,训练数据集包括多个训练样本,每个训练样本包括一个样本对话对应的样本对话数据、样本文本以及样本对话元信息,样本文本为样本对话数据的下一对话文本;
48.对于每个训练样本,基于该训练样本包括的样本对话数据和样本对话元信息,得到样本对话数据对应的样本对话特征;
49.基于各训练样本对应的样本对话特征和样本文本,对初始神经网络模型执行以下训练操作:
50.对于每个训练样本,将训练样本对应的样本对话特征输入到神经网络模型中,基于初始神经网络模型的输出结果,得到与样本对话特征对应的至少一个预测推荐对话;
51.基于各训练样本对应的至少一个预测推荐对话和该训练样本对应的样本文本,确定神经网络模型对应的训练损失;
52.若训练损失满足训练结束条件,则基于满足训练结束条件的神经网络模型得到训练好的生成文本模型;
53.若训练损失不满足训练结束条件,则基于训练损失对初始神经网络模型的模型参数进行调整,并基于各训练样本对应样本拼接特征和样本文本继续对调整后的神经网络模型进行训练。
54.可选地,至少一条推荐对话是通过以下方式展示给当前输入文本对应的目标对象的:
55.将各条推荐对话展示在与文本输入区域对应的推荐展示区域;
56.该装置还包括输入文本更新模块,输入文本更新模块用于响应于针对至少一个推荐对话中任一推荐对话的选中操作,将文本输入区域中的当前输入文本更新为选中操作对应的推荐对话。
57.根据本技术实施例的再一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行计算机程序以实现上述方法的步骤。
58.根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
59.根据本技术实施例的再一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
60.本技术实施例提供的技术方案带来的有益效果是:
61.在本技术实施例所提供的对话数据的处理方法中,对于当前对话,通过获取文本输入区域中当前输入文本、对话历史数据以及当前对话对应的对话元信息,通过融合当前输入文本、对话历史数据和对话元信息,得到当前对话对应的对话特征,并将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐
对话,可以充分考虑当前对话数据以及当前对话对应的对话元信息,充分结合当前对话的各项信息,不需要依赖预设的文本库,就可以得到与当前对话数据以及当前对话对应的对话元信息对应的推荐对话,并将所得到的推荐对话推荐给当前输入文本对应的目标对象,可以使得所得到的推荐对话更能符合目标对象的输入需求,提高了目标对象输入文本的效率,提升了目标对象的输入体验。
附图说明
62.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
63.图1为本技术实施例提供的对话数据的处理方法的示意图;
64.图2为本技术实施例提供的一显示界面的示意图;
65.图3为本技术实施例提供的另一显示界面的示意图;
66.图4为本技术实施例提供的又一显示界面的示意图;
67.图5为本技术实施例提供的对话生成模型的示意图;
68.图6示出了本技术实施例适用的确定文本特征的场景示意图;
69.图7为本技术实施例提供的对话特征的结构示意图;
70.图8示出了本技术实施例提供的一种对话数据的处理系统的示意图;
71.图9示出了本技术实施例适用的应用场景下的对话数据处理方法的流程图;
72.图10示出了本技术实施例适用的应用场景下的对话数据处理方法的信令交互图;
73.图11示出了本技术实施例提供的对话数据的处理装置的示意图;
74.图12示出了本技术实施例所适用的一种电子设备的结构示意图。
具体实施方式
75.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
76.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
77.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
78.目前,在现有技术中已经存在多种多样的辅助输入系统,但是这些方案中通常都是通过对目标对象的已输入内容进行单纯的文字分析,依赖于特定的实现场景,不够灵活,
有待改善。具体地:
79.在一些客服辅助技术中,只能用于订票等固定的任务场景。
80.或者,在输入法或搜索等场景中,依赖预设的大规模文本库,采用匹配召回等方式,根据当前输入进行实时补全。
81.或者,即便考虑到与当前对话对应的不同信息,例如,当前对话的文本本身、当前对话对应的时间等,也只能采用不同的模型,分别对每项信息进行训练,从而基于对各项信息进行训练得到的多个模型,在实际使用过程中,需要对多个模型分别进行部署,且需要基于对多个模型的输出结果再次进行处理,才能获取到与当前对话对应的下一条对话文本,显然,该方法的处理效率很低。或者,直接将不同的信息输入到模型中进行训练,并基于训练好的模型,得到与当前对话对应的下一条对话文本。显然,该方法会加大模型训练过程以及后续基于模型进行实际处理过程中的数据量,无法进行大规模使用。
82.基于上述,本技术实施例提供了一种对话数据的处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,旨在解决现有技术的如上技术问题。
83.本技术实施例提供的对话数据的处理方法的执行主体可以是对话数据的处理装置。该对话数据的处理装置可以是任一计算机设备,包括但不限于终端或服务器。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。该终端(也可以称为用户终端或用户设备(user equipment,ue))可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、ar(augmented reality,增强现实)/vr(virtual reality,虚拟现实)设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。该图像重建方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
84.本技术实施例提供的对话数据的处理方法,可以基于人工智能(artificial intelligence,ai)技术实现。比如,基于人工智能技术训练对话生成模型,并基于训练好的对话生成模型,基于对话特征得到至少一条推荐对话。ai是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
85.本技术实施例提供的对话数据的处理方法可以基于云技术(cloud technology)实现,比如,在对对话生成进行训练的过程中所涉及的数据计算可以采用云计算(cloud computing)方式。其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
86.可以理解的是,在本技术的具体实施方式中,涉及到当前对话的参与对象的对象标识等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得目标对象的许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
87.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复
描述。
88.本技术实施例所提供的对话数据的处理方法可以应用于即时聊天(im,instant messaging)类客服系统,例如,该即时聊天类客服系统可以为在线游戏客服辅助系统。当然,该方法也可以应用于任何对话领域的输入辅助系统,也可以应用于非即时消息场景中,例如发送邮件等场景。该方法可以基于当前对话的不同的参与对象的对话信息,得到与当前输入文本对应的至少一条推荐对话。
89.图1为本技术实施例提供的对话数据的处理方法的示意图,如图1所示,该方法可以包括步骤s110至步骤s130。
90.步骤s110:对于当前对话,获取当前对话数据和当前对话对应的对话元信息,该当前对话数据包括文本输入区域中的当前输入文本和对话历史数据。
91.步骤s120:通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征。
92.步骤s130:将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,并推荐给当前输入文本对应的目标对象。
93.本技术实施例中,对话历史数据,即在当前时间之前已发送的对话数据。当前时间,即当前输入文本对应的输入时间。
94.在该实现方式中,可以将当前输入文本作为一条对话文本进行处理,因此,以下可以将“当前输入文本以及对话历史数据中所包括的每条对话文本”简称为“每条对话文本”。
95.当前对话对应的对话元信息包括所有与当前对话相关的、非对话数据的结构化数据,可以用来反映与当前对话相关、但非文字的信息。对话元信息可以包括但不限于最后一次对话发生的时间、客户身份特征、业务类型、客服编号、目标对象的相关数据等。
96.对于当前对话,通过获取文本输入区域中当前输入文本、对话历史数据以及当前对话对应的对话元信息,通过融合当前输入文本、对话历史数据和对话元信息,得到当前对话对应的对话特征,并将该对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,可以充分考虑当前对话数据以及当前对话对应的对话元信息,充分结合当前对话的各项信息,不需要依赖预设的文本库,就可以得到与当前对话数据以及当前对话对应的对话元信息对应的推荐对话,并将所得到的推荐对话推荐给当前输入文本对应的目标对象,可以使得所得到的推荐对话更能符合目标对象的输入需求,提高目标对象输入文本的效率,提升目标对象的输入体验。
97.在本技术实施例中,若当前输入文本为连续输入文本,即在未发送当前输入文本之前,持续输入新的当前输入文本,对当前输入文本进行更新,可以实时根据更新后的当前输入文本更新推荐对话,以更好地满足目标对象的输入需求。
98.需要说明的是,本技术实施例提供的对话数据的处理方法,既可以适用于文本输入区域存在当前输入文本的情况,也可以使用与文本输入区域不存在当前输入文本的情况,可以根据实际情况确定,本技术实施例对此不做限制。
99.可选地,通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征,包括:
100.将对话历史数据中的对话文本和当前输入文本按照对话时序拼接,得到拼接文本;
101.基于拼接文本,确定当前对话对应的文本特征;
102.基于对话元信息,确定当前对话对应的当前对话标签;
103.将文本特征和当前对话标签拼接,得到对话特征。
104.对话时序可以为每条对话文本对应的输入时间(可以是目标对象输入并确定发送该文本的时间,也可以是服务器接收到该文本的时间,或者其他时间,只要能够用于表征一条对话文本在各条对话文本中的相对时间先后即可),其中,当前输入文本对应的“发送时间”可以为当前输入文本对应的输入文本时间。
105.可选地,可以通过将拼接文本进行数值化处理,例如,确定拼接文本中各词对应的词向量等,基于拼接文本中各词对应的词向量确定当前对话对应的文本特征。其中,其中,各词的词向量可以为该词在对应的词典表中的编号。
106.可选地,可以通过将对话元信息所包括的各项内容,将对话元信息所包括的各项内容分别转换成对应的数值,从而确定出当前对话对应的当前对话标签。
107.可以将当前对话标签拼接在文本特征之后,得到对话特征,也可以将当前对话标签拼接在文本特征之前,得到对话特征,本技术实施例对此不做限制,可以根据实际情况确定。
108.基于当前输入文本和对话历史数据确定出当前对话对应的文本特征,基于对话元信息确定出当前对话标签,并将文本特征与当前对话标签进行拼接,得到当前对话对应的对话特征,可以实现对当前对话的各项信息(当前输入文本、对话历史数据以及当前对话对应的对话元信息)的轻量级的参数处理,可以使得所得到的对话特征采用较少的数据量就可以充分标识当前对话的信息,减少数据量,提高数据处理效率。进而,在通过将对话特征输入到训练好的对话生成模型中,以基于该对话生成模型得到当前输入文本对应的至少一条推荐对话时,还提高了在基于对话生成模型得到推荐对话的数据过程的处理效率。
109.可选地,将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,包括:
110.将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本;
111.将每个后续输入文本分别拼接在当前输入文本之后得到至少一条推荐对话。
112.在该实现方式中,在将对话特征输入到对话生成模型之后,可以得到至少一个输出结果,也可以包括至少一个输出结果和每个输出结果对应的置信度,每个置信度可以为对应的输出结果的概率值。如图5所示,输出结果包括“哦”以及其对应的概率值0.76,“喔”以及其对应的概率值0.12等。
113.可选地,可以采用核采样技术(nucleus sampling),基于每个输出结果对应的概率值,对每个输出结果进行采样,得到核采样结果。其中,核采样技术,即将各输出结果对应的概率值按照从大到小的顺序进行排列,并将各概率值按照从大到小的顺序开始累加,当累加的值大于或等于预设阈值p的时候,不再对后面较小的概率值进行相加,将当前累加的各概率值对应的输出结果确定为第一结果。基于各第一结果进行随机采样,得到第二结果,将该第二采样结果作为后续输入文本。其中,进行随机采样的次数与所要得到的后续输入文本的预设数量相同。
114.本技术实施例对预设数量和预设阈值的具体取值不做限制,可以为实验值或经验
值,或者根据实际情况进行确定。可选地,可以设置预设数量为5,预设阈值为0.9。
115.可选地,由于在得到核采样结果后,可以再次进行随机采样得到后续输入文本,因此,各后续输入文本之间可能会存在重复的可能,也即,将各后续输入文本与当前输入文本拼接之后,所得到的与每个后续输入文本对应的拼接结果之间也会存在重复的可能,基于此,为了避免为目标对象推荐重复的推荐对话,在得到与每个后续输入文本对应的拼接结果之后,可以对与每个后续输入文本对应的拼接结果进行去重处理,将去重处理后的结果作为推荐对话。
116.通过上述方式,可以提高在将后续输入文本拼接在当前输入文本之后,所得到的推荐对话的语义通顺性,同时保证所得到的推荐对话的多样性。
117.作为一个示例,在预设数量为5,预设阈值为0.9,基于对话生成模型所得到的输出结果为:“哦”以及其对应的概率值0.76,“喔”以及其对应的概率值0.12,“哈哈”以及其对应的概率值0.08,“猪头”以及其对应的概率值0.02的情况下,上述确定推荐对话的过程可以具体包括以下步骤(1)至步骤(4):
118.(1)将各输出结果“哦”、“喔”、“哈哈”和“猪头”按照从大到小的顺序进行排列,即0.76、0.12、0.08、0.02。
119.(2)将各概率值按照从大到小的顺序开始累加,可以确定排序在前的三个概率值0.76、0.12和0.08的和大于0.9,将确定“哦”、“喔”和“哈哈”为第一结果。
120.(3)分别对各第一结果“哦”、“喔”和“哈哈”进行5次随机采样,将每次得到的第二结果作为后续输入文本。
121.(4)在每次得到后续输入文本之后,将后续输入文本拼接在当前输入文本之后,得到推荐对话。
122.应该理解的是,在将所得到的联想词拼接在当前输入文本之后,所得到的文本(即推荐对话)可能不是完整的对话文本(即非完整对话文本),即并不是以“。”、“!”以及“?”等结束符结束的对话文本,为了避免将所得到的非完整对话文本作为推荐对话推荐给目标对象,影响目标对象的正常对话,本技术实施例还提供了以下可选的实施方式。
123.可选地,将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本,包括:
124.将对话特征输入到对话生成模型中,预测得到当前输入文本对应的至少一个第一个后续输入候选词;
125.将每个第一个后续输入候选词拼接在当前输入文本之后,将拼接后的各文本分别作为新的当前输入文本;
126.对于每个新的当前输入文本,基于对话历史数据和对话元信息,确定新的当前输入文本对应的拼接特征;
127.将各新的当前输入文本对应的拼接特征输入至对话生成模型中,得到至少一个后续输入文本。
128.在该实现方式中,得到第一个后续输入候选词的方式与前文所描述的获取后续输入文本的方式相同,在此不做赘述。
129.在得到至少一个第一个后续输入候选词之后,可以确定每个第一个后续输入候选词对应的词向量,并将每个第一个后续输入候选词拼接在当前输入文本之后,得到与每个
第一后续输入候选词对应的新的当前输入文本。以得到的第一个后续输入候选词的数量为5为例,可以将当前输入文本复制5次,分别将每个第一个后续输入候选词与当前输入文本进行拼接,得到5个新的当前输入文本。
130.对于每个新的当前输入文本,可以根据上述基于当前输入文本、对话历史数据和对话元信息确定对话特征的方式,根据每个新的当前输入文本、对话历史数据和对话元信息,确定出与每个新的当前输入文本对应的第二拼接特征。
131.在将各第二拼接特征分别输入至对话生成模型之后,可以得到与每个新的当前输入文本对应的第二个后续输入候选词。其中,若第二个后续输入候选词为上述任一结束符,则将第二个后续输入候选词确定为后续输入文本。若第二个后续输入候选词不是上述任一结束符,则继续采用上述方式确定新的当前输入文本,直至得到的后续输入候选词为任一结束符,得到新的当前输入文本对应的后续输入文本。
132.在得到与每个新的当前输入文本对应的后续输入文本之后,可以将与每个新的当前输入文本对应的后续输入文本与对应的新的当前输入文本进行拼接,得到至少一条推荐对话。
133.基于该方式,可以使得所得到的推荐对话为完整的文本,提高推荐对话的完整性,提升目标对象的输入体验。
134.可选地,至少一条推荐对话是通过以下方式展示给当前输入文本对应的目标对象的:
135.将各条推荐对话展示在文本输入区域对应的推荐展示区域;
136.该方法还包括:响应于针对至少一个推荐对话中任一推荐对话的选中操作,将文本输入区域中的当前输入文本更新为选中操作对应的推荐对话。
137.可选地,可以将各条推荐对话展示在文本输入区域的上方或下方等,本技术实施例对此不做限制。在推荐对话为一条的情况下,可以直接将推荐对话显示在文本输入区域。如图2所示,可以将5条推荐对话显示在文本输入区域的上方。
138.可以基于任一条推荐对话的选中操作,将该选中操作对应的推荐对话展示在文本输入区域,即将当前输入文本替换为选中操作对应的推荐对话,并不再对其他未被选中的推荐对话进行显示。
139.作为一个示例,可以基于对图2所显示的多条推荐对话中的推荐对话“大大请问是遇到什么问题了”的选中操作,将图2中对应的当前输入文本“大大”替换为“大大请问是遇到什么问题了”,并展示在文本输入区域,且不再对其他推荐对话,例如“大大下午好!”等进行显示。
140.在一种可选的实现方式中,可以将选中操作对应的推荐对话作为待发送文本,在文本输入区域中显示有待发送文本的情况下,可以基于与待发送区域对应的发送控件的触发操作,发送该待发送文本。作为一个示例,在图3中文本显示区域中显示有待发送文本“大大请问是遇到什么问题了”是,可以基于对发送控件的触发操作,发送该待发送文本,即如图4所示,发送了待发送文本“大大请问是遇到什么问题了”。
141.其中,本技术实施例对产生触发操作的方式不做限制,例如,可以为通过鼠标所执行的点击操作,或者通过键盘快捷键所执行的键入操作等。本技术实施例对发送控件的设置位置不做限制。如图2至图4所示,可以将发送控件设置在文本输入区域的右下角所示的
区域内。
142.如图4所示,“大大请问是遇到什么问题了?”对应的对话时序为9-20 10:01:00,与该对话文本的前一条对话文本之间的时间差为1秒,可见,基于本技术实施例所提供的对话数据的处理方法,可以在快速确定出与当前输入文本对应的推荐对话,并发送,极大提高了对话效率。
143.可选地,对话生成模型是基于前缀微调的自回归语言模型的神经网络模型;
144.将文本特征和当前对话标签拼接,得到对话特征,包括:
145.将当前对话标签作为前缀向量拼接在文本特征之前,得到对话特征。
146.如图5和图7所示,该基于前缀微调的自回归语言模型可以为开放域对话模型gpt(一种基于深度自注意力网络(transformer)的自回归语言模型)。该对话生成模型中包括输入编码层、多层自注意力神经网络层以及输出转换层。其中,输入编码层用于接收输入向量(图5中的输入向量为文本特征,图7中的输入向量为对话特征);多层自注意力神经网络层用于基于输入向量,生成后续输入文本;输出转换层,用于输出后续输入文本。
147.基于图5可以实现,在未考虑当前对话对应的对话元信息的情况下,可以基于当前对话对应的对话数据确定文本特征,并将该文本特征作为输入向量,基于对话生成模型,得到与当前输入文本对应的后续输入文本。如图7所示,在基于图5得到文本特征,即输入向量之后,可以将所得到的当前对话标签作为前缀向量拼接在输入向量之前,将拼接后的输入向量输入至输入编码层,从而依次通过多层自注意力神经网络层以及输出转换层,得到与当前输入文本对应的后续输入文本。
148.在本技术实施例中,通过基于前缀微调的自回归语言模型实现对话生成模型,在将当前对话标签作为前缀向量拼接在文本特征之前,可以实现将与当前对话对应的多个维度的信息组合在一起,从而使得根据拼接得到的对话特征所获取的与当前输入文本对应的推荐对话能够很好地反映目标对象的意愿,且满足当前对话需求。
149.可选地,对话生成模型是基于以下方式训练得到的:
150.获取训练数据集,该训练数据集包括多个训练样本,每个训练样本包括一个样本对话对应的样本对话数据、样本文本以及样本对话元信息,样本文本为样本对话数据的下一对话文本;
151.对于每个训练样本,基于该训练样本包括的样本对话数据和样本对话元信息,得到样本对话数据对应的样本对话特征;
152.基于各训练样本对应的样本对话特征和样本文本,对初始神经网络模型执行以下训练操作:
153.对于每个训练样本,将训练样本对应的样本对话特征输入到神经网络模型中,基于初始神经网络模型的输出结果,得到与样本对话特征对应的至少一个预测推荐对话;
154.基于各训练样本对应的至少一个预测推荐对话和该训练样本对应的样本文本,确定神经网络模型对应的训练损失;
155.若训练损失满足训练结束条件,则基于满足训练结束条件的神经网络模型得到训练好的生成文本模型;
156.若训练损失不满足训练结束条件,则基于训练损失对初始神经网络模型的模型参数进行调整,并基于各训练样本对应样本拼接特征和样本文本继续对调整后的神经网络模
型进行训练。
157.用于得到对话生成模型的模型训练设备可以是当前执行主体,也可以是与当前执行主体不同的电子设备,如可以是云服务器。
158.其中,对于确定训练损失的损失函数的具体函数形式本技术实施例不做限定,可以根据实际需求选择。可选的,损失函数可以包括但不限于以下任意一种,softmax损失,center loss(中心损失)等,本技术对此不做限制。
159.训练结束条件可以包括但不限于该对话生成模型的损失函数收敛、训练损失小于或等于预设值或者所得到的推荐对话的准确度满足需求等。其中,本技术实施例对该预设值的具体取值不做限制,可以为经验值或实验值,也可以根据实际情况确定。
160.通过上述训练方式,可以得到精确的推荐对话的对话生成模型,从而在基于对话生成模型得到推荐对话时,可以得到所得到的推荐对话更能反映目标对象的需求。
161.可选地,基于拼接文本,确定当前对话对应的文本特征,包括:
162.确定拼接文本中包括的各词的词向量,将各词的词向量按照各词在拼接文本中的位置关系拼接,得到文本向量;
163.对于拼接文本中的每个词,确定该词所属的当前对话的参与对象的对象标识;
164.将各词对应的对象标识按照位置关系进行拼接,得到对象特征向量;
165.确定各词在拼接文本中的位置标识;
166.将各词对应的位置标识按照位置关系进行拼接,得到位置向量;
167.将文本向量、对象特征向量和位置向量进行融合,得到文本特征。
168.在该实现方式中,可以通过对拼接文本进行分词处理,得到拼接文本中包括的各词,其中,本技术实施例对分词处理的方式不做限制,可以根据实际情况确定。例如,可以采用“jiebar”包(一种分词组件)进行分词处理。例如,对于一个对话文本“先生你好”,该对话文本可以分为“先生”和“你好”两个词。
169.在确定出拼接文本中包括的各词之后,可以基于预设的词向量表,确定出各词的词向量。
170.一个参与对象的对象标识可以用来指示参与对象的身份特征,具体可以为该参与对象的昵称或者其他标识,本技术对此不做限制。该对象标识可以为数字标识、字母标识、文字标识、或者任意两种标识的结合,本技术实施例对此不做限制。作为一个示例,在参与对象包括客服人员和客户的情况下,客服人员的对象标识可以为客服人员对应的编号,客户的对象标识可以根据客户的年龄、所从事的工作内容等确定,例如,客户的对象标识包括但不限于学生、儿童、成人以及会员等。当然,客户的对象标识也可以与当前对话对应的业务类型相关,例如,在当前对话对应的业务类型为订票业务时,客户的对象标识可以包括学生、儿童和成人。
171.在该实施例中,可以对当前对话的参与对象的对象标识进行简化,只要参与对象的对象标识能够用来区分当前所处理的对话文本是由哪个对象发送的即可。例如,若当前对话是在两个对象之间产生的对话,则对象标识可以分别为0和1。
172.对话时序即每个词对应的对话时序,该对话时序可以不表示具体的时序,仅表示时间维度上的先后关系,例如,对于上述对话文本“先生你好”,该对话文本中,“先生”对应的对话时序在前,“你好”对应的对话时序在后。
173.由于一般情况下,对话时序都是与世界时间的先后顺序相对应的,在本技术实施例中,按照对话时序进行拼接,可以为按照对话时序的先后顺序进行拼接。
174.各词对应的位置标识可以为各词在对应文本中的位置序号。例如,对于上述对话文本“先生你好”,该对话文本中,“先生”对应的位置标识可以为“0”,“你好”对应的位置标识可以为“1”。
175.可以以对话时序或者位置标识为参考依据,将文本向量、对象特征向量和位置向量中对应于对话时序或者位置标识的相应元素进行融合,得到文本特征。具体进行融合的方式可以为:将文本向量、对象特征向量和位置向量中对应于对话时序或者位置标识的相应元素进行相加、相减以及相乘等操作,可以根据实际情况确定具体的融合方式,本技术实施例对此不做限制。
176.作为一个示例,如图5所示,对于当前对话中包括两个参与对象,分别为参与对象0和参与对象1。对话历史数据包括对应于参与对象0的文本“在吗?”以及对应于参与对象1的文本“先生你好,在的”。
177.对于该当前对话,其所对应的拼接文本为“在吗?先生你好,在的”。通过对该拼接文本进行分词处理,可以将该拼接文本“在吗?”分为7个词,分别为“在吗”、“?”、“先生”、“你好”、“,”“在”和“的”。
178.可以基于预设的词向量表,得到该拼接文本中各词的词向量:“在吗”对应的词向量为“1324”,“?”对应的词向量为“52”,“先生”对应的词向量为“886”,“你好”对应的词向量为“103”,“,”对应的词向量为“43”,“在”对应的词向量为“98”,“的”对应的词向量为“24”。在将各词的词向量将各词的词向量按照各词在拼接文本中的位置关系进行拼接后,可以得到文本向量“1324 52 886 103 43 98 24(在实际使用过程中,在文本向量中,各词的词向量之间没有空格,即

132452886103439824’,此处为了更清楚地描述文本向量的组成部分,在各词的词向量之间添加了空格)”。
179.在该拼接文本中,“在吗”对应的第二对象标识为“0”,“?”对应的第二对象标识为“0”,“先生”对应的第二对象标识为“1”,“你好”对应的第二对象标识为“1”,“,”对应的第二对象标识为“1”,“在”对应的第二对象标识为“1”,“的”对应的第二对象标识为“1”。在将各词对应的第二对象标识按照对话时序进行拼接后,可以得到对象特征向量“0 0 1 1 1 1 1(在实际使用过程中,在对象特征向量中,各词对应的第二对象标识之间没有空格,即

0011111’,此处为了更清楚地描述对象的组成部分,在各词对应的第二对象之间添加了空格)”。
180.在该拼接文本中,“在吗”在该拼接文本中的位置标识为“0”,“?”在该拼接文本中的位置标识为“1”,“先生”在该拼接文本中的位置标识为“2”,“你好”在该拼接文本中的位置标识为“3”,“,”在该拼接文本中的位置标识为“4”,“在”在该拼接文本中的位置标识为“5”,“的”在该拼接文本中的位置标识为“6”。在将各词对应的位置标识按照对话时序进行拼接后,可以得到位置向量“0 1 2 3 4 5 6(在实际使用过程中,在位置向量中,各词对应的位置标识之间没有空格,即

0123456’,此处为了更清楚地描述位置向量的组成部分,在各词对应的位置标识之间添加了空格)”。
181.以将文本向量、对象特征向量和位置向量进行融合的方式为:文本向量、对象特征向量和位置向量中对应于对话时序或者位置标识的相应元素进行相加操作为例,基于文本
向量

1324 52 886 103 43 98 24’、对象特征向量

0 0 1 1 1 1 1’和位置向量

0 1 2 3 4 5 6’,所得到的文本特征为“1324 53 889 107 48 104 31”。
182.通过上述方式,通过综合考虑了拼接文本本身、拼接文本中各词对应的参与对象、各词在拼接文本中的位置标识,确定当前对话对应的文本向量、对象特征向量和位置向量,并基于所得到的文本向量、对象特征向量和位置向量,确定拼接文本对应的文本特征,可以使得所得到的文本特征能够更好的反映当前对话对应的文本信息。
183.由于在每条对话文本中可能还包括但不限于网址、邮箱、电话等与确定文本特征无关的信息,在对每条对话文本进行处理时,可以先删除每条对话文本中与确定文本特征无关的信息,再确定每条对话文本对应的文本向量以及对象特征向量;或者将每条对话文本进行拼接,得到拼接文本。从而使得所得到的文本特征更加精确。
184.考虑到本技术实施例中的对话数据的处理方法的处理效率,在确定出拼接文本中包括的各词之后,若该各词对应的总次数大于第一预设阈值,则可以删除拼接文本中输入时间与当前输入文本对应的输入时间的间隔较长的对话文本对应的词,得到数量小于或等于第一预设阈值的多个词。并基于数量小于或等于第一预设阈值的多个词确定拼接文本对应的文本向量、对象特征向量和位置向量。
185.在本技术实施例中,还可以分别每条对话文本分别进行分词处理,得到分别与每条对话文本对应的文本向量以及对象特征向量。并基于每条对话文本对应的时间信息,将分别与每条对话文本对应的文本向量进行拼接,得到当前对话对应的文本向量;将分别与每条对话文本对应的对象特征向量进行拼接,得到当前对话对应的对象特征向量。并基于当前对话对应的文本向量中,每个词对应的词向量对应的位置(也即,当前对话对应的对象特征向量中,每个词对应的对象标识对应的位置),确定出每个词对应的位置标识,从而将各词对应的位置标识按照对话时序拼接,得到当前对话对应的位置向量。并将文本向量、对象特征向量和位置向量进行融合,得到当前对话对应的文本特征。
186.其中,在对话历史数据包括至少两个对话文本的情况下,可以先按照对话历史数据中各对话文本对应的对话时序进行拼接,并基于拼接后的对话历史数据,确定拼接后的对话历史数据对应的文本向量以及对象特征向量。并按照对话时序,将拼接后的对话历史数据对应的文本向量与输入文本对应的文本向量进行拼接,得到当前对话对应的文本向量。以及,按照对话时序,将拼接后的对话历史数据对应的对象特征向量和当前对话对应的对象特征向量进行拼接,得到当前对话对应的对象特征向量。并基于当前对话对应的文本向量中,每个词对应的词向量对应的位置(也即,当前对话对应的对象特征向量中,每个词对应的对象标识对应的位置),确定出每个词对应的位置标识,从而将各词对应的位置标识按照对话时序拼接,得到当前对话对应的位置向量。并将文本向量、对象特征向量和位置向量进行融合,得到当前对话对应的文本特征。
187.可以通过以上任一种得到拼接文本对应的文本特征的方式,得到拼接文本对应的文本特征,本技术实施例对此不做限制。
188.图6示出了本技术实施例适用的确定文本特征的场景示意图。如图6所示,可以基于在线游戏客服辅助系统,获取当前对话数据中包括的对话历史数据和客服输入文本(即当前输入文本),假设客服对应的说话人id(说话人id即对象标识,id,即identification,身份标识)为1,客户对应的说话人id为0。
189.在对对话历史数据进行处理,得到对话历史数据对应的词语序列和说话人序列时,可以先删除对话历史数据中的邮箱、网址、电话等无关信息,并对已删除无关信息后的对话历史数据(以下简称“第一对话历史数据”)进行分词处理,得到第一对话历史数据对应的多个词。若第一对话历史数据对应的多个词的总数量超过预设阈值,则删除第一对话历史数据中,输入时间与当前输入文本对应的输入时间的间隔较长的对话文本对应的词,得到个数小于或等于预设阈值的多个词。将每个词转换成对应的数字id(数字id即词向量),将每个词对应的数字id按照每个词在对话历史数据中的位置关系拼接,得到对话历史数据对应的词语序列。标注每个词对应的说话人id,将每个词对应的说话人id按照每个词在对话历史数据中的位置关系拼接,得到对话历史数据对应的说话人序列。
190.在对客服输入文本进行处理,得到客服输入文本对应的词语序列和说话人序列时,可以先删除客服输入文本中的邮箱、网址、电话等无关信息,并对已删除无关信息后的客服输入文本(以下简称“第一客服输入文本”)进行分词处理,得到第一客服输入文本对应的多个词。将每个词转换成对应的数字id,将每个词对应的数字id按照每个词在客服输入文本中的位置关系拼接,得到客服输入文本对应的词语序列。由于客服输入文本即客服输入的文本,客服输入文本对应的说话人id就是1,所以,可以直接构建数量为客服输入文本对应的词语序列中多个词的总数量、数值均为1的说话人id序列。
191.在分别对对话历史数据和客服输入文本进行处理,得到对话历史数据对应的词语序列(即文本向量)和说话人序列(即对象特征向量),以及,客服输入对应的词语序列和说话人序列之后,可以将对话历史数据对应的词语序列与客服输入对应的词语序列进行拼接,得到拼接后的词语序列。将对话历史数据对应的说话人序列与客服输入对应的说话人序列进行拼接,得到拼接后的说话人序列。并基于拼接后的词语序列或拼接后的说话人序列,构造位置序列。
192.可选地,对话元信息包括对话场景信息和当前对话的参与对象的对象属性信息;
193.基于对话元信息,确定当前对话对应的当前对话标签,包括:
194.确定对话场景信息的信息特征以及对象属性信息的信息特征;
195.将对话元信息包括的各项信息的信息特征拼接,得到当前对话标签。
196.对话场景信息可以包括但不限于最后一次对话发生的时间、业务类型等,其中,最后一次对话发生的时间即当前输入文本对应的前一条对话文本的发送时间,如图2至图4所示,最后一次对话发生的时间即“9-2010:00:59”。对象属性信息可以包括当前对话的参与对象的身份信息。例如,在当前对话场景为客服场景的情况下,对话属性信息可以包括但不限于客户身份特征、客服编号等。
197.确定对话元信息包括的各项信息(对话场景信息的信息特征以及对象属性信息),即将对话元信息包括的各项信息进行数值离散化,本技术实施例对具体进行数值离散化的方式不做限制。可选地,可以预先对对话元信息所包括的各项信息设置不同的编号,在确定各项信息的信息特征时,根据各项信息的当前内容,以及各项信息中不同内容和编号之间的对应关系,确定出各项信息的当前内容对应的编号,实现对各项信息的数值离散化。
198.以对话场景信息为最后一次对话发生的时间,确定最后一次对话发生的时间的信息特征为例,可以预先对时间进行分段,将每天的时间(即24小时)划分成6个时间段,并为每个时间段设置不同的编号,具体地:1:00-7:00为凌晨,对应编号1;7:00-9:30为早上,对
应编号2;9:30-12:00为上午,对应编号3;12:00-18:00为下午,对应编号4;18:00-23:00为晚间,对应编号5;23:00-1:00为深夜,对应编号6。在最后一次对话发生的时间为图2至图4所示的“9-20 10:00:59”时,该最后一次对话发生的时间对应的信息特征为3。
199.在将对话元信息包括的各项信息的信息特征进行拼接时,可以直接将对话元信息包括的各项信息的信息特征按照预设的顺序进行排列,将排列后的结果作为拼接后的结果,即当前对话标签,本技术实施例对该预设的顺序的设置方式不做限制。
200.如图7所示,在对话场景信息包括最后一次对话发生的时间和业务类型,对象属性信息包括客户身份特征和客服编号,预设的顺序为最后一次对话发生的时间、业务类型、客户身份特征和客服编号,对后一次对话发生的时间的信息特征为3、业务类型的信息特征为68、客户身份特征的信息特征为15、客服编号的信息特征为169的情况下,所得到的当前对话标签为“9 68 15 169(在实际使用过程中,各信息特征之间没有空格,即96815169,此处为了更清楚地描述当前对话标签的组成内容,在各信息特征之间添加了空格)”。
201.可选地,对话场景信息包括当前输入文本对应的当前时间或当前对话对应的业务类型中的至少一项;
202.当前对话的对象属性信息包括当前对话的至少两个参与对象的对象标识;
203.确定对话场景信息的信息特征以及对象属性信息的信息特征,包括:
204.确定对话场景信息中包括的各项信息的信息特征;
205.确定当前对话的对话属性信息包括的每个对象标识的信息特征。
206.当前对话对应的业务类型可以通过对当前对话数据进行分析,基于该当前对话数据对应的文本特征,例如基于当前对话数据中的关键词,确定当前对话对应的业务类型。作为一个示例,在当前对话数据中的关键词为“xx票的价格”、“xx票的时长”等时,可以确定当前对话对应的业务类型为订票业务。
207.当前对话的参与对象可以包括两个,例如,可以包括客服人员以及客户。当前对话的参与对象也可以包括多个,例如,当前对话可以为群聊等,本技术对此不做限制。
208.应该理解的是,由于对话元信息用来反映与当前对话相关、但非文字的信息,在该实现方式中,对象标识可以不止简单的标识为区分当前对话中不同的参与对象。一个对象标识可以唯一的表征对应的参与对象。例如,客服编号为1仅表示客服a。
209.一个对象标识可以为信息特征,也可以不为信息特征,若对象标识是信息特征,则可以直接将该对象标识确定为该对象标识的信息特征;若该对象标识不是信息特征,则在确定对象属性信息的信息特征时,需要将该对象标识转换为对应的信息特征。
210.通过将对话场景信息以及当前对话的对象属性信息进行划分,在确定对话场景信息的信息特征以及对象属性信息的信息特征时,分别确定对话场景信息中包括的各项信息的信息特征以及当前对话中每个对象标识的信息特征,可以得到更精准的对话元信息包括的各项信息的信息特征,进而使得所得到的当前对话标签更能反映当前对话的对话元信息。
211.由于该对话数据的处理方法是基于对话生成模型实现的,在对话生成模型的性能越好的情况下,该对话数据的处理方法的效果也更好。为了进一步验证本技术实施例所提供的对话数据的处理方法的有益效果,在本技术实施例中,还将基于本技术所提供的对话生成模型所得到的推荐文本与基于传统的自回归语言模型所得到的文本进行了对比,以进
一步体现该对话数据的处理方法的效果,具体地对比结果如下:
212.考虑到在自然语言处理领域,困惑度(perplexity)度量的是模型对目标语料的拟合程度,值越低表明对应的模型的性能越好。bleu(bilingual evaluation understudy,一种自然语言处理领域的评价指标)值、词向量相似度(emb-a)度量的是生成文本与目标文本的相似度,值越高表明对应的模型的性能越好。distinct值(区分度)度量的是生成文本的多样性,值越高表明对应的模型的性能越好。
213.在本技术实施例中,以所采用的评价指标为困惑度、bleu值、词向量相似度和distinct值为例,将基于传统的自回归语言模型所得到的文本与本技术实施例所提供的对话生成模型所得到的推荐文本进行对比,可以得到下表1。
214.表1本技术实施例与传统的自回归语言模型的效果对比
[0215][0216]
基于该表,可以看出相比于传统的自回归语言模型,本技术实施例所提供的对话生成模型所生成的文本的准确率更高,所生成的文本的多样性呈现有了显著提高,且本技术实施例所提供的对话生成模型具有更强的泛化性能,更能符合实际需求。由此可以得出,基于该对话生成模型所实现的对话数据的处理方法,也可以更好地满足实用需求。
[0217]
图8示出了本技术实施例提供的一种对话数据的处理系统的示意图,如图8所示,该系统包括终端设备81、网络82、应用服务器83以及训练服务器84,终端设备81通过网络82与应用服务器83进行通信,应用服务器83和训练服务器84之间可以实现通信交互。其中,该方法既可以通过终端设备81、网络82、应用服务器83以及训练服务器84进行结合实现,也可以通过终端设备81、网络82以及训练服务器84结合实现。其中,该终端设备81可以为前文所描述的任一种终端。应用服务器83和训练服务器84可以为前文所描述的任一种服务器。
[0218]
终端设备81中可以安装有用于进行对话数据处理的应用程序,或者在该终端设备81中的某一应用程序中设置有用于进行对话数据处理的插件。通过在终端设备81打开该用于进行对话数据处理的应用程序或者设置有上述用于进行对话数据处理的插件的应用程序,以启动终端进行对话数据处理。应用服务器83可以将接收到训练服务器84发送的训练好的对话生成模型进行部署,并基于对话生成模型生成至少一条推荐输入,生成至少一条推荐对话,并将推荐对话发送给终端设备81进行显示。
[0219]
其中,训练服务器84可以用于基于训练数据集对初始神经网络模型进行训练,得到训练好的对话生成模型。并将训练好的对话生成模型发送至应用服务器83中,以使得应用服务器83对该训练好的对话生成模型进行部署。终端设备81可以响应于文本输入区域内的输入操作,向应用服务器83发出请求指令,以使得应用服务器83基于该请求指令获取与该输入操作对应的当前输入文本以及对话历史输入数据,并根据当前输入文本以及对话历
史输入数据,基于所部署的训练好的对话生成模型,执行本技术实施例所提供的对话生成方法,并将所生成的推荐对话发送至终端设备81并通过终端设备81进行显示。
[0220]
本技术实施例提供的对话数据处理系统可以为在线游戏客服辅助系统中,下面结合图8所示的对话数据处理系统,对该应用场景下的对话数据的处理过程进行说明。图9示出了本技术实施例适用的应用场景下的对话数据处理方法的流程图。图10示出了本技术实施例适用的应用场景下的对话数据处理方法的信令交互图。如图9和图10所示,该方法通过终端设备81、网络82、应用服务器83以及训练服务器84进行结合实现,终端设备81可以为该在线游戏对应的目标对象(即游戏玩家)对应的终端,也可以为客服对应的终端。该方法可以包括如下步骤s11至步骤s16。
[0221]
步骤s11:响应于对话双方的输入操作(检测到一目标对象的输入操作或者与该目标对象对应的客服的输入框(即文本输入区域)发生了变化),通过终端设备81向应用服务器83发送请求指令。该终端设备81可以是任一对话方对应的终端设备,以下以终端设备81为客服对应的终端设备为例进行说明。
[0222]
步骤s12:应用服务器83响应于获取的请求指令,分别执行以下a操作、b操作和c操作。
[0223]
a操作:读取对话元信息,编码目标对象的信息和对话元信息(在a操作中,目标对象的信息即当前对话的对象属性信息,对话元信息即对话场景信息,在前文的描述中,将对话信息和对话元信息统称为对话元信息),即确定当前对话对应的当前对话标签。
[0224]
b操作:读取对话历史数据,编码对话历史数据,即确定对话历史数据对应的文本向量和对象特征向量。
[0225]
c操作:读取客服输入框当前文本(即当前输入文本),编码客服输入文本(即当前输入文本),即确定当前输入文本对应的文本向量和对象特征向量。
[0226]
其中,本技术实施例对a操作、b操作和c操作的执行顺序不做限制,即可以根据一定的顺序执行a操作、b操作和c操作,也可以同时执行a操作、b操作和c操作。
[0227]
在执行完a操作、b操作和c操作之后,可以将对话历史数据对应的文本向量与当前输入文本对应的文本向量进行拼接,得到拼接文本对应的文本向量。将对话历史数据对应的对象特征向量与当前输入文本对应的对象特征向量进行拼接,得到拼接文本对应的对象特征向量。
[0228]
基于拼接文本对应的文本向量和对象特征向量,确定出拼接文本对应的位置向量。
[0229]
基于拼接文本对应的文本向量、对象特征向量和位置向量生成当前对话对应的文本特征。
[0230]
基于当前对话对应的文本特征和当前对话对应的当前对话标签,得到对话特征。
[0231]
步骤s13:训练服务器84基于训练数据集对初始神经网络模型进行训练,得到深度神经网络(即前文所描述的训练好的对话生成模型),并将对话生成模型发送至应用服务器83(图9中未示出)。
[0232]
在本技术实施例中,只要在步骤s14之前执行步骤s13即可。
[0233]
步骤s14:应用服务器83对深度神经网络模型进行部署,并基于对话特征,通过深度神经网络,生成与对话特征对应的候选补全文字(即前文所描述的后续输入文本),该候
选补全文字中最后一个字符为结束符。
[0234]
步骤s15:应用服务器83对候选补全文字进行后处理筛选(即采用核采样技术进行筛选),得到5个候选补全文字,将每个候选补全文字拼接至客服输入文本之后,得到5个推荐对话,并将5个推荐对话发送给终端设备81。
[0235]
步骤s16:终端设备81将5个推荐对话显示在客服对应的终端设备81对应的推荐展示区域,并响应于针对至少一个推荐对话中任一推荐对话的选中操作,将客服输入框中的当前文本替换为该选中操作对应的推荐对话进行展示。
[0236]
基于与本技术实施例提供的对话数据的处理方法相同的原理,本技术实施例中还提供了一种对话数据的处理装置。图11示出了本技术实施例提供的对话数据的处理装置的示意图。如图11所示,该装置90包括:
[0237]
对话信息获取模块901,用于获取当前对话对应的当前对话数据和当前对话对应的对话元信息,当前对话数据包括文本输入区域中的当前输入文本和对话历史数据;
[0238]
对话特征确定模块902,用于通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征;
[0239]
推荐对话确定模块903,用于将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话,并推荐给当前输入文本对应的目标对象。
[0240]
可选地,对话特征确定模块902在通过融合当前输入文本、对话历史数据与对话元信息,得到当前对话对应的对话特征时,具体用于:
[0241]
将对话历史数据中的对话文本和当前输入文本按照对话时序拼接,得到拼接文本;
[0242]
基于拼接文本,确定当前对话对应的文本特征;
[0243]
基于对话元信息,确定当前对话对应的当前对话标签;
[0244]
将文本特征和当前对话标签拼接,得到对话特征。
[0245]
可选地,对话元信息包括对话场景信息和当前对话的参与对象的对象属性信息;
[0246]
对话特征确定模块902在基于对话元信息,确定当前对话对应的当前对话标签时,具体用于:
[0247]
确定对话场景信息的信息特征以及对象属性信息的信息特征;
[0248]
将对话元信息包括的各项信息的信息特征拼接,得到当前对话标签。
[0249]
可选地,对话场景信息包括当前输入文本对应的当前时间或当前对话对应的业务类型中的至少一项;
[0250]
当前对话的对象属性信息包括当前对话的至少两个参与对象的对象标识;
[0251]
对话特征确定模块902在确定对话场景信息的信息特征以及对象属性信息的信息特征时,具体用于:
[0252]
确定对话场景信息中包括的各项信息的信息特征;
[0253]
确定当前对话的对象属性信息包括的每个对象标识的信息特征。
[0254]
可选地,对话特征确定模块902在基于拼接文本,确定当前对话对应的文本特征时,具体用于:
[0255]
确定拼接文本中包括的各词的词向量,将各词的词向量按照各词在拼接文本中的
位置关系拼接,得到文本向量;
[0256]
对于拼接文本中的每个词,确定该词所属的当前对话的参与对象的对象标识;
[0257]
将各词对应的对象标识按照位置关系进行拼接,得到对象特征向量;
[0258]
确定各词在拼接文本中的位置标识;
[0259]
将各词对应的位置标识按照位置关系进行拼接,得到位置向量;
[0260]
将文本向量、对象特征向量和位置向量进行融合,得到文本特征。
[0261]
可选地,推荐对话确定模块903在将对话特征输入至训练好的对话生成模型中,基于对话生成模型得到与当前输入文本对应的至少一条推荐对话时,具体用于:
[0262]
将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本;
[0263]
将每个后续输入文本分别拼接在当前输入文本之后,得到至少一条推荐对话。
[0264]
可选地,推荐对话确定模块903在将对话特征输入到对话生成模型中,通过对话生成模型预测得到当前输入文本对应的至少一个后续输入文本时,具体用于:
[0265]
将对话特征输入到对话生成模型中,预测得到当前输入文本对应的至少一个第一个后续输入候选词;
[0266]
将每个第一个后续输入候选词拼接在当前输入文本之后,将拼接后的各文本分别作为新的当前输入文本;
[0267]
对于每个新的当前输入文本,基于对话历史数据和对话元信息,确定与每个新的当前输入文本对应的第二拼接特征;
[0268]
将各第二拼接特征分别输入至对话生成模型中,得到至少一个后续输入文本。
[0269]
可选地,对话生成模型是基于前缀微调的自回归语言模型的神经网络模型;
[0270]
对话特征确定模块902在将文本特征和当前对话标签拼接,得到对话特征时,具体用于:
[0271]
将当前对话标签作为前缀向量拼接在文本特征之前,得到对话特征。
[0272]
可选地,对话生成模型是基于以下方式训练得到的:
[0273]
获取训练数据集,训练数据集包括多个训练样本,每个训练样本包括一个样本对话对应的样本对话数据、样本文本以及样本对话元信息,样本文本为样本对话数据的下一对话文本;
[0274]
对于每个训练样本,基于该训练样本包括的样本对话数据和样本对话元信息,得到样本对话数据对应的样本对话特征;
[0275]
基于各训练样本对应的样本对话特征和样本文本,对初始神经网络模型执行以下训练操作:
[0276]
对于每个训练样本,将训练样本对应的样本对话特征输入到神经网络模型中,基于初始神经网络模型的输出结果,得到与样本对话特征对应的至少一个预测推荐对话;
[0277]
基于各训练样本对应的至少一个预测推荐对话和该训练样本对应的样本文本,确定神经网络模型对应的训练损失;
[0278]
若训练损失满足训练结束条件,则基于满足训练结束条件的神经网络模型得到训练好的生成文本模型;
[0279]
若训练损失不满足训练结束条件,则基于训练损失对初始神经网络模型的模型参
数进行调整,并基于各训练样本对应样本拼接特征和样本文本继续对调整后的神经网络模型进行训练。
[0280]
可选地,至少一条推荐对话是通过以下方式展示给当前输入文本对应的目标对象的:
[0281]
将各条推荐对话展示在与文本输入区域对应的推荐展示区域;
[0282]
该装置还包括输入文本更新模块,输入文本更新模块用于响应于针对至少一个推荐对话中任一推荐对话的选中操作,将文本输入区域中的当前输入文本更新为选中操作对应的推荐对话。
[0283]
本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
[0284]
基于与本技术实施例提供的对话数据的处理方法及装置相同的原理,本技术实施例中还提供了一种电子设备(如服务器),该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本技术任一可选实施例中提供的方法的步骤。
[0285]
可选地,图12示出了本技术实施例所适用的一种电子设备的结构示意图,如图12所示,图12所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
[0286]
处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0287]
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0288]
存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数
字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
[0289]
存储器4003用于存储执行本技术实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
[0290]
本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
[0291]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
[0292]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
[0293]
应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
[0294]
以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。

技术特征:
1.一种对话数据的处理方法,其特征在于,包括:对于当前对话,获取当前对话数据和所述当前对话对应的对话元信息,所述当前对话数据包括文本输入区域中的当前输入文本和对话历史数据;通过融合所述当前输入文本、所述对话历史数据与所述对话元信息,得到所述当前对话对应的对话特征;将所述对话特征输入至训练好的对话生成模型中,基于所述对话生成模型得到与所述当前输入文本对应的至少一条推荐对话,并推荐给所述当前输入文本对应的目标对象。2.根据权利要求1所述的方法,其特征在于,所述通过融合所述当前输入文本、所述对话历史数据与所述对话元信息,得到所述当前对话对应的对话特征,包括:将所述对话历史数据中的对话文本和所述当前输入文本按照对话时序拼接,得到拼接文本;基于所述拼接文本,确定所述当前对话对应的文本特征;基于所述对话元信息,确定所述当前对话对应的当前对话标签;将所述文本特征和所述当前对话标签拼接,得到所述对话特征。3.根据权利要求2所述的方法,其特征在于,所述对话元信息包括对话场景信息和所述当前对话的参与对象的对象属性信息;所述基于所述对话元信息,确定所述当前对话对应的当前对话标签,包括:确定所述对话场景信息的信息特征以及所述对象属性信息的信息特征;将所述对话元信息包括的各项信息的信息特征拼接,得到所述当前对话标签。4.根据权利要求3所述的方法,其特征在于,所述对话场景信息包括所述当前输入文本对应的当前时间或所述当前对话对应的业务类型中的至少一项;所述当前对话的对象属性信息包括当前对话的至少两个参与对象的对象标识;所述确定所述对话场景信息的信息特征以及所述对象属性信息的信息特征,包括:确定所述对话场景信息中包括的各项信息的信息特征;确定所述当前对话的对象属性信息包括的每个对象标识的信息特征。5.根据权利要求2所述的方法,其特征在于,所述基于所述拼接文本,确定所述当前对话对应的文本特征,包括:确定所述拼接文本中包括的各词的词向量,将所述各词的词向量按照所述各词在所述拼接文本中的位置关系拼接,得到文本向量;对于所述拼接文本中的每个词,确定该词所属的当前对话的参与对象的对象标识;将所述各词对应的对象标识按照所述位置关系进行拼接,得到对象特征向量;确定所述各词在所述拼接文本中的位置标识;将所述各词对应的位置标识按照所述位置关系进行拼接,得到位置向量;将所述文本向量、所述对象特征向量和所述位置向量进行融合,得到所述文本特征。6.根据权利要求1所述的方法,其特征在于,所述将所述对话特征输入至训练好的对话生成模型中,基于所述对话生成模型得到与所述当前输入文本对应的至少一条推荐对话,包括:将所述对话特征输入到所述对话生成模型中,通过所述对话生成模型预测得到所述当前输入文本对应的至少一个后续输入文本;
将每个所述后续输入文本分别拼接在所述当前输入文本之后,得到所述至少一条推荐对话。7.根据权利要求6所述的方法,其特征在于,所述将所述对话特征输入到所述对话生成模型中,通过所述对话生成模型预测得到所述当前输入文本对应的至少一个后续输入文本,包括:将所述对话特征输入到所述对话生成模型中,预测得到所述当前输入文本对应的至少一个第一个后续输入候选词;将每个所述第一个后续输入候选词拼接在所述当前输入文本之后,将拼接后的各文本分别作为新的当前输入文本;对于每个所述新的当前输入文本,基于所述对话历史数据和所述对话元信息,确定与每个所述新的当前输入文本对应的第二拼接特征;将各所述第二拼接特征分别输入至所述对话生成模型中,得到所述至少一个后续输入文本。8.根据权利要求2所述的方法,其特征在于,所述对话生成模型是基于前缀微调的自回归语言模型的神经网络模型;所述将所述文本特征和所述当前对话标签拼接,得到所述对话特征,包括:将所述当前对话标签作为前缀向量拼接在所述文本特征之前,得到所述对话特征。9.根据权利要求1所述的方法,其特征在于,所述对话生成模型是基于以下方式训练得到的:获取训练数据集,所述训练数据集包括多个训练样本,每个训练样本包括一个样本对话对应的样本对话数据、样本文本以及样本对话元信息,所述样本文本为所述样本对话数据的下一对话文本;对于每个训练样本,基于该训练样本包括的样本对话数据和样本对话元信息,得到所述样本对话数据对应的样本对话特征;基于各所述训练样本对应的样本对话特征和样本文本,对初始神经网络模型执行以下训练操作:对于每个所述训练样本,将所述训练样本对应的样本对话特征输入到所述神经网络模型中,基于所述初始神经网络模型的输出结果,得到与所述样本对话特征对应的至少一个预测推荐对话;基于各所述训练样本对应的至少一个预测推荐对话和样本文本,确定所述神经网络模型对应的训练损失;若所述训练损失满足训练结束条件,则基于满足所述训练结束条件的神经网络模型得到所述训练好的生成文本模型;若所述训练损失不满足所述训练结束条件,则基于所述训练损失对所述初始神经网络模型的模型参数进行调整,并基于各所述训练样本对应样本拼接特征和样本文本继续对调整后的神经网络模型进行训练。10.根据权利要求1所述的方法,其特征在于,所述至少一条推荐对话是通过以下方式展示给所述当前输入文本对应的目标对象的:将各条所述推荐对话展示在与所述文本输入区域对应的推荐展示区域;
所述方法还包括:响应于针对所述至少一个推荐对话中任一推荐对话的选中操作,将所述文本输入区域中的所述当前输入文本更新为所述选中操作对应的推荐对话。11.一种对话数据的处理装置,其特征在于,所述装置包括:对话信息获取模块,用于获取当前对话对应的当前对话数据和所述当前对话对应的对话元信息,所述当前对话数据包括文本输入区域中的当前输入文本和对话历史数据;对话特征确定模块,用于通过融合所述当前输入文本、所述对话历史数据与所述对话元信息,得到所述当前对话对应的对话特征;推荐对话确定模块,用于将所述对话特征输入至训练好的对话生成模型中,基于所述对话生成模型得到与所述当前输入文本对应的至少一条推荐对话,并推荐给所述当前输入文本对应的目标对象。12.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-10任一项所述方法的步骤。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述方法的步骤。14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述方法的步骤。

技术总结
本申请实施例提供了一种对话数据的处理方法、装置、电子设备及存储介质,涉及人工智能以及云技术领域。该方法包括:对于当前对话,获取文本输入区域中的当前输入文本、对话历史数据和对话元信息;融合当前输入文本、对话历史数据和对话元信息,得到当前对话对应的对话特征;将对话特征输入至训练好的对话生成模型中,得到至少一条推荐对话,并推荐给当前输入文本对应的目标对象。该方法可以充分结合当前对话的各项信息,得到当前输入文本对应的推荐对话,并推荐给当前输入文本对应的目标对象,提高了目标对象的输入效率,提升了目标对象的输入体验。输入体验。输入体验。


技术研发人员:王子云 王智圣 郑磊
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.03.07
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐