大模型是怎么知道 “我赚了200万” 的?

news2024/11/19 2:39:02

今天在和 chatGPT 聊天时,我说“我赚了200万”,他立刻就根据这句话给我了一句。

图片

我当然没有赚到200万,只是想引出一个话题:“模型是如何识别出这句话,又是怎么知道该回答什么的呢"

在学习自然语言处理(NLP,Natural Language Processing)时,最先遇到的一个概念,基本就是词嵌入(word embedding)技术。

词嵌入技术之所以重要,就是因为它是让 AI 理解人类语言的一门技术。

现在就一起来看看,你在和 GPT 对话时,GPT 是怎么理解你的表达的吧。

1、什么是词嵌入?

词嵌入,英文 Word Embedding,简单来说,它就是把单词或汉字转换成向量的过程

我们知道,计算机在处理任何形式的数据时,处理的都是二进制数字。不论是显示图片、文本,还是播放语音、视频,在计算机看来都是数据流。

因此,计算机在处理文本时,也只有将文本转换成数字形式才能进行计算,词嵌入就是为了解决这个问题。

它将每个单词映射成一个向量,这个向量可以用来表示这个单词的语义和特征。

举个例子,我们可以把“苹果”这个单词映射成一个向量[0.2, 0.9, -0.1, ...],把“香蕉”映射成[0.5, -0.3, 0.8, ...],这样计算机在看到向量[0.2, 0.9, -0.1, ...]时,就能够理解这个单词是“苹果”了。

2、为什么需要词嵌入?

我猜你肯定会问一个问题:为什么不直接用数字来表示单词,而非要搞出一个向量呢?

这是因为单纯用数字表示单词,会丢失掉很多有用的信息。

比如,假设用数字1代表“苹果”,用数字2代表“香蕉”,虽然这样可以区分出“苹果”和“香蕉”,但是无法表示他们之间的关系。

而词嵌入的好处在于,它能够在向量空间中保持单词之间的相似关系,也就是说,语义相近的单词在向量空间中会有相近的表示。

比如苹果和香蕉肯定比苹果和石头更相似。

我们用一个二维向量表示单词,可以把“苹果”表示为[1, 1],把“香蕉”表示为[2, 2]。

在这个向量空间中,你会发现这两个向量非常接近(可以更科学的计算两者之间的距离),因为它们的含义很相似,这点其实和one-hot编码有点像,可以查看 5分钟理解 one-hot 编码。

这样的表示方式使得计算机能够更好地理解单词之间的关系,比如在文本分类、情感分析等任务中,word embedding 可以使模型更准确地识别单词的含义和上下文。

3、一个例子

接下来看一个例子,来更直观地理解 word embedding 的作用。

假设我们要对一篇文章中的单词进行编码,有四个单词:“猫”、“狗”、“鱼”、“跑”。

首先,用数字表示这些单词:

- 猫:1

- 狗:2

- 鱼:3

- 跑:4

如果我们只是用数字表示,那么计算机只能知道它们是不同的单词,无法确定“猫”和“狗”更相似,还是“鱼”和“跑”更相似,因为他们之间的数值都相差1。

现在我们来用 word embedding 方法来表示这些单词,词向量可能是:

- 猫:[0.2, 0.7]

- 狗:[0.3, 0.9]

- 鱼:[-0.5, 0.2]

- 跑:[0.8, -0.1]

将这四个向量画在坐标轴上,如图所示:

图片

可以看到,“猫”和“狗”这两个向量非常接近,因为它们都属于动物,“鱼”和“跑”这两个向量则相距很远,因为它们不论属性还是含义都相差很远。

这样的表示方式让计算机能够更好地理解单词之间的关系。

比如在文本分类任务中,当计算机遇到一个句子“猫和狗在跑”,它会知道“猫”和“狗”是相似的词,而“跑”则和它们有些不同。

通过 word embedding 技术,将单词转换成向量表示,保留了单词之间的语义和特征关系,这样计算机便能够更准确地理解文本中的含义和语义关系,从而提高自然语言处理的性能。

中华上下5000年,那么多单词和文本,计算机是如何把大量的文本转换到向量空间,同时维持不同对应的向量之间的远近关呢?

这需要专门的模型来处理,比如 word2vec 模型便可以专门完成单词到向量的转换,而这个映射关系,也是在训练该模型的时候不断学习到的。

本文原创,请勿转载,有合作需求请私信。

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

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

相关文章

Linux(4):Linux文件与目录管理

目录与路径 相对路径在进行软件或软件安装时非常有用,更加方便。利用相对路径的写法必须要确认目前的路径才能正确的去到想要去的目录。 绝对路径的正确度要比相对路径好,因此,在写程序(shell scripts)来管理系统的条…

苍穹外卖项目笔记(3)——员工管理

前言 这些功能都没有展示对应的测试结果,可自行通过接口文档进行测试,也可以进行前后端联调测试,附代码链接:take-out 1新增员工 1.1 需求分析和设计 产品原型 接口设计 【注】code:操作成功返回1,否则…

腾讯云服务器云硬盘存储三副本消除单点故障

腾讯云服务器造可靠性处于业界领先水平的云服务器,云服务器CVM可靠性单实例99.975%,数据可靠性99.9999999%,云硬盘采用三副本专业存储策略,消除单点故障,保证数据可靠性,腾讯云百科txybk.com分享腾讯云服务…

【数据挖掘 机器学习 | 时间序列】时间序列必备工具箱: 自相关与偏相关检验

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi)

分类 编程技术 1.进入官网找到自己所需的安装包:https://dev.mysql.com/ ,路径:DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL on Windows (Installer & Tool) 或直接点击 MySQL :: Download MySQL Installer 查看最新版本。…

linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包

文章目录 前言1、下载yum-utils​​2、yumdownloader3、repotrack4、区别:总结 前言 当开发者在联网环境下使用Linux时,可以轻松地通过yum或apt-get安装软件。然而,在公司和企业中,由于安全原因,生产环境通常无法访问…

【Maven教程】(十一):使用 Maven 构建 Web应用 —— 使用 jetty-maven-plugin 进行测试、使用 Cargo 实现自动化部署~

Maven 使用 Maven 构建 Web应用 1️⃣ Web 项目的目录结构2️⃣ account-service2.1 account-service的 POM2.2 account-service 的主代码 3️⃣ account-web3.1 account-web 的POM3.2 account-web 的主代码 4️⃣ 使用 jetty-maven-plugin 进行测试5️⃣ 使用 Cargo 实现自动…

永久关机windows系统自动更新

1、打开cmd执行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 3000 /f2、设置,打开windows更新高级选项 修改暂停日期,可长达十年。 3、你小子

振南技术干货集:CPU,你省省心吧!(2)

注解目录 1、石油测井仪器 1.1 背景知识 (了解一下石油行业。石油到底是怎么找到的?) 1.2 测井数据采传的实现 1.2.1 最直接的初级方案 1.2.2 加入 DMA 的优化方案 (看看一般工程师与高手在技术实现上到底有什么区别。充分…

[Linux] PXE批量装机

一、PXE批量装机简介 1.1 常见的三种系统安装方式 u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装 光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机 网络下载安装:在网上下载相关镜…

【数据挖掘 机器学习 | 时间序列】时间序列必学模型: ARIMA超详细讲解

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

获取文章分类详情

CategoryController GetMapping("/detail")public Result<Category> detail(Integer id){Category c categoryService.findById(id);return Result.success(c);} CategoryService //根据id查询分类信息Category findById(Integer id); CategoryServiceImpl …

谈谈 MySQL 事务隔离级别

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

MATLAB画图分辨率、图像大小研究

MATLAB画图分辨率、图像大小研究 Figure属性中 InnerPosition Position OuterPosition区别画图与打印的分辨率和图像大小研究首先明确两个概念&#xff1a;MATLAB实操画图 Figure属性中 InnerPosition Position OuterPosition区别 在画图的时候&#xff0c;我们经常需要设置Fi…

记录一次较为完整的服务打包发布流程

文章目录 1. Spring Boot编程2. 打包成jar服务3. 使用Docker Compose发布服务 1. Spring Boot编程 使用Spring Initializr 选择基本工具 导入常用工具 配置多环境 参考https://blog.csdn.net/qq_37992410/article/details/121008415&#xff0c; https://blog.csdn.net/xiao…

mongodb——原理简介,docker单机部署

MongoDB noSQL数据库 特点 数据文件存储格式为 BSON &#xff08;JSON 的扩展&#xff09; &#xff5b;“name”&#xff1a;“joe”&#xff5d;这是 BSON 的例子&#xff0c;其中"name"是键&#xff0c;"joe"是值。键值对组成了 BSON 格式。面向集合…

【开源】基于Vue和SpringBoot的康复中心管理系统

项目编号&#xff1a; S 056 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S056&#xff0c;文末获取源码。} 项目编号&#xff1a;S056&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…

C++之谓词

C之谓词 一元谓词 #include<iostream> using namespace std; #include<vector> #include<algorithm> //仿函数 返回值类型是boo1数据类型&#xff0c;称为谓词 //一元谓词class GreaterFive { public:bool operator()(int val){return val > 5;} };void …

Windows 下 Sublime Text 2.0.2 下载及配置

1 下载地址&#xff1a; https://www.sublimetext.com/2 Sublime Text 2.0.2 (此版本选择了 portable version)&#xff0c;直接解压就可以使用。 https://download.sublimetext.com/Sublime Text 2.0.2.zip 2 配置Python相关环境 (前提 Pyhon 已加入环境变量) 2.1 新建 py …