NLP 理论实践 Task5 文本表示

11 篇文章 0 订阅

NLP 理论实践 Task5 文本表示

词袋模型:离散、高维、稀疏。
分布式表示:连续、低维、稠密。word2vec词向量原理并实践,用来表示文本。
word2vec http://www.hankcs.com/nlp/word2vec.html
word2vec 中的数学原理详解(一)目录和前言 - peghoty - CSDN博客 https://blog.csdn.net/itplus/article/details/37969519
word2vec原理推导与代码分析-码农场 http://www.hankcs.com/nlp/word2vec.html

one-hot

最初,人们想用一串数字表示一段文字,用的是one-hot置换法。就是将一篇文章中所有不重复的词的个数,作为词汇表的大小,词汇表有多大,这个向量就有多长。那么对于词汇表中每一个词的向量,就在相应的位置置1. 比如说一篇文章中有:
语料:“I am Shirley Zhang”, “I am an engineer”, “I am a lovely girl”
那么由语料中出现的所有不重复的单词构成的词汇表就是
[Shirley, Zhang, I, am, an, engineer, a, lovely, girl]
那么根据以上词汇表,得出Shirley这个词的词向量就是[1, 0, 0, 0, 0, 0, 0, 0, 0]
那么对于文本“I am Shirley Zhang”, 通过one-hot这种词向量转化就变为
[0, 0, 1, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 1, 0, 0, 0, 0, 0]
[1, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 0, 0, 0, 0, 0, 0, 0]

one-hot编码的好处就是简单,缺点也是显而易见的,词向量的维度会随着词汇表的增大而急剧增大,词向量里面大多数的元素都是0,十分浪费存储空间,表达效率低下。也没有考虑到上下文等语义信息。

word2vector

word2vector,顾名思义,就是将语料库中的词转化成向量,以便后续在词向量的基础上进行各种计算。最常见的表示方法是counting 编码。

缺陷:
1是词语数量较大时,向量维度高且稀疏,向量矩阵巨大而难以存储
2是向量并不包含单词的语义内容,只是基于数量统计。
3是当有新的词加入语料库后,整个向量矩阵需要更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值