@songying
2019-05-04T01:32:24.000000Z
字数 1132
阅读 1182
博客文章
现在已经有实验表明,不同粒度的词向量携带的信息有着细微的差别,将不同粒度的词向量整合在多数情况下比单一的向量表示要好,这也是我之前一直提到的 char-level + word-level , 而看看 Bert, 其又添加了一个句子粒度的向量表示,而该粒度对于一些信息是很有帮助的。
因此,本文介绍一个Trick, 采用 Highway Network 将char粒度与word粒度的词向量连接起来,这是Bert之前阅读理解领域常用的方案。
Highway Networks 最初是解决随着网络层数加深, 变得越来越难以训练的问题, 其通过引入门机制的方式来实现信息流的过滤和整合,而事实证明,其的确有效。
而一般情况下,为了减少参数,使得模型简单,通常使得 , 此时就变为:
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。
[1] Highway Networks
[2] Combining Word-Level and Character-Level Representations for Relation Classification of Informal Text