5 Star 13 Fork 7

liuyaox / roadmap_nlp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
18-Named_Entity_Recognition.md 9.99 KB
一键复制 编辑 原始数据 按行查看 历史
liuyaox 提交于 2020-09-13 16:43 . update

18. Named Entity Recognition (NER)

YAO's: https://github.com/liuyaox/named_entity_recognition (Keras)

18.1 Overview

Paper

Article

Practice

Competition

2019 “达观杯”文本智能信息抽取挑战赛

信息抽取:抽取出特定的事件或事实信息,帮助我们将海量内容自动分类、提取和重构

  • 冠亚季军分享:预训练模型彻底改变了NLP,但也不能忽略传统方法带来的提升 - 2019

    冠军:GloVe + Pretrained(Flair/ELMo/BERT/XLNet) + LSTM + CNN + CRF
    亚军:Bert + BiLSTM + CRF
    季军:Transformer + BiLSTM + CRF

  • 【Great】https://github.com/cdjasonj/datagrand (Keras & Tensorflow)

    Rank 6

    输入:Embedding有2*3+1=7种:(char, bichar) * (Word2Vec, GloVe, FastText) + <char, ELMo>,每种有4种维度dim=(150, 200, 250, 300)

    中间:

    • 模型1:BiLSTMs + SelfAttention
    • 模型2:BiLSTM + CNNs(kernel: 3, 5, 7) + SelfAttention
    • 模型3:(BiGRU + LocalAttention)s
    • 模型4:BiONLSTMs + SelfAttention (未使用)

    输出:TimeDistributed(Dense) + CRF

    YAO: Detailed Notes

    • 特点1:数据不Padding!也没有使用Masking! 按Batch训练模型,每一Batch内输入具有相同的Seq_length;应用时同样,相同Seq_length的输入一并应用。

    • 特点2:使用ELMo,且融合了Word2Vec, GloVe, FastText三种静态Embedding的特点。

    HERE HERE HERE HERE HERE

  • https://github.com/lonePatient/daguan_2019_rank9 (Pytorch)

    Rank 9

    模型1:BERT + LSTM + CRF
    模型2:BERT + LSTM + MDP + CRF
    模型3:BERT + LSTM + SPAN

  • 【Great】https://github.com/renjunxiang/daguan_2019 (PyTorch)

    自行训练BERT,而非直接使用训练好的BERT,过程详细值得学习

Data

18.2 HMM & CRF

18.3 RNN + CRF

主要以 BiLSTM + CRF 为主

关于CRF和Loss推导和实现细节,以及解码细节,请参考:04_Probabilistic_Graphical_Model

Paper

Practice

Keras
  • https://github.com/stephen-v/zh-NER-keras (Keras)

    Chinese基于keras的BiLstm与CRF实现命名实体标注 - 2018

    YAO: OK

    • 基本信息:中文实体 基于字,采用BIO标注集,实体有Person/Location/Organization,则tags共有3*2+1=7个,模型结构: Embedding -> BiLSTM -> CRF

    • 数据处理:对于X,as normal,向量化编码,补零截断;对于Y,向量化编码(不同tag转化为0-6),随后也要补零截断!注意,Padding的mask_value,X与Y要相同(待研究?)

    • Library版本:当(tensorflow=1.10.0, keras=2.2.0, keras-contrib=0.0.2)时CRF没问题

  • https://github.com/UmasouTTT/keras_bert_ner (Keras)

    中文实体,模型结构:BERT + BiLSTM + CRF,数据和其他信息同上(zh-NER-keras)

    YAO: OK Detailed Notes

    使用keras-bert,基于chinese_L-12_H-768_A-12加载BERT模型,直接融入模型并且参与训练(Finetuning)

  • 【Great】https://github.com/AidenHuen/BERT-BiLSTM-CRF (Keras)

    BERT-BiLSTM-CRF的Keras版实现 预训练模型为chinese_L-12_H-768_A-12.zip,使用BERT客户端和服务器bert-serving-server和bert-serving-client

    YAO: HERE HERE HERE HERE HERE

PyTorch
Tensorflow

Article

18.4 CNN

18.5 Others

Article

Python
1
https://gitee.com/liuyaox/roadmap_nlp.git
git@gitee.com:liuyaox/roadmap_nlp.git
liuyaox
roadmap_nlp
roadmap_nlp
master

搜索帮助