Pytorch自然语言处理(1) 使用pytorch构建一个串联词嵌套LSTM模型

因为工作关系,最近在看NLP方面的内容。我之前并没有接触过NLP相关的知识,正好好久又没用pytorch感觉有点陌生,正好利用这个机会温习一下。这里先附上pytorch自带的教程链接,大家可以作为NLP的入门读物。这里我也就不想翻译了,CSDN上直接翻译过来的博文俯拾皆是。
https://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html

本文的代码对应的就是教程中的一个练习——使用串联embedding的方式作为LSTM的输入来进行训练,有关embedding概念的介绍可以看我的上一篇博文,这里串联的两个embedding分别是字母级的embedding和单词级的embedding。我的主要工作是字母级embedding的生成,这里我采用了为每个词单独生成最后进行拼接的办法,因此我给这一个LSTM的输入是变长的序列(每个单词长度不同)。

CSDN中有人使用固定长度序列作为输入,对于不足的部分用空格进行补齐。这样虽然也能生成结果,但我觉得效率不高(有很多无效输入位,浪费了很多LSTM单元)。具体代码请见我的github,大家有问题可以在hub上提问或者直接在这里留言。

源码地址:
Augmenting the LSTM part-of-speech tagger with character-level features.

你可能感兴趣的:(pytorch)