一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自然语言生成方法、装置、设备、介质及产品与流程

2022-03-26 16:56:45 来源:中国专利 TAG:


1.本发明实施例涉及人机交互技术领域,尤其涉及一种自然语言生成方法、装置、设备、介质及产品。


背景技术:

2.人机语音交互系统的研究已经从科研领域扩展到各种终端制造领域如智能电视、车载导航、智能音箱等。语音交互系统,除去语音识别和文本转语音模块外,需要有以下四个关键能力:自然语言理解、对话状态跟踪、对话策略学习、自然语言生成。其中,自然语言生成模块需要将特定的语义信息转换成用户习惯的自然语言形式的句子。
3.传统的基于规则模板的自然语言生成方式由于迁移性差、回复单一死板正在慢慢被取代,而基于神经网络的自然语言生成方式由于其灵活性和通用性好受到了越来越多的重视。但同时,基于神经网络的生成模型也存在语义表达不准确等问题。
4.因此,目前基于神经网络的自然语言生成方式生成的自然语言质量较低。


技术实现要素:

5.本发明提供一种自然语言生成方法、装置、设备、介质及产品,用以解决基于神经网络的自然语言生成方式生成的自然语言质量较低的问题。
6.第一方面,本发明实施例提供一种自然语言生成方法,包括:
7.获取目标用户交互信息;
8.根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,所述候选文本数据包括多个候选字段;
9.采用预设的判别神经网络模型对所述候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,所述多个目标字段形成目标文本数据;
10.采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句;
11.将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。
12.本技术中一些实施例中,所述语言生成神经网络模型包括:基于知识的语言生成模型、基于对话动作的语言生成模型及基于搜索条件的语言生成模型;
13.所述采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句,包括:
14.将各类型的目标文本数据输入到匹配的语言生成神经网络模型中;
15.通过各匹配的语言生成神经网络模型对目标文本数据进行自然语言生成处理,并输出对应的候选自然语言语句。
16.本技术中一些实施例中,所述基于知识的语言生成模型包括编码器、知识选择器、
解码器和词语生成器;与基于知识的语言生成模型匹配的目标文本数据为基于知识的目标文本数据;所述基于知识的目标文本数据包括以下多种目标字段:用户意图搜索结果、与用户意图关联的知识库中的实体、用户画像信息、对话动作和槽位信息;
17.采用基于知识的语言生成模型及基于知识的目标文本数据生成对应的候选自然语言语句,包括:
18.采用所述编码器对各基于知识的目标字段进行编码处理,以生成对应的隐状态表示数据;
19.采用所述知识选择器根据各所述隐状态表示数据确定所述与用户意图关联的知识库中的实体中直接关联实体;
20.采用解码器对除与用户意图关联的知识库中的实体以外的基于知识的目标文本数据及所述直接关联实体进行解码,形成解码后的文本数据;
21.根据解码后的文本数据和所述词语生成器生成匹配的候选自然语言语句。
22.本技术中一些实施例中,所述基于知识的语言生成模型还包括协调器;所述词语生成器包括词表生成器和拷贝生成器;
23.所述根据解码后的文本数据和所述词语生成器生成匹配的候选自然语言语句,包括:
24.采用协调器按照解码顺序确定与解码后的文本数据中当前文本数据相匹配的是词表生成器或拷贝生成器;所述解码顺序为所述解码器生成解码后的文本数据的顺序;
25.若确定匹配的是词表生成器,则采用词表生成器根据用户意图搜索结果、用户画像信息、对话动作和槽位信息生成对应的词语;
26.若确定匹配的是拷贝生成器,则采用拷贝生成器根据用户意图搜索结果、所述直接关联实体、对话动作和槽位信息生成对应的词语;
27.对生成的所有词语进行语义识别处理,以将所有词语拼接组成候选自然语言语句。
28.本技术中一些实施例中,所述将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句,包括:
29.将多个候选自然语言语句输入预设的协调神经网络模型;
30.采用所述协调神经网络模型按照预设的评测策略对多个候选自然语言语句进行综合评分,并输出综合评分最高的目标自然语言语句。
31.本技术中一些实施例中,所述采用所述协调神经网络模型按照预设的评测策略对多个候选自然语言语句进行综合评分,包括:
32.采用所述协调神经网络模型计算各候选自然语言语句对应的困惑度,并对各候选自然语言语句进行语义分析,以获得语义分析结果;
33.根据各候选自然语言语句对应的困惑度及语义分析结果确定各候选自然语言语句的综合评分。
34.本技术中一些实施例中,所述将多个候选自然语言语句输入至预设的协调神经网络模型之前,还包括:
35.将多个候选自然语言语句输入预设的语言模型,以确定各所述候选自然语言语句对应的困惑度;
36.判断各所述困惑度是否小于预设的困惑度阈值;
37.若确定所述困惑度小于预设的困惑度阈值,则保留该困惑度对应的候选自然语言语句;
38.若确定所述困惑度大于或等于预设的困惑度阈值,则删除该困惑度对应的候选自然语言语句。
39.本技术中一些实施例中,所述将多个候选自然语言语句输入至预设的协调神经网络模型之前,还包括:
40.判断各所述候选自然语言语句中相同词语的数量是否大于或等于预设的数量阈值;
41.若确定相同词语的数量小于预设的数量阈值,则保留对应的候选自然语言语句;
42.若确定相同词语的数量大于或等于预设的检测阈值,则删除对应的候选自然语言语句。
43.本技术中一些实施例中,所述采用基于知识的语言生成模型及基于知识的目标文本数据生成对应的候选自然语言语句之前,还包括:
44.获取训练样本,所述训练样本中包括:历史用户意图搜索结果、历史与用户意图关联的知识库中的实体、历史对话动作、历史用户画像信息和历史槽位信息;
45.将所述训练样本输入到预设基于知识的语言生成模型中,以对所述预设基于知识的语言生成模型进行训练;
46.采用预设的选择知识损失函数以及预设的生成回复损失函数判断所述预设基于知识的语言生成模型是否满足收敛条件;
47.当预设的选择知识损失函数与预设的生成回复损失函数的和达到最小时,确定所述预设基于知识的语言生成模型满足收敛条件;
48.将满足收敛条件的预设基于知识的语言生成模型确定为训练至收敛的基于知识的语言生成模型。
49.本发明实施例第二方面提供一种自然语言生成装置,包括:
50.获取模块,用于获取目标用户交互信息;
51.确定模块,用于根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,所述候选文本数据包括多个候选字段;
52.分类模块,用于采用预设的判别神经网络模型对所述候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,所述多个目标字段形成目标文本数据;
53.生成模块,用于采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句;
54.输出模块,用于将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。
55.第三方面,本发明实施例提供一种电子设备,包括:存储器,处理器;
56.存储器;用于存储所述处理器可执行指令的存储器;
57.其中,所述处理器被配置为由所述处理器执行第一方面任一项所述的自然语言生成方法。
58.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的自然语言生成方法。
59.第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的自然语言生成方法。
60.本发明实施例提供的一种自然语言生成方法、装置、设备、介质及产品,该方法通过采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段。然后采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句,将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句,从而解决了基于神经网络的自然语言生成方式生成的自然语言质量较低的问题。
附图说明
61.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
62.图1中示例性示出了根据一些实施例的应用场景的示意图;
63.图2中示例性示出了根据一些实施例的自然语言生成方法的流程示意图;
64.图3中示例性示出了根据一些实施例的自然语言生成方法的流程示意图;
65.图4中示例性示出了根据一些实施例的自然语言生成方法的模型架构示意图;
66.图5中示例性示出了根据一些实施例的基于知识的语言生成模型的结构示意图;
67.图6中示例性示出了根据一些实施例的自然语言生成装置的结构示意图;
68.图7中示例性示出了根据一些实施例的电子设备的结构示意图。
69.通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
70.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
71.为使本技术的目的、实施方式和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
72.基于本技术描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术所附权利要求保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方
面也可以单独构成一个完整实施方式。
73.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
74.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本技术实施例图示或描述中给出那些以外的顺序实施。
75.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
76.本技术中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
77.为了清楚理解本技术的技术方案,首先对现有技术的方案进行详细介绍。目前,自然语言语句生成方式中基于神经网络的生成方式通常以序列到序列的生成方式实现。该方式通常以对话动作,用户意图和槽位信息作为输入,输出符合语义场景的自然语言语句。基于神经网络的生成方式采用不同的语言生成模型所生成的自然语言语句,存在语义表达不准确等问题,因此,目前基于神经网络的自然语言生成方式生成的自然语言质量较低。
78.所以针对现有技术中基于神经网络的自然语言生成方式生成的自然语言质量较低的问题,发明人在研究中发现,为了解决该问题,发明人想到可以通过设置一个预先训练好的判别神经网络模型将每种语言生成模型所需输入的候选字段进行分类,并将分类后的候选字段输入匹配的各语言生成模型,以提高每种语言生成模型生成自然语言语句的质量和效率。同时,融合多种语言生成模型,并对多种语言生成模型生成的自然语言语句进行综合评分,以输出综合评分最高的自然语言语句,提高输出的自然语言语句质量。
79.具体的,在与用户交互时,获取目标用户交互信息,并根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,其中,候选文本数据包括多个候选字段。同时,采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,多个目标字段形成目标文本数据。采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句。将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。从而解决了基于神经网络的自然语言生成方式生成的自然语言质量较低的问题。
80.发明人基于上述的创造性发现,提出了本技术的技术方案。
81.下面对本发明实施例提供的自然语言生成方法的应用场景进行介绍。如图1所示,其中,10为电子设备,11为电子设备10中的麦克风,20为用户。电子设备10可以是智能音箱、显示设备、车载设备等具有语音交互功能的设备。
82.电子设备10设置有声音采集器,如麦克风11,可以用于接收用户的声音。电子设备10可以较精确的识别用户语音,并转成目标用户交互信息。
83.电子设备10在通过麦克风11接收到用户的语音时,将其转化为目标用户交互信
息,根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,其中,候选文本数据包括多个候选字段。同时,电子设备10采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,多个目标字段形成目标文本数据。电子设备10采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句。将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。在输出目标自然语言语句时,输出的方式可以是以语音或文字等方式,同时,在输出目标自然语言语句后,用户可以根据该目标自然语言语句进行下一步的语音答复。比如用户发出语音:我想看电影,电子设备10可以对其识别并转化为对应目标用户交互信息,然后根据目标用户交互信息生成目标自然语言语句:请问您想看什么类别的电影呢,然后用户在根据该目标自然语言语句继续回复我想看某某类别电影等,以实现与用户之间的灵活交互。
84.下面结合说明书附图对本发明实施例进行介绍。
85.图2中示例性示出了根据一些实施例的自然语言生成方法的流程示意图,如图2所示,本实施例中,本发明实施例的执行主体为自然语言生成装置,该自然语言生成装置可以集成在电子设备中,电子设备可以是智能音箱、显示设备、车载设备等具有语音交互功能的设备。则本实施例提供的自然语言生成方法包括以下几个步骤:
86.步骤s101,获取目标用户交互信息。
87.在一些实施例中,用户在需要与电子设备交互时,比如想要观看视频时,可以通过语音的方式,对电子设备说出想观看的视频。
88.示例性的,用户可以说出请播放某电影,某是电影的名称。此时,电子设备在识别到用户的语音后会将语音转换为目标用户交互信息。
89.步骤s102,根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,候选文本数据包括多个候选字段。
90.在一些实施例中,由于语音的复杂性,目标用户交互信息一般包含多种词语,比如动词包括请播放、观看、切换等,名词包括电影名称、音乐名称等。因而,根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,可以先通过语义识别处理和分词处理,提取目标用户交互信息中的关键信息,从而生成候选自然语言语句所依赖的候选文本数据。
91.候选文本数据包括的多个候选字段可以是用户意图搜索结果、与用户意图关联的知识库中的实体、用户画像信息、对话动作和槽位信息。由目标用户交互信息可以确定出用户意图。
92.示例性的,用户说想要听某音乐,某是音乐的名称,则用户意图为想要听,某音乐。根据该用户意图可以搜索到数据库存储的对应某音乐,即用户意图搜索结果。某音乐对应的音乐类型、演奏者等是与用户意图关联的知识库中的实体,用户画像信息为该用户的常用属性,比如喜欢的音乐类型、演奏者等。对话动作为电子设备所需要的执行的动作,在该实施例中为搜索并播放某音乐。槽位信息是某音乐的相关信息,若用户有增加对该音乐的描述,如增加描述为谁演奏的,多少年发行的等,这些描述即为槽位信息。
93.在一些实施例中,现有的知识语言生成一般仅覆盖影视和音乐两个类别,且知识也仅来源于个别实体属性,覆盖能力有限。本实施例中,知识库可以包含多种类型的知识
库,比如影视、音乐、体育、科技等等多类型知识库,从而提高生成的自然语言语句的丰富性,适应灵活多变的语言场景。
94.步骤s103,采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,多个目标字段形成目标文本数据。
95.在一些实施例中,判别神经网络模型可以预先训练至收敛,以使判别神经网络模型可以对候选文本数据中的多个候选字段进行精确的分类。从而使分类后的候选字段与每个预设的语言生成神经网络模型相匹配。
96.步骤s104,采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句。
97.在一些实施例中,语言生成神经网络模型可以包括基于知识的语言生成模型、基于对话动作的语言生成模型及基于搜索条件的语言生成模型。
98.步骤s105,将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。
99.在一些实施例中,协调神经网络模型用于对多个候选自然语言语句进行综合评分,评分的标准可以包括候选自然语言语句的困惑度、候选自然语言语句的语义是否符合要求等。从而输出多个候选自然语言语句中综合评分最高的的目标自然语言语句,提高输出的自然语言语句的质量。
100.本发明实施例提供的一种自然语言生成方法,该方法通过采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段。然后采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句,将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句,从而解决了基于神经网络的自然语言生成方式生成的自然语言质量较低的问题。
101.图3中示例性示出了根据一些实施例的自然语言生成方法的流程示意图,如图3所示,本实施例提供的自然语言生成方法,是在本发明上一实施例提供的自然语言生成方法的基础上,对多个步骤进行了进一步的细化。则本实施例提供的自然语言生成方法包括以下步骤。
102.步骤s201,获取目标用户交互信息。
103.在一些实施例中,步骤201的实现方式与本发明上一实施例中的步骤101的实现方式类似,在此不再一一赘述。
104.步骤s202,根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,候选文本数据包括多个候选字段。
105.在一些实施例中,步骤202的实现方式与本发明上一实施例中的步骤102的实现方式类似,在此不再一一赘述。
106.步骤s203,采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,多个目标字段形成目标文本数据。
107.在一些实施例中,步骤203的实现方式与本发明上一实施例中的步骤103的实现方
式类似,在此不再一一赘述。
108.需要说明的是,语言生成神经网络模型包括:基于知识的语言生成模型、基于对话动作的语言生成模型及基于搜索条件的语言生成模型。
109.步骤s204,将各类型的目标文本数据输入到匹配的语言生成神经网络模型中。
110.在一些实施例中,每种语言生成神经网络模型需要的目标文本数据是不同的,比如基于知识的语言生成模型需要用户意图搜索结果、与用户意图关联的知识库中的实体、用户画像信息、对话动作和槽位信息,同时,用户意图搜索结果在目前的自然语言语句生成的领域中,并不涉及。而基于对话动作的语言生成模型需要对话动作、用户交互信息的语义信息等,基于搜索条件的语言生成模型需要槽位信息、与用户意图关联的知识库中的实体。
111.步骤s205,通过各匹配的语言生成神经网络模型对目标文本数据进行自然语言生成处理,并输出对应的候选自然语言语句。
112.在一些实施例中,每个语言生成神经网络模型都会生成候选自然语言语句,由于语言生成神经网络模型的不同,所生成的候选自然语言语句也是不同的。
113.步骤s206,将多个候选自然语言语句输入预设的协调神经网络模型。
114.协调神经网络模型可以采用全连接神经网络。
115.在一些实施例中,在将多个候选自然语言语句输入至预设的协调神经网络模型之前,还可以先进行候选自然语言语句的质量检测。目前普遍的质量检测,是通过离线的人工校验,该质量检测方式无法提供在线检测,且人工检测的效率较低。
116.本实施例提供的质量检测方式包括两种,第一种质量检测方式具体如下:
117.将多个候选自然语言语句输入预设的语言模型,以确定各候选自然语言语句对应的困惑度。
118.判断各困惑度是否小于预设的困惑度阈值。
119.若确定困惑度小于预设的困惑度阈值,则保留该困惑度对应的候选自然语言语句。
120.若确定困惑度大于或等于预设的困惑度阈值,则删除该困惑度对应的候选自然语言语句。
121.语言模型可以采用双向lstm(英文全称为:long-short term memory,长短期记忆模型)的语言模型,通过该语言模型计算候选自然语言语句的困惑度评测生成的质量。该语言模型是基于全词遮罩(英文全称为:whole word masking)技术的中文预训练模型。
122.具体评测时,依次遮盖句子中的每个字/词,并计算在已有上下文的情况下该字/词出现的概率,最终得到该句子的困惑度,预先设置一个困惑度阈值,如果候选自然语言语句的困惑度低于该困惑度阈值,则可认为该候选自然语言语句质量良好,可以保留,否则认为候选自然语言语句质量较差,需要将其删除。
123.第二种质量检测方式具体如下:
124.判断各候选自然语言语句中相同词语的数量是否大于或等于预设的数量阈值。
125.若确定相同词语的数量小于预设的数量阈值,则保留对应的候选自然语言语句。
126.若确定相同词语的数量大于或等于预设的检测阈值,则删除对应的候选自然语言语句。
127.第二种质量检测方式可以采用分词模型在无人工干预情况下进行质量检测。比如
一个候选自然语言语句中电影这个词正常情况下不会出现4次以上,当电影出现4次以上时,则可以确定候选自然语言语句质量较差,删除对应的候选自然语言语句,相反则确定候选自然语言语句质量良好,保留对应的候选自然语言语句。
128.同时,也可以对候选自然语言语句的结尾标点和连续出现的字母、数字汉字内容进行检测判定,若连续出现字母、数字、汉字次数过多或者结尾标点不符合要求则确定候选自然语言语句质量较差。
129.步骤s207,采用协调神经网络模型按照预设的评测策略对多个候选自然语言语句进行综合评分,并输出综合评分最高的目标自然语言语句。
130.在一些实施例中,评测策略可以包括计算各候选自然语言语句对应的困惑度和对各候选自然语言语句进行语义分析,具体如下:
131.采用协调神经网络模型计算各候选自然语言语句对应的困惑度,并对各候选自然语言语句进行语义分析,以获得语义分析结果。
132.根据各候选自然语言语句对应的困惑度及语义分析结果确定各候选自然语言语句的综合评分。
133.为了更好的说明本发明实施例的自然语言生成方法的架构,下面将结合图4和图5进行详细描述。
134.如图4所示,根据目标用户交互信息确定出的候选文本数据,将由判别神经网络模型进行分类,从而将分类后生成的目标文本数据输入不同的语言生成神经网络模型,即图中基于对话动作的语言生成模型,基于知识的语言生成模型,基于搜索条件的语言生成模型,以输出不同的候选自然语言语句,再经由协调神经网络模型对各候选自然语言语句进行综合评分,最终输出综合评分最高的目标自然语言语句。
135.基于知识的语言生成模型内部结构,如图5所示,基于知识的语言生成模型包括编码器、知识选择器、解码器、协调器和词语生成器。词语生成器包括词表生成器和拷贝生成器。与基于知识的语言生成模型匹配的目标文本数据为基于知识的目标文本数据。基于知识的目标文本数据包括以下多种目标字段:用户意图搜索结果、与用户意图关联的知识库中的实体、用户画像信息、对话动作和槽位信息。图中,k1、k2、k3以及d指与用户意图关联的知识库中的实体,k1、k2、k3一般以知识序列的形式表示,d以知识域的形式表示,知识域即知识库中的实体所属领域类别。u为用户画像信息,x为问题序列,问题序列一般包括槽位信息、对话动作和用户意图搜索结果。
136.采用基于知识的语言生成模型及基于知识的目标文本数据生成对应的候选自然语言语句的流程具体为:
137.采用编码器对各基于知识的目标字段进行编码处理,以生成对应的隐状态表示数据。
138.采用知识选择器根据各隐状态表示数据确定与用户意图关联的知识库中的实体中直接关联实体。
139.采用解码器对除与用户意图关联的知识库中的实体以外的基于知识的目标文本数据及直接关联实体进行解码,形成解码后的文本数据。
140.根据解码后的文本数据和词语生成器生成匹配的候选自然语言语句。
141.在一些实施例中,隐状态表示数据是一种具有类别信息,但不具有具体数据信息
的数据,比如与用户意图关联的知识库中的实体,能知道该对应的隐状态表示数据为实体,但不知道具体是哪一种。
142.采用知识选择器根据各隐状态表示数据确定与用户意图关联的知识库中的实体中直接关联实体,直接关联实体表示最相关的实体,比如用户如果说想看电影,电影的关联实体可能有电影名称、导演、制片人、演员、音乐等实体,最相关的实体是电影名称,如果用户说想看某导演的电影,那最相关的实体为电影名称和导演。
143.同时,本实施例的基于知识的语言生成模型可以通过预先训练的方式,来达到较好的自然语言语句生成效果。
144.训练的流程如下所示:
145.获取训练样本,训练样本中包括:历史用户意图搜索结果、历史与用户意图关联的知识库中的实体、历史对话动作、历史用户画像信息和历史槽位信息。
146.将训练样本输入到预设基于知识的语言生成模型中,以对预设基于知识的语言生成模型进行训练。
147.采用预设的选择知识损失函数以及预设的生成回复损失函数判断预设基于知识的语言生成模型是否满足收敛条件。
148.当预设的选择知识损失函数与预设的生成回复损失函数的和达到最小时,确定预设基于知识的语言生成模型满足收敛条件。
149.将满足收敛条件的预设基于知识的语言生成模型确定为训练至收敛的基于知识的语言生成模型。
150.其中,预设的选择知识损失函数与预设的生成回复损失函数的和为:
151.l(θ)=ls(θ) lg(θ)
152.选择知识损失函数为:
153.ls(θ)=-logp(k
l
|x,d)
154.其中,k
l
是应该选择的知识序列,x是问题序列,d是知识域。
155.生成回复损失函数为:
[0156][0157]
其中,n是生成回复用户的自然语言语句的总数,yi是生成自然语言语句中的第i个词,x是问题序列,ki是选择的知识序列,u是用户画像信息。
[0158]
同时,在生成匹配的候选自然语言语句时,可以通过协调器确定解码后的文本数据匹配的词语生成器,从而通过匹配的词语生成器将解码后的文本数据转化为候选自然语言语句。具体步骤为:
[0159]
采用协调器按照解码顺序确定与解码后的文本数据中当前文本数据相匹配的是词表生成器或拷贝生成器。解码顺序为解码器生成解码后的文本数据的顺序。
[0160]
其中,解码顺序可以预先设置,或者采用随机的方式,在解码的每一个时间步中,协调器会在多个词语生成器直接进行选择,确定下一个词从哪个词语生成器中生成。
[0161]
若确定匹配的是词表生成器,则采用词表生成器根据用户意图搜索结果、用户画像信息、对话动作和槽位信息生成对应的词语。
[0162]
若确定匹配的是拷贝生成器,则采用拷贝生成器根据用户意图搜索结果、直接关联实体、对话动作和槽位信息生成对应的词语。
[0163]
其中,拷贝生成器的生成方式一般是通过从用户意图搜索结果、直接关联实体、对话动作和槽位信息中拷贝一个词来生成。
[0164]
当所有的解码后的文本数据都生成对应词语后,对生成的所有词语进行语义识别处理,以将所有词语拼接组成候选自然语言语句。
[0165]
图6中示例性示出了根据一些实施例的自然语言生成装置的结构示意图,如图6所示,本实施例中,该自然语言生成装置300包括:
[0166]
获取模块301,用于获取目标用户交互信息。
[0167]
确定模块302,用于根据目标用户交互信息确定生成候选自然语言语句所依赖的候选文本数据,候选文本数据包括多个候选字段。
[0168]
分类模块303,用于采用预设的判别神经网络模型对候选文本数据中的多个候选字段进行分类,以确定与每个预设的语言生成神经网络模型匹配的多个目标字段,多个目标字段形成目标文本数据。
[0169]
生成模块304,用于采用各预设的语言生成神经网络模型及匹配的目标文本数据生成对应的候选自然语言语句。
[0170]
输出模块305,用于将多个候选自然语言语句输入至预设的协调神经网络模型,以输出综合评分最高的目标自然语言语句。
[0171]
本实施例提供的自然语言生成装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
[0172]
同时,本发明提供的自然语言生成装置在上一实施例提供的自然语言生成装置的基础上,对自然语言生成装置300进行了进一步的细化。
[0173]
在一些实施例中,语言生成神经网络模型包括:基于知识的语言生成模型、基于对话动作的语言生成模型及基于搜索条件的语言生成模型。
[0174]
生成模块304具体用于:
[0175]
将各类型的目标文本数据输入到匹配的语言生成神经网络模型中。通过各匹配的语言生成神经网络模型对目标文本数据进行自然语言生成处理,并输出对应的候选自然语言语句。
[0176]
在一些实施例中,基于知识的语言生成模型包括编码器、知识选择器、解码器和词语生成器。与基于知识的语言生成模型匹配的目标文本数据为基于知识的目标文本数据。基于知识的目标文本数据包括以下多种目标字段:用户意图搜索结果、与用户意图关联的知识库中的实体、用户画像信息、对话动作和槽位信息。
[0177]
生成模块304在采用基于知识的语言生成模型及基于知识的目标文本数据生成对应的候选自然语言语句时,具体用于:
[0178]
采用编码器对各基于知识的目标字段进行编码处理,以生成对应的隐状态表示数据。采用知识选择器根据各隐状态表示数据确定与用户意图关联的知识库中的实体中直接关联实体。采用解码器对除与用户意图关联的知识库中的实体以外的基于知识的目标文本数据及直接关联实体进行解码,形成解码后的文本数据。根据解码后的文本数据和词语生成器生成匹配的候选自然语言语句。
[0179]
在一些实施例中,基于知识的语言生成模型还包括协调器。词语生成器包括词表生成器和拷贝生成器。
[0180]
生成模块304在根据解码后的文本数据和词语生成器生成匹配的候选自然语言语句时,具体用于:
[0181]
采用协调器按照解码顺序确定与解码后的文本数据中当前文本数据相匹配的是词表生成器或拷贝生成器。解码顺序为解码器生成解码后的文本数据的顺序。若确定匹配的是词表生成器,则采用词表生成器根据用户意图搜索结果、用户画像信息、对话动作和槽位信息生成对应的词语。若确定匹配的是拷贝生成器,则采用拷贝生成器根据用户意图搜索结果、直接关联实体、对话动作和槽位信息生成对应的词语。对生成的所有词语进行语义识别处理,以将所有词语拼接组成候选自然语言语句。
[0182]
在一些实施例中,输出模块305具体用于:
[0183]
将多个候选自然语言语句输入预设的协调神经网络模型。采用协调神经网络模型按照预设的评测策略对多个候选自然语言语句进行综合评分,并输出综合评分最高的目标自然语言语句。
[0184]
在一些实施例中,输出模块305在采用协调神经网络模型按照预设的评测策略对多个候选自然语言语句进行综合评分时,具体用于:
[0185]
采用协调神经网络模型计算各候选自然语言语句对应的困惑度,并对各候选自然语言语句进行语义分析,以获得语义分析结果。根据各候选自然语言语句对应的困惑度及语义分析结果确定各候选自然语言语句的综合评分。
[0186]
在一些实施例中,自然语言生成装置300还包括:
[0187]
第一质量检测模块,用于将多个候选自然语言语句输入预设的语言模型,以确定各候选自然语言语句对应的困惑度。判断各困惑度是否小于预设的困惑度阈值。若确定困惑度小于预设的困惑度阈值,则保留该困惑度对应的候选自然语言语句。若确定困惑度大于或等于预设的困惑度阈值,则删除该困惑度对应的候选自然语言语句。
[0188]
在一些实施例中,自然语言生成装置300还包括:
[0189]
第二质量检测模块,用于判断各候选自然语言语句中相同词语的数量是否大于或等于预设的数量阈值。若确定相同词语的数量小于预设的数量阈值,则保留对应的候选自然语言语句。若确定相同词语的数量大于或等于预设的检测阈值,则删除对应的候选自然语言语句。
[0190]
在一些实施例中,自然语言生成装置300还包括:
[0191]
训练模块,用于获取训练样本,训练样本中包括:历史用户意图搜索结果、历史与用户意图关联的知识库中的实体、历史对话动作、历史用户画像信息和历史槽位信息。将训练样本输入到预设基于知识的语言生成模型中,以对预设基于知识的语言生成模型进行训练。采用预设的选择知识损失函数以及预设的生成回复损失函数判断预设基于知识的语言生成模型是否满足收敛条件。当预设的选择知识损失函数与预设的生成回复损失函数的和达到最小时,确定预设基于知识的语言生成模型满足收敛条件。将满足收敛条件的预设基于知识的语言生成模型确定为训练至收敛的基于知识的语言生成模型。
[0192]
本实施例提供的自然语言生成装置可以执行图2-图5所示方法实施例的技术方案,其实现原理和技术效果与图2-图5所示方法实施例类似,在此不再一一赘述。
[0193]
根据本发明的实施例,本发明还提供了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
[0194]
如图7所示,图7中示例性示出了根据一些实施例的电子设备的结构示意图。电子设备旨在各种形式适用于服务器使用的数字计算机等设备,诸如,膝上型计算机、个人数字助理、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0195]
如图7所示,该电子设备包括:处理器401、存储器402。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理。
[0196]
存储器402即为本发明所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本发明所提供的自然语言生成方法。本发明的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本发明所提供的自然语言生成方法。
[0197]
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本发明实施例中的自然语言生成方法对应的程序指令/模块(例如,附图6所示的获取模块301、确定模块302、分类模块303、生成模块304和输出模块305)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的自然语言生成方法。
[0198]
同时,本实施例还提供一种计算机产品,当该计算机产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述各实施例的自然语言生成方法。
[0199]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
[0200]
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献