Skip to content

作者参加了由北京大学詹卫东教授课题组组织的SpaCE2022空间语义角色识别的标注任务。此后,作者完成了该任务3个task的transformers模型搭建和训练工作。

Notifications You must be signed in to change notification settings

hezonglianheng/System4SpaCE2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System4SpaCE2022

作者参加了由北京大学詹卫东教授课题组组织的SpaCE2022空间语义角色识别的标注任务。此后,作者完成了该任务3个task的transformers模型搭建和训练工作。

任务官网:https://2030nlp.github.io/SpaCE2022/

运行环境:
CUDA v11.2
Linux Ubuntu 20.04.4
Pytorch v1.10

项目结构:(省略部分结构相仿)

  • chinese_wwm_ext_pytorch(来自哈工大科大讯飞实验室的用于BERT的预训练模型)
  • data(源数据及分割数据)
    • task1
      • task1_train.json(原始训练集)
      • task1_dev_input.json(验证集)
    • task2
    • task2_1
    • task3_1
    • test_set
      • task1_test_input.json(task1测试集)
      • task2_test_input.json(task2测试集)
      • task3_test_input.json(task3测试集)
  • get_answer(将结果.json文件转换为.jsonl文件以提交)
  • task1
    • experiment(保存日志文件、训练好的模型及结果)
    • config.py(保存文件文件夹路径)
    • dataloader_build.py(实现Dataset类的子类)
    • metrics.py(评估相关函数)
    • run.py(程序运行入口)
    • test.py(测试部分代码)
    • train.py(训练部分代码)
    • utils.py(创建Logger,分割训练集)
  • task2
  • task2_1
  • task3_1

本项目基于Hugging Face提供的BERT实现。
其中,task1是简单的SequenceClassification任务模型;
task2将三个错误类型合并为一个TokenClassification任务,进行联合训练, 效果差,遂放弃;
task2_1将数据集根据错误种类A、B、C分为3个部分,将识别每个错误类型视为一个TokenClassification任务,之后将测试集分别通过3个TokenClassification模型得到答案;
task3_1分为3个step训练:
step1:空间实体(S信息)标注的TokenClassification任务;
step2:对每个空间实体(S信息),标注其空间语义信息(TEP信息)的TokenClassification任务;
step3:对每组空间语义信息,判断真值的SequenceClassification任务

训练成绩:
task1:
score: 0.6678299492385786
task2:
score1: 0.008559201141226819
score2: 0.7412048324911064
score3: 0.6396795643493179
task3:
score: 0.4541270427631183

一些个人总结:

  • 本系统的问题:
    • 本系统提出的方法没有经过充分的验证和试错(尤其是task3)
    • task1的得分过低,应当优化。是否要考虑从Pytorch搭建模型而非使用现有模型?
    • task2会出现某实体同时作为S1和S2的情况。可能在标注设计时应增加标注。
    • task3的错误传递问题无法解决。
  • 对本次任务的看法:
    • 本次任务task3的标注太多,而且很多时候互相重叠,不利于ML系统搭建、训练、测试、评估(还是比较for linguistic);
    • 同样的,task2也存在标注互相重叠的情形;
    • 数据量过少,训练效果很可能不理想。是否要考虑小样本学习?

About

作者参加了由北京大学詹卫东教授课题组组织的SpaCE2022空间语义角色识别的标注任务。此后,作者完成了该任务3个task的transformers模型搭建和训练工作。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages