Abstract
LLM 在各个方面都表现出了强大的能力。然而,当将它们应用于高度专业化、安全关键的法律领域时,尚不清楚他们拥有多少法律知识以及他们是否能够可靠地执行与法律相关的任务。为了弥补这一差距,文章提出了一个综合性评估基准 LawBench。LawBench 经过精心设计,从三个认知层面对 LLM 的法律能力进行精确评估:(1)法律知识记忆:LLM 是否能够记住所需的法律概念、文章和事实;(2)法律知识理解:LLM 是否理解法律文本中的实体、事件和关系;(3)法律知识应用:LLM 能否正确运用法律知识,并做出必要的推理步骤来解决现实的法律问题。LawBench 包含 20 个不同的任务,涵盖 5 种任务类型:单标签分类、多标签分类、回归、提取和生成。
1. Introduction
原论文地址
源代码地址
该文章测试了 51 个热门 LLM,包括 20 个多语种 LLM、22 个中文 LLM 和 9 个法律大模型。为了有效地从 LLM 生成的预测中提取答案,本文为每个单独的任务设计了合适的规则、正则表达式和指标。基准测试和评估代码已集成到 OpenCompass 平台中,以便于复制。评估结果如图所示。尽管法律模型 fine-tuning 通常会在其基础模型的基础上有所改进,但它们仍然明显落后于一般的 LLM,后者在平均零样本性能中占据了前六名。我们分析了各种因素对结果的影响,如监督微调(SFT)、基于人类反馈的强化学习(RLHF)、模型大小、法律特定微调等。总结了重要建议,以更好地指导华人社区法学硕士的未来发展。
2. Related Work
3. LawBench Construction
3.1 The Hierarchical Ability Taxonomy of LawBench
LawBench 主要从三个方面进行评估:
- 知识记忆:记忆力衡量记忆法律相关知识的能力。它测试了记忆和背诵基本法律知识(如法规、案例、概念、常识、法律事实和术语)方面的能力。
- 知识理解:理解力涉及理解法律文件的含义和内涵。这包括理解和解释法律概念、文本和问题的能力,例如,识别法律文本中的实体和关系,检测法律问题类型和争议点等。
- 知识应用:应用能力要求 LLM 整合法律知识,推理并解决现实世界的法律案件。它涵盖了模型进行法律咨询、司法协助的逻辑推理能力,以及计算相关金额的数字推理能力。
3.2 Data Source and Selected Tasks
用到的数据集如下:
- FLK: 国家法律法规数据库,由全国人大常委会办公厅建立并维护,登载宪法、法律、行政法规、检察法规、地方性法规以及司法解释
- LAIC2021: 中国法研杯数据集。包括三个任务:
- fzsetq: 犯罪数额提取。回归
- (未使用)xqyc: 刑期预测。回归
- zyjd: 争议焦点。多标签分类
- JEC_QA: 分为知识驱动题(KD 问题,注重法律概念的定义和解释),案例分析题(CA 问题,注重对实际情况分析)
- 单选题
- (未使用)多选题
- LEVEN: 法律事件检测数据集。在一段事实描述文本中标注出涉及到的事件及类型。多层级标签分类
- AIStudio: 法律文本多标签分类
- CrimeKgAssitant: 主题识别。多分类
- CAIL2018: 主要有三个任务:
- 法律文章预测
- 行动原因预测
- 刑期预测
- CAIL2019: 主要有三个任务:
- 阅读理解
- (未使用)要素识别
- 相似案例匹配
- CAIL2021: 有多个任务,该文章使用了 法律舆论摘要 任务数据
- CAIL2022: 有多个任务,该文章主要使用了其中三个:
- 文件校对
- 信息提取
- 论点挖掘
- LawGPT: 此数据集是通过在 chatGPT 中输入法律条款来生成的,以构建相应的基于场景的问题和答案。
- hualv.com: 一个律所的网站。包括了用户咨询的问题记录
20 个任务的具体内容如下:
- 1-1 Article recitation: 给定法律条文的编号,返回具体内容
- 1-2 Knowledge question answering: 做单选题
- 2-1 Document Proofreading: 文件校对,输入原始句子,返回修正之后的句子
- 2-2 Dispute Focus Identification: 根据原告和被告的原始观点和回应,发现争议点
- 2-3 Marital Disputes Identification: 婚姻纠纷识别。给定一个描述婚姻纠纷的句子,将其归类为 20 种预定义好的纠纷类型之一
- 2-4 Issue Topic Identification: 给定问题,将其分配到预定义主题之一
- 2-5 Reading Comprehension: 阅读理解。给定一份裁决文书和相应的问题,从中摘录相关内容对问题进行解答
- 2-6 Named-Entity Recognition: 命名实体识别。从判决文件中给出一个句子,提取与一组预定义的实体类型(如嫌疑人、受害者或证据)相对应的实体信息。
- 2-7 Opinion Summarization: 提供与法律相关的新闻或报告,生成摘要
- 2-8 Argument Mining: 论点挖掘。鉴于原告的观点和五个候选被告的观点,选择一个可以与原告的观点构成争议的观点
- 2-9 Event Detection: 事件检测。给出法律判决文件中的一句话,检测本句中提到了哪些事件。每个句子中都可以提到多个事件
- 2-10 Trigger Word Extraction: 给定法律判决文件中的句子及其相应事件,预测句子中的哪些单词触发了这些事件。在构建触发词测试集时,从 LEVEN 数据集中删除了与事件类型相同的触发词,以及具有多个或重复触发词的事件,以包括尽可能不同的触发词。
- 3-1 Fact-based Article Prediction: 基于事实的文章预测。从法律判决文件中给出事实陈述,预测应该应用哪些文章项目
- 3-2 Scene-based Article Prediction: 基于场景的文章预测。给定描述的场景和相关问题,预测相应的文章项目
- 3-3 Charge Prediction: 指控预测。根据法律判决文件和文章的事实陈述,预测诉讼原因(指控)。
- 3-4 Prison Term Prediction w.o. Article: 刑期预测。从法律判决文件中给出事实陈述,适用的条款编号和指控,预测刑期。去除了死刑和终身监禁
- 3-5 Prison Term Prediction w. Article: 刑期预测。从法律判决文件中给出事实陈述,适用的文章内容和指控,预测刑期。在构建预测数据集时,我们将法律规定的内容附加到问题末尾,允许模型在此场景中完成预测任务。
- 3-6 Case Analysis: 给定一个案例和相应的四个问题,做单选题
- 3-7 Criminal Damages Calculation: 犯罪数额预测。根据有关刑事诉讼的事实描述,预测本案涉及的金额
- 3-8 Consultation: 咨询。给出用户咨询的内容,生成合适的答案
3.3 Evaluation
对于每项任务,评估都按照两个步骤进行:(1)Answer Extraction,从模型预测中提取答案(2)Metric Computation,根据问题、提取的答案和标准答案计算分数。
3.3.1 Answer Extraction
大多数任务要求预测结果以标准的格式输出,以便与 ground truth 进行比较。对于一些特定任务,文章定义了一组规则,以从模型预测中提取答案。
- Article Number Extraction (3-1): 此类任务需要提取模型预测的文章编号。使用分隔符 “、” 将预测文本分离为文本块,然后使用 cn2an 库在每个块中将中文数字转换为阿拉伯数字。使用正则表达式提取转换后的阿拉伯数字作为预期的文章编号;如果同一块中出现多个数字,则仅提取第一个数字。所有提取的数字都被组合在一起,形成最终的预测集。
- Prison Term Extraction (3-4, 3-5): 对于此类任务,需要从预测文本中提取预测的监禁刑期。首先使用 cn2an 将预测中的所有中文数字转换为阿拉伯数字;然后提取中文后跟时间间隔的数字,如 “个月” 和 “年”。提取的刑期正常化为几个月,这意味着出现在 “年” 之前的数字将乘以12。
- Criminal Damages Extraction (3-7): 使用正则表达式提取预测文本中出现的所有数字。提取的数字集被视为预测的刑事损害赔偿。
- Named-Entity Recognition (2-6): 从模型预测中找到所有出现的实体类型,然后从其出现到分隔符 “\n” 获取子字符串,然后应用正则表达式提取实体值。
- Trigger Word Extraction (2-10): 用分隔符 “;” 拆分模型预测,然后将拆分数组视为提取的关键词列表。
- Option Extraction (1-2, 2-2, 2-3, 2-4, 2-8, 2-9, 3-3): 这种类型的任务类似于从多项选择任务的选项列表中选择正确的选项。浏览所有可能的选项,并检查它们是否出现在预测文本中。预测文本中出现的一组选项被收集并用于评估。
3.3.2 Metric
- Accuracy: 在模型预测和答案之间进行匹配。适用于所有单标签分类任务,包括任务 1-2、2-4、2-8、3-6 和回归任务 3-7。如果从模型预测中提取了多个有效答案,将其视为错误。3-7 犯罪数额预测也被认为使用 accuracy 进行评价。
- F1: 用于多标签分类任务,包括 2-2、2-3、2-9、3-1、3-3
- rc-F1: 为阅读理解任务 2-5 量身定制的 F1 分数。它将每个 token 视为标签,删除标点符号、故事、额外的空白,执行其他必要的规范化,然后计算 F1 分数。采用 CAIL2019 的官方脚本来计算。
- soft-F1: 对于提取任务 2-6 和 2-10,输出是一组短语。我们不使用标准的 F1 分数,而是将短语级精确匹配替换为 rc-F1 分数,然后在此基础上计算 F1。
- nLog-distance: 对于刑期预测任务 3-4 和 3-5,我们用标准化 nLog-distance 来评估它们,以捕捉刑期的连续性。计算提取答案和答案之间差异的对数,然后将其归一化为 0 和 1 之间,以便更好地与其他指标兼容。
- F0.5: 对于文档校对任务 2-1,使用 F0.5 指标来评估它。F0.5 相比于召回更重视准确性,我们希望防止引入更多的误报,而不是在校对中识别所有其他错误。在计算 F0.5 分数之前,使用ChERRANT 工具包对齐提取的内容和答案。由于对齐可能需要很长时间才能对非常糟糕的结果做出响应,我们增加了 10 秒的限制时间。如果发生超时,那么预测的分数为 0。
- Rouge-L: 对于其他生成任务 1-1、2-7、3-3 和 3-8,我们使用 Rouge-L 分数来评估它们。Rouge-L 是生成任务中常用的指标。它考虑了句子级结构的相似性,并自动识别 n-grams 序列中的最长公共子串,以比较提取的内容和答案。
4. Experiment
使用的模型如下:
4.2 Experiment Setting
使用 OpenCompass 进行模型推理。对于 ChatGPT 和 GPT-4,将温度设置为 0.7,并将 top p p p 设置为 1。对于其他模型,我们使用特定于每个模型的前缀和后缀来定制提示。在生成过程中,将对所有开源模型执行贪婪解码。我们将输入令牌长度限制设置为 2048,将输出令牌长度设置为 1024。对超过长度限制的输入执行右截断。文章分别在 zero-shot 和 one-shot 下评估所有模型。zero-shot 推理中的模型输入只是任务指令和查询。one-shot 在指令之后附加一个示例,包括查询和相应的答案,然后是对模型的实际查询。