知识谱可以用python构建吗?
答案当然是肯定的!!!
那么如何用python来构建呢?
什么是知识地图
从谷歌搜索,到聊天机器人、金融风控、物联网场景、智能医疗、自适应教育、推荐系统,无一不与知识图谱相关。它在技术领域的受欢迎程度也在逐年增加。
互联网的终极形态是万物互联,搜索的终极目标是万物直接搜索。传统的搜索引擎是依靠网页之间的超链接来搜索网页,而语义搜索是直接搜索事物,比如人、机构、地点。这些东西可能来自文字、图片、视频、音频、物联网设备等各种信息资源。知识图谱和语义技术提供了关于这些事物的分类、属性和关系的描述,使得搜索引擎可以直接索引和搜索事物。
知识地图是Google在2012提出的新概念。从学术角度,我们可以给出知识地图的定义:“知识地图本质上是语义网络的知识库”。但这有点抽象,所以换个角度,从实际应用的角度,我们可以简单的把知识图谱理解为一个多关系图。
那什么是多元关系图呢?学过数据结构的人都应该知道什么是图。图由顶点和边组成,但是这些图通常只包含一种类型的节点和边。相反,多关系图一般包含多种类型的节点和多种类型的边。
本项目使用pandas从excel中提取数据,以三元组的形式加载到二级数据库中,构建相关的知识图谱。
运行时环境
基于二次,很容易构建知识图谱。除了使用Secondary自带的cypher,还支持Python包py2neo创建节点和关系,构建知识图谱。本项目以发票信息为基础,将发票数据中的结构化数据抽象成三元组,分别创建节点和关系,从而构建知识图谱。
请参考requirements.txt文件了解特定的包依赖关系。
neo4j-driver = = 1.6 . 2 numpy = = 1.15.3 pandas = = 0.23 . 4 parso = = 0.3.1 pickle share = = 0.7 . 5 pluggy = = 0.8 . 0 prompt-toolkit = = 1.0.15py = = 1.7 . 0 py 2 neo = .
将所需的依赖项安装到pyton:pipi install-r requirements . txt中。
熊猫提取excel数据
python中的Pandas非常适合数据分析和处理。excel文件可以转换成Dataframe格式,类似于Spark中的dataframe结构,数据可以以类似sql的形式处理。
Excel的数据结构如下
通过函数数据提取和函数关系提取分别提取构建知识地图所需的节点数据和联系数据,构建三元组。
数据提取主要使用pandas将excel数据转换为dataframe类型。
invoice_neo4j.py
建立知识地图所需的节点和关系数据
DataToNeo4jClass.py
具体代码请移步GitHub下载。
详情请到github下载,项目名称为secondary-python-panda-py 2 neo-v3。
更多Python知识请关注:Python自学网!!