CN116361423A - 语句生成方法、装置以及计算机可读存储介质 - Google Patents
语句生成方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116361423A CN116361423A CN202111593187.7A CN202111593187A CN116361423A CN 116361423 A CN116361423 A CN 116361423A CN 202111593187 A CN202111593187 A CN 202111593187A CN 116361423 A CN116361423 A CN 116361423A
- Authority
- CN
- China
- Prior art keywords
- sentence
- sentences
- answer
- response
- question
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000004044 response Effects 0.000 claims abstract description 319
- 238000013145 classification model Methods 0.000 claims abstract description 54
- 230000002787 reinforcement Effects 0.000 claims description 49
- 238000012549 training Methods 0.000 claims description 45
- 238000010845 search algorithm Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 description 26
- 230000000694 effects Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 7
- 238000003058 natural language processing Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- 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/3346—Query execution using probabilistic model
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种语句生成方法、装置以及计算机可读存储介质,其中方法包括:当获取到目标问答语句时,获取该目标问答语句的历史语句,这里,历史语句为在获取到目标问答语句之前获取和/或生成的多个问答语句。将目标问答语句和历史语句输入对话模型,并获取对话模型输出的目标问答语句的多个候选响应语句。将多个候选响应语句输入语句连贯性分类模型,基于语句连贯性分类模型获取各个候选响应语句与历史语句的连贯性分值。基于各个候选响应语句的连贯性分值从多个候选响应语句中确定出目标问答语句的目标响应语句。采用本申请,可以提高目标问答语句的目标响应语句的生成准确性,提高目标响应语句的连贯性,语句生成效率高,适用性强。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语句生成方法、装置以及计算机可读存储介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的发展以及各类人机对话产品(比如对话机器人)的出现极大地丰富了人们的日常生活。本申请的发明人在研究和实践过程中发现,现有技术中,在各类人机对话产品的使用过程中,人机对话的上下文内容关联性弱,人机对话的上下文内容逻辑性差,上下文内容的回复中通常存在重复或者矛盾的内容。
举例来说,在现有技术中,在各类人机对话产品的使用过程中,常有前文人机对话内容中出现了“今天天气十分晴朗”的回复,而在当前人机对话内容中针对类似问题的回复是“今日有雨,不适合外出”,人机对话的前后内容互相矛盾,人机对话的用户体验效果差,适用性低。
发明内容
本申请实施例提供一种语句生成方法、装置以及计算机可读存储介质,可以提高目标问答语句的目标响应语句的生成准确性,提高目标响应语句的连贯性,语句生成效率高,适用性强。
第一方面,本申请实施例提供了一种语句生成方法,该方法包括:
当获取到目标问答语句时,获取上述目标问答语句的历史语句,其中,上述历史语句为在获取到上述目标问答语句之前获取和/或生成的多个问答语句;
将上述目标问答语句和上述历史语句输入对话模型,并获取上述对话模型输出的上述目标问答语句的多个候选响应语句;
将上述多个候选响应语句输入语句连贯性分类模型,基于上述语句连贯性分类模型获取各个候选响应语句与上述历史语句的连贯性分值;
基于上述各个候选响应语句的连贯性分值从上述多个候选响应语句中确定出上述目标问答语句的目标响应语句。
在一种可能的实现方式中,将上述目标问答语句和上述历史语句输入对话模型之前,上述方法还包括:
获取多个样本问答语句以及各个样本问答语句的历史语句;
确定基线对话模型,上述基线对话模型具有基于输入的任一语句以及上述任一语句的历史语句输出上述任一语句的响应语句的能力;
确定集束搜索算法的搜索空间大小,并基于上述多个样本问答语句、上述各样本问答语句的历史语句以及上述基线对话模型,采用具有上述搜索空间大小的目标集束搜索算法训练得到上述对话模型。
在一种可能的实现方式中,上述基于上述多个样本问答语句、上述各样本问答语句的历史语句以及上述基线对话模型,采用具有上述搜索空间大小的目标集束搜索算法训练得到上述对话模型,包括:
基于上述基线对话模型确定初始对话模型,上述初始对话模型与上述基线对话模型具有相同的网络结构和网络参数;
将上述各样本问答语句及其历史语句输入上述初始对话模型,基于上述初始对话模型采用上述目标集束搜索算法进行集束搜索,以得到上述各样本问答语句的响应语句,其中任一样本问答语句的响应语句的数量与上述搜索空间大小相同;
将上述各样本问答语句的响应语句输入上述语句连贯性分类模型,基于上述语句连贯性分类模型获取上述各样本问答语句的响应语句的连贯性分值;
基于上述各样本问答语句的响应语句及其连贯性分值,和/或上述基线对话模型对上述初始对话模型进行强化学习训练以得到强化后的上述对话模型。
在一种可能的实现方式中,上述基于上述各样本问答语句的响应语句及其连贯性分值对上述初始对话模型进行强化学习训练以得到强化后的上述对话模型,包括:
将上述各样本问答语句的响应语句的连贯性分值作为强化学习的奖励参量,通过上述初始对话模型基于上述奖励参量以及上述各样本问答语句的响应语句进行强化学习以调整上述初始对话模型的网络参数,以得到强化后的上述对话模型。
在一种可能的实现方式中,上述基于上述各样本问答语句的响应语句及其上述连贯性分值,和上述基线对话模型对上述初始对话模型进行强化学习训练以得到强化后的上述对话模型,包括:
将上述各样本问答语句及其历史语句输入上述基线对话模型,获取上述基线对话模型输出的上述各样本语句中的各样本问答语句的基线响应语句;
基于上述各样本问答语句的响应语句和上述各样本问答语句的基线响应语句,得到上述各样本问答语句的响应语句的连贯性修正值;
基于上述各样本问答语句的响应语句的连贯性修正值和上述连贯性分值得到强化学习的奖励参量,通过上述初始对话模型基于上述奖励参量以及上述各样本问答语句的响应语句进行强化学习以调整上述初始对话模型的网络参数,以得到上述强化后的上述对话模型。
在一种可能的实现方式中,上述基于上述各样本问答语句的响应语句和上述各样本问答语句的基线响应语句,得到上述各样本问答语句的响应语句的连贯性修正值,包括:
获取上述初始对话模型生成上述各样本问答语句的任一响应语句的第一生成概率,并获取上述基线对话模型生成上述各样本问答语句的基线响应语句、且上述基线响应语句与上述任一响应语句相同的第二生成概率;
基于上述第一生成概率和上述第二生成概率得到上述初始对话模型和上述基线对话模型的相对熵,并将上述相对熵确定为上述连贯性修正值。
第二方面,本申请实施例提供了一种语句生成装置,该装置包括:
获取模块,用于在获取到目标问答语句时,获取上述目标问答语句的历史语句,其中,上述历史语句为在获取到上述目标问答语句之前获取和/或生成的多个问答语句;
响应语句生成模块,用于将上述获取模块获取的上述目标问答语句和上述历史语句输入对话模型,并基于上述对话模型输出上述目标问答语句的多个候选响应语句;
连贯性打分模块,用于将上述响应语句生成模块基于上述对话模型输出的多个候选响应语句输入语句连贯性分类模型,基于上述语句连贯性分类模型输出各个候选响应语句与上述历史语句的连贯性分值;
响应语句确定模块,用于基于上述各个候选响应语句的连贯性分值从上述多个候选响应语句中确定出上述目标问答语句的目标响应语句。
第三方面,本申请实施例提供了一种计算机设备,上述计算机设备包括:处理器、存储器以及网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储程序代码,上述处理器用于调用上述程序代码,以执行如本申请实施例第一方面中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,当上述处理器执行上述程序指令时执行如本申请实施例第一方面中的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统架构示意图;
图2是本申请实施例提供的语句生成方法的流程示意图;
图3是本申请实施例提供的语句生成方法的场景示意图;
图4是本申请实施例提供的连贯性分值生成示意图;
图5是本申请实施例提供的奖励参量生成示意图;
图6是本申请实施例提供的语句生成装置的结构示意图;
图7是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例提供的方案涉及人工智能领域中的自然语言处理、机器学习等技术,具体通过如下实施例进行说明:
本申请实施例提供的语句生成方法(或简称本申请实施例提供的方法)适用于对各类人机对话技术或产品(为方便描述,下面将以人机对话产品为例进行示例说明,比如对话机器人)的开发过程中,为了使得在人机对话产品中部署的对话模型能够实现更好的人机交互体验,可以通过提升在人机对话过程中上下文内容之间的连贯性以满足用户的交互需求。比如,在人机对话过程中,如果人机对话产品持续产出语义不连贯的回复,或者生成的回复内容生硬且难以满足用户的交互需求,则将降低人机交互的交互轮次,影响用户人机交互体验。本申请实施例提供的方法可以使得人机对话产品中部署的对话模型在人机对话过程中输出更具有连贯性、更贴近真实对话效果的响应语句。换句话说,基于本申请提供的方法,对话模型可以基于接收到的用户语句(比如用户的提问,为方便描述,可以以目标问答语句为例进行说明)自动生成更具有连贯性、更贴近真实对话效果的响应语句(比如基于用户提问的答复,为方便描述,可以以目标响应语句为例进行说明),从而使人机对话产品获得更好的人机交互效果。
在本申请实施例提供的方法中,人机对话过程中的连贯性主要是指当前人机对话产品生成的目标响应语句和其前文历史人机对话内容在交互主题、逻辑等方面的一致、相关性。比如,在接收到来自用户的目标问答语句“今天天气怎么样?”(即当前用户想要获取有关天气的信息)时,人机对话产品(比如对话机器人)可以基于部署的对话模型生成目标响应语句“今天天气十分晴朗”,即通过该目标响应语句告知用户想要的有关天气的信息,在对话主题上满足连贯性。而如果基于上述目标问答语句生成目标响应语句“今日有三部新上映的电影”,则生成的目标响应语句(电影相关)与来自用户的目标问答语句主题(天气相关主题)无关,不能满足用户的需求,连贯性差。或者,基于接收到的目标问答语句“今天天气怎么样?”生成目标响应语句“今天天气十分晴朗”之后,如果在后续对话中接收到来自用户的目标问答语句为“今天想出门运动一下”,基于该目标问答语句生成目标响应语句“今日大雨,不适合出门”,则生成的目标响应语句与其历史对话语句中的“今天天气十分晴朗”语义矛盾,会对用户的交互过程造成困扰,不能满足用户的需求,连贯性差。因此,对人机对话产品部署的对话模型进行训练以使在人机对话过程中基于接收到的目标问答语句生成更具有连贯性、更贴近真实对话效果的目标响应语句,可以进一步提升人机交互体验,操作简单,适用性高。这里,目标问答语句可以从包括文本、图片或者语音等多种表现形式的用户提问问句中获取。比如,当用户提问问句为图片或者上述用户提问问句中包括图片时,可以基于图像文字识别从上述图片中获取该用户提问问句对应的目标问答语句。当用户提问问句为语音或者上述用户提问问句中包括语音时,可以基于语音文字识别从上述语音中获取该用户提问问句对应的目标问答语句。其中,上述用户提问问句的表现形式以及目标问答语句的获取方式可根据实际应用场景确定,在此不做限制。
在本申请实施例提供的方法中,目标响应语句的生成过程中,可通过对话模型基于获取的目标问答语句及其历史语句得到目标问答语句的多个候选响应语句,并通过语句连贯性分类模型获取上述多个候选响应语句的连贯性分值,从而可以基于上述多个候选响应语句的连贯性分值从多个候选响应语句中获取目标问答语句的目标响应语句。这里,通过语句连贯性分类模型获取到多个候选响应语句的连贯性分值,可以保证从上述多个候选响应语句中确定的目标响应语句与其历史语句具有连贯性,即与历史语句在对话主题、逻辑等方面一致且有较强关联,操作简单,生成的目标响应语句连贯性强,人机交互体验效果好,适用性强。
参见图1,图1是本申请实施例提供的系统架构示意图。如图1所示,该系统架构可以包括业务服务器100以及终端集群,终端集群可以包括:终端设备200a、终端设备200b、终端设备200c、……、终端设备200n等终端设备。其中,上述业务服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备(包括终端设备200a、终端设备200b、终端设备200c、……、终端设备200n)可以是智能手机、平板电脑、笔记本电脑、台式计算机、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能电脑、智能车载等智能终端。其中,业务服务器100与终端集群中的各终端设备可以建立通信连接,终端集群中的各终端设备之间也可建立通信连接。换句话说,业务服务器100可与终端设备200a、终端设备200b、终端设备200c、……、终端设备200n中的各终端设备建立通信连接,例如终端设备200a与业务服务器100之间可建立通信连接。终端设备200a与终端设备200b之间可建立通信连接,终端设备200a与终端设备200c之间也可建立通信连接。其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接等,具体可根据实际应用场景确定,本申请在此不做限制。
应该理解,如图1所示的终端集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1所示的业务服务器100之间进行数据交互,使得业务服务器100可以接收来自于每个终端设备的业务数据。其中,该应用客户端可以为对话机器人应用客户端(简称对话机器人客户端),即用户可以通过该应用客户端向业务服务器100发送目标问答语句,业务服务器100作为对话机器人客户端的服务器,可以为包括该客户端对应的后台服务器、数据处理服务器等多个服务器的集合。业务服务器100可以接收到来自对话机器人客户端的目标问答语句,并基于该目标问答语句生成对应的目标响应语句,并可以将生成的目标响应语句返回上述对话机器人客户端以向用户展示。上述应用客户端可以为独立的客户端,也可以为集成在某客户端(例如即时通信客户端、社交客户端等)中的嵌入式子客户端,具体可根据实际应用场景确定,在此不做限定。本申请实施例提供的方法可以由如图1所示的业务服务器100执行,也可以任一由终端设备(如图1所示的终端设备200a、终端设备200b、……、终端设备200n中的任意一个)执行,还可以由终端设备和业务服务器共同执行,具体可根据实际应用场景确定,此处不做限制。
在一些可行的实施方式中,可以将终端设备200a作为目标问答语句的提供方,业务服务器100基于终端设备200a获取的目标问答语句及其历史语句生成目标响应语句。业务服务器100可以获取目标问答语句及其历史语句,上述目标问答语句可以是用户通过终端设备200a中装载的对话机器人客户端输入(或编写并录入)的一个或多个目标问答语句。业务服务器100中可以部署有对话模型,可以将上述目标问答语句输入对话模型,通过对话模型输出得到目标问答语句的多个候选响应语句,即可以对上述获取的多个候选响应语句进行选择以得到目标响应语句。同时,业务服务器100中可以部署有语句连贯性分类模型,将上述多个候选响应语句及其历史语句输入语句连贯性分类模型,通过上述语句连贯性分类模型获取各候选响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。通过语句连贯性分类模型获取各候选响应语句的连贯性分值后对各候选响应语句进行排序,选取其中连贯性分值最高的候选响应语句作为目标响应语句,可以保证从上述多个候选响应语句中确定的目标响应语句与其历史语句具有连贯性,操作简单,生成的目标响应语句连贯性强,人机交互体验效果好,适用性强。
在一些可行的实施方式中,可以是终端设备200a通过其装载的对话机器人客户端获取用户的目标问答语句及其历史语句,并基于目标问答语句及其历史语句生成目标响应语句。终端设备200a(比如终端设备200a装载的对话机器人客户端)中可以部署有对话模型,可以将上述目标问答语句输入对话模型,通过对话模型输出得到目标问答语句的多个候选响应语句,即可以对上述获取的多个候选响应语句进行选择以得到目标响应语句。同时,终端设备200a(比如终端设备200a装载的对话机器人客户端)中可以部署有语句连贯性分类模型,将上述多个候选响应语句及其历史语句输入语句连贯性分类模型,通过上述语句连贯性分类模型获取各候选响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。通过语句连贯性分类模型获取各候选响应语句的连贯性分值后对各候选响应语句进行排序,选取其中连贯性分值最高的候选响应语句作为目标响应语句,可以保证从上述多个候选响应语句中确定的目标响应语句与其历史语句具有连贯性,操作简单,生成的目标响应语句连贯性强,人机交互体验效果好,适用性强。
为方便描述,下面将以终端设备作为本申请实施例提供的方法的执行主体,通过一个实施例具体说明通过终端设备进行问答语句生成的实现方式。
参见图2,图2是本申请实施例提供的语句生成方法的流程示意图。如图2所示,该方法包括如下步骤:
S101,当获取到目标问答语句时,获取目标问答语句的历史语句。
在一些可行的实施方式中,终端设备(比如终端设备200a)可以获取目标问答语句,上述目标问答语句可以是用户通过终端设备中装载的对话机器人客户端输入(或编写并录入)的一个或多个目标问答语句。终端设备可通过上述对话机器人客户端获取得到上述目标问答语句。其中,上述对话机器人客户端可以为独立的客户端,也可以为集成在某客户端(例如即时通信客户端、社交客户端等)中的嵌入式子客户端,或者也可以是通过浏览器访问的web应用,具体可根据实际应用场景确定,在此不做限制。本申请实施例将以对话机器人客户端为独立的客户端为例进行说明,下文不再赘述。
请一并参见图3,图3是本申请实施例提供的语句生成方法的场景示意图。如图3所示,用户使用上述对话机器人客户端可以如图3中的界面100a所示。具体的,在界面100a中可以显示目标问答语句添加控件10a和/或语音输入控件10b,如果用户想要发送目标问答语句(比如向对话机器人提问等),可以在目标问答语句添加控件10a中输入目标问答语句,或者,用户也可以点击语音输入控件10b录入语音形式的目标问答语句。举例来说,假设用户B与对话机器人A进行对话的过程中,可以在已有对话语句(用户B发送的“在吗?”以及机器人A反馈的“在的,有什么需要帮助的吗?”)上继续在目标问答语句添加控件10a中编写输入目标问答语句“今天天气怎么样?”,并在目标问答语句输入完毕后点击发送控件10c。点击发送控件10c后,终端设备可以响应控件10c上的触发操作并从上述对话机器人客户端获取得到目标问答语句“今天天气怎么样?”。除此之外,终端设备在获取到上述目标问答语句时,也可以获取到该目标问答语句对应的历史语句,这里,目标问答语句的历史语句是在获取到上述目标问答语句之前获取和/或生成的多个问答语句。比如上述目标问答语句的历史语句可以是上述目标问答语句之前的全部或部分对话语句,如图3中的界面100a所示,此时目标问答语句“今天天气怎么样?”的历史语句可以是用户B发送的“在吗?”以及机器人A反馈的“在的,有什么需要帮助的吗?”。
S102,将目标问答语句和历史语句输入对话模型,并获取对话模型输出的目标问答语句的多个候选响应语句。
在一些可行的实施方式中,终端设备中可以部署有对话模型,终端设备获取到目标问答语句及其历史语句后,可以将上述目标问答语句及其历史语句输入对话模型,通过对话模型输出得到目标问答语句的多个候选响应语句,以对上述获取的多个候选响应语句进行选择以得到目标响应语句。具体的,上述对话模型可以是基于长短期记忆(LongShort-Term Memory,LSTM)模型、门控循环单元(gated recurrent unit,GRU)模型、双向自回归变压器(Bidirectional and Auto-Regressive Transformers,BART)模型等构建的对话模型,在此不做限制。为方便描述,本申请实施例将选择基于BART模型构建的对话模型对终端设备获取到的目标问答语句及其历史语句进行多个候选响应语句生成为例进行示例说明。BART模型是使用Transformer模型整体结构的预训练语言模型,由于BART模型在预训练的编码过程中使用了文本的上下文信息,即双向语义信息,可以使得对话模型输出的候选响应语句的流畅度和连贯性更强。例如,终端设备获取到用户B通过对话机器人客户端编写的目标问答语句“今天天气怎么样?”以及历史语句“在吗?”和“在的,有什么需要帮助的吗?”之后,可以通过部署的对话模型得到目标问答语句的多个候选响应语句。
在一些可行的实施方式中,终端设备将上述目标问答语句和历史语句输入对话模型之前,还可以获取多个样本语句以及各个样本语句的历史语句,还可确定基线对话模型,以在该基线对话模型的基础上基于多个样本语句以及各个样本语句的历史语句进行强化学习训练来得到对话模型(即进行强化学习训练的对话模型,进行强化学习训练之前该对话模型(为方便描述可以以初始对话模型为例进行示例说明)可以与上述基线对话模型具有相同的网络结构和网络参数)。上述基线对话模型可以是基于BART模型构建、并具有基于输入的任一语句以及该语句的历史语句输出该任一的响应语句的能力的模型。这里,上述样本语句中可包括样本问答语句和样本响应语句,上述基线对话模型(包括初始对话模型)可以基于各样本问答语句和BART模型进行训练以使基线对话模型可以基于任一样本问答语句输出其响应语句。其中,在模型的训练过程中可以基于各样本问答语句的样本响应语句(即语句的真实值)和各样本问答语句的响应语句(即语句的模型输出值)的比较来调整模型的网络参数(比如损失函数)以使模型的输出趋向收敛,来获得基于输入的任一样本问答语句输出其响应语句的能力。
在一些可行的实施方式中,终端设备中部署的对话模型可在该基线对话模型的基础上基于多个样本语句以及各个样本语句的历史语句进行强化学习训练来得到。此外,在对话模型的训练中,还可以使用集束搜索算法来进行模型训练,以使模型获得基于任一输入的语句获取多个候选响应语句的能力,此时,模型基于输入的任一语句输出的响应语句的数量与模型训练所使用的集束搜索算法的搜索空间大小相同。在对话模型的训练中,可以确定集束搜索算法的搜索空间大小(该搜索空间大小可以决定对话模型基于输入的各目标问答语句输出候选响应语句的数量),并基于上述多个样本语句(具体可为各样本语句中的样本问答语句)、各样本语句的历史语句以及基线对话模型,采用具有上述搜索空间大小的目标集束搜索算法训练得到对话模型。换句话说,这里的对话模型是在初始对话模型(即基线对话模型)的基础上进行强化学习训练得到的对话模型,也就是强化后的模型。具体的,通过基于上述多个样本语句、各样本语句的历史语句对上述基线对话模型所确定的对话模型进行强化学习训练,从而使得上述对话模型在基线对话模型的基础上进一步加强模型输出语句与历史语句的连贯性以得到强化后的对话模型,从而使得通过对话模型得到的目标响应语句与其历史语句具有连贯性,即与历史语句在对话主题、逻辑等方面一致且有较强关联,增强人机交互体验效果。
在一些可行的实施方式中,上述多个样本语句以及各个样本语句的历史语句可以是来自样本语句库,各样本语句可以包括样本问答语句以及样本响应语句。例如,上述样本语句库中可以包含样本问答语句“最近没什么想看的电影怎么办”以及该样本问答语句(即样本语句的历史语句)的历史语句“在吗?”、“在的,有什么需要帮助的吗?”、“能推荐一下周末的活动吗?”和“周末可以去看电影”。这里,上述样本语句库中包括的样本语句可以从互联网的相关领域直接获取,或者直接从用户编写的目标问答语句(比如通过对话机器人客户端编写)中获取等,具体可根据实际应用场景确定,在此不做限制。上述获取到的样本语句可以放入终端设备的指定存储空间以构成上述样本语句库,还可以定期对样本语句库中的样本语句进行增删等以更新样本语句库中的样本语句,其中上述定期更新的频率可以是一周一次、一个月一次等,具体可根据实际应用场景需求确定,在此不做限制。
在一些可行的实施方式中,在通过对话模型获取多个候选响应语句的过程中,对话模型内部(比如输出层)可以通过集束搜索算法选择得到连贯性最优的多个候选响应语句,其中,集束搜索算法的搜索空间(比如为k)与上述对话模型输出的候选响应语句数量相同。在对上述基线对话模型确定的对话模型进行强化学习以得到强化后的对话模型之前,可以确定集束搜索算法的搜索空间,并采用具有搜索空间大小k的目标集束搜索算法训练对话模型,以使得训练后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句。具体的,可以设置不同的搜索空间大小,将从样本语句库中获取的样本语句及其历史语句输入采用具有不同搜索空间大小的集束搜索算法的对话模型,基于输出的响应语句确定最佳搜索空间大小(比如为k)。即当采用搜索空间大小为k的目标集束搜索算法时,上述对话模型输出的响应语句与其历史语句具有连贯性的概率更高。
在一些可行的实施方式中,确定集束搜索算法的搜索空间后,将从样本语句库获取的各样本语句及其历史语句输入对话模型(可以是基于基线对话模型确定的),基于对话模型采用目标集束搜索算法进行集束搜索,以得到各样本语句中的各样本问答语句的响应语句,其中任一样本问答语句响应语句的数量与确定的搜索空间大小相同。将上述各样本问答语句的响应语句及其历史语句(这里,响应语句的历史语句包括其对应的样本问答语句和样本问答语句的历史语句)输入语句连贯性分类模型,基于语句连贯性分类模型获取各样本问答语句的响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。具体的,上述语句连贯性分类模型可以是基于双向编码表征(BidirectionalEncoder Representations from Transformers,BERT)模型或者基于强力优化的BERT预训练方法(Robustly optimized BERT pretraining approach,RoBERTa)模型构建,具体可根据实际应用场景需求确定,在此不做限制。为方便描述,本申请实施例将选择RoBERTa模型为例进行示例说明。RoBERTa模型属于BERT模型的强化版本,也是BERT模型更为精细的调优版本,不仅改进了优化函数,同时改用了动态掩码的方式训练模型,去掉BERT模型中的NSP任务,边际效果变好。参见图4,图4是本申请实施例提供的连贯性分值生成示意图。如图4所示,将历史语句(即响应语句的历史语句,包括其对应的样本问答语句和样本问答语句的历史语句)输入对话模型,得到响应语句(可以是搜索空间大小的多个响应语句),将响应语句及其历史语句输入语句连贯性分类模型(可以是基于RoBERTa模型构建的模型),得到语句连贯性分类模型输出的各响应语句的连贯性分值。具体的,可以将响应语句(可以用r表示)和响应语句的历史语句(包括其对应的样本问答语句和样本问答语句的历史语句,可以用U表示)转化为“[CLS]U[SEP]r[SEP]”的格式,同时输入预训练的RoBERTa模型。其中,“[CLS]”的位置对应的最后一层隐层状态输入到RoBERTa模型带有softmax的全连接层进行连贯性打分以得到响应语句的连贯性分值。
在一些可行的实施方式中,在通过上述语句连贯性分类模型获取其输入的对话语句(比如响应语句)的连贯性分值过程中,基于语句连贯性分类模型输出的连贯性分值与预先确定的真实分值可以得到上述语句连贯性分类模型的交叉熵(即损失函数),并基于上述交叉熵可以不断优化语句连贯性分类模型以提高其输出的连贯性分值的准确性,从而可以基于输出的连贯性分值对对话模型进行强化学习训练,使得强化后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句。
在一些可行的实施方式中,基于上述语句连贯性分类模型得到各响应语句的连贯性分值后,可以基于上述各样本问答语句的响应语句及其连贯性分值对初始对话模型进行强化学习训练以得到强化后的对话模型。强化学习(Reinforcement Learning,RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(可以是上述对话模型)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习是一种采用“试错”的方法与环境进行交互的学习方法,通过获取当前状态下执行某个动作(可以是对话模型输出候选响应语句)后的累计回报(这里可以是各候选响应语句的连贯性分值)的期望值大小来判断选择哪个动作能获得最优效果(得到连贯性更好的目标响应语句)。具体的,可以将各样本问答语句的响应语句的连贯性分值作为强化学习的奖励参量(可以是从多个响应语句中选取连贯性分值最高的响应语句),对话模型(模型的网络结构与基线对话模型的网络结构相同,初始网络参数与基线对话模型的网络参数相同,基于初始网络参数的对话模型也称初始对话模型,以下简称对话模型)基于该奖励参量以及各样本问答语句的响应语句进行强化学习以不断调整模型的网络参数,直至模型的输出趋向收敛以得到强化后的对话模型。举例来说,针对对话模型(可以表示为),将样本问答语句“最近没什么想看的电影怎么办”以及历史语句“在吗?”、“在的,有什么需要帮助的吗?”、“能推荐一下周末的活动吗?”和“周末可以去看电影”输入对话模型上述对话模型可以生成多个响应语句,可以选取多个响应语句中选取连贯性分值最高的响应语句(比如“那可以去外面散散步”),基于该响应语句的连贯性分值作为强化学习的奖励参量。样本问答语句以及历史语句可以用U={u1,…,ul-1}={x1,…,xT}表示,其中U代表样本问答语句以及历史语句集合(也可统称为响应语句的历史语句),ui表示U中的第i轮对话,xj表示U中的第j个词。例如上述样本问答语句以及历史语句可以表示为U={u1,…,u5}={x1,…,x28},响应语句可以用r表示(也可以是r=ul={y1,…,yT′},其中T′代表r中词语的数量,yk表示响应语句r中的第k个词),即输入U到对话模型/>以得到响应语句r。使用连贯性分类器计算响应语句的连贯性分值可以表示为f(U,r),上述连贯性分值作为强化学习的奖励参量Reward(U,r)=f(U,r),基于该奖励参量对对话模型进行强化学习训练,训练过程中对话模型根据得到的奖励参量作为反馈,学习一系列的环境状态(State,这里可以是当前模型接收到的样本问答语句以及历史语句)到动作(Action,这里可以是模型输出响应语句)的映射,输出响应语句的原则是最大化未来累积的奖励参量概率。从而使得强化后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句,使部署有该对话模型的人机对话产品获得更好的人机交互效果。
在一些可行的实施方式中,终端设备还可以基于上述各样本问答语句的响应语句及其连贯性分值,并结合基线对话模型(可以表示为Pθ)对初始对话模型进行强化学习训练以得到强化后的对话模型。具体的,可以在得到响应语句的连贯性分值之后,计算初始对话模型与上述基线对话模型的相对熵(又称为KL散度(Kullback–Leibler divergence)),上述KL散度体现了初始对话模型与基线对话模型的差异程度,将上述KL散度作为响应语句的连贯性修正值以对各响应语句的连贯性分值进行修正以得到奖励参量。由于上述奖励参量包含了KL散度的约束,初始对话模型基于该奖励参量以及各样本问答语句的响应语句进行强化学习训练,得到的强化后的对话模型可以生成连贯性分值更高的目标响应语句,同时不会过分偏离基线对话模型,保证了生成目标响应语句的准确性。参见图5,图5是本申请实施例提供的奖励参量生成示意图。如图5所示,将样本历史语句(即样本响应语句的历史语句,包括样本响应语句对应的样本问答语句和样本问答语句的历史语句)分别输入初始对话模型以及基线对话模型,获取初始对话模型基于样本历史语句输出样本历史语句中样本问答语句的某一个响应语句的第一生成概率以及基线对话模型基于样本历史语句输出该样本问答语句的同一个响应语句(该响应语句为基线对话模型的输出,因此也称基线响应语句)的第二生成概率。基于上述第一生成概率以及第二生成概率得到KL散度,即基于初始对话模型和基线对话模型针对输入相同的历史语句输出同一个响应语句的两个概率得到KL散度,进而可通过KL散度(即连贯性修正值)以及响应语句的连贯性分值得到奖励参量。举例来说,输入U到初始对话模型以及基线对话模型Pθ,并获取初始对话模型/>输出响应语句yt的第一生成概率/>和基线对话模型Pθ输出响应语句yt的第二生成概率Pθ(yt|U,x1:t-1),并通过以下公式(1)计算得到KL散度。
此外,终端设备还可以基于KL散度和上述语句连贯性分类模型得到初始对话模型输出的响应语句的连贯性分值f(U,r)以得到奖励参量Reward(U,r),其中:
Reward(U,r)=f(U,r)-KL(U)
基于该奖励参量对初始对话模型进行强化学习训练(也可以称为近端策略优化(Proximal Policy Optimization,PPO)),使得强化后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句,同时不过于偏离基线对话模型。
可选地,终端设备还可以基于自适应KL散度(adaptive KL divergence)得到奖励参量Reward(U,r):
Reward(U,r)=f(U,r)-βKL(U)
其中,β为可调整的约束参数。首先,设置一个可以接收的KL散度的上限值和下限值,如果在强化学习训练的过程中,如果KL散度值KL(U)太大,超过设置的上限值,则说明此时KL散度对奖励参量的约束太弱,从而导致初始对话模型与基线对话模型差异过大,因此可以适度调大约束参数β以提高KL散度的约束。否则,如果KL散度值KL(U)太小,低于设置的下限值,则说明此时KL散度对奖励参量的约束太强,从而导致初始对话模型与基线对话模型差异过小,因此可以适度调小约束参数β以降低KL散度的约束。通过加入约束参数β,可以使KL散度更好地对奖励参量进行约束,从而基于奖励参量对初始对话模型进行强化学习训练,使得强化后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句,同时与基线对话模型有适度的差异,增强部署该对话模型的人机对话产品的人机交互效果。
S103,将各个候选响应语句输入语句连贯性分类模型,基于语句连贯性分类模型获取多个候选响应语句与历史语句的连贯性分值。
S104,基于各个候选响应语句的连贯性分值从多个候选响应语句中确定出目标问答语句的目标响应语句。
在一些可行的实施方式中,通过对话模型获取到多个候选响应语句后,将上述多个候选响应语句及其历史语句输入语句连贯性分类模型(可以是基于RoBERTa模型构建的语句连贯性分类模型),通过语句连贯性分类模型获取各候选响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。基于上述各候选响应语句的连贯性分值可以获取(比如选取连贯性分值最高的候选响应语句)得到与历史语句连贯性最强的目标响应语句,增强部署该对话模型的人机对话产品的人机交互效果。例如,对话模型基于输入的目标问答语句(可以是“今天天气怎么样?”)及其历史语句(可以是“在吗?”和“在的,有什么需要帮助的吗?”)生成多个候选响应语句m1、m2...、mk,上述多个候选响应语句数量与确定的集束搜索算法的搜索空间大小k相同。通过语句连贯性分类模型获取各候选响应语句的连贯性分值并进行排序,选取其中连贯性分值最高的候选响应语句(比如m1,“今天天气十分晴朗”)作为目标响应语句。
在一些可行的实施方式中,通过上述基于样本语句库中的样本语句对初始对话模型进行强化学习训练,使得上述对话模型在基线对话模型的基础上进一步加强模型输出语句与历史语句的连贯性以得到强化后的对话模型,从而使得通过对话模型得到的目标响应语句与其历史语句具有连贯性,即与历史语句在对话主题、逻辑等方面一致且有较强关联,增强人机交互体验效果。通过多次对话测试可以以得到,通过对话机器人(比如上述对话机器人A,该对话机器人部署有对话模型)自我交谈,并使用独立的对话连贯性分类器评测生成的响应语句是否与历史语句一致(即连贯),得到对话模型输出的评测结果如下表1所示:
表1
如表1所示,对比的模型包括:单论对话BART、多轮对话BART、多轮对话BART加强化学习训练、多轮对话BART且搜索空间为5、多轮对话BART且搜索空间为10以及多轮对话BART且搜索空间为20。可以看到上述各类模型的前五轮平均一致率分别为:75.9%、78.3%、99.2%、90.05%、94.95%以及98.69%,前十轮平均一致率分别为:59.3%、54.2%、84.2%、77.36%、87.99%以及95.41%。即对于对话模型,经过强化学习训练后的对话模型输出的目标响应语句有更强的连贯性(体现为每轮对话的一致率,连贯性越强,则一致率越高),同时,设置不同的集束搜索算法的搜索空间,也对输出的目标响应语句的连贯性有影响。
在一些可行的实施方式中,各样本语句中可以包括样本问答语句以及样本响应语句,在通过上述对话模型生成其输入的样本问答语句的响应语句过程中,基于对话模型输出的响应语句与样本语句中的样本响应语句可以得到上述对话模型的交叉熵(即损失函数),并基于上述交叉熵可以不断优化对话模型以提高其输出的响应语句的准确性,从而可以使得优化后的对话模型基于输入的任一目标问答语句以及历史语句可以生成连贯性分值更高的目标响应语句。
在一些可行的实施方式中,在对初始对话模型进行强化学习训练过程中,还可以使用安全性,合法性等作为奖励参量进行强化学习训练,即可以通过对话安全性分类器、对话合法性分类器获取响应语句的安全性分值以及合法性分值,从而将上述安全性分值以及合法性分值作为奖励参量对初始对话模型进行强化学习训练,具体训练过程参照上述基于连贯性分值的强化学习训练,此处不再累述。
在本申请实施例中,终端设备可以获取目标问答语句及其历史语句,上述目标问答语句可以是用户通过终端设备中装载的对话机器人客户端编写得到的一个或多个目标问答语句。终端设备获取到目标问答语句及其历史语句后,可以将上述目标问答语句及其历史语句输入对话模型(可以是基于BART模型构建的对话模型),通过对话模型输出得到目标问答语句的多个候选响应语句(候选响应语句数量为集束搜索算法的搜索空间大小),即可以对上述获取的多个候选响应语句进行选择以得到目标响应语句。通过对话模型获取到多个候选响应语句后,将上述多个候选响应语句及其历史语句输入语句连贯性分类模型(可以是基于RoBERTa模型构建的语句连贯性分类模型),通过上述语句连贯性分类模型获取各候选响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。通过语句连贯性分类模型获取各候选响应语句的连贯性分值后对各候选响应语句进行排序,选取其中连贯性分值最高的候选响应语句作为目标响应语句,可以保证从上述多个候选响应语句中确定的目标响应语句与其历史语句具有连贯性,操作简单,生成的目标响应语句连贯性强,人机交互体验效果好,适用性强。
基于上述语句生成方法实施例的描述,本申请实施例还公开了一种语句生成装置。该语句生成装置可以被应用于图1至图5所示实施例的语句生成方法中,以用于执行语句生成方法中的步骤。这里,语句生成装置可以是上述图1至图5所示实施例中的业务服务器或者终端设备,即该语句生成装置可以为上述图1至图5所示实施例中语句生成方法的执行主体。请参见图6,图6是本申请实施例提供的语句生成装置的结构示意图。在本申请实施例中,该装置可运行如下模块:
获取模块31,用于在获取到目标问答语句时,获取上述目标问答语句的历史语句,其中,上述历史语句为在获取到上述目标问答语句之前获取和/或生成的多个问答语句;
响应语句生成模块32,用于将上述获取模块31获取的上述目标问答语句和上述历史语句输入对话模型,并基于上述对话模型输出上述目标问答语句的多个候选响应语句;
连贯性打分模块33,用于将上述响应语句生成模块32基于上述对话模型输出的多个候选响应语句输入语句连贯性分类模型,基于上述语句连贯性分类模型输出各个候选响应语句与上述历史语句的连贯性分值;
响应语句确定模块34,用于基于上述各个候选响应语句的连贯性分值从上述多个候选响应语句中确定出上述目标问答语句的目标响应语句。
在一些可行的实施方式中,将上述目标问答语句和上述历史语句输入对话模型之前,上述响应语句生成模块32还用于:
获取多个样本问答语句以及各个样本问答语句的历史语句;
确定基线对话模型,上述基线对话模型具有基于输入的任一语句以及上述任一语句的历史语句输出上述任一语句的响应语句的能力;
确定集束搜索算法的搜索空间大小,并基于上述多个样本问答语句、上述各样本问答语句的历史语句以及上述基线对话模型,采用具有上述搜索空间大小的目标集束搜索算法训练得到上述对话模型。
在一些可行的实施方式中,上述响应语句生成模块32还用于:
基于上述基线对话模型确定初始对话模型,上述初始对话模型与上述基线对话模型具有相同的网络结构和网络参数;
将上述各样本问答语句及其历史语句输入上述初始对话模型,基于上述初始对话模型采用上述目标集束搜索算法进行集束搜索,以得到上述各样本问答语句的响应语句,其中任一样本问答语句的响应语句的数量与上述搜索空间大小相同;
将上述各样本问答语句的响应语句输入上述语句连贯性分类模型,基于上述语句连贯性分类模型获取上述各样本问答语句的响应语句的连贯性分值;
基于上述各样本问答语句的响应语句及其连贯性分值,和/或上述基线对话模型对上述初始对话模型进行强化学习训练以得到强化后的上述对话模型。
在一些可行的实施方式中,上述响应语句生成模块32还用于:
将上述各样本问答语句的响应语句的连贯性分值作为强化学习的奖励参量,通过上述初始对话模型基于上述奖励参量以及上述各样本问答语句的响应语句进行强化学习以调整上述对话模型的网络参数,以得到强化后的上述对话模型。
在一些可行的实施方式中,上述响应语句生成模块32还用于:
将上述各样本问答语句及其历史语句输入上述基线对话模型,获取上述基线对话模型输出的上述各样本问答语句的基线响应语句;
基于上述各样本问答语句的响应语句和上述各样本问答语句的基线响应语句,得到上述各样本问答语句的响应语句的连贯性修正值;
基于上述各样本问答语句的响应语句的连贯性修正值和上述连贯性分值得到强化学习的奖励参量,通过上述初始对话模型基于上述奖励参量以及上述各样本问答语句的响应语句进行强化学习以调整上述初始对话模型的网络参数,以得到强化后的上述对话模型。
在一些可行的实施方式中,上述响应语句生成模块32还用于:
获取上述初始对话模型生成上述各样本问答语句的任一响应语句的第一生成概率,并获取上述基线对话模型生成上述各样本问答语句的基线响应语句、且上述基线响应语句与上述任一响应语句相同的第二生成概率;
基于上述第一生成概率和上述第二生成概率得到上述初始对话模型和上述基线对话模型的相对熵,并将上述相对熵确定为上述连贯性修正值。
在一些可行的实施方式中,根据上述图2所对应的实施例,图2所示的语句生成方法中步骤S101至S104所描述的实现方式可由图6所示的装置的各个模块执行。例如,上述图2所示的语句生成方法中步骤S101所描述的实现方式可由图6所示的装置中获取模块31来执行,步骤S102所描述的实现方式可由响应语句生成模块32来执行,步骤S103所描述的实现方式可由连贯性打分模块33来执行,步骤S104所描述的实现方式可由响应语句确定模块34来执行。其中,上述获取模块31、响应语句生成模块32、连贯性打分模块33以及响应语句确定模块34所执行的实现方式可参见上述图2所对应的实施例中各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,语句生成装置能够获取目标问答语句及其历史语句,上述目标问答语句可以是用户通过终端设备中装载的对话机器人客户端编写得到的一个或多个目标问答语句。语句生成装置获取到目标问答语句及其历史语句后,可以将上述目标问答语句及其历史语句输入对话模型(可以是基于BART模型构建的对话模型),通过对话模型输出得到目标问答语句的多个候选响应语句(候选响应语句数量为集束搜索算法的搜索空间大小),即可以对上述获取的多个候选响应语句进行选择以得到目标响应语句。通过对话模型获取到多个候选响应语句后,将上述多个候选响应语句及其历史语句输入语句连贯性分类模型(可以是基于RoBERTa模型构建的语句连贯性分类模型),通过上述语句连贯性分类模型获取各候选响应语句的连贯性分值。上述连贯性分值体现了各响应语句与其历史语句之间的连贯性,连贯性分值越高,则说明与历史语句在对话主题、逻辑等方面越一致且有较强关联。通过语句连贯性分类模型获取各候选响应语句的连贯性分值后对各候选响应语句进行排序,选取其中连贯性分值最高的候选响应语句作为目标响应语句,可以保证从上述多个候选响应语句中确定的目标响应语句与其历史语句具有连贯性,操作简单,生成的目标响应语句连贯性强,人机交互体验效果好,适用性强。
在本申请实施例中,上述图6所示的装置中的各个模块可以分别或全部合并为一个或若干个另外的模块来构成,或者其中的某个(些)模块还可以再拆分为功能上更小的多个模块来构成,这可以实现同样的操作,而不影响本申请实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个模块来实现,或者多个模块的功能由一个模块实现。在本申请的其它可行的实现方式中,上述装置也可以包括其它模块,在实际应用中,这些功能也可以由其它模块协助实现,并且可以由多个模块协作实现,在此不做限制。
请参见图7,图7是本申请实施例提供的计算机设备的结构示意图。如图7所示,该计算机设备1000可以为上述图2-5所对应实施例中的终端设备。该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,可选的,用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图7所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户(或开发人员)提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图2所对应实施例中的语句生成方法。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2-图6所对应实施例中对语句生成方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的语句生成装置所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2-图6所对应实施例中对语句生成方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种语句生成方法,其特征在于,所述方法包括:
当获取到目标问答语句时,获取所述目标问答语句的历史语句,其中,所述历史语句为在获取到所述目标问答语句之前获取和/或生成的多个问答语句;
将所述目标问答语句和所述历史语句输入对话模型,并获取所述对话模型输出的所述目标问答语句的多个候选响应语句;
将所述多个候选响应语句输入语句连贯性分类模型,基于所述语句连贯性分类模型获取各个候选响应语句与所述历史语句的连贯性分值;
基于所述各个候选响应语句的连贯性分值从所述多个候选响应语句中确定出所述目标问答语句的目标响应语句。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标问答语句和所述历史语句输入对话模型之前,所述方法还包括:
获取多个样本问答语句以及各个样本问答语句的历史语句;
确定基线对话模型,所述基线对话模型具有基于输入的任一语句以及所述任一语句的历史语句输出所述任一语句的响应语句的能力;
确定集束搜索算法的搜索空间大小,并基于所述多个样本问答语句、所述各样本问答语句的历史语句以及所述基线对话模型,采用具有所述搜索空间大小的目标集束搜索算法训练得到所述对话模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述多个样本问答语句、所述各样本问答语句的历史语句以及所述基线对话模型,采用具有所述搜索空间大小的目标集束搜索算法训练得到所述对话模型,包括:
基于所述基线对话模型确定初始对话模型,所述初始对话模型与所述基线对话模型具有相同的网络结构和网络参数;
将所述各样本问答语句及其历史语句输入所述初始对话模型,基于所述初始对话模型采用所述目标集束搜索算法进行集束搜索,以得到所述各样本问答语句的响应语句,其中任一样本问答语句的响应语句的数量与所述搜索空间大小相同;
将所述各样本问答语句的响应语句输入所述语句连贯性分类模型,基于所述语句连贯性分类模型获取所述各样本问答语句的响应语句的连贯性分值;
基于所述各样本问答语句的响应语句及其连贯性分值,和/或所述基线对话模型对所述初始对话模型进行强化学习训练以得到强化后的所述对话模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述各样本问答语句的响应语句及其连贯性分值对所述初始对话模型进行强化学习训练以得到强化后的所述对话模型,包括:
将所述各样本问答语句的响应语句的连贯性分值作为强化学习的奖励参量,通过所述初始对话模型基于所述奖励参量以及所述各样本问答语句的响应语句进行强化学习以调整所述对话模型的网络参数,以得到强化后的所述对话模型。
5.根据权利要求3所述的方法,其特征在于,所述基于所述各样本问答语句的响应语句及其所述连贯性分值,和所述基线对话模型对所述对话模型进行强化学习训练以得到强化后的所述对话模型,包括:
将所述各样本问答语句及其历史语句输入所述基线对话模型,获取所述基线对话模型输出的所述各样本问答语句的基线响应语句;
基于所述各样本问答语句的响应语句和所述各样本问答语句的基线响应语句,得到所述各样本问答语句的响应语句的连贯性修正值;
基于所述各样本问答语句的响应语句的连贯性修正值和所述连贯性分值得到强化学习的奖励参量,通过所述初始对话模型基于所述奖励参量以及所述各样本问答语句的响应语句进行强化学习以调整所述初始对话模型的网络参数,以得到强化后的所述对话模型。
6.根据权利要求5所述的方法,其特征在于,所述基于所述各样本问答语句的响应语句和所述各样本问答语句的基线响应语句,得到所述各样本问答语句的响应语句的连贯性修正值,包括:
获取所述初始对话模型生成所述各样本问答语句的任一响应语句的第一生成概率,并获取所述基线对话模型生成所述各样本问答语句的基线响应语句、且所述基线响应语句与所述任一响应语句相同的第二生成概率;
基于所述第一生成概率和所述第二生成概率得到所述初始对话模型和所述基线对话模型的相对熵,并将所述相对熵确定为所述连贯性修正值。
7.一种语句生成装置,其特征在于,包括:
获取模块,用于在获取到目标问答语句时,获取所述目标问答语句的历史语句,其中,所述历史语句为在获取到所述目标问答语句之前获取和/或生成的多个问答语句;
响应语句生成模块,用于将所述获取模块获取的所述目标问答语句和所述历史语句输入对话模型,并基于所述对话模型输出所述目标问答语句的多个候选响应语句;
连贯性打分模块,用于将所述响应语句生成模块基于所述对话模型输出的多个候选响应语句输入语句连贯性分类模型,基于所述语句连贯性分类模型输出各个候选响应语句与所述历史语句的连贯性分值;
响应语句确定模块,用于基于所述各个候选响应语句的连贯性分值从所述多个候选响应语句中确定出所述目标问答语句的目标响应语句。
8.根据权利要求7所述的装置,其特征在于,所述响应语句生成模块用于:
获取多个样本问答语句以及各个样本问答语句的历史语句;
确定基线对话模型,所述基线对话模型具有基于输入的任一语句以及所述任一语句的历史语句输出所述任一语句的响应语句的能力;
确定集束搜索算法的搜索空间大小,并基于所述多个样本问答语句、所述各样本问答语句的历史语句以及所述基线对话模型,采用具有所述搜索空间大小的目标集束搜索算法训练得到所述对话模型。
9.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593187.7A CN116361423A (zh) | 2021-12-23 | 2021-12-23 | 语句生成方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593187.7A CN116361423A (zh) | 2021-12-23 | 2021-12-23 | 语句生成方法、装置以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361423A true CN116361423A (zh) | 2023-06-30 |
Family
ID=86910309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111593187.7A Pending CN116361423A (zh) | 2021-12-23 | 2021-12-23 | 语句生成方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361423A (zh) |
-
2021
- 2021-12-23 CN CN202111593187.7A patent/CN116361423A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897941B (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
US20220180202A1 (en) | Text processing model training method, and text processing method and apparatus | |
Weisz et al. | Sample efficient deep reinforcement learning for dialogue systems with large action spaces | |
KR101925440B1 (ko) | 가상현실 기반 대화형 인공지능을 이용한 화상 대화 서비스 제공 방법 | |
RU2708941C1 (ru) | Способ и устройство распознавания сегментированных предложений для человеко-машинной интеллектуальной вопросно-ответной системы | |
CN106875940B (zh) | 一种基于神经网络的机器自学习构建知识图谱训练方法 | |
CN109977201A (zh) | 带情感的机器聊天方法、装置、计算机设备及存储介质 | |
US20240029436A1 (en) | Action classification in video clips using attention-based neural networks | |
CN113392640B (zh) | 一种标题确定方法、装置、设备及存储介质 | |
CN112115246A (zh) | 基于对话的内容推荐方法、装置、计算机设备及存储介质 | |
CN112214591A (zh) | 一种对话预测的方法及装置 | |
Wilks et al. | A prototype for a conversational companion for reminiscing about images | |
CN117521675A (zh) | 基于大语言模型的信息处理方法、装置、设备及存储介质 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
Nguyen et al. | A framework for learning to request rich and contextually useful information from humans | |
KR20180105501A (ko) | 언어 정보를 처리하기 위한 방법 및 그 전자 장치 | |
CN117473951A (zh) | 文本处理方法、装置及存储介质 | |
CN117271745A (zh) | 一种信息处理方法、装置及计算设备、存储介质 | |
CN114492465B (zh) | 对话生成模型训练方法和装置、对话生成方法、电子设备 | |
CN116150334A (zh) | 基于UniLM模型和Copy机制的中文共情语句训练方法及系统 | |
CN113535930B (zh) | 模型训练方法、装置及存储介质 | |
CN116361423A (zh) | 语句生成方法、装置以及计算机可读存储介质 | |
CN116414951A (zh) | 智能对话方法、模型训练方法、装置、存储介质及设备 | |
Nishimoto et al. | Dialogue management with deep reinforcement learning: Balancing exploration and exploitation |
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 |