自然语言处理 第九期

本文介绍了自然语言处理中从离散的one-hot编码到连续的word2vec词向量的转变。讲解了词袋模型的不足,以及word2vec如何通过CBOW和Skip-gram模型解决这些问题,还提到了训练word2vec模型的主要参数和代码实践。

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

简单神经网络

  1. 文本表示:从one-hot到word2vec。
    1.1 词袋模型:离散、高维、稀疏。
    1.2 分布式表示:连续、低维、稠密。word2vec词向量原理并实践,用来表示文本。

文本表示:从one-hot到word2vec

文本表示的意思是把字词处理成向量或矩阵,以便计算机能进行处理。文本表示是自然语言处理的开始环节。
文本表示分为离散表示和分布式表示
离散表示的代表就是词袋模型,one-hot(也叫独热编码)、TF-IDF、n-gram都可以看作是词袋模型。
分布式表示也叫做词嵌入(word embedding),经典模型是word2vec,还包括后来的Glove、ELMO、GPT和BERT。

  1. 词袋模型:离散、高维、稀疏
    1)One-Hot Encoding:
    独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。
    本质上是用一个只含一个 1、其他都是 0 的向量来唯一表示词语。
    2)TF-IDF:https://blog.youkuaiyun.com/xh999bai/article/details/89287016
    3)n-gram:n-gram是从一个句子中提取n个连续的字的集合,可以获取到字的前后信息。一般2-gram或者3-gram比较常见。

    文本的离散表示存在着数据稀疏、向量维度过高、字词之间的关系无法度量的问题,适用于浅层的机器学习模型,不适用于深度学习模型。

后续我会再写两篇文章,分析如何用代码实现文本的one-hot编码和TF-IDF编码。

  1. 分布式表示:连续、低维、稠密。
    word2vec是Google于2013年开源推出的一个用于获取词向量的工具包。
    word2vec是一个将词表示为一个向量的工具,通过该向量表示,可以用来进行更深入的自然语言处理,比如机器翻译等。

    word2vec作为神经概率语言模型的输入,其本身其实是神经概率模型的副产品,是为了通过神经网络学习某个语言模型而产生的中间结果。具体来说,“某个语言模型”指的是“CBOW”和“Skip-gram”。具体学习过程会用到两个降低复杂度的近似方法——Hierarchical SoftmaxNegative Sampling。两个模型乘以两种方法,一共有四种实现。

    1)CBOW:CBOW 是 Continuous Bag-of-Words Model 的缩写,是一种根据上下文的词语预测当前词语的出现概率的模型。
    2)Skip-gram:Skip-gram只是逆转了CBOW的因果关系而已,即已知当前词语,预测上下文。

  2. word2vec词向量原理并实践,用来表示文本。

    官方API介绍如下:

class gensim.models.word2vec.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值