2022全球人工智能技术创新大赛—算法挑战赛-商品标题实体识别
复赛成绩81.1(没有太多精力投入,只能这样了)
默认是python3.7
仅仅使用了官方的竞赛数据集,按照9:1划分train:dev,存放于data/public_data 目录下, 其中train.json和dev.json文件只是方便读取文件转换了格式而已
使用了macbert训练模型,可以通过https://huggingface.co/hfl/chinese-macbert-base链接获得, 对code/run_pretrain.py中的BERT网络进行初始化
使用了 EfficientGlobalPointer 进行实体标注, 参考https://kexue.fm/archives/8373
使用BERT对文本进行编码, 使用EfficientGlobalPointer进行解码
使用了 multilabel_categorical_crossentropy 参考https://kexue.fm/archives/7359
使用了10折交叉验证,采用投票的方式生成了为标签,其中无标注数据随机抽取了4W条,testa 抽取了7000条, testb抽取了5000条
对train.sh每一步进行描述,或者在train.sh中对每一步添加注释 python code/run_pretrain.py 采用无标签数据+训练集+testa 基于macbert继续训练了100 epoch python code/jd_ner_cv.py 基于上一步训练的模型进行10折交叉验证生成无标注数据上的伪标签 python code/postprocess.py 利用投票的方式进行融合 python code/jd_ner_cv_testa.py 生成testa数据上的伪标签 python code/postprocess_testa.py python code/jd_ner_cv_testb.py 生成testb数据上的伪标签 python code/postprocess_testb.py python code/jd_ner.py 使用三个为标签数据加上训练集数据进行模型训练,并生成最终的结果
对test.sh每一步进行描述,或者在test.sh中对每一步添加注释 python code/jd_ner.py 加载最好的模型训练,并生成最终的结果
按照9:1划分train(3.6W):dev(0.4W),存放于data/public_data 目录下