Text-CNN、Word2Vec、RNN、NLP、Keras、fast.ai-20180504

本文集仅为收录自己感兴趣、感觉不错的文章与资源,方便日后查找和阅读,所以排版可能会让人觉得乱。内容会不断更新与调整。文中涉及公众号的文章链接可以会失效,知道如何生成永久链接的小伙伴还望告知。


此前更新的不频繁,尽量之后多更文。另外欢迎加群“Python交友娱乐会所”(QQ群:613176398)。


本文关键词:Text-CNN、Word2Vec、Keras、RNN、NLP、fast.ai


2017知乎看山杯 从入门到第二

  • 利用一个暑假的时间,做了研究生生涯中的第一个正式比赛,最终排名第二,有些小遗憾,但收获更多的是成长和经验。我们之前没有参加过机器学习和文本相关的比赛,只是学过一些理论基础知识,没有付诸过实践,看过的几篇论文也多亏前辈的分享(一个是用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践,另一个是brightmart的 text_classification,里面用Keras实现了很多文本分类的模型)。
  • 下面对在这次比赛中用到的方法和收获的经验,做一个简单的总结和分享。
image

基于 word2vec 和 CNN 的文本分类 :综述 & 实践

  • 传统的向量空间模型(VSM)假设特征项之间相互独立,这与实际情况是不相符的,为了解决这个问题,可以采用文本的分布式表示方式(例如 word embedding形式),通过文本的分布式表示,把文本表示成类似图像和语音的连续、稠密的数据。
  • 这样我们就可以把深度学习方法迁移到文本分类领域了。基于词向量和卷积神经网络的文本分类方法不仅考虑了词语之间的相关性,而且还考虑了词语在文本中的相对位置,这无疑会提升在分类任务中的准确率。 经过实验,该方法在验证数据集上的F1-score值达到了0.9372,相对于原来业务中所采用的分类方法,有20%的提升。

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的书一起看

image

循环神经网络(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

image

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

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

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

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

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

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

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

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

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

image

TextBoxes: 一个快速文本检测器

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

image

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

image

无痛理解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

image

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代码分享


怎样使用github

MarkDown入门指南

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容