# DuEL-transformers **Repository Path**: leaning-limitless/DuEL-transformers ## Basic Information - **Project Name**: DuEL-transformers - **Description**: 基于transformers和pytorch 实现DuEL-baseline模型 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-08-25 - **Last Updated**: 2021-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CCKS2020 EL Baseline System ## 摘要 为CCKS 2020开发的实体链指基线系统,在CCKS 2019面向中文短文本的实体链指任务的基础上进行了拓展与改进。有关数据集和任务的详细信息,请访问我们[比赛](https://biendata.com/competition/ccks_2020_el/)的官方网站。 ## 思路 DuEL模型是一个多任务模型,包含两个任务:候选实体排名和提及类型的预测。 候选实体排序任务使用pairwise模型。在训练阶段,将query和候选实体描述分别输入Ernie网络以query表示和候选实体表示。 之后,合并query表示和候选实体表示并经过MLP网络进行打分。这里使用的损失函数是rank_loss。 Mention 类型预测任务使用分类模型。在训练阶段,将query输入到Ernie网络中以获取表示。 之后,query表示向量通过MLP获得mention类型。这里的损失函数是分类损失。 最后,我们将两个损失合并后,进行多任务训练。 在预测阶段,我们使用预测的mention类型来验证候选实体。 注,在训练和预测阶段,我们将NIL视为实体ID,详细信息见代码。 ## 环境 Python3.6 + pytorch>=1.6 (请在脚本中确认您的Python路径)。 需求包在./requirements.txt中列出 代码在单个P40 GPU上进行了测试,CUDA版本=10.0 ## 下载数据 从百度AiStudio官网下载DuEL数据,解压后放在../../datasets/DuEL/data/basic_data/目录,其中包含文件: dev.json kb.json test.json train.json eval.py ## 下载预训练模型 下载[chinese-bert_chinese_wwm_pytorch模型](https://github.com/ymcui/Chinese-BERT-wwm),并将其解压到../../models/ data目录下文件改名(否则transformers无法正确加载模型): bert_config.json 改名为 config.json chinese_wwm_pytorch.bin 改名为 pytorch_model.bin data目录下文件移动至上一级目录 ## 数据格式转换 生成的数据在../../datasets/DuEL/generated/目录中 运行: cd ./data_process/ python duel_process.py ## 训练 + config/duel_config_bert.json中修改模型训练配置do_train,do_eval设为true + duel_utils.read_examples_from_file中修改seg_idx和seg_num调整使用的样本量,全量数据太多,训练时间很长,且内存可能不够 + 运行python dule.py --config config/duel_config_bert.json ## 预测 + config/duel_config_bert.json中do_train,do_eval设为false,do_predict改为true + 运行python dule.py --config config/duel_config_bert.json结果文件test_pred.json保存在./out_put下 ## 附录 数据集包含24种实体类型,详情见下表 |Type| 中文名 | |:---|:---| |Event| 事件活动| |Person| 人物| |Work| 作品| |Location| 区域场所| |Time&Calendar| 时间历法| |Brand| 品牌| |Natural&Geography| 自然地理| |Game| 游戏| |Biological| 生物| |Medicine| 药物| |Food| 食物| |Software| 软件| |Vehicle| 车辆| |Website| 网站平台| |Disease&Symptom| 疾病症状| |Organization| 组织机构| |Awards|奖项| |Education| 教育| |Culture| 文化| |Constellation| 星座| |Law&Regulation| 法律法规| |VirtualThings| 虚拟事物| |Diagnosis&Treatment| 诊断治疗方法| |Other| 其他|