知识图谱作业

Introduction

本文研究重点是通过结合BERT和Spacy模型进行实体链接优化,利用Neo4j和PostgreSQL数据库实现高效的实体识别与链接。研究的核心步骤包括提及检测、候选生成和实体消歧,目标是实现高召回率和高精确率的实体链接系统。

本实验的数据集为北京大学研制的中文RDF语义知识库PKUBase(对应的图数据库有25,574,415实体/数值、408,670关系/属性和66,499,409三元组)和课程KBQA数据集(训练、验证、测试:2,297、765、765,共3827条问答记录)

整体思路:

  1. 将原始数据集预处理,提取出nodes.csv和relationships.csv两个数据集,nodes中分别包含对应的实体id和实体name以及标签label(统一设置为Entity),relationships中分别包含START_ID和END_ID以及关系的TYPE(这里因为neo4j限制了关系类别的数量为68719476735,然后数据集超过了因此添加关系的属性name为关系类别),将两个文件导入neo4j图数据库中,后续通过Cypher语句进行查询实体。
  2. 调用预训练的bert模型进行微调实体识别,KBQA数据集进行处理,标注实体,得到可训练的bert数据集,使用预训练模型进行微调训练,并在验证集和测试集上进行测试得到召回率和精确率。
  3. 调用预训练的spacy模型进行微调实体识别,KBQA数据集进行处理,标注实体,得到可训练的spacy数据集,使用预训练模型进行微调训练,并在验证集和测试集上进行测试得到召回率和精确率。
  4. 使用训练好的bert和spacy模型对KBQA数据集中的question文件进行实体识别,再将识别出的实体集,填入cypher语句中进行查询获得相关的实体集,然后通过相似度进行筛选得到最优的实体集完成实体链接。

代码待公开,以下是使用说明

Usage

Environment Installation

在项目的根目录下打开终端运行:

conda create --name neo4j --file requirements.txt

或者自行创建环境后导入所需的库:

conda install --yes --file requirements.txt
1. Data preprocessing

运行1_Preprocessing_And_Generate _Data.ipynb 文件,进行数据预处理得到导入neo4j的数据文件(nodes.csv和relationships.csv)

运行6_Import_Vectorized_Data_to_PostgreSQL.ipynb文件,将清洗好的数据进行向量化处理导入Postgresql(需要先安装好pgvector插件)

2. Model Training

本实验使用BERT和spacy模型进行微调训练,运行2_BERT_Fine-tuning.ipynb3_spaCy_Fine-tuning.ipynb可以得到微调训练好的模型,代码块中包含转换数据为模型训练的格式以及训练模型输出相关的评价指标(准确率、召回率和F1值)

3. Entity Linking

将数据导入neo4j数据库中后,通过运行4_Entity_Linking_Based_on_Fine-tuned_BERT.ipynb文件,调用训练好的BERT进行实体链接并输出宏指标和微指标;同样的运行5_Entity_Linking_Based_on_Fine-tuned_BERT_and_spaCy.ipynb,调用训练好的BERT和spaCy进行实体链接并输出宏指标和微指标。

将数据导入Postgresql并创建好索引后,运行7_Based_on_PostgreSQL_and_BERT_And_spaCy_model_for_entity_linking.ipynb或者8_Based_on_PostgreSQL_and_BERT_And_spaCy_model_for_entity_linking.ipynb都可以进行实体链接的测试并得出相关的评价指标。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值