专栏首页深度学习自然语言处理杨杰博士莅临我校,并做了报告:Recent Advances in Sequence Labeling

杨杰博士莅临我校,并做了报告:Recent Advances in Sequence Labeling

之前了解杨杰博士是从导师那里得知的,模模糊糊,当时也只是知道这个名字而已,谁知道几个月后自己竟然还能作为迎宾亲自去迎接。O(∩_∩)O哈哈~ 路上交流了很多,发现大牛都是这么谦虚,平易近人的吗?

好啦 步入正题,以下内容为事实和自己的部分理解。

简历

杨杰博士,刚刚毕业于新加坡科技设计大学,获计算机科学博士学位;2014年取得中国科学院大学硕士学位;2011年获重庆大学电子工程和物理学双学士学位。本科和研究生都几乎没有接触编程,可以说博士是用了四年时间入门到NLP大牛的华丽转身!现在计划去哈佛读博士后。

博士期间曾在牛津大学量化金融研究所(OMI)从事访问研究。主要研究领域为深度学习与自然语言处理,包括中文分词、命名实体识别、金融新闻分析和医疗文本分析等具体方向。是ACL / COLING / AAAI等学术会议程序委员会成员、是中国计算机协会中文信息技术专委会青年工作委员会委员。曾获得COLING最佳论文奖,ACL最佳演示论文提名,被评为ACL 2018 和 COLING 2018杰出审稿人(Outstanding Reviewer)。主导开发了NCRF++ / YEDDA 等多款自然语言处理开源工具,Github收藏量超过1200。

github:https://github.com/jiesutd

报告内容

标题:

Recent Advances in Sequence Labeling

序列标注的最新进展

大致分为4个内容:

  1. Introduction(简单介绍序列标注任务)
  2. Neural Sequence Labeling Models(回顾往年的序列标注模型)
  3. Chinese Sequence Labeling Models(提出自己的模型)
  4. Toolkits for Data Annotation and Neural Models(提出自己的两个工具包)

Introduction

Sequence Labeling序列标注:

比如上述的例子,给一句话中的每个词进行标注,标注内容为X-Y。其中X为B(begin)或者I(insert),B表示开始,I表示跟前面的是一起的,这样表示一个完整的序列,单个词用B,多个词用B I I...。Y可以为ORG(organization),PER(person),当然也可以由LOC(local)等。

序列标注运用十分广泛!比如

  1. Word Segmentation 分词
  1. Part-of-speech(POS)tagging词性标注
  1. Named Entity Recognition (NER)命名实体识别
  1. Chunking, CCG Supertagging, etc

Neural Sequence Labeling Models

基本的序列标注神经网络模型

之后的一些改进

将word(词)和char(字母)同时作为特征输入,中间的网络可以用CNN,LSTM,解码端为Softmax or CRF。

对于这方面的论文,做了一下总结

`

Training Improvement 训练的改进

Joint training with language model 联合训练

Training the sequence labeling with joint training the language model,Marek Rei, ACL 2017. Liyuan Liu, et, al. AAAI 2018

Adversarial training 对抗训练

Joint training models in multi-criteria datasets, using adversarial learning to integrate shared knowledge,Xinchi Chen et,al. ACL 2017.

Pre-training Improvement 预训练改进

Pretrain Word/Char Embeddings 预训练词 / 字 Embedding

Pretrain word/char embeddings using external information,Jie Yang et,al ACL 2017, Hao Zhou et, al EMNLP 2017.

Pretrain LSTM (ELMo) 预训练LSTM

Pretrain bidirectional LSTM representation in a large-scale language model data. Peters, et, al NAACL 2018 (best paper)

歧义

Chinese Sequence Labeling Models

对于中文来说,不像英文一样一个单词就是一个词,比如

基于的NER:

基于的NER:

中文的基于字的效果要比词的效果好,这样不会因为词金标原本的错误导致最终训练效果的不佳,而如果基于字的话,就不会有这样的顾虑。

比如

会有歧义。

这样,引出了自己提出的新的模型 Lattice LSTM :

每一个路径连接一个可能性词的首尾

用之前的传统模型和自己的模型对对比

Character-based model

Word-based model

Lattice model

该模型是在Standard LSTM上改进的,先看看标准的模型们:

RNN

LSTM

Coupled LSTM

而该模型就是在Coupled LSTM上进行了稍微的修改

其中X^w_{b, e}是匹配词(比如这里的市长等)的embeddings

正则化所有的门

对所有路径加权和

Standard LSTM 和 Lattice LSTM 对比

Lattice LSTM是coupled LSTM 的一种扩展,可以用于多路径输入。

Lattice LSTM 的优势

  1. 在句子中有很多信息的路径
  2. 有门控制多个路径的输入
  3. 字词序列之间建立关联
  4. 相似的词可以通过word embedding被利用起来

对于上述第四条,举个例子

比如左边是train语料,右边是test,我们都知道江泽民和胡锦涛是同一类型的词,其他的模型识别不出来右边的,但是Lattice LSTM可以。可以说有一定的泛化能力。

baselines

而Lattice LSTM CRF:

在最终的baseline对比数据中,发现Lattice LSTM模型是遥遥领先的

还做了进一步的一些实验

OneNotes NER 与金标分词做对比

MSRA NER 测试集中没有金标分词

微博或个人简历 NER 没有金标分词且数据小

具体案例分析

Toolkits for Data Annotation and Neural Models

主要是介绍杨杰博士自己的博士期间做的两个重要工具包

1. 标注平台 YEDDA (github 174 stars)

(我们实验室也在做我们自己的标注平台ing)

YEDDA的优点是:

  1. 效率:在shortcut key上 比SOTA快2倍
  2. 智能:系统可以根据历史标注推荐注释
  3. 强大分析能力:从不同的标注pairs上生成一份diff 报告
  1. ACL best demo nomination

github链接:https://github.com/jiesutd/YEDDA

2. NCRF++:神经网络序列标注(github 699 stars)

基本信息:

  1. 神经网络版本的CRF++,支持n-best 输出
  2. 不需要额外的code,只需要用config文件即可。
  3. 支持12个SOTA神经网络模型,支持任何神经网络特征
  4. 并行计算,在CoNLL NER 解码能达到大于2000句每秒

github 地址:https://github.com/jiesutd/NCRFpp

我就是那个。。被镜头封杀的黄衣服。。

首尾照片来自于任子翰!表示感谢!

每日一题

下列哪个神经网络结构会发生权重共享

A、卷积神经网络

B、循环神经网络

C、全连接神经网络

D、选项A和B

答案:D,理由自己查查吧。快去

IELTS a bit

hamper v. 束缚;妨碍

manipulate v. (暗中)控制;操纵

本文分享自微信公众号 - 深度学习自然语言处理(zenRRan),作者:zenRRan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【论文串烧】基于特定实体的文本情感分类总结(PART I)

    这里说的是实体识别,马上想到的就是利用分步走解决:先去对文章进行实体识别,然后对提取出来的实体进行情感分类。但是后来一想这样两步的话会使得最终结果的错误率叠加,...

    zenRRan
  • 【情感分析】基于Aspect的情感分析模型总结(一)

    前面我们有实战过文本分类的一些模型算法,什么?太简单?!Ok,再开一个坑,接下去整一个稍微复杂点的,情感分析。当然一般的情感分析也是一个分类任务,就可以参考之前...

    zenRRan
  • 双向LSTM-CRF模型用于序列标注

    本文是2015年百度的三位作者提出的,主要研究了一系列基于LSTM模型上的序列标注任务的性能。模型包括LSTM,BI-LSTM,LSTM-CRF,BI-LSTM...

    zenRRan
  • LeetCode攀登之旅(7)

    本节主要刷的题是最长公共前缀,同时借助本题,来讲一下python高级用法,zip与map。

    公众号guangcity
  • 35.python execfile/exec函数

    python内置函数execfile 和 内置函数exec功能实际上都一样,不过函数execfile是python2.0版本,函数exec属于python3.0...

    猿说编程[Python和C]
  • LSTM与GRU简单介绍

    和我们人一样,RNN虽然擅长处理序列问题,但它也只能记住重要的短时信息,对于长时间的信息它则很难处理。也就是说,如果一条序列足够长,那它将很难把信息从较早的时间...

    用户7569543
  • python中的input

    比如 :定义变量a = 2 现在可以写成 a = input() 可以自己输入变量a的值

    py3study
  • Python-定时器使用

    通过crontab -e命令,添加定时器任务。定期执行python的脚本。如果-e后面是多条命名,可以用分号”;”进行分割。用分号 (;) 所分割的话,那么命令...

    py3study
  • PHP合并数组的几种方法比较

    在7.0.20版本中,array_merge_recursive合并相同字符串索引的数组时,合并结果中会有相同的数字索引。

    俗可耐
  • Spring Boot 开启AOP的方法

    Spring Boot与普通的Spring JavaConfig项目还有有所区别的,如果出现无效的问题,八成是加了多余的配置导致混乱。 Spring Boot...

    飞奔去旅行

扫码关注云+社区

领取腾讯云代金券