NLP自然语言处理学习笔记(二)Word2Vec
NLP自然语言处理学习笔记(二)Word2Vec
- 一、Word2Vec
- 二、负采样
本文是根据吴恩达教授的教学视频来整理的学习笔记,部分图片来源于视频的截图。原教学视频连接 https://mooc.study.163.com/learn/2001280005?tid=2001391038#/learn/content
一、Word2Vec
Word2Vec是词嵌入的一种算法。分为Skip-grams和CBOW两种。Skip-grams是给定中心词来预测上下文,CBOW是给定上下文来预测中心词。
下图中,以Orange为中心词,来预测上下文。
训练过程如下图:
Skip-grams算法的缺点主要是运行速度太慢。
改善方式一:softmax层需要对10000个样本求和,速度慢。因此使用分级softmax的算法,构建一课分类树,先判断预测出来的词是位于词汇表的前5000还是后5000,然后再继续做更细的分类。在实际使用中,这棵树通常可能不是对称的,将频繁出现的词放在贴近树根部的位置,将出现频率较低的词放到离树根部较远的位置。
改善方式二:负采样,下一小节将介绍。
二、负采样
正样本的分类结果是1,负样本的分类结果是0。
训练模型:
模型的输出是10000个softmax分类器,每次迭代选择1个正样本和k个负样本,来对参数进行更新。
如何选择负采样的样本?
如果按频率选择,会出现很多the, and, a, an这样的高频词,造成干扰。
如果完全均匀地选择,不考虑频率,效果又不太好。
因此有研究者建议,按频率的3/4次方来采样,可以取得比较好的效果。
NLP自然语言处理学习笔记(二)Word2Vec相关推荐
- NLP自然语言处理学习笔记(十二)(转自咕泡AI)
问答机器人排序模型 目标 知道模型中排序中的概念和目的 知道模型中排序的实现方法 1. 排序模型的介绍 前面的课程中为了完成一个问答机器人,我们先进行了召回,相当于是通过海选的方法找到呢大致相似的问题 ...
- NLP自然语言处理学习笔记(十一)(转自咕泡AI)
问答机器人介绍 目标 知道问答机器人是什么 知道问答机器人实现的逻辑 1. 问答机器人 在前面的课程中,我们已经对问答机器人介绍过,这里的问答机器人是我们在分类之后,对特定问题进行回答的一种机器人.至 ...
- NLP自然语言处理学习笔记(十)(转自咕泡AI)
Attention的原理和实现 目标 知道Attention的作用 知道Attention的实现机制 能够使用代码完成Attention代码的编写 1. Attention的介绍 在普通的RNN结构中 ...
- NLP自然语言处理学习笔记(八)(转自咕泡AI)
分类的目的和分类的方法 目标 能够说出项目中进行文本的目的 能够说出意图识别的方法 能够说出常见的分类的方法 1. 文本分类的目的 回顾之前的流程,我们可以发现文本分类的目的就是为了进行意图识别 在当 ...
- NLP自然语言处理学习笔记(七)(转自咕泡AI)
走进聊天机器人 学习目标 知道常见的bot的分类 知道企业中常见的流程和方法 1. 目前企业中的常见的聊天机器人 QA BOT(问答机器人):回答问题 代表 :智能客服. 比如:提问和回答 TASK ...
- NLP自然语言处理学习笔记(一)(转自咕泡AI)
1深度学习的介绍 目标 知道什么是深度学习 知道深度学习和机器学习的区别 能够说出深度学习的主要应用场景 知道深度学习的常见框架 1. 深度学习的概念 深度学习(英语:deep learning)是机 ...
- NLP自然语言处理学习笔记(三)(转自咕泡AI)
Pytorch完成基础的模型 目标 知道Pytorch中Module的使用方法 知道Pytorch中优化器类的使用方法 知道Pytorch中常见的损失函数的使用方法 知道如何在GPU上运行代码 能够说 ...
- NLP自然语言处理学习笔记(四)(转自咕泡AI)
使用Pytorch实现手写数字识别 目标 知道如何使用Pytorch完成神经网络的构建 知道Pytorch中激活函数的使用方法 知道Pytorch中torchvision.transforms中常见图 ...
- 自然语言处理自学笔记-02 Word2vec——基于神经网络学习单词表示
自然语言处理自学笔记-02 Word2vec--基于神经网络学习单词表示 Word2vec 定义损失函数 skip-gram算法 从原始文本到结构化数据 制定实际的损失函数 近似损失函数 连续词带模型 ...
最新文章
- 人均年薪400万、公司年亏40亿,正在盖大楼的DeepMind最新财务数据曝光
- linux date时间戳互相转换
- 让pt-slave-restart支持MariaDB
- ros_openvino_toolkit环境搭建纪实
- 用生动的例子花式解释:python类中一定需要有 __init__方法么?没有会怎样?
- Windows系统安装ActiveMQ
- jabber服务器_最近JavaScript Jabber播客-Microsoft(而非Microsoft)和Web
- A8板卡AM3352移植环境搭建记录
- 视频分辨率过高,导致部分手机播放失败
- 电脑知识:台式电脑如何使用无线网上网?
- Javase尚硅谷笔记
- 最全工业以太网通讯协议
- 干货:一文读懂数据仓库设计方案
- exe4j打成的exe文件运行时每次弹窗this executable was created with an evaluation version of exe4j
- POJO有哪些要求?
- 【轉】一個在台積電工作3年的工程師寫給學弟學妹們的信
- 写一些生活的琐事(纯属发泄)
- Jin Ge Jin Qu hao - UVa 12563 dp背包
- 到底什么是区块链?数字货币技术开发朔源
- java四则运算考试系统_小学生四则运算出题软件-基于java控制台的实现
热门文章
- mysql utf8 czech ci_MySQL字符集小结
- Java学习网站有哪些
- F3分布式存储颠覆传统存储方式
- 迅控SVS为某公安局打造综合联动指挥中心及合成作战中心
- jQuery Easing 使用方法及其图解
- android 华为手机拍照,拍照:同为1300万像素画质却有差距_华为手机_手机Android频道-中关村在线...
- 攻防世界 Misc 坚持60s
- cas未能够识别出目标 ***;票根
- cas TicketValidationException 未能够识别出目标 ‘ST-1-UxVA37oEE-qN-S0NNZclYXsXxFQSD-20200510PZSQ‘票根
- 最新七合一收款码合成系统源码+34款样式