问句生成方法、装置、计算机设备及存储介质与流程

文档序号:22246532发布日期:2020-09-15 20:28阅读:183来源:国知局
问句生成方法、装置、计算机设备及存储介质与流程

本发明涉及人工智能技术领域,尤其涉及一种问句生成方法、装置、计算机设备及存储介质。



背景技术:

现如今智能对话系统在生活中应用广泛,提问在智能对话系统中起着很重要的作用,智能对话系统生成的提问句能否激发被对话人的兴趣,以及使对话流畅地进行下去,决定智能对话系统的实用性。

传统问句生成方法主要是基于模板的问句生成方法,在智能对话系统中通过匹配相关主题,采用预先定义的模板进行问句生成,这种方法需要大量的人力来实施,且灵活性和多样性较差,容易生成无意义和信息量低的一些对话句式,比如“好吗?是吗?在不在?”等。



技术实现要素:

本发明实施例提供一种问句生成方法、装置、计算机设备及存储介质,以解决生成问句流畅性差的问题。

一种问句生成方法,包括:

获取输入文本信息;

从对话数据库中对所述输入文本信息进行匹配,得到与所述输入文本信息匹配的上文对话信息、以及与所述上文对话信息对应的下文对话信息;

采用所述输入文本信息将所述上文对话信息进行替换,得到输入上文信息,分别对所述输入上文信息和所述下文对话信息进行向量转换,得到输入上文向量和下文对话向量;

通过双向编码器,对所述输入上文向量和所述下文对话向量进行处理,得到与所述输入文本信息对应的下文对话问句。

一种问句生成装置,包括:

信息输入模块,用于获取输入文本信息;

信息匹配模块,用于从对话数据库中对所述输入文本信息进行匹配,得到与所述输入文本信息匹配的上文对话信息、以及与所述上文对话信息对应的下文对话信息;

向量转换模块,用于采用所述输入文本信息将所述上文对话信息进行替换,得到输入上文信息,分别对所述输入上文信息和所述下文对话信息进行向量转换,得到输入上文向量和下文对话向量;

向量处理模块,用于通过双向编码器,对所述输入上文向量和所述下文对话向量进行处理,得到与所述输入文本信息对应的下文对话问句。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述问句生成方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述问句生成方法的步骤。

上述问句生成方法、装置、计算机设备及存储介质中,从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息,能够从对话数据库中获取与输入文本信息最匹配的下文对话信息,以使得最后生成的提问句能与输入文本信息有较高的匹配度,提高了问句生成方法的准确率;根据输入文本信息,将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量,能够通过向量转换的方式将输入文本信息和下文对话信息转换成输入上文向量和下文对话向量,从而能够从输入上文向量和下文对话向量中获取对应的向量特征,从而根据向量特征,提高问句的流畅性;通过双向编码器,对输入上文向量和下文对话向量处理,得到与输入文本信息对应的下文对话问句,提高了输入文本信息与下文对话问句之间的紧密联系,以使得生成的问句具有实用性。

附图说明

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

图1是本发明一实施例中问句生成方法的一应用环境示意图;

图2是本发明一实施例中问句生成方法的一流程图;

图3是本发明一实施例中问句生成方法中步骤s20的一流程图;

图4是本发明一实施例中问句生成方法的一流程图;

图5是本发明一实施例中问句生成方法的一流程图;

图6是本发明一实施例中问句生成方法的一流程图;

图7是本发明一实施例中问句生成装置的一示意图;

图8是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的问句生成方法,可应用在如图1所示的应用环境中,该应用环境具体为智能对话系统,该智能对话系统包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,服务端具体均可以用独立的服务器或者多个服务器组成的服务器集群实现。服务端通过获取输入文本信息;从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息,能够从对话数据库中获取与输入文本信息最匹配的下文对话信息,以使得最后生成的提问句能与输入文本信息有较高的匹配度,提高了问句生成方法的准确率;根据输入文本信息,将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量,能够通过向量转换的方式将输入文本信息和下文对话信息转换成输入上文向量和下文对话向量,从而能够从输入上文向量和下文对话向量中获取对应的向量特征,从而根据向量特征,提高问句的流畅性;通过双向编码器,对输入上文向量和下文对话向量处理,得到与输入文本信息对应的下文对话问句,提高了输入文本信息与下文对话问句之间的紧密联系,以使得生成的问句具有实用性。

在一实施例中,如图2所示,提供一种问句生成方法,以该方法应用在图1中的服务端为例进行说明,具体包括步骤s10至步骤s40,详述如下:

s10:获取输入文本信息。

其中,输入文本信息指用户输入的文本信息,即服务端获取用户通过客户端输入的文本信息。

作为一示例,输入文本信息可以是服务端获取用户通过客户端直接输入的文本信息,输入文本信息的获取包括但不限于通过键盘、触摸显示屏进行获取。

作为一示例,输入文本信息可以是服务端获取用户通过客户端输入的语音信息,并对输入的语音信息进行文本转换得到的文本信息。语音信息的获取可以是通过麦克风进行获取,能够提高用户的使用体验。需要说明的是,服务端获取到语音信息后,自动将语音信息转换成对应的文本信息。示例性地,获取到的语音信息为“我喜欢吃汉堡包”,并将语音信息自动转换成文本信息“我喜欢吃汉堡包”。

s20:从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息。

其中,对话数据库是预先创建的用于存储原始对话数据的数据库。该原始对话数据通过用户自定义从数据库中获取。将对话数据进行筛选,得到的包括提问句的对话数据库。其中,包括提问句的对话数据库指从用户自定义创建的对话数据库中获取提问句对话数据而创建的数据库。上文对话信息指对话数据库中对话上文的信息。下文对话信息指与输入文本信息相对应、并为提问句的对话下文的信息。

作为一示例,服务端获取输入文本信息后,从对话数据库中对输入文本信息进行匹配,以得到与输入文本信息匹配的上文对话信息。本示例中,服务端通过全文检索引擎对输入文本信息进行匹配。可选地,全文检索引擎可以是lucene、solr或者elasticsearch等搜索引擎。

优选地,全文检索引擎可以是lucene引擎。需要说明的是,服务端能够通过lucene引擎中的内置相似度匹配算法,在对话数据库中,对输入文本信息进行相似度计算,以得到与输入文本信息匹配的上文对话信息。可选地,相似度匹配算法可以是向量空间模型算法或者bm25算法。

作为一示例,服务端通过lucene引擎中的相似度匹配算法,计算出输入文本信息中的每个词在对话数据库中的词频和逆文本词频,通过词频和逆文本词频,得到与输入文本信息相似度最高的对话数据。进一步地,从与输入文本信息相似度最高的对话数据中的得到上文对话信息、以及与上文对话信息对应的下文对话信息。

示例性地,服务端通过lucene引擎中的bm25算法,计算出“我喜欢吃汉堡包”这一输入文本信息中,每个词在对话数据库中的词频和逆文本词频,匹配到相似度最高的上文对话信息为“我喜欢吃烧卖”,在对话数据库中,与这一上文对话信息相对应的下文对话信息为“你觉得哪家烧卖好吃?”。

s30:采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量。

其中,输入上文信息指上文对话信息被输入文本信息替换后得到的信息。输入上文向量指对输入上文信息进行向量转换,所得到的向量形式的信息。下文对话向量指对下文对话信息进行向量转换,所得到的向量形式的信息。可选地,向量转换可以是通过word2vec模型、glove模型、elmo模型或bert模型进行转换。例如,向量转换可以是通过word2vec模型和bert模型进行向量转换,能够进一步描述词级、句子级和对话间关系特征。

具体地,服务端通过全文检索引擎进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息后,首先,利用输入文本信息对上文对话信息进行替换,得到输入上文信息。然后,通过word2vec模型将输入上文信息和下文对话信息进行词向量转换,得到上文词向量和下文词向量。接着,通过bert模型中的transformer作为特征提取器,对上文词向量和下文词向量中的词向量进行特征提取,并根据bert模型对上文词向量和下文词向量进行句向量转换,得到输入上文向量和下文对话向量。其中,词向量转换指通过获取输入上文信息和下文对话信息中的文本内容,提取文本内容中的词或词语,并对文本内容中的词或词语提取特征向量的过程。其中,特征向量指输入上文信息文本内容中的词或词语与下文对话信息的词或词语的映射关系。例如,输入上文信息中的词或词语“我、喜、欢、吃、汉堡包”的特征向量为“我喜欢吃汉堡包”,下文对话信息中的词或词语“你、觉得、哪、家、烧卖、好、吃?”的特征向量为“你觉得哪家烧卖好吃?”。

示例性地,根据输入文本信息“我喜欢吃汉堡包”,将从对话数据库中匹配到的上文对话信息“我喜欢吃烧卖”进行替换,得到输入上文信息“我喜欢吃汉堡包”。进一步地,通过word2vec模型将输入上文信息文本内容“我、喜、欢、吃、汉堡包”和下文对话信息文本内容“你、觉得、哪、家、烧卖、好、吃?”进行词向量转换。通过bert模型中的transformer作为特征提取器提取“我、喜、欢、吃、汉堡包”和“你、觉得、哪、家、烧卖、好、吃?”中的词向量进行特征提取,并根据bert模型对上文词向量和下文词向量进行句向量转换,得到输入上文向量“我喜欢吃汉堡包”和下文对话向量“你觉得哪家烧卖好吃?”。

s40:通过双向编码器,对输入上文向量和下文对话向量处理,得到与输入文本信息对应的下文对话问句。

其中,双向编码器指能够对句向量进行双向融合编码的编码器。可选地,双向编码器可以是双向循环神经网络模型(gatedrecurrentunit,简称gru)。下文对话问句指与输入文本信息对应的下文对话数据。

作为一示例,服务端通过分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量“我喜欢吃汉堡包”和下文对话向量“你觉得哪家烧卖好吃?”后,首先,服务端需通过双向编码器,对输入上文向量“我喜欢吃汉堡包”和下文对话向量“你觉得哪家烧卖好吃?”进行编码,得到上文句向量“我喜欢吃汉堡包”和下文句向量“你觉得哪家烧卖好吃?”。然后,服务端根据向量维度,对上文句向量“我喜欢吃汉堡包”和下文句向量“你觉得哪家烧卖好吃?”进行计算,得到对话句向量“我喜欢吃汉堡包:你觉得哪家烧卖好吃?”。接着,通过双向编码器,将对话句向量“我喜欢吃汉堡包:你觉得哪家烧卖好吃?”进行译码,得到与输入文本信息“我喜欢吃汉堡包”对应的下文对话问句“你觉得哪家汉堡包好吃?”。其中,向量维度计算是指将上文句向量的向量维度与下文句向量的向量维度相加。与输入文本信息对应的下文对话问句指根据输入文本信息生成的提问句。

本实施例中,从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息,能够从对话数据库中获取与输入文本信息最匹配的下文对话信息,以使得最后生成的提问句能与输入文本信息有较高的匹配度,提高了问句生成方法的准确率;采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量,能够通过向量转换的方式将输入文本信息和下文对话信息转换成输入上文向量和下文对话向量,从而能够从输入上文向量和下文对话向量中获取对应的向量特征,从而根据向量特征,提高问句的流畅性;通过双向编码器,对输入上文向量和下文对话向量处理,得到与输入文本信息对应的下文对话问句,提高了输入文本信息与下文对话问句之间的紧密联系,以使得生成的问句具有流畅性。

在一实施例中,如图3所示,在步骤s20中,从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息,包括:

s21:通过全文检索引擎,计算输入文本信息与对话数据库中每一原始对话数据进行相似度计算,获取每一原始对话数据对应的相似度匹配值。

其中,全文检索引擎可以是lucene引擎、solr引擎、elasticsearch引擎等。例如,全文检索引擎可以是lucene引擎,提供了完整的查询引擎和索引引擎。

具体地,服务端通过全文检索引擎,根据对话数据库中的每一个包括提问句的对话数据,与输入文本信息进行相似度计算,获取输入文本信息与每一对话数据的相似度匹配值。其中,对输入文本信息进行相似度计算是通过全文检索引擎中的内置相似度算法进行计算。

s22:从对话数据库中提取出n个相似度匹配值超过相似度阈值的原始对话数据,获取n个目标原始数据,其中,n为正整数。

其中,n指用户自定义的数量,n为正整数。相似度阈值指用户自定义设置与相似度相关的参数。具体地,服务端通过全文检索引擎,将输入文本信息与对话数据库中所有的对话数据逐一进行相似度匹配,得到相似度匹配值,并对相似度匹配值大于相似度阈值的对话数据进行提取。

s23:根据预设概率,从n个目标原始数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息。

其中,预设概率为大于0小于1的随机值。具体地,根据预设概率,生成与n个对话数据对应的不同的n个预设概率随机值,可以理解地,n个预设概率的数值为大于0小于1的随机数值。

作为一示例,根据n个预设概率,从提取的n个对话数据中选取与输入文本信息匹配的上文对话信息,并确定与上文对话信息对应的下文对话信息,以使得生成的提问句具有多样性。

本实施例中,服务端通过全文检索引擎,计算输入文本信息与对话数据库中每一对话数据的相似度,以提高最后生成下文对话问句的准确率;从对话数据库中提取出n个与输入文本信息的相似度超过相似度阈值的对话数据,根据相似度阈值,对对话数据进行提取,进一步提高最后生成下文对话问句的准确率;根据预设概率,从n个对话数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息,提高了问句生成的多样性。

在一实施例中,如图4所示,在步骤s30之前,根据输入文本信息,将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量之前,包括:

s301:对输入上文信息和下文对话信息进行长度识别,得到对话长度结果,其中,对话长度结果为输入上文信息和下文对话信息的字节长度信息。

其中,对话长度结果指输入上文信息和下文对话信息的字节长度结果。具体地,服务端对输入上文信息和下文对话信息分别进行字节识别,分别输入上文信息和下文对话信息的对话长度结果。

作为一示例,服务端对输入上文信息“我喜欢吃汉堡包”和下文对话信息“你觉得哪家烧卖好吃?”进行字节识别,得到字节长度结果a字节和b字节,确定输入上文信息对应的对话长度结果为a,下文对话信息对应的对话长度结果为b。

s302:若对话长度结果小于预设对话长度,则根据预设对话长度,对输入上文信息和下文对话信息的长度进行补齐。

其中,预设对话长度为用户自定义设置的对话数据长度。具体地,服务端将输入上文信息和下文对话信息的对话长度结果与预设对话长度进行对比。若输入上文信息或下文对话信息的对话长度结果中存在小于预设对话长度的对话长度结果,则通过添加0的方式,对小于预设对话长度的对话长度结果对应的输入上文信息或者下文对话信息的对话长度进行补齐,以使得输入上文信息或下文对话信息的对话长度结果等于预设对话长度。

作为一示例,预设对话长度为c,输入上文信息对话长度为a,下文对话信息对应的对话长度为b。其中,当a或b小于c时,通过添加0的方式,使得输入上文信息对话长度a或下文对话信息对话长度b等于预设对话长度为c。

s303:若对话长度结果大于预设对话长度,则根据预设对话长度,按照预设截取规则对输入上文信息和下文对话信息的长度进行截取。

其中,预设截取规则指用户自定义的用于进行对话长度截取的规则。可选地,预设截取规则可以是从前往后截取输入上文信息和下文对话信息的对话长度,也可以是从后往前截取输入上文信息和下文对话信息的对话长度。优选地,预设截取规则可以是从后往前截取输入上文信息和下文对话信息的对话长度。需要说明的是,根据人体的语言习惯从后往前截取输入上文信息和下文对话信息的对话长度能够有较大概率获取语句表达的主要信息。

本实施例中,通过对输入上文信息和下文对话信息进行长度识别,得到对话长度结果,进一步地,若对话长度结果小于预设对话长度,则根据预设对话长度,对输入上文信息和下文对话信息的长度进行补齐,使得在对输入上文信息和下文对话信息进行向量转换时,提高向量转换的效率。若对话长度结果大于预设对话长度,则根据预设对话长度,按照预设截取规则对输入上文信息和下文对话信息的长度进行截取,使得在对输入上文信息和下文对话信息进行向量转换时,提高向量转换的效率,提高生成提问句的效率。

在一实施例中,如图5所示,问句生成方法还包括:

s50:更新输入文本信息对应的下文对话问句的数量,判断下文对话问句的数量是否达到预设循环次数m,其中,m为正整数。

其中,预设循环次数m指用户自定义设置的步骤执行次数。具体地,服务端对与输入文本信息对应的下文对话问句的数量进行更新,根据预设循环次数m,对下文对话问句的数量进行判断,判断下文对话问句的数量是否达到预设循环次数m。可以理解地,服务端根据预设循环次数m对与输入文本信息对应的下文对话问句获取,以更新下文对话问句的数量,并从更新后的对应数量下文对话问句中确定与输入文本信息最匹配的下文对话问句,以进一步提高下文对话问句的准确率。

s60:若下文对话问句的数量未达到预设循环次数m,则返回执行从对话数据库中提取出n个相似度匹配值超过相似度阈值的原始对话数据,获取n个目标原始数据,其中,n为正整数;根据预设概率,从n个目标原始数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息;采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量;通过双向编码器,对输入上文向量和下文对话向量进行处理,得到与输入文本信息对应的下文对话问句,直至得到m个与输入文本信息匹配的待确认对话问句。

具体地,根据预设循环次数m,对下文对话问句的数量进行判断,当判断下文对话问句的数量未达到预设循环次数m时,则返回执行根据预设概率,从n个对话数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息;采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量;通过双向编码器,对输入上文向量和下文对话向量进行处理,得到与输入文本信息对应的下文对话问句,直至得到m个与输入文本信息匹配的待确认对话问句。

s70:根据输入文本信息,通过jaccard系数,对m个待确认对话问句进行相似度计算,更新与输入文本信息对应的下文对话问句。

其中,jaccard系数通过输入文本信息与待确认对话问句的词语特征,计算输入文本信息与待确认对话问句之间的相似度。具体地,服务端通过获取输入文本信息与m个待确认对话问句中词语的交集与并集的比值,得到m个相似度结果。接着,服务端对m个相似度结果进行排序,得到相似度排序结果,并根据排序第一的相似度排序结果,确定与输入文本信息对应的下文对话问句。

作为一示例,服务端通过获取输入文本信息与m个待确认对话问句中词语的交集与并集的比值,得到m个相似度结果,例如,获取输入文本信息“我喜欢吃汉堡包”与m个待确认对话问句中的其中一个待确认对话问句“你觉得哪家烧卖好吃?”词语的交集与并集比值,得到一个相似度结果,即输入文本信息与待确认对话问句的词语的交集与并集比值大小,该词语交集与并集比值比值越大,输入文本信息与待确认对话问句相似度越高。

本实施例中,服务端通过根据预设循环次数m,得到得到m个与输入文本信息匹配的待确认对话问句,根据输入文本信息,并通过jaccard系数,对m个待确认对话问句进行相似度计算,确定与输入文本信息对应的下文对话问句,能够提高生成提问句的准确率。

在一实施例中,如图6所示,在从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息之前,问句生成方法还包括:

s201:从原始数据库中获取所有待筛选对话数据。

其中,原始数据库由用户自定义创建的数据库,存储所有的待筛选对话数据。该待筛选对话数据指包括陈述句或提问句的对话数据。具体地,首先获取原始数据库的数据库地址。通过原始数据库的数据库地址找到原始数据库,进一步地,从原始数据库中获取所有待筛选对话数据。

s202:通过全文检索引擎,根据预设筛选方式对待筛选对话数据进行筛选,得到原始对话数据,并根据原始对话数据,创建对话数据库。

其中,全文检索引擎可以是lucene。预设筛选方式指筛选出待筛选对话数据中的下文对话为提问句的对话数据。原始对话数据指对话数据中下文对话为提问句的数据。对话数据库指存储的对话数据中下文对话为提问句的数据库。通过全文检索引擎指全文检索引擎,对获取的所有待筛选对话数据进行检索,并根据预设筛选方式将对话数据进行筛选。

本实施例中,服务端通过从原始数据库中获取所有待筛选对话数据,将对话数据的范围进一步缩小,提高生成提问句时的效率;通过全文检索引擎,根据预设筛选方式对待筛选对话数据进行筛选,得到原始对话数据,并根据原始对话数据,创建对话数据库,通过预先创建新的、下文对话为提问句的对话数据库的方式,使生成提问句时的效率更高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种问句生成装置,该问句生成装置与上述实施例中问句生成方法一一对应。如图7所示,该问句生成装置包括:信息输入模块10、信息匹配模块20、向量转换模块30、向量处理模块40。各功能模块详细说明如下:

信息输入模块10,用于获取输入文本信息;

信息匹配模块20,用于从对话数据库中对输入文本信息进行匹配,得到与输入文本信息匹配的上文对话信息、以及与上文对话信息对应的下文对话信息;

向量转换模块30,用于采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量;

向量处理模块40,用于通过双向编码器,对输入上文向量和下文对话向量进行处理,得到与输入文本信息对应的下文对话问句。

进一步地,信息匹配模块20包括:

相似度子模块21,用于通过全文检索引擎,计算输入文本信息与对话数据库中每一原始对话数据进行相似度计算,获取每一所述原始对话数据对应的相似度匹配值;

数据获取子模块22,用于从对话数据库中提取出n个相似度匹配值超过相似度阈值的原始对话数据,获取n个目标原始数据,其中,n为正整数;

信息确定子模块23,用于根据预设概率,从n个目标原始数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息。

进一步地,问句生成装置还包括:

长度识别子模块301,用于对输入上文信息和下文对话信息进行长度识别,得到对话长度结果,其中,对话长度结果为输入上文信息和下文对话信息的字节长度信息;

长度补齐子模块302,用于当对话长度结果小于预设对话长度时,则根据预设对话长度,对输入上文信息和下文对话信息的长度进行补齐;

长度截取子模块303,用于当对话长度结果大于预设对话长度时,则根据预设对话长度,按照预设截取规则对输入上文信息和下文对话信息的长度进行截取。

进一步地,问句生成装置还包括:

问句更新模块50,用于更新输入文本信息对应的下文对话问句的数量,判断下文对话问句的数量是否达到预设循环次数m,其中,m为正整数;

问句循环模块60,用于当下文对话问句的数量未达到预设循环次数m时,则返回执行从对话数据库中提取出n个相似度匹配值超过相似度阈值的原始对话数据,获取n个目标原始数据,其中,n为正整数;根据预设概率,从n个目标原始数据中确定与输入文本信息匹配的上文对话信息以及与上文对话信息对应的下文对话信息;采用输入文本信息将上文对话信息进行替换,得到输入上文信息,分别对输入上文信息和下文对话信息进行向量转换,得到输入上文向量和下文对话向量;通过双向编码器,对输入上文向量和下文对话向量进行处理,得到与输入文本信息对应的下文对话问句,直至得到m个与输入文本信息匹配的待确认对话问句;

问句计算模块70,用于根据输入文本信息,通过jaccard系数,对m个待确认对话问句进行相似度计算,更新与输入文本信息对应的下文对话问句。

进一步地,问句生成装置还包括:

数据筛选模块201,用于从原始数据库中获取所有待筛选对话数据;

数据库创建模块202,用于通过全文检索引擎,根据预设筛选方式对所述待筛选对话数据进行筛选,得到原始对话数据,并根据所述原始对话数据,创建对话数据库。

关于问句生成装置的具体限定可以参见上文中对于问句生成方法的限定,在此不再赘述。上述问句生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种问句生成方法。

在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中问句生成方法的步骤,例如步骤s10至步骤s40。或者,处理器执行计算机程序时实现上述实施例中问句生成装置的各模块/单元的功能,例如模块10至模块40的功能。为避免重复,此处不再赘述。

在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中问句生成方法,或者,该计算机程序被处理器执行时实现上述装置实施例中问句生成装置中各模块/单元的功能。为避免重复,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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