Embedding And Word2vec

Embedding与向量数据库:

Embedding 简单地说就是 N 维数字向量,可以代表任何东西,包括文本、音乐、视频等等。要创建一个Embedding有很多方法,可以使用Word2vec,也可以使用OpenAI 的 Ada。创建好的Embedding,就可以存入向量数据库中
这里举个例子,比如“你好”,用W2做Em后,可以表示为[0.1,0.5,0.7],而“嗨”用W2做Em后,可以表示为[0.2,0.5,0.6],我们可以使用余弦相似度的方法来计算他们的相似度:

Cosine Similarity(A,B) = A·B / |A|*|B|,其中A和B分别表示两个不同维度的embedding,|A|和|B|分别表示A和B的模长

余弦相似度的值越接近1,表示两个向量的方向越接近,即两个embedding越相似。大概就如下图所示
在这里插入图片描述

word2Vec:

  • Word2Vec是语言模型中的一种,它是从大量文本预料中以无监督方式学习语义知识的模型,被广泛地应用于自然语言处理中。
  • Word2Vec是用来生成词向量的工具,而词向量与语言模型有着密切的关系。
  • Word2Vec是轻量级的神经网络,其模型仅仅包括输入层、隐藏层和输出层,模型框架根据输入输出的不同,主要包括CBOW和Skip-gram模型

CBOW:

就是“完形填空”,知道词w上下文的情况下,预测w是什么词。

1.简单CBOW,输入一个词,预测输出一个词
在这里插入图片描述
从上图可以看出,实际上是很简单的一个BP神经网络,输入就是一个一维的向量,然后和第一个权重矩阵w进行乘法,获取隐含层的值h,然后h再和第二个权重矩阵W’,相乘后得到输出(有多少个字,就有多少种输出),最后的输出经过softMax函数,就可以得到每个字的概率,概率最大的,就是我们预测的字。

2.复杂CBOW,输入多个词,预测一个词
在这里插入图片描述
和simple CBOW不同之处在于,输入由1个词变成了C个词,每个输入到达隐藏层都会经过相同的权重矩阵W,隐藏层h的值变成了多个词乘上权重矩阵之后加和求平均值。

3.CBOW的训练
CBOW模型的训练目标是最大化给定上下文时中心单词出现的概率,即最大化y[t]。这等价于最小化交叉熵损失函数
在这里插入图片描述

交叉熵损失函数可以通过反向传播算法来求导,并通过随机梯度下降法来更新参数。参数包括输入层到隐藏层之间的权重矩阵W(大小为V×N),以及隐藏层到输出层之间的权重矩阵U(大小为N×V)。

Skip-gram Model:

在这里插入图片描述
Skip-gram model是通过输入一个词去预测多个词的概率。输入层到隐藏层的原理和simple CBOW一样,不同的是隐藏层到输出层,损失函数变成了C个词损失函数的总和,权重矩阵W’还是共享的

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

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

相关文章

什么是先验知识和后验知识

在概率论和统计学中,先验知识(Prior knowledge)和后验知识(Posterior knowledge)是贝叶斯推断的两个基本概念。 先验知识(先验概率): 先验知识指的是在观察到数据之前,关…

【开源】基于JAVA的超市账单管理系统

项目编号: S 032 ,文末获取源码。 \color{red}{项目编号:S032,文末获取源码。} 项目编号:S032,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 总体设计3.2 前端设计3…

Beta冲刺总结随笔

这个作业属于哪个课程软件工程A这个作业要求在哪里beta冲刺事后诸葛亮作业目标Beta冲刺总结随笔团队名称橘色肥猫团队置顶集合随笔链接Beta冲刺笔记-置顶-橘色肥猫-CSDN博客 文章目录 一、Beta冲刺完成情况二、改进计划完成情况2.1 需要改进的团队分工2.2 需要改进的工具流程 三…

js校验多个时间段的时间是否有交叉

参考博客: Java日期时间API系列37-----时间段是否有重叠(交集)的计算方法 Java 最优雅方式校验时间段重叠 判断是否有交叉数据 let timePeriod [{start: dateList[0].value, //时间段1的开始时间 时间格式为1130(代表11&#xf…

基于ASP的购物网站设计

摘 要 随着计算机科学的不断发展和网络的迅速普及,Internet 的应用已经涉及到人们生活的方方面面,越来越多的现代企业也意识到了这一点,如何在当前的网络大发展的背景下开拓市场已经成为了企业关注的重中之重。总的来说,互联网的…

从零开始搭建博客网站-----登陆页面

登录按钮以及背景图设置 安装element-plus和css插件 npm install element-plus --save npm install sass --save npm install sass-loader --save在main.js里引用 寻找背景图存入assets文件下,并且在Login.vue里设置背景图和登录按钮 设置的背景图的大小没有起…

智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用

说到三大信息技术大家都很清楚,指的是云计算、大数据和人工智能,在人工智能(AI)快速发展的当下,例如常见的大数据分析、人工智能芯片生产的智能机器人等等,在工作、生活、教育、金融、科技、工业、农业、娱…

Unity 与 虚拟机ROS连接

Unity 与 虚拟机ROS连接 知识储备前期准备ROS部分Unity部分 连接测试 知识储备 unity官方教程: https://github.com/Unity-Technologies/Unity-Robotics-HubWin11家庭版开启HyperV: https://zhuanlan.zhihu.com/p/577980646HyperV安装Ubuntu: https://b…

找出数组里最大元素和最小元素

必应出来的一段参考代码(ref:How to Use Hypothesis and Pytest for Robust Property-Based Testing in Python | Pytest With Eric): def find_largest_smallest_item(input_array: list) -> tuple: """ Fu…

可视化开源编辑器Swagger Editor本地部署并实现远程访问管理编辑文档

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 Swagger Editor本地接口文档公网远程访问1. 部署Swagge…

【Android面试|华为|广播类】-Local Broaddcasts 能接收到系统广播么?

华为面试官问了其中一个问题 Q: Local Broaddcasts 能接收到系统广播么? A: 本地广播(Local Broaddcasts) 只在本App发送和接收的广播。注册为本地广播的接收器无法收到标准广播。 Android应用可以通过广播从系统或其他App接收或发送消息。类…

工业机器视觉megauging(向光有光)使用说明书(二,轻量级的visionpro)

测试程序暂时支持80万(包含1024*768)以上的gige工业相机,以后会支持640*480分辨率相机。 我们程序中使用注意力机制,其实就是感兴趣区域(roi,你看过我前面博文,就应该明白)精神的延…

如何让企业报修、派单更高效!自动派单系统有什么用?

最近有做学校后勤报修、物业、酒店民宿的朋友找到我,聊得最多的就是关于任务分发的事情,觉得工作任务派单好难!   我也从跟他们聊天过程中简单整理了以下两种报修派单中普遍存在的问题:   第一种就是有人打电话报修&#xff0…

FreeRTOS入门

目录 一、什么是任务 二、创建任务---xTaskCreate函数 三、任务的删除 四、任务优先级 1.阻塞状态(Blocked) 2.暂停状态(Suspended) 3.就绪状态(Ready) 五、Delay 六、调度算法 一、什么是任务 在FreeRTOS中,任务就是一个函数,原型如下&#xff…

华为OD机试真题-最大坐标值-2023年OD统一考试(C卷)

题目描述: 小明在玩一个游戏,游戏规则如下: 在游戏开始前,小明站在坐标轴原点处(坐标值为0)。 给定一组指令和一个幸运数,每个指令都是一个整数,小明按照指定的要求前进或者后退指定的步数。前进代表朝坐标轴的正方向走,后退代表朝坐标轴的负方向走。 幸运数为一个整数…

【数据库】MSSQL 注入入门级的讲解

MSSQL 注入是一种常见的网络攻击技术,它通过在应用程序中插入恶意 SQL 代码,从而窃取、修改或破坏数据库中的数据。为了帮助您更好地了解 MSSQL 注入,以下是一个入门级的讲解。 1. 什么是 MSSQL 注入? MSSQL 注入是一种利用应用程序中的 SQL 语句漏洞,通过在输入数据中插入…

保护您的数据库免受注入攻击:MSSQL注入入门指南

MSSQL注入的入门讲解 一、引言二、MSSQL注入的基础知识2.1、MSSQL数据库的基本原理和结构2.2、常见的SQL语句和操作2.3、MSSQL注入的原理和工作方式 三、MSSQL注入攻击技术3.1、基于错误的注入攻击:利用错误消息和异常信息3.2、基于时间的注入攻击:利用延…

shell语法

概论 shell是我们通过命令行与操作系统沟通的语言 shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。 DA Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。 1.脚本示例 新建一个test.sh文件,内容如…

Ubuntu上传文件到SMB共享文件夹

0. 前言 公司有一些数据共享文件夹,平时可以把开发的重要文件放到上面备份。本人开发使用ubuntu系统,共享文件夹是windows的形式,想通过命令的方式,方便快捷,还可shell脚本自动化。 1. 安装挂载库 sudo apt-get upd…

LeetCode [中等]98. 验证二叉搜索树

98. 验证二叉搜索树 - 力扣(LeetCode) 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子…