开篇

过目就忘说的可能就是在下了,所以现在所有的学习内容我都会写成博客,不成博客的就是过目就忘啦。这是系列不算挖坑,前面写了几篇Tensorflow的文章,词向量这篇一直处于难产中,拖延症比较严重。争取这两天能够写出来。下面开始我们的正题,这篇博客的内容主要来源于17年牛津大学的NLP课程,这边放出课程oxford-cs-deepnlp的github地址和网易云课堂课程的视频链接,夸一下网易,很有担当的课程,算是给了我们这些听力一般的学生一条求学之路,虽然它拒了我加入申请。
下面开始我们的正题,简单说一下这门课程的主要内容,课程是以各种NLP任务为主要单元来呈现的,而我这篇博客主要来源于第二周的课程,希望能够大家一个轮廓,知道DeepLearning可以做哪些NLP任务,这些任务我后续都会TensorFlow去实现,这里不给自己挖坑了,不定期更新。本课程基本涵盖了大部分的热门NLP任务,对初入NLP领域的人有一个很好的引导作用,但是理论可能就不会太过深究,毕竟一节课也就两个小时,要把一个子领域的任务讲清楚已近相当难得了。我可能不太会去使用课程中的数据集去完成相应的任务,但是任务内容肯定是一致的。

Deeplearning for NLP

这部分主要过一下课程里面的基本任务,细节不多提。首先是词的表示,这是NLP所有任务的基础,这边贴出课程ppt上的内容,看看我们在实践中会遇到哪些问题,这些以后都会一一给出解决方案。

这边稍微提一下什么是oov,全称叫做out of vocabulary,就是字面上的意思,超出词典的单词,为什么会出现这样的情况呢,看过我之前博客的同学,会发现,我们在生成词典的时候是会考虑词频高的单词的,这样的话有些词频低的词我们就不会放入词典里面,这样做的原因是我们的计算资源确实有限,不可能覆盖到全部的单词,但是这样确实会给很多NLP任务带来很多的问题,举一个简单的例子,比如我们要做文本生成的任务,语料中有很多的人名,但是他们出现的频率很一般,我们没有考虑把他们放到词典里面,这样我们生成文本的时候去词典里面去搜索单词的时候就不会有,那样我们生成的文本就不会这些人名(文本的生成是依赖相应的词典构建的,后面我们会多次提到相应的问题)。
回到词的表示,现在最流行的就是使用下上文的一些语义来表示我们的词向量,也就是我们熟知的Word2vec。不多提,会有博客专门讲它的实现。

这边列出了常见的任务,包括文本分类,文本生成,相信你看完上图的分类会很清楚他们各自都是干什么的。

更加高级的就是文本理解,不幸我做的基本任务就是文本理解里面的,为自己默哀三分钟。

数据集

课程中的数据集,这里不多讲,大家看ppt里面的简介就知道了,很清楚

一个数据集就足以诠释课程中全部的任务

深度学习框架

这边就讲一下静态计算图和动态计算图的区别。

依据采用动态计算或是静态计算的不同,可以将这些众多的深度学习框架划分成两大阵营,当然也有些框架同时具有动态计算和静态计算两种机制(比如 MxNet 和最新的 TensorFlow)。动态计算意味着程序将按照我们编写命令的顺序进行执行。这种机制将使得调试更加容易,并且也使得我们将大脑中的想法转化为实际代码变得更加容易。而静态计算则意味着程序在编译执行时将先生成神经网络的结构,然后再执行相应操作。从理论上讲,静态计算这样的机制允许编译器进行更大程度的优化,但是这也意味着你所期望的程序与编译器实际执行之间存在着更多的代沟。这也意味着,代码中的错误将更加难以发现(比如,如果计算图的结构出现问题,你可能只有在代码执行到相应操作的时候才能发现它)。尽管理论上而言,静态计算图比动态计算图具有更好的性能,但是在实践中我们经常发现并不是这样的。

老实说动态计算图bug会更加容易调,比较适合nlp,同时代码也更加容易理解,但是无奈的是,我已经入坑tf,大家有机会还是去学习一下pytorch。

ps:学习是带有仪式感的活动,大家加油。

Deeplearning for NLP (简介)相关推荐

  1. 自然语言处理NLP简介

    自然语言处理NLP简介 NLP简介 1 引言 人工智能.机器学习.深度学习 什么是自然语言处理? 人工智能的流派 2 NLP发展历史 人工智能发展历史 推理期 知识期 学习期 文本的预训练可分为两个重 ...

  2. NLP判断语言情绪_机器学习中的NLP简介

    在1970年代,许多程序员开始编写"概念本体",将现实世界的信息结构化为计算机可理解的数据.例子有MARGIE(Schank,1975),SAM(Cullingford,1978) ...

  3. 2019,不可错过的NLP“高光时刻”

    作者 | Elvis 译者 | 凯隐.夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]对自然语音处理(NLP)领域而言,2019年是令人印象深刻的一年,本文将回顾2019年NLP ...

  4. 技术03期:自然语言处理NLP【分词篇】

    NLP简介和三种分词模型 NLP逐渐成为人工智能一大热点研究方向,目前国外对英文分词的研究比较深入,而中文分词发展较缓.它需要联系上下文.作者背景.内容背景等进行调整. 处理这些高度模糊句子所采用消歧 ...

  5. 8种优秀预训练模型大盘点,NLP应用so easy!

    https://www.toutiao.com/a6674855848902132235/ 大数据文摘出品 编译:李雷.蔡婕 如今,自然语言处理(NLP)可谓遍地开花,可以说正是我们了解它的好时机. ...

  6. NLP(新闻文本分类)——基于机器学习的文本分类

    文本表示方法 在机器学习算法的训练过程中,假设给定NNN个样本,每个样本有MMM个特征,这样组成了N×MN×MN×M的样本矩阵,然后完成算法的训练和预测.同样的在计算机视觉中可以将图片的像素看作特征, ...

  7. NLP(新闻文本分类)——数据读取与数据分析

    初始数据 import pandas as pd df_train = pd.read_csv('E:/python-project/deep-learning/datawhale/nlp/news- ...

  8. NLP - 新闻文本分类-baseline

    本次新人赛是Datawhale与天池联合发起的0基础入门系列赛事第三场,赛题以自然语言处理为背景,要求选手根据新闻文本字符对新闻的类别进行分类,这是一个经典文本分类问题.通过这道赛题可以引导大家走入自 ...

  9. 《自然语言处理实战入门》第三章 :中文分词原理及相关组件简介---- 汉语分词领域主要分词算法、组件、服务(下)

    文章大纲 0.内容梗概 3. NLP 云厂商 3.1 百度语言处理基础技术 简介 特点 .服务范围 调用样例 3.2 PaddleNLP 3.3 腾讯NLP 简介 特点.服务范围 调用样例 3.4 阿 ...

最新文章

  1. #include 中的stat.h文件到底在哪个目录下面?
  2. 线性代数 矩阵消元与回代
  3. mysql数据库别名_MySQL数据库表名、列名、别名区分大小写的问题
  4. 028-进阶(网络编程)
  5. 命令行编译_[Bazel]自定义命令行编译标志
  6. Q91:真实地模拟透明材质(Realistic Transparency)
  7. python字符串常用函数-Python字符串常用函数详解
  8. linux下 Tomcat 端口号修改
  9. 对存在过期 binlog 的 MySQL5.7 添加从服务器
  10. java学习(java入门)
  11. 计算机网络管理员基础pdf,复习题计算机网络管理员高级.pdf
  12. 系统设计之路:如何设计一个URL短链服务
  13. 老生常谈01 - 每日三省吾身
  14. geoserver 官方文档翻译(其一)----- CQL and ECQL cql_filter例子
  15. 【Linux】Linux的共享内存
  16. 阿里云OSS直传多文件上传遇到的问题及解决方案
  17. 小程序公共封装ajax,微信小程序HTTP请求从0到1封装
  18. C# 生成二维码, winform生成二维码,二维码编号自动增加
  19. 差分龄期(age of diff)对RTK定位精度的影响分析(包含RTKLIB实际测试)
  20. 锐捷ac怎么发现局域网ap_【无线】无线查看限速配置(AC和AP的命令一样)

热门文章

  1. 记录一个错误,Studio中导入model不显示
  2. 行为识别笔记:improved dense trajectories算法(iDT算法)
  3. 如何解决mac拔掉耗电量太大的设备以重新启用usb设备
  4. vue中弹幕实现及优化
  5. python搜索文献 速成_0基础5天速成Python,你也能发top期刊
  6. Ableton Live 10 Suite v10.1.42 WiN-MAC 音乐制作宿主软件
  7. VLAN与PVLAN的区别
  8. linux 打印网卡与IP对应列表
  9. 【Altium designer】快捷键小技巧
  10. Altium DesignerV21.4下载链接备份