知识图谱导论(四)
知识图谱的获取与构建
知识图谱数据的获取包括几个方面的任务:实体识别、关系抽取、属性补全、概念抽取、事件识别与抽取
实体识别
实体识别的任务最简单的是通过定义模板或规则,但是维护模版和规则定义费时费力,需要大量的语言学知识,而且规则之间还会出现冲突,大量模板也不好描述。现在更为常用的是利用机器学习算法。
书中列举了两个模型:隐马尔可夫模型(Hidden Markov Model,HMM)和 (条件随机场模型)CRF。通过这两个模型可以很好的理解问题的本质。
隐马尔可夫模型
一个隐马尔可夫模型可用5要素来描述:
- 状态集合 S:状态集合是指模型背后可能的隐藏状态。
- 观测集合 O:所有可能的观测结果
- 初始状态概率 π:模型开始时,处于各个隐藏状态的概率。
- 状态转移矩阵 A:描述隐藏状态之间的转移概率,是一个 NxN 的矩阵(N 是隐藏状态数)
- 观测概率矩阵 B(发射矩阵):描述在某个隐藏状态下,产生某个观测值的概率,是一个 N×M 的矩阵(M 是观测值数)
一个故事:猜天气的盲人
想象一个场景:你被关在一个没有窗户的房间里,完全看不到外面的天气。你唯一能知道外面天气的信息源,是一个每天会来送饭的朋友。这个朋友的出行习惯和天气有关:
- 如果是晴天,他带伞的概率是 0.1,不带伞的概率是 0.9。
- 如果是雨天,他带伞的概率是 0.8,不带伞的概率是 0.2。
你连续观察了三天,看到他第一天空手来,第二天带伞来,第三天空手来。
你的问题:这三天外面的天气最可能是什么样的?
在这个故事里:
- 隐藏状态:每天的天气(晴天或雨天)。你看不到,所以叫”隐”。
- 观察结果:他是否带伞。你能看到,叫”观测”。
- 状态转移:今天的天气如何影响明天的天气(比如晴天之后很可能还是晴天)。
- 发射概率:给定天气,他带伞或不带伞的概率。
这就是一个典型的隐马尔可夫模型问题。
条件随机场模型(CRF)
一个故事:词性标注 想象你要教计算机理解这句话: “他 骑 自行车 去 学校”
你的任务是给每个词标上词性:代词、动词、名词、介词、名词。
这个问题有两个关键特点:
- 上下文依赖:一个词的词性往往取决于它前后的词。比如”骑”后面如果是”自行车”,那”骑”很可能是动词;如果”骑”后面是”马”,还是动词;但”骑”单独出现时可能是名词(”骑兵”的简称)。
- 全局最优:你不能孤立地看每个词,而是要找一个整体最合理的词性序列。
隐马尔可夫模型会怎么做?它会分别看每个词最可能的词性,然后组合起来。但这样可能忽略前后的一致性。
条件随机场的思路不同:它把整个序列放在一起考虑,计算”给定整个句子,整个词性序列的概率”,然后挑出概率最高的那个序列。
从这里可以看出,软件工程上的每个进步,都是在修复以往方案的弊端,同时保持以往方案的优点(例如准确性、稳定性)。
关系抽取
实体关系抽取是从文本中获取知识图谱三元组的重要技术手段,通常用于知识图谱的补全。
基于模板的关系抽取需要根据语言学的知识,进行模板定义。基于触发词的抽取存在较低的召回率。为什么存在较低的召回率?
首先基于触发词的方法,本质上是模式匹配,先定义一组触发词,当文本中出现这些触发词,则抽取。 例如触发词:担任、任职、出任、就任、成为,对应模式:人物+担任+职位+机构。
但是语言存在同义表达和隐含表达,这导致模式无法进行匹配。例如:张三,阿里巴巴 CTO。是一种隐式表达。根据统计分析,语言表达同一关系的方式呈长尾分布。长尾分布导致模板构造工程量加大。
所以抽取发展除了新的范式:远程监督学习和深度学习端到端抽取。
属性补全
属性补全是对实体拥有的属性和属性值进行补全。属性补全方法分为两大类:抽取式和生成式。
抽取式方法只能抽取在输入文本中出现过的属性值,且预测属性值一定在输入中出现过,具有一定可解释性,准确性也更高。生成式方法可以预测不在文本中出现的属性值,但只能预测可枚举的高频属性,导致很多属性值不可获取,且预测出来的属性值没有可解释性。
属性补全在商品属性上的应用。
概念抽取
概念知识一般包含概念与概念之间的subClassOf关系,概念与实体之间的isA关系两种,通常被用于本体构建。
作者在书中介绍了模板的抽取、基于百科的抽取和基于机器学习的抽取。为什么选择这三种进行介绍呢?
因为这三种方法代表了技术发展的三个时代和解决思路的三个维度。第一个时代专家时代主要的是模板抽取,第二个时代众包时代是百科抽取,第三个时代统计时代是机器学习抽取。
这样就可以讲述出为什么从规则走向统计,为什么从纯文本走向半结构化。
事件识别与抽取
事件抽取是获取事件知识的主要任务。给定一个事件的描述文本,事件抽取应该预测出带有特定事件类型的触发词以及具有指定角色的事件要素。事件抽取一般分两个步骤:第一步是事件的发现和分类,第二步是事件要素的抽取。