感谢Datawhale无私知识分享!

Task01 包含以下内容:

  1. 知识图谱概念与涉及技术 【主】

  2. 基本增删改查操作【次】

  3. 数据导入方法【次】

1. 知识图谱基本概念

知识图谱可以理解为以图为基本结构的关系型知识库,以三元组(Subject, Predication, Object)作为基本构成元素。

知识图谱的建成涉及以下流程和技术:

1. 数据获取

原有结构化数据(SQL->CQL)+爬取的非结构化数据(爬虫)

2. 实体识别

分词+CRF
业界流行配置有使用BERT+Bi-LSTM+CRF进行NER的模型,该模型在中文语料库获得了较好的成绩[1]:
图片说明

其中BERT模型也可以替换为ERNIE[2]模型,ERNIE是百度发布的基于BERT的优化模型,通过引入多元的先验知识将BERT基于字mask方式优化为基于实体的MASK。

对于输出向量,ERNIE和BERT具有基本相同的使用方式,这篇博客[3]就是使用ERNIE进行NER的。

3. 关系和属性抽取

关系抽取方面安利博客[4]的讲解,概念和分类非常明确,同时还介绍了该子任务下的业内流行解决方案。

4. 实体统一、消歧等。

基于有监督的方法
实体统一:上下文向量相似度
实体消岐:上下文向量相似度、字符串相似度、实体流行度等。百度飞桨的实体链指的公开方案[5]可以供参考。

2. 基本增删改查操作

与SQL相似度挺高,更多的可以看官方文档[6]。

3. 数据导入方法

此处列下批量导入数据至Neo4j的3个工具:

  1. neo4j-import (导入快但要求空库)
  2. batch-import (可以增量导入,但是导入过程不判定重复数据)
  3. batch-inserter(只能JAVA)

Reference

[1] 谢腾, 杨俊安, 刘辉. 基于BERT-BiLSTM-CRF模型的中文实体识别. 计算机系统应用, 2020, 29(7): 48-55.http://www.c-s-a.org.cn/1003-3254/7525.html
[2] https://www.paddlepaddle.org.cn/modelbasedetail/ERNIE
[3] https://blog.csdn.net/Zac_B/article/details/100026366
[4] https://www.cnblogs.com/sandwichnlp/p/12020066.html
[5] https://aistudio.baidu.com/aistudio/projectdetail/1331020?channelType=0&channel=0
[6] https://neo4j.com/docs/getting-started/current/cypher-intro/#cypher-intro