文本处理(六)——Text-CNN、Word2Vec、RNN、NLP、Keras、fast.ai

2023-10-27

原文:https://www.jianshu.com/p/7f35a4b33f45


Text-CNN

Text-CNN 文本分类

  • TextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim 在 “Convolutional Neural Networks for Sentence Classification” 一文 (见参考[1]) 中提出. 是2014年的算法.


                                                                                                        TextCNN-1

                                                                                                 TextCNN-2

文本分类需要CNN?No!fastText完美解决你的需求(后篇)

  • 想必通过前一篇的介绍,各位小主已经对word2vec以及CBOW和Skip-gram有了比较清晰的了解。在这一篇中,小编带大家走进业内最新潮的文本分类算法,也就是fastText分类器。fastText与word2vec的提出者之所以会想到用fastText取代CNN(卷积神经网络)等深度学习模型,目的是为了在大数据情况下提高运算速度。

使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)

  • CNN模型首次使用在文本分类,是Yoon Kim发表的“Convolutional Neural Networks for Sentence Classification”论文中。在讲解text-CNN之前,先介绍自然语言处理和Keras对自然语言的预处理。

fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择

[站外图片上传中...(image-dd1d2e-1525483118820)]
Another Twitter sentiment analysis with Python — Part 11 (CNN + Word2Vec)

  • This is the 11th and the last part of my Twitter sentiment analysis project.
    挺不错的系列

Dive Into NLTK, Part XI: From Word2Vec to WordNet
挺不错的系列

spacy.io

Using pre-trained word embeddings in a Keras model

  • In this tutorial, we will walk you through the process of solving a text classification problem using pre-trained word embeddings and a convolutional neural network.
  • The full code for this tutorial is available on Github.

Keras-RNN

结合DL with python的书一起看


循环神经网络(RNN)介绍2:keras代码分析
目标:使用keras搭建RNN网路,使用推文数据训练模型

思路:准备工作 -> 数据序列化 -> 得到词嵌入矩阵 -> 训练网络

  • 准备工作:读取相关库函数,读入数据集,划分训练集和测试集,
  • 数据序列化:将文本转换为数字序列
  • 得到词嵌入矩阵:读取glove模型,得到词嵌入矩阵
  • 训练网络:划分训练集和验证集,搭建简单的RNN网络,训练网络

100行深度学习文本分类

  • 深度学习常用的文本分类网络有LSTM和GRU,同时CNN在文本分类中也有一定的效果。 本文将简单实现一个LSTM文本分类框架。
    NLP文本分类实战: 传统方法与深度学习
  • 文档分类是指给定文档p(可能含有标题t),将文档分类为n个类别中的一个或多个,本文以人机写作为例子,针对有监督学习简单介绍传统机器学习方法和深度学习方法。
  • 包含数据预处理:jieba、gensim特征提取,传统ML方法Adaboost以及深度学习方法
  • 本文尝试了多层CNN、并行CNN、RNN与CNN的结合、基于Hierarchical Attention的RNN、迁移学习、多任务学习、联合模型学习。在单模型和联合模型学习上,我们复现、借鉴了2017知乎看山杯比赛第一名陈云的方案,在此表示感谢。深度学习部分代码都是使用Keras框架实现的。

    NLP


用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

  • 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路、做法和部分实践的经验。

从CNN视角看在自然语言处理上的应用

  • 本文主要以CMU CS 11-747(Neural Networks for NLP)课程中Convolutional Networks for Text这一章节的内容作为主线进行讲解。本文主要包括了对如下几块内容的讲解,第一部分是对于常见的语言模型在进行文本表示时遇到的问题以及引入卷积神经网络的意义,第二部分是对于卷积神经网络模块的介绍,第三部分主要是介绍一些卷积神经网络应用于自然语言处理中的论文,第四部分主要是对这一篇综述进行总结。

深度学习在文本分类中的应用

  • 本文总结了文本分类相关的深度学习模型、优化思路以及今后可以进行的一些工作。

鹅厂优文 | 小姐姐如何利用TextCNN识别脏话

长文本的向量表达技术综述

DL4NLP —— 序列标注:BiLSTM-CRF模型做基于字的中文命名实体识别
这个博客也可以看看
Determined22

NLP中自动生产文摘(auto text summarization)

用CNN分100,000类图像
在这篇文章中我们尝试了 用CNN分类113,287类图像(MSCOCO)。

  • 实际上我们将每张训练集中的图像认为成一类。(当然, 如果只用一张图像一类,CNN肯定会过拟合)。同时,我们利用了5句图像描述(文本),加入了训练。所以每一类相当于 有6个样本 (1张图像+5句描述)。
  • 文章想解决的问题是instance-level的retrieval,也就是说 如果你在5000张图的image pool中,要找“一个穿蓝色衣服的金发女郎在打车。” 实际上你只有一个正确答案。不像class-level 或category-level的 要找“女性“可能有很多个正确答案。所以这个问题更细粒度,也更需要detail的视觉和文本特征。

fast.ai

Fast.ai 最实战深度学习在线课程 Lesson1

Fast.ai 最实战深度学习在线课程 Lesson1-7-搜狗微信
Fast.ai 深度学习实战课程-腾讯视频
在 fast.ai 课堂上,我总结的 8 个深度学习最佳实践

深度学习+自然语言处理(NLP)”专栏索引
CRF和LSTM 模型在序列标注上的优劣?


句法分析(使用NLTK+Stanford nlp、LTP)
刘兵《Entity and aspect extraction for opinion mining 》翻译笔记
哈工大车万翔:NLP中的深度学习模型是否依赖于树结构?

Word2vec


无痛理解word2vec

大白话讲解word2vec到底在做些什么
Deep Learning in NLP (一)词向量和语言模型-来博士
NLP 秒懂词向量Word2vec的本质
word2vec前世今生
word2vec 中的数学原理详解(一)目录和前言
词向量-paddlepaddle
词向量-paddlepaddle-极客学院

回望2017,基于深度学习的NLP研究大盘点
张钹院士:AI科学突破的前夜,教授们应当看到什么?
NLP 解决方案是如何被深度学习改写的?
Semantic Data Retrieval: Search, Ranking, and Summarization-讲义网站
神经机器翻译综述
SEE: Syntax-aware Entity Embedding for Neural Relation Extraction
https://arxiv.org/abs/1801.03603


Word embeddings in 2017: Trends and future directions

(Stanford CS224d) Deep Learning and NLP课程笔记(二):word2vec

  • wordNet的缺点
  • one-hot encoding所有词相似度都是0,且存在数据稀疏性和维度灾难的问题;
  • Distributional Representation。从大量语料中构建一个co-occurrence矩阵来定义word representation。矩阵的构造通常有两种方式:基于document和基于windows。通过统计word与document共现的次数得到的矩阵被称为word-document矩阵。这个矩阵一般被用于主题模型。相同主题的word之间往往有着较高的相似度。但该矩阵很难描述word的语法信息(例如POS tag)。我们在课堂上主要讲授的是第二类矩阵:word-context矩阵。通过统计一个事先指定大小的窗口内的word共现次数,不仅可以刻画word的语义信息,还在一定程度上反应了word的语法结构信息。co-occurrence矩阵定义的词向量在一定程度上缓解了one-hot向量相似度为0的问题,但没有解决数据稀疏性和维度灾难的问题。
  • SVD分解:低维词向量的间接学习。基于co-occurrence矩阵得到的离散词向量存在着高维和稀疏性的问题,一个自然而然的解决思路是对原始词向量进行降维,从而得到一个稠密的连续词向量。然而,高昂的计算复杂度(O(mn**2))是SVD算法的性能瓶颈。每一个新词的加入都需要在一个新的矩阵上重新运行一遍SVD分解。
  • word2vec:低维词向量的直接学习。word2vec模型背后的基本思想是对出现在上下文环境里的词进行预测(事实上,后面会看到,这种对上下文环境的预测本质上也是一种对co-occurrence统计特征的学习)。梯度计算需要对每个上下文窗口都计算出训练集中所有单词的条件概率。这对于动辄上百万的词典而言,几乎是一件不可能完成的任务。因此,Mikolov在他2013年发表的论文里提出了一些性能优化的Hacks,包括近似归一化的层次Softmax,和避免归一化的负采样技术。
  • 下一节课,学习结合二者优势的新的词向量模型——Glove模型。

(Stanford CS224d) Deep Learning and NLP课程笔记(三):GloVe与模型的评估

  • 本节课继续讲授word2vec模型的算法细节,并介绍一种新的基于共现矩阵的词向量模型——GloVe模型。最后,重点介绍word2vec模型评估的两种方式。
  • 负采样(Negative Sampling)的似然函数,避免了归一化概率的计算。
  • GloVe模型
    上节课比较了基于统计的词向量模型和基于预测的词向量模型。前者以基于SVD分解技术的LSA模型为代表,通过构建一个共现矩阵得到隐层的语义向量,充分利用了全局的统计信息。然而这类模型得到的语义向量往往很难把握词与词之间的线性关系(例如著名的King、Queen、Man、Woman等式)。后者则以基于神经网络的Skip-gram模型为代表,通过预测一个词出现在上下文里的概率得到embedding词向量。这类模型的缺陷在于其对统计信息的利用不充分,训练时间与语料大小息息相关。不过,其得到的词向量能够较好地把握词与词之间的线性关系,因此在很多任务上的表现都要略优于SVD模型。既然两种模型各有优劣,那么能不能二者各取其长,构造一个更强大的词向量模型呢?这就是接下来要介绍的GloVe模型。在GloVe的原始论文里,作者首先分析了Skip-gram模型能够挖掘出词与词之间线性关系的背后成因,然后通过在共现矩阵上构造相似的条件,得到一个基于全局信息的词向量模型——GloVe模型。
  • 模型的评估:在NLP的研究领域里,一个模型的评估通常有两种方式:Intrinsic 和 Extrinsic。

Kaggle

数据挖掘进阶:kaggle竞赛top代码分享













本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文本处理(六)——Text-CNN、Word2Vec、RNN、NLP、Keras、fast.ai 的相关文章

  • Tomcat启动:Cannot start server. Server instance is not configured.

    Cannot start server Server instance is not configured 在myeclipse中建立虚拟目录的时候不小心物理路径中出现了中文 出现了 服务器 无法启动的问题 所以编码过程中涉及路径的最好不要
  • 14个只有网安人才听得懂的「职场黑话」!

    各行各业中基本都有 职场黑话 网安行业当然也不例外 这些 职场黑话 外行人看可能会一脸懵 但作为一名优秀的网安人来说 你一定要看得懂 1 HVV 把 VV 换成 W 再拿拼音拼一下 懂的都懂哈 2 哥斯拉 不是怪兽哥斯拉 是神器哥斯拉 3
  • Var,Let,Const的区别与使用

    一 为什么要用let const来替代var呢 var具有的特点 1 变量提升 2 可以重复定义 3 没有块级作用域的概念 let和const的特点 let 定义变量 无变量提升 有块级作用域 不允许重复命名 const 定义常量 不允许重
  • python随机选取字符串_Python random模块sample、randint、shuffle、choice随机函数概念和应用...

    Python标准库中的random函数 可以生成随机浮点数 整数 字符串 甚至帮助你随机选择列表序 列中的一个元素 打乱一组数据等 random中的一些重要函数的用法 1 random 返回0 lt n lt 1之间的随机实数n 2 cho
  • iOS编程之——引用系统外字体(自定义字体)

    1 先去网站下载一个字体包 也就是 tff文件 不知道怎么下载的可以度娘 2 将下载后的 tff文件加载到我们的包里面 3 配置Plist文件 这是关键一步 4 OK 现在运行一下 就能看到我们添加的字体了 这就是我们添加到里面的字体了 别
  • 两个线程交替输出内容

    public class App public static void main String args throws Exception sellTicket s new sellTicket Thread t1 new Thread s
  • 毛坯房验收

    1 入户门表面是否光滑 安装是否牢固 密封性 开关是否顺畅 2 窗户开合是否顺畅 是否有划痕 密封性 玻璃是否破损 3 用响鼓槌检查墙面是否开裂 空鼓 4 排水管入户 有水 存水弯是否完好 地漏灌水看是否通畅 5 烟道是否吸烟通畅 点燃纸放
  • 使用feign的get请求传输pojo对象

    先说需求 服务间的调用需要查询数据 但是需要传递一个list数组 写get请求 后台报错却是找不到post请求 报异常 Request method POST not supported 解决 1 参数添加 RequestBody 注解 2
  • 虚拟机Linux图形界面和命令界面切换

    linux切换图形界面alt ctrl F1 F5 更改ubuntu鼠标移出快捷键alt ctrl ctrl alt F3 编辑模式 ctrl alt F1 图形界面模式
  • 全网最全的JAVA所有版本特性【JAVA 1.0 - JAVA 20】

    闲来想了解下各版本之间的特性 搜索没有最新的特性说明 故想写一份 废话不多说 PS 绝对全网最全最齐 若不是 请私聊我补充 哈哈哈哈 JDK Version 1 0 1996 01 23 Oak 橡树 初代版本 伟大的一个里程碑 但是是纯解
  • wordpiece和sentencepiece

    https zhuanlan zhihu com p 75271211
  • 用JAVA判断一段话是否为回文

    实验要求 使用递归的方式判断一段字符串是否为回文 回文是一种正着读和反着读都一样的句子如 我是谁是我 设计思想 先要求用户输入一句话 然后从这句话中选择第一个字符与最后一个字符输入函数dg 函数dg会首先判断这句话是否为空 若为空测直接输出
  • shell中的数学运算

    shell中的数学运算 1 运算符及其说明 2 数学计算命令 3 双小括号 用法 4 let命令 5 expr命令 6 bc命令 7 方法 1 运算符及其说明 如果要执行算术运算 数学计算 就离不开各种运算符号 和其他编程语言类似 Shel
  • 24点自动出题,可打印,A4排版

    为了方便练习24点计算题 编写了这个网页 点击生成题目之后 可以方便的打印出来 题目主要分两类 一类是10以及10以下的计算 比较常见 另外一类是包含11 12 13的计算题 因为用的少 所以难度相对提高一些 比如1 5 11 11 计算方

随机推荐

  • QTableView实现同时删除被选中的多行记录

    一个很简单的功能 就是在QTableView中 有一些不连续的选区 实现将被选中的行删除 首先是获得选区 可以用 QItemSelectionModel 和 QModelIndexList 实现 QItemSelectionModel se
  • 自适应算法

    自适应过程是一个不断逼近目标的过程 它所遵循的途径以数学模型表示 称为自适应算法 通常采用基于梯度的算法 其中最小均方误差算法 即LMS算法 尤为常用 自适应算法可以用硬件 处理电路 或软件 程序控制 两种办法实现 前者依据算法的数学模型设
  • 生产排程系统_甘特图控件XGantt——生产计划排程软件首选的APS控件

    作为最早拥有APS高级计划调度模块的甘特图控件XGantt 该模块推出几十年来 我们一直致力于为生产计划排程软件提供最优的APS解决方案 如今 甘特图 XGantt 在全球已经成为生产计划排程软件首选的APS控件 不仅被全球知名的大型ERP
  • echarts图例过多显示问题

    问题描述 当项目中使用echarts时 会遇到图例过多的问题 面板大小有限 本身饼图或者折线图等已占据面板大部分空间 图例过多时会使图形和图例产生压盖的情况 非常不美观 原因分析 翻阅echarts文档时 我们发现有api可以供我们使用 当
  • 不管人工智能发展如何,开发者都有必要了解 Linux 内核

    Linux 内核在计算机世界的地位有目共睹 称它为计算机世界的基石也不为过 而且它还是全球最大的开源项目 几乎最知名的科技公司都参与其中 包括谷歌 Red Hat SUSE Intel Facebook 甲骨文和华为等 当然还包括 Linu
  • CE6.0 RIL 移植(一)之多路复用MUX

    由于CE中MS提供了相应的代码 所以也是照搬过来了 当时自己摸索花了一些时间 特写下这个经历 以备后用 在移植MS的代码的过程中 最好是将相应的文档拷贝到自己的BSP中来 以防在修改的过程中出现错误了无法还原 MUX 移植 1 gt 拷贝C
  • package com.jiushipos; import android.content.Intent; import android.os.Bundle; import android.os.H

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题 有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中 居左 居右 Sma
  • TCHAR和CHAR类型的互转

    Win32中CStdString 是需要TCHAR类型的值才可以赋值的 而很多文件读取时FILE的fopen函数之类的需要的是CHAR 我们需要把它们互转 这里我在网上找到了一个比较方便的方法 没有定义UNICODE 所以它里面的字符串就是
  • ECNA 2014 部分题解

    目录 D Generalized Roman Numerals 思维dp E Inspectors 拆点跑最小费用最大流 H Time Warp 模拟 A Cure for the Common Code KMP D Generalized
  • python中set index_Python set_index和reset_index详解

    再来介绍一下set index函数的使用 set index就是将列转换为索引 其参数如下 set index keys drop True append False inplace False verify integrity False
  • CentOS 7.9 如何安装Docker

    文章目录 版本选择 1 CentOS安装Docker 1 1 卸载 可选 1 2 安装docker 1 3 启动docker 1 4 配置镜像加速 2 CentOS7安装DockerCompose 2 1 下载 2 2 修改文件权限 2 3
  • linux apache + mysql +php no-yum

    学习PHP脚本编程语言之前 必须先搭建并熟悉开发环境 开发环境有很多种 例如LAMP WAMP MAMP等 这里我介绍一下LAMP环境的搭建 即Linux Apache MySQL PHP环境 一 首先安装操作系统 操作系统 centos6
  • 【推荐】好用的 XPath 插件

    好用的 XPath 插件 XPath Helper 插件介绍 Try XPath 背景 插件介绍 个人感觉 结尾 本菜鸡在写爬虫的时候 经常使用 XPath 提取数据 XPath Helper 以前一直用的 chrome 进行 xpath
  • 通过Dockerfile文件制作新镜像时一大堆报错

    换个好一点的网络 就没问题了
  • java 中的静态变量,静态代码块,动态代码块,构造方法执行顺序的深入探究

    原文 https blog csdn net qq 41063182 article details 81149798 类加载 第一次调用这个类的时候jvm虚拟机会通过类加载器在一个叫做方法区的逻辑内存中将所要用到的类的信息存放在里边 其中
  • python3中编码转化

    1 编码解码概念 首先要明白一些概念 调用函数的时候就不会出错了 编码 把数据变为01比特 网络通信中的编码也是这个意思 解码 从01比特恢复为有意义的表示形式 在python3中 字符串是str类型 而bytes类型表示的是一个字节串 从
  • 文献阅读(24)KDD2020-GCC:Graph Contrastive Coding for Graph Neural Network Pre-Training

    本文是对 Graph Contrastive Coding for Graph Neural Network Pre Training 一文的浅显翻译与理解 如有侵权即刻删除 朋友们 我们在github创建了一个图学习笔记库 总结了相关文章
  • Open3D 计算每个点的协方差矩阵

    目录 一 算法原理 1 计算公式 2 主要函数 3 函数源码 二 代码实现 三 结果展示 一 算法原理 1 计算公式 对于点云数据中的任意一点 p p p 根据其邻域内点的坐标计算其协方差矩阵 计算公式如下 M
  • kubesphere中间件部署

    微服务部署前中间件部署 一 MySQL部署 1 1 使用Docker实现MySQL主从复制 docker run p 3307 3306 name mysql master v mydata mysql master log var log
  • 文本处理(六)——Text-CNN、Word2Vec、RNN、NLP、Keras、fast.ai

    原文 https www jianshu com p 7f35a4b33f45 Text CNN Text CNN 文本分类 TextCNN 是利用卷积神经网络对文本进行分类的算法 由 Yoon Kim 在 Convolutional Ne