读一份判决书,你得到的是一个点。
读一百份判决书,你得到的是一条线——它能告诉你,某个情节在这片辖区的裁判里,到底被怎么对待。
工作区的 判决书/1受贿罪/ 目录下,正好有 100 份真实判决书(.doc)。这堆素材躺着很可惜。今天讲一套可落地的方法,把它们变成一个能用的量刑研究数据库。
先声明:这是研究工具,不是结果预测。 数据库能帮你看清规律,但不能替你给任何具体案件下结论。
一、第一步:抽取——先把 .doc 变成能处理的数据
macOS 自带 textutil,不用装任何东西。
单份转换:
textutil -convert txt -output out.txt "乔某受贿一审刑事判决书.doc"
批量转换:
for f in *.doc; do
textutil -convert txt -output "out/$(basename "$f" .doc).txt" "$f"
done
转出来之后先看一眼结构。这类从法律数据库导出的文本,开头通常有一段结构化元信息,形如:
审理法院:河南省洛阳市瀍河回族区人民法院
案号:(2016)豫0304刑初74号
裁判日期:2016.10.20
案由:刑事/贪污贿赂罪/受贿罪
这是最省事的字段来源,用正则直接提这四个字段后面的内容就行。
一个必须先处理的坑:噪声。 导出文本里夹杂着大量 HYPERLINK "https://..." 和超链接残留。建模前先写条正则把它们清掉,否则后面做关键词统计会严重失真。
另一个坑更关键:目录名不等于内容。 1受贿罪/ 只是这个素材集的命名,实际抽查会发现里面混有贪污、挪用公款、行贿、单位行贿、利用影响力受贿等案由,还有一审和二审混在一起。建库第一步不是统计,是先按”案由”字段筛出真正的受贿案件,并把一审、二审分开。 否则后面所有统计都会被污染。
二、一张字段表:每条判决落成一行
这是整套方法的核心。建议按下面的字段设计表格,一条判决一行。
| 字段 | 说明 | 主要来源 |
|---|---|---|
| 案号 | 唯一标识,保留原样 | 元信息段 |
| 审理法院 | 用于做地区分组 | 元信息段 |
| 裁判年份 | 用于看时间趋势 | 裁判日期 |
| 罪名 | 受贿/利用影响力受贿等 | 案由+主文 |
| 受贿总额 | 统一为”元” | 查明事实 |
| 数额档次 | 3万/20万/300万三档 | 由总额推导 |
| 是否索贿 | 是/否/未提及 | 本院认为 |
| 受贿次数 | 笔数,无法确定记”未提及” | 查明事实 |
| 自首 | 认定/未认定/未提及 | 本院认为+主文 |
| 坦白 | 认定/未认定/未提及 | 本院认为 |
| 立功 | 认定/未认定/未提及 | 本院认为 |
| 认罪认罚 | 适用/未适用/未提及 | 程序部分+本院认为 |
| 退赃情况 | 全额/部分/未退/未提及 | 本院认为 |
| 主刑 | 统一折算为”月” | 判决主文 |
| 附加刑(罚金) | 金额,统一为”元” | 判决主文 |
| 缓刑与否 | 是/否 | 判决主文 |
| 违法所得处理 | 已追缴金额/表述 | 判决主文 |
| 关键裁判理由 | 一句话摘录 | 本院认为 |
这张表最该注意的,是”未提及”和”否”的区别。
判决里没写自首,不等于法院否定了自首;很可能只是这个案子没涉及。把”未提及”粗暴地填成”否”,会在统计时制造出一大批假的”无自首案件”,结论直接跑偏。 这个区分,是数据质量的分水岭。
三、第二步:清洗——把不统一的表述拉齐
抽取只是搬砖,清洗才是建模。几个必做的动作:
一是统一单位。 受贿金额有写”60万元”的,有写”人民币600000元”的,统一到”元”或统一到”万元”,二选一,全库一致。
二是统一刑期口径。 判决主文写”有期徒刑四年”,统计时不好算。折算成月(48个月),才能做区间比较。有期徒刑、拘役要分别标注。
三是规范情节表述。 “主动投案并如实供述”和”自首”是同一件事,“能如实供述自己的罪行”和”坦白”也指向同一情节。建一张同义词映射表,统一打标签。
四是拆分复合表述。 主文常写”判处有期徒刑四年,并处罚金人民币200000元”,需要拆成主刑和罚金两个字段。
五是记录清洗日志。 哪一条做了人工判断、依据是什么,都写下来。一百份的量,靠记忆是撑不住的。
四、第三步:统计——按维度切,做交叉
数据洗干净了,就可以切维度看了。下面这张维度表,是它的主要用途。
| 统计维度 | 分组方式 | 想回答的问题 |
|---|---|---|
| 数额档次 | 三档 | 各档案件有多少、分布如何 |
| 自首有无 | 认定/未认定 | 有自首的案件在量刑上落在哪里 |
| 退赃程度 | 全额/部分/未退 | 退赃与从宽的关联强度 |
| 是否索贿 | 是/否 | 索贿与刑期的关系 |
| 认罪认罚 | 适用/未适用 | 适用比例及对量刑的影响 |
| 缓刑 | 是/否 | 什么档次、什么情节组合下出现缓刑 |
| 裁判年份 | 按年 | 量刑尺度有没有随时间变化 |
| 审理法院 | 按法院 | 同一地区内不同法院是否近似 |
真正的价值在交叉。 比如把”数额巨大档 × 有无自首”两个维度叠起来看,你观察到的就不是单个案件,而是一整片案件的量刑分布。
但要提前说清两件事:
- 样本量有限。 100 份里,真正属于同罪名、同审级、同档次的可能只剩几十份。切成小组之后,每一组的数量都很少,任何”规律”都要留出余地;
- 这是分布,不是刻度。 你看到的是”这一类案件落在哪个区间”,不是”某个案件该判几年”。
五、第四步:提炼——从数据回到规律
统计做完,最后一步是把数字翻译成判断。
比如你会关心这些问题:本地裁判对哪个情节给的回应最实?同一档数额下,情节组合不同会拉开多大差距?某个年份之后尺度有没有收紧?
提炼的产物不是一张预测表,而是一组”本地经验”:
- 哪几类情节在这片辖区里被稳定认可;
- 哪些情节的认定条件卡得很紧,辩护时要提前准备材料;
- 同一档次下,量刑的分布区间大致在哪里。
这些东西,是类案检索和量刑辩护的地基。它让”我在这个案子里能提什么”这件事,从凭印象变成有参照。
六、它能做什么,不能做什么
能做的: 支撑类案检索;观察量刑区间;感受情节权重;把辩护要点本地化;为量刑意见提供参照依据。
不能做的:
- 不能预测具体案件结果。 数据库里没有这个案子的证据质量、没有法官的自由裁量、没有庭审中的表现;
- 不能忽略小样本的局限。 分组之后样本更小,结论的稳定性必然打折;
- 不能把判决书当决策过程看。 判决书是”结果的呈现”,不是”说理的完整记录”,法官考虑过但没写进去的因素,你永远看不到;
- 不能跨地区直接套用。 经济发展水平与审判经验各不相同。
把这些边界记住,数据库才是一个诚实的工具。
七、结语
从 100 份判决到 100 行数据,中间隔着的是抽取、清洗、统计、提炼四步。
这四步做完,你手里就不再是一堆读过的判决书,而是一张可以反复查询、反复质疑、反复修正的地图。
量刑辩护最大的误区,是拿印象当经验。而建库这件事的意义,正是把印象换成一个可以被检验的参照系。
研究记录:本文为职务犯罪法律问题研究记录,仅用于学习与交流,不构成对具体案件结果的承诺或个案法律意见。文中所述数据库为研究方法与工具,不能用于预测任何具体案件的裁判结果。个案情况请咨询执业律师。