每天五分钟玩转深度学习PyTorch:搭建LSTM算法模型完成词性标注
本文重点
本文通过LSTM算法模型来解决一个实际问题,也就是如何使用LSTM完成词性预测,下面我们搭建两个模型,一个是单词级别的,另外一个是字母级别的,大概的步骤就是,字母级别的LSTM将每个单词的字母作为输入,然后取最后一个时刻作为整个单词的表示,然后将文本中所有的单词的表示stack组合构成最终的文本向量表示,然后和文本数据经过embedding层编码的向量表示cat起来,共同输入到单词级别的LSTM中,然后完成最终的词性预测。
这里看起来可能有些模糊,下面我们通过实例来看一下模型是怎么搭建和训练的
模型的搭建
class Char_lstm(nn.Module):
def __init__(self,n_char,char_dim,char_hidden):
super(Char_lstm,self).__init__()
self.emb=nn.Embedding(n_char,char_dim)
self.lstm=nn.LSTM(char_dim,char_hidden)
def forward(self,x):
x=self.emb(x)
out,_=self.lstm(x)
return out[-1,:,:]