1. 知识图谱概述
大家好,我是这次课程的主讲。咱们直接进入正题。
知识图谱这个词,这几年确实火。但说白了,它不是什么全新的技术,更像是把几十年前就有的语义网络、图数据库、本体论这些概念,重新整合包装了一下。我最早接触知识图谱是在2015年左右,当时做金融风控项目,发现传统规则引擎根本管不住那些变着花样来的欺诈团伙。嗯,从那时候起我就开始琢磨,怎么把离散的数据点串成一张能推理的网。
1.1 知识图谱的定义
什么是知识图谱?我习惯用一句话概括:用图结构来描述真实世界中的实体以及它们之间的关系。
传统的数据库存的是二维表,一行一条记录。比如“张三买了手机”,在关系型数据库里是一条记录。但在知识图谱里,张三是一个节点,手机是另一个节点,“购买”是他们之间的边。你看,这种结构天然就适合做关联分析和推理。
一个基本的知识图谱三元组(Triple)长这样:
(头实体, 关系, 尾实体)
举个具体的例子:
(张三, 职业, 工程师)
(张三, 就职于, 某科技公司)
(某科技公司, 总部位于, 北京)
这三条三元组一拼接,你就能推理出:张三是一位在北京某科技公司工作的工程师。传统数据库要查出这个,你得JOIN三张表。但在图里,一次遍历就搞定了。
- 实体(Entity):现实世界中的对象,比如人、公司、产品。
- 关系(Relation):实体之间的连接,比如“就职于”、“位于”、“购买”。
- 属性(Attribute):实体的特征描述,比如张三的年龄、公司的注册资本。
1.2 发展历史:从语义网到知识图谱
知识图谱这个概念,不是一天砸下来的。我大致给它分了几个阶段:
| 阶段 | 时间 | 核心事件 | 特点 |
|---|---|---|---|
| 萌芽期 | 1960-1990 | 语义网络(Semantic Network) | 用图表示概念、关系,推理能力弱 |
| 标准化期 | 1990-2010 | RDF、OWL、SPARQL 标准制定 | 万维网联盟(W3C)推动语义网 |
| 爆发期 | 2012-2015 | Google 提出 Knowledge Graph | 大规模知识图谱进入工业界,搜索引擎升级 |
| 深化期 | 2015至今 | 知识图谱在金融、医疗、电商落地 | 与图数据库(Neo4j,JanusGraph)和深度学习结合 |
我记得最早接触RDF(资源描述框架)的时候,被那个URI和序列化格式搞得很痛苦。万维网联盟的标准文档写得太学术了,看着就头疼。后来Google在2012年发布了他们的Knowledge Graph,一下把这事儿给推到了前台。为什么?因为搜索引擎的搜索体验真的变好了。搜“爱因斯坦”,右边直接跳出来他的出生年月、主要成就、相关人物——这些都是从知识图谱里抽取的。
1.3 主流应用场景
知识图谱不是那种只能在实验室里折腾的东西。我挑几个咱们课程后面会频繁接触的场景来聊聊。
1.3.1 智能搜索与推荐
这个最典型。你搜“周杰伦的演唱会”,传统搜索引擎给你一堆结果页。知识图谱直接告诉你,演唱会在哪、什么时候、票价多少、还有哪些相关歌手。它背后就是实体识别和关系推理。
1.3.2 金融风控与反欺诈
这一点我感触最深。我曾经在反欺诈项目中见过一个案例:三个电话号码,分别属于不同的人,但这三个号在一个月内频繁给同一个海外账户转账。传统规则只能检测单笔大额交易,但把它们放到知识图谱里一查,发现这三个号的主人都与一个已注销的空壳公司有关联。这就是典型的异常实体识别。
1.3.3 医疗知识问答
症状与疾病、药物与副作用、检查项与诊断。这些关系天然就是一张密集的图。很多智能问诊系统,底层就是挂着医学知识图谱。
1.3.4 工业设备故障诊断
设备、传感器、故障模式。当某个传感器读数异常,图结构能帮你快速定位可能出问题的关联部件。
1.4 为什么异常实体识别离不开知识图谱?
你想想看,传统的异常检测方法(比如统计阈值、孤立森林)只盯着单个实体的属性值看。但很多异常是“关系异常”——实体本身没问题,但它连接的其他实体有问题,或者它处于一个异常的子图结构中。举个例子:一个用户的消费单笔金额都在正常范围内,但他关注的好友全是新注册的僵尸号。这种模式,单看属性看不出来,放到图里一查就现原形。
下面这张图,概括了咱们这门课的核心逻辑:
好了,这一章我们就聊到这儿。先对知识图谱有了一个整体的认知,后面我们会逐步深入——从实体识别、关系抽取,到构建图谱,再到具体的异常检测算法。路很长,但每一步都有它的价值。