自然语言处理(NLP)(one-hot vector&Word Embedding词嵌入&语言模型&词向量&CBOW&skip-gram&negative sampling负采样模型)

自然语言处理的应用

  • 拼写检查、关键词检索......
  • 文本挖掘(产品价格、日期、时间、地点、人名、公司名)
  • 文本分类
  • 机器翻译
  • 客服系统
  • 复杂对话系统

one-hot vector

        假设词库总共有n个词,那我们打开一个1*n的高维向量,而每个词都会在某个索引index下取到1,其余位置全部都取值为0。

Word Embedding  词嵌入

       最简单粗劣的理解就是:将词进行向量化表示,实体的抽象成了数学描述,就可以进行建模,应用到很多任务中,例如比较词语词之间的相似性,可以直接通过向量之间的余弦距离度量来确定。

       例如一个词:“苹果”,将其表示成 [0.4, 0.5, 0.9, ...], “香蕉”:[0.3, 0.8, 0.1, ...]。如下图所示,相似的单词就会被投影成相似的角度。对应与one-hot的向量表示,如此表示方式,1.避免大量词汇的数据稀疏性,2.同时对数据进行了降维。3.句子级上的表示,加入了词与词之间的相互关系。

       其实word嵌入是一种分布式的特征表述,向量的不同维度用来表征不同特征,不同维度上就代表着不同的语义。例如苹果和红旗都是红色的,苹果和香蕉都是水果。所以编码中编入的信息包含颜色和属性信息的话,则实质上往不同空间维度上投影,则语义相似性度量的结果是不一样的。


 

语言模型

语言模型就是说一句话的概率是多少

一句话的翻译有很多种可能性,最终会选择概率最高的那个

我今天下午打篮球——还要先做分词任务——我 今天 下午 打 篮球

怎样变得简单一点

n-gram模型

n-gram=1表示他只跟前面的一个词相关,n-gram=2表示跟前面的2个词相关

词向量

把每个词转换成一个向量,而不是字

越接近的词的向量之间的余弦夹角越小

我们构造出来的词向量是跟这个词的拼写是无关系的,是基于上下文环境建模的。英文说“我今天买了4个苹果5个梨”,到西班牙语中依然是“我今天买了4个苹果5个梨”,4和5出现的位置是类似的,这是符合人类正常说话的逻辑的

无论是英语还是西语,他们的向量空间都是类似的

神经网络模型当中的2个基础模型:CBOW和Skip-gram

CBOW做的是基于上下文能不能预测出来当前的词

Skip-gram恰好是CBOW的颠倒,基于当前的词来预测上下文

把最大似然估计转换成对数似然估计

哈夫曼树,词频越高的放在越靠近根节点

词向量其实是神经网络的一个副产品

CBOW还用到了逻辑斯蒂回归,能把任意一个数的值都投影到0~1范围内,并且越大的越大。哈夫曼树的左右节点,往左走还是往右走就可以根据逻辑斯蒂回归的大于0.5还是小于0.5

skip-gram就是CBOW类似了,就不详细说了

negative  sampling 负采样模型

如果样本空间太大太大,例如有十万个词

线段长度根据词频来分配,词频越高,长度越长;词频越小,长度越短

影评情感分类数据

基于词袋模型训练分类器

准备word2vec输入数据

使用gensim构建word2

blog-code/word2vec.ipynb at master · skyerhxx/blog-code · GitHub

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值