剧集

R 中自然语言处理的深度学习

替换为 Angus Taylor

useR!2017:自然语言的深度学习...

关键字:深度学习、自然语言处理
网页: https://blogs.technet.microsoft.com/machinelearning/2017/02/13/cloud-scale-text-classification-with-convolutional-neural-networks-on-microsoft-azure/, , https://github.com/dmlc/mxnet/tree/master/R-packagehttps://github.com/Azure/Cortana-Intelligence-Gallery-Content/tree/master/Tutorials/Deep-Learning-for-Text-Classification-in-Azure
近年来,对NLP的深度学习的使用吸引了许多对研究界的兴趣。 此演讲介绍了如何使用 R 将深度学习技术应用于自然语言处理(NLP)任务。我们演示了 MXNet 深度学习框架如何用于实现、训练和部署深度神经网络,这些神经网络可以解决文本分类和情绪分析问题。
我们首先简要讨论将深度学习应用于 NLP 任务的动机和理论。 深度学习在图像识别领域取得了很大的成功。 最先进的图像分类系统采用卷积神经网络(CNN),具有大量层。 这些网络性能良好,因为它们可以通过增加抽象级别来学习输入的分层表示形式。 在 NLP 的上下文中,已显示神经网络取得了良好的效果。 特别是,长期内存网络(LSTM)等循环神经网络在输入是序列(如语音识别和文本理解)时表现良好。 在此演讲中,我们探索了一种有趣的方法,该方法从图像识别领域获得灵感,并将 CNN 应用于 NLP 问题。 这可以通过在类似图像的矩阵中对文本段进行编码来实现,其中每个编码的单词或字符都等效于图像中的像素。
CNN 为文本分类和情绪分析取得了出色的性能。 在此演讲中,我们将演示如何在 R为这些任务实现 CNN。例如,我们详细描述了实现 Crepe 模型的代码。 为了训练此网络,每个输入句子将转换为矩阵,其中每个列表示每个字符的一热编码。 我们介绍执行此转换所需的代码,以及如何使用 R 绑定指定网络的结构和超参数到 mxnet 包中提供的 MXNet。 我们展示了如何实现自定义 C++ 迭代器类,以有效地管理数据的输入和输出。 这样,我们就可以在区块中处理 CSV 文件,采用一批原始文本并将其转换为内存中的矩阵,同时将计算分布到多个 GPU 上。 我们介绍如何在 Microsoft Azure 上使用 GPU 设置虚拟机来训练网络,包括安装必要的驱动程序和库。 该网络在 Amazon 类别数据集上进行训练,其中包含一组 238 万个句子的训练集,每个句子映射到 7 个类别之一,包括 书籍电子家庭和厨房
演讲最后演示了如何部署经过训练的网络来对新句子进行分类。 我们演示如何将此模型部署为可从简单 Web 应用使用的 Web 服务。 用户可以使用句子查询 Web 服务,API 将返回产品类别。 最后,我们将演示如何使用完全相同的网络结构和训练方法将 Crepe 模型应用于情绪分析任务。
通过这次演讲,我们的目标是让观众深入了解使用 CNN 解决 NLP 问题的动机。 与会者还将了解如何在 R实施、高效训练和部署它们。