【自然语言处理】:实验4布置,预训练语言模型实现与应用

news2024/11/28 22:52:16

清华大学驭风计划

因为篇幅原因实验答案分开上传,自然语言处理专栏持续更新中,期待的小伙伴敬请关注

有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~

案例简介

 2018年,Google提出了预训练语言模型BERT,该模型在各种NLP任务上都取得了很好的效果。与此同时,它的使用十分方便,可以快速地对于各种NLP任务进行适配。因此,BERT已经被广泛地使用到了各种NLP任务当中。在本案例中,我们会亲手将BERT适配到长文本关系抽取任务DocRED上,从中了解BERT的基本原理和技术细节。关系抽取是自然语言处理领域的重要任务,DocRED中大部分关系需要从多个句子中联合抽取,因此需要模型具备较强的获取和综合文章中信息的能力,尤其是抽取跨句关系的能力。

BERT



BERT是目前最具代表性的预训练语言模型,如今预训练语言模型的新方法都是基于BERT进行改进的。研究者如今将各种预训练模型的使用代码整合到了`transformers`这个包当中,使得我们可以很方便快捷地使用各种各样的预训练语言模型。在本实验中,我们也将调用`transformers`来使用BERT完成文档级别关系抽取的任务。基于`transformers`的基础后,我们的主要工作就是将数据处理成BERT需要的输入格式,以及在BERT的基础上搭建一个能完成特定任务的模型。在本次实验中,我们的重点也将放在这两个方面。首先是对于数据的处理,对于给定的文本,我们需要使用BERT的tokenizer将文本切成subword,然后转换成对应的id输入进模型中。通常来说这个过程是比较简单的,但是针对于DocRED这个任务,我们需要有一些额外注意的事情。文档级关系抽取的目标是从一段话中确定两个实体之间的关系,为了让模型知道我们关心的两个实体是什么,我们需要在文本中插入四个额外的符号,将实体标注出来。与此同时,BERT模型是一个语言模型,为了能使其适配关系抽取任务,我们需要加入额外的神经网络,使得模型能够进行关系预测。通常来说这个神经网络就是将文本中的第一个字符拿出来输入到一个线性层中进行分类。

数据和代码

本案例使用了DocRED的数据,并提供了一个简单的模型实现,包括数据的预处理、模型的训练、以及简单的评测。数据预处理的代码在gen_data.py里。在处理完数据之后,再运行train.py进行训练,训练流程的代码在config/Config.py里。注意由于预训练模型很大,因此需要调整batch size使得GPU能够放得下,于此同时为了提高batch size的绝对大小,可以使用[梯度累积](https://www.jiqizhixin.com/articles/2018-10-17-11)的技术。

以上代码是完整实现好的,我们需要同学对gen_data.py和config/Config.py中用# question标识的20余个问题进行回答,并运行模型,测试模型在有100% / 50% / 10% training data(通过随机sample原training set一部分的数据,10%代表低资源的设定)的情况下模型在dev set上的效果(如果服务器资源有限,也可以只测试10%的结果,并在报告中提及)

评分要求

分数由两部分组成。首先,回答代码文件中标识的问题,并且训练模型,评测模型在开发集上的结果,这部分占80%,评分依据为模型的开发集性能和问题的回答情况。第二部分,进行进一步的探索和尝试,我们将在下一小节介绍可能的尝试。同学需要提交代码和报告,在报告中对于两部分的实验都进行介绍,主要包括开发集的结果以及尝试的具体内容。

探索和尝试

完成对于测试数据的评测,并且提交到DocRED的[评测系统](https://competitions.codalab.org/competitions/20717)中。(推荐先完成该任务,主要考察同学将模型真正应用起来的能力)

使用别的预训练语言模型完成该实验,例如RoBERTa等。

对于模型进行改进,提升关系抽取的能力,这里可以参考一些DocRED最新工作,进行复现。

参考资料

DocRED: A Large-Scale Document-Level Relation Extraction Dataset. ACL 2019.

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

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

相关文章

甲醇汽车产量不断增加 行业发展面临一定困难和挑战

甲醇汽车产量不断增加 行业发展面临一定困难和挑战 甲醇汽车是指以甲醇作为主要或者唯一燃料的汽车。与传统汽车相比,甲醇汽车具有节能减排、使用成本低、有害气体排放量少等优点,能够有效缓解能源紧缺及环境污染问题。 从上游市场来看,甲醇…

策略联动配置

策略联动简介 定义 策略联动是通过在网关设备上统一管理用户的访问策略并且在网关设备和认证接入设备执行用户的访问策略,来解决大型园区策略强度与复杂度之间矛盾的一种解决方案。 目的 传统网络中,在接入层部署NAC认证,使得认证接入设备…

在ChatGPT时代,出国留学如何避免掉入学术不端重灾区?

近日,哈佛校长克洛迪娜盖伊在校园“反犹风波”中因立场问题被迫辞职。此外,哈佛大学相关调查委员会还发现盖伊在学术论文中存在错误引用资料来源等问题。对于种种学术不端行为,留学生如何防范?在ChatGPT时代,出国留学如…

ktutil编写生成keytab文件的脚本、通过keytab文件认证用户

文章目录 1. 生成keytab文件脚本2. 通过keytab文件认证3. 查看认证的用户4. 失效认证的用户 1. 生成keytab文件脚本 生成keytab文件的脚本 vim generate_kb.sh #!/usr/bin/bash ktutil <<EOF add_entry -password -p $1 -k 1 -e arcfour-hmac $2 write_kt $3 EOF示例&am…

项目管理工具YouTrack v2023.3全新发布——支持一系列AI辅助功能

YouTrack 是一款项目管理工具&#xff0c;其中包含可以简化您的工作并在任何团队项目中提高生产力的功能。从软件开发和 DevOps 到人力资源和市场营销&#xff0c;各种团队都可以使用 YouTrack 的功能轻松跟踪和协作处理任何规模的项目。 YouTrack v2023.3正式版下载 具体更新…

【刷题记录】移除链表元素

本系列博客为个人刷题思路分享&#xff0c;有需要借鉴即可。 注&#xff1a;部分思路借鉴自程序员小熊 链接&#xff1a;https://leetcode.cn/problems/remove-linked-list-elements/solutions/341875/203-yi-chu-lian-biao-yuan-su-you-ya-di-gui-c-yu-ya/ 来源&#xff1a;力…

Dynamo更新图元的LocationCurve——群问题整理004

你好&#xff0c;这里是BIM的乐趣&#xff0c;我是九哥~ 近期给大家分享一些短平快的小教程&#xff0c;基本都是来自群里面常问的问题&#xff0c;不做过多的介绍了&#xff0c;直接上截图和代码。 问题004&#xff1a;Dynamo更新图元的LocationCurve 之前有小伙伴问&#…

BUGKU-WEB 源代码

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 你说啥就是啥&#xff1a;去源代码吧 相关工具 URL解码平台&#xff1a;https://www.iamwawa.cn/urldecode.html 解题步骤 随便输入试试 2. 看看源码 存在script&#xff1a; <script> …

软考 系统分析师系列知识点之企业信息化规划(2)

接前一篇文章&#xff1a;软考 系统分析师系列知识点之企业信息化规划&#xff08;1&#xff09; 所属章节&#xff1a; 第7章. 企业信息化战略与实施 第2节. 企业信息化规划 企业信息化建设是一项长期而艰巨的任务&#xff0c;不可能在短时间内完成。因此&#xff0c;企业信息…

提高供应商收发文件效率的同时,如何保障数据的安全流转?

数据文件是制造业企业的核心竞争力&#xff0c;一旦发生数据外泄&#xff0c;就会给企业造成经济损失。之前就出现过像小米二级供应商因对其下游供应商管理不善&#xff0c;泄露了小米汽车前后保险杠的早期设计稿事件。制造业企业与供应商之间业务联系紧密&#xff0c;文件流转…

白话微机:8.解释FPGA以及一些考研面试问题

一. 前言&#xff08;更新世界观&#xff09; 在“微机世界”&#xff0c;普通的城市(单片机)里&#xff0c;人又有一个别的名字叫做“数据”&#xff0c;人有0有1&#xff1b;人们也有住房&#xff0c;这些住房在这个世界叫做“存储器”&#xff1b;地上有路&#xff0c;这些路…

扩展语音识别系统:增强功能与多语言支持

一、引言 在之前的博客中&#xff0c;我们成功构建了一个基于LibriSpeech数据集的英文语音识别系统。现在&#xff0c;我们将对系统进行扩展&#xff0c;增加一些增强功能&#xff0c;并尝试支持多语言识别。 二、增加增强功能 语音合成 --除了语音识别&#xff0c;我们还可以…

四川盐亭清代古寨重现,文物建筑保护引关注

近日&#xff0c;在四川盐亭的五台山深处&#xff0c;一处历经160余年风霜的古山寨遗迹重现天日。寨门巍峨&#xff0c;文字斑驳&#xff0c;诉说着清代同治年间的历史沧桑。然而&#xff0c;岁月侵蚀下&#xff0c;文物保护刻不容缓。温湿度波动等自然因素&#xff0c;对这些珍…

PostgreSQL里实现计算多个数字的排列组合

在进行排列组合的时候&#xff0c;每一次需要知道是否有重复的值&#xff0c;并过滤出已经排列过的值。这个可以创建支持可变参数的函数来实现。下边的函数用到了聚合判断&#xff0c;并且可变参数使用variadic标记的数组。 postgres<16.1>(ConnAs[postgres]:PID[188277…

办公记事常用工具:桌面记事本助你高效记事

在繁忙的办公环境中&#xff0c;我常常感到自己的大脑像是一个不停旋转的陀螺&#xff0c;各种待办事项、会议安排和灵感想法在脑海中交织&#xff0c;仿佛随时都要迸发出来。然而&#xff0c;只靠人脑记忆&#xff0c;不仅辛苦&#xff0c;而且容易出错。在这样的背景下&#…

汇编语言程序设计——基础知识(完整)

文章目录 一、CPU概述:1.1 CPU(中央处理器)和MCU(微处理器 = 单片机)的区别:1.2 CPU是如何工作的:1.2.1 CPU是如何区分内存中的指令和数据的:1.2.1.1 地址总线:1.2.1.2数据总线:1.2.1.3控制总线:二、存储器:2.1 随机存储器(RAM):2.2 只读存储器(ROM):2.3 CPU的…

js设计模式:职责链模式

作用: 可以处理链式调用的业务逻辑,下一步操作需要上一步操作的处理结果 可以使用职责链模式进行解耦操作,按顺序链向下传递,依次向下查找可以处理的业务逻辑 示例: const wjt (expressage) > {if (expressage 《js设计模式从入门到精通》) {return 快递名称:${express…

简单一招,教你高校管理校园门禁!

在当今社会&#xff0c;随着城市化和科技的不断发展&#xff0c;人们对安全管理的需求日益增加。门禁监控系统作为一种现代化、智能化的安全管理工具&#xff0c;正逐渐成为各种场所的必备设施。 客户案例 企业办公大楼 北京某大型企业在其办公大楼部署了泛地缘科技推出的门禁…

才气系统与逻辑系统道装实现的比较

才气系统与逻辑系统道装实现的比较 道装道装思想简介烛火流形学习引擎&#xff0c;流形学习的引入王船山信息熵&#xff0c;简称王船山熵&#xff1b;凝聚态数学可计算函数科学方法道装由来琴语言简介逻辑与才气的逐层比较表格&#xff08;王船山熵&#xff09; 道装 道装思想…

JAVA表达式

1.Java开发工具 IntelliJ IDEA被认为是目前Java开 发效率最快的IDE工具。是 JetBrains公司的产品&#xff0c;这家公司 总部位于捷克共和国的首都布拉格。 它整合了开发过程中实用的众多功 能&#xff0c;智能提示错误&#xff0c;强大的调试工 具&#xff0c;Ant&#xff0c;J…