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

基于之前Lattice LSTM的问题进行改进 Lattice LSTM虽然达到了SOTA 但是模型结构非常复杂 限制了在工业上的应用 这篇提出了一个简化且高效的模型 融合了词汇信息到字编码中 避免了复杂的序列建模结构 而且对于任何神经NER模型 只需要对字表示层进行微调来引入词汇信息

本文提出了两个方法 后者为前者的优化

第一个方法 构造exsoftword特征 这种方法能保存所有可能的词典匹配的分词结果

{B, M , E, S, O}对应(begin, middle, end, single, other)

如上图 以c7:西 为例 按BMESO的规则 西只有中山西路(西为M)和 山西(西为E)这两种表示所以构造出的exsoftword特征就是{M, E} 同理 如果是c6:山 那么就表示为{B, M, E}

但是这种方法有两个问题 且没有继承LATTICELSTM的优点:

  1. 不能引入预训练的词向量 因为转化为 BMESO表示
  2. 仍然损失了一些匹配结果的信息 例如上图中 c5 c6 c7 c8构造出来的exsoftword特征就有两种情况 中山 山西 中山西路 和 中山 中山西 山西路 所以会损失信息

然后基于exsoftword 作者就提出了softlexicon方法来合并词典信息 也就是改进版本

改进的方式:每个字符分配BMES 如果一个词是空的就以NONE字符表示

 

如上图 这样对于c6:山 表征方式就变成了

 

这样就可以利用预训练的词向量了 而且这种方法能覆盖到字符的所有词

具体的input生成过程为:把每个字符的四种词集合 压缩到一个固定的维度的向量

为了尽可能保留原始信息 用concat拼接四套词的表征 然后再加到字符表征中去

其中单字符的四个词集合中的每个集合 也需要映射到一个固定维度向量 使用的方法是 mean pooling和加权求和 后者效果更好

加权求和的过程中 权值是由词频决定的 但是当两个词中有字符重叠时 频率不增加(其实感觉这个实现还挺难的) 比如南京和南京市 当计算南京市长江大桥的词频时 南京的词频就不增加 因为南京和南京市重叠 这样就可以避免短字的频率总是大于他的长字的频率的问题

然后看整体模型结构:

 

在softlexicon后 concat 然后接常规的encoding层 这里包括bilstm cnn transformer 这篇论文利用的是单层的bilstm 然后接crf

实验结果:推理速度提升了六倍多

 

效果没有很突出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lyttonkeepgoing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值