知识图谱构建实战

知识图谱实践的系统工程观念##

  1. 知识图谱实践是一种典型的大规模知识工程,也是典型的系统工程,在实践过程中应该坚持工程观和系统观
  2. 工程观
  • 利用数学和科学原理提出有效解决方案解决实际问题的观念。
  • 基础的自然科学以认识世界为基本使命,而工程学科旨在改造世界。
  • 知识图谱作为一类大规模知识工程,其当下的重要使命在于解决各行业智能化升级转型过程中涌现的一系列问题;
  • 工程观势必要求实践者具备优化问题的求解思路;
  • 工程中的大部分问题是受资源约束的最优化问题,任何知识图谱所能投入的资源总是有限的,然而实际问题的解决又是迫切的,因此工程实践往往需要利用有限资源提出最优化方案。
  • 知识工程的研究与实践不同,行走在知之前,当下技术又加速发展的趋势,但理论速度仍然保持原有速度,技术的快速发展反过来要求理论总结必须提速
  1. 系统观
  • 系统观认为现实世界中的大部分复杂系统是由相互作用,相互依赖的若干部分组合而成的具有特定功能的有机整体。
  • 知识图谱组件众多、涉及要素多样、人机协作复杂;
  • 知识图谱作为系统化整体并不是若干组件简单整合,而是复杂策略指引下的有机组合;
  • 知识图谱是动态的开放的系统,**随着环境的变化,应用需求与数据都会发生变化,**从而要求知识图谱系统做出相应的调整。
  • 当下的大数据知识工程是以知识的规模化表示与应用为核心标志的,自动化知识获取势必要求降低对专家的依赖。
  • 大规模的互联网应用催生了知识图谱这样的知识表示,知识图谱通过将二元语义关联(三元组)作为其知识表示的核心,具备了简单、普适及适合从数据中高度自动化获取等优点,但表达能力较弱。

领域知识图谱框架构建

  1. 从已有的百科类知识资源中抽取实体和关系信息(实体属性),形成结构化的数据资源;
  2. 结构化文本: 置信度高、规模小、缺乏个性化的属性信息;
  3. 半结构化文本: 置信度较高,规模较大,个性化信息,形式多样,含有噪声
    在这里插入图片描述
  4. 非结构化文本:置信度低,复杂多样,规模大,包含大量的信息。
    在这里插入图片描述
  5. 基本思路
  • 框架构建: 调研现有框架,完成目标框架的人工构建;数据来源(百度百科,互动百科,豆瓣)
  • 半结构化文本中的知识抽取:利用网页的结构信息抽取实体属性名与属性值;
  • 非结构化文本中抽取: 自动构建标注器,从纯文本中抽取实体属性值;
  • 体系复用:网络百科主要包含实体相关的知识,在构建知识体系时主要参考了如下现有的相关资源: Schema.org; 百度百科分类体系;互动百科分类体系;
  1. Schema.org
  • 提供了一系列的html语义标签,使用这些标签标注网页可以帮助搜索引擎更好的识别这些网页;
  • 共有576个类别,758个属性,但其中有很多网页行为有关的类别和和属性。
  1. 百度百科分类体系
  • 每个上层分类包括几个子分类,每个子分类都“继承”父分类的属性,同时有一些自有的属性。
  • 百度百科共包含11个大分类:娱乐、科学、自然、文化、地理、生活、社会、人物、经济、体育、历史;
    在这里插入图片描述
  1. 互动百科分类体系
  • 包括13个大类

半结构化文本中的知识抽取

  1. 从百科普通条目半结构化网页中抽取实体属姓名及实体属性值;
  • 从百科文本中定位半结构化信息块;
  • 抽取模块的学习
  • 属性名,属性值抽取
  1. 块定位基本思想
  • 具有相同模式的实体关系属性名总是连续出现。
  • 假设只要“xxx:”的结构连续出现,就可认定该区域为半结构化信息块;
  • 关键问题在于属性名称的确定
  • 利用结构化信息中的属性名进行定位
  • 在这里插入图片描述
  • 仅仅依靠已有的属性名进行块定位,召回率低
  • 在这里插入图片描述
  1. 基本框架
  • 首先利用结构化信息识别半结构化块
  • 然后在识别的块中学习属性模版并抽取属性
  • 对模版和属性名进行排序,获得高质量的模版和属性名;
  • 利用高质量的模版和属性名进行定位和抽取。
  • 在这里插入图片描述
  1. 启发式规则
  • 半结构信息块中必须出现infobox中的属性名;
  • 半结构化信息块中属性名必须是不同的;
  • 半结构化信息块中模式是重复出现的。
  1. 模版学习
  • 属性名之前的第一个html tag与属性名之间为前缀;
  • 属性名后第一个字符为分隔符
  • 在这里插入图片描述
  1. Ranker(置信度估计)-网站级知识获取
  • 对于所抽取的Wrapper与属性名进行排序
  • 高质量的属性名所产生的模板质量更高
  • 高质量的网页所产生的模板质量更高
  • 高质量的模板所抽取的属性名质量越高所在的网页的质量也越高
  • 构建一个Graph,利用Random Walking进行排序
  • 在这里插入图片描述
  1. 单个页面内的实体属性抽取
  • 利用网站级的知识在页面中定位半结构化信息块
  • 抽取属性名和属性值
  • 确定实体1
  • 大多数情况下条目名称作为实体1
  • 但是有很多并列结构(团体组合)

非结构化文本中的知识抽取

  1. 难点:如何获取抽取的目标属性,来源于infobox; 如何获取训练语料,用以训练抽取器,info box回标;
  2. 数据预处理,回标产生训练数据,训练属性抽取模型,后处理。
  3. 数据预处理模块
  • **百科文本分割:**为后续处理方便,我们将一个百科页面分为“百科名片、infobox、正文文本、开放分类”四个部分,并分别存储,得到的部分去除了词条统计、编辑者、广告等信息;
  • **内容清扫:**去Html Tag、图片,提取Plain Text;去除article的结构化和半结构化部分;句子分割:按照标点符号进行分割。
  • 挑选训练数据:根据百度百科的“开放分类”将不同的页面分类,然后对各分类训练模型。
    • 例如:在对“人物”分类挑选训练数据时,将百度百科中“开放分类”中包含“人物”,并且含有infobox的页面挑选出来。
  • 问题:容易引入噪声,从而造成训练语料标注不准确
    • 例如:电影明星的条目也会被标注为“电影”的开放分类标签,与真正表示电影的条目混合。如果在这种情况下进行回标产生语料语料,势必会产生错误。
  • 解决方案:采用KNN分类进行筛选得到高质量的分类页面
    • 针对人物类别挑选训练数据时,将百度百科的“开放分类”中包含“人物”并且包含infobox的页面挑选出来
    • 初选完成后,统计infobox属性名的频率并计算属性名在此类中的权重
    • 挑选权重较大的属性名向量作为此类的中心
    • 最后再对包含infobox的页面提取出属性名向量,计算其到每个类的距离进行KNN分类
    在这里插入图片描述
  • 文档分类器:计算文档所属分类,确定所抽取实体目标属性
  • 训练:
    • 用最大熵算法训练分类器
    • 训练语料为KNN筛选后的“高质量百科文档”
    • 特征为词袋子
    在这里插入图片描述
  1. 实体属性回标:产生供训练模型所用的训练语料

在这里插入图片描述

  • 回标采用的规则:InfoBox中属性值处理
    如果信息框中某条属性的属性值较长并且含有标点符号,首先需要对属性值根据标点符号进行分割
    句子必须包含
    百科Title及Infobox中的属性值
    (并限定距离)
  • Infobox中的“属性-值”回标时,如果有多个句子匹配时根据距离排序,取Top5
  1. 基于CRFs的实体属性值抽取
  • 目标:对确定类别的文档中每个含有实体一的句子,在其中抽取实体属性值,确定目标词或短语的边界
  • 训练: 用回标所得的结果训练CRFs,不同文档类别分开训练,每个属性一个CRF;对于百科信息框中的每个属性,对其分配S、B、M、E、N五个标签。
  • 特征: 词性、词形、上下文特征;一元、二元组合
  1. 句子分类器
  • 目标:**对抽出实体属性值的句子,用分类器判别这个句子抽出了这个属性是否正确**(该句子是否包含了该属性信息
  • 训练
    ➢ 用回标所得的结果(标注了实体一、实体二的句子)训练
    ➢ 不同文档类别分开训练,每个属性一个分类器
    ➢ 使用最大熵分类器
  • 特征: 词袋子,CRF所标注的实体1和实体2之间的距离;
  1. 后处理
  • **多属性问题:**在一篇文档中,针对单个属性,可能抽取出不同的属性值;有些属性需要多个属性值(职业、成就)
  • **解决方法:**统计每个属性为单值属性还是多值属性,确定每个属性最多可以有几个属性值;对于通过句子分类器筛选的三元组,根据置信度进行排序,对于每个属性,保留句子分类器所得概率最高的若干个属性值,汇总去重
  1. 回标规则对于性能的影响
  • 两条规则(Case Study)
    ➢ TopN规则(回标后选取实体1与实体2最近的N个句子)
    • Top1 vs. Top5
    ➢ 最近邻规则(当一个句子中出现多个实体1与多个实体2,则取最近邻的实体1和实体2)
    在这里插入图片描述

  • 存在问题
    在这里插入图片描述

  • 实体消歧

    不同来源的实体可能名称不一样,无法直接对应;
    例如:如百度百科中具有以“李娜”作为条目名称的实体有多个,它们分别表示着网球运动员李娜、女演员李娜、教授李娜等等。
    解决方法:网络百科中,每个实体由条目名称(标题)、标签、属性三部分组成
    对于名称相同的条目,通过计算两个实体在标签和属性两个方面的相似度来计算两个实体间的相似度
    具体方法:
    • 标签计算:将百度百科实体标签集合中的每个元素到候选互动百科实体的标签集合中,寻找最相似的对应标签,并记录相似度。这里的相似度计算采用编辑距离计算方法
    • 属性名计算:先进行属性名的匹配,映射到相同属性名下的属性,算作属性名匹配,并进一步进行属性值的匹配,利用编辑距离计算匹配好的属性名下属性值间的相似度,记录相似度值。
    • 综合计算: 将标签计算中得到的相似度与属性计算中得到的相似度线性加权,结果作为两个实体匹配的相似度。

知识图谱众包构建

  1. 原因:目前知识图谱主要是以基于数据驱动的方法来构建的,即机器利用自然语言处理等方法自动从大规模文本中抽取知识,这种方法克服了完全依靠人工专家构建知识库所带来的高昂成本,使知识图谱的规模呈几何级增长。然而,在当前阶段,知识的获取仍然需要人力介入,这主要有以下三个原因:
  • 人机混合智能仍然是当前人工智能发展的主要形态,大部分人工智能过程仍然需要来自专家的经验与知识,大部分机器学习算法仍然显著依赖于人工标注的样本;人机混合智能既是当前人工智能技术发展的局限所致,也是人工智能技术发展的可控性要求的结果。
  • 知识是人类认知世界的结果,知识的对错其责任主体还是人自身:通过自动化方法获取知识产生错误在所难免。由于人工智能、模式识别、自然语言处理等技术的限制,以及网络文档不规范、噪声数据多等条件的制约,知识图谱构建的每一个重要步骤(如实体识别、关系抽取和知识融合等)都不可能用自动化的手段完全、准确地完成,而在这些中间步骤中产生的误差经过累加会导致知识图谱将错误的知识也吸纳进来;由机器自动抽取的任何知识,其最终的验证者还应该是人,而且只有人才能对知识的对错负责,我们没有办法对机器追责。
  • 数据只是人类知识的有限载体,通过数据驱动的自动化获取方法只能获取知识的有限子集,人类对知识的补充不可或缺;人类的知识是十分庞大的,我们口口相传、通过书籍记载或数字化记录的知识只是人类知识总体中相当有限的子集。
  1. 众包可以介入知识图谱的三个阶段
  • 元知识创建阶段
    主要实现元知识的搭建(基本的认知框架)
    基本的知识体系涉及深层次语义理解,难以从大数据中自动规划得到,各类知识获取模型所用到的特征和规则也需要由人制定,这部分工作主要由专家完成
  • 知识获取阶段
    主要利用众包实现数据标注,再将这些标注数据作为训练数据,进而构建知识获取模型(包括实体识别、关系抽取、知识融合等各种经典模型),通过这些模型从文本或数据中自动抽取知识
  • 知识精化阶段
    在完成自动化知识抽取后,需要通过众包手段来验证知识, 纠错补漏
  1. 知识型众包基本概念
  • 众包(crowdsourcing)是一种新型的外包模式,将一群松散的任务发包(Requester),和任务完成者联系起来,实现任务发包,匹配,完成和付款等一系列工作
  • 与传统外包模式不同的是,众包所联系的群体是一群松散的无组织人群,而传统承接外包任务的对象是一个相对固定的组织。相对于传统外包,众包在经费开销、时间与灵活性等方面表现更佳。
  • 互联网2.0使得人们交互、支付和组织的便捷性大大提高,众包因此也得到了推广,目前已经有不少比较成功的众包平台。比如,滴滴出行和Uber 通过自己的互联网约车平台实现了司乘需求的匹配。其他的一些020平台(如美团外卖、达达物流等)也都采用众包的方式完成了发包方与工人的匹配。可以说,众包已经成为现代服务业的一种重要组织方式
  1. 劳动型众包🆚知识型众包
  • 上面介绍的比较成功的众包平台更偏向于劳动密集型行业,如快递、外卖和出租车等,主要是将散的劳动力组织起来为大众服务。
  • 近年来,涌现出一类新型的众包平台-知识型众包平台(Knowledge-Intensive Crowdsourcing).这类众包平台主要将大众的智慧和时间合理组织,为广大用户提供智力支持。目前典型的知识型众包平台有亚马逊Mechanical Turk、阿里众包、猪八戒等,在其之上产生了各种各样的智力型任务需求,如语料标注、字幕翻译、Logo设计和问卷调查等
  • 亚马逊Mechanical Turk:https://www.mturk.com/
  • 阿里众包:https://zhongbao.aliyun.com/
  • 猪八戒:https://shang.zbj.com/join
  1. 知识型众包特点
  • 任务多样性强:知识型众包涉及的任务丰富多样,在难度、时间开销等各个维度都存在较大区别;
  • 工人多样性强:知识型众包所需要的智力门槛较高,真正适合完成任务的工人不多;
  • 任务质量难以评价:知识型众包任务大多没有客观的评判标准,由于事先没有答案,因此很难评价工人完成得对不对、好不好;
  • 任务完成质量的影响面大:知识型众包任务的完成质量则关系到任务本身能否完成,比如,若数据标注准确度不高,将导致后继的模型训练错误,从而完全推翻众任务存在的必要性。
  1. 知识型众包核心问题
  • 劳动密集型众包的核心问题:如何优化任务与工人的匹配,提升用户体验;
  • 知识型众包的核心问题:需要在此基础上进一步考虑一系列技术问题:

首先,需要考虑如何筛选众包任务。由于知识型众包往往需要完成大规模任务,如对知识图谱的全局清洗和融合等,因此经费开销的总额比较大,需要精挑细选出预计收益最大的众包任务。
其次,需要对参与的工人做适当筛选。由于工人多样性强和任务完成质量的影响面大等特点,参与任务的工人素质的优劣直接决定了任务的完成度。
最后,良好的工作流设计关系到任务完成的质量。如何设计众包任务、如何激励用户以及如何控制任务完成的质量都是知识型众包的关键。

  1. 典型的众包应用和平台
  • reCAPTCHA:https://developers.google.cn/recaptcha/intro由卡耐基梅隆大学开发的一套验证码系统,它在人们输入验证码的同时,借助人类大脑对古旧书籍中难以被OCR 识别的字符进行辨别。每次在reCAPTCHA 系统中会出现两个机器难以自动识别的单词,其中一个系统已经知道答案,而另一个则交由用户识别。该系统已用于识别纽约时报和Google 图书扫描文本中难以识别的单词。
  • ImageNet:一个大型图片标注项目。它借助众包的力量对超过1400万张图片进行了语义标注,它的标注结果已成为许多图像识别应用的训练数据。
  • 维基百科:一个广义上的知识型众包系统(平台) 它是一个向全互联网开放的百科系统,已经可以支持超过285种语言;大众可以在上面对任何词条进行编辑,但编辑内容通过审核后才能正式在网站上发布;维基百科也由于其词条的权威性和内容组织的高度结构化成为自然语言处理和知识工程研究的基础数据来源
  1. 知识型众包研究的问题
  • What(对什么任务进行众包):挑选最重要的任务;挑选机器最不擅长而人最擅长的任务。
  • Whom(将任务交予谁完成):**被动众包:**是指发包方将任务挂在众包平台上,由工人来认领任务并完成,发包方不对工人做过多选择,最多设计一套测试方法来验证工人的资格(,如亚马逊的 Mechanical Turk、阿里众包等);**主动众包:**是由发包方通过一系列算法精心挑选工人实现任务的分配(如项目评审、代码众包等);
  • How(如何完成众包):偏好更小的任务;判断题优于选择题,选择题优于填空题;工人不喜欢有大量交互合作的任务。
    如何设计隐式众包任务:众包任务往往是在无意识间发出和完成的,工人无意识做出的决定往往比有意识地完成任务准确性更高。因此,让工人聚焦于第一任务而无意识地完成第二任务是隐式众包的核心思想;工人即用户,在隐式众包中工人既是服务(第一任务)的受用方,又是众包任务(第二任务)的完成者,因此做界面设计时既要考虑工人完成任务的便利性,又要考虑工人作为用户的体验;第一任务的设计更重要,必须契合工人(用户)的基本需求。如果第一任务无法吸引工人使用,第二任务的完成便无从谈起。
    如何控制质量:众包前的质量控制,主要是在任务发包之前制定好任务设计策略和激励分配策略;众包过程中的质量控制,是指在众包过程中通过设计一些精细的过程提升众包任务完成的质量;众包后的质量控制,是指在获得工人返回的答案后综合推断出真实的结果。

知识图谱质量控制

  1. 知识图谱的质量控制指的是如何通过技术手段来确保知识图谱中知识的质量
  • 在知识图谱的构建层面,高质量的知识图谱是知识图谱构建的最终目标之一;
  • 在知识图谱的应用层面,知识图谱的质量高低很大程度上决定了其在具体应用场景中的效用。
  1. 思路
  • 内检:指的是利用知识图谱的内部知识进行综合推理得到新的缺失知识,也可以发现相互矛盾的错误知识等;
  • 外观:指的是从外部知识源获得信息,然后结合知识图谱内部的知识进行比对,从而补全、修正或者更新知识图谱中的知识;
  1. 质量评估维度:准确性、一致性、完整性、时效性;
  2. 质量评估方法:人工抽样检测法不同的应用场景对知识的准确度要求不同,这决定了人工抽检率也不同。比如,医疗场景对知识的准确度要求较高,应不惜成本采用大量人工对知识图谱进行逐条检测),一致性检测法(通过专家预先制定的一致性检测规则检测知识图谱中的知识冲突,以发现知识质量问题。只能检测所定义类型的质量问题,且检测效果取决于一致性检测规则的优劣以及各知识图谱本身的知识冲突情况),基于外部知识的对比评估法(与目标知识图谱有较高重合度的高质量外部知识源作为基准数据,利用人工校对过的高质量基准知识对自动构建的含同类知识的知识图谱进行高效、准确的质量检测,然而,由于外部知识源的知识表达方式与目标知识图谱中的知识表达方式未必一致,因此该方法需要准确关联两方的知识才能进行对比评估)

实践案例

  1. 前期的“百科在线工程” 和“中国大百科知识社区建设项目” 已经对《中国大百科全书》(第一版和第二版)进行了知识标引和知识服务的研发。https://h.bkzx.cn/
  2. 问题:前期“百科在线工程”在细粒度知识自动抽取和百科知识服务两方面还有很多问题没有解决。
  3. 结构化百科知识的自动抽取:知识框架,实体分类,实体属性抽取,实体消歧和链接;
  4. 可视化平台:知识存储,知识显示,知识检索
  5. 项目总体框架在这里插入图片描述(1)百科知识框架构建,构建方法:
  • 专家编辑 – 初始框架 – 数据标注 – 模型训练 – 结果反馈 – 专家编辑 – 最终框架 – 模型优化

  • 构建了7大类实体的知识框架:人物、地理、作品、机构、事件、概念、理论;每个实体大类有多个子类;每个子类有自己的属性框架

  • 框架统计:22个小类,538个属性
    (2)实体分类

  • 任务目标:输入一个百科词条的文本描述,自动判定百科实体的类别

  • 在这里插入图片描述

  • 任务难点:文本的语义表示;
    (3)属性抽取

  • 任务目标:输入一个百科词条的文本描述和对应的实体类别,自动抽取实体属性;

  • 在这里插入图片描述

  • 任务难点:1.缺少标注数据 2.零指代现象

  • 属性抽取框架:迭代优化+主动学习+启发式规则

  • 在这里插入图片描述
    (4)实体消歧

  • 任务目标:输入多个实体(知识图谱中的节点),判断出同义实体,并构建同义实体描述集合

  • 在这里插入图片描述

在这里插入图片描述
(5)可视化平台

实践经验

  1. 合理定位:以当前的技术水平,让机器代替专家助理工作是一个合适的目标,而代替领域专家工作仍然十分困难。专家的很多知识是隐性的、难以言明的、难以外化的。专家所积累的不单单是简单的关联事实,更涉及思维方式、场景适配、异常处理等知识,还会涉及大量的元知识(Meta-knowledge,也就是有关知识的知识),以及大量难以有效表达的知识。这些都是当前机器难以达到的。
  2. 应用牵引:基于知识图谱的认知智能还没发展到普适、通用智能的阶段,不同应用、不同场景所需要的知识表示不同、知识获取手段不同、数据资源不同,这些都决定了知识图谱技术平台化发展异常艰难。
  3. 循序渐进:知识图谱技术体系复杂多样,包括知识表示、知识抽取、知识融合、知识推理、知识存储和知识检索等。每类关键技术的成熟度不同,有的已进入实用化阶段,有的仍处于学术研究阶段,知识图谱的大部分技术仍然只能在特定测试集上取得一定的效果,还难以在广泛而多样的数据上取得稳定效果,具有较高产业成熟度的技术还不多。
  4. 先易后难:先从结构化程度高的数据中抽取出易于获得的语言知识(如叙词表、上下位概念),再从半结构化数据中抽取出世界知识(如<刘德华,职业,演员>),进而总结出业务知识(比如,若体温达到39°C,则可能感冒了),最后处理决策知识。
  5. 由粗到细:粒度越细表达越精准,但是知识获取的难度也越大,知识的不确定性也越大。
  6. 人机协同:首先,机器需要人类(特别是领域专家)赋予其认知世界、认知特定领域的基本概念框架,比如,对领域本体或者领域模式的定义,其次,机器需要人类标注样本、反馈结果。
  7. 可行性分析是否是封闭应用(行业应用中的知识需求难以封闭于领域知识的边界范围内。而传统知识工程成功应用的场景),是否涉及元知识( Meta-knowledge,元知识是指有关知识的知识),是否涉及常识(常识难以建模,常识难以获取,常识的理解机制尚不明确)。

参考: 国科大-知识图谱课件

  • 7
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值