知识图谱的小结
一. 定义
知识图谱是一种二元的图网络,用以描述客观世界中的实体信息及其相互关系规律的知识化体系。它的基本组成单元包括:
- 实体-关系-实体
- 实体-属性-属性值
二. 知识图谱的构建
2.1 知识建模
对于构建知识图谱的时候,一般我们都是针对所在的特定领域进行建模,所以一般称为“本体建模”或者“领域建模”。
这里构建本体模型一般分为3类技术:
- RDF:Resource Description Framework,即资源描述框架。采用“资源-属性-属性值”的“主谓宾”结构(或称三元组),提供一种框架容器,并通过XML定义了一套形式化的方法,为机器语义理解的结构基础。
- RDFS:RDFS是RDF的一个扩展,它提供了一些基本的类和属性,以及它们之间的关系。
- OWL:Web Ontology Language,Web本体语言,它是基于RDF和RDFS的一种更加丰富的知识表示语言。在OWL中,我们可以定义类、属性以及它们的约束和关系。此外,OWL还支持对知识的推理。
2.2 知识获取
构建好需要的本体模型后,那么就需要把数据构建成对应的模型的输入了。我们知识的来源基本分为以下几类:
- 私有数据
- 企业的文档
- 企业私有的用户数据
- 企业私有的非结构化数据
- 公有数据
- 新闻
- 百科
- 公有语料
那么对于一些上述这些数据拆分为两大类,来进行数据处理:
- 非结构化数据:一般指的是无任何标识的文本,我们可以采用相关的NLP算法,比如实体识别和关系抽取(或者直接使用事件抽取,这里事件抽取可以参考我之前写的一篇博客)来构建实体关系的三元组。
- 结构化数据:由于本身就是标准化的数据,我们只需要通过D2R服务器将数据库的内容转成RDF的形式。
2.3 知识融合
知识融合是将不同来源的知识整合到一起的过程,用以解决知识的冲突和重复。
以下是基于知识融合步骤:
- 实体识别和链接:首先需要识别出不同数据源的相同实体,并将其链接。比如这里的“Tesla”和“特斯拉”应该识别并链接为同一实体。
- 重复实体的合并:可以基于文本相似度来将不同数据源的重复实体进行合并
- 关系融合:识别并合并描述相同实体之间的关系。
2.4 知识存储
一般来说,会将知识利用图的形式进行存储,因此,我们需要将抽取的实体关系构建成图的形式:
- 图的节点:实体
- 图的边:关系
图的存储一般使用的是Neo4j图数据库,据说其图的搜索的性能比mysql快1000倍!
2.5 知识计算
知识计算是基于已构建的知识图谱进行能力输出的过程,它以图谱质量提升、潜在关系挖掘与补全、知识统计与知识推理作为主要研究内容。
基于图论的相关挖掘算法:
- 图匹配
- 图查询
- 频繁子图
- 图聚类
知识推理是指从知识库中已有的实体关系数据出发,进行计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。以下是基于知识推理的计算方法:
- JENA:最常见的OWL推理工具是Jena,Jena2支持基于规则的简单推理,它的推理机制支持将推理器(inference reasoners)导入Jena,创建模型时将推理器与模型关联以实现推理。
- JESS:使用规则引擎进行推理,同 大多数专家系统工具一样,Jess的核心也是由事实库、规则库、推理机三大部分组成,并采用产生式规则作为基本的知识表达模式。
- ProLog:Prolog作为一种声明式逻辑编程语言,非常适合用于实现专家系统中的知识表示和推理。专家系统通过模拟人类专家的知识和决策过程来解决特定领域的复杂问题。在专家系统中,知识通常以事实(facts)和规则(rules)的形式表示,而Prolog的逻辑声明特性使得它成为实现专家系统的理想选择。
- DataLog:是一种基于逻辑的编程语言。它是一阶谓词逻辑中Horn子句逻辑的一种受限形式,只允许变量或常量作为谓词的自变元,不允许函数作为谓词的自变元。Datalog的语句由事实和规则组成,同Prolog一样,它可以实现对知识库的演绎推理,即可以从已知事实中根据跟着推理得到新的事实。
三. 知识图谱的应用
3.1 安防领域
对于传销组织而言,其实其特征信息是潜藏在通话网络中,我们可以利用构建通话网络的图谱,利用子图识别和匹配的挖掘手段找到十分特殊的传销子图。
3.2 金融领域
在金融领域中,根据获取用户的身份信息、授权信息以及长生命周期的信贷信息,构建的知识图谱,用于推断借款人的欺诈风险。
3.3 智能客服
在大模型出现之前,其实可以根据自身垂类信息来构建企业垂类的知识图谱,用于简单的人机对话及检索。但是随着AI大模型的广泛应用,现在在智能客服上,完全可以用垂类大模型对其进行替换。