掌桥专利:专业的专利平台
掌桥专利
首页

问答方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 10:32:14


问答方法、装置、计算机设备和存储介质

技术领域

本申请涉及人工智能领域,特别是涉及一种问答方法、装置、计算机设备和存储介质。

背景技术

随着科学技术的发展,在很多情况下都需要进行答案搜索,例如智能客服机器人可以基于用户的问题进行答案搜索,以输出答案,用户也可以在搜索引擎上输入问题,搜索引擎根据问题进行搜索,展示搜索得到的答案。

传统技术中,在确定答案时,经常存在所得到的答案不准确的情况,导致答案准确度低。

发明内容

基于此,有必要针对上述技术问题,提供一种问答方法、装置、计算机设备和存储介质。

一种问答方法,所述方法包括:获取待回答的目标问句;将所述目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量;获取所述目标语义表征向量所对应的目标向量类别,所述目标向量类别对应有多个标准语义表征向量,所述标准语义表征向量是将标准问句输入所述问句识别模型中进行特征提取得到的;获取所述目标向量类别所对应的目标知识点,将所述目标知识点对应的标准答案作为所述目标问句所对应的答案,所述目标知识点对应的标准答案为所述标准问句所对应的答案。

在一些实施例中,所述目标向量类别是从候选向量类别集合中筛选得到的,所述方法还包括:获取标准问句集合;将所述标准问句集合中的各个标准问句输入到所述问句识别模型中进行特征提取,得到语义表征向量集合,所述语义表征向量集合包括各个所述标准问句对应的标准语义表征向量;对所述语义表征向量集合进行聚类,得到候选向量类别集合;建立所述候选向量类别集合中各个候选向量类别所对应的知识点,与所述候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于所述知识对应关系得到所述目标问句所对应的答案。

在一些实施例中,所述获取所述目标语义表征向量所对应的目标向量类别包括:获取各个所述候选向量类别所对应的类别表示向量,所述类别表示向量是基于所述候选向量类别所对应的标准语义表征向量得到的;获取所述目标语义表征向量与各个所述类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为所述目标语义表征向量所对应的目标向量类别。

在一些实施例中,所述问句识别模型的训练步骤包括:获取会话中的会话问句以及所述会话问句对应的多个答案语句;基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图;基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图;基于所述标准意图与所述预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

在一些实施例中,所述基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图包括:以答案语句为单位对所述答案语句集合中的各个答案语句进行分词处理,得到各个所述答案语句对应的分词集合,各个所述答案语句对应的分词集合组成答案分词集合;基于所述答案分词集合得到所述答案语句集合对应的标准意图。

在一些实施例中,所述基于所述答案分词集合得到所述答案语句集合对应的标准意图包括:基于意图识别模型对所述答案分词集合进行识别,得到所述答案语句集合所对应的标准意图,所述意图识别模型为非时间序列模型。

在一些实施例中,所述会话问句为多个,所述基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图包括:按照会话顺序对所述会话问句进行拼接,得到拼接问句;对所述拼接问句进行分词处理,按照分词在所述拼接问句的顺序对切分得到的分词进行排列,得到分词序列;利用基于时间序列的待训练问句识别模型对所述分词序列进行识别,得到所述会话问句所对应的预测意图。

在一些实施例中,问句识别模型的训练步骤包括:获取多轮会话中的多轮问句序列以及所述多轮会话中的多轮答案集合;基于所述多轮答案集合进行意图识别,得到所述多轮答案集合对应的多轮会话意图;基于所述多轮问句序列以及待训练的问句识别模型,得到所述多轮问句序列所对应的多轮预测意图;基于所述多轮会话意图与所述多轮预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

一种问答装置,所述装置包括:目标问句获取模块,用于获取待回答的目标问句;目标语义表征向量得到模块,用于将所述目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量;目标向量类别获取模块,用于获取所述目标语义表征向量所对应的目标向量类别,所述目标向量类别对应有多个标准语义表征向量,所述标准语义表征向量是将标准问句输入所述问句识别模型中进行特征提取得到的;答案得到模块,用于获取所述目标向量类别所对应的目标知识点,将所述目标知识点对应的标准答案作为所述目标问句所对应的答案,所述目标知识点对应的标准答案为所述标准问句所对应的答案。

在一些实施例中,所述目标向量类别是从候选向量类别集合中筛选得到的,所述装置还包括:标准问句集合获取模块,用于获取标准问句集合;语义表征向量集合得到模块,用于将所述标准问句集合中的各个标准问句输入到所述问句识别模型中进行特征提取,得到语义表征向量集合,所述语义表征向量集合包括各个所述标准问句对应的标准语义表征向量;聚类模块,用于对所述语义表征向量集合进行聚类,得到候选向量类别集合;对应关系确定模块,用于建立所述候选向量类别集合中各个候选向量类别所对应的知识点,与所述候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于所述知识对应关系得到所述目标问句所对应的答案。

在一些实施例中,所述目标向量类别获取模块用于:获取各个所述候选向量类别所对应的类别表示向量,所述类别表示向量是基于所述候选向量类别所对应的标准语义表征向量得到的;获取所述目标语义表征向量与各个所述类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为所述目标语义表征向量所对应的目标向量类别。

在一些实施例中,所述问句识别模型的训练模块用于:获取会话中的会话问句以及所述会话问句对应的多个答案语句;基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图;基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图;基于所述标准意图与所述预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

在一些实施例中,所述训练模块用于:以答案语句为单位对所述答案语句集合中的各个答案语句进行分词处理,得到各个所述答案语句对应的分词集合,各个所述答案语句对应的分词集合组成答案分词集合;基于所述答案分词集合得到所述答案语句集合对应的标准意图。

在一些实施例中,所述训练模块用于:基于意图识别模型对所述答案分词集合进行识别,得到所述答案语句集合所对应的标准意图,所述意图识别模型为非时间序列模型。

在一些实施例中,所述会话问句为多个,所述训练模块用于:按照会话顺序对所述会话问句进行拼接,得到拼接问句;对所述拼接问句进行分词处理,按照分词在所述拼接问句的顺序对切分得到的分词进行排列,得到分词序列;利用基于时间序列的待训练问句识别模型对所述分词序列进行识别,得到所述会话问句所对应的预测意图。

在一些实施例中,问句识别模型的训练模块用于:获取多轮会话中的多轮问句序列以及所述多轮会话中的多轮答案集合;基于所述多轮答案集合进行意图识别,得到所述多轮答案集合对应的多轮会话意图;基于所述多轮问句序列以及待训练的问句识别模型,得到所述多轮问句序列所对应的多轮预测意图;基于所述多轮会话意图与所述多轮预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待回答的目标问句;将所述目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量;获取所述目标语义表征向量所对应的目标向量类别,所述目标向量类别对应有多个标准语义表征向量,所述标准语义表征向量是将标准问句输入所述问句识别模型中进行特征提取得到的;获取所述目标向量类别所对应的目标知识点,将所述目标知识点对应的标准答案作为所述目标问句所对应的答案,所述目标知识点对应的标准答案为所述标准问句所对应的答案。

在一些实施例中,所述目标向量类别是从候选向量类别集合中筛选得到的,所述方法还包括:获取标准问句集合;将所述标准问句集合中的各个标准问句输入到所述问句识别模型中进行特征提取,得到语义表征向量集合,所述语义表征向量集合包括各个所述标准问句对应的标准语义表征向量;对所述语义表征向量集合进行聚类,得到候选向量类别集合;建立所述候选向量类别集合中各个候选向量类别所对应的知识点,与所述候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于所述知识对应关系得到所述目标问句所对应的答案。

在一些实施例中,所述获取所述目标语义表征向量所对应的目标向量类别包括:获取各个所述候选向量类别所对应的类别表示向量,所述类别表示向量是基于所述候选向量类别所对应的标准语义表征向量得到的;获取所述目标语义表征向量与各个所述类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为所述目标语义表征向量所对应的目标向量类别。

在一些实施例中,所述处理器执行所述计算机程序时实现训练模型的步骤:包括:获取会话中的会话问句以及所述会话问句对应的多个答案语句;基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图;基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图;基于所述标准意图与所述预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

在一些实施例中,所述基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图包括:以答案语句为单位对所述答案语句集合中的各个答案语句进行分词处理,得到各个所述答案语句对应的分词集合,各个所述答案语句对应的分词集合组成答案分词集合;基于所述答案分词集合得到所述答案语句集合对应的标准意图。

在一些实施例中,所述基于所述答案分词集合得到所述答案语句集合对应的标准意图包括:基于意图识别模型对所述答案分词集合进行识别,得到所述答案语句集合所对应的标准意图,所述意图识别模型为非时间序列模型。

在一些实施例中,所述会话问句为多个,所述基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图包括:按照会话顺序对所述会话问句进行拼接,得到拼接问句;对所述拼接问句进行分词处理,按照分词在所述拼接问句的顺序对切分得到的分词进行排列,得到分词序列;利用基于时间序列的待训练问句识别模型对所述分词序列进行识别,得到所述会话问句所对应的预测意图。

在一些实施例中,问句识别模型的训练步骤包括:获取多轮会话中的多轮问句序列以及所述多轮会话中的多轮答案集合;基于所述多轮答案集合进行意图识别,得到所述多轮答案集合对应的多轮会话意图;基于所述多轮问句序列以及待训练的问句识别模型,得到所述多轮问句序列所对应的多轮预测意图;基于所述多轮会话意图与所述多轮预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待回答的目标问句;将所述目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量;获取所述目标语义表征向量所对应的目标向量类别,所述目标向量类别对应有多个标准语义表征向量,所述标准语义表征向量是将标准问句输入所述问句识别模型中进行特征提取得到的;获取所述目标向量类别所对应的目标知识点,将所述目标知识点对应的标准答案作为所述目标问句所对应的答案,所述目标知识点对应的标准答案为所述标准问句所对应的答案。

在一些实施例中,所述目标向量类别是从候选向量类别集合中筛选得到的,所述方法还包括:获取标准问句集合;将所述标准问句集合中的各个标准问句输入到所述问句识别模型中进行特征提取,得到语义表征向量集合,所述语义表征向量集合包括各个所述标准问句对应的标准语义表征向量;对所述语义表征向量集合进行聚类,得到候选向量类别集合;建立所述候选向量类别集合中各个候选向量类别所对应的知识点,与所述候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于所述知识对应关系得到所述目标问句所对应的答案。

在一些实施例中,所述获取所述目标语义表征向量所对应的目标向量类别包括:获取各个所述候选向量类别所对应的类别表示向量,所述类别表示向量是基于所述候选向量类别所对应的标准语义表征向量得到的;获取所述目标语义表征向量与各个所述类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为所述目标语义表征向量所对应的目标向量类别。

在一些实施例中,所述处理器执行所述计算机程序时实现训练模型的步骤:包括:获取会话中的会话问句以及所述会话问句对应的多个答案语句;基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图;基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图;基于所述标准意图与所述预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

在一些实施例中,所述基于所述答案语句组成的答案语句集合进行意图识别,得到所述答案语句集合对应的标准意图包括:以答案语句为单位对所述答案语句集合中的各个答案语句进行分词处理,得到各个所述答案语句对应的分词集合,各个所述答案语句对应的分词集合组成答案分词集合;基于所述答案分词集合得到所述答案语句集合对应的标准意图。

在一些实施例中,所述基于所述答案分词集合得到所述答案语句集合对应的标准意图包括:基于意图识别模型对所述答案分词集合进行识别,得到所述答案语句集合所对应的标准意图,所述意图识别模型为非时间序列模型。

在一些实施例中,所述会话问句为多个,所述基于会话问句以及待训练的问句识别模型,得到所述会话问句所对应的预测意图包括:按照会话顺序对所述会话问句进行拼接,得到拼接问句;对所述拼接问句进行分词处理,按照分词在所述拼接问句的顺序对切分得到的分词进行排列,得到分词序列;利用基于时间序列的待训练问句识别模型对所述分词序列进行识别,得到所述会话问句所对应的预测意图。

在一些实施例中,问句识别模型的训练步骤包括:获取多轮会话中的多轮问句序列以及所述多轮会话中的多轮答案集合;基于所述多轮答案集合进行意图识别,得到所述多轮答案集合对应的多轮会话意图;基于所述多轮问句序列以及待训练的问句识别模型,得到所述多轮问句序列所对应的多轮预测意图;基于所述多轮会话意图与所述多轮预测意图的差异得到模型损失值,基于所述模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

上述问答方法、装置、计算机设备和存储介质,通过基于问句识别模型进行特征提取,得到表示问句的语义的目标语义表征向量,由于目标向量类别对应有多个标准语义表征向量,标准语义表征向量是将标准问句输入到问句识别模型中进行特征提取得到的,因此能够准确得到目标语义表征向量所对应的目标向量类别,该目标向量类别所对应的目标知识点的标准答案能够准确回答该目标问句,故提高了得到的答案的准确度。

附图说明

图1为一些实施例中问答方法的应用环境图;

图2为一些实施例中问答方法的流程示意图;

图3为一些实施例中问答方法的流程示意图;

图4为一些实施例中问句识别模型的训练步骤的流程示意图;

图5为一些实施例中基于会话问句以及待训练的问句识别模型,得到会话问句所对应的预测意图的流程示意图;

图6为一些实施例中问答装置的结构框图;

图7为一些实施例中问答装置的结构框图;

图8为一些实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的问答方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。当需要获取问题的答案时,可以通过终端102向服务器104发送获取目标问句的答案的请求,服务器可以基于该目标问句执行本申请实施例提供的方法,得到目标问句的答案,并返回至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其中,终端可以是用户的手机。本申请实施例提供的方法可以是由提供电话答复功能的应用程序执行的,该应用程序可以设置在服务器中。当然也可以是设置在终端中。

在一些实施例中,如图2所示,提供了一种问答方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤S202,获取待回答的目标问句。

其中,目标问句是文本形式的句子。如果用户提问是以语音形式输出的,则可以进行文本转换,将语音转换为文本形式的句子,作为目标问句。

具体地,服务器可以接收终端发送的待回答的目标问句。例如服务器可以接收搜索请求,搜索请求用于搜索问题的答案。搜索请求可以携带目标问句。

步骤S204,将目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量。

其中,问句识别模型是用于进行问句识别的模型,例如可以是LSTM(Long Short-Term Memory,长短期记忆网络)模型,问句识别模型可以包括输入层、隐层以及分类层。在模型训练时,可以基于有监督的训练方法进行训练。例如问句识别模式可以是意图识别模型,以训练语句的意图作为标签进行训练。隐层用于对语句进行语义编码,得到表示语句的语义的语义表征向量,该语义表征向量是综合一个语句的词语的词向量进行编码得到的。分类层可以基于语义表征向量进行分类,例如识别语句的意图。

具体地,在将目标语句输入到已训练的问句识别模型后,是利用输入层以及隐层对目标语句进行处理,并不经过分类层,即模型训练相比模型使用,多了一层分类层。

步骤S206,获取目标语义表征向量所对应的目标向量类别,目标向量类别对应有多个标准语义表征向量,标准语义表征向量是将标准问句输入到问句识别模型中进行特征提取得到的。

其中,标准语义表征向量是表达标准问句的语义的向量,标准问句是问答库中已经存在的问句,通过已训练的问句识别模型对问答库中的问句进行语义编码,可以得到标准语义表征向量。通过对所得到的标准语义表征向量进行聚类,可以得到多个候选向量类别,其中的目标向量类别为目标语义表征向量所对应的类别。聚类是指将集合分成由类似的对象组成的类的过程。聚类方法例如可以是K-means(K均值聚类算法)聚类或者谱聚类,K表示类别的数量,K可以根据需要确定。

具体地,得到目标语义表征向量之后,可以确定目标语义表征向量属于哪个类别,将该类别作为目标向量类别。

步骤S208,获取目标向量类别所对应的目标知识点,将目标知识点对应的标准答案作为目标问句所对应的答案,目标知识点对应的标准答案为标准问句所对应的答案。

具体地,知识点代表一种知识,一个向量类别对应一个知识点,例如知识点可以是新冠肺炎防护知识点。向量类别所对应的知识点是根据该类别的向量所对应的语句确定的,可以是人工设置也可以是自动设定。例如,当确定了50个目标向量之后,可以由人分析每个类别表示的知识点,并设置目标向量类别与知识点的对应关系。又例如,服务器可以对该向量类别所对应的语句进行关键词提取,基于提取得到的关键词集合以及知识点识别模型进行知识点识别,得到该类别对应的知识点。

知识点与标准答案的对应关系是预先设置的,例如可以是将该目标向量类别所对应的任一个问句的答案作为该知识点对应的答案。

具体地,服务器获取到目标向量类别之后,可以确定所对应的知识点,通过知识点与标准答案的对应关系确定对应的标准答案,将该标准答案作为标准问句所对应的答案。

举个例子,假设目标问句为“我要申请信用卡”,假设确定“我要申请信用卡”的语义表征向量为向量A,则可以计算向量A与表示向量类别的类别表示向量的相似度,将相似度最大的类别表示向量的类别作为向量A所对应的目标向量类别,假设为B,则可以确定B所对应的知识点,假设为“信用卡申请”,则可以获取信用卡申请所对应的标准答案,例如为“您要申请什么样的信用卡”。

上述问答方法中,通过基于问句识别模型进行特征提取,得到表示问句的语义的目标语义表征向量,由于目标向量类别对应有多个标准语义表征向量,标准语义表征向量是将标准问句输入到问句识别模型中进行特征提取得到的,因此能够准确得到目标语义表征向量所对应的目标向量类别,该目标向量类别所对应的目标知识点的标准答案能够准确回答该目标问句,故提高了得到的答案的准确度。

在一些实施例中,目标向量类别是从候选向量类别集合中筛选得到的,如图3所示,方法还包括:

步骤S302,获取标准问句集合。

其中,标准问句可以是会话日志中的问句。例如,服务器中存储了用户与人工客服的对话数据,则可以将用户的问题作为标准的问句。标准问句集合中包括了多个标准问句。

具体地,可以获取会话日志中咨询人工客服的用户的问题,作为标准问句,从而形成标准问句集合。

在一些实施例中,当会话日志中的问句数量比较大时,则可以对会话日志的文件进行筛选。例如可以获取一个会话中,用户对人工客服的评分,选取评分高于预设分数的会话中的问句作为标准问句。也可以是获取用户对人工客服的答案的评分,将评分高于预设分数的答案所对应的问句作为标准问句。

步骤S304,将标准问句集合中的各个标准问句输入到问句识别模型中进行特征提取,得到语义表征向量集合,语义表征向量集合包括各个标准问句对应的标准语义表征向量。

具体地,标准语义表示向量是表示标准问句的语义的向量。可以将标准问句输入到已训练的问句识别模型中,问句识别模型中的隐层可以基于标准问句中各个分词的词向量进行特征提取,特征提取后直接输出提取得到的特征向量,作为标准语义表征向量。举个例子,假设标准问句有1000个,则分别输入到问句识别模型中进行特征提取,得到1000个标准语义表征向量。

步骤S306,对语义表征向量集合进行聚类,得到候选向量类别集合。

其中,聚类可以是采用K-mean聚类方法。候选向量类别集合中包括K个候选向量类别,K表示多个,多个是指至少两个,例如大于3。

具体地,得到语义表征向量集合后,可以基于聚类方法对语义表征向量集合中的向量进行聚类,将语义表征向量集合分为多个类别,每个类别为候选向量类别。

步骤S308,建立候选向量类别集合中各个候选向量类别所对应的知识点,与候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于知识对应关系得到目标问句所对应的答案。

其中,知识对应关系是知识点与标准答案的对应关系。例如假设知识点为“购买防疫口罩”,则对应的标准答案为“对于新型冠肺炎,只有一次性医用外科口罩以及N95口罩才是有效的,纸口罩、活性炭口罩、棉布口罩等都无法起到阻隔病毒的作用。”。则如果接收到目标问句,为“防疫口罩怎么买呀”,确定其对应的知识点为“购买防疫口罩”,则服务器可以输出“购买防疫口罩”的标准答案。

本申请实施例中,通过已训练的问句识别模型对标准问句进行识别,并进行分类,然后建立向量类别的知识点与答案的对应关系,因此能够对会话日志中的会话问句进行整理,充分利用了已经产生的人与人之间的会话数据,从而使得自动回复的答案是基于人工客服面对真实的用户的回复学习得到的,提高了得到字段回复的答案的便捷度以及准确度。

在一些实施例中,获取目标语义表征向量所对应的目标向量类别包括:获取各个候选向量类别所对应的类别表示向量,类别表示向量是基于候选向量类别所对应的标准语义表征向量得到的;获取目标语义表征向量与各个类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为目标语义表征向量所对应的目标向量类别。

其中,类别表示向量是表示一个类别的向量,可以是从该向量类别所对应的标准语义表征向量中选取任意一个作为向量类别的类别表示向量,也可以计算该向量类别所对应的标准语义表征向量之间的向量距离,然后统计每一个标准语义表征向量与同一个向量类别中的向量的向量距离之和,选取向量距离之和最小的向量作为类别表示向量。举个例子,假设一个向量类别中有三个标准语义表征向量:向量1、向量2以及向量3。向量1与向量2的距离为0.5,向量2与向量3的距离为0.6,向量3与向量1的距离为0.4,则向量1对应的距离之和为0.5+0.4=0.9,则向量2对应的距离之和为0.5+0.6=1.1,向量3对应的距离之和为0.6+0.4=1.0,距离之和最小的为向量1,故可以将向量1为该向量类别所对应的类别表示向量,从而可以使得该类别表示向量能够更准确的表示该类别。

向量相似度表示向量相似的程度,相似度越大,表示越相似,向量相似度可以利用余弦相似度算法计算得到。相似度可以是小于等于1的数值。

具体地,服务器可以获取每一个候选向量类别所对应的类别表示向量,然后计算该目标语义表征向量与每一个类别表示向量的向量相似度,从中选取相似度最大的类别表示向量,获取该相似度最大的类别表示向量所对应的向量类别,作为目标向量类别。举个实际的例子,假设有3个向量类别,有3个类别表示向量,为A、B以及C,计算得到目标语义表征向量与A的向量相似度为0.1,与B的向量相似度为0.2,与C的向量相似度为0.95,则可以获取C向量所表示的类别,作为目标向量类别。

在一些实施例中,当应用于基于人工智能的智能答复场景时,如果目标语义表征向量与各个类别表示向量的向量相似度均小于预设的相似度阈值,相似度阈值例如为0.5,则可以确定该目标问句不属于任何已有的知识点,此时可以自动触发向人工客服对应的终端发送目标问句的步骤,接收人工客服对应的终端发送的答案并转发至发送目标问句的终端。从而使得可以对未学习过的知识点进行人工答复。服务器还可以将该目标问句的语义表征向量作为新的向量类别所对应的向量。当后续接收到新的问句时,如果该新的问句与目标问句的向量相似度高于与预设的相似度阈值,则获取目标问句对应的人工回复的答案,从而实现知识点的更新。

在一些实施例中,如图4所示,问句识别模型的训练步骤包括:

步骤S402,获取会话中的会话问句以及会话问句对应的多个答案语句。

具体地,会话可以是多轮会话,多轮是指出现多次提问以及多次回答的会话。服务器可以获取人工客服与用户的会话日志中的多轮会话。在获取会话的会话语句时,可以是分别获取每一轮会话的会话问句,以及该轮会话问句对应的多个答案语句。例如,假设一个会话为“U:我要办卡,办信用卡,可以分期的。A:卡是白金还是黑金,卡的类型是什么呀?U:白金信用卡是指什么”,其中U表示用户,A表示人工客服,则“U:我要办卡,办信用卡,可以分期的。A:白金还是黑金,卡的类型是白金还是黑金?”为一轮会话。一个问句对应多个答案语句,例如“卡是白金还是黑金”为一个答案语句,“卡的类型是什么呀”为另一个答案语句。

步骤S404,基于答案语句组成的答案语句集合进行意图识别,得到答案语句集合对应的标准意图。

具体地,在意图识别时,是基于答案语句集合进行意图识别的,从而可以使得意图识别更加准确。服务器可以将答案语句作为一个整体的答案进行识别,将所识别得到的意图作为标准意图。

在一些实施例中,服务器可以是基于已训练的其他意图识别模型对答案语句集合进行意图识别,也可以是对答案语句集合进行分词,得到分词集合,基于分词集合中各个分词出现的频率选取出现最高的实体词所对应的意图作为标准意图。其中,分词是对文本进行词语切分得到的词。

在一些实施例中,基于答案语句组成的答案语句集合进行意图识别,得到答案语句集合对应的标准意图包括:以答案语句为单位对答案语句集合中的各个答案语句进行分词处理,得到各个答案语句对应的分词集合,各个答案语句对应的分词集合组成答案分词集合;基于答案分词集合得到答案语句集合对应的标准意图。

具体地,在分词时,分别对每个答案语句进行分词处理,而不是拼接在一起进行分词,即以答案语句为单位进行分词处理。得到答案分词集合后,可以基于各个分词集合确定标准意图,例如可以基于词频-逆文档频率得到关键词,基于预设的关键词与意图的对应关系得到标准意图。也可以是将答案分词集合的各个答案分词输入到意图识别模型中进行识别,得到答案语句集合所对应的标准意图,意图识别模型为非时间序列模型,即在识别时,不考虑词语在句子的顺序的模型,例如可以是词袋模型(BOW,bag ofwords)。通过基于非时间序列模型,可以在忽略词语的顺序的情况下,基于句子中的词语的意思确定答案所对应的意图。

步骤S406,基于会话问句以及待训练的问句识别模型,得到会话问句所对应的预测意图。

具体地,可以将会话问句输入到带训练的问句识别模型中,问句识别模型输出预测的该会话问句的意图。

步骤S408,基于标准意图与预测意图的差异得到模型损失值,基于模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

具体地,标准意图为模型训练时训练样本的标签(label)。模型损失值是基于标准意图以及预测意图的差异得到的,例如可以是采用交叉熵算法计算得到,其中模型损失值与差异成正相关关系,即差异越大,损失值越大。在得到损失值之后,可以采用梯度下降方法,朝着使损失值变小的方向调整模型参数,直至模型收敛,模型收敛可以是模型损失值小于预设阈值或者训练次数达到预设次数的至少一个。

本申请实施例中,通过会话中的问句作为进行模型训练的句子,基于问句的答案得到的意图作为模型训练的标签进行训练,能够得到准确识别问句的模型。通过训练好的模型可以对会话日志记录进行整理,得到整理后的问答知识库。

在一些实施例中,一轮会话的会话问句为多个,如图5所示,基于会话问句以及待训练的问句识别模型,得到会话问句所对应的预测意图包括:

步骤S502,按照会话顺序对会话问句进行拼接,得到拼接问句。

具体地,得到会话问句为多个,可以按照会话的时间顺序将会话问句拼接在一起,得到拼接问句。

步骤S504,对拼接问句进行分词处理,按照分词在拼接问句的顺序对切分得到的分词进行排列,得到分词序列。

具体地,分词可以是基于词典的方法进行的。得到分词之后,按照分词在拼接问句的顺序对切分得到的分词依次进行排列,得到分词序列,例如“ABCDEFG”进行分词后,得到的分词序列可以为“AB、C、DE、F、G”。

步骤S506,利用基于时间序列的问句识别模型对分词序列进行识别,得到会话问句所对应的预测意图。

具体地,基于时间序列的模型是指在识别时考虑词语在文本中的顺序的模型,例如可以是LSTM模型,通过基于时间序列的模型进行意图识别,能够考虑上下文语义得到准确的意图。

在一些实施例中,问句识别模型的训练步骤包括:获取多轮会话中的多轮问句序列以及多轮会话中的多轮答案集合;基于多轮答案集合进行意图识别,得到多轮答案集合对应的多轮会话意图;基于多轮问句序列以及待训练的问句识别模型,得到多轮问句序列所对应的多轮预测意图;基于多轮预测意图与多轮会话意图的差异得到模型损失值,基于模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

可以将多轮对话中每轮的会话问句进行拼接,得到多轮问句序列,作为一个整体的问句,例如将“我要办卡,办信用卡,可以分期的”与“白金信用卡是指什么”拼接在一起。也可以将多轮对话中每轮的答案语句进行拼接,得到多轮答案集合,作为一个整体答案。基于整体的答案确定对应的意图,作为多轮会话意图,通过将多轮对话简化为单轮对话,使得能够综合整个会话的答案确定整个会话的标准意图即多轮会话意图,以及综合整个会话的问句确定整个会话的预测意图,即多轮预测意图。其中,多轮对话中的问句可以整合成一个问句序列,带有词语顺序,从而在识别问句时,是综合考虑问句的顺序的,即问句识别模型是基于时间序列的模型。对应的多个答案整合成一个答案集合,不带有词语的顺序,从而在确定多轮会话意图时,不考虑词语的顺序,即识别答案集合的意图的模型为非时间序列模型。从而可以批量的处理问句和答案,得到知识点,提高了效率。例如,多轮会话中,有两轮,第一轮的问句Q1对应的答案为A1(Q1##A1),第二轮的问句Q2对应的答案为A2(Q2##A2),则可以转换成Q##A,其中Q=Q1Q2,A=A1A2,相当于使得问题是唯一的,但答案的排列不一定唯一,即认定Q中各个问题是有序的,A中各个答案是无序的。

多轮会话意图为模型训练时训练样本的标签(label)。模型损失值是基于多轮会话意图以及多轮预测意图的差异得到的,例如可以是采用交叉熵算法计算得到,其中模型损失值与差异成正相关关系,即差异越大,损失值越大。在得到损失值之后,可以采用梯度下降方法,朝着使损失值变小的方向调整模型参数,直至模型收敛,模型收敛可以是模型损失值小于预设阈值或者训练次数达到预设次数的至少一个。

应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一些实施例中,如图6所示,提供了一种问答装置,包括:

目标问句获取模块602,用于获取待回答的目标问句;

目标语义表征向量得到模块604,用于将目标语句输入到问句识别模型中进行特征提取,得到目标语义表征向量;

目标向量类别获取模块606,用于获取目标语义表征向量所对应的目标向量类别,目标向量类别对应有多个标准语义表征向量,标准语义表征向量是将标准问句输入问句识别模型中进行特征提取得到的;

答案得到模块608,用于获取目标向量类别所对应的目标知识点,将目标知识点对应的标准答案作为目标问句所对应的答案,目标知识点对应的标准答案为标准问句所对应的答案。

在一些实施例中,如图7所示,目标向量类别是从候选向量类别集合中筛选得到的,装置还包括:

标准问句集合获取模块702,用于获取标准问句集合;

语义表征向量集合得到模块704,用于将标准问句集合中的各个标准问句输入到问句识别模型中进行特征提取,得到语义表征向量集合,语义表征向量集合包括各个标准问句对应的标准语义表征向量;

聚类模块706,用于对语义表征向量集合进行聚类,得到候选向量类别集合;

对应关系确定模块708,用于建立候选向量类别集合中各个候选向量类别所对应的知识点,与候选向量类别所对应的标准问句的标准答案的知识对应关系,以基于知识对应关系得到目标问句所对应的答案。

在一些实施例中,目标向量类别获取模块用于:获取各个候选向量类别所对应的类别表示向量,类别表示向量是基于候选向量类别所对应的标准语义表征向量得到的;获取目标语义表征向量与各个类别表示向量的向量相似度;将向量相似度最大的类别表示向量所对应的候选向量类别,作为目标语义表征向量所对应的目标向量类别。

在一些实施例中,问句识别模型的训练模块用于:获取会话中的会话问句以及会话问句对应的多个答案语句;基于答案语句组成的答案语句集合进行意图识别,得到答案语句集合对应的标准意图;基于会话问句以及待训练的问句识别模型,得到会话问句所对应的预测意图;基于标准意图与预测意图的差异得到模型损失值,基于模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

在一些实施例中,训练模块用于:以答案语句为单位对答案语句集合中的各个答案语句进行分词处理,得到各个答案语句对应的分词集合,各个答案语句对应的分词集合组成答案分词集合;基于答案分词集合得到答案语句集合对应的标准意图。

在一些实施例中,训练模块用于:基于意图识别模型对答案分词集合进行识别,得到答案语句集合所对应的标准意图,意图识别模型为非时间序列模型。

在一些实施例中,会话问句为多个,训练模块用于:按照会话顺序对会话问句进行拼接,得到拼接问句;对拼接问句进行分词处理,按照分词在拼接问句的顺序对切分得到的分词进行排列,得到分词序列;利用基于时间序列的待训练问句识别模型对分词序列进行识别,得到会话问句所对应的预测意图。

在一些实施例中,问句识别模型的训练模块用于:获取多轮会话中的多轮问句序列以及多轮会话中的多轮答案集合;基于多轮答案集合进行意图识别,得到多轮答案集合对应的多轮会话意图;基于多轮问句序列以及待训练的问句识别模型,得到多轮问句序列所对应的多轮预测意图;基于多轮预测意图与多轮会话意图的差异得到模型损失值,基于模型损失值调整待训练的问句识别模型的模型参数,得到已训练的问句识别模型。

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

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

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述问答方法的步骤。

在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述问答方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 问答系统的问答匹配方法、装置、计算机设备及存储介质
  • 问答交互方法和装置、计算机设备及计算机可读存储介质
技术分类

06120112587272