一种对话分类方法、装置、电子设备及存储介质与流程

文档序号:21102005发布日期:2020-06-16 20:54阅读:178来源:国知局
一种对话分类方法、装置、电子设备及存储介质与流程

本发明属于数据处理技术领域,具体涉及一种对话分类方法、装置、电子设备及存储介质。



背景技术:

为了便于管理和分析等,会对文本内容进行分类,目前业界基于文本分类的算法很多,也已经相对成熟,其中,现有的文本分类技术,大部分是基于文本内容主题和领域进行的分类,例如,基于文本内容主题进行分类时,将具备相似文本内容主题的文本分为同一类,基于领域进行分类时,对将属于同一领域或相似领域的文本内容分为同一类。



技术实现要素:

鉴于此,本发明实施例提供一种对话分类方法、装置、电子设备及存储介质,以有效地改善现有的文本分类方法无法适用对话逻辑判责的问题。

本发明的实施例是这样实现的:

第一方面,本发明实施例提供了一种对话分类方法,包括:获取针对目标事件的对方各方的对话记录;对所述对话记录中的每句话进行文本特征提取,得到对应的文本特征;使用预设的网络模型对所述文本特征进行时序特征提取,得到包含时序特征的输出特征;对所述输出特征进行分类,得到表征所述目标事件的责任方的分类结果。

本申请实施例中,对对话记录中的每句话进行文本特征提取,在得到对应的文本特征后,还要将句子之间的时序特征考虑进去,也即使用预设的网络模型对文本特征进行时序特征提取,得到包含时序特征的输出特征,然后再基于输出特征进行对话分类,这样能最大限度的还原对话场景,提高分类的准确性和可靠性。

结合第一方面实施例的又一种可能的实施方式,使用预设的网络模型对所述文本特征进行时序特征提取,包括:将所述文本特征中的每个词进行词嵌入,转换成向量特征;使用预设的网络模型对所述向量特征进行时序特征提取。本申请实施例中,在对文本特征进行时序特征提取时,先将文本特征转换成向量特征,再进一步提取句子更高层次的特征,保证了时序特征提取的可靠性和可行性。

结合第一方面实施例的又一种可能的实施方式,使用预设的网络模型对所述向量特征进行时序特征提取,包括:使用预设的双向长短时记忆循环神经网络对所述向量特征进行时序特征提取。本申请实施例中,采用双向长短时记忆循环神经网络对向量特征进行时序特征提取,能更好地将句子之间的逻辑关系特征提取出来。

结合第一方面实施例的又一种可能的实施方式,对所述对话记录中的每句话进行文本特征提取,包括:对所述对话记录中的每句话按照字符进行分割处理,并在分割后的每个字符前或后加入表征当前说话的说话者身份信息;或者,使用聚类算法对所述对话记录中的每句话进行聚类,将聚类后得到的标签作为该句话对应的特征;或者,使用模式匹配对所述对话记录中的每句话进行匹配,将匹配得到的模式类别作为该句话对应的特征。本申请实施例中,可以采用上述三种特征提取方式中的任意一种对对话记录中的每句话进行文本特征提取,使得在特征提取时灵活性好,可选择的余地多。

结合第一方面实施例的又一种可能的实施方式,获取针对目标事件的对方各方的对话记录,包括:获取取消服务订单事件的服务提供方与服务请求方的对话记录。本申请实施中,主要针对取消服务订单事件的服务提供方与服务请求方的对话记录,以便于确认导致服务订单被取消的责任方,便于对服务提供方进行监控管理,提高服务质量。

第二方面,本发明实施例还提供了一种对话分类装置,包括:获取模块、文本特征提取模块、时序特征提取模块以及分类模块;获取模块,用于获取针对目标事件的对方各方的对话记录;文本特征提取模块,用于对所述对话记录中的每句话进行文本特征提取,得到对应的文本特征;时序特征提取模块,用于使用预设的网络模型对所述文本特征进行时序特征提取,得到包含时序特征的输出特征;分类模块,用于对所述输出特征进行分类,得到表征所述目标事件的责任方的分类结果。

结合第二方面实施例的一种可能的实施方式,所述时序特征提取模块,还用于:将所述文本特征中的每个词进行词嵌入,转换成向量特征;使用预设的网络模型对所述向量特征进行时序特征提取。

结合第二方面实施例的又一种可能的实施方式,所述时序特征提取模块,还用于使用预设的双向长短时记忆循环神经网络对所述向量特征进行时序特征提取。

结合第二方面实施例的又一种可能的实施方式,所述文本特征提取模块,还用于对所述对话记录中的每句话按照字符进行分割处理,并在分割后的每个字符前或后加入表征当前说话的说话者身份信息;或者,使用聚类算法对所述对话记录中的每句话进行聚类,将聚类后得到的标签作为该句话对应的特征;或者,使用模式匹配对所述对话记录中的每句话进行匹配,将匹配得到的模式类别作为该句话对应的特征。

结合第二方面实施例的又一种可能的实施方式,所述获取模块,还用于获取取消服务订单事件的服务提供方与服务请求方的对话记录。

第三方面,本发明实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器用于调用存储于所述存储器中的程序,以执行第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

第四方面,本发明实施例还提供了一种存储介质,所述存储介质包括计算机程序,所述计算机程序被计算机运行时执行第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1示出了本发明实施例提供的一种电子设备的结构示意图。

图2示出了本发明实施例提供的一种对话分类方法的流程示意图。

图3示出了本发明实施例提供的步骤s103流程示意图。

图4示出了本发明实施例提供的对话分类方法的步骤示意图。

图5示出了本发明实施例提供的一种对话分类的模块示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。

第一实施例

如图1所示,图1示出了本发明实施例提供的一种电子设备100的结构框图。所述电子设备100包括:对话分类装置110、存储器120、存储控制器130和处理器140。

所述存储器120、存储控制器130、处理器140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

所述对话分类装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器140用于执行存储器120中存储的可执行模块,例如所述对话分类装置110包括的软件功能模块或计算机程序。

其中,存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,后述本发明实施例任一实施例揭示的流程定义的电子设备100所执行的方法可以应用于处理器140中,或者由处理器140实现。处理器140在接收到执行指令后,通过总线调用存储在存储器120中的程序后,处理器140则可以执行对话分类方法的流程。

处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。

其中,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。

其中,在本发明实施例中,所述电子设备100可以是,但不限于网络服务器、数据库服务器、云端服务器等。

请参阅图2,为本发明实施例提供的一种应用于上述电子设备100的对话分类方法,下面将结合图2对其所包含的步骤进行说明。

步骤s101:获取针对目标事件的对话各方的对话记录。

在确定目标事件的责任方时,获取针对该目标事件的对话各方的对话记录。例如,在确定导致某服务订单被取消的责任方时,获取取消服务订单事件的服务提供方与服务请求方的对话记录,如,获取取消服务订单事件的司机与乘客的对话记录,以便对取消服务订单的im(instantmessaging,即时通信)消息和通话录音进行分析,还原沟通场景,推断出导致该服务订单被取消的责任方,从而进行管控。例如,某个业务出现问题后,在确定该问题业务的过错方时,获取业务办理方和业务请求方的对话记录,如商家与买家的对话记录。其中,该对话记录可以是通话录音、im(instantmessaging,即时通信)消息等。

步骤s102:对所述对话记录中的每句话进行文本特征提取,得到对应的文本特征。

在获得针对目标事件的对话各方的对话记录后,对该对话记录中的每句话进行文本特征提取,得到对应的文本特征。在对话记录中的每句话进行文本特征提取时,可以是对所述对话记录中的每句话按照字符进行分割处理,并在分割后的每个字符前或后加入表征当前说话的说话者身份信息;或者,使用聚类算法对所述对话记录中的每句话进行聚类,将聚类后得到的标签作为该句话对应的特征;或者,使用模式匹配对所述对话记录中的每句话进行匹配,将匹配得到的模式类别作为该句话对应的特征。

其中,第一种特征提取方式为:对该对话记录中的每句话按照字符进行分割处理,并在分割后的每个字符前或后加入表征当前说话的说话者身份信息。例如,针对取消服务订单事件的服务提供方与服务请求方的对话记录中的“你取消吧”,“我不取消”的对话进行特征提取时,采用第一种特征提取方式对上述句子进行特征提取时,得到关于“你取消吧”这句话的特征为:p_你p_取p_消p_吧;得到关于“我不取消”这句话的特征为:r_我r_不r_取r_消。其中,p、r表征当前说话的说话者身份信息,其中,p表示服务提供方,r表示服务请求方。其中,需要说明的是,上述仅示出了在分割后的每个字符前加入表征当前说话的说话者身份信息的情形,在在分割后的每个字符后加入表征当前说话的说话者身份信息的情形与之类似,不再描述。

第二种特征提取方式为:使用聚类算法对所述对话记录中的每句话进行聚类,将聚类后得到的标签作为该句话对应的特征。例如,针对取消服务订单事件的服务提供方与服务请求方的对话记录中的“你取消吧”,“我不取消”的对话进行特征提取时,采用第二种特征提取方式对上述句子进行特征提取时,使用聚类算法对“你取消吧”这句话进行聚类,将聚类后得到的标签作为该句话对应的特征,如pd1;使用聚类算法对“我不取消”这句话进行聚类,将聚类后得到的标签作为该句话对应的特征,如rd1。其中,该聚类算法事先采用训练数据中的服务提供方话术与服务请求方话术进行聚类训练。其中,聚类算法有很多,如基于划分的聚类算法(如:k-means),基于层次的聚类算法(如:birch),基于密度的聚类算法(如:dbscan),基于网格的聚类算法(如:sting)等。

第三种特征提取方式为:使用模式匹配对所述对话记录中的每句话进行匹配,将匹配得到的模式类别作为该句话对应的特征。例如,针对取消服务订单事件的服务提供方与服务请求方的对话记录中的“你取消吧”,“我不取消”的对话进行特征提取时,采用第三种特征提取方式对上述句子进行特征提取时,使用模式匹配(patternmatching)对“你取消吧”这句话进行匹配,将匹配后得到的模式类别作为该句话对应的特征,如pp1;使用模式匹配对“我不取消”这句话进行匹配,将匹配后得到的模式类别作为该句话对应的特征,如rp1。

其中,需要说明的是,采用不同的特征提取方式,所得到的每句话的文本特征不同。

作为一种可选的实施方式,也可以是在获得针对目标事件的对话各方的对话记录后,先对对话记录进行预处理,去掉噪音数据和冗余信息,然后对预处理后的数据进行文本特征提取,得到对应的文本特征。

步骤s103:使用预设的网络模型对所述文本特征进行时序特征提取,得到包含时序特征的输出特征。

在得到对话记录中的每句话的文本特征后,使用预设的网络模型对该文本特征进行时序特征提取,得到包含时序特征的输出特征。

作为一种实施方式,可以参考图3所示的流程图对使用预设的网络模型对该文本特征进行时序特征提取这一过程进行说明。

步骤s201:将所述文本特征中的每个词进行词嵌入,转换成向量特征。

在得到对话记录中的每句话的文本特征后,将该文本特征中的每个词进行词嵌入,转换成向量特征。例如,根据word2vec、fasttext、glove工具将文本特征中的每个单词进行词嵌入,把每个单词变成一个向量,这样就可以将文本特征转换成向量特征。

其中,将文本特征转换成向量特征时,针对上述的“你取消吧”这句话的文本特征(如,p_你p_取p_消p_吧)转换成向量特征,可以得到4*128的向量特征。同理,针对上述的“我不取消”这句话的文本特征(如,r_我r_不r_取r_消)转换成向量特征,也可以得到4*128的向量特征。由于上述这两句话的文本特征均包括4个词,因此在转换成向量特征时,均得到4*128的向量特征。针对上述的“你取消吧”这句话的文本特征(如pd1或pp1)转换成向量特征,可以得到1*128的向量特征。同理,针对上述的“我不取消”这句话的文本特征(如,rd1或rp1)转换成向量特征,也可以得到1*128的向量特征。其中,需要说明的是,示例时是将pd1、pp1、rd1、rp1均看成是一个词进行示例的,而真实情况可能包含多个词,因此,在进行词向量转换时的具体情况应根据实际情况而定,不能将上述示例理解成是对本申请的限制。

步骤s202:使用预设的网络模型对所述向量特征进行时序特征提取。

在将文本特征转换成向量特征后,使用预设的网络模型对所述向量特征进行时序特征提取,得到包含时序特征的输出特征。也就是说,在针对句子级别的特征提取完成后,也即在得到向量后,还没有考虑到句子之间的时序特征,因此,还需要考虑句子之间的时序特征,此时可以对该向量特征进行时序特征提取,得到包含时序特征的输出特征。例如将向量特征接入bi-lstm(bidirectionallongshort-termmemory,双向长短时记忆循环神经网络),即可得到包含时序特征的输出特征,因为bi-lstm算法考虑了时序特征,具有长期依赖的功能,会把句子之间的逻辑关系特征学习出来。在得到包含时序特征的输出特征,再将输出特征输入全连接层进行分类处理。其中,bi-lstm也可以采用rnn(循环神经网络)来代替。

步骤s104:对所述输出特征进行分类,得到表征所述目标事件的责任方的分类结果。

在得到输出特征后,对输出特征进行分类,进而可以得到表征该目标事件的责任方的分类结果。例如,得到取消服务订单的责任方是服务提供方还是服务请求方,也即,得到导致该服务订单被取消的责任方是服务提供方还是服务请求方。可选地,可以将该输出特征输入全连接层进行分类处理,得到表征所述目标事件的责任方的分类结果。其中,全连接层选用softmax函数,预测对话文本属于每个类别的概率,并归一化到0-1之间,概率最大的类别即是该对话文本的最终分类,进而可以得到表征该目标事件的责任方的分类结果。

为了便于理解上述过程,可以结合图4所示的步骤示意图进行说明,其中,图4中的sentence1可以对应于上述示例的“你取消吧”,sentence2可以对应于上述示例的“我不取消”。words对应于上述的第一种特征提取方式,dbscan对应于上述的第二种特征提取方式,pattern对应于上述的第三种特征提取方式。wordembedding对应于上述的词向量转换。其中,在进行文本特征提取时,从words、dbscan、pattern三种特征提取方式中选择一种,且对于同属于一个对话记录中的每句话来说,所选用的特征提取方式相同,要么选用第一种特征提取方式,要么选用第二种特征提取方式,要么是选用第三种特征提取方式。

综上所述,本申请实施例提供的对话分类方法,对对话记录中的每句话进行文本特征提取,在得到对应的文本特征后,还要将句子之间的时序特征考虑进去,也即使用预设的网络模型对文本特征进行时序特征提取,得到包含时序特征的输出特征,然后再基于输出特征进行对话分类,这样能最大限度的还原对话场景,提高分类的准确性和可靠性。

第二实施例

本申请实施例还提供了一种对话分类装置110,如图5所示。该对话分类装置110包括:获取模块111、文本特征提取模块112、时序特征提取模块113以及分类模块114。

获取模块111,用于获取针对目标事件的对方各方的对话记录。可选地,所述获取模块111,还用于获取取消服务订单事件的服务提供方与服务请求方的对话记录。

文本特征提取模块112,用于对所述对话记录中的每句话进行文本特征提取,得到对应的文本特征。可选地,所述文本特征提取模块112,还用于对所述对话记录中的每句话按照字符进行分割处理,并在分割后的每个字符前或后加入表征当前说话的说话者身份信息;或者,使用聚类算法对所述对话记录中的每句话进行聚类,将聚类后得到的标签作为该句话对应的特征;或者,使用模式匹配对所述对话记录中的每句话进行匹配,将匹配得到的模式类别作为该句话对应的特征。

时序特征提取模块113,用于使用预设的网络模型对所述文本特征进行时序特征提取,得到包含时序特征的输出特征。可选地,所述时序特征提取模块113,还用于:将所述文本特征中的每个词进行词嵌入,转换成向量特征;使用预设的网络模型对所述向量特征进行时序特征提取。可选地,所述时序特征提取模块113,还用于使用预设的双向长短时记忆循环神经网络对所述向量特征进行时序特征提取。

分类模块114,用于对所述输出特征进行分类,得到表征所述目标事件的责任方的分类结果。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例所提供的对话分类装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

第三实施例

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一实施例所述的方法的步骤。具体实现可参见方法实施例,在此不再赘述。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的程序代码被运行时,能够执行上述实施例示出的对话分类方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1