做网站服务销售/whois查询
赛题分析
大赛地址
https://tianchi.aliyun.com/competition/entrance/532098/introduction?spm=a2c22.12281925.0.0.52b97137bpVnmh
任务描述
主体事件检测是语言文本分析和金融领域智能应用的重要任务之一,如在金融风控领域往往会对公司主体进行风险事件的检测。基于句子粒度的上下文进行公司事件检测,事件包含事件类型和主体要素(即公司主体),句中可能存在多个事件,多个公司主体且每个公司都可能存在多个事件类型标签,并且各类型标注样本分布不均匀,部分类型样本量较少,我们希望检测出文本中包含的所有主体事件。本次评测任务的文本语料来自于互联上的公开新闻、报告。
数据描述
输入 :一段文本X
输出 :文本X中所有的事件类型及对应的公司主体
示例 :
输入:{"text_id": "123456", "text": "播州城投多次被列为被执行人,同时涉及一系列诉讼案件并多次被纳入失信被执行人名单;由于公司债务逾期规模大,区域债务负担重, 7月母公司遵义道桥建设(集团)有限公司("遵义道桥")开始进行债务重组并将银行类债权延期 10年"}
输出:{"text_id": "123456", "events": [{"type":"被列为失信被执行人" ,"entity":"播州城投"} , {"type": "债务违约","entity": "播州城投"}, {"type": "债务重组", "entity": "遵义道桥建设(集团)有限公司"}, {"type": "债务重组", "entity": "遵义道桥"}]}
方案陈述
整体方案的模型架构
结构图如下所示:
-
传统模型:主要依赖传统的信息抽取方法来做,包括 bert+crf、 bert+span 和 bert+global pointer等方案;
-
LLMs:依赖已经预训练好的大模型,包括 mt5、mt0、Ziya-LLaMA、 chatglm 等,微调方式包括全量指令微调以及基于 Lora 的指令微调;
-
后处理:针对预测的数据进行异常符、原文修正、大小写修正、繁体 简体修正等;
-
融合:采用加权投票融合;
下面依次介绍每个方案的细节。
传统方案之bert-crf
crf这么基础的内容这里就不说了,用的就是原生的crf,没有进行魔改,需要说明一点的就是,这个任务中同一个公司主体如果有多个事件类型,crf这个方案是解决不了的,好在这个任务中这种一个公司主体对应多个事件类型的情况不多。
传统方案之bert-span
上文也说了,这个任务中存在一个公司主体对应多个事件类型的情况,为了兼容这种情况,我对原来的span编码解码框架稍稍进行了魔改,结构图如下:
原生的span结构以双指针的形式替代 CRF 模块,可以解决实体嵌套 问题,首尾指针可以截取一个实体,首位指针的类型指代这个截取的实体的标签类型,但是在本次任务中,为了解决一个公司主体对应多个事件类型的情况,我们改变了首尾指针的形式,融入多标签的思想,基于多标签的span指针可以轻松实现一个实体(公司主体)指向多个类型(事件类型)。
传统方案之bert-gp
gp用的就是苏剑林原生的方案,没有进行改动,所以呢,我也不想废话了,估计你们也不想听我废话,你们直接看苏神的讲解吧。苏剑林科学空间:https://spaces.ac.cn/archives/8265
大模型(LLM)方案
本次任务我们将大模型用在了事件检测任务上,主要尝试了mt5、chatglm、以及llma模型,训练方式是全参数微调和Lora微调。
指令构造
指令 1:
使用自然语言抽取二元组,请从句子中抽取出所有的事件类型及对应的公司主体, 句中可能存在多个事件、多个公司主体且每个公司都可能存在多个事件类型标签,最后以 (公司主体,事件类型)的形式回答。
例子:
"instruction":"使用自然语言抽取二元组,请从句子中抽取出所有的事件类型 及对应的公司主体,句中可能存在多个事件、多个公司主体且每个公司都可能存在多个事 件类型标签,最后以(公司主体,事件类型)的形式回答。","input":"而在此之前,从 2013 开始至 2018 年连续 5 年时间,苏州银行的核心一级资本充足率、一级资本充足率 均在下降,资本充足率在 2015 年出现回升后也再度连续三年下降","output":"(苏州 银行,资本充足不足)
指令 2:
这是一个金融实体抽取的任务,请从以下句子抽取公司主体以及相应的事件类 型,按(公司主体,事件类型)的形式回答。
例子:
这是一个金融实体抽取的任务,请从以下句子抽取公司主体以及相应的事件类 型,按(公司主体,事件类型)的形式回答。 例子:"instruction":"这是一个金融实体抽取的任务,请从以下句子抽取公司主体 以及相应的事件类型,按(公司主体,事件类型)的形式回答。","input":"而在此之 前,从 2013 开始至 2018 年连续 5 年时间,苏州银行的核心一级资本充足率、一级资 本充足率均在下降,资本充足率在 2015 年出现回升后也再度连续三年下降 ","output":"(苏州银行,资本充足不足)
微调
mt5、mt0 以及 umt5 经过多语种预训练,对于这个任务 也适配,在 large 模型,可以模型并行来训练, 在 xl 以及 xxl 模 型,需要基于 deepspeed 对模型参数进行切分来提高模型训练速度, xxl 模型,在 A100 卡上,全量微调。
Lora 指令微调:当前中文模型包括 chatglm、ziya-llama、ZhiXi (智 析)
本次基于大模型做事件检测任务部分参考如下范例:
总结
本次赛道任务,我们总结如下:
-
在数据层面,我们做了一些数据增广,聚合相同事件类型下所有公司主体,随机替换同个类型的公司 实体进行数据生成;
-
在传统方案上(crf、span、gp),我们通过一些手段(fgm、pgd、swa、ema、r-drop、multi-drop等)增强了模型的泛化性和鲁棒性;
-
选择了多种的编码框架,crf是序列标记,span是指针抽取,gp是片段排列,LLM是基于指令的生成式,每一种框架都有自己的优势和短板,融合起来增益良多;
最后值得一提的是,通过本次任务,大模型(LLM)虽然参数大很多,训练时间长很多,但是单个大模型的效果并没有比传统方案的效果好,从性价比上甚至处于劣势,但是差异大,不同框架之间差异大,融合效果提升很多。
相关文章:

CCKS2023-面向金融领域的主体事件检测-亚军方案分享
赛题分析 大赛地址 https://tianchi.aliyun.com/competition/entrance/532098/introduction?spma2c22.12281925.0.0.52b97137bpVnmh 任务描述 主体事件检测是语言文本分析和金融领域智能应用的重要任务之一,如在金融风控领域往往会对公司主体进行风险事件的检测…...

Linux下通过find找文件---通过修改时间查找(-mtime)
通过man手册查找和-mtime选项相关的内容 man find | grep -A 3 mtime # 这里简单介绍了 -mtime ,还有一个简单的示例-mtime n Files data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretati…...

图文教程:stable-diffusion的基本使用教程 txt2img(多图)
之前我介绍了SD的安装过程,那么这篇将介绍怎么使用SD 使用模型 SD安装好之后,我们只有一个默认的模型。这个模型很难满足我们的绘图需求,那么有2种方法。 1是自己训练一个模型(有门槛)2是去网站上找一个别人练好的模…...

VisualSVN Server的安装全过程
目录 背景: 安装过程: 步骤1: 步骤2: 步骤3: 步骤4: 步骤5: 安装出现的bug: 问题: 解决办法: 总结: 背景: VisualSVN Server 是一款免费的 SVN (Subversion) 服务器软件,…...

Python 进阶(十六):二进制和ASCII码的转换(binascii 模块)
大家好,我是水滴~~ 本文详细介绍了Python中的binascii模块及其使用方法。通过binascii模块,我们可以方便地进行二进制和ASCII字符串之间的转换操作。文章中包含大量的示例代码,希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总…...

CSS Grid布局入门:从零开始创建一个网格系统
CSS Grid布局入门:从零开始创建一个网格系统 引言 在响应式设计日益重要的今天,CSS Grid布局系统是前端开发中的一次革新。它使得创建复杂、灵活的布局变得简单而直观。本教程将通过分步骤的方式,让你从零开始掌握CSS Grid,并在…...

java--Collection的遍历方式
1.迭代器概述 迭代器是用来遍历集合的专用方式(数组没有迭代器),在java中迭代器是Iterator。 2.Collection集合获取迭代器的方法 3.Iterator迭代器中的常用方法 4.增强for循环 ①增强for可以用来遍历集合或数组。 ②增强for遍历集合,本质就是迭代器遍…...

现代雷达车载应用——第2章 汽车雷达系统原理 2.2节
经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.2 汽车雷达架构 从顶层来看,基本的汽车雷达由发射器,接收器和天线组成。图2.2给出了一种简化的单通道连续波雷达结构[2]。这…...

Ajax跨域请求
最近使用js构造请求时发生了CORS跨域问题,mark一下 ajax跨域,这应该是最全的解决方案了 | Dailc的个人主页Everything about dailchttps://dailc.github.io/2017/03/22/ajaxCrossDomainSolution.htmlAJAX - 廖雪峰的官方网站研究互联网产品和技术&#…...

python 中Windows编程一些心得
主要思路 当我们显示所有消息的信息时,我们可以知道Windows后台是如何传递消息给我们,但是并不会把所有东西写进开发文档 ,这有一定的原因 但是 我们要自己去理解或者猜想开发者思路或者根据反馈结果来分析消息的作用,不然永远只…...

android 13.0 系统属性控制音量键功能是否可用开关(屏蔽音量加减功能)
1.概述 在13.0的系统定制化开发中,要求屏蔽掉音量+ 音量-的功能,根据系统属性来判断是否响应音量加减的功能,在系统上层中是由PhoneWindowManage来管理音量键的功能, 所以就要看是PhoneWindowManage.java中怎么处理的音量键的功能 首选看的源码关于音量键的处理 2.系统属…...

hive自定义函数及案例
一.自定义函数 1.Hive自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。 2.当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数。 3.根据用户自定义…...

2023亚太五岳杯量子计算挑战赛数学建模思路代码模型论文
2023五岳杯数学建模思路:比赛开始后第一时间更新,获取见文末名片 今年,APMCM亚太地区大学生数学建模竞赛组委会正式和玻色量子、中国移动云能力中心等多家单位达成合作。 开展APMCM校企合作高校巡回学术讲座活动,为企业、高校搭…...

Tomcat的结构分析和请求处理原理解析
目录 Tomcat服务器?Tomcat结构处理请求流程Tomcat作用其他的web服务器 Tomcat服务器? 我们经常开口闭口“服务器”、“服务器”的,其实“服务器”是个很容易引发歧义的概念 其实,Tomcat服务器 Web服务器 Servlet/JSP容器&#…...

FastAPI之响应模型
前言 响应模型我认为最主要的作用就是在自动化文档的显示时,可以直接给查看文档的小伙伴显示返回的数据格式。对于后端开发的伙伴来说,其编码的实际意义不大,但是为了可以不用再额外的提供文档,我们只需要添加一个 response_mod…...

Python数据科学视频讲解:数据清洗、特征工程和数据可视化的注意事项
1.6 数据清洗、特征工程和数据可视化的注意事项 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.6节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学应用的全流程…...

Unity优化——加速物理引擎1
大家好,这里是七七,今天开始更新物理引擎相关的优化部分了,本文介绍的是物理引擎内部工作情况。 Unity技术有两种不同的物理引擎:用于3D物理的Nvidia的PhysX和用于2D物理的开源项目Box2D。然而,Unity对它们的实现是高…...

PHP的最新版本是多少?有什么新特性?
截至日期(2022年1月),PHP的最新稳定版本是PHP 8.0。以下是PHP 8.0的一些主要新特性: JIT 编译器: 引入了即时编译(Just-In-Time,JIT)引擎,提升了PHP脚本的执行性能。 命…...

漏洞复现-云安宝-云匣子Fastjson命令执行(附漏洞检测脚本)
免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…...

oh-my-zsh 安装和配置
安装zsh sudo apt update sudo apt install zsh安装oh-my-zsh sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"配置~/.zshrc sudo vim ~/.zshrc添加以下内容 ZSH_THEME"steeef" HISTFILE~/.zsh_history HISTS…...

LinuxBasicsForHackers笔记 -- 日志系统
日志文件存储有关操作系统和应用程序运行时发生的事件的信息,包括任何错误和安全警报。 rsyslog 日志守护进程 Linux 使用名为 syslogd 的守护进程自动记录计算机上的事件。 rsyslog 配置文件 与 Linux 中的几乎所有应用程序一样,rsyslog 由位于 /et…...

WPS Office JS宏实现批量处理Word中的标题和正文的样式
该篇讲解下word文档中的标题和正文批量修改样式,如下图: 前面一篇已讲解了WPS Office宏编辑器操作方法,这里不细讲了,如有不清楚可以查看该篇:https://blog.csdn.net/jiciqiang/article/details/134653657?spm1001.20…...

论文怎么改才能降低重复率
一、引言:智能工具助力,轻松降低论文重复率 论文的重复率是学术写作中的重要问题,如何有效降低重复率成为了许多研究者的关注焦点。如今,智能工具的发展为我们提供了更多选择。本文将介绍几种实用的智能工具,包括快码…...

【从零开始学习JVM | 第六篇】快速了解 直接内存
前言: 当谈及Java虚拟机(JVM)的内存管理时,我们通常会想到堆内存和栈内存。然而,还有一种被称为"直接内存"的特殊内存区域,它在Java应用程序中起着重要的作用。直接内存提供了一种与Java堆内存和…...

Wireshark中的http协议包分析
Wireshark可以跟踪网络协议的通讯过程,本节通过http协议,在了解Wireshark使用的基础上,重温http协议的通讯过程。 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于 字节流…...

ubuntu如何远程ssh登录Windows环境并执行测试命令
ubuntu如何远程ssh登录Windows环境并执行测试命令 1 paramiko模块简介1.1 安装paramiko1.2 paramiko基本用法1.2.1 创建SSHClient实例1.2.2 设置主机密钥策略1.2.3 连接SSH服务器1.2.4 执行命令1.2.5 关闭SSH连接1.2.6 异常处理 2 windows的配置2.1 启动OpenSSH服务2.2 配置防火…...

人工智能应用专栏----专栏介绍
文章目录 本专栏主要记录人工智能的应用方面的内容,包括chatGPT、AI绘图等等; 订阅后可私聊我获取 《从零注册并登录使用ChatGPT》 《从零开始使用chatGPT的API;通过chatgpt-next-web部署自己chatGPT web网页;无需翻墙,…...

【lesson11】表的约束(4)
文章目录 表的约束的介绍唯一键约束测试建表插入测试建表插入测试建表插入测试修改表插入测试 表的约束的介绍 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保…...

将单体应用程序迁移到微服务
多年来,我处理过多个单体应用,并将其中一些迁移到了微服务架构。我打算写下我所学到的东西以及我从经验中用到的策略,以实现成功的迁移。在这篇文章中,我将以AWS为例,但基本原则保持不变,可用于任何类型的基…...

Python读取.dat格式数据并转为.png,.jpg,.bmp等可视化格式(附代码)
.dat文件的命名规则没有统一的规定,但通常以.dat为扩展名。 目录 一、 .dat格式数据1.1 .dat数据用途1.2 常见的.dat文件格式1.3 .dat文件示例 二、读取.dat格式数据2.1 单个.dat文件读取并转换2.1.1 代码2.1.2 查看数据2.1.3 输出查看8Bit图片 2.2 批量.dat文件读取…...