推荐阅读列表
一、前言
此paper讲述了词汇增强方式中的Adaptive Embedding的一个实例,Adaptive Embedding方法是通过构建自适应Embedding,在编码的过程中,融入词汇信息。Simple-Lexicon也是对LatticeLSTM的改进,LatticeLSTM每个字符加入词汇的数量不固定,模型复杂,导致很难并行处理,本文提出Simple-Lexicon方法,核心思想是:通过BMES标签来融合词汇信息。对于每一个输入字符,使用字典匹配该字符作为B开始、M中间、E结束、S单个四种位置类型对应的词。例如下图Figure1中的字符“语”,以“语”开头的词汇有“语言”、“语言学”,以“语”结束的词汇有“国语”,“中国语”。
二、模型结构
模型的整体结构如上图Figure1所示:包括Input sequence输入字符级序列,并且转换为稠密向量,SoftLexicon feature是对输入数据进行BMES编码来增加词汇信息,再把BMES的编码和输入字符的编码进行concatenation输入到最终的sequence encoding layer层中,该层可以使用任意序列编码器,比如BiLSTM、CNN或者Transformer,最后通过CRF进行解码,具体数学形式下面介绍:
2.1、Character Representation Layer
该层的作用就是对输入序列的表示,比如基于字符级别
或者使用Char + bichar方式,这时bichar也需要加入到vocabulary中
2.2、Incorporating Lexicon Information
该步骤是论文的核心,就是融入词汇信息。在介绍本文提出的SoftLexicon方法之前,我们先来介绍一下ExSoftword作为一个过渡。
2.2.1、ExSoftword Feature
Softword公式
ExSoftword公式
ExSoftword是对Softword的一个扩展,Softword是对每个字符Cj真实标签(标签范围是BMES)的embedding进行one-hot建模,而ExSoftword是对每个字符Cj在预料中所有可能出现的标签(标签范围是BMES)进行multi-hot建模,从上述公式对比中也可以发现ExSoftword多了一个s,下面举个具体例子说明一下:
如图Figure2所示,字符“西”出现在词“中山西路”的中间和“山西”的结尾,因此“西”的标签是{M,E},字符“西”词向量的数学形式如下图所示:
2.2.2、ExSoftword Feature缺点
1)由于是multi-hot形式,不能充分利用预训练word embedding
2)匹配词的结果会丢失信息,比如图Figure2中的字符{c5, c6, c7, c8} 的ExSoftword特征为{{B},{B,M,E},{M,E},{E}},对应匹配词可能是{w5,6(“中山”), w5,7 (“中山西”), w6,8 (“山西路”)},也可能是{w5,6 (“中山”), w6,7 (“山西”), w5,8 (“中山西路”)},会出现歧义。
2.2.3、 SoftLexicon
SoftLexicon是借鉴Exsoftword的,是本文的核心创新点。可分为三个步骤来实现:Categorizing the matched words、Condensing the word sets和Combining with character representation,下面分别详细解释一下具体的实现过程。
1)Categorizing the matched words
对于每个字符Cj都使用BMES来表示包括该字符的词,如果没有,就使用None来填充,如图Figure3所示,比如“路”,只有以“路”为结尾的词“中山西路”和以“路”单字词出现。
2)Condensing the word sets
对每个字符所包含的词进行稠密向量表示,最直接的想法就是把所有词的词向量求平均,如下公式:
但是这样实验证明效果不太好,那么最直接的改进方法就是对这些词进行加权求和,没错,不能不提的就是Transformer的self-attention机制来实现,但是作者为了保证模型的训练和推断速度,采用了语料中的词频来作为词的权重,这样可以离线计算词权重,最终的计算公式如下:
z ( w ) 表 示词频权重,Z是归一化因子。
3)Combining with character representation
把上述四个词集合表示为固定维度的特征,然后与字符向量进行拼接起来,如下公式:
2.2.4、其他
序列建模和最后的解码就是常见的任意模型,序列建模可以使用LSTM、CNN或者Transformer,解码一般使用CRF。
三、实验效果
3.1、推断速度
3.2、模型性能
结论:从上述实验来看,使用BERT的效果是最好的。