自然语言处理中的词嵌入技术:从基础概念到Word2Vec实现
创作时间:
作者:
@小白创作中心
自然语言处理中的词嵌入技术:从基础概念到Word2Vec实现
引用
CSDN
1.
https://blog.csdn.net/weixin_73504499/article/details/142747934
词嵌入(Word Embedding)是自然语言处理(NLP)中的核心技术,它能够将词汇表中的单词或短语转换为连续的实数向量。这些向量捕捉了词汇间的语义和句法关系,使得相似的词汇在向量空间中距离较近。本文将详细介绍词嵌入的基本概念、主要特点、常见方法以及Word2Vec的具体实现原理和应用场景。
一、词嵌入介绍
1.示例介绍
- 如果需要对语料库中的每个字进行one-hot编码如何实现?
- 第一步:统计语料库中所有词的个数,例如有4960个词
- 第二步:按顺序依次给每个词进行one-hot编码,例如第1个词为:[1,0,0,0…0],最后1个词为:[0,0,0,0…1]
- 这样编码后每个词的矩阵非常稀疏,会出现维度灾难。例如"我爱北京天安门",这句话分此后是"我",“爱”,“北京”,"天安门"这四个词,传入神经网络输入层的数据维度为:[4*4960],维度太大,且只有四个位置上的值为1,其余的都为零,效果太差
- 如何解决独热编码(One-Hot Encoding)中维度灾难的问题?
- 通过神经网络训练,将每个词都映射到一个较短的词向量上来
- 例如还是"我爱北京天安门"这句话,通过神经网络训练(指定映射到的词向量维度为300)后的数据为:
- [0.62,0.12,0.01,0,0,0,0,….,0]
- [0.1,0.12,0.001,0,0,0,0,….,0]
- [0,0,0.01,0.392,0.39, 0,….,0]
- [0,0,0,1,0,0.01,0.123,….,0.11]
- 这句话的数据维度便成了:[4*300]
- 注意:维度中的数字已经不只是1和0了,还有一些浮点数,用多个数字来表示一个词,从而降低词向量的维度
- 这种将高维度的词表示转换为低维度的词表示的方法,我们称之为词嵌入(Word Embedding)
- 词嵌入(Word Embedding)是自然语言处理(NLP)中的一个核心技术,它能够将词汇表中的单词或短语转换为连续的实数向量。这些向量捕捉了词汇间的语义和句法关系,使得相似的词汇在向量空间中距离较近。词嵌入允许计算机以数值形式理解和处理语言,这对于训练机器学习模型来说至关重要。
2.词嵌入的主要特点
- 语义相似性:在向量空间中,语义相似的词汇通常会有较近的向量距离。例如,“king” 和 “queen” 的向量可能会比 “king” 和 “cat” 的向量更接近。
- 低维表示:词嵌入将高维的词汇空间映射到低维的向量空间中,使得每个单词都可以用一个相对紧凑的向量来表示。这大大降低了数据的维度和复杂性。
- 上下文敏感性:词嵌入的表示方式会受到上下文信息的影响,使得词语之间不是孤立存在的,这十分符合语言的内在逻辑。
3.常见的词嵌入方法
- Word2Vec:由Google提出的词嵌入方法,包括CBOW(Continuous Bag of Words)和Skip-gram两种模型。这两种模型都通过预测上下文词汇来学习词汇的向量表示。
- GloVe(Global Vectors for Word Representation):利用全局词汇共现统计信息来学习词嵌入,捕捉词汇间的全局关系。
- FastText:由Facebook提出,考虑了子词(subword)信息,通过字符n-gram来构建词向量,从而提高了对未登录词(OOV)的处理能力。
- BERT(Bidirectional Encoder Representations from Transformers):基于Transformer架构的预训练语言表示模型,通过双向编码来学习上下文相关的词嵌入。BERT及其变体(如RoBERTa、T5等)在NLP领域取得了巨大成功。
3.词嵌入的应用
词嵌入在多种NLP任务中都有广泛应用,包括但不限于:
- 情感分析:通过分析文本中的词汇向量来判断文本的情感倾向。
- 命名实体识别:利用词嵌入来识别文本中的实体(如人名、地名等)。
- 机器翻译:词嵌入可以帮助模型理解源语言和目标语言之间的词汇对应关系。
- 文本分类:将文本转换为词向量后,利用机器学习模型进行分类。
二、Word2Vec 词嵌入方法
- Word2Vec是词嵌入技术的一种具体实现方法,由谷歌的研究人员在2013年提出。它使用小型神经网络根据单词的上下文来计算单词嵌入。Word2Vec方法包含两种具体模型:连续词袋模型(CBOW)和Skip-gram模型。
1. 连续词袋模型(CBOW)
- 原理:根据上下文预测中心词。即,给定一系列上下文单词,模型试图预测这些上下文单词所对应的中心词。
- 实现:首先,将上下文单词的独热编码作为输入,通过神经网络进行训练,最终得到每个单词的词向量表示。
- 实现过程图如下:
- 模型训练过程:
- 模型结构图为:
- 假定语料库中一共有4960个词,则词编码为4960个01组合,现在压缩为300维
2. Skip-gram模型
- 原理:根据中心词预测上下文。即,给定一个中心词,模型试图预测该中心词所对应的上下文单词。
- 实现:与CBOW模型类似,Skip-gram模型也使用独热编码作为输入,并通过神经网络进行训练。不同的是,Skip-gram模型使用中心词的词向量作为输入,并预测上下文单词的概率分布。
- 实现过程图如下:
Word2Vec方法还采用了多种优化技术来提高训练效率和效果,如层次Softmax、负采样等。这些优化技术有助于减少计算量、加速训练过程,并提高词向量的质量。
3.Word2Vec方法的应用
Word2Vec方法在自然语言处理领域具有广泛的应用,包括但不限于以下几个方面:
- 文本分类:利用Word2Vec得到的词向量作为文本的特征表示,可以提高文本分类的准确性和效率。
- 机器翻译:Word2Vec方法可以帮助模型更好地理解和翻译自然语言文本,从而提高机器翻译的质量。
- 情感分析:通过对词向量的分析,可以判断文本的情感倾向,实现情感分析任务。
- 推荐系统:在推荐系统中,可以利用Word2Vec方法对用户和物品的文本描述进行向量化表示,从而实现更精准的推荐。
热门推荐
《凡人》韩立9大弟子:伪灵根李元究修成道祖,海大少颜值极高
42公里马拉松一般要跑几小时?
工地临时配电箱是否需要安装雨帽?
舍身炸暗堡,不满19岁的董存瑞用生命为胜利开辟前进的道路
Excel多处循环引用怎么办?一文详解循环引用问题的解决方案
Arduino开发环境搭建指南:从硬件连接到LED闪烁案例
北京积水潭医院成功实施双镜联合手术切除胃间质瘤
健康科普丨一起来认识胃肠间质瘤
梦境解析:周公解梦与修眉毛的象征意义
肺炎有必要做气管镜吗
银行的外汇交易平台的安全性如何保障?
C/C++回调函数详解:从函数指针到实际应用
三国演义中,比较武力值,五子良将该怎么排名?于禁垫底,徐晃仅第2
走进紫砂的世界:帅元紫砂博物馆的文化之旅
牙根变黑是什么原因
柳树、松树、梧桐、芭蕉...蓬蓬远春,走进诗词中的那一抹“绿”!
合欢花开美诗五首:最是清香合欢树,红白开成蘸晕花
3秒即热的水喝了对身体好吗
拔牙后不能吃什么
航司换"超薄座椅",要充分尊重消费者的知情权和选择权
茉莉花:自然界的芬香使者
2024年版安塞腰鼓表演技巧全解析
乌鸦坐飞机什么意思?了解这个成语的真正含义
腕管综合征手术后能否骑电动车?医生的专业建议来了
韩国SK创新将进军磷酸铁锂电池行业 因其成本和稳定性有优势
韩国LG新能源将使用中国正极材料在美国生产磷酸铁锂电池
如何处理人被撞后的赔偿问题?人被撞赔偿的计算方法是什么?
专利侵权赔偿计算公式:如何科学、精确地估算赔偿金额
什么是含氟气体?常见的含氟特气有哪些?一文带你了解
氟气的化学式是什么 氟气的性质