CN113822076A - 文本生成方法、装置、计算机设备及存储介质 - Google Patents
文本生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113822076A CN113822076A CN202110783697.4A CN202110783697A CN113822076A CN 113822076 A CN113822076 A CN 113822076A CN 202110783697 A CN202110783697 A CN 202110783697A CN 113822076 A CN113822076 A CN 113822076A
- Authority
- CN
- China
- Prior art keywords
- sentence
- statement
- prompt
- target
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种文本生成方法、装置、计算机设备及存储介质,属于计算机技术领域。本申请通过对提示文本按照提示语句为单位提取出语句特征,能够预测出下文中各个目标语句的目标语句特征,这些目标语句特征作为解码过程的语义指导信息,能够以语句为单位解码出各个目标语句,从而得到目标文本,相当于在生成目标文本的过程中,依赖于各个目标语句特征的引导,导致即使某个目标语句中的字符发生了语义偏离,这一语义偏离现象会被下一个目标语句特征纠正,从而并不会在整个目标文本中传递,大大提高了文本生成过程的准确度。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文本生成方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,长文本生成技术(也称为机器人写作、人工智能写作)被广泛应用于辅助故事创作,例如,针对作家给出的提示文本,机器自动生成故事的草稿,作家可在草稿基础上进一步完善,以减轻作家的工作量。
在生成长文本的过程中,用户给定提示文本,将提示文本输入到变换器语言模型(Transformer Language Model)中,逐个字符地输出提示文本所对应的长文本的字符序列(例如草稿)。由于以字符为单位来预测长文本,假设某个时刻的字符发生语义偏离,这一错误会逐渐传递到后面每个时刻的字符,从而导致语义偏离逐渐累计,文本生成的准确度较低。因此,亟需一种能够提升文本生成准确度的方法。
发明内容
本申请实施例提供了一种文本生成方法、装置、计算机设备及存储介质,能够提升文本生成的准确度。该技术方案如下:
一方面,提供了一种文本生成方法,该方法包括:
基于包含至少一个提示语句的提示文本,获取所述至少一个提示语句的语句特征,所述语句特征用于表征所述提示语句的语义;
基于所述至少一个提示语句的语句特征,预测得到至少一个目标语句特征,所述目标语句特征用于表征目标语句的语义,所述目标语句为所述提示语句的下文;
基于所述至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,所述目标文本与所述提示文本具有语义对应关系。
一方面,提供了一种文本生成装置,该装置包括:
第一获取模块,用于基于包含至少一个提示语句的提示文本,获取所述至少一个提示语句的语句特征,所述语句特征用于表征所述提示语句的语义;
预测模块,用于基于所述至少一个提示语句的语句特征,预测得到至少一个目标语句特征,所述目标语句特征用于表征目标语句的语义,所述目标语句为所述提示语句的下文;
解码模块,用于基于所述至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,所述目标文本与所述提示文本具有语义对应关系。
在一种可能实施方式中,所述第一获取模块包括:
第一获取单元,用于对所述至少一个提示语句中的任一提示语句,获取所述任一提示语句中至少一个字符的嵌入特征;
编码单元,用于对所述至少一个字符的嵌入特征进行编码,得到所述至少一个字符的语义特征;
第一融合单元,用于对所述至少一个字符的语义特征进行融合,得到所述任一提示语句的语句特征。
在一种可能实施方式中,所述第一获取单元用于:将所述任一提示语句中的所述至少一个字符输入至语句编码模型中的语句嵌入层,通过所述语句嵌入层对所述至少一个字符进行嵌入处理,输出所述至少一个字符的嵌入特征,所述语句编码模型用于对输入语句编码以提取语句特征;
所述编码单元用于:将所述至少一个字符的嵌入特征输入至所述语句编码模型中的至少一个编码层,通过所述至少一个编码层对所述至少一个字符的嵌入特征进行加权处理,输出所述至少一个字符的语义特征;
所述第一融合单元用于:对所述至少一个字符的语义特征进行均值池化,得到所述任一提示语句的语句特征。
在一种可能实施方式中,所述预测模块包括:
第二获取单元,用于获取所述至少一个提示语句的位置特征,所述位置特征用于表征所述提示语句在所述提示文本中的语序信息;
第二融合单元,用于将所述至少一个提示语句的语句特征和所述至少一个提示语句的位置特征进行融合,得到所述至少一个提示语句的融合特征;
解码单元,用于对所述至少一个提示语句的融合特征进行解码,得到所述至少一个目标语句特征。
在一种可能实施方式中,所述解码单元用于:
将所述至少一个提示语句的融合特征输入语句规划模型中的至少一个解码层,通过所述至少一个解码层对所述至少一个提示语句的融合特征进行解码,由最后一个解码层输出所述至少一个目标语句特征,所述语句规划模型用于基于提示语句的融合特征预测下文语句的目标语句特征。
在一种可能实施方式中,所述装置还包括:
输入输出模块,用于对包含至少一个样本提示语句的样本文本,将所述至少一个样本提示语句的融合特征输入初始规划模型,输出至少一个预测语句特征;
第二获取模块,用于基于所述至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值,所述标注文本为所述样本文本的下文;
迭代调整模块,用于迭代调整所述初始规划模型的参数,直到损失函数值符合停止条件,得到所述语句规划模型。
在一种可能实施方式中,所述第二获取模块用于:
基于所述至少一个预测语句特征和所述至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于所述至少一个第一相似度,获取所述损失函数值。
在一种可能实施方式中,所述第二获取模块用于:
基于所述至少一个预测语句特征和所述至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于所述至少一个预测语句特征和至少一个负样本语句特征,获取至少一个第二相似度,一个第二相似度用于表征一个预测语句特征与对应的负样本语句特征之间的相似程度;
基于所述至少一个第一相似度和所述至少一个第二相似度,获取所述损失函数值。
在一种可能实施方式中,所述解码模块用于:
对所述至少一个目标语句特征中的任一目标语句特征,对所述任一目标语句特征进行解码,得到所述任一目标语句特征对应的目标语句,重复执行上述操作,得到包含所述至少一个目标语句的所述目标文本。
在一种可能实施方式中,所述解码模块用于:
将所述任一目标语句特征输入至语句解码模型中的至少一个解码层,通过所述至少一个解码层对所述任一目标语句特征进行解码,输出至少一个目标字符,将所述至少一个目标字符确定为所述任一目标语句特征对应的目标语句,所述语句解码模型用于对输入语句特征解码以转换成对应语句中各个字符。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述文本生成方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述文本生成方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得计算机设备能够执行上述文本生成方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对提示文本按照提示语句为单位提取出语句特征,能够预测出下文中各个目标语句的目标语句特征,这些目标语句特征作为解码过程的语义指导信息,能够以语句为单位解码出各个目标语句,从而得到目标文本,相当于在生成目标文本的过程中,依赖于各个目标语句特征的引导,导致即使某个目标语句中的字符发生了语义偏离,这一语义偏离现象会被下一个目标语句特征纠正,从而并不会在整个目标文本中传递,大大提高了文本生成过程的准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种文本生成方法的实施环境示意图;
图2是本申请实施例提供的一种文本生成方法的流程图;
图3是本申请实施例提供的一种文本生成方法的流程图;
图4是本申请实施例提供的一种文本生成方法的原理性示意图;
图5是本申请实施例提供的一种语句规划模型的训练流程图;
图6是本申请实施例提供的一种文本生成装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术以及机器学习/深度学习等几大方向。
让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中,自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本生成、机器翻译、文本预处理、语义理解、机器人问答、知识图谱等技术。
在NLP领域中,文本生成技术具有广泛的应用场景,文本生成技术又称为自然语言生成技术,是研究使计算机具有人一样的表达和写作的功能的技术。例如,机器人写作、人工智能写作、自动对话生成、机器人写古诗等,都属于文本生成技术的范畴。简言之,根据一些关键信息(即提示文本)及其在机器内部的表达形式,经过一个规划过程,能够使得机器自动生成一段高质量的自然语言文本(即目标文本)。文本生成技术是人工智能和计算语言学的分支,相应的语言生成系统是基于语言信息处理的计算机模型,其工作过程与自然语言分析相反,是从抽象的概念层次开始,通过选择并执行一定的语义和语法规则来生成目标文本。
本申请实施例提供的技术方案涉及人工智能的文本生成技术,在给定提示文本的基础上,机器能够自动生成语义对应的目标文本,由于通常提示文本的篇幅较短(例如,提示文本为一句话),而目标文本的篇幅较长(例如,目标文本为多句话),因此,这一过程也可称为长文本生成(Long Text Generation)技术。长文本生成技术可应用于多种场景中,例如,在故事创作中,可自动生成与话题相关的故事;又例如,在新闻辅助写作中,可自动生成新闻草稿;又例如,在电商场景中,可自动生成商品的描述文档。
在上述过程中,提示文本(Prompt)也称为提示信息,是指长文本生成的输入文本;目标文本(Target)也称为接着提示信息进行续写的语句,是指长文本生成的输出文本,一般情况下目标文本包含多个语句。
在生成长文本时,用户给定提示文本,将提示文本输入到变换器语言模型(Transformer Language Model)中,变换器语言模型会逐个字符地输出提示文本所对应的长文本的字符序列。一方面,由于以字符为单位来预测长文本,假设某个时刻的字符发生语义偏离,这一错误会逐渐传递到后面每个时刻的字符,从而导致语义偏离逐渐累计;另一方面,由于变换器语言模型在逐个字符预测长文本时,长文本中的每个字符都是按照概率从词表中采样生成的,缺乏一种全局的语义指导,同样容易导致语义的偏离。因此,文本生成的准确度较低。
有鉴于此,本申请实施例提供一种文本生成方法,能够先基于提示文本,生成各个目标语句特征的序列,再依次解码各个目标语句特征,得到目标文本的各个目标语句,也即提供一种基于语句特征的两阶段生成模型,可以有效提升长文本生成的质量。此外,通过语句规划模型能够从左到右依次生成各个目标语句特征,且通过由语句特征引导的解码器,能够根据目标语句特征解码出对应的目标语句,有效地改善了语义偏离的现象,提高了文本生成的准确度。
图1是本申请实施例提供的一种文本生成方法的实施环境示意图。参见图1,在该实施环境中包括终端101和服务器102,下面进行详述:
终端101用于提供提示文本,通常提示文本包括一个或多个语句,例如提示文本为一句话。终端101安装和运行有支持文本生成的应用程序,例如该应用程序包括写作机器人、智能助手、草稿生成器、文本编辑器、写作应用、在线文档等,本申请实施例不对该应用程序的类型进行具体限定。
在一些实施例中,用户在终端101上登录该应用程序后,在该应用程序中输入提示文本,触发终端101向服务器102发送携带该提示文本的文本生成请求,该文本生成请求用于请求与该提示文本语义对应的目标文本。可选地,输入提示文本的方式包括但不限于:手动输入、语音指令、手势指令、快捷选项选择预设文本等,本申请实施例不对提示文本的输入方式进行具体限定。
终端101和服务器102之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器102用于提供文本生成服务,服务器102可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,终端101与服务器102之间采用分布式计算架构进行协同计算。
在一些实施例中,服务器102接收终端101的文本生成请求,解析该文本生成请求,得到提示文本,基于本申请实施例提供的文本生成方法,获取与该提示文本语义对应的目标文本,并将该目标文本发送至终端101,该目标文本可以用于辅助用户进行故事创作、新闻撰写、商品描述等,具有广泛的应用场景。
在一个示例性场景中,以故事创作场景为例,作家在终端101上登录应用程序,向该应用程序中输入提示文本,点击草稿生成功能选项,终端101向服务器102发送携带该提示文本的草稿生成请求,该草稿生成请求用于请求与该提示文本语义对应的故事草稿。服务器102接收该草稿生成请求,解析该草稿生成请求,得到该提示文本,基于本申请实施例提供的文本生成方法,生成该故事草稿,通常作家输入的提示文本是一句话,而生成的故事草稿是一篇文章,服务器102将该故事草稿返回至终端101。终端101接收该故事草稿,作者可在应用程序上查看该故事草稿,并在该故事草稿的基础上进一步完善,从而能够减轻作家的工作量。
在一个示例性场景中,以电商场景为例,商家在终端101上登录应用程序,向应用程序中输入商品属性(作为提示文本),点击描述生成功能选项,终端101向服务器102发送携带该商品属性的描述生成请求,该描述生成请求用于请求与该商品属性语义对应的描述文档。服务器102接收该描述生成请求,解析该描述生成请求,得到该商品属性,基于本申请实施例提供的文本生成方法,生成该描述文档,通常商家输入的商品属性是一句话,而生成的描述文档包括一个或多个描述段落,服务器102将该描述文档返回至终端101。终端101接收该描述文档,商家可在应用程序上查看该描述文档,并在该描述文档的基础上进一步完善,润色得到最终的商品描述详情信息,从而能够减轻商家的工作量。
在一个示例性场景中,以新闻撰写场景为例,记者在终端101上登录应用程序,向该应用程序中输入新闻摘要,点击草稿生成功能选项,终端101向服务器102发送携带该新闻摘要的草稿生成请求,该草稿生成请求用于请求与该新闻摘要语义对应的新闻草稿。服务器102接收该草稿生成请求,解析该草稿生成请求,得到该新闻摘要,基于本申请实施例提供的文本生成方法,生成该新闻草稿,通常记者输入的新闻摘要是一句话,而生成的新闻草稿是一篇文章,服务器102将该新闻草稿返回至终端101。终端101接收该新闻草稿,记者可在应用程序上查看该新闻草稿,并在该新闻草稿的基础上进一步完善,从而能够减轻记者的工作量。
需要说明的是,本申请实施例所涉及的各个提示文本以及目标文本等文本数据,可保存于区块链上。
上述服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。
上述终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
本领域技术人员可以知晓,终端101可以泛指多个终端中的一个,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是本申请实施例提供的一种文本生成方法的流程图。参见图2,该实施例应用于计算机设备,下面以该计算机设备为服务器为例进行说明,该实施例包括下述步骤:
201、服务器基于包含至少一个提示语句的提示文本,获取该至少一个提示语句的语句特征,该语句特征用于表征该提示语句的语义。
其中,提示文本(Prompt)也称为提示信息,是指长文本生成过程的输入文本。该提示文本中可以包括至少一个提示语句,例如,该提示文本仅包含单个提示语句,或者,该提示文本包含多个提示语句,本申请实施例对提示文本中包含的提示语句的数量不进行具体限定。
在一些实施例中,服务器先获取提示文本,该提示文本包含至少一个提示语句,再获取该至少一个提示语句的语句特征,一个提示语句对应于一个语句特征。其中,该语句特征用于表征该提示文本的语义,也即是说,该语句特征是指提示文本在语句级别(而非字符级别)的语义特征,能够从语句层面上反映出该提示文本中每个提示语句的语义。
可选地,如果该提示文本包含单个提示语句,那么对单个提示语句提取得到单个语句特征,如果该提示文本包含多个提示语句,那么对多个提示语句中的每个提示语句均提取对应的语句特征,也即最终得到多个语句特征。
在一些实施例中,服务器在获取提示文本时,可以由用户在服务器端输入该提示文本,或者从本地数据库中读取预存的任一提示文本,或者从云端数据库中下载该提示文本,或者该可以接收终端发送的提示文本。
在一个示例性场景中,用户在终端上登录应用程序,在该应用程序中输入提示文本,对文本生成功能选项进行触发操作,终端响应于该触发操作,向服务器发送携带该提示文本的文本生成请求。服务器接收该文本生成请求,解析该文本生成请求,得到该提示文本。可选地,该触发操作包括但不限于:点击操作、双击操作、长按操作、语音指令、手势指令等,本申请实施例对触发操作的形式不进行具体限定。
在一些实施例中,对该至少一个提示语句中的任一提示语句,该任一提示语句中包括至少一个字符,服务器在获取该任一提示语句的语句特征时,可以获取该任一提示语句中至少一个字符的嵌入(Embedding)特征;对该至少一个字符的嵌入特征进行编码,得到该至少一个字符的语义特征;对该至少一个字符的语义特征进行融合,得到该任一提示语句的语句特征。
其中,字符(Tokens)是一个语句中的最小语义单位,也称为分词,在英文中一个字符是指一个单词(即词汇)或者一个英文标点符号,在中文中一个字符是指一个中文词语(词语可包括一个或多个中文字)或者一个中文标点符号。
在上述过程中,通过对提示文本中的每个提示语句,都提取到对应的语句特征,这一语句特征融合了提示语句中各个字符的语义特征,从而使得每个语句特征与每个提示语句是一一对应的,最终各个提示语句的语句特征,能够以语句为单位,从语句层面上反映出整个提示文本的特征信息。
可选地,在提取该嵌入特征时,服务器可以对该任一提示语句进行分词处理,得到该至少一个字符,并对该至少一个字符进行嵌入处理,得到该至少一个字符的嵌入向量,该至少一个字符的嵌入向量也即该至少一个字符的嵌入特征。
可选地,在获取该语义特征时,服务器对该至少一个字符的嵌入特征进行编码的过程,也即是对该至少一个字符的嵌入向量进行加权的过程,对每个字符的嵌入向量均通过加权得到每个字符的语义向量,重复执行上述操作可以得到该至少一个字符的语义向量,该至少一个字符的语义向量也即该至少一个字符的语义特征。
可选地,在获取语句特征时,由于需要对该至少一个字符的语义特征进行融合,服务器可以对该至少一个字符的语义特征进行均值池化(Mean-Pooling),得到该任一提示语句的语句特征,其中,均值池化的过程是指,对该至少一个字符的语义特征求平均值,得到该任一提示语句的语句特征,换言之,将各个字符的语义特征中相同位置的数值求平均值,得到该语义特征中相同位置的取值,遍历各个字符的语义特征中的所有数值,即可得到最终的语义特征。
在一些实施例中,除了均值池化之外,服务器还可以对该至少一个字符的语义特征进行按元素相加、按元素相乘、双线性汇合、拼接(concat)等方式进行融合,本申请实施例对此不进行具体限定。
在一个示例性实施例中,对任一提示语句,服务器可以调用词向量模型来提取各个字符的嵌入特征,并将各个字符的嵌入特征输入到语句编码模型(也称为句子编码器)中,通过该语句编码模型对各个字符的嵌入特征进行编码,输出各个字符的语义特征,最终对各个字符的语义特征进行均值池化,得到该任一提示语句的语句特征。
在一个示例性实施例中,对任一提示语句,服务器还可以调用语句编码模型来提取语句特征,其中,该语句编码模型用于对输入语句编码以提取语句特征,该语句编码模型包括语句嵌入层和至少一个编码层。服务器可以将该任一提示语句中的该至少一个字符输入至语句编码模型中的语句嵌入层,通过该语句嵌入层对该至少一个字符进行嵌入处理,输出该至少一个字符的嵌入特征,进一步地,将该至少一个字符的嵌入特征输入至该语句编码模型中的至少一个编码层,通过该至少一个编码层对该至少一个字符的嵌入特征进行加权处理,输出该至少一个字符的语义特征,最后,对该至少一个字符的语义特征进行均值池化,得到该任一提示语句的语句特征。
在一些实施例中,由于该任一提示语句中的该至少一个字符可以构成一个字符序列,同理,该至少一个字符的嵌入特征可以构成一个嵌入特征序列,同理,该至少一个字符的语义特征可以构成一个语义特征序列,换一种表述,上述过程也可以描述为:将该任一提示语句的字符序列输入到语句编码模型中,通过该语句嵌入层对该字符序列进行嵌入处理,输出该任一提示语句的嵌入特征序列,通过该至少一个编码层对该嵌入特征序列进行加权处理,输出该任一提示语句的语义特征序列,接着,对该语义特征序列中的各个语义特征进行均值池化,得到该任一提示语句的语句特征。可选地,该至少一个编码层之间是串联连接的,也即上一个编码层的输出作为下一个编码层的输入。
可选地,该语句编码模型可以是任一编码器结构,其中编码器结构是指S2S(Sequence-to-Sequence,序列到序列)模型中用于编码的模块,S2S模型是自然语言生成和机器翻译的基本建模框架,S2S模型的输入是一个序列(例如,字符序列),S2S模型的输出也是一个序列(例如,语义特征序列),S2S模型通常是基于编码器-解码器(Encoder-Decoder)的机器学习模型,编码器-解码器是S2S框架的核心模块。例如,该语句编码模型包括但不限于:BERT(Bidirectional Encoder Representation From Transformers,采用双向编码表示的翻译模型)、ERNIE(Enhanced Language Representation with InformativeEntities,利用信息实体增强语言表示的模型)、SpanBERT(Improving Pre-training byRepresenting and Predicting Spans,基于表现和预测跨度的改进预训练BERT模型)、ELMo(Embeddings From Language Models,采用嵌入处理的语言模型)、CNN(Convolutional Neural Networks,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-Term Memory,长短期记忆网络)、Bi-LSTM(BidirectionalLong Short-Term Memory,双向长短期记忆网络)、GRU(Gated Recurrent Unit,门循环单元)等,本申请实施例不对语句编码模型的架构进行具体限定。
示意性地,以该语句编码模型为BERT模型为例,假设该提示文本仅包含一个提示语句,服务器对该提示语句进行分词处理,得到该提示语句包含的至少一个字符所构成的字符序列,将该字符序列输入到BERT模型中。其中,BERT模型包括语句嵌入层和至少一个编码层,先将该字符序列输入到该语句嵌入层中,通过语句嵌入层对该字符序列中各个字符进行嵌入处理,将各个字符映射到嵌入空间,得到各个字符的嵌入向量(也即嵌入特征),也即得到了一个嵌入向量序列。再将该嵌入向量序列输入到该至少一个编码层中,通过该至少一个编码层对该嵌入向量序列中各个嵌入向量进行双向编码(包括正向编码和反向编码),输出各个字符的语义向量(也即语义特征),也即得到了一个语义向量序列。其中,BERT模型中的每个编码层均是双向编码层,双向编码层能够对输入信号进行正向编码和反向编码,各个编码层之间串联连接,也即上一个编码层的输出作为下一个编码层的输入。在每个编码层中包括两部分,一部分是注意力网络,另一部分是前向全连接层,注意力网络中每一个隐层都是由上一层的隐层进行加权平均所得,使得每一个隐层都能和上一层的所有隐层直接关联,利用输入的字符序列能够得到一个用于表征全局化信息的隐层向量,而前向全连接层则用于对注意力网络获取的全局化信息进行进一步加工,以增强整个BERT模型的学习能力。
以第一个编码层为例进行说明,在该编码层中包括注意力网络和前向全连接层。将该嵌入向量序列输入到第一个编码层的注意力网络中,通过注意力网络对该嵌入向量序列进行加权,以提取该嵌入向量序列的注意力特征序列,将该注意力特征序列输入到第一个编码层的前向全连接层中,通过前向全连接层对该注意力特征序列进行双向的语义编码(包括正向编码和反向编码),输出一个隐向量序列,将该隐向量序列输入到第二个编码层中,依此类推,后续的编码层的处理逻辑均与第一个编码层类似,这里不做赘述。由于在编码层中引入注意力机制,能够在每次进行语义编码时,使得各个字符聚焦于与自身关联较大(关系更密切)的字符,使得最终获取的语义特征具有更高的准确性。
在一些实施例中,可以将倒数第二个编码层输出的各个字符的语义向量,确定为各个字符的语义特征;在另一些实施例中,还可以将最后一个编码层中输出的各个字符的语义向量,确定为各个字符的语义特征;或者,还可以将任一编码层输出的各个字符的语义向量,确定为各个字符的语义特征,本申请实施例对此不进行具体限定。例如,BERT模型中包括12个编码层,可以将第11层输出的各个字符的语义向量确定为各个字符的语义特征。
在上述过程中,服务器通过编码层对字符序列中的各个字符分别进行了正向编码和反向编码,通过正向编码使得每个字符的语义特征能够融合该字符之前出现的历史字符的相关信息,而通过反向编码使得每个字符的语义特征能够融合该字符之后出现的未来字符的相关信息,两个方向的编码操作能够大大提升各个字符的语义特征的表达能力,也即能够提升该语句特征的表达能力。
202、服务器基于该至少一个提示语句的语句特征,预测得到至少一个目标语句特征,该目标语句特征用于表征目标语句的语义,该目标语句为该提示语句的下文。
其中,该目标语句为该提示语句的下文,意味着该提示语句为该目标语句的上文,换言之,该目标语句与该提示语句之间在语义上具有关联关系,且该目标语句是依赖于该提示语句而生成的下文,例如,当提示语句是问句时,目标语句可以是该问句的答句,又例如,当提示语句是新闻摘要时,目标语句可以是新闻草稿的首个段落中的首句话。
在一些实施例中,服务器在预测目标语句特征时,可以获取该至少一个提示语句的位置特征,该位置特征用于表征该提示语句在该提示文本中的语序信息;将该至少一个提示语句的语句特征和该至少一个提示语句的位置特征进行融合,得到该至少一个提示语句的融合特征;对该至少一个提示语句的融合特征进行解码,得到该至少一个目标语句特征。
在上述过程中,通过对各个提示语句的语句特征和位置特征进行融合,使得在从左到右预测目标语句特征时,不仅能够参考上文的语句特征,还能够参考上文的语序信息,使得预测出的目标语句特征符合语义上的先后顺序,提高了目标语句特征的预测准确度。
在一些实施例中,服务器可以调用语句规划模型进行解码,该语句规划模型中包括至少一个解码层,该语句规划模型用于基于提示语句的融合特征预测下文语句的目标语句特征。也即是说,服务器将该至少一个提示语句的融合特征输入该语句规划模型中的该至少一个解码层,通过该至少一个解码层对该至少一个提示语句的融合特征进行解码,由最后一个解码层输出该至少一个目标语句特征。
在上述过程中,通过语句规划模型能够在提示语句的融合特征的基础上,以语句为单位预测出至少一个目标语句特征,每个目标语句特征用于表征提示文本的下文即目标文本中的一个目标语句的语义,但此时尚未解码出各个目标语句具体的自然语言内容,而仅仅是预测出了各个目标语句的抽象空间表示。
由于语句规划模型是以语句为单位,输出至少一个目标语句特征,因此可视为语句级的语言模型(Language Modeling,LM,与S2S框架中的解码器在结构上类似),语句规划模型能够对语句特征序列进行语言建模,给定一串提示语句的语句特征(一个或多个),作为上文的语句特征序列,语句规划模型学习到根据上文的语句特征序列预测下一个包含表达内容的目标语句特征,并逐个输出一串目标语句特征,作为下文的目标语句特征序列。
在一些实施例中,该语句规划模型是一个与GPT2(Generative Pre-Training2,第二代生成式预训练)模型类似的句子向量规划器,在该句子向量规划器中包括至少一个解码层,该至少一个解码层之间串联连接,也即上一个解码层的输出作为下一个解码层的输入,例如,该句子向量规划器包括12个基于自注意力结构的解码层。与GPT2模型不同的是,该句子向量规划器是从语句级别建模,而GPT2模型是从字符级别建模。可选地,在该句子向量规划器中,无需设置嵌入层,而直接将各个提示语句的融合特征作为输入表示。可选地,在预测目标语句特征时,由于无需预测自然语言的字符,因此无需设置输出层的激活函数,直接输出最后一个编码层预测得到的各个目标语句特征即可。
在每个解码层中包括两个部分,一部分是基于掩码的自注意力网络,另一部分是前馈神经网络,基于掩码的自注意力网络仅关注当前时刻之前预测的各个目标语句特征(以及输入的提示语句的融合特征),对当前时刻之后的信息需要进行mask(遮挡)处理,将各个提示语句的融合特征所构成的融合特征序列输入到该基于掩码的自注意力网络中,输出一个隐向量序列,而前馈神经网络层用于对基于掩码的自注意力网络输出的隐向量序列进行全连接。
以第一个解码层为例进行说明,在该编码层中包括基于掩码的自注意力网络和前馈神经网络。将该融合特征序列输入到第一个解码层的基于掩码的自注意力网络中,通过基于掩码的自注意力网络对该融合特征序列进行加权,以提取一个隐向量序列,将该隐向量序列输入到第一个解码层的前馈神经网络中,通过前馈神经网络对该隐向量序列进行全连接,输出全连接后的隐向量序列,并将该全连接后的隐向量序列输入到第二个解码层中,依此类推,后续的解码层的处理逻辑均与第一个解码层类似,这里不做赘述。
需要说明的是,在预测后续时刻的目标语句特征时,仅关注当前时刻之前预测的各个目标语句特征,例如,假设输出的目标语句特征序列为“目标语句特征A目标语句特征B目标语句特征C”,共包括3个目标语句特征,那么在预测目标语句特征B时,需要遮挡掉目标语句特征C,也即只能根据输入的各个提示语句的融合特征以及目标语句特征A来预测目标语句特征B。
203、服务器基于该至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,该目标文本与该提示文本具有语义对应关系。
其中,该目标文本与该提示文本具有语义对应关系,是指目标文本是依赖于提示文本且由机器智能生成的续写文本。由于目标文本是提示文本的下文、提示文本是目标文本的下文,因此目标文本和提示文本在语义上具有对应关系,比如,目标文本和提示文本表达了相同的语义,或者,目标文本和提示文本所表达的语义属于同一语境且具有上下文的依赖关系。例如,当提示文本是新闻摘要时,目标文本可以是基于该新闻摘要自动生成的新闻草稿,此时新闻摘要和新闻草稿的主要内容、中心思想等需要保持一致,也即新闻摘要与新闻草稿具有语义对应关系。又例如,当提示文本是商品属性时,目标文本可以是基于该商品属性自动生成的商品描述文档,此时商品属性和商品描述文档需要保证描述的是同一商品,也即商品属性与商品描述文档具有语义对应关系。
其中,目标文本(Target)也称为接着提示信息进行续写的语句,是指长文本生成过程的输出文本。该目标文本中可以包括至少一个目标语句,例如,该目标文本包含多个目标语句,或者,该目标文本仅包含单个目标语句,本申请实施例对目标文本中包含的目标文本的数量不进行具体限定。
在一些实施例中,对该至少一个目标语句特征中的任一目标语句特征,服务器在进行解码时,可以对该任一目标语句特征进行解码,得到该任一目标语句特征对应的目标语句,重复执行上述操作,得到包含该至少一个目标语句的该目标文本。
在一些实施例中,对任一目标语句特征,可以调用语句解码模型(也称为向量引导的解码器)来解码对应的目标语句,其中,该语句解码模型用于对输入语句特征解码以转换成对应语句中各个字符,该语句解码模型的输入是一个目标语句特征,输出是对应的目标语句内各个字符所构成的字符序列。也即是说,服务器将该任一目标语句特征输入至语句解码模型中的至少一个解码层,通过该至少一个解码层对该任一目标语句特征进行解码,输出至少一个目标字符,将该至少一个目标字符确定为该任一目标语句特征对应的目标语句,对每个目标语句特征重复执行上述操作,得到各个目标语句,各个目标语句即构成该目标文本。
在一些实施例中,该语句解码模型包括但不限于:GPT2模型、Transformers模型、CNN模型、RNN模型、LSTM模型、Bi-LSTM模型、GRU模型等,本申请实施例不对语句解码模型的架构进行具体限定。
示意性地,以该语句解码模型为GPT2模型为例,服务器将第i(i≥1)个目标语句特征输入到GPT2模型中,GPT2模型包括至少一个解码层,该至少一个解码层之间串联连接,也即上一个解码层的输出作为下一个解码层的输入,例如,GPT2模型包括12个基于自注意力结构的解码层。
在每个解码层中包括两个部分,一部分是基于掩码的自注意力网络,另一部分是前馈神经网络,基于掩码的自注意力网络仅关注当前时刻t(t≥1)之前预测的目标语句中的t-1个字符(以及输入的第i个目标语句特征),对当前时刻t之后的信息需要进行mask(遮挡)处理,将第i个目标语句特征输入到该基于掩码的自注意力网络中,输出一个隐向量序列,而前馈神经网络层用于对基于掩码的自注意力网络输出的隐向量序列进行全连接。
以第一个解码层为例进行说明,在该编码层中包括基于掩码的自注意力网络和前馈神经网络。在t=0时刻,将第i个目标语句特征输入到第一个解码层的基于掩码的自注意力网络中,通过基于掩码的自注意力网络对该第i个目标语句特征进行加权,以提取一个隐向量序列,将该隐向量序列输入到第一个解码层的前馈神经网络中,通过前馈神经网络对该隐向量序列进行全连接,输出全连接后的隐向量序列,并将该全连接后的隐向量序列输入到第二个解码层中,依此类推,后续的解码层的处理逻辑均与第一个解码层类似,这里不做赘述。接着,将最后一个解码层出的全连接后的隐向量序列,先后输入到一个线性(Linear)层和一个指数归一化(Softmax)层中,即可得到第i个目标语句的第1个字符,即得到了t=1时刻的预测结果。其中,线性层是一个全连接层,维度为语料库中所包含的所有的字符数目,而指数归一化层则用于获取当前时刻下输出语料库中每个字符的概率,通常可以选取概率最高的字符作为当前时刻的预测结果,当前,也可以在概率从大到小排序位于前k(k≥1)位的字符中随机采样一个作为当前时刻的预测结果,本申请实施例对此不进行具体限定。
在上述过程中,在预测目标文本时,是通过每个目标语句所对应的目标语句特征,来预测出每个目标语句所对应的自然语言的各个字符,相当于以语句为单位,在每个目标语句特征的指导下来预测对应的目标语句,也即提供一种目标语句特征引导的解码方式,这样即使某个目标语句中个别字符出现了语义偏离,但这一语义偏离的情况并不会传递到下一个目标语句中,因为下一个目标语句是基于自身对应的目标语句特征来预测的,从而能够大大提升文本生成的准确度。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对提示文本按照提示语句为单位提取出语句特征,能够预测出下文中各个目标语句的目标语句特征,这些目标语句特征作为解码过程的语义指导信息,能够以语句为单位解码出各个目标语句,从而得到目标文本,相当于在生成目标文本的过程中,依赖于各个目标语句特征的引导,导致即使某个目标语句中的字符发生了语义偏离,这一语义偏离现象会被下一个目标语句特征纠正,从而并不会在整个目标文本中传递,大大提高了文本生成过程的准确度。
图3是本申请实施例提供的一种文本生成方法的流程图,请参考图3,该实施例应用于计算机设备,下面以该计算机设备为服务器为例进行说明,该实施例包括下述步骤:
301、服务器获取提示文本,该提示文本包含至少一个提示语句。
在一些实施例中,服务器在获取提示文本时,可以由用户在服务器端输入该提示文本,或者从本地数据库中读取预存的任一提示文本,或者从云端数据库中下载该提示文本,或者该可以接收终端发送的提示文本。
在一个示例性场景中,用户在终端上登录应用程序,在该应用程序中输入提示文本,对文本生成功能选项进行触发操作,终端响应于该触发操作,向服务器发送携带该提示文本的文本生成请求。服务器接收该文本生成请求,解析该文本生成请求,得到该提示文本。可选地,该触发操作包括但不限于:点击操作、双击操作、长按操作、语音指令、手势指令等,本申请实施例对触发操作的形式不进行具体限定。
302、服务器基于包含至少一个提示语句的提示文本,获取该至少一个提示语句的语句特征,该语句特征用于表征该提示语句的语义。
上述步骤302与上述步骤201类似,这里不做赘述。
303、服务器获取该至少一个提示语句的位置特征,该位置特征用于表征该提示语句在该提示文本中的语序信息。
在一些实施例中,服务器对每个提示语句,按照每个提示语句在目标文本中所处的语序信息(也可称为位置信息),对这一语序信息进行编码,得到每个提示语句的位置特征,重复执行上述操作,即可得到该至少一个提示语句的位置特征。
304、服务器将该至少一个提示语句的语句特征和该至少一个提示语句的位置特征进行融合,得到该至少一个提示语句的融合特征。
在一些实施例中,服务器对每个提示语句,将该提示语句的语句特征和该提示语句的位置特征进行拼接(concat),得到该提示语句的融合特征,从而能够简化获取融合特征的计算量。
在一些实施例中,除了拼接方式之外,还可以将各个提示语句的语句特征和各自的位置特征进行按元素相加、按元素相乘、双线性汇合、求向量积等操作,以得到各个提示语句的融合特征,本申请实施例对语句特征和位置特征的融合方式不进行具体限定。
305、服务器对该至少一个提示语句的融合特征进行解码,得到至少一个目标语句特征,该目标语句特征用于表征目标语句的语义,该目标语句为该提示语句的下文。
在一些实施例中,服务器可以调用语句规划模型进行解码,该语句规划模型中包括至少一个解码层,该语句规划模型用于基于提示语句的融合特征预测下文语句的目标语句特征。也即是说,服务器将该至少一个提示语句的融合特征输入该语句规划模型中的该至少一个解码层,通过该至少一个解码层对该至少一个提示语句的融合特征进行解码,由最后一个解码层输出该至少一个目标语句特征。
在上述过程中,通过语句规划模型能够在提示语句的融合特征的基础上,以语句为单位预测出至少一个目标语句特征,每个目标语句特征用于表征提示文本的下文即目标文本中的一个目标语句的语义,但此时尚未解码出各个目标语句具体的自然语言内容,而仅仅是预测出了各个目标语句的抽象空间表示。
由于语句规划模型是以语句为单位,输出至少一个目标语句特征,因此可视为语句级的语言模型(Language Modeling,LM,与S2S框架中的解码器在结构上类似),语句规划模型能够对语句特征序列进行语言建模,给定一串提示语句的语句特征(一个或多个),作为上文的语句特征序列,语句规划模型学习到根据上文的语句特征序列预测下一个包含表达内容的目标语句特征,并逐个输出一串目标语句特征,作为下文的目标语句特征序列。
在一些实施例中,该语句规划模型可以是一个与GPT2模型类似的句子向量规划器,在该句子向量规划器中包括至少一个解码层,该至少一个解码层之间串联连接,也即上一个解码层的输出作为下一个解码层的输入,例如,该句子向量规划器包括12个基于自注意力结构的解码层。与GPT2模型不同的是,该句子向量规划器是从语句级别建模,而GPT2模型是从字符级别建模。可选地,在该句子向量规划器中,无需设置嵌入层,而直接将各个提示语句的融合特征作为输入表示。可选地,在预测目标语句特征时,由于无需预测自然语言的字符,因此无需设置输出层的激活函数,直接输出最后一个编码层预测得到的各个目标语句特征即可。
在每个解码层中包括两个部分,一部分是基于掩码的自注意力网络,另一部分是前馈神经网络,基于掩码的自注意力网络仅关注当前时刻之前预测的各个目标语句特征(以及输入的提示语句的融合特征),对当前时刻之后的信息需要进行mask(遮挡)处理,将各个提示语句的融合特征所构成的融合特征序列输入到该基于掩码的自注意力网络中,输出一个隐向量序列,而前馈神经网络层用于对基于掩码的自注意力网络输出的隐向量序列进行全连接。
以第一个解码层为例进行说明,在该编码层中包括基于掩码的自注意力网络和前馈神经网络。将该融合特征序列输入到第一个解码层的基于掩码的自注意力网络中,通过基于掩码的自注意力网络对该融合特征序列进行加权,以提取一个隐向量序列,将该隐向量序列输入到第一个解码层的前馈神经网络中,通过前馈神经网络对该隐向量序列进行全连接,输出全连接后的隐向量序列,并将该全连接后的隐向量序列输入到第二个解码层中,依此类推,后续的解码层的处理逻辑均与第一个解码层类似,这里不做赘述。
需要说明的是,在预测后续时刻的目标语句特征时,仅关注当前时刻之前预测的各个目标语句特征,例如,假设输出的目标语句特征序列为“目标语句特征A目标语句特征B目标语句特征C”,共包括3个目标语句特征,那么在预测目标语句特征B时,需要遮挡掉目标语句特征C,也即只能根据输入的各个提示语句的融合特征以及目标语句特征A来预测目标语句特征B。
在上述步骤303-305中,示出了服务器基于该至少一个提示语句的语句特征,预测得到至少一个目标语句特征的一种可能实施方式,通过对各个提示语句的语句特征和位置特征进行融合,使得在从左到右预测目标语句特征时,不仅能够参考上文的语句特征,还能够参考上文的语序信息,使得预测出的目标语句特征符合语义上的先后顺序,提高了目标语句特征的预测准确度。
306、服务器基于该至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,该目标文本与该提示文本具有语义对应关系。
上述步骤306与上述步骤203类似,这里不做赘述。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对提示文本按照提示语句为单位提取出语句特征,能够预测出下文中各个目标语句的目标语句特征,这些目标语句特征作为解码过程的语义指导信息,能够以语句为单位解码出各个目标语句,从而得到目标文本,相当于在生成目标文本的过程中,依赖于各个目标语句特征的引导,导致即使某个目标语句中的字符发生了语义偏离,这一语义偏离现象会被下一个目标语句特征纠正,从而并不会在整个目标文本中传递,大大提高了文本生成过程的准确度。
图4是本申请实施例提供的一种文本生成方法的原理性示意图,请参考图4,以语句编码模型为句子编码器401、语句规划模型为句子向量规划器402、语句解码模型为向量引导的解码器403为例进行说明。
句子编码器401的作用是将提示语句的字符序列转换为本提示语句的句子向量(即语句特征)。假设输入的提示文本仅包含一个提示语句,该提示语句的字符序列表示为[x1,x2,x3,x4],将[x1,x2,x3,x4]输入到句子编码器401中,输出提示语句的句子向量z,句子向量z也即提示语句的语句特征,能够表征提示语句整句话的语义。
在上述过程中,句子编码器401将语句作为语义单元,在语句级别而不是字符级别进行语言建模,从而能够将提示语句转换成语句特征来表示整个句子的语义信息。语句特征的质量直接影响到句子向量规划器402的性能,考虑到BERT模型理解能力强并广泛应用于各个自然语言理解任务中,因此句子编码器401可以采用BERT模型以获取各个提示语句的语句特征。
其中,BERT模型可以视为包含了12层自注意力结构的编码器。可选地,可以先加载BERT的模型权重,并固定不变。然后,将每个提示语句的字符序列输入到BERT模型中,并取BERT模型中第11层的输出表示,作为提示语句中每个字符的语义表示(即每个字符的语义特征)。最后,对第11层输出的各个字符的语义特征执行均值池化操作,得到整个提示语句的语句特征。可选地,这一句子编码器401不需要训练,而是可以直接使用BERT原始的模型权重,以节约服务器的计算资源。
句子向量规划器402的作用是从左到右逐个生成句子向量序列(即按照顺序生成至少一个目标语句特征),假设将句子编码器401输出的句子向量z作为t=1时刻的输入向量z1,在将z1输入到句子向量规划器402之后,能够按照时刻从小到大的顺序,逐个输出下文的句子向量序列[z2,z3,z4,z5],这一句子向量序列也即是至少一个目标语句特征所构成的目标语句特征序列。
句子向量规划器402即语句规划模型的训练过程将在下个实施例中进行详述,这里不做赘述。简言之,句子向量规划器402使用预先通过句子编码器401处理得到的句子向量序列(即语句特征序列)进行训练。训练完成后,给定第一个提示语句的句子向量(即语义特征),即可从左到右预测出后续的句子向量序列(即目标语句特征所构成的目标语句特征序列)。
向量引导的解码器403的作用是将目标语句特征解码为目标语句,从而能够将各个目标语句拼接得到最终的目标文本,例如,z代表句子向量规划器402输出的句子向量序列[z2,z3,z4,z5]中的任一个句子向量,那么将句子向量z(即任一目标语句特征)输入到向量引导的解码器403中,输出的是句子向量z所对应的目标语句的字符序列[y1,y2,y3,y4]。
句子向量规划器402生成了一个句子向量序列,向量引导的解码器403负责将该句子向量序列解码成对应的各个目标语句,拼接各个目标语句即可得到最终的目标文本。考虑到GPT2模型的生成能力强并广泛应用于各个自然语言生成任务中,因此向量引导的解码器403可以采用GPT2模型以解码生成目标文本。
在上述过程中,可以使用句子向量(即任一目标语句特征)作为向量引导的解码器403的第一个输入信号,然后依次从左到右生成目标语句中的各个字符。可选地,向量引导的解码器403使用预先处理好的<句子向量,句子文本>对作为训练数据,也即一个目标语句和一个目标语句特征构成一个训练样本对,并采用GPT2模型自身的损失函数进行训练。训练完成后,即可得到向量引导的解码器403,从而能够将句子向量规划器402预测的句子向量(即目标语句特征)转换为句子文本(即目标语句)。
在本申请实施例中,能够通过句子编码器401以语句为单位提取语句特征,并通过句子向量规划器402预测后续的各个目标语句特征,并通过向量引导的解码器403解码出各个目标语句,拼接得到目标文本,在长文本生成任务中,能够保持语句间的一致性,并在句子全局语义(即目标语句特征)指导下生成目标语句中的每个字符,有效地提升了长文本生成的质量。
图5是本申请实施例提供的一种语句规划模型的训练流程图,请参考图5,该实施例应用于计算机设备,下面以该计算机设备为服务器为例进行说明,该实施例包括下述步骤:
501、服务器获取样本文本和标注文本,该样本文本包含至少一个样本提示语句,该标注文本包含至少一个标注语句,该标注文本为该样本文本的下文。
在一些实施例中,服务器可以采集一些经过数据筛选得到具有较高训练价值的长文本,并将长文本的第一句话作为样本文本,该样本文本中仅包含一个提示语句,将长文本的剩余所有句子作为标注文本。长文本可以由预训练的机器学习模型进行自动筛选,也可以由技术人员进行人工筛选,本申请实施例不对此进行具体限定。
在一些实施例中,也可以由技术人员收集样本文本之后,人工撰写出样本文本的标注文本,本申请实施例不对样本文本和标注文本的获取方式进行具体限定。
502、服务器对包含至少一个样本提示语句的样本文本,获取该至少一个样本提示语句的融合特征。
上述步骤502与上述步骤302-304类似,这里不做赘述。
可选地,服务器基于包含至少一个样本提示语句的样本文本,获取该至少一个样本提示语句的语句特征;获取该至少一个样本提示语句的位置特征,该位置特征用于表征该样本提示语句在该样本文本中的语序信息;将该至少一个样本提示语句的语句特征和该至少一个样本提示语句的位置特征进行融合,得到该至少一个样本提示语句的融合特征。
503、服务器对包含至少一个样本提示语句的样本文本,将该至少一个样本提示语句的融合特征输入初始规划模型,输出至少一个预测语句特征。
上述步骤503与上述步骤305类似,这里不做赘述。
可选地,服务器将该至少一个样本提示语句的融合特征输入该初始规划模型中的至少一个解码层,通过该至少一个解码层对该至少一个样本提示语句的融合特征进行解码,由最后一个解码层输出该至少一个预测语句特征。
504、服务器基于该至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值,该标注文本为该样本文本的下文。
在一些实施例中,服务器基于该至少一个预测语句特征和该至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;基于该至少一个第一相似度,获取该损失函数值。
可选地,该相似度可以是余弦相似度,也可以是欧氏距离的倒数等,本申请实施例不对相似度的形式进行具体限定。
其中,代表损失函数值,m代表标注文本中所包含的标注语句的总数量,m为大于或等于1的整数,m的取值可由技术人员进行人工设定,由于训练时对每个提示文本,向后预测m个预测语句并与其对应的m个标注语句之间获取损失函数值,那么m也代表了当语句规划模型训练完毕后,针对任一提示文本,语句规划模型将会预测出下文中m个目标语句各自的目标语句特征。
在上述过程中,损失函数值中考虑到了预测语句特征与标注语句特征之间的相似度,能够充分反映出模型预测结果与真实标注结果之间的差距,且计算量较小,能够提升模型训练速度。
在一些实施例中,服务器基于该至少一个预测语句特征和该至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;基于该至少一个预测语句特征和至少一个负样本语句特征,获取至少一个第二相似度,一个第二相似度用于表征一个预测语句特征与对应的负样本语句特征之间的相似程度;基于该至少一个第一相似度和该至少一个第二相似度,获取该损失函数值。
其中,该第一相似度和第二相似度可以均为余弦相似度,也可以是欧氏距离的倒数等,本申请实施例不对第一相似度或第二相似度的形式进行具体限定。
在上述过程中,假设在t时刻下,也即第t个预测语句特征为对应的第t个标注语句特征为zt,假设随机采样得到了n个负样本语句特征,第i(1≤i≤n)个负样本语句特征表示为zi,那么该损失函数值的表达式可以如下:
其中,代表损失函数值,m代表标注文本中所包含的标注语句的总数量,m为大于或等于1的整数,m的取值可由技术人员进行人工设定,由于训练时对每个提示文本,向后预测m个预测语句并与其对应的m个标注语句之间获取损失函数值,那么m也代表了当语句规划模型训练完毕后,针对任一提示文本,语句规划模型将会预测出下文中m个目标语句各自的目标语句特征。此外,n代表随机采样得到的负样本语句特征的数量,也即随机采样n个负样本各自的n个负样本语句特征。
在一些实施例中,在随机采样n个负样本时,可以在训练集中除了标注文本之外的所有训练样本中进行随机采样,因此正确的下文只有标注文本自身,因此训练集中的其他所有训练样本均可以视为负样本,这样能够构建一种基于对比学习的损失函数的计算方式。
在上述过程中,损失函数值中考虑到了预测语句特征与标注语句特征之间的第一相似度,第一相似度能够充分反映出模型预测结果与真实标注结果之间的差距,此外,还考虑到了预测语句特征与其他负样本语句特征之间的第二相似度,第二相似度能够充分反映出模型预测结果与其他负样本之间的差距,优化目标则是第一相似度越大且第二相似度越小,能够提高模型的训练性能。
505、服务器迭代调整该初始规划模型的参数,直到损失函数值符合停止条件,得到语句规划模型。
可选地,该停止条件可以是损失函数值小于损失阈值,该损失阈值可以是任一大于或等于0且小于或等于1的数值,或者,该停止条件还可以是迭代次数大于次数阈值,该次数阈值可以是任一大于或等于1的整数。
上述过程中,服务器迭代执行上述步骤501-504,直到损失函数值符合停止条件时,停止训练,将最后一次迭代过程中使用的初始规划模型确定为最终的语句规划模型。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
在本申请实施例中,通过对初始规划模型进行迭代训练,并在损失函数中引入预测语句特征与标注语句特征之间的相似度,从而能够充分反映出模型预测结果与真实标注结果之间的差距,此外,还引入预测语句特征与其他负样本语句特征之间的相似度,从而能够充分反映出模型预测结果与其他负样本之间的差距,使得最终训练得的语句规划模型,能够以语句为单位,给定一个提示语句的语句特征基础上,可以从左到右的预测出各个目标语句特征,作为后续解码目标语句时的全局语义指导,投入到长文本生成任务中,以提高文本生成过程的准确度。
图6是本申请实施例提供的一种文本生成装置的结构示意图,请参考图6,该装置包括:
第一获取模块601,用于基于包含至少一个提示语句的提示文本,获取该至少一个提示语句的语句特征,该语句特征用于表征该提示语句的语义;
预测模块602,用于基于该至少一个提示语句的语句特征,预测得到至少一个目标语句特征,该目标语句特征用于表征目标语句的语义,该目标语句为该提示语句的下文;
解码模块603,用于基于该至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,该目标文本与该提示文本具有语义对应关系。
本申请实施例提供的装置,通过对提示文本按照提示语句为单位提取出语句特征,能够预测出下文中各个目标语句的目标语句特征,这些目标语句特征作为解码过程的语义指导信息,能够以语句为单位解码出各个目标语句,从而得到目标文本,相当于在生成目标文本的过程中,依赖于各个目标语句特征的引导,导致即使某个目标语句中的字符发生了语义偏离,这一语义偏离现象会被下一个目标语句特征纠正,从而并不会在整个目标文本中传递,大大提高了文本生成过程的准确度。
在一种可能实施方式中,基于图6的装置组成,该第一获取模块601包括:
第一获取单元,用于对该至少一个提示语句中的任一提示语句,获取该任一提示语句中至少一个字符的嵌入特征;
编码单元,用于对该至少一个字符的嵌入特征进行编码,得到该至少一个字符的语义特征;
第一融合单元,用于对该至少一个字符的语义特征进行融合,得到该任一提示语句的语句特征。
在一种可能实施方式中,该第一获取单元用于:将该任一提示语句中的该至少一个字符输入至语句编码模型中的语句嵌入层,通过该语句嵌入层对该至少一个字符进行嵌入处理,输出该至少一个字符的嵌入特征,该语句编码模型用于对输入语句编码以提取语句特征;
该编码单元用于:将该至少一个字符的嵌入特征输入至该语句编码模型中的至少一个编码层,通过该至少一个编码层对该至少一个字符的嵌入特征进行加权处理,输出该至少一个字符的语义特征;
该第一融合单元用于:对该至少一个字符的语义特征进行均值池化,得到该任一提示语句的语句特征。
在一种可能实施方式中,基于图6的装置组成,该预测模块602包括:
第二获取单元,用于获取该至少一个提示语句的位置特征,该位置特征用于表征该提示语句在该提示文本中的语序信息;
第二融合单元,用于将该至少一个提示语句的语句特征和该至少一个提示语句的位置特征进行融合,得到该至少一个提示语句的融合特征;
解码单元,用于对该至少一个提示语句的融合特征进行解码,得到该至少一个目标语句特征。
在一种可能实施方式中,该解码单元用于:
将该至少一个提示语句的融合特征输入语句规划模型中的至少一个解码层,通过该至少一个解码层对该至少一个提示语句的融合特征进行解码,由最后一个解码层输出该至少一个目标语句特征,该语句规划模型用于基于提示语句的融合特征预测下文语句的目标语句特征。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
输入输出模块,用于对包含至少一个样本提示语句的样本文本,将该至少一个样本提示语句的融合特征输入初始规划模型,输出至少一个预测语句特征;
第二获取模块,用于基于该至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值,该标注文本为该样本文本的下文;
迭代调整模块,用于迭代调整该初始规划模型的参数,直到损失函数值符合停止条件,得到该语句规划模型。
在一种可能实施方式中,该第二获取模块用于:
基于该至少一个预测语句特征和该至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于该至少一个第一相似度,获取该损失函数值。
在一种可能实施方式中,该第二获取模块用于:
基于该至少一个预测语句特征和该至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于该至少一个预测语句特征和至少一个负样本语句特征,获取至少一个第二相似度,一个第二相似度用于表征一个预测语句特征与对应的负样本语句特征之间的相似程度;
基于该至少一个第一相似度和该至少一个第二相似度,获取该损失函数值。
在一种可能实施方式中,该解码模块603用于:
对该至少一个目标语句特征中的任一目标语句特征,对该任一目标语句特征进行解码,得到该任一目标语句特征对应的目标语句,重复执行上述操作,得到包含该至少一个目标语句的该目标文本。
在一种可能实施方式中,该解码模块603用于:
将该任一目标语句特征输入至语句解码模型中的至少一个解码层,通过该至少一个解码层对该任一目标语句特征进行解码,输出至少一个目标字符,将该至少一个目标字符确定为该任一目标语句特征对应的目标语句,该语句解码模型用于对输入语句特征解码以转换成对应语句中各个字符。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的文本生成装置在生成文本时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文本生成装置与文本生成方法实施例属于同一构思,其具体实现过程详见文本生成方法实施例,这里不再赘述。
图7是本申请实施例提供的一种计算机设备的结构示意图。请参考图7,以计算机设备为终端700为例进行说明,此时终端700在本地即加载有语句编码模型、语句规划模型、语句解码模型等,以在本地完成本申请实施例所提供的文本生成方法,而无需与服务器之间额外花费通信开销。
可选地,该终端700的设备类型包括:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
可选地,处理器701包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器701采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器701包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(CentralProcessing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器702包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器702还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器701所执行以实现本申请中各个实施例提供的文本生成方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路704通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器701进行处理。可选地,显示屏705还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705为一个,设置终端700的前面板;在另一些实施例中,显示屏705为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,可选地,显示屏705设置成非矩形的不规则图形,也即异形屏。可选地,显示屏705采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路707包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端700的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。可选地,定位组件708是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。可选地,电源709是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
在一些实施例中,加速度传感器711检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711用于检测重力加速度在三个坐标轴上的分量。可选地,处理器701根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器712检测终端700的机体方向及转动角度,陀螺仪传感器712与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器713设置在终端700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端700的侧边框时,能够检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。可选地,指纹传感器714被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714能够与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图7中示出的结构并不构成对终端700的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图8是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备800可因配置或性能不同而产生比较大的差异,该计算机设备800包括一个或一个以上处理器(Central Processing Units,CPU)801和一个或一个以上的存储器802,其中,该存储器802中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器801加载并执行以实现上述各个实施例提供的文本生成方法。可选地,该计算机设备800还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备800还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的文本生成方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得计算机设备能够执行以完成上述实施例中的文本生成方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种文本生成方法,其特征在于,所述方法包括:
基于包含至少一个提示语句的提示文本,获取所述至少一个提示语句的语句特征,所述语句特征用于表征所述提示语句的语义;
基于所述至少一个提示语句的语句特征,预测得到至少一个目标语句特征,所述目标语句特征用于表征目标语句的语义,所述目标语句为所述提示语句的下文;
基于所述至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,所述目标文本与所述提示文本具有语义对应关系。
2.根据权利要求1所述的方法,其特征在于,所述基于包含至少一个提示语句的提示文本,获取所述至少一个提示语句的语句特征包括:
对所述至少一个提示语句中的任一提示语句,获取所述任一提示语句中至少一个字符的嵌入特征;
对所述至少一个字符的嵌入特征进行编码,得到所述至少一个字符的语义特征;
对所述至少一个字符的语义特征进行融合,得到所述任一提示语句的语句特征。
3.根据权利要求2所述的方法,其特征在于,所述获取所述任一提示语句中至少一个字符的嵌入特征包括:将所述任一提示语句中的所述至少一个字符输入至语句编码模型中的语句嵌入层,通过所述语句嵌入层对所述至少一个字符进行嵌入处理,输出所述至少一个字符的嵌入特征,所述语句编码模型用于对输入语句编码以提取语句特征;
所述对所述至少一个字符的嵌入特征进行编码,得到所述至少一个字符的语义特征包括:将所述至少一个字符的嵌入特征输入至所述语句编码模型中的至少一个编码层,通过所述至少一个编码层对所述至少一个字符的嵌入特征进行加权处理,输出所述至少一个字符的语义特征;
所述对所述至少一个字符的语义特征进行融合,得到所述任一提示语句的语句特征包括:对所述至少一个字符的语义特征进行均值池化,得到所述任一提示语句的语句特征。
4.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个提示语句的语句特征,预测得到至少一个目标语句特征包括:
获取所述至少一个提示语句的位置特征,所述位置特征用于表征所述提示语句在所述提示文本中的语序信息;
将所述至少一个提示语句的语句特征和所述至少一个提示语句的位置特征进行融合,得到所述至少一个提示语句的融合特征;
对所述至少一个提示语句的融合特征进行解码,得到所述至少一个目标语句特征。
5.根据权利要求4所述的方法,其特征在于,所述对所述至少一个提示语句的融合特征进行解码,得到所述至少一个目标语句特征包括:
将所述至少一个提示语句的融合特征输入语句规划模型中的至少一个解码层,通过所述至少一个解码层对所述至少一个提示语句的融合特征进行解码,由最后一个解码层输出所述至少一个目标语句特征,所述语句规划模型用于基于提示语句的融合特征预测下文语句的目标语句特征。
6.根据权利要求5所述的方法,其特征在于,所述语句规划模型的训练过程包括:
对包含至少一个样本提示语句的样本文本,将所述至少一个样本提示语句的融合特征输入初始规划模型,输出至少一个预测语句特征;
基于所述至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值,所述标注文本为所述样本文本的下文;
迭代调整所述初始规划模型的参数,直到损失函数值符合停止条件,得到所述语句规划模型。
7.根据权利要求6所述的方法,其特征在于,所述基于所述至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值包括:
基于所述至少一个预测语句特征和所述至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于所述至少一个第一相似度,获取所述损失函数值。
8.根据权利要求6所述的方法,其特征在于,所述基于所述至少一个预测语句特征和标注文本的至少一个标注语句特征,获取损失函数值包括:
基于所述至少一个预测语句特征和所述至少一个标注语句特征,获取至少一个第一相似度,一个第一相似度用于表征一个预测语句特征与对应的标注语句特征之间的相似程度;
基于所述至少一个预测语句特征和至少一个负样本语句特征,获取至少一个第二相似度,一个第二相似度用于表征一个预测语句特征与对应的负样本语句特征之间的相似程度;
基于所述至少一个第一相似度和所述至少一个第二相似度,获取所述损失函数值。
9.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本包括:
对所述至少一个目标语句特征中的任一目标语句特征,对所述任一目标语句特征进行解码,得到所述任一目标语句特征对应的目标语句,重复执行上述操作,得到包含所述至少一个目标语句的所述目标文本。
10.根据权利要求9所述的方法,其特征在于,所述对所述任一目标语句特征进行解码,得到所述任一目标语句特征对应的目标语句包括:
将所述任一目标语句特征输入至语句解码模型中的至少一个解码层,通过所述至少一个解码层对所述任一目标语句特征进行解码,输出至少一个目标字符,将所述至少一个目标字符确定为所述任一目标语句特征对应的目标语句,所述语句解码模型用于对输入语句特征解码以转换成对应语句中各个字符。
11.一种文本生成装置,其特征在于,所述装置包括:
第一获取模块,用于基于包含至少一个提示语句的提示文本,获取所述至少一个提示语句的语句特征,所述语句特征用于表征所述提示语句的语义;
预测模块,用于基于所述至少一个提示语句的语句特征,预测得到至少一个目标语句特征,所述目标语句特征用于表征目标语句的语义,所述目标语句为所述提示语句的下文;
解码模块,用于基于所述至少一个目标语句特征,解码得到包含至少一个目标语句的目标文本,所述目标文本与所述提示文本具有语义对应关系。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块包括:
第一获取单元,用于对所述至少一个提示语句中的任一提示语句,获取所述任一提示语句中至少一个字符的嵌入特征;
编码单元,用于对所述至少一个字符的嵌入特征进行编码,得到所述至少一个字符的语义特征;
第一融合单元,用于对所述至少一个字符的语义特征进行融合,得到所述任一提示语句的语句特征。
13.根据权利要求12所述的装置,其特征在于,所述第一获取单元用于:将所述任一提示语句中的所述至少一个字符输入至语句编码模型中的语句嵌入层,通过所述语句嵌入层对所述至少一个字符进行嵌入处理,输出所述至少一个字符的嵌入特征,所述语句编码模型用于对输入语句编码以提取语句特征;
所述编码单元用于:将所述至少一个字符的嵌入特征输入至所述语句编码模型中的至少一个编码层,通过所述至少一个编码层对所述至少一个字符的嵌入特征进行加权处理,输出所述至少一个字符的语义特征;
所述第一融合单元用于:对所述至少一个字符的语义特征进行均值池化,得到所述任一提示语句的语句特征。
14.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求10任一项所述的文本生成方法。
15.一种存储介质,其特征在于,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求10任一项所述的文本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783697.4A CN113822076A (zh) | 2021-07-12 | 2021-07-12 | 文本生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783697.4A CN113822076A (zh) | 2021-07-12 | 2021-07-12 | 文本生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113822076A true CN113822076A (zh) | 2021-12-21 |
Family
ID=78912619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110783697.4A Pending CN113822076A (zh) | 2021-07-12 | 2021-07-12 | 文本生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822076A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115879450A (zh) * | 2023-01-06 | 2023-03-31 | 广东爱因智能科技有限公司 | 一种逐步文本生成方法、系统、计算机设备及存储介质 |
CN116629211A (zh) * | 2023-02-25 | 2023-08-22 | 浙江研几网络科技股份有限公司 | 基于人工智能的写作方法及系统 |
CN117095416A (zh) * | 2023-07-19 | 2023-11-21 | 人民网股份有限公司 | 文本来源识别方法、装置、计算设备及存储介质 |
-
2021
- 2021-07-12 CN CN202110783697.4A patent/CN113822076A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115879450A (zh) * | 2023-01-06 | 2023-03-31 | 广东爱因智能科技有限公司 | 一种逐步文本生成方法、系统、计算机设备及存储介质 |
CN115879450B (zh) * | 2023-01-06 | 2023-09-01 | 广东爱因智能科技有限公司 | 一种逐步文本生成方法、系统、计算机设备及存储介质 |
CN116629211A (zh) * | 2023-02-25 | 2023-08-22 | 浙江研几网络科技股份有限公司 | 基于人工智能的写作方法及系统 |
CN116629211B (zh) * | 2023-02-25 | 2023-10-27 | 浙江研几网络科技股份有限公司 | 基于人工智能的写作方法及系统 |
CN117095416A (zh) * | 2023-07-19 | 2023-11-21 | 人民网股份有限公司 | 文本来源识别方法、装置、计算设备及存储介质 |
CN117095416B (zh) * | 2023-07-19 | 2024-03-29 | 人民网股份有限公司 | 文本来源识别方法、装置、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021135577A1 (zh) | 音频信号处理方法、装置、电子设备及存储介质 | |
CN112069309B (zh) | 信息获取方法、装置、计算机设备及存储介质 | |
US20220172737A1 (en) | Speech signal processing method and speech separation method | |
CN112347795A (zh) | 机器翻译质量评估方法、装置、设备及介质 | |
CN113822076A (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
CN110209784B (zh) | 消息交互方法、计算机设备及存储介质 | |
CN110164421B (zh) | 语音解码方法、装置及存储介质 | |
CN113421547B (zh) | 一种语音处理方法及相关设备 | |
CN110147533B (zh) | 编码方法、装置、设备及存储介质 | |
JP7431977B2 (ja) | 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム | |
JP7324838B2 (ja) | 符号化方法並びにその、装置、機器及びコンピュータプログラム | |
CN113761888A (zh) | 文本翻译方法、装置、计算机设备及存储介质 | |
CN113254684B (zh) | 一种内容时效的确定方法、相关装置、设备以及存储介质 | |
CN111368525A (zh) | 信息搜索方法、装置、设备及存储介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN114882862A (zh) | 一种语音处理方法及相关设备 | |
CN110555102A (zh) | 媒体标题识别方法、装置及存储介质 | |
CN112749550B (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN111414737B (zh) | 故事生成模型训练方法、装置、设备及存储介质 | |
CN110990549A (zh) | 获取答案的方法、装置、电子设备及存储介质 | |
CN115116437B (zh) | 语音识别方法、装置、计算机设备、存储介质及产品 | |
CN113486260B (zh) | 互动信息的生成方法、装置、计算机设备及存储介质 | |
CN112988984B (zh) | 特征获取方法、装置、计算机设备及存储介质 | |
CN114153953A (zh) | 对话回复的生成方法、装置、设备及存储介质 | |
CN113948060A (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 |