本文做者:腾讯云高级研究员 孟辉。毕业于中国科学院大学控制科学与工程系,具备丰富的机器学习与数据挖掘经验。加入腾讯云AI语义产品组后,主要负责知识图谱相关产品的研发与应用。算法
知识图谱最先由谷歌公司在2012年提出,其使用语义检索的方法从多种语言的数据源(例如FreeBase、维基百科等)收集信息并加工,以提升搜索质量、改善搜索体验。实际上,2006年Tim Berner-Lee就提出了Linked Data也就是一种在万维网数据上建立语义关联的方法。再往前追溯,语义链网络(Semantic Link Network)已经有了比较系统的研究,旨在创立一个自组织的语义互联方法来表达知识来支持智能应用,系统性的理论和方法能够参考H. Zhuge在2004年发表的《The Knowledge Grid》一文。数据库
你们可能会关注,快速构建知识图谱须要哪些技术栈呢?数据采集、数据清洗、知识抽取、知识融合、图存储是构建知识图谱最基本的技术栈,笔者这里参考百家之言将构建知识图谱的技术流程总结以下:小程序
咱们再回到最初的原点,窥探知识图谱的本质。知识图谱,其本质是由节点和边组成的语义网络。其中,节点表明了物理世界中的实体或概念,边表明了实体之间的关系。“THINGS NOT STRINGS”,不要无心义的字符串,而是获取字符串背后隐含的对象或事物。举例来说,歌手、演员刘德华就是上文中提到的实体,生日、妻子、身高和电影做品就是实体刘德华的属性;电影做品《无间道》的导演是刘伟强,制片所在的国家和地区是中国香港等等。微信
从宏观的角度来看,知识图谱已经在个性化推荐、地址解析、搜索引擎、智能问答以及教育中普遍落地应用。腾讯云知识图谱团队也尝试在不一样的场景中进行了探索,例如在短视频推荐中用到了基于知识图谱的相关实体推荐、在智能问答中用到了基于知识图谱的知识问答技术。腾讯云知识图谱团队结合业务场景开发了一款小程序,集成了图谱可视化、知识问答等等,感兴趣的读者能够扫描二维码进行体验。网络
根据上文中提到的知识图谱技术架构来看,将非结构化数据转换为便于在图数据库中存储的结构化数据通常须要作知识抽取,而知识抽取又包括实体抽取、关系抽取、属性抽取和概念抽取。通常地,实体抽取、属性抽取和概念抽取能够抽象为序列标注任务,关系抽取则能够抽象为分类任务。腾讯云知识图谱团队结合自身业务场景研发出了一套知识抽取算法框架(Merak,天璇知识抽取算法框架,正如《晋书·天文志》中讲到的北斗七星在太微北,架构
枢为天,璇为地,玑为人,权为时,衡为音,开阳为律,摇光为星。),能够实现一站式知识抽取算法任务。在属性抽取和概念抽取任务中,Merak知识抽取算法框架提供了多种算法模型,例如BERT(Bidirectional Encoder Representations from Transformers)、Bi-LSTM+CRF等等。总的来看,Merak算法框架具备如下技术优点:app
在实验效果方面,Merak在关系抽取(含多示例学习)、关系抽取和属性抽取等多项任务中表现优异,不管是训练时间开销仍是预测精度均达到了业界领先水准。框架
这里提一下,在构建知识图谱的过程当中实际上也是权衡的过程,特别是过于粗放的领域知识图谱可能对业务起不到应用的效果,特别是对于问答、任务型对话等急需细粒度知识的任务;若图谱的构建过于精细,除了构建成本会变得很是昂贵之外,也会由于数据噪声使得一些任务(基于知识图谱的推理)变的困难和难以使用。机器学习
接下来,笔者从0到1向你们介绍若是利用Merak算法框架实现属性抽取任务。分布式
你们知道,BERT在11项权威NLP任务中取得了不俗的效果,这里就以BERT为例展开探讨。初步选定模型后,须要准备训练样本,天璇在算法框架中提供了人物属性抽取样本集,涉及到的属性有出生年月、出生地、毕业院校等,具体地,以下图中上半部分所示。
正如前文所述,天璇知识抽取算法框架提供了多种属性抽取算法模块,例如BERT、Bi-LSTM+CRF等经典算法。在上图中,左边为BERT模型的输入向量生成方法,整个计算流程主要分为两步走,先是进行模型预训练((1)语言模型-上下文中缺失词的预测;(2)句对二元关系预测-是不是下一句),而后在此基础上进行Fine-tune微调;右边为基于Bi-LSTM+CNNs+CRF模型的序列标注方法。
那么基于BERT模型微调的方法和基于Bi-LSTM+CNNs+CRF/Bi-LSTM+CRF模型的序列标注方法有什么区别?笔者这里作了简单的分析,结果以下:
接下来,就是下载项目代码,开始人物属性抽取模型训练,这里须要特别注意的是须要提早下载好已经预训练好的中文预训练模型(这里咱们使用的是基础版本的中文预训练模型),而且将训练样本放置在./../people_attribute_extraction文件夹下,其余相关的准备工做能够参考下图中快速开始部分。
模型训练完成后,笔者这里对不一样方法在人物属性抽取样本上的训练效果作了对比分析,结果以下图所示,实验发现基于BERT+全链接的方法效果最优,F1值约为0.985。
这里插播一条行业快讯,近期英伟达公司利用512块高性能v100 GPU,训练了号称业界最大的基于Transformer的语言模型,并且参数量高达83亿,远远大于谷歌公司对外公布的预训练模型。
至此,人物属性抽取模型训练过程介绍完毕,同理概念抽取、关系抽取和实体抽取能够参考相似的操做流程,感兴趣的读者可自行尝试。
在介绍腾讯云百科知识图谱以前,笔者先对通用知识图谱和领域知识图谱两者之间的区别和联系进行分析,以下图所示:
从上图能够看出两者在真实场景中的知识表示、知识获取和知识应用等维度都有着较大差别,并且知识图谱的构建须要综合多项因素协同考虑,其中图谱质量、图谱构建成本和图谱更新是最为重要的几个关键因素。另外一方面,图谱质量和图谱构建成本每每相互制约,须要咱们基于特定任务作好平衡。
腾讯云百科知识图谱(腾讯云百科知识图谱是腾讯云知识图谱团队与腾讯AI LAB TopBase团队共同建设的云上产品)属于通用知识图谱的范畴,虽然知识粒度较粗,但知识覆盖度较大,目前覆盖了51个领域(主要以音乐、影视、百科为主),221个类型、4320个属性,超过9700万实体,近10亿三元组,支持全量或增量更新。详细的领域划分以下图所示:
这里笔者对业界对外开放的中文百科类知识图谱实体和三元组规模作了调研分析,结果以下:
名称 |
实体数 |
三元组 |
---|---|---|
CN-DBpedia |
1689万+ |
2.2亿+ |
zhishi.me |
1728万+ |
1.2亿+ |
腾讯云百科知识图谱 |
9700万+ |
10亿+ |
腾讯云百科知识图谱构建数据来源主要有腾讯文娱、中文百科、互动百科、中文新闻、豆瓣等,所以腾讯云百科知识图谱在科技、音乐、体育及影视领域不管是实体仍是三元组数量都更为丰富,那么对应的构建详细流程以下所示:
目前,腾讯云百科知识图谱相关接口处于免费内侧阶段,感兴趣的读者能够按照以下流程申请接入使用:
这里笔者推荐用户经过腾讯云提供的SDK工具箱调用百科知识图谱API接口,示例以下:
写到这里,已近尾声,笔者经过本文向你们介绍了:
时间仓促,不到之处,敬请见谅。
原文连接:https://cloud.tencent.com/developer/article/1494570