【论文阅读】A lexicon-based graph neural network for Chinese NER[2019EMNLP]


论文地址:https://aclanthology.org/D19-1096.pdf

代码地址:https://github.com/RowitZou/LGN

Abstract

将递归神经网络(RNN)用于中文命名实体识别(NER),实现了对字符和单词信息的顺序跟踪,取得了很大的成功。然而,链结构的特点和缺乏全局语义决定了基于RNN的模型容易产生歧义。在这项工作中,我们试图通过引入具有全局语义的基于词典的图神经网络来缓解这个问题,其中词典知识用于连接字符以捕获局部成分,而全局中继节点可以捕获全局句子语义和长程依赖。基于字符、潜在单词和整个句子语义之间的基于多重图multiple graph-based的交互,可以有效地解决单词歧义。在四个NER数据集上的实验表明,与其他基线模型相比,该模型取得了显著的改进。

1  Introduction

然而,这些方法通常基于RNN或CRF对句子进行顺序编码,而语言的基本结构不是严格顺序的(Shen et al.,2019)。因此,这些模型会遇到严重的单词歧义问题(Mich等人,2000年)。特别是在中文文本中,具有重叠歧义字符串的命名实体的识别更具挑战性。

如图1所示,重叠歧义字符串的中间字符可以构成左右字符的单词(Yen等人,2012),例如“河流”和“流经”,具有共同特征”流”. 然而,基于RNN的模型以严格的序列顺序处理字符,这类似于阅读中文,并且字符优先分配给左边的单词(Perfetti和Tan,1999)。更严重的是,基于RNN的模型必须为“度” 仅使用以前的部分序列”印度”的标签,在看不到剩余字符的情况下出现问题。因此,Ma等人(2014)提出,重叠歧义必须使用句子上下文和高层信息来解决。

在这项工作中,我们介绍了一种基于词典的图神经网络lexicon-based graph neural network(LGN),它实现了中文NER作为节点分类任务。该模型打破了RNN的串行化处理结构,通过仔细的连接,字符和单词之间的交互效果更好。词汇知识将相关字符连接起来,以捕获本地成分。同时,设计了一个全局中继节点来捕获远程依赖性和高级特性。LGN遵循邻域聚合方案,其中通过递归聚合其传入边缘和全局中继节点来计算节点表示。由于聚合的多次迭代,该模型可以使用全局上下文信息来重复比较歧义词,以实现更好的预测。实验结果表明,该方法可以在四个NER数据集上实现最先进的性能。

本文的主要贡献可以概括如下:1)提出了利用词典构造一个图神经网络,并将中文NER作为一个图节点分类任务来实现;2) 该模型通过递归聚合机制捕获全局上下文信息和局部成分,解决汉语词汇歧义问题;3) 实验结果表明了该方法在不同方面的有效性。

2  Related Work

2.1 Chinese NER with Lexicon.

在这项工作中,我们提出了一种新的基于字符的方法,将命名实体视为节点分类任务。所提出的方法可以利用全局信息(左侧和右侧上下文)(Dong等人,2019年)处理单词歧义。

2.2 Graph Neural Networks on Texts

Given a set of vectors $H \in R^{n×d}$, a query vector $\hat{q} \in R^{1×d}$, and a set of trainable parameters $W$, this mechanism can be formulated as:

Attention $(\mathbf{q}, \mathbf{K}, \mathbf{V})=\operatorname{softmax}\left(\frac{\mathbf{q} \mathbf{K}^{\top}}{\sqrt{d_{k}}}\right) \mathbf{V}$
$\operatorname{head}_{i}=\operatorname{Attention}\left(\hat{\mathbf{q}} \mathbf{W}_{i}^{Q}, \mathbf{H} \mathbf{W}_{i}^{K}, \mathbf{H} \mathbf{W}_{i}^{V}\right)$
$\operatorname{MultiAtt}(\hat{\mathbf{q}}, \mathbf{H})=\left[\operatorname{head}_{1} ; \ldots ; \operatorname{head}_{k}\right] \mathbf{W}^{O}$(1)

然而,很少有研究探讨如何利用汉字之间的关系在原始中文文本中构建图形。前人对汉语词法处理的研究很少提出一种分解的词汇结构(Zhang和Peng,1992;Zhou和Marslen Wilson,1994),在这种结构中,汉语词是根据其组成字符来表示的。受这些理论基础的启发,我们建议使用图形神经网络来构建组成字符和单词之间的关系。

3 Lexicon-Based Graph Neural Network

在这项工作中,我们提出了利用词汇信息来构建图神经网络,并将中文NER作为节点分类任务来实现。该模型通过聚合,实现了字符、单词和句子之间更好的aggregation→ update→ aggregation→ . . . , 一种高效的图形消息传递架构(Gilmer et al.,2017)。

3.1 Graph Construction and Aggregation

我们使用词汇知识来连接字符,以捕获本地成分和潜在的单词边界。此外,我们还提出了一个全局中继节点来捕获远程依赖性和高级特性。节点和边缘聚合模块的实现类似于Transformer中的多头注意机制(Vaswani et al.,2017)。

Graph Construction

整个句子被转换成一个有向图,如图2所示,其中每个节点代表一个字符,单词中第一个字符和最后一个字符之间的连接可以视为一条边。第$i$个节点的状态表示文本序列中第$i$个token的特征。每个边的状态表示对应潜在单词的特征。全局中继节点用作虚拟中心,从所有节点和边缘收集信息,然后利用全局信息帮助节点消除歧义。

形式上,让$s=c_1,c_2,...,c_n$表示一个句子,其中$c_i$表示第$i$个字符。词典中与字符子序列匹配的潜在单词可以表示为$w_{b,e}=c_b,c_{b+1},...,c_e?1,c_e$,其中第一个和最后一个字母的索引分别为$b$和$e$。在这项工作中,我们建议使用有向图$G=(V,E)$来模拟一个句子,其中每个字符都是$c_i\in V$是一个图节点,$E$是一组边。一旦一个字符子序列与一个潜在的单词$w_{b,e}$匹配,我们就构造一个边$e_{b,e}\in E$、 从开始字符$c_b$指向结束字符$c_e$。

为了捕获全局信息,我们添加了一个全局中继节点来连接每个字符节点character node 和单词边缘word edge。对于具有$n$个字符节点和$m$条边的图,有$n+m$个全局连接将每个节点和边链接到共享中继节点。在全局连接中,每两个非相邻节点都是两跳邻居two-hop neighbors,通过两步更新接收非局部non-local信息。

此外,我们考虑构造的图形的转置。它是同一组节点上的另一个有向图,与$G$中相应边的方向相比,所有边都反转。我们将转置图表示为$G^T$。与双向LSTM类似,我们将$G$和$G^T$组成一个双向图,并将$G$和$G^T$的节点状态连接起来作为最终输出。

图片引用:https://en.wikipedia.org/wiki/Transpose_graph#/media/File:Amirali_reverse.jpg

Local Aggregation

给定节点特征$c^t_i$和传入边缘特征$E^t_{c_i}=\{\forall_k e^t_{k,i}\}$,我们使用多头注意聚合$e_{k,i}$和每个节点$c_i$对应的前一个节点$c_k$,直觉是传入边和前置节点可以有效地指示潜在的单词边界信息,如图3(a)所示。从形式上讲,节点聚合函数可以表述如下:

$e \rightarrow c: \hat{\mathbf{c}}_{i}^{t}=$ MultiAtt $\left(\mathbf{c}_{i}^{t},\left\{\forall_{k}\left[\mathbf{c}_{k}^{t} ; \mathbf{e}_{k, i}^{t}\right]\right\}\right)$

其中$t$表示第$t$步的聚合,[·;·]表示串联操作concatenation operation。

 LGN中的聚合。红色表示正在更新的元素,黑色表示聚合中涉及的其他元素。然后在更新模块中使用聚合结果。

对于边聚集edge aggregation,应考虑作用在边缘上的所有力或势能(Battaglia et al.,2018)all the forces or potential energies acting on the edges should be considered。为了利用地形信息thographic information,用于构造边的词典应该考虑所有的字符组合,如图3(b)所示。因此,与使用端点特征聚合边的经典图神经网络不同,我们使用整个匹配字符子序列$C^t_{b,e}={c^t_b,…,c^t_e}$作为边聚合函数,如下所示:

$c \rightarrow e: \quad \hat{\mathbf{e}}_{b, e}^{t}=\operatorname{MultiAtt}\left(\mathbf{e}_{b, e}^{t}, \mathbf{C}_{b, e}^{t}\right)$

给定embedding 的字符序列$C\in R^{n×d}$和潜在的单词embedding $E\in R^{m×d}$,我们首先将$C$输入LSTM网络,以生成上下文表示作为初始节点状态$C^0$(Zhang等人,2018c),并使用单词嵌入作为初始边状态$E^0$

Global Aggregation

语言的基本结构不是严格顺序的(Shen等人,2019)。如图3(c)所示,为了捕获长期依赖性和高级特征,我们使用了一个全局中继节点来聚合每个角色节点和边缘,如下所示:

$\mathbf{g}_{c}^{t}=\operatorname{MultiAtt}\left(\mathbf{g}^{t}, \mathbf{C}_{1, n}^{t}\right)$
$\mathbf{g}_{e}^{t}=\operatorname{MultiAtt}\left(\mathbf{g}^{t},\left\{\forall \mathbf{e}^{t} \in \mathcal{E}\right\}\right)$
$c, e \rightarrow g: \quad \hat{\mathbf{g}}^{t}=\left[\mathbf{g}_{c}^{t} ; \mathbf{g}_{e}^{t}\right]$

在多次交换信息后(§3.2),$\hat{g}_t$聚集节点向量和边向量以汇总全局信息,$\hat{e}^t_{b,e}$,捕获合成字符信息以形成局部合成。因此,提出的模型充分了解局部和非局部成分,有助于字符节点区分歧义词(Ma等人,2014)。

3.2  Recurrent-based Update Module

Node Update

有效利用句子上下文来解决潜在单词之间的歧义仍然是一个关键问题(Ma等人,2014)。对于一般图,通常采用基于递归的模块来更新节点的隐藏表示(Scarselli等人,2009年;Li等人,2015年)。因此,我们将全局特征$\hat{g}$融合到字符节点更新模块中,如下所示:

$\boldsymbol{\xi}_{i}^{t}=\left[\mathbf{c}_{i-1}^{t-1} ; \mathbf{c}_{i}^{t-1}\right], \quad \boldsymbol{\chi}_{i}^{t}=\left[\hat{\mathbf{c}}_{i}^{t-1} ; \hat{\mathbf{g}}^{t-1}\right]$
$\hat{\boldsymbol{a}}_{i}^{t}=\sigma\left(\mathbf{W}_{i}^{a} \boldsymbol{\xi}_{i}^{t}+\mathbf{V}_{i}^{a} \boldsymbol{\chi}_{i}^{t}+\mathbf{b}_{i}^{a}\right), \quad \boldsymbol{a}=\{\boldsymbol{i}, \boldsymbol{f}, \boldsymbol{l}\}$
$\boldsymbol{u}_{i}^{t}=\tanh \left(\mathbf{W}_{c u} \boldsymbol{\xi}_{i}^{t}+\mathbf{V}_{c u} \boldsymbol{\chi}_{i}^{t}+\mathbf{b}_{c u}\right)$
$\boldsymbol{i}_{i}^{t}, \boldsymbol{f}_{i}^{t}, \boldsymbol{l}_{i}^{t}=\operatorname{softmax}\left(\hat{\boldsymbol{i}}_{i}^{t}, \hat{\boldsymbol{f}}_{i}^{t}, \hat{\boldsymbol{l}}_{i}^{t}\right)$
$\mathbf{c}_{i}^{t}=\boldsymbol{l}_{i}^{t} \odot \mathbf{c}_{i-1}^{t-1}+\boldsymbol{f}_{i}^{t} \odot \mathbf{c}_{i}^{t-1}+\boldsymbol{i}_{i}^{t} \odot \boldsymbol{u}_{i}^{t}$,

其中$W$、$V$和$b$是可训练参数。$\boldsymbol{\xi}_{i}^{t}$是上下文窗口相邻向量的串联。我们的模型中的窗口大小为2,实际上起到了字符二元图character bigram的作用,这已被证明对序列标记任务中的字符表示非常有用(Chen等人,2015a;Zhang和Yang,2018)。$\boldsymbol{\chi}_{i}^{t}$是全局信息向量$\hat{g}^t$和$e \rightarrow c$聚合结果得到$\hat{c}^t_i$。gate $i_i^t$、$f^t_i$和$l^t_i$控制信息从全局特征流向$c^t_i$,从而进一步调整词汇注意(e→c)的权重 在随后的聚合步骤中处理歧义。

Edge  Update

为了更好地利用字符、单词和整个句子之间的交互,我们不仅为节点设计了一个循环模块,还为边缘和全局中继节点设计了一个循环模块(Battaglia et al.,2018)。我们按如下方式更新边:

$\boldsymbol{\chi}_{b, e}^{t}=\left[\hat{\mathbf{e}}_{b, e}^{t-1} ; \hat{\mathbf{g}}^{t-1}\right], \quad \boldsymbol{a}=\{\boldsymbol{i}, \boldsymbol{f}\}$
$\hat{\boldsymbol{a}}_{b, e}^{t}=\sigma\left(\mathbf{W}_{i}^{a} \mathbf{e}_{b, e}^{t-1}+\mathbf{V}_{i}^{a} \boldsymbol{\chi}_{b, e}^{t}+\mathbf{b}_{i}^{a}\right)$
$\boldsymbol{u}_{b, e}^{t}=\tanh \left(\mathbf{W}_{e u} \mathbf{e}_{b, e}^{t-1}+\mathbf{V}_{e u} \boldsymbol{\chi}_{b, e}^{t}+\mathbf{b}_{e u}\right)$
$\boldsymbol{i}_{b, e}^{t}, \boldsymbol{f}_{b, e}^{t}=\operatorname{softmax}\left(\hat{\boldsymbol{i}}_{b, e}^{t}, \hat{\boldsymbol{f}}_{b, e}^{t}\right)$
$\mathbf{e}_{b, e}^{t}=\boldsymbol{f}_{b, e}^{t} \odot \mathbf{e}_{b, e}^{t-1}+\boldsymbol{i}_{b, e}^{t} \odot \boldsymbol{u}_{b, e}^{t}$,

where $\boldsymbol{\chi}_{b, e}^{t}$ is the concatenation of $\hat{\mathbf{g}}^{t}$ and the $c \rightarrow e$ aggregation result $\hat{e}_{b,e}^t$. Similar to the node update function, $i^t_{b,e}$ and $f^t_{b,e}$ are gates that control information flow from $e^{t?1}_{b,e}$ and$\hat{g}^t$ to $e^t_{b,e}$.

Global Relay Node Update

就global state $g$而言,最近的工作(Zhang等人,2018b;Guo等人,2019)表明了跨上下文共享有用信息的有效性。因此,我们还为$g$设计了一个更新函数,初始化为$g^0=average(C,E)$。更正式地说:

$\hat{\boldsymbol{a}}^{t}=\sigma\left(\mathbf{W}_{i}^{a} \mathbf{g}^{t-1}+\mathbf{V}_{i}^{a} \hat{\mathbf{g}}^{t-1}+\mathbf{b}_{i}^{a}\right), \boldsymbol{a}=\{\boldsymbol{i}, \boldsymbol{f}\}$
$\quad \boldsymbol{u}^{t}=\tanh \left(\mathbf{W}_{g u} \mathbf{g}^{t-1}+\mathbf{V}_{g u} \hat{\mathbf{g}}^{t-1}+\mathbf{b}_{g u}\right)$
$\quad \boldsymbol{i}^{t}, \boldsymbol{f}^{t}=\operatorname{softmax}\left(\hat{\boldsymbol{i}}^{t}, \hat{\boldsymbol{f}}^{t}\right)$
$\mathbf{g}^{t}=\boldsymbol{f}^{t} \odot \mathbf{g}^{t-1}+\boldsymbol{i}^{t} \odot \boldsymbol{u}^{t}$

3.3 Decoding and Training

标准条件随机场(CRF)用于图形消息传递过程。给定最终节点状态$c^T_1,c^T_2,...,c^T_n$等的顺序,标签序列的概率,$\hat{y}=\hat{l}_1,\hat{l}_2,..,\hat{l}_n$可定义如下:

$p(\hat{y} \mid s)=\frac{\exp \left(\sum_{i=1}^{n} \phi\left(\hat{l}_{i-1}, \hat{l}_{i}, \mathbf{c}_{i}^{T}\right)\right)}{\sum_{y^{\prime} \in \mathrm{Y}(s)} \exp \left(\sum_{i=1}^{n} \phi\left(l_{i-1}^{\prime}, l_{i}^{\prime}, \mathbf{c}_{i}^{T}\right)\right)}$

where, $Y(s)$ is the set of all arbitrary任意 label sequences. $\phi(l_{i-1}, l_{i}, \mathbf{c}_{i}^{T}) = W_{(l_{i?1},l_i)}c^T_i + b_{(l_{i?1},l_i)}$, where $W_{(l_{i?1},l_i)}$ and $b(l_{i?1},l_i)$ are the weight and bias parameters specific to the labels $l_{i?1}$ and $l_i$.

对于training,我们最小化句子级负对数似然损失,如下所示:

$L=-\sum_{i=1}^N log(p(y_i|s_i))$

对于测试和解码,我们最大化了找到最优序列$y^{*}$的可能性:

$y^{*} = argmax_{y \in Y_{(s)}} p(y|s)$

我们使用维特比算法来计算上述方程,可以有效地降低计算复杂度。

4  Experimental Setup

在本节中,我们描述了不同领域的数据集以及用于比较的基线方法。我们还详细介绍了该模型的超参数配置。

4.1  Data

我们在四个中国NER数据集上进行了实验。(1) OntoNotes 4.0(Weischedel等人,2011):OntoNotes是新闻领域中一个手动注释的多语言语料库,包含各种文本注释,包括中文命名实体标。签黄金标准分割是可用的。我们仅使用中文文档(约16k句),并以与Che等人(2013)相同的方式处理数据。(2) MSRA(Levow,2006):MSRA也是新闻领域中的一个数据集,包含三种类型的命名实体:LOC、PER和ORG。中文分词在训练集中可用,但在测试集中不可用。(3) 微博NER(Peng和Dredze,2015):它由来自社交媒体新浪微博的注释NER消息组成。语料库包含命名实体和名义提及的PER、ORG、GPE和LOC。(4) 简历NER(张和杨,2018):它由从新浪财经3收集的简历组成,并附有8种命名实体的注释。微博和简历数据集都不包含黄金标准的中文分词。上述数据集的统计详见表1。

 4.2  Lexicon

我们在自动分词的中文Giga词上使用了词典,在最终的词典中获得704.4k单词。使用word2vec(Mikolov等人,2013年)对词汇词的嵌入进行预训练,并在训练期间进行微调。根据词典统计,单字、双字和三字的数量分别为5.7k、291.5k和278.1k。它覆盖了四个数据集中31.2%的命名实体,这意味着大多数词汇词都不是命名实体。为了公平比较,我们在实验中使用了这样一个通用词汇而不是一个专业命名实体词汇,并且我们仍然获得了有竞争力的结果。根据经验,一个高质量的词典可以进一步提高性能。

字符character嵌入使用word2vec在中文Giga Word上进行预训练,并在模型训练时进行微调。张和杨(2018)发布了预训练字符和词汇单词嵌入【https://github.com/jiesutd/LatticeLSTM】.

我们采用了字符级和单词级的方法作为比较的基线,这些方法结合了双字符bichar、软词softword和词汇lexicon特征。我们还比较了四个数据集上的几种最新方法,以验证我们方法的有效性。我们将BMES标记方案用于字符级character和单词word级NER标记。

Character-level methods:

这些方法基于字符序列。我们采用双向LSTM(Hochreiter和Schmidhuber,1997)和CNN(Kim,2014)作为经典的基线方法。

Character-level methods + bichar + softword:

字符二元图 charcter bigram对于捕捉相邻特征和表示字符非常有用。我们将bigram embedding嵌入与字符嵌入character embedding连接起来,以更好地利用bigram信息。此外,我们通过将分割标签嵌入到字符表示中来添加分割信息we added the segmentation information by incorporating segmentation label embeddings into the character representation.。BMES方案用于表示分词(薛和沈,2003)。

Word-level  methods:

对于黄金分割的数据集,我们直接使用word-level NER方法来评估性能,即黄金分割Gold seg。否则,我们首先使用开源分割工具toolkit自动分割数据集。然后应用word-level NER方法,表示为Auto seg。双向LSTM和CNN也被用作基线。

Word-level  methods  +  char  +  bichar:

对于子序列$w_{b,e}$中的字符,我们首先使用双向LSTM来了解它们的隐藏hidden状态和bigram状态。然后,我们用字符级特性扩充单词级word-level方法。

Lattice  LSTM:

Lattice LSTM (Zhang and Yang, 2018)将单词信息整合到字符级循环单元中,可以避免切分错误。这种方法在四个数据集上实现了最先进的性能。

4.4  Hyper-parameter Settings

我们使用Adam (Kingma and Ba, 2014)作为优化器,Ontonotes和MSRA等大型数据集的学习率为2e-5,而微博和Resume等小型数据集的学习率为2e-4。我们采用了一种密联结构densely connected structure(Huang et al., 2017),它将之前更新步骤中的所有隐藏状态合成为第t步聚合模块的最终输入。为了进一步减少过拟合,我们使用Dropout (Srivastava et al.,2014年),嵌入的速率为0.5,聚合模块输出的速率为0.2。嵌入大小和状态大小都设置为50。多头注意的头数为10。微博和简历等小型数据集的头部尺寸设置为10,而Ontonotes和MSRA的头部尺寸设置为20。从{1,2,3,4,5,6}中选择步骤号T,§5.2详细分析。使用标准Precision (P)、Recall (R)和F1-score (F1)作为评价指标。

5  Results and Discussion

在本节中,我们展示了LGN在不同域的中文NER任务中的主要结果。选择在开发集上取得最佳结果的模型对测试集进行最终评价。我们还通过解释实验探讨了LGN的有效性和可解释性。

5.1  Main Results

在表2、3、4和5中,带*的模型使用外部标记数据进行半监督学习。那些?也使用离散特征

OntoNotes

表2显示了不同设置下的单词级和字符级方法在OntoNotes上的结果。在gold或自动分词设置中,char和bichar特性提高了单词级方法的性能。特别是,使用黄金标准分割,这些方法能够在数据集上实现具有竞争力的最先进的结果(Che et al., 2013;王等,2013)。然而,黄金标准分割并不总是可用的。另一方面,自动分词可能会导致分词错误,并导致下游NER任务的性能损失。一个可行的解决方案是采用字符级方法来避免分词。我们提出的LGN是一个基于图形结构的字符级模型。在F1得分上,它比点阵LSTM提高1.01%,F1得分比具有bichar和软词特征的LSTM提高3.00%。LGN在自动分词方面也显著优于字级模型。

MSRA/Weibo/Resume

MSRA、Weibo和Resume数据集上的结果分别如表3、表4和表5所示。对于微博和简历数据集以及MSRA的测试集,黄金标准分割是不可用的。最好的经典方法利用丰富的手工功能(Chen et al., 2006;张等,2006;Zhou等人,2013),嵌入特征(Lu等人,2016;Peng和Dredze, 2015),激进特征(Dong et al., 2016),跨域和半监督数据(He和Sun, 2017)。与现有的方法以及字级和字符级方法相比,我们的LGN模型得到了最好的结果。此外,与同样利用词典特征的格点LSTM不同,我们的LGN模型更有效地将词典信息集成到图神经网络中。因此,它在所有三个数据集上的性能都优于晶格LSTM。

5.2  Steps of Message Passing

为了研究步骤数step number T对更新过程的影响,我们分析了不同阶跃数下LGN的性能。图4显示了F1分数随步数增加在发展设定上的变化。我们使用D-F1来表示F1在不同步骤的得分减去最佳结果。[由于MSRA数据集没有开发集,我们使用测试集代替。]

 结果表明,更新步骤的数量对LGN的性能至关重要,在所有4个数据集上,当T≥3时,LGN的性能达到峰值。当步长小于3时,F1得分比最佳结果平均下降1.20%。特别是OntoNotes和微博数据集的F1评分甚至出现了严重的下降,分别约为1.5%和1.8%。经过几轮更新后,该模型给出了稳定而有竞争力的结果,并揭示LGN从更新过程中获益。从经验上看,在每个更新步骤,图节点从它们的邻居汇总信息,并随着过程的迭代,从图的进一步达到中增量地获得更多信息(Hamilton等人,2017)。在LGN模型中,可以通过递归聚合捕获更有价值的信息。

5.3  Ablation Experiments

为了研究LGN中各分量的贡献,我们在四个数据集上进行了消融实验,结果如表6所示。结果表明,如果去掉全局中继节点,模型的性能会下降,说明全局连接在图结构中是有用的。我们还发现词汇在字符级NER中起着重要的作用。特别是在没有词汇的情况下,超过3.0%的OntoNotes、MSRA和微博数据集的性能受到了严重影响。此外,同时缺失边和全局节点将导致进一步的性能损失。

 为了更好地说明我们的模型的优点,我们去掉了CRF解码层,并在LGN和晶格LSTM模型上将结构简化为非双向版本。结果表明,在单一方向结构下,LGN比晶格LSTM平均提高了0.77%的F1分数。此外,在去除CRF层后,两种模型的性能存在明显差距。在没有CRF的四个数据集上,LGN的F1评分平均下降3.59%。相比之下,晶格LSTM降低了6.24%。说明LGN具有较强的句子建模能力。

 5.4 Performance Against Sentence Length

图5显示了LGN和OntoNotes数据集上的几个基线模型的性能。我们根据句子的长度将数据集分成六个部分。晶格是一个强大的基线,在不同的句子长度上优于word+char+bichar和char+bichar+软词softword模型。然而,格点精度随着句子长度的增加而显著降低。相比之下,LGN算法不仅对短句子有较高的结果,而且在句子长度超过80个字符时也显示出其有效性和鲁棒性。与基线相比,它在大多数情况下提供了更高的F1评分,这表明在图结构下可以更好地捕获全局句子语义和长期依赖关系。

 5.5  Case Study

表7举例说明了LGN解决单词歧义问题的能力。lattice LSTM忽略了句子上下文,错误地识别了“语法”印度”。移除全局中继节点后,LGN也会犯同样的错误,这表明全局连接是必不可少的,可以捕获高层信息以帮助LGN更好地理解句子上下文。相比之下,使用全局中继节点时,LGN可以正确识别实体边界,即使图形组合状态只更新一步。但是,它给出的实体类别不正确“印度河”,这是一个位置实体,但不是GPE(地缘政治实体)。由于采用多步图消息传递过程,LGN能够融合上下文信息,最终成功地检测出正确的位置实体。

6  Conclusion

在这项工作中,我们研究了一种基于GNN的方法来缓解汉语NER中的单词歧义。词典用于构建图形并提供单词级特征。LGN支持不同句子组成之间的交互,并可以基于全局句子语义捕获字符之间的非顺序依赖关系。因此,它在不同领域的多个数据集上显示了显著的性能改进。解释性实验也证明了该模型的有效性和可解释性。

NER