深度学习与NLP简单应用
在深度学习中,文本分类的主要原型:Text label,坐边是输入端“X”,右边是输出端“Y”。行业baseline:用BoW(bag of words)表示sentences(如何将文本表达成一个数字的形式),然后用LR或者SVM做回归。
中英文做自然语言处理主要区别,中文需要分词(启发式Heuristic, 机器学习、统计方法HMM、CRF))
深度学习:从端到端的方式,以不掺和人为的计算,从X到Y暴力粗暴的学习。通过很隐层(包含大量线性和非线性的计算)试图模拟数据的内在结构。
新手推荐用kreas,它下面有两个底层,一个是theano,一个是tensorflow,可以自由转换backend也就是说可以让它跑在theano底下,也可以跑在tensorflow底下,它把其他几个深度学习框架综合起来成一种。
关于自然语言相关的库,gensim https://radimrehurek.com/gensim/
一、 Auto-Encoder自编码器
应用场景:无标签的时候需要使用;就算有标签的情况下一本书的内涵太多太大,你希望降维,使得其在后面模型处理中能够接受;
自编码是自己学习自己,通过encoder压缩成一个中继量,目的是希望这个中继量可以通过下一把完全反向的encoder,返回成原本的Input。这里面没有用到任何的label,而是照片2本身和照片2本身,中间加了两个对立漏斗形的神经网络。最后我们可以取中间那个更小的中继量代替原来的图片(因为它可以decoder回原来的图片)。
实现了不用人为提取特征向量。
只能达到局部最优点,无法达到全局最优点。
距离的计算,文本上常用列文斯坦距离,从A变B需要多少步。或者把整个文本表达为矩阵向量,词向量的距离可以用cosine距离等。

二、 CNN4Text(卷积+text)
卷积神经网络,用简单的例子解释,就是手机上的修图软件,拍的照片给个滤镜,照片是不是就长得不一样了,cnn就是用很多滤镜给我原始的图片,进行照耀,照完之后会得到在不同滤镜下的显示形式,这些显示形式也许就暗含这些图片的一些特征。 通过滤镜扫过之后得到新的featureMap我们称为convolved feature。滤镜是怎么得到的呢,是人为初始化一个滤镜,通过之后无数次的学习来更新这个滤镜值,使得这个滤镜值是最好的能提取出fetureMap的滤镜。(加号老师讲)右下图,左边是模糊,右边是边缘化。

如何迁移到文字处理?
1.把每个单词处理成一个横向的向量,就把句子拓展成了类似图片的表达式,

2.把sentence变成1维的,

案例

三、 RNN(带记忆)
Rnn的目的是让有sequential关系的信息得到考虑,St是基于这一个时间点的input和上一个时间点的记忆,然后St再乘以output weight V得到最终输出。
如果Rnn的长度不能记忆几天前的S的话,它的上下文处理能力还是为0,因为它还是不知道你的上下文前提是什么,因此需要LSTM。
四、 LSTM(带记忆)
通过各种运算符号和规则使得整个神经网络里面每个神经网络都能记得一点东西,又会及时的忘记一些东西,使得我记忆的距离能够变得够长。(RNN是一个叠加的过程,下一个永远基于上一个,就会变得非常大和慢)
长效记忆网络,把记忆长效的保留下来。

LSTM中最重要的就是Cell State(记忆纽带) S,它一路向下,贯穿整个时间线,代表了记忆的纽带。它会被XOR(遗忘层处理)和AND(记忆处理)运算符搞一搞来更新记忆,通过这两个运算来知道要记得什么和忘掉什么。

而控制信息的增加和减少的,就是靠这些阀门:Gate,阀门就是输出一个1和0之间的值,1代表把这一趟的信息记着,0代表这一趟的信息可以忘记了。有些记忆比较久的还需不需要留着。

最后得到记忆纽带Ct


五、 案例
可以用在不同的维度上:
维度1:下一个字母是什么?
维度2:下一个单词是什么?
维度3:下一个句子是什么?
维度4:下一个图片、音符是什么?
LSTM案例
深度学习与NLP简单应用的更多相关文章
- 转载:深度学习在NLP中的应用
之前研究的CRF算法,在中文分词,词性标注,语义分析中应用非常广泛.但是分词技术只是NLP的一个基础部分,在人机对话,机器翻译中,深度学习将大显身手.这篇文章,将展示深度学习的强大之处,区别于之前用符 ...
- 回望2017,基于深度学习的NLP研究大盘点
回望2017,基于深度学习的NLP研究大盘点 雷锋网 百家号01-0110:31 雷锋网 AI 科技评论按:本文是一篇发布于 tryolabs 的文章,作者 Javier Couto 针对 2017 ...
- 斯坦福深度学习与nlp第四讲词窗口分类和神经网络
http://www.52nlp.cn/%E6%96%AF%E5%9D%A6%E7%A6%8F%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%8Enlp%E7%A ...
- 深度学习解决NLP问题:语义相似度计算
在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSSM.C ...
- Sony深度学习框架 - Neural Network Console - 教程(1)- 原来深度学习可以如此简单
“什么情况!?居然不是黑色背景+白色文字的命令行.对,今天要介绍的是一个拥有白嫩的用户界面的深度学习框架.” 人工智能.神经网络.深度学习,这些概念近年已经涌入每个人的生活中,我想很多人早就按捺不住想 ...
- 深度学习之NLP维基百科数据模型
知识点 """ 1) from gensim.model import Word2Vec import jieba 2) opencc :将繁体字转换为简体字 转换命令: ...
- 关于深度学习之TensorFlow简单实例
1.对TensorFlow的基本操作 import tensorflow as tf import os os.environ[" a=tf.constant(2) b=tf.constan ...
- NLP 第10章 基于深度学习的NLP 算法
- DSSM 深度学习解决 NLP 问题:语义相似度计算
https://cloud.tencent.com/developer/article/1005600
随机推荐
- mybatis常见错误
1.传入单个参数为list时 List<Objects> query(@param("list") List<String> list) <selec ...
- C# 图片文件与字符串之间的转换
1.将图片文件转化为字符串类型 2.将字符串类型的图片数据转换为本地图片保存
- ASP.NET Core 搭配 Nginx 的真实IP问题
一.前言 Nginx(Engine X)是一个高性能HTTP和反向代理服务,是由俄罗斯人伊戈尔·赛索耶夫为访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发 ...
- jeecg入门操作—表单界面
一.搭建jeecg开发环境 参考环境搭建步骤 https://www.cnblogs.com/dyh004/p/10687633.html 二.创建用户数据库表: 登录上jeecg平台,点击在线开发- ...
- git命令的理解与扩展
Git的模式如图: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Repository:仓库区(或本地仓库) 一.新建代码库 # 查看gi ...
- STL—之迭代器,文中推荐的博客很给力
在此,不再赘述迭代器本身的意义和作用,本质上,迭代器就是一种泛型指针.但是不同的容器对应的迭代器是不同的,我们使用迭代器的时候,需要认识到: 知道迭代器的类型是一件很重要的事情. 在此,给出一个描述迭 ...
- java易混淆知识小结
1.java的基本数据类型,及所占字节和范围 byte: 字节型,占1个字节,8位,范围是 -2^7 ~ 2^7-1 short:短整型,占2个字节,16位,范围是 -2^15 ~ 2^15 ...
- Windows apache-flume-1.6.0+Kafka+Es
apache-flume-1.6.0 kafka_2.11-1.1.0 elasticsearch1.5.1 flume配置 a1.sources = kafkaSource a1.channels ...
- 前端js日期时间格式转换
前端前后端接口处理时经常会遇到需要转换不同时间格式的情况,比如时间戳格式转换成正常日期显示来进行前端展示. 下面是分享一些不同格式的日期转换函数方法. /** * 时间戳转时间 * @param {S ...
- novaclient的api调用流程与开发
novaclient的api调用流程与开发 2015年07月05日 19:27:17 qiushanjushi 阅读数:3915 http://blog.csdn.net/tpiperatgod/ ...