自然语言处理学习--3

news/2024/7/7 19:26:21 标签: 自然语言处理, 学习, 人工智能

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

论文:《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.niftyadmin.cn/n/5534926.html

相关文章

Android 使用adb操作WiFi连接扫描等相关指令

Android 使用adb操作WiFi连接扫描等相关指令 文章目录 Android 使用adb操作WiFi连接扫描等相关指令一、前言二、adb shell cmd wifi 主要命令### 1、adb shell cmd wifi -h2、打开关闭WLAN3、扫描WiFi 和查看扫描列表4、连接WiFi5、查看WiFi状态(1) wifi 正常连接下的信息&…

在Ubuntu 22.04 LTS 上安装 MySQL两种方式:在线方式和离线方式

Ubuntu安装MySQL 介绍: Ubuntu 是一款基于Linux操作系统的免费开源发行版,广受欢迎。它以稳定性、安全性和用户友好性而闻名,适用于桌面和服务器环境。Ubuntu提供了大量的软件包和应用程序,拥有庞大的社区支持和活跃的开发者社区…

深度学习中的反向传播算法的原理

深度学习中的反向传播算法的原理,以及如何计算梯度 反向传播算法(Backpropagation)是深度学习中最核心的优化技术之一,用于训练神经网络。它基于链式法则,通过从输出层逆向计算误差并逐层传递到输入层来更新模型参数&…

windows非白名单exe监控并杀死

需求:孩子在家用电脑上网课,总是悄悄打开游戏或视频软件 方案:指定白名单exe,打开非白名单的就自动被杀死,并记录日志供查看 不知道是否还有更好的结果方案? import psutil import time import logging#…

golang 获取系统的主机 CPU 内存 磁盘等信息

golang 获取系统的主机 CPU 内存 磁盘等信息 要求 需要go1.18或更高版本 官方地址:https://github.com/shirou/gopsutil 使用 #下载包 go get github.com/shirou/gopsutil/v3/cpu go get github.com/shirou/gopsutil/v3/disk go get github.com/shirou/gopsuti…

macOS笔记

1、MAC中抹掉就是格式化; 2、MAC中拔出U盘:在桌面找到U盘,点击右键显示“推出***”,点击退出。 3、MAC系统版本: macOS 11: Big Sur macOS 12 Monterey macOS 13 Ventura macOS 14 Sonoma macOS 15 Sequoia 4、通用快捷键&#xf…

P2P文件传输协议介绍

P2P文件传输协议是一种基于对等网络(Peer-to-Peer,简称P2P)的文件共享和传输技术。以下是关于P2P文件传输协议的详细介绍: 一、定义与原理 P2P文件传输协议允许网络中的各个节点(即计算机或其他设备)之间…

Python的Django部署uwsgi后自签名实现的HTTPS

通过SSL/TLS来加密和客户端的通信内容。提高网络安全性,但是会损耗部分的服务器资源。 HTTPS 的原理图。 web.key 是打死也不能给其他人的。一定要保存好。里面主要是私钥。是各种认证的根基。本地测试的话生成1024的即可,如果是生产环境推荐使用2048。…