[关闭]
@songying 2019-05-04T01:32:24.000000Z 字数 1132 阅读 1182

一个Trick: 用Highway Network 连接不同粒度的词向量

博客文章


前言

现在已经有实验表明,不同粒度的词向量携带的信息有着细微的差别,将不同粒度的词向量整合在多数情况下比单一的向量表示要好,这也是我之前一直提到的 char-level + word-level , 而看看 Bert, 其又添加了一个句子粒度的向量表示,而该粒度对于一些信息是很有帮助的。

因此,本文介绍一个Trick, 采用 Highway Network 将char粒度与word粒度的词向量连接起来,这是Bert之前阅读理解领域常用的方案。

Highway Netowrks [1]

Highway Networks 最初是解决随着网络层数加深, 变得越来越难以训练的问题, 其通过引入门机制的方式来实现信息流的过滤和整合,而事实证明,其的确有效。


这里的 T 称为 The Transform gate, 这是一个门,其控制着 的信息流流动;C称为 the carry gate , 也是一个门,其控制着 的信息流动。

而一般情况下,为了减少参数,使得模型简单,通常使得 , 此时就变为:

Char-level + word-level [2]

word-level

对于 Word-level 向量来说,一般情况下有Glove, Word2Vec, Fasttext 三种方案可选,在实验的时候一般选择是:都试试, 毕竟,大力出奇迹啊。

Char-level

Char-level 中一个常见的选择是采用CNN的方案,参与训练, 此外 Glove 有提供 char-level 的词向量,也可以试试,最后一个就是很火的 ELMO 了, 有一些文章有做这方面的探讨, 不过有的结果很好,有的结果并不突出, 所以说,这玩意也得试一试啊。

char-level + word-level

对于一个单词,我们分别获得其 char-level 与 word-level 表示: , 然后将二者拼接起来,连接公式如下:

最后

虽然说Bert才是主流,但目前很多公司还是用的词向量,因此,如果Performance 无法提升,不如试试Highway Networks。

Reference

[1] Highway Networks

[2] Combining Word-Level and Character-Level Representations for Relation Classification of Informal Text

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注