pytorch自然语言处理基础模型之一:NNLM

本文介绍了如何使用PyTorch实现神经网络语言模型(NNLM),通过处理给定的句子数据,训练模型来预测输入序列后的单词。在训练过程中,详细讲解了数据预处理、网络构建、参数设置、训练过程和结果展示。
摘要由CSDN通过智能技术生成

任务描述:pytorch实现简单的神经网络语言模型NNLM

一、数据

sentences=[‘i like dog’, ‘i love coffee’, ‘i hate milk’]

二、目标

当输入[‘i’,‘like’], [‘i’,‘love’], [‘i’,‘hate’]时,分别预测下一个单词为[‘dog’], [‘coffee’],[‘milk’]

三、完整代码

1. 导入需要的库,设置数据类型

import torch
import torch.nn as nn
import torch.optim as optim
from torch.autograd import Variable
dtype = torch.FloatTensor

2. 分词,创建字典

sentences = ['i like dog', 'i love coffee', 'i hate milk']
words = ' '.join(sentences).split()
words_dict = list(set(words))
num2word = {
   index:word for index, word in enumerate(words_dict)}
word2num = {
   word:index for index, word in enumerate(words_dict)}

3. 准备数据

def make_batch(sentences):
    input_batch = []
    target_batch = []
    for sen in sentences
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值