其他分享
首页 > 其他分享> > albert+crf中文实体识别

albert+crf中文实体识别

作者:互联网

albert-crf

项目地址:https://github.com/jiangnanboy/albert_crf

概述

利用huggingface/transformers中的albert+crf进行中文实体识别

利用albert加载中文预训练模型,后接一个前馈分类网络,最后接一层crf。利用albert预训练模型进行fine-tune。

整个流程是:

数据说明

BIO形式标注(来自人民日报),见data/

训练数据示例如下:

海 O
钓 O
比 O
赛 O
地 O
点 O
在 O
厦 B-LOC
门 I-LOC
与 O
金 B-LOC
门 I-LOC
之 O
间 O
的 O
海 O
域 O
。 O

训练和预测见(examples/test_ner.py)

ner = NER(args)
if train_bool(args.train):
    ner.train()
else:
    ner.load()
    # ner.test(args.test_path)
    pprint(ner.predict('据新华社报道,安徽省六安市被评上十大易居城市!'))
    #[{'start': 7, 'stop': 10, 'type': 'LOC', 'word': '安徽省'},{'start': 10, 'stop': 13, 'type': 'LOC', 'word': '六安市'},{'start': 1, 'stop': 4, 'type': 'ORG', 'word': '新华社'}]
    
    print(ner.predict('相比之下,青岛海牛队和广州松日队的雨中之战虽然也是0∶0,但乏善可陈。'))
    #[{'start': 5, 'stop': 10, 'word': '青岛海牛队', 'type': 'ORG'}, {'start': 11, 'stop': 16, 'word': '广州松日队', 'type': 'ORG'}]
    

项目结构

参考

标签:LOC,中文,stop,py,albert,crf,ner
来源: https://www.cnblogs.com/little-horse/p/15742825.html