「机器学习_12」 词向量

                          词向量

概述

离散表示: one-hot  / bag of words / TF-IDF / N-gram

分布式表示:共现矩阵 /  NNLM 神经网络语言模型 / CBOW(continue bag of  words)

NB:一些模型或者算法的具体解释我单独写在了新的文章中,并附了链接.

1. 概述

为把人们所理解的自然语言让计算机也能够认识并且操作,需要将人的语言(即文字)转换成计算机的语言(即数字)

我们将其称为词向量。

把文字转换成词向量有多种编码方式:大致分为两类,离散表示和分布式表示。

 

离散表示具有的缺点:

1 词表维度随着语料库增长膨胀

2 n-gram词序列随着语料库膨胀更快

3 数据稀疏的问题

 

2. 离散表示

离散表示:无法衡量词与词之间的关系,即在编码过程中并不考虑词的顺序,以此为代表的编码方式包括:

  •                 one-hot 
  •                 bag of words
  •                 TF-IDF
  •                 N-gram

 

2.1 one-hot

1. 介绍

one-hot是把语料中的所有词列在一个词典中,每个词都有唯一的索引。

在词典中的顺序与在语料中的顺序无关,如果词典里有十个词,那么这个词典就是1*10维的。

对于语料中的每一个词,都构造一个1*10维的向量,其中语料中的词出现过一次或者多次,都记为1,没出现过则记为0.

 

2.例子

3.缺点

词矩阵太稀疏,并且没有考虑词出现的频率。

具体解释可参考:「机器学习_7」 one-hot encoding解释

 

2.2 Bag Of Words

在此模型中,文本(例如句子或文档)表示为其单词,而忽略了语法甚至单词顺序,但保持了多重性。

词袋模型,会统计词在语料中出现的次数,是one hot词向量的加和。用元素的频率表示文本的特征。

具体解释可以参考:「机器学习_8」Bag-of-Words

 

2.3 TF-IDF

是一种统计方法 ,用以评估一个词对于一个文本的重要程度。其中,TF是一个衡量一个单词在文档中出现的多频繁的指标。 IDF用于衡量一个词的重要程度。

  TF(t)=(t在文档中出现的次数)/ (文档中总的词数)

  IDF(t)=log(文档总数/包含有t的文档数)

  TF-IDF =TF*IDF

结论:词的重要性随着词在文档中出现的次数而正比增加,并且随着词在语料库中出现的频率呈反比下降。

即词在文本中出现的频率越高,而在其他文档中出现的频率越低  ,越能更好做分类。

 

2.4 N-gram

N代表是几元分词,(比如:如果是bi-gram就是二元分词, 用每两个相邻的词作为一个词作来构建向量)、

 

3.分布式表示

分布式表示:即用一个词附近的其他词来表示这个词。以此为代表的编码方式包括:

  •              共现矩阵
  •              NNLM 神经网络语言模型
  •              CBOW(continue bag of  words)

 

3.1  共现矩阵

1.介绍

主要用于发现主题,(n个词共同出现的次数),使用一个对称的局域窗,窗口的大小表示词左右的几个词,将共现矩阵的行 或者 列作为词向量, 

2.缺点

  • 向量维数随词典大小线性增长   解决方法:降维  PCA  SVD 
  • 存储整个词典所需空间消耗巨大
  • 矩阵稀疏

 

3.2  NNLM

 神经网络语言模型   用前N个词去推测最后一个词

 

3.3    CBOW

用左右附近的词去推测中间的词,相比NNLM 去掉了隐层,用求和代替拼接。 

 

完善中!!!!

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值