CN110874402A - 基于个性化信息的回复生成方法、设备和计算机可读介质 - Google Patents
基于个性化信息的回复生成方法、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN110874402A CN110874402A CN201811293645.3A CN201811293645A CN110874402A CN 110874402 A CN110874402 A CN 110874402A CN 201811293645 A CN201811293645 A CN 201811293645A CN 110874402 A CN110874402 A CN 110874402A
- Authority
- CN
- China
- Prior art keywords
- hidden vector
- vector
- user
- decoder
- personalized
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 239000013598 vector Substances 0.000 claims abstract description 450
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000000306 recurrent effect Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000002996 emotional effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 230000024159 perception of rate of movement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
Abstract
本公开提供了一种回复生成方法,所述回复生成方法通过以下中的至少一种方式进行优化:方式一、将用户个性化信息的至少两种属性信息组合转换为用户个性化隐向量;方式二、在根据词向量来生成编码器隐向量之前,采用所述用户个性化隐向量对所述词向量进行处理;方式三、将用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。本公开还提供了回复生成设备、对对话模型的训练方法以及计算机可读介质。
Description
技术领域
本公开涉及自然语言处理领域,更具体地,涉及一种基于个性化信息的回复生成方法、设备和计算机可读介质。
背景技术
如何与机器使用自然语言展开对话,是人工智能领域的一个重要研究课题。事实上,人机对话技术被视为人工智能领域最富挑战性的任务。一个机器是否能模仿人类与其他人展开对话甚至被当作判断这个机器是否有“智能”的标准。
人机对话技术的主要挑战集中在于如何解决交互过程中的语义性、一致性和交互性。语义性涉及自然语言理解的根本问题,需要在交互过程中理解用户输入内容、上下文、对话背景(对话者身份、角色)与情境(情感、情绪),还常常涉及到利用常识、世界知识、背景知识进行逻辑推理等。一致性对于“类人水平”的对话机器人非常重要,常常体现为身份、个性化、性格等因素上的一致性。而这些因素如何体现在语言交互上,是非常前沿和具有挑战性的问题。交互性是对话系统的终极目标:通过有效的交互,满足用户的信息需求或情感需要,或实现特定的任务目标。
人机对话技术从对话交互目标的类型上可大致分为三类。
第一类是以闲聊为主的人机对话。这类对话系统不以完成某个具体任务为目标,纯粹是为了与用户进行情感交流和沟通。这种人机对话技术通常应用于娱乐、情感陪护或者护理型机器人上。微软小冰就是其典型代表。她可以陪用户聊天解闷,甚至引导用户的情绪。这类对话系统所产生的回复不限定于某个特定领域,属于开放域的对话系统。
第二类人机对话技术主要用于任务导向的对话系统。这类系统具有明确的任务目标,通常是为了解决某一个具体的任务,如订餐馆,订票等。通过这样的系统,可以极大地减少人力成本。因此这项技术受到了商业公司的广泛关注。这类对话系统所能处理的问题与回复通常只限定于某个特定领域或者某些内容范围。但受限于当前技术,使用任务型对话系统完全替代人工还不现实,因此人机协作式的对话系统是值得深入研究和探索的课题。
任务导向对话系统还有一类比较特殊的分支,那就是知识问答系统。不同于常规的任务导向对话系统,知识问答系统主要关注于使用准确、简洁的自然语言回答用户用自然语言所提出的问题,从而可以快速、准确地帮助人们获取信息。事实上,我们也可以将“获取信息”当作是某种“任务”。随着技术的进步,这类系统也在传统的单轮次问答模式上引入了多轮次的对话交互(如交互式的商品推荐),以应对复杂的信息获取需求。
但是,现有技术在生成回复的过程中并没有考虑到不同的回复风格。事实上,不同性格的用户在相同的上下文中所产生的回复风格是不同的。
如何在生成回复的过程中考虑用户个性化信息是亟待解决的技术问题。
发明内容
根据本公开提出的方案,就可以在生成回复的过程中考虑用户个性化信息。
根据本公开的第一方面,提供了一种回复生成方法,包括:
在编码器侧,将输入文本转换为词向量,根据所述词向量来生成编码器隐向量;
在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复;以及
生成用户个性化隐向量,将所述个性化隐向量用于所述编码器侧和/或解码器侧;
所述方法通过以下中的至少一种方式进行优化:
方式一、将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、在根据所述词向量来生成编码器隐向量之前,采用所述用户个性化隐向量对所述词向量进行处理;
方式三、将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
根据本公开的一个实施例,所述将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量包括:
将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及
根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的一个实施例,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入隐向量生成,或者所述权值是可设置的。
根据本公开的一个实施例,所述用户个性化信息由用户输入和/或是可设置的。
根据本公开的一个实施例,根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成或者可设置的。
根据本公开的第二方面,提供了一种回复生成设备,包括:
编码器,被配置为:
将输入文本转换为词向量;以及
根据所述词向量来生成编码器隐向量;
解码器,被配置为:
根据编码器隐向量生成解码器隐向量;以及
根据解码器隐向量来生成回复;以及
用户个性化隐向量生成模块,被配置为:
生成用户个性化隐向量,以及将所述个性化隐向量用于所述编码器和/或解码器;
其中,通过以下中的至少一种方式对所述回复生成设备进行优化:
方式一、所述用户个性化隐向量生成模块被配置为:将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、所述编码器还被配置为:在根据所述词向量来生成编码器隐向量之前,采用所述用户个性化隐向量对所述词向量进行处理;
方式三、所述解码器还被配置为:将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,以及采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
根据本公开的一个实施例,所述用户个性化隐向量生成模块还被配置为:
将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及
根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的一个实施例,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入隐向量生成,或者所述权值是可设置的。
根据本公开的一个实施例,所述用户个性化信息由用户输入和/或是可设置的。
根据本公开的一个实施例,所述解码器根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成或者可设置的。
根据本公开的第三方面,提供了一种对话模型的训练方法,所述对话模型包括编码器、解码器和用户个性化隐向量生成模块,所述训练方法包括:
在编码器侧,将训练输入转换为词向量,根据所述词向量来生成编码器隐向量;
在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复;
用户个性化隐向量生成模块生成用户个性化隐向量,以及将所述个性化隐向量用于所述编码器和/或解码器;以及
将所述回复与参考回复进行比较,根据比较结果训练所述对话模型的参数;
其中,根据以下中的至少一种方式对所述训练方法进行优化:
方式一、所述用户个性化隐向量生成模块将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、在根据所述词向量来生成编码器隐向量之前,所述编码器采用所述用户个性化隐向量对所述词向量进行处理;
方式三、所述解码器将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
根据本公开的一个实施例,所述将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量包括:
将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及
根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的一个实施例,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入输出隐向量生成。
根据本公开的一个实施例,根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成。
根据本公开的第三方面,提供了一种电子设备,包括:
处理器;以及
存储器,存储有计算机可执行指令,所述指令在被处理器执行时,使处理器执行根据上述方面和实施例所述的方法。
根据本公开的第三方面,提供了一种计算机可读介质,在其上存储有指令,所述指令在由处理器执行时,使所述处理器执行根据上述方面和实施例所述的方法。
附图说明
图1示出了根据本公开实施例的回复生成设备的结构示意图;
图2示出了根据本公开一个实施例的回复生成方法的流程图;
图3示出了根据本公开实施例的编码器的结构示意图;
图4示出了根据本公开实施例的用户个性化隐向量生成方法的流程图;
图5示出了根据本公开实施例的用户个性化隐向量生成模块的结构示意图;
图6示出了根据本公开实施例的在解码器侧的方法的流程图;
图7示出了根据本公开实施例的解码器的结构示意图;
图8示出了根据本公开的一个实施例的回复生成设备的结构示意图;
图9给出了根据本公开的另一个实施例的回复生成设备的结构示意图;
图10示出了根据本公开实施例的对对话模型进行训练的方法的流程图;
图11示出了根据用户等级的用户数量分布;
图12示出了根据用户年龄的用户数据分布;
图13示出了输入文本和回复的数量之间的对应关系;
图14示意性地示出了根据本公开示例性实施例的电子设备的结构框图;
图15是示出根据各种实施例的电子装置的框图;以及
图16给出了根据本公开的另一个实施例的回复生成设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能解释为对本公开的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本公开的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本公开所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
由于深度学习的兴起,基于大规模语料的人机对话模型得到了快速发展,这种模型既可以用于闲聊对话,又可以用于任务导向对话系统中的回复生成模块。这类对话模型的技术实现可以大致分为两类:检索式模型和生成式模型。
检索式模型的主要思路是在对话语料库中找出与输入语句最为相近的回复,其所生成的回复通常是预先存储的数据。这类模型首先需要构建一个丰富的对话语料库,对于每一条输入语句,检索模型会从候选语句中挑选语义匹配度最大的语句的回复作为其回复。因此检索模型的核心为其所使用的语义匹配算法。早期的研究工作大都只关注了单轮的对话,这些方法不能有效利用上下文信息做出准确匹配。近年来,基于多轮对话的检索式对话系统得到了越来越多的关注,这些模型在选择回复的过程中不止考虑了当前的对话,同时还考虑了丰富的历史对话。这些下文信息极大地提升了检索式模型的性能。同时基于深度学习的匹配算法也在匹配性能上获得了较大的进展。
与检索式模型不同,生成式模型的主要目标为根据当前对话上下文生成回复,这一回复有可能是模型在训练阶段没有见过的崭新回复。生成式模型借鉴了机器翻译的思路,随着序列到序列(Seq2Seq)转换模型在机器翻译中取得了成功,其在对话生成模型中也得到了广泛的应用。这些模型一般采用“编码-解码”结构,其结构如图1所示。
图1示出了根据本公开实施例的回复生成设备100的结构示意图。如图1所示,回复生成设备100包括编码器110和解码器120。
编码器110可以例如使用词向量表,将输入文本xi转换为词向量。然后,编码器110例如使用循环神经网络,将词向量编码为编码器隐向量,表示为hi。解码器120例如使用另一个循环神经网络,根据前一时间步长输出的解码器隐向量(表示为si-1)(也可以称为解码器的输入隐向量)和前一时间步长解码得到的字符(表示为yi-1)来生成解码器隐向量(也可以称为解码器的输出隐向量)。然后通过例如查找词向量表,根据解码器隐向量si来成字符yi。这一生成过程可以使用如下公式描述:
si=RNN(si-1,ci,yi-1)
针对第一个时间步长,解码器120采用编码器隐向量作为解码器的输入隐向量。
图1中还示出了,可以根据注意力机制生成注意力隐向量(表示为ci),并且利用注意力隐向量对解码器的输入隐向量进行处理,以更高效地生成针对输入文本的回复(字符)。这一注意力机制可以使用如下公式描述:
根据本公开的技术方案,充分考虑用户个信息信息。根据本公开的一个实施例,通过在编码器侧考虑用户个性化信息,来优化回复生成方法。这一过程可以形式化为如下公式:
Y=argmaxYP(Y|X,T)
其中Y表示所生成的回复,X表示输出语句,T表示所给定的个性化信息。arg maxY表示使得P(Y|X,T)取值最大的Y,其中P(Y|X,T)表示给定X和T的情况下生成Y的概率分布。
图2示出了根据本公开一个实施例的回复生成方法200的流程图。
如图2所示,步骤S210中,在编码器侧将输入文本转换为词向量。然后在步骤S220中,采用用户个性化隐向量对所述词向量进行处理。然后在步骤S230中,根据处理后的词向量来生成编码器隐向量。生成的编码器隐向量输入解码器。之后,在步骤S240中,根据编码器隐向量生成解码器隐向量。最后在步骤S250中,根据解码器隐向量生成回复。
图3示出了根据本公开实施例的编码器300的结构示意图。
编码器300可以将输入文本编码为一个隐向量(下面称为编码器隐向量)。编码器300可以由两部分组成。第一个部分是词向量表310,具体表示方式为一个矩阵w,其大小为hdim*nvocab,其中hdim表示词向量的大小,nvocab表示词向量表的大小。词向量表的作用是将输入语句中的词语转换成大小为1*hdim的词向量矩阵(1为输入语句/输入文本的长度)。在处理输入语句前,编码器会先将用户的输入语句拆分为词语。编码器300的第二部分由一个循环神经网络320组成,其在每个时间步长可以接受一个词向量作为输入。将最后一个时间步长的隐向量作为用户输入的文本的隐向量Hinput(其长度为hdim)。根据本公开的实施例,编码器300同时还可以接受用户个性化隐向量作为输入,即在每个时间步长,通过用户个性化隐向量对词向量进行处理,处理后的词向量作为循环神经网络320的输入。所述处理可以包括例如将用户个性化隐向量与词向量拼接、平均或者最大池化等处理。
根据本公开的另一实施例,编码器300所接收的用户个性化隐向量可以采用现有技术中的用户个性化隐向量,也可以是采用根据本公开实施例生成的用户个性化隐向量。
根据本公开的一个实施例,通过将用户个性化信息的至少两种属性信息组合转换为用户个性化隐向量,来优化回复生成方法。
图4示出了根据本公开实施例的用户个性化隐向量生成方法400的流程图。
如图4所示,在步骤S410中,将用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量。然后在步骤S420中,根据所述至少两个个性化隐向量,生成用户个性化隐向量。
图5示出了根据本公开实施例的用户个性化隐向量生成模块500的结构示意图。
在根据本公开实施例的用户个性化隐向量生成方法中,用户个性化隐向量生成模块首先将用户个性化信息中的各种属性信息ti(如昵称,性别,年龄,爱好等)例如使用编码器编码成一个个性化隐向量hi(i=1,2,...,m,m为个性化信息中的属性信息的种类数目):
或直接将各属性信息对应的嵌入向量做平均或最大池化。
每个个性化隐向量hi的维度为hdim,然后确定各个个性化隐向量的权值。
根据本公开的一个实施例,用户个性化信息由用户输入和/或是可设置的。例如,用户个性化信息可以是对话人的个性化信息,也可以是回复生成设备的个性化信息。可以由对话人输入用户个性化信息,也可以在回复生成设备中设置其个性化信息。
根据本公开的一个实施例,可以使用前一时间步长上解码器所生成的解码器隐向量Ht-1(长度为hdim)为每一个个性化隐向量hi计算一个权值:
ai=hi*Ht-1根据本公开的另一个实施例,也可以使用前一时间步长上的编码器隐向量Ht-1′(长度为hdim)为每一个个性化隐向量hi计算一个权值:
ai=hi*Ht-1′
在编码器的第一个时间步长处,可以将编码器隐向量的初始向量带入上述公式计算各个个性化隐向量所对应的权值。
或者,使用编码器或解码器的第一个时间步长计算一个权值,并在以后的各个时间步长都使用该权值。
计算权值的并不局限于上述公式。一般化地,计算权值的过程可以统一表示为:
ai=score(hi,H′t-1)或者ai=score(hi,Ht-1)
其中score()表示可以用于计算权值的任意适当的函数,如多层感知机MLP。
然后,将所有权值输入概率分布函数,例如softmax函数(或者其他可以估计概率分布的函数),使用这些权值将所有的个性化隐向量进行加权,得到一个用户个性化隐向量h:
根据本公开的一个实施例,用户个性化隐向量生成模块500可以使用前一编码器隐向量Ht-1′/解码器隐向量Ht-1为所有的用户个性化信息赋予一个合适的权值。根据本公开的另一实施例,用户个性化隐向量生成模块500可以设置不同的权值。这种设置可以是由用户进行的,或者是预先配置在用户个性化隐向量生成模块500中的。比如在某些场景下,不同性别的人所生成回复之间的区别可能会较大,此时用户个性化隐向量生成模块可以将性别这一属性信息所对应的个性化隐向量的权值设置为较大值。如果各个个性化隐向量的权值被设置为相同的,则此时即表示将各个个性化隐向量平均:
根据个性化隐向量生成用户个性化隐向量这一过程并不局限于权值对个性化隐向量进行加权以生成用户个性化隐向量,还可以采用其他方法,例如通过如下式所示将各个个性化隐向量拼接然后平均完成:
在根据本公开的实施例中,每类属性信息所对应的编码器可以不同,也可以相同,也可以采用现有技术中的查表等方式来分别将属性信息编码/转换成个性化隐向量。
根据本公开的一个实施例,通过利用前一编码器隐向量/解码器隐向量为个性化隐向量生成合适的权值,可以动态地组合用户个性化信息中的各种属性信息)。根据本公开的一个实施例,通过设置个性化隐向量的权值,可以生成用户所需的回复风格。
根据本公开的一个实施例,所生成的用户个性化隐向量h可以加载在解码器的输入隐向量上和/或加载在解码器的输出隐向量上,以改进对话模型中对用户个性化信息的使用。
根据本公开的另一实施例,所生成的用户个性化隐向量h可以在编码器侧使用。
根据本公开的另一实施例,通过以不同的方式在解码器侧使用用户个性化隐向量,来优化回复生成方法。
如图1所示,解码器例如由一个类似于循环神经网络的结构实现,这个循环神经网络接受上一个时间步长的解码器隐向量Ht-1(图1中示出为st-1)以及上一个时间步长解码得到的字符yt-1(图1中示出为yt-1)作为输入。根据本公开的一个实施例,解码器在生成下一个时间步长所对应字符的过程中考虑到用户个性化隐向量h的影响。
图6示出了根据本公开实施例的在解码器侧的方法600的流程图。图7示出了根据本公开实施例的解码器700的结构示意图。
如图6和图7所示,在步骤S610中,获取用户个性化隐向量h。然后在步骤S620中,根据拆分数值,将用户个性化隐向量拆分为第一用户个性化隐向量h′以及第二用户个性化隐向量h″。然后在步骤S630中,采用所述第一用户个性化隐向量h′对解码器的输入隐向量(即,前一个时间步长的解码器隐向量)Ht进行处理。在步骤S640中,处理后的解码器的输入隐向量与前一个时间步长生成的字符yt-1输入解码器侧的循环神经网络,从而生成解码器隐向量(也称为解码器的输出隐向量)Ht。接着在步骤S650中,采用所述第二用户个性化隐向量h″对生成的解码器的输出隐向量Ht进行处理。最后在步骤S660中,根据处理后的解码器的输出隐向量生成回复(即,字符yt)。
具体来说,在根据本公开的实施例中,同时使用了两种方式考虑用户个性化隐向量h的影响,一种方式是将用户个性化隐向量h作为解码器的输入添加到每个解码时间步长所生成的词向量的后面,另一种方式是将用户个性化隐向量h作为一个偏移向量加到解码器的输入层。具体来说,在解码第t个时间步长所对应的词时,使用拆分数值g将用户个性化隐向量h拆分为两个向量,即第一用户个性化隐向量以及第二用户个性化隐向量:
h′=g*h
h″=(1-g)*h
然后采用所述第一用户个性化隐向量h′对解码器的输入隐向量(例如前一时间步长的解码器隐向量)进行处理,采用解码器输出侧用户个性化隐向量h″对解码器的输出隐向量(即,当前时间步长的解码器隐向量)进行处理。即分别将这两个向量融合到解码器的循环神经网络的输入和输出上。其具体融合方式可以有多种,例如:1)将h′与解码器的输入隐向量拼接,以及将h″与解码器的输出隐向量拼接;2)将h′或h″进行一个线性变换后分别与解码器的输入隐向量和输出隐向量拼接;3)h′或h″与解码器的输入隐向量或输出隐向量加权后拼接,这一操作可以使用下式描述:
其中hnew表示新生成的解码器输入隐向量或输出隐向量,h2可以是h′或h″,h1可以是解码器的输入隐向量或输出隐向量。bout表示训练好的解码器参数,σ表示西格玛(sigmod)函数。如果hnew表示解码器的输出隐向量,则可以使用公式(1)生成这一时间步长上所应该解码出的字符。
h′或h″还可以用来改变注意力机制中所使用的权值,即公式(2)。可以将h′或h″进行线性变换之后加入到权值计算函数中:
这种拆分方式使得可以在解码器的输入端和输出端分别考虑用户个性化信息,相比于只在输入端或只在输出端加入用户个性化隐向量来说更为有效,也就是说用户的个性化信息可以得到更为高效的表达。
根据本公开的一个实施例,在解码器侧拆分使用的用户个性化隐向量h可以是现有技术中的个性化隐向量,也可以是根据本公开实施例所生成的用户个性化隐向量。
根据本公开的一个实施例,拆分数值可以是使用一个拆分器根据解码器隐向量计算的在区间[0,1]上的拆分数值g:
g=σ(W*Ht-1)
其中σ表示sigmoid函数,W表示一个大小为1*hdim的权重向量,Ht-1表示上一个时间步长中所产生的解码器隐向量Ht-1。
根据本公开的一个实施例,拆分数值可以是用户设置的。
图8示出了根据本公开的一个实施例的回复生成设备800的结构示意图。
如图8所示,根据本公开实施例的回复生成设备800包括编码器810和解码器820。
编码器810被配置为例如通过词向量表,将输入文本xi转换为词向量;以及例如通过循环神经网络,根据所述词向量来生成编码器隐向量hi。
解码器820被配置为例如通过循环神经网络,根据编码器隐向量生成解码器隐向量Hi;以及根据解码器隐向量来生成回复yi。
根据本公开的另一实施例,回复生成设备800还可包括用户个性化隐向量生成模块830,被配置为将用户个性化信息的至少两种属性信息组合转换为用户个性化隐向量。
根据本公开的另一实施例,用户个性化隐向量生成模块830可配置为将用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的另一实施例,编码器810还被配置为:在根据所述词向量来生成编码器隐向量之前,采用用户个性化隐向量对所述词向量进行处理.
根据本公开的另一实施例,解码器820还被配置为:将用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
图16示出了根据本公开的一个实施例的回复生成设备的结构示意图。
如图16所示,可以按照方法1,在解码器输出侧使用用户个性化隐向量,或者按照方法2,在注意力机制中使用用户个性化隐向量。或者,在根据本公开另一实施例的回复生成设备中,既按照方法1在解码器输出侧使用用户个性化隐向量,同时按照方法2,在注意力机制中使用用户个性化隐向量。
图9给出了根据本公开的另一个实施例的回复生成设备900的结构示意图。
如图9所示,根据本公开实施例的回复生成设备900包括编码器910和解码器920。
编码器910被配置为例如通过词向量表,将输入文本转换为词向量;以及例如通过循环神经网络,根据所述词向量来生成编码器隐向量。图9中将编码器910侧的循环神经网络具体地示出为一个基于门循环单元(Gated Recurrent Unit,GRU)的循环神经网络,用于生成编码器隐向量。
解码器920被配置为根据编码器隐向量生成解码器隐向量;以及根据解码器隐向量来生成回复。
回复生成设备900还可包括用户个性化隐向量生成模块930,被配置为将用户个性化信息的至少两种属性信息组合转换为用户个性化隐向量。
根据本公开的另一实施例,用户个性化隐向量生成模块930可配置为将用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的另一实施例,编码器910还被配置为:在生成编码器隐向量之后,利用序列注意力机制生成的序列向量对编码器隐向量进行处理。例如,可以将序列隐向量与编码器隐向量拼接,然后输入解码器侧,或者在用用户个性化隐向量处理之后输入解码器。
根据本公开的另一实施例,解码器920还被配置为:将用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
图10示出了根据本公开实施例的对对话模型进行训练的方法1000的流程图。
根据本公开实施例的对话模型包括:编码器、解码器和用户个性化隐向量生成模块。如图10所示,在根据本公开实施例的对话模型的训练方法中,在步骤S1010,在编码器侧,将训练输入转换为词向量,根据所述词向量来生成编码器隐向量;以及在步骤S1020,在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复。该训练方法1000还可包括步骤S1030,其中用户个性化隐向量生成模块生成用户个性化隐向量,以及将所述个性化隐向量用于所述编码器和/或解码器。该训练方法1000还可包括步骤S1040,用于将所述回复与参考回复(通常也称为Golden Thuth)进行比较,根据比较结果训练所述对话模型的参数。
在根据本公开的实施例中,根据以下中的至少一种方式对该训练方法进行优化:
方式一、所述用户个性化隐向量生成模块将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量。
方式二、在根据所述词向量来生成编码器隐向量之前,采用用户个性化隐向量对所述词向量进行处理。
方式三、将用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
在根据本公开的实施例中,在训练对话模型所需的用户个性化信息中,用户个性化信息的各种属性信息使用结构化表示方式保存,比如:用年龄、性别、爱好等属性信息来表示一个用户,而且这些属性信息可以分别设置并且可以自由组合。这种表示方法极大的提升了个性化隐向量的可解释性,在解码过程中可以通过指定不同个性化隐向量所对应的权值,自由组合产生用户个性化隐向量。比较典型的一种结构化表示方式就是键值对,如“性别:男”、“年龄:20”,即使用某个键,如“性别”,就可得到用户所对应的与该键相关的信息,如“男”或“女”。
在根据本公开的实施例中,使用这样的包括用户个性化信息和训练数据(包括训练输入和参考回复)的对话数据集训练对话模型,可以加速训练过程,并使得这一训练过程更加具有可解释性。
根据本公开的一个实施例,在训练方法中,将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量包括:将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
根据本公开的一个实施例,在训练方法中,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入输出隐向量生成。
根据本公开的一个实施例,在训练方法中,根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成。
我们还收集了一些带有个性化信息的对话数据,其携带有发话人的用户的级别、年龄等信息。对这些个性化信息的统计分别如图11、图12所示。图11示出了在我们收集的对话数据中,根据用户等级的用户数量分布,其中横坐标表示用户等级,纵坐标表示用户数量所占的比例。图12示出了在我们收集的对话数据中,根据用户年龄的用户数据分布,其中横坐标表示用户的生日,纵坐标表示该生日所对应的用户数据所占的比例。从图11和图12可以看出用户个性化信息中的属性信息对对话生成设备/方法所生成的回复的影响。在根据本公开的实施例中,通过将每一类属性信息分别转换为个性化隐向量并在编码器或解码器侧使用,可以充分地利用用户个性化信息。
在对话模型中,对同一句话(输入文本)还可能会生成不同的回复,其回复的数量统计如图13所示。图13示出了输入文本和回复的数量之间的对应关系,其中横坐标表示针对同一输入文本可能会产生的回复的数量,纵坐标表示接受到这一数量回复的输入文本的数量。从图13可以看出,根据不同的用户个性化信息,针对同一输入文本可以生成不同的回复。
在根据本公开实施例的对话模型的训练阶段,使用携带用户个性化信息的属性信息的对话数据集训练根据本公开实施例的回复生成设备。
在回复生成设备训练完成后,可以使用所得到的回复生成设备生成特定风格的回复,其回复风格可以任意指定和组合,即只需要在图4中所示的用户个性化隐藏向量生成模块中设置各个个性化隐向量所对应的权值ai(i=1,2,...,n)即可。
以下将参照图14,对根据本公开示例性实施例的电子设备的结构进行描述。
图14示意性地示出了根据本公开示例性实施例的电子设备1400的结构框图。电子设备1400可以用于执行参考图2描述的方法200、参考图4描述的方法400、参考图6描述的方法600和参考图9描述的方法900。为了简明,在此仅对根据本公开示例性实施例的电子设备的示意性结构进行描述,而省略了如前参考图3中已经详述过的细节。
如图14所示,电子设备1400包括处理单元或处理器1401,所述处理器1401可以是单个单元或者多个单元的组合,用于执行方法的不同步骤;存储器1402,其中存储有计算机可执行指令,所述指令在被处理器1401执行时,使处理器1401执行以下操作:在编码器侧,将输入文本转换为词向量,根据所述词向量来生成编码器隐向量;以及在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复。根据本公开的一个实施例,存储器1402中还存储有指令,所述指令在被处理器1301执行时,使得处理器1401:将用户个性化信息的至少两种属性信息组合转换为用户个性化隐向量;和/或在根据所述词向量来生成编码器隐向量之前,采用用户个性化隐向量对所述词向量进行处理;和/或将用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
根据本公开的一个实施例,所述指令在被处理器1401执行时,还使得处理器1401:将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
在上面的流程图中以特定的顺序描述了各个步骤。但是对于本领域技术人员而言显而易见的是,所述步骤并不一定需要按照所示的顺序执行,而是,它们可以以相反的顺序、或者同时并行地执行,只要不存在矛盾即可。
图15是示出根据各种实施例的网络环境1500中的电子装置1501的框图。参照图15,网络环境1500中的电子装置1501可经由第一网络1598(例如,短距离无线通信网络)与电子装置1502进行通信,或者经由第二网络1599(例如,长距离无线通信网络)与电子装置1504或服务器1508进行通信。根据实施例,电子装置1501可经由服务器1508与电子装置1504进行通信。根据实施例,电子装置1501可包括处理器1520、存储器1530、输入装置1550、声音输出装置1555、显示装置1560、音频模块1570、传感器模块1576、接口1577、触觉模块1579、相机模块J580、电力管理模块1588、电池1589、通信模块1590、用户识别模块(SIM)1596或天线模块1597。在一些实施例中,可从电子装置1501中省略所述部件中的至少一个(例如,显示装置1560或相机模块1580),或者可将一个或更多个其它部件添加到电子装置1501中。在一些实施例中,可将所述部件中的一些部件实现为单个集成电路。例如,可将传感器模块1576(例如,指纹传感器、虹膜传感器、或照度传感器)实现为嵌入在显示装置1560(例如,显示器)中。
处理器1520可运行例如软件(例如,程序1540)来控制电子装置1501的与处理器1520连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器1520可将从另一部件(例如,传感器模块1576或通信模块1590)接收到的命令或数据加载到易失性存储器1532中,对存储在易失性存储器1532中的命令或数据进行处理,并将结果数据存储在非易失性存储器1534中。根据实施例,处理器1520可包括主处理器1521(例如,中央处理器(CPU)或应用处理器(AP))以及与主处理器1521在操作上独立的或者相结合的辅助处理器1523(例如,图形处理单元(GPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。另外地或者可选择地,辅助处理器1523可被适配为比主处理器1521耗电更少,或者被适配为具体用于指定的功能。可将辅助处理器1523实现为与主处理器1521分离,或者实现为主处理器1521的部分。
在主处理器1521处于未激活(例如,睡眠)状态时,辅助处理器1523可控制与电子装置1501(而非主处理器1521)的部件之中的至少一个部件(例如,显示装置1560、传感器模块1576或通信模块1590)相关的功能或状态中的至少一些,或者在主处理器1521处于激活状态(例如,运行应用)时,辅助处理器1523可与主处理器1521一起来控制与电子装置1501的部件之中的至少一个部件(例如,显示装置1560、传感器模块1576或通信模块1590)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器1523(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器1523相关的另一部件(例如,相机模块1580或通信模块1590)的部分。
存储器1530可存储由电子装置1501的至少一个部件(例如,处理器1520或传感器模块1576)使用的各种数据。所述各种数据可包括例如软件(例如,程序1540)以及针对与其相关的命令的输入数据或输出数据。存储器1530可包括易失性存储器1532或非易失性存储器1534。
可将程序1540作为软件存储在存储器1530中,并且程序1540可包括例如操作系统(OS)1542、中间件1544或应用1546。
输入装置1550可从电子装置1501的外部(例如,用户)接收将由电子装置1501的其它部件(例如,处理器1520)使用的命令或数据。输入装置1550可包括例如麦克风、鼠标、键盘或数字笔(例如,手写笔)。
声音输出装置1555可将声音信号输出到电子装置1501的外部。声音输出装置1555可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的,接收器可用于呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示装置1560可向电子装置1501的外部(例如,用户)视觉地提供信息。显示装置1560可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示装置1560可包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块1570可将声音转换为电信号,反之亦可。根据实施例,音频模块1570可经由输入装置1550获得声音,或者经由声音输出装置1555或与电子装置1501直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置1502)的耳机输出声音。
传感器模块1576可检测电子装置1501的操作状态(例如,功率或温度)或电子装置1501外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块1576可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口1577可支持将用来使电子装置1501与外部电子装置(例如,电子装置1502)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口1577可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端1578可包括连接器,其中,电子装置1501可经由所述连接器与外部电子装置(例如,电子装置1502)物理连接。根据实施例,连接端1578可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块1579可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块1579可包括例如电机、压电元件或电刺激器。
相机模块1580可捕获静止图像或运动图像。根据实施例,相机模块1580可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块1588可管理对电子装置1501的供电。根据实施例,可将电力管理模块1588实现为例如电力管理集成电路(PMIC)的至少部分。
电池1589可对电子装置1501的至少一个部件供电。根据实施例,电池1589可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块1590可支持在电子装置1501与外部电子装置(例如,电子装置1502、电子装置1504或服务器1508)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块1590可包括能够与处理器1520(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块1590可包括无线通信模块1592(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块1594(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络1598(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络1599(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块1592可使用存储在用户识别模块1596中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络1598或第二网络1599)中的电子装置1501。
天线模块1597可将信号或电力发送到电子装置1501的外部(例如,外部电子装置)或者从电子装置1501的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块1597可包括天线,所述天线包括辐射元件,所述辐射元件由形成在基底(例如,PCB)中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模块1597可包括多个天线。在这种情况下,可由例如通信模块1590(例如,无线通信模块1592)从所述多个天线中选择适合于在通信网络(诸如第一网络1598或第二网络1599)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块1590和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形成为天线模块1597的一部分。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络1599连接的服务器1508在电子装置1501和外部电子装置1504之间发送或接收命令或数据。电子装置1502和电子装置1504中的每一个可以是与电子装置1501相同类型的装置,或者是与电子装置1501不同类型的装置。根据实施例,将在电子装置1501运行的全部操作或一些操作可在外部电子装置1502、外部电子装置1504或服务器1508中的一个或更多个运行。例如,如果电子装置1501应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置1501可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置1501除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置1501。电子装置1501可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
根据各种实施例的电子装置可以是各种类型的电子装置之一。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的任意一项或所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如这里所使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器1536或外部存储器1538)中的可由机器(例如,电子装置1501)读取的一个或更多个指令的软件(例如,程序1540)。例如,在处理器的控制下,所述机器(例如,电子装置1501)的处理器(例如,处理器1520)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
本技术领域技术人员可以理解,本公开中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本公开中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本公开中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本公开的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (13)
1.一种回复生成方法,包括:
在编码器侧,将输入文本转换为词向量,根据所述词向量来生成编码器隐向量;
在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复;以及
生成用户个性化隐向量,将所述个性化隐向量用于所述编码器侧和/或解码器侧;
所述方法通过以下中的至少一种方式进行优化:
方式一、将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、在根据所述词向量来生成编码器隐向量之前,采用所述用户个性化隐向量对所述词向量进行处理;
方式三、将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
2.根据权利要求1所述的方法,其中所述将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量包括:
将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及
根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
3.根据权利要求2所述的方法,其中,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入隐向量生成,或者所述权值是可设置的。
4.根据权利要求1-3之一所述的方法,其中,所述用户个性化信息由用户输入和/或是可设置的。
5.根据权利要求1-4之一所述的方法,其中,根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成或者可设置的。
6.一种回复生成设备,包括:
编码器,被配置为:
将输入文本转换为词向量;以及
根据所述词向量来生成编码器隐向量;
解码器,被配置为:
根据编码器隐向量生成解码器隐向量;以及
根据解码器隐向量来生成回复;以及
用户个性化隐向量生成模块,被配置为:
生成用户个性化隐向量,以及将所述个性化隐向量用于所述编码器和/或解码器;
其中,通过以下中的至少一种方式对所述回复生成设备进行优化:
方式一、所述用户个性化隐向量生成模块被配置为:将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、所述编码器还被配置为:在根据所述词向量来生成编码器隐向量之前,采用所述用户个性化隐向量对所述词向量进行处理;
方式三、所述解码器还被配置为:将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,以及采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
7.根据权利要求6所述的回复生成设备,其中,所述用户个性化隐向量生成模块还被配置为:
将所述用户个性化信息的至少两种属性信息分别转换成至少两个个性化隐向量;以及
根据所述至少两个个性化隐向量,生成所述用户个性化隐向量。
8.根据权利要求7所述的回复生成设备,其中,根据所述至少两个个性化隐向量生成所述用户个性化隐向量包括:利用权值对所述至少两个个性化隐向量进行加权,以生成所述用户个性化隐向量,以及其中,所述权值根据所述编码器隐向量或者所述解码器的输入隐向量生成,或者所述权值是可设置的。
9.根据权利要求6-8之一所述的回复生成设备,其中,所述用户个性化信息由用户输入和/或可设置的。
10.根据权利要求6-9之一所述的回复生成设备,其中,所述解码器根据拆分数值进行所述拆分,并且所述拆分数值是根据所述解码器的输入隐向量生成或者可设置的。
11.一种对话模型的训练方法,所述对话模型包括编码器、解码器和用户个性化隐向量生成模块,所述训练方法包括:
在编码器侧,将训练输入转换为词向量,根据所述词向量来生成编码器隐向量;
在解码器侧,根据编码器隐向量生成解码器隐向量,根据解码器隐向量生成回复;
用户个性化隐向量生成模块生成用户个性化隐向量,以及将所述个性化隐向量用于所述编码器和/或解码器;以及
将所述回复与参考回复进行比较,根据比较结果训练所述对话模型的参数;
其中,根据以下中的至少一种方式对所述训练方法进行优化:
方式一、所述用户个性化隐向量生成模块将用户个性化信息的至少两种属性信息组合转换为所述用户个性化隐向量;
方式二、在根据所述词向量来生成编码器隐向量之前,所述编码器采用所述用户个性化隐向量对所述词向量进行处理;
方式三、所述解码器将所述用户个性化隐向量拆分为第一用户个性化隐向量以及第二用户个性化隐向量,采用所述第一用户个性化隐向量对解码器的输入隐向量进行处理,采用所述第二用户个性化隐向量对解码器的输出隐向量进行处理。
12.一种电子设备,包括:
处理器;以及
存储器,存储有计算机可执行指令,所述指令在被处理器执行时,使处理器执行根据权利要求1-5和11中任一项所述的方法。
13.一种计算机可读介质,在其上存储有指令,所述指令在由处理器执行时,使所述处理器执行根据权利要求1-5和11中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811001560 | 2018-08-29 | ||
CN2018110015603 | 2018-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874402A true CN110874402A (zh) | 2020-03-10 |
CN110874402B CN110874402B (zh) | 2024-05-14 |
Family
ID=69716271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811293645.3A Active CN110874402B (zh) | 2018-08-29 | 2018-10-31 | 基于个性化信息的回复生成方法、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874402B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339283A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 针对用户问题提供客服答案的方法及装置 |
CN112989822A (zh) * | 2021-04-16 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 识别对话中句子类别的方法、装置、电子设备和存储介质 |
JPWO2021234838A1 (zh) * | 2020-05-20 | 2021-11-25 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1102242A1 (de) * | 1999-11-22 | 2001-05-23 | Alcatel | Verfahren zur Personalisierung von Sprachausgabe |
CN101622662A (zh) * | 2007-03-02 | 2010-01-06 | 松下电器产业株式会社 | 编码装置和编码方法 |
CN103810999A (zh) * | 2014-02-27 | 2014-05-21 | 清华大学 | 基于分布式神经网络的语言模型训练方法及其系统 |
US20150063454A1 (en) * | 2013-08-27 | 2015-03-05 | Qualcomm Incorporated | Residual prediction for intra block copying |
WO2015165372A1 (en) * | 2014-04-29 | 2015-11-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for classifying object based on social networking service, and storage medium |
CN105787560A (zh) * | 2016-03-18 | 2016-07-20 | 北京光年无限科技有限公司 | 基于循环神经网络的对话数据交互处理方法及装置 |
CN106297789A (zh) * | 2016-08-19 | 2017-01-04 | 北京光年无限科技有限公司 | 智能机器人的个性化交互方法及交互系统 |
CN108153913A (zh) * | 2018-01-24 | 2018-06-12 | 北京神州泰岳软件股份有限公司 | 回复信息生成模型的训练方法、回复信息生成方法及装置 |
-
2018
- 2018-10-31 CN CN201811293645.3A patent/CN110874402B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1102242A1 (de) * | 1999-11-22 | 2001-05-23 | Alcatel | Verfahren zur Personalisierung von Sprachausgabe |
CN101622662A (zh) * | 2007-03-02 | 2010-01-06 | 松下电器产业株式会社 | 编码装置和编码方法 |
US20150063454A1 (en) * | 2013-08-27 | 2015-03-05 | Qualcomm Incorporated | Residual prediction for intra block copying |
CN103810999A (zh) * | 2014-02-27 | 2014-05-21 | 清华大学 | 基于分布式神经网络的语言模型训练方法及其系统 |
WO2015165372A1 (en) * | 2014-04-29 | 2015-11-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for classifying object based on social networking service, and storage medium |
CN105787560A (zh) * | 2016-03-18 | 2016-07-20 | 北京光年无限科技有限公司 | 基于循环神经网络的对话数据交互处理方法及装置 |
CN106297789A (zh) * | 2016-08-19 | 2017-01-04 | 北京光年无限科技有限公司 | 智能机器人的个性化交互方法及交互系统 |
CN108153913A (zh) * | 2018-01-24 | 2018-06-12 | 北京神州泰岳软件股份有限公司 | 回复信息生成模型的训练方法、回复信息生成方法及装置 |
Non-Patent Citations (3)
Title |
---|
MOHSEN JAMALI LANGROODI MOHSEN JAMALI LANGROODI SIMON FRASER UNIVERSITY, SURREY, B. C., CANADA VIEW PROFILE 等: "Decoder-Complexity-Aware Encoding of Motion Compensation for Multiple Heterogeneous Receivers", ACM * |
武甲胜;: "视频解码与多屏处理技术的综合应用设计", 通讯世界, no. 05, 12 March 2015 (2015-03-12), pages 223 - 224 * |
陶俊剑;元昌安;蔡宏果;: "基于GEP优化的RBF神经网络算法", 小型微型计算机系统, no. 05 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339283A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 针对用户问题提供客服答案的方法及装置 |
CN111339283B (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 针对用户问题提供客服答案的方法及装置 |
JPWO2021234838A1 (zh) * | 2020-05-20 | 2021-11-25 | ||
WO2021234838A1 (ja) * | 2020-05-20 | 2021-11-25 | 日本電信電話株式会社 | 応答文生成装置、応答文生成モデル学習装置、それらの方法、およびプログラム |
JP7428245B2 (ja) | 2020-05-20 | 2024-02-06 | 日本電信電話株式会社 | 応答文生成装置およびプログラム |
CN112989822A (zh) * | 2021-04-16 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 识别对话中句子类别的方法、装置、电子设备和存储介质 |
CN112989822B (zh) * | 2021-04-16 | 2021-08-27 | 北京世纪好未来教育科技有限公司 | 识别对话中句子类别的方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110874402B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109427333B (zh) | 激活语音识别服务的方法和用于实现所述方法的电子装置 | |
JP2020086437A (ja) | 音声認識方法及び音声認識装置 | |
US11430438B2 (en) | Electronic device providing response corresponding to user conversation style and emotion and method of operating same | |
JP2018026127A (ja) | 翻訳方法、翻訳装置及びコンピュータプログラム | |
EP3824462B1 (en) | Electronic apparatus for processing user utterance and controlling method thereof | |
CN110263131B (zh) | 回复信息生成方法、装置及存储介质 | |
US20210056270A1 (en) | Electronic device and deep learning-based interactive messenger operation method | |
US11861318B2 (en) | Method for providing sentences on basis of persona, and electronic device supporting same | |
CN110874402B (zh) | 基于个性化信息的回复生成方法、设备和计算机可读介质 | |
US20220020358A1 (en) | Electronic device for processing user utterance and operation method therefor | |
CN111368536A (zh) | 自然语言处理方法及其设备和存储介质 | |
US20220172722A1 (en) | Electronic device for processing user utterance and method for operating same | |
CN112912955A (zh) | 提供基于语音识别的服务的电子装置和系统 | |
US11862178B2 (en) | Electronic device for supporting artificial intelligence agent services to talk to users | |
US20220270604A1 (en) | Electronic device and operation method thereof | |
US11817097B2 (en) | Electronic apparatus and assistant service providing method thereof | |
CN112219235A (zh) | 包括处理用户语音的电子设备和控制电子设备上语音识别的方法的系统 | |
US11670294B2 (en) | Method of generating wakeup model and electronic device therefor | |
US11455992B2 (en) | Electronic device and system for processing user input and method thereof | |
KR20220118818A (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
US20230186031A1 (en) | Electronic device for providing voice recognition service using user data and operating method thereof | |
US11922127B2 (en) | Method for outputting text in artificial intelligence virtual assistant service and electronic device for supporting the same | |
EP4207184A1 (en) | Electronic device comprising personalized text-to-speech module, and control method thereof | |
US11961505B2 (en) | Electronic device and method for identifying language level of target | |
US20240071383A1 (en) | Method for analyzing user utterance and electronic device supporting the same |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |