Raki的读paper小记:通过教师-学生模型在目标语言上的无标注数据上学习来实现单源/多源跨语言NER任务 from ACL2020

本文主要是介绍Raki的读paper小记:通过教师-学生模型在目标语言上的无标注数据上学习来实现单源/多源跨语言NER任务 from ACL2020,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Single-/Multi-Source Cross-Lingual NER via Teacher-Student Learning on Unlabeled Data in Target Language

不要问我为什么改成了中文名,因为标题名字太长了!!

Abstract & Introduction & Related Work

  • 研究任务
    通过教师-学生模型在目标语言上的无标注数据上学习来实现单源/多源跨语言NER任务
  • 已有方法和相关工作
    1. 以前关于跨语言NER的工作大多是基于成对文本的标签投射或直接模型转移。
    2. 通过在可比语料库上的标签投影,为目标语言自动标注NER数据,并开发了一个启发式方案来选择高质量的投影标注的数据。
    3. 在短语/词的层面上翻译源语言标记的数据,以生成目标语言的成对标记的数据。
    4. 在源语言的标记数据上训练一个共享的NER模型,该模型具有与语言无关的特征,如跨语言的词汇表征(Devlin等人,2019),然后在目标语言上直接测试模型。
  • 面临挑战
    1. 如果源语言中的标记数据不可用,或者没有利用目标语言中的无标记数据所包含的信息,那么这些方法就不适用
    2. 前者依靠源语言中的标签数据进行标签投射,因此在所需的标签数据无法获取的情况下(例如,由于隐私/敏感性问题),并不适用。同时,后者没有利用目标语言中的无标签数据,而后者的获取成本要低得多,而且可能包含非常有用的语言信息
  • 创新思路
    1. 使用教师模型来预测软标签而不是硬标签,因为软标签能提供更多的信息
    2. 相比直接迁移,带有成对文本的标签投射,使用源模型来预测软性标签在这里插入图片描述- 实验结论
      在这里插入图片描述

Methodology

Single-Source Cross-Lingual NER

NER Model Structure

单教师的训练模型
在这里插入图片描述
首先经过一个encoder层进行编码
在这里插入图片描述
然后经过一个线性层,再通过softmax得到推理的分布
在这里插入图片描述

Teacher-Student Learning

Training

训练学生模型来模仿教师模型在目标语言上对实体标签的分布的输出,这样能使教师模型的知识迁移到学生模型上,而学生模型也可以利用未标记的目标语言数据中的有用的特定语言信息

学生模型和教师模型对第i个token的实体分布输出分别为:
在这里插入图片描述
定义教师-学生模型的损失函数:
在这里插入图片描述
总损失:
在这里插入图片描述

Multi-Source Cross-Lingual NER

在这里插入图片描述

Extension to Multiple Teacher Models

k个教师模型的组合
在这里插入图片描述

Weighting Teacher Models

源语言和目标语言相似度更高就应该分配更高的权重

Without Any Source-Language Data

平均分配
在这里插入图片描述

With Unlabeled Source-Language Data

由于没有标注数据,已有的监督学习方法并不适用,在此引入一个语言辅助识别任务来计算源语言与目标语言之间的相似度,然后根据这个指标对教师模型进行加权

用一个双线性模型来对句子u和第k种语言的可学习向量 μ \mu μ 进行计算
在这里插入图片描述
在这里插入图片描述
P是讲所有的 μ \mu μ 堆叠起来形成的矩阵,我们可以推导出特定语言的概率分布
在这里插入图片描述
参数M和P是通过使用交叉熵损失经过训练,可以识别源语言合集中每个句子的语言

正则项鼓励语言嵌入向量的不同维度来关注不同的方面
在这里插入图片描述
通过softmax来计算权重参数
在这里插入图片描述

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Conclusion

在本文中,我们提出了一种用于单/多源跨语言NER的师生学习方法,通过使用源语言模型作为教师,在目标语言的未标记数据上训练学生模型。该方法不依赖于源语言的标记数据,能够利用未标记的目标语言数据中的额外信息,这解决了以前基于标签投影和基于模型转移的方法的局限性。我们还提出了一种基于语言识别的语言相似性测量方法,以更好地衡量不同的教师模型。在基准数据集上进行的大量实验表明,我们的方法优于现有的sota

Remark

截止2022年2月7,这篇paper的方法在Cross-Lingual NER on CoNLL German数据集上仍然是sota,说明这个方法确实蛮有效的,整整一年也没有新sota出来(可能是做这个方向的人少?),总之novelty感觉算是中规中矩,模型还算简单,个人认为是蛮不错的一篇paper

这篇关于Raki的读paper小记:通过教师-学生模型在目标语言上的无标注数据上学习来实现单源/多源跨语言NER任务 from ACL2020的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848809

相关文章

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

Python实现中文文本处理与分析程序的示例详解

《Python实现中文文本处理与分析程序的示例详解》在当今信息爆炸的时代,文本数据的处理与分析成为了数据科学领域的重要课题,本文将使用Python开发一款基于Python的中文文本处理与分析程序,希望... 目录一、程序概述二、主要功能解析2.1 文件操作2.2 基础分析2.3 高级分析2.4 可视化2.5

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张