一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于目录主题分类的轨道交通规范实体识别方法与流程

2021-11-15 18:24:00 来源:中国专利 TAG:


1.本发明属于自然语言处理的信息抽取领域,涉及一种基于目录主题分类的轨道交通规范实体识别方法。


背景技术:

2.2013

2020年,我国城轨交通运营线路长度逐年增长。截至2020年底,中国内地累计有40个城市开通城轨交通运营,运营线路达到7978.19公里。轨道交通建设工程属于复杂的工程,在规划、设计、审查和建设过程中设计众多规范。住建部发布的工程设计规范一般都是以文字的形式存在,纸质规范不能直接处理,需要先将其进行数字化存储。但是规范中的数据类型非常复杂,这对处理精度提出了更高的要求。近年来,使用以深度学习为主的算法模型对自然语言进行处理的方法成为主流,尤其是2018年以来,以bert为代表的预训练语言模型可以很好地理解自然语言文本,从而在更多下游任务中得到很好的结果,如信息抽取、文本分类、智能问答等。与此同时,一些研究者针对垂直领域的自然语言进行数据增强方向的研究,从而更好地理解领域知识。
3.本发明的核心任务是命名实体识别,虽然在开放领域以及公开的数据集中,该任务已经取得了不错的进展。但是对于特定领域,尤其是在面对轨道交通工程设计规范时,由于缺少必要的知识库,命名实体识别研究仍然面临很多挑战。
4.(1)规范数据非常复杂
5.规范内容一般包含文本、图片、表格、公式等多种类型的数据格式。在采集到的数据中常常会出现多种类型数据嵌套的情况,并且会出现同一类型的数据的前后形式不一致的情况,数据之间的层级结构也不统一。
6.(2)跨学科,多领域的长难句理解困难
7.由于轨道交通工程设计涉及数十个学科、数百个工种,而国家规范都是由专业人员进行编写的,对专业知识要求极高,文本中包含大量专业术语且都是以复杂句式为主,对于进一步的结构化处理带来很多困难。
8.(3)低资源与高质量的矛盾
9.低资源是指无完整术语词典、无明确的实体分类标准、无公开数据集。而下游应用对知识图谱的质量要求极高,以自动合规性检查为例,知识图谱的质量及其完整性直接决定了检查结果的精确性和完备性。
10.随着深度学习在自然语言处理任务中的深入应用,预训练模型的参数量也迅速增加,为了防止过拟合则需要更大的数据集来充分训练模型参数。然而,对于大多数nlp任务而言,构建大规模的标注数据是一个巨大的挑战,因为标注成本非常巨大,特别是涉及到垂直领域中语义相关的任务时标注难度会急剧上升。相比之下,构建大规模的未标记语料库相对容易,预训练语言模型(pre

train models,ptms)可以利用这些未标记数据从中提取大量的语义信息,并将这些语义表征应用于其他任务。最近的研究表明,ptms在许多nlp任务中都取得了显著的提高。开源的预训练语言模型与下游任务适配时比较困难,不同的下
游任务一般需要不同的语言模型,如文本生成任务通常需要一个特定的任务来预训练编码器和解码器,而文本匹配任务则需要为句子对设计特定的预训练任务。如果不考虑模型的数据分布以及所属领域,任务的差异性可能导致适得其反的结果。
11.本项目是面向轨道交通领域,将对此领域的未标注文本进行领域自适应预训练,可以利用这些未标记数据从中提取大量的语义信息和领域相关知识,并将这些语义表征应用于其他任务;根据规范目录中的章名或节名对每一条规范文本进行主题分类,加入主题信息。然后将轨道交通规范信息化处理和存储,通过对结构化数据的学习,使模型对非结构化数据信息抽取,可以自动分析提取有用信息。这项研究的推进可以在缩短工程项目审查时间的前提下,保证工程设计的质量,并以特定的数据结构知识图谱进行存储,为智能化应用提供最基础的数据支持,从而提高搜索引擎的速度与智能问答系统的准确性,极大地简化工作的复杂程度,提高了轨道交通领域智能化水平。


技术实现要素:

12.本发明的目的是提供一种基于目录主题分类的轨道交通规范实体识别方法,解决使用开源预训练语言模型对垂直领域文本不适配导致模型实体识别准确率较低问题。
13.本发明所采用的技术方案是,基于目录主题分类的轨道交通规范实体识别方法,首先对google发布的原始roberta预训练模型作为基准模型,通过采集较大规模的轨道交通规范文本实现领域自适应预训练。结合轨道交通规范领域词典给加入全词遮盖(whole word masking)机制,使roberta预训练模型具备轨道交通领域知识的能力;然后将具备领域知识的预训练模型进行主题分类训练,基于每本国家规范都包含的目录数据,使用目录中的章名或节名对每一条规范文本进行主题分类;然后将生成的预训练模型应用到命名实体识别任务中,模型文件输入到主流的ner模型bilstm

crf模型中进行实体识别训练,提出cat

railroberta

bilstm

crf模型;最后,将测试集数据输入到训练好的模型中,根据评价指标判断模型的效果;设置经过训练的实体识别模型作为服务端测试模型效果,把预测数据输入进模型后可以输出这条规范的实体和实体类别,并根据识别效果判断模型的可用性。
14.实验数据来源于国家建标库地铁设计规范,领域自适应预训练数据集采用大量国家制定的轨道交通规范和建筑领域信息规范等语料。
15.具体包括以下步骤:
16.步骤1,获取轨道交通规范实验语料;
17.本发明的实验语料来源于国家建标库国家规范中《地铁设计规范[附条文说明]gb 50157

2013》,使用爬虫技术爬取这本规范进行实体识别研究。
[0018]
步骤2,对获取的轨道交通规范语料进行数据清洗;
[0019]
去除脏数据包括删除重复信息,纠正存在的错误,检查数据的一致性,对无效值和缺失值进行处理。
[0020]
步骤3,对清洗完成的数据进行文本分析;
[0021]
结合《建筑信息模型分类编码标准》和术语标注与术语学标准,专家定义地铁设计规范问题的实体类别。
[0022]
步骤4,人工标注数据集。
[0023]
从规范化处理的语料库中,选取1650条规范进行数据标注。结合专家定义的实体类别和专业术语两个方面,人工标注每条规范中的所包含的实体,即标注出实体边界与实体类别。经过对标记数据的实体进行统计集,可得出,标注数据集中实体长度分布如图3所示,各个长度实体出现的频次分布如图4所示,数据集中最长的实体包含45个字符,最短的实体包含2个字符,平均长度为5.33,实体长度主要集中在5,3,7和4。这部分的统计数据对模型训练时超参数设置以及预测结果的分析有重要意义。
[0024]
步骤5,数据集划分;
[0025]
本实验数据以地铁设计规范条目信息对数据集进行划分,训练集、验证集与测试集的比例大约为7:2:1。
[0026]
步骤6,构建实验数据集;
[0027]
利用标注过实体的规范语料构建实验数据,生成用于命名实体识别任务的轨道交通数据集;采用bio标注模式,实验数据文件中只包含两列信息,实体和实体对应的标签。
[0028]
步骤7,构建领域自适应预训练数据集;
[0029]
通过各种渠道采集与建筑设计规范相关联的文本数据,经过简单清洗后,去除特殊符号,如换行符、制表符、html标签等,生成统一格式的json数据;数据集中包括《地铁设计规范》语料,还采集了其他建筑领域的语料,共811,120条规范文本。
[0030]
步骤8,构建轨道交通领域自适应预训练语言模型;
[0031]
将步骤7中得到的领域自适应预训练数据集输入到google提出的roberta

base预训练模型中,加入地铁设计规范的术语词典,生成中文轨道交通领域预训练语言模型。
[0032]
步骤9,构建主题分类数据集;
[0033]
利用未标注过的规范语料构建主题分类数据集,生成用于主题分类任务的轨道交通数据集。本方法先采用节名对规范进行主题标记。
[0034]
步骤10,构建主题分类模型,将步骤8中生成的roberta_800k预训练语言模型和步骤9中构建的主题分类数据集作为文本分类模型的输入,生成cat

railroberta预训练模型。
[0035]
步骤11,构建实体识别模型,将步骤10中生成的预训练语言模型文件和训练集作为实体识别模型的输入。
[0036]
步骤12,设置训练的实体识别模型作为服务端测试模型效果,将测试数据集输入模型,可识别出测试数据的实体边界和实体类别标签,最终实现轨道交通规范文本中命名实体的自动识别。
[0037]
步骤8中,构建轨道交通领域自适应预训练语言模型。将步骤7中得到的领域自适应预训练数据集输入到google提出的roberta

base预训练模型中,加入地铁设计规范的术语词典,生成中文轨道交通领域预训练语言模型。
[0038]
步骤8.1,本发明采用全词mask机制,如果一个完整的词的部分子词被mask,则同属该词的其他部分也会被mask。
[0039]
步骤8.2,将人工标注的实体抽取形成实体词典,在调用jieba分词工具时,加入实体词典对输入的文本规范进行分词,以80%的概率将输入的token替换为[mask],10%的概率保持不变,以10%的概率替换为一个随机的token。将此机制引入到roberta模型的分词函数中使其能后在mask机制预测时轨道交通规范文本实体完整的语义,模型结构如图9所
示。以“站台门噪声峰值不应超过70分贝”为例,加入了术语词典之后,预训练语言模型可以更加正确得表示“站台门”和“分贝”这两个实体。
[0040]
步骤8.3,将800k的轨道交通领域预训练数据和地铁设计规范实体词典输入进模型,设置训练迭代次数为200次,得到轨道交通领域的预训练模型roberta_800k。
[0041]
bert模型是通过联合所有层中的上下文信息。它使用多层的双向transformer作为编码器模块预先训练深度双向表示,bert

base包含12层transformer结构,每层隐状态的维度是768,使用12个头的多头注意力,总参数量约为110m。
[0042]
transformer的每个编码器(encoder)首先将输入的句子经过一个多头注意力(multi

head attention)层;多头注意力层帮助编码器在对每个单词进行编码时关注句子中的其他单词,然后将输入传递到前馈(feed

forward)神经网络中,每个位置的单词对应的前馈神经网络完全相同并且没有共享参数。multi

head attention上方还包括一个add&norm层,add表示残差连接(residual connection)用于防止网络退化,norm表示layer normalization,用于对每一层的激活值进行归一化。
[0043]
transformer中最关键的部分就是自注意力(self

attention)计算,在ner任务中,注意力机制可被用于寻找输入句子中相对重要的字或词,使用一个隐藏层和softmax函数计算句子中每个字或词的权重,使模型对于关键信息特别关注并进行充分学习。因为transformer在进行计算时输入句子和输出句子实际上是同一个序列,使得每个位置的词都有全局的语义信息,有利于建立长依赖关系。利用自注意力机制可以生成不同连接的权重,从而处理变长的信息序列。用x=[x1,x2,

,x
n
]表示n个输入信息,可以通过以下线性变换得到查询向量序列q,键向量序列k和值向量序列v,计算方法如公式1到公式3所示。
[0044]
q=w
q
x
[0045]
公式1
[0046]
k=w
k
x
[0047]
公式2
[0048]
v=w
v
x
[0049]
公式3
[0050]
得到矩阵q,k,v之后就可以计算出self

attention的输出,计算的公式为公式4:
[0051][0052]
其中,d
k
是q,k矩阵的列数,即向量的维度;k
t
为k矩阵的转置。
[0053]
transformer在自注意力机制的基础上还设置了多头注意力机制,网络结构中h表示存在h个不同的自注意力机制;其中,每组q/k/v都不相同,用来扩大注意力层的“表示子空间”,然后得到多个不同的权重矩阵;每个权重矩阵可以将输入向量投射到不同的表示子空间,而不同的head可以学习到不同位置上不同的表示子空间的语义;前馈层不需要多个矩阵输入,因此需要将这些权重矩阵拼接之后做缩放点积运算(scale dot

product attention),保证前馈层所需的输入维度,使得多个encoder的输入输出维度保持一致。句子中各个词之间是并行计算的,没有考虑到词位于句子中的位置信息,即句子的序列信息,因此输入部分的词嵌入,是由词向量和词的位置编码两部分拼接(concat)形成的,然后传
入到线性激活函数层(linear)。具体的计算方法如公式5到6所示。
[0054]
multihead(q,k,v)=concat(head1,

,head
n
)w
o
ꢀꢀꢀ
公式5
[0055]
head
i
=attention(qw
iq
,kw
ik
,vw
iv
)
ꢀꢀꢀ
公式6
[0056]
其中,w
o
是一个线性映射矩阵。最后,transformer引入位置编码(position embedding,pe),为词向量中加入单词的位置信息,具体计算方法如公式7到8所示。
[0057][0058][0060]
在公式7和8中,pos表示单词的位置,i表示单词的维度。其中,2i表示偶数位置,2i 1表示奇数位置,pos∈(1,2,

,n),n为输入系列的长度,i∈(0,1,

,d
model
/2),d
model
是词嵌入的维度。
[0061]
步骤10的具体过程如下:
[0062]
步骤10,构建主题分类模型,将步骤8中生成的roberta_800k预训练语言模型和步骤9中构建的主题分类数据集作为文本分类模型的输入,生成cat

railroberta预训练模型。
[0063]
步骤10.1,文本分类任务将采用bert

cnn模型,模型结构如图8所示;bert模型利用步骤8训练好的领域自适应roberta_800k预训练模型,将模型文件导入。将bert层输出的文本表示向量输入卷积神经网络,可以帮助模型提取更多的特征信息,如局部的相对位置等信息,从而增强模型的鲁棒性与拓展性。
[0064]
在bert

cnn的文本分类模型中,假设bert层的输出矩阵为r={v1,v2,

,v
n
},卷积核的长度为l,滑动步长设置为1,那么r可以分为{v
1:l
,v
2:l 1
,

,v
n

l 1:n
},其中v
i j
表示向量v
i
到v
j
的级联。假设卷积操作后的结果为p={p1,p2,

,p
n
},p
i
的计算方法如公式9所示。
[0065]
p
i
=w
t
v
i:i l
‑1 b
[0066]
公式9
[0067]
其中w是卷积核的参数,通过模型的训练进行更新,b是偏移变量。此外,将采用最大池化降低矩阵的维度,即在池化窗口中选择最大的元素。
[0068]
步骤10.2,将步骤9中构建的主题分类数据集输入到bert

cnn模型中;将生成的具有文本分类信息的cat

railroberta预训练模型。
[0069]
步骤11的具体过程如下:
[0070]
步骤11,构建实体识别模型,将步骤10中生成的预训练语言模型文件和训练集作为实体识别模型的输入。
[0071]
步骤11.1,将步骤6中构建的实验数据集中输入到经过文本分类训练的cat

railroberta模型中,将一条规范转化为向量形式表示,得到一个句子的词向量、段向量和位置向量。cat

railroberta模型的文本向量化表示如图10所示,以规范“车辆基地室外消防栓的间距不应大于120m”为例,token embeddings是第一个单词cls标志,可以用于分类任务;segment embeddings是用来区分两种句子,可以用于以两个句子为输入的分类任务;position emdedding表示位置,三种embedding都是通过训练得来的。再将段向量和位置向
量作为深度学习模型的输入,最后输出融合全文语义信息的文本特征向量。
[0072]
步骤11.2,将文本特征向量输入到bilstm

crf模型中,生成cat

railroberta

bilstm

crf实体识别模型。本发明的有益效果是,
[0073]
本发明基于roberta预训练语言模型以及全词遮盖(whole word masking)机制,通过采集较大规模的建筑规范文本实现领域自适应预训练,并加入主题分类信息,提高命名实体识别任务的性能。另外将训练得到的预训练语言模型应用到命名实体识别任务中,为构建领域知识图谱提供重要支持,会带来很多好处:第一,可以使命名实体识别模型更好地对领域文本进行表示,提高对于建筑实体的识别性能。第二,可以逐步增加文本语料库,对已经完成的预训练语言模型进行扩展,从而使预训练语言模型适应更多样多复杂的文本内容。第三,一次训练、多次使用,经过领域自适应预训练的语言模型可以直接应用于其他自然语言处理任务中,如文本检索、文本分类和智能问答等任务中。
附图说明
[0074]
图1是本发明基于目录主题分类的轨道交通规范实体识别方法的总框架图;
[0075]
图2是本发明基于目录主题分类的轨道交通规范实体识别方法的总流程图;
[0076]
图3是本发明实验数据集各实体类别长度分布图与各类别出现频次;
[0077]
图4是本发明实验数据集各个长度实体出现的频次分布图;
[0078]
图5是本发明基于bio标注体系的标注案例;
[0079]
图6是本发明中transformer编码器模块结构示意图;
[0080]
图7是本发明中注意力机制模型结构示意图;
[0081]
图8是本发明中bert

cnn模型结构示意图;
[0082]
图9是本发明中roberta

wwm模型的掩码过程结构示意图;
[0083]
图10是本发明中roberta_800k模型的文本向量化表示示意图。
具体实施方式
[0084]
下面结合附图和具体实施方式对本发明进行详细说明。
[0085]
本发明目的是提供一种基于目录主题分类的轨道交通规范实体识别方法,具体框架如图1所示。提出了轨道交通领域自适应实体识别模型cat

railroberta

bilstm

crf模型,模型结构如图2所示。采用roberta作为领域自适应预训练的基础模型。roberta(robustly optimized bert approach)采用原始bert架构,但进行了针对性的修改,可以理解为进行了充分训练的bert。roberta采用了更大的batch size,使用了更大的预训练语料,删除了nsp(next sentence prediction)任务,采用动态掩码代替静态掩码,采用byte

pair encoding(bpe)进行文本编码,模型结构如图10所示。roberta仅包含1.1亿参数,远小于如今数百亿参数的预训练语言模型,在计算机算力无法快速提升的情况下roberta是最好的基准模型。然后将具备领域知识的预训练模型进行主题分类训练,从规范文本的特点出发,基于每本国家规范都包含的目录数据,使用目录中的章名或节名对每一条规范文本进行主题分类;最后将生成的预训练语言模型输入到bilstm

crf模型中进行实体识别训练。
[0086]
参照图1,本发明基于目录主题分类的轨道交通规范实体识别方法,按照以下步骤
实施:
[0087]
步骤1,获取轨道交通规范实验语料。本发明的实验语料来源于国家建标库国家规范中《地铁设计规范[附条文说明]gb 50157

2013》,使用爬虫技术爬取这本规范进行实体识别研究。
[0088]
步骤2:对获取的轨道交通规范语料进行数据清洗。去除脏数据包括删除重复信息,纠正存在的错误,检查数据的一致性,对无效值和缺失值进行处理。
[0089]
步骤3:对清洗完成的数据进行文本分析。结合《建筑信息模型分类编码标准》和术语标注与术语学标准,专家定义地铁设计规范问题的实体类别。预定义实体类型具体如表1所示。
[0090]
表1预定义实体类型
[0091][0092]
步骤4,人工标注数据集。从规范化处理的语料库中,选取1650条规范进行数据标注。结合专家定义的实体类别和专业术语两个方面,人工标注每条规范中的所包含的实体,即标注出实体边界与实体类别。经过对标记数据的实体进行统计集,可得出,标注数据集中实体长度分布如图3所示,各个长度实体出现的频次分布如图4所示,数据集中最长的实体包含45个字符,最短的实体包含2个字符,平均长度为5.33,实体长度主要集中在5,3,7和4。这部分的统计数据对模型训练时超参数设置以及预测结果的分析有重要意义。
[0093]
步骤5,数据集划分。本实验数据以地铁设计规范条目信息对数据集进行划分,训练集、验证集与测试集的比例大约为7:2:1。
[0094]
步骤6,构建实验数据集。利用标注过实体的规范语料构建实验数据,生成用于命名实体识别任务的轨道交通数据集;采用bio标注模式,实验数据文件中只包含两列信息,实体和实体对应的标签。
[0095]
步骤6.1,我们通过标注工具标注的数据生成json文件,从json文件中提取出标注的实体类型和实体的起始位置和结束位置信息;
[0096]
步骤6.2,将采用bio标注策略与位置信息相结合的方式对原始规范文本进行序列标注,其中b(begin)、i(intermediate)、o(other)的缩写,其begin指所识别对象开始位置上的字符,intermediate指所识别对象最中间的字符,other指所识别对象中的非实体字符;基于bio标注体系的标注案例如图5所示;
[0097]
步骤6.3,序列标注后将其处理为深度学习模型规定的数据格式,数据文件中每个字符占一行,一行共包含实体和实体标签两列信息,生成轨道交通数据集。
[0098]
步骤7,构建领域自适应预训练数据集。通过各种渠道采集与建筑设计规范相关联的文本数据,经过简单清洗后(去除特殊符号,如换行符、制表符、html标签等),生成统一格式的json数据。数据集中包括《地铁设计规范》语料,还采集了其他建筑领域的语料,共811,120条规范文本。
[0099]
步骤8,构建轨道交通领域自适应预训练语言模型。将步骤7中得到的领域自适应预训练数据集输入到google提出的roberta

base预训练模型中,加入地铁设计规范的术语词典,生成中文轨道交通领域预训练语言模型。
[0100]
步骤8.1,本发明采用全词mask机制,如果一个完整的词的部分子词被mask,则同属该词的其他部分也会被mask,这更符合中文语法习惯,使模型能够更好的学习中文语言表述方式。
[0101]
步骤8.2,将人工标注的实体抽取形成实体词典,在调用jieba分词工具时,加入实体词典对输入的文本规范进行分词,以80%的概率将输入的token替换为[mask],10%的概率保持不变,以10%的概率替换为一个随机的token。将此机制引入到roberta模型的分词函数中使其能后在mask机制预测时轨道交通规范文本实体完整的语义,模型结构如图9所示。以“站台门噪声峰值不应超过70分贝”为例,加入了术语词典之后,预训练语言模型可以更加正确得表示“站台门”和“分贝”这两个实体。
[0102]
步骤8.3,将800k的轨道交通领域预训练数据和地铁设计规范实体词典输入进模型,设置训练迭代次数为200次,得到轨道交通领域的预训练模型roberta_800k。伪代码如下:
[0103][0104][0105]
bert(bidirectional encoder representations from transformers)模型是通
过联合所有层中的上下文信息。它使用多层的双向transformer作为编码器模块预先训练深度双向表示,bert

base包含12层transformer结构,每层隐状态的维度是768,使用12个头的多头注意力,总参数量约为110m。
[0106]
transformer的每个编码器(encoder)首先将输入的句子经过一个多头注意力(multi

head attention)层。如图6所示,多头注意力层帮助编码器在对每个单词进行编码时关注句子中的其他单词,然后将输入传递到前馈(feed

forward)神经网络中,每个位置的单词对应的前馈神经网络完全相同并且没有共享参数。multi

head attention上方还包括一个add&norm层,add表示残差连接(residual connection)用于防止网络退化,norm表示layer normalization,用于对每一层的激活值进行归一化。
[0107]
transformer中最关键的部分就是自注意力(self

attention)计算,在ner任务中,注意力机制可被用于寻找输入句子中相对重要的字或词,使用一个隐藏层和softmax函数计算句子中每个字或词的权重,使模型对于关键信息特别关注并进行充分学习。因为transformer在进行计算时输入句子和输出句子实际上是同一个序列,使得每个位置的词都有全局的语义信息,有利于建立长依赖关系。利用自注意力机制可以生成不同连接的权重,从而处理变长的信息序列。用x=[x1,x2,

,x
n
]表示n个输入信息,可以通过以下线性变换得到查询向量序列q,键向量序列k和值向量序列v,计算方法如公式1到公式3所示。
[0108]
q=w
q
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
[0110]
k=w
k
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式2
[0112]
v=w
v
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式3
[0114]
得到矩阵q,k,v之后就可以计算出self

attention的输出了,计算的公式为公式4:
[0115][0116]
其中,d
k
是q,k矩阵的列数,即向量的维度;k
t
为k矩阵的转置。
[0117]
transformer在自注意力机制的基础上还设置了多头注意力机制,网络结构如图7所示,h表示存在h个不同的自注意力机制;其中,每组q/k/v都不相同,用来扩大注意力层的“表示子空间”,然后得到多个不同的权重矩阵;每个权重矩阵可以将输入向量投射到不同的表示子空间,而不同的head可以学习到不同位置上不同的表示子空间的语义;前馈层不需要多个矩阵输入,因此需要将这些权重矩阵拼接之后做缩放点积运算(scale dot

product attention),保证前馈层所需的输入维度,使得多个encoder的输入输出维度保持一致。句子中各个词之间是并行计算的,没有考虑到词位于句子中的位置信息,即句子的序列信息,因此输入部分的词嵌入,是由词向量和词的位置编码两部分拼接(concat)形成的,然后传入到线性激活函数层(linear)。具体的计算方法如公式5到6所示。
[0118]
multihead(q,k,v)=concat(head1,

,head
n
)w
o
ꢀꢀꢀ
公式5
[0119]
head
i
=attention(qw
iq
,kw
ik
,vw
iv
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式6
[0120]
其中,w
o
是一个线性映射矩阵。最后,transformer引入位置编码(position embedding),为词向量中加入单词的位置信息,具体计算方法如公式7到8所示。
[0121][0122][0123]
在公式7和8中,pos表示单词的位置,i表示单词的维度。其中,2i表示偶数位置,2i 1表示奇数位置,pos∈(1,2,

,n),n为输入系列的长度,i∈(0,1,

,d
model
/2),d
model
是词嵌入的维度。
[0124]
步骤9,构建主题分类数据集。利用未标注过的规范语料构建主题分类数据集,生成用于主题分类任务的轨道交通数据集;经统计,《地铁设计规范[附条文说明]gb 50157

2013》中,共计29章,150小节。本方法将先采用节名对规范进行主题标记,如第一小节为运营模式,则文本规范标记格式为:3.3.3地铁列车除无人驾驶模式外,应至少配置一名司机驾驶或监控列车运行。1
[0125]
其中“1”代表第一节,这条规范属于第一节运营模式主题类别。
[0126]
步骤10,构建主题分类模型,将步骤8中生成的roberta_800k预训练语言模型和步骤9中构建的主题分类数据集作为文本分类模型的输入,生成cat

railroberta预训练模型。
[0127]
步骤10.1,文本分类任务将采用bert

cnn模型,模型结构如图8所示;bert模型利用步骤8训练好的领域自适应roberta_800k预训练模型,将模型文件导入。将bert层输出的文本表示向量输入卷积神经网络,可以帮助模型提取更多的特征信息,如局部的相对位置等信息,从而增强模型的鲁棒性与拓展性。
[0128]
在bert

cnn的文本分类模型中,假设bert层的输出矩阵为r={v1,v2,

,v
n
},卷积核的长度为l,滑动步长设置为1,那么r可以分为{v
1:l
,v
2:l 1
,

,v
n

l 1:n
},其中v
i j
表示向量v
i
到v
j
的级联。假设卷积操作后的结果为p={p1,p2,

,p
n
},p
i
的计算方法如公式9所示。
[0129]
p
i
=w
t
v
i:i l
‑1 b
[0130]
公式9
[0131]
其中w是卷积核的参数,通过模型的训练进行更新,b是偏移变量。此外,将采用最大池化降低矩阵的维度,即在池化窗口中选择最大的元素。
[0132]
步骤10.2,将步骤9中构建的主题分类数据集输入到bert

cnn模型中;将生成的具有文本分类信息的cat

railroberta预训练模型。
[0133]
步骤11,构建实体识别模型,将步骤10中生成的预训练语言模型文件和训练集作为实体识别模型的输入。
[0134]
步骤11.1,将步骤6中构建的实验数据集中输入到经过文本分类训练的cat

railroberta模型中,将一条规范转化为向量形式表示,得到一个句子的词向量、段向量和位置向量。cat

railroberta模型的文本向量化表示如图10所示,以规范“车辆基地室外消防栓的间距不应大于120m”为例,token embeddings是第一个单词cls标志,可以用于分类任务;segment embeddings是用来区分两种句子,可以用于以两个句子为输入的分类任务;position emdedding表示位置,三种embedding都是通过训练得来的。再将段向量和位置向量作为深度学习模型的输入,最后输出融合全文语义信息的文本特征向量。
[0135]
步骤11.2,将文本特征向量输入到bilstm

crf模型中,生成cat

railroberta

bilstm

crf实体识别模型,模型结构如图2所示。伪代码如下:
[0136][0137]
步骤12,设置训练的实体识别模型作为服务端测试模型效果,将测试数据集输入模型,可识别出测试数据的实体边界和实体类别标签,最终实现轨道交通规范文本中命名实体的自动识别。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献