CN113821571B - 基于bert和改进pcnn的食品安全关系抽取方法 - Google Patents
基于bert和改进pcnn的食品安全关系抽取方法 Download PDFInfo
- Publication number
- CN113821571B CN113821571B CN202110702743.3A CN202110702743A CN113821571B CN 113821571 B CN113821571 B CN 113821571B CN 202110702743 A CN202110702743 A CN 202110702743A CN 113821571 B CN113821571 B CN 113821571B
- Authority
- CN
- China
- Prior art keywords
- entity
- food safety
- pcnn
- sentence
- bert
- 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.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 55
- 238000011176 pooling Methods 0.000 claims abstract description 41
- 230000011218 segmentation Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 15
- 231100000279 safety data Toxicity 0.000 claims abstract description 14
- 238000002372 labelling Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 83
- 230000006870 function Effects 0.000 claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 7
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 238000005429 filling process Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000017074 necrotic cell death Effects 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 241000863514 Sabicea Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/045—Combinations of networks
-
- 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/047—Probabilistic or stochastic networks
-
- 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/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了基于BERT和改进PCNN的食品安全关系抽取方法,针对收集到的食品安全领域数据集,利用BERT和PCNN模型的分段最大池化最大程度捕获句子的局部信息,并根据中文是以词而并非以字为基本单位的特性以及注意力机制的优点,结合多核处理、分词技术、注意力机制以及损失函数等方法提出改进的模型BERT‑PCNN‑ATT‑jieba的模型,实现了提高抽取食品安全领域关系的性能的功能,提升了食品安全领域的关系抽取的性能。本发明减少了手工对于食品安全数据标注的成本,为下一步工作奠定了基础。
Description
技术领域
本发明属于知识图谱技术领域,具体涉及基于BERT和改进PCNN的食品安全关系抽取方法。
背景技术
食品安全关乎于每个人的健康,但目前食品安全大多呈现难追溯,难控制,难防范的问题。食品安全领域的数据以食品为中心,包括食品在各个生产过程中的数据,亟需建立完整知识库,从而能够高效发现食品安全问题源头。
计算机应用与食品领域的交叉研究,促进了食品行业的发展与进步,知识图谱的出现成为连接两者的桥梁。知识图谱技术主要包括知识抽取,知识融合,知识加工,图谱应用等方面。知识抽取作为连接大规模数据集和知识图谱应用,自动化高准确的抽取手段则显得尤为重要。关系抽取是知识图谱构建、问答系统以及其他知识图谱应用的重要环节之一。
如何从海量无规则的数据中挑选对用户有用的知识和信息成为了人们迫切想要解决的问题。目前学界重点关注于如何从海量无规则的数据中得到所需三元组的信息抽取技术问题。信息抽取主要包括3个项子任务:实体抽取、关系抽取和事件抽取。而关系抽取作为信息抽取与检索等领域的核心任务和重要环节,能够从文本中抽取实体之间或者实体属性的语义关系,例如得到“实体关系实体”或者“实体属性属性值”三元组。在食品安全领域中,关系抽取可以应用于扩展食品知识图谱内容,并为下一步知识推理做铺垫。
由于机器学习以及知识图谱技术的发展,目前关系抽取技术主要分为三种:第一种是基于手写规则的关系抽取方法,1999年Aitken对于全球变暖文章中定量定性谓词进行提取,在371条句子的训练中准确率达到了66%。该方法的缺点是三元组的查准率较高,只能适用特定数据集,查全率比较低,不能准确地查找所有满足要求的三元组。第二种是基于传统机器学习的关系抽取方法,主要包括基于特征向量的方法,基于核函数的方法以及条件随机场(CRF)的方法。王东波等人结合情报学数据获取、标注和组织的方法并运用CRF机器学习模型构建,在标注了1万5千字的语料库基础上进行实体抽取预测,F值达到了91.94%,该方法的缺点是容易造成欠拟合现象且参数调整过程较为复杂。第三种是基于深度学习的关系抽取方法,Zeng等人在特征向量和核函数基础上提出CNN神经网络模型,减少了错误传播。王庆棒基于CNN和BILSTM模型对于食品輿情实体关系抽取的研究,准确率提升至80%,为食品领域的关系抽取奠定方向。ZENG D等人将基于分段卷积神经网络(PCNN)模型应用于关系抽取中,并取得不错的效果。武小平等人利用BERT模型与CNN模型结合使得F1值提升至83%。
发明内容
本发明要解决的技术问题是:提供基于BERT和改进PCNN的食品安全关系抽取方法,用于提高抽取食品安全领域关系的性能。
本发明为解决上述技术问题所采取的技术方案为:基于BERT和改进PCNN的食品安全关系抽取方法,包括以下步骤:
S1:构建食品安全领域数据集并导入图数据库中;
S2:构建食品安全领域关系模型,具体步骤为:
S21:采用手工标注的方法对大规模文本进行预处理;
S22:采用BERT模型从语料库得到句子的词嵌入向量和位置嵌入向量,将词嵌入向量与位置嵌入向量拼接得到句子的向量;
S23:将句子的向量作为输入训练生成PCNN分段卷积神经网络模型;PCNN分段卷积神经网络模型包括依次连接的输入层、卷积层、分段最大池化层、分类层;输入层用于接收BERT模型输出的向量;卷积层用于拼接句子的上下文中词语的语义特征得到句子的特征,通过高层特征限制输入层与隐藏层之间连接元的数目从而减少模型训练的参数;分段最大池化层用于根据实体与实体之间的位置关系捕捉更高层语义特征;分类层用于将分段最大池化层得到的向量通过线性计算将维度降低至n维,并通过softmax分类器预测条件概率并选出最有可能的关系;
S3:结合PCNN分段卷积神经网络模型的特点与中文特殊语料的特性,加入注意力机制与分词处理改进PCNN分段卷积神经网络模型得到BERT-PCNN-ATT-jieba模型;
S4:通过测试集测试模型并进行关系分类;
S5:通过比较评估指标评价模型的性能。
按上述方案,所述的步骤S1中,具体步骤为:
S11:通过收集食品安全领域的文本获取食品安全数据形成语料库;
S12:对食品安全数据的实体类别和关系类别进行专业标注和分类;
S13:根据语料库和实体类别构建食品安全关系抽取数据集,并将整理好的数据集按照8-2原则划分为训练集和测试集;
S14:对食品安全数据采取图方式建模,并将实体和关系存储在neo4j数据库中;实体为知识图谱中的节点,关系为知识图谱的边,关系的方向从头实体指向尾实体,不同实体的互联形成食品安全知识图谱网。
进一步的,所述的步骤S11中,语料库包括源数据格式、附录表格、正文文本;源数据格式用于处理数据格式;附录表格包括实体、属性、属性值;正文文本包括句子、关系、第一实体、第一实体位置、第二实体、第二实体位置。
进一步的,所述的步骤S12中,食品安全数据的实体分类包括实体类别、实体属性、实体举例;关系类别包括头实体分类、尾实体分类、关系名称、关系描述、关系数目。
按上述方案,所述的步骤S22中,
词嵌入向量是固定长度的向量,用于将由m个单词组成的句子sentence={word1,word2,word3,…,wordm}的第m个单词wordm映射到词嵌入向量Ewordm表示语义关系,且句子开头的词嵌入向量为特殊符号E[CLS],句子结束的词嵌入向量为特殊符号E[SEP];
位置嵌入向量用于以句子的头实体和尾实体为基准,将句子中的每个词距离头实体的相对位置存储在距离头实体位置向量head_pos中,将句子中的每个词距离尾实体的相对位置存储在距离尾实体位置向量tail_pos中。
按上述方案,所述的步骤S22中,获取位置嵌入向量的具体步骤为:
S221:从文本数据中获取包括头实体和尾实体的文本分词;采用头实体和尾实体替换类别名称;
S222:将第m个文本分词初始化为第m个单词,判断是否到句末,若是则结束获取位置嵌入向量,若否则求出第m个单词距离头实体的相对位置并存储在距离头实体位置向量head_pos中;
S223:求出第m个单词距离尾实体的相对位置并存储在距离尾实体位置向量tail_pos中;
S224:更新文本分词,执行步骤S222。
按上述方案,所述的步骤S23中,
卷积层采用多尺寸卷积核关注不同特征值使训练模型全面分析语句信息,卷积层包括大小分别为1*3,1*5,1*9的100个卷积核;卷积层采用GELU函数用于结合非线性计算与随机正则化计算避免神经元坏死的情况,GELU函数的计算公式为:
分段最大池化层根据头实体和尾实体的位置将句子分段,第一部分是句首到头实体且包含头实体,第二部分是头实体和尾实体之间且包含头实体和尾实体,第三部分是尾实体到句尾且包含尾实体;对分部分之后的句子进行填充像素padding用于方便计算,填充过程以三部分中最长的部分为准对另外两部分进行填充,若该位置不存在元素则设为1,若存在元素则设为0;
将由m个单词组成的句子sentence={word1,word2,word3,…,wordm}根据头实体和尾实体分为3个片段{c1,c2,c3},设卷积核的个数为n,则第i个句子经分段池化层处理后的输出向量Pi为:
将所有卷积核经分段池化层处理后的输出向量拼接为Pi:n;维度与句子长度无关,则通过非线性函数处理后的输出为:
分类层的softmax分类器中,设关系分类的总类别为t,最终输出结果为则Softmax计算公式为:
采用Adam算法计算多分类的问题,设关系的总数量为s,样本数为k,具体分类类别为q,样本k采用softmax分类器预测属于q的概率值为pkq;当预测正确的时候Tkq为1,预测错误时Tkq为0;则Adam算法的计算公式为:
进一步的,所述的步骤S23中,在分段最大池化层与分类层之间还包括L2正则化和Dropout层,用于提升模型的鲁棒性和防止过拟合现象;设θ为即将要学习的参数,λ=0.0001,有L1正则化的损失函数公式为:
L2正则化与L1正则化的区别是严厉惩罚大数值的权重向量,有L2正则化的损失函数公式为:
进一步的,所述的步骤S3中,具体步骤为:在分段最大池化层与分类层之间添加注意力机制,用于进一步提取高层语义;将分段最大池化层的输出压缩到(-1,1)值域计算中间参数M,将矩阵与注意力机制初始化矩阵相乘计算权重W,则最终传到softmax函数中得到加权后的输出向量vec为:
M=tanh(P') (8),
a=softmax(WTM) (9),
vec=P'aT (10);
在PCNN分段卷积神经网络模型的分段最大池化层中,在网络训练过程中通过执行MLM过程随机掩盖部分单词,并通过上下文输入到PCNN分段卷积神经网络模型中预测,避免损失句子含义。
进一步的,所述的步骤S5中,具体步骤为:采用准确率P和召回率R作为多类型分类预测的评价指标;将每次的训练结果分为正样本被预测正确数目TP、正样本被预测错误数目FP、负样本被预测错误数目FN、负样本被预测正确数目TN;则模型的准确率为:
召回率为;
综合评价各个模型的优劣的F1值为:
本发明的有益效果为:
1.本发明的基于BERT和改进PCNN的食品安全关系抽取方法,针对收集到的食品安全领域数据集,利用BERT和PCNN模型的分段最大池化最大程度捕获句子的局部信息,并根据中文是以词而并非以字为基本单位的特性以及注意力机制的优点,结合多核处理、分词技术、注意力机制以及损失函数等方法提出改进的模型BERT-PCNN-ATT-jieba的模型,实现了提高抽取食品安全领域关系的性能的功能,提升了食品安全领域的关系抽取的性能。
2.本发明在食品安全领域知识图谱构建过程中尚无公开数据集的情况下,收集了食品安全领域的文本并对数据进行相应的实体和关系类别的专业标注,构建了食品安全领域关系抽取的专业数据集。
3.本发明实验结果表明,在参数及数据集一致的条件下,相较于传统模型,改进的模型准确率为84.72%,召回率达到81.78%,F1值达到了83.22%,验证了改进模型的有效性和可靠性,有着更好的抽取效果,改进模型的性能最优。
4.本发明提出的BERT-PCNN-ATT-jieba模型能够更好的抽取基于食品安全领域的语义关系特征,减少了对人为手动抽取的依赖,减少了手工对于食品安全数据标注的成本;为下一步构建更完整的食品安全领域知识图谱,以及基于该知识图谱进行领域知识问答、领域知识检索以及食品安全问题追溯等工作奠定了基础。
附图说明
图1是本发明实施例的neo4j数据库的部分数据示例图。
图2是本发明实施例的食品安全关系抽取流程图。
图3是本发明实施例的词向量表示描述图。
图4是本发明实施例的位置向量生成流程图。
图5是本发明实施例的位置向量生成描述图。
图6是本发明实施例的PCNN模型结构图。
图7是本发明实施例的分段最大池化层描述图。
图8是本发明实施例的利用jieba分词的分段池化标注过程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见图1,本发明实施例的基于BERT和改进PCNN的食品安全关系抽取方法,包括以下步骤:
1.食品安全领域数据集构建
1.1食品安全数据获取
本文在食品安全领域数据鲜有公开的情况下,通过Scrapy框架爬取百度百科,食品伙伴网,国家市场监督管理总局网等数据,并由专家进行整理,选择语义丰富且正确的语料,构建相对完善的语料库,语料库详情由表1所示:
表1数据源分布
1.2食品安全数据类别
结合食品安全专家建议以及知识推理过程,定义实体分类如表2所示。对食品从种植,加工,处理以及可能引发疾病的数据进行处理与存储。
表2实体分类描述
根据前文提到的语料库和实体类别,构建食品安全关系抽取数据集。分类完成之后的关系抽取数据集如表3所示。可以看出在整理的8573条语料中,各个关系的数目较为平均。最终将整理好的数据集按照8-2原则划分训练集和测试集。
表3关系定义描述
1.3食品安全数据存储
对食品安全数据采取图方式建模及存储。本文使用neo4j数据库存放实体和关系。实体为知识图谱中的节点,关系为知识图谱的边,关系的方向由头实体指向尾实体。不同实体的互联可以形成一张巨大的食品安全知识图谱网。通过Cypher语言可以将收集的三元组导入数据库中,并可以进行增删改查的操作。neo4j数据库部分数据举例如图1所示。
2.食品安全领域关系模型
关系抽取流程如图2过程所示。首先对大规模文本采用手工标注的方法进行预处理,之后将得到的语料库利用BERT模型等技术得到句子的词嵌入向量和位置嵌入向量,每个句子的向量表示即是词汇嵌入向量与位置嵌入向量拼接得到,并作为模型的输入进行训练生成PCNN神经网络训练模型。最后对测试集的句子进行测试,通过比较相应评估指标评价模型性能。
2.1BERT向量化
随着自然语言和深度学习的发展,向量模型基本分为4类,分别是:one-hot、word2vec、GPT和BERT。one-hot编码方法的缺点是会导致特征向量空间非常大,不利于机器的存储与计算;word2vec编码方法的缺点是无法区分一词多义现象;GPT编码方法的缺点是无法准确利用词语上下文的关联信息;而BERT模型是结合ELMO与GPT模型优势的新型语言模型,利用BERT模型生成的词向量可以提高关系抽取的准确度。本文利用BERT模型生成词向量和位置向量,并将得到的词向量和位置向量进行拼接后,得到每个句子的输入表示。
2.1.1词向量表示
对于一个由m个单词组成的句子sentence={word1,word2,word3,…,wordm},将每一个单词映射到一个固定长度的向量表示语义关系,其中在句子开头有一个特殊符号[CLS],句子结束有一个特殊符号[SEP]。词向量表示如图3所示。
2.1.2位置向量表示
位置向量生成流程如图4所示。位置向量的生成是以头实体和尾实体为基准,分别对于句子中的每个词求出距头实体和尾实体的相对位置,存储在距离头实体位置向量(head_pos)和距离尾实体位置向量(tail_pos)数组中。位置向量示例如图5所示,按照上述规则进行计算,head_pos结果为:
[-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23]
tail_pos结果为:
[-14,-13-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
2.2PCNN模型构建
分段卷积神经网络(Piecewise Convolutional Neural Network,PCNN)处理过程大致与CNN相似,同样适用于处理大规模文本数据,被广泛应用在自然语言处理,声音图像等方面。PCNN模型如图6所示,包含输入层、卷积层、分段最大池化层、分类层。PCNN模型与CNN模型区别在于用分段最大池化层替换原有的池化层。其中输入层输入的向量是上文BERT模型的输入表示。
2.2.1卷积层
卷积层的本质是向量的运算,卷积层的目的是根据句子上下文中词语的语义特征拼接而得到整个句子的特征。并且卷积层通过高层特征限制输入层与隐藏层之间连接元的数目从而减少模型训练的参数。多尺寸卷积核能够关注于不同特征值,使得训练模型可以全面的分析语句信息。综合以上考虑,卷积层设计了100个卷积核,大小分别为1*3,1*5,1*9。
根据食品安全领域数据的特点,本研究使用GELU函数,GELU函数结合了非线性计算与随机正则化计算,相较于RELU函数解决了可能神经元坏死的情况。GELU函数计算公式为
2.2.2分段最大池化层
分段最大池化层与最大池化层相比,在捕捉更高层语义特征的同时还能利用实体与实体之间的位置关系。具体操作如下图7所示,分段最大池化层根据头实体和尾实体的位置将句子分为三部分:即第一部分是句首到第一个实体处(包含第一个实体),第二部分是两个实体之间(包含头尾两个实体),第三部分是另一个实体到句尾(包含另一个实体)。对分段之后的句子进行填充像素(padding),padding的目的是为了方便计算,处理过程是以最长部分为准,对另外两部分进行填充,如果该位置不存在元素设为1,存在设置为0。
对于一个由m个单词组成的句子sentence={word1,word2,word3,…,wordm},根据头尾实体分为3个片段{c1,c2,c3},则经分段池化层处理后的输出向量为:
其中n代表卷积核的个数,Pi代表第i个句子的结果。拼接所有卷积核分段池化层输出为Pi:n,经非线性函数输出为(维度与句子长度无关):
2.2.3分类层
为了提升模型的鲁棒性以及防止过拟合现象,在分类层处理之前加入L2正则化以及Dropout层进一步处理卷积层和池化层的输出。设θ为即将要学习的参数,λ在本文中设置为0.0001。有L1正则化的损失函数公式为:
L2正则化与L1正则化的区别是严厉惩罚大数值的权重向量,有L2正则化的损失函数公式为:
将池化层得到的向量通过线性计算将维度降低至n维,通过softmax分类器预测条件概率并选出最有可能的关系。t为关系分类的总类别,为最终输出结果。Softmax计算公式为:
基于本文多分类的问题,采用Adam算法计算。Adam算法可以通过损失函数自动计算一阶矩和二阶矩,从而更新每个参数的学习率。计算公式为:
其中s为关系的总数量,k为样本数,q为具体分类类别,pkq是样本k采用softmax分类器预测属于q的概率值,Tkq当预测正确的时候为1,预测错误时为0。
2.3模型改进
2.3.1注意力机制
多层级注意力机制可以更好的解决非结构化文章的上下文问题,使得提取结果更加准确。注意力机制本质是一种特殊的加权计算,能够过滤出非重要的信息并集中注意力。本发明在分段最大池化层与分类层之间添加注意力机制,即在分段池化层之后做进一步的高层语义提取。中间参数M的计算方法是将分段最大池化层的输出压缩到(-1,1)值域,权重W的计算方法是将矩阵与注意力机制初始化矩阵相乘,最终传到softmax函数中,向量vec表示加权后的输出向量为:
M=tanh(P') (8),
a=softmax(WTM) (9),
vec=P'aT (10),
2.3.2基于词力度的随机掩码
在PCNN模型的分段最大池化层中,会执行Masked Language Model(MLM)过程,即在网络训练过程中随机掩盖(mask)部分单词,然后通过上下文输入到PCNN网络中预测。由于MLM过程最开始是针对英文单词的随机掩码方法,因此针对每个按照空格区分的单词mask不会损失句子含义。现有技术针对BERT模型提出不以字为粒度进行随机掩码切分,而是以分词之后的单词为粒度进行随机掩码,从而进行训练,提升模型在中文语料库中的准确度。针对食品安全领域中的关系抽取问题,本发明采用jieba分词技术对句子分词,具体举例如图8所示。对比图7和图8可以发现,经过分词之后的mask结果比未经过分词的结果缩短了长度,如果句中的“植物”被换成字数较长的植物名称如“常绿木质藤”,经过分词的mask则没有改变结果。
3实验
3.1评价指标
本文实验是多类型分类预测,其评价指标一般为准确率(precision,P),召回率(recall,R)。对于每次的训练结果来说分为TP,FP,FN,TN,即分别为正样本被预测正确的数目、正样本被预测错误的数目、负样本被预测错误的数目、负样本被预测正确的数目。准确率和召回率如式(11)(12)所示。当评价不同模型时,准确率和召回率可能各有高低,而无法直接对比模型的优劣。因此通过比较F1值(F1)综合评价各个模型的优劣,如式(13)所示:
3.2实验环境与参数设置
本文实验的环境为windows10,采用的处理器是Intel(R)Core(TM)i5-8250UCPU@1.60GHz,内存大小为12GB,实验所用的python版本为3.7。
在本实验中为了充分对比本文提出的网络模型,在同一食品安全领域数据集下,除了使用BERT-PCNN,BERT-PCNN-ATT,BERT-PCNN-jieba,BERT-PCNN-ATT-jieba模型外,还选用了CNN模型和PCNN模型作为实验对比。
为了控制实验变量,六个模型的实验参数如表4所示。
表4神经网络参数设置
3.4实验结果分析
在上述的实验参数配置下,6个模型对7种关系进行抽取,准确率、召回率、F1值的具体结果如表5所示。
表5各神经网络模型准确率、召回率、F1值
模型 | P | R | F1 |
CNN | 0.7055 | 0.7172 | 0.7113 |
PCNN | 0.7493 | 0.7348 | 0.7420 |
BERT-PCNN | 0.7848 | 0.7696 | 0.7771 |
BERT-PCNN-ATT | 0.8087 | 0.7881 | 0.7983 |
BERT-PCNN-jieba | 0.8308 | 0.7995 | 0.8148 |
BERT-PCNN-ATT-jieba | 0.8472 | 0.8178 | 0.8322 |
从表5可以看出,PCNN模型的F1比CNN模型高,说明在该数据集中更适合用PCNN模型,分段最大池化层相较于最大池化层能够更好的捕捉到头尾实体的位置关系,获取丰富的上下文信息,可以更好的发挥模型优势。BERT-PCNN与PCNN模型相比,BERT-PCNN的准确率、召回率和F1值均略有所提升,说明BERT模型获取的向量能够更好的获取语义特征信息。对比BERT-PCNN-ATT和BERT-PCNN模型发现,在池化层与分类层之间添加注意力机制后,能够给池化后的高层语义特征赋予更高的权重值,说明了注意力机制能够提升模型效果。BERT-PCNN-jieba模型比BERT-PCNN模型的F1值高,因为在基于食品安全的中文训练集中,通过对句子分词的预处理可以减少mask长度,减弱单词长度对结果的影响。与其他模型相比,BERT-PCNN-ATT-jieba的准确率、召回率和F1值均为最高,说明在基于食品安全领域的关系抽取数据集中,本文提出的BERT-PCNN-ATT-jieba模型相较于其他模型取得了最优的性能,其中准确率达到84.72%,召回率达到81.78%,F1值达到了83.22%。
BERT-PCNN-ATT-jieba模型对抽取不同关系的准确率、召回率及F1值如表6所示:
表6BERT-PCNN-ATT-jieba模型对不同关系
关系类型 | P | R | F1 |
包含 | 0.9043 | 0.8904 | 0.8973 |
属于 | 0.7806 | 0.7903 | 0.7854 |
部分 | 0.8261 | 0.8769 | 0.8507 |
导致 | 0.8198 | 0.9306 | 0.8717 |
损害 | 0.8673 | 0.6128 | 0.7182 |
症状 | 0.8411 | 0.8747 | 0.8576 |
易感人群 | 0.8582 | 0.7197 | 0.7829 |
从表6的结果可以看出,BERT-PCNN-ATT-jieba模型在七种关系的F1值均高于70%,但是对于不同关系的抽取效果有所不同。其中,对于包含、部分、导致、症状这四种关系抽取效果较好,F1值高于85%。而对于属于、损害、易感人群中这三种关系抽取效果较差,F1值小于80%。其中包含关系的抽取结果最佳,其F1值是关系抽取结果最差的损害关系的1.25倍。部分关系抽取结果较差的原因是数据量较少以及语料库中中英文夹杂现象过多。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (9)
1.基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:包括以下步骤:
S1:构建食品安全领域数据集并导入图数据库中;
S2:构建食品安全领域关系模型,具体步骤为:
S21:采用手工标注的方法对大规模文本进行预处理;
S22:采用BERT模型从语料库得到句子的词嵌入向量和位置嵌入向量,将词嵌入向量与位置嵌入向量拼接得到句子的向量;
S23:将句子的向量作为输入训练生成PCNN分段卷积神经网络模型;PCNN分段卷积神经网络模型包括依次连接的输入层、卷积层、分段最大池化层、分类层;输入层用于接收BERT模型输出的向量;卷积层用于拼接句子的上下文中词语的语义特征得到句子的特征,通过高层特征限制输入层与隐藏层之间连接元的数目从而减少模型训练的参数;分段最大池化层用于根据实体与实体之间的位置关系捕捉更高层语义特征;分类层用于将分段最大池化层得到的向量通过线性计算将维度降低至n维,并通过softmax分类器预测条件概率并选出最有可能的关系;
S3:结合PCNN分段卷积神经网络模型的特点与中文特殊语料的特性,加入注意力机制与分词处理改进PCNN分段卷积神经网络模型得到BERT-PCNN-ATT-jieba模型;具体步骤为:在分段最大池化层与分类层之间添加注意力机制,用于进一步提取高层语义;将分段最大池化层的输出压缩到(-1,1)值域计算中间参数M,将矩阵与注意力机制初始化矩阵相乘计算权重W,则最终传到softmax函数中得到加权后的输出向量vec为:
M=tanh(P') (8),
a=softmax(WTM) (9),
vec=P'aT(10);
在PCNN分段卷积神经网络模型的分段最大池化层中,在网络训练过程中通过执行MLM过程随机掩盖部分单词,并通过上下文输入到PCNN分段卷积神经网络模型中预测,避免损失句子含义;
S4:通过测试集测试模型并进行关系分类;
S5:通过比较评估指标评价模型的性能。
2.根据权利要求1所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S1中,具体步骤为:
S11:通过收集食品安全领域的文本获取食品安全数据形成语料库;
S12:对食品安全数据的实体类别和关系类别进行专业标注和分类;
S13:根据语料库和实体类别构建食品安全关系抽取数据集,并将整理好的数据集按照8-2原则划分为训练集和测试集;
S14:对食品安全数据采取图方式建模,并将实体和关系存储在neo4j数据库中;实体为知识图谱中的节点,关系为知识图谱的边,关系的方向从头实体指向尾实体,不同实体的互联形成食品安全知识图谱网。
3.根据权利要求2所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S11中,语料库包括源数据格式、附录表格、正文文本;源数据格式用于处理数据格式;附录表格包括实体、属性、属性值;正文文本包括句子、关系、第一实体、第一实体位置、第二实体、第二实体位置。
4.根据权利要求2所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S12中,食品安全数据的实体分类包括实体类别、实体属性、实体举例;关系类别包括头实体分类、尾实体分类、关系名称、关系描述、关系数目。
5.根据权利要求1所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S22中,
词嵌入向量是固定长度的向量,用于将由m个单词组成的句子sentence={word1,word2,word3,…,wordm}的第m个单词wordm映射到词嵌入向量Ewordm表示语义关系,且句子开头的词嵌入向量为特殊符号E[CLS],句子结束的词嵌入向量为特殊符号E[SEP];
位置嵌入向量用于以句子的头实体和尾实体为基准,将句子中的每个词距离头实体的相对位置存储在距离头实体位置向量head_pos中,将句子中的每个词距离尾实体的相对位置存储在距离尾实体位置向量tail_pos中。
6.根据权利要求1所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S22中,获取位置嵌入向量的具体步骤为:
S221:从文本数据中获取包括头实体和尾实体的文本分词;采用头实体和尾实体替换类别名称;
S222:将第m个文本分词初始化为第m个单词,判断是否到句末,若是则结束获取位置嵌入向量,若否则求出第m个单词距离头实体的相对位置并存储在距离头实体位置向量head_pos中;
S223:求出第m个单词距离尾实体的相对位置并存储在距离尾实体位置向量tail_pos中;
S224:更新文本分词,执行步骤S222。
7.根据权利要求1所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S23中,
卷积层采用多尺寸卷积核关注不同特征值使训练模型全面分析语句信息,卷积层包括大小分别为1*3,1*5,1*9的100个卷积核;卷积层采用GELU函数用于结合非线性计算与随机正则化计算避免神经元坏死的情况,GELU函数的计算公式为:
分段最大池化层根据头实体和尾实体的位置将句子分段,第一部分是句首到头实体且包含头实体,第二部分是头实体和尾实体之间且包含头实体和尾实体,第三部分是尾实体到句尾且包含尾实体;对分部分之后的句子进行填充像素padding用于方便计算,填充过程以三部分中最长的部分为准对另外两部分进行填充,若该位置不存在元素则设为1,若存在元素则设为0;
将由m个单词组成的句子sentence={word1,word2,word3,…,wordm}根据头实体和尾实体分为3个片段{c1,c2,c3},设卷积核的个数为n,则第i个句子经分段池化层处理后的输出向量Pi为:
将所有卷积核经分段池化层处理后的输出向量拼接为Pi:n;维度与句子长度无关,则通过非线性函数处理后的输出为:
分类层的softmax分类器中,设关系分类的总类别为t,最终输出结果为则Softmax分类器的计算公式为:
采用Adam算法计算多分类的问题,设关系的总数量为s,样本数为k,具体分类类别为q,样本k采用softmax分类器预测属于q的概率值为pkq;当预测正确的时候Tkq为1,预测错误时Tkq为0;则Adam算法的计算公式为:
8.根据权利要求7所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S23中,在分段最大池化层与分类层之间还包括L2正则化和Dropout层,用于提升模型的鲁棒性和防止过拟合现象;
设θ为即将要学习的参数,λ=0.0001,有L1正则化的损失函数公式为:
L2正则化与L1正则化的区别是严厉惩罚大数值的权重向量,有L2正则化的损失函数公式为:
9.根据权利要求7所述的基于BERT和改进PCNN的食品安全关系抽取方法,其特征在于:所述的步骤S5中,具体步骤为:采用准确率P和召回率R作为多类型分类预测的评价指标;将每次的训练结果分为正样本被预测正确数目TP、正样本被预测错误数目FP、负样本被预测错误数目FN、负样本被预测正确数目TN;则模型的准确率为:
召回率为;
综合评价各个模型的优劣的F1值为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702743.3A CN113821571B (zh) | 2021-06-24 | 2021-06-24 | 基于bert和改进pcnn的食品安全关系抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702743.3A CN113821571B (zh) | 2021-06-24 | 2021-06-24 | 基于bert和改进pcnn的食品安全关系抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821571A CN113821571A (zh) | 2021-12-21 |
CN113821571B true CN113821571B (zh) | 2024-04-26 |
Family
ID=78924027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110702743.3A Active CN113821571B (zh) | 2021-06-24 | 2021-06-24 | 基于bert和改进pcnn的食品安全关系抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821571B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328938B (zh) * | 2022-03-16 | 2022-06-24 | 浙江卡易智慧医疗科技有限公司 | 一种影像报告结构化提取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211275A1 (zh) * | 2019-04-18 | 2020-10-22 | 五邑大学 | 基于预训练模型与微调技术的医疗文本关系抽取方法 |
CN111859912A (zh) * | 2020-07-28 | 2020-10-30 | 广西师范大学 | 基于pcnn模型的带有实体感知的远程监督关系抽取方法 |
CN111914558A (zh) * | 2020-07-31 | 2020-11-10 | 湖北工业大学 | 基于句袋注意力远程监督的课程知识关系抽取方法及系统 |
CN112966527A (zh) * | 2021-04-21 | 2021-06-15 | 吉林大学 | 一种基于自然语言推理的关系抽取模型 |
-
2021
- 2021-06-24 CN CN202110702743.3A patent/CN113821571B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211275A1 (zh) * | 2019-04-18 | 2020-10-22 | 五邑大学 | 基于预训练模型与微调技术的医疗文本关系抽取方法 |
CN111859912A (zh) * | 2020-07-28 | 2020-10-30 | 广西师范大学 | 基于pcnn模型的带有实体感知的远程监督关系抽取方法 |
CN111914558A (zh) * | 2020-07-31 | 2020-11-10 | 湖北工业大学 | 基于句袋注意力远程监督的课程知识关系抽取方法及系统 |
CN112966527A (zh) * | 2021-04-21 | 2021-06-15 | 吉林大学 | 一种基于自然语言推理的关系抽取模型 |
Non-Patent Citations (1)
Title |
---|
基于双向GRU和PCNN的人物关系抽取;王明波;电子设计工程;第28卷(第10期);第160-165页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113821571A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113011533B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN110309331B (zh) | 一种基于自监督的跨模态深度哈希检索方法 | |
CN111159407B (zh) | 训练实体识别和关系分类模型的方法、装置、设备及介质 | |
CN110188272B (zh) | 一种基于用户背景的社区问答网站标签推荐方法 | |
CN105975573B (zh) | 一种基于knn的文本分类方法 | |
CN112884551B (zh) | 一种基于近邻用户和评论信息的商品推荐方法 | |
CN111738004A (zh) | 一种命名实体识别模型的训练方法及命名实体识别的方法 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN112395393B (zh) | 一种基于多任务多示例的远程监督关系抽取方法 | |
CN111881671B (zh) | 一种属性词提取方法 | |
CN112667818A (zh) | 融合gcn与多粒度注意力的用户评论情感分析方法及系统 | |
CN113204967B (zh) | 简历命名实体识别方法及系统 | |
CN111259140A (zh) | 一种基于lstm多实体特征融合的虚假评论检测方法 | |
CN113449204B (zh) | 基于局部聚合图注意力网络的社会事件分类方法、装置 | |
CN112883714A (zh) | 基于依赖图卷积和迁移学习的absc任务句法约束方法 | |
CN114547230A (zh) | 一种智能行政执法案例信息抽取和案由认定方法 | |
CN117094291B (zh) | 基于智能写作的自动新闻生成系统 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
Chen et al. | Research on automatic essay scoring of composition based on CNN and OR | |
CN114942974A (zh) | 电商平台商品用户评价情感倾向分类方法 | |
CN114519508A (zh) | 基于时序深度学习和法律文书信息的信用风险评估方法 | |
CN117436446B (zh) | 基于弱监督的农业社会化销售服务用户评价数据分析方法 | |
CN113821571B (zh) | 基于bert和改进pcnn的食品安全关系抽取方法 | |
CN113516094B (zh) | 一种用于为文档匹配评议专家的系统以及方法 | |
CN116956228A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |