Datawhale知识图谱实践项目【Task 01】
感谢Datawhale无私知识分享!
Task01 包含以下内容:
知识图谱概念与涉及技术 【主】
基本增删改查操作【次】
数据导入方法【次】
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个工具:
- neo4j-import (导入快但要求空库)
- batch-import (可以增量导入,但是导入过程不判定重复数据)
- 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