前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货 | 初学者入门必看的“知识图谱”解读(下)

干货 | 初学者入门必看的“知识图谱”解读(下)

作者头像
AI研习社
发布2019-09-17 17:24:33
1.4K0
发布2019-09-17 17:24:33
举报
文章被收录于专栏:AI研习社
本文为 AI 研习社社区用户 @邹佳敏 的博客文章,其知乎专栏为:AI的怎怎,歪歪不喜欢。欢迎扫描底部社区名片访问 @邹佳敏 的主页,查看更多内容。

回看上篇内容,可点击:“知识图谱”解读(上)“知识图谱”解读(中)

本系列参考了市面上已知的,几乎全部“知识图谱”相关文章,并总结提炼出一套适合初学者入门的“知识图谱”的知识体系,希望大家能有所收获。

六,知识图谱的构建流程:

以结构化数据为例,数据存储在MySQL中。

1,定义本节讨论的内容:

不讨论,自然语言处理:如何完成非结构化或半结构化文本的抽取;

不讨论,机器学习:如何使用机器学习或深度学习的方法完成图谱隐含的语义推理。

讨论,知识工程:如何根据业务需求,完成概念实体,对象关系属性和数据值属性的定义;

讨论,数据库:如何根据业务流量,完成结构化数据到知识图谱的存储和应用。

2,知识工程简介:

  • 2.1,本体构建:

知识工程,最重要的工作就是”本体构建“。

希望达到的效果是,对于不同来源、不同内容的数据,在接入知识图谱时都会按照预定义的schema对数据进行转换和清洗,无缝使用已有元数据和资源。

即,根据具体的业务需求,抽象出对应的概念(实体:公司,人物),对象属性(关系: 融资,任职),数据属性(值: 融资金额,担任职位)等要素。

本体构建,常用的工具是斯坦福大学的开源工具Protege。它实现了全套OWL本体文件的定义,但是它只能以序列化(N-Triples,Turtles)后的文件存储,并不支持多人协同编辑。

在工程实践中,可以按照Protege的基本功能,实现Web端管理平台编辑。

  • 2.2,业务场景:

在不同的业务场景下,对同一份结构化数据,构建的本体会有很大差异,所以,在初始化知识图谱项目中,可使用“二八原则”,找准一个落地应用场景,快速开始。比如,企业基本信息图谱,企业舆情事件图谱等。

3,数据转换:

使用开源工具包(D2RQ),将存储在MySQL中的结构化数据,转换为RDF的三元组数据。

  • 3.1,D2RQ转换流程:

D2RQ,自定义了一套关系型数据库至OWL文件的“映射语言”,可以通过人工定义并编辑,将不同MySQL连接实例的不同字段,依照"映射语言"中的语法规则,与OWL文件中定义的本体字段互相关联,从而实现转换。工程上,可以将该功能做在管理平台上,让业务人员配置。

Link:The D2RQ Mapping Language(http://d2rq.org/d2rq-language)

当然,如果图谱的构建是一次性的工作,可以将MySQL中的数据拆表。即,(1),所有Class概念和Data Property拆成独立表,以实体ID为主键,允许存在外键;(2),不同Class概念间的关联Object Property拆成独立表,表内包含2个ID字段,同时它们是对应Class表的主键。

4,数据操作:

使用Apache Jena Frame,实现RDF数据的操作和处理。

Jena是一整套开源的语义网技术栈操作API,包含本体推理,规则推理和自带数据库。工程上,可以使用它,完成W3C定义的全部语义网功能。

Link:Apache Jena(https://jena.apache.org/documentation/javadoc/jena/index.html)

5,数据存储:

使用属性图数据库,比如,Neo4j,实现三元组数据的存储。

就像在知识图谱(上)中介绍的那样,RDF只是一套描述世界全部知识的表述规范,即三元组规范。它并未定义任何三元组数据的存储方式。

因此,理论上,在工程实现中,可以工程代码实现的方式,使用属性图数据库存储RDF文件,即,编码实现RDF模型,至属性图模型的转换。有2种方式:

  • 5.1,平移变换:

将三元组数据平移变换至图数据库。

Link:https://github.com/semr/neo4jena
  • 5.2,合并变换:

比如,将Class作为节点,Object Property作为关系,Data Property作为节点中的属性,转储自属性图数据库。个人比较推荐这种方式,因为它有一个,由Neo4J的电信解决方案总裁,“准官方”支持的解决方案。嘻嘻嘻~

Link:https://github.com/jbarrasa/neosemantics

6,上层应用

略,记得加Cache。

自此,已完成“知识图谱”的概念和实现的全部介绍,个人认为已经非常详尽,欢迎各位小伙伴私信提问。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 六,知识图谱的构建流程:
    • 1,定义本节讨论的内容:
      • 2,知识工程简介:
      • 3,数据转换:
      相关产品与服务
      对象存储
      对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档