首页 > 其他分享 >知识图谱——语义知识库的开端(1)

知识图谱——语义知识库的开端(1)

时间:2024-08-29 16:24:12浏览次数:12  
标签:node 结构化 知识 图谱 知识库 语义 label 构建

        从最初的 Google 搜索,到如今的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统等各个领域,知识图谱的应用无处不在。知识图谱(Knowledge Graph)的概念由 Google 在 2012 年正式提出,旨在打造更智能的搜索引擎,并在 2013 年后逐渐在学术界和工业界得到了广泛的关注和应用。如今,随着智能信息服务的快速发展,知识图谱已经被广泛应用于智能搜索、智能问答、个性化推荐、情报分析以及反欺诈等诸多领域。

        通过知识图谱,可以将 Web 上的信息、数据以及它们之间的链接关系整合为有意义的知识,使得信息资源更容易被计算、理解和评估,从而形成一个 Web 语义知识库。知识图谱凭借其强大的语义处理能力和开放互联能力,为构建万维网上的知识互联提供了坚实的基础,使得 Web 3.0 提出的“知识之网”愿景成为可能。

什么是知识图谱

        知识图谱是结构化的语义知识库,是一种基于图的数据结构,用于迅速描述物理世界中的概念及其相互关系。知识图谱通过对错综复杂的文档的数据进行有效的加工、处理、整合,转化为简单、清晰的 “ 实体,关系,实体 ” 的三元组,最后聚合大量知识,从而实现知识的快速响应和推理。

        下面我们看一张简单的知识图谱:

        我们可以从图中看到,如果两个节点之间存在关系,就会被一条无向边连接在一起,那么这个节点,我们就称为实体(Entity),它们之间的这条边,我们就称为关系(Relationship)。知识图谱的基本单位,便是 “ 实体(Entity)-关系(Relationship)-实体(Entity)” 构成的三元组,这也是知识图谱的核心。其中实体指的是具有可区别性且独立存在的某种事物,而关系是连接不同的实体,指代实体之间的联系。

如何构建知识图谱

         知识图谱的构建方式主要有两种:自顶向下和自底向上。

  • 自顶向下构建:这种方法依赖于结构化的数据源,例如百科类网站。这些高质量的数据源提供了已经整理好的信息,从中可以直接提取出知识的本体和模式,并将其加入到知识库中。  例如:在构建医学知识图谱时,可以利用医学百科全书、药物数据库等已经结构化的数据源,从中获取疾病、药物、治疗方法等的信息,这些信息本身已经按照一定的模式整理好,方便直接应用于知识图谱的构建。

  • 自底向上构建:这种方法从公开采集的海量数据中提取信息,通过一定的技术手段(如自然语言处理、机器学习)识别出潜在的资源模式。然后,选择其中置信度较高的新模式,经过人工审核确认后,再将其纳入知识库。

    例如:在电商领域构建知识图谱时,可以从用户评论、产品描述等非结构化数据中提取有用的信息。比如,通过分析大量用户评论,可以识别出某产品的优点或缺点。将这些信息与已有的产品知识结合,经过人工审核后,加入到知识图谱中,以改进产品推荐系统。

        通俗而言,从下图我们可以了解到:

  • 自顶向下方法:强调了来自结构化数据源的信息,如百科全书、数据库、学术期刊等,这些信息直接被用来构建知识图谱,包含明确的类别,例如“疾病”、“药物”、“治疗方法”、“地理”、“历史事件”等。
  • 自底向上方法:展示了来自非结构化数据源的信息,如社交媒体图标、用户评论片段、新闻头条、博客文章等,这些信息通过“自然语言处理与机器学习(NLP & ML)”技术进行处理,最终形成知识图谱,包含“产品反馈”、“用户情感”、“热门话题”、“新兴趋势”等类别。

        这两种方法相辅相成,自顶向下方法保证了知识图谱的质量和可靠性,而自底向上方法则可以帮助快速扩展知识图谱的覆盖范围和丰富度。 

数据类型和存储方式

        知识图谱的原始数据类型一般来说有三类(也是互联网上的三类原始数据):

  • 结构化数据(Structed Data):如关系数据库
  • 半结构化数据(Semi-Structed Data):如XML、JSON、百科
  • 非结构化数据(UnStructed Data):如图片、音频、视频、文本

        如何存储上面这三类数据类型呢?一个是通过RDF(资源描述框架)的规范存储格式来进行存储,还有一种方法是使用图数据库来进行存储,常用的有Neo4j等。

        接下来介绍一下如何构建一个知识图谱,用到的工具是Neo4j。Neo4j作为一个图数据库,为了数据的储存、读写等操作更合理高效,在设计逻辑上和知识图谱有一些差别,所以这里先介绍一下Neo4j的一些概念。

        node:不仅仅是一个单一的实体或者属性,它包括了label和property。

        label:根据label把node划分成一个个集合,比如说"学生"可以是一个label,"国家"也可以是一个label,label具体是什么由我们来设计,我们可以通过指定label对这一批数据进行特定的操作。除此之外,一个node可以拥有多个label,为node设计什么label,主要还是要根据实际情况判断,看如何设计能方便数据的查询和修改等操作:

        relationship:连接两个node的边,而且这是有向边,relationship中包含relationship type,比如"acted_in",就是表示Tom Hanks是Forrest Gump中的一个演员:

 

        property:是一个键值对,在之前node的介绍中也提到,node由label和property构成。node和relationship都可以有property。其中,如果node没有name的话,在可视化界面是不会显示这个node的名称的。

from py2neo import Graph, Node, Relationship

# 连接Neo4j
g = Graph(
    host='127.0.0.1',
    http_port=7474,
    user='neo4j',
    password='neo4j')

# 创建节点
da_vinci = Node('person', name='DA VINCI')
mona_lisa = Node('art', name='MONA LISA')
louvre = Node('place', name='LOUVRE')

g.create(da_vinci)
g.create(mona_lisa)
g.create(louvre)

relation1 = Relationship(da_vinci, 'painted', mona_lisa)
relation2 = Relationship(mona_lisa, 'is_in', louvre)

g.create(relation1)
g.create(relation2)

标签:node,结构化,知识,图谱,知识库,语义,label,构建
From: https://blog.csdn.net/weixin_62403234/article/details/141614933

相关文章

  • 图像字幕Image Captioning——使用语法和语义正确的语言描述图像
    1.什么是图像字幕        ImageCaptioning(图像字幕生成) 是计算机视觉和自然语言处理(NLP)领域的一个交叉研究任务,其目标是自动生成能够描述给定图像内容的自然语言句子。这项任务要求系统不仅要理解图像中的视觉内容,还要能够将这些视觉信息转化为具有连贯性和语义丰......
  • JSP基于隐语义模型的旅游推荐系统r4f0b--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,景点类别,景点信息,游记路线,景点订票,景点退票开题报告内容一、研究背景与意义随着互联网技术的飞速发展,旅游行业逐渐向线上转移,但传统旅游推荐......
  • 5 大场景上手通义灵码企业知识库 RAG
    大家好,我是通义灵码,你的智能编程助手!最近我又升级啦,智能问答功能全面升级至Qwen2,新版本在各个方面的性能和准确性都得到了显著提升。此外,行间代码补全效果也全面优化,多种编程语言生成性能及准确性大幅提升,如前端、Java、Go、Python、C++ 等。此外,灵码新增代码提交信息(CommitMes......
  • 5 大场景上手通义灵码企业知识库 RAG
    大家好,我是通义灵码,你的智能编程助手!最近我又升级啦,智能问答功能全面升级至Qwen2,新版本在各个方面的性能和准确性都得到了显著提升。此外,行间代码补全效果也全面优化,多种编程语言生成性能及准确性大幅提升,如前端、Java、Go、Python、C++ 等。此外,灵码新增代码提交信息(CommitMes......
  • 图解Kafka | 16张图讲透生产者交付语义
    交付(传递)语义交付语义是在分布式消息系统(如Kafka)中,用来描述消息从生产者到达消息系统并最终被消费者消费时的可靠性保证。它主要涉及到消息是否能正确地被投递,及在什么情况下可能会出现消息丢失或重复的问题。根据Kafkabroker和生产者的配置,支持“最多一次”、“至少一......
  • 计算机毕业设计hadoop+spark+hive漫画推荐系统 动漫视频推荐系统 漫画分析可视化大屏
    流程:1.DrissionPage+Selenium自动爬虫工具采集漫画视频、详情、标签等约200万条漫画数据存入mysql数据库;2.Mapreduce对采集的动漫数据进行数据清洗、拆分数据项等,转为.csv文件上传hadoop的hdfs集群;3.hive建库建表导入.csv动漫数据;4.一半指标使用hive_sql分析得出,一半指标使......
  • 【AI+应用】一文了解知识图谱技术体系
    一、知识表示二、知识建模三、知识抽取四、知识挖掘五、知识存储六、知识融合七、知识检索八、知识推理原创虞大胆的叽叽喳喳《从零构建知识图谱:技术、方法与案例》这本书初读的时候,感觉有点理论,不过结合陈华钧教授知识图谱课件学习后,感觉阐述比较完整,尤其前......
  • 【LLM & RAG & text2sql】大模型在知识图谱问答上的核心算法详细思路及实践
    前言本文介绍了一个融合RAG(Retrieval-AugmentedGeneration)思路的KBQA(Knowledge-BasedQuestionAnswering)系统的核心算法及实现步骤。KBQA系统的目标是通过自然语言处理技术,从知识图谱中提取和生成精确的答案。系统的实现包括多个关键步骤:mention识别、实体链接及排序、属......
  • 知识图谱:解锁数据海洋的钥匙,赋能智能决策的新篇章
    在数字化转型的浪潮中,数据已成为企业最宝贵的资产之一。然而,面对海量、异构的数据海洋,如何高效地提取、整合并应用这些信息,成为了摆在我们面前的一大挑战。知识图谱,作为大数据与人工智能融合的重要产物,正逐渐成为连接数据孤岛、挖掘数据价值的桥梁。本文将带您深入了解知识图......
  • AntSK:在无网络环境中构建你的本地AI知识库的终极指南
        亲爱的读者朋友们,我是许泽宇,今天我将深入探讨一个引人注目的开源工具——AntSK。这个工具让您在没有互联网连接的情况下,仍然能够进行人工智能知识库的对话和查询。想象一下,即使身处无网络环境中,您也可以轻松与AI进行愉快的交流,这无疑是非常振奋人心的!项目地址您可以......