将输入的序列转换词向量
转载:https://www.jianshu.com/p/63e7acc5e890 ,本帖仅用于学习,请给原博主点赞
参考:https://pytorch.org/docs/stable/generated/torch.nn.Embedding.html
函数参数
nn.Embedding(num_embeddings (int), embedding_dim (int))
num_embeddings: 这个词典中有多少个词
embedding_dim: 词向量的维度,即多少长度的向量能表示一个词,类似于独热向量的长度。
函数使用
输入:
预处理:
词典映射:
加上EOS表示每个句子的结束
加上pad填充,让每个序列的长度相同
转换成RNN需要的格式(RNN每次处理一个时间步长中所有批量的单词) : 时间步长 * 批量大小
batch = [
[3,6,4],
[6,4,5],
[5,7,8],
[6,9,7],
[7,5,1],
[1,1,2]
]
最后根据输入的向量维度,输出词向量:时间步长 * 批量大小 * 词向量维度