NLP第一课:寻找合适的途径/方式表示词的意义

问题一:如何去代表一个词的“意义”?
表示方法一:one-hot,词向量的长度是不同词的总数,每个向量只有一个地方是1,其余为零,感觉这种表示方法很笨拙,不太能代表词的意义,单个向量意义不大,也没法表示词之间的关系,总之就是太笨了。
表示方法二:word2vec,这个思想来源于“词的意思应该被它周围的文本所表示”,用词周围的的词来表示这个词,有点完形填空的味了。

Note: word vectors are sometimes called word embeddings or word> representations. They are a distributed representation.

word2vec算法步骤:

Idea:
• We have a large corpus of text
• Every word in a fixed vocabulary is represented by a vector
• Go through each position t in the text, which has a center word
c and context (“outside”) words o
• Use the similarity of the word vectors for c and o to calculate
the probability of o given c (or vice versa)
• Keep adjusting the word vectors to maximize this probability


基本上就是知道一个中心词v,计算v周围的词o出现在v周围的概率,不断改变这个词向量的数值,让这个概率不断变大。
这里有几个问题需要依次解决:

  1. 算法里提到用词向量之间的相似程度来计算概率,这个相似程度怎么算?
  2. 这个概率又该怎么算?

这两个细节问题稍后介绍,先说一般的:优化概率,让概率变得更大,优化的目标函数是什么?

这个函数就是是算法的目标函数。
首先解决第二个问题:怎么计算概率P?
这里要用两个向量来表示一个词:

  1. Vw:当w是一个中心词
  2. Uw:当w是一个周围词


第一个问题也解决了,就是用中心词与周围词的点积作为相似度的度量。
然后是梯度下降的方法来优化目标函数,还要重新观看视频手推一下。
到现在为止,已经学习了word2vec两个模型之一:Skip-grams (SG)模型,SG模型从中心词预测周围词;另外一个模型则是Continuous Bag of Words (CBOW),CBOW从周围词预测中心词。说的是得到词向量的方法不同,计算P的方式不同。
训练时所用到的提高效率的办法还有:Negative sampling,负采样,这与naïve softmax属于同一个范畴,并且是前者的优化策略,可以提高训练的速度。
有关Negative sampling和word2vec的原paper阅读笔记在之后更新。
需要弄清楚的地方:模型的优化过程(需要手推)、为什么需要采用负采样。

CS224n学习笔记-1相关推荐

  1. cs224n学习笔记

    *. Tips: loga(x)log_a(x)loga​(x)在机器学习中默认为ln(x)ln(x)ln(x) 0. 主要参考: CS224n专栏 AILearners/blog/nlp/cs224 ...

  2. nlp cs224n 学习笔记1 Introduction and Word Vectors

    注:个人笔记,价值有限,不建议逗留. word embedding 的意义和目的? 通过一种映射,将自然语言中的单词,嵌入到n维欧式空间中,得到可以用数学语言表达并用计算机计算的"词向量&q ...

  3. CS224n学习笔记1-nlp介绍和词向量

    文章目录 参考 one-hot:维度太大,单词太多 使用相似度:–>相似度也很多. 分布式语义:含义与上下文有关 –>由相似的上下文得到一个小的密集的向量–>word embeddi ...

  4. cs224n学习笔记 03:Subword Models(fasttext附代码)

    课程内容 语言学的一点小知识 词级字符级模型 n-gram思想 FastText模型 1 .人类语言声音:语音学和音系学 语音学是音流,这是属于物理层面的东西 词法学:一个n-grams的代替方案 在 ...

  5. CS224n学习笔记:Lecture1 2

    开始的这部分主要是对DL4NLP的一个简介. 个人理解,DL4NLP中,所有层级都是以向量的形式进行处理,用向量表示单词.用向量表示句子等.向量是最灵活的形式,维度自由,可组成矩阵,可组成高维的ten ...

  6. cs224n学习笔记9-问答系统

    目录 Question Answering 问答系统 Question Answering 问答 Reading  Comprehension 阅读理解 Stanford question answe ...

  7. 斯坦福CS224N学习笔记-6 依存分析

    课程内容概述 句法结构:一致性与依赖性 依存文法和Treebank 基于转移的依存分析 使用神经网络的依存分析 描述语言结构的两种方法 上下文无关文法 上下文无关文法=短语结构文法=句子成分 依存文法 ...

  8. 【cs224n学习作业】Assignment 1 - Exploring Word Vectors【附代码】

    前言 这篇文章是CS224N课程的第一个大作业, 主要是对词向量做了一个探索, 并直观的感受了一下词嵌入或者词向量的效果.这里简单的记录一下我探索的一个过程. 这一下几篇文章基于这次作业的笔记理论: ...

  9. 斯坦福cs224n教程--- 学习笔记1

    一.前言 自然语言是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战的. 通过经典的斯坦福cs224n教程,让我们一起和自然语言处理共舞!也希望大家 ...

最新文章

  1. Tesseract-OCR引擎 入门
  2. Python用requests完成最简单的爬虫
  3. 【MM】计划交货成本(Delivery Costs)
  4. Hungtingdon road surgery
  5. mysql触发器学习的一个小错误
  6. VMware10.0.4下 CentOS 6.5 cmake安装 MySQL 5.5.32
  7. 基于 Blazor 打造一款实时字幕
  8. java 8 java demo_Java 8 中的 Streams API Demo
  9. 最全NFC芯片技术厂商介绍及应用介绍
  10. Python之冒泡排序和选择排序的比较
  11. Java ADF Template程序不能连接ArcGIS Server问题
  12. 基于腾讯云的Discuz论坛搭建
  13. 记录一次:微信支付申请时,网站不通过/统一驳回的问题解决方法
  14. 转:基于Spark的电影推荐系统(包含爬虫项目、web网站、后台管理系统以及spark推荐系统)
  15. 计算机与三菱plc485通讯,三菱plc同三菱变频器RS-485通讯功能的编程实例
  16. 一仓库失窃,四管理员被传讯_如何找到丢失或失窃的Android手机
  17. Linux软件的安装
  18. 开机自启动bat脚本,并显示Dos窗口
  19. 大学生活质量指北,高考毕业生填报志愿参考必备
  20. 任务栏信息栏中图标闪动

热门文章

  1. 性能测试的常见瓶颈分析及调优方法
  2. c语言中3%3e2%3e1的值,计算机编程基础
  3. win10镜像分享,纯净镜像,供大家下载!
  4. FFmpeg 推流不同视频格式参数
  5. PCI-1761驱动程序
  6. Python全栈(五)Web安全攻防之7.MySQL注入读写文件和HTTP头中的SQL注入
  7. Yolov3、v4、v5、Yolox模型权重及网络结构图资源下载
  8. 《荒漠甘泉》4月23日
  9. 单位序列响应和阶跃响应的z域分析 matlab,信号与系统 [薛莲,周茉,刘少敏 主编] 2015年版...
  10. 用python写一个车牌号识别系统