知识图谱之汽车实战案例综述与前瞻分析

知识图谱的前置介绍

什么是知识图谱

知识图谱本质(Knowledge Graph)上是一种叫做语义网络(semantic network ) 的知识库,即具有有向图结构的一个知识库;图的结点代表实体(entity)或者概念(concept),而图的边代表实体/概念之间的各种语义关系,比如说两个实体之间的相似关系;知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,一般用三元组表示;

知识图谱概念由来

知识图谱(Knowledge Graph )的概念由谷歌 2012 年正式提出,旨在实现更智能的搜索引擎,并且于 2013 年以后开始在学术界和业界普及,并在智能问答、情报分析、反欺诈等应用中发挥重要作用。

知识图谱总体架构 

常用的获取知识的方法 

网络爬虫

网络爬虫原理


 

Schema.org 是一个协作、社区活动,由搜索引擎巨头 Google、Microsoft、Yahoo 和 Yandex 发起,旨在创建、维护和推广一套共同的、通用的数据标记模式(schemas),这些模式可以被搜索引擎和其他web爬虫理解。该项目的目的是为了改善互联网中信息的结构化表示,以便搜索引擎能够更好地理解网页内容,并据此提供更丰富和更精确的搜索结果。

Schema.org 提供的这些模式涵盖了各种实体类型,如人、地点、事件、产品和许多其他内容类型,以及这些实体之间的关系。这些模式通常以JSON-LD、Microdata或RDFa的形式嵌入到网页HTML中,提供了一种方式来注释网页元素,使其含义对机器更加清晰。

例如,如果一个网站使用了Schema.org的标记,它可以告诉搜索引擎,“这里列出的是一项活动,它在这个日期和这个地点举行,由这个组织主办”。这样,搜索引擎可以创建更智能的搜索结果,包括富媒体片段(如星级评分、价格范围、事件日期等),并为用户提供更直观的信息。

在搜索引擎优化(SEO)中,使用Schema.org标记被认为是一种最佳实践,因为它可以增强搜索引擎对网站内容的理解,从而可能提高网站在搜索结果中的表现。

 

wikidata

wikidata一个免费的、开放的、可编辑的知识库,它可以为维基百科和其他维基媒体基金会的项目,以及任何人使用的外部应用程序,提供结构化的数据。Wikidata 旨在成为一个中央存储库,为所有维基百科语言版本和其他维基媒体基金会的知识项目提供公共数据。

在Wikidata上,数据以项(items)和声明(statements)的形式组织。每个项都代表一个概念或实体(如人、地点、概念、事件等),并且有一个独一无二的标识符(称为QID)。声明则用于描述一个项的性质,包括与其他项的关系、属性特征等。

Wikidata是一个动态发展的项目,任何人都可以参与编辑和贡献数据,它通过社区协作,不断增加和改进数据质量。


 

图数据库

neo4j

知识图谱模型设计

设计方法论 

知识图谱设计方法论

UMLS语义网络

UMLS(统一医学语言系统,Unified Medical Language System)是美国国家医学图书馆(National Library of Medicine)建立的医学领域的一种广为接受的知识表示(knowledge representation)标准。UMLS旨在通过标准化大量医学和健康术语,以达成映射多种医学词汇体系的目标,使得不同的医学系统能够通信,并且能够更清晰地理解了各种种类的健康和生物医学代码和术语。

UMLS主要由以下三部分组成:

  1. Meta-thesaurus(元词表):这部分是 UMLS 的核心,包含来自不同来源的医学术语、疾病描述、药物信息等,并关联着多个不同医学词汇体系中的术语。元词表提供统一标识符(UMLS Concept Unique Identifiers, CUIs)来整合各种术语和概念,并显示它们之间的关系。

  2. Semantic Network(语义网络):它为术语和概念建立了一个大范围的分类框架,语义网络包含了广泛的、经过分层的、医学概念类别和类别间关系的定义。每个概念都被分配到一个或多个语义类型,像药物、疾病或医疗设备等,而语义类型之间也定义了多种可能的语义关系,比如"治疗"或"致病"。

    • SPECIALIST Lexicon and Lexical Tools(专家词汇及查词工具):这是一个包含很多与医学相关期名词与单词的大型英语词汇库。结合一组用来解析和构造自然语言的软件工具。专家词库针对生物医疗领域进行了优化,支持文字处理和自然语言理解任务比如段落、句法分析和词形变换。

UMLS 实际上可以视作一种健康医疗领域的知识图谱,因为它组织了大量的医疗术语、概念及它们之间的关联。

知识图谱模型设计之参照法-UMLS语义网络

知识图谱模型设计之参照法-UMLS语义网络

知识图谱模型设计之归纳法

模型设计流程
知识图谱模型设计之归纳法-产品生命周期模型

知识图谱语义类型设计:高层抽象可复用(参照与对标)

知识图谱语义类型设计:底层明细需适配(归纳法)
知识图谱语义类型设计:底层明细需适配(归纳法)

知识图谱语义类型设计:底层明细需适配(归纳法)-事件中抽取


 

开源框架NLP 框架

通用实体命名识别



CoreNLP,CRF

知识图谱可视化

Apache ECharts

D3 by Observable | The JavaScript library for bespoke data visualization

汽车项目可视化(基于 ECharts)

推荐系统介绍

常见的推荐系统分类
推荐系统得体系结构

推荐系统得策略模型

知识图谱和推荐系统相结合

知识图谱与推荐系统的融合,可以提升推荐内容的准确性和效果。

三种融合方式

  1. 基于实体属性的推荐:利用知识图谱中实体的属性信息来推荐内容,例如,根据用户的兴趣属性推荐相关的内容。

  2. 基于实体关系的推荐:通过分析知识图谱中实体间的关系,如朋友关系、喜好关系等,来推荐用户可能感兴趣的内容。

  3. 基于知识图谱特征向量的推荐:使用知识图谱中实体的特征向量来生成推荐,这些向量可以捕捉实体的深层次特征,从而提高推荐的个性化程度。

三种训练模式

  • 一次训练:在推荐系统中直接使用知识图谱数据进行训练。
  • 联合训练:同时训练推荐系统和知识图谱模型,使它们共享知识。
  • 交替训练:先训练推荐系统,然后使用其输出来更新知识图谱,再反过来用更新后的知识图谱来训练推荐系统。
推荐系统和知识图谱的结合训练的三种模式

RippleNet工作原理和实现机制

RippleNet是一个结合了知识图谱和推荐系统的框架,旨在通过利用知识图谱中的结构化事实来增强推荐系统的效果。在这个框架中,知识图谱的每个实体(如电影、演员、导演)和关系(如"演员参演电影")被用来丰富用户和物品的表示。

RippleNet网络结构

下面是RippleNet的工作原理和实现机制的简要说明:

RippleNet工作原理和实现机制

  1. 输入

    • 用户u:用户的唯一标识。
    • 物品v(例如,推荐系统中的电影或商品):物品的唯一标识。
    • 用户点击历史Vu​:用户过去的行为记录,如用户点击或购买的物品列表。
  2. 知识图谱

    • 知识图谱包含大量的事实,这些事实以三元组(头实体h,关系r,尾实体t)的形式表示
  3. 种子

    • 用户历史中的每个物品都被视为传播的种子点。这些种子点在知识图谱中被激活,从而影响与用户历史相关的其他实体。
  4. 传播(Propagation)

    • RippleNet通过多个跳数(Hop)对知识图谱进行传播,每一跳都会从当前实体扩散到与之关联的实体,这些实体集合称为"波纹集"(Ripple Set)。
    • 每个跳数可以看作是一层网络,每一层都会收集与上一层相关的实体和关系。
  5. 波纹集的影响

    • 用户的嵌入向量(User Embedding)受到波纹集影响,这些集合包含了用户兴趣的上下文信息。
    • 例如,如果用户点击了某部电影,那么与这部电影相关的导演、演员等实体就会影响用户的表示。
  6. 加权平均与Softmax

    • 每个波纹集会对应一个潜在的用户兴趣表示,这些表示通过加权平均得到用户的最终嵌入。
    • Softmax函数用于将加权后的用户嵌入向量转换为与特定物品相关联的预测概率。
  7. 预测

    • 用户嵌入和物品嵌入(Item Embedding)被送入神经网络中进行计算,输出用户点击给定物品的预测概率。
    • 最终,预测概率被用于生成推荐列表,优先推荐那些具有较高点击概率的物品。

简而言之,RippleNet利用知识图谱中的关系网络来富化用户和物品的表示,使得推荐结果能够更加准确地反映用户的潜在兴趣。通过跳数(Hop)不断传播,它能够考虑到用户历史行为的多个层面,从而实现更深层次的个性化推荐。

相关资料

知识图谱+推荐系统 RippleNet:论文解读+代码 - 知乎

OpenKG.CN – 开放的中文知识图谱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/329648.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「斗破年番」5位斗宗大战,韩枫献海心焰晋斗宗,菩提涎争夺开战

Hello,小伙伴们,我是拾荒君。 国漫《斗破苍穹年番》第78期超前爆料,本期透露菩提化体涎的背后秘密。天鹰老人抢夺菩提化体涎后,迅速逃匿,却遭到了各路强者的围攻。然而,这位四星斗宗强者并非浪得虚名,他仅…

Spring之代理模式

1、概念 1.1 介绍 二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中…

Redis 有序集合(sorted set) 命令

目录 1.Redis Zrevrank 命令 - 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序简介语法可用版本: > 2.2.0返回值: 如果成员是有序集 key 的成员,返回成员的排名。 如果成员不是有序集 key 的成员,返回 nil 。 示例 2…

2024阿里云优惠_阿里云活动中心

2024年阿里云优惠活动大全,包括阿里云服务器优惠活动清单、配置价格表、域名优惠活动、阿里云建站活动、阿里云优惠代金券免费领取、对象存储OSS活动、企业邮箱优惠、无影云电脑优惠、CDN特惠等等,阿里云百科aliyunbaike.com分享2024阿里云优惠活动大全_…

循环队列的队空队满情况

有题目: 循环队列放在一维数组A[0....M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是 …

用可视化案例讲Rust编程1. 怎么能学会Rust

用可视化案例讲Rust编程 1. 怎么能学会Rust 如果要列举Rust的优势,恐怕写个十条八条是写不完的,而且不管写哪条优势,都有很多同学跳起来反驳,比如我们说Rust比C/C内存安全,肯定有同学说C 20也支持内存安全&#xff0…

Java数组:一维数组、二维数组、Arrays

文章目录 1、一维数组1.1 数组概念1.2 数组的声明1.3 数组的静态初始化1.4 数组的动态初始化1.5 地址值1.6 数组元素访问1.7 索引1.8 数组的遍历1.9 数组两种初始化方式的区别 2、二维数组2.1 二维数组的声明2.2 二维数组的静态初始化2.3 二维数组的动态初始化2.4 二维数组的遍…

LCD—液晶显示

本节主要介绍以下内容 显示器简介 液晶控制原理 秉火3.2寸液晶屏简介 使用FSMC模拟8080时序 NOR FLASH时序结构体 FSMC初始化结构体 一、显示器简介 显示器属于计算机的I/O设备,即输入输出设备。它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具。…

计算机毕业设计 基于Javaweb的城乡居民基本医疗信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

【Linux Shell】2. Shell 变量

文章目录 【 1. 变量命名规则 】【 2. 变量的使用 】【 3. 只读变量 】【 4. 删除变量 】【 5. 变量类型 】【 6. Shell 字符串 】6.1 字符串分类6.2 字符串操作 【 7. Shell 注释 】7.1 单行注释7.2 多行注释 【 1. 变量命名规则 】 定义变量时,变量名不加美元符号…

Linux系统使用超详细(八)~磁盘管理

目录 一、认识磁盘 二、磁盘运行机制 三、磁盘检查 3.1查找设备名称和分区号 3.1.1使用lsblk命令: 3.1.2使用fdisk命令: 3.1.3使用blkid命令: 3.2检查方向 3.2.1文件系统完整性: 3.2.2磁盘健康状态: 3.2.3磁…

2024-python画图永久解决 matplotlib 中文乱码

2024-python画图永久解决 matplotlib 中文乱码 不多说了吧,大家肯定是自己安装了python,这些环境了,毕竟都知道乱码了,所有此处省略1万字,如果这些前期不会的,就不要来找我了,自己解决&#xf…