论文阅读之Enhancing Transformer with Sememe Knowledge(2020)

news2024/11/27 22:40:28

文章目录

  • 论文阅读
    • Transformmer-SE
    • Transformer-SP
  • 实验结果
  • 总结
  • 参考

论文阅读

文章建议结合两种简单的方法将义原知识整合:
1)基于语言学假设,我们将聚合义原嵌入添加到每个词嵌入中以增强其语义表示;
2)我们使用义原预测作为辅助任务,帮助模型更深入地理解单词语义。

文章验证了我们的方法在与词级和句子级语义密切相关的几个中文 NLP 任务上的有效性。在预训练和微调的一般设置之后,实验表明使用半增强型 Transformer 在所有任务上都有一致的改进。

文章还发现,义原增强模型可以用较少的微调数据实现相同的性能,这是可取的,因为数据注释过程总是耗时且昂贵。



在这里插入图片描述
模型的基本架构图如上。
思路简单,使用义原embedding的均值来增强词向量的embedding(二者相加),然后经过原始的transformer对句子进行编码,然后进行多任务的学习:对下一个词的的义原的预测、对下一个词的预测、下游任务的学习。

Transformmer-SE

看看公式:
在这里插入图片描述
Xs就是义原的embedding,w就是词的embedding,左边的结果就是通过义原增强后的embedding了。

Transformer-SE就是这么简单,在embeding做点手脚即可。

Transformer-SP

义原预测任务旨在预测下一个词的义原,可以表述为多标签分类任务。受多任务学习 (Caruana, 1997; Collobert et al, 2011) 的启发,文章在 Transformer-SP 的语言建模任务之外添加了义原预测任务。

这项任务挑战了模型整合义原知识的能力,并且可以被视为语言建模的补充任务,因为预测下一个单词的义原与理解语义密切相关,而且它通常比直接建模下一句话。

就是说Transformer-SP在训练方式上做了手脚,或者就是说修改了损失函数,让损失考虑到义原的预测,从而使得模型训练获得义原信息从而模型对其他任务的效果。

我们先看一下变量的定义:
在这里插入图片描述
(w1,…,wT)表示输入的单词
然后经过embedding层向量化后就表示为H0 = (w1,…,wT)
其中T表示单词的个数,D表示的应该就是d_model(也就是相当于embedding_size)
h1L 表示第1个单词的向量表示
h2L 表示第1、2个单词的向量表示…以此类推

公式如下:
在这里插入图片描述
在这里插入图片描述
其中的hL 表示的是句子经过transform后的embedding表示。
p(w, s)表示的是下一个词w的义原s的概率。
那么义原预测的损失函数定义如下:
在这里插入图片描述

在这里插入图片描述
其中S是所有义原的集合。
g(wt,s)表示0,1二值函数,用于表示这个义原是否是下一个词的义原。
因为词的义原并不是唯一的,因此这就是多标签分类的损失函数了。

那么Transformer-SP的损失函数就可以定义如下了:
在这里插入图片描述
LSL表示下游任务的损失函数
LLM表示预测下一个词的损失函数
LPRE表示预训练的损失函数
L就表示优化了的下游任务的损失函数,也就是Transformer-SP的改进之处了。

实验结果

在这里插入图片描述
Transformer-SEP就是词进行义原增强,也用改进了的损失函数,即综合了SE和SP两种方法。

从实验结果看得出来,义原确实能够提示效果。

总结

读了这篇文章,大概知道义原的用法了,使用义原的精髓应该就是能够考虑义原embedding的训练吧。

参考

Enhancing Transformer with Sememe Knowledge
https://github.com/yuhui-zh15/SememeTransformer

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

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

相关文章

OpenCV实战项目 -- 口罩识别

每次我忘记戴口罩去食堂吃饭的时候,门口都会有志愿者学生提醒你:“你好,麻烦戴下口罩。” 进门后里面那块大屏幕还会发出声音:“请佩戴口罩”。 上次博客仿照宿舍楼下那块大屏幕写了个人脸考勤,所以这次我打算弄一个口…

std::logic_error 错误的解决

今天测试一个程序,突然出现一个 std::logic_error 错误,详细如下: 这个应该是 std::string 相关的一个错误,具体的错误信息还得用 GDB 跟踪一下了。 看第 8 栈帧已经是系统库里的东西了,第 9 帧是我本地的代码&#x…

【C进阶】之定义结构体及使用typedf

1 结构体中包含函数指针类型成员 声明的格式: struct 结构体名 { 返回类型 (*函数指针名)(形参列表); }; 定义结构体类型的变量并对结构体中的函数指针成员进行初始化 struct 结构体名 结构体变量名; 结构体变量名.函数指针名 函数名; // 函数指针指向的函数具有相…

目标检测(7)—— YOLO系列V3

一、YOLOV3 多scale 三种scale: 为了检测到不同大小的物体,设计了3个scale。 特征融合不好。 感受野大的特征图预测大的,中的预测中的,小的预测小的。各自预测各自的,不用做特征融合。 三个候选框: 每个特…

「C++小游戏教程」基本技巧(2)——系统 DOS 命令

0. 引言 「C小游戏教程」基本技巧(1)——随机化 在 (1) 中,我在使用 random_shuffle() 时加了一个 system("pause");。其中 system() 是系统发出 DOS 命令的函数,原型为 int system(char *command);。我们今天就来谈谈这个函数的主要功能用途…

Redis持久化

目录 一、Redis高可用 1.持久化 2.主从复制 3.哨兵 4.Cluster集群 二、Redis持久化 三、RDB持久化 1.概念 2.触发条件 (1)手动触发 (2)自动触发 3.执行流程 4.启动时自动加载 四、AOF持久化 1.概念 2.开启AOF持久…

微信公众号获取openid流程

说明 微信公众号获取openid,在官方文档中称为网页授权,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。 关于网页授权的两种 scope 的区别…

[CISCN2019 华北赛区 Day1 Web2]ikun

要买lv6 然后下一页下一页的找,也找不到 来个脚本爆破一下 #coding:utf-8 import requests import time for i in range(1,200):print(i)url http://17dfa3f4-2826-4b97-9d61-a920b6c8976f.node4.buuoj.cn:81/shop?page{}.format(i)r requests.get…

目标检测(6)—— YOLO系列V2

一、YOLOV2改进的概述 做的改进如下图: Batch Normalization 批量归一化层 不加BN层,网络可能学偏,加上归一化进行限制。 从今天来看,conv后加BN是标配。 更大的分辨率 V1训练的时候使用224224,测试用448448。 V2训…

胡扯推荐算法(协同)及其dome实现

文章目录前言推荐系统定义基本分类相似度计算欧式距离皮尔逊系数余弦相似度协同过滤案例数据定义相似度计算推荐svd奇异值分解优化完整代码总结前言 打瞌睡遇到送枕头的感觉真爽嘿嘿 BoyC啊 废话不多说,开始吧。 推荐系统定义 推荐系统(Recommendation System,…

张益唐与黎曼猜想

一个人活在世界上,可以有不同层次的贡献,有正的有负的。唐山烧烤店打人的那种人,就是典型的负的贡献。正的贡献有大有小,像我这样开发一个小软件,写一段小博文,这是小的贡献;像张益唐这样&#…

zlMediaKit 9 ThreadPool模块

semaphore.h TaskQueue.h threadgroup.h ThreadPool.h ThreadPool semaphore 基于条件变量和锁实现的信号量post和wait语义 #include <mutex> #include <condition_variable>namespace toolkit {class semaphore { public:explicit semaphore(size_t initia…

Linux命令从入门到实战 ----查找文件和目录压缩和解压缩

文章目录搜索查找find查找文件和目录locate快速定位文件路径grep 过滤查找| 管道符which命令用于查找文件。whereis压缩和解压缩gzip/gunzip 压缩zip/unzip压缩tar打包总结搜索查找 find查找文件和目录 find指令将从指令指定目录下向下遍历其各个子目录&#xff0c;将满足条件…

算法60天:day46

算法60天&#xff1a;day46动态规划-单词拆分动态规划-多重背包问题动态规划-背包总结动态规划-单词拆分 力扣链接 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> wordSet(wordDict.begin(),wordDict…

RabbitMQ消息发送和接收(实例)

消息发送&#xff1a; 1.首先启动rabbitmq 2.查看防火墙状态&#xff0c;如果是开启状态则需要关闭防火墙 3.通过浏览器访问rabbitmq控制台&#xff0c;ip15672端口号 &#xff0c;例如http://192.168.174.129:15672 登录时输入自己的此前设置的登录名和密码 4.打开idea,创建r…

农产品果蔬商城交易系统(Java+Web+MySQL)

目录 摘要 I Abstract II 前言 1 1 课题简介 2 1.1 选题背景 2 1.2 课题的意义 2 1.3 系统目标 3 2. 可行性研究 5 2.1 技术可行性 5 2.2 经济可行性 5 2.3 操作可行性 5 2.4 法律可行性 6 3. 需求分析 7 3.1 系统需要解决的主要问题 7 3.2 系统具备的基本功能 7 3.3 数据流图…

MySQL开篇:简单的库操作,表操作,数据类型

✨博客主页: 心荣~ ✨系列专栏:【MySQL】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 什么是MySQL二. 基础库操作1. 创建数据库2. 查看所有数据库3. 选中数据库4. 删除数据库三. 设置数据库的编码字符集四. MySQL数据类型1. 数值类型2. 字符串类型3. 日期数据类型五…

_Linux 动态库

文章目录0. 前言1. 生成动态库1.1 我们把静态库和动态库打包1.2 当动静库同时存在的时候默认生成的是动态库1.3 -static2. 动态库的使用2.1 运行动态库的方法3. 库文件名称和引入库的名称0. 前言 链接&#xff1a;静态库文章 上一章我们讲解了静态库的生成和两种使用&#xff…

Netty架构设计

目录 Selector模型 SelectableChannel Channel注册到Selector SelectionKey 遍历SelectionKey 事件驱动 责任链模式 Selector模型 Java NIO是基于Selector模型来实现非阻塞IO&#xff0c;Netty底层基于Java NIO实现的&#xff0c;因此也使用了Selector模型。 Selector提…

Go语言五大主流web框架

以下 star数截止2022年11月份 1.Gin&#xff08;64.1K&#xff09; 项目简介&#xff1a;Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 它具有类似 Martini 的 API&#xff0c;但性能比 Martini 快 40 倍。 仓库地址&#xff1a;https://github.com/gin-gonic/ginhttps…