中文NER1 之 simplify the usage of Lexicon in Chinese NER

  • ACL-simplify the usage of Lexicon in Chinese NER
    • 中文NER难的问题
    • 通用的NER结构
    • 中文NER的Lattice-LSTM
    • 本论文的方法

ACL-simplify the usage of Lexicon in Chinese NER

近期有个项目跟提取地址实体有关,所以系统性的把ner相关研究重新review了一遍,顺便记录下笔,方便以后查询。
这篇论文下载https://arxiv.org/abs/1908.05969

这篇论文的启发是,利用Lexicon词汇信息去提升NER准确率,Lattice-LSTM(2018)是一个很好的例子。 该模型在中文NER benchmark表现好,但是计算效率比较低。这篇论文,就是受此启发,需要去加速。实现的方法,综述为:合并词汇信息到向量表示中,从而避免引入复杂的序列结构来表征词汇信息。工作聚焦在改变字符表征层,在四个banchmark中文NER上,试验结果都表现很好。

中文NER难的问题

NER是识别person location product orgnization实体词,在英文中这些特殊实体词都是自然的分割,比如大写或者空格。NER的任务是对文本中每个字符进行标注,所以它是一个序列标注问题。

在中文书写的规范中,是没有英文那种先天特殊词分割书写的优势,导致中文NER任务的难度增加。处理这个问题,一种通用的实践方法是先分词,再把词信息引入到序列标注任务。但是分词引入的错误,会影响下游序列标注任务的正确率。
比如:
     南京市/长江大桥。
 分词成:南京/市长/江大桥

这种分词会导致NER,很难把南京市识别为location实体与长江大桥识别为location实体。相反,很可能把南京识别成location,江大桥识别为person。

由于分词准确性不太理想问题,导致很多中文ner在实际使用场景都偏向于使用而非。但是词信息非常重要,2015和2018都有尝试去引入词信息到模型。为方式分词错的问题,最早的做法是把所有的分词情况都加入到模型,让模型去判断选那种分词。这种模型是2015年的基于LSTM-CRF的模型。结果证明Lattice-LSTM表现很好。缺点有:1.慢,2.这种结构很难转移到其他模型比如CNN或者Transformer上去。

这篇文章提出了

  1. 一种加速方法
  2. 一种编码lexicon词汇的方法

通用的NER结构

第一层,输入层(如 char+bichar 2018)
第二层,序列模型层,去获取字符之前的关系(如CNN / LSTM / Trnasformer
第三层,推理层 (如 CRF 2001)

中文NER的Lattice-LSTM

目标:合并字符与词汇作为输入
首先,利用lexicon matching在输入文本上,换句话说就是分词才用匹配的方式。获得了词后,会增加一个从字符ci 到 字符cj的有向边(i < j) 。ci为输入字符串中的字符,允许一个字符连接了多个字符(包含同一个字符的词有多个时)。采用这种方式过后,模型的输入由句子序列就变成了图。去实现这种结构,需要修改LSTM的内部结构,对应为:修改输入、 h state、c memorryCell。在更新阶段,输入包含:当前的字上一层的h state上一层的c对应的词。h和c都是数组。

这种设计中的不足:

  1. 在memory更新阶段需要额外的去增加s、 h、 c
  2. 设计的函数很难并行计算

本论文的方法

重新定义论文的要解决的问题(目标):

  1. 模型能够保留所有字可能的词
  2. 模型能够使用预训练词embedding

Softword technique来构建分词,并且给每个字符有多个标签。
比如
      句子s={c1,c2,c3,c4,c5}, 其中{c1,c2,c3,c4}和{c3,c4}是词。
句子转换成 segs(s) = {{B},{M},{B,M},{E},{O}}   BMESO标签。

这里segs(s)1={B}表示至少一个有一个以c1开头的词
  segs(s)3={B,M}表示至少有一个 以字符c3开头的词 或者 以字符c3出现在词中间的词

ExSoftword,每个字符有一个5维度的类别表示{B,M,E,S,O}。
通过分析,ExSoftword有两个缺点。

  1. 它不能支持预训练的word embeddings。
  2. 尽管它能够包催所有可能的词,但是仍然丢失了一些信息。

句子 s = {c1,c2,c3,c4} 中 {c1,c2,c3} 与 {c2,c3,c4}是词
  sges(s)={ {B}, {B,M}, {M,E}, {E} }
这种形式不能,反推或者还原,或者恢复 S就包含 {c1,c2,c3} 与 {c2,c3,c4}词。因为它同样也可以解释成,包含词{c1,c2,c3,c4} 与词{c2,c3}。这种方式,存在无法恢复原始的分词的问题。

改进版本
论文中提出,要保留每个字符可能的词的类别和字的分词。
改进的方法:每个字符分配四种类别 BMES。如果一个词是空的,则以NONE字符表示。
例子如下:
      s={c1,c2,c3,c4,c5}中词为{c1,c2},{c1,c2,c3},{c2,c3,c4},{c2,c3,c4,c5}
对与c2, 表示成
      B(c2)={{c2,c3,c4},{c2,c3,c4,c5}},
      M(c2)={{c1,c2,c3}},
      E(c2)={{c1,c2}},
      S(c2)={NONE}

从网上找到,一个具体具体示例

这种方式后,就满足论文的两点目标:能使用pre-trained word embedding 和 能覆盖字符的所有词。
具体input输入生成过程:
  把每个字符的四种词集合,压缩进一个固定维度的向量。为了尽可能保留原始信息,这里采用concate拼接四套词的表征,然后把它加到字符表征中去。
  其中,单字符的四个词集合中的每个集合,也需要映射到一个固定维度向量。使用的方法:mean-pooling与加权求和。前者效果差,后者效果好。
  加权的权值是根据词的频率计算,其中一点要求:当两个词中字符有重叠时,频率不增加,比如 南京南京市 。 当计算 南京市长江大桥 的词频率时,南京的词频就不增加,因为 南京南京市 重叠。这样做的好处是,可以避免 南京南京市频率高。

中文NER1 之 simplify the usage of Lexicon in Chinese NER相关推荐

  1. Simplify the Usage of Lexicon in Chinese NER阅读笔记

    基于之前Lattice LSTM的问题进行改进 Lattice LSTM虽然达到了SOTA 但是模型结构非常复杂 限制了在工业上的应用 这篇提出了一个简化且高效的模型 融合了词汇信息到字编码中 避免了 ...

  2. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...

    一.OpenCC介绍 OpenCC (Open Chinese Convert,开放中文转换) 是一个用于中文简繁转换的开源项目,支持词汇级别的转换.异体字转换和地区习惯用词转换(中国大陆.台湾.香港 ...

  3. 中文NER任务实验小结:BERT-MRC的再优化

    ©作者 | 邱震宇 单位 | 华泰证券算法工程师 研究方向 | NLP方向 前言 熟悉我的读者,应该看过我之前写过的一篇关于中文 NER 任务实践的文章(邱震宇:中文 NER 任务实验小结报告--深入 ...

  4. FLAT:中文NER屠榜之作!

    文 | JayLou娄杰 编 | YY 近年来,引入词汇信息逐渐成为提升中文NER指标的重要手段.ACL2020中一篇来自复旦大学邱锡鹏老师团队的 FLAT: Chinese NER Using Fl ...

  5. 复旦大学李孝男博士:结合词典的中文命名实体识别

    ⬆⬆⬆ 点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 近年来,将词典信息加入模型被证明对中文命名实体识别任务很有效.但是结合词典的方法通常会使输入变为一个动态的结构,模型需要在运行时 ...

  6. 「自然语言处理(NLP)论文解读」中文命名实体识别(Lattice-LSTM模型优化)

    来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-27 引言     今天主要和大家分享一篇关于中文命名实体识别的文章,本文分析Lattice-LS ...

  7. NLP技术中的Tokenization

    ©作者 | Gam Waiciu 单位 | QTrade AI研发中心 研究方向 | 自然语言处理 前言 今天我们来聊一聊 NLP 技术中的 Tokenization.之所以想要聊这个话题,是因为,一 ...

  8. 工业界求解NER问题的12条黄金法则

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | JayLou娄杰,夕小瑶 编 |  可盐可甜兔子酱 美 | Sonata 众所周知,命名实体识别(Named Entity Rec ...

  9. 2020 CCF BDCI 非结构化商业文本信息中隐私信息识别TOP5方案

    2020 CCF BDCI 非结构化商业文本信息中隐私信息识别TOP5方案 1 写在前面  在本次CCF BDCI的非结构化商业文本信息中隐私信息识别比赛中,我们团队水煮毛血旺在初赛A榜B榜排名第六, ...

最新文章

  1. wind2008中如何显示隐藏文件/夹
  2. VTK:可视化之FrogBrain
  3. vue路由跳转权限_如何在vue中实现路由跳转判断用户权限功能?
  4. 从bootm 命令讲起/U-boot的环境变量: bootcmd 和bootargs
  5. Linux下判断cpu物理个数、几核
  6. kafka mirror_SSL Kafka经纪人从Kafka Mirror Maker迁移到Brooklin的挑战
  7. 神经网络不收敛的 11 个原因及其解决办法
  8. java steam filter 动态条件_Filter解决全站编码问题
  9. 状态机 复杂逻辑问题_状态管理中的逻辑
  10. 菜鸟教程c语言题目,C 练习实例40
  11. 无锡 计算机学校排名,无锡中职学校有哪些 前20排名
  12. 计算机代数与数论pdf,计算机代数及数论(maple).pdf
  13. VS2010中文版MSDN下载地址
  14. Scroller类及scroll相关方法总结
  15. 从美国创业者的成功看行业趋势
  16. 谷歌浏览器安全证书不受信任_windows7系统下谷歌浏览器提示该网站的安全证书不受信任如何解决...
  17. JavaScript实现的转盘抽奖html页面前端源码
  18. PG14新特性--恢复和VACUUM的加速
  19. 从 OKR 工作法到 OKRs-E,落地OKR不能错过的转变
  20. 国防科大计算机科学与技术专业排名,国防科技大学王牌专业排名

热门文章

  1. 整理一批正在学、正在看、正在用,前端工具
  2. MySQL初始化以及客户端工具的使用
  3. 图的链式存储结构解析(邻接表、逆邻接表、十字链表、邻接多重表)
  4. 国际通用回收标准-GRS、RCS的答疑
  5. SharePoint 2010 微软学习教程
  6. 良心公司!股价跌了,补齐所有持股员工的损失!
  7. 客户案例 | 低代码上的西门子,商务人员也能开发软件应用
  8. 计算机本科毕业论文仓库管理,仓库管理系统的设计与实现计算机本科生毕业论文.doc...
  9. Linkedin怎么导出好友的邮箱、电话、社交账号?
  10. 硬改无人直播系统-使用小技巧