放牧代码和思想
专注自然语言处理、机器学习算法

CS224n研究热点10 Character-Aware神经网络语言模型

目录

hankcs.com 2017-07-04 下午1.10.49.png

动机

大多数神经网络语言模型其实并没有注意到结构类似的词语意义也类似这种语言现象,这使它们无法赋予低频词合适的表示。所以这个新模型的目标是:

  • 编码词素相关性:eventful, eventfully, uneventful

  • 解决低频词问题

  • 用更少的参数得到comparable效果

架构

输入字符,但依然在词语级别做预测。

hankcs.com 2017-07-04 上午10.23.35.png

卷积层

读入字符的embedding,做不同大小的卷积(捕捉不同的ngram与subword),max池化后得到特征向量。

hankcs.com 2017-07-04 上午10.26.43.png

Highway Network

这种网络类似LSTM的Memory Cell,对输入做一些变换,但同时保留原始信息。

hankcs.com 2017-07-04 上午10.29.33.png

LSTM

将Highway Network的输出喂给LSTM,应该类似CBOW预测中间词语:

hankcs.com 2017-07-04 上午10.38.25.png

量化结果

与最佳结果非常接近,但参数更少:

hankcs.com 2017-07-04 上午10.39.38.png

直观效果

可以捕捉构词类似的词语:

hankcs.com 2017-07-04 上午11.26.16.png

比如Richard这个名字含有rich,hard,ar等词素,在highway之前能关联到hard、rich这些词语上;highway之后能关联到Eduard、Carl之类的名字上。不仅名字对名字,连发音、性别都有更大的相似性。

对于OOV的效果也是惊人地好:

hankcs.com 2017-07-04 上午11.27.05.png

结论

字符级别的CNN+Highway Network可以提取丰富的语义和结构信息。这个模型将其他网络当成积木一样,构建了更好的语言模型。

实现

https://github.com/mkroutikov/tf-lstm-char-cnn 

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » CS224n研究热点10 Character-Aware神经网络语言模型

分享到:更多 ()

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机