CN111813950A - 一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 - Google Patents
一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 Download PDFInfo
- Publication number
- CN111813950A CN111813950A CN202010429933.8A CN202010429933A CN111813950A CN 111813950 A CN111813950 A CN 111813950A CN 202010429933 A CN202010429933 A CN 202010429933A CN 111813950 A CN111813950 A CN 111813950A
- Authority
- CN
- China
- Prior art keywords
- data
- entity
- data set
- relationship
- model
- 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.)
- Granted
Links
- 238000010276 construction Methods 0.000 title claims abstract description 44
- 238000005457 optimization Methods 0.000 title claims abstract description 30
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 81
- 238000000605 extraction Methods 0.000 claims abstract description 65
- 230000003044 adaptive effect Effects 0.000 claims abstract description 34
- 238000007781 pre-processing Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 19
- 239000012634 fragment Substances 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000012856 packing Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000009193 crawling Effects 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 6
- 238000011478 gradient descent method Methods 0.000 claims description 5
- 230000001902 propagating effect Effects 0.000 claims description 5
- 238000005065 mining Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 244000183914 Dianthus superbus Species 0.000 description 2
- 235000013535 Dianthus superbus Nutrition 0.000 description 2
- 229910052956 cinnabar Inorganic materials 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- FAPWRFPIFSIZLT-UHFFFAOYSA-M Sodium chloride Chemical compound [Na+].[Cl-] FAPWRFPIFSIZLT-UHFFFAOYSA-M 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011780 sodium chloride Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Images
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Animal Behavior & Ethology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
发明公开了一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,首先采集建筑领域实体、实体属性及语料,然后进行预处理,得到建筑实体识别模型标注数据集EntityData;利用数据集EntityData训练基于BERT‑BiLSTM‑CRF的自适应实体识别模型,得到建筑领域实体识别模型EntityModel;对建筑领域关系数据集预处理得到数据集RelationData;利用RelationData训练基于GRU的自适应关系抽取模型,得到建筑领域关系抽取模型RelationModel;最后分别通过EntityModel和RelationModel抽取出建筑领域文本数据集中的实体和属性,构建建筑领域知识图谱;用户通过Web平台输入施工图审查点,根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台。本发明采用自适应调参,相比传统人工设定更有效构建建筑领域知识图谱。
Description
技术领域
本发明属于知识图谱构建技术领域,特别涉及一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法。
背景技术
实体识别也称为命名实体识别或实体抽取,是从原始数据语料中自动识别出命名实体。由于实体是知识图谱中最基本的元素,其抽取的完整性、准确率、召回率等将直接影响到知识图谱构建的质量。因此,实体识别是从半结构化数据或非结构化数据中获取知识的重要方法,是构建知识图谱的基础与关键的一步。
知识抽取是从自然语言文本或者多媒体内容文档等中通过自动化或者半自动化的技术抽取出可用的知识单元,知识单元主要包括实体、关系以及属性三个知识要素,并以此为基础,形成一系列高质量的事实表达,为知识图谱的构建奠定基础。
知识图谱源于语义网络,以语义网的资源描述框架规范形式表示实例和关系,对于特定领域而言,计算机更易于理解知识图谱中实体及其关系,更智能化处理信息。知识图谱是知识的一种表示形式,是由描述实体间关系的三元组构成的知识网络。把非结构化的文本知识结构化应用知识图谱的第一步是构建知识图谱,而构建知识图谱的重点在于三元组抽取。根据知识覆盖的范围,知识图谱可以分为开放域通用知识图谱和垂直领域知识图谱。目前大多数已发布的知识图谱是开放域通用知识图谱,但是相较于垂直领域知识图谱,其需要囊括人类的所有知识、知识系统庞杂、涉及范围广,而垂直领域知识图谱只涉及小领域、知识体系更完善和更专业。
朱全银等人在知识图谱,学校领域数据挖掘、分类抽取方面已有的研究基础包括:Wanli Feng.Research of theme statement extraction for chinese literaturebased on lexical chain.International Journal of Multimedia and UbiquitousEngineering,Vol.11,No.6(2016),pp.379-388;刘金岭,冯万利.基于属性依赖关系的模式匹配方法[J].微电子学与计算机,2011,28(12):167-170;朱全银,潘禄,刘文儒,等.Web科技新闻分类抽取算法[J].淮阴工学院学报,2015,24(5):18-24;朱全银,冯万利等人申请、公开与授权的相关专利:李翔,朱全银,胡荣林,周泓.一种基于谱聚类的冷链物流配载智能推荐方法.中国专利公开号:CN105654267A,2016.06.08;肖绍章,朱全银,李翔,钱凯,于柿民,潘舒新,瞿学新,唐海波,邵武杰,高阳,江丽萍.一种学生浏览网页分类方法.中国专利公开号:CN107506472A,2017.12.22;朱全银,潘舒新,冯万利,李翔,贾笑颖,胡荣林,周泓,于柿民,赵阳,瞿学新,杨茂灿,唐海波,邵武杰.一种多维度网页浏览行为评估方法.中国专利公开号:CN106886577A,2017.06.23;朱全银,严云洋,胡荣林,李翔,瞿学新,唐海波,赵阳,高阳,钱凯.一种基于互信息和关联规则的文本特征提取方法.中国专利公开号:CN107766323A,2018.03.06;朱全银,唐海波,严云洋,李翔,胡荣林,瞿学新,邵武杰,许康,赵阳,钱凯,高阳.一种基于深度学习的用户文献阅读兴趣分析方法.中国专利公开号:CN108280114A,2018.07.13;朱全银,于柿民,胡荣林,冯万利,周泓.一种基于知识图谱的专家组合推荐方法.中国专利公开号:CN109062961A,2018.12.21。
传统的知识图谱构建方法需要有专家的参与,针对上述问题:百华睿.知识图谱构建方法及系统.中国专利公开号:CN108694177A,2018.10.23,属于专业数字出版领域,根据四个匹配单元模块,将文本中的关键词与领域主题进行匹配,得到知识元实例、属性和关系,进而构建知识图谱;范亮,崔小龙,朱毅,吴士民,石薇,秦东亮.基于知识点连接关系的知识图谱构建方法.中国专利公开号:CN107784088A,2018.03.09,属于教育学习领域,目的是增强知识点总结归纳的能力,构建方法是将教学知识点的元知识点和复合知识点组合;丁帅,李玲,杨善林,王浩.医疗知识图谱构建方法及装置.中国专利公开号:CN108492887A,2018.09.04,属于医疗技术领域,根据Aprior算法确定的实体的频繁项集并计算节点强度指标,从而构建知识图谱;贾维嘉,丁建辉,马世珩.动态知识图谱的构建方法.中国专利公开号:CN108509654A,2018.09.07,属于信息抽取技术领域,利用实体的联合向量构建动态知识图谱;曾伟雄.一种构建知识图谱的方法及装置.中国专利公开号:CN109145003A,2019.01.04,数据处理对象为结构化数据,采用确定基准实体的方法更新数据并构建知识图谱。但是目前还没有结合采用自适应调参训练神经网络模型对建筑领域的实体识别和关系抽取,构建建筑领域知识图谱并应用于专家建议推荐系统的方法。
发明内容
发明目的:针对现有技术中存在的问题,本发明提出一种通过自适应寻优调参训练神经网络模型并从建筑领域文本数据中抽取出实体、关系,建立知识三元组,构建建筑领域知识图谱并应用于专家建议推荐系统的基于神经网络自适应寻优调参的建筑领域知识图谱构建方法。
技术方案:为解决上述技术问题,本发明提供一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,具体步骤如下:
(1)首先使用网络爬虫技术采集建筑领域实体、实体属性及语料,然后对建筑领域数据集进行预处理,得到实体识别模型标注数据集EntityData;
(2)利用数据集EntityData训练基于BERT-BiLSTM-CRF的自适应实体识别模型,得到建筑领域自适应实体识别模型EntityModel;
(3)对建筑领域关系数据集进行预处理,得到关系抽取模型标注数据集RelationData;
(4)利用数据集RelationData训练基于GRU的自适应关系抽取模型,得到建筑领域自适应关系抽取模型RelationModel;
(5)调用自适应实体识别模型EntityModel和关系抽取模型RelationModel,在建筑领域文本数据上抽取出实体和实体之间的联系,建立知识三元组,构建建筑领域知识图谱;
(6)开放自适应寻优调参的建筑领域知识图谱使用接口,自适应寻优调参的建筑领域知识图谱使用接口根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台。
进一步的,所述步骤(1)中使用网络爬虫技术采集建筑领域实体、实体属性及语料,然后对建筑领域数据集进行预处理,得到实体识别模型标注数据集EntityData的具体步骤如下:
(1.1)在互联网上选取建筑领域的行业网站作为数据源;
(1.2)利用网络爬虫从结构化网页中爬取建筑领域的实体以及实体的属性作为结构化数据,从非结构化网页中爬取建筑领域的长文本作为非结构化数据,即语料;
(1.3)收集并构建无效词汇表UselessData;
(1.4)定义预处理后的结构化数据集Struc_Data,Struc_Data={vocabulary1,vocabulary2,…,vocabularyStruc_DataNum},其中,Struc_DataNum为结构化数据的个数。根据无效词汇表UselessData对结构化数据进行预处理,过滤掉无效词汇和敏感词汇,得到结构化数据集Struc_Data;
(1.5)数据集采用BIO的标注方式,将每个元素标注为“B”、“I”或者“O”。其中,“B”表示此元素所在的片段属于实体类型并且此元素在此片段的开头,“I”表示此元素所在的片段属于实体类型并且此元素在此片段的中间位置,“O”表示此元素所在的片段不属于任何类型,即非实体;
(1.6)定义Word、Label分别为结构化数据集Struc_Data中每个字构成的数据集、每个字对应的标签构成的数据集,Word={word1,word2,…,wordwordNum},Label={label1,label2,…,labelwordNum},wordn为Word中第n个字,labeln为Word中第n个字对应的标签,其中,wordNum为数据集Struc_Data中字的总个数,变量n∈[1,wordNum],Label包含{B,I,O}三种标签;
(1.7)定义计数器count1,令count1=1;
(1.8)若count1≤Struc_Data Num,执行步骤(1.9),否则执行步骤(1.11);
(1.9)遍历数据集Struc_Data的数据,将数据处理为单个字存入数据集Word中,并将数据集Label中的所有数据标注为非实体标签“O”,若vocabularycount1为实体,则将vocabularycount1中的第一个字的标签改为“B”,剩余的改为“I”;
(1.10)令count1=count1+1,执行步骤(1.8);
(1.11)定义预处理后的实体模型标注数据集为EntityData,将Word和Label中的数据打包为一个个元组,得到实体识别模型标注数据集EntityData={[word1,label2],[word2,label2],…,[wordwordNum,labelwordNum]},并在在wordn与labeln之间用用制表符分隔,变量n∈[1,wordNum]。
进一步的,所述步骤(2)中利用数据集EntityData训练基于BERT-BiLSTM-CRF的自适应实体识别模型,得到建筑领域自适应实体识别模型EntityModel的具体步骤如下:
(2.1)根据训练需要将步骤(1)中得到的实体识别模型标注数据集EntityData划分,分别定义训练集比例为TrainP、验证集比例为ValidP和测试集比例为TestP;
(2.2)按照TrainP:ValidP:TestP=5:3:2的比例划分实体识别模型标注数据集EntityData为训练数据集EntityTrain、测试数据集EntityTest和验证数据集EntityValid,实体识别模型标注数据集EntityData的数据总数为EntityNum;
(2.3)分别计算训练集总数TrainNum=EntityNum*TrainP/(TrainP+ValidP+TestP)、验证集总数ValidNum=EntityNum*ValidP/(TrainP+ValidP+TestP)以及测试集总数TestNum=EntityNum*TestP/(TrainP+ValidP+TestP),得到EntityTrain={R1,R2,…,RTrainNum}、EntityValid={R1,R2,…,RValidNum}和EntityTest={R1,R2,…,RTestNum};
(2.4)建立Bi-LSTM层,以词向量序列作为输入,双向LSTM通过两个LSTM,一个正向输入序列一个反向输入序列,使模型能够同时考虑过去的特征和未来的特征,将输出拼接为2个LSTM隐含层变量大小;上层的输出经过一个隐含层输出到CRF,CRF层挑出每一个字最大概率的label并输出,对模型的输出结果使用Viterbi解码;
(2.5)利用BERT模型设定BiLSTM-CRF网络层数net、每层单元数batch、训练轮次epo、训练优化器optimizer、隐含层维度为Hidden_layer和每次训练的数据长度data_len;
(2.6)定义计数器count2,令count2=1;
(2.7)若count2≤EntityNum,执行步骤(2.8),否则执行步骤(2.11);
(2.8)将所有的数据按照每一条封装成record的形式,利用回调函数读取record的数据并组成batch;
(2.9)步骤(1)中的实体识别模型标注数据集EntityData,将其进行特征转换,定义estimator封装器,使用BERT模型的将每条数据转换为字的embedding;
(2.10)令count2=count2+1,执行步骤(2.7);
(2.11)将训练集TrainP的数据特征输入到步骤(2.5)中的预测网络,其中模型参数设置BERT中文模型路径。定义计数器flag,模型的准确度accuracy,令flag初始值为1,每经过一个epo利用验证集ValidP进行验证,记录accuracy值;
(2.12)若flag≤epo,则执行步骤(2.13),否则执行步骤(2.16);
(2.13)利用遗忘神经网络将误差反向传播回网络,对预测网络的隐含层维度Hidden_layer进行修正调参;
(2.14)更新Hidden_layer;
(2.15)令flags=flags+1,执行步骤(2.12);
(2.16)选取accuracy值最高的模型参数并保存模型EntityModel;
(2.17)训练完成并选取精确度accuracy最高的模型,得到基于BERT-BiLSTM-CRF的建筑领域自适应实体识别模型EntityModel。
进一步的,所述步骤(3)中得到关系抽取模型标注数据集RelationData的具体步骤如下:
(3.1)定义预处理后的建筑领域非结构化数据集UnStruc_Data,满足UnStruc_Data={Sentience1,Sentience2,…,SentienceUnStruc_DataNum},其中,UnStruc_DataNum为非结构化语料数据的个数,对步骤(1)中的建筑领域的长文本进行预处理,得到建筑领域非结构化数据集UnStruc_Data;
(3.2)定义Entity为建筑领域非结构化数据集UnStruc_Data中每个句子对应的实体构成的数据集,Entity={entity1,entity2,…,entityUnStruc_DataNum};
(3.3)定义计数器count3,令count3=1;
(3.4)若count3≤UnStruc_DataNum,执行步骤(3.5),否则执行步骤(3.7);
(3.5)遍历步骤(3.1)中集合UnStruc_Data的数据,利用步骤(2)中的建筑领域自适应实体识别模型EntityModel,识别Sentiencecount3中的实体,将数据处理存入数据集Entity中;
(3.6)令count3=count3+1,执行步骤(3.4);
(3.7)将UnStruc_Data和Entity中的数据打包为一个个元组,得到数据集RawData={[entity1,Sentience1],[entity2,Sentience2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum]},entity n与Sentience n间用制表符分隔,变量n∈[1,UnStruc_DataNum];
(3.8)定义Relation为数据集RawData中实体之间关系,Relation={relation1,relation2,…,relation UnStruc_DataNum};
(3.9)手动抽取实体之间的关系relation,将数据处理存入数据集Relation中;
(3.10)定义预处理后的实体关系集合RelationData,将Entity和Relation中的数据打包为一个个元组,得到数据集RelationData={[entity1,Sentience1,relation1],[entity2,Sentience2,relation2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum,relationUnStruc_DataNum]},entity n、Sentience n与relationn间用制表符分隔,变量n∈[1,UnStruc_DataNum];
(3.11)数据处理结束,得到关系抽取模型标注数据集RelationData。
进一步的,所述步骤(4)中对建筑领域关系数据集进行预处理,得到关系抽取模型标注数据集RelationData的具体步骤如下:
(4.1)根据训练需要将步骤(3)中得到的关系抽取模型标注数据集RelationData划分,分别定义训练集比例为TrainData、验证集比例为ValidData和测试集比例为TestData;
(4.2)定义按照TrainData:ValidData:TestData=5:3:2的比例划分已标注的关系抽取模型标注数据集RelationData为训练数据集Relation_Train、测试数据集Relation_Test和验证数据集Relation_Valid;
(4.3)定义GRU网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;利用Keras库设定网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;
(4.4)定义RelationDataNum为关系抽取模型标注数据集RelationData中数据的个数,对实体关系数据进行特征转换;
(4.5)定义计数器count4,令count4=1;
(4.6)若count4≤RelationDataNum,执行步骤(4.7),否则执行步骤(4.9);
(4.7)遍历步骤(4)中的关系抽取模型标注数据集RelationData,将其进行特征转换,建立word2id词典,把每个字都转换成id,将句子转换成词向量。定义每条数据的最大序列长度为MaxLength;
(4.8)令count4=count4+1,执行步骤(4.6);
(4.9)将训练集TrainData的数据特征输入步骤(4.8)中的预测网络,定义变量MinLoss用于保存模型参数的最低loss值,定义计数器flags,令flags初始值为1;每经过一个epoch利用验证集ValidData进行参数调整,输出loss值;
(4.10)若flags≤epoch,则执行步骤(4.11),否则执行步骤(4.16);
(4.11)从步骤(4.11)得到loss值,若loss≥MinLoss,执行步骤(4.12),否则,执行步骤(4.14);
(4.12)利用梯度下降法将误差反向传播回网络,对预测网络的参数net_layers、batch_size、optimizer和data_length进行修正调参;
(4.13)更新net_layers、batch_size、optimizer和data_length,执行步骤(4.15);
(4.14)更新MinLoss;
(4.15)令flags=flags+1,执行步骤(4.10);
(4.16)选取在验证集上loss值最低的模型参数并保存模型RelationModel;
(4.17)训练完成,得到基于GRU的建筑领域自适应关系抽取模型RelationModel。
进一步的,所述步骤(5)中调用自适应实体识别模型EntityModel和关系抽取模型RelationModel,在建筑领域文本数据上抽取出实体和实体之间的联系,建立知识三元组,构建建筑领域知识图谱的具体步骤如下:
(5.1)通过利用步骤(2)和步骤(4)得到的建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel,在建筑领域文本数据集中抽取出实体Item1、属性Relationship和属性值Item2;
(5.2)定义三元组triple=(Item1,Relationship,Item2);定义知识三元组数据集Triples,其中,Triples={triple1,triple2,…,triplen},n为数据集Triples总数;
(5.3)开启线程池ThreadPool1;
(5.4)检测线程池ThreadPool1是否还有任务存在,若有任务存在执行步骤(5.5),否则执行步骤(5.10);
(5.5)输入建筑领域文本;
(5.6)子线程ChildThread1获取任务处理;
(5.7)调用建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel;
(5.8)输出实体Item1、属性Relationship和属性值Item2,将数据保存为三元组triple形式,并存入Triples;
(5.9)结束该子进程,执行步骤(5.4);
(5.10)关闭线程池ThreadPool1;
(5.11)写入日志文件DateLog1;
(5.12)将Triples保存至csv文件,存入到Neo4j的import文件夹;
(5.13)使用Neo4j数据库语法导入,构建建筑领域知识图谱;
(5.14)建筑领域知识图谱构建完成。
进一步的,所述步骤(6)中开放自适应寻优调参的建筑领域知识图谱使用接口,自适应寻优调参的建筑领域知识图谱使用接口根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台的具体步骤方法为:
(6.1)开放自适应寻优调参的建筑领域知识图谱使用接口;
(6.2)创建线程池ThreadPool2;
(6.3)判断线程池ThreadPool2是否还有任务存在,若有任务存在执行步骤(6.4),否则执行步骤(6.9);
(6.4)用户通过Web平台输入施工图审查点;
(6.5)子线程ChildThread2获取任务处理;
(6.6)基于建筑邻域知识图谱中实体间关系,运用皮尔逊相关度和余弦相似度的组合算法对输入的实体向量挖掘知识库中的隐藏关系;
(6.7)利用推荐算法得到专家意见数据集Recommend={recommend1,recommend2,…,recommendn};
(6.8)结束该子进程,执行步骤(6.3);
(6.9)关闭线程池ThreadPool2;
(6.10)写入日志文件DateLog2;
(6.11)将挖掘出的专家意见信息Recommend返回Web平台。
本发明采用上述技术方案,具有以下有益效果:
本发明方法利用已有的建筑领域非结构化语料,采用自适应寻优调参训练基于BERT-BiLSTM-CRF和GRU的模型进行建筑领域实体识别与属性抽取,从而构建三元组(实体,属性,属性值),该模型能够兼顾上下文语义信息,增强模型的泛化能力。本方法改变了传统模型训练的局限性,采用自适应寻优调参技术,有效提高模型的精确度。基于已构建的建筑领域知识图谱,可以应用于专家建议推荐系统。
附图说明
图1为本发明的总体流程图;
图2为具体实施例中实体识别模型数据预处理方法的流程图;
图3为具体实施例中训练基于BERT-BiLSTM-CRF的自适应实体识别模型方法的流程图;
图4为具体实施例中关系抽取模型数据预处理方法的流程图;
图5为具体实施例中训练基于GRU的自适应关系抽取模型方法的流程图;
图6为具体实施例中构建建筑领域知识图谱方法的流程图;
图7为具体实施例中将知识图谱应用于专家建议推荐系统的流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1-图7所示,本发明所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,包括如下步骤:
步骤1:首先使用网络爬虫技术采集建筑领域实体、实体属性及语料,然后对建筑领域数据集进行预处理,得到实体识别模型标注数据集EntityData。
步骤1.1:在互联网上选取建筑领域的行业网站作为数据源;
步骤1.2:利用网络爬虫从结构化网页中爬取建筑领域的实体以及实体的属性作为结构化数据,从非结构化网页中爬取建筑领域的长文本作为非结构化数据,即语料;
步骤1.3:收集并构建无效词汇表UselessData;
步骤1.4:定义预处理后的结构化数据集Struc_Data,Struc_Data={vocabulary1,vocabulary2,…,vocabularyStruc_DataNum},其中,Struc_DataNum为结构化数据的个数。根据无效词汇表UselessData对结构化数据进行预处理,过滤掉无效词汇和敏感词汇,得到结构化数据集Struc_Data;
步骤1.5:数据集采用BIO的标注方式,将每个元素标注为“B”、“I”或者“O”。其中,“B”表示此元素所在的片段属于实体类型并且此元素在此片段的开头,“I”表示此元素所在的片段属于实体类型并且此元素在此片段的中间位置,“O”表示此元素所在的片段不属于任何类型,即非实体;
步骤1.6:定义Word、Label分别为结构化数据集Struc_Data中每个字构成的数据集、每个字对应的标签构成的数据集,Word={word1,word2,…,wordwordNum},Label={label1,label2,…,labelwordNum},wordn为Word中第n个字,labeln为Word中第n个字对应的标签,其中,wordNum为数据集Struc_Data中字的总个数,变量n∈[1,wordNum],Label包含{B,I,O}三种标签;
步骤1.7:定义计数器count1,令count1=1;
步骤1.8:若count1≤Struc_Data Num,执行步骤(1.9),否则执行步骤(1.11);
步骤1.9:遍历数据集Struc_Data的数据,将数据处理为单个字存入数据集Word中,并将数据集Label中的所有数据标注为非实体标签“O”,若vocabularycount1为实体,则将vocabularycount1中的第一个字的标签改为“B”,剩余的改为“I”;
步骤1.10:令count1=count1+1,执行步骤(1.8);
步骤1.11:定义预处理后的实体模型标注数据集为EntityData,将Word和Label中的数据打包为一个个元组,得到实体识别模型标注数据集EntityData={[word1,label2],[word2,label2],…,[wordwordNum,labelwordNum]},并在在wordn与labeln之间用用制表符分隔,变量n∈[1,wordNum]。
步骤2:利用数据集EntityData训练基于BERT-BiLSTM-CRF的自适应实体识别模型,得到建筑领域自适应实体识别模型EntityModel。
步骤2.1:根据训练需要将步骤(1)中得到的实体识别模型标注数据集EntityData划分,分别定义训练集比例为TrainP、验证集比例为ValidP和测试集比例为TestP;
步骤2.2:按照TrainP:ValidP:TestP=5:3:2的比例划分实体识别模型标注数据集EntityData为训练数据集EntityTrain、测试数据集EntityTest和验证数据集EntityValid,实体识别模型标注数据集EntityData的数据总数为EntityNum;
步骤2.3:分别计算训练集总数TrainNum=EntityNum*TrainP/(TrainP+ValidP+TestP)、验证集总数ValidNum=EntityNum*ValidP/(TrainP+ValidP+TestP)以及测试集总数TestNum=EntityNum*TestP/(TrainP+ValidP+TestP),得到EntityTrain={R1,R2,…,RTrainNum}、EntityValid={R1,R2,…,RValidNum}和EntityTest={R1,R2,…,RTestNum};
步骤2.4:建立Bi-LSTM层,以词向量序列作为输入,双向LSTM通过两个LSTM,一个正向输入序列一个反向输入序列,使模型能够同时考虑过去的特征和未来的特征,将输出拼接为2个LSTM隐含层变量大小;上层的输出经过一个隐含层输出到CRF,CRF层挑出每一个字最大概率的label并输出,对模型的输出结果使用Viterbi解码;
步骤2.5:利用BERT模型设定BiLSTM-CRF网络层数net、每层单元数batch、训练轮次epo、训练优化器optimizer、隐含层维度为Hidden_layer和每次训练的数据长度data_len;
步骤2.6:定义计数器count2,令count2=1;
步骤2.7:若count2≤EntityNum,执行步骤(2.8),否则执行步骤(2.11);
步骤2.8:将所有的数据按照每一条封装成record的形式,利用回调函数读取record的数据并组成batch;
步骤2.9:步骤(1)中的实体识别模型标注数据集EntityData,将其进行特征转换,定义estimator封装器,使用BERT模型的将每条数据转换为字的embedding;
步骤2.10:令count2=count2+1,执行步骤(2.7);
步骤2.11:将训练集TrainP的数据特征输入到步骤(2.5)中的预测网络,其中模型参数设置BERT中文模型路径。定义计数器flag,模型的准确度accuracy,令flag初始值为1,每经过一个epo利用验证集ValidP进行验证,记录accuracy值;
步骤2.12:若flag≤epo,则执行步骤(2.13),否则执行步骤(2.16);
步骤2.13:利用遗忘神经网络将误差反向传播回网络,对预测网络的隐含层维度Hidden_layer进行修正调参;
步骤2.14:更新Hidden_layer;
步骤2.15:令flags=flags+1,执行步骤(2.12);
步骤2.16:选取accuracy值最高的模型参数并保存模型EntityModel;
步骤2.17:训练完成并选取精确度accuracy最高的模型,得到基于BERT-BiLSTM-CRF的建筑领域自适应实体识别模型EntityModel。
步骤3:对建筑领域关系数据集进行预处理,得到关系抽取模型标注数据集RelationData。
步骤3.1:定义预处理后的建筑领域非结构化数据集UnStruc_Data,满足UnStruc_Data={Sentience1,Sentience2,…,SentienceUnStruc_DataNum},其中,UnStruc_DataNum为非结构化语料数据的个数,对步骤(1)中的建筑领域的长文本进行预处理,得到建筑领域非结构化数据集UnStruc_Data;
步骤3.2:定义Entity为建筑领域非结构化数据集UnStruc_Data中每个句子对应的实体构成的数据集,Entity={entity1,entity2,…,entityUnStruc_DataNum};
步骤3.3:定义计数器count3,令count3=1;
步骤3.4:若count3≤UnStruc_DataNum,执行步骤(3.5),否则执行步骤(3.7);
步骤3.5:遍历步骤(3.1)中集合UnStruc_Data的数据,利用步骤(2)中的建筑领域自适应实体识别模型EntityModel,识别Sentiencecount3中的实体,将数据处理存入数据集Entity中;
步骤3.6:令count3=count3+1,执行步骤(3.4);
步骤3.7:将UnStruc_Data和Entity中的数据打包为一个个元组,得到数据集RawData={[entity1,Sentience1],[entity2,Sentience2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum]},entity n与Sentience n间用制表符分隔,变量n∈[1,UnStruc_DataNum];
步骤3.8:定义Relation为数据集RawData中实体之间关系,Relation={relation1,relation2,…,relation UnStruc_DataNum};
步骤3.9:手动抽取实体之间的关系relation,将数据处理存入数据集Relation中;
步骤3.10:定义预处理后的实体关系集合RelationData,将Entity和Relation中的数据打包为一个个元组,得到数据集RelationData={[entity1,Sentience1,relation1],[entity2,Sentience2,relation2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum,relationUnStruc_DataNum]},entity n、Sentience n与relationn间用制表符分隔,变量n∈[1,UnStruc_DataNum];
步骤3.11:数据处理结束,得到关系抽取模型标注数据集RelationData。
步骤4:利用数据集RelationData训练基于GRU的自适应关系抽取模型,得到建筑领域自适应关系抽取模型RelationModel。
步骤4.1:根据训练需要将步骤(3)中得到的关系抽取模型标注数据集RelationData划分,分别定义训练集比例为TrainData、验证集比例为ValidData和测试集比例为TestData;
步骤4.2:定义按照TrainData:ValidData:TestData=5:3:2的比例划分已标注的关系抽取模型标注数据集RelationData为训练数据集Relation_Train、测试数据集Relation_Test和验证数据集Relation_Valid;
步骤4.3:定义GRU网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;利用Keras库设定网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;
步骤4.4:定义RelationDataNum为关系抽取模型标注数据集RelationData中数据的个数,对实体关系数据进行特征转换;
步骤4.5:定义计数器count4,令count4=1;
步骤4.6:若count4≤RelationDataNum,执行步骤(4.7),否则执行步骤(4.9);
步骤4.7:遍历步骤(4)中的关系抽取模型标注数据集RelationData,将其进行特征转换,建立word2id词典,把每个字都转换成id,将句子转换成词向量。定义每条数据的最大序列长度为MaxLength;
步骤4.8:令count4=count4+1,执行步骤(4.6);
步骤4.9:将训练集TrainData的数据特征输入步骤(4.8)中的预测网络,定义变量MinLoss用于保存模型参数的最低loss值,定义计数器flags,令flags初始值为1;每经过一个epoch利用验证集ValidData进行参数调整,输出loss值;
步骤4.10:若flags≤epoch,则执行步骤(4.11),否则执行步骤(4.16);
步骤4.11:从步骤4.9得到loss值,若loss≥MinLoss,执行步骤(4.12),否则,执行步骤(4.14);
步骤4.12:利用梯度下降法将误差反向传播回网络,对预测网络的参数net_layers、batch_size、optimizer和data_length进行修正调参;
步骤4.13:更新net_layers、batch_size、optimizer和data_length,执行步骤(4.15);
步骤4.14:更新MinLoss;
步骤4.15:令flags=flags+1,执行步骤(4.10);
步骤4.16:选取在验证集上loss值最低的模型参数并保存模型RelationModel;
步骤4.17:训练完成,得到基于GRU的建筑领域自适应关系抽取模型RelationModel。
步骤5:调用自适应实体识别模型EntityModel和关系抽取模型RelationModel,在建筑领域文本数据上抽取出实体和实体之间的联系,建立知识三元组,构建建筑领域知识图谱。
步骤5.1:通过利用步骤(2)和步骤(4)得到的建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel,在建筑领域文本数据集中抽取出实体Item1、属性Relationship和属性值Item2;
步骤5.2:定义三元组triple=(Item1,Relationship,Item2);定义知识三元组数据集Triples,其中,Triples={triple1,triple2,…,triplen},n为数据集Triples总数;
步骤5.3:开启线程池ThreadPool1;
步骤5.4:检测线程池ThreadPool1是否还有任务存在,若有任务存在执行步骤(5.5),否则执行步骤(5.10);
步骤5.5:输入建筑领域文本;
步骤5.6:子线程ChildThread1获取任务处理;
步骤5.7:调用建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel;
步骤5.8:输出实体Item1、属性Relationship和属性值Item2,将数据保存为三元组triple形式,并存入Triples;
步骤5.9:结束该子进程,执行步骤(5.4);
步骤5.10:关闭线程池ThreadPool1;
步骤5.11:写入日志文件DateLog1;
步骤5.12:将Triples保存至csv文件,存入到Neo4j的import文件夹;
步骤5.13:使用Neo4j数据库语法导入,构建建筑领域知识图谱;
步骤5.14:建筑领域知识图谱构建完成。
步骤6:开放自适应寻优调参的建筑领域知识图谱使用接口,自适应寻优调参的建筑领域知识图谱使用接口根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台。
步骤6.1:开放自适应寻优调参的建筑领域知识图谱使用接口;
步骤6.2:创建线程池ThreadPool2;
步骤6.3:判断线程池ThreadPool2是否还有任务存在,若有任务存在执行步骤(6.4),否则执行步骤(6.9);
步骤6.4:用户通过Web平台输入施工图审查点;
步骤6.5:子线程ChildThread2获取任务处理;
步骤6.6:基于建筑邻域知识图谱中实体间关系,运用皮尔逊相关度和余弦相似度的组合算法对输入的实体向量挖掘知识库中的隐藏关系;
步骤6.7:利用推荐算法得到专家意见数据集Recommend={recommend1,recommend2,…,recommendn};
步骤6.8:结束该子进程,执行步骤(6.3);
步骤6.9:关闭线程池ThreadPool2;
步骤6.10:写入日志文件DateLog2;
步骤6.11:将挖掘出的专家意见信息Recommend返回Web平台。
为了更好的说明本方法的有效性,通过对42690条建筑领域文本数据进行处理,通过数据预处理训练基于BERT-BiLSTM-CRF的自适应实体识别模型和基于GRU的自适应关系抽取模型。在模型的训练上,采用遗忘神经网络和梯度下降法将误差反向传播回网络的自适应寻优调整模型参数的方法,有效提高模型的泛化能力。在测试集上,实体抽取模型的识别准确率为95%,关系抽取模型的识别准确率为86%。实验结果对比如表1所示,实验结果如表2所示。
表1实验结果对比表
表2实验结果对比表
本发明可与计算机系统结合,根据实体抽取模型和关系抽取模型实现在非结构化文本数据中抽取出实体和关系,从而有效建立三元组,构建知识图谱并应用于专家建议推荐系统。
本发明创造性的提出了一种BERT-BiLSTM-CRF、GRU、遗忘神经网络和梯度下降法的自适应寻优调参方法相结合,经多次实验,得到建筑领域实体识别和关系抽取的最佳模型。
本发明提出的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法普遍适用于建筑领域文本数据。
以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应半酣在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。
上述方法所涉及的变量说明如下表3-表9所示:
表3全局变量表
变量定义 | 变量名称 |
EntityData | 建筑实体识别模型标注数据集 |
EntityModel | 建筑领域实体识别模型 |
RelationData | 关系抽取模型标注数据集 |
RelationModel | 建筑领域关系抽取模型 |
Entity_Num | 实体识别模型标注数据集EntityData的数据总数 |
RelationDataNum | 实体关系集合中数据的个数 |
表4步骤1变量表
变量定义 | 变量名称 |
UselessData | 无效词汇表 |
Struc_Data | 结构化数据集 |
Struc_DataNum | 结构化数据的个数 |
vocabulary | 结构化数据 |
Word | 结构化数据集Struc_Data中每个字构成的数据集 |
Label | 结构化数据集Struc_Data中每个字对应的标签构成的数据集 |
word<sub>n</sub> | Word中第n个字 |
label<sub>n</sub> | Label中第n个字对应的标签 |
wordNum | 数据集Struc_Data中字的总个数 |
count1 | 计数器,用于遍历数据集Struc_Data |
表5步骤2变量表
表6步骤3变量表
变量定义 | 变量名称 |
UnStruc_Data | 预处理后的建筑领域非结构化数据集 |
UnStruc_DataNum | 非结构化语料数据的个数 |
Sentience | 非结构化数据 |
Entity | 数据集UnStruc_Data中每个句子对应的实体构成的数据集 |
entity | 实体 |
count3 | 计数器,用于遍历数据集UnStruc_Data |
Relation | 实体属性数据集 |
RawData | 抽取非结构化数据中的实体构成的过程数据集 |
relation | 实体间的关系属性 |
entity<sub>n</sub> | 第n个实体 |
Sentience<sub>n</sub> | 第n个非结构化数据 |
relation<sub>n</sub> | 第n个关系属性 |
表7步骤4变量表
变量定义 | 变量名称 |
TrainData | 训练集比例 |
ValidData | 验证集比例 |
TestData | 测试集比例 |
Relation_Train | 训练数据集 |
Relation_Test | 测试数据集 |
Relation_Valid | 验证数据集 |
net_layers | GRU网络层数 |
batch_size | GRU网络每层单元数 |
epoch | 训练轮次 |
optimizer | 训练优化器 |
data_length | 每次训练的数据长度 |
RelationDataNum | 实体关系集合中数据的个数 |
count4 | 计数器,用于遍历数据集RelationData |
word2id | 词对应的id |
MaxLength | 每条数据的最大序列长度 |
loss | 损失值 |
MinLoss | 保存模型参数的最低loss值 |
flags | 计数器 |
表8步骤5变量表
变量定义 | 变量名称 |
Item1 | 实体 |
Relationship | 属性 |
Item2 | 属性值 |
triple | 三元组 |
Triples | 知识三元组数据集 |
ThreadPool1 | 线程池 |
ChildThread1 | 子线程 |
DateLog1 | 日志文件 |
表9步骤6变量表
变量定义 | 变量名称 |
ThreadPool2 | 线程池 |
ChildThread2 | 子线程 |
DateLog2 | 日志文件 |
Recommend | 专家意见数据集 |
以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。
Claims (7)
1.一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,具体步骤如下:
(1)首先使用网络爬虫技术采集建筑领域实体、实体属性及语料,然后对建筑领域数据集进行预处理,得到实体识别模型标注数据集EntityData;
(2)利用数据集EntityData训练基于BERT-BiLSTM-CRF的自适应实体识别模型,得到建筑领域自适应实体识别模型EntityModel;
(3)对建筑领域关系数据集进行预处理,得到关系抽取模型标注数据集RelationData;
(4)利用数据集RelationData训练基于GRU的自适应关系抽取模型,得到建筑领域自适应关系抽取模型RelationModel;
(5)调用自适应实体识别模型EntityModel和关系抽取模型RelationModel,在建筑领域文本数据上抽取出实体和实体之间的联系,建立知识三元组,构建建筑领域知识图谱;
(6)开放自适应寻优调参的建筑领域知识图谱使用接口,自适应寻优调参的建筑领域知识图谱使用接口根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台。
2.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(1)中得到实体识别模型标注数据集EntityData的具体步骤如下:
(1.1)在互联网上选取建筑领域的行业网站作为数据源;
(1.2)利用网络爬虫从结构化网页中爬取建筑领域的实体以及实体的属性作为结构化数据,从非结构化网页中爬取建筑领域的长文本作为非结构化数据,即语料;
(1.3)收集并构建无效词汇表UselessData;
(1.4)定义预处理后的结构化数据集Struc_Data,Struc_Data={vocabulary1,vocabulary2,…,vocabularyStruc_DataNum},其中,Struc_DataNum为结构化数据的个数。根据无效词汇表UselessData对结构化数据进行预处理,过滤掉无效词汇和敏感词汇,得到结构化数据集Struc_Data;
(1.5)数据集采用BIO的标注方式,将每个元素标注为“B”、“I”或者“O”。其中,“B”表示此元素所在的片段属于实体类型并且此元素在此片段的开头,“I”表示此元素所在的片段属于实体类型并且此元素在此片段的中间位置,“O”表示此元素所在的片段不属于任何类型,即非实体;
(1.6)定义Word、Label分别为结构化数据集Struc_Data中每个字构成的数据集、每个字对应的标签构成的数据集,Word={word1,word2,…,wordwordNum},Label={label1,label2,…,labelwordNum},wordn为Word中第n个字,labeln为Word中第n个字对应的标签,其中,wordNum为数据集Struc_Data中字的总个数,变量n∈[1,wordNum],Label包含{B,I,O}三种标签;
(1.7)定义计数器count1,令count1=1;
(1.8)若count1≤Struc_Data Num,执行步骤(1.9),否则执行步骤(1.11);
(1.9)遍历数据集Struc_Data的数据,将数据处理为单个字存入数据集Word中,并将数据集Label中的所有数据标注为非实体标签“O”,若vocabularycount1为实体,则将vocabularycount1中的第一个字的标签改为“B”,剩余的改为“I”;
(1.10)令count1=count1+1,执行步骤(1.8);
(1.11)定义预处理后的实体模型标注数据集为EntityData,将Word和Label中的数据打包为一个个元组,得到实体识别模型标注数据集EntityData={[word1,label2],[word2,label2],…,[wordwordNum,labelwordNum]},并在在wordn与labeln之间用用制表符分隔,变量n∈[1,wordNum]。
3.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(2)中得到建筑领域自适应实体识别模型EntityModel的具体步骤如下:
(2.1)根据训练需要将步骤(1)中得到的实体识别模型标注数据集EntityData划分,分别定义训练集比例为TrainP、验证集比例为ValidP和测试集比例为TestP;
(2.2)按照TrainP:ValidP:TestP=5:3:2的比例划分实体识别模型标注数据集EntityData为训练数据集EntityTrain、测试数据集EntityTest和验证数据集EntityValid,实体识别模型标注数据集EntityData的数据总数为EntityNum;
(2.3)分别计算训练集总数TrainNum=EntityNum*TrainP/(TrainP+ValidP+TestP)、验证集总数ValidNum=EntityNum*ValidP/(TrainP+ValidP+TestP)以及测试集总数TestNum=EntityNum*TestP/(TrainP+ValidP+TestP),得到EntityTrain={R1,R2,…,RTrainNum}、EntityValid={R1,R2,…,RValidNum}和EntityTest={R1,R2,…,RTestNum};
(2.4)建立Bi-LSTM层,以词向量序列作为输入,双向LSTM通过两个LSTM,一个正向输入序列一个反向输入序列,使模型能够同时考虑过去的特征和未来的特征,将输出拼接为2个LSTM隐含层变量大小;上层的输出经过一个隐含层输出到CRF,CRF层挑出每一个字最大概率的label并输出,对模型的输出结果使用Viterbi解码;
(2.5)利用BERT模型设定BiLSTM-CRF网络层数net、每层单元数batch、训练轮次epo、训练优化器optimizer、隐含层维度为Hidden_layer和每次训练的数据长度data_len;
(2.6)定义计数器count2,令count2=1;
(2.7)若count2≤EntityNum,执行步骤(2.8),否则执行步骤(2.11);
(2.8)将所有的数据按照每一条封装成record的形式,利用回调函数读取record的数据并组成batch;
(2.9)步骤(1)中的实体识别模型标注数据集EntityData,将其进行特征转换,定义estimator封装器,使用BERT模型的将每条数据转换为字的embedding;
(2.10)令count2=count2+1,执行步骤(2.7);
(2.11)将训练集TrainP的数据特征输入到步骤(2.5)中的预测网络,其中模型参数设置BERT中文模型路径。定义计数器flag,模型的准确度accuracy,令flag初始值为1,每经过一个epo利用验证集ValidP进行验证,记录accuracy值;
(2.12)若flag≤epo,则执行步骤(2.13),否则执行步骤(2.16);
(2.13)利用遗忘神经网络将误差反向传播回网络,对预测网络的隐含层维度Hidden_layer进行修正调参;
(2.14)更新Hidden_layer;
(2.15)令flags=flags+1,执行步骤(2.12);
(2.16)选取accuracy值最高的模型参数并保存模型EntityModel;
(2.19)训练完成并选取精确度accuracy最高的模型,得到基于BERT-BiLSTM-CRF的建筑领域自适应实体识别模型EntityModel。
4.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(3)中得到关系抽取模型标注数据集RelationData的具体步骤如下:
(3.1)定义预处理后的建筑领域非结构化数据集UnStruc_Data,满足UnStruc_Data={Sentience1,Sentience2,…,SentienceUnStruc_DataNum},其中,UnStruc_DataNum为非结构化语料数据的个数,对步骤(1)中的建筑领域的长文本进行预处理,得到建筑领域非结构化数据集UnStruc_Data;
(3.2)定义Entity为建筑领域非结构化数据集UnStruc_Data中每个句子对应的实体构成的数据集,Entity={entity1,entity2,…,entityUnStruc_DataNum};
(3.3)定义计数器count3,令count3=1;
(3.4)若count3≤UnStruc_DataNum,执行步骤(3.5),否则执行步骤(3.7);
(3.5)遍历步骤(3.1)中集合UnStruc_Data的数据,利用步骤(2)中的建筑领域自适应实体识别模型EntityModel,识别Sentiencecount3中的实体,将数据处理存入数据集Entity中;
(3.6)令count3=count3+1,执行步骤(3.4);
(3.7)将UnStruc_Data和Entity中的数据打包为一个个元组,得到数据集RawData={[entity1,Sentience1],[entity2,Sentience2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum]},entityn与Sentiencen间用制表符分隔,变量n∈[1,UnStruc_DataNum];
(3.8)定义Relation为数据集RawData中实体之间关系,Relation={relation1,relation2,…,relationUnStruc_DataNum};
(3.9)手动抽取实体之间的关系relation,将数据处理存入数据集Relation中;
(3.10)定义预处理后的实体关系集合RelationData,将Entity和Relation中的数据打包为一个个元组,得到数据集RelationData={[entity1,Sentience1,relation1],[entity2,Sentience2,relation2],…,[entityUnStruc_DataNum,SentienceUnStruc_DataNum,relationUnStruc_DataNum]},entityn、Sentiencen与relationn间用制表符分隔,变量n∈[1,UnStruc_DataNum];
(3.11)数据处理结束,得到关系抽取模型标注数据集RelationData。
5.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(4)中得到建筑领域自适应关系抽取模型RelationModel的具体步骤如下:
(4.1)根据训练需要将步骤(3)中得到的关系抽取模型标注数据集RelationData划分,分别定义训练集比例为TrainData、验证集比例为ValidData和测试集比例为TestData;
(4.2)定义按照TrainData:ValidData:TestData=5:3:2的比例划分已标注的关系抽取模型标注数据集RelationData为训练数据集Relation_Train、测试数据集Relation_Test和验证数据集Relation_Valid;
(4.3)定义GRU网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;利用Keras库设定网络层数net_layers、每层单元数batch_size、训练轮次epoch、训练优化器optimizer和每次训练的数据长度data_length;
(4.4)定义RelationDataNum为关系抽取模型标注数据集RelationData中数据的个数,对实体关系数据进行特征转换;
(4.5)定义计数器count4,令count4=1;
(4.6)若count4≤RelationDataNum,执行步骤(4.7),否则执行步骤(4.9);
(4.7)遍历步骤(4)中的关系抽取模型标注数据集RelationData,将其进行特征转换,建立word2id词典,把每个字都转换成id,将句子转换成词向量。定义每条数据的最大序列长度为MaxLength;
(4.8)令count4=count4+1,执行步骤(4.6);
(4.9)将训练集TrainData的数据特征输入步骤(4.8)中的预测网络,定义变量MinLoss用于保存模型参数的最低loss值,定义计数器flags,令flags初始值为1;每经过一个epoch利用验证集ValidData进行参数调整,输出loss值;
(4.10)若flags≤epoch,则执行步骤(4.11),否则执行步骤(4.16);
(4.11)从步骤(4.9)得到loss值,若loss≥MinLoss,执行步骤(4.12),否则,执行步骤(4.14);
(4.12)利用梯度下降法将误差反向传播回网络,对预测网络的参数net_layers、batch_size、optimizer和data_length进行修正调参;
(4.13)更新net_layers、batch_size、optimizer和data_length,执行步骤(4.15);
(4.14)更新MinLoss;
(4.15)令flags=flags+1,执行步骤(4.10);
(4.16)选取在验证集上loss值最低的模型参数并保存模型RelationModel;
(4.17)训练完成,得到基于GRU的建筑领域自适应关系抽取模型RelationModel。
6.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(5)中构建建筑领域知识图谱的具体步骤如下:
(5.1)通过利用步骤(2)和步骤(4)得到的建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel,在建筑领域文本数据集中抽取出实体Item1、属性Relationship和属性值Item2;
(5.2)定义三元组triple=(Item1,Relationship,Item2);定义知识三元组数据集Triples,其中,Triples={triple1,triple2,…,triplen},n为数据集Triples总数;
(5.3)开启线程池ThreadPool1;
(5.4)检测线程池ThreadPool1是否还有任务存在,若有任务存在执行步骤(5.5),否则执行步骤(5.10);
(5.5)输入建筑领域文本;
(5.6)子线程ChildThread1获取任务处理;
(5.7)调用建筑领域实体识别模型EntityModel和建筑领域关系抽取模型RelationModel;
(5.8)输出实体Item1、属性Relationship和属性值Item2,将数据保存为三元组triple形式,并存入Triples;
(5.9)结束该子进程,执行步骤(5.4);
(5.10)关闭线程池ThreadPool1;
(5.11)写入日志文件DateLog1;
(5.12)将Triples保存至csv文件,存入到Neo4j的import文件夹;
(5.13)使用Neo4j数据库语法导入,构建建筑领域知识图谱;
(5.14)建筑领域知识图谱构建完成。
7.根据权利要求1所述的一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法,其特征在于,所述步骤(6)中开放自适应寻优调参的建筑领域知识图谱使用接口,自适应寻优调参的建筑领域知识图谱使用接口根据用户输入的施工图审查点挖掘知识库中的隐藏关系,并将挖掘出的专家意见信息Recom返回Web平台的具体步骤如下:
(6.1)开放自适应寻优调参的建筑领域知识图谱使用接口;
(6.2)创建线程池ThreadPool2;
(6.3)判断线程池ThreadPool2是否还有任务存在,若有任务存在执行步骤(6.4),否则执行步骤(6.9);
(6.4)用户通过Web平台输入施工图审查点;
(6.5)子线程ChildThread2获取任务处理;
(6.6)基于建筑邻域知识图谱中实体间关系,运用皮尔逊相关度和余弦相似度的组合算法对输入的实体向量挖掘知识库中的隐藏关系;
(6.7)利用推荐算法得到专家意见数据集Recommend={recommend1,recommend2,…,recommendn};
(6.8)结束该子进程,执行步骤(6.3);
(6.9)关闭线程池ThreadPool2;
(6.10)写入日志文件DateLog2;
(6.11)将挖掘出的专家意见信息Recommend返回Web平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429933.8A CN111813950B (zh) | 2020-05-20 | 2020-05-20 | 一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429933.8A CN111813950B (zh) | 2020-05-20 | 2020-05-20 | 一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111813950A true CN111813950A (zh) | 2020-10-23 |
CN111813950B CN111813950B (zh) | 2024-02-27 |
Family
ID=72848687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429933.8A Active CN111813950B (zh) | 2020-05-20 | 2020-05-20 | 一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813950B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307767A (zh) * | 2020-11-09 | 2021-02-02 | 国网福建省电力有限公司 | 一种基于Bi-LSTM技术的调控知识建模方法 |
CN112417083A (zh) * | 2020-11-12 | 2021-02-26 | 福建亿榕信息技术有限公司 | 一种构建部署文本实体关系提取模型的方法和存储设备 |
CN113191497A (zh) * | 2021-05-28 | 2021-07-30 | 国家电网有限公司 | 一种面向变电站踏勘选址的知识图谱构建方法和系统 |
CN113378574A (zh) * | 2021-06-30 | 2021-09-10 | 武汉大学 | 一种基于kgann的命名实体识别方法 |
CN113535979A (zh) * | 2021-07-14 | 2021-10-22 | 中国地质大学(北京) | 一种矿物领域知识图谱构建方法及系统 |
CN113569055A (zh) * | 2021-07-26 | 2021-10-29 | 东北大学 | 基于遗传算法优化神经网络的露天矿知识图谱构建方法 |
CN113609309A (zh) * | 2021-08-16 | 2021-11-05 | 脸萌有限公司 | 知识图谱构建方法、装置、存储介质及电子设备 |
CN114077673A (zh) * | 2021-06-21 | 2022-02-22 | 南京邮电大学 | 一种基于btbc模型的知识图谱构建方法 |
CN114880468A (zh) * | 2022-04-21 | 2022-08-09 | 淮阴工学院 | 基于BiLSTM与知识图谱的建筑规范审查方法与系统 |
CN117453923A (zh) * | 2023-08-30 | 2024-01-26 | 广东电白建设集团有限公司 | 一种对施工现场施工设备和建筑设施的关系进行优化的方法 |
CN118094698A (zh) * | 2024-01-22 | 2024-05-28 | 天津大学 | 一种基于知识图谱的桥梁低碳施工方案推荐方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064027A (zh) * | 2006-04-28 | 2007-10-31 | 施威 | 一种建筑工程施工技术规范知识库数据结构 |
CN107357970A (zh) * | 2017-06-23 | 2017-11-17 | 清华大学 | 基于数据挖掘的建筑信息模型异常元素检测装置和方法 |
CN108073711A (zh) * | 2017-12-21 | 2018-05-25 | 北京大学深圳研究生院 | 一种基于知识图谱的关系抽取方法和系统 |
CN108829696A (zh) * | 2018-04-18 | 2018-11-16 | 西安理工大学 | 面向地铁设计规范中知识图谱节点自动构建方法 |
CN109284396A (zh) * | 2018-09-27 | 2019-01-29 | 北京大学深圳研究生院 | 医学知识图谱构建方法、装置、服务器及存储介质 |
CN110287334A (zh) * | 2019-06-13 | 2019-09-27 | 淮阴工学院 | 一种基于实体识别和属性抽取模型的学校领域知识图谱构建方法 |
US20200134422A1 (en) * | 2018-10-29 | 2020-04-30 | International Business Machines Corporation | Relation extraction from text using machine learning |
CN111104517A (zh) * | 2019-10-01 | 2020-05-05 | 浙江工商大学 | 一种基于两个三元组的中文问题生成方法 |
-
2020
- 2020-05-20 CN CN202010429933.8A patent/CN111813950B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064027A (zh) * | 2006-04-28 | 2007-10-31 | 施威 | 一种建筑工程施工技术规范知识库数据结构 |
CN107357970A (zh) * | 2017-06-23 | 2017-11-17 | 清华大学 | 基于数据挖掘的建筑信息模型异常元素检测装置和方法 |
CN108073711A (zh) * | 2017-12-21 | 2018-05-25 | 北京大学深圳研究生院 | 一种基于知识图谱的关系抽取方法和系统 |
CN108829696A (zh) * | 2018-04-18 | 2018-11-16 | 西安理工大学 | 面向地铁设计规范中知识图谱节点自动构建方法 |
CN109284396A (zh) * | 2018-09-27 | 2019-01-29 | 北京大学深圳研究生院 | 医学知识图谱构建方法、装置、服务器及存储介质 |
US20200134422A1 (en) * | 2018-10-29 | 2020-04-30 | International Business Machines Corporation | Relation extraction from text using machine learning |
CN110287334A (zh) * | 2019-06-13 | 2019-09-27 | 淮阴工学院 | 一种基于实体识别和属性抽取模型的学校领域知识图谱构建方法 |
CN111104517A (zh) * | 2019-10-01 | 2020-05-05 | 浙江工商大学 | 一种基于两个三元组的中文问题生成方法 |
Non-Patent Citations (3)
Title |
---|
ZHENJIN DAI 等: "Named Entity Recognition Using BERT BiLSTM CRF for Chinese Electronic Health Records", 2019 12TH INTERNATIONAL CONGRESS ON IMAGE AND SIGNAL PROCESSING, BIOMEDICAL ENGINEERING AND INFORMATICS (CISP-BMEI), pages 1 - 5 * |
王磊 等: "基于关系触发词与单层GRU模型的关系抽取方法", 吉林大学学报(理学版), vol. 58, no. 01, pages 95 - 103 * |
穆磊 等: "基于BIM和知识图谱的消防智能审图研究", 消防科学与技术, vol. 38, no. 12, pages 1765 - 1768 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307767A (zh) * | 2020-11-09 | 2021-02-02 | 国网福建省电力有限公司 | 一种基于Bi-LSTM技术的调控知识建模方法 |
CN112417083B (zh) * | 2020-11-12 | 2022-05-17 | 福建亿榕信息技术有限公司 | 一种构建部署文本实体关系提取模型的方法和存储设备 |
CN112417083A (zh) * | 2020-11-12 | 2021-02-26 | 福建亿榕信息技术有限公司 | 一种构建部署文本实体关系提取模型的方法和存储设备 |
CN113191497A (zh) * | 2021-05-28 | 2021-07-30 | 国家电网有限公司 | 一种面向变电站踏勘选址的知识图谱构建方法和系统 |
CN113191497B (zh) * | 2021-05-28 | 2024-04-23 | 国家电网有限公司 | 一种面向变电站踏勘选址的知识图谱构建方法和系统 |
CN114077673A (zh) * | 2021-06-21 | 2022-02-22 | 南京邮电大学 | 一种基于btbc模型的知识图谱构建方法 |
CN113378574A (zh) * | 2021-06-30 | 2021-09-10 | 武汉大学 | 一种基于kgann的命名实体识别方法 |
CN113378574B (zh) * | 2021-06-30 | 2023-10-24 | 武汉大学 | 一种基于kgann的命名实体识别方法 |
CN113535979A (zh) * | 2021-07-14 | 2021-10-22 | 中国地质大学(北京) | 一种矿物领域知识图谱构建方法及系统 |
CN113569055B (zh) * | 2021-07-26 | 2023-09-22 | 东北大学 | 基于遗传算法优化神经网络的露天矿知识图谱构建方法 |
CN113569055A (zh) * | 2021-07-26 | 2021-10-29 | 东北大学 | 基于遗传算法优化神经网络的露天矿知识图谱构建方法 |
CN113609309A (zh) * | 2021-08-16 | 2021-11-05 | 脸萌有限公司 | 知识图谱构建方法、装置、存储介质及电子设备 |
CN113609309B (zh) * | 2021-08-16 | 2024-02-06 | 脸萌有限公司 | 知识图谱构建方法、装置、存储介质及电子设备 |
CN114880468A (zh) * | 2022-04-21 | 2022-08-09 | 淮阴工学院 | 基于BiLSTM与知识图谱的建筑规范审查方法与系统 |
CN117453923A (zh) * | 2023-08-30 | 2024-01-26 | 广东电白建设集团有限公司 | 一种对施工现场施工设备和建筑设施的关系进行优化的方法 |
CN117453923B (zh) * | 2023-08-30 | 2024-03-19 | 广东电白建设集团有限公司 | 一种对施工现场施工设备和建筑设施的关系进行优化的方法 |
CN118094698A (zh) * | 2024-01-22 | 2024-05-28 | 天津大学 | 一种基于知识图谱的桥梁低碳施工方案推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111813950B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813950A (zh) | 一种基于神经网络自适应寻优调参的建筑领域知识图谱构建方法 | |
CN109255031B (zh) | 基于知识图谱的数据处理方法 | |
WO2021147726A1 (zh) | 信息抽取方法、装置、电子设备及存储介质 | |
CN108563653B (zh) | 一种用于知识图谱中知识获取模型的构建方法及系统 | |
CN110377903B (zh) | 一种句子级实体和关系联合抽取方法 | |
CN111931506B (zh) | 一种基于图信息增强的实体关系抽取方法 | |
WO2022141878A1 (zh) | 端到端的语言模型预训练方法、系统、设备及存储介质 | |
CN113591483A (zh) | 一种基于序列标注的文档级事件论元抽取方法 | |
CN109271529A (zh) | 西里尔蒙古文和传统蒙古文双文种知识图谱构建方法 | |
CN111831789A (zh) | 一种基于多层语义特征提取结构的问答文本匹配方法 | |
CN112100394A (zh) | 一种用于推荐医疗专家的知识图谱构建方法 | |
CN114818717B (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN115048447B (zh) | 一种基于智能语义补全的数据库自然语言接口系统 | |
CN117236338B (zh) | 一种稠密实体文本的命名实体识别模型及其训练方法 | |
CN117474703B (zh) | 基于社交网络的话题智能推荐方法 | |
CN114661872A (zh) | 一种面向初学者的api自适应推荐方法与系统 | |
CN115510242A (zh) | 一种中医文本实体关系联合抽取方法 | |
CN115688784A (zh) | 一种融合字与词语特征的中文命名实体识别方法 | |
CN114648029A (zh) | 一种基于BiLSTM-CRF模型的电力领域命名实体识别方法 | |
CN113761313A (zh) | 基于国家基金课题挖掘的科技前沿研究热点分析方法及装置 | |
CN116975212A (zh) | 问题文本的答案查找方法、装置、计算机设备和存储介质 | |
CN114388141A (zh) | 一种基于药物实体词掩码和Insert-BERT结构的药物关系抽取方法 | |
CN113282757A (zh) | 基于电商领域表示模型的端到端三元组提取方法及系统 | |
CN117828024A (zh) | 一种插件检索方法、装置、存储介质及设备 | |
Chernyshov et al. | Intelligent processing of natural language search queries using semantic mapping for user intention extracting |
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 |