NLP-Tfidf/词向量

目录

一、TF-IDF表示法

1.词频表示句子的缺点

2.TF-IDF介绍

二、词向量

1.One-hot表示法的缺点

2.分布式表示法

3.词向量到句子向量


一、TF-IDF表示法

1.词频表示句子的缺点

TF-IDF表示法可以更好地表示句子之间的相似度。如果仅仅是通过统计词频的方式来表示一个句子的话:

可以看出,出现次数多的其实并不是很重要,有些词比如“的”“了”,其实是没有重要含义的,因此词频表示句子,不太好。

 

2.TF-IDF介绍

公式如下所示:

其中各个符号的含义已经表示出来。第一项依旧是考虑频率,但第二项是重点,比如:

①在一篇文档d中,w出现了2次,s出现了4次。

②我们有100篇文章(N=100),其中单词w出现在了5篇文章中,单词s出现在了90篇文章中。

那么这两个单词的TF-IDF就分别是:

2 * log(100/5) = 2log20,大概是6

4 * log(100/90) = 4log(10/9),大概是0.4

说明,第一个单词很重要,可能是科技类文章中的“自然语言处理”,第二个单词不重要,可能是“非常”。

二、词向量

1.One-hot表示法的缺点

在NLP中,最重要的部分,是理解语义,在One-hot编码中,是无法计算出语义相似度的。无论是通过余弦相似度,还是欧式距离,都不行。

并且,One-hot表示法过于稀疏,对于中文来说,可能有十万个单词,那么单词表示的时候就会有10万维的向量。

2.分布式表示法

分布式表示法就是用指定维度的向量,在里面调整数据,从而达到表示单词的效果。这个数据通常是训练得到的,可能需要10^9或者更多的单词数据用来训练,训练的时候必须指定的就是单词的维度。

优点:

①向量长度可以自定义,通常可以根据词汇的量,定义出50/100/200/300维度的向量。

②由于每个维度都有了数据,因此可以度量单词之间的距离。

③容量大。一个100维的向量,可以表示无数个单词,即使每个位置只能取0/1,也能表达2^100个单词。而onehot只能表示100个单词。

④某种意义上,词向量代表了词的意思。

3.词向量到句子向量

①平均法则

该方法很简单,将句子包含的所有单词向量取个平均即可。比如:

"我们":[0.1,0.2,0.1,0.3] ,"去":0.3,0.2,0.15,0.2],"上课":[0.2,0.15,0.4,0.7]

平均得到:[0.2,0.18,0.22,0.4]

则“我们去上课”这句话的句子向量,就是[0.2,0.18,0.22,0.4]

②时序方式RNN,LSTM

暂时没有学到,之后深度学习涉及到之后在这里进行补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值