欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020104299338
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2025-03-25
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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平台。