CN110457459A - 基于人工智能的对话生成方法、装置、设备及存储介质 - Google Patents

基于人工智能的对话生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110457459A
CN110457459A CN201910759962.8A CN201910759962A CN110457459A CN 110457459 A CN110457459 A CN 110457459A CN 201910759962 A CN201910759962 A CN 201910759962A CN 110457459 A CN110457459 A CN 110457459A
Authority
CN
China
Prior art keywords
vector
replied
candidate
word
reply
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910759962.8A
Other languages
English (en)
Other versions
CN110457459B (zh
Inventor
张世西
贾志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shenzhen Robotics Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudminds Shenzhen Robotics Systems Co Ltd filed Critical Cloudminds Shenzhen Robotics Systems Co Ltd
Priority to CN201910759962.8A priority Critical patent/CN110457459B/zh
Publication of CN110457459A publication Critical patent/CN110457459A/zh
Application granted granted Critical
Publication of CN110457459B publication Critical patent/CN110457459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施方式涉及智能机器人领域,公开了一种基于人工智能的对话生成方法、装置、网络设备及存储介质,该基于人工智能的对话生成方法包括:获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数;获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,利用生成式模型依据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复;根据预测回复获取回复语句。本发明实施方式提供的基于人工智能的对话生成方法、装置、网络设备及存储介质,可以提高聊天机器人的输出精度。

Description

基于人工智能的对话生成方法、装置、设备及存储介质
技术领域
本发明涉及智能机器人领域,特别涉及一种基于人工智能的对话生成方法、装置、设备及存储介质。
背景技术
聊天机器人,也称为对话***。目前,聊天机器人目前主要有两种实现方式:一种是检索式,另一种为生成式。检索式聊天机器人指的是通过检索与匹配的方式,从已有的大量候选答案中找出最合适的答案作为输出给用户的响应;生成式聊天机器人则是通过大量对话数据来训练模型,使用时通过结合对话历史和用户输入,逐字或逐词地生成响应的句子。
然而,检索式聊天机器人返回的响应往往会比较单一,无法输出答案库之外的答案,也难以结合上下文信息。生成式聊天机器人则产生的响应难以控制,也更容易出现语法错误,甚至出现一些不合适的表达。
综上所述,目前聊天机器的两种实现方式的输出都不够理想,精度较低。
发明内容
本发明实施方式的目的在于提供一种基于人工智能的对话生成方法、装置、设备及存储介质,使得聊天机器人的输出精度提高。
为解决上述技术问题,本发明的实施方式提供了一种基于人工智能的对话生成方法,包含以下步骤:获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数;获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,利用生成式模型依据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复;根据预测回复获取回复语句。
本发明的实施方式还提供了一种基于人工智能的对话生成装置,包含:候选回复检索模块,用于获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数;预测回复获取模块,用于获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,其中,生成式模型根据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复;回复语句获取模块,用于根据预测回复获取回复语句。
本发明的实施方式还提供了一种网络设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的基于人工智能的对话生成方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的基于人工智能的对话生成方法。
本发明实施方式相对于现有技术而言,通过将待回复语句输入检索式模型,可以根据检索式模型得到K个候选回复;将待回复语句和K个候选回复输入生成式模型,可以使待回复语句和检索得到的K个候选回复的信息都可以被生成式模型利用,从而使生成式模型的输出更加规范;进一步地,生成式模型在筛选预测词时结合词典中各词的逆文档频率,可以降低高频词作为回复的概率,减少万能答案的产生,从而使聊天机器人的输出精度提高。
另外,在将待回复语句和K个候选回复输入生成式模型之后,还包括:对待回复语句和K个候选回复进行编码,得到待回复向量和K个候选回复向量。根据待回复向量和K个候选回复向量获取上下文向量;根据上下文向量和逆文档频率计算词典中每一词的综合得分,并获取综合得分最高的词作为预测词;获取根据预测词组成的预测回复。通过对待回复语句和K个候选回复进行编码成向量,根据编码后结果获取上下文向量,将上下文向量作为生成式模型的解码器的输入,可以优化解码器的输入,使生成型模型充分学习检索式模型检索的候选回复的信息,及待回复语句和K个候选回复的表达方式,从而使生成式模型的输出更加规范,精度更高。
另外,对待回复语句和K个候选回复进行编码,包括:采用同一编码器对待回复语句和K个候选回复进行编码。通过将待回复语句和K个候选回复输入同一个生成式模型的编码器,可以使编码器充分学习待回复语句和K个候选回复的表达方式,从而优化生成式模型输出的精度,使编码器模型的模型泛化能力更强。
另外,根据待回复向量和K个候选回复向量获取上下文向量,包括:将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量。通过将待回复向量和K个候选回复向量映射至不同向量空间,可以使生成式模型区分待回复语句和K个候选回复所传达的信息;根据拼接的结果得到上下文向量,使生成式模型利用上下文向量的信息及表达方式生成对话的回复语句,提高生成式模型的输出精度。
另外,生成式模型包括第一参数矩阵和第二参数矩阵;将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量,包括:将待回复向量与第一参数矩阵相乘,得到变换后的待回复向量;将K个候选回复向量与第二参数矩阵相乘,得到变换后K个候选回复向量;将变换后的待回复向量与变换后的K个候选回复拼接,得到上下文向量。通过将待回复向量和K个候选回复向量分别与第一参数矩阵和第二参数矩阵相乘,可以降低K个候选回复中无意义答案的权重,提高待回复语句和K个候选回复中有意义答案的权重,优化生成式模型中解码器的输入,从而优化生成式模型的输出。
另外,根据上下文向量和逆文档频率计算词典中每一词的综合得分,包括:根据以下第一计算公式计算每一词的综合得分:
P(yt|yt-1,q,r)=α*softmax_score(w)+β*idf(w);
其中,P(yt|yt-1,q,r)为每一词的综合得分,yt是t时刻的预测词,q为待回复语句,r为候选回复,α和β为预设生成式模型的参数,idf(w)为每一词的逆文档频率,softmax_score(w)为每一词的归一化指数函数值,用以下第二计算公式计算:
其中,为t时刻生成式模型的隐藏层的输出,Cinput为上下文向量。
另外,根据预测回复获取回复语句,包括:将预测回复和K个候选回复输入预设分类模型中,获取预设分类模型输出的结果作为回复语句。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式中基于人工智能的对话生成方法的流程示意图;
图2是本发明第一实施方式中基于人工智能的对话生成方法的另一流程示意图;
图3是本发明第一实施方式中基于人工智能的对话生成方法的具体原理示例图;
图4是本发明第二实施方式中基于人工智能的对话生成装置的模块结构图;
图5是本发明第三实施方式中网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种基于人工智能的对话生成方法。通过获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数;获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,利用生成式模型依据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复;根据预测回复获取回复语句。由于检索式模型得到的候选回复被输入至生成式模型,因此通过检索得到的候选回复的信息可以被生成式模型利用,实现了检索式模型与生成式模型的结合,优化了生成式模型的输出;并且,由于生成式模型是根据词的逆文档频率筛选预测词,可以降低高频词作为回复的概率,因此可以减少万能答案的产生,从而提高了聊天机器人的输出精度。
应当说明的是,本实施方式具体的执行主体可以为服务端,也可以为具体产品中的芯片,例如是聊天机器人中的芯片。以下以服务端为例进行说明。
本实施方式提供的基于人工智能的对话生成方法的流程示意图如图1所示,具体包括以下步骤:
S101:获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数。
S102:获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,其中,生成式模型根据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复。
S103:根据预测回复获取回复语句。
其中,预设的对话语料库可以预先存储于数据库中,可由多个对话或者问答组构成。检索式模型可通过提取问题与回复的特征,在得到这些特征后通过机器学习算法进行训练后得到。生成式模型可通过预设的对话语料库的对话或者问答组对神经网络模型进行训练后得到。本实施方式中,对检索式模型用到的机器学习算法及生成式模型用到的训练神经网络模型均不做具体限制。
其中,待回复语句是指与生成的回复相对应的语句,可以包括问句和非问句,即待回复语句不一定为问句的形式,可以为任意一个语句。可选地,待回复语句可以由用户在客户端输入,再由客户端发送至服务端,服务端即可获取到待回复语句。待回复语句的形式可以为文本形式或语音形式,可选地,当待回复语句为语音形式时,客户端或服务端将语音转化为文本,以便输入检索式模式以及后面的计算。候选回复是指检索式筛选出回应待回复语句的回复语句,数量为K个,K为正整数,K的个数可以根据实际情况进行设置,这里不做具体限制。预测回复是指生成式模型生成的预测词组成的回复语句,可以理解,预测回复为一个。
其中,词典可以由预设的对话语料库生成,即词典可以由预设的对话语料库中所有包括的不重复的词组成。逆文档频率(inverse document frequency,简称IDF)又称反文档频率,是文档频率的倒数。其一般的计算公式为:
在本实施方式中,由于预设的对话语料库均为句子,因此,本实施方式中词典中各词的逆文档频率的计算公式为:
可以理解的是,生成式模型中的神经网络模型一般是通过计算词的归一化指数函数值(softmax值)来筛选出预测词的,即将softmax值最大的词作为预测词。在本实施方式中,可选地,可以分别赋予softmax值和词的IDF值不同的权重系数后进行计算,将计算结果最大的值对应的词作为预测词。由于在生成式模型结合各词的逆文档频率筛选出预测词,因此可以降低高频词作为回复的概率,从而减少像“我不知道”、“哈哈”等这些万能答案的产生,从而使聊天机器人输出的回复语句更加合理。
具体地,服务端将待回复语句输入训练好的检索式模型中,检索式模型从预设的对话语料库中筛选出回应待回复语句的K个候选回复;服务端获取检索式模型输出的K个候选回复,将K个候选回复与待回复语句输入训练好的生成式模型中,利用生成式模型依据待回复语句、K个候选回复及词典中各词的逆文档频率逐个筛选出预测词,再将这些预测词组成预测回复。可以理解,由于待回复语句及检索式模型检索出来的K个候选回复的信息均可被生成式模型利用,从而提高生成式模型输出的预测回复的规范性。可选地,可以将待回复语句和K个候选回复组成一个矩阵作为生成式模型中神经网络模型的输入。可选地,生成式模型可包括编码器(encoder model)和解码器(decoder model),先通过编码器将待回复语句和K个候选回复编码为向量形式,再组成矩阵输入至解码器中。在生成式模型生成预测回复后,服务端获取生成式模型输出的预测回复,再根据预测回复获取回复语句。可选地,服务端获取预测回复作为回复语句,输出到客户端。可选地,可以将回复语句从文本转化为语音,再以语音的形式将回复语句输出至客户端。
与现有技术相比,本实施方式通过将获取的待回复语句输入检索式模型,可以根据检索式模型得到K个候选回复;将待回复语句和K个候选回复输入生成式模型,可以使待回复语句和检索得到的K个候选回复的信息都可以被生成式模型利用,从而使生成式模型的输出更加规范;进一步地,生成式模型在筛选预测词时结合词典中各词的逆文档频率,可以降低高频词作为回复的概率,减少万能答案的产生,从而使聊天机器人的输出精度提高。
在一个具体的例子中,如图2所示,其为本实施方式提供的基于人工智能的对话生成方法的另一流程示意图,具体包括以下步骤:
S101:获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数。
S1021:获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型。
S1022:对待回复语句和K个候选回复进行编码,得到待回复向量和K个候选回复向量。
S1023:根据待回复向量和K个候选回复向量获取上下文向量。
S1024:根据上下文向量和逆文档频率计算词典中每一词的综合得分,并获取综合得分最高的词作为预测词。
S1025:获取根据预测词组成的预测回复。
S103:根据预测回复获取回复语句。
其中,S101、S103和S1021与上述相同,这里不再赘述。
在S1022中,可选地,生成式模型包括编码器,服务端通过编码器对待回复语句和K个候选回复进行编码,将待回复语句编码后得到待回复向量,将K个候选回复编码后得到K个候选回复向量。其中,编码器的模型可以采用LSTM、GRU或Transformer等模型,这里不做具体限制。
可以理解的是,生成式模型可以通过不同的编码器对待回复语句和K个候选回复进行编码。可选地,对待回复语句和K个候选回复进行编码是指使用同一个编码器对待回复语句和K个候选回复进行编码。
通过将待回复语句和K个候选回复输入同一个生成式模型的编码器,可以使编码器充分学习待回复语句和K个候选回复的表达方式,从而优化生成式模型输出的精度。可以理解,编码器在训练时可采用同样的方式进行训练。在编码器使用的过程中,随着使用次数的增多,编码器中的模型也在不断学习,可以使编码器模型的模型泛化能力更强。
在S1023中,根据待回复向量和K个候选回复向量获取上下文向量,具体可以是:将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量。
具体地,将待回复向量和K个候选回复向量映射至不同的向量空间,可以将待回复向量和K个候选回复分别乘以不同的参数矩阵来实现。可选地,将映射至不同的向量空间后的待回复向量和K个候选回复拼接,可以是将映射后的待回复向量分别与每一个映射后的候选回复拼接,再根据K个拼接的结果形成一个矩阵,以该矩阵作为上下文向量;也可以是将映射后的待回复向量直接与K个映射后的候选回复拼接形成一个向量,以该向量作为上下文向量。
通过将待回复向量和K个候选回复向量映射至不同向量空间,可以使生成式模型区分待回复语句和K个候选回复所传达的信息;根据拼接的结果得到上下文向量,使生成式模型利用上下文向量的信息及表达方式生成对话回复,提高生成式模型的输出精度。
可选地,生成式模型包括第一参数矩阵和第二参数矩阵。其中,第一参数矩阵和第二参数矩阵可通过预设的对话语料库中已有的问答组进行训练后得到。将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量,具体可以为:将待回复向量与第一参数矩阵相乘,得到变换后的待回复向量;将K个候选回复向量与第二参数矩阵相乘,得到变换后的K个候选回复向量;再将变换后的待回复向量与变换后的K个候选回复拼接,得到上下文向量。
其中,将变换后的待回复向量与变换后的K个候选回复拼接,是指将变换后的待回复向量与每一变换后的K个候选回复拼接后,根据K个拼接结果形成矩阵,以该矩阵作为上下文向量。可选地,生成式模型还包括解码器,上下文向量输入至解码器中,解码器根据上下文向量和采用的神经网络模型得到生成式模型的输出。其中解码器可以是LSTM、GRU、Transformer等模型。
通过将待回复向量和K个候选回复向量分别与第一参数矩阵和第二参数矩阵相乘,可以降低K个候选回复中无意义答案的权重,提高待回复语句和K个候选回复中有意义答案的权重,优化生成式模型中解码器的输入,从而优化生成式模型的输出。
在S1024中,服务端根据上下文向量计算softmax值,分别赋予上下文向量对应的softmax值和词典中每一词的逆文档频率不同的权重系数;再将该softmax值和逆文档频率分别乘以各自的权重系数,得到每一词的综合得分;选取综合得分最高的词作为预测词。
可选地,可以用以下第一计算公式计算每一词的综合得分:
P(yt|yt-1,q,r)=α*softmax_score(w)+β*idf(w);
其中,P(ytYyt-1,q,r)为每一词的综合得分,yt是t时刻的预测词,q为待回复语句,r为候选回复,α和β为预设生成式模型的参数,即上述的权重系数,idf(w)为每一词的逆文档频率,softmax_score(w)为每一词的归一化指数函数值,用以下第二计算公式计算:
其中,为t时刻生成式模型的隐藏层的输出,Cinput为上下文向量。
可以理解,生成式模型是逐词生成的,服务端根据所有预测词可以得到预测回复,再根据预测回复获得回复语句。可选地,服务端可将预测回复作为回复语句。
通过对待回复语句和K个候选回复进行编码成向量,根据编码后结果获取上下文向量,将上下文向量作为生成式模型的解码器的输入,可以优化解码器的输入,使生成型模型充分学习检索式模型检索的候选回复的信息,及待回复语句和K个候选回复的表达方式,从而使生成式模型的输出更加规范,精度更高。
在一个具体的例子中,在S103中,根据预测回复获取对话语句可以包括:将预测回复和K个候选回复输入预设分类模型中,获取预设分类模型输出的结果作为回复语句。
其中,预设分类模型可以为决策树、支持向量机或随机森林等算法模型。优选地,预设分类模型为xgboost模型。
具体地,服务端将生成式模型得到的预测回复和K个候选回复组成一个更大的候选答案集,将这些答案输入至预设分类模型中,将预设分类模型得到的结果作为最终结果,即回复语句。
通过预设分类模型将预测回复和K个候选回复作进一步筛选,可以使回复语句的精度更高,提高了聊天机器人的输出精度。
请参考图3,其为本实施方式提供的基于人工智能的对话生成方法的具体原理示例图。图中,Retrieval model为检索式模型,Encoder model为生成式模型中编码器模型,Decoder model为生成式模型中的解码器模型,Word idf是指词的逆文档频率。下面以一具体的例子进行说明:
采用问题向量余弦值作为检索式模型,双向GRU作为生成模型编码器和解码器的模型来作为示例进行说明,具体流程如下:
(1)将用户输入的待回复语句记为q,编码为向量将预设的对话语料中的所有问答对中的问题记为Qi(i=1,2,…,n),n表示问答对的数目,编码为向量如下:
这里的sentence_encoding模型可以采用词向量加和模型,即:
其中,s表示需要编码为向量的句子,如(1)中的待回复语句和所有问题,w表示s中的单词,word_embedding可以采用word2vec等预训练模型。
(2)分别求的余弦值,选择值最大的前K个问题对应的答案作为候选回复,记为{r1,r2,…,rk};
(3)统计预设的对话语料库中的词语生成词典,并统计词典中每个词的idf值;
(4)将q和{r1,r2,…,rk}分别送入同一个双向GRU模型,得到对应的句子向量hq
其中,表示前向GRU模型对q的编码结果,表示后向GRU模型对q的编码结果。
(5)用Wq(第一参数矩阵)和Wr(第二参数矩阵)对(4)中所得结果进行空间转换,得到最终的q向量和r向量,并将其拼接,公式如下:
Cinput=[vq,v1,v2,...,vk];
Cinput表示由用户查询q和检索式模型结果r共同得到的上下文向量,作为解码器的输入之一。
(6)解码器依据(5)提供的上下文向量生成响应。计算方式如下:
P(yt|yt-1,q,r)=α*softmax_score(w)+β*idf(w);
特别地,
其中yinit,为随机初始化向量,α和β为模型参数,表示softmax和idf值的权重,α和β需要在模型训练过程中学习。
具体地,依据(5)计算的上下文向量,以及模型预测出的上一个单词yt-1,以及GRU的上一个时间戳的隐藏层输出计算当前时间戳的隐藏层结果并计算词典中每个词的sotftmax值,得到每个词的softmax_score;然后与(3)中的idf值一起计算出一个新的得分,所得结果即为每个词的最终分数,选择分数最高的作为当前预测词yt。此预测词将和其前面的所有预测结果以及(5)中的上下文向量一起作为下一次预测的输入,依次生成一个完整的句子,作为生成模型的一个输出。
(7)将(2)中检索式模型的检索结果和(6)中生成式模型的输出一起组合为一个更大的候选答案集,然后采用xgboost模型从中筛选出与待回复语句匹配度最高的答案,此答案作为回复语句返回给用户。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第二实施方式涉及一种基于人工智能的对话生成装置,如图4所示,包含:候选回复检索模块301、预测回复获取模块302和回复语句获取模块303。具体地:
候选回复检索模块301,用于获取待回复语句,将待回复语句输入检索式模型,其中,检索式模型用于从预设的对话语料库中筛选出回应待回复语句的K个候选回复,K为正整数;
预测回复获取模块302,用于获取检索式模型输出的K个候选回复,并将待回复语句和K个候选回复输入生成式模型,其中,生成式模型根据待回复语句、K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用预测词组成的预测回复;
回复语句获取模块303,用于根据预测回复获取回复语句。
进一步地,预测回复获取模块302还用于:
对待回复语句和K个候选回复进行编码,得到待回复向量和K个候选回复向量。
根据待回复向量和K个候选回复向量获取上下文向量;
根据上下文向量和逆文档频率计算词典中每一词的综合得分,并获取综合得分最高的词作为预测词;
获取根据预测词组成的预测回复。
进一步地,对待回复语句和K个候选回复进行编码,包括:
采用同一编码器对待回复语句和K个候选回复进行编码。
进一步地,根据待回复向量和K个候选回复向量获取上下文向量,包括:
将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量。
进一步地,生成式模型包括第一参数矩阵和第二参数矩阵;
将待回复向量和K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到上下文向量,包括:
将待回复向量与第一参数矩阵相乘,得到变换后的待回复向量;
将K个候选回复向量与第二参数矩阵相乘,得到变换后K个候选回复向量;
将变换后的待回复向量与变换后的K个候选回复拼接,得到上下文向量。
进一步地,根据上下文向量和逆文档频率计算词典中每一词的综合得分,包括:
根据以下第一计算公式计算每一词的综合得分:
P(yt|yt-1,q,r)=α*softmax_score(w)+β*idf(w);
其中,P(yt|yt-1,q,r)为每一词的综合得分,yt是t时刻的预测词,q为待回复语句,r为候选回复,α和β为预设生成式模型的参数,idf(w)为每一词的逆文档频率,softmax_score(w)为每一词的归一化指数函数值,用以下第二计算公式计算:
其中,为t时刻生成式模型的隐藏层的输出,Cinput为上下文向量。
进一步地,回复语句获取模块303还用于:将预测回复和K个候选回复输入预设分类模型中,获取预设分类模型输出的结果作为回复语句。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第三实施方式涉及一种网络设备,如图5所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的基于人工智能的对话生成方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种基于人工智能的对话生成方法,其特征在于,包括:
获取待回复语句,将所述待回复语句输入检索式模型,其中,所述检索式模型用于从预设的对话语料库中筛选出回应所述待回复语句的K个候选回复,所述K为正整数;
获取所述检索式模型输出的K个候选回复,并将所述待回复语句和所述K个候选回复输入生成式模型,利用所述生成式模型依据所述待回复语句、所述K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用所述预测词组成的预测回复;
根据所述预测回复获取回复语句。
2.根据权利要求1所述的基于人工智能的对话生成方法,其特征在于,在所述将所述待回复语句和所述K个候选回复输入生成式模型之后,还包括:
对所述待回复语句和所述K个候选回复进行编码,得到待回复向量和K个候选回复向量;
根据所述待回复向量和所述K个候选回复向量获取上下文向量;
根据所述上下文向量和所述逆文档频率计算所述词典中每一词的综合得分,并获取所述综合得分最高的词作为所述预测词;
获取根据所述预测词组成的所述预测回复。
3.根据权利要求2所述的基于人工智能的对话生成方法,其特征在于,所述对所述待回复语句和所述K个候选回复进行编码,包括:
采用同一编码器对所述待回复语句和所述K个候选回复进行编码。
4.根据权利要求3所述的基于人工智能的对话生成方法,其特征在于,所述根据所述待回复向量和所述K个候选回复向量获取上下文向量,包括:
将所述待回复向量和所述K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到所述上下文向量。
5.根据权利要求4所述的基于人工智能的对话生成方法,其特征在于,所述生成式模型包括第一参数矩阵和第二参数矩阵;
所述将所述待回复向量和所述K个候选回复向量映射至不同的向量空间后拼接,根据拼接的结果得到所述上下文向量,包括:
将所述待回复向量与所述第一参数矩阵相乘,得到变换后的待回复向量;
将所述K个候选回复向量与所述第二参数矩阵相乘,得到变换后K个候选回复向量;
将所述变换后的待回复向量与所述变换后的K个候选回复拼接,得到所述上下文向量。
6.根据权利要求3所述的基于人工智能的对话生成方法,其特征在于,所述根据所述上下文向量和所述逆文档频率计算所述词典中每一词的综合得分,包括:
根据以下第一计算公式计算所述每一词的综合得分:
P(yt|yt-1,q,r)=α*softmax_score(w)+β*idf(w);
其中,P(yt|yt-1,q,r)为所述每一词的综合得分,yt是t时刻的预测词,q为所述待回复语句,r为所述候选回复,α和β为所述预设生成式模型的参数,idf(w)为所述每一词的逆文档频率,softmax_score(w)为所述每一词的归一化指数函数值,用以下第二计算公式计算:
其中,所述为t时刻所述生成式模型的隐藏层的输出,Cinput为所述上下文向量。
7.根据权利要求1-6任一项所述的基于人工智能的对话生成方法,其特征在于,所述根据所述预测回复获取回复语句,包括:
将所述预测回复和所述K个候选回复输入预设分类模型中,获取所述预设分类模型输出的结果作为所述回复语句。
8.一种基于人工智能的对话生成装置,其特征在于,包括:
候选回复检索模块,用于获取待回复语句,将所述待回复语句输入检索式模型,其中,所述检索式模型用于从预设的对话语料库中筛选出回应所述待回复语句的K个候选回复,所述K为正整数;
预测回复获取模块,用于获取所述检索式模型输出的K个候选回复,并将所述待回复语句和所述K个候选回复输入生成式模型,其中,所述生成式模型根据所述待回复语句、所述K个候选回复及词典中各词的逆文档频率筛选出预测词,并输出利用所述预测词组成的预测回复;
回复语句获取模块,用于根据所述预测回复获取回复语句。
9.一种网络设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的基于人工智能的对话生成方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于人工智能的对话生成方法。
CN201910759962.8A 2019-08-16 2019-08-16 基于人工智能的对话生成方法、装置、设备及存储介质 Active CN110457459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910759962.8A CN110457459B (zh) 2019-08-16 2019-08-16 基于人工智能的对话生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910759962.8A CN110457459B (zh) 2019-08-16 2019-08-16 基于人工智能的对话生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110457459A true CN110457459A (zh) 2019-11-15
CN110457459B CN110457459B (zh) 2022-04-08

Family

ID=68487358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910759962.8A Active CN110457459B (zh) 2019-08-16 2019-08-16 基于人工智能的对话生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110457459B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400481A (zh) * 2020-05-15 2020-07-10 支付宝(杭州)信息技术有限公司 针对多轮对话生成回复语句的方法和装置
CN112231458A (zh) * 2020-10-23 2021-01-15 河北省讯飞人工智能研究院 一种对话语料库的扩容方法、装置、设备及存储介质
CN112818108A (zh) * 2021-02-24 2021-05-18 中国人民大学 基于形近字的文本语义曲解聊天机器人及其数据处理方法
CN113239169A (zh) * 2021-06-01 2021-08-10 平安科技(深圳)有限公司 基于人工智能的回答生成方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760128A (zh) * 2011-04-26 2012-10-31 华东师范大学 一种基于智能客服机器人交互的电信领域套餐推荐方法
CN104573028A (zh) * 2015-01-14 2015-04-29 百度在线网络技术(北京)有限公司 实现智能问答的方法和***
CN108170764A (zh) * 2017-12-25 2018-06-15 上海大学 一种基于场景上下文的人机多轮对话模型构建方法
CN108681610A (zh) * 2018-05-28 2018-10-19 山东大学 生成式多轮闲聊对话方法、***及计算机可读存储介质
CN109918484A (zh) * 2018-12-28 2019-06-21 中国人民大学 对话生成方法和装置
KR20190072823A (ko) * 2017-12-18 2019-06-26 한국과학기술원 Rnn 문장임베딩과 elm 알고리즘을 이용한 은행업무 관련 고객상담을 위한 도메인 특화 화행분류 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760128A (zh) * 2011-04-26 2012-10-31 华东师范大学 一种基于智能客服机器人交互的电信领域套餐推荐方法
CN104573028A (zh) * 2015-01-14 2015-04-29 百度在线网络技术(北京)有限公司 实现智能问答的方法和***
KR20190072823A (ko) * 2017-12-18 2019-06-26 한국과학기술원 Rnn 문장임베딩과 elm 알고리즘을 이용한 은행업무 관련 고객상담을 위한 도메인 특화 화행분류 방법
CN108170764A (zh) * 2017-12-25 2018-06-15 上海大学 一种基于场景上下文的人机多轮对话模型构建方法
CN108681610A (zh) * 2018-05-28 2018-10-19 山东大学 生成式多轮闲聊对话方法、***及计算机可读存储介质
CN109918484A (zh) * 2018-12-28 2019-06-21 中国人民大学 对话生成方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400481A (zh) * 2020-05-15 2020-07-10 支付宝(杭州)信息技术有限公司 针对多轮对话生成回复语句的方法和装置
CN111400481B (zh) * 2020-05-15 2023-04-28 支付宝(杭州)信息技术有限公司 针对多轮对话生成回复语句的方法和装置
CN112231458A (zh) * 2020-10-23 2021-01-15 河北省讯飞人工智能研究院 一种对话语料库的扩容方法、装置、设备及存储介质
CN112231458B (zh) * 2020-10-23 2023-03-21 河北省讯飞人工智能研究院 一种对话语料库的扩容方法、装置、设备及存储介质
CN112818108A (zh) * 2021-02-24 2021-05-18 中国人民大学 基于形近字的文本语义曲解聊天机器人及其数据处理方法
CN112818108B (zh) * 2021-02-24 2023-10-13 中国人民大学 基于形近字的文本语义曲解聊天机器人及其数据处理方法
CN113239169A (zh) * 2021-06-01 2021-08-10 平安科技(深圳)有限公司 基于人工智能的回答生成方法、装置、设备及存储介质
CN113239169B (zh) * 2021-06-01 2023-12-05 平安科技(深圳)有限公司 基于人工智能的回答生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110457459B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
CN110457459A (zh) 基于人工智能的对话生成方法、装置、设备及存储介质
Sharma et al. Era of deep neural networks: A review
CN110188167B (zh) 一种融入外部知识的端到端对话方法及***
CN108319599B (zh) 一种人机对话的方法和装置
CN112633010B (zh) 基于多头注意力和图卷积网络的方面级情感分析方法及***
CN110853626B (zh) 基于双向注意力神经网络的对话理解方法、装置及设备
CN110263324A (zh) 文本处理方法、模型训练方法和装置
CN113158691B (zh) 基于混合知识管理的对话方法、装置和电子设备
CN113239169A (zh) 基于人工智能的回答生成方法、装置、设备及存储介质
CN108776673A (zh) 关系模式的自动转换方法、装置及存储介质
CN116579339A (zh) 任务执行方法和优化任务执行方法
CN111767697B (zh) 文本处理方法、装置、计算机设备以及存储介质
CN108959388A (zh) 信息生成方法及装置
CN111625629B (zh) 任务型对话机器人应答方法、装置及机器人、存储介质
CN108509539A (zh) 信息处理方法电子设备
CN117634459A (zh) 目标内容生成及模型训练方法、装置、***、设备及介质
CN113420111A (zh) 一种用于多跳推理问题的智能问答方法及装置
CN117575008A (zh) 训练样本生成方法、模型训练方法、知识问答方法及设备
CN117291185A (zh) 任务处理方法、实体识别方法及任务处理的数据处理方法
CN116204643A (zh) 一种基于多任务学习知识增强的级联标签分类方法
CN114444443A (zh) 一种标识识别方法、装置及终端设备
CN117808083B (zh) 一种分布式训练通信方法、装置、***、设备及存储介质
CN114818644B (zh) 文本模板生成方法、装置、设备及存储介质
CN114330512B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN117010459B (zh) 基于模块化和序列化自动生成神经网络的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20210210

Address after: 200245 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 200245 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 200245 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address