attention-networks-for-classification, 在PyTorch中用于文档分类的分层注意网络

分享于 

2分钟阅读

GitHub

  繁體 雙語
Hierarchical Attention Networks for Document Classification in PyTorch
  • 源代码名称:attention-networks-for-classification
  • 源代码网址:http://www.github.com/EdGENetworks/attention-networks-for-classification
  • attention-networks-for-classification源代码文档
  • attention-networks-for-classification源代码下载
  • Git URL:
    git://www.github.com/EdGENetworks/attention-networks-for-classification.git
    Git Clone代码到本地:
    git clone http://www.github.com/EdGENetworks/attention-networks-for-classification
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/EdGENetworks/attention-networks-for-classification
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    基于的文档分类分层注意网

    我们知道文档有层次结构,单词组合成句子和句子,构成文档。 我们可以尝试了解这个结构,也可以将这个层次结构输入模型,看看它是否提高了现有模型。 利用该结构构建分类模型。

    这是PyTorch中模型的( 关闭) 实现。

    :

    • 我同时优化了单词和句子注意模型,使用相同的优化器。
    • minibatches用零填充。 这可以改进,一个可以将senteces类似的长度排序,并最小化 paddings。
    • Pytorch还不支持梯度掩码,因这里填充的零将在传递过程中流过它们的渐变。 可以创建蒙版,但由于我对使用双向GRU感兴趣,所以不可能使用蒙版。 我已经看到,可变长度的supoort也即将在Pytorch中出现。 更新:Pytorch现在用pack_padded_sequence方法屏蔽了 supoort。

    这张来自爆炸博客的图片完全解释了这个结构。

    alt text

    笔记本

    笔记本包含了IMDB电影评论数据集的训练模型示例。 我无法获得本文提到的原始IMDB数据集,所以我已经使用了这个数据数据。

    预处理的数据在这里是可用的,这里是。

    我得到的最好的精度是 ~ 0.35. 这里数据集只有 84919个示例和 10类。 下面是数据集的训练损失。

    alt text


    DOC    network  ATT  networks  Hiera  
    相关文章