1.本发明属于自然语言处理与地理大数据挖掘领域,具体涉及一种基于预训练语言模型和文本特征融合的地理实体识别与空间关系抽取方法。
背景技术:
2.空间关系作为描述地理实体之间相互约束、相互作用、相互关联状态的信息,是人类进行空间位置描述时不可或缺的连接信息。人们的日常生活交流会频繁涉及关于空间位置的描述,这类描述通常以一对地理实体对象加之空间关系的形式出现,其中空间关系启发人们从已知地理实体推理出未知地理实体的空间位置,连接了人类思想的语义空间和现实世界的物理空间。文本是日常生活中最常见的沟通交流与信息交互方式之一,其中包含了丰富的位置描述信息和相应的空间关系信息,然而由于文本表述的灵活性和模糊性,难以正确地理解文本中描述的空间位置。为了更充分地理解空间位置描述,准确识别文本中地理实体和空间关系成了亟待解决的科学问题。
3.为了获取文本中的空间关系,一直以来研究人员借鉴自然语言处理的关系抽取方法,陆续提出基于规则模板、基于机器学习的关系抽取方法来获取文本中的空间关系。基于规则模板的自然语言空间关系获取方法是通过罗列空间词汇、明确空间关系定义、构建空间关系特征词词典和归纳句法模式等步骤制定抽取规则和模板来获取空间关系,但由于过分依赖专家知识和无法完整归纳抽取规则等缺陷,导致该种抽取方法泛化能力差,抽取结果召回率低。基于机器学习的自然语言空间关系获取方法是引入频率统计、bootstrapping方法、核方法和支持向量机等统计学习方法提取自然语言的关键特征,从而很大程度上摆脱了对规则模板的依赖,但还存在难以适用于空间关系实例分布稀疏的问题。基于深度学习,有许多科研人员通过联合抽取的方法,即使用同一个编码器来表示文本中的实体信息和关系信息,增强实体识别和关系抽取两项任务之间的依赖关系,解决实体识别和关系抽取作为独立任务带来的误差累积问题,从而缓解空间关系实例分布稀疏对模型带来的影响。
4.然而,已有的实验和分析表明联合抽取并不是一种理想的关系抽取方法,盲目地共享实体和关系的上下文表示反而会损害模型的空间抽取性能。除此之外,联合抽取方法并没有充分地顾及实体类型信息和关系特征词信息,没有全面地考虑到实体类型和关系特征词对于关系分类任务的影响,难以进一步缓解空间关系实例分布稀疏带来的问题。
技术实现要素:
5.本发明目的在于针对现有空间关系抽取方法在抽取文本中空间关系时存在的缺陷和不足,提出了一种基于预训练语言模型与文本特征融合的空间关系抽取方法,该方法面向真实文本数据,结合大规模语料数据训练得到的预训练语言模型,充分顾及文本中的空间关系特征词,有效解决间关系实例分布稀疏问题。
6.本发明解决上述技术问题所采取的技术方案是一种基于预训练语言模型与文本
特征融合的空间关系抽取方法,该方法包括如下步骤:
7.步骤1:首先对文本数据进行预处理,利用正则表达式去除文本中的“¥#%$”和空格等无意义字符,确保双引号或单引号前后引号完整匹配。然后,逐字符分割文本数据,并在文本数据切分结果的开头和结尾处添加[cls]和[sep]标识符。若文本数据为批量输入,则需要确保每条文本数据长度一致,长度较短的文本数据使用[pad]标识符来填充。
[0008]
步骤2:将经过预处理的文本数据输入预训练语言模型,文本数据逐字符切分结果 t={t1,t2,..,tn}被转化为稠密实数字向量z={z1,z2,..,zn}。
[0009]
步骤3:由步骤2得到的稠密实数字向量分别输入两个单层前馈神经网络,前馈神经网络作为二分类器用于预测字向量zi是否为地理实体或空间关系特征词的开头字符或结尾字符。两个单层前馈神经网络的预测结果分别被记录在pos
start
和pos
end
索引集合中,索引集合按照升序排序。基于稠密实数字向量z={z1,z2,..,zn}、pos
start
和 pos
end
索引集合,选取一对开始索引和结束索引[i,j],并通过最大池化(max pooling) 的方法融合z中zi到zj的字向量,从而组成字符跨度表示(span representation)。在开始、结束索引选取过程中严格依据就近原则,并要求开始索引和结束索引不重复出现。
[0010]
步骤4:基于步骤3获取的字符跨度表示输入单层前馈神经网络,预测开始索引和结束索引[i,j]所对应的字符跨度表示的实体类型,类型包括具体的地理实体(山脉、河流、行政区划等),空间关系特征词或。代表该字符跨度表示不属于任何地理实体或空间关系特征词类型。
[0011]
步骤5:基于步骤4的地理实体预测结果,模型自动在源文本数据的开始、结束位置前后添加地理实体标记,用于标记模型所识别地理实体在文本中的位置,同时更新空间关系特征词的开始与结束位置信息。在地理实体标记添加完毕之后,新生成的文本数据输入到用于关系抽取的预训练语言模型中,生成对应的低维稠密字向量。模型通过平均池化(average pooling)方法融合实体开始与结束标记字向量来表示地理实体,通过最大池化(max pooling)方法融合对应的字向量来表示空间关系特征词。
[0012]
步骤6:首先,模型拼接任意一对地理实体与空间关系特征词的向量表示,通过自注意力机制(self-attention)将拼接后的向量表示融合为文本特征向量;然后,将文本特征向量输入到用于空间关系分类的前馈神经网络中;最后,模型依据前馈神经网络输出的概率信息判定地理实体间的空间关系。
[0013]
进一步地,本发明基于大规模的地理学领域文本数据,预训练语言模型通过自监督学习方法从文本数据中学习语法规则和挖掘隐含语义,以字符粒度分割的文本数据作为输入,模型从字符本身、位置和语义三方面编码文本数据,生成字向量矩阵,矩阵的维度分别为预训练语言模型设置的输出维度大小和输入文本字符长度。
[0014]
进一步地,本发明的空间关系抽取流程中,地理实体识别和空间关系分类两项子任务中使用独立的两个预训练语言模型,在模型训练过程中,两个预训练语言模型互不影响,可独立地更新参数,从而更好地生成符合子任务要求的字向量表示,预训练语言模型生成文本数据t的字向量表示z可表示为z=bert(t),t={t1,t2,..,tn},z= {z1,z2,..,zn},n表示文本数据每条样本中字符的数量。
[0015]
进一步地,由单层前馈神经网络构成的二分类器,两个二分类器分别用于预测文本数据中地理实体、空间关系特征词的开始与结束位置,二分类器以预训练语言模型生成
的字向量表示为输入,输出仿射运算和gelu激活函数计算结果,并根据设置的阈值和输出结果来判定当前字符是否为地理实体或空间关系特征词的开始或结束位置,上述过程可以通过公式表述为pos
start
=gelu(w
start
z b
start
),pos
end
=gelu(w
end
z b
end
),ifpos
start
》δthen1else0。
[0016]
进一步地,基于池化方法融合开始和结束索引之间的字向量表示来生成字符跨度表示,最大池化方法充分顾及每个字向量的各个维度,选取作为每一维度的最大值融合为最终字向量表示;平均池化方法注重边界字向量的特征,地理实体边界标记字向量通过平均求和的方式来表示地理实体,模型进而更好地学习实体的边界特征和类型特征,两种池化方法具体地可以表示为s
[i-j]
=max([zi;z
i 1
;
…
;zj])和])和
[0017]
进一步地,本发明模型通过拼接地理实体和空间特征词的字向量形成文本特征矩阵,基于自注意力机制,通过参数wq、wk和wv分别生成查询矩阵q、键矩阵k和值矩阵v,然后利用softmax函数进一步融合上述三类矩阵,生成指定维度大小的文本特征向量。
[0018]
有益效果:
[0019]
1.本发明采用预训练语言模型替代word2vec模型,获得上下文信息更完全的字向量表示。
[0020]
2.本发明基于前馈神经网络构建一组二分类器来判定文本中地理实体、空间关系特征词的开始与结束位置,进一步降低了开始与结束位置算法的时间损耗。
[0021]
3.本发明通过平均池化(average pooling)和最大池化(max pooling)方法融合字向量,生成字符跨度表示来表示地理实体和空间特征词。相较于已有对单个字进行序列标注的方法,字符跨度表示更符合人的思维模式,能够有效降低单个字语义过于离散引入的识别误差,进一步提高地理实体和空间特征词的识别精度
[0022]
4.本发明基于自注意力机制融合地理实体对和空间关系特征词的向量表示,从而融合地理实体类型和空间关系特征词这两类关键的文本特征,生成语义更完整的向量表示。
附图说明
[0023]
图1为本发明基于预训练语言模型和文本特征融合的空间关系抽取方法技术流程图。
[0024]
图2为实例中所采用的文本数据预处理过程示意图。
[0025]
图3为实例中生成字符跨度表示的过程示意图。
[0026]
图4为地理实体类型与空间关系特征词的文本特征融合过程示意图。
具体实施方式
[0027]
下面结合说明书附图对本发明的具体实施作详细的说明,基于预训练语言模型与文本特征融合的空间关系抽取方法包含以下步骤:
[0028]
(1)对原始文本数据进行预处理,利用正则表达式去除文本中无意义的字符和空格,并在文本数据的开头和结束部分加入[cls]和[sep]标记。经过预处理的文本数据t 输入预训练语言模型(默认为bert预训练语言模型),生成与输入数据对应的字向量表示z。
[0029]
z=bert(t),t={t1,t2,..,tn},z={z1,z2,..,zn}
[0030]
若输入文本数据是批量的,模型将确保所有输入的文本数据长度一致,长度较短的文本数据将使用[pad]符号填充。
[0031]
(2)预训练语言模型生成的文本字向量表示被输入到两个独立的二分类器中,分别预测文本中地理实体与空间关系特征词的开始和结束位置。预测结果按照就近原则分配开始、结束位置索引,构建地理实体、空间关系特征词[开始,结束]索引对。
[0032]
pos
start
=gelu(w
start
z b
start
),pos
end
=gelu(w
end
z b
end
)
[0033]wstart
和w
end
分别表示两个二分类器的参数矩阵,b
start
和b
end
分别表示两个二分类器的偏置系数。pos
start
与pos
end
分别表示地理实体或空间关系特征词的开始和结束位置。
[0034]
1)本发明提出的开始、结束位置二分类器是由单层前馈神经网络构建而成,前馈神经网络将单个字的向量表示映射到一维张量,并根据设定的超参数阈值来判定是否为地理实体、空间关系特征词的开始或结束位置。
[0035]
2)本发明提出的[开始,结束]索引对构建方法,依据就近原则来匹配开始位置和结束位置。具体地,开始位置和结束位置按照升序进行排序,以开始位置序列为基准,遍历序列中所有的开始位置,挑选符合规则的结束位置进行匹配。按照匹配规则,任意一对[开始,结束]对均不会囊括其他的开始位置或结束位置。
[0036]
(3)基于步骤(2)构建的[开始,结束]索引对,通过最大池化(max pooling) 方法来融合开始位置至结束位置的字向量表示,生成对应的字符跨度表示。基于前馈神经网络,对生成的每一个字符跨度表示进行识别,判断该字符跨度表示的实体类型 (地理实体、空间特征词或)。
[0037]s[i-j]
=max([zi;z
i 1
;
…
;zj])
[0038]
entity class=softmax(w
entitys[i-j]
b
entity
)
[0039]wentity
表示实体识别过程中前馈神经网络的参数矩阵,b
entity
表示该前馈神经网络的偏置系数。
[0040]
(4)结合步骤(3)得到的地理实体类型识别结果,首先在文本源数据对应的位置添加实体开始和实体结束标志,同时更新被预测为地理实体或空间关系特征词的开始、结束位置。然后,添加开始、结束标志后的文本输入到另一个预训练语言模型中,并生成对应的字向量表示。最后,通过平均池化(average pooling)方法融合开始与结束标记的字向量来表示地理实体,通过最大池化(max pooling)方法融合开始至结束位置各个字向量表示空间关系特征词。
[0041]z′
=bert
′
(t
′
),t
′
={t
′1,t
′2,
…
,t
′m},z={z
′1,z
′2,
…
,z
′m}
[0042][0043]sfeature word-[k-l]
=max([zk;z
k 1
;
…
;z
l
])
[0044]
i,j分别表示模型预测的地理实体开始标记和结束标记位置,k,l分别表示模型预测的空间特征词开始和结束位置。
[0045]
(5)模型首先会以组合的形式来匹配地理实体,构成候选地理实体对集合。接下来,模型选取集合中任意一对地理实体,以及空间关系特征词所对应的字向量表示,并拼接这些字向量表示;然后,通过自注意力机制(self-attention)将拼接后的向量表示融合为
文本特征向量;最后,将文本特征向量输入到用于空间关系分类的前馈神经网络中,依据前馈神经网络输出的概率信息判定地理实体间的空间关系。
[0046]
s=concat(s
entity-sub
;s
entity-obj
;s
featureword_1
;
…
;s
featureword_p
)
[0047][0048]sentity-sub
与s
entity-obj
分别代表主体与客体的字符跨度表示,s
featureword_i
表示模型识别出的每一个空间关系特征词字向量,wq、wk和wv分别代表查询向量生成参数矩阵,键向量生成参数矩阵和值向量生成参数矩阵,wr和br分别表示空间关系分类的前馈神经网络参数矩阵和偏置系数。
[0049]
如图1所示,本发明基于预训练语言模型与文本特征融合的空间关系抽取方法主要由以下三个部分组成:
[0050]
1.基于预训练语言模型的文本字向量生成。
[0051]
2.基于开始和结束位置索引与池化方法的字符跨度表示生成。
[0052]
3.顾及地理实体类型和空间关系特征词的文本特征融合。
[0053]
以来自《中国百科全书(地理)》的中文文本数据为例来详细描述本发明空间关系抽取方法的详细流程。
[0054]
(1)中文文本数据预处理与基于预训练语言模型的字向量生成。
[0055]
如图2所示,选取文本数据“a镇位于b县东北境。”,按照数据预处理步骤,对文本数据按字符分词,并在数据的开头和结尾分别添加[cls]和[sep]符号。预处理后的文本数据输入预训练语言模型,生成统一维度的字向量表示矩阵。
[0056]
(2)基于二分类器的地理实体与空间关系特征词的开始、结束位置识别。
[0057]
预训练语言模型生成的文本字向量表示被输入到两个独立的二分类器中,分别预测文本中地理实体与空间关系特征词的开始和结束位置。针对实例“[cls]a镇位于b 县东北境。[sep]”,二分类器预测结果之一为开始位置1,结束位置3。
[0058]
(3)基于开始、结束位置对的字符跨度表示生成。
[0059]
如图3所示,基于二分类器预测的地理实体的开始和结束位置,以及文本数据的字向量表示,通过最大池化(max pooling)方法来融合开始位置至结束位置的字向量来生成字符跨度表示。实例中“a”、“镇”两个字符的字向量进行融合,生成字符跨度表示来表征“a镇”。
[0060]
(4)文本数据的地理实体与空间关系特征词识别。
[0061]
基于前馈神经网络,输入生成的每一个字符跨度表示,判断该字符跨度表示的实体类型(地理实体、空间特征词或)。实例中,模型的识别结果为“a镇”、“位于”、“b县”和“东北”,其中“a镇”和“b县”属于地理实体中的行政区划,而“位于”、“东北”则属于空间关系特征词。模型将基于识别结果文本源数据对应的位置添加实体开始和实体结束标志,同时更新被预测为地理实体或空间关系特征词的开始、结束位置。然后,模型将添加开始、结束标志后的文本输入到另一个预训练语言模型中,再次生成对应的字向量表示。最后,通过平均池化(average pooling)方法融合开始与结束标记的字向量来表示地理实体,通过最大池
化(max pooling)方法融合开始至结束位置各个字向量表示空间关系特征词。
[0062]
(5)基于自注意力机制的文本特征融合与空间关系抽取
[0063]
模型首先会依据地理实体识别结果,以组合的形式来匹配地理实体,构成候选地理实体对集合。然后,如图4所示,模型选取集合中的(“a镇”,“b县”),以及空间关系特征词,并拼接上述要素对应的字向量表示;然后,通过自注意力机制(self-attention) 将拼接后的向量表示融合为文本特征向量;最后,将文本特征向量输入到用于空间关系分类的前馈神经网络中,依据前馈神经网络输出的概率信息判定地理实体间的空间关系。
[0064]
结合本例,本发明提出的方法运用预训练语言模型生成字向量,同时,也顾及了地理实体类型和空间关系特征词与空间关系之间的关联关系,该方法具有良好的抽取性能和可解释性。
[0065]
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可想到的变换或替换,都应涵盖在本发明的包含范围之内。
技术特征:
1.基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于包括以下步骤:步骤1:对原始文本数据进行预处理,利用正则表达式去除文本中的无意义字符,确保文本中前后引号完整匹配,对处理后的文本数据逐字符分词,并在分词结果的开头和结尾处添加[cls]和[sep]标识符,若以批量形式输入文本数据,则需确保每条文本数据长度一致,长度较短的文本数据使用[pad]标识符来填充;步骤2:将经过预处理的文本数据输入预训练语言模型,文本数据逐字符分词结果t={t1,t2,..,t
n
}被转化为稠密实数字向量z={z1,z2,..,z
n
};步骤3:将步骤2得到的字向量分别输入两个由单层前馈神经网络构成的二分类器,预测字向量z
i
是否为地理实体或空间关系特征词的开头或结尾,两个二分类器的预测结果分别被记录在pos
start
和pos
end
索引集合中,并按照索引升序排序,pos
start
=gelu(w
start
z b
start
),pos
end
=gelu(w
end
z b
end
)基于字向量z={z1,z2,..,z
n
}、pos
start
和pos
end
索引集合,按照就近原则选取一对开始和结束索引[i,j],并通过最大池化方法融合z中z
i
到z
j
的字向量,生成字符跨度表示;步骤4:将步骤3中生成的字符跨度表示输入由单层前馈神经网络构建的实体识别器,预测该字符跨度表示的实体类型,s
[i-j]
=max([z
i
;z
i 1
;
…
;z
j
])entity class=softmax(w
entity
s
[i-j]
b
entity
)实体类型包括具体地理实体类型、空间关系特征词或实体类型包括具体地理实体类型、空间关系特征词或代表该字符跨度表示不属于任何地理实体或空间关系特征词类型;步骤5:依据文本中地理实体的预测结果,模型自动在源文本数据开始、结束位置前后添加地理实体标记,同时更新空间关系特征词在源文本数据中的开始与结束位置信息,地理实体标记添加完毕之后,新生成的文本数据输入到另一个预训练语言模型中,生成对应的文本字向量,模型通过平均池化方法融合开始与结束标记的字向量来表示地理实体,通过最大池化方法融合所属字向量来表示空间关系特征词;步骤6:模型以组合的形式来匹配地理实体,构成候选地理实体对集合,选取集合中任意一对地理实体,以及空间关系特征词所对应的字向量表示,并将上述字向量表示进行拼接处理;通过自注意力机制将拼接后的向量表示融合为文本特征向量;将文本特征向量输入到用于空间关系分类的前馈神经网络中,依据前馈神经网络输出的概率信息判定地理实体间的空间关系,s=concat(s
entity-sub
;s
entity-obj
;s
featureword_1
;
…
;s
featureword_p
)relation class=softmax(w
r
s
′
b
r
)。2.根据权利要求1所述的基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于,基于大规模的地理学领域文本数据,预训练语言模型通过自监督学习方法从文本数据中学习语法规则和挖掘隐含语义,以字符粒度分割的文本数据作为输入,模型从字符本身、位置和语义三方面编码文本数据,生成字向量矩阵,矩阵的维度分别为预训练语
言模型设置的输出维度大小和输入文本字符长度。3.根据权利要求1所述的基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于,空间关系抽取流程中,地理实体识别和空间关系分类两项子任务中使用独立的两个预训练语言模型,在模型训练过程中,两个预训练语言模型互不影响,可独立地更新参数,从而更好地生成符合子任务要求的字向量表示,预训练语言模型生成文本数据t的字向量表示z可表示为z=bert(t),t={t1,t2,..,t
n
},z={z1,z2,..,z
n
},n表示文本数据每条样本中字符的数量。4.根据权利要求1所述的基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于,由单层前馈神经网络构成的二分类器,两个二分类器分别用于预测文本数据中地理实体、空间关系特征词的开始与结束位置,二分类器以预训练语言模型生成的字向量表示为输入,输出仿射运算和gelu激活函数计算结果,并根据设置的阈值和输出结果来判定当前字符是否为地理实体或空间关系特征词的开始或结束位置,上述过程可以通过公式表述为pos
start
=gelu(w
start
z b
start
),pos
end
=gelu(w
end
z b
end
),if pos
start
>δthen 1 else 0。5.根据权利要求1所述的基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于,基于池化方法融合开始和结束索引之间的字向量表示来生成字符跨度表示,最大池化方法充分顾及每个字向量的各个维度,选取作为每一维度的最大值融合为最终字向量表示;平均池化方法注重边界字向量的特征,地理实体边界标记字向量通过平均求和的方式来表示地理实体,模型进而更好地学习实体的边界特征和类型特征,两种池化方法具体地可以表示为s
[i-j]
=max([z
i
;z
i 1
;
…
;z
j
])和6.根据权利要求1所述的基于预训练语言模型与文本特征融合的空间关系抽取方法,其特征在于,模型通过拼接地理实体和空间特征词的字向量形成文本特征矩阵,基于自注意力机制,通过参数w
q
、w
k
和w
v
分别生成查询矩阵q、键矩阵k和值矩阵v,然后利用softmax函数进一步融合上述三类矩阵,生成指定维度大小的文本特征向量。
技术总结
本发明公开了基于预训练语言模型和文本特征融合的空间关系抽取方法,首先对文本数据进行清洗和预处理,利用预训练语言模型实现单条或批量文本数据向低维字向量的转化,保证不同长度的文本数据转化而来的低维字向量维度能保持一致;然后由前馈神经网络构成的二分类器和字向量预测文本中地理实体、空间关系特征词的开始与结束位置,并依据开始、结束位置和字向量表示,通过池化方法来生成字符跨度表示;最后依据字符跨度表示来进行地理实体识别和空间关系分类两项任务,进而实现文本空间关系抽取。本发明很好地顾及了地理实体类型、空间关系特征词与空间关系抽取的关联关系,实现了面向文本的三元组形式空间关系抽取,具有较好的拓展性和普适性。好的拓展性和普适性。好的拓展性和普适性。
技术研发人员:张雪英 吴恪涵 王益鹏
受保护的技术使用者:南京师范大学
技术研发日:2021.11.12
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-7720.html