【NLP-词向量】词向量的由来及本质

自然语言处理(词向量——Word Embedding)总结 词向量(Word embedding),又叫Word嵌入式自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常,有两种表示方式:one-hot representation和distribution representation。 阅读详情

词嵌入是所有自然语言处理任务所必须要经历的步骤,非常的重要。词向量在网络上已经有了大量的文章,但是,出于我们专栏的完整性系统性的考虑,笔者还是决定加上这样一个专题。

计划用3-4次,彻底说清楚在自然语言处理中,词向量的由来,本质和训练。公众号专栏主要讲基本原理,知识星球讲实际的操作。

本篇主要讲述词向量的由来及本质。

作者&编辑 | 小Dream哥

1 词的向量化

首先,我们提出这样一个问题,一个文本,经过分词之后,送入某一个自然语言处理模型之前该如何表示?

例如,“人/如果/没用/梦想/,/跟/咸鱼/还有/什么/差别”,向机器学习模型直接输入字符串显然是不明智的,不便于模型进行计算和文本之间的比较。那么,我们需要一种方式来表示一个文本,这种文本表示方式要能够便于进行文本之间的比较,计算等。最容易想到的,就是对文本进行向量化的表示。例如,根据语料库的分词结果,建立一个词典,每个词用一个向量来表示,这样就可以将文本向量化了。

最早的文本向量化方法是词袋模型,我们先来看看词袋模型。

2 词袋模型

要讲词向量,我们首先不得不说的就是词袋模型。词袋模型是把文本看成是由一袋一袋的词构成的。例如,有这样两个文本:

1) “人/如果/没有/梦想/,/跟/咸鱼/还有/什么/差别”

2) “人生/短短/几十/年/,差别/不大/,/开心/最/重要”

这两个文本,可以构成这样一个词典:

{“人”,“如果”,“没有”, “梦想”, “,”,“跟”, “咸鱼” , “还有”,“什么”, “差别”, “人生”, “短短”, “几十”,“年”, “不大”, “开心”, “最”, “重要”}

字典的长度为18,每个词对应有一个index,所以词“人”可以用一个18维的向量表示表示:

{1,0,0,0,····,0}

词“重要”可以用一个18维的向量表示表示:

{0,0,0,0,····,1},

那么,文本该怎么表示呢?词袋模型把文本当成一个由词组成的袋子,记录句子中包含各个词的个数:

文本1:

{1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, 0}

文本2:

{0,0,0,0,2,0,0,0,0,1,1,1,1,1,1,1,1,1}

我们大概总结一下,词袋模型把文本看成是一个装着词的袋子,以文本2为例,用词袋模型可以这样描述它。文本2里有0个“人”,2个“,”, 1个“差别” 等等。所以词袋模型有以下特点:

1) 文本向量化之后的维度与词典的大小相关;

2) 词袋模型没有考虑词语之间的顺序关系。

这只是两个句子,所以词典的大小是18。当语料库很大时,词典的大小可以是几千甚至几万,这样大维度的向量,计算机很难去计算。

而且就算是只有一个词的句子,它的维度仍然是几千维,存在很大的浪费。

此外,词袋模型忽略了词序信息,对语义理解来讲是一个极大的信息浪费。最后,词袋模型会造成语义鸿沟现象,即两个表达意思很接近的文本,可能其文本向量差距很大。

所以,词袋模型并不是一个好的解决方案。接下来,词向量就“粉墨登场”了。

3 词向量

相比于词袋模型,词向量是一种更为有效的表征方式。怎么理解呢?词向量其实就是用一个一定维度(例如128,256维)的向量来表示词典里的词。

经过训练之后的词向量,能够表征词语之间的关系。例如,“香蕉”和“苹果”之间的距离,会比“香蕉”和“茄子”之间的距离要近。

通过多维向量表示,也能更为方便的进行计算。例如,“女人”+“漂亮” =“女神”。

那么,该如何获取词向量呢?我们先来看看神经概率语言模型。

4 神经概率语言模型

一个语言模型通常构建为一句话的概率分布p(W),这里的p(W)实际上反映的是W作为一个句子出现的概率。 说成大白话,语言模型就是计算某个句子出现的概率。

 对于一个由T个词按顺序构成的句子,P(W)实际上求解的是字符串的联合概率,利用贝叶斯公式,链式分解如下:

640?wx_fmt=png

从上面可以看到,一个统计语言模型可以表示成,给定前面的的词,求后面一个词出现的条件概率。

我们在求P(W)时实际上就已经建立了一个模型,这里的诸多条件概率就是模型的参数。如果能够通过语料,将这些参数已学习到,就能够计算出一个句子出现的概率。

那么该如何学习这些条件概率呢?Yoshua Bengio在2003年《A Neural Probabilistic Language Model》一文中提出了一种神经网络的方法,用于语言模型的计算。

640?wx_fmt=png

如上图所示,是一个简单的神经网络。首先,将输入语料进行分词,并向量化(随机初始化成为一个N维的向量),然后将他们拼接起来,用如下的公式表示:

640?wx_fmt=png

随后,将上述的拼接结果分别经过一个激活函数和线性连接,并将二者的结果直接相加。此时,y的维度是(|V|, 1),|V|表示语料词表的大小。

640?wx_fmt=png

最后,接一个softmax函数,预测出下一个词是目标词的概率。

640?wx_fmt=png

训练时,会设计损失函数,用梯度下降的方法,优化参数。

在训练过程中,我们优化了如下的参数:

640?wx_fmt=png

其中C为我们之前随机初始化的向量,但是在训练过程中,得到了不断的优化。

因此,在神经网络训练完成之后,我们不但得到了一个能够预测句子出现概率的模型,也得到了一份词向量,它能够表示词语之间的关系。

5 总结

上面详细介绍了词向量的来历和作用,并介绍了一种词向量的训练方法。

在实际过程中,并不是用上述神经网络来训练词向量的因为词向量是如此的重要,NLP工作者们设计了专门的网络来训练词向量。目前用的最多的有word2vec和GLove。这里出于篇幅,先不介绍,后面的文章来介绍。

总结

词向量是NLP开始迈进“现代化”的关键,是各种面试必问的基础,需重视。

读者们可以留言,或者加入我们的NLP群进行讨论。感兴趣的同学可以微信搜索jen104,备注"加入有三AI NLP群"。

下期预告:word2vec原理介绍

知识星球推荐

640?wx_fmt=png

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。

知识星球主要有以下内容:

(1) 聊天机器人。考虑到聊天机器人是一个非常复杂的NLP应用场景,几乎涵盖了所有的NLP任务及应用。所以小Dream哥计划以聊天机器人作为切入点,通过介绍聊天机器人的原理和实践,逐步系统的更新到大部分NLP的知识,会包括语义匹配,文本分类,意图识别,语义匹配命名实体识别、对话管理以及分词等。

(2) 知识图谱。知识图谱对于NLP各项任务效果好坏的重要性,就好比基础知识对于一个学生成绩好坏的重要性。他是NLP最重要的基础设施,目前各大公司都在着力打造知识图谱,作为一个NLP工程师,必须要熟悉和了解他。

(3) NLP预训练模型。基于海量数据,进行超大规模网络的无监督预训练。具体的任务再通过少量的样本进行Fine-Tune。这样模式是目前NLP领域最火热的模式,很有可能引领NLP进入一个全新发展高度。你怎么不深入的了解?

转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

NLP 自然语言处理实战 本文从分词、词频、词向量等基础领域开始讲解自然语言处理的原理,讲解 One-Hot、TF-IDF、PageRank 等算法及 LDA、LDiA、LSA 等语义分析的原理。介绍 Word2vec、GloVe 、Embedding 等常用词嵌入及 NLTK、Jieba 等分词工具的应用。 阅读详情

相关推荐

自然语言处理(NLP)之语义化词向量表示(Word2Vec)

本文介绍了自然语言处理(NLP)中的词向量表示技术Word2Vec。Word2Vec通过将词语映射为向量,使计算机能理解语义。重点讲解了两种模型:Skip-Gram(通过中心词预测上下文)和CBOW(通过上下文预测中心词)。文章详细说明了使用gensim库的两种词向量获取方式:加载公开预训练词向量和自行训练词向量。其中包含词向量加载、维度查看、相似度计算等操作示例,以及使用jieba分词后训练自定义词向量的完整流程。最后介绍了如何保存和加载训练好的词向量模型。这些技术为后续NLP任务提供了基础语义表示。

2301_76156353的博客 1078

十六、词向量总结

词向量总结

GUANGZHAN的专栏 1059

自然语言处理——使用词向量(腾讯词向量)

向量化是使用一套统一的标准打分,比如填写表格:年龄、性别、性格、学历、经验、资产列表,并逐项打分,分数范围[-1,1],用一套分值代表一个人,就叫作向量化,虽然不能代表全部,但至少是个量度。因此,可以说,万物皆可向量化。 词向量 同理,词也可以向量化word2vec(word to vector),可以从词性、感情色彩、程度等等方面量度,用一套分值代表一个词,从而词之间可以替换,比较。词与向量...

谢彦的技术博客 6680

词向量模型Word2Vec

CBOW和skip-gram的目标都是迭代出词向量字典(嵌入矩阵)——embeddings

Mafia的博客 453

Deep Learning in NLP (一)词向量和语言模型

这篇博客是我看了半年的论文后,自己对 Deep Learning 在 NLP 领域中应用的理解和总结,在此分享。其中必然有局限性,欢迎各种交流,随便拍。   Deep Learning 算法已经在图像和音频领域取得了惊人的成果,但是在 NLP 领域中尚未见到如此激动人心的结果。关于这个原因,引一条我比较赞同的微博。 @王威廉:Steve Renals算了一下icassp录取文章题目中包

zhoubl668的专栏:远帆,梦之帆! 6万+

NLP核心技术学习之(二)词向量表示

词向量表示主要了解Word2Vec、GloVe等词向量表示方法,掌握如何将文本转换为计算机可理解的数值向量。词向量表示是自然语言处理中重要的核心技术之一,它将词语表示为实数向量,使得机器可以理解和处理词汇的语义信息。词向量表示的目标是将词语映射到一个连续的向量空间,使得语义相似的词语在向量空间中距离较近,而语义不相似的词语距离较远。这样一来,我们可以通过比较词向量之间的相似度,来判断词语之间的语义关系。

runqu的博客 1388

词向量与词向量拼接_「NLP-词向量」一文详述词向量的由来及本质

词嵌入是所有自然语言处理任务所必须要经历的步骤,非常的重要。词向量在网络上已经有了大量的文章,但是,出于我们专栏的完整性系统性的考虑,笔者还是决定加上这样一个专题。计划用3-4次,彻底说清楚在自然语言处理中,词向量的由来,本质和训练。公众号专栏主要讲基本原理,知识星球讲实际的操作。本篇主要讲述词向量的由来及本质。作者 | 小Dream哥编辑 | 言有三1 词的向量化首先,我们提出这样一个问题,一个...

weixin_39610807的博客 1236

【NLP】基于python的gensim word2vec训练词向量

准备工作当我们下载了anaconda后,可以在命令窗口通过命令conda install gensim安装gensimgensim介绍gensim是一款强大的自然语言处理工具,里面包括N多常见模型,我们体验一下:interfaces – Core gensim interfaces utils – Various utility functions matutils – Math utils cor

Ezrealmore 4万+

【NLP 自然语言处理(一)---词向量】

自然语言处理-词向量

zishuijing_dd的博客 2745

自然语言处理(NLP)之二:文本表示(词向量)

周所众知,非数值型的文本数据不能直接输入机器学习模型,要先经过编码转化成数值型数据才可用于模型训练或预测。而文本表示,就是研究如何将文本数据合理编码成数值型数据的技术。 文本的划分单元从小到大依次为单词、短语、句子、段落和篇章。其中,句子的表示法依赖于单词,而段落又依赖于句子,以此类推,可以说文本的表示是建立在单词的表示基础之上的。所以单词的表示法最为基础,也最为重要,单词的表示法常见有独热编码表示法和词向量表示法等。 单词的独热编码表示法 首先根据语料库建立一个词库,然后创建一个维度等于词库大小的独热编码

xunyishuai5020的博客 4992

第四章(1):词向量定义与意义

在自然语言处理的领域中,每个单词都可以被表示为一个向量,这些向量叫做“词向量”。换句话说,每个单词都可以被用数字表示,而这些数字可以被用于机器学习模型的训练之中。这样就可以大幅缩小所需要的存储空间,同时也可以提高机器学习模型的速度和表现。

安静到无声 1672

【自然语言处理(NLP)】生成词向量:ELMo(Embedded from Language Models)原理及应用

ELMo(Embedded from Language Models)是一种深度语境化的词表示方法,由AllenNLP团队于2018年提出。与传统的词嵌入方法(如Word2Vec、GloVe)不同,ELMo能够根据上下文动态生成词向量,从而捕捉到词的多义性和复杂的语言特征

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

一文弄懂Word2Vec之skip-gram(含详细代码)

目录 前言 一、什么是Skip-gram算法 二、目标是什么 三、定义表示法 3.1 one-hot向量 3.2 词向量(word vector) 3.3 单词矩阵 3.4 单词相似度 3.5 softmax函数 3.6算法过程 3.7 求softmax 四、skipgram代码实现 4.1 如何把词转换为向量 4.2 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 4.3 使用Pytorch实现Skip-gram .

Python,数据分析,机器学习,深度学习 1万+

【人工智能】NLP入门指南:自然语言处理基础全解析

在数字化时代,自然语言处理(NLP)已成为人机交互的桥梁。本文将引导读者从基础到应用,全面了解NLP技术。首先,我们将探索NLP的两大支柱:自然语言理解(NLU)和自然语言生成(NLG),理解它们如何分别让机器理解与生成人类语言。接着,文章将深入中文文本的分词技术,特别是jieba分词的使用。进一步,我们将学习文本的数值表示方法,包括one-hot编码、Word2Vec和Embedding模型,这些技术赋予机器学习模型处理语言的能力。

啊猪是的读来过倒的博客 8878

【NLP】词向量

Word2Vec 本质上也是一个神经语言模型,但是它的目标并不是语言模型本身,而是词向量;因此,其所作的一系列优化,都是为了更快更好的得到词向量。,因为 FastText 使用了字符级的 N-gram 向量作为额外的特征,使其能够对。如果根据经验公式,是不需要这么大的,比如 200W 词表的词向量维度只需要。虽然 SG 模型用中心词做特征,上下文词做类标,但实际上两者的地位是等价的。只要未登录词能被已知的 n-grams 组合,就能得到该词的词向量。,以词表中词作为叶子节点,各词的出现频率作为权重——共。

sikh_0529的博客 1718

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

2025数学建模美赛C题完整建模思路——奥运会奖牌榜的模型

Yilu264的博客 1万+

AI - 自然语言处理(NLP) - part 2 - 词向量

本文介绍了自然语言处理(NLP)的基础技术——词向量/词嵌入。词向量通过将词语映射为稠密数值向量,解决了传统One-Hot编码的高维稀疏问题,能够捕捉词语间的语义关系。文中详细阐述了词向量的核心特性、发展历程(包括Bag-of-Words、Word2Vec、GloVe和FastText等关键技术),重点解析了Word2Vec的CBOW和Skip-Gram两种模型原理。词向量技术为计算机理解人类语言提供了有效方法,是NLP领域的重要基石。

yunyun1886358的专栏 1333

别再傻傻分不清!5分钟搞懂倾斜摄影里‘地面分辨率’和‘模型精度’到底啥关系

本文深入解析倾斜摄影中‘地面分辨率’与‘模型精度’的关系,帮助读者快速理解两者的本质区别与内在关联。通过实战案例和公式计算,详细说明如何从航飞设计到精度验证全流程控制,避免常见认知误区,并针对不同应用场景提供精度需求建议。

weixin_33700350的博客 478

【自然语言处理(NLP)】生成词向量:GloVe(Global Vectors for Word Representation)原理及应用

GloVe(Global Vectors for Word Representation)是一种用于获取词向量的无监督学习算法,由斯坦福大学的Jeffrey Pennington、Richard Socher和Christopher D. Manning于2014年提出。GloVe通过结合全局统计信息和局部上下文信息来生成词向量,旨在捕捉词语之间的语义关系。 ## 核心思想 GloVe的核心思想是利用词与词之间的共现概率来捕捉语义信息。具体来说,GloVe通过构建一个共现矩阵(co-occurrence

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

3.ESP32S3 AP 配网开发实战:HTTP 与 WebSocket 协议实现

本文介绍了基于ESP32S3的AP配网实现方案,通过HTTP协议提供配网网页,利用WebSocket实现双向通信。详细解析了HTTP和WebSocket协议特点,阐述了SPIFFS文件系统存储HTML网页的方法,包括分区表配置、CMakeLists设置和代码实现。工程采用模块化设计,包含WiFi管理、Web服务器、IO扩展等组件,支持手机浏览器直接配网。测试验证了从AP热点连接到路由器切换的全流程,并总结了SPIFFS操作、WebSocket通信等核心优化点。该方案无需专用APP,适合物联网设备快速部署场景

u011697185的专栏 961

最新Python爬虫实战(入门爬虫篇)——案例17:某天气网40天天气预报数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过分析某天气网的数据接口,成功实现了对40天天气预报数据的批量采集。抓包分析:利用浏览器开发者工具找到隐藏的JSONP数据接口,掌握URL构成规律。请求模拟:构造带有Referer和User-Agent的请求头,添加时间戳参数避免缓存,获取原始数据。数据解析:处理JSONP格式,去除前缀后使用json模块解析,提取所需字段并规范化日期格式。数据存储:利用pandas将结构化数据保存为Excel文件,便于后续分析和使用。动态数据接口的发现与分析JSONP数据的清洗与解析。

努力让自己发光,对的人才能迎着光而来 22万+

NLP词向量技术

词向量(Word Vector)是对词语义或含义的数值向量表示,包括字面意义和隐含意义。 词向量可以捕捉到词的内涵,将这些含义结合起来构成一个稠密的浮点数向量,这个稠密向量支持查询和逻辑推理。

zag666的博客 3298

【WRF数据介绍第一期】静态地理数据介绍及下载

WRF数据介绍第一期:静态地理数据介绍及下载

WW、forever的博客 4814
上一篇: 有三AI模拟面试服务上线,一对一服务助你求职
下一篇: 【每周CV论文推荐】 初学目标检测必须要读的文章
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值