NLP中的hashing trick是什么?

  统计/机器学习 自然语言处理 数据预处理 数据降维    浏览次数:6729        分享
2

NLP中经常用到hashing trick,和一般分类或者回归问题中使用的hashing trick是一回事吗?

 

汪王往望   2017-04-09 10:49



   1个回答 
4

本质上其实是一回事。也是通过合并来降维的。

语句1: "There is a dog. The dog is running."

语句2: "There is a cat. It is running, too."

1 there

2 is

3 a

4 dog

5 the

6 running

7 cat

8 it

9 too

语句1: "1 2 3 4 5 4 2 6"

语句2: "1 2 3 7 8 2 6 9"

如果用OneHotEncode的话,我们需要两个9维的向量存放这两句话。如果有其他m个语句,出现k个单词,那么我们就需要一个长度为k的向量来表示每个语句。这样的话,维数会特别大,数据也会特别sparse。

如果我们采用hashing trick,比如用mod 4作为hashing function,那么

1 there

2 is

3 a

0 dog

1 the

2 running

3 cat

0 it

1 too

语句1: "1 2 3 0 1 0 2 2"

语句2: "1 2 3 3 0 2 2 1"

不管是多大的词汇量,语句都可以被表示为一个四维向量

v1 = [2, 2, 3, 1]

v2 = [1, 2, 3, 2]

SofaSofa数据科学社区DS面试题库 DS面经

雷猴   2017-04-10 22:40



  相关讨论

GloVe是神经网络模型吗?

hashing trick或者feature hashing是什么

分类变量,进行One hot编码,维度升高,如何处理?

机器学习中文数据的训练集的预处理

怎么理解nlp里的good-turing smooth?

维数大于样本数的问题

请问NLP中这种编码方式有没有什么术语?

python去掉中文文本中所有的标点符号

求python里得到n-grams的包?

自定义CountVectorizera中默认的英语stop_words

  随便看看

python怎么对list中的元素做连乘?

plt.scatter plot怎么让不同的类别有不同的颜色

sklearn分类模型中预测结果怎么调整概率的阈值

lightgbm.LGBMModel和lightgbm.LGBMClassifier该用哪个?

鞍点的数学定义是什么?