一种会话摘要生成方法及装置与流程

文档序号:11133908阅读:272来源:国知局
一种会话摘要生成方法及装置与制造工艺

本发明涉及数据分析技术领域,特别是涉及会话摘要生成方法及装置。



背景技术:

目前,基于通信网络中的聊天工具和聊天机器人正蓬勃发展,越来越多的人利用通信网络中的聊天工具或聊天机器人进行聊天活动,包括利用文本信息、音频信息和/或视频信息进行聊天。

聊天工具又称IM(Instant Messaging)软件或者IM工具,主要提供基于互联网络的客户端进行实时语音、文字传输,为用户与用户之间提供会话服务。现有的聊天工具包括腾讯QQ、微信、易信、钉钉、百度HI、飞信、阿里旺旺、京东咚咚等。在利用聊天工具进行聊天时,聊天的双方需要在人机界面上登录启动聊天设备后输入聊天信息,聊天设备将聊天信息发送给对方,以使双方进行聊天活动,其中,聊天双方输入的聊天信息可以为文本信息、音频信息和/或音频信息。目前的聊天工具具备一些简单的记录管理功能,如可以保存用户的聊天记录、为用户提供聊天记录搜索查询功能。

聊天机器人(chatterbot)是用来模拟人类对话或聊天的程序,可以为用户提供人机之间的闲聊和秘书服务。现有的聊天机器人包括百度度秘、微软小冰、谷歌Allo、脸书Messenger等。当一个问题被抛给聊天机器人时,它通过算法,从数据库中找到最贴切的答案,回复给用户。聊天机器人可以为用户提供一些简单的秘书服务,如时间安排提醒、票务预定。



技术实现要素:

发明人认为,无论是聊天工具还是聊天机器人,都还停留在提供简单的会话服务上,对聊天工具和聊天机器人的改进,还有很大的空间。

本发明提供的会话摘要生成方法及装置,可以单独使用也可以内嵌到聊天工具或聊天机器人中,提供一种根据会话内容生成会话摘要的新功能,供用户使用。

本发明采用技术方案如下:

第一方面,本发明提供一种会话摘要生成方法,包括:

获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容;

根据所述会话内容得到会话文本;

将所述会话文本划分为一个或多个会话组;

将会话组的会话文本输入到预先建立的摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要;

其中,所述摘要生成模型通过以下方式建立:

获取预置数目的会话组样本以及与各个会话组样本对应的摘要样本;

对每个会话组样本和与该会话组样本对应的摘要样本执行向量化处理,得到向量化会话组样本和向量化摘要样本;

将所述向量化会话组样本和向量化摘要样本输入到预先建立的神经网络结构中进行多次迭代,计算根据向量化会话组样本生成各个向量化摘要样本的概率,使迭代之后得到的根据所述向量化会话组样本生成对应的向量化摘要样本的概率最大,得到所述摘要生成模型。

第二方面,本发明提供一种会话摘要生成装置,包括:

会话内容获取单元,用于获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容;

会话文本确定单元,用于根据所述会话内容得到会话文本;

会话组划分单元,用于将所述会话文本划分为一个或多个会话组;

摘要提取单元,用于将会话组的会话文本输入到预先建立的摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要。

第三方面,本发明提供一种服务器设备,所述服务器设备包括上述的会话摘要生成装置。

第四方面,本发明提供一种终端设备,所述终端设备包括上述的会话摘要生成装置。

本发明的有益效果是:

本发明通过获取用户与用户之间或者用户与聊天机器人之间的会话内容,获取会话内容对应的会话文本,根据不同的意图和/或主题将会话文本划分为若干个会话组,并对会话组的会话文本进行分析,生成对应的会话摘要,为用户提供一种新颖的服务产品。本发明可以自动梳理用户的聊天内容,生成简洁的摘要,进而在用户查看聊天记录时,可以通过呈现会话摘要替代冗长的聊天记录,使呈现内容更简洁、直观,提升用户体验。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是根据本发明实施例的会话摘要生成方法的计算机终端的硬件结构框图;

图2是本发明实施例提供的一种会话摘要生成方法的流程图;

图3是本发明实施例提供的一种会话摘要生成方法的流程图;

图4是本发明实施例提供的一种将会话文本划分为会话组的方法流程图;

图5是本发明实施例提供的另一种将会话文本划分为会话组的方法流程图;

图6是本发明实施例提供的一种会话摘要生成装置的结构框图;

图7是本发明实施例提供的一种会话摘要生成装置的结构框图;

图8是本发明实施例提供的会话摘要生成装置的会话组划分单元的结构框图;

图9是根据本发明实施例的计算机终端的结构框图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

发明人研究发现,用户在利用聊天工具(例如微信、QQ)查看聊天记录时,由于聊天记录是以零散句子(文本句子或语音段)的形式呈现给用户,需要用户翻看多页聊天记录,才能明白聊天记录涉及的主要内容,给查阅聊天内容造成不便。但通过聊天工具对话已经成为人们工作和生活中重要的沟通方式,聊天内容能够反映参与聊天的用户之间的事件安排或约定、对某一事件的看法等,存在需要通过翻看聊天记录来找到特定的会话内容,如约定时间、地点等,基于这种可能的需求,发明人认为,如果能够将聊天记录以简短的语句表达出来,供用户查阅,进而用户可以迅速定位聊天记录,找到所需聊天内容;另一方面,如果能够根据会话内容提炼出会话摘要,通过会话摘要反映用户一段时间来的心情变化、计划安排完成情况以及对事物的看法等,必然能够给用户带来新鲜的服务体验,提供会话摘要的服务不仅有趣,而且有助于用户了解自己的工作和生活。下面将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本发明实施例的会话摘要生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端100可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的会话摘要生成方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的生成会话摘要。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端100的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图2所示的会话摘要生成方法。该方法可以应用于智能终端设备中,由智能终端设备中的处理器执行,智能终端设备可以是智能手机、平板电脑等。智能终端设备中安装有至少一个应用程序,本发明实施例并不限定应用程序的种类,可以为系统类应用程序,也可以为软件类应用程序。

图2是本发明实施例提供的一种会话摘要生成方法的流程图,该方法可以包括以下步骤:

S201、获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容。

待分析的会话内容可以是用户之间通过聊天工具进行对话产生的会话内容,也可以是用户与“聊天机器人”对话产生的会话记录。用户可以通过预先给定的接口将一段会话内容发送给会话摘要生成装置,该接口可以是Socket形式或者系统调用的形式,不断监听外部输入,获取输入的会话内容。会话内容可以是文本内容或语音内容,也可以同时包含文本内容和语音内容。会话内容还可以包括指定的当前用户ID,当前用户ID可以是输入会话内容的用户的ID,也可以是输入会话内容的用户指定的用户ID。在对会话内容处理得到会话摘要后,可以以向当前用户ID对应的用户作汇报的形式输出会话摘要。

S202、根据所述会话内容得到会话文本。

由于用户上传的会话内容可能包含语音内容,因此需要对语音内容进行处理,得到统一格式的文件,以便于后续的数据处理。具体地,如果会话内容全部为文本内容,则将文本内容作为与会话内容对应的会话文本即可;如果会话内容全部为语音内容,则将语音内容转化为文本内容,将所述文本内容作为与所述会话内容对应的会话文本;如果会话内容既可包含文本内容又包含语音内容,则将语音内容部分转化成为文本内容,得到对应的会话文本,文本内容部分不用作转换处理。具体实施时,可以借助相关转换软件(如IBM Via Voice)完成,语音和文本之间相互转换的技术较为成熟,在此不对其展开说明。

可选的,每一条会话文本可以包括用户ID和文本内容,还可以包括对应的会话生成时间。

S203、将所述会话文本划分为一个或多个会话组。

具体实施时,可以通过分析会话文本的主题和/或意图,将会话文本划分为多个会话组,具体可通过以下任意一种方法实现。

方法一:

S11、确定会话内容中每一条会话文本的主题。

参见图3,确定会话内容中每一条会话文本的主题,包括:根据预先保存的语料文本与主题的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的主题确定为该条会话文本的主题,若会话文本不包含所述语料文本,则计算该条会话文本中每个词的主题,统计所有词在主题上的分布概率,将分布概率最大的主题确定为该条会话文本的主题。例如,若一句话有两个词,而语料中假设只有“餐饮”、“旅游”两个主题;这句话第一个词在“餐饮”、“旅游”两个主题上的分布是(0.1,0.9),第二个词的分布是(0.2,0.8)。则这句话在“餐饮”、“旅游”两个主题分布是(0.15,0.85),则可以认定这句话的主题是“旅游”。

S12、判断相邻两条会话文本的主题是否相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组。

S13、判断相邻两个会话组的主题是否相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的主题不相同。

方法二:

S21、确定会话内容中每一条会话文本的意图。

参见图3,确定会话内容中每一条会话文本的意图包括:根据预先保存的语料文本与意图的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的意图确定为该条会话文本的意图,例如,某句话中出现了“一起去吃饭吧”这句话,则可以直接将这句话认定成“约定某事”这个意图;若会话文本不包含所述语料文本,则将所述会话文本输入到预先建立的意图识别模型中,计算该会话文本在不同意图上的分布概率,将分布概率最大的意图作为该会话文本的意图。

S22、判断相邻两条会话文本的意图是否相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组。

S23、判断相邻两个会话组的意图是否相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的意图不相同。

方法三:

S31、确定会话内容中每一条会话文本的主题和意图。

其中,确定会话内容中每一条会话文本的主题和意图,包括:根据预先保存的语料文本与主题的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的主题确定为该条会话文本的主题,若会话文本不包含所述语料文本,则计算该条会话文本中每个词的主题,统计所有词在主题上的分布概率,将分布概率最大的主题确定为该条会话文本的主题;以及,根据预先保存的语料文本与意图的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的意图确定为该条会话文本的意图,若会话文本不包含所述语料文本,则将所述会话文本输入到预先建立的意图识别模型中,计算该会话文本在不同意图上的分布概率,将分布概率最大的意图作为该会话文本的意图。

S32、判断相邻两条会话文本的主题和意图是否都相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组。

S33、判断相邻两个会话组的主题和意图是否都相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的主题或意图不相同。

作为一种可选的实施方式,所述意图识别模型可通过以下方式建立:获取预置数目的会话样本,以及与各个会话样本对应的意图;对每个会话样本和与该会话样本对应的意图执行向量化处理,得到向量化会话样本和向量化意图;

将所述向量化会话样本和向量化意图输入到预先建立的神经网络结构中进行多次迭代,计算根据向量化会话样本生成各个向量化意图的概率,使迭代之后得到的根据所述向量化会话样本生成对应的向量化摘要的样本的概率最大,得到所述意图识别模型。

其中,意图识别模型需要从一个预先给定语料中训练出一个基于神经网络的模型。语料由若干句话组成。其中xi表示一句话,li是与该句话相应的意图标的嵌入式表示。语料中的所有语句,都已经被分词并被表示为词嵌入(word embedding)。ci是利用其它技术计算出的语句上下文的嵌入式表示。

利用循环神经网络模型,推导li的生成概率。设是xi中的第n个词,是的隐状态,定义

其中f是任意的定义的函数,可以是LSTM节点、GRU节点等,包含一部分待训练参数,其输入是若干个向量,输出是一个向量。

令xi的嵌入式表示其中是xi最后一个词的隐状态输出。于是定义已知上下文情况下,li的生成概率为

其中v’遍历了所有意图的嵌入式表示。g是任意的定义的函数,包含一部分待训练参数。输入为一组向量,输出为一个数字。

意图识别模型的训练目标就是最大化模型在语料上的似然。

在利用意图识别模型对已知的一句话x进行意图识别时,首先,和意图识别模型训练过程一致,得到x的嵌入式表示。之后,计算x在意图1的概率为

其中v’遍历了所有意图的嵌入式表示。计算x在每一个意图上的概率P(l|x),取概率最大的意图作为x的意图。

S204、分析会话组的会话文本,得到与会话组对应的会话摘要。

关于分析会话组的会话文本得到会话组对应的会话摘要,可以有多种实现方式。例如,在其中一种实现方式下,可以预先建立摘要生成模型,将会话组的会话文本输入到摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要。了便于理解,下面首先对摘要生成模型进行介绍。

在本申请实施例中,为了通过上述方式来获得与会话组对应的会话摘要,可以包括以下两个部分:

一是训练会话摘要生成模型,二是运行该会话摘要生成模型。

会话摘要生成模型的建立方法包括:获取预置数目的会话组样本以及与各个会话组样本对应的摘要样本;对每个会话组样本和与该会话组样本对应的摘要样本执行向量化处理,得到向量化会话组样本和向量化摘要样本;将所述向量化会话组样本和向量化摘要样本输入到预先建立的神经网络结构中进行多次迭代,计算根据向量化会话组样本生成各个向量化摘要样本的概率,使迭代之后得到的根据所述向量化会话组样本生成对应的向量化摘要样本的概率最大,得到所述摘要生成模型。下面就建立摘要生成模型涉及的具体内容进行展开说明。

摘要生成模型可以选择一种神经网络结构模型,需要从一个预先给定语料中,训练出一个基于神经网络的摘要生成模型。训练的过程相当于已知一些会话组样本,也已知根据这些会话组样本对应生成的摘要样本;将这些已知的信息输入到一个神经网络结构模型(相当于一个函数,训练目是最大化模型在给定语料上的似然)中进行迭代,计算根据向量化会话组样本生成各个向量化摘要样本的概率,使迭代之后得到的根据所述向量化会话组样本生成对应的向量化摘要样本的概率最大,得到所述摘要生成模型。

具体地,语料可以由预置数目的会话组样本以及与各个会话组对应的摘要样本组成,可表示为其中Xi是一个会话组样本,Yi是相应的摘要样本。会话组样本和摘要样本中的所有语句,都被表示为词嵌入(word embedding)。可以通过执行以下步骤(1)-(3)获得向量化的会话组样本和向量化的摘要样本。

(1)对每个会话组样本的会话文本和与该会话组样本对应的摘要样本执行分词处理,得到会话组样本分词和摘要样本分词。分词处理可以是将会话组样本和摘要样本中包含的文本划分为多个词,在划分词时,可以根据上下文的语义进行词的划分,以使对文本的分词更加准确。例如,对会话组样本的一条会话本“今天中午吃西餐”进行分词处理,得到“今天”、“中午”、“吃”和“西餐”四个词。

(2)分别对所述会话组样本分词和摘要样本分词执行向量化处理,得到向量化会话组样本分词和向量化摘要样本分词。对所述会话组样本分词和摘要样本分词执行向量化处理可以通过多种方法,例如,可以使用词嵌入向量模型分别对会话组样本分词和摘要样本分词执行向量化处理,得到向量化会话组样本分词和摘要样本分词,也可以通过词袋模型(Continuous Bag of Word Model,简称为CBOW)计算词向量,得到向量化会话组样本分词和向量化摘要样本分词。

(3)分别对向量化会话组样本分词和向量化摘要样本分词执行编码处理,得到向量化会话组样本和向量化摘要样本。

首先利用任意一种编码(Encoder)技术,将会话组样本Xi转化为向量形式的嵌入式(Embedding)表示即(即向量化会话组样本),记作zi。具体地,可以通过RNN或CNN来将会话组转化为向量形式的嵌入式表示,例如,《Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models》中提到的利用RNN将多轮对话进行嵌入式表示的技术;简单而言,首先可以用一个RNN网络将会话组样本中的每句话向量化,然后用另一个RNN将会话组中每句话的向量处理成一个会话组样本向量。

之后,利用神经网络结构模型,推导Yi的生成概率。具体方法为:设是Yi中的第n个词,是的隐状态,定义:

其中f是任意定义的函数,可以是LSTM节点、GRU节点等,包含一部分待训练参数,其输入是若干个向量,输出是一个向量。于是可以定义在已知上下文情况下,的生成概率为:

其中v’遍历了词典中的所有的词的词嵌入,其中g是任意定义的函数,包含一部分待训练参数。该式的输入为一组向量,输出为一个数字。于是在给定Xi的情况下,Yi的生成概率为:

构建会话摘要生成模型,其训练目标就是最大化模型在语料上的似然。进一步地,可以规定若连续5次在样本数据上求得的似然都在下降,则判断会话组样本与对应的摘要样本似然最大化,然后可将训练的神经网络结构模型保存为会话摘要生成模型。

在训练得到会话摘要生成模型之后,就可以用于在线根据用户输入的会话组内容输出对应的会话摘要。在已知会话组X,生成摘要的时候,可以利用束搜索(beam search)方法,取使得P(Y|X)最大的Y作为输出的摘要。在具体地对用户输入的会话组内容处理时,可以首先对会话组的会话文本执行向量化处理,得到会话组的向量化表示X,其详细的生成过程是这样的:

1、建立候选句子集合,将只包含结束符<END>的一句话加入到候选集合中,<END>既可以作为开始词,也可以作为结尾词。

2、利用之前训练好的会话摘要生成模型,对候选集合中的每个句子Y计算Y后能够接续的所有可能词的概率P(y|y+1||y,X),选择概率最大的u个词接续到Y的后边,形成u个新的候选句子,加入到候选集合中。

3、只保留候选集合中概率最大的u个句子。

4、判断每个候选句子是否是以<END>结尾,如果某个句子是以<END>结尾,则将该句子加入到结果集合中,并将其从候选集合中删除。

5、查询候选结果是否为空,如果候选集合为空,则跳入步骤6;否则循环执行步骤2,或者判断循环步数是否到达预设的最大循环步数,如果到达最大循环步数,则跳入步骤6;否则循环执行步骤2-5。

6、将结果集合中的句子,代入到概率的Y中,通过公式取使得概率logP (Y|X)最大的u个句子作为该会话组对应的摘要。其中,Y={y1,y2,...,y|Y|}。

为便于理解,在此对上述步骤1-6举例说明。例如,在已知会话组X情况下,要生成与会话组X对应的摘要,设u=3,最大循环步数为8,首先,在为空的候选集合中加入一句话“<END>”,在首次执行步骤2后,得到概率最大的3个词接续到<END>的后面,形成“<END>我”、“<END>你”和“<END>他”3个新的候选句子,将这3个句子加入到候选集合中,此时,候选集合中有4个句子,即“<END>”、“<END>我”、“<END>你”和“<END>他”,如果“<END>”的概率最小,则将其从候选集合中删除,仅在集合中保留概率最大的3个句子;然后判断候选集合中是否有以<END>的句子,由于上述3个句子都不是以<END>结尾的,候选结果不为空,且未达到最大循环步数,则循环执行步骤2-5,计算候选集合中每个句子后能够接续的词,若经过6次循环后,得到3个候选句子“<END>我在饭店<END>”、“<END>我和他在”和“<END>他不会过来”,其中句子“<END>我在饭店<END>”以<END>结尾,将其从候选结合移至结果集合中,继续执行步骤2-5,直至候选结果为空或达到最大循环步数,假设此时结果集合中有5个句子,则将各个句子的向量代入到的Y中计算Y的生成概率,取使得生成概率最大的3个句子作为该会话组对应的摘要。

图3是本发明实施例提供的一种会话摘要生成方法的流程图。所述会话摘要生成方法还可以包括如下步骤:根据会话组的会话文本对所述会话摘要进行修正;根据会话文本的生成时间,为会话摘要添加时间标签;输出所述会话摘要。

利用会话摘要生成模型直接处理会话组,形成的摘要文本较为粗糙,其中某些实体词、时间词或短语可能出现标错或者漏标。针对此问题,进一步地,可以利用人工规则提取会话文本种合适的词来对会话摘要进行修正,修正内容包括:删除会话摘要中的敏感词、修正病句、添加用户ID以及提取会话组的会话文本中的词来覆盖或补充所述会话摘要中错标或漏标的词。

为清晰的反映摘要内容的发生时间,可以为会话摘要添加时间标签,其添加时间标签的方式包括:统计会话组中每一条会话文本的生成时间,所述生成时间精确到小时,将多数会话文本所在的生成时间作为会话组的时间标签,将所述时间标签添加到该会话组对应的会话摘要中。

对会话摘要进行修正处理并添加时间标签后,可以通过预先给定的接口将会话组的摘要输出,以供用户查阅。

为了更好的理解本申请实施例提供的上述方案,通过一个具体的例子进行说明。服务流程举例如表1。用户输入一组会话后,首先根据意图将会话识别为两个会话组(字体加粗的为一组,字体未加粗的为一组)。对于字体加粗的会话组,生成摘要“您与用户乙讨论了公司边上的一家川菜馆,乙认为它味道很正宗。”同理,对于未加粗的会话组,生成摘要“您和用户乙约定周日中午去吃公司边上的一家川菜馆。”

表1服务流程举例

作为一种可选的实施例,在步骤S203对所述会话组的会话文本执行向量化处理,得到向量化会话组,之前还包括:根据会话组的主题或意图,判断会话组是否属于有价值的会话组,若所述会话组属于有价值的会话组,则对所述会话组的会话文本执行向量化处理。

图3是本发明实施例提供的一种会话摘要生成方法的流程图,图中示出了在将会话组输入会话摘要生成模型之前,根据会话组的主题或意图,判断会话组是否属于有价值的会话组,仅将价值的会话组输入摘要生成模型中,为有价值的会话组生成对应的会话摘要。

作为一种可选的实施方式,所述根据会话组的主题或意图,判断会话组是否属于有价值的会话组,包括:将会话组的主题与预设的有价值的主题列表进行比对,若所述会话组的主题在所述预设的有价值的主题列表中,则确定所述会话组属于有价值的会话组;或者,将会话组的意图与预设的有价值的意图列表进行比对,若所述会话组的意图在所述预设的有价值的意图列表中,则确定所述会话组属于有价值的会话组。

以主题为例,我们可以设定一条规则,假如一组会话谈论的主题是“天气”,那就是没意义的。通过设定规则滤出一些某些主题或者意图没有意义的会话组,可以节省计算资源,提供更符合用户需求的服务产品。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

与本申请实施例提供的会话摘要生成方法相对应,本申请实施例还提供了一种会话摘要生成装置,参见图6,该装置可以包括会话内容获取单元610、会话文本确定单元620、会话组划分单元630以及摘要提取单元640。其中:

会话内容获取单元610,用于获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容;

会话文本确定单元620,用于根据所述会话内容得到会话文本;

会话组划分单元630,用于将所述会话文本划分为一个或多个会话组;

摘要提取单元640,用于将会话组的会话文本输入到预先建立的摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要。

摘要生成模型的建立方法为:获取预置数目的会话组样本以及与各个会话组样本对应的摘要样本;对每个会话组样本和与该会话组样本对应的摘要样本执行向量化处理,得到向量化会话组样本和向量化摘要样本;将所述向量化会话组样本和向量化摘要样本输入到预先建立的神经网络结构中进行多次迭代,计算根据向量化会话组样本生成各个向量化摘要样本的概率,使迭代之后得到的根据所述向量化会话组样本生成对应的向量化摘要样本的概率最大,得到所述摘要生成模型。摘要生成模型对输入的会话组文本的处理包括:对所述会话组的会话文本执行向量化处理,得到向量化会话组;计算根据向量化会话组生成预存的摘要文本中各个词的生成概率,将使生成概率最大的词的词向量作为下一次迭代计算的输入值,直至计算所得的使生成概率最大的词为标注的结尾词,将每次计算得到的使生成概率最大的词顺序排列,组成与所述会话组对应的会话摘要。

该实施例的会话摘要生成装置中,会话内容获取单元610可用于执行本发明方法实施例中的步骤S201,会话文本确定单元620可用于执行本发明方法实施例中的步骤S202,会话组划分单元630可用于执行本发明方法实施例中的步骤S203,摘要提取单元640可用于执行本发明方法实施例中的步骤S204。

作为一种可选的实施例,所述摘要提取单元640包括判断模块641和提取模块642,其中,判断模块641,用于根据会话组的主题或意图,判断会话组是否属于有价值的会话组;提取模块642,用于将有价值的会话组输入到摘要生成模型中,利用摘要生成模型提取会话摘要。

图8是本发明实施例提供的会话摘要生成装置的会话组划分单元的结构框图。作为一种可选的实施例,所述会话组划分单元630包括第一划分模块631、第二划分模块632和第三划分模块633。其中,第一划分模块631,用于根据会话文本的主题和意图,将所述会话文本划分为一个或多个会话组;第二划分模块632,用于根据会话文本的意图,将所述会话文本划分为一个或多个会话组;第三划分模块633,用于根据会话文本的主题,将所述会话文本划分为一个或多个会话组。

作为一种可选的实施例,所述第一划分模块631包括第一确定子模块6311和第一划分子模块6312。第一确定子模块6311,用于确定会话内容中每一条会话文本的主题和意图。第一划分子模块6312,用于判断相邻两条会话文本的主题和意图是否都相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组;并判断相邻两个会话组的主题和意图是否都相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的主题或意图不相同。其中,所述第一确定子模块6311具体用于:根据预先保存的语料文本与主题的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的主题确定为该条会话文本的主题,若会话文本不包含所述语料文本,则计算该条会话文本中每个词的主题,统计所有词在主题上的分布概率,将分布概率最大的主题确定为该条会话文本的主题;以及,根据预先保存的语料文本与意图的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的意图确定为该条会话文本的意图,若会话文本不包含所述语料文本,则将所述会话文本输入到预先建立的意图识别模型中,计算该会话文本在不同意图上的分布概率,将分布概率最大的意图作为该会话文本的意图。

作为一种可选的实施例,所述第二划分模块632包括第二确定子模块6321和第二划分子模块6322。第二确定子模块6321,用于确定会话内容中每一条会话文本的意图;第二划分子模块6322,用于判断相邻两条会话文本的意图是否相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组;并判断相邻两个会话组的意图是否相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的意图不相同。所述第二确定子模块6321具体用于:根据预先保存的语料文本与意图的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的意图确定为该条会话文本的意图,若会话文本不包含所述语料文本,则将所述会话文本输入到预先建立的意图识别模型中,计算该会话文本在不同意图上的分布概率,将分布概率最大的意图作为该会话文本的意图。

作为一种可选的实施例,所述第三划分模块633包括第三确定子模块6331和第三划分子模块6332。第三确定子模块6331,用于确定会话内容中每一条会话文本的主题;第三划分子模块6332,用于判断相邻两条会话文本的主题是否相同,若是,则将相邻两条会话文本进行合并作为一个会话组,若否,则将每条会话文本作为一个会话组;并判断相邻两个会话组的主题是否相同,若是,则将相邻两个会话组合并成一个会话组,直至相邻两个会话组的主题不相同。所述第三确定子模块6331具体用于:根据预先保存的语料文本与主题的对应关系,识别会话内容中的每一条会话文本,若会话文本包含所述语料文本,则将所述语料文本对应的主题确定为该条会话文本的主题,若会话文本不包含所述语料文本,则计算该条会话文本中每个词的主题,统计所有词在主题上的分布概率,将分布概率最大的主题确定为该条会话文本的主题。

作为一种可选的实施例,所述判断模块641包括第一判断子模块6411和第二判断子模块6412。第一判断子模块6411,用于将会话组的主题与预设的有价值的主题列表进行比对,若所述会话组的主题在所述预设的有价值的主题列表中,则确定所述会话组属于有价值的会话组;第二判断子模块6412,用于将会话组的意图与预设的有价值的意图列表进行比对,若所述会话组的意图在所述预设的有价值的意图列表中,则确定所述会话组属于有价值的会话组。

参见图7,图7是本发明实施例提供的一种会话摘要生成装置的结构框图。作为一种可选的实施例,本发明的会话摘要生成装置还可以包括修正单元650、时间添加单元660和输出单元670。

修正单元650,用于根据会话组的会话文本对所述会话摘要进行修正;

时间添加单元660,用于根据会话文本的生成时间,为会话摘要添加时间标签;

输出单元670,用于输出所述会话摘要。

其中,所述时间添加单元660包括时间确定模块661和时间标注模块662。时间确定模块661,用于统计会话组中每一条会话文本的生成时间,所述生成时间精确到小时,将多数会话文本所在的生成时间确定为会话组的时间标签;时间标注模块662,用于将所述时间标签添加到该会话组对应的会话摘要中。

本发明的会话摘要生成装置可以内嵌到会话工具中,如与微信、QQ、聊天机器人进行技术结合,提供一个接收用户输入的待分析的会话内容的接口,利用前端软件将待分析的会话内容发给会话摘要生成装置,会话摘要生成装置根据会话内容生成对应的会话摘要后,通过接口返回给前端软件,通过前端软件将会话摘要呈现给用户。

目前的聊天工具只有记录和搜索功能,且只提供简单的关键字搜索功能。其功能的局限性导致聊天工具对用户缺乏更多的吸引力。很多用户可能希望通过聊天工具完成一些更人性化的服务,例如通过聊天工具整理聊天记录,突出聊天重点,总结聊天内容,提供一目了然的历史聊天摘要;如某日和女朋友聊过某事,女朋友的对其看法如何;某日约定和客户在某日见面等。通过本发明方案,实现了对用户会话内容的提炼和总结,使用户查看历史会话记录时有更简洁、更直白的体验。使聊天工具或机器人秘书具有更加拟人化的服务功能。目前的机器人秘书软件,本质上只能提供简单的提醒服务或预定服务。而真正的秘书可以用自然语言的形式提供用户历史行程摘要、将来行程摘要等,甚至根据长时间跨度的人机交互数据,总结用户一段时间来的心情变化、计划安排完成度和对事物看法等。本发明通过上述方案解决了上述问题,可以为用户提供全新的体验,而且也有助于用户了解自己的生活,有助于更好地安排时间。

本发明还提供了一种服务器设备,所述服务器设备包括上述的会话摘要生成装置。

此外,本发明还提供了一种终端设备,所述终端设备包括上述的会话摘要生成装置。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一种会话摘要生成方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

第一步:获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容;

第二步:根据所述会话内容得到会话文本;

第三步:将所述会话文本划分为一个或多个会话组;

第四步:将会话组的会话文本输入到预先建立的摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据会话组的会话文本对所述会话摘要进行修正。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据会话组的主题或意图,判断会话组是否属于有价值的会话组,若所述会话组属于有价值的会话组,则对所述会话组的会话文本执行向量化处理。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据会话文本的生成时间,为会话摘要添加时间标签;以及输出所述会话摘要。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的实施例还提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,图9是根据本发明实施例的计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器161、存储器163、以及传输装置165。

其中,存储器163可用于存储软件程序以及模块,如本发明实施例中的会话摘要生成方法和装置对应的程序指令/模块,处理器161通过运行存储在存储器163内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的生成会话摘要。存储器163可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器163可进一步包括相对于处理器161远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置165用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置165包括一个网络适配器,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置165为射频模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器163用于存储预设动作条件和预设权限用户的信息、以及应用程序。

处理器161可以通过传输装置调用存储器163存储的信息及应用程序,以执行下述步骤:

可选的,上述处理器161还可以执行如下步骤的程序代码:

第一步,获取待分析的会话内容,所述会话内容包括文本内容和/或语音内容;

第二步,根据所述会话内容得到会话文本;

第三步,将所述会话文本划分为一个或多个会话组;

第四步,将会话组的会话文本输入到预先建立的摘要生成模型中,利用摘要生成模型提取与所述会话组对应的会话摘要。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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