CN113901820A - 一种基于bert模型的中文三元组抽取方法 - Google Patents
一种基于bert模型的中文三元组抽取方法 Download PDFInfo
- Publication number
- CN113901820A CN113901820A CN202111182173.6A CN202111182173A CN113901820A CN 113901820 A CN113901820 A CN 113901820A CN 202111182173 A CN202111182173 A CN 202111182173A CN 113901820 A CN113901820 A CN 113901820A
- Authority
- CN
- China
- Prior art keywords
- vector
- chinese
- matrix
- bert
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于BERT的中文三元组抽取方法,本发明以BERT中文预训练模型代替现行的word2vec词向量生成模型,从而克服传统中文三元组抽取方法缺陷,并通过BERT模型获取的字向量具有更强的泛化能力,能够充分描述字符级,词级,句子级间的特征关系,以Bi‑LSTM为网络结构,结合注意力机制进行关系抽取,不仅能够使关系抽取的准确率得到提升,还使BERT预训练模型的应用范围得到扩展。
Description
技术领域
本发明涉及构建知识图谱中的三元组抽取领域,特别是一种基于BERT的中文三元组抽取方法。
背景技术
随着互联网技术的快速发展,网络中的数据激增,为构建知识图谱提供了充足的信息资源,知识图谱可以辅助知识库来理解人的自然语言,其涉及的技术包括知识抽取、知识存储、图谱构建、命名实体识别、实词提取、对话管理、意图识别、答案生成等方面。
目前网络中的文本数据大部分是非结构化的,不能直接用于构建知识图谱,如何高效地从非结构化的文本中抽取有效信息,成为构建知识图谱中的重要环节。
随着深度学习技术的快速发展,大量深度学习模型应用到关系抽取任务中,目前主流的三元组抽取方法为通过word2vec获取词向量然后用深度学习方法进行关系抽取,抽取效果相比传统关系抽取方法有大幅度提高,但通过word2vec方法获取的词向量模型不具备上下文语义分析能力,难以取得更高的关系抽取效果。
发明内容
本发明所要解决的技术问题是提供一种基于BERT模型的中文三元组抽取方法,其提高了从非结构化文本抽取三元组的准确率。为此,本发明采用以下技术方案:
S1、获取文本数据,对文本数据进行预处理并划分为测试数据集以及训练和验证数据集;
S2、将中文文本分字后输入BERT预训练模型获取中文字向量;
S3、将S2中获取的中文字向量输入全连接层获取实体识别的分类字向量,并通过CRF分类器输出实体识别结果;
S4、根据实体识别结果以及S2中获取的中文字向量生成元组关系矩阵,并将元组关系矩阵输入Bi-LSTM层处理得到最后一个LSTM节点的输出向量;
S5、注意力层处理:将Bi-LSTM层中输出的最后一个节点的向量进行加权求和处理,得到处理后的向量;
S6、选取SoftMax分类器对注意力层得到的结果进行关系分类,结合实体识别结果完成最终的三元组抽取任务。
作为本发明的更进一步改进,文本数据中的每个句子可以包含多种不同的三元组关系,步骤S1对文本数据进行预处理中,将每个句子按照同一批次中最长的句子进行填充。
作为本发明的更进一步改进,步骤S2所述的BERT预训练模型输出的向量为中文字向量,每个句子输出的中文字向量长度相同。
作为本发明的更进一步改进,步骤S4生成的所述元组关系矩阵,每个句子中的关系元组矩阵根据实体识别得到的实体类型以及S2中获取的中文字向量生成;元组关系矩阵的最大长度为超参数。
作为本发明的更进一步改进,步骤S2内,中文字向量获取包括以下步骤,通过self-Attention机制把上下文整体的信息加入到一个字中,为每个编码后得到的向量构建三个矩阵,从而来获取字向量,其中,三个矩阵分别为用来查询当前字的Q矩阵、用于查询当前字跟其它字的关系的K矩阵和用于特征向量的表达的V矩阵。
作为本发明的更进一步改进,在步骤S2内,BERT预训练模型使用12头注意力机制的Transformer,其预训练字向量的长度为768维。
本发明以BERT中文预训练模型代替现行的word2vec词向量生成模型,从而克服传统中文分词关系抽取方法缺陷,并通过BERT模型获取的字向量具有更强的泛化能力,能够充分描述字符级,词级,句子级间的特征关系,以Bi-LSTM为网络结构,结合注意力机制进行关系抽取,不仅能够使关系抽取的准确率得到提升,还使BERT预训练模型的应用范围得到扩展。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为一种基于BERT的中文三元组抽取方法具体实施方式的流程图;
图2为一种基于BERT的中文三元组抽取模型的网络结构示意图;
图3为一个LSTM节点内部的网络结构图。
具体实施方式
下面结合附图对本发明作进一步地详细说明。
如图1所示,本发明提供的一种基于BERT模型的中文三元组抽取方法,包含以下步骤:
S1、获取文本数据,对文本数据进行预处理并划分为测试数据集以及训练和验证数据集;
S2、将中文文本分字后输入BERT预训练模型获取中文字向量;
S3、将S2中获取的中文字向量输入全连接层获取实体识别的分类字向量,并通过CRF分类器输出实体识别结果;
S4、根据实体识别结果以及S2中获取的中文字向量生成元组关系矩阵,并将元组关系矩阵输入Bi-LSTM层处理得到最后一个LSTM节点的输出向量;
S5、注意力层处理:将Bi-LSTM层中输出的最后一个节点的向量进行加权求和处理,得到处理后的向量;
S6、选取SoftMax分类器对注意力层得到的结果进行关系分类,结合实体识别结果完成最终的三元组抽取任务。
其中,在步骤S1内,文本数据每个样本中可以包含多个实体以及多个关系,具体的讲,中文数据集选用SKE数据集。其包含超过43万三元组数据、21万中文句子及50个已定义好的关系类型。其中选用10000个样本作为训练集,2000个样本作为测试集。
在本发明内,在步骤S2内,通过self-Attention机制把上下文整体的信息加入到一个字中,为每个编码后得到的向量构建三个矩阵,从而来获取中文字向量,其中,三个矩阵分别为用来查询当前字的Q矩阵、用于查询当前字跟其它字的关系的K矩阵和用于特征向量的表达的V矩阵;具体地讲,获取中文字向量:通过BERT预训练模型获取输入中文的字向量表示,输出字符级的向量表示;具体方法为,通过self-Attention机制把上下文整体的信息加入到一个字中,为每个编码后得到的向量构建三个矩阵Q矩阵(要去查询的)、K矩阵(被查询的)、V矩阵(实际的特征信息)分别用来查询当前字跟其他字的关系以及特征向量的表达;Q矩阵与K矩阵的内积表示两个字的匹配程度,最终的得分值经过softmax得到上下文结果一组Q矩阵、K矩阵、V矩阵得到的特征表达不足以获取更好的字向量,因此引入multi-head多头注意力机制得到多个特征表达以获得更好结果,在self-Attention中每个字都会考虑整个序列的加权,所以其出现位置不会对结果产生什么影响,与实际不符。获取每个字的位置编码后,与之前得到的字向相加来弥补此问题。
在本发明内,在步骤S3内所述中文字向量为步骤S2输出的结果,根据预训练BERT模型的隐藏层长度,每个字向量的长度为768。
在本发明内,在步骤S3内所述的CRF判别模型为条件随机场,具体来说,CRF的判别公式为:其中,Score(x,y)即字序列x产生的标记序列y的得分。其用于实体识别定义的Score(x,y)包含两个特征函数,一个是转移特征函数:Score(x,y)=∑ilog(ψEMIT(yi→xi))+log(ψTRANS(yi-1→yi))CRF层输出的结果即为实体识别的结果。
在本发明内,在步骤S4所述的元组关系矩阵为根据步骤S3输出的实体识别结果生成。若S3中识别的实体数量大于或等于两个,则将这两个实体的BERT字向量组合成为元组矩阵。
在本发明内,在步骤S4所述的Bi-LSTM模型为标准的长短时记忆网络,如图2所示,Bi-LSTM层包含两层,每个节点的内部结构如图3所示。词向量在LSTM网络各个环节的表达式如下:
zt=σ(Wz*[ht-1,xt])
rt=σ(Wr*[ht-1,xt])
ht=(1-zt)*ht-1+zt*ht
式中zt和rt分别代表更新门和重置门,更新门用于控制前一时刻的状态信息被带入到当前状态的程度,更新门值越大说明前一时刻的状态信息带入越多,重置门用于控制前一状态有多少信息被写入到当前的候选集上,重置门越小,前一状态的信息被写入的越少。
在本发明内,在步骤S5内,处理结果通过非线性函数生成表征向量;具体地讲,由Bi-LSTM获得的每个时间点的输出信息之间的影响程度是一样的,而在实际的关系抽取中,并不是每部分输出结果都会具有决定性作用,因此引入注意力机制对输出结果进行加权求和GRU的输出集合为H={h1,h2,...,hT}。注意力层得到的权重矩阵由下面公式得到:
M=tanh(H)
a=softmax(wTM)
r=Hat
其中,wT为训练得到的参数矩阵的转置,a为注意力权重系数,r为Bi-LSTM的输出H经过加权求和后的结果,最后通过非线性函数生成表征向量:
h*=tanh(r)。
在本发明内,在步骤S6内,Softmax将分类的输出数值转化为相对概率,具体地讲,选取Softmax回归模型来进行关系分类,完成最终的关系抽取任务,其函数定义为:
其中Vi表示分类器前一层输出单元的输出,i表示类别索引,类别总数为C,Si表示当前元素指数与所有元素指数和的比值,Softmax将多分类的输出数值转化为相对概率。
本模型评价指标选用精确率(Precision)、召回率(Recall)与F1评价指标。具体公式如下:
其中,TP表示将正类预测为正类数,FP表示将将负类预测为正类数,FN表示将正类预测为负类数
本发明的一个实例选择在百度2019语言与智能技术竞赛的中文信息抽取数据集上验证。其包含50个预定义的schema、21万中文句子及43万三元组数据。数据集中的句子来自百度百科和百度信息流文本。数据集划分为17万训练集,2万验证集和2万测试集。
在百度2019语言与智能技术竞赛的中文信息抽取数据集上,字符级别三元组抽取精确率为70.0%,召回率为70.3%,F1值达到70.1%。命名实体识别精确率为79.5%,召回率为80.0%,F1值达到79.7%。
为了更加清晰地描述模型运行流程,本发明以一个中文句子为例,讲解模型抽取三元组的过程。如图2所示,首先将输入的中文句子“本发明公开一种基于知识图谱的智能客服问答***,涉及人工智能领域”分字后判断字符序列的长度,长度不满足预先定义的序列最大长度时,用字符“[PAD]”填充至最大长度,如[“本”,“发”,“明”…“人”,“工”,“智”,“能”,“[PAD]”,“[PAD]”…];超过最大长度时舍弃当前句子。之后根据BERT预训练模型中的字典将字符序列映射为数字向量,如[545,3123,845,21,869,784,…0,0,0]。之后将数字向量输入BERT预训练模型,得到中文字向量。再将中文字向量输入全连接层与Softmax分类器,识别出句子中可能存在的实体Ek{e1,e2…ek},k为识别出实体的个数,本实例中可识别出“一种基于知识图谱的智能客服问答***”与“人工智能”。将识别出的实体两两组合,并利用实体所对应的中文字向量生成关系元组矩阵,例如将“一种基于知识图谱的智能客服问答***”与“人工智能”组成一个元组关系矩阵。最后将多个元组关系矩阵逐条输入Bi-LSTM网络提取语义特征,在经过Softmax分类器获取每个实体对的关系分类,如“一种基于知识图谱的智能客服问答***”与“人工智能”的关系为“所属领域”。
本发明以BERT中文预训练模型代替现行的word2vec词向量生成模型,从而克服传统中文分词关系抽取方法缺陷,并通过BERT模型获取的字向量具有更强的泛化能力,能够充分描述字符级,词级,句子级间的特征关系,以Bi-LSTM为网络结构,结合注意力机制进行关系抽取,不仅能够使关系抽取的准确率得到提升,还使BERT预训练模型的应用范围得到扩展。
Claims (6)
1.一种基于BERT模型的中文三元组抽取方法,其特征在于,包含以下步骤:
S1、获取文本数据,对文本数据进行预处理并划分为测试数据集以及训练和验证数据集;
S2、将中文文本分字后输入BERT预训练模型获取中文字向量;
S3、将S2中获取的中文字向量输入全连接层获取实体识别的分类字向量,并通过CRF分类器输出实体识别结果;
S4、根据实体识别结果以及S2中获取的中文字向量生成元组关系矩阵,并将元组关系矩阵输入Bi-LSTM层处理得到最后一个LSTM节点的输出向量;
S5、注意力层处理:将Bi-LSTM层中输出的最后一个节点的向量进行加权求和处理,得到处理后的向量;
S6、选取SoftMax分类器对注意力层得到的结果进行关系分类,结合实体识别结果完成最终的三元组抽取任务。
2.根据权利要求1所述的一种基于BERT模型的中文三元组抽取方法,其特征在于,文本数据中的每个句子包含多种不同的三元组关系,步骤S1对文本数据进行预处理中,将每个句子按照同一批次中最长的句子进行填充。
3.根据权利要求1所述的一种基于BERT模型的中文三元组抽取方法,其特征在于,步骤S2所述的BERT预训练模型输出的向量为中文字向量,每个句子输出的中文字向量长度相同。
4.根据权利要求1所述的一种基于BERT模型的中文三元组抽取方法,其特征在于,步骤S4生成的所述元组关系矩阵,每个句子中的关系元组矩阵根据实体识别得到的实体类型以及S2中获取的中文字向量生成;元组关系矩阵的最大长度为超参数。
5.根据权利要求3中所述的一种基于BERT模型的中文三元组抽取方法,其特征在于,步骤S2内,中文字向量获取包括以下步骤,通过self-Attention机制把上下文整体的信息加入到一个字中,为每个编码后得到的向量构建三个矩阵,从而来获取字向量,其中,三个矩阵分别为用来查询当前字的Q矩阵、用于查询当前字跟其它字的关系的K矩阵和用于特征向量的表达的V矩阵。
6.根据权利要求3所述的一种基于BERT模型的中文三元组抽取方法,其特征在于,在步骤S2内,BERT预训练模型中使用12头注意力机制的Transformer,其预训练字向量的长度为768维。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182173.6A CN113901820A (zh) | 2021-10-11 | 2021-10-11 | 一种基于bert模型的中文三元组抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182173.6A CN113901820A (zh) | 2021-10-11 | 2021-10-11 | 一种基于bert模型的中文三元组抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901820A true CN113901820A (zh) | 2022-01-07 |
Family
ID=79191293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111182173.6A Pending CN113901820A (zh) | 2021-10-11 | 2021-10-11 | 一种基于bert模型的中文三元组抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901820A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114757184A (zh) * | 2022-04-11 | 2022-07-15 | 中国航空综合技术研究所 | 实现航空领域知识问答的方法和*** |
-
2021
- 2021-10-11 CN CN202111182173.6A patent/CN113901820A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114757184A (zh) * | 2022-04-11 | 2022-07-15 | 中国航空综合技术研究所 | 实现航空领域知识问答的方法和*** |
CN114757184B (zh) * | 2022-04-11 | 2023-11-10 | 中国航空综合技术研究所 | 实现航空领域知识问答的方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN108875807B (zh) | 一种基于多注意力多尺度的图像描述方法 | |
CN110751698B (zh) | 一种基于混和网络模型的文本到图像的生成方法 | |
CN108830287A (zh) | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 | |
CN112328742B (zh) | 基于人工智能的培训方法、装置、计算机设备及存储介质 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及*** | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN112487193B (zh) | 一种基于自编码器的零样本图片分类方法 | |
CN110276396B (zh) | 基于物体显著性和跨模态融合特征的图片描述生成方法 | |
CN114896434B (zh) | 一种基于中心相似度学习的哈希码生成方法及装置 | |
CN109918507B (zh) | 一种基于TextCNN改进的文本分类方法 | |
CN109308316B (zh) | 一种基于主题聚类的自适应对话生成*** | |
CN114841151B (zh) | 基于分解-重组策略的医学文本实体关系联合抽取方法 | |
CN115374270A (zh) | 一种基于图神经网络的法律文本摘要生成方法 | |
CN115270752A (zh) | 一种基于多层次对比学习的模板句评估方法 | |
CN112528168B (zh) | 基于可形变自注意力机制的社交网络文本情感分析方法 | |
CN115017879A (zh) | 文本对比方法、计算机设备及计算机存储介质 | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113627550A (zh) | 一种基于多模态融合的图文情感分析方法 | |
CN113901820A (zh) | 一种基于bert模型的中文三元组抽取方法 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
CN115422362B (zh) | 一种基于人工智能的文本匹配方法 | |
CN111859979A (zh) | 讽刺文本协同识别方法、装置、设备及计算机可读介质 | |
CN113468874B (zh) | 一种基于图卷积自编码的生物医学关系抽取方法 | |
CN108829675A (zh) | 文档表示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |