知识图谱实战应用1-知识图谱的构建与可视化应用(代码片段)

微学AI 微学AI     2023-04-11     592

关键词:

大家好,今天给大家带来知识图谱实战应用1-知识图谱的构建与可视化应用。知识图谱是一种概念模型,用于表示和组织实体之间的关系,从而实现大规模的语义查询和推理。

一、知识图谱的应用领域

1. 搜索引擎:知识图谱可以帮助搜索引擎更好地理解用户的搜索查询,提高搜索精度和准确性。谷歌的知识图谱已经将搜索引擎从传统的关键词匹配升级到了语义匹配。

2. 智能客服:通过利用知识图谱建立一系列问题与答案的关系,可以实现智能客服系统,帮助用户更快捷地获得解决方案,大幅提升用户体验。

3. 语义分析:知识图谱可以对文本进行语义分析,提取实体、关系和事件等信息,从而支持自动化文本理解和智能化处理。

4. 金融风控:知识图谱可以帮助金融机构识别欺诈行为,了解客户的相关信息和关系,从而降低风险和损失。

5. 医疗健康:知识图谱可以帮助医生更好地诊断和治疗疾病,预测患者应对特定治疗的反应,同时也能够进行病例推理和知识发现等任务。

二、知识图谱的涉及哪些深度学习的应用

 1.实体链接 实体链接是将文本中的实体与知识图谱中的实体进行链接的过程。其中基础算法包括基于字典匹配、基于规则、基于相似性等方法。同时,也有利用机器学习和深度学习的实体链接算法,例如使用卷积神经网络(CNN)进行实体链接。

2.实体识别:实体识别是指从文本中识别出实体名称,同时还可以识别出实体类型和属性信息。目前主流的方法包括:规则和模式匹配、基于机器学习的方法(例如条件随机场(CRF)和递归神经网络(RNN))。

3.知识图谱构建:知识图谱构建算法是指将文本和结构化数据相结合构建知识图谱的一系列算法。其中,最常用的方法包括关系抽取、实体链接和实体识别等。

4.关系抽取:关系抽取是指从自然语言文本中抽取实体之间的关系信息的过程,其目的是构建知识图谱中的关系。常见的方法包括基于规则和模式匹配、基于统计方法的方法(例如条件随机场(CRF)和递归神经网络(RNN))。

5.图卷积网络:图卷积网络是一种用于学习和处理图数据的深度学习方法。它的独特之处在于考虑到了图的拓扑结构、节点特征和边的权重,能够有效处理知识图谱中的复杂关系。 以上是知识图谱中涉及到的一些基本算法,不同算法可结合使用,进一步提高知识图谱的精度和效果。

6.推荐算法:基于知识图谱下的推荐算法是基于知识图谱的基础上,通过利用用户历史行为和知识图谱中的实体之间的关系,从图谱中获取推荐信息的一种推荐算法。其主要思想是根据用户的兴趣和行为,对与用户有关联的实体进行挖掘和分析,从图谱中获取相关的实体或信息进行个性化推荐。

三、知识图谱的数据导入应用实战

基于neo4j构建知识图谱,利用pyt2neo第三方库,导入数据并可视化呈现数据关系。代码部分如下:

## 相关模块导入
import pandas as pd
from py2neo import Graph

## 连接图形库,配置neo4j
graph = Graph("http://localhost:7474/browser/",auth = ('neo4j','neo4j'))


#csv源数据读取
storageData = pd.read_csv('data_new.csv',encoding = 'utf-8')
# 获取所有列标签
columnLst = storageData.columns.tolist()
print(len(storageData['title']))
namelist=['中文名','中文名称','中文学名','标签','描述','外文名称','国籍','外文名','拼音','含义','时间','定义','是否含防腐剂']

for i,title,attribute,value in zip(range(len(storageData['title'])),storageData['title'],storageData['attribute'],storageData['value']):
    try:
        print(i)
        value = value.replace('“', '').replace('”', '').replace("'", '').replace("‘", '').replace("’", '')
        attribute = attribute.replace(' ', '').replace('、', '').replace('/', '')

        matchq = "MATCH (n:entityname:" + "'" + title + "'" + ") RETURN  n "
        matchquery = graph.run(matchq).data()
        if len(matchquery) == 0:
            query = "CREATE (n:entity name:" + "'" + title + "'"  + ")"
            graph.run(query)
        if attribute in namelist:
            query = "match(n:entity name:" + "'" + title + "'" + ") set n." + attribute + "=" + "'" + value + "'" + ""
            graph.run(query)
        else:
            relationship = "MATCH (a:entity name:" + "'" + title + "'" + ")-[r:"+attribute+"]->(b:entity name:" + "'" + value  + "'" + ") RETURN a,b "
            relationships = graph.run(relationship).data()
            if len(relationships) == 0:
                    matchvalue = "MATCH (n:entity name:" + "'" + value + "'" + ") RETURN  n "
                    valuequery = graph.run(matchvalue).data()
                    if len(valuequery) == 0:
                        query_v = "CREATE (n:entity name:" + "'" + value + "'" + ")"
                        graph.run(query_v)
                    query = "MATCH (a:entity name:" + "'" + title + "'" + "),(b:entity name:" + "'" + value + "'" + ") MERGE (a)-[r:" + attribute + "]->(b)"
                    graph.run(query)
    except Exception as e:
            print(e)

这里数据可以私信获取,或者链接获取:

链接:https://pan.baidu.com/s/1Yw8z9Nlsw6kDiYExlEpo5w?pwd=a1q8 
提取码:a1q8

数据导入后,我们本地通过访问:http://localhost:7474/browser/,就可以看到可视化的知识图谱:

 

 知识图谱中的数据导入neo4j后可以用来进行多种操作和分析,可以进行下列应用:

数据查询和检索:通过使用Cypher语言,可以方便地查询知识图谱中的数据,包括节点、关系及其属性,从而实现快速的数据检索。

数据可视化:Neo4j支持多种数据可视化工具,可以使用这些工具来对知识图谱中的数据进行可视化展示,帮助用户更好地理解知识图谱中的信息。

知识推理:在知识图谱中,节点和关系之间的关联关系可以用来进行推理,通过使用Neo4j的算法以及自定义的规则,可以根据已有的信息自动推理出新的知识。

等级挖掘和网络分析:使用Neo4j,可以对知识图谱中的节点和关系进行各种统计和分析,包括节点的度、中心性、社区检测等,从而可以洞察知识图谱的结构和演化。

应用开发:Neo4j提供了完善的API和开发工具,可以方便地将知识图谱中的数据应用到各种应用开发场景中,帮助构建智能系统和应用。

更多精彩深度学习的内容可以关注“微学AI”,有问题可以私信,合作也可以私信。

知识图谱研究进展

在原文《知识图谱研究进展》基础上上做了相应的调整和补充本文首先简要回顾知识图谱的历史,探讨知识图谱研究的意义。其次,介绍知识图谱构建的关键技术,包括实体关系识别技术、知识融合技术、实体链接技术和知识推... 查看详情

快速入门知识图谱-neo4jcypher查询语言教程(代码片段)

...示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱目前的应用主要在搜索、智能问答、推荐系统等方面。知识图谱... 查看详情

快速入门知识图谱-neo4jcypher查询语言教程(代码片段)

...示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱目前的应用主要在搜索、智能问答、推荐系统等方面。知识图谱... 查看详情

知识图谱构建浅析

知识图谱应用如图所示,目前各大互联网公司已落地多个知识图谱产品,或者正在积极构建知识图谱,图谱技术成为“兵家必争”之地。1.什么是知识图谱?知识图谱(KnowledgeGraph)的概念由谷歌2012年正式提出,旨在实现更智能... 查看详情

知识图谱实战开发案例剖析

...明出处。微信技术交流群:二、正文 2.1电影知识图谱可视化展示-经典案例 演示效果2.2电影知识图谱的知识表示-语义类型语义类型2.3电影知识图谱的知识表示-语 查看详情

知识图谱实战开发案例剖析

...。QQ技术交流群:149933712。二、正文 2.1电影知识图谱可视化展示-经典案例 演示效果2.2电影知识图谱的知识表示-语义类型语义类型2.3电 查看详情

快速入门知识图谱-neo4jcypher查询语言教程(代码片段)

...示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱目前的应用主要在搜索、智能问答、推荐系统等方面。知识图谱... 查看详情

知识图谱的构建及用neo4j和grapheco/interactivegraph实现知识图谱的可视化(代码片段)

1、什么是知识图谱知识图谱就是将现实世界中的知识,包括文字、图像,甚至现实生活中的实体对象和他们之间的关系用图形化进行表达,形成一个图状的结构,用以描述实体对象间的关系,并依据这些关系... 查看详情

知识图谱的构建及用neo4j和grapheco/interactivegraph实现知识图谱的可视化(代码片段)

1、什么是知识图谱知识图谱就是将现实世界中的知识,包括文字、图像,甚至现实生活中的实体对象和他们之间的关系用图形化进行表达,形成一个图状的结构,用以描述实体对象间的关系,并依据这些关系... 查看详情

浅析知识图谱构建

知识图谱构建浅析0.AI为什么需要知识图谱?1.什么是知识图谱?1.1知识图谱发展历史与基本概念1.2语义网络(SemanticNetwork)1.3Ontology本体1.4TheSemanticWeb语义网1.5链接数据LinkedData1.6RDF,RDFS与OWL2.知识图谱的几个关键概念2.1本体2.2类... 查看详情

浅析知识图谱构建

知识图谱构建浅析0.AI为什么需要知识图谱?1.什么是知识图谱?1.1知识图谱发展历史与基本概念1.2语义网络(SemanticNetwork)1.3Ontology本体1.4TheSemanticWeb语义网1.5链接数据LinkedData1.6RDF,RDFS与OWL2.知识图谱的几个关键概念2.1本体2.2类... 查看详情

nlpir技术运用知识图谱技术应用于智能金融

...、微观资讯中发现、分析并整合与各类决策相关的信息。知识图谱在金融中有多项应用,首先通过信息检索技术获取相关文本,然后借语义分析技术从非结构化文本中提取结构化的信息,最后将这些信息加以提炼,并且使之关联... 查看详情

r语言:绘制知识图谱

知识图谱主要是通过将应用数学,图形学,信息可视化技术,信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多... 查看详情

美团商品知识图谱的构建及应用

总第469篇2021年第039篇商品知识图谱作为新零售行业数字化的基石,提供了围绕商品的精准结构化理解,对业务应用起到了至关重要的作用。相比于美团大脑中原有的围绕商户的图谱而言,商品图谱需应对更加分散、复杂、海量... 查看详情

怎样构建一个有效的知识图谱?

...么是知识图谱?知识图谱是在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同 查看详情

医疗知识图谱的构建和应用

医疗知识图谱是实现智慧医疗的基石,有望带来更高效精准的医疗服务;然而,现有知识图谱构建技术在医学领域中普遍存在效率低、限制多、拓展性差等问题。              &nb... 查看详情

美团商品知识图谱的构建及应用

商品知识图谱作为新零售行业数字化的基石,提供了围绕商品的精准结构化理解,对业务应用起到了至关重要的作用。相比于美团大脑中原有的围绕商户的图谱而言,商品图谱需应对更加分散、复杂、海量的数据和业... 查看详情

知识图谱实战开发案例剖析

一、前言这是系列博文《知识图谱实战开发案例剖析》第1部分:知识图谱基础,第2节:知识图谱和人工智智能。该系列内容同时已经录制成视频课程,感兴趣的可以访问网易云课堂。二、正文2.1人工智能的业务架构人工智能的... 查看详情