【自然语言处理】- 作业5: 智能问答在法律智能领域的应用

news2025/1/16 17:59:18

课程链接: 清华大学驭风计划

代码仓库:Victor94-king/MachineLearning: MachineLearning basic introduction (github.com)


驭风计划是由清华大学老师教授的,其分为四门课,包括: 机器学习(张敏教授) , 深度学习(胡晓林教授), 计算机语言(刘知远教授) 以及数据结构与算法(邓俊辉教授)。本人是综合成绩第一名,除了数据结构与算法其他单科均为第一名。代码和报告均为本人自己实现,由于篇幅限制,只展示任务布置以及关键代码,如果需要报告或者代码可以私聊博主



自然语言处理部分授课老师为刘知远教授,主要通过从统计方法入门,embedding,预训练模型,知识图谱,关系抽取,文本生成以及信息检索等不同下游任务入门自然语言处理


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



任务介绍

裁判文书中包含了丰富的案件信息,比如时间、地点、人物关系等等,通过机器智能化地阅读理解裁判文书,可以更快速、便捷地辅助法官、律师以及普通大众获取所需信息。
本次任务覆盖多种法律文书类型,包括民事、刑事、行政,问题类型为多步推理,即对于给定问题,只通过单句文本很难得出正确回答,模型需要结合多句话通过推理得出答案。

数据说明

本任务数据集包括约5100个问答对,其中民事、刑事、行政各约1700个问答对,均为需要多步推理的问题类型。为了进行评测,按照9:1的划分,数据集分为了训练集和测试集。注意 该数据仅用于本课程的学习,请勿进行传播。

发放的文件为 train.jsondev.json,为字典列表,字典包含字段为:

  • _id:案例的唯一标识符。
  • context:案例内容,抽取自裁判文书的事实描述部分。数据格式与HotpotQA数据格式一致,不过只包含一个篇章,篇章包括标题(第一句话)和切割后的句子列表。
  • question:针对案例提出的问题,每个案例只标注一个问题。
  • answer:问题的回答,包括片段、YES/NO、据答几种类型,对于拒答类,答案应该是"unknown"。
  • supporting_facts:回答问题的依据,是个列表,每个元素包括标题(第一句话)和句子编号(从0开始)。

同学们需根据案例描述和问题,给出答案及答案依据,最终会综合两部分的效果并作为评判依据,评价方法与HotpotQA一致。

我们提供基础的模型代码在 baseline目录下

评分要求

分数由两部分组成。首先,读懂已有代码并添加适量注释。使用已有代码在训练数据上进行训练,并且完成开发集评测,这部分占60%,评分依据为模型的开发集性能和报告,报告主要包括对于模型基本原理的介绍,需要同学阅读代码进行学习。
第二部分,进行进一步的探索和尝试,我们将在下一小节介绍可能的尝试,并在报告中汇报尝试的方法以及结果,这部分占40%。同学需要提交代码和报告,在报告中对于两部分的实验都进行介绍。

探索和尝试

  • 使用2019年的阅读理解数据集(CJRC)作为辅助数据集,帮助模型提高阅读理解能力
  • 使用别的预训练语言模型完成该实验,例如THUNLP提供的司法BERT
  • 对于新的模型架构进行探索,例如加入图神经网络(GNN)来加强模型的推理能力

参考资料

  • CAIL2020——阅读理解





报告

核心代码

网络结构如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Dm0b396-1684729538122)(image/hw5/1684729304415.png)]

预训练的话运行下面代码:

!python run_cail.py --name train_v1 --bert_model bert-base-chinese --data_dir trained_data --batch_size 2 --eval_batch_size 32 --lr 1e-5 --gradient_accumulation_steps 1 --epochs 9

测试的话运行下列代码

python evaluate.py ./output/submissions/train_v1/pred_seed_96_epoch_9_99999.json ./data/dev.json





改进

使用Chinese-Bert-wwm模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2G8cVux-1684729538123)(image/hw5/1684729422514.png)]

针对不同领域的模型的改进

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qDVC8L3B-1684729538124)(image/hw5/1684729453559.png)]

增加CAIL2019的数据集

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-twZ4WvEV-1684729538124)(image/hw5/1684729519885.png)]

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

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

相关文章

Java如何连接数据库

Java连接MySQL数据库的方法:首先下载解压得到jar库文件,并在对应的项目中导入该库文件;然后添加JDBC;接着在Mysql数据库中进行建表,和添加数据的操作;最后连接数据库并读取数据即可。 Java 连接 MySQL数据库需要驱动包,解压后得到…

springboot国际化多语言配置

文章目录 概要springboot项目为例1 新建路径/文件2 新建两个配置类 搞一个控制器测试总结 概要 项目中有时候会用到多语言的业务场景; 一般来说都是通过后端实现的,将先有内容替换为适用的环境语言; springboot项目为例 1 新建路径/文件 新建路径static/i18n新建文件: mess…

【数据结构与算法】- 周测二

课程链接: 清华大学驭风计划 代码仓库:Victor94-king/MachineLearning: MachineLearning basic introduction (github.com) 驭风计划是由清华大学老师教授的,其分为四门课,包括: 机器学习(张敏教授) , 深度学习(胡晓林教授), 计算…

简单易懂:Ajax入门实例详解(登录功能)

前言:不积跬步无以至千里,不积小流无以成江河! 废话不多,以最简练的语言和实例初步了解Ajax! 一、Ajax简介 Ajax(Asynchronous JavaScript and XML)是一种基于Web技术的编程实现方式&#xff0c…

【CCIG技术论坛回顾】展望AI时代,把握文档图像智能分析与处理的未来

展望AI时代,把握文档图像智能分析与处理的未来 前言 CCIG技术论坛 内容回顾及探讨一、人工智能大模型时代的文档识别与理解1.1 文档分析与识别 介绍1.2 文档识别历史回顾1.3 文档的种类与研究问题1.4 文档识别与理解研究现状1.5 大模型带来的挑战与机遇1.5.1 ChatGP…

chrome和Chromedriver版本不一致的问题,然后就要下载对应版本的chromedriver。

很多人会遇到chrome和Chromedriver版本不一致的问题,然后就要下载对应版本的chromedriver。 下面说一下我遇到的问题和解决过程: 1、问题: 我是用pythonselenium 我的chrome版本是65.0.3325.181,用selenium中的webdriver时&am…

案例16:Java音乐网站系统设计与实现开题报告

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 java项目精品实战案例《100套》 Jav…

MySQL-多表查询(中)

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易&…

Linux指令速查

文章目录 Linux指令速查1.Linux初步认识1.1 Linux标识符1.2 Linux目录结构1.2.1 (/)目录结构说明1.2.2 目录颜色说明 1. 帮助命令1.1 help指令1.2 man指令 2. 快捷操作3. 文件或目录的管理3.1 处理目录的基本命令3.1.1 列出目录(ls)3.1.2 切换目录&#…

怎么申请免费的cdn?带附件图文详细操作

背景 我的服务器在国外,域名国内正规备案,但由于国外服务器到国内实在太慢,所以用了cdn,先是用cloudflare,结果慢的惊人,本来测速需要12s,加上cloudflare之后需要15s以上。。。 测速的网站是这…

chatgpt赋能Python-python_dingtalk

Python DingTalk:高效企业通讯利器 当今互联网时代,企业内部沟通必不可少。在成千上万的企业应用中,DingTalk作为高效沟通工具被越来越多的企业所使用。Python DingTalk库的出现,为企业带来了更加方便快捷的通讯方式。 什么是Py…

【数据结构】图的定义,存储,遍历

🎊专栏【数据结构】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Dream It Possible】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔前言 🎁图的定义 &a…

安全中级2:nginx的中间件漏洞

目录 一、nginx解析php的流程 1.原理 2.CGI、FastCGI、PHP-FPM、PHP-CG、WrapperI的定义 二、Fastcgi协议 1.Fastecgi Record 2.Fastcgi Type 3.PHP-FPM(FastCGI进程管理器) 4.总结FastCGI解析的流程 三、nginx配置错误导致的漏洞 1.CRLF注入漏洞($uri解…

rk3568 适配rk809音频

rk3568 适配rk809音频 RK809是一款集成了多种功能的电源管理芯片,主要用于笔记本电脑、平板电脑、工控机等设备的电源管理。以下是RK809的详细功能介绍: 电源管理:控制电源的开关、电压、电流等参数,保证设备的稳定运行。音频管…

开放原子训练营(第三季)inBuilder低代码开发实验室之人人都是开发者

目录 前言: 一、知己知彼 1.1全场景 全角色 多终端 快速开发 1.2直觉化 响应式 1.3所见即所得 1.4全栈开发 二、百战百胜 2.1inBuilder开发入门 2.2点火启动,新的征程 三、实战表现 3.1实战总结 3.2实战效果 四、总结 前言: 2023年,是我们摘…

chatgpt赋能Python-python_embedded_null_character

Python中嵌入空字符的介绍 在Python编程语言中,空字符是一种特殊的字符,它在字符串中表示为空格或空行。不过,在某些情况下添加一个空字符是非常必要的,例如在编码时需要将字符串以空字符分隔,或者在数据库存储中需要…

CC++——深入探究动态内存管理

文章目录 总述C&C程序内存区域划分C内存管理方式运用new/delete操作内置类型new和delete操作自定义类型 operator new与operator delete函数new和delete操作符的实现原理自定义类型 malloc/free 和 new/delete 的区别 总述 俗话说,没有理解过底层的c&c程序员…

性能测试——服务端监控工具nmon

这里写自定义目录标题 一、性能监控工具nmon介绍二、nmon可监控的数据类型三、nmon特点四、Linux下安装1、检查安装环境2、下载nmon3、解压 五、运行nmon1、启动nmon2、常用nmon快捷命令3、nmon命令行参数4、命令行例子5、重点 六、查看 nmon 监控结果1、nmon_analyser 介绍2、…

AI:Vue2和Vue3的对比

1. 什么是Vue.js以及Vue.js在前端开发中的重要性。 Vue.js是一个遵循MVVM(Model-View-ViewModel)模式的前端JavaScript框架,它采用了双向数据绑定和组件化的思想,使得前端开发变得更加简洁、高效、可维护。Vue.js由中国工程师尤雨…

chatgpt赋能Python-python_dlib

Python Dlib:从入门到实践 Python Dlib 是一个用于人脸检测、跟踪和姿态估计的高性能C库,提供 Python 接口方便调用。它是一个开源项目,被广泛应用于计算机视觉、图像处理和机器学习等领域。本文将从介绍Dlib的原理、特点以及应用场景等方面…