一种基于prompt的建筑实体识别并分类方法及系统与流程

文档序号:33647692发布日期:2023-03-29 05:26阅读:45来源:国知局
一种基于prompt的建筑实体识别并分类方法及系统与流程

1.本发明涉及建筑实体识别的技术领域,尤其涉及一种基于prompt的建筑实体识别并分类方法及系统。


背景技术:

2.建筑实体识别并分类方法旨在识别建筑领域文本中的建筑实体信息,将建筑领域中的实体识别并分成建筑、结构、给排水、暖通、电气五大类可以建立起实体库,提供一定的语义信息,这对于关系抽取并建立起关系间的节点图有十分重要且基础性的意义。同时,在搜集语料库的过程中,可以通过整合建立起建筑信息语料库,为后续任务提供基本数据库;其次可以在使用生成式网络自动生成建筑结构的设计中增加语义信息,可以使得生成式网络在学习的过程中可以加快学习图纸的速度,可以为生成式网络构建合理、高效、准确可批量化的结构、设备点位图提供有效地帮助,提高模型成图的精度。在建筑信息化方向上,可以通过丰富语料库和信息库增加模型的精度,并且可以在做碰撞检查、时间维度上有效控制工期等工作上提高工作效率。
3.当前实体识别广为使用的任务方式是序列标注任务,即使用bert(bidirectional encoder representation from transformer)预训练模型使得数据可以更好地向量化表示,随后再加上双向长短期记忆网络(long short-term memory)来学习语句中词语的相关时序信息,最后用传统的条件随机场(conditional random field)来根据语句前后信息确定当前词的标注。这种方式得到的精度很高,但是在建筑领域数据不足即小样本数据的情况下,训练阶段调整模型参数容易出现欠拟合,导致模型的精度在小样本数据集中偏低。基于以上原因,在识别建筑行业实体信息时,不再使用传统的序列标注任务,考虑在训练阶段增加提示信息,使其变为基于prompt的掩码语言任务。
4.基于prompt的掩码语言任务也就是在模型中增加模板提示词以此来增加语义信息。传统的实体识别任务使用的是自然语言处理的第三范式即“预训练-微调”范式,预训练阶段使用大量无标注数据对预训练模型进行训练,使预训练模型可以学习到一些语义特征,执行下游任务时,在预训练模型的基础之上进行微调,使模型更适合下游任务。但是由于该任务的数据较少,因此考虑在模型中添加语义提示信息,使下游任务改变为预训练模型在预训练阶段的任务,这也就是第四范式
‑‑‑
提示学习。
5.但是bert预训练模型由于只使用通用语言进行训练,bert预训练模型不熟悉建筑领域词语的语义特征,因此需要在此之上搜集合适的数据集先对bert模型进行合适的预训练,使得模型对建筑行业的专有名词有一定的认识。在此之上就可以在训练阶段减小模型的训练量。


技术实现要素:

6.针对现有实体识别方法应用到建筑领域的小样本数据集中精度较低的技术问题,本发明提出一种基于prompt的建筑实体识别并分类方法及系统,解决小样本数据集中国精
度较低的问题,通过增加prompt模板提示词信息,减少下游建筑领域实体识别任务对样本的依赖,用来更好的识别建筑实体,提高实体识别任务的精度。
7.为了达到上述目的,本发明的技术方案是这样实现的:一种基于prompt的建筑实体识别并分类方法,其步骤如下:
8.s1、收集建筑五大领域规范、通则以及公开数据集作为统一数据集并进行数据的预处理得到样本数据集,选择样本数据集中的一部分数据样本对其中的实体进行标注得到标注样本集;
9.s2、选择bert预训练模型,并从样本数据集中选择未标注的数据样本对bert预训练模型进行预训练得到已完成预训练的bert模型;
10.s3、根据bert模型设计初始提示模板,确定初始提示模板的形状并设置初始提示模板中的提示词以及预测词的信息;
11.s4、根据识别实体以及实体类别的任务设置预测词位置的目标预测空间,并根据目标预测空间设置答案空间;
12.s5、根据给定的跨度1-5从标注样本集中的样本数据中抽取词语;
13.s6、将抽取词语放入初始提示模板形成完整提示模板,并将完整提示模板向量化后放入bert模型,通过bert模型的掩码任务识别输入数据中的建筑领域实体并将实体分成建筑领域五大类别。
14.所述步骤s3中初始提示模板的形状为cloze prompt,即预测词出现在初始提示模板的提示词的中间,且预测词的个数是固定的;
15.所述初始提示模板为自动搜索模板,在初始状态下自动搜索模板的提示词为随机生成的,根据bert模型在训练过程中的误差反馈,不断更新提示模板,最终得到一个高精度的提示模板。
16.所述自动搜索模板包括提示词[unused]和预测词[mask]以及从输入数据x中提取的词语x

;所述自动搜索模板的格式和初始状态的设计方法为:确定模板中提示词[unused]的个数和位置,确定模板中预测词[mask]的个数以及位置,同时确定从输入数据x中提取的词语x

的位置,词语x

的位置记为[x]的位置,则自动搜索模板的初始格式为:
[0017]
x
prompt
=<unused>
loc
[x]<unused>
loc
[mask]
loc
<unused>
loc
[0018]
其中,<unused>
loc
表示提示词[unused]的位置,[mask]
loc
代表预测词[mask]的位置。
[0019]
所述步骤s4中目标预测空间的设置方法为:
[0020]
根据识别数据文本中的实体并分成建筑、结构、给排水、暖通、电气五大类的任务,得到目标映射到预测词[mask]的目标预测空间为:
[0021]
t
type
={“不是专业”,“建筑专业”,“结构专业”,“给水排水”,“暖通专业”,“电气专业”};
[0022]
所述步骤s4中根据目标预测空间设置答案空间的方法为:确定目标预测空间t
type
为每一类初始答案空间,根据转述的方式人工扩大每一类的初始答案空间,设定答案空间中的词长度不超过4,形成合理的答案空间i(x)。
[0023]
所述步骤s5中抽取词语的方法为:
[0024]
根据已经给定的跨度1-5抽取样本数据的句子中的词语,抽取第i个句子中的词语
如下所示:
[0025][0026]
其中,si(x)={1,2,3,...,m},m为第i个句子的长度,n(x)为给定的抽取词语的跨度,且n(x)={1,2,3,4,5};l的范围是从1到m,即从句子中第l个字开始抽取词语;n的范围从1到5,表示从第l个字开始抽取n个字;xi表示原始输入中第i个句子,xi′
表示从第i个句子中抽取的词语,span表示抽取词语的过程函数。
[0027]
所述步骤s6的实现方法为:
[0028]
s6.1将抽取出的词语xi′
放入自动搜索模板中[x]位置,形成完整提示模板;
[0029]
s6.2将完整提示模板以及目标预测空间的词语向量化;
[0030]
s6.3将转化成向量的提示词通过一个双向长短期记忆网络,得到向量前后提示词的信息;再通过relu激活函数,得到一个新的提示词的词向量hq′

[0031]
s6.4将得到的词向量hq′
和[x]部分的抽取词语、预测词[mask]部分以及句子起始符[cls]和句子结束符[sep]的向量拼接起来,得到x
prompt

输入bert模型的向量形式,记为x
prompt


[0032]
s6.5将答案空间中的词,通过bert模型中的词库中的词向量和词矩阵转化成向量矩阵形式;
[0033]
s6.6通过bert模型的掩码任务预测输入数据的建筑领域实体并将实体分成建筑领域五大类别,计算预测词与步骤s6.5中答案空间的向量的相似度得分;
[0034]
s6.7使用softmax函数把相似度得分激活为概率分布,得到的概率值最高的词为提取出来的词语x

的答案的信息,根据答案的信息确定目标预测空间中的词汇,即为预测词[mask]的输出。
[0035]
所述s6.2的实现方法为:
[0036]
在完整提示模板x
prompt
前添加句子起始符[cls],并在句子的最后添加句子结束符[sep],得到句子x
prompt


[0037]
将句子x
prompt

以字为单位将其向量化,每一个字转化成向量,向量化时将句子x
prompt

分成两部分,其中提示词[unused]与自动搜索模板中其余的位置的信息进行不同的向量化;
[0038]
根据提示词位置和非提示词位置向量化的不同,将编码形式分为两种:编码i和编码ii,编码i表示提示词[unused]位置的信息进行的向量化,使用没有进行预训练的初始化矩阵;编码ii表示对非提示词位置的信息进行向量化,采用bert模型预训练过的矩阵;
[0039]
每一个字的向量分为三部分:字向量、段向量和位置向量,其中字向量是融合了上下文语意信息的向量形式,字向量的表示如下:
[0040]
其中,j表示初始提示模板中的位置;
[0041]
其中,表示采用编码i进行字向量的编码,表示采用编码ii进行字向量的编码;
[0042]
段向量的表示如下:
[0043]
其中,j表示初始提示模板中的位置;
[0044]
其中,表示采用编码i进行段向量的编码,表示采用编码ii进行段向量的编码;
[0045]
位置向量的表示如下公式所示:
[0046]
其中,j表示模板中的位置;
[0047]
其中,表示采用编码i进行位置向量的编码,表示采用编码ii进行位置向量的编码;
[0048]
每个字的三部分向量对应位置相加,得到句子x
prompt

的向量化形式:
[0049]
所述步骤s6.3中的词向量
[0050][0051]
其中,q表示第q个提示词,u表示提示词的总个数;lstm表示双向长短期记忆网络函数,通过lstm得到的提示词词向量hq′
的编码中包含有前后提示词的语义信息;
[0052]
所述步骤s6.6中将预测词[mask]位置矩阵a和答案空间i(x)中的词语的矩阵b∈i(x)做相似度计算,得到相似度得分为:
[0053][0054]
其中,w表示矩阵a的行向量、矩阵b
t
的列向量;
[0055]
所述步骤s6.7中softmax函数为
[0056]
在训练过程中,将预测词[mask]的预测向量和标签词的独热编码向量通过交叉熵损失函数计算损失,反向传播更新初始提示模板提示词的参数;其中,y表示标签词;表示预测值。
[0057]
一种基于prompt的建筑实体识别并分类系统,包括:
[0058]
收集数据模块,用于收集建筑领域的数据并进行预处理和标注;
[0059]
预训练模块,用于在专业性数据上对bert预训练模型进行训练得到bert模型;
[0060]
构建prompt模块,用于设计初始提示模板的相关信息;
[0061]
设置答案模块,用于设置预测词的答案;
[0062]
抽取词语模块,用于抽取输入数据中的词语;
[0063]
预测模块,用于从输入数据中提取词语并放至初始提示模板,利用bert模型预测词语是否为实体,并且同时预测词语为哪一类实体。
[0064]
收集数据模块与预训练模块相连接,预训练模块分别与构建prompt模块、设置答案模块和抽取词语模块相连接,构建prompt模块、设置答案模块和抽取词语模块均与预测模块相连接。
[0065]
一种计算机的存储介质,其可存储计算机程序,所述的计算机程序在执行时可以实现所述的一种基于prompt的建筑实体识别并分类方法的任意步骤。
[0066]
与现有技术相比,本发明的有益效果:本发明先搜集建筑行业相关的数据并对数据进行预处理,先对bert模型做预训练,随后设置提示模板的格式和初始状态,并提取输入数据的词语放入提示模板中,预测词语是否为实体,并将实体分成建筑领域五大专业。本发明将传统提取建筑实体的序列标注任务转化为bert预训练阶段的掩码语言任务,减小了下游建筑行业实体识别任务和预训练模型之间的差距,使得两者在训练形式上保持一致,同时设计提示模板也可以给bert模型提供一些语言信息,基于此可以使建筑领域实体识别在小样本集上依然保证较高的精度。
附图说明
[0067]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0068]
图1为本发明的流程示意图。
[0069]
图2为本发明识别建筑实体并分类的框架图。
[0070]
图3为本发明系统的原理框图。
具体实施方式
[0071]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0072]
如图1所示,一种基于prompt的建筑实体识别并分类方法,其步骤包括:
[0073]
s1、收集建筑五大领域规范、通则以及公开数据集作为统一数据集并进行数据的预处理得到样本数据集,选择样本数据集中的一部分数据样本对其中的实体进行标注得到标注样本集。
[0074]
进一步地,步骤s1中数据的预处理主要包括删除所选的规范、通则的图片、表格以及多余的空行。
[0075]
选择样本数据集中的一部分数据样本对其中的实体进行标注,主要包括先把样本数据集中的数据分成两部分,一部分用来对bert预训练模型进行预训练,一部分进行数据标注,标注正确的实体类别。
[0076]
对实体进行标注的方法为:将其中的建筑五大领域的实体设置成字典的形式,其中字典中的键为实体,值为实体的类别。如下所示的案例为:{“石砌体的抗压强度在设计规范中可直接查到。”,“石砌体”:“结构专业”},第一个引号中为数据中的某一句话,“石砌体”表示抽取到的词语,即为字典中的键,“结构专业”为“石砌体”的标签,即实体正确的分类,在字典中表示值。
[0077]
s2、选择bert预训练模型,并从样本数据集中选择未标注的数据样本对bert预训
练模型进行预训练得到已完成预训练的bert模型。
[0078]
任何行业的语言都有其各自的语义特征,传统bert模型是在通用语言数据集上进行预训练,因此模型bert没有掌握建筑类词语的语义特征和语法表示,为了提高任务的精度,需要在实体识别任务之前在传统bert模型基础之上使用建筑行业数据集对bert预训练模型进行预训练。
[0079]
s3、根据bert模型设计初始提示模板,确定初始提示模板的形状并设置初始提示模板中的提示词以及预测词的信息。
[0080]
传统的实体识别任务是序列标注任务,和bert模型预训练阶段的任务之间存在天然的差距。同时,为了降低小样本对实体识别任务精度的影响,可以给下游实体识别任务增加提示词,使其变为bert预训练模型在预训练阶段的任务,一方面减小预训练阶段和下游任务阶段之间存在的差距,另一方面提示词也为bert模型增加了语义信息,也可以提高bert模型的精度。
[0081]
进一步地,步骤s3中根据bert模型设计初始提示模板,确定初始提示模板形状并设置初始提示模板中提示词以及预测词信息的实现方法主要是指:
[0082]
为了使得下游实体识别并分类任务可以更接近bert模型,需要添加模板提示词,使实体识别的序列标注任务变为bert掩码任务。
[0083]
由于bert模型即bert掩码语言模型的完形填空任务的预测词[mask]位置在句子中间,确定初始提示模板的形状为cloze prompt。即预测词出现在初始提示模板的提示词的中间,且预测词的个数是固定的。
[0084]
设计的初始提示模板从人工设计模板和自动搜索模板中进行选择,由于人工设计模板需要很多实验、经验以及语言专业知识,根据实验结果发现选用人工设计模板,不同的prompt只有细微单个字词的区别,最后的结果相差巨大,因此,为了跳出人工设计模板的语言信息影响模型精度的问题,确定模板类型为自动搜索模板。
[0085]
自动搜索模板在初始状态下模板的提示词为随机生成的,不再根据人类的理解确定具体的提示词,根据模型在训练过程中的误差反馈,在每一次的训练过程中,不断更新提示模板,最终可以得到一个高精度的提示模板。自动搜索模板中包括提示词[unused]和预测词[mask]以及从原输入数据x中提取的词语x


[0086]
设计自动搜索模板的格式和初始状态,包括确定模板中提示词[unused]的个数和提示词[unused]所放的位置,确定模板中预测词[mask]的个数以及预测词[mask]的位置,同时可以确定从原始输入数据x中提取的词语x

的位置,词语x

的位置记为[x]的位置。
[0087]
可以得到自动搜索模板的初始格式如下所示:
[0088]
x
prompt
=<unused>
loc
[x]<unused>
loc
[mask]
loc
<unused>
loc
[0089]
其中,<unused>
loc
表示自动搜索模板的提示词[unused]的位置,[mask]
loc
代表预测词[mask]的位置。
[0090]
如图2所示,由于<unused>
loc
和[mask]
loc
只表示位置信息,并不是个数,个数是由自己确定的,因此在本技术中后续使用的[unused]和[mask]的个数如下所述,首先确定自动搜索模板中提示词[unused]的个数为6以及提示词[unused]所放的位置。其次确定模板中预测词[mask]的个数为4以及预测词[mask]的位置。同时能够确定从原始数据中提取的词语x

的位置,其位置记为[x]的位置;
[0091]
得到的自动搜索模板的初始形式:
[0092]
x
prompt
=[u1][u2][u3][x][u4][mask][mask][mask][mask][u5][u6];
[0093]
其中,[u1]~[u6]代表6个提示词[unused1]~[unused6]。
[0094]
s4、根据识别实体以及实体类别的任务设置预测词位置的目标预测空间,并根据目标预测空间设置答案空间。
[0095]
为了正确的识别实体并分类,bert模型在训练阶段首先从输入数据中抽取词语,随后根据提示词预测该词语是否为实体并对实体分类,随后根据预测值和真实的标签值之间的差值更新提示模板的提示词,进而使得提示模板的提示词可以在预测实体以及实体类别方面精度更高。
[0096]
进一步地,在步骤s4中设置最终的目标预测空间主要包括:
[0097]
根据识别数据文本中的实体并分成建筑、结构、给排水、暖通、电气五大类的任务,得到识别实体并分类的任务是通过将自动搜索模板的初始形式x
prompt
放入bert模型中预测预测词[mask]位置应是什么词语,并确定最终识别的结果,因此最终得到的目标映射到预测词[mask]的目标预测空间为:
[0098]
t
type
={“不是专业”,“建筑专业”,“结构专业”,“给水排水”,“暖通专业”,“电气专业”}。
[0099]
由于不同的分类可由不同的词语表示,并且词语表达稍有不同有可能最后的精度就有所不同,因此应该尽可能多的扩大答案空间。
[0100]
确定目标预测空间t
type
为每一类初始答案空间,随后根据转述即先转为别的语言再转回中文的方式人工扩大每一类的初始答案空间,同时根据预测词[mask]的数量以及保证后续计算的可行性,设定答案空间中的词不超过4,例如建筑类别中的部分答案为“{“建筑类型”,“建筑类”}”等,最终形成合理的答案空间i(x)。保证目标预测空间内的词语是4个汉字。
[0101]
s5、根据给定的跨度1-5从标注样本集中的样本数据中抽取词语。
[0102]
进一步地,步骤s5中,抽取数据中的词语,根据常规建筑类型词语的长度并且尽可能降低词语计算量,将数据输入之后,根据已经给定的跨度1-5抽取句子中的词语。
[0103]
抽取第i个句子中的词语的公式如下所示:
[0104][0105]
其中,si(x)={1,2,3,...,m},m为第i个句子的长度,n(x)为给定的抽取词语的跨度,即n(x)={1,2,3,4,5};l的范围是从1到m,即从句子中第l个字开始抽取词语,n的范围从1到5,表示从第l个字开始抽取n个字。xi表示原始输入中第i个句子,xi′
表示从第i个句子中抽取的词语,span表示抽取词语的过程,可以通过代码来实现这一过程。
[0106]
如图2所示先进行编码最后得到预测类别的框架图,例如在案例中“保温层厚度应根据所在地区现行建筑节能设计标准经计算确定”,从句子首字开始抽取,跨度span从1至5时,抽取词语分别为“保”、“保温”、“保温层”、“保温层厚”、“保温层厚度”,随后从首字逐次向后移动一位,分别从当前位置开始重复上述抽取词语的过程,根据句子长度得到相应数量的抽取词语。
[0107]
s6、将抽取词语放入初始提示模板形成完整提示模板,并将完整提示模板向量化
后放入bert模型,通过bert模型的掩码任务识别输入数据中的建筑领域实体并将实体分成建筑领域五大类别。
[0108]
进一步地,步骤s6中,主要包括:
[0109]
s6.1首先应该将抽取出的词语xi′
放入自动搜索模板中[x]位置,形成完整提示模板。
[0110]
例如将“保温层”放入到自动搜索模板中[x]位置可以得到完整提示模板为:
[0111]
x
prompt
=[u1][u2][u3]保温层[u4][mask][mask][u5][u6]。
[0112]
s6.2将完整提示模板以及目标预测空间中的词语向量化。
[0113]
根据bert模型的格式,首先在完整模板x
prompt
前添加句子起始符[cls],并在句子的最后添加句子结束符[sep],可得句子x
prompt

如下所示:
[0114]
x
prompt

=[cls][u1][u2][u3]保温层[u4][u5][mask][mask][mask][mask][u6][sep];
[0115]
其次,将句子x
prompt

以字为单位将其向量化,每一个字转化成向量,向量化时将句子x
prompt

分成两部分,其中提示词[unused]与自动搜索模板中其余的位置的信息进行不同的向量化,因此根据提示词位置和非提示词位置向量化的不同,将编码形式分为两种:编码i和编码ii,编码i表示提示词[unused]位置的信息进行的向量化,使用没有进行预训练的初始化矩阵,随后根据训练进行优化;编码ii表示对非提示词位置的信息进行向量化,采用经过bert模型预训练过的矩阵,并在下游任务时不再进行优化。而且每一个字的向量主要是分为三部分:字向量(token embeddings)、段向量(segment embeddings)和位置向量(positional embeddings),其中字向量是融合了上下文语意信息的向量形式,字向量的表示如下公式所示:
[0116]
其中j表示初始提示模板中的位置;
[0117]
其中,表示采用编码i进行字向量的编码,表示采用编码ii进行字向量的编码。
[0118]
由于bert模型中预训练任务中有预测下一句的任务,所以某些情况下两句话会拼起来,中间有[sep]分隔符,段向量是为了区分前后两句话,段向量的表示如下公式所示:
[0119]
其中j表示初始提示模板中的位置;
[0120]
其中,表示采用编码i进行段向量的编码,表示采用编码ii进行段向量的编码;
[0121]
为了让模型可以区分同一个词在不同位置表示不同含义,人为加入表示位置的向量即位置向量,位置向量的表示如下公式所示:
[0122]
其中j表示模板中的位置;
[0123]
其中,表示采用编码i进行位置向量的编码,表示采用编码ii进行位置向量的编码。
[0124]
最终每个字的三部分向量对应位置相加,得到句子x
prompt

的向量化形式即:
[0125][0126]
也就是说,提示词[unused]部分使用编码i,非[unused]部分使用编码ii,对于提示词[unused1]~[unused6]部分,向量化后得到h1~h6,后期可以根据损失函数对使用编码i进行编码的部分采用的随机初始化矩阵进行优化。初始化矩阵是随机初始化。
[0127]
s6.3为了增加提示词之间的相关性,将转化成向量的提示词h1~h6通过一个双向长短期记忆网络(long-short term memory)即lstm,使得向量可以得到前后提示词的信息,再通过relu激活函数,减少参数值出现梯度消失的情况,进而得到一个新的提示词的词向量hq′

[0128]
即词向量
[0129][0130]
其中,q表示第q个提示词,u表示提示词的总个数6。lstm表示双向长短期记忆网络函数。双向长短期记忆网络是分别从前后两个方向认识到词语的编码信息,可以使得通过lstm得到的提示词词向量hq′
的编码中包含有前后提示词的语义信息。
[0131]
s6.4由于提示词部分和非提示词部分采用不同的编码,因此需要将得到的词向量hq′
和[x]部分的抽取词语、预测词[mask]部分以及句子起始符[cls]和句子结束符[sep]的向量拼接起来,得到x
prompt

最终输入进bert模型的向量形式,记为x
prompt


[0132]
s6.5进一步地,将答案空间中的词,通过bert模型中的词库中的词向量和词矩阵转化成向量矩阵形式,若答案空间i(x)中的词长度不足4通过pad向量补齐到4。
[0133]
答案空间的向量化只有字向量,因为矩阵的列数不统一用pad向量补齐。
[0134]
s6.6进一步的,通过bert模型的掩码任务识别文本中的建筑领域实体并将实体分成建筑领域五大类别。
[0135]
首先,将输入向量放入bert模型,输出新的向量,同时也可以得到预测词[mask]位置包含上下文语意信息的向量。
[0136]
根据bert模型中预测出来的预测词[mask]位置的词语的向量组合起来形成矩阵a和答案空间i(x)中的词语的向量b∈i(x)组合成的矩阵做相似度计算,计算两者的相似度得分为:
[0137][0138]
其中,w表示矩阵a的行向量、矩阵b
t
的列向量。
[0139]
s6.7随后,使用softmax函数把相似度得分score激活为概率分布,其中softmax函数为最终得到的概率值最高的词即为提取出来的词语x

的答案的信息,由于答案空间中的词均为目标预测空间中词语的二级词语,因此根据答案的信息确定目标预测空间中的词汇,即为预测词[mask]最后的输出。
[0140]
如果同一个字开始但是跨度span不同的词同时被预测为实体,考虑为嵌入式词语,因此只保留跨度span较大的词为实体,一般情况下,嵌入式词语跨度较大的是完整的实体,这样做可以确保训练的精确度。
[0141]
s6.8在训练阶段,将预测词[mask]的预测向量和标注的标签词的独热编码(one-hot)通过交叉熵损失函数计算损失,进而对提示词编码的初始化矩阵中的参数求导,反向传播更新提示模板的提示词的编码的初始化矩阵中的参数,在随后的正向传播过程中可以用更合适的向量表示提示词。
[0142]
其中,y表示真实的标注的标签值,即抽取词语是否是实体,并且是哪一类实体;表示预测值,即预测出来抽取出来的词语是哪一类实体。
[0143]
由于模板的向量是随机初始化的参数矩阵得到的,因此一开始提示信息并不能充分发挥作用,所以需要用少量数据在训练阶段更新模板参数,最后可以得到较高的建筑类实体识别并分类的结果,训练阶段结束后,停止更新参数。
[0144]
在测试阶段,将输入数据按照上述词向量化后直接放入bert模型识别实体并预测实体类别。
[0145]
作为一种优先的实施方式,本发明还提供了一种基于prompt的建筑领域实体识别并分类系统,包括:
[0146]
收集数据模块,用于收集建筑领域的数据并进行预处理和标注;
[0147]
预训练模块,用于在专业性数据上对bert预训练模型进行训练得到bert模型;
[0148]
构建prompt模块,用于设计初始提示模板的相关信息;
[0149]
设置答案模块,用于设置预测词的答案;
[0150]
抽取词语模块,用于抽取输入数据中的词语;
[0151]
预测模块,用于从输入数据中提取词语并放至初始提示模板,利用bert模型预测词语是否为实体,并且同时可以预测词语为哪一类实体。
[0152]
收集数据模块与预训练模块相连接,预训练模块与构建prompt模块、设置答案模块、抽取词语模块相连接,上述三模块均与预测模块相连接。
[0153]
作为一种优先的实施方式,本发明还提供一种计算机的存储介质,其可存储计算机程序,所述的计算机程序在执行时可以实现所述的一种基于prompt的建筑实体识别并分类方法的任意步骤。
[0154]
可以说明的是,本发明中所举的样例只是为了说明某一步的实施方法,并不是对本专利的限制;技术人员可以对以前实施的方案进行修改,而这些修改不应使技术方案脱离本发明的范围。
[0155]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1