nlp-keypoints
  • 前言
  • 中文NER掠影
    • overview
    • LatticeLSTM
    • WC-LSTM
    • SoftLexicon
    • FLAT
    • LEBERT
    • 中文NER总结
  • Embedding知识板块
    • Word2Vec
    • Transformer
    • Bert
    • XLNet
    • Albert
    • Roberta
  • ML/DL基础板块
    • 特征工程
    • 初始化
    • 激活函数
    • 正则化
    • Dropout
    • 损失函数
    • 优化方法
    • Attention
    • CNN
    • LSTM
    • CRF
    • Jieba分词原理
    • 其他统计学习
  • 知识图谱板块
    • Brat标注
    • NER
    • NRE
    • 远程监督
    • 事件图谱/事理图谱
  • 文本分类知识板块
    • FastText
    • TextCNN
    • DPCNN
  • 相似匹配板块
    • Ranking Loss
    • 匹配模型
  • 树模型知识板块
    • 决策树考点
    • Bagging vs Boosting
    • GBDT考点
    • Xgboost
  • 面试复盘整理
    • MM科技
    • V哥面的知识图谱
    • HS
    • HSJY
    • HM医疗
    • 平安科技
    • M科技
由 GitBook 提供支持
在本页
  • 1: 融合词汇信息
  • 2: 特点总结

这有帮助吗?

  1. 中文NER掠影

SoftLexicon

上一页WC-LSTM下一页FLAT

最后更新于2年前

这有帮助吗?

paper :

source: ACL 2020

code:

提出了一个简单而有效的方法将词汇信息纳入字符表示。这种方法避免了设计复杂的序列建模结构,并且对于任何NER模型,它只需要细微地调整字符表示层来引入词典信息。

所提出的方法可转移到不同的序列标记架构,并可以很容易地与预训练模型结合,如BERT。

模型结构如下:

1: 融合词汇信息

纯粹基于字符的NER模型的问题是它不能利用单词信息。为了解决这个问题,本文提出了SoftLexicon方法

它不只保留每个字符在进行分词后的一个分词结果,而是使用词典获得的所有可能的分词结果。

为了保留分词信息,匹配到的词中的每个字符都被分类到 {B,M,E,S}中。对于每个字符cic_ici​,这四个集合被认为为:

  • B:当前字为词的词首;

  • M:当前字在词的中间;

  • E:当前字为词的词尾;

  • S:当前自独立可以成词的词:

PS:这种挂词方式就很好的解决了WC-LSTM的挂词中的信息确实缺陷,对于"人和药店",会被挂到每个字的不同set中

在获得每个字符的{B,M,E,S}词集之后,每个词集被压缩成一个固定维度的向量。同时本文探索了实现这种压缩的两种实现方法。

  • 直观的方式是进行平均

    vs(S)=1∣S∣∑w∈Sew(w)v^s(S)=\frac{1}{|S|}\sum_{w\in{S}}e^w(w)vs(S)=∣S∣1​w∈S∑​ew(w)

    其中$S$提供关于词汇的集合,ewe^wew贡献了单词的embedding

    然而这种方法表现并不佳,同时为了保持计算效率,本文没有选择像注意力这样的动态加权算法。

    相反,本文建议使用每个单词的频率来表示它的权重。(由于一个单词的出现频率是一个可以离线获取的静态值,这样可以大大加快每个单词权重的计算)

  • 全局平均

    让z(w)z(w)z(w)表示词典中词www在统计数据中出现的频率,词SSS的加权表示如下:

    vs(S)=4Zz(w)ew(w)v^s(S)=\frac{4}{Z}z(w)e^w(w)vs(S)=Z4​z(w)ew(w)

    其中,

    Z=∑w∈B∪M∪E∪Sz(w)Z=\sum_{w\in B \cup M \cup E \cup S}z(w)Z=w∈B∪M∪E∪S∑​z(w)

    同时如果www被另一个与词典匹配的子序列覆盖,则w的频率不会增加。(这防止了较短单词的频率总是小于覆盖它的较长单词的频率的问题)

用s=c1,c2,...,cns={c_1, c_2, ..., c_n}s=c1​,c2​,...,cn​表示中文句子,其中cic_ici​表示第iii个字。

最后一步,是将四个集合的embedding组合成一个固定维的特征,并将其添加到每个字符表示中:

es(B,M,E,S)=[vs(B);vs(M);vs(E);vs(S)]e^s(B,M,E,S)=[v^s(B);v^s(M);v^s(E);v^s(S)]es(B,M,E,S)=[vs(B);vs(M);vs(E);vs(S)]
xc←[xc;es(B,M,E,S)]x^c \leftarrow [x^c;e^s(B,M,E,S)]xc←[xc;es(B,M,E,S)]

vsv^svs为上述表示的加权函数。

2: 特点总结

  • 优点

法没有造成信息损失,同时又可以引入word embedding;

模型无关,可以适配于其他序列标注框架。

Simplify the Usage of Lexicon in Chinese NER
SoftLexicon