自然语言处理学习--3

对自然语言处理领域相关文献进行梳理和总结,对学习的文献进行梳理和学习记录。希望和感兴趣的小伙伴们一起学习。欢迎大家在评论区进行学习交流!

论文:《ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information》

下面将根据以下五部分内容进行论述

1.解决了什么问题
2.提出了什么方法
3.此方法与之前的方法区别
4.运用了什么算法、数据来源
5.如何训练模型

1.解决了汉语中普遍存在的多音多义现象(同一汉字有不同的发音和不同的含义)的问题。

2.提出了一个将汉字的字形和拼音信息纳入大规模预训练过程的模型ChineseBERT。

3.ChineseBERT模型的优势

(1)最初的BERT(Bidirectional Encoder Representations from Transformers)模型通过自注意力机制(self-attention)从大规模文本数据中学习词的上下文表示。

优点:在英语及其他语言任务上表现出了优异的性能。

缺点:对于中文,直接应用BERT存在一些问题。汉字不同于拼音文字,其不仅包含语义信息,还包含丰富的形状和音韵信息。传统的BERT模型忽略了这些信息,仅仅基于词或子词的表面形式进行学习,这对于中文这种表意文字来说显然是不够的。

(2)一些早期的工作尝试通过加入字形或拼音信息来增强模型表示。GlyphBERT:引入汉字的字形信息(如笔画、结构),以帮助模型更好地理解汉字的形态。Pinyin-BERT:结合拼音信息,使模型在学习过程中能够考虑汉字的发音特征。

优点:这些方法在一定程度上提高了模型的表现。

缺点:但通常是分别引入字形或拼音信息,没有将两者结合起来。

(3)ChineseBERT提出了一种新的预训练方法,将汉字的字形和拼音信息同时引入模型中。这种方法的优势在于:字形信息:通过图像嵌入(image embeddings)将汉字的字形信息引入,捕捉汉字的结构和笔画细节。拼音信息:通过拼音嵌入(pinyin embeddings)将汉字的音韵信息整合进模型,提供额外的语音信息。使得模型在处理中文时能够更全面地理解汉字,从而在各种下游任务中表现出更优异的性能。

4.训练了一个大规模的预训练中文NLP模型ChineseBERT;数据来源:从Common Crawl收集了预训练数据。预处理后(如去除英文文本过多的数据,过滤html标注器),保留10%左右的高质量数据进行预训练,共包含4B个汉字。我们使用LTP工具箱来识别中文单词的边界以进行全词掩蔽。

5.训练模型:

        ChineseBERT的模型架构在传统BERT的基础上增加了两个额外的嵌入层,一个用于字形信息,另一个用于拼音信息。这种多模态信息的融合使得模型在处理中文时能够更全面地理解汉字,从而在各种下游任务中表现出更优异的性能。

        对于每个汉字,首先将其字符嵌入、字形嵌入和拼音嵌入层连接起来,然后通过全连通层映射到d维嵌入,形成融合嵌入。然后将融合嵌入与位置嵌入相结合,作为BERT模型的输入。由于我们不使用NSP预训练任务,我们省略了段嵌入。我们使用全词掩蔽(WWM) (Cui et al., 2019a)和Char掩蔽(CM)进行预训练。如下图所示。

        我们使用了两种掩蔽策略-全字掩蔽(WWM)和Char masking(CM)。Li等人(2019b)建议使用汉字作为基本输入单位可以缓解汉语语言的词汇外问题。因此,我们采用在给定上下文中屏蔽随机字符的方法,称为Char masking。另一方面,中文中的大量单词由多个字符组成,对于这种情况,CM策略可能太容易使模型无法预测。例如,对于输入上下文“[M] (i like going to the Forbidden [M])”,模型可以很容易地预测出被蒙面字符是“(City)”。因此,我们遵循Cui等人(2019a)使用WWM,这是一种掩盖选定单词内所有字符的策略,从而消除了CM策略易于预测的缺点。请注意,对于WWM和CM,基本输入单位都是汉字。WWM和CM的主要区别在于它们如何屏蔽字符以及模型如何预测被屏蔽字符。

        模型的输入是可学习的绝对位置嵌入和融合嵌入的相加,其中融合嵌入是基于相应字符的字符嵌入、字形嵌入和拼音嵌入。字符嵌入的执行方式类似于BERT中使用的令牌嵌入,但在字符粒度上。下面我们分别描述了如何诱导字形嵌入、拼音嵌入和融合嵌入。

        字形嵌入:我们按照Meng等人(2019)的方法,使用了三种类型的中文字体—仿宋、行楷和隶书,每种字体实例化为24张×24图像,浮点像素范围为0到255。与Meng等人(2019)使用cnn将图像转换为表示不同,我们使用FC层。我们首先将24×24×3向量转换为2352向量。将平面化的向量馈送到FC层(全连接层)以获得输出的字形向量。如下图所示。

        拼音嵌入:每个字符的拼音嵌入用于解耦属于同一字符形式的不同语义含义,如下图所示。我们使用开源的pypinyin package为其组成字符生成拼音序列。Pypinyin是一个将机器学习模型与基于字典的规则相结合的系统,用于推断给定上下文中字符的拼音。汉字的拼音是罗马尼亚字符的序列,四个变音符号中的一个表示声调。我们使用特殊的记号来表示声调,这些声调被附加到罗马尼亚字符序列的末尾。我们将宽度为2的CNN模型应用于拼音序列,然后进行最大合并以得出最终的拼音嵌入。这使得输出维度不受输入拼音序列的长度的影响。输入拼音序列的长度固定为8,当拼音序列的实际长度未达到8时,剩余的空位填充特殊字母“-”。

        融合嵌入:一旦我们有了字符的字符嵌入、字形嵌入和拼音嵌入,我们就将它们连接起来形成一个3D向量。融合层通过完全连接的层将3D维向量映射到D维。将融合嵌入与位置嵌入相加,输出到BERT层。概述如下图所示。

        输出是每个输入汉字对应的上下文化表示。

         通过上面叙述的内容进行模型训练。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件确认测试和系统测试包括哪些测试内容?有什么区别?

一、软件确认测试 软件确认测试,顾名思义,是为了确认软件的正确性和完整性而进行的测试过程。它旨在验证软件是否符合用户需求和软件开发规范。测试内容包括: 1、功能确认:通过对软件各项功能进行测试,验证其是否按照…

商用车水箱浮球液位开关

商用车水箱浮球液位开关概览 商用车水箱浮球液位开关是一种用于监测商用车辆水箱液位的设备,它可以有效地控制和监控水箱中的水位,确保车辆的正常运作。这种液位开关通常安装在水箱内部,通过浮球和磁性原理来感知液位的变化,并通…

AI墓地:738个倒闭AI项目的启示

近年来,人工智能技术迅猛发展,然而,不少AI项目却在市场上悄然消失。根据AI工具聚合网站“DANG”的统计,截至2024年6月,共有738个AI项目停运或停止维护。本文将探讨这些AI项目失败的原因,并分析当前AI初创企…

商务视频推广打造有吸引力的7个秘诀-华媒舍

商务视频推广是现代企业发展的重要工具,它能够帮助企业吸引更多的目标客户,提升品牌知名度,增加销售量。但是,如何打造一部有吸引力的商务视频推广呢?本文将为您介绍7个秘诀,帮助您在商务视频推广中取得成功…

【Unity navmeshaggent 组件】

【Unity navmeshaggent 组件】 组件概述: NavMeshAgent是Unity AI系统中的一个组件,它允许游戏对象(通常是一个角色或AI)在导航网格(NavMesh)上自动寻路。 组件属性: Radius:导航…

100个名人的家,娄艺潇的家:大美国色,浪漫栖居

冠珠瓷砖「100个名人的家」,大美筑家,中国冠珠2024大美筑家之旅,冠珠瓷砖「100个名人的家」,探索中国人的烟火浪漫与美学追求。从中国家文化、人文居所、人生底蕴层面,发掘大美人居的故事,以中国瓷砖、空间…

无人机测绘需要注意什么?

无人机测绘是一项高精度的测量工作,需要注意以下四点: 一、作业前准备:沟通相关事宜,现场勘查,飞行环境检查等; 二、航线规划与像控点布设:航线规划是任务规划的核心内容,需要综合…

工业智能网关在现代工业生产中的重要性-天拓四方

工业智能网关是一款具备挖掘工业设备数据并接入到自主开发的云平台的智能嵌入式网络设备。它具备数据采集、协议解析、边缘计算,以及4G/5G/WiFi数据传输等功能,并能接入工业云平台。这种网关不仅支持采集PLC、传感器、仪器仪表和各种控制器,还…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十一)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 31 节) P31《30.数据持久化-关系型数据库》 上一节中学习了使用用户首选项的方式实现数据持久化,但用户首…

航空数据管控系统-①项目准备阶段:任务2:项目技术预研(技术架构)

任务描述 掌握项目的总体功能,及实现流程。预习项目中所使用到的技术和知识点。 任务指导 一、项目效果展示 图1-数据统计大屏页面 图2-航空实时监控页面 二、项目架构 1、总体架构: 2、技术架构 技术清单: 功能 组件 说明 消息中间件…

用增之Facebook(二)

事件上报: SDK集成参考上一篇文章,代码的调用就一个方法 AppEventsLogger mLogger AppEventsLogger.newLogger(context); 例如,普通事件上传 mLogger.logEvent(“event_name”, bundle); 支付事件比较特殊 Currency curr Currency.getIns…

猫咖老板教你一招解决猫浮毛问题,质量好的猫用空气净化器分享

作为一名猫咖店老板,我经常被朋友问到关于宠物空气净化器的各种问题。有人认为这是个神器,而有人则认为这完全是花钱买智商税。其实我刚开始对购买宠物空气净化器也持怀疑态度,心想这么多钱花下去真的有效吗?但使用后,…

针对SVN、GIT版本管理工具进行源代码加密保护

针对SVN、GIT版本管理工具进行源代码加密保护 在软件开发过程中,版本管理工具如SVN和GIT是不可或缺的组成部分,它们帮助团队管理源代码的变更和版本。然而,这些工具也面临着源代码泄露的安全风险。如果不针对数据进行加密保护,很…

qt QTreeView的简单使用(多级子节点)

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);setWindowTitle("QTreeView的简单使用");model new QStandardItemModel;model->setHorizontalHeaderLabels(QStringList() << "left&q…

元宇宙虚拟实景展馆树立客户对企业的信任和好感

在数字化浪潮的推动下&#xff0c;企业迎来了前所未有的营销新机遇——3D数字展厅。3D数字展厅作为现代营销中的新型工具&#xff0c;不仅是企业与客户互动、传递信息的桥梁&#xff0c;更是企业展示实力、彰显品牌魅力的舞台。 辽宁3D数字展厅制作以其独特的设计理念和先进的制…

航空数据管控系统-①项目准备阶段:任务1:项目需求描述

任务描述 从用户的角度阐述项目的开发背景、使用范围及功能需求&#xff0c;从而指导学生独立完成项目的设计与开发。 任务指导 目录 标题 内容 备注 1. 项目概述 1.1 项目背景介绍 &#xff08;1&#xff09;说明产品是什么&#xff0c;什么用途 &#xff08;2&#xff…

豆包Marscode体验官,体验云编程和AI助手加持的快乐

我正在参加「豆包MarsCode初体验」征文活动&#xff0c;活动链接&#xff1a;https://juejin.cn/post/7384997062416252939?utm_sourcejuejin&utm_mediumpush&utm_campaigntiyanguan Marscode官网地址&#xff1a;工作台 - MarsCode 其实早在前不久&#xff0c;我就…

基于改进滑模、经典滑模、最优滑模控制的永磁同步电机调速系统MATLAB仿真

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 针对永磁同步电机调速系统的响应性能和抗干扰能力问题&#xff0c;本文做了四个仿真&#xff0c;分别为&#xff1a;永磁同步电机的PID控制调速系统、基于传统滑模控制的永磁同步电机的调速系统、最…

注意!高考志愿填报的两个优先原则,千万不要错过!

高考已经告一段落&#xff0c;接下来几天各省会陆续公布分数&#xff0c;然后就到了填报志愿的环节。高考志愿填报是一项影响深远的综合性决策&#xff0c;决定着每个考生的未来发展 。下面我谈谈我对高考填报的理解。我总结为&#xff1a;两个优先、三个因素。 一、两个优先 …

【Unity navigation面板】

【Unity navigation面板】 Unity的Navigation面板是一个集成在Unity编辑器中的界面&#xff0c;它允许开发者对导航网格&#xff08;NavMesh&#xff09;进行配置和管理。 Unity Navigation面板的一些关键特性和功能&#xff1a; 导航网格代理&#xff08;NavMesh Agent&…