BERT模型入门(1)BERT的基本概念

server/2024/12/17 8:54:54/

文章目录


BERT是Bidirectional Encoder Representations from Transformers的首字母简写,中文意思是:Transformer的双向编码器表示。它是谷歌发布的最先进的嵌入模型。BERT在许多NLP任务中提供了更好的结果,如问答、文本生成、句子分类等,从而在NLP领域取得了重大突破。BERT成功的一个主要原因在于它是一个基于上下文的嵌入模型,而其他流行的嵌入模型,如word2vec,则是上下文无关的。

首先,让我们了解基于上下文和上下文无关嵌入模型之间的区别。考虑以下两个句子:

句子A:He got bit by Python.

句子B:Python is a popular programming language.

通过阅读上述两个句子,我们可以理解到“Python”这个词在两个句子中的意思不同。在句子A中,“Python”指的是蛇,而在句子B中,“Python”指的是编程语言。

现在,如果我们使用word2vec这样的嵌入模型为上述两个句子中的“Python”这个词获取嵌入,那么“Python”的嵌入在两个句子中将是相同的,这使得“Python”在两个句子中的意思相同。这是因为word2vec是一个上下文无关模型,它会忽略上下文,总是为“Python”提供相同的嵌入,无论上下文如何。

与之不同,BERT是一个基于上下文的模型。它会理解上下文,然后基于上下文生成单词的嵌入。因此,对于上述两个句子,它会根据上下文为“Python”提供不同的嵌入。但这是如何工作的?BERT是如何理解上下文的?让我们更深入地探讨这个问题。

让我们以句子A为例:He got bit by Python.。首先,BERT将句子中的每个单词与句子中的所有其他单词关联起来,以理解每个单词的上下文意义。因此,为了理解“Python”这个词的上下文意义,BERT将“Python”这个词与句子中的所有单词关联起来。通过这样做,BERT可以理解句子A中的“Python”通过“咬”这个词指的是蛇,如下所示:

在这里插入图片描述

图2.1 – 将“Python”这个词与所有其他单词关联

现在,让我们看看句子B:Python is a popular programming language.

同样地,BERT将句子中的每个单词与句子中的所有单词关联起来,以理解每个单词的上下文意义。因此,BERT将“Python”这个词与句子中的所有单词关联起来,以理解“Python”这个词的意思。通过这样做,BERT理解句子B中的“Python”与编程语言有关,通过使用“编程”这个词,如下所示:

在这里插入图片描述

图2.2 – 将“Python”这个词与所有其他单词关联

因此,与word2vec这样的上下文无关模型不同,后者无论上下文如何都生成静态嵌入,BERT基于上下文生成动态嵌入。

好了,问题是BERT究竟是如何工作的?它是如何理解上下文的?现在我们有了BERT的基本概念,接下来我们将更详细地探讨BERT,并找到这些问题的答案。


感谢您的阅读,欢迎关注!



http://www.ppmy.cn/server/150852.html

相关文章

电脑充当树莓派屏幕(无线连接)

前期准备 1 树莓派和电脑连接在同一局域网下 2 知道树莓的ip地址 一、保证同一局域网下 电脑和树莓派连同一wifi或树莓派连电脑热点 将树莓派SD卡通过读卡器插入电脑,新建树莓派连接wifi的配置文件 wpa_supplicant.conf countryCN ctrl_interfaceDIR/var/run…

【学习笔记总结】华为云:应用上云后的安全规划及设计

一、背景和问题 数字化时代,随着信息技术的飞速发展,企业和各类组织纷纷将自身的应用程序迁移至云端。云计算凭借其诸多优势,如成本效益、可扩展性、灵活性以及便捷的资源共享等,已然成为了现代业务运营的重要支撑。 今年&#xf…

怎么使用手机进行移动办公?

移动办公是一种全新的工作模式,赋予员工在任何时间、任何地点处理工作的自由。这种方式突破了传统办公的时间和空间限制,使得工作效率大幅提升,让您随时随地高效完成任务。那么,如何使用手机进行移动办公呢? 怎么实现手…

shuffle——spark

什么是shuffle shuffle过程本质上是磁盘读写的过程 Spark Shuffle过程也叫作宽依赖过程 Spark中哪些算子会产生Shuffle? 连接类 :join fullOuterJoin leftOuterjoin rightOuterJoin 分区类:repartition coalesce(根据情况&am…

《自制编译器》--青木峰郎 -读书笔记 编译hello

在该书刚开始编译hello.cb时就遇到了问题。 本人用的是wsl,环境如下, 由于是64位,因此根据书中的提示,从git上下载了64位的cb编译器 cbc-64bit 问题一: 通过如下命令编译时,总是报错。 cbc -Wa,"--32" -Wl,"-…

当前热门 DApp 模式解析:六大方向的趋势与创新

去中心化应用(DApp)随着区块链技术的不断发展,已经成为 Web3 领域的核心创新之一。与传统应用不同,DApp 通过智能合约运行在区块链上,具有去中心化、透明、安全等特点。近年来,随着用户需求的变化和技术的发…

C# 解决访问 API 显示基础连接已经关闭的问题

目录 故障现象 开发运行环境 解决 其它 故障现象 最近在 Web 部署百度 AI 图像识别 AipSdk.dll 封装库的时候,在调用OCR图像识别 API 的时候,显示为 “ 基础连接已经关闭: 接收时发生错误。” ,并且运行后直接崩溃: 以身份证…

腾讯云COS跨域访问CORS配置

腾讯云COS跨域访问CORS配置方法如下,参考以下截图: 参考文章: 跨域及CORS-Nginx配置CORS