Incorporating Syntactic and Semantic Information in Word Embeddings using Graph Convolutional Networks
文章已开源,点此地址传送
三个贡献点
1、提出SynGCN算法。结合语法信息(syntactic)和图卷积(GCN),并且没有增加词表规模。
2、提出SemGCN算法。结合语义信息(上下位词、同义词)以及GCN,并且只需要一个架构,而不需要针对不同的语义关系做特殊处理。
3、与ELMo联合使用时,各项数据集达到SOTA(state-of-the-art)。
图卷积 GCN 算法
1、前人用GCN在NLP方面,有机器翻译、语义角色标注、文本分类等等,但是从未用在词嵌入方面、无监督方面。
2、拓展:一些近年来GCN的变种 (Yadav et al., 2019; Vashishth et al., 2019)。如果想要了解GCN,作者推荐Bronstein et al. (2017)。
3、作者主要使用一阶函数的GCN,是由(Kipf and Welling, 2016) 提出的。
公式如下【公式1】:
说明:
(1)luv:从u到v的有向边。
(2)W、b都是模型的学习参数。W是dxd维矩阵,b是d维向量。
(3)k是GCN模型的哪一层,每一层结构是相同的。
(4)h是目标词向量,d维。
(5)N(v)代表与v直接相连的点集,如果有+号就代表自己与自己建边。
4、边的选择机制
目的:因为在现实生活中,对于下游任务来说,某些边是错误的或者不相关的。
作者采用: edge-wise gating 方法 (Marcheggiani and Titov, 2017)
公式见下【公式2】:
说明:
g:是一个 sigmoid激活函数处理过的一维的数值,代表这条边的可信度。
W^、b^ :与公式1一样是模型的学习参数。只不过两者是不同的参数。W^ 有d维,b^ 有一维。
5、作者最终的GCN
组合公式1、2得到【公式3】
6、我认为有意思的【这节不重要,可以不看】
(1)作者认为:cbow、glove算法需要给定窗口的大小。窗口大会引入不相关的噪声词,窗口小会导致某些相关的上下文词无法参与。这样容易陷入局部最优。
他的解决办法:使用基于语境的依赖可以缓解这个问题。
(2&