Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NLP: Text Neural Network (Part1: textRNN, textCNN)

NLP: Text Neural Network (Part1: textRNN, textCNN)

作者头像
JiahuiZhu1998
修改于 2023-06-19 06:37:36
修改于 2023-06-19 06:37:36
6760
举报

TextRNN 定义

RNN (Recurrent Neural Network) focused on Text 专门解决文本分类问题的RNN网络

TextRNN 应用场景

  1. 垃圾邮件分类
  2. 文本情感分析 (判断文本或者句子是积极,消极还是中立)
  3. 新闻主题分类 (判断新闻属于哪一个类别,属于财经,体育,娱乐,时事等类别)
  4. 自动问答系统问句分类
  5. 社区问答系统 (对文本进行多Label分类,可以参照知乎看山杯)
  6. AI法官 (依据文本分析通过罚金Label和法条Label进行分类)
  7. 判断文本是否是机器人所写

TextRNN 原理

  1. 将 文本切割成固定长度的句子,如果长度不够,则 padding补齐
  2. 然后输入句子,通过 word embedding 获得词向量
  3. 在RNN 的 每一个time节点(时间步长)输入一个新的词向量,RNN一直不停循环直到所有词向量input进去
  4. 由于 文本的长度为 n, 代表有n个词向量,因此TextRNN也要经历n个时间步长

TextRNN 算法结构

Bi-LSTM

embedding--->BiLSTM--->concat final output/average all output----->softmax layer

使用前向/反向LSTM,取最后一个时间步长进行拼接或者取同一时间步长上的两个隐藏状态并取avg, 可以添加Normalization防止过拟合
使用前向/反向LSTM,取最后一个时间步长进行拼接或者取同一时间步长上的两个隐藏状态并取avg, 可以添加Normalization防止过拟合

Bi-LSTM + Uni-LSTM

embedding-->BiLSTM---->(dropout)-->concat ouput--->UniLSTM--->(droput)-->softmax layer

这一种和第一种的不同之处在于,在双向LSTM基础上添加了一层单向LSTM, 将同一步长的两个隐藏状态拼接并输入到单向LSTM中
这一种和第一种的不同之处在于,在双向LSTM基础上添加了一层单向LSTM, 将同一步长的两个隐藏状态拼接并输入到单向LSTM中

TextRNN 也可以把LSTM换成GRU单元,添加DropOut 或者 BatchNormalization 等

TextRNN 比上 TextCNN 训练速度慢上一些

TextCNN 定义

1-D single-channel 卷积计算

0 × 1 + 1 × 2 = 2
0 × 1 + 1 × 2 = 2

1-D multi-channel 卷积计算

0 × 1 + 1 × 2 + 1 × 3 + 2 × 4 + 2 × (-1) + 3 × (-3) = 2
0 × 1 + 1 × 2 + 1 × 3 + 2 × 4 + 2 × (-1) + 3 × (-3) = 2

2-D 卷积计算

2 × (-1) + 3 × (-3) + 1 × 3 + 2 × 4 + 0 × 1 + 1 × 2 = 2
2 × (-1) + 3 × (-3) + 1 × 3 + 2 × 4 + 0 × 1 + 1 × 2 = 2

Max-Over-Time Pooling 时序池化最大层

其实就是max pooling, 只是在不同的channel中,输入时的时间步数(time)各不相同

TextCNN 原理

TextCNN = CNN + max-over-time pooling

  1. 定义 1D-CNN-kernel, 计算words之间的correlation
  2. 将所有channel经过 max-over-time-pooling 进行处理,并把output处理成vector
  3. 通过全连接将 vector分类

TextCNN 算法结构

下图⽤⼀个例⼦解释了textCNN的设计。这⾥的输⼊是⼀个有11个词的句⼦,每个词⽤6维词向量表⽰。因此输⼊序列的宽为11,输⼊通道数为6。给定2个⼀维卷积核,核宽分别为2和4,输出通道数分别设为4和5。因此,⼀维卷积计算后,4个输出通道的宽为 11 - 2 + 1 = 10,而其他5个通道的宽为 11 - 4 + 1 = 8。尽管每个通道的宽不同,我们依然可以对各个通道做时序最⼤池化,并将9个通道的池化输出连结成⼀个9维向量。最终,使⽤全连接将9维向量变换为2维输出,即正⾯情感和负⾯情感的预测。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
textRNN/textCNN文本分类
textRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子、文档等)的标签或标签集合。
大数据技术与机器学习
2019/12/05
2.4K0
深度学习:文本CNN-textcnn
对于文本分类问题,常见的方法无非就是抽取文本的特征,比如使用doc2evc或者LDA模型将文本转换成一个固定维度的特征向量,然后在基于抽取的特征训练一个分类器。 然而研究证明,TextCnn在文本分类问题上有着更加卓越的表现。从直观上理解,TextCNN通过一维卷积来获取句子中n-gram的特征表示。TextCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域专注于意图分类时效果很好,应用广泛,且速度快,一般是首选;对长文本领域,TextCNN主要靠filter窗口抽取特征,在长距离建模方面能力受限,且对语序不敏感。
全栈程序员站长
2022/08/03
1.1K0
深度学习:文本CNN-textcnn
深入TextCNN(一)详述CNN及TextCNN原理
本文是本人所写的NLP基础任务——文本分类的【深入TextCNN】系列文章之一。【深入TextCNN】系列文章是结合PyTorch对TextCNN从理论到实战的详细教程。
zenRRan
2019/08/21
6.1K0
深入TextCNN(一)详述CNN及TextCNN原理
干货 | textRNN & textCNN的网络结构与代码实现!
本文来自社区作者 @mantch ,查看TA的更多动态,可在文末扫描社区名片进入。
AI研习社
2019/09/04
1.3K0
干货 | textRNN & textCNN的网络结构与代码实现!
【论文】Awesome Relation Classification Paper(关系分类)(PART II)
1. Relation Classification via Recurrent Neural Network(Zhang 2015)
zenRRan
2019/08/23
1K0
【论文】Awesome Relation Classification Paper(关系分类)(PART II)
BAT面试题42:深度学习解决大规模文本分类问题
深度学习最初在之所以在图像和语音取得巨大成功,一个很重要的原因是图像和语音原始数据是连续和稠密的,有局部相关性。应用深度学习解决大规模文本分类问题最重要的是解决文本表示,再利用CNN/RNN等网络结构自动获取特征表达能力,去掉繁杂的人工特征工程,端到端的解决问题。接下来会分别介绍
double
2019/03/07
1.9K0
一文读懂深度学习:从神经元到BERT
自然语言处理领域的殿堂标志 BERT 并非横空出世,背后有它的发展原理。今天,蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型,深入浅出地介绍了深度学习在 NLP 领域进展,并结合工业界给出了未来的 NLP 的应用方向,相信读完这篇文章,你对深度学习的整体脉络会有更加深刻认识。
Ai学习的老章
2019/05/27
1.3K0
用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路、做法和部分实践的经验。
CreateAMind
2018/07/24
2K0
用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
深度学习在NLP中的应用——TextCNN
卷积神经网络(Convolutional Neural Networks,CNN)的提出使得深度学习在计算机视觉领域得到了飞速的发展,大量基于CNN的算法模型被提出,同时深度学习算法在多个视觉领域实现了突破。最初在文本领域,主要使用的深度学习模型是RNN,LSTM等,既然CNN在图像领域得到广泛的应用,能否将CNN算法应用于文本分类中呢?Kim在2014的文章《Convolutional Neural Networks for Sentence Classification》成功将CNN模型应用在文本分类中。
felixzhao
2022/03/04
3.1K0
深度学习在NLP中的应用——TextCNN
【关于 NLP】百问百答
作者:杨夕、芙蕖、李玲、陈海顺、twilight、LeoLRH、JimmyDU、艾春辉、张永泰、金金金
杨夕
2021/03/11
1.1K0
【关于 NLP】百问百答
【论文】Awesome Relation Classification Paper(关系分类)(PART II)
上一篇【论文】Awesome Relation Extraction Paper(关系抽取)(PART I)介绍了一些关系抽取和关系分类方面的经典论文,主要是以CNN模型为主,今天我们来看看其他模型的表现吧~
AINLP
2019/08/15
6770
一文搞懂NLP | 简单句向量
过去,我们常见的就是从word vector到sentence vector,这种从小unit到大一级unit的方法,统一称为“composion”;这方面的工作有以下的1、2、3、4、5、6、7。
Datawhale
2019/07/08
2.1K0
斯坦福NLP课程 | 第11讲 - NLP中的卷积神经网络
教程地址:http://www.showmeai.tech/tutorials/36
ShowMeAI
2022/05/16
9480
斯坦福NLP课程 | 第11讲 - NLP中的卷积神经网络
中文短文本分类实例六-DCNN(A Convolutional Neural Network for Modelling Sentences)「建议收藏」
DCNN(A Convolutional Neural Network for Modelling Sentences)by NalKalchbrenner等,又是文本分类论文的一力作。”准确表达句子的语义是语言理解的核心”,通过学习机器学习和TextCNN,我们可以知道n-gram特征是NLP文本任务和句子表达的一种重要方法。TextCNN通过不同步长的卷积核(例如2,3,4,5,7)构建n-gram特征,以及最大池化(max-pooling)选择特征,再加上神经网络全局优化的思想,在文本分类任务中取得了不错的效果。
全栈程序员站长
2022/08/22
1K0
中文短文本分类实例六-DCNN(A Convolutional Neural Network for Modelling Sentences)「建议收藏」
如何到top5%?NLP文本分类和情感分析竞赛总结
笔者主要方向是KBQA,深深体会到竞赛是学习一个新领域最好的方式,这些比赛总的来说都属于文本分类领域,因此最近打算一起总结一下。
zenRRan
2019/11/19
1.6K0
【NLP实战】文本分类之 TextCNN
上面一篇文章中,我介绍了一篇利用RNN via Attention解决有毒评论文本分类问题。然而,在工业生产中,RNN、LSTM、GRU等循环神经网络不能并行计算,尽管研究者提出了一些其他的模型,如SRU等。CNN尽管效果在某些时候会稍逊RNN以及RNN的变体,但是CNN在速度方面却有着无可比拟的效果,且由于它的可并行性广被工业界喜爱。
yuquanle
2020/02/21
1.5K0
轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类
本人在大三期间做了一个关于“疫苗接种”主题的舆情分析,主要涉及的技术有:爬虫(微博和知乎评论)、数据清洗、文本特征提取、建立模型(SVM、BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention)、文本摘要等。
全栈程序员站长
2022/09/13
1.3K1
轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类
基于深度学习的FAQ问答系统
| 导语 问答系统是信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎,问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用户的信息需求。问答系统是目前人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。 一、引言        问答系统处理的对象主要包括用户的问题以及答案。根据问题所属的知识领域,问答系统可分为面向限定域的问答系统、面向开放域的问答系统、以及面向常用问题集(Fre
腾讯知文实验室
2018/08/28
18.1K7
基于深度学习的FAQ问答系统
DNN/LSTM/Text-CNN情感分类实战与分析
最近把2014年Yoon Kim的《Convolutional Neural Networks for Sentence Classification》看了下,不得不说虽然Text-CNN思路比较简单,但确实能够在Sentence Classification上取得很好的效果。另外,之前@霍华德大神提了这个问题,链接如下:
zenRRan
2019/08/09
2.7K3
TextCNN文本分类(keras实现)「建议收藏」
深度学习模型在计算机视觉与语音识别方面取得了卓越的成就,在 NLP 领域也是可以的。将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子中的关键信息(类似 n-gram 的关键信息),从而能够更好地捕捉局部相关性。
全栈程序员站长
2022/09/13
1.8K0
TextCNN文本分类(keras实现)「建议收藏」
推荐阅读
相关推荐
textRNN/textCNN文本分类
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档