python词嵌入

本文介绍了词嵌入的概念及其在自然语言处理中的重要性,包括词向量的构建过程,如skip-grams算法,以及如何通过PCA降低数据维度以提高理解。此外,还展示了词嵌入的实际应用和PCA在数据可视化中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、词嵌入的概念

自然语言处理的突破在2023年震撼世界,chatgpt3出来,之后chatgpt4、Gemini、Claude3等出来,问答越来越智能,非常厉害,其中有个基础性的概念,计算机要如何理解语言,基础工作就在于将词向量化,关键的概念便是词嵌入(word embeddings),之前我觉得这个词读的非常绕口,想为什么不直接叫词向量?其实形成词向量的方法有很多,包括词袋模型(Bag-of-Words model)也是一种方法,而词嵌入很厉害,可以让算法自动的理解一些类似的词,也就是自监督,通过词嵌入的概念就可以方便的构建NLP应用了!当然现在也有人在思考如何改进词嵌入的理解深度。

构建词嵌入的步骤有两步:

1、词嵌入第一步是给所有词构建one-hot向量,形成一个巨大的稀疏矩阵,每个词对应到某一个位置为1的向量。

2、通过深度学习来产生词嵌入,比如skip-grams学习词嵌入矩阵,词嵌入矩阵的格式有点像下面这样,当然每个维度表示什么含义属于自监督的事情,也就是说人是不知道的,一般设置成100~300维,词嵌入实际上属于“辅助产品”。以skip-grams算法为例,核心思想是构建一个监督学习问题:根据已有一个目标词,在多少个词内(自己定)找到另一个词,做成一个合理搭配。本身这个问题也很难解,但转成一个求概率问题之后,定义它的损失函数,经过反向传播算法它便是可以计算的了。

但是上面这个算法的计算复杂度是很高的,一旦数据量增大,计算会变得非常慢。因此就有分级(hierarchical)的softmax分类器负采样(Negative Sampling)分级的思路就是算法中常用的分而治之的思路,这种思路诞生了二分法、动态规划等算法,其实就是在softmax中不用先直接分到某个类,先确定区间,是前50%的分类还是后50%的分类负采样的逻辑也简单,除了给正确词之外,也给不正确词,两者做搭配,从而减少运算量

二、PCA(主成分分析)

主成分分析

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值