CN114328857A - 语句扩展方法、装置以及计算机可读存储介质 - Google Patents

语句扩展方法、装置以及计算机可读存储介质 Download PDF

Info

Publication number
CN114328857A
CN114328857A CN202111432086.1A CN202111432086A CN114328857A CN 114328857 A CN114328857 A CN 114328857A CN 202111432086 A CN202111432086 A CN 202111432086A CN 114328857 A CN114328857 A CN 114328857A
Authority
CN
China
Prior art keywords
sample
sentence
statement
encoder
pair
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
Application number
CN202111432086.1A
Other languages
English (en)
Inventor
周辉阳
闫昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111432086.1A priority Critical patent/CN114328857A/zh
Publication of CN114328857A publication Critical patent/CN114328857A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本申请实施例公开了语句扩展方法、装置以及计算机可读存储介质,适用于人工智能,方法包括:获取目标语句,将该目标语句输入语义编码器,通过语义编码器输出目标语句的语义内容表示。获取语法结构互不相同的多个引导语句,多个引导语句中各个引导语句的语法结构均与目标语句的语法结构不同。将多个引导语句输入语法编码器,通过语法编码器输出各个引导语句的语法表示。将目标语句的语义内容表示与各个引导语句的语法表示输入解码器,通过解码器获取目标语句的多个语法结构互不相同的泛化语句,这里,多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同。采用本申请,可以提高语句扩展效率,扩展结果客观性强,适用性强。

Description

语句扩展方法、装置以及计算机可读存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语句扩展方法、装置以及计算机可读存储介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的发展,各类人机对话技术或产品(比如语音助手)极大地丰富了人们的日常生活。在各类人机对话产品开发过程中,通过语料样本库搭建各类人机对话产品中部署的人机对话模型之后,各类人机对话产品可以通过部署的人机对话模型实现人机对话,包括对用户提问问题的自动答复。其中,在各人机对话模型的部署过程中,语料样本库中包含了各类人机对话产品针对面向用户的需求所添加的问答语料,语料样本库中的问答语料越丰富,通过语料样本库中的问答语料训练得到人机对话模型的性能越好,人机交互的效果越佳。因此,如何丰富语料样本库的问答语料对人机对话产品的开发至关重要。
本申请的发明人在研究和实践过程中发现,现有技术中,语料样本库的问答语料主要是通过人工头脑风暴的方式进行补充,人工消耗量大,语料补充效率低,语料补充的主观性强,适用性差。
发明内容
本申请实施例提供一种语句扩展方法、装置以及计算机可读存储介质,可以提高语句扩展效率,扩展结果客观性强,适用性强。
第一方面,本申请实施例提供了一种语句扩展方法,该方法包括:
获取目标语句,并将上述目标语句输入语义编码器,通过上述语义编码器输出上述目标语句的语义内容表示;
获取语法结构互不相同的多个引导语句,上述多个引导语句中各个引导语句的语法结构均与上述目标语句的语法结构不同;
将上述多个引导语句输入语法编码器,通过上述语法编码器输出上述各个引导语句的语法表示;
将上述目标语句的语义内容表示与上述各个引导语句的语法表示输入解码器,通过上述解码器获取上述目标语句的多个语法结构互不相同的泛化语句,其中上述多个泛化语句与上述目标语句具有相同的语义内容,且与上述目标语句的语法结构不同。
在一种可能的实现方式中,在将上述目标语句输入语义编码器之前,上述方法还包括:
获取多个样本语句对,上述多个样本语句对中各个样本语句对中至少包括第一样本语句以及第二样本语句,上述第一样本语句与上述第二样本语句的语义内容相同、语法结构不同;
基于上述各个样本语句对中的样本语句对语义编码器进行训练,以使上述语义编码器获取对输入的任一语句进行语义编码以得到上述任一语句的语义内容表示的能力。
在一种可能的实现方式中,基于上述多个样本语句对对语义编码器进行训练,以使上述语义编码器获取对输入的任一语句进行语义编码以得到上述任一语句的语义内容表示的能力包括:
将任一样本语句对中的上述第一样本语句与上述第二样本语句设置为上述任一样本语句对的第一训练样本,将上述任一样本语句对中的上述第一样本语句与上述多个样本语句对中的剩余样本语句两两配对以构成上述任一样本语句对的第二训练样本,上述剩余样本语句为上述多个样本语句对包括的样本语句中除上述任一样本语句对的上述第二样本语句之外的其他样本语句;
基于上述多个样本语句对中各个样本语句对的上述第一训练样本和上述第二训练样本对语义编码器进行对比学习训练,以使上述语义编码器获取对输入的任一语句进行语义编码以得到上述任一语句的语义内容表示的能力。
在一种可能的实现方式中,在将上述多个引导语句输入语法编码器之前,上述方法还包括:
基于上述各个样本语句对中的上述第一样本语句和上述第二样本语句引导生成上述各个样本语句对的第三样本语句,以得到多个扩展样本语句对,其中一个扩展样本语句对中至少包括一个样本语句对以及上述样本语句对的上述第三样本语句,上述扩展样本语句对中的上述第二样本语句与上述第三样本语句的语法结构相同、语义内容不同;
基于上述多个扩展样本语句对中的样本语句对语法编码器进行训练,以使上述语法编码器获取对输入的任一语句进行语法编码以得到上述任一语句的语法表示的能力。
在一种可能的实现方式中,基于上述各个样本语句对中的上述第一样本语句和上述第二样本语句引导生成上述各个样本语句对的第三样本语句包括:
获取任一样本语句对中的上述第二样本语句的语句模板,并基于上述语句模板获取一个或多个具有相同语句模板类别的第一样本语句的语句模板;
基于上述任一样本语句对中的上述第二样本语句的语句模板、上述一个或多个第一样本语句的语句模板以及上述语句模板中包含的词语的词性,生成上述任一样本语句对的第三样本语句以得到上述各个样本语句对的第三样本语句。
在一种可能的实现方式中,基于上述多个扩展样本语句对中的各样本语句对语法编码器进行训练,以使上述语法编码器获取对输入的任一语句进行语法编码以得到上述任一语句的语法表示的能力包括:
将任一扩展样本语句对中的上述第二样本语句与上述第三样本语句设置为上述任一扩展样本语句对的第一训练样本,将上述任一样本语句对中的上述第二样本语句与上述多个样本语句对中的剩余样本语句两两配对以构成上述任一扩展样本语句对的第二训练样本,上述剩余样本语句为上述多个样本语句对包括的样本语句中除上述任一扩展样本语句对的上述第三样本语句之外的其他样本语句;
基于上述多个扩展样本语句对中各个扩展样本语句对的上述第一训练样本和上述第二训练样本对语法编码器进行对比学习训练,以使上述语法编码器获取对输入的任一语句进行语法编码以得到上述任一语句的语法表示的能力。
在一种可能的实现方式中,在将上述目标语句的语义内容表示与上述各个引导语句的语法表示输入解码器之前,上述方法还包括:
获取上述多个扩展样本语句对;
将各个扩展样本语句对中的上述第一样本语句输入语义编码器,通过上述语义编码器得到上述各个扩展样本语句对的上述第一样本语句的语义内容表示,将上述各个扩展样本语句对中的上述第三样本语句输入语法编码器,通过上述语法编码器得到上述各个扩展样本语句对的上述第三样本语句的语法表示;
基于上述各个扩展样本语句对中的上述第一样本语句的语义内容表示、上述第二样本语句,以及上述第三样本语句的语法表示对解码器进行训练,以使上述解码器获取基于输入的上述任一语句的语义内容表示和任一语法表示解码得到上述任一语句的泛化语句的能力,上述任一语句的泛化语句具有上述任一语法表示所表示的语法结构。
第二方面,本申请实施例提供了一种语句扩展装置,该装置包括:
获取模块,用于获取目标语句;
语义编码模块,用于将上述获取模块获取的上述目标语句输入语义编码器,通过上述语义编码器输出上述目标语句的语义内容表示;
上述获取模块,还用于获取语法结构互不相同的多个引导语句;
语法编码模块,用于将上述获取模块获取的上述多个引导语句输入语法编码器,通过上述语法编码器输出上述各个引导语句的语法表示;
泛化语句生成模块,用于将上述目标语句的语义内容表示与上述各个引导语句的语法表示输入解码器,通过上述解码器获取上述目标语句的多个语法结构互不相同的泛化语句。
第三方面,本申请实施例提供了一种计算机设备,上述计算机设备包括:处理器、存储器以及网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储程序代码,上述处理器用于调用上述程序代码,以执行如本申请实施例第一方面中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,当上述处理器执行上述程序指令时执行如本申请实施例第一方面中的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统架构示意图;
图2是本申请实施例提供的语句扩展方法的流程示意图;
图3是本申请实施例提供的语句扩展方法的一场景示意图;
图4是本申请实施例提供的语句扩展方法的另一场景示意图;
图5是本申请实施例提供的语句扩展方法的另一场景示意图;
图6a是本申请实施例提供的语句扩展方法的另一场景示意图;
图6b是本申请实施例提供的语句扩展方法的另一场景示意图;
图6c是本申请实施例提供的语句扩展方法的另一场景示意图;
图7是本申请实施例提供的语句扩展方法的数据交互示意图;
图8是本申请实施例提供的语句扩展装置的结构示意图;
图9是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language process i ng,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例提供的方案涉及人工智能领域中的自然语言处理、机器学习等技术,具体通过如下实施例进行说明:
本申请实施例提供的语句扩展方法(或简称本申请实施例提供的方法)适用于对各类人机对话技术或产品(为方便描述,下面将以人机对话产品为例进行示例说明,比如语音助手)的开发过程中,人机对话产品中部署的人机对话模型训练所需的语料样本库的问答语料扩充。基于本申请实施例提供的方法可扩展得到包含更多、更丰富的问答语料的语料样本库,基于语料样本库中的大量问答语料可以训练得到更智能的人机对话模型,从而使人机对话产品获得更好的人机交互效果。本申请实施例提供的语句扩展方法也适用于对各类人机对话产品的使用过程中,基于人机对话产品中部署的人机对话模型对用户提问的问答语句进行扩展以得到更多表达方式或者表达形式的扩展问答语句,以便于人机对话模型对用户提问的问答语句进行语义理解等,以提高问答语句的答复准确率。为方便描述,下面将适用于各类人机对话产品的开发过程中,针对人机对话模型的训练所需的语料样本库进行问答语料的扩充为例进行示例说明。基于本申请实施例提供的方法可扩展得到包含更多、更丰富的问答语料的语料样本库,基于语料样本库中的大量问答语料可以训练得到更智能的人机对话模型,从而使人机对话产品获得更好的人机交互效果。
在本申请实施例提供的方法中,对语料样本库进行问答语料扩充可以通过对各问答语料(比如各问答语句,为方便描述,可以以目标语句为例进行说明)进行扩展以得到各目标语句的多个泛化语句。这里,多个泛化语句是与目标语句具有相同的语义内容,且与目标语句的语法结构不同的语句。例如,对于目标语句“如何更换手机号码”,通过对其进行扩展后可以得到该目标语句的泛化语句“换手机号码的方法有哪些”、“我想改手机号码怎么办”、“哪些途径能够换手机号”以及“要修改手机号码可以怎么做”等。这里,上述目标语句以及扩展得到该目标语句的多个泛化语句后可以添加到人机对话产品(比如语音助手)中针对人机对话模型进行训练的语料样本库以进一步丰富人机对话模型训练的语料样本库,从而使得支撑人机对话产品的人机对话模型可以基于更多、更丰富、更高质量的问答语料进行训练而取得更好人机对话效果。这里,目标语句可以从包括文本、图片或者语音等多种表现形式的用户提问问句中获取。比如,当用户提问问句为图片或者上述用户提问问句中包括图片时,可以基于图像文字识别从上述图片中获取该用户提问问句对应的目标语句。当用户提问问句为语音或者上述用户提问问句中包括语音时,可以基于语音文字识别从上述语音中获取该用户提问问句对应的目标语句。其中,上述用户提问问句的表现形式以及目标语句的获取方式可根据实际应用场景确定,在此不做限制。
在本申请实施例提供的方法中,目标语句的泛化语句的扩展过程中,可通过语义编码器得到目标语句的语义内容表示,同时可获取语法结构互不相同的多个引导语句,并通过语法编码器得到各引导语句的语法表示,从而可通过解码器对目标语句的语义内容表示与各引导语句的语法表示解码得到目标语句的多个泛化语句。这里,通过语义编码器获取得到目标语句的语义内容表示可以保证扩展得到的多个泛化语句与目标语句的语义内容一致,基于语法编码器得到各引导语句的语法表示可以保证扩展得到的多个泛化语句具有不同语法表示所表示的不同的语法结构,从而可使得扩展得到的多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同,操作简单,语句扩展效率高,扩展结果客观性强,适用性强。下面将结合图1至图7对本申请实施例提供的方法所适用于系统结构、本申请实施例提供的方法以及装置进行示例说明。
参见图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的目标语句,上述目标语句可以由用户A通过终端设备200a中的语句扩展客户端编写并发送到业务服务器100。业务服务器100中可以部署有语义编码器,可以将上述目标语句输入语义编码器,通过语义编码器得到目标语句的语义内容表示,即通过上述语义内容表示提取目标语句的语义内容以确保最后生成的泛化语句与目标语句的语义内容一致。业务服务器100可以部署有语法编码器,可以获取(可以从互联网获取,也可以从搭建的样本语句库获取)语法结构互不相同的多个引导语句,上述多个引导语句的语法结构均与目标语句的语法结构不同,并将上述多个引导语句输入语法编码器以得到各个引导语句的语法表示,即通过上述语法表示提取多个引导语句的语法结构以确保最后生成的泛化语句具有不同的语法结构。业务服务器100还可部署有解码器,可以将目标语句的语义内容表示与各个引导语句的语法表示输入解码器,通过解码器获取目标语句的多个语法结构互不相同的泛化语句,上述多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同,操作简单、语句扩展效率高,扩展结果客观性强,适用性强。此外,业务服务器100可以将生成的各泛化语句发送终端设备200a以通过终端设备200a展示给用户,用户A可以通过终端设备200a中的语句扩展客户端查看和/或编辑各泛化语句。
在一些可行的实施方式中,可以是终端设备通过语句扩展客户端接收用户的目标语句,并基于接收到的语句进行语句扩展以得到泛化语句。终端设备200a中可以部署有语义编码器,可以将上述目标语句输入语义编码器,通过语义编码器得到目标语句的语义内容表示,即通过上述语义内容表示提取目标语句的语义内容以确保最后生成的泛化语句与目标语句的语义内容一致。终端设备200a可以部署有语法编码器,可以获取(可以从互联网获取,也可以从搭建的样本语句库获取)语法结构互不相同的多个引导语句,上述多个引导语句的语法结构均与目标语句的语法结构不同,并将上述多个引导语句输入语法编码器以得到各个引导语句的语法表示,即通过上述语法表示提取多个引导语句的语法结构以确保最后生成的泛化语句具有不同的语法结构。终端设备200a还可部署有解码器,可以将目标语句的语义内容表示与各个引导语句的语法表示输入解码器,通过解码器获取目标语句的多个语法结构互不相同的泛化语句,上述多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同,操作简单、语句扩展效率高,扩展结果客观性强,适用性强。此外,终端设备200a可以将生成的各泛化语句展示给用户,用户A可以通过终端设备200a中的语句扩展客户端查看和/或编辑各泛化语句。
为方便描述,下面将以终端设备作为本申请实施例提供的方法的执行主体,通过一个实施例具体说明通过终端设备进行语句扩展的实现方式。
参见图2,图2是本申请实施例提供的语句扩展方法的流程示意图。如图2所示,该方法包括如下步骤:
S101,获取目标语句,将目标语句输入语义编码器,通过语义编码器输出目标语句的语义内容表示。
在一些可行的实施方式中,终端设备(比如终端设备200a)可以获取目标语句(比如待扩展语句),上述目标语句可以是用户通过终端设备中装载的语句扩展客户端编写得到的一个或多个目标语句。终端设备可通过上述语句扩展客户端获取得到上述目标语句。其中,上述语句扩展客户端可以为独立的客户端,也可以为集成在某客户端(例如即时通信客户端、社交客户端等)中的嵌入式子客户端,或者也可以是通过浏览器访问的web应用,具体可根据实际应用场景确定,在此不做限制。本申请实施例将以语句扩展客户端为独立的客户端为例进行说明,下文不再赘述。
请一并参见图3,图3是本申请实施例提供的语句扩展方法的一场景示意图。如图3所示,在终端设备上可以安装有多个应用且上述多个应用可以输出显示在终端设备的用户操作界面上(如界面1)。用户可基于界面1查阅终端设备中安装的应用(比如应用X、应用Y和应用Z等),也可基于界面1选择任一应用,例如界面1中的应用X、应用Y或者应用Z。假设用户希望打开其中一个应用进行语句扩展,如应用X(具体可以为语句扩展客户端),则终端设备可以响应针对应用X的触发操作(如点击操作),同时在其屏幕上显示的界面可以由界面1切换为界面100a。具体的,在界面100a中可以显示添加语句控件10a,以及已经添加的目标语句“李白是何人”,同时该目标语句有对应的操作控件,包括编辑控件10b和删除控件10c。如果想要对目标语句“李白是何人”进行编辑或者删除,用户可以分别点击编辑控件10b和删除控件10c,则终端设备可以响应上述点击操作,自动进入语句扩展客户端的编辑页面或者删除对应的目标语句。而如果想要在已有目标语句的基础上新增其他目标语句,终端设备检测是否有用户触发添加语句控件10a,当检测到有用户触发添加语句控件10a(比如点击语句控件10a)时,终端设备可以基于该触发操作获取新增的目标语句,即在其屏幕上显示的界面100a中弹出显示界面101a,从显示界面101a获取用户录入的目标语句。
举例来说,假设用户A想要添加目标语句“如何更换手机号码”,则用户A可以启动终端设备中的应用X(即语句扩展客户端),并在界面100a中点击添加语句控件10a,并接着在显示界面101a中的语句输入控件10d中输入目标语句“如何更换手机号码”,目标语句输入完毕后点击保存控件10e。点击保存控件10e后,终端设备可从上述应用X获取得到目标语句“如何更换手机号码”。终端设备可以基于接收到的目标语句生成一个或多个泛化语句。添加目标语句完毕后的界面如界面100b所示,可以看到界面100b中除了原本的目标语句“李白是何人”,还有新增的目标语句“如何更换手机号码”,该目标语句同样有对应的编辑控件10f和删除控件10g。
在一些可行的实施方式中,终端设备中可以部署有语义编码器,终端设备获取到目标语句后,可以将该目标语句输入语义编码器,通过语义编码器输出得到目标语句的语义内容表示,即通过上述语义内容表示提取目标语句的语义内容以确保最后生成的泛化语句与目标语句的语义内容一致。具体的,上述语义编码器可以是基于跨语言(Cross-lingual Language Model,XLM)模型、长短期记忆(Long Short-Term Memory,LSTM)模型以及Transformer模型等模型的编码器,具体可根据实际应用场景需求确定,在此不做限制。为方便描述,本申请实施例将选择基于Transformer模型构造的语义编码器对目标语句进行语义编码以得到目标语句的语义内容表示为例进行示例说明。Transformer模型使用全Attention的结构代替了LSTM模型,抛弃了之前传统的encoder-decoder模型必须结合卷积神经网络(Convolutional Neural Networks,CNN)或者循环神经网络(Recurrent NeuralNetwork,RNN)的固有模式,在减少计算量和提高并行效率的同时还取得了更好的效果。例如,终端设备获取到用户A通过应用X(即语句扩展客户端)编写的目标语句“如何更换手机号码”之后,可以将该目标语句输入语义编码器,通过语义编码器输出得到该语句的语义内容表示,上述语义内容表示包含了语句“如何更换手机号码”的语义内容。
在一些可行的实施方式中,终端设备在基于语义编码器获取得到目标语句的语义内容表示之前,还可以获取多个样本语句对,并通过上述多个样本语句对中的样本语句对语义编码器进行训练,以使语义编码器获取对输入的语句进行语义编码以得到该语句的语义内容表示的能力。具体的,上述多个样本语句对可以是来自样本语句库。例如,上述样本语句库中可以包含样本语句对:“李白是何人”,“讲一下李白是谁呢”。即“李白是何人”可以为第一样本语句,“讲一下李白是谁呢”可以为第二样本语句(或者“李白是何人”为第二样本语句,“讲一下李白是谁呢”为第一样本语句),“李白是何人”与“讲一下李白是谁呢”的语义内容相同且语法结构不同。这里,上述样本语句库中包括的样本语句对可以从互联网的相关领域直接获取,或者直接从用户编写的目标语句(比如通过语句扩展客户端编写)中获取,或者来自服务提供方自定义的样本语句对等等,具体可根据实际应用场景确定,在此不做限制。上述获取到的样本语句对可以放入终端设备的指定存储空间以构成上述样本语句库,还可以定期对样本语句库中的样本语句对进行增删等以更新样本语句库中的样本语句对,其中上述定期更新的频率可以是一周一次、一个月一次等,具体可根据实际应用场景需求确定,在此不做限制。
在一些可行的实施方式中,终端设备可以将获取到的多个样本语句对中各样本语句对的第一样本语句与第二样本语句设置为第一训练样本(或称为正样本),将各样本语句对中的第一样本语句与多个样本语句对中的剩余样本语句两两配对以构成第二训练样本(或称为负样本),其中,上述剩余样本语句为多个样本语句对包括的样本语句中除上述各样本语句对的第二样本语句之外的其他样本语句。通过将上述多个样本语句对中各样本语句对所包含的样本语句划分为正样本和负样本,可以基于正样本和负样本对上述语义编码器进行对比学习以使得语义编码器对其输入的语句进行语义编码以得到更贴近该语句所包含语义(即更贴近正样本,远离负样本)的语义内容表示。
例如,终端设备可以获取到多个样本语句对:“李白是何人”和“讲一下李白是谁呢”、“怎么更换手机号码”和“换手机号码的方法有哪些”以及“今天天气怎么样”和“说一下今日天气如何”,则可以将“李白是何人”与“讲一下李白是谁呢”设置为正样本,将“李白是何人”与“怎么更换手机号码”、“换手机号码的方法有哪些”、“今天天气怎么样”以及“说一下今日天气如何”两两配对设置为负样本。终端设备可以通过语义编码器基于上述正样本和负样本对进行对比学习以使其具有语义编码的能力。
S102,获取语法结构互不相同的多个引导语句。
在一些可行的实施方式中,终端设备可以获取语法结构互不相同的多个引导语句,通过基于上述多个引导语句互不相同的语法结构(且均与目标语句的语法结构不同)可以确保最后生成的泛化语句具有不同的语法结构。具体的,上述多个引导语句可以是来自样本语句库,该样本语句库可以位于终端设备,且其中可以包含多个样本语句对,即上述多个引导语句可以来自样本语句库中的多个样本语句对,且获取得到的多个引导语句中各个引导语句的语法结构均与目标语句的语法结构不同。
例如,终端设备获取到目标语句“如何更换手机号码”(来自用户通过语句扩展客户端编写好的目标语句),基于上述目标语句可以从样本语句库获取多个引导语句:“讲一下李白是谁呢”、“今天天气怎么样”以及“有什么推荐的餐厅呢”,上述多个引导语句语法结构互不相同,且与目标语句的语法结构均不同。上述样本语句库中包含的引导语句可以来自于用户编写的目标语句,也可以从互联网上公开的文本中获取特定的语句作为上述样本语句库中包含的引导语句。
S103,将多个引导语句输入语法编码器,通过语法编码器输出各个引导语句的语法表示。
在一些可行的实施方式中,终端设备中可以部署有语法编码器,终端设备获取到多个引导语句后,可以将上述多个引导语句输入语法编码器,通过语法编码器输出得到各个引导语句的语法表示,即通过上述语法表示提取多个引导语句的语法结构以确保最后生成的泛化语句具有不同的语法结构。具体的,上述语义编码器可以是基于XLM模型、LSTM模型以及Transformer模型等模型的编码器,本申请实施例选择基于Transformer模型构造的语法编码器对各个引导语句进行语法编码以得到各个引导语句的语法表示。例如,终端设备从样本语句库获取到多个引导语句:“讲一下李白是谁呢”、“今天天气怎么样”以及“有什么推荐的餐厅呢”,可以将上述引导语句输入语法编码器,通过语法编码器输出得到各语句的语法表示,上述语法表示包含了语句“讲一下李白是谁呢”、“今天天气怎么样”以及“有什么推荐的餐厅呢”的语法结构。
在一些可行的实施方式中,终端设备在基于语法编码器获取得到各个引导语句的语法表示之前,还可以获取多个扩展样本语句对,并基于上述多个扩展样本语句对中的样本语句对语法编码器进行训练,以使语法编码器获取对输入的语句进行语法编码以得到该语句的语法表示的能力。具体的,上述多个扩展样本语句对可以是基于多个样本语句对(可以是来自样本语句库)扩展得到,各个样本语句对中至少包括一个样本语句对(至少包括第一样本语句以及第二样本语句,第一样本语句与第二样本语句的语义内容相同、语法结构不同)以及该样本语句对的第三样本语句,扩展样本语句对中的第二样本语句与第三样本语句的语法结构相同、语义内容不同。
例如,上述扩展样本语句库中可以包含样本语句对:“李白是何人”与“讲一下李白是谁呢”。即“李白是何人”可以为第一样本语句,“讲一下李白是谁呢”可以为第二样本语句(或者“李白是何人”为第二样本语句,“讲一下李白是谁呢”为第一样本语句),同时还包括基于“李白是何人”以及“讲一下李白是谁呢”两个语句生成的第三样本语句,上述第三样本语句可以是“讲一下杜甫是哪里人”。即第二样本语句“讲一下李白是谁呢”与第三样本语句“讲一下杜甫是哪里人”的语法结构相同、语义内容不同。
在一些可行的实施方式中,终端设备可以基于各个样本语句对中的第一样本语句和第二样本语句引导生成各个样本语句对的第三样本语句,并通过生成的第三样本语句与样本语句对构成扩展样本语句对以基于扩展样本语句对对语法编码器进行训练,以使语法编码器获取对输入的任一语句进行语法编码以得到任一语句的语法表示的能力。具体的,终端设备可以基于各个样本语句对中的第二样本语句获取得到第二样本语句的语句模板,可以通过将语句中的核心名词替换为对应的模板词的方式得到语句模板。举例来说,对于语句“讲一下李白是谁呢”,其核心名词可以为“李白”,将“李白”退化为模板词“person”以得到该语句的语句模板“讲一下‘person’是谁呢”。接着终端设备可以从样本语句库中获取一个或多个具有相同语句模板类别(即包含相同模板词)的第一样本语句的语句模板,并对上述获取的第一样本语句的语句模板进行词性标注,最后基于上述第一样本语句的语句模板及其对应的词性标注结果得到第三样本语句。
例如,对于样本语句对:“李白是何人”,“讲一下李白是谁呢”(“李白是何人”为第一样本语句,“讲一下李白是谁呢”为第二样本语句)。为了得到该语句对的第三样本语句,针对第二样本语句“讲一下李白是谁呢”,可以通过将语句中的核心名词“李白”退化为模板词“person”以得到该语句的语句模板“讲一下‘person’是谁呢”。接着从样本语句库中获取一个或多个具有相同语句模板类别(即包含相同模板词“person”)的第一样本语句的语句模板:“谁知道‘person’的生日”、“‘person’的身高是多少啊”、“‘person’的爸爸是谁呢”以及“讲一下‘person’是哪里人”。对上述第一样本语句的语句模板进行词性标注,发现语句“讲一下‘person’是哪里人”的词性标注结果与“讲一下李白是谁呢”的词性标注结果中均包含“讲一下”,且“是哪里人”与“是谁”接近,由此可得“讲一下‘person’是哪里人”的词性标注结果与“讲一下李白是谁呢”的语句重合度最高,也就是说“讲一下‘person’是哪里人”的词性标注结果与“讲一下李白是谁呢”的词性标注结果最接近。为了使第三样本语句与第二样本语句的语义内容不同,则语句“讲一下‘person’是哪里人”中的“person”设置为“杜甫”以区分第二样本语句中的“李白”,从而得到上述样本语句对的第三样本语句为“讲一下杜甫是哪里人”。基于上述第三样本语句得到扩展语句对:“李白是何人”、“讲一下李白是谁呢”以及“讲一下杜甫是哪里人”。
在一些可行的实施方式中,终端设备可以将获取到的多个扩展样本语句对中各样本语句对的第二样本语句与第三样本语句设置为第一训练样本(或称为正样本),将各样本语句对中的第二样本语句与多个样本语句对中的剩余样本语句两两配对以构成第二训练样本(或称为负样本),其中,上述剩余样本语句为多个样本语句对中包括的样本语句中除上述各样本语句对的第三样本语句之外的其他样本语句。通过将上述多个样本语句对中各样本语句对所包含的样本语句划分为正样本和负样本,上述语法编码器可以基于正样本和负样本进行对比学习以使得语法编码器对其输入的语句进行语法编码以得到更贴近该语句所包含语法结构的语法表示。
例如,终端设备可以获取到多个扩展样本语句对:“李白是何人”、“讲一下李白是谁呢”以及“讲一下杜甫是哪里人”和“今天天气怎么样”、“说一下今日天气如何”以及“说一下今日交通情况怎样”。则可以将“讲一下李白是谁呢”以及“讲一下杜甫是哪里人”设置为正样本,将“讲一下李白是谁呢”与“李白是何人”、“今天天气怎么样”、“说一下今日天气如何”以及“说一下今日交通情况怎样”两两配对设置为负样本。通过将上述多个扩展样本语句对划分为正样本和负样本,终端设备可以基于正样本和负样本对上述语法编码器进行对比学习以使得语法编码器对其输入的语句进行语法编码以得到更贴近该语句所包含语法结构(即贴近正样本,远离负样本)的语法表示的能力。
在一些可行的实施方式中,在通过语义编码器或语法编码器进行语义、语法编码的过程中,为了进一步提高目标语句的语义内容表示以及引导语句的语法表示的准确性,可以基于语义编码器以及语法编码器各自的损失函数对上述编码器进行优化。具体的,基于Transformer模型构造的语义编码器以及语法编码器的损失函数可以表示为:
Figure BDA0003380459940000161
这里,I是训练过程中各批次训练数据的大小(训练样本的数量),τ是温度超参数,j(i)是正样本的集合,A(i)是I集合中除去样本i本身其他部分的集合。通过上述损失函数公式可以分别得到语义编码器以及语法编码器各自的损失函数,可以基于上述损失函数不断优化语义编码器以及语法编码器以提高语义编码和语法编码的准确性。
S104,将目标语句的语义内容表示与各个引导语句的语法表示输入解码器,通过解码器获取目标语句的多个语法结构互不相同的泛化语句。
在一些可行的实施方式中,终端设备可以将基于语义编码器得到的目标语句的语义内容表示与基于语法编码器得到的各个引导语句的语法表示作为解码器的输入,上述目标语句的语义内容表示与各个引导语句的语法表示相结合也可以称作目标语句的融合表示,通过解码器基于上述输入的目标语句的融合表示获取目标语句的多个语法结构互不相同的泛化语句。其中多个泛化语句与目标语句具有相同的语义内容,且均与目标语句的语法结构不同。具体的,在输入目标语句的语义内容与各引导语句的语法表示到解码器后,可以得到解码器输出的多个泛化语句,从多个泛化语句中选取与目标语句语义最接近且语法结构差异最大的泛化语句作为最终结果。上述解码器可以是基于XLM模型、LSTM模型以及Transformer模型等模型的解码器,本申请实施例选择基于Transformer模型构造的解码器对目标语句的语义内容表示与各个引导语句的语法表示进行解码以得到多个泛化语句。
例如,有目标语句“如何更换手机号码”,引导语句包括“讲一下李白是谁呢”和“今天天气怎么样”,通过语义编码器和语法编码器分别得到目标语句的语义表示以及各引导语句的语法表示,将目标语句的语义表示与“讲一下李白是谁呢”的语法表示输入解码器,解码器输出多个泛化语句,从多个语句中选取与目标语句语义最接近且语法结构差异最大的泛化语句“讲一下更换手机号码是怎样的呢”,通过引导语句“今天天气怎么样”得到其对应的泛化语句步骤类似。即对于每个目标语句,获取多少个语法结构不同的引导语句,可以基于上述引导语句得到同样数量的泛化语句。
请参考图4,图4是本申请实施例提供的语句扩展方法的另一场景示意图。如图4所示,用户添加的目标语句“如何更改手机号码”具有编辑控件10f以及删除控件10g,用户可以点击添加删除控件10g以删除目标语句“如何更改手机号码”,如果点击编辑控件10f,则终端设备可以响应针对应用X(即语句扩展客户端)的点击操作,同时在其屏幕上显示的界面可以由界面100b切换为界面100c。界面100c为语句扩展客户端的编辑页面,界面100c包括标准语句(即目标语句)控件10h和扩展语句控件10i,如图4所示,如果点击扩展语句控件10i,则终端设备可以显示基于目标语句“如何更改手机号码”扩展得到的多个泛化语句:“讲一下更换手机号码是怎样的呢”、“换手机号码的方法有哪些”以及“哪些途径能够换手机号”,上述多个泛化语句具有与目标语句相同的语义内容,且均与目标语句的语法结构不同。
在一些可行的实施方式中,终端设备将获取到的基于语义编码器得到的目标语句的语义内容表示与基于语法编码器得到的各个引导语句的语法表示输入解码器之前,还可以获取多个扩展样本语句对,并基于上述多个扩展样本语句对中的样本语句对解码器进行训练,以使解码器获取对输入的目标语句的语义内容表示和各个引导语句的语法表示解码得到目标语句的泛化语句的能力。具体的,将各扩展样本语句对中第一样本语句的语义内容表示与第三样本语句的语法表示输入解码器,通过解码器解码得到泛化语句。基于各扩展样本语句对中的第二样本语句与上述泛化语句对解码器进行训练以使解码器解码得到目标语句的泛化语句的能力。此外,也可以针对各个扩展样本语句对,基于解码器输出的泛化语句与第二样本语句(即作为上述泛化语句的真值(ground truth))可以得到上述解码器的损失函数(或交叉熵),并基于上述损失函数可以不断优化解码器以提高解码的准确性。可以理解,上述语义编码器、语法编码器和解码器在本申请实施例提供的语句扩展方法中是组合出现的,即通过组合可以得到语句扩展模型,该语句扩展模型的损失函数(可以表示为L(all))由3部分构成:L(all)=L(CE)+L(content)+L(style),也即由交叉熵损失加上语义编码的损失函数以及语法编码的损失函数共同构成。上述由语义编码器、语法编码器和解码器组合形成的语句扩展模型的训练目标会让上述3部分损失函数都变小,基于对上述三组损失函数的同时优化可使整个语句扩展模型达到最优语句扩展效果,同时优化了三个模型的目标,操作简单,适用性高。
在一些可行的实施方式中,在对获取到的目标语句进行扩展以得到多个泛化语句的过程中,还可以将得到的泛化语句作为新的样本语句添加到上述样本语句库,并基于添加的泛化语句对样本语句库进行更新,以用于各编码器以及解码器迭代优化的训练样本。请再次参考图4,图4中页面100c各个泛化语句都有对应的添加控件,如泛化语句“讲一下更换手机号码是怎样的呢”有添加控件10j,“换手机号码的方法有哪些”有添加控件10k以及“哪些途径能够换手机号”有添加控件10m。如果用户点击添加控件10j,则终端设备可以响应该操作并将泛化语句“讲一下更换手机号码是怎样的呢”作为目标语句“如何更换手机号码”的泛化语句添加到最终的问答语料库(用于各类人机对话产品的训练)。除此之外,也可以将该泛化语句作为新的样本语句添加到上述样本语句库,各编码器以及解码器可以基于样本语句库中更新的样本语句进一步训练优化以提高对目标语句扩展的质量和精准度。
在一些可行的实施方式中,终端设备对目标语句扩展得到的多个泛化语句可以作为问答语料加入到人机对话产品(比如语音助手)对应的语料样本库以进一步丰富语料样本库,从而使得支撑人机对话产品的人机对话模型可以基于更多高质量的问答语料进行训练而取得更好人机对话效果。以语音助手产品为例,在各类语音助手产品(比如手机语音助手、车载语音助手)的开发过程中,通过搭建语料样本库(包括对用户各类提问的扩展语料以及提问关联的回复等),并基于语料样本库中的大量问答语料训练支撑该产品的人机对话模型,从而在用户使用过程中针对各种可能提出的提问给出对应的回复解答。请一并参考图5,图5是本申请实施例提供的语句扩展方法的另一场景示意图。如图5所示,当用户点击上述图4中界面100c的标准语句控件10h后,则终端设备可以响应针对语句扩展客户端的点击操作,同时在其屏幕上显示的界面可以由界面100c切换为界面100d。界面100d中可以基于目标语句“如何更换手机号码”进行重新编辑以及关联回复等操作,在标准语句编辑控件10x中可以更改目标语句“如何更换手机号码”,还可以在关联回复控件10y处输入基于目标语句“如何更换手机号码”的回复,以用于在各类语音助手产品中对目标语句“如何更换手机号码”及其扩展的泛化语句进行回复。例如,在关联回复控件10y处输入“如何更换手机号码”的关联回复:“咨询手机号码的运营商”,添加完成的页面如图5所示。添加关联回复结束后,将目标语句“如何更换手机号码”及其扩展的泛化语句与该关联回复一起添加到各类语音助手产品中的语料样本库,从而在最终开发完成的语音助手产品的使用过程中,用户(可以是通过文字输入、语音、图片等方式)向语音助手产品发送“如何更换手机号码”时,语音助手产品可以基于该语句以及通过语料样本库训练得到的人机对话模型向用户反馈关联的回复:“咨询手机号码的运营商”。同样地,当用户向语音助手产品发送“如何更换手机号码”的泛化语句(比如“讲一下更换手机号码是怎样的呢”、“换手机号码的方法有哪些”以及“哪些途径能够换手机号”等)时,语音助手产品也可以给出对应的回复。
请参见图6a,图6a是本申请实施例提供的语句扩展方法的另一场景示意图。上述语句扩展客户端界面还可以如图6a中界面200a所示,该语句扩展客户端可以是针对智能机器人的人机交互进行语句扩展。具体的,界面200a中包括功能选择框201a,功能选择框201a中包括了机器人对话选项、推荐配置选项、问答语料库选项以及词库管理选项。为了对智能机器人产品的问答语料库进行扩展,可以通过选择问答语料库选项以进行相关配置操作。进入问答语料库选项后,可以看到界面200a中的语句列表状态框204a,语句列表状态框204a中包含了添加到该语句扩展客户端中的目标语句:“李白是何人”、“如何更换手机号码”以及“今天天气怎么样”,每一条语句栏还包括了该目标语句的扩展语句数量(即上述各目标语句的泛化语句)、最后修改时间以及语句操作栏。如果想新增目标语句,可以触发添加语句控件202a逐条添加语句,或者触发批量导入控件203a以同时添加多条目标语句。如果触发目标语句“如何更换手机号码”对应语句操作栏中的编辑控件,则可以进入语句编辑界面,请参见图6b,图6b是本申请实施例提供的语句扩展方法的另一场景示意图。如图6b所示,目标语句“如何更换手机号码”对应的语句编辑界面可以如图6b的界面200b所示。具体的,界面200b中包括标准语句(即目标语句)控件201b和扩展语句控件202b,通过触发标准语句控件201b可以显示标准语句编辑界面20b。标准语句编辑界面20b中包含了标准语句修改框203b,通过在标准语句修改框203b中输入标准语句可以对该标准语句进行修改,同时标准语句编辑界面20b中还包含关联回复框204b,通过在关联回复框204b中可以输入上述目标语句对应的关联回复。标准语句编辑界面20b还包括保存控件205b以及取消控件206b,可以分别用于保存当前标准语句编辑界面20b中输入的目标语句信息或取消修改目标语句信息。如果触发扩展语句控件202b,则可以进入扩展语句(即泛化语句)编辑界面,请参见图6c,图6c是本申请实施例提供的语句扩展方法的另一场景示意图。目标语句“如何更换手机号码”对应的语句编辑界面可以如图6c的界面200c所示,且该目标语句的扩展语句编辑界面可以如界面20c所示。具体的,界面20c中包括扩展语句添加框201c,通过在扩展语句添加框201c中可以输入该目标语句的泛化语句。界面20c中还包括扩展语句生成框202c,扩展语句生成框202c中显示了基于目标语句扩展得到的多个泛化语句:“讲一下更换手机号码是怎样的呢”、“换手机号码的方法有哪些”以及“哪些途径能够换手机号”。且各泛化语句有对应的添加控件,可以触发添加控件将对应的泛化语句作为目标语句的泛化语句添加到最终的问答语料库(用于各类人机对话产品的训练)。除此之外,也可以将该泛化语句作为新的样本语句添加到上述样本语句库,各编码器以及解码器可以基于样本语句库中更新的样本语句进一步训练优化以提高对目标语句扩展的质量和精准度。
请参考图7,图7是本申请实施例提供的语句扩展方法的数据交互示意图。如图7所示,图7所示的数据交互过程中包含了部署于终端设备中的语义编码器、语法编码器以及解码器的训练过程中的数据交互(样本语句对的交互)。首先对样本语句库中的样本语句对引导生成第三样本语句以得到扩展样本语句对,即通过各个样本语句对中的第一样本语句和第二样本语句引导生成各个样本语句对的第三样本语句(第二样本语句与第三样本语句的语法结构相同、语义内容不同)。接着基于扩展样本语句对对语义编码器(语义编码器也可以基于样本语句对进行训练)以及语法编码器进行训练。具体的,将样本语句对中的第一样本语句与第二样本语句设置为第一训练样本(或称为正样本),将样本语句对中的第一样本语句与多个样本语句对中的剩余样本语句(可以是多个样本语句对包括的样本语句中除上述各样本语句对的第二样本语句之外的其他样本语句)两两配对以构成第二训练样本(或称为负样本),语义编码器可以基于上述正样本和负样本进行对比学习以使其具有对输入的语句进行语义编码以得到语义内容表示的能力。将样本语句对中的第二样本语句与第三样本语句设置为第一训练样本(或称为正样本),将样本语句对中的第二样本语句与多个样本语句对中的剩余样本语句(可以是多个样本语句对中包括的样本语句中除上述各样本语句对的第三样本语句之外的其他样本语句)两两配对以构成第二训练样本(或称为负样本),语法编码器可以基于上述正样本和负样本进行对比学习以使其具有对输入的语句进行语法编码以得到语法表示的能力。接着将语义内容表示与语法表示输入解码器,解码器基于语义内容表示、语法表示以及扩展样本语句进行训练以使解码器解码得到目标语句的泛化语句的能力。在针对目标语句进行语句扩展的过程中,将目标语句输入语义编码器得到目标语句的语义内容表示,同时将(一个或多个)引导语句输入语法编码器得到引导语句的语法表示,最后将上述语义内容表示与语法表示输入解码器,从而可通过解码器解码得到目标语句的多个泛化语句。
在本申请实施例中,终端设备可以对目标语句进行扩展以得到其对应的多个泛化语句,上述目标语句可以是终端设备通过上述语句扩展客户端获取用户编写好的一个或多个目标语句。首先通过语义编码器(可以是基于Transformer模型构造的语义编码器)得到目标语句的语义内容表示,上述语义内容表示可以保证扩展得到的多个泛化语句与目标语句的语义内容一致。同时获取语法结构互不相同的多个引导语句(可以是来自样本语句库),通过语法编码器(可以是基于Transformer模型构造的语法编码器)得到各引导语句的语法表示,基于各引导语句的语法表示可以保证扩展得到的多个泛化语句具有不同的语法结构。最后通过解码器(可以是基于Transformer模型构造的解码器)对目标语句的语义内容表示与各引导语句的语法表示解码得到目标语句的多个泛化语句。上述多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同,操作简单,语句扩展效率高,扩展结果客观性强,适用性强。
基于上述语句扩展方法实施例的描述,本申请实施例还公开了一种语句扩展装置。该语句扩展装置可以被应用于图1至图7所示实施例的语句扩展方法中,以用于执行语句扩展方法中的步骤。这里,语句扩展装置可以是上述图1至图7所示实施例中的业务服务器或者终端设备,即该语句扩展装置可以为上述图1至图7所示实施例中语句扩展方法的执行主体。请参见图8,图8是本申请实施例提供的语句扩展装置的结构示意图。在本申请实施例中,该装置可运行如下模块:
获取模块31,用于获取目标语句。
语义编码模块32,用于将上述获取模块31获取的上述目标语句输入语义编码器,通过上述语义编码器输出上述目标语句的语义内容表示。
上述获取模块31,还用于获取语法结构互不相同的多个引导语句。
语法编码模块33,用于将上述获取模块31获取的上述多个引导语句输入语法编码器,通过上述语法编码器输出上述各个引导语句的语法表示。
泛化语句生成模块34,用于将上述目标语句的语义内容表示与上述各个引导语句的语法表示输入解码器,通过上述解码器获取上述目标语句的多个语法结构互不相同的泛化语句。
在一些可行的实施方式中,将上述目标语句输入语义编码器之前,上述语义编码模块32还用于:
获取多个样本语句对,上述多个样本语句对中各个样本语句对中至少包括第一样本语句以及第二样本语句,上述第一样本语句与上述第二样本语句的语义内容相同、语法结构不同;
基于上述各个样本语句对中的样本语句对语义编码器进行训练,以使上述语义编码器获取对输入的任一语句进行语义编码以得到上述任一语句的语义内容表示的能力。
在一些可行的实施方式中,上述语义编码模块32还用于:
将任一样本语句对中的上述第一样本语句与上述第二样本语句设置为上述任一样本语句对的第一训练样本,将上述任一样本语句对中的上述第一样本语句与上述多个样本语句对中的剩余样本语句两两配对以构成上述任一样本语句对的第二训练样本,上述剩余样本语句为上述多个样本语句对包括的样本语句中除上述任一样本语句对的上述第二样本语句之外的其他样本语句;
基于上述多个样本语句对中各个样本语句对的上述第一训练样本和上述第二训练样本对语义编码器进行对比学习训练。
在一些可行的实施方式中,将上述多个引导语句输入语法编码器之前,上述语法编码模块33还用于:
基于上述各个样本语句对中的上述第一样本语句和上述第二样本语句引导生成上述各个样本语句对的第三样本语句,以得到多个扩展样本语句对,其中一个扩展样本语句对中至少包括一个样本语句对以及上述样本语句对的上述第三样本语句,上述扩展样本语句对中的上述第二样本语句与上述第三样本语句的语法结构相同、语义内容不同;
基于上述多个扩展样本语句对中的样本语句对语法编码器进行训练,以使上述语法编码器获取对输入的任一语句进行语法编码以得到上述任一语句的语法表示的能力。
在一些可行的实施方式中,上述语法编码模块33还用于:
获取任一样本语句对中的上述第二样本语句的语句模板,并基于上述语句模板获取一个或多个具有相同语句模板类别的第一样本语句的语句模板;
基于上述任一样本语句对中的上述第二样本语句的语句模板、上述一个或多个第一样本语句的语句模板以及上述语句模板中包含的词语的词性,生成上述任一样本语句对的第三样本语句以得到上述各个样本语句对的第三样本语句。
在一些可行的实施方式中,上述语法编码模块33还用于:
将任一扩展样本语句对中的上述第二样本语句与上述第三样本语句设置为上述任一扩展样本语句对的第一训练样本,将上述任一样本语句对中的上述第二样本语句与上述多个样本语句对中的剩余样本语句两两配对以构成上述任一扩展样本语句对的第二训练样本,上述剩余样本语句为上述多个样本语句对包括的样本语句中除上述任一扩展样本语句对的上述第三样本语句之外的其他样本语句;
基于上述多个扩展样本语句对中各个扩展样本语句对的上述第一训练样本和上述第二训练样本对语法编码器进行对比学习训练。
在一些可行的实施方式中,将上述目标语句的语义内容表示与上述各个引导语句的语法表示输入解码器之前,上述泛化语句生成模块34还用于:
获取上述多个扩展样本语句对;
将各个扩展样本语句对中的上述第一样本语句输入语义编码器,通过上述语义编码器得到上述各个扩展样本语句对的上述第一样本语句的语义内容表示,将上述各个扩展样本语句对中的上述第三样本语句输入语法编码器,通过上述语法编码器得到上述各个扩展样本语句对的上述第三样本语句的语法表示;
基于上述各个扩展样本语句对中的上述第一样本语句的语义内容表示、上述第二样本语句,以及上述第三样本语句的语法表示对解码器进行训练,以使上述解码器获取基于输入的上述任一语句的语义内容表示和任一语法表示解码得到上述任一语句的泛化语句的能力,上述任一语句的泛化语句具有上述任一语法表示所表示的语法结构。
根据上述图2所对应的实施例,图2所示的语句扩展方法中步骤S101至S104所描述的实现方式可由图8所示的装置的各个模块执行。例如,上述图2所示的语句扩展方法中步骤S101所描述的实现方式可由图8所示的装置中获取模块31和语义编码模块32来执行,步骤S102所描述的实现方式可由获取模块31来执行,步骤S103所描述的实现方式可由语法编码模块33来执行,步骤S104所描述的实现方式可由泛化语句生成模块34来执行。其中,上述获取模块31、语义编码模块32、语法编码模块33以及泛化语句生成模块34所执行的实现方式可参见上述图2所对应的实施例中各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,语句扩展装置能够获取目标语句,上述目标语句可以是终端设备通过上述语句扩展客户端获取用户编写好的一个或多个目标语句。接着语句扩展装置通过语义编码器(可以是基于Transformer模型构造的语义编码器)得到目标语句的语义内容表示,上述语义内容表示可以保证扩展得到的多个泛化语句与目标语句的语义内容一致。同时该装置可以获取语法结构互不相同的多个引导语句(可以是来自样本语句库),并通过语法编码器(可以是基于Transformer模型构造的语法编码器)得到各引导语句的语法表示,基于各引导语句的语法表示可以保证扩展得到的多个泛化语句具有不同的语法结构。最后语句扩展装置通过解码器(可以是基于Transformer模型构造的解码器)对目标语句的语义内容表示与各引导语句的语法表示解码得到目标语句的多个泛化语句。上述多个泛化语句与目标语句具有相同的语义内容,且与目标语句的语法结构不同,操作简单,语句扩展效率高,扩展结果客观性强,适用性强。
在本申请实施例中,上述图所示的装置中的各个模块可以分别或全部合并为一个或若干个另外的模块来构成,或者其中的某个(些)模块还可以再拆分为功能上更小的多个模块来构成,这可以实现同样的操作,而不影响本申请实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个模块来实现,或者多个模块的功能由一个模块实现。在本申请的其它可行的实现方式中,上述装置也可以包括其它模块,在实际应用中,这些功能也可以由其它模块协助实现,并且可以由多个模块协作实现,在此不做限制。
请参见图9,图9是本申请实施例提供的计算机设备的结构示意图。如图9所示,该计算机设备1000可以为上述图2-7所对应实施例中的终端设备。该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以与上述图1所对应实施例中的终端200a进行网络连接,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图9所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户(或开发人员)提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图2所对应实施例中语句扩展方法。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2所对应实施例中对语句扩展方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的语句扩展装置所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2所对应实施例中对语句扩展方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (10)

1.一种语句扩展方法,其特征在于,所述方法包括:
获取目标语句,并将所述目标语句输入语义编码器,通过所述语义编码器输出所述目标语句的语义内容表示;
获取语法结构互不相同的多个引导语句,所述多个引导语句中各个引导语句的语法结构均与所述目标语句的语法结构不同;
将所述多个引导语句输入语法编码器,通过所述语法编码器输出所述各个引导语句的语法表示;
将所述目标语句的语义内容表示与所述各个引导语句的语法表示输入解码器,通过所述解码器获取所述目标语句的多个语法结构互不相同的泛化语句,其中所述多个泛化语句与所述目标语句具有相同的语义内容,且与所述目标语句的语法结构不同。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标语句输入语义编码器之前,所述方法还包括:
获取多个样本语句对,所述多个样本语句对中各个样本语句对中至少包括第一样本语句以及第二样本语句,所述第一样本语句与所述第二样本语句的语义内容相同、语法结构不同;
基于所述各个样本语句对中的样本语句对语义编码器进行训练,以使所述语义编码器获取对输入的任一语句进行语义编码以得到所述任一语句的语义内容表示的能力。
3.根据权利要求2所述的方法,其特征在于,所述基于所述多个样本语句对对语义编码器进行训练包括:
将任一样本语句对中的所述第一样本语句与所述第二样本语句设置为所述任一样本语句对的第一训练样本,将所述任一样本语句对中的所述第一样本语句与所述多个样本语句对中的剩余样本语句两两配对以构成所述任一样本语句对的第二训练样本,所述剩余样本语句为所述多个样本语句对包括的样本语句中除所述任一样本语句对的所述第二样本语句之外的其他样本语句;
基于所述多个样本语句对中各个样本语句对的所述第一训练样本和所述第二训练样本对语义编码器进行对比学习训练。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述多个引导语句输入语法编码器之前,所述方法还包括:
基于所述各个样本语句对中的所述第一样本语句和所述第二样本语句引导生成所述各个样本语句对的第三样本语句,以得到多个扩展样本语句对,其中一个扩展样本语句对中至少包括一个样本语句对以及所述样本语句对的所述第三样本语句,所述扩展样本语句对中的所述第二样本语句与所述第三样本语句的语法结构相同、语义内容不同;
基于所述多个扩展样本语句对中的样本语句对语法编码器进行训练,以使所述语法编码器获取对输入的任一语句进行语法编码以得到所述任一语句的语法表示的能力。
5.根据权利要求4所述的方法,其特征在于,所述基于所述各个样本语句对中的所述第一样本语句和所述第二样本语句引导生成所述各个样本语句对的第三样本语句,包括:
获取任一样本语句对中的所述第二样本语句的语句模板,并基于所述语句模板获取一个或多个具有相同语句模板类别的第一样本语句的语句模板;
基于所述任一样本语句对中的所述第二样本语句的语句模板、所述一个或多个第一样本语句的语句模板以及所述语句模板中包含的词语的词性,生成所述任一样本语句对的第三样本语句以得到所述各个样本语句对的第三样本语句。
6.根据权利要求4所述的方法,其特征在于,所述基于所述多个扩展样本语句对中的各样本语句对语法编码器进行训练包括:
将任一扩展样本语句对中的所述第二样本语句与所述第三样本语句设置为所述任一扩展样本语句对的第一训练样本,将所述任一样本语句对中的所述第二样本语句与所述多个样本语句对中的剩余样本语句两两配对以构成所述任一扩展样本语句对的第二训练样本,所述剩余样本语句为所述多个样本语句对包括的样本语句中除所述任一扩展样本语句对的所述第三样本语句之外的其他样本语句;
基于所述多个扩展样本语句对中各个扩展样本语句对的所述第一训练样本和所述第二训练样本对语法编码器进行对比学习训练。
7.根据权利要求4所述的方法,其特征在于,所述将所述目标语句的语义内容表示与所述各个引导语句的语法表示输入解码器之前,所述方法还包括:
获取所述多个扩展样本语句对;
将各个扩展样本语句对中的所述第一样本语句输入语义编码器,通过所述语义编码器得到所述各个扩展样本语句对的所述第一样本语句的语义内容表示,将所述各个扩展样本语句对中的所述第三样本语句输入语法编码器,通过所述语法编码器得到所述各个扩展样本语句对的所述第三样本语句的语法表示;
基于所述各个扩展样本语句对中的所述第一样本语句的语义内容表示、所述第二样本语句,以及所述第三样本语句的语法表示对解码器进行训练,以使所述解码器获取基于输入的所述任一语句的语义内容表示和任一语法表示解码得到所述任一语句的泛化语句的能力,所述任一语句的泛化语句具有所述任一语法表示所表示的语法结构。
8.一种语句扩展装置,其特征在于,包括:
获取模块,用于获取目标语句;
语义编码模块,用于将所述获取模块获取的所述目标语句输入语义编码器,通过所述语义编码器输出所述目标语句的语义内容表示;
所述获取模块,还用于获取语法结构互不相同的多个引导语句;
语法编码模块,用于将所述获取模块获取的所述多个引导语句输入语法编码器,通过所述语法编码器输出所述各个引导语句的语法表示;
泛化语句生成模块,用于将所述目标语句的语义内容表示与所述各个引导语句的语法表示输入解码器,通过所述解码器获取所述目标语句的多个语法结构互不相同的泛化语句。
9.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-7任一项所述的方法。
CN202111432086.1A 2021-11-29 2021-11-29 语句扩展方法、装置以及计算机可读存储介质 Pending CN114328857A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111432086.1A CN114328857A (zh) 2021-11-29 2021-11-29 语句扩展方法、装置以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111432086.1A CN114328857A (zh) 2021-11-29 2021-11-29 语句扩展方法、装置以及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114328857A true CN114328857A (zh) 2022-04-12

Family

ID=81046444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111432086.1A Pending CN114328857A (zh) 2021-11-29 2021-11-29 语句扩展方法、装置以及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114328857A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241226A1 (zh) * 2022-06-17 2023-12-21 华为云计算技术有限公司 语句生成方法、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023241226A1 (zh) * 2022-06-17 2023-12-21 华为云计算技术有限公司 语句生成方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN110717017B (zh) 一种处理语料的方法
CN110462730B (zh) 促进以多种语言与自动化助理的端到端沟通
Bird et al. Chatbot Interaction with Artificial Intelligence: human data augmentation with T5 and language transformer ensemble for text classification
Nguyen et al. NEU-chatbot: Chatbot for admission of National Economics University
CN113127624B (zh) 问答模型的训练方法及装置
JP7335300B2 (ja) 知識事前訓練モデルの訓練方法、装置及び電子機器
CN112214591A (zh) 一种对话预测的方法及装置
King Can Google Translate be taught to translate literature? A case for humanists to collaborate in the future of machine translation
Fung et al. Empathetic dialog systems
CN115309877A (zh) 对话生成方法、对话模型训练方法及装置
US11216497B2 (en) Method for processing language information and electronic device therefor
CN116541493A (zh) 基于意图识别的交互应答方法、装置、设备、存储介质
US11328127B2 (en) Apparatus and method for providing shared contents based on emoticon grammar for NLP on open user participation platform for AI answer dictionary and data set preprocessing
CN114328857A (zh) 语句扩展方法、装置以及计算机可读存储介质
CN112307166B (zh) 一种智能问答方法、装置、存储介质以及计算机设备
CN114297353B (zh) 数据处理方法、装置、存储介质及设备
KR20190083438A (ko) 한국어 대화 장치
Sharma et al. Prashn: University Voice Assistant
Shi et al. The design and implementation of intelligent english learning chabot based on transfer learning technology
KR20210022288A (ko) 문장을 이루는 단위를 단계별 확장하여 스텝화한 영어 교육 서비스 제공 방법
CN116913278B (zh) 语音处理方法、装置、设备和存储介质
CN115481221B (zh) 对话数据的增强方法、装置、设备、计算机存储介质
Cuomo et al. Visitor assistant tools based on machine learning approaches in cultural heritage contexts
CN112131878B (zh) 文本处理方法、装置以及计算机设备
CN114282552B (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