法律文本基础:法律文书结构、常见法律术语、裁判文书网数据获取

大家好,我是老张。今天咱们聊聊法律文本的基础知识。说实话,很多做数据标注的朋友,一上来就扑向裁判文书,结果被各种术语和结构搞得晕头转向。我当年刚入行时也踩过这个坑——标注了一批数据,结果因为没搞懂文书结构,全废了。嗯,今天咱们就把这块硬骨头啃下来。

一、法律文书的结构骨架

法律文书,说白了就是法律活动的「产品」。不管是判决书、起诉书还是调解书,它们都有相对固定的结构。我个人习惯把文书结构拆成三块:头部、正文、尾部

核心要点:法律文书的结构是「三段式」——谁写的、写了什么、谁负责。标注时先定位这三块,能省一半力气。

1. 头部信息

头部包含文书的基本元数据。我见过不少标注新手,把「案号」和「文书编号」搞混。其实案号是法院内部用的,比如「(2023)京01民初123号」,而文书编号是裁判文书网自动生成的。标注时,头部信息通常包括:

  • 法院名称:比如「北京市第一中级人民法院」
  • 文书类型:判决书、裁定书、决定书等
  • 案号:唯一标识一个案件
  • 当事人信息:原告、被告、第三人等
  • 诉讼代理人:律师、法律工作者等

2. 正文结构

正文是文书的核心。我把它总结为「五步走」:

  1. 案件由来:法院怎么受理的,什么时候开庭的
  2. 诉辩主张:原告说了什么,被告怎么反驳的
  3. 事实认定:法院查明了哪些事实
  4. 裁判理由:法院为什么这么判(法律依据)
  5. 裁判结果:最终判决是什么

为什么会这样?因为法官写文书时,逻辑链条就是「谁告谁→双方怎么说→法院查清什么→法律怎么规定→最终怎么判」。标注时,你只要按这个链条去切分段落,基本不会出错。

3. 尾部信息

尾部相对简单,但容易忽略。包括:

  • 审判人员:法官、人民陪审员名单
  • 日期:判决日期
  • 书记员:记录人
  • 附注:比如上诉期限、判决生效说明等

我的小技巧:标注时,先快速扫一眼文书头部和尾部,确定文书类型和法院层级。这能帮你预判正文的复杂程度。比如基层法院的判决书,事实部分通常写得很细;而最高法院的判决书,法律分析部分会更重。

二、常见法律术语:别被「法言法语」吓到

法律术语是标注中的「拦路虎」。我刚开始做标注时,看到「驳回诉讼请求」和「驳回起诉」就傻傻分不清。后来被项目经理骂了一顿,才明白:前者是实体上输了,后者是程序上被挡回来了。嗯,这里要注意,术语搞错了,标注结果就是废的。

我把常见术语分成三类,方便大家记忆:

类别 术语 含义 标注注意点
程序类 上诉、抗诉、再审 不服判决后的救济途径 注意区分「上诉」和「抗诉」:上诉是当事人提的,抗诉是检察院提的
实体类 违约责任、侵权责任 违反合同或侵犯权利的法律后果 标注时注意区分「违约」和「侵权」,两者赔偿标准不同
证据类 书证、物证、电子数据 证明案件事实的材料 电子数据是近年新增的,比如微信聊天记录、电子邮件

避坑指南:我曾经标注一批合同纠纷案件,把「违约金」和「赔偿金」混为一谈。结果模型训练出来后,遇到「违约金过高可以调整」的条款,模型直接输出「赔偿金过高可以调整」——完全错了。违约金是双方约定的,赔偿金是法定的,两者性质不同。

另外,我建议大家建立一个「术语对照表」。比如:

  • 原告诉称 = 原告说
  • 被告辩称 = 被告反驳
  • 本院认为 = 法院的观点
  • 依照……规定 = 法律依据

标注时,把这些「法言法语」翻译成大白话,能帮你快速理解文书内容。

三、裁判文书网数据获取:从「爬」到「用」

裁判文书网(wenshu.court.gov.cn)是法律数据标注的「粮仓」。但说实话,这个网站不太好爬。我当年为了批量下载文书,折腾了整整一周。这里分享几个实用经验。

1. 数据获取方式

目前主流的方式有三种:

  • 官方API:裁判文书网有公开的检索接口,但限制较多,每天有调用次数限制
  • 爬虫采集:用Python写爬虫,但要注意反爬机制(验证码、IP限制等)
  • 第三方数据源:比如北大法宝、中国法律知识总库等,数据更干净,但需要付费

我个人建议,如果只是做标注练习,用第三方数据源更省心。如果是做项目,可以考虑爬虫+人工清洗的组合。

2. 爬虫示例代码

这里给一个简单的爬虫框架,用于获取裁判文书列表。注意,这只是演示,实际使用时需要处理反爬。

import requests
import json

# 裁判文书网检索接口(示例)
url = "https://wenshu.court.gov.cn/website/parse/rest/qj"

# 请求参数
params = {
    "pageNum": 1,
    "pageSize": 10,
    "queryCondition": [{"key": "案由", "value": "合同纠纷"}]
}

# 请求头(模拟浏览器)
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Referer": "https://wenshu.court.gov.cn/"
}

# 发送请求
response = requests.post(url, json=params, headers=headers)

# 解析结果
if response.status_code == 200:
    data = response.json()
    for doc in data.get("result", []):
        print(f"案号: {doc.get('caseCode')}, 标题: {doc.get('title')}")
else:
    print(f"请求失败,状态码: {response.status_code}")

我的经验:裁判文书网的反爬机制很「聪明」。我曾经用同一个IP连续爬了200条,就被封了24小时。后来我改用代理IP池,每次请求随机换IP,才稳定下来。另外,记得设置请求间隔,别太频繁。

3. 数据清洗与结构化

拿到原始数据后,别急着标注。先做清洗:

  • 去重:同一个案件可能有多个文书(一审、二审、再审),注意去重
  • 格式统一:把PDF、Word等格式统一转为纯文本
  • 字段提取:用正则表达式提取案号、法院、日期等结构化字段

举个例子,提取案号的正则表达式:

import re

text = "(2023)京01民初123号"
pattern = r"((\d{4}))(\w+)\w+初(\d+)号"
match = re.search(pattern, text)
if match:
    year = match.group(1)  # 2023
    court = match.group(2) # 京01
    number = match.group(3) # 123
    print(f"年份: {year}, 法院: {court}, 编号: {number}")

四、知识体系总览

说了这么多,咱们用一张图来总结本章的核心内容。这张图展示了法律文本标注的完整链路:从文书结构认知,到术语理解,再到数据获取与清洗。

法律文本标注知识体系 法律文书结构 头部 正文 尾部 常见法律术语 程序类 实体类 证据类 裁判文书网数据获取 API/爬虫 数据清洗 标注核心:结构 + 术语 + 数据 = 高质量标注 三者缺一不可,标注前先做「结构定位 + 术语翻译 + 数据清洗」

这张图把本章内容串起来了。你想想看,标注一个法律文本,其实就是三步:先看结构(头部、正文、尾部),再理解术语(程序、实体、证据),最后处理数据(获取、清洗、结构化)。每一步都有坑,但每一步也都有方法。

总结一下:法律文本标注不是「体力活」,而是「技术活」。搞懂文书结构,你就能快速定位关键信息;掌握常见术语,你就能准确理解内容;学会数据获取,你就能源源不断地拿到训练数据。这三板斧砍下去,标注效率至少提升50%。

好了,今天就聊到这儿。下一节咱们会深入讲「标注规范与质量控制」,到时候我会分享一些更具体的标注案例和踩坑经历。记得提前把今天的内容消化掉,不然下一节你可能跟不上。


公众号:蓝海资料掘金营,微信deep3321