IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ACL2021--ChineseBert论文分享 -> 正文阅读

[人工智能]ACL2021--ChineseBert论文分享

目录

1、模型结构

1.1 整体结构

1.2 字形embedding

1.3 拼音embedding

1.4 fusion模型

2、训练任务

2.1? 预训练准备

2.2? 六项训练任务

1、模型结构

????????最近在看2021年的acl时,发现了一个最新的中文预训练模型,论文名称为:ChineseBERT: Chinese Pretraining Enhanced by Glyph and Pinyin Information。该模型在原有bert类模型中结合了中文的字形和拼音两种具有中国语言特色的特征,使该预训练模型在各种任务上都比原有模型有了明显提升。目前该论文也将实现的代码放在了github,大家有兴趣的可以去拜读这篇论文代码。本篇文章对该论文进行一个简单的分享,并提出自己的一些观点。

????????大规模预训练模型在很多自然语言处理任务中都大放异彩,如:自然语言理解、文本分类、问题回答等。但是Bert作为为英语语言设计的预训练模型,它在应用于中文任务时并没有考虑到中文本身的语言特点:字形和拼音。对于字形来说,汉字是有象形文字的,例如“江河湖海”都有三点水作为偏旁,因此在把它们放在向量空间时距离应该是很近的。对于拼音来说,一个字可能是多音字,而多音字一般都有不同的含义,所以我们需要使用到拼音信息帮我们去理解一个字或者词。

????????下面我们直接来看一下模型的构成。

1.1 整体结构

????????对于每一个字符,我们都会得到它的字符embedding、字形embedding和拼音embedding,然后我们将这三个D-dimension的embedding通过fusion模型(一个全连接层)合并成一个D-dimension的embedding。 我们得到的fusion embedding加上位置embedding就得到的了我们输入到bert模型的向量。?

1.2 字形embedding

?? ? ? ? 作者使用了仿宋、行楷和隶书3种字体来生成字形embedding。将字的图片分割成24*24个像素点,每个像素点的像素从0到255,这样输入三张图片就得到24*24*3的向量。这里文章中说将向量平坦成2352维向量,也就是28*28*3,这里猜测是每个边都加入了2个padding,目的是为了让字形embedding的长度与其他两种相同。最后2352维向量会经过一个全连接层得到一个784的embedding。

1.3 拼音embedding

????????对于拼音embedding,本文中用的是pypinyin这个python的依赖包。音调将直接接在拼音的后面,如上图所示的mao后面的一声。如果拼音的长度没有到8,则使用“-”字符来填充,最终将其转为维度为128的向量。然后我们将其输入到一个CNN网络中,CNN中kernal的宽度为2,最后接一个max-pooling层得到最终的拼音embedding(长度仍为768)。

1.4 fusion模型

? ? ? ? ?在字符embedding、拼音embedding和字形embedding都得到后,我们就得到了一个3D维度的向量。通过一个全连接层,我们可以得到一个D维度的向量。我们将这个D维度的向量加上位置向量便得到了输入bert的向量。

? ? ? ? 到此为止,我们整个模型的结构便分享完了。下面我们继续看一下这篇论文都使用了哪些训练任务。

2、训练任务

2.1? 预训练准备

? ? ? ? 作者使用CommonCrawl(https://commoncrawl.org/)数据集来进行预训练。

????????为了使预训练模型能够同时精准预测字和词,作者使用的mask策略有两种,WWM(Whole Word Masking)和CM(Char Masking)。

????????与其他中文预训练模型不同的是,作者没有基于官方的中文预训练模型来进行训练,而是从头开始训练。这里也不太明白作者为什么要完全从头训练,其实是可以使用一部分原本的模型的。为了增强模型长短项的依赖,作者在训练模型时同时输入了单个句子和多个句子。

2.2? 六项训练任务

????????作者一共使用了6项训练任务:

????????MRC(Machine Reading Comprehension):在这个任务中,作者使用了CMRC2018和CJRC两个数据集,可通过https://github.com/CLUEbenchmark/CLUE找数据集。

????????NLI(Natural Language Inference):该任务作者使用的是XNLI数据集,可通过https://github.com/facebookresearch/XNLI找数据集。

????????TC(Text Classification):该任务作者使用的是THUCNews和ChnSentiCorp数据集,可通过http://thuctc.thunlp.org/https://github.com/pengming617/bert_classification/tree/master/data)找数据集。

????????SPM(Sentence Pair Matching):该任务作者使用的是LCQMC和BQCorpus数据集。

????????NER(Named Entity Recognition):该任务作者使用的是OneNote4.0和weibo数据集。

????????CWS(Chinese Word Segmentation):该任务作者使用的是PKU和MSRA数据集

????????作者并没有使用NSP(Next Sentence Prediction)任务,因为之前有研究人员提出该任务对预训练模型没有什么帮助。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:14:30  更:2021-08-09 10:15:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:37:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码