CS224N Lecture One学习笔记

本文是斯坦福大学CS224N课程(课程主页:http://web.stanford.edu/class/cs224n/) lecture one的学习笔记。

自然语言处理的定义

自然语言处理是计算机科学、人工智能、语言学交叉领域,目的是使电脑具有处理并理解自然语言的能力以执行某些任务(例如:问答、翻译等)。目前而言,完全理解并表示语义还十分困难。下图表示NLP的各个级别。形态分析(Morphological)是分析该词的构造形式(主要针对英语而言,例如,uninterested = un(前缀)+ interest(词干) + ed(后缀))。句法分析是确定句子的语法结构句子中词汇之间的依存关系。本课程着重讲解句法分析和语义表示(其余级别可自行百度或者谷歌,这里不再解释)

自然语言处理的应用

目前,NLP已经应用在各式各样的应用中,例如:语音识别、机器翻译(现在谷歌翻译已经很强大了)、搜索引擎等等。

人类语言

正如自然语言处理定义中提到,自然语言处理目的是为了让机器理解自然语言,所以我们有必要了解人类语言。
人类语言是一个符号化系统,用于表达speaker/writer的意图,例如使用rocket符号(symbols)表示、使用violin表示。
符号(symbols)能通过以下几种方式编码成信号:声音(即人类说话)、手势(通过手势表达一个词语)、图片(例如前面的火箭图标)、文本。

深度学习

深度学习是机器学习的子领域。与传统机器学习算法相比,深度学习的优势在于自动学习表征(传统机器学习需要花费大量人力和精力手工设计特征)。下面两幅图是传统机器学习和深度学习流程对比,其中深度学习将特征工程和算法合而为一,也就是端到端模型(数据输入到模型直接得到输出,特征工程和算法可看成黑盒子)


DeepNLP = Deep Learning + NLP,即使用深度学习解决NLP的任务和应用(利用深度学习强大的自动特征学习能力),例如:词性标注、命名实体识别、机器翻译、情感分析等等。

NLP困难的原因

上文中提到,虽然NLP有很多应用,但是目前NLP还有许多困难。课程提到其中一个困难是人类语言是模棱两可的(这与编程语言不相同,编程语言不会存在歧义性)。例如:I made her duck,这句话具有歧义。人类会利用常识知识和场景知识解释一句话,但是计算机并没有常识知识。这也是NLP难以解决最大的原因。下图是一些其他例子:

NLP的表征

由于NLP目的是使机器理解自然语言,为此,第一步是需要将自然语言转化为向量。
在传统的方法中,我们常常会使用one-hot向量(one-hot向量只有一个元素为1,其余元素都为0),但one-hot向量有以下两个缺点:(1)稀疏 (2)不具有词义信息。
为了改进这些缺点,我们现在常常使用word2vec或glove技术将单词转化为向量(转化方法下两节课会详细讲解,这里只是提一下),该向量能够表达单词的意思(注意,向量的元素并没有可解释性),同义词在向量空间往往聚集,如下图:

不仅是单词,前缀、后缀、词干、句子、文档等所有级别都使用向量表示。

结论

本节课课程内容简要概述自然语言处理和深度学习的定义,解释了NLP困难的原因,并且也提出将单词意义转化为向量的想法。同时,为了加深对自然语言处理的理解,课程也简述了人类语言的定义。除此之外,本节课列举NLP不同任务所使用传统方法与深度学习方法,具体可以看slide和视频。

CS224N课程学习笔记相关推荐

  1. 台湾大学林轩田机器学习技法课程学习笔记4 -- Soft-Margin Support Vector Machine

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Kernel SVM.先将特征转换和计算内积这两个步骤合并起来,简化计算.提高计算速度,再用Dual SVM的求解方法来解决. ...

  2. 台湾大学林轩田机器学习技法课程学习笔记1 -- Linear Support Vector Machine

    红色石头的个人网站:redstonewill.com 关于台湾大学林轩田老师的<机器学习基石>课程,我们已经总结了16节课的笔记.这里附上基石第一节课的博客地址: 台湾大学林轩田机器学习基 ...

  3. 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...

  4. c语言课程笔记格式,C语言课程学习笔记.docx

    C语言课程学习笔记 C语言基础语言排行榜C--java--objective-C进制:进制:进位机制.用普通的话讲,应该为人为的定义一种度量来标识一样东西.计算机常用的进制有:十进制.二进制.八进制和 ...

  5. 斯坦福大学CS520知识图谱系列课程学习笔记:第三讲高级的知识图谱是什么样的

    这一讲的主题是:一些高级的知识图谱是什么样的.三位讲者分别从他们各自带领的团队构建出来的高质量的知识图谱实例出发,从中我们可以认识到一些大佬们构建的优秀的知识图谱产品有哪些特点和优势,从中对我们自己构 ...

  6. 斯坦福大学CS520知识图谱系列课程学习笔记:第二讲如何构建知识图谱

    上一讲我们学习了知识图谱的一些基本概念: 斯坦福大学CS520知识图谱系列课程学习笔记:第一讲什么是知识图谱 本节课程关于如何构建知识图谱,因为知识图谱的构建是整个知识图谱领域的一个非常核心且基础的工 ...

  7. gram矩阵的性质_第十七课:正交矩阵和GramSchmidt正交化——MIT线性代数课程学习笔记...

    公众号关注  "DL_NLP" 设为 "星标",重磅干货,第一时间送达! ◎ 原创 | 深度学习算法与自然语言处理 ◎ 作者 | 丁坤博 一. 知识概要 这一节 ...

  8. cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...

  9. GAMES101课程学习笔记—Lec 14(2)~16:Ray Tracing(2) BRDF、渲染方程、全局光照、路径追踪

    GAMES101课程学习笔记-Lec 14(2)~16:Ray Tracing(2) BRDF.渲染方程.全局光照.路径追踪 0 引入--辐射度量学概述 1 相关概念 1.1 Radiant Ener ...

最新文章

  1. Android开发——回调(Callback)
  2. Chrome的一点小问题
  3. 舍不得删的12个优质公号
  4. scrapy 采集网页出现丢失url的问题
  5. [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
  6. 如何使用Jmeter对WebSocket进行压力测试
  7. 【浙江大学PAT真题练习乙级】1009 说反话 (20分)真题解析
  8. vmd分解matlab程序,matlab中使用VMD(变分模态分解)
  9. 电脑qq浏览器怎么滚动截长图_电脑上如何滚动截屏长图?这样做最简单
  10. 广告投放媒体发展简史
  11. 几款好用的敏捷开发工具
  12. 阿里p6和p7的主要区别是什么?
  13. Insecure Randomness
  14. 悲情陨落的十大民族品牌
  15. 福建选择阿里云服务器地域(华南/华东/华北)哪个更好?
  16. pandas 插入空列_Pandas在DF创建期间添加额外的空列(Pandas add additional empty columns during DF creation)...
  17. 北京大学陈波悖论课程-期末测试-解析
  18. 什么是等级保护?为什么要开展等级保护?
  19. PHP通过HTTP_USER_AGENT判断是否为手机移动终端的函数
  20. 单片机机器周期与晶振频率的关系(定时器的初值设定问题)

热门文章

  1. 运算放大器——4种基本运放电路(同相放大、反相放大、加法器、差分放大电路)
  2. 018 | JavaWeb网上淘书吧项目源码 | 大学生毕业设计 | 极致技术工厂
  3. David Patterson 撰文:关于RISC-V的五个谬误
  4. 内存马检测与利用研究的优秀文章汇总
  5. EasyDarwin EasyDarwin开源流媒体服务器平台试用笔记(视频流rtsp)
  6. 罚钱太多,项目经理要起义,如何摆平项目管理考核这个大难题?
  7. [转]office 2016 4合1/3合1 专业版 增强版 精简绿色安装版
  8. 报错出现libcrypto.so.10 no found, libssl.so.10 no found ,.so库文件缺失问题
  9. UE5如何将屏幕坐标转为世界坐标和世界方向
  10. P4学习笔记(二)一个简单P4交换机实现