本发明涉及的是领域知识图谱构建技术领域,涉及到一种基于DBpedia的水务领域概念知识图谱构建方法,特别涉及到一种基于Jaccard相似度算法与随机游走相似度算法结合的协同过滤模型框架,用于补全概念模型的一套水务领域概念知识图谱构建方法。

背景技术:

目前调研领域知识图谱构建技术主要包括:1)知识融合:很多领域知识图谱的应用的方案都是建立在通用知识图谱的基础之上的,通用知识图谱可以为很多的领域知识图谱提供种子事实,目前有很多的通用知识图谱,比如复旦大学的通用百科知识图谱CN-DBpedia和概念图谱CN-Probase,基于维基百科页面结构化知识的DBpedia、YAGO。国内外对与从通用实体、概念的获取研究技术一般采用迭代的原理进行循环获取,即远程监督的方式,通过API端口,获取通用知识图谱中的领域种子实体,通过这些种子从语料中获取更多的实体,再以此实体作为种子,从通用知识图谱中获取相关的实体。概念合并,概念上下位关系合并,概念的属性合并,国内外研究学者在这些方面做出了很多贡献。国内知识图谱映射技术主要包括词典wordnet、结构和基于实例的方法,以及使用背景知识和以前的知识找到匹配结果输出。2)数据处理:数据来源通常是来自于领域百科爬取、通用百科导出、业务系统导出等,对与词汇挖掘、实体发现、关系发现的研究,国内外学者做出了很多贡献。比如对与实体关系的抽取,目前国内外主要具有成果性的技术有:基于Rule的关系抽取、基于bootstrapping的关系抽取等。

目前针对水务领域的概念知识图谱研究较少,关于这些技术还没有真正的得到落实,有些也不适用与水务领域,因此本发明构建水务概念知识图谱的方法对与其它领域可以提供一些指导。

技术实现要素:

有鉴于上述现有技术的不足,本发明的目的在于提供一种基于DBpedia的水务领域概念知识图谱构建方法,旨在解决水务领域概念知识图谱构建的知识补全的问题。

本发明解决其技术问题所采取的技术方案是:一种基于DBpedia的水务领域知识图谱构建方法,该方法主要包括如下步骤:

步骤1:在java系统中构建水务概念词库,将构建好的水务概念词库放入word中。

步骤2:以概念词库作为种子,获取DBpedia中获取与水务相关的实体、概念及其之间的关系,构建水务概念知识图谱。

步骤3:构建好的概念知识图谱在protégé系统中实现可视化,修改现有的概念知识图谱,得到最终的水务领域概念知识图谱。

进一步的,本发明步骤1所述的构建水务概念词库的方法,其步骤具体包括:

步骤1-1:借助水务专家知识、相关水务分类标准、Wordnet词典初步获取概念词。

步骤1-2:使用python从贴吧、博客以及水务文档中爬取一些水务文本。

步骤1-3:用python中的jieba工具对抽取的水务文本进行文本分词。

步骤1-4:用python中的stopwords工具对分词后的文本进行停用词去除,组成水务相关实体、概念词。

步骤1-5:用TF-IDF方法对水务相关实体、概念词分别进行权重计算,设置一个权重阈值,保留权重大于阈值的实体、概念词。

进一步的,本发明步骤2所述的获取DBpedia中与水务相关的实体与概念的方法,其步骤具体包括:

步骤2-1:输出的实体词,通过DBpedia的接口,分别找到其上位概念、下位概念的集合,通过Jaccard相似度算法,两个集合重叠度越高,实体越相似,若相似度高于一个设定的阈值,最后的实体作为我们的最终的候选实体。

步骤2-2:利用随机游走相似度的方法,以输出的实体为起点,在DBpedia知识库中先得到上位/下位方向随机游走后落到每一个节点的概率向量,然后计算两个向量的Cosine相似度。我们设定步数为2步,最后得到两个实体的相似度值。

步骤2-3:综合考虑以上两种方法,我们采用一种合并相似度算法,找到实体的前5个最相似的实体,确定实体集。

步骤2-4:通过DBpedia,找到实体集相关的上/下位概念,及其他们之间的等级关系,并将相似的实体进行归类,将其存储到Mysql数据库中。根据从DBpedia中筛选的实体、概念词和专家知识对概念等级结构进行修改。

步骤2-5:用jena工具将保存到数据库中的概念信息表写成owl文件。

进一步的,本发明步骤3所述的在protégé中实现可视化并挂接水务信息的方法,其步骤具体包括:

步骤3-1:将owl文件导入到protégé软件中,实现水务领域知识图谱的可视化。

进一步的,本发明步骤2所述的用相似度算法寻找水务相关实体方法,其算法步骤具体包括:

步骤2-1:Jaccard相似度通用公式为首先分别计算两个实体/概念c1和c2的上/下位概念集合的Jaccard相似度je和jo,je(c1,c2)=Jacc(hype(c1),hype(c2)),jo(c1,c2)=Jacc(hype(c1),hype(c2)),其中hype(c1)、hype(c2)分别为两个实体/概念c1和c2对应的概念集合。最后使用noisy-or合并je、jo,得到最终的两个实体/概念的相似度值为jacc(c1,c2)=1-(1-je(c1,c2))·(1-jo(c1,c2))。

步骤2-2:首先计算实体/概念c的随机游走向量其中i为结束的节点数,M为权重值,一般的情况设置i值为2。其次计算两个实体c1和c2随机游走向量的Cosine相似度与分别代表实体c1和c2的随机游走向量。

步骤2-3:计算合并相似度β为可调参数。

本发明能够应用于水务领域概念知识图谱的构建。

与现有技术相比较,本发明具有如下有益效果:

1.本发明在水务实体、概念词抽取阶段,从大量的非结构文本中,能够抽取大量特定的水务实体、概念词,为水务知识图谱的构建打下坚实的基础。

2.本发明通过一定的技术方法,从DBpedia知识库中归类出水务领域的实体与概念,并将初步抽取的词汇进行了精确的筛选及关系的合并,并将获取的实体、概念关系作为现有知识图谱的补充,提供了一种知识图谱补全的方法。

附图说明

图1为本发明一种基于DBpedia的水务领域知识图谱构建方法的流程图。

图2为步骤2的具体流程图。

图3为水务领域概念知识图谱部分展开图。

具体实施方式

本发明提供一种基于DBpedia的水务领域概念知识图谱构建方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1。图1为本发明一种一种基于DBpedia的水务领域概念知识图谱构建方法较佳实施例的流程图,如图所示,其实施步骤,包括如下:

步骤1:在java系统中构建水务概念词库,将构建好的水务概念词库放入word中。

步骤2:以概念词库作为种子,获取DBpedia中获取与水务相关的实体、概念及其之间的关系,构建水务概念知识图谱。

步骤3:构建好的概念知识图谱在protégé系统中实现可视化,修改现有的概念知识图谱,得到最终的水务领域概念知识图谱。

图2中本发明所采用的相似度计算方法都有各自的优势,在实验中依据实体数据量的大小进行搭配使用,其中Jaccard算法在实验中较为简单,但准确率相对较低,适合概念集相对较少的时候使用,合并相似度算法较为复杂,但是准确率会相对较高,适合概念集合相对较多的时候使用。

图3是构建的水务领域概念知识图谱部分图。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

dbpedia知识图谱java_一种基于DBpedia的水务领域概念知识图谱构建方法与流程相关推荐

  1. 距离矢量算法matlab实现,一种基于最小费用距离模型的城市生态网络构建方法与流程...

    本发明涉及生态网络构建技术领域,特别是涉及一种城市网络的构建方法. 背景技术: 最小费用距离是网络分析的一种计算方法,这种方法被用于物种保护.自然保护区功能规划.动物栖息地的确定.区域生态安全格局设计 ...

  2. FLAC3D可视化后处理matlab,一种基于Matlab的由Midas导入Flac3D的模型识别方法与流程...

    本发明涉及岩土工程的仿真模拟研究领域,具体涉及一种基于Matlab的由Midas导入Flac3D的模型识别方法. 背景技术: 随着我国近几年经济的快速发展和基础设施等的大力投资,涉及复杂地质环境下的岩 ...

  3. python基于什么语言-一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  4. 随机森林c语言编程,一种基于随机森林的C语言源代码静态评分方法与流程

    本发明涉及评分领域及机器学习领域,它特别涉及一种基于随机森林的c语言源代码静态评分的构建方法. 背景技术: c语言源代码静态评分是指对根据一定的题目描述做出解答的c语言源代码进行评分.目前,主要流行的 ...

  5. java调试生命周期,一种基于JAVA的智能合约生命周期的管理方法与流程

    本发明涉及区块链技术,尤其涉及一种基于JAVA的智能合约生命周期的管理方法. 背景技术: 区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交 ...

  6. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  7. Android布局动态化,一种基于堆积木思想的卡片式Android动态布局方法与流程

    本发明涉及android界面布局,特别是一种基于堆积木思想的卡片式Android动态布局方法. 背景技术: 在Android流行的今天,android App在生活中使用日益广泛,相对PC,手机由于界 ...

  8. java 解析数据包_一种基于Java语言的网络通讯数据包解析方法与流程

    本发明涉及网络通讯领域,特别涉及一种基于Java语言的网络通讯数据包解析方法. 背景技术: 计算机系统和网络的大量普及使用使全球跨入了信息化时代.但是,正由于现代社会中几乎一切都在"计算机化 ...

  9. 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程

    本发明涉及语音识别技术领域,具体涉及一种基于维特比算法的花洒语音识别系统及方法. 背景技术: 随着生活水平的提高和住房条件的改善,很多家庭都安装了沐浴设施,花洒是其中最常见的淋浴装置.目前花洒产品多为 ...

最新文章

  1. 扩展存储过程在哪里_北京延庆工业废水处理哪里有
  2. 笔记:前端与后台交互
  3. Ruby Profiler详解之stackprof
  4. 速度提升2倍,超强悍CPU级骨干网络PP-LCNet出世!
  5. 简单介绍一下BSP中的dirs文件和sources文件(WinCE
  6. Python 没有函数重载?如何用装饰器实现函数重载?
  7. python批量查看邮件_python win32com批量阅读outlook电子邮件打开的项目太多
  8. 总结一下最近面试经常被问到的问题
  9. Java操作Excel完成导入导出
  10. 利用Python进行数据分析的学习笔记——chap12
  11. python之OCR文字识别
  12. Apache的安装教程
  13. linux怎么下载dnw工具,Deepin Linux 安装dnw工具
  14. Mac系统如何运行Windows exe程序?mac打开exe文件方法教程
  15. uos命令_目前UOS统一操作系统使用指南
  16. 遛一遛8266的定时器
  17. 如何实现小程序的无限推送
  18. Win10安装Win7双系统过程
  19. 引用腾讯视频 php代码,调用腾讯视频播放器APi代码
  20. Flash 存储器接口标准:CFI和JEDEC

热门文章

  1. nokia5200中使用ucweb浏览器
  2. 新研博美反式环辛烯-三乙二醇-氨基,TCO-PEG3-Amine可用于在活化剂(如EDC或DCC)或活化酯(如NHS酯)存在下通过稳定的酰胺键衍生羧基
  3. ARP协议及局域网断网攻击(scapy)
  4. 为什么总是黑php,怎么都在黑PHP?
  5. spyder 清屏操作
  6. 如何在 LaTeX 中输入角度、角分、角秒?
  7. Springsecurity+cas整合后无法单点登出
  8. bam文件读取_SAM/BAM 格式文件内容解析
  9. mysql图形查询操作 点找面及面找点 Polygon获取中心点坐标 空间地理位置计算
  10. 品牌国际传播第一步:谁是最重要的人?| 直播活动预告