|AI框架应用:用PyTorch构建自然语言生成(NLG)系统( 四 )
本文插图
输出:
WordLSTM((emb_layer):嵌入(16592 , 200)(lstm):LSTM(200 , 256 , num_layers = 4 , batch_first = True , dropout = 0.3)(dropout ):Dropout(p = 0.3 , inplace = False)(fc ):线性(in_features = 256 , out_features = 16592 , bias = True))
现在让我们定义一个用于训练模型的函数 。
本文插图
本文插图
#训练模型 火车(净额 , batch_size = 32 , 历元= 20 , print_every = 256)我已将批次大小指定为32 , 并将训练模型20个时间段 。 训练可能需要一段时间 。
4.文字生成
训练模型后 , 我们可以将其用于文本生成 。 请注意 , 此模型可以一次生成一个单词 , 并带有隐藏状态 。 因此 , 要生成下一个单词 , 我们将必须使用此生成的单词和隐藏状态 。
本文插图
本文插图
函数sample()从用户处输入一个输入文本字符串(“ prime”) , 并指定一个数字(“ size”) , 该数字指定要生成的令牌数量 。 在给定输入单词和隐藏状态的情况下 , sample()使用predict()函数预测下一个单词 。 下面给出了由模型生成的一些文本序列 。
样本(净值 , 15)输出:
“现在由他们拥有新福音的圣殿负责 , 并关押他”
样本(净值15 , 素数=“其中之一”)输出:
``其中一个团队正在等待他的拒绝 , 并把他扔进对sannokai的拒绝中''
样本(净值15 , 素数=“尽快”)输出:
“一旦他被派去做不是他嘴上造成的普通战士”
样本(净值15 , 素数=“他们”)输出:
“他们发现自己以被扔进船的方式被扔进了船上”
最后
自然语言生成是一个快速成熟的领域 , 并且是越来越活跃的研究领域 。 从N-Gram模型到RNN / LSTM模型 , 用于NLG的方法也已走了很长一段路 , 现在基于变压器的模型已成为该领域的最新技术 。
总而言之 , 在本文中 , 涵盖了许多与NLG相关的内容 , 例如数据集准备 , 如何训练神经语言模型以及最终在PyTorch中进行自然语言生成过程 。 我建议大家尝试在更大的数据集上构建语言模型 , 并查看它生成什么样的文本 。
推荐阅读
- 工业|中国发布工业级5G终端基带芯片 筹建技术联盟促应用发展
- 通信世界|建设超宽、融合、智能的光接入网,让数字连接点亮更多创新应用
- |浅谈RFID技术在银行资产/档案/钱箱管理中的应用
- |比VR更“耳聪目明”颠覆传统产业 影创MR产业应用中心落户渝中
- 博纬智能RFID|浅谈RFID技术在银行资产/档案/钱箱管理中的应用
- 电脑使用技巧|Excel数据处理与分析应用课程:NO2文件管理与打印设置
- IBM|关于数字化转型与数据应用,你想知道的都在这里!
- |复原林黛玉样貌、让杜甫开口唱歌,这样的AI应用太有趣
- youtube|YouTube正在测试iOS应用的原生画中画模式
- |福特研发总监:FHE新思维引爆跨界智能应用商机
