深度学习之word2vec

深度学习:详解word2vec + 实践操作(包括text2word) Text2vec 的输入是整个文本序列,输出是文本序列对应的向量表示。Word2vec 的训练目标是最小化相似单词在空间中的距离或最大化不相似单词在空间中的距离。Text2vec 的训练目标是最小化文本之间的距离或最大化相似文本的相似度。Text2vec 和 Word2vec 都是用于将文本(文本中的单词或字符)转换为向量的方法。Word2vec 的输入是单个单词,输出是单词对应的向量表示。Text2vec 通常用于处理整个文本序列的任务,如文本分类、文本相似度计算、文本聚类等。 阅读详情

  人工智能必备数学基础

https://blog.youkuaiyun.com/Java_rich/article/details/120361765?spm=1001.2014.3001.5501

https://blog.youkuaiyun.com/Java_rich/article/details/120412229?spm=1001.2014.3001.5501  

为了方便大家学习交流,我建了一个扣裙:966367816(学习交流、大牛答疑、大厂内推)
另外我还整理了整整200G的人工智能学习笔记、课程视频、面试宝典一并可以无套路免费
分享给大家! 

 什么是word2vec

word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效 工具,采用的模型有 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和 Skip-Gram 两种。

word2vec 一般被外界认为是一个 Deep Learning(深度学习)的模型,究其原 因,可能和 word2vec 的作者 Tomas Mikolov 的 Deep Learning 背景以及 word2vec 是一种神经网络模型相关,但我们谨慎认为该模型层次较浅,严格来说还不能算 是深层模型。当然如果 word2vec 上层再套一层与具体应用相关的输出层,比如 Softmax,此时更像是一个深层模型。

word2vec 通过训练,可以把对文本内容的处理简化为 K 维向量空间中的向量 运算,而向量空间上的相似度可以用来表示文本语义上的相似度。因此,word2vec 输出的词向量可以被用来做很多 NLP 相关的工作,比如聚类、找同义词、词性分 析等等。

word2vec 被人广为传颂的地方是其向量的加法组合运算(Additive Compositionality ), 官 网 上 的 例 子 是 : vector('Paris') - vector('France') + vector('Italy') ≈vector('Rome'),vector('king') - vector('man') + vector('woman') ≈ vector('queen')。

word2vec 也只是少量的例子完美符合 这种加减法操作,并不是所有的 case 都满足。 word2vec 大受欢迎的另一个原因是其高效性。

快速入门

1.针对个人需求修改 makefile 文件,比如作者使用的 linux 系统就需要把 makefile 编译选项中的-Ofast 要更改为-O2 或者-g(调试时用),同时删除编译器 无法辨认的-march=native 和-Wno-unused-result 选项。有些系统可能还需要修改 相关的 c 语言头文件,具体可能得去网上搜。

2.运行“make”编译 word2vec 工具。

3.运行 demo 脚本:./demo-word.sh demo-word.sh 中的代码如下,主要工作为:

1) 编译(make)

2) 下载训练数据 text8,如果不存在。text8 中为一些空格隔开的英文单 词,但不含标点符号,一共有 1600 多万个单词。

3) 训练,大概一个小时左右,取决于机器配置

4) 调用 distance,查找最近的词

 训练完毕后,输入 china 就会找出与其最相近的词:

 4.也可以自己执行其他相关的程序,比如作者比较推崇的向量加减法操作, 在命令行执行./word-analogy vectors.bin 即可。相关结果如下:

 5.模型的输出 vectors.bin 是每个词及其对应的浮点数向量,只是默认为二进 制的,不好查看,如果想要查看文本形式,请在训练时把 binary 选项设置为 0。

6.也可以./demo-phrases.sh 进行短语训练,这样 los angeles 就会被当成一个 整体来看待。distance 的相关测试如下:

 

 7.如果是中文的语料,则需要调用相应的分词工具将预料中的词用空格隔开

优缺点

优点:一是解决了分类器不好处理离散数据的问题,二是在一定程度上也起到了扩充特征的作用。

缺点:在文本特征表示上有些缺点就非常突出了。首先,它是一个词袋模型,不考虑词与词之间的顺序(文本中词的顺序信息也是很重要的);其次,它假设词与词相互独立(在大多数情况下,词与词是相互影响的);最后,它得到的特征是离散稀疏的。

模型

1.CBOW (Continuous Bag-of-Words Mode)

是一种与前向 NNLM 类似 的模型,不同点在于 CBOW 去掉了最耗时的非线性隐层且所有词共享隐层。如 下图所示。可以看出,CBOW 模型是预测 P(wt|wt-k,wt-(k-1)…,wt-1,wt+1,wt+2…,wt+k)。

2.Skip-Gram 

Skip-Gram模型和CBOW的思路是反着来的,即输入是特定的一个词的词向量,而输出是特定词对应的上下文词向量。 

 从图中看应该 Skip-Gram 应该预 测概率 p(wi |wt),其中𝑡 − 𝑐 ≤ 𝑖 ≤ 𝑡 + 𝑐且𝑖 ≠ 𝑡,c 是决定上下文窗口大小的常数, c 越大则需要考虑的 pair 就越多,一般能够带来更精确的结果,但是训练时间也 会增加。假设存在一个 w1,w2,w3,…,wT的词组序列,Skip-gram 的目标是最大化:

 基本的 Skip-Gram 模型定义 p(wO|wI)为: 

从公式不能看出,Skip-gram 是一个对称的模型,如果 wt 为中心词时 wk在其 窗口内,则 wt 也必然在以 wk 为中心词的同样大小窗口内,也就是:

 同时,Skip-gram 中的每个词向量表征了上下文的分布。Skip-gram 中的 skip 是指在一定窗口内的词两两都会计算概率,就算他们之间隔着一些词,这样的好 处是“白色汽车”和“白色的汽车”很容易被识别为相同的短语。


关注我了解更多的人工智能专业知识

强烈建议配合课件资料一起学习!效果最好!
需要课件配套课件资料和源码笔记的伙伴可以加微信领取的哦~
为了方便大家学习交流,我建了一个扣裙:966367816(学习交流、大牛答疑、大厂内推)
另外我还整理了整整200G的人工智能学习笔记、课程视频、面试宝典一并可以无套路免费
分享给大家!

欢迎大家扫码撩我呀~

 

深度学习word2vec笔记之应用篇 深度学习word2vec笔记之应用篇 声明: 1)该博文是Google专家以及多位博主所无私奉献的论文资料整理的。具体引用的资料请看参考文献。具体的版本声明也参考原文献 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人 阅读详情

相关推荐

从零实现深度学习框架——深入浅出Word2vec(上)

Word2vec从原理到实现

日积月累,天道酬勤 1217

深度学习:词嵌入之word2vec

http://blog.youkuaiyun.com/pipisorry/article/details/76147604 word2vec简介 深度学习在自然语言处理中第一个应用:训练词嵌入。Google 的 Tomas Mikolov 在《Efficient Estimation of Word Representation in Vector Space》和《Distributed ...

皮皮blog 1万+

【深度学习】利用Java DL4J训练中文版的Word2Vec模型

Word2Vec 是一种基于神经网络的词向量模型,它主要有两种架构:CBOW(Continuous Bag-of-Words)和 Skip-gram。语义空间映射Word2Vec的一个关键作用是将单词映射到低维语义空间中的向量。在这个语义空间里,单词的语义关系通过向量之间的距离和方向来体现。例如,“国王”和“王后”这两个词在语义上有紧密的关联,它们在Word2Vec生成的向量空间中的距离会比“国王”和“汽车”更近。这种向量表示能够让计算机以一种数学上可计算的方式来理解单词之间的语义相似性。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 5603

史上最小白之《Word2vec》详解

谷歌2013年提出来的NLP工具,它的特点就是可以将单词转化为向量表示,这样就可以通过向量与向量之间的距离来度量它们之间的相似度,从而发现他们之间存在的潜在关系。 虽然现在深度学习比较广泛,但是其实word2vec并不是深度学习,因为在这个word2vec中,只是使用到了浅层的神经网络,同时它是计算词向量的一种开源工具,当我们说word2vec模型的时候,其实指的使它背后的CBOW和skip-gram算法,而word2vec本身并不是模型或者算法

Mr_Meng__NLP的博客 5110

深度学习的Natural Language Processing:从Word2Vec到BERT

1.背景介绍 自然语言处理(Natural Language Processing,NLP)是人工智能(Artificial Intelligence,AI)领域的一个重要分支,其目标是让计算机理解、生成和翻译人类语言。随着大数据、云计算和深度学习等技术的发展,深度学习的NLP(Deep Learning for NLP)在处理自然语言文本和语音的能力

AI天才研究院 1061

7 series FPGAs Transceiver Wizard IP核使用和测试

学习FPGA一段时间了,前面一直没有系统的总结,这学期把在项目中用到的IP核和一些调试过程中遇到的问题总结一下发出来,坚持下去,一起进步! 今天总结一下的GTH核的使用和测试。 软件版本:Vivado 2017.4 IP核版本:7 Series FPGAs Transceivers Wizard (3.6) FPGA:xc7vx690tfft1927 实现功能: 四路光纤数据接收,由于GTX IP...

qq_39921762的博客 1万+

动手学深度学习 - 自然语言处理 - 15.1. 词嵌入 (word2vec)

输入句子:“the man loves his son”,中心词设为“loves”,窗口大小为 2,预测上下文为:“the”、“man”、“his”、“son”。例如,“the man loves his son” 中,“loves” 与 “his” 更可能出现在一起,而非“banana”。**词嵌入(word embedding)**的目标是:将词语映射为稠密的、可学习的实数向量,捕捉它们之间的语义相似性。同样使用最大似然训练,但 CBOW 的输入是多个上下文词向量的平均,输出是一个中心词。

tang7mj的博客 1374

详解如何用爬虫工具批量采集阿里巴巴批发网商品数据

本文主要介绍如何使用后羿采集器的智能模式,免费采集阿里巴巴批发网商品的批发价格、发货时间、是否代发等信息。 采集字段: 商品标题、商品链接、图片链接、标签1、标签2、标签3、价格、30天成交数、 评价、店铺 功能点目录: 如何对采集字段进行配置 如何采集列表+详情页类型网页 采集结果预览: 下面我们来详细介绍一下如何免费采集1688批发网的商品数据,我们以“羽绒服女”为例,具体步骤如下: 步骤一...

weixin_43777427的博客 1万+

DL4J---实现Word2Vec模型构建

本文实现使用 Java深度学习框架DL4J 完成Word2Vec模型的建立。 将训练语料保存在 all_data.txt文件内,格式为每一行一条样本,且经过分词、过滤处理。 如: //原文本样本 String raw = "超半数省份出台供给侧改革方案,降低要素成本成难点。"; //分词过滤后,空格相间隔 String washed = "超 半数 省份 出台 供给 侧 改革 方案 降低 要素 成...

qq_41982466的博客 831

深度解析跨境支付之业务架构

详解跨境支付之业务架构

weixin_47493863的博客 1877

Python+AI能源管理实战:从电力负荷预测到智能调度的全流程开发

本系统展示了Python在能源管理领域的强大能力,通过AI技术实现了从预测到优化的智能决策闭环。随着碳中和目标的推进,智能能源系统将成为新型电力系统的核心大脑。📌 专业建议:系统部署需考虑网络安全防护,关键控制指令应设置多重验证机制!关注我的优快云账号获取能源系统安全最佳实践~下期预告:我们将探索Python在智慧医疗中的应用,开发基于多模态数据的智能诊断辅助系统。想提前获取代码?评论区留言"智慧医疗"获取GitHub源码链接!

资深全栈架构师,乐于在 优快云 分享技术见解,与大家携手共进,共攀技术巅峰! 625

DL4J模型训练Word2Vec

       目前深度学习已经越来越受到重视,深度学习的框架也是层出不穷,例如谷歌的TensorFlow,它是基于Python进行开发的,对于许多对Python不够了解的程序员来说用起来可能没有那么的方便,这里说一下一个基于Java的深度学习框架——DL4J。本博客主要介绍在代码层面基于DL4J模型实现训练Word2Vec,一起来看一下吧~【代码】package com.xzw.dl4j; im...

象在舞的技术专栏 2190

EMI硬件抑制八项工程对策:从回路面积到谐振规避

电磁干扰(EMI)是电子系统可靠性与EMC合规性的核心挑战,其本质源于高频电流回路产生的辐射与耦合效应。理解回路面积、共模/差模噪声、阻抗匹配等基础原理,是实施有效抑制的前提。技术价值体现在降低辐射发射(RE)、传导发射(CE)超标风险,提升产品一次通过率与长期稳定性。典型应用场景包括开关电源设计、高速数字接口布局、工业嵌入式设备及医疗电子等对EMC要求严苛的领域。本文聚焦可落地的硬件级对策,涵盖回路面积控制、屏蔽策略、变压器漏磁管理、双线传输与阻抗匹配等关键实践,深度融合电流回路物理模型与PCB工程实现。

weixin_35019679的博客 84

深度学习word2vec笔记

基础篇算法篇应用篇 深度学习word2vec笔记之基础篇 一.前言 伴随着深度学习的大红大紫,只要是在自己的成果里打上deep learning字样,总会有人去看。深度学习可以称为当今机器学习领域的当之无愧的巨星,也特别得到工业界的青睐。 在各种大举深度学习大旗的公司中,Google公司无疑是旗举得最高的,口号喊得最响亮的那一个。2013年末,Google发布的word2vec工具引起了一

2006

【PyTorch项目实战】图像分类与识别:手写数字识别(MNIST)、普适物体识别(CIFAR-10)

主要介绍了两个经典的实战项目:(1)基于 MNIST 数据集的手写数字识别(2)基于 CIFAR-10 数据集进行图像分类

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 4400

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 528

机器学习系列之深度学习-神秘联系,word2vec与深度学习穿越时空的眷恋

我挺喜欢机器学习这个方向,但这方面的经历实在不多:读研时上过《机器学习》的课,一塌糊涂,后来毕设所谓的研究中用过聚类算法;工作后仅用过朴素贝叶斯算法;再后来就是自己偶尔看过几页书了。所以本篇可能连术语也不太准确,但大致思想应该不差。 深度学习有多火不用再说了,而它能火的一大原因可能要归功于Embedding,也就是所谓的word2vec/w2v。 初始word2vec的特点 word2vec最重要的一点是,用低维向量表达(编码)了相似关系。 以前的one-hot编码(叫“独热编码”)是没有相似关系的,比如词

qq_40433634的博客 387

Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法

在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。

2401_87715305的博客 687

【深度学习Deep Learning系列】word2vec和doc2vec

1     word2vec结构 LDA计算复杂,不太适应大数据量计算。word2vec将词投射到向量上,使得词之间的远近程度易于计算,很容易表示同义词、近义词。 1.1 skip-gram 以1个词为输入,通过D维投射层,以及分类器(softmax或log-linear),让该词分到前后若干个词之间。前后词个数越多,模型的准确性越高,但计算量也越大。具有相同上下文的两个词,认为这两个词相似

zkq_1986的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【深度学习笔记】10_1 词嵌入word2vec

注:本文为开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图。

RIKI_1 1030

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

基于深度学习的文本数据特征提取方法之Word2Vec

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”作者:Dipanjan (DJ) Sarkar编译:ronghuaiyang导读介绍了基于深度学习的文本数据特征...

AI公园 8582

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

榕树贷款深度学习之word2vec

榕树贷款使用word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效 工具,榕树贷款采用的模型有 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和 Skip-Gram 两种。 榕树贷款word2vec 一般被外界认为是一个 Deep Learning(深度学习)的模型,究其原 因,可能和 word2vec 的作者 Tomas Mikolov 的 Deep Learning 背景以及 word2vec 是一种神经网络模型相关,但我们谨慎认为该

dongsijia的博客 158

Dive-into-DL-PyTorch项目解析:Word2Vec模型的PyTorch实现

在自然语言处理(NLP)领域,如何有效地表示词汇一直是核心挑战。传统的one-hot编码虽然简单,但存在明显缺陷:每个词都被表示为独立的向量,无法捕捉词与词之间的语义关系。比如"猫"和"狗"都是动物,但one-hot编码无法表达这种相似性。 Word2Vec(词向量)技术的出现彻底改变了这一局面。它将每个词映射到一个低维稠密向量空间中,使得语义相似的词在向量空间中的位置也相近。Dive-into...

gitblog_00688的博客 477

深度学习的语言模型:从Word2Vec到BERT

1.背景介绍 自从深度学习技术诞生以来,它已经成为了人工智能领域的核心技术,并且在自然语言处理(NLP)领域取得了显著的成果。语言模型是NLP的一个重要分支,它旨在预测给定上下文的下一个词。在过去的几年里,我们已经看到了许多高效的语言模型,如Word2Vec、GloVe和BERT等。在本文中,我们将深入探讨这些模型的算法原理、数学模型和实现细节。 2.核心概念与联系 2.1 Word2Vec...

AI天才研究院 975

embedding层_万物皆Embedding,从经典的word2vec到深度学习

这里是 王喆的机器学习笔记 的第四篇文章,之前我们一起讨论了阿里的DIN,YouTube的深度学习推荐系统,本来今天想再分享另一篇科技巨头的业界前沿文章,Airbnb的Embedding方法 但因为文章中涉及word2vec的技术细节,为了保证一些初学者的知识是自洽的,我还是想在此之前详细介绍一下深度学习的基本操作Embedding以及从word2vec到item2vec的模型原理。什么是embe...

weixin_39930252的博客 513

Python深度学习实战:Word2Vec

这里只是为了简单展示词向量之间的关系,从每个词向量中只取前两个维度的数据(实际中往往会用更复杂的降维方法如 t-SNE 将高维向量映射到二维空间进行更好的可视化),然后使用 plt.plot 函数绘制散点图,每个词向量用一个圆点表示,通过观察这些圆点在二维平面上的分布情况,可以大致感受不同词语词向量的差异以及可能存在的某种关联(比如语义相近的词语词向量可能在空间上更靠近等情况)。首先定义了一个包含几条电影影评语句的列表 sentences,作为我们要使用的文本数据集。作为训练数据,同时设置了一些模型参数。

weixin_47362565的博客 497
上一篇: 人工智能必备数学基础(三)
下一篇: 人工智能必备数学基础(四)
普通网友
博客等级 码龄5年 1265粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值