赞
踩
数据代码见:https://gitee.com/lj857335332/bert_finetune_re
关系分类任务在信息抽取中处于核心地位。关系分类任务就是从非结构化文本中抽取出结构化知识;具体为:区分出头实体与尾实体之间的语义关系,比如:
通过模型将头实体与尾实体的语义关系分类分出来。那么BERT模型如何应用在关系分类任务当中呢?关系分类模型的架构有多种选择:
Train | Dev | Test | Slot Labels | |
---|---|---|---|---|
SemEval10 | 6507 | 1493 | 2717 | 19 |
我们这一节使用semeval10
数据,数据集由训练集、验证集、测试集组成
semeval.txt
文件是semeval10
数据,是一个在学术论文中广泛使用的数据集。这个数据集每一行是一个JSON
文件,形式如下:
{
"token": ["the", "original", "play", "was", "filled", "with", "very", "topical", "humor", ",", "so", "the", "director",
"felt", "free", "to", "add", "current", "topical", "humor", "to", "the", "script", "."], "h": {
"name": "play",
"pos": [2, 3]}, "t": {
"name": "humor", "pos": [8, 9]}, "relation": "Component-Whole(e2,e1)"}
semeval_rel2id.json
文件是给定的关系分类标签映射,一共19个关系分类标签
data_loader.py
文件:这个文件的功能是将文本文件转化成InputExample类数据,并将输入样本转化为bert能够读取的InputFeatures类数据,最后保存至cache文件中,方便下次快速加载。utils.py
文件:封装了很多实用程序,方便统一调用trainer.py
文件:定义了任务的训练与评估以及保存模型与加载模型main.py
文件:用于模型的训练与评估predict.py
文件:用于模型的预测modeling_bert.py
文件:自定义关系分类BERT模型F L ( p t ) = − α t ( 1 − p t ) γ l o g ( p t ) FL(p_t)=-\alpha_t(1-p_t)^{\gamma}log(p_t) FL(pt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。