一种面向中文人物关系网络的实体关系联合抽取方法与流程

文档序号:33643540发布日期:2023-03-29 02:48阅读:107来源:国知局
一种面向中文人物关系网络的实体关系联合抽取方法与流程

1.本发明涉及涉及自然语言信息抽取领域,更具体地说,涉及一种面向中文人物关系网络的实体关系联合抽取方法。


背景技术:

2.随着互联网技术的高速发展,互联网中的数据量也在飞速增长,面对海量数据,人们要求获取到的信息更加简洁准确,而互联网中存在的大量人物关系数据是由非结构化的语料来表达的,知识抽取难度较大,针对海量非结构化文本数据,高效而又简洁的知识抽取方法显得尤为重要。
3.现有技术中存在一些实体关系抽取方法:
4.1.基于管道模型(pipeline)的知识抽取方法:管道模型把实体关系抽取分成两个子任务,实体识别和关系分类,两个子任务按照顺序依次执行,之间没有交互。两个模型灵活性高,实体与关系模型可以使用独立的数据集,并不需要同时标注实体和关系的数据集。
5.2.基于联合模型(joint)的知识抽取方法:上述方式会降低实体与关系之间的关联性且存在误差累积问题,而以tplinker模型为代表的联合抽取方式直接抽取实体与关系,降低可能存在的累积误差,但过高的模型复杂度,可能受计算机内存上的限制,导致模型训练过慢。
6.现如今,随着网络技术的发展,人们更习惯使用网络来获取信息和交流沟通,人物关系网越发庞大,对获取信息的精确度需求也越来越高。庞大的人物社交网络中存在大量的语义信息,而传统的搜索引擎逐渐不能满足人们高效精准的检索需求,局限性主要存在于检索结果需要手动分析筛选,并且在检索过程中没有关注语句的语义信息,导致效果不理想。
7.为了解决上述问题,知识库的信息检索方式被提出,知识库形式多样,知识图谱以三元组的方式存储海量信息,能够帮助计算机理解用户需求,高效精确的返回答案。而信息抽取是构建大规模知识图谱的必备关键,如何从海量的非结构化文本中,快速精确的抽取大量人物关系数据变得尤为重要。


技术实现要素:

8.本发明所要解决的技术问题是针对背景技术的不足提供一种对海量非结构化中文文本快速准确的抽取人物相关三元组关系的方法,帮助构建中文人物关系知识库,向用户推送更加准确的信息。
9.本发明为解决上述技术问题采用以下技术方案:
10.一种面向中文人物关系网络的实体关系联合抽取方法,包含人物关系文本预处理、预定义知识库schema、基于轻量级的词嵌入模型albert的tplinker模型训练、人物关系三元组抽取四部分;
11.其中,基于albert的tplinker模型训练,具体包含如下步骤:
12.步骤c1,设置隐含层数hidden_size,向量维度embedding_dim,跨层共享参数标识reuse;albert将使用以下步骤对词嵌入模型参数进行优化:
13.步骤c11,对词嵌入参数进行因式分解,albert采用因式分解的方法来降低bert算法的参数量,针对大小为v的词汇表,它认为embedding_dim《《hiddern_size,故albert算法首先把one-hot向量映射到一个大小为e的低尺寸的向量空间,然后再将其投影到h大小的隐藏空间中,即o(v
×
h)转换成o(v
×
e+e
×
h),
14.其中,e就是embedding_dim的大小,h为hidden_size的大小,v是词表的大小,是词嵌入模型所有词汇的个数;一般设置embedding_dim=128,hidden_size=768;
15.步骤c12,跨层的参数共享cross-layerparameter sharing,对bert算法的全连接层与注意力层都进行参数共享,即共享编码器内的所有参数,通过设置reuse=true开启跨层参数共享,以此减少模型参数;其中,reuse为跨层共享参数标识;
16.步骤c2,初始化嵌入层模型参数:当前数据批次大小batch_size,最大序列长度max_seq_len,向量维度embedding_dim,根据albert算法输出当前批次的词嵌入向量,步骤如下;
17.步骤c21,将输入序列转换成向量作为嵌入层模型输入,向量表达式为:
18.x
embedding
=token
embedding
+segnent
embedding
+position
embedding
19.其中,token
embedding
是当前token的词向量,segment
embedding
表明当前词属于哪个句子,position
embedding
为学习到的位置编码;
20.步骤c22,注意力机制进行特征提取,表达式为:
[0021][0022]
其中,q、k、v是词向量矩阵,dk为向量维度;
[0023]
步骤c23,特征输出,得到输入序列的词嵌入表示,表达式为:
[0024]
x
attention
=layernorm(x+x
attention
)
[0025]
x
hidden
=activate(linear(linear(x
attention
)))
[0026]
其中,layernorm为归一化函数,linear为全连接层,activate为relu激活函数;
[0027]
步骤c3,设置tplinker算法的模型参数,学习因子lr,训练迭代次数epoch和向量维度embedding_dim,数据批次大小batch_size,滑动块大小sliding_len,tplinker对词嵌入向量进行编码操作。
[0028]
作为本发明一种面向中文人物关系网络的实体关系联合抽取方法的进一步优选方案,所述步骤c3具体如下:
[0029]
步骤c31,token词对的表示法:
[0030]
给定一个长度为n的句子[w1,

,wn],通过一个基本编码器将每个wi映射成一个低维的上下文向量hi;wi为句子的第i个字符token;
[0031]
为token对(wi,wj)生成一个表示法h
ij
,如下所示;
[0032]hi,j
=tanh(wh[hi;hj]+bh)j≥i
[0033]
其中,wh是一个参数矩阵,bh是在训练过程中要学习的一个bias向量;
[0034]
步骤c32,握手标记器:
[0035]
给定一个标注对代表h
ij
,标注对(wi,wj)的链接标签由以下表达式预测;
[0036]
p(y
i;j
)=softmax(wo*h
i,j
+bo)
[0037]
link(wi,wj)=argmaxp(y
i;j
=l)
[0038]
其中,p(y
i;j
=l)代表识别(wi,wj)的链接为l的概率;
[0039]
步骤c33,采用人工标注之后的训练集对tplinker模型进行模型训练,得到最优的tplinker实体关系抽取模型。
[0040]
作为本发明一种面向中文人物关系网络的实体关系联合抽取方法的进一步优选方案,所述人物关系文本预处理,具体如下:
[0041]
步骤a1,对html页面进行解析,根据网页特征分析,对于百科人物信息,需要解析的是基本信息、人物关系、早年经历、个人生活多个网页标签;
[0042]
其中,基本信息属于半结构化数据,经整理为三元组可存为知识库;
[0043]
步骤a2,数据预处理包括数据清洗和长句处理,结构化、半结构化数据经清洗可存为知识库,长句处理是利用语言技术平台ltp工具是对人物关系、个人生活等语料进行长句分割、指代消解、语句标注工作。
[0044]
作为本发明一种面向中文人物关系网络的实体关系联合抽取方法的进一步优选方案,所述步骤a2流程具体如下:
[0045]
步骤a21,根据特殊分隔符,将预料分为短句,使用ltp的分词函数segmentor.segment()进行分词;词性标注函数postagger.postag()对分词短句进行词性标注;
[0046]
步骤a22,对语料进行依存句法分析,若结果没有主谓依存关系sbv,则在句首添加人物作为主语;若存在主谓依存关系sbv,但标注的主语是人称代词,则转换为人物名称。
[0047]
作为本发明一种面向中文人物关系网络的实体关系联合抽取方法的进一步优选方案,所述预定义知识库schema,具体如下:
[0048]
步骤b1,制定人物关系网络包含的实体、关系类型;
[0049]
实体类型包含:人物、地址、机关单位、企业机构、学校;
[0050]
关系类型包含:父亲、母亲、儿子、女儿、丈夫、妻子、籍贯、出生地、工作地、任职单位、任职机构、毕业院校、工作院校;
[0051]
步骤b2,对预处理后的文本语料进行人工标注,分别标注包含的实体与关系,并将标注结果的80%作为训练集,20%作为验证集。
[0052]
作为本发明一种面向中文人物关系网络的实体关系联合抽取方法的进一步优选方案,所述人物关系三元组抽取,具体如下:
[0053]
步骤d1,对html页面进行解析,对基本信息、人物关系、早年经历、个人生活等多个标签内容进行解析,并对其进行数据清洗和长句处理,将处理之后的文本输入到albert词嵌入层,进而生成对应的词嵌入表示并将其作为抽取模型的输入;
[0054]
步骤d2,使用最优模型对非结构化文本进行抽取,由于原始模型在抽取时,不能提取到三元组中头尾实体的类型,使用预定义的知识库schema信息对抽取的三元组进行头为实体类型映射,得到包含头尾实体类型的三元组信息。
[0055]
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
[0056]
本发明一种对海量非结构化中文文本快速准确的抽取人物相关三元组关系的方
法,帮助构建中文人物关系知识库,向用户推送更加准确的信息;针对tplinker模型存在大量参数,而在海量数据训练过程中达到内存限制,导致训练过慢等问题,做出了以下改进;采用预训练的albert词嵌入向量作为模型的词嵌入层输入,它设计了参数减少的方法,用来降低内存消耗,同时加快模型的训练速度;对于tplinker算法在解码时无法输出三元组头尾实体类型的问题,采用预定义知识库schema的方式解决该问题。
附图说明
[0057]
图1是本发明基于albert的tplinker的实体关系抽取方法流程图;
[0058]
图2是本发明基于albert的tplinker实体关系联合抽取方法流程图。
具体实施方式
[0059]
下面结合附图对本发明的技术方案做进一步的详细说明:
[0060]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0061]
如图1所示,包含人物关系文本预处理、预定义知识库schema、基于albert(alite bert,轻量级的词嵌入模型)的tplinker(token pair linker,词对链接)模型训练、人物关系三元组抽取四部分具体如下:
[0062]
人物关系文本预处理:
[0063]
步骤a1,对html页面进行解析,根据网页特征分析,对于百科人物信息,需要解析的是基本信息、人物关系、早年经历、个人生活等多个网页标签。
[0064]
其中,基本信息属于半结构化数据,经整理为三元组可存为知识库;
[0065]
步骤a2,数据预处理包括数据清洗和长句处理,结构化、半结构化数据经清洗可存为知识库,长句处理是利用ltp(language technology platform,语言技术平台)工具是对人物关系、个人生活等语料进行长句分割、指代消解、语句标注工作,流程如下:
[0066]
步骤a21,根据特殊分隔符,将预料分为短句,使用ltp的分词函数segmentor.segment()进行分词;词性标注函数postagger.postag()对分词短句进行词性标注;
[0067]
步骤a22,对语料进行依存句法分析,若结果没有主谓依存关系sbv(主谓关系),则在句首添加人物作为主语;若存在sbv关系,但标注的主语是人称代词,则转换为人物名称;
[0068]
预定义知识库schema:
[0069]
步骤b1,制定人物关系网络包含的实体、关系类型;
[0070]
实体类型包含:人物、地址、机关单位、企业机构、学校,共5类;
[0071]
关系类型包含:父亲、母亲、儿子、女儿、丈夫、妻子、籍贯、出生地、工作地、任职单位、任职机构、毕业院校、工作院校,共13类;
[0072]
步骤b2,对预处理后的文本语料进行人工标注,分别标注包含的实体与关系,并将标注结果的80%作为训练集,20%作为验证集;
[0073]
基于albert的tplinker模型训练:
[0074]
步骤c1,设置隐含层数hidden_size,向量维度embedding_dim,跨层共享参数标识reuse;albert将使用以下步骤对词嵌入模型参数进行优化:
[0075]
步骤c11,对词嵌入参数embedding进行因式分解(factorized embedding parameterization),
[0076]
albert采用因式分解的方法来降低bert(bidirectional encoder representation from transformer,双向transformer编码器)算法的参数量,针对大小为v的词汇表,
[0077]
它认为embedding_dim《《hiddern_size,故albert算法首先把one-hot(独热编码)向量映射到一个大小为e的低尺寸的向量空间embedding space,然后再将其投影到h大小的隐藏空间中,即o(v
×
h)转换成o(v
×
e+e
×
h),v就是词表的大小,是词嵌入模型所有词汇的个数,和数据输入有关,没有固定大小;这里的e就是embedding_dim的大小,h为hidden_size的大小。
[0078]
一般设置embedding_dim=128,hidden_size=768;
[0079]
步骤c12,跨层的参数共享(cross-layer parameter sharing),对原始算法的全连接层与attention(注意力)层都进行参数共享,即共享encoder(编码器)内的所有参数,通过设置reuse=true开启跨层参数共享,以此减少模型参数;其中,reuse为跨层共享参数标识。
[0080]
步骤c2,初始化嵌入层模型参数:当前数据批次大小batch_size,最大序列长度max_seq_len,向量维度embedding_dim,根据albert算法输出当前批次的词嵌入向量,步骤如下;
[0081]
步骤c21,将输入序列转换成向量作为嵌入层模型输入,向量表达式为:
[0082]
x
embedding
=token
embedding
+segment
embedding
+position
embedding
[0083]
其中,token
embedding
是当前token的词向量,segment
embedding
表明当前词属于哪个句子,position
embedding
为学习到的位置编码;
[0084]
步骤c22,注意力机制进行特征提取,表达式为:
[0085][0086]
其中,q、k、v是词向量矩阵,dk为向量维度;
[0087]
步骤c23,特征输出,得到输入序列的词嵌入表示,表达式为:
[0088]
x
attention
=layernorm(x+x
attention
)
[0089]
x
hidden
=activate(linear(linear(x
attention
)))
[0090]
其中,layernorm为归一化函数,linear为全连接层,activate为relu激活函数;
[0091]
步骤c3,设置tplinker算法的模型参数,学习因子lr,训练迭代次数epoch和向量维度embedding_dim,数据批次大小batch_size,滑动块大小sliding_len,tplinker对词嵌入向量进行编码操作,步骤如下:
[0092]
步骤c31,token对的表示法
[0093]
给定一个长度为n的句子[w1,

,wn],首先通过一个基本编码器将每个wi映射成一个低维的上下文向量hi。然后,为token对(wi,wj)生成一个表示法h
ij
,如下所示;
[0094]hi,j
=tanh(wh[hi;hj]+bh)j≥i
[0095]
其中,wh是一个参数矩阵,bh是在训练过程中要学习的一个bias向量;
[0096]
步骤c32,握手标记器:
[0097]
给定一个标注对代表h
ij
,标注对(wi,wj)的链接标签由以下表达式预测;
[0098]
p(y
i;j
)=softmax(wo*h
i,j
+bo)
[0099]
link(wi,wj)=argmaxp(y
i;j
=l)
[0100]
其中,p(y
i;j
=l)代表识别(wi,wj)的链接为l的概率;
[0101]
步骤c33,采用人工标注之后的训练集对tplinker模型进行模型训练,最终得到最优的tplinker实体关系抽取模型;
[0102]
人物关系三元组抽取:
[0103]
步骤d1,对html页面进行解析,对基本信息、人物关系、早年经历、个人生活等多个标签内容进行解析,并对其进行数据清洗和长句处理,将处理之后的文本输入到albert词嵌入层,进而生成对应的词嵌入表示并将其作为抽取模型的输入;
[0104]
步骤d2,使用最优模型对非结构化文本进行抽取,由于原始模型在抽取时,不能提取到三元组中头尾实体的类型,本发明使用预定义的知识库schema信息对抽取的三元组进行头为实体类型映射,得到包含头尾实体类型的三元组信息。
[0105]
如图2所示,此方法和装置运用的实施例
[0106]
某企业知识库中有一批人物关系文本数据,制定知识抽取的类别,共包含5类实体、13类关系,对数据中的基本信息、人物关系、早年经历、个人生活等标签内容进行知识抽取。整体的抽取方法流程如图1所示:
[0107]
该流程共分为4个步骤,详细流程图如图所示:
[0108]
1.人物关系文本预处理:需要对企业知识库中包含的人物关系文本数据进行噪声处理,主要是对指定标签内容进行数据清洗和长句处理,流程包括分词、词性标注、依存句法分析等,原始数据经预处理后的数据样例如下所示:
[0109]
何xx,女,汉族,四川眉山人,1963年03月出生,毕业于西南师范大学美术学院美术学专业,硕士学位。儿子,曾xx,毕业于清华大学。
[0110]
李xx,男,汉族,1966年9月生,浙江绍兴人,1989年8月参加工作,江西财经学院财务会计系会计学专业毕业,大学学历,对外经济贸易大学工商管理硕士。
[0111]
梁xx(1962年12月-),山东泰安人,男,汉族,山东理工大学本科毕业,辽宁大学日本研究所经济学硕士毕业,在职经济学博士学位。
[0112]

[0113]
2.预定义知识库schema:制定人物关系网络包含的实体、关系类型,实体、关系映射如表1所示。
[0114]
表1
[0115][0116]
根据实体与关系定义,需要对预处理文本进行人工标注工作,分别标注包含的实体、关系信息,对标注数据进行处理之后,形成训练集train.txt和测试集test.txt,train.txt部分
[0117]
样例信息如表2所示:
[0118]
表2
[0119][0120][0121]
基于albert的tplinker模型训练:设置tplinker算法的训练参数,最大迭代次数epoch_num=50,当前数据批次大小batch_size=16,最大序列长度max_seq_len=256,向
量维度embedding_dim=128,隐含层数hidden_size=768,跨层共享参数标识reuse=true,学习率lr=4e-4,使用adam参数优化器,对训练集数据train.txt进行模型训练,得到最优的实体关系抽取模型,可以实现对非结构化文本的关系三元组抽取。
[0122]
3.抽取人物关系三元组:从知识库中随机抽取人物关系文本数据,应用实体关系抽取模型对数据进行三元组抽取,数据内容与其抽取的三元组结果如表3所示:
[0123]
表3
[0124][0125][0126]
原始模型在抽取三元组时,不能能将三元组的头尾实体的实体类型一并抽取,故本发明采用预定义schema的方式,规定预先定义的关系类型是独立的,即通过关系类型能够唯一确定对应的头尾实体类型,经过schema映射之后,上述示例的最终抽取结果如表4所示。
[0127]
表4
[0128][0129]
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1