|AI框架应用:用PyTorch构建自然语言生成(NLG)系统
在过去的几年中 , 自然语言处理(NLP)有了显著的增长 , 这要归功于深度学习算法的进步和足够的计算能力 。 但是 , 前馈神经网络不被认为是对语言或文本建模的最佳选择 。 这是因为前馈网络未考虑文本中的单词顺序 。
因此 , 为了捕获文本中存在的顺序信息 , 在NLP中使用了递归神经网络 。 在本文中 , 我们将了解如何使用PyTorch生成自然语言 , 使用递归神经网络(LSTM) 。
本文插图
自然语言生成的简要概述
自然语言生成(NLG)是自然语言处理(NLP)的子字段 , 它与计算机自动生成人类可读文本有关 。 NLG可用于各种NLP任务 , 例如机器翻译 , 语音转文本 , 聊天机器人 , 文本自动更正或文本自动完成 。
【|AI框架应用:用PyTorch构建自然语言生成(NLG)系统】我们可以借助语言建模为NLG建模 。 让我解释一下语言模型的概念–语言模型学会预测单词序列的概率 。 例如 , 考虑以下句子:
本文插图
我们可以看到 , 第一句话比第二句话更有可能 , 因为我们知道第二句话中的单词顺序是不正确的 。 这是语言建模背后的基本概念 。 语言模型应该能够区分较高可能性的单词(或标记)序列 。
语言模型的类型
以下是两种类型的语言模型:
- 统计语言模型: 这些模型使用传统的统计技术 , 例如N-gram , 隐马尔可夫模型(HMM)和某些语言规则来学习单词的概率分布 。
- 神经语言模型:这些模型的有效性已经超过统计语言模型 。 他们使用不同种类的神经网络对语言进行建模 。
使用统计语言模型生成文本
首先 , 让我们看看如何在统计模型(如N-Gram模型)的帮助下生成文本 。
假设我们必须为下面的句子生成下一个单词:
本文插图
假设我们的N-Gram模型考虑3个前一个词的上下文只是为了预测下一个词 。 因此 , 模型将尝试使概率P(w |“它建立了a”)最大化 , 其中“ w”代表文本数据集中的每个单词 。 将使该概率最大化的单词将作为句子“她在那里建…”的下一个单词生成 。
然而 , 使用这样的统计模型存在某些缺点 , 该统计模型使用直接的前一个单词作为上下文来预测下一个单词 。 让我给您一些额外的背景信息 。
本文插图
现在 , 我们获得了有关正在发生的事情的更多信息 。 “沙堡”一词很可能是下一个词 , 因为它对“海滩”一词有很强的依赖性 , 因为人们在大多数正确的海滩上建造沙堡 。 因此 , 重点是 , “沙堡”并不取决于当前环境(“她建造了”) , 而是取决于“海滩” 。
使用神经语言模型生成文本
为了捕获序列标记之间的这种无限制的依赖性 , 我们可以使用基于RNN / LSTM的语言模型 。 以下是我们将用于NLG的语言模型的简约表示:
本文插图
- x1 , x2和x3分别是时间步1 , 时间步2和时间步3的输入单词嵌入
- ?1 , ?2和?3是训练数据集中所有不同标记的概率分布
- y1 , y2和y3是基本真值
- U , V和W是权重矩阵
- H0 , H1 , H2和H3是隐藏状态
我们将尝试从三个阶段来了解神经语言模型的功能:
- 资料准备
- 模型训练
推荐阅读
- 工业|中国发布工业级5G终端基带芯片 筹建技术联盟促应用发展
- 通信世界|建设超宽、融合、智能的光接入网,让数字连接点亮更多创新应用
- |浅谈RFID技术在银行资产/档案/钱箱管理中的应用
- |比VR更“耳聪目明”颠覆传统产业 影创MR产业应用中心落户渝中
- 博纬智能RFID|浅谈RFID技术在银行资产/档案/钱箱管理中的应用
- 电脑使用技巧|Excel数据处理与分析应用课程:NO2文件管理与打印设置
- IBM|关于数字化转型与数据应用,你想知道的都在这里!
- |复原林黛玉样貌、让杜甫开口唱歌,这样的AI应用太有趣
- youtube|YouTube正在测试iOS应用的原生画中画模式
- |福特研发总监:FHE新思维引爆跨界智能应用商机