本文主要是介绍论文笔记 | Simplify the Usage of Lexicon in Chinese NER,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
作者:刘锁阵
单位:燕山大学
论文地址:https://www.aclweb.org/anthology/2020.acl-main.528.pdf
代码地址:https://github.com/v-mipeng/LexiconAugmentedNER
文章目录
- 背景介绍
- Softword特征
- Lattice-LSTM
- 模型设计
- 字符表示层
- 合并词典信息
- ExSoftword特征
- SoftLexicon
- 对匹配到的单词分类
- 压缩词典
- 与字符表示相结合
- 序列模型层
- 标签推断层
- 实验结果
- 总结
背景介绍
Lattice-LSTM 1在多个中文NER数据集上取得了新的基准测试结果。然而,Lattice-LSTM的模型比较复杂,限制了其在工业界的应用(需要实现实时NER响应)。
在本篇工作中,作者提出了一个简单但是有效的方法来将单词词典信息合并到字符表示中。对四个中文NER数据集的基准测试表明,该方法的推理速度比SOTA方法快6.15倍,而且性能更高。实验结果还表明,该方法可能很容易地与预训练模型BERT相结合。
简单介绍两个相关的工作
Softword特征
Softword技术最初被用于合并分词信息到下游任务中2。它通过嵌入对应的分词标签来增强字符表示:
x j c ← [ x j c ; e s e g ( s e g ( c j ) ) ] (1) x_j^c \leftarrow [x_j^c; e^{seg}(seg(c_j))] \tag{1} xjc←[xjc;eseg(seg(cj))](1)
s e g ( c j ) ∈ y s e g seg(c_j) \in \mathcal{y}_{seg} seg(cj)∈yseg表示由词分割器预测的字符 c j c_j cj的分词标签.
e s e g e^{seg} eseg表示将分词标签嵌入到查找表中,通常 y s e g = { B , M , E , S } y_{seg} = \{B, M, E, S\} yseg={B,M,E,S}.(Begin, Middle, End, Single)
Lattice-LSTM
Lattice-LSTM将词库信息整合到基于字符的神经NER模型中。相关内容此处不再过多赘述了,网上已有很多分析文章。
模型设计
作者提出了一个方法 S o f t L e x i c o n SoftLexicon SoftLexicon:通过简单地调整NER模型的字符表示层来引入词典信息。整个架构如图一所示:
- 首先,将输入序列中的每个字符映射到一个dense vector中。
- 接下来,构造 S o f t L e x c i o n SoftLexcion SoftLexcion特征,并且添加每个字符的表示。
- 然后,将添加的字符表示放入序列模型层和CRF层,并获得最终的预测结果。
字符表示层
对于基于字符的中文NER模型,输入句子被视为一个字符序列 s = c 1 , c 2 , … , c n ∈ v c s = {c_1, c_2, \dots, c_n} \in \mathcal{v}_c s=c1,c2,…,cn∈vc, 这里 v c \mathcal{v}_c vc是字符字典。每个字符 c i c_i ci都使用一个dense vector(embedding)表示:
x i c = e c ( c i ) (4) x_i^c = e^c (c_i) \tag{4} xic=ec(ci)(4)
e c e^c ec表示字符嵌入查找表。
合并词典信息
单纯地基于字符的NER模型的问题在于:它无法利用单词信息。
为了解决这个问题,作者提出了两个方法来将单词信息引入到字符表示层。在下面的介绍中,任何输入序列 s = { c 1 , c 2 , … , c n } s = \{c_1, c_2, \dots, c_n\} s={c1,c2,…,cn}, w i
这篇关于论文笔记 | Simplify the Usage of Lexicon in Chinese NER的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!