CN113901832A - 人机对话方法、装置、存储介质及电子设备 - Google Patents
人机对话方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113901832A CN113901832A CN202111172073.5A CN202111172073A CN113901832A CN 113901832 A CN113901832 A CN 113901832A CN 202111172073 A CN202111172073 A CN 202111172073A CN 113901832 A CN113901832 A CN 113901832A
- Authority
- CN
- China
- Prior art keywords
- text
- target
- character
- vector
- sample
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本公开涉及一种人机对话方法、装置、存储介质及电子设备。方法包括:获取输入的原始文本;从多个候选隐向量中随机选择第一目标隐向量,多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量表征不同答复的语义信息;根据原始文本和第一目标隐向量,通过文本模型生成原始文本对应的目标答复文本。由于每次对话都从表征不同答复的语义信息的多个候选隐向量中随机选取一隐向量作为第一目标隐向量,进而根据随机选取的第一目标隐向量和原始文本,生成目标答复文本,这样,针对同一原始文本,每次生成的目标答复文本随选择的第一目标隐变量所表征的语义信息的不同而不同,由此,可提升对话生成的多样性,使对话更自然、有趣。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种人机对话方法、装置、存储介质及电子设备。
背景技术
目前聊天机器人广泛运用于即时通讯平台,一般以娱乐、零售行销、以及客服为目的。聊天机器人是经由对话或文字进行交谈的计算机程序,能够模拟人类对话。程序将通过算法把预先设定好的回答进行回复,研发者把人类自然对话内容放到数据库中供程序学习,当聊天机器人接收到对话时,识别其中的词组和句子,并通过对话预测,从数据库中找到最贴切的答案进行回复。
发明内容
为克服相关技术中存在的问题,本公开提供一种人机对话方法、装置、存储介质及电子设备。
根据本公开实施例的第一方面,提供一种人机对话方法,包括:
获取输入的原始文本;
从多个候选隐向量中随机选择第一目标隐向量,其中,所述多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;
根据所述原始文本和所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本。
在一些实施例中,所述文本模型包括嵌入层和解码器;
所述根据所述原始文本和所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本,包括:
在所述原始文本首尾分别添加预设起始符和预设分隔符,得到目标拼接文本;
将所述目标拼接文本输入到所述嵌入层中,得到所述目标拼接文本中每一字符对应的第一特征向量;
将每一所述第一特征向量分别与所述第一目标隐向量相加,得到多个第二特征向量;
根据所述多个第二特征向量,通过所述嵌入层和所述解码器,生成所述原始文本对应的目标答复文本。
在一些实施例中,所述根据所述多个第二特征向量,通过所述嵌入层和所述解码器,生成所述原始文本对应的目标答复文本,包括:
将所述多个第二特征向量输入到所述解码器中,得到第一预测字符,并将所述第一预测字符作为当前字符;
将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量;
将所述多个第二特征向量和所述第四特征向量输入到所述解码器中,得到第二预测字符,并将所述第二预测字符作为新的当前字符,将所述多个第二特征向量和所述第四特征向量作为新的多个第二特征向量;
返回所述将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量的步骤,直到所述新的当前字符为预设结束符时为止;
根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本。
在一些实施例中,所述根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本,包括:
将所述第一预测字符,以及每次得到的所述第二预测字符中、除所述预设结束符外的每一所述第二预设字符按照生成时间从早到晚的顺序依次拼接,得到所述原始文本对应的目标答复文本。
在一些实施例中,采用量子化向量-变分自编码器框架对所述文本模型进行训练。
在一些实施例中,所述文本模型通过以下方式训练得到:
获取样本文本和所述样本文本对应的样本答复文本;
将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
通过将所述样本拼接文本作为所述嵌入层的输入,将所述嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述解码器的输入,将所述样本答复文本作为所述解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
在一些实施例中,所述文本模型通过以下方式训练得到:
获取无监督语料;
通过所述无监督语料对文本模型进行无监督预训练,得到初始模型;
获取样本文本和所述样本文本对应的样本答复文本;
将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
通过将所述样本拼接文本作为所述初始模型的嵌入层的输入,将所述初始模型的嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述初始模型的解码器的输入,将所述样本答复文本作为所述初始模型的解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
根据本公开实施例的第二方面,提供一种人机对话装置,包括:
获取模块,被配置为获取输入的原始文本;
选择模块,被配置为从多个候选隐向量中随机选择第一目标隐向量,其中,所述多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;
生成模块,被配置为根据所述获取模块获取到的所述原始文本和所述选择模块选择出的所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的人机对话方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行本公开第一方面所提供的人机对话方法。
本公开的实施例提供的技术方案可以包括以下有益效果:首先,获取输入的原始文本;同时,从多个候选隐向量中随机选择第一目标隐向量,多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;根据原始文本和第一目标隐向量,通过文本模型,生成原始文本对应的目标答复文本。由于每次对话都从表征不同答复的语义信息的多个候选隐向量中随机选取一个隐向量作为第一目标隐向量,进而根据随机选取的第一目标隐向量和原始文本,生成原始文本对应的目标答复文本,这样,针对同一原始文本,每次生成的目标答复文本随机选择的第一目标隐变量所表征的语义信息的不同而不同,由此,可以提升对话生成的多样性,使得对话更加自然、有趣。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据本公开一示例性实施例示出的一种人机对话方法的流程图。
图2是根据本公开一示例性实施例示出的另一种人机对话方法的流程图。
图3是根据本公开一示例性实施例示出的一种人机对话方法的流程图。
图4是根据本公开一示例性实施例示出的一种文本模型训练方法的流程图。
图5是根据本公开一示例性实施例示出的另一种文本模型训练方法的流程图。
图6是根据本公开一示例性实施例示出的一种人机对话装置的框图。
图7是根据本公开一示例性实施例示出的一种人机对话装置的框图。
图8是根据本公开一示例性实施例示出的一种人机对话装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
目前聊天机器人广泛运用于即时通讯平台,一般以娱乐、零售行销、以及客服为目的。聊天机器人是经由对话或文字进行交谈的计算机程序,能够模拟人类对话。程序将通过算法把预先设定好的回答进行回复,研发者把人类自然对话内容放到数据库中供程序学习,当聊天机器人接收到对话时,识别其中的词组和句子,并通过对话预测,从数据库中找到最贴切的答案进行回复。由于每次都是从数据库找到与当前问题最贴切的答案进行回复,这样,将会导致每次输入同一问题时,回复的答案始终是同一个,趣味性较差。然而在现实世界中,对话是存在多对一的情况的,即针对“你吃了吗”,回复可以多种多样。鉴于此,本公开提供一种人机对话方法、装置、存储介质及电子设备。
图1是根据一示例性实施例示出的一种人机对话方法的流程图,其中,该方法用于智能手机、平板设备、个人电脑等终端设备,也可以用于服务器。如图1所示,上述人机对话方法可以包括以下S101~S103。
在S101中,获取输入的原始文本。
在本公开中,上述原始文本通常为对话的问题。在上述人机对话方法应用于终端设备的情况下,上述原始文本可以为终端设备通过响应于自身的输入界面得到的文本,也可以是其他设备通过网络通信发送给该终端设备的文本。在上述人机对话方法应用于服务器的情况下,上述原始文本可以是服务器接收其他设备发送的、用户输入的文本。其中,上述其他设备例如可以是智能手机,平板电脑等终端设备。
在S102中,从多个候选隐向量中随机选择第一目标隐向量。
在本公开中,多个(例如,20个)候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息。上述预设参数向量可以为文本模型的、未利用的参数向量中的一者。
示例地,上述文本模型可以为GPT2(Generative Pre-Training,GPT2)模型、基于变压器的双向编码器表示(Bidirectional Encoder Representation fromTransformers,BERT)模型、词向量模型ELMo(Embeddings from Language Models)等。
在S103中,根据原始文本和第一目标隐向量,通过文本模型,生成原始文本对应的目标答复文本。
示例地,上述多个候选隐向量包括候选隐向量1、候选隐向量2以及候选隐向量3;原始文本为“你今天吃了吗”,第一目标隐向量为候选隐向量1,此时,通过文本模型生成的目标答复文本为“吃过了”。
又示例地,上述多个候选隐向量包括候选隐向量1、候选隐向量2以及候选隐向量3;原始文本为“你今天吃了吗”,第一目标隐向量为候选隐向量2,此时,通过文本模型生成的目标答复文本为“吃的很饱”。
又示例地,上述多个候选隐向量包括候选隐向量1、候选隐向量2以及候选隐向量3;原始文本为“你今天吃了吗”,第一目标隐向量为候选隐向量3,此时,通过文本模型生成的目标答复文本为“还没吃呢”。
本公开的实施例提供的技术方案可以包括以下有益效果:首先,获取输入的原始文本;同时,从多个候选隐向量中随机选择第一目标隐向量,多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;根据原始文本和第一目标隐向量,通过文本模型,生成原始文本对应的目标答复文本。由于每次对话都从表征不同答复的语义信息的多个候选隐向量中随机选取一个隐向量作为第一目标隐向量,进而根据随机选取的第一目标隐向量和原始文本,生成原始文本对应的目标答复文本,这样,针对同一原始文本,每次生成的目标答复文本随选择的第一目标隐变量所表征的语义信息的不同而不同,由此,可以提升对话生成的多样性,使得对话更加自然、有趣。
下面针对上述S103中的根据原始文本和第一目标隐向量,通过文本模型,生成原始文本对应的目标答复文本的具体实施方式进行详细说明。具体来说,上述文本模型包括嵌入层和解码器,此时,可以通过图2中所示的S1031~S1034来实现。
在S1031中,在原始文本首尾分别添加预设起始符和预设分隔符,得到目标拼接文本。
在S1032中,将目标拼接文本输入到嵌入层中,得到目标拼接文本中每一字符对应的第一特征向量。
在本公开中,文本模型的嵌入层用于对目标拼接文本进行编码,以得到目标拼接文本中每一字符对应的第一特征向量。
在S1033中,将每一第一特征向量分别与第一目标隐向量相加,得到多个第二特征向量。
在S1034中,根据多个第二特征向量,通过嵌入层和解码器,生成原始文本对应的目标答复文本。
下面针对上述S1034中的根据多个第二特征向量,通过嵌入层和解码器,生成原始文本对应的目标答复文本的具体实施方式进行详细说明。具体来说,可以通过图3中所示的S10341~S10345来实现:
在S10341中,将多个第二特征向量输入到解码器中,得到第一预测字符,并将第一预测字符作为当前字符。
在本公开中,将多个第二特征向量输入到解码器中,得到原始文本对应的目标答复文本中的第一个字符,即第一预测字符。
在S10342中,将当前字符输入到嵌入层,得到当前字符对应的第三特征向量,并将第三特征向量与第一目标隐向量相加,得到第四特征向量。
在S10343中,将多个第二特征向量和第四特征向量输入到解码器中,得到第二预测字符,并将第二预测字符作为新的当前字符,将多个第二特征向量和第四特征向量作为新的多个第二特征向量。
在本公开中,将多个第二特征向量和第四特征向量输入到文本模型的解码器中,得到原始文本对应的目标答复文本中的、当前字符的下一字符,即第二预测字符。
在S10344中,判断新的当前字符是否为预设结束符。
若新的当前字符并非是预设结束符,则表明并未得到完整的目标答复文本,此时,需要继续预测新的当前字符的下一字符,即返回上述S10342;若新的当前字符为预设结束符,则表明已得到完整的目标答复文本,此时,停止字符预测,之后,执行以下S10345。
在S10345中,根据第一预测字符和每次生成的第二预测字符,生成原始文本对应的目标答复文本。
具体来说,可以将第一预测字符,以及每次得到的第二预测字符中、除预设结束符外的每一第二预设字符按照生成时间从早到晚的顺序依次拼接,得到原始文本对应的目标答复文本。
示例地,原始文本为“你今天吃了吗”,第一目标隐向量为候选隐向量1,预设起始符为“CLS”、预设分隔符为“SEP”,预设结束符为“SEP”,此时,可以通过以下步骤(1)~步骤(11)来生成对应的目标答复文本:
(1)在原始文本“你今天吃了吗”首尾分别添加预设起始符“CLS”和预设分隔符“SEP”,得到目标拼接文本“CLS你今天吃了吗SEP”;
(2)将该目标拼接文本“CLS你今天吃了吗SEP”输入到文本模型的嵌入层中,得到“CLS”对应的第一特征向量、“你”对应的第一特征向量、“今”对应的第一特征向量、“天”对应的第一特征向量、“吃”对应的第一特征向量、“了”对应的第一特征向量、“吗”对应的第一特征向量、“SEP”对应的第一特征向量;
(3)将上述步骤(2)得到的各第一特征向量分别与第一目标隐向量(即候选隐向量1)相加,得到多个第二特征向量;
(4)将上述步骤(3)得到的多个第二特征向量输入到文本模型的解码器中,以预测上述原始文本“你今天吃了吗”对应的目标答复文本中的第一个字符,得到第一预测字符“吃”,此时,当前字符为“吃”;
(5)将当前字符“吃”输入到文本模型的嵌入层,得到当前字符“吃”对应的第三特征向量,并将当前字符“吃”对应的第三特征向量与第一目标隐向量相加,得到第四特征向量;
(6)将上述步骤(3)得到的多个第二特征向量和上述步骤(5)得到的第四特征向量输入到文本模型的解码器中,以预测上述原始文本“你今天吃了吗”对应的目标答复文本中的第二个字符,得到第二预测字符“过”,此时,当前字符为“过”,新的多个第二特征向量包括上述步骤(3)得到的多个第二特征向量和上述步骤(5)得到的第四特征向量;
(7)当前字符“过”并非是预设结束符“SEP”,此时,将当前字符“过”输入到文本模型的嵌入层,得到当前字符“过”对应的第三特征向量,并将当前字符“过”对应的第三特征向量与第一目标隐向量相加,得到第四特征向量;
(8)将新的多个第二特征向量(包括上述步骤(3)得到的多个第二特征向量和上述步骤(5)得到的第四特征向量)和上述步骤(7)得到的第四特征向量输入到文本模型的解码器中,以预测上述原始文本“你今天吃了吗”对应的目标答复文本中的第三个字符,得到第二预测字符“了”,此时,当前字符为“了”,新的多个第二特征向量包括上述步骤(3)得到的多个第二特征向量、上述步骤(5)得到的第四特征向量以及上述步骤(7)得到的第四特征向量;
(9)当前字符“了”并非是预设结束符“SEP”,此时,将当前字符“了”输入到文本模型的嵌入层,得到当前字符“了”对应的第三特征向量,并将当前字符“了”对应的第三特征向量与第一目标隐向量相加,得到第四特征向量;
(10)将新的多个第二特征向量(包括上述步骤(3)得到的多个第二特征向量、上述步骤(5)得到的第四特征向量以及上述步骤(7)得到的第四特征向量)和上述步骤(9)得到的第四特征向量输入到文本模型的解码器中,以预测上述原始文本对应的目标答复文本中的第四个字符,得到第二预测字符“SEP”,此时,当前字符为“SEP”,新的多个第二特征向量包括上述步骤(3)得到的多个第二特征向量、上述步骤(5)得到的第四特征向量、上述步骤(7)得到的第四特征向量以及上述步骤(9)得到的第四特征向量;
(11)当前字符“SEP”为预设结束符“SEP”,此时,将第一预测字符“吃”,以及每次得到的第二预测字符(包括“过”、“了”、“SEP”)中、除预设结束符“SEP”外的每一第二预设字符按照生成时间从早到晚的顺序依次拼接,得到原始文本对应的目标答复文本“吃过了”。
下面针对上述文本模型的具体训练方式进行详细说明。在本公开中,可以采用量子化向量-变分自编码器(Vector Quantized-Variational Auto Encoder,VQ-VAE)框架对文本模型进行训练。具体来说,可以通过多种方式来训练上述文本模型。在一种实施方式中,可以通过图4中所示的S401~S403来训练上述文本模型。
在S401中,获取样本文本和样本文本对应的样本答复文本。
在S402中,将预设起始符、样本文本、预设分隔符、样本答复文本以及预设结束符依次拼接,得到样本拼接文本。
在S403中,通过将样本拼接文本作为嵌入层的输入,将嵌入层输出的样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为解码器的输入,将样本答复文本作为解码器的目标输出的方式进行模型训练,以得到文本模型。
在本公开中,第二目标隐向量为嵌入层当前的多个预设参数向量中与预设起始符对应的第五特征向量的相似度最高的预设参数向量。示例地,可以通过欧式距离、余弦距离等方式来衡量各预设参数向量与预设起始符对应的第五特征向量的相似度。在模型训练阶段,嵌入层的多个预设参数向量可以学习和捕捉到不同的语义信息。
在另一种实施方式中,可以通过图5中所示的S501~S505来训练上述文本模型。
在S501中,获取无监督语料。
在本公开中,可以从语料库中获取无监督语料,也可以从各种类型的书籍中得到无监督语料,如悬疑类、恐怖类、言情类等,并且,无监督语料的类型可以是文言文、古诗词、白话文等等。本公开对此均不作具体限定。
在S502中,通过无监督语料对文本模型进行无监督预训练,得到初始模型。
在S503中,获取样本文本和样本文本对应的样本答复文本。
在S504中,将预设起始符、样本文本、预设分隔符、样本答复文本以及预设结束符依次拼接,得到样本拼接文本。
在S505中,通过将样本拼接文本作为初始模型的嵌入层的输入,将初始模型的嵌入层输出的样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为初始模型的解码器的输入,将样本答复文本作为初始模型的解码器的目标输出的方式进行模型训练,以得到文本模型。
在利用无监督语料对文本模型进行无监督预训练后,得到初始模型;之后,利用样本文本和样本文本对应的样本答复文本(即对话语料)对预训练得到的初始模型进行微调,从而得到上述文本模型。由于预训练后所得的初始模型具有扩展性,因此,通过少量对话语料对预训练后所得的初始模型进行训练(微调),即可使得训练完成的文本模型能够针对输入的文本输出回复文本。并且,无监督语料的获取方式简单,从而还能够降低成本。
另外,在上述文本模型训练的过程,可以采用以下损失函数进行模型训练:
其中,lossrec为损失函数;x为样本文本;y为样本文本对应的样本答复文本;sg为停止计算梯度;h(x,y)为预设起始符对应的第五特征向量;z为第二目标隐向量;-log p(y|x,h(x,y)+sg[z-h(x,y)])为最大似然估计,p为概率;β为常数,示例地,β=0.25。
需要说明的是,当上述文本模型为GPT2模型时,可以取消GPT2模型在解码器部分从左向右的限制(即,使得该解码器利用上下文预测字符),这样,在进行自注意力机制运算的时候,两两字符之间都已相互接触,那么此时GPT2模型便转换成了BERT模型。由此,预设起始符对应的特征向量同时涵盖了样本文本和该样本文本对应的样本答复文本,即同时涵盖了问题和答案,因此,可以利用预设起始符对应的第五特征向量跟嵌入层当前的多个预设参数向量进行相似度运算,以选择出与原始文本最相关的隐变量。
基于同样的发明构思,本公开还提供一种人机对话装置。如图6所示,所述对话装置600包括:
获取模块601,被配置为获取输入的原始文本;
选择模块602,被配置为从多个候选隐向量中随机选择第一目标隐向量,其中,所述多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;
生成模块603,被配置为根据所述获取模块601获取到的所述原始文本和所述选择模块602选择出的所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本。
本公开的实施例提供的技术方案可以包括以下有益效果:首先,获取输入的原始文本;同时,从多个候选隐向量中随机选择第一目标隐向量,多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;根据原始文本和第一目标隐向量,通过文本模型,生成原始文本对应的目标答复文本。由于每次对话都从表征不同答复的语义信息的多个候选隐向量中随机选取一个隐向量作为第一目标隐向量,进而根据随机选取的第一目标隐向量和原始文本,生成原始文本对应的目标答复文本,这样,针对同一原始文本,每次生成的目标答复文本随选择的第一目标隐变量所表征的语义信息的不同而不同,由此,可以提升对话生成的多样性,使得对话更加自然、有趣。
在一些实施例中,所述文本模型包括嵌入层和解码器;
所述生成模块603包括:
添加子模块,被配置为在所述原始文本首尾分别添加预设起始符和预设分隔符,得到目标拼接文本;
第一输入子模块,被配置为将所述目标拼接文本输入到所述嵌入层中,得到所述目标拼接文本中每一字符对应的第一特征向量;
处理子模块,被配置为将每一所述第一特征向量分别与所述第一目标隐向量相加,得到多个第二特征向量;
第一生成子模块,被配置为根据所述多个第二特征向量,通过所述嵌入层和所述解码器,生成所述原始文本对应的目标答复文本。
在一些实施例中,所述第一生成子模块包括:
第二输入子模块,被配置为将所述多个第二特征向量输入到所述解码器中,得到第一预测字符,并将所述第一预测字符作为当前字符;
第三输入子模块,被配置为将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量;
第四输入子模块,被配置为将所述多个第二特征向量和所述第四特征向量输入到所述解码器中,得到第二预测字符,并将所述第二预测字符作为新的当前字符,将所述多个第二特征向量和所述第四特征向量作为新的多个第二特征向量;
触发子模块,被配置为触发所述第三输入子模块将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量,直到所述新的当前字符为预设结束符时为止;
第二生成子模块,被配置为根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本。
在一些实施例中,所述根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本,包括:
将所述第一预测字符,以及每次得到的所述第二预测字符中、除所述预设结束符外的每一所述第二预设字符按照生成时间从早到晚的顺序依次拼接,得到所述原始文本对应的目标答复文本。
在一些实施例中,采用量子化向量-变分自编码器框架对所述文本模型进行训练。
在一些实施例中,所述文本模型通过第一模型训练装置训练得到。其中,该第一模型训练装置包括:
第一样本获取模块,被配置为获取样本文本和所述样本文本对应的样本答复文本;
第一拼接模块,被配置为将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
第一训练模块,被配置为通过将所述样本拼接文本作为所述嵌入层的输入,将所述嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述解码器的输入,将所述样本答复文本作为所述解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
在一些实施例中,所述文本模型通过第二模型训练装置训练得到。其中,该第二模型训练装置包括:
第二样本获取模块,被配置为获取无监督语料;
第二训练模块,被配置为通过所述无监督语料对文本模型进行无监督预训练,得到初始模型;
第三样本获取模块,被配置为获取样本文本和所述样本文本对应的样本答复文本;
第二拼接模块,被配置为将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
第三训练模块,被配置为通过将所述样本拼接文本作为所述初始模型的嵌入层的输入,将所述初始模型的嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述初始模型的解码器的输入,将所述样本答复文本作为所述初始模型的解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的上述人机对话方法的步骤。
本公开还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行本公开提供的上述人机对话方法。
图7是根据一示例性实施例示出的一种人机对话装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图7,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的人机对话方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述人机对话方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述人机对话方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的人机对话方法的代码部分。
图8是根据一示例性实施例示出的一种人机对话装置1900的框图。例如,装置1900可以被提供为一服务器。参照图8,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述人机对话方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种人机对话方法,其特征在于,包括:
获取输入的原始文本;
从多个候选隐向量中随机选择第一目标隐向量,其中,所述多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;
根据所述原始文本和所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本。
2.根据权利要求1所述的方法,其特征在于,所述文本模型包括嵌入层和解码器;
所述根据所述原始文本和所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本,包括:
在所述原始文本首尾分别添加预设起始符和预设分隔符,得到目标拼接文本;
将所述目标拼接文本输入到所述嵌入层中,得到所述目标拼接文本中每一字符对应的第一特征向量;
将每一所述第一特征向量分别与所述第一目标隐向量相加,得到多个第二特征向量;
根据所述多个第二特征向量,通过所述嵌入层和所述解码器,生成所述原始文本对应的目标答复文本。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个第二特征向量,通过所述嵌入层和所述解码器,生成所述原始文本对应的目标答复文本,包括:
将所述多个第二特征向量输入到所述解码器中,得到第一预测字符,并将所述第一预测字符作为当前字符;
将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量;
将所述多个第二特征向量和所述第四特征向量输入到所述解码器中,得到第二预测字符,并将所述第二预测字符作为新的当前字符,将所述多个第二特征向量和所述第四特征向量作为新的多个第二特征向量;
返回所述将所述当前字符输入到所述嵌入层,得到所述当前字符对应的第三特征向量,并将所述第三特征向量与所述第一目标隐向量相加,得到第四特征向量的步骤,直到所述新的当前字符为预设结束符时为止;
根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一预测字符和每次生成的所述第二预测字符,生成所述原始文本对应的目标答复文本,包括:
将所述第一预测字符,以及每次得到的所述第二预测字符中、除所述预设结束符外的每一所述第二预设字符按照生成时间从早到晚的顺序依次拼接,得到所述原始文本对应的目标答复文本。
5.根据权利要求2所述的方法,其特征在于,采用量子化向量-变分自编码器框架对所述文本模型进行训练。
6.根据权利要求5所述的方法,其特征在于,所述文本模型通过以下方式训练得到:
获取样本文本和所述样本文本对应的样本答复文本;
将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
通过将所述样本拼接文本作为所述嵌入层的输入,将所述嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述解码器的输入,将所述样本答复文本作为所述解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
7.根据权利要求5所述的方法,其特征在于,所述文本模型通过以下方式训练得到:
获取无监督语料;
通过所述无监督语料对文本模型进行无监督预训练,得到初始模型;
获取样本文本和所述样本文本对应的样本答复文本;
将所述预设起始符、所述样本文本、所述预设分隔符、所述样本答复文本以及预设结束符依次拼接,得到样本拼接文本;
通过将所述样本拼接文本作为所述初始模型的嵌入层的输入,将所述初始模型的嵌入层输出的所述样本拼接文本中每一字符对应的第五特征向量分别与第二目标隐向量相加得到的多个第六特征向量作为所述初始模型的解码器的输入,将所述样本答复文本作为所述初始模型的解码器的目标输出的方式进行模型训练,以得到所述文本模型,其中,所述第二目标隐向量为所述嵌入层当前的多个预设参数向量中与所述预设起始符对应的第五特征向量的相似度最高的预设参数向量。
8.一种人机对话装置,其特征在于,包括:
获取模块,被配置为获取输入的原始文本;
选择模块,被配置为从多个候选隐向量中随机选择第一目标隐向量,其中,所述多个候选隐向量为预先训练好的文本模型的多个预设参数向量,不同预设参数向量用于表征不同答复的语义信息;
生成模块,被配置为根据所述获取模块获取到的所述原始文本和所述选择模块选择出的所述第一目标隐向量,通过所述文本模型,生成所述原始文本对应的目标答复文本。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1~7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1~7中任意一项所述的人机对话方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172073.5A CN113901832A (zh) | 2021-10-08 | 2021-10-08 | 人机对话方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111172073.5A CN113901832A (zh) | 2021-10-08 | 2021-10-08 | 人机对话方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901832A true CN113901832A (zh) | 2022-01-07 |
Family
ID=79190577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111172073.5A Pending CN113901832A (zh) | 2021-10-08 | 2021-10-08 | 人机对话方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901832A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737888A (zh) * | 2023-01-11 | 2023-09-12 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
-
2021
- 2021-10-08 CN CN202111172073.5A patent/CN113901832A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737888A (zh) * | 2023-01-11 | 2023-09-12 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
CN116737888B (zh) * | 2023-01-11 | 2024-05-17 | 北京百度网讯科技有限公司 | 对话生成模型的训练方法和答复文本的确定方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684510B (zh) | 视频排序方法、装置、电子设备及存储介质 | |
CN107291690B (zh) | 标点添加方法和装置、用于标点添加的装置 | |
CN111524521B (zh) | 声纹提取模型训练方法和声纹识别方法、及其装置和介质 | |
CN107221330B (zh) | 标点添加方法和装置、用于标点添加的装置 | |
CN111612070B (zh) | 基于场景图的图像描述生成方法及装置 | |
CN111242303B (zh) | 网络训练方法及装置、图像处理方法及装置 | |
CN107564526B (zh) | 处理方法、装置和机器可读介质 | |
US11335348B2 (en) | Input method, device, apparatus, and storage medium | |
CN109685041B (zh) | 图像分析方法及装置、电子设备和存储介质 | |
CN111831806A (zh) | 语义完整性确定方法、装置、电子设备和存储介质 | |
CN112148980B (zh) | 基于用户点击的物品推荐方法、装置、设备和存储介质 | |
CN110674246A (zh) | 问答模型训练方法、自动问答方法及装置 | |
CN111199730B (zh) | 语音识别方法、装置、终端及存储介质 | |
CN113378583A (zh) | 对话回复方法及装置、对话模型训练方法及装置、存储介质 | |
CN106446969B (zh) | 用户识别的方法及装置 | |
CN112559673A (zh) | 语言处理模型的训练方法及装置、电子设备及存储介质 | |
CN112445906A (zh) | 一种生成回复消息的方法及装置 | |
CN112631435A (zh) | 一种输入方法、装置、设备及存储介质 | |
CN113656557A (zh) | 消息回复方法、装置、存储介质及电子设备 | |
CN113901832A (zh) | 人机对话方法、装置、存储介质及电子设备 | |
CN112948565A (zh) | 人机对话方法、装置、电子设备及存储介质 | |
CN110858099B (zh) | 候选词生成方法及装置 | |
CN110895558A (zh) | 一种对话回复的方法及相关装置 | |
CN113535969B (zh) | 语料扩充方法、装置、计算机设备及存储介质 | |
CN113420553A (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 |