CN117094390A - 一种面向海洋工程领域的知识图谱构建及智能搜索方法 - Google Patents
一种面向海洋工程领域的知识图谱构建及智能搜索方法 Download PDFInfo
- Publication number
- CN117094390A CN117094390A CN202311058328.4A CN202311058328A CN117094390A CN 117094390 A CN117094390 A CN 117094390A CN 202311058328 A CN202311058328 A CN 202311058328A CN 117094390 A CN117094390 A CN 117094390A
- Authority
- CN
- China
- Prior art keywords
- data
- entity
- ocean engineering
- field
- layer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000010276 construction Methods 0.000 title claims abstract description 24
- 238000000605 extraction Methods 0.000 claims abstract description 29
- 239000013598 vector Substances 0.000 claims description 45
- 238000002372 labelling Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 230000009193 crawling Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000015654 memory Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000003672 processing method Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 claims description 3
- 238000012407 engineering method Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000011160 research Methods 0.000 abstract description 6
- 238000013461 design Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明提供一种面向海洋工程领域的知识图谱构建及智能搜索方法,该方法包括以下五个步骤:(1)构建海洋工程领域本体;(2)获得的海洋工程领域数据,包括结构化数据、半结构化数据和非结构化数据;(3)对获取的非结构化数据进行知识识别;(4)将步骤(2)中的结构化数据、半结构数据和步骤(3)进行知识抽取后的的非结构化数据存储于Neo4j图数据库中形成海洋工程领域知识图谱;(5)通过基于步骤(4)建立的海洋工程领域知识图谱,面向领域用户搜索问题实现智能搜索。本发明填补知识图谱在海洋工程领域应用研究的空白,设计并实现了基于知识图谱的海洋工程智能搜索***。为知识图谱在海洋工程领域的应用提供了***的方法和思路。
Description
技术领域
本发明涉及知识图谱构建方法,特别是涉及领域知识图谱的构建和智能搜索方法。
背景技术
2012年谷歌提出Google Knowledge Graph,知识图谱正式得名,谷歌通过知识图谱技术改善了搜索引擎性能。在人工智能的蓬勃发展下,知识图谱涉及到的知识抽取、表示、融合、推理、问答等关键问题得到一定程度的解决和突破,知识图谱成为知识服务领域的一个新热点,受到国内外学者和工业界广泛关注。知识图谱以结构化的形式描述客观世界中概念、实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解海量信息的能力。
传统意义上,知识图谱可以划分为通用知识图谱和领域知识图谱。通用知识图谱强调的是广度,力求更多的实体、关系、三元组。领域知识图谱主要面向特定行业或细分领域,主要是解决专业问题。领域知识图谱面向特定领域的知识图谱,用户目标对象需考虑行业中各级人员,不同人员对应的操作和业务场景不同,因而需要一定的深度与完备性。行业知识图谱对准确度要求非常高,通常用于辅助各种复杂的分析应用或决策支持,有严格与丰富的数据模式,行业知识图谱中的实体通常属性比较多且具有行业意义。行业知识图谱指面向特定领域的知识图谱,实体、三元组具备更多行业意义,用户对象需要考虑行业中各类人员,对应领域细分场景,除搜索、问答等通用应用外还用于行业内辅助决策支持,更侧重于深度、精度、完备性。
海洋科学分布于多学科,海洋技术涉及不同领域,海洋工程体现出不同科学、技术、工程的交叉融合,这也决定了海洋数据具备多源异构的特点。传统依赖信息***的数据搜索功能已经无法满足当前的海洋业务需求,同时海量多源异构海洋数据难以实现语义化理解和知识化转化。知识图谱技术为海洋数据利用提供了一种有效手段,知识图谱通过从海洋工程领域数据中获取与融合丰富的语义知识,形成庞大、相互关联的知识网络,实现潜在隐藏信息的自动挖掘与推理,海量数据的语义理解与快速、准确搜索。利用知识图谱对海洋工程领域海洋知识问答可有效普及海洋知识;面向海洋学科概念、海洋文献资料、海洋工程、海洋自然资源管理的智能问答***能有效推动海洋专业及其交叉学科的发展。由于海洋学科涉及范围较广,海洋信息技术当前在海洋领域的地位远不如物理海洋、海洋遥感、海洋预报等学科,知识图谱技术在海洋领域未得到深入研究,仅仅停留在以海洋相关文献数据等资源为基础,构建海洋知识图谱。海洋领域知识图谱的应用场景模糊,缺乏对人类通过用海项目开发利用和保护海洋资源的工程领域研究,当前涉足海洋工程领域的自然资源管理者、海洋科研事业单位、海域论证从业单位等无法深入利用知识图谱。现有研究仅从海洋文献和开放资源中设计了包含“海洋”一词的知识图谱,没有为海洋工程领域的知识提供明确的定义或解释,也没有使用海洋工程领域中的真实数据。
如何在海洋工程领域缺乏标准知识定义的情况下构建领域本体,如何海洋工程领域的现有信息***不使用非电子资源而仅使用结构化数据的情况扩大搜索场景的范围,如何建立一个合理的、基于知识图谱的海洋工程智能搜索***以便相关人员获得高效的知识服务,是海洋工程领域中亟待解决的问题。综合上述研究背景,本发明旨在探索构建涉及海洋自然资源、海洋科学、海洋百科的海洋工程领域本体,通过知识图谱技术,尝试用知识图谱全过程建立的常用方法构建面向江苏海洋的领域知识图谱,并提供实体关系可视化、搜索、问答等知识服务。本发明可以从海量数据中获取与融合丰富的语义知识,形成庞大、相互关联的海洋工程领域知识网络,实现潜在隐藏信息的自动挖掘与推理,满足海量海洋数据的语义理解与快速准确搜索。本发明将应用于江苏海洋开发利用和保护、海域监管和监测、海洋科学研究等。
发明内容
发明目的:为解决现有技术的不足,本发明提供一种面向海洋工程领域的知识图谱构建及智能搜索方法。
技术方案:为实现上述发明目的,本发明采用以下技术方案:
本发明的一种面向海洋工程领域的知识图谱构建及智能搜索方法,包括如下步骤:
(1)构建海洋工程领域本体;
(2)利用步骤(1)得到的海洋工程领域本体作为获取海洋工程领域数据的依据,获得的海洋工程领域数据包括结构化数据、半结构化数据和非结构化数据三种异构数据类型;
(3)对于步骤(2)中获取的非结构化数据进行知识识别,包括:实体识别、关系识别、属性识别;
实体识别过程中采用BERT-BiLSTM-CRF模型作为海洋工程领域实体识别模型,实体识别模型自底向上分别是输入层、BERT层、BiLSTM层和CRF层;输入层为特殊标识符[CLS]、[SEP]和待识别语句的拼接;BERT层将输入的每个字符表示为向量形式;BiLSTM层用于学习向量的上下文表示,提取文本特征,其中前向LSTM从前往后学习向量在上文中的表示,后向LSTM从后往前学习向量在下文中的表示,将两个方向的向量表示拼接作为最终的向量输出到下一层;CRF层利用标签之间的依赖关系,对BiLSTM层的输出添加约束条件,将特征向量转化为最优序列标签,得到海洋工程领域的命名实体;
关系识别过程中采用基于R-BERT模型添加头部和尾部实体的位置信息来增强关系识别的性能;在数据预处理步骤中,标识符“$”和“#”分别添加到头部实体e1和尾部实体e2的左侧和右侧,用于标记实体的位置信息,对于每个输入序列形成下式所示形式:
[CLS]x1,x2,...,xn-j,$e1$,xn-j+k,...,xn-i,#e2#,xn-i+t,...,xn[SEP] (1)
其中,n表示输入序列长度,j,k表示头部实体两侧序列位置,i,t表示尾部实体两侧序列位置;在对基于BERT的模型进行编码之后,R-BERT将[CLS]的隐藏层向量的级联和每个实体的隐藏层矢量的平均值输入到softmax层以进行关系分类;
(4)知识图谱存储:将步骤(2)中的结构化数据、半结构数据和步骤(3)进行知识抽取后的的非结构化数据存储于Neo4j图数据库中形成海洋工程领域知识图谱;
(5)智能搜索:通过基于步骤(4)建立的海洋工程领域知识图谱,面向领域用户搜索问题实现智能搜索;用户输入用户搜索语句,利用问句解析模块对搜索语句中提及的实体s进行抽取,对搜索的关系进行识别,检查是否在海洋工程领域搜索;依据识别用户输入信息构建Cypher查询语句,最终输出用户的所需结果;
所述问句解析模块使用BERT-CRF模型识别出问句中的实体名称,所述对搜索的关系进行识别是采用词典匹配的方法对关系词进行识别,关系词典包含实体与实体之间的关系词和实体的属性关系词,问句解析模块的最后检查搜索语句是否属于海洋工程领域内,如果是就进入Cypher查询语句构建模块,否则输出提醒,提醒用户在本领域内搜索;在识别到实体名称和关系词后,通过构建Cypher查询语句,在Neo4j中查询,返回用户搜索答案。
进一步地,步骤(1)的构建海洋工程领域本体包括以下方法:IDEF5法、骨架法、TOVE法、METHONTOLO法、SENSUS法、KACTUS工程法、五步循环法。
进一步地,步骤(2)中所述结构化数据的获取是从关系数据库导出后,将关系数据库转化为具有语义信息的知识三元组,直接将关系数据库的数据结构映射为RDF图;采用DM映射语言,建立关系数据库中的表头字段与海洋本体中实体属性的一一映射关系,实现结构化数据的知识提取。
进一步地,步骤(2)所述半结构化数据采用基于包装器的方法获取,处理方法包括如下具体步骤:
包装器的实现包括爬取数据、解析数据和存储数据三个步骤,首先向给定URL所在服务器发送HTTP请求,服务器返回一个包含URL网页内容的Response对象,Python语言中实现HTTP请求的库函数包括urllib/urllib2、re、requests,然后使用网页解析器来提取HTML网页中的数据,所述网页解析器采用re或者beautifulsoup,最后按照所需格式保存数据;在爬取数据时,针对不同站点的网页,首先采用手工方法人工分析网页结构,对不同的网页设计特定的网页抽取规则,然后采用自动抽取方法实现同类型网页的批量化数据抽取;对于静态加载的网页,采用Requests来实现,Requests通过初始URL获取网页源码,再结合网页解析器解析网页中的标签内容,得到目标数据;动态加载的网页则使用Selenuim实现,Selenuim通过模拟用户的操作行为,实现网页数据的实时更新,用户的操作行为包括如点击按钮,输入文本。
进一步地,步骤(3)中还包括对于非结构化数据为PDF格式的海域使用论证报告进行预处理的步骤,首先利用Python编写文档解析器从PDF文件中读取报告文本,从文本中筛选与业务数据相关的段落构建知识抽取语料库,然后采用基于字符的BIO标注法对语料库中的实体和关系进行人工标注,BIO标注法中B表示字符为实体的开始,I表示字符为实体的中间部分,O表示字符不构成实体,语料标注借助开源文本标注工具BRAT完成。
进一步地,步骤(3)所述非结构化数据实体识别包括以下方法:基于规则和词典的方法、基于统计机器学习的方法、基于深度学习的方法。
进一步地,步骤(3)非结构化数据实体识别包括如下具体步骤:
采用BERT-BiLSTM-CRF模型作为实体识别模型,实体识别模型自底向上分别是输入层、BERT层、BiLSTM层和CRF层;输入层为特殊标识符[CLS]、[SEP]和待识别语句的拼接;BERT层将输入的每个字符表示为向量形式;BiLSTM层用于学习向量的上下文表示,提取文本特征,其中前向LSTM从前往后学习向量在上文中的表示,后向LSTM从后往前学习向量在下文中的表示,将两个方向的向量表示拼接作为最终的向量输出到下一层;CRF层利用标签之间的依赖关系,对BiLSTM层的输出添加约束条件,将特征向量转化为最优序列标签,得到海洋工程领域的命名实体;
海洋工程领域部分命名实体通过长短时记忆网络LSTM进行长序列记忆,在LSTM网络中,每个时刻t中各隐藏状态的计算公式如下所示:
Ft=σ(Wfxt+Ufht-1+bf)
It=σ(Wixt+Uiht-1+bi)
Ot=σ(Woxt+Uoht-1+bo)
Ht=Ot⊙tanh(Ct)
其中,It,Ft,Ot分别表示LSTM网络的输入门,遗忘门和输出门,W和U为权重矩阵,bf、bi、bo、bc为偏置,σ是激活函数,表示候选记忆单元,Ct表示记忆单元,Ht表示隐状态输出,Ot为1表示输出,Ot为0表示重置,⊙表示Hadamard乘积;
再采用BiLSTM将文本的正向序列表示和反向序列表示拼接起来作为文本的最终向量表示,通过文本的正、反向特征学习,捕获上下文的语义信息,在t时刻BiLSTM的隐状态输出Ht、Ot表示为:
Ot=HtWhq+bq
最后采用CRF判别模型学习标签之间的依赖关系,对标签序列添加约束条件,得到全局条件下的最优标签序列:假设BiLSTM的输出为矩阵P,标签之间的转移矩阵为A,对于输入序列X=(x1,x2,...,xn),输出序列Y=(y1,y2,...,yn)的得分S(X,Y)表示为:
其中表示第i个字符对应标签yi的得分,/>表示标签i的下一个标签是j的得分,再通过归一化之后输出序列Y的概率分布P(Y|X)为:
表示真实的标签序列,YX表示所有可能的标签序列;
CRF模型的训练目标是最大化对数似然函数,模型的损失函数L定义为:
L=log(P(Y|X))
有益效果:与现有技术相比,本发明采用如上技术方案,具有如下优点:
(1)在海洋知识图谱领域,本发明设计了一种面向海洋工程领域的知识图谱构建及智能检索方法:通过整理海洋工程领域中不同类型的概念和数据并明确定义海洋工程领域本体,提出了一种以自上而下的方式构建海洋工程知识图谱的新方法;
(2)本发明在海洋工程领域设计并实现了一个基于知识图谱的智能搜索***,该***可以有效地向用户的搜索返回准确答案。
附图说明
图1是本发明的总体框架图;
图2是海洋工程领域本体构建流程图;
图3是文本标注工具BRAT标注非结构化数据示意图;
图4是基于BERT-BiLSTM-CRF的实体抽取模型结构;
具体实施方式
以下对本发明的技术方案进行详细说明。
以下只是本发明一种实施例,本发明还有其他多种实施方式,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本发明的一种面向海洋工程领域的知识图谱构建及智能搜索方法,该方法包括以下步骤:
(1)海洋工程领域本体构建
本体是描述某一领域内概念以及概念之间的关系和语义,规范该领域内知识表示。虽然完全自动化的本体建立是有效的,但没有专家监督,错误仍然存在。本发明在本体构建过程中,一部分由专家手工提取海洋工程领域的概念和关系,另一部分从现有海洋信息数据库中自动提取结构化数据。构建海洋工程领域本体包括以下方法:IDEF5法、骨架法、TOVE法、METHONTOLO法、SENSUS法、KACTUS工程法、五步循环法。
本实施例中使用七步流程将海洋信息***数据库的表结构转换为类、属性和关系。构建海洋工程领域本体七步流程如下:(1)-(1)确定海洋工程领域本体的范畴;(1)-(2)考虑现有本体重用的可能性;(1)-(3)分析并列出本体的重要专业术语;(1)-(4)定义本体的类和类层次;(1)-(5)定义类的属性;(1)-(6)定义约束关系;(1)-(7)创建本体。
(2)海洋工程领域数据获取和处理
利用步骤(1)中的海洋工程领域本体作为获取海洋工程领域数据的依据。本发明的数据包括结构化、半结构化和非结构化三种异构数据类型,不同结构的数据,数据处理工作不同。
结构化数据源自海洋业务平台关系数据库数据,结构化数据是使用关系数据库管理和存储的海洋工程领域业务数据,数据之间存在明确的实体名称和对应关系将关系数据库的结构化数据转换成知识;结构化数据从关系数据库导出后,字段和关系已包含实体、属性、关系,不需要经过步骤(3),处理后直接通过步骤(4)存储于Neo4j中。本实施例中,对于结构化数据采用人工筛选与业务***导出功能相结合方式从关系数据库中导出,对于重复数据,将其直接删除,字段缺失问题通过领域专家参照相关报告,明确和规范数据描述。结构化数据处理方法:将关系数据库转化为具有语义信息的知识三元组,这一过程被称为RDB2RDF(Relational Database to RDF);直接将关系数据库的数据结构映射为RDF图;采用DM(Direct Mapping)映射语言,建立关系数据库中的表头字段与海洋本体中实体属性的一一映射关系,实现结构化数据的知识识别。
半结构化数据来自国家海洋科学数据中心、海洋专业知识服务***等网站,站点数量少,网页结构固定,网页间的相似性高;对于半结构化数据的数据获取,采用基于包装器的方法,包装器是一种网络爬虫,包装器的生成分为手工方法、包装器归纳法和自动抽取;本发明的半结构化数据来自国家海洋科学数据中心、海洋专业知识服务***等网站,站点数量少,网页结构固定,网页间的相似性高,因此本发明采用手工方法和自动抽取相结合的方法实现半结构知识抽取,利用爬虫技术和网页解析技术生成包装器;从海洋工程领域站点获取数据后预处理后不需要经过步骤(3),处理后直接通过步骤(4)存储于Neo4j中。
半结构化数据处理方法包括如下具体步骤:包装器的实现包括爬取数据、解析数据和存储数据三个步骤。首先向给定URL所在服务器发送HTTP请求,服务器返回一个包含URL网页内容的Response对象,Python语言中实现HTTP请求的库函数有urllib/urllib2、re、requests等,然后使用re、beautifulsoup等网页解析器来提取HTML网页中的数据,最后按照所需格式保存数据;在爬取数据时,针对不同站点的网页,首先采用手工方法人工分析网页结构,对不同的网页设计特定的网页抽取规则,然后采用自动抽取方法实现同类型网页的批量化数据抽取;本发明使用的网站有静态加载和动态加载两种网页,对于静态加载的网页,采用Requests来实现,Requests通过初始URL获取网页源码,再结合网页解析器解析网页中的标签内容,得到目标数据;动态加载的网页则使用Selenuim实现,Selenuim通过模拟用户的操作行为,如点击按钮,输入文本等,实现网页数据的实时更新。
非结构化数据为收集的海域使用论证报告等海洋工程领域相关的文本类业务报告,格式为PDF、Word。对于非结构化数据为PDF格式的海域使用论证报告,还需要进行预处理:首先利用Python编写文档解析器从PDF文件中读取报告文本,从文本中筛选与业务数据相关的段落构建知识抽取语料库,然后采用基于字符的BIO标注法对语料库中的实体和关系进行人工标注,BIO标注法中B表示字符为实体的开始,I表示字符为实体的中间部分,O表示字符不构成实体,语料标注借助开源文本标注工具BRAT完成。
然后利用步骤(3)进行知识抽取,抽取的过程中采用基于R-BERT模型添加头部和尾部实体的位置信息来增强关系提取的性能;在数据预处理步骤中,标识符“$”和“#”分别添加到头部实体e1和尾部实体e2的左侧和右侧,用于标记实体的位置信息。对于每个输入序列形成下式所示形式:
[CLS]x1,x2,...,xn-j,$e1$,xn-j+k,...,xn-i,#e2#,xn-i+t,..,xn[SEP] (2)
其中,n表示输入序列长度,j,k表示头部实体两侧序列位置,i,t表示尾部实体两侧序列位置;在对基于BERT的模型进行编码之后,R-BERT将[CLS]的隐藏层向量的级联和每个实体的隐藏层矢量的平均值输入到softmax层以进行关系分类;通过在实体前后加标识符表明实***置,来代替传统位置向量以增加关系抽取的准确性。
(3)知识识别
步骤(3)是处理步骤(2)中获取的非结构化数据。因海洋工程领域中的大量信息存在于PDF、Word文本格式而非信息***中,故知识识别主要针对非结构化数据,包括:实体抽取、关系识别、属性识别等。实体抽取也称为实体识别,是指从文本语料库中自动识别出专有名词。关系抽取是从非结构化数据中发现命名实体之间的语义关系。属性识别主要是实现对实体的完整描述,由于可以把实体属性看作实体与属性值之间的一种名词性关系,所以属性识别任务就可以转化为关系识别任务;实体识别是从文本中识别出命名实体,并将其标记为预定义的类别,如项目名称、机构名称、地理位置等,实体识别方法可分为基于规则和词典的方法、基于统计机器学习的方法和基于深度学习的方法三种;基于词典和规则的方法,通过构建词典和实体构造规则来提取实体;基于统计机器学习的方法将命名实体识别看做序列标注问题,基于人工定义的特征,利用人工标注的语料训练机器学习模型来实现实体的识别;海洋工程领域实体抽取完成后,将得到一个个独立的实体,关系抽取是从文本中抽取出实体之间的语义关系,建立实体之间的关联;本发明将关系抽取建模为分类任务,在命名实体识别的基础上对实体对之间的关系进行类型预测,海洋工程领域的关系主要为用海项目、项目位置、项目宗海、海域使用方式等实体之间的关系。
本实施例中采用BERT-BiLSTM-CRF模型作为实体识别模型,实体识别模型自底向上分别是输入层、BERT层、BiLSTM层和CRF层;输入层为特殊标识符[CLS]、[SEP]和待识别语句的拼接;BERT层将输入的每个字符表示为向量形式;BiLSTM层用于学习向量的上下文表示,提取文本特征,其中前向LSTM从前往后学习向量在上文中的表示,后向LSTM从后往前学习向量在下文中的表示,将两个方向的向量表示拼接作为最终的向量输出到下一层;CRF层利用标签之间的依赖关系,对BiLSTM层的输出添加约束条件,将特征向量转化为最优序列标签,得到海洋工程领域的命名实体。
海洋工程领域部分命名实体长度较长,海洋实体中的字符与上下文存在一定的依赖关系,长短时记忆网络LSTM是一种特殊的循环神经网络,具有长序列记忆功能,可以在当前时刻保留上一时刻的信息,使神经网络学习到上下文特征信息。在LSTM网络中,每个时刻t中各隐藏状态的计算公式如下所示。
Ft=σ(Wfxt+Ufht-1+bf)
It=σ(Wixt+Uiht-1+bi)
Ot=σ(Woxt+Uoht-1+bo)
Ht=Ot⊙tanh(Ct)
其中,It,Ft,Ot分别表示LSTM网络的输入门,遗忘门和输出门,W和U为权重矩阵,b为偏置,σ是激活函数,表示候选记忆单元,Ct表示记忆单元,Ht表示隐状态输出(Ot为1表示输出,为0表示重置),⊙表示Hadamard乘积。因为LSTM在对句子进行建模时,只能考虑正向文本序列信息,无法编码从后往前的信息,而BiLSTM将文本的正向序列表示和反向序列表示拼接起来作为文本的最终向量表示,通过文本的正、反向特征学习,可以捕获上下文的语义信息,所以在t时刻BiLSTM的Ht、Ot表示为:
Ot=HtWhq+bq
CRF是一种判别模型,广泛应用于分词、词性标注、命名实体识别等任务中。在BIO标注法中,标签B和I的出现有先后顺序,I标签只能出现在B标签之后。BiLSTM的输出通过归一化处理可以对每个字符对应的标签进行独立预测,但这种方法仅考虑了局部最优解,标签序列会出现不合法标签,CRF模型可以学习标签之间的依赖关系,对标签序列添加约束条件,得到全局条件下的最优标签序列,避免不合法标签的出现。假设BiLSTM的输出为矩阵P,标签之间的转移矩阵为A,对于输入序列X=(x1,x2,...,xn),输出序列Y=(y1,y2,...,yn)的得分表示为:
其中表示第i个字符对应标签yi的得分,/>表示标签i的下一个标签是j的得分。通过归一化之后输出序列Y的概率分布为:
表示真实的标签序列,YX表示所有可能的标签序列。CRF模型的训练目标是最大化对数似然函数,模型的损失函数定义为:
L=log(P(Y|X))
(4)知识图谱存储
将步骤(2)中的结构化数据、半结构数据和步骤(3)的非结构化数据通过步骤(4)存储于Neo4j图数据库中。本实施例选择Neo4j图数据库来存储海洋工程领域知识图谱;知识图谱数据通常存储在数据库中,为智能应用提供服务;由于知识图谱中存在实体节点和关系边,图数据库可以为应用程序提供比关系数据库更好的性能,它可以在不牺牲应用程序性能的情况下处理大规模数据集,还可以高性能地回答复杂的查询;Neo4j使用Cypher语言搜索图数据;步骤(4)完成后,建立了海洋工程领域知识图谱。
(5)智能搜索方法
通过基于步骤(4)建立的海洋工程领域知识图谱,面向领域用户搜索问题实现智能搜索;用户输入用户搜索语句,利用问句解析模块对搜索语句中提及的实体s进行抽取,对搜索的关系进行识别,检查是否在海洋工程领域搜索;依据识别用户输入信息构建Cypher查询语句,最终输出用户的所需结果;在问句实体识别中使用BERT-CRF模型识别出问句中的实体名称,在关系识别中采用词典匹配的方法对关系词进行识别,关系词典包含实体与实体之间的关系词和实体的属性关系词,问句解析模块的最后检查搜索语句是否属于海洋工程领域内,如果是就进入Cypher查询语句构建模块,否则输出提醒,提醒用户在本领域内搜索;Neo4j图数据库支持Cypher查询语句,数据查询方便,检索速度快;在识别到实体名称和关系词后,我们通过构建Cypher查询语句,在Neo4j中查询,返回用户搜索答案。
Claims (7)
1.一种面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,该方法包括以下五个步骤:
(1)构建海洋工程领域本体;
(2)利用步骤(1)得到的海洋工程领域本体作为获取海洋工程领域数据的依据,获得的海洋工程领域数据包括结构化数据、半结构化数据和非结构化数据三种异构数据类型;
(3)对于步骤(2)中获取的非结构化数据进行知识识别,包括:实体识别、关系识别、属性识别;
实体识别过程中采用BERT-BiLSTM-CRF模型作为海洋工程领域实体识别模型,实体识别模型自底向上分别是输入层、BERT层、BiLSTM层和CRF层;输入层为特殊标识符[CLS]、[SEP]和待识别语句的拼接;BERT层将输入的每个字符表示为向量形式;BiLSTM层用于学习向量的上下文表示,提取文本特征,其中前向LSTM从前往后学习向量在上文中的表示,后向LSTM从后往前学习向量在下文中的表示,将两个方向的向量表示拼接作为最终的向量输出到下一层;CRF层利用标签之间的依赖关系,对BiLSTM层的输出添加约束条件,将特征向量转化为最优序列标签,得到海洋工程领域的命名实体;
关系识别过程中采用基于R-BERT模型添加头部和尾部实体的位置信息来增强关系识别的性能;在数据预处理步骤中,标识符“$”和“#”分别添加到头部实体e1和尾部实体e2的左侧和右侧,用于标记实体的位置信息,对于每个输入序列形成下式所示形式:
[CLS]x1,x2,...,xn-j,$e1$,xn-j+k,...,xn-i,#e2#,xn-i+t,...,xn[SEP]
其中,n表示输入序列长度,j,k表示头部实体两侧序列位置,i,t表示尾部实体两侧序列位置;在对基于BERT的模型进行编码之后,R-BERT将[CLS]的隐藏层向量的级联和每个实体的隐藏层矢量的平均值输入到softmax层以进行关系分类;
(4)知识图谱存储:将步骤(2)中的结构化数据、半结构数据和步骤(3)进行知识抽取后的的非结构化数据存储于Neo4j图数据库中形成海洋工程领域知识图谱;
(5)智能搜索:通过基于步骤(4)建立的海洋工程领域知识图谱,面向领域用户搜索问题实现智能搜索;用户输入用户搜索语句,利用问句解析模块对搜索语句中提及的实体s进行抽取,对搜索的关系进行识别,检查是否在海洋工程领域搜索;依据识别用户输入信息构建Cypher查询语句,最终输出用户的所需结果;
所述问句解析模块使用BERT-CRF模型识别出问句中的实体名称,所述对搜索的关系进行识别是采用词典匹配的方法对关系词进行识别,关系词典包含实体与实体之间的关系词和实体的属性关系词,问句解析模块的最后检查搜索语句是否属于海洋工程领域内,如果是就进入Cypher查询语句构建模块,否则输出提醒,提醒用户在本领域内搜索;在识别到实体名称和关系词后,通过构建Cypher查询语句,在Neo4j中查询,返回用户搜索答案。
2.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(1)的构建海洋工程领域本体包括以下方法:IDEF5法、骨架法、TOVE法、METHONTOLO法、SENSUS法、KACTUS工程法、五步循环法。
3.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(2)中所述结构化数据的获取是从关系数据库导出后,将关系数据库转化为具有语义信息的知识三元组,直接将关系数据库的数据结构映射为RDF图;采用DM映射语言,建立关系数据库中的表头字段与海洋本体中实体属性的一一映射关系,实现结构化数据的知识提取。
4.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(2)所述半结构化数据采用基于包装器的方法获取,处理方法包括如下具体步骤:
包装器的实现包括爬取数据、解析数据和存储数据三个步骤,首先向给定URL所在服务器发送HTTP请求,服务器返回一个包含URL网页内容的Response对象,Python语言中实现HTTP请求的库函数包括urllib/urllib2、re、requests,然后使用网页解析器来提取HTML网页中的数据,所述网页解析器采用re或者beautifulsoup,最后按照所需格式保存数据;在爬取数据时,针对不同站点的网页,首先采用手工方法人工分析网页结构,对不同的网页设计特定的网页抽取规则,然后采用自动抽取方法实现同类型网页的批量化数据抽取;对于静态加载的网页,采用Requests来实现,Requests通过初始URL获取网页源码,再结合网页解析器解析网页中的标签内容,得到目标数据;动态加载的网页则使用Selenuim实现,Selenuim通过模拟用户的操作行为,实现网页数据的实时更新,用户的操作行为包括如点击按钮,输入文本。
5.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(3)中还包括对于非结构化数据为PDF格式的海域使用论证报告进行预处理的步骤,首先利用Python编写文档解析器从PDF文件中读取报告文本,从文本中筛选与业务数据相关的段落构建知识抽取语料库,然后采用基于字符的BIO标注法对语料库中的实体和关系进行人工标注,BIO标注法中B表示字符为实体的开始,I表示字符为实体的中间部分,O表示字符不构成实体,语料标注借助开源文本标注工具BRAT完成。
6.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(3)所述非结构化数据实体识别包括以下方法:基于规则和词典的方法、基于统计机器学习的方法、基于深度学习的方法。
7.根据权利要求1所述的面向海洋工程领域的知识图谱构建及智能搜索方法,其特征在于,步骤(3)非结构化数据实体识别包括如下具体步骤:
采用BERT-BiLSTM-CRF模型作为实体识别模型,实体识别模型自底向上分别是输入层、BERT层、BiLSTM层和CRF层;输入层为特殊标识符[CLS]、[SEP]和待识别语句的拼接;BERT层将输入的每个字符表示为向量形式;BiLSTM层用于学习向量的上下文表示,提取文本特征,其中前向LSTM从前往后学习向量在上文中的表示,后向LSTM从后往前学习向量在下文中的表示,将两个方向的向量表示拼接作为最终的向量输出到下一层;CRF层利用标签之间的依赖关系,对BiLSTM层的输出添加约束条件,将特征向量转化为最优序列标签,得到海洋工程领域的命名实体;
海洋工程领域部分命名实体通过长短时记忆网络LSTM进行长序列记忆,在LSTM网络中,每个时刻t中各隐藏状态的计算公式如下所示:
Ft=σ(Wfxt+Ufht-1+bf)
It=σ(Wixt+Uiht-1+bi)
Ot=σ(Woxt+Uoht-1+bo)
Ht=Ot☉tanh(Ct)
其中,It,Ft,Ot分别表示LSTM网络的输入门,遗忘门和输出门,W和U为权重矩阵,bf、bi、bo、bc为偏置,σ是激活函数,表示候选记忆单元,Ct表示记忆单元,Ht表示隐状态输出,Ot为1表示输出,Ot为0表示重置,⊙表示Hadamard乘积;
再采用BiLSTM将文本的正向序列表示和反向序列表示拼接起来作为文本的最终向量表示,通过文本的正、反向特征学习,捕获上下文的语义信息,在t时刻BiLSTM的隐状态输出Ht、Ot表示为:
Ot=HtWhq+bq
最后采用CRF判别模型学习标签之间的依赖关系,对标签序列添加约束条件,得到全局条件下的最优标签序列:假设BiLSTM的输出为矩阵P,标签之间的转移矩阵为A,对于输入序列X=(x1,x2,...,xn),输出序列Y=(y1,y2,...,yn)的得分S(X,Y)表示为:
其中表示第i个字符对应标签yi的得分,/>表示标签i的下一个标签是j的得分,再通过归一化之后输出序列Y的概率分布P(Y|X)为:
表示真实的标签序列,YX表示所有可能的标签序列;
CRF模型的训练目标是最大化对数似然函数,模型的损失函数L定义为:
L=log(P(Y|X))。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058328.4A CN117094390A (zh) | 2023-08-22 | 2023-08-22 | 一种面向海洋工程领域的知识图谱构建及智能搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311058328.4A CN117094390A (zh) | 2023-08-22 | 2023-08-22 | 一种面向海洋工程领域的知识图谱构建及智能搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117094390A true CN117094390A (zh) | 2023-11-21 |
Family
ID=88774745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311058328.4A Pending CN117094390A (zh) | 2023-08-22 | 2023-08-22 | 一种面向海洋工程领域的知识图谱构建及智能搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117094390A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973383A (zh) * | 2024-04-01 | 2024-05-03 | 山东大学 | 用于机器人流程自动化的分词标注和实体抽取方法及*** |
-
2023
- 2023-08-22 CN CN202311058328.4A patent/CN117094390A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973383A (zh) * | 2024-04-01 | 2024-05-03 | 山东大学 | 用于机器人流程自动化的分词标注和实体抽取方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199511B (zh) | 跨语言多来源垂直领域知识图谱构建方法 | |
CN110633409B (zh) | 一种融合规则与深度学习的汽车新闻事件抽取方法 | |
CN111428053B (zh) | 一种面向税务领域知识图谱的构建方法 | |
CN110990590A (zh) | 一种基于强化学习和迁移学习的动态金融知识图谱构建方法 | |
CN110727779A (zh) | 基于多模型融合的问答方法及*** | |
Levy et al. | Intelligent internet systems | |
Zubrinic et al. | The automatic creation of concept maps from documents written using morphologically rich languages | |
CN111639171A (zh) | 一种知识图谱问答方法及装置 | |
CN113535917A (zh) | 基于旅游知识图谱的智能问答方法及*** | |
CN116127084A (zh) | 基于知识图谱的微电网调度策略智能检索***及方法 | |
CN116340530A (zh) | 基于机械知识图谱的智能设计方法 | |
CN112507076A (zh) | 一种语义分析搜索方法、装置及存储介质 | |
CN117094390A (zh) | 一种面向海洋工程领域的知识图谱构建及智能搜索方法 | |
Chai | Design and implementation of English intelligent communication platform based on similarity algorithm | |
Wu et al. | PaintKG: the painting knowledge graph using bilstm-crf | |
CN113901224A (zh) | 基于知识蒸馏的涉密文本识别模型训练方法、***及装置 | |
CN113610626A (zh) | 银行信贷风险识别知识图谱构建方法、装置、计算机设备及计算机可读存储介质 | |
CN117473054A (zh) | 基于知识图谱的通用智能问答方法及装置 | |
Lux et al. | From folksonomies to ontologies: employing wisdom of the crowds to serve learning purposes | |
CN116484023A (zh) | 一种基于人工智能的电力行业知识库构建方法及*** | |
CN115270776A (zh) | 一种领域知识库中的概念自动获取方法、***、装置及介质 | |
Yang et al. | A general solution and practice for automatically constructing domain knowledge graph | |
CN114238653A (zh) | 一种编程教育知识图谱构建、补全与智能问答的方法 | |
Panditharathna et al. | Question and answering system for investment promotion based on nlp | |
Zhu et al. | OEIS: Knowledge Graph based Intelligent Search System in Ocean Engineering |
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 |