关于词向量的所思所想

关于词向量的所思所想

​ 词向量是自然语言处理领域中一个非常重要的概念,它将一个词语表示成一个向量的形式,可以用向量之间的距离来衡量它们之间的语义相似度。在实际应用中,词向量已经被广泛应用于各种自然语言处理任务中,例如文本分类、情感分析、机器翻译、文本生成等等。

在本文中,我想分享一下我对词向量的一些所思所想。

一、独热编码的问题

将一个词语表示成一个向量的最简单方法就是独热编码,我们只需要知道这个词语集合的大小 N N N,建立一个 R n R^n Rn向量空间,给每个元素对应一个单位正交基就行。但是,这种方法有两个问题:一是 N N N是非常大的,我们独热编码的结果会很占用空间;二是词语之间的语义相似度无法衡量。

二、Word2Vec的思想

为了解决独热编码的问题,Word2Vec的想法是将这个独热编码组成的单位阵 E n E_n En降维成 W n v W_{nv} Wnv ,这样每个行向量对应一个词语,每个词向量被压缩了,同时向量之间的语义更加丰富了,可以计算向量距离来表示相似度。那么如何得到这个 W n v W_{nv} Wnv的矩阵呢?采用神经网络训练的方式,通过上下文来进行推断这个词与周围词的概率,而过程中,我们会使用这样的词向量矩阵,最终,不断地训练,这个矩阵会得到关于这段语料的各个词信息,关键点就是网络和损失函数的设计了。

三、上下文的重要性

上下文在词向量的训练中起到了非常重要的作用。在语言交流中,我们也是通过上下文来理解对方的意思的。这说明词向量不仅仅是一种向量表示方法,还包含了对语言交流的一种抽象模型。不同人的词向量表不同,理解也不同,而学习就是不断地训练这个词向量表的过程。个人认为这个过程有一定的随机性,因此有些人可以很轻松地获取强大的词汇表,而有些人却需要经过更长时间的训练和积累。

四、结语

​ 本文只是作者所思所想,语言表述一定不符合规范,大家全当一乐!以上是使用chatGPT3.5生成。原文如下:


关于词向量的所思所想【杂谈】
如何在计算机中表示一个词语,很容易想到的是独热编码,我们只需要知道这个词语集合的大小N,建立一个Rn向量空间,给每个元素对应一个单位正交基就行。

这样会有两个问题?其一,N是非常大的,我们独热编码的结果会很占用空间;其二,词语之间的语义相似度无法衡量。

word2vec的想法是将这个独热编码组成的单位阵En降维成Wn_v,这样每个行向量对应一个词语,每个词向量被压缩了,同时向量之间的语义更加丰富了,可以计算向量距离来表示相似度。

那么如何得到这个Wn_v的矩阵呢?采用神经网络训练的方式,当然,这是个伪任务,也是个无监督的任务;具体训练方式是:我们指定超参数v,给定一段语料进行训练,将一句话拆分为中心词和相邻词,即通过上下文来进行推断这个词与周围词的概率,而过程中,我们会使用这样的词向量矩阵,最终,不断地训练,这个矩阵会得到关于这段语料的各个词信息,关键点就是网络和损失函数的设计了。

在计算机中判断一个二进制串的含义也是通过上下文;那么我们人类进行语言交流是不是也是通过上下文来进行的呢?我想是的,毕竟我们与人交流的时候,已经在大脑中积累了一个抽象的词向量表了,它更加的复杂,不同人的向量表不同,理解就不同,而我们学习就是不断地训练这个词向量表,个人觉得训练这个过程有一定的随机性,因此有些人可以很轻松地获取强大的词汇表,而有些人却很慢,当然,上学等手段可能就是采用了较为通用的、受过广泛认可的好的训练机制了吧。

本文只是作者所思所想,语言表述一定不符合规范,大家全当一乐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值