知识图谱——用Python代码从文本中挖掘信息的强大数据科学技术

全文共6382字,预计学习时长20分钟

图源:Unsplash摄影:Clem Onojeghuo

概览

  • 知识图谱是数据科学中最吸引人的概念之一
  • 学习如何使用Wikipedia页面中的文本构建知识图谱
  • 在Python中使用流行的spaCy库在Python中构建知识图谱

引言

不用过多介绍,大家都知道梅西。即使是那些不关注足球的人,也听说过这位最伟大球员在辉煌。下面是他的维基百科页面:

 

这个页面包含了很多信息!里面不仅有文本、大量的超链接,甚至还有音频片段。整个网页上有很多相关的和可能会有用的信息,将它们应用到实际生活中可能性是无穷的。

然而,还有一个小问题。这不是给机器提供数据的理想来源,至少不是以现在的这种形式。

是否能找到一种方法,使这些文本数据变为机器可读?能否将这些文本数据转录成既让机器可以使用,也能让我们可以轻松解释的东西?

答案是肯定的。我们可以借助知识图谱(KG),这是数据科学最吸引人的概念之一。我已经被知识图谱的巨大潜力和实际应用震惊了,我相信你也会和我一样。

在本文中,你将了解什么是知识图谱,以及它们的作用,然后我们将基于从维基百科中提取的数据,来构建知识图谱以用于深入研究代码。

目录

1. 什么是知识图谱?

2. 如何在图谱中表示知识?

○ 句子分割

○ 实体抽取

○ 关系抽取

3. 依靠文本数据构建知识图谱

 

什么是知识图谱?

先明确一个概念:在本文中经常出现的术语“图谱”,并不是指柱状图、饼状图或线状图,而是相互关联的实体,它们可以是人、地点、组织,甚至是一个事件。

不妨说,图谱是节点和边*的组合。

看看下面的数据:

*边(Edge)是节点间的连线,用于表示节点间关系。

这里的节点a和节点b是两个不同的实体,节点通过边连接。如图是我们可以构建的最小的知识图谱——它也被称为三元组(实体-关系-实体)。

知识图谱有多种形状和大小。例如,截至2019年10月,维基数据(Wikidata)的知识图谱有59,910,568个节点。

 

如何在图谱中表示知识?

在开始构建知识图谱前,我们需要了解信息或知识是如何嵌入到这些图谱中的。

举例来解释:如果节点a=普京,节点b=俄罗斯,那么边很可能是“俄罗斯总统”:

 

一个节点或实体也可以有不止一个关系。普京不仅是俄罗斯总统,他还曾为苏联安全机构克格勃工作。但是如何把这些关于普京的新信息,整合到上面的知识图谱中呢?

其实很简单。只需为新实体“克格勃”再添加一个节点:

 

新的关系不仅可以添加在第一个节点,而且可以出现在知识图谱中的任何节点,如下所示:

俄罗斯是亚太经济合作组织(APEC)的成员国

识别实体和他们的相互关系并不是一项困难的任务。但是,手动构建知识图谱是难以处理大量信息的。没有人会浏览成千上万的文档,然后提取出所有的实体和它们之间的关系。

因此,机器无疑是更好的选择,浏览成百上千的文件对它们来说简直小菜一碟。但是还有另外一个挑战——机器不懂自然语言。这就轮到自然语言处理 (Natural Language Processing,简称NLP) 技术出场了。

想要从文本中构建知识图谱,让机器能理解自然语言就至关重要。这可以通过使用自然语言处理(NLP)技术来实现,如句子分割、依存句法分析、词性标注和实体识别。下文将更详细地对它们进行探讨。

句子分割

构建知识图谱的第一步是将文本或文章分割成句子。然后,列出那些只有一个主语和宾语的句子。下面是示例文本:

“在最新的男子单打排名中,印度网球选手苏米特•纳加尔(Sumit Nagal)从135名上升了6个名次,达到职业生涯中的最好成绩129名。这位22岁的选手最近赢得了ATP挑战锦标赛。2019年美国网球公开赛中他首次亮相时,就在对阵费德勒的比赛中赢得了大满贯。纳加尔赢得了第一组比赛。(Indian tennis player Sumit Nagal moved up six places from 135to a career-best 129 in the latest men’s singles ranking. The 22-year-oldrecently won the ATP Challenger tournament. He madehis

  • 8
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip 基于python实现PDF的识别与分析+信息抽取(构建知识图谱)+信息检索(基于知识图谱)源码(高分毕设).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值