CN114153953A - 对话回复的生成方法、装置、设备及存储介质 - Google Patents
对话回复的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114153953A CN114153953A CN202111189305.8A CN202111189305A CN114153953A CN 114153953 A CN114153953 A CN 114153953A CN 202111189305 A CN202111189305 A CN 202111189305A CN 114153953 A CN114153953 A CN 114153953A
- Authority
- CN
- China
- Prior art keywords
- information
- sequence
- dialog
- input
- knowledge
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种对话回复的生成方法、装置、设备及存储介质,属于计算机技术领域,该方法包括:获取输入对话序列;根据输入对话序列获取上下文语义信息、知识信息和句法信息,其中,知识信息包括与输入对话序列在内容上关联的知识向量,句法信息包括多样的句法向量;根据上下文语义信息、知识信息和句法信息,生成输入对话序列的对话回复。该方法生成的对话回复兼顾了知识准确性与回复多样性之间的平衡,提升了生成的对话回复的质量。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种对话回复的生成方法、装置、设备及存储介质。
背景技术
随着自然语言处理(Natural Language Processing,NLP)技术的发展,对话系统也得以快速发展。其中,对话系统能否向用户输出精准的对话回复,使得人机对话与现实生活中人与人之间的交流相契合,显得尤为重要。
因此,对话系统如何生成高质量的对话回复,是本领域技术人员亟待解决的一个问题。
发明内容
本申请提供了一种对话回复的生成方法、装置、设备及存储介质,能够解决相关技术中的问题。
第一方面,提供一种对话回复的生成方法,所述方法包括:
获取输入对话序列,所述输入对话序列为待回复的对话;根据所述输入对话序列获取上下文语义信息;根据所述输入对话序列获取知识信息,所述知识信息包括与所述输入对话序列在内容上关联的知识向量;根据所述输入对话序列获取句法信息,所述句法信息包括多样的句法向量;根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复。
在一种可能的实施方式中,所述根据所述输入对话序列获取上下文语义信息,包括:对所述输入对话序列进行语义编码,根据编码结果获取语义向量;基于所述语义向量和历史语义信息,获取所述输入对话序列的上下文语义信息,所述历史语义信息用于指示所述输入对话序列之前的对话中包括的语义信息。
在一种可能的实施方式中,基于所述语义向量和历史语义信息,获取所述输入对话序列的上下文语义信息,包括:基于所述语义向量和历史语义信息,通过对抗网络获取所述输入对话序列的上下文语义信息,所述上下文语义信息不包括句法信息。
在一种可能的实施方式中,所述根据所述输入对话序列获取知识信息,包括:根据所述输入对话序列在知识库中选择目标知识序列;对所述目标知识序列进行编码,根据编码结果所述知识信息。
在一种可能的实施方式中,所述根据所述输入对话序列获取句法信息,包括:获取所述输入对话序列的句法特征;对所述句法特征进行编码,根据编码结果获取句法特征向量;获取所述句法特征向量对应的多样的句法向量,得到所述句法信息。
在一种可能的实施方式中,所述根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复,包括:融合所述上下文语义信息、所述知识信息和所述句法信息,得到融合特征向量;对所述融合特征向量进行解码,根据解码结果生成所述对话回复。
第二方面,提供一种对话回复的生成装置,所述装置包括:
第一获取模块,用于获取输入对话序列,所述输入对话序列为待回复的对话;
第二获取模块,用于根据所述输入对话序列获取上下文语义信息;
第三获取模块,用于根据所述输入对话序列获取知识信息,所述知识信息包括与所述输入对话序列在内容上关联的知识向量;
第四获取模块,用于根据所述输入对话序列获取句法信息,所述句法信息包括多样的句法向量;
生成模块,用于根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复。
在一种可能的实施方式中,所述第二获取模块,用于对所述输入对话序列进行语义编码,根据编码结果获取语义向量;基于所述语义向量和历史语义信息,获取所述输入对话序列的上下文语义信息,所述历史语义信息用于指示所述输入对话序列之前的对话中包括的语义信息。
在一种可能的实施方式中,所述第二获取模块,用于基于所述语义向量和历史语义信息,通过对抗网络获取所述输入对话序列的上下文语义信息,所述上下文语义信息不包括句法信息。
在一种可能的实施方式中,所述第三获取模块,用于根据所述输入对话序列在知识库中选择目标知识序列;对所述目标知识序列进行编码,根据编码结果获取所述知识信息。
在一种可能的实施方式中,所述第四获取模块,用于获取所述输入对话序列的句法特征;对所述句法特征进行编码,根据编码结果获取句法特征向量;获取所述句法特征向量对应的多样的句法向量,得到所述句法信息。
在一种可能的实施方式中,所述生成模块,用于融合所述上下文语义信息、所述知识信息和所述句法信息,得到融合特征向量;对所述融合特征向量进行解码,根据解码结果生成所述对话回复。
第三方面,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一项所述的对话回复的生成方法。
第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一项所述的对话回复的生成方法。
第五方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的对话回复的生成方法。
本申请提供的技术方案至少可以带来如下有益效果:
本申请提供的技术方案,由于对话回复是基于输入对话序列的上下文语义信息、知识信息和句法信息生成的,因此,生成的对话回复兼顾了知识准确性与回复多样性之间的平衡,提升了生成的对话回复的质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种对话回复的生成方法的实施环境的示意图;
图2是本申请实施例提供的一种对话回复的生成模型的结构示意图;
图3是本申请实施例提供的一种对话回复的生成方法的流程图;
图4是本申请实施例提供的一种对话回复的生成装置的示意图;
图5是本申请实施例提供的一种服务器的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种对话回复的生成方法、装置、设备及存储介质。其中,该方法涉及人工智能技术。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术等几大方向。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
深度学习是自然语言处理技术的主要技术手段,其通常包括感知机、神经网络、置信网络、强化学习、迁移学习等技术。本申请实施例提供的对话回复的生成方法涉及人工智能的自然语言处理和深度学习等技术,现通过如下实施例进行说明。
本申请实施例提供的对话回复的生成方法可以应用于对话系统(也被称为对话机器人或对话平台)。而该对话系统可以表现为服务器。
图1是本申请实施例提供的一种对话回复的生成方法的实施环境示意图,参见图1,该实施环境中可以包括终端101和对话系统102。
终端101通过无线网络或有线网络与对话系统102相连。可选地,终端101是智能手机、平板电脑、笔记本电脑、台式计算机、智能家居、智能手表、智能家居、智能机器人、智能梳妆镜、应用程序客户端或网页客户端中的任意一种设备。等,但并不局限于此。可选地,终端101安装和运行有支持对话显示或者对话播放的应用程序。
对话系统102是用于向终端101提供后台对话服务的服务器。可选地,对话系统102是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。对话系统102中设置有对话回复的生成模型,该对话回复的生成模型用于根据输入对话序列生成输出对话序列。
可选地,终端101泛指多个终端中的一个,本申请实施例仅以终端101来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。
可选地,本申请实施例提供的对话回复的生成方法可以应用在多种对话场景下,比如应用在用户与应用程序的智能客服进行对话的场景下,或者应用在用户与车载导航进行对话的场景下,或者应用在用户与智能家居进行对话的场景下,或者应用在用户与电商客服进行对话的场景下,本申请实施例对此不做限定。
示例性地,在用户与智能家居进行对话的场景下,以智能客服部署在智能家居上为例,此时智能家居也即是终端101。当用户通过智能家居询问想要询问的问题或者向智能家居发出指示时,智能家居通过文本输入控件采集咨询问题的对话序列,或者通过麦克风采集用户语音,将语音转换为咨询问题的对话序列;智能家居将对话序列输入到对话系统102中的对话回复的生成模型,对话回复的生成模型能够基于输入的用户咨询问题的对话序列,自动生成相应的答案的对话序列;对话系统102将对话回复的生成模型输出的对话序列发送给智能家居,智能家居播放接收到的对话序列,即用户咨询问题的答案,用户能够直接听到询问问题的答案。
下面将结合图2,对本申请实施例提供的对话回复的生成模型的结构进行说明。
在本申请实施例中,参见图2,该对话回复的生成模型包括输入模块、对抗分层语义模块、知识感知网络模块、句法隐变量模块、解码模块和输出模块。
其中,输入模块用于输入本轮对话的文本序列;对抗分层语义模块用于获取输入文本序列的上下文语义信息,以保证输入对话序列和输出对话序列的语义一致性;知识感知网络模块用于获取输入文本序列的知识信息,以提高输出对话序列的知识信息量;句法隐变量模块用于获取输入文本序列的句法信息,以提高输出对话序列的多样性;解码模块用于解码融合后的上下文语义信息、知识信息和句法信息,得到输入文本序列对应的对话回复;输出模块用于输出对话回复的文本序列。
在一种可能的实施方式中,对抗分层语义模块包括语义编码子模块、上下文向量子模块和判别器子模块。其中,语义编码子模块用于编码输入对话序列的语义向量,将该语义信息输入到上下文向量子模块;上下文向量子模块能够储存本轮对话之前获取的历史语义信息,基于该历史语义信息以及判别器子模块的反馈,获取输入对话序列的语义向量对应的上下文语义信息;判别器子模块用于防止上下文语义信息中包含句法信息,增加句法信息的可控性。
可选地,语义编码子模块由编码器实现,编码器可以将输入对话序列进行编码,例如,将输入对话序列编码为语义向量,编码器输出的语义向量为上下文向量子模块的输入数据。其中,解码器由至少一层的神经网络组成,其中,神经网络可以为LSTM(Long Short-Term Memory,长短期记忆网络),或者为具有门控循环单元(Gate Recurrent Unit,GRU)的双向循环神经网络(Recurrent Neural Network,RNN),或者为BERT(BidirectionalEncoder Representation from Transformers,双向Transformer编码器)等,本申请实施例对此不做限定。
可选地,上下文向量子模块可以由多层感知机组成,其中,多层感知机可以是循环神经网络(例如LSTM、GRU等)、BERT等,本申请实施例对此不做限定。
可选地,判别器子模块可以为基于神经网络构建的模型,用于判断上下文向量子模块获取的上下文语义信息的真实性。其中,神经网络可以是循环神经网络(例如LSTM、GRU等)、BERT等,本申请实施例对此不做限定。
其中,上下文向量子模块和判别器子模块能够组成对抗网络,用于防止输入对话序列的语义信息与句法信息的互相影响。在上下文向量子模块和判别器子模块进行对抗学习过程中,上下文向量子模块的目标就是尽量获取只包括语义信息的上下文语义信息,而判别器子模块的目标就是尽量将上下文向量模型获取的上下文语义信息和句法信息区分开来。这样,上下文向量子模块和判别器子模块构成了一个动态的对抗。在理想的状态下,上下文向量子模块可以生成只包括语义信息的上下文语义信息,而对于判别器子模块来说,它难以判定上下文向量模型获取的上下文语义信息是否包括句法信息。在对抗过程中,不断调整参数使判别器子模块的准确率逼近参考值,例如参考值为0.5,同时使上下文向量的损失下降并最终趋于稳定。最终得到的上下文语义信息在上下文方面有所提高,不受句法信息的影响,能够很好的保持对话回复的语义一致性。
在一种可能的实施方式中,知识感知网络模块包括知识库、知识选择子模块和知识编码子模块。其中,知识库用于向知识选择子模块提供与输入对话序列相关的外部知识;知识选择子模块用于在知识库中检索与输入对话序列在内容上关联的候选知识;知识编码子模块用于编码与输入对话序列在内容上关联的候选知识,生成输入对话序列对应的知识信息。
可选地,知识库包括来源于各个领域的有对话价值的知识。其中,各个领域包括但不限于:天气、娱乐互动、业务办理、远程客服、接待引导、医疗、交通导航、旅游、工业等。示例性地,以娱乐互动领域为例,该领域的知识可以是来源于电影和娱乐节目等方面的有对话价值的知识,比如票房、演员、导演、评价等。
可选地,知识选择子模块通过相似度匹配算法实现,以通过相似度匹配算法匹配知识库中与输入对话序列在内容上关联的候选知识。其中,相似度匹配算法可以为TF-IDF(Term Frequency-Inverse Document Frequency,术语频率-逆文档频率)算法,也可以为编辑距离(Edit Distance)算法,还可以为探测(Soundex)算法,本申请实施例对此不做限定。
可选地,知识编码子模块由编码器实现,编码器可以将知识选择子模块选择的候选知识进行编码,例如,将候选知识编码为知识向量即为获取的知识信息。其中,编码器由至少一层的神经网络组成,其中,神经网络可以为LSTM、GRU或BERT等,本申请实施例对此不做限定。
在一种可能的实施方式中,句法隐变量模块包括句法获取子模块、句法编码子模块和隐变量子模块。其中,句法获取子模块用于从输入对话序列中提取句法信息;句法编码子模块用于编码句法获取子模块提取的句法信息,将编码后的句法信息输入到隐变量子模块;隐变量模块用于根据句法信息生成多样的句法信息。
可选地,句法获取子模块可以通过神经网络或者外部句法接口工具获取。句法编码子模块和隐变量子模块可以是由至少一层的神经网络组成,其中,神经网络可以是循环神经网络(例如LSTM、GRU等)、BERT等,本申请实施例对此不做限定。
需要说明的是,上述对于对话回复的生成模型结构的描述仅仅是一种示例,在其他可能的实施方式中,对话回复的生成模型也可以为其他结构,本申请实施例对此不做限定,下面仅以对话回复的生成模型为图2所示的结构为例进行说明。
图3是本申请实施例提供的一种对话回复的生成方法的流程图。该方法应用于图1所示的对话系统,示例性地,该方法应用于图2所示的对话回复的生成模型中。以图2所示的对话回复的生成模型为例,参见图3,本申请实施例提供的对话回复的生成方法包括如下步骤301-305。
步骤301,获取输入对话序列。
在本申请实施例中,将对话系统待响应的用户输入称为输入对话序列,即输入对话序列为待回复的对话。示例性地,对话终端从用户处采集文字形式和/或语音形式的用户输入,将用户输入发送给对话系统。对话系统在接收到该用户输入后,会将该用户输入发送到图2中的输入模块,由此,输入模块获取到输入对话序列。
其中,语音形式的用户输入,可由对话终端或对话系统转换为文字形式的用户输入。
步骤302,根据输入对话序列获取上下文语义信息。
在一种可能的实施方式中,根据输入对话序列获取上下文语义信息,包括:对输入对话序列进行语义编码,根据编码结果获取语义向量;基于输入对话序列的语义向量和历史语义信息,获取输入对话序列的上下文语义信息。其中,历史语义信息用于指示该输入对话序列之前的对话中包括的语义信息,例如,历史语义信息为上一轮对话过程中基于上一轮的输入对话序列获取的上下文语义信息。
在一种可能的实施方式中,若本轮的输入对话序列为对话过程中输入的第一轮问句,此时不存在历史语义信息,则根据输入对话序列获取上下文语义信息,包括:对输入对话序列进行语义编码,根据编码结果获取语义向量;基于输入对话序列的语义向量,获取输入对话序列的上下文语义信息。
在一种可能的实施方式中,输入对话序列采用词嵌入的方式进行输入。可选地,对输入对话序列进行语义编码,根据编码结果获取语义向量,包括:将输入对话序列转换为输入词向量;对输入词向量进行语义编码,根据编码结果得到输入词向量的语义向量。其中,上下文语义信息用于指示词向量对应的词汇所处的共现词、语境、前邻词、后邻词等词汇出现的篇章语境信息。
词嵌入是一种词的类型表示,具有相似意义的词具有相似的表示。词嵌入方法通过将单个词在预定义的向量空间中表示为实数向量,每个单词都能映射到一个向量,使得计算机能够理解每个单词的意义,便于计算机对单词进行计算。
可以理解的是,获取语义信息的目的是理解用户要表达的真实语义,通常情况下,语义分析一般都在句法分析的基础上完成,句法信息包括输入对话序列包括的词汇的词性、短语的类型或句子的成分中的至少一种。因此,获取的语义信息难免携带有句法信息。本申请实施例通过构建语义信息与句法信息间的对抗网络,使得获取的输入对话序列的上下文语义信息不包括句法信息,防止上下文语义信息与句法信息之间的相互影响,增加步骤304中获取的句法信息的可控性。
在一种可能的实施方式中,基于语义向量和历史语义信息,获取输入对话序列的上下文语义信息,包括:基于语义向量和历史语义信息,通过对抗网络获取输入对话序列的上下文语义信息,此时,获取的输入对话序列的上下文语义信息不包括句法信息。
示例性地,调用图2中的对抗分层语义模块以获取输入对话序列的上下文语义信息,包括:将输入对话序列转换为输入词向量,然后调用语义编码子模块对输入词向量进行编码,根据编码结果得到语义向量;将语义向量输入到上下文向量子模块,上下文向量子模块与判别器子模块构成对抗网络,对抗网络基于该语义向量以及上下文向量子模块中包括的历史上下文信息,获取输入对话序列的上下文语义信息。其中,本轮获取的输入对话序列的上下文语义信息存储于上下文向量子模块中,用于作为下一轮获取输入对话序列的上下文语义信息的历史语义信息。
可选地,对抗网络基于该语义向量和历史语义信息,获取输入对话序列的上下文语义信息的过程中,上下文向量子模块将初始生成的上下文语义信息发送给判别器子模块,判别器子模块包括句法信息,由判别器子模块判断该上下文语义信息中是否包括有句法信息,通过上下文向量子模块与判别器子模块之间的对抗学习更新获取上下文语义信息,使得最终获取的上下文语义信息尽可能的不包括句法信息。
步骤303,根据输入对话序列获取知识信息,知识信息包括与输入对话序列在内容上关联的知识向量。
在一种可能的实施方式中,根据输入对话序列获取知识信息,包括:根据输入对话序列在知识库中选择目标知识序列;对目标知识序列进行编码,根据编码结果获取知识信息。由于,知识信息为与输入对话序列在内容上相关的知识,因此知识信息能够提高对话回复的知识准确性,进而能够输出高质量的对话回复。
其中,知识库包括结构化知识、半结构化知识和非结构化知识中的至少一种,选择的目标知识序列的条数通常为多条。
示例性地,调用图2中的知识感知网络模块以获取输入对话序列的知识信息,包括:将输入对话序列转换为输入词向量,然后知识选择子模块基于输入词向量在知识库中选择目标知识序列,其中,目标知识序列为在内容上与输入词向量相关的文本序列;通过知识编码子模块将选择的目标知识序列编码为知识向量,获取输入对话序列的知识信息。
步骤304,根据输入对话序列获取句法信息,句法信息包括多样的句法向量。
在一种可能的实施方式中,根据输入对话序列获取句法信息,包括:获取输入对话序列的句法特征;对句法特征进行编码,根据编码结果获取句法特征向量;获取句法特征向量对应的多样的句法向量,得到句法信息。
其中,句法信息包括多样的句法向量,多样的句法向量指的是不同的短语结构、不同的单句类型或不同的词汇词性中的至少一种,可选地,短语结构包括主谓、述宾、偏正、述补或联合结构等,单句类型包括陈述句、疑问句、祈使句、感叹句、主动句、被动句和否定句等,词汇词性包括名词、动词、形容词、数量词和代词等。
在本申请实施例中,获取的句法信息包括多样的句法向量,该多样的句法向量能够用于提高对话回复的多样性,解决了对话回复的单一性、简单乏味的问题。例如,若通过输入对话序列获取句法特征向量指示的句法信息为主动句,此时,基于该句法特征向量生成的对话回复即为主动句形式的句子;在本申请实施例中,进一步获取该句法特征向量对应的多样的句法向量得到句法信息,该句法信息包括否定句、疑问句或被动句等多样的句式,由此,基于该句法信息生成的对话回复可以为否定句、疑问句或被动句等多种形式。
示例性地,调用图2中的句法隐变量模块以获取输入对话序列的句法信息,包括:将输入对话序列转换为输入词向量,通过句法获取子模块获取输入词向量的句法特征;通过句法编码子模块将句法特征编码为句法特征向量;将句法特征向量输入到隐变量子模块,通过隐变量子模块获取句法特征向量对应的多样的句法向量,得到输入对话序列的句法信息。
需要说明的是,上述步骤302-304的实现过程不具有先后顺序,可以同时根据输入对话序列获取上下文语义信息、知识信息和句法信息,也可以根据输入对话序列分别获取上下文语义信息、知识信息和句法信息,本申请实施例对此不进行限定。
步骤305,根据上下文语义信息、知识信息和句法信息,生成输入对话序列的对话回复。
在一种可能的实施方式中,根据上下文语义信息、知识信息和句法信息,生成输入对话序列的对话回复,包括:融合上下文语义信息、知识信息和句法信息,得到融合特征向量;对融合特征向量进行解码,根据解码结果生成对话回复。因此,解码得到的对话回复包括有输入对话序列的上下文语义信息之外,还包括有输入对话序列的知识信息和句法信息,使得生成的对话回复兼顾了知识准确性与回复多样性。
在一种可能的实施方式中,本申请实施例不对融合上下文语义信息、知识信息和句法信息,得到融合特征向量的方式进行限定,例如,可以直接将上下文语义信息、知识信息和句法信息进行首尾拼接得到融合特征向量,也可以通过按位相乘或带权重按位相加等方式得到融合特征向量。
示例性地,调用图2中的解码模块以对融合特征向量进行解码,以根据解码结果生成对话回复。进而通过图2中的输出模块将生成的对话回复即输出对话序列发送至对话终端,或者,将文字形式的输出对话序列转化为语音形式的输出对话序列后,向对话终端发送语音形式的输出对话序列。
本申请实施例提供的对话回复的生成方法,由于对话回复是基于输入对话序列的知识信息和句法信息生成的,因此,生成的对话回复兼顾了知识准确性与回复多样性之间的平衡,提升了对话生成的质量。
参见图4,本申请实施例提供了一种对话回复的生成装置,该装置包括:
第一获取模块401,用于获取输入对话序列,输入对话序列为待回复的对话;
第二获取模块402,用于根据输入对话序列获取上下文语义信息;
第三获取模块403,用于根据输入对话序列获取知识信息,知识信息包括与输入对话序列在内容上关联的知识向量;
第四获取模块404,用于根据输入对话序列获取句法信息,句法信息包括多样的句法向量;
生成模块405,用于根据上下文语义信息、知识信息和句法信息,生成输入对话序列的对话回复。
在一种可能的实施方式中,第二获取模块402,用于对输入对话序列进行语义编码,根据编码结果获取语义向量;基于语义向量和历史语义信息,获取输入对话序列的上下文语义信息,历史语义信息用于指示输入对话序列之前的对话中包括的语义信息。
在一种可能的实施方式中,第二获取模块402,用于基于语义向量和历史语义信息,通过对抗网络获取输入对话序列的上下文语义信息,此时,该上下文语义信息不包括句法信息。
在一种可能的实施方式中,第三获取模块403,用于根据输入对话序列在知识库中选择目标知识序列;对目标知识序列进行编码,根据编码结果获取知识信息。
在一种可能的实施方式中,第四获取模块404,用于获取输入对话序列的句法特征;对句法特征进行编码,根据编码结果获取句法特征向量;获取句法特征向量对应的多样的句法向量,得到句法信息。
在一种可能的实施方式中,生成模块405,用于融合上下文语义信息、知识信息和句法信息,得到融合特征向量;对融合特征向量进行解码,根据解码结果生成对话回复。
本申请实施例提供的对话回复的生成装置,由于对话回复是基于输入对话序列的上下文语义信息、知识信息和句法信息生成的,因此,生成的对话回复兼顾了知识准确性与回复多样性之间的平衡,提升了对话生成的质量。
应理解的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图5,图5是本申请实施例提供的一种服务器的结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(CentralProcessing Units,CPU)501和一个或多个的存储器502,其中,该一个或多个存储器502中存储有至少一条程序指令,该至少一条程序指令由该一个或多个处理器501加载并执行以实现上述各个方法实施例提供的对话回复的生成方法。当然,该服务器500还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器500还可以包括其他用于实现设备功能的部件,在此不做赘述。
请参考图6,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以为终端,例如可以是:智能手机、平板电脑、车载终端、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的对话回复的生成方法。
在一些实施例中,终端还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或无线保真(Wireless Fidelity,WiFi)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在终端的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端的当前地理位置,以实现导航或LBS(Location BasedService,基于位置的服务)。定位组件608可以是基于美国的GPS(Global PositioningSystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源609用于为终端中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端的侧边框和/或显示屏605的下层。当压力传感器613设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在显示屏605的下层时,由处理器601根据用户对显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制显示屏605的显示亮度。具体地,当环境光强度较高时,调高显示屏605的显示亮度;当环境光强度较低时,调低显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端的前面板。接近传感器616用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端的正面之间的距离逐渐变小时,由处理器601控制显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端的正面之间的距离逐渐变大时,由处理器601控制显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以使计算机设备实现上述任一种对话回复的生成方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以使计算机实现上述任一种对话回复的生成方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种对话回复的生成方法。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种对话回复的生成方法,其特征在于,所述方法包括:
获取输入对话序列,所述输入对话序列为待回复的对话;
根据所述输入对话序列获取上下文语义信息;
根据所述输入对话序列获取知识信息,所述知识信息包括与所述输入对话序列在内容上关联的知识向量;
根据所述输入对话序列获取句法信息,所述句法信息包括多样的句法向量;
根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复。
2.根据权利要求1所述的方法,其特征在于,所述根据所述输入对话序列获取上下文语义信息,包括:
对所述输入对话序列进行语义编码,根据编码结果获取语义向量;
基于所述语义向量和历史语义信息,获取所述输入对话序列的上下文语义信息,所述历史语义信息用于指示所述输入对话序列之前的对话中包括的语义信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述语义向量和历史语义信息,获取所述输入对话序列的上下文语义信息,包括:
基于所述语义向量和历史语义信息,通过对抗网络获取所述输入对话序列的上下文语义信息,所述上下文语义信息不包括句法信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述输入对话序列获取知识信息,包括:
根据所述输入对话序列在知识库中选择目标知识序列;
对所述目标知识序列进行编码,根据编码结果获取所述知识信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述输入对话序列获取句法信息,包括:
获取所述输入对话序列的句法特征;
对所述句法特征进行编码,根据编码结果获取句法特征向量;
获取所述句法特征向量对应的多样的句法向量,得到所述句法信息。
6.根据权利要求1-5任一所述的方法,其特征在于,所述根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复,包括:
融合所述上下文语义信息、所述知识信息和所述句法信息,得到融合特征向量;
对所述融合特征向量进行解码,根据解码结果生成所述对话回复。
7.一种对话回复的生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取输入对话序列,所述输入对话序列为待回复的对话;
第二获取模块,用于根据所述输入对话序列获取上下文语义信息;
第三获取模块,用于根据所述输入对话序列获取知识信息,所述知识信息包括与所述输入对话序列在内容上关联的知识向量;
第四获取模块,用于根据所述输入对话序列获取句法信息,所述句法信息包括多样的句法向量;
生成模块,用于根据所述上下文语义信息、所述知识信息和所述句法信息,生成所述输入对话序列的对话回复。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使所述计算机设备实现权利要求1至6任一所述的对话回复的生成方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现权利要求1至6任一所述的对话回复的生成方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,所述计算机程序代码由计算机加载并执行,以使所述计算机实现权利要求1-6任一所述的对话回复的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189305.8A CN114153953A (zh) | 2021-10-12 | 2021-10-12 | 对话回复的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189305.8A CN114153953A (zh) | 2021-10-12 | 2021-10-12 | 对话回复的生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153953A true CN114153953A (zh) | 2022-03-08 |
Family
ID=80462601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111189305.8A Pending CN114153953A (zh) | 2021-10-12 | 2021-10-12 | 对话回复的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153953A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932726A (zh) * | 2023-08-04 | 2023-10-24 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
-
2021
- 2021-10-12 CN CN202111189305.8A patent/CN114153953A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932726A (zh) * | 2023-08-04 | 2023-10-24 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
CN116932726B (zh) * | 2023-08-04 | 2024-05-10 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110097019B (zh) | 字符识别方法、装置、计算机设备以及存储介质 | |
CN110503959B (zh) | 语音识别数据分发方法、装置、计算机设备及存储介质 | |
CN110750992B (zh) | 命名实体识别方法、装置、电子设备及介质 | |
CN111104980B (zh) | 确定分类结果的方法、装置、设备及存储介质 | |
CN112069309A (zh) | 信息获取方法、装置、计算机设备及存储介质 | |
CN111739517A (zh) | 语音识别方法、装置、计算机设备及介质 | |
CN113822076A (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
CN111324699A (zh) | 语义匹配的方法、装置、电子设备及存储介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN114281956A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN110555102A (zh) | 媒体标题识别方法、装置及存储介质 | |
CN113516143A (zh) | 文本图像匹配方法、装置、计算机设备及存储介质 | |
CN111339737A (zh) | 实体链接方法、装置、设备及存储介质 | |
CN110837557B (zh) | 摘要生成方法、装置、设备及介质 | |
CN114328815A (zh) | 文本映射模型的处理方法、装置、计算机设备及存储介质 | |
CN112289302B (zh) | 音频数据的合成方法、装置、计算机设备及可读存储介质 | |
CN113822084A (zh) | 语句翻译方法、装置、计算机设备及存储介质 | |
CN114153953A (zh) | 对话回复的生成方法、装置、设备及存储介质 | |
CN112287070A (zh) | 词语的上下位关系确定方法、装置、计算机设备及介质 | |
CN112764600A (zh) | 资源处理方法、装置、存储介质及计算机设备 | |
CN116860913A (zh) | 语音交互方法、装置、设备及存储介质 | |
CN110990549A (zh) | 获取答案的方法、装置、电子设备及存储介质 | |
CN112988984B (zh) | 特征获取方法、装置、计算机设备及存储介质 | |
CN113593521B (zh) | 语音合成方法、装置、设备及可读存储介质 | |
CN113763932B (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 |