Word2vec工作原理

文章目录

    • 前言
    • Word2Vec的工作原理
      • CBOW
      • Skip-Gram
    • 参考文献
    • 点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

前言

  随着计算机应用领域的不断扩大,自然语言处理受到了人们的高度重视。尤其是最近出现的chatgpt,作为一个大型的语言模型,它能够回答各种各样的问题,并且可以提供有用的信息和帮助。在chatgpt身上,我们看到了人工智能对人类未来产生的巨大影响。我们很有必要去深入了解计算机关于自然语言的处理。

  为了使计算机能够处理自然语言,首先需要对自然语言进行建模。自然语言建模方法经历了从基于规则的方法到基于统计方法的转变。从基于统计的建模方法得到的自然语言模型称为统计语言模型。有许多统计语言建模技术,包括n-gram、神经网络以及log_linear模型等。在对自然语言进行建模的过程中,会出现维数灾难、词语相似性,模型泛化能力以及模型性能等问题。

  短文本自动分类首先需要将文本转化为计算机能理解处理的形式,即文本数据的表示,其对文本分类至关重要,可直接影响分类效果。Word2Vec是google在2013年推出的一个NLP工具,它的特点是能够将单词转化为向量来表示,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。不过,在更早之前采用one-hot编码,又称为一位有效编码,每个词向量维度大小为整个词汇表的大小,对于每个具体的词汇表中的词,将对应的位置置为1。
在这里插入图片描述
  使用one-hot编码(010000)代表two,有多少个词汇向量就有多少维度;而且只有所表示的这个词对应的位置为1,其他位置全是0。

  采用One-Hot编码方式来表示词向量非常简单,但缺点也是显而易见的,一方面我们实际使用的词汇表很大,经常是百万级以上,这么高维的数据处理起来会消耗大量的计算资源与时间。另一方面,One-Hot编码中所有词向量之间彼此正交,没有体现词与词之间的相似关系。

  词向量是具有良好的语义特性,在表示词语特性方面非常有效。词向量每一个维度的值都体现了对应词语在语义和语法上的特性。所以,可以将词向量的每一维称为一个词语特征。词向量具有多种形式,Distributed representation是其中一种。

  Distributed representation可以解决One-Hot编码存在的问题,将原来One-Hot编码的每个词都映射到一个较短的词向量上来,而这个较短的词向量的维度可以由我们自己在训练时根据任务需要来自己指定。

  例如,在我们的词汇库中我们拥有 (中国,俄罗斯,美国,乌克兰) 这四个词,然后我们再选用 (亚洲国家,友好关系) 这两个维度来描述词汇库里面的词。“中国”这个词对应的词向量可能是(0.9,0.9);“俄罗斯”这个词对应的词向量可能是(0.75,0.8)。但是在实际情况中,我们并不能做到对每一个词向量维度做很好且完整的解释。

Word2Vec的工作原理

  Word2Vec模型包含了CBOW和 Skip-gram两种训练模型。CBOW适合于数据集较小的情况,而Skip-Gram在大型语料中表现更好。CBOW和Skip_gram模型均包含输人层投影层和输出层。其中,CBOW模型通过上下文来预测当前词;Skip_gram模型则通过当前词来预测其上下文。如下图所示:
在这里插入图片描述
  另外,Word2vec提供了两套优化方法来提高词向量的训练效率,分别是 HierachySoftmax和Negativ Sampling。

  Word2Vec的训练模型本质上是只具有一个隐含层的神经元网络:
在这里插入图片描述
  它的输入是采用One-Hot编码的词汇表向量,它的输出也是One-Hot编码的词汇表向量。使用所有的样本,训练这个神经元网络,等到收敛之后,从输入层到隐含层的那些权重,便是每一个词的采用Distributed Representation的词向量。下面进行对word2vec两个模型运行原理的详细讲解。

CBOW

  前提假设:词汇库中含有V个单词,C代表上下文单词个数。例如"This is a good test.",当C=4时,模型输入(this,is,good,test)的one-hot编码向量
在这里插入图片描述
  1,输入层:输入C个维度为V的词向量(one-hot词向量)

  2,初始化一个V x N大小的权重矩阵,然后用所有输入的one-hot词向量左乘矩阵,由线性代数中向量与矩阵的乘法得知,会得到 C 个1 x N的向量。

  3,将所有得到的C个向量进行相加求平均,合成一个N维向量作为隐藏层向量h。

  4,再初始化一个N x V大小的权重矩阵,用隐藏层向量h左乘 这个权重矩阵,在经过激活函数处理得到V维的向量y,y的每一个元素代表相对应的每个单词的概率分布。

  5,y中概率最大的元素所指示的单词为预测出的单词,将它与实际要预测的单词作比较,要求误差越小越好。这就需要通过误差不断去更新前面的两个权重矩阵。

  注意:在训练前需要定义好损失函数,采用梯度下降算法更新两个权重矩阵。训练完毕后,输入层的每个单词的one-hot向量与第一个权重矩阵相乘得到的向量的就是我们想要的Distributed Representation表示的词向量。

Skip-Gram

  Skip-gram是一种用于训练词嵌入模型的算法,它的目标是学习每个单词的向量表示,使得语义相似的单词在向量空间中距离较近。模型结构图如下:
在这里插入图片描述
  1,将训练语料库中的每个单词表示为一个one-hot向量,其中只有一个维度为1,其他维度为0。假设语料库中有V个单词,那么每个单词都可以表示为一个V维的向量。

  2,定义一个神经网络模型,它包含一个输入层、一个隐藏层和一个输出层。输入层的大小为V(因为输入层是一个V维向量),隐藏层的大小为N维的向量,输出层的大小仍为V维的向量。

  3,在模型中,输入层接收一个one-hot向量,将其转换为一个V维的实数向量。这个向量经过一个权重矩阵乘法操作,矩阵为V x N大小,得到一个大小为N维度的隐藏层向量,这个向量称之为中心词向量,再经过另一个权重矩阵乘法操作,矩阵为 N x V大小,得到一个大小为V维的输出层向量,这个向量称之为背景词向量。输出层向量表示在当前单词下,其他单词出现的概率,可以使用softmax函数对输出层向量进行归一化,使得每个单词的概率之和为1。(输出层得到一个V维的向量,但是经过softmax函数处理后,每个位置上的数值可能并不相同。而后根据窗口大小C的设置,从所有概率中选择C个最大概率值,在把他们转为one-hot编码与真实值相比较)

  4,对于每个单词(中心词),我们可以定义一个“上下文窗口”,表示在当前单词前后固定的N个单词,称为“上下文单词”。在训练过程中,我们需要从语料库中提取出所有的这样的上下文窗口。

  5,对于每个上下文窗口,我们将窗口中的每个单词依次作为输入,用模型预测窗口中心单词的概率。我们的目标是最小化模型预测值与实际值之间的差距,通常使用交叉熵作为损失函数。

  6,使用梯度下降等优化算法对模型参数进行更新,使得模型在训练集上的预测值逐渐接近真实值。经过多次迭代,模型的参数会收敛,得到每个单词的向量表示。

参考文献

周练. Word2vec 的工作原理及应用探究[J]. 科技情报开发与经济, 2015 (2): 145-148.
https://zhuanlan.zhihu.com/p/61635013
https://zhuanlan.zhihu.com/p/29305464
https://blog.csdn.net/weixin_41843918/article/details/90312339

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。有问题大家随时留言讨论 ,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27037.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-3 vs Bert vs GloVe vs Word2vec 文本嵌入技术的性能对比测试

来源:DeepHub IMBA 本文约3000字,建议阅读6分钟 随着NLP(自然语言处理)的最新进展,OpenAI的GPT-3已经成为市场上最强大的语言模型之一。 2022年1月25日,OpenAI公布了一个embedding endpoint(Neelakantan et al., 2022)…

人大李崇轩:我的生成模型修炼之路丨智源大会嘉宾风采

导读 AIGC的飞速发展离不开生成模型、深度学习以及多模态学习等领域研究的不断累积,其中生成模型的原理与算法发展是不可或缺的一部分,如:生成对抗网络 GAN 及其一系列变体、变分自编码器 VAE 及其一系列变体、自回归模型 AR、流模型 FLOW &a…

一篇文章教会你用Python抓取抖音app热点数据

今天给大家分享一篇简单的安卓app数据分析及抓取方法。以抖音为例,我们想要抓取抖音的热点榜数据。 要知道,这个数据是没有网页版的,只能从手机端下手。 首先我们要安装charles抓包APP数据,它是一款收费的抓包修改工具&#xf…

22.网络爬虫—APP数据抓取详讲

网络爬虫—APP数据抓取详讲 Fiddler工作原理安装完成Fiddler后的配置前提条件工具配置 手机数据抓取Fiddler手机端配置手机端操作 实战演示后记 前言: 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域新…

29 - Excel 图表与数据分析

Day 29 一、Excel的图表 1.图表的作用 数据图表可直观展示统计信息属性(时间性、数量性等),对知识挖掘和信息直观生动感受起关键作用的图形结构,是一种很好的将对象属性数据直观、形象地"可视化"的手段。 数据图表可…

48种数据分析可视化图表

可视化对于数据分析师来说可能不是最重要的,重要的是你分析或挖掘出来的结果是否有效。在这基础之上就需要通过可视化恰当完整的表达见解。这里又有区别了:实用性和美观性哪个更重要?要我说实用性是第一位的,能用一个元素表达最好…

我们做了一款AI口语外教,寻找测试用户

因为自己学雅思,做了一个AI口语外教,用来练习口语 有两种模式:1.自由对话2.雅思练习与模拟考试 优点如下:1.语音合成真实,聊起来有趣2.参考提示,解决你不会的问题3.雅思模式严格按照话题进行,…

使用new bing来阅读文献

1.下载安装Microsoft Edge Dev版本 Microsoft Edge 预览体验成员 (microsoftedgeinsider.com) 2.打开设置中的discover 3.打开必应 (bing.com) 改地区为美国,账号新建时地区也要改为美国 节点也需要改为美国 4.使用聊天机器人来问一些学术问题 5.打开pdf&…

VueHub:我用 ChatGPT 开发的第一个项目,送给所有 Vue 爱好者

大家好,我是DOM哥。 我用 ChatGPT 开发了一个 Vue 的资源导航网站。 不管你是资深 Vue 用户,还是刚入门想学习 Vue 的小白,这个网站都能帮助到你。 网站地址:VueHub 纯净模式:VueHub 项目托管在 GitHub&#xff0c…

腾讯又一款知名APP宣布下线!已运营8年

上一篇:阿里,似乎又有了新的可能 7月5日,腾讯旗下音频平台企鹅 FM 发布下线公告,公告称,由于业务调整 ,企鹅FM很遗憾要和大家说再见了。即日起,企鹅FM将关闭用户注册及充值功能,并在…

微信:有零钱的微信号不会被系统注销;拼多多旗下 Temu 在美起诉 Shein;Rust 1.71.0 发布|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

互联网惊现 AI 鬼城:人类不得入内;阿里云史上最大规模降价,最高降幅达 50%;可致微信闪退的二维码Bug已找到|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

基于蜂群对花蜜需求所做的数量模型构建及分析

问题重述: 背景:蜜蜂对人类在地球上的生存具有极其重要的作用。除去蜂蜜生产, 蜜蜂还可以通过传粉为我们间接提供食物。自 2007 年以来,由于病毒、杀 虫剂、捕食者和栖息地破坏等因素,世界各地蜜蜂数量显著下降。本文建立 在…

蜜罐技术-威胁狩猎

简介 基于欺骗伪装技术通过在攻击者入侵的关键路径上部署诱饵陷阱诱导攻击者进入与真实网络隔离的蜜网。主动识别攻击痕迹完整记录攻击者行为可以进行追踪溯源 蜜罐分为几下几类: 1.低交互式:低交互式模拟常规的服务,服务存在漏…

沙箱、蜜罐原理浅析

目录 一、沙箱(网络编程虚拟执行环境)1.1 概述1.2 重定向技术1.3 虚拟机和沙箱的区别 二、蜜罐2.1 概述2.2 蜜罐诱捕关键能力2.3 反蜜罐技术2.4 蜜罐的思考 三、网络欺骗(Cyber Deception) 一、沙箱(网络编程虚拟执行环境) 1.1 概…

当 ChatGPT 遇上开源容器安全工具集「问脉」

前言 看到最近铺天盖地的 ChatGPT 相关文章👀,作为一位爱刺激&爱冒险&好奇心强烈&动手能力强的安全技术爱好者(bushi)🤭,按捺不住躁动的灵魂,决定做一个简单的容器安全风险分析工具…

利用蜜罐捕捉攻击实验(31)

预备知识 1、蜜罐的含义和作用 蜜罐(Honeypot)是一种在互联网上运行的计算机系统。它是专门为吸引并诱骗那些试图非法闯入他人计算机系统的人(如电脑黑客)而设计的,蜜罐系统是一个包含漏洞的诱骗系统,它通过模拟一个或多个易受攻击的主机&#xff…

关于网络安全里蜜罐的详细介绍

蜜罐的定义 蜜罐的一个定义来自间谍世界,玛塔哈里 (Mata Hari) 式的间谍将恋爱关系用作窃取秘密的方式,被描述为设置“美人计”或“蜜罐”。经常会有敌方间谍中了美人计,然后被迫交待他/她所知道的一切。 在计算机安全方面,网络…

【网络安全之——蜜罐】

网络安全之蜜罐 1.什么是蜜罐?2.原理是什么?3.蜜罐的分类4.研究现状5.蜜罐的缺点6.Hfish蜜罐的使用介绍 1.什么是蜜罐? 蜜罐是一种主动防御技术,通过主动的暴露一些漏洞、设置一些诱饵来引诱攻击者进行攻击,从而可以对…

ChatGPT 的知识策略,构建低成本的认知助手

ChatGPT 风靡全球!它无处不在。我的朋友不断向我发送 ChatGPT 所做的奇妙和意想不到的事情的例子。ChatGPT 在短短五天内就吸引了超过 100 万用户。 我对 ChatGPT 变得如此出色并不感到惊讶。但令我惊讶的是,在过去两个月中,人们对这些工具的认识有了惊人的增长。这鼓励我帮…