掌桥专利:专业的专利平台
掌桥专利
首页

基于提示学习的问题可控生成方法、系统与计算机可读介质

文献发布时间:2023-06-19 19:30:30


基于提示学习的问题可控生成方法、系统与计算机可读介质

技术领域

本发明涉及自然语言处理(Nature Language Processing,NPL)技术领域,具体而言涉及一种基于提示学习的问题可控生成方法、系统与计算机可读介质。

背景技术

随着深度学习和自然语言处理的迅速发展,机器问答已经成为了重要的研究方向,并在学术界和工业界备受关注。而机器问答在工业界上的应用一般采用FAQ匹配的方式,即针对某一领域,事先人工构造整理出问题-答案(FAQ)知识库,当用户进行提问时,采用语义匹配及语义相似度的方法,将用户问题与FAQ知识库中的所有问题进行知识匹配,找到最相似的问题,最后返回对应的问题-答案对。

由于在真实场景下,用户问题通常是多样性的表达,为了提高问答匹配的准确率,往往会对问题-答案对中的标准问题进行扩展,人工添加一些相似问题。但是人工成本较高,并且人时常会陷入固定思维,因此,如果存在一种相似问题自动生成的方法,不仅可以减少人工成本,还可以丰富FAQ知识库,从而达到提高问答系统效果。

相似问自动生成技术,即通过给定的标准问题,通过人工智能技术,生成对应的相似问题。目前常用的相似问题自动生成技术主要包括:基于同义词替换方法、基于历史数据聚类方法和基于Seq2Seq生成方法。

基于同义词替换方法,一般通过实体识别技术,找到问题中的实体词汇,例如人名、地名、机构名、时间、地点等关键词汇,然后通过同义词替换以及句法分析技术,修改标准问题的词语与语序结构;但是,该方法由于需要人工维护大量的同义词典,也是非常耗时的;并且句法分析虽然可以改变问句结构,但会导致生成的相似问题出现歧异或不通顺的现象。

基于历史数据聚类方法,一般在系统上线后,通过累积用户点击数据,然后采用聚类技术,获取与标准问题相似的问题簇,再经过人工过滤,最终进行相似问题扩充;但是该方法需要先将问答系上线,并累积大量历史数据,无法用于问题系统前期使用。

基于Seq2Seq生成方法,一般是指通过端到端的模型,接收标准问题,直接生成相似问题;但是由于生成模型具有不可控性,往往会生成一些与标准问题的表述意图不一致,或表述主题不一致的情况,这是不被期望的。例如:标准问题为“南京大学成立于?”,可能生成相似问题1为“南京成立于哪一年?”,该相似问题则是表述主题不一致;可能生成相似问题2为“南京大学建立在?”,该相似问题则是表述意图不一致;可能生成相似问题3为“南京大学创办于?”,该相似问题则是一个表达意图和表达主题均一致的相似问题。

发明内容

针对现有技术存在的问题,本发明目的在于提供一种基于提示学习的问题可控生成方法,通过识别标注问题意图以及抽取中心词汇,构建提示模板作为生成内容的前缀,生成意图及中心可控的相似问题,并在模型训练过程中,采用联合学习的方法,动态结合问题意图分类、中心词汇抽取和内容生成的三部分损失,提高最终模型效果。

根据本发明目的的第一方面,提出一种基于提示学习的问题可控生成方法,包括以下步骤:

步骤101:获取一个标准问题Q,所述标准问题Q包括中心内容信息以及明确的问题类别;

步骤102:对获取的标准问题Q进行特征转换,获取对应的特征id,包括input_id和position_id,分别表示字特征id以及字位置特征id;

步骤103:将特征id输入到基于Transformer结构的模型M的编码器中,获取模型的编码特征En,编码特征En表示标准问题Q的特征id经过嵌入表征获取的向量表征,经过编码器编码输出的向量表征;

步骤104:将步骤103获取的编码特征En输入至一个全连接层,并通过softmax激活函数获取对应的问题类别信息Y;

步骤105:将步骤103获取的编码特征En输入至一个CRF层,并通过维特比解码获取标准问题Q的每个字的标签状态X;

步骤106:根据步骤104获得的类别信息Y,以及步骤105获得的每个字的标签状态X,构造提示模板;

步骤107:将步骤103获取的编码特征En以及步骤106所构造提示模板输入所述模型M的解码器中,所述解码器为一个标准Transformer模型的Decoder结构,以所述步骤106构造的提示模板作为解码器起始内容的前缀内容,并将其输出结果经过一个全连接层,通过softmax激活函数,进行逐字生成;

步骤108:预测生成的标签为结束符号时,停止生成,获取最终的相似问题Q′。

由此,本发明提出的基于提示学习的问题可控生成方法,通过识别标注问题意图以及抽取中心词汇,构建提示模板作为生成内容的前缀,生成意图及中心可控的相似问题;并且在模型M训练时,采用联合学习方法,将三者进行动态加权,获取最终损失,进行训练,同时提高意图识别、中心词抽取、问题生成的准确率,提高生成相似问题的准确率,提高表达意图和表达主题的一致性。

根据本发明目的的第二方面,还提出一种计算机系统,包括:

一个或多个处理器;

存储器,存储可被操作的指令,指令在被一个或多个处理器执行时,实现前述的基于提示学习的问题可控生成方法的过程。

根据本发明目的的第三方面,还提出一种存储计算机程序的计算机可读取介质,所述计算机程序包括能被一个或多个计算机执行的指令,所述指令在被所述一个或多个计算机执行时,实现前述的基于提示学习的问题可控生成方法的过程。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1是根据本发明示例性实施例的基于提示学习的问题可控生成方法的流程示意图。

图2是根据本发明示例性实施例的基于Transformer的模型M的模型结构示意图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

结合图1所示的示例性实施例的基于提示学习的问题可控生成方法的过程,其包括以下步骤:

步骤101:获取一个标准问题Q,所述标准问题Q包括中心内容信息以及明确的问题类别;

步骤102:对获取的标准问题Q进行特征转换,获取对应的特征id,包括input_id和position_id,分别表示字特征id以及字位置特征id;

步骤103:将特征id输入到基于Transformer结构的模型M的编码器中,获取模型的编码特征En,编码特征En表示标准问题Q的特征id经过嵌入表征获取的向量表征,经过编码器编码输出的向量表征;

步骤104:将步骤103获取的编码特征En输入至一个全连接层,并通过softmax激活函数获取对应的问题类别信息Y;

步骤105:将步骤103获取的编码特征En输入至一个CRF层,并通过维特比解码获取标准问题Q的每个字的标签状态X;

步骤106:根据步骤104获得的类别信息Y,以及步骤105获得的每个字的标签状态X,构造提示模板;

步骤107:将步骤103获取的编码特征En以及步骤106所构造提示模板输入所述模型M的解码器中,所述解码器为一个标准Transformer模型的Decoder结构,以所述步骤106构造的提示模板作为解码器起始内容的前缀内容,并将其输出结果经过一个全连接层,通过softmax激活函数,进行逐字生成;

步骤108:预测生成的标签为结束符号时,停止生成,获取最终的相似问题Q′。

其中,在步骤102中的特征转换,其中的input_id为一个序列,序列中每个元素为文本中每一个字对应字典的id序号;其中的position_id为一个序列,序列中的元素从0开始,往后依次增一,表示文本中每一个字在文本中的位置。

结合图2所示,前述的基于Transformer结构的模型M,其编码器包括6层的Transformer-Encode结构,对输入特征id的编码过程包括:

首先,将特征id进行嵌入表征,获取文本的向量表征E:

E=E

其中,E

然后,将获取的文本的向量表征E,输入到标准Transformer模型的Encoder进行编码:

E

其中,TransformerEncoder为标准Transformer模型Encoder编码器,En为向量表征E经过编码器编码的向量表征。

结合图2所示,在步骤104中,所述编码特征En输入至一个全连接层,并通过softmax激活函数获取对应的问题类别信息Y,包括:

基于下述过程获得问题类别信息Y:

p

Y=argmax(p

其中,p

作为可选的实施例,其中的问题类别信息Y包含8种类别,分别为:方法类、原因类、人物类、地点类、时间类、是非类、定义类和内容类。

结合图2所示,前述的步骤105中,所述编码特征En输入至一个CRF层,并通过维特比解码获取标准问题Q的每个字的标签状态X,包括:

基于以下过程预测预测每个字的标签状态概率s(Q,x):

其中,A表示转移矩阵,

在训练时,计算其损失值:

其中,s(Q,x)为预测每个字的标签状态概率,Label

作为可选的实施方式,前述的标签状态X包括5种状态类型标签,分别为:B-中心内容起始标识、I-中心内容中间标识、E-中心内容结束标识、O-非中心内容标识以及S-中心内容单字标识。

作为可选的实施例,在步骤106中,根据类别信息Y以及每个字的标签状态X,构造提示模板,包括:

至少抽取所述标签状态X中的一段文本作为中心内容信息,当文本段落数超过2时,仅取前两个内容为中心内容信息。

在步骤107中,基于以下过程进行逐字生成:

E

p

G=argmax(p

其中,TransformerDecoder为标准Transformer模型Decoder解码器,E

作为可选的实施方式,结合图2,本发明采用的基于Transformer结构的模型M,其包括编码器Encoder和解码器Decoder。模型M可通过预先训练获得。

例如,获取标准问题的数据集,构建出训练样本集,其中的每个标准问题均包含明确的中心内容信息以及明确的问题类别信息;然后在训练样本集的基础上进行模型训练,并基于交叉熵损失作为模型训练收敛结束的条件,获得模型M。

作为可选的示例,训练样本集可被按照预定的数据量进行划分,例如按照8:2的比例分成训练集与测试集。

在训练集的基础上,对每一个标准问题均按照前述步骤102的方式进行特征转换,获得对应的特征id。

然后,按照步骤104的处理,将特征id输入到基于Transformer结构的模型M的编码器中,获取模型的编码特征En,编码特征En表示标准问题Q的特征id经过嵌入表征获取的向量表征,经过编码器编码输出的向量表征。

如前述的实施例,编码器具有6层Transformer-Encode结构,通过前述对输入特征id的编码过程,输出向量表征。

在此基础上,通过步骤104的的全连接层进行类别输出。应当理解,模型M在初始化时,其模型参数随机选取,通过模型的训练,获得理想的模型参数。

在模型训练过程中,例如在步骤104中,通过交叉熵损失函数,计算其损失值:

其中,Label

通过交叉熵损失函数计算,不断优化全连接层权重以及偏置参数。

作为可选的实施方式,通过如前述的步骤106的处理方式,对训练集的样本进行相应操作,即将获取的编码特征En输入至一个CRF层,并通过维特比解码获取标准问题Q的每个字的标签状态X。

应当理解,在训练过程中,随机初始化转移矩阵的分数,并通过训练过程中交叉熵损失函数计算,实现模型参数的优化。

作为可选的实施方式,在训练时,计算其损失值,如下:

其中,s(Q,x)为预测每个字的标签状态概率,Label

作为可选的实施方式,对样本集中的样本按照前述步骤106的该方式构造提示模板。

接下来,按照前述步骤107的方式,将根据样本集获得的编码特征En以及所构造提示模板输入模型M的解码器中。结合图2,解码器为一个标准Transformer模型的Decoder结构,依然以所构造的提示模板作为解码器起始内容的前缀内容,并将其输出结果经过一个全连接层,通过softmax激活函数,进行逐字生成。

依然,在训练过程中,随机初始化模型参数,通过模型的训练,获得理想的模型参数。

在训练时,通过交叉熵损失函数,计算其损失值,如下:

其中,Label

在本发明的实施例的模型M的训练过程中,采用联合训练的方法,将Loss

其中,最终损失Loss表达为:

Loss=w

其中,w

下面,我们结合具体实施例,更加具体的描述上述实施例的实现过程。

步骤101:获取一个标准问题Q,例如:“去南京长江大桥的交通方式有哪些?”。

步骤102:对101步骤中获取的标准问题Q进行特征转换,获取对应的input_id和position_id。

其中,input_id为一个序列,每个元素为文本中每一个字对应字典的id序号;position_id为一个序列,元素从0开始,往后一次增一,表示文本中每一个字在文本中的位置。

步骤103:将102步骤中获得的特征输入到模型M的编码器中,获取模型的编码特征En。

结合图2所示的模型结构,其中,模型M的编码器为6层的Transformer-Encode结构,如下:

将特征id进行嵌入表征,获取文本的向量表征:

E=E

其中,E

将获取的文本的向量表征E,输入到标准Transformer模型的Encoder:

E

其中,TransformerEncoder为标准Transformer模型Encoder编码器,En为向量表征E经过编码器编码的向量表征。

步骤104:将103步骤获取编码特征En,输入到一个全连接层,并通过softmax激活函数获取问题类别信息Y。

p

Y=argmax(p

其中,p

在本实施例中,问题类别信息Y包含8种类别,分别为:方法类、原因类、人物类、地点类、时间类、是非类、定义类和内容类,每种类别的含义如下表所示:

步骤105:将103步骤获取编码特征E

其中,A是转移矩阵,

步骤106:根据步骤104和105获得的类别信息Y与状态标签X,构造提示模板。

其中,状态标签X的内容中的至少抽取一段文本,被作为中心内容信息,当文本段落数超过2时,仅取前两个内容为中心内容信息。

例如,构造的提示模板如下:

模板1:“生成一个以X为中心的Y类问题”;

模板2:“生成一个以X1和X2为中心的Y类问题”。

步骤107:将103步骤中编码特征E

结合图2所示,解码器为一个标准Transformer模型Decoder结构,提示模板作为解码器起始内容的前缀内容,并将其输出结果经过一个全连接层,通过softmax激活函数,进行逐字生成,具体如下:

E

p

G=argmax(p

其中,TransformerDecoder为标准Transformer模型Decoder解码器,E

步骤108,预测生成的标签为结束符号““时,停止生成,获取最终的相似问题Q′。

作为可选的实施例,前述的模型M通过预先训练获得。

结合以上基于提示学习的问题可控生成方法的实现过程,根据本发明另一方面的实施例,提出一种计算机系统,包括:一个或多个处理器;以及存储器。

前述的存储器被设置层存储可被操作的指令,这些指令在被一个或多个处理器执行时,实现前述实施例的基于提示学习的问题可控生成方法的过程。

结合以上基于提示学习的问题可控生成方法的实现过程,根据本发明另一方面的实施例,还提出一种存储计算机程序的计算机可读取介质,前述的计算机程序包括能被一个或多个计算机执行的指令,这些指令在被一个或多个计算机执行时,可实现前述实施例的基于提示学习的问题可控生成方法的过程。

应当理解,在现有技术的相似问题生成方法中,例如基于同义词替换方法,其需要维护大量的同义词,并且句法分析虽然可以改变问句结构,但会导致生成的相似问题出现歧义或不通顺的现象。而基于历史数据聚类方法,需要先将问答系上线,并累积大量历史数据,无法用于问题系统的前期使用。基于Seq2Seq生成方法,由于生成模型具有不可控性,往往会生成一些与标准问题表述意图不一致或表述主题不一致的现象。

综合以上本发明的实施示例的方法,其显著的有益效果在于:

1、通过识别标注问题意图以及抽取中心词汇,构建提示模板作为生成内容的前缀,从而生成意图及中心可控的相似问题,解决生成中表述意图不一致或表述主题不一致的现象;

2、提示模板内容根据问题意图以及抽取中心词汇的不同,动态选择变化,增强提示模板与生成内容的关联性,从而提高最终模型效果;

3、在模型训练过程中,采用联合学习的方法,动态结合问题意图分类、中心词汇抽取和内容生成的三部分损失,从而提高最终模型效果。

由此,本发明提出的基于提示学习的问题可控生成方法,在实施过程中,可针对不同的具体技术领域,通过采用特定领域的标注数据进行定向训练,实现相似问题生成,解决传统方法中表达意图或者表达主题不一致的问题,提高生成问题的准确性。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

相关技术
  • 项目生成方法及系统、计算机系统和计算机可读存储介质
  • IMU测量数据生成方法、系统、计算机装置及可读存储介质
  • 智能风险提示方法、移动终端及计算机可读存储介质
  • 信息提示方法、电子装置及计算机可读存储介质
  • Linux服务器的提示方法、Linux服务器及计算机可读存储介质
  • 图像生成装置、图像生成方法、记录介质生成方法、学习模型生成装置、学习模型生成方法、学习模型、数据处理装置、数据处理方法、推断方法、电子装置、生成方法、程序和非暂时性计算机可读介质
  • 基于机器学习的涡轮叶片反问题设计方法、计算机可读存储介质和电子设备
技术分类

06120115936047