想象一家法院的档案室。每天有成百上千份判决书、调解书堆在桌上——有的用词晦涩,有的结构混乱。传统方式要求人类书记员逐字阅读,然后手动抽出“当事人是谁”“因什么起纠纷”“判赔多少钱”等信息,填进标准化的档案卡片上。这个工作枯燥、缓慢,还容易出错。 CAIL2022评测,就是一次“档案管理员上岗资格考试”。它给AI一份标准化的“考卷”:大量真实判决书,要求AI把其中的关键信息结构化提取出来,填进预定义的表格。通过这场考试,AI将来就能帮法官、律师、法务处理海量文书,把原本需要几小时的人工整理压缩到几秒钟。 这篇文章将带你以“档案管理员”的视角,理解法律文书结构化任务的方方面面——考卷怎么出、分数怎么算、优秀管理员如何工作、容易踩哪些坑。学完之后你会发现,合同审查和案例检索这些法律NLP应用,底层站着同一位“档案管理员”。
理解法律文书结构化,等于掌握了法律NLP的底层地基。无论做合同审查工具、案例智能检索还是司法大数据平台,这项技能都能让你从“只会调用大模型”进化到“能构建真正落地的法律AI产品”,是法律科技从业者的核心能力之一。
目录
可视化演示
演示CAIL2022法律文书结构化:判决书按段落划分、逐字段抽取结构化信息,并以字段级F1与段落级F1评测抽取效果。
本节配有交互动效(进入视口后自动加载,约 3KB)。
段落划分 判决书分首部/当事人/事实等段落 逐段识别逻辑归属 段落 = 首部+当事人+… 非结构化文本按规范结构切分
任务定义:搞清楚“档案卡片”长什么样
想象你第一天到法院档案室上班。老师傅递给你一张空白的档案卡片,上面印着固定的栏目:当事人、案由、审判法院、裁判日期、判决金额……他告诉你,你的工作就是把每一堆杂乱的法律文书看完,然后在栏目里填上正确答案。这张卡片,就是“结构化”的模板。
在法律NLP领域,这份工作有个学名:法律文书结构化。CAIL2022(中国法律人工智能评测)正是以此为核心任务设立评测。所谓“结构化”,就是把供人阅读的非结构化文本(比如判决书的自由文本),转换成机器可以直接查询、统计、计算的标准化字段。它和合同审查、案例检索的关系,就像档案卡片和档案利用的关系——卡片是基础,用得好才是目标。
更形式化地说:给定一份文书文档,我们希望学习一个映射函数,把它变换为一组“字段—取值”的键值对集合。这些键值对就是档案卡片上一个个填好的栏目。
简单说,AI的职责就是:读一份文书,填一张卡片。别小看这件事,它是后面所有法律AI应用的地基。考试结束后,老师傅看着你工整的档案卡片,满意地点了点头——但真正的杂活还在后头。
- 结构化算子$\text{结构化}(d)$ 表示对原始文书文本 $d$ 执行转换,输出的是结构化的字段集合。
- 字段字典$f_k \in \mathcal{F}$ 中的 $\mathcal{F}$ 是所有可填栏目的集合,如当事人、案由、标的额,相当于档案卡片的栏目清单。
- 键值对输出$(f_k, v_k)$ 表示第 $k$ 个栏目填上了对应的取值,最终输出一整组键值对,即完成了一张档案卡片。
评测数据集:考卷从哪里来
老师傅告诉你,光知道卡片栏目还不够,你得先练手。练习题从哪来?档案室里那些已整理好的旧卷宗——这些就是带标准答案的“例题”。
CAIL2022评测的数据集正来源于此:真实司法场景下的裁判文书。主办方组织法律专家,按照统一的标注规范,把一份份判决书中的人物、组织、金额等信息逐一提炼出来,制成“标准答案”。整个过程就像给档案室制定统一的编码规则:从标签定义、标注粒度到数据切分,都有严格的流程把控。
数据规模方面,评测集覆盖刑事、民事等多种案件类型,训练集、验证集、测试集层层递进。由于裁判文书是复杂的真实文本,数据中天然存在长句、嵌套、噪声等问题——这反而是好事,因为考卷越真实,考出来的AI才越能上岗。
训练数据就像老师傅给你的例题集,标准答案越准确,你学到的整理技巧就越可靠。可别小看这些例题——它们直接决定了考试分数的上限。
- 标准答案集合$\mathcal{A}_i$ 是第 $i$ 份文书对应的真实结构化标签集合,相当于批改试卷用的标准答案。
- 标签空间$y \in \mathcal{Y}$ 表示所有可能标签构成的空间,它定义了“哪些栏目可以填”,如当事人、案由、金额等。
- 归属判定条件竖线后面的条件表示“第 $i$ 份文书中确实包含标签 $y$”时,$y$ 才被收入标准答案集。
核心任务类型:档案卡片上的栏目
看清档案卡片后,你发现每个栏目背后都有不同的整理技巧。“当事人”需要从文中挑出人名,“案由”需要理解两句话之间的逻辑关系,“判赔金额”则要配合上下文判断数字的语义。
赛事把这些技巧拆分为多个子任务。第一是实体识别(NER):从文本中找出命名实体的边界,比如“张三”是原告、“甲公司”是被告,相当于从字海中圈出人名、机构名和地名。第二是要素抽取:把特定栏目(如标的额、裁判日期)对应的文本片段抽出来。第三是关系分类:判断两个实体之间的关系,比如“张三”和“李四”是借贷关系还是买卖关系。第四是角色标签标注:给同一个实体打上“原告”“被告”等诉讼角色标签,就像区分信件的寄件人与收件人。
这些子任务不是孤立的,它们共同构成一张完整的档案卡片。在CAIL2022中,模型往往需要同时处理多个子任务,才能把卡片上的每一个格子都填满。
关系三元组是法律文书中最常见的信息单元。填卡片时,你不仅要认出“谁是谁”,还要看出“他们之间发生了什么”——这正是档案管理员从“识字”进阶到“读事”的关键一步。
- 主体实体$e_1$ 是关系中的第一个实体,比如原告“张三”。
- 关系谓词$r$ 是两者之间的关系类型,比如“起诉”“借贷”“买卖”。
- 客体实体$e_2$ 是关系中的第二个实体,比如被告“李四”。
评测指标:怎么打分
练完题目,你交出一叠填好的档案卡片。怎么判断填得好不好?老师傅拿出三个统计口径:一是你填的内容里有多少是对的;二是正确答案里有多少被你找到了;三是两者综合起来打几分。这正是精确率(Precision)、召回率(Recall) 和 F1分数。
精确率回答“你说对的那些里,真对的占比”;召回率回答“所有该找的里面,你找到多少”。二者往往此消彼长——就像填档案,填得少容易保准确,填得多容易保覆盖。F1用调和平均把两个指标揉成一个数,是CAIL评测中最常看的分数。
记住这个打分逻辑,它贯穿所有NLP任务。比赛排名看F1,但真实业务中,合同审查漏掉一个违约条款比多标一个词严重得多——到时候你会在P和R之间做出自己的选择。
- 真正例与假正例$TP$ 是模型预测正确的结果,比如正确标注出的“张三”;$FP$ 是模型预测了但实际不存在的结果,相当于多填了一个错误栏目。
- 精确率$P = \dfrac{TP}{TP + FP}$ 衡量“填得有多准”——预测为正的样本中,真正正确的比例。
- 召回率$R = \dfrac{TP}{TP + FN}$ 衡量“找得有多全”——所有真实标签中,被模型找到的比例,$FN$ 是漏掉的结果。
- F1综合打分$\text{F1} = \dfrac{2\,P\,R}{P + R}$ 是精确率和召回率的调和平均,只有当两者都高时F1才高,这就是老师傅最终打的综合分。
典型方法:三种档案员的工作风格
面对同一堆文书,不同的档案员有不同的干法。
第一种是规则派:把所有整理规则写成“如果……就……”的工作手册。比如“看到'元'前面的数字就填入金额”。这种方法简单、可解释,但遇到表述灵活的真实文书就四处漏风。
第二种是序列标注派:把文书按字切好,逐个打上BIO标签——B表示实体首字,I表示实体内部字,O表示非实体。然后用BERT等预训练模型学习上下文,让模型给每个字打分。这是CAIL2022的主流方法。
第三种是阅读理解派:把要素抽取当作“问答”来处理,比如问“被告是谁?”,让模型在文书中圈出答案。这种方法更灵活,还能顺带处理长文本。无论哪种风格,序列标注模型的本质都是学习一个逐字标注的条件概率分布。
三种档案员风格各有利弊:规则派稳但死板,序列标注派准但依赖算力,阅读理解派灵活但难调。真正的高手,往往把三种风格组合起来使用。
- 输入序列$\mathbf{x}_1, \ldots, \mathbf{x}_n$ 是一份文书切分后的字/词序列,相当于递给档案员的原文。
- 标签序列$y = (y_1, \ldots, y_n)$ 是每个字对应的BIO标签序列,例如“张→B”“三→I”。
- 逐字条件概率整体概率拆解成每个字在全文条件下的标注概率,模型逐个字决定打什么标签。
挑战与难点:档案室的混乱现场
理想的档案卡片好填,真实的档案室却一团糟。
第一难是长文档。一份判决书动辄上千字,而BERT类模型一次最多读512个token。读不完,就像档案员只看了前三页就下结论,漏掉关键信息在所难免。第二难是嵌套实体——“某某公司诉某某公司买卖合同纠纷”里,“买卖合同纠纷”内部还包含“合同”这个实体,一层套一层,普通标注方式难以招架。第三难是数据不均衡:某些案由出现频率极高,而冷门要素样本寥寥无几,模型容易“偏科”。
一个常见的缓解思路是对长文档切片后分别抽取,再按置信度合并答案——有点像把所有卷子分给多个档案员,再综合他们的意见。
面对复杂的真实文书,AI不能只靠蛮力,还要学会“拆解”和“合并”。这也是为什么处理长文书、嵌套结构和数据不均衡,始终是CAIL评测中拉开分差的关键环节。
- 候选片段$s$ 是文书中的一个候选文本片段,例如一处可能是金额的描述。
- 平均置信度$\dfrac{1}{|s|} \sum_{i \in s} \text{conf}_i$ 把片段内每个字的模型置信度求平均,得到该片段的综合得分。
- 择优选取$\arg\max_{s}$ 表示在所有候选片段中选择得分最高者,作为最终抽取结果。
应用落地:档案卡片的黄金价值
花这么大力气整理档案,当然不是为了好看。当所有散乱文书变成标准卡片后,下游应用就活了。
合同审查辅助:把合同条款按“当事人、金额、违约责任”结构化,系统可以自动核对关键要件有没有缺失,并标注风险条款。案例检索优化:传统全文检索搜“民间借贷纠纷”时常返回一堆无关案件;结构化后,系统可以直接组合“案由=民间借贷 且 标的额>100万”等条件,像查数据库一样精准。司法数据治理:法院、律所的存量文书积累了几十年,结构化之后才能做统计分析、法官画像、类案推荐。
从技术上讲,检索增强就可以构建在结构化字段之上。查询和文档不再是两堆散装文本硬碰硬,而是各自先整理成“向量档案”,再计算相似度。
档案卡片的价值不在卡片本身,而在它让机器第一次真正“读懂”了法律文本。合同审查、案例检索、司法数据治理——这些场景都在享受档案管理员辛勤工作的红利。
- 查询向量$\mathbf{Emb}(q)$ 将检索词 $q$(如“买卖合同纠纷”)编码成稠密向量。
- 文档向量$\mathbf{Emb}(d)$ 将候选文书 $d$ 编码成向量,结构化字段也可以参与编码,让检索更精确。
- 余弦相似度$\cos(\cdot, \cdot)$ 计算两个向量的夹角余弦值,值越高说明查询与文书越相关。
优化策略:打造更优秀的档案员
档案员不是天生的,好成绩是练出来的。CAIL2022榜单上的高分方案,几乎都做了三件事。
第一是模型微调:在通用中文预训练模型的基础上,用海量法律语料继续训练,让模型“懂行话”。第二是数据增强:通过同义词替换、句式变换等手段制造更多练习样本,缓解样本不足和不均衡。第三是集成学习:把规则派、序列标注派、阅读理解派模型的结果放在一起投票——三个臭皮匠顶个诸葛亮。
投票集成的思想朴素而有效:单个模型可能看走眼,但多个模型同时看走眼并选同一个错误答案的概率要低得多。
训练、加练、开小组会——AI的成长路径和人类档案员惊人的相似。理解了这一点,你就理解了CAIL2022高分系统的全部秘密:扎实的数据、微调的模型、以及一点团队协作的智慧。
- 模型预测$\hat{y}_m$ 是第 $m$ 个模型的预测标签,比如“案由=买卖合同纠纷”。
- 投票计数$\sum_{m=1}^{M} \mathbb{1}\{\hat{y}_m = y\}$ 统计所有模型中有多少个投票给了候选标签 $y$。
- 多数取胜$\arg\max_y$ 选出得票最多的标签作为最终输出。
AI 应用场景
智能合同审查:让法务从逐字阅读中解放
阶段:信息抽取与文书结构化
解决的问题:传统法务审合同需要逐条阅读,一份几十页的合同要花数小时,且容易漏看隐藏在长句中的关键条款。利用CAIL2022同款结构化技术,系统可自动抽取当事人、标的额、付款期限、违约责任等要素,秒级生成结构化摘要,并对缺失条款和异常表述给出风险预警。
具体案例:某企业法务上传一份50页的采购合同,系统自动抽出甲乙双方、付款期限、违约金比例,生成一张“档案卡片”,并标红缺失的“争议解决条款”。法务只需看卡片和标红处,5分钟即可完成初审。
类案检索系统:从关键词搜索升级为字段查询
阶段:要素抽取 + 语义检索
解决的问题:传统案例检索依赖全文关键词匹配,检索“民间借贷纠纷”时返回大量无关案件,律师需要人工翻看筛选。将判决书结构化后,系统支持按案由、标的额、审理法院、裁判年份等字段组合过滤,检索精度大幅提升。
具体案例:律师想找“本省近三年标的额50万元以上的买卖合同败诉案例”,系统从100万份判决书中筛出327份符合条件的案例,并自动生成要素对比表,律师据此快速定位有利判例。
司法数据治理:让历史文书变成可分析的资产
阶段:批量文书结构化 + 统计分析
解决的问题:法院和律所积压了几十年的历史裁判文书,全是非结构化文本,无法进行定量分析和决策支持。通过批量结构化流水线,把海量文书转化为结构化数据库,支撑审判态势分析、法官画像、类案统计等数据应用。
具体案例:某省高院将200万份历史裁判文书批量结构化,按案由、地域、年份三维统计,形成年度审判态势白皮书,辅助司法资源调配。
Python 演示
# -*- coding: utf-8 -*-"""规则版法律文书要素抽取器:档案管理员的小工具箱"""import re CASE_TYPES = { "合同": "买卖合同纠纷", "借贷": "民间借贷纠纷", "离婚": "离婚纠纷", "侵权": "侵权责任纠纷",} def extract_amount(text): """抽取判决金额(单位统一折算为元)""" m = re.search(r"(\d+(?:\.\d+)?)\s*万元", text) if m: return float(m.group(1)) * 10000 m = re.search(r"(\d+(?:\.\d+)?)\s*元", text) return float(m.group(1)) if m else None def extract_parties(text): """抽取原告与被告姓名""" parties = {"原告": None, "被告": None} m = re.search(r"原告([^\s,。]+)", text) if m: parties["原告"] = m.group(1) m = re.search(r"被告([^\s,。]+)", text) if m: parties["被告"] = m.group(1) return parties def extract_case_type(text): """抽取案由""" for key in CASE_TYPES: if key in text: return CASE_TYPES[key] return None def structure_document(text): """把一份判决书整理成档案卡片""" parties = extract_parties(text) return { "原告": parties["原告"], "被告": parties["被告"], "案由": extract_case_type(text), "标的额": extract_amount(text), } def evaluate(preds, golds): """用CAIL同款逻辑计算精确率、召回率与F1""" tp = fp = fn = 0 for fields, truth in zip(preds, golds): for key in truth: if truth[key] is None: continue if fields.get(key) == truth[key]: tp += 1 else: fp += 1 fn += 1 p = tp / (tp + fp) if tp + fp else 0.0 r = tp / (tp + fn) if tp + fn else 0.0 f1 = 2 * p * r / (p + r) if p + r else 0.0 return p, r, f1 if __name__ == "__main__": docs = [ "原告张三与被告李四因买卖合同纠纷诉至法院,判令支付货款50000元。", "原告王五起诉民间借贷纠纷,请求判令被告归还本金10万元。", "原告诉称侵权责任纠纷,要求赔偿损失20000元。", ] golds = [ {"原告": "张三", "被告": "李四", "案由": "买卖合同纠纷", "标的额": 50000.0}, {"原告": "王五", "被告": None, "案由": "民间借贷纠纷", "标的额": 100000.0}, {"原告": None, "被告": None, "案由": "侵权责任纠纷", "标的额": 20000.0}, ] preds = [structure_document(d) for d in docs] print("预测结果:") for doc, pred in zip(docs, preds): print(doc[:15] + "... ->", pred) p, r, f1 = evaluate(preds, golds) print("精确率=%.2f 召回率=%.2f F1=%.2f" % (p, r, f1))
struct = re.search(r"(\d+(?:\.\d+)?)\s*万元", text)用正则先找“万元”金额,再找“元”金额,模拟规则派档案员的查表手法。parties = {"原告": None, "被告": None}先初始化档案卡片的两个栏目,再逐项填充。m = re.search(r"原告([^\s,。]+)", text)用正则抓取“原告”后面的姓名,相当于档案员按固定句式定位信息。if fields.get(key) == truth[key]逐字段比对预测值与标准答案,统计TP/FP/FN,这是F1计算的核心循环。f1 = 2 * p * r / (p + r)用调和平均综合精确率和召回率,和CAIL官方打分方式一致。
常见误区
误区法律文书结构化不就是把文书里出现过的词抽出来吗?看到“张三”就填当事人,看到“五万”就填金额,用正则就够了。
正解结构化产出的是“标准化语义字段”,需要理解角色和上下文。比如同一句话里的“张三”,既要判断他是原告还是被告,还要判断“五万元”是合同价款还是违约金。纯关键词匹配会把角色搞混、把金额填错格,这在真实判决书的复杂句式中尤其致命。
为何常见:初学者看到结构化输出是一张“字段—值”表格,容易误以为是字符串查找的产物,忽略了背后的语义判断和角色推理。
误区评测榜单排的是F1,那我把F1刷高就万事大吉,不用管精确率和召回率分别多少。
正解F1是两者的调和平均,但业务场景对二者的容忍度不同。合同审查中,漏掉一个“违约责任”条款(召回率低)可能让客户蒙受巨大损失;而多标一个无关字段(精确率低)最多增加人工复核量。实际产品必须根据业务代价调整阈值,而不是盲目追F1。
为何常见:比赛只报一个F1数字,容易让人误以为它是“唯一真理”,忽略了P和R之间的内在张力。
误区BERT只能读512个token,那把判决书从开头截断512个字送给模型不就行了?反正大部分信息在前面。
正解判决书的核心信息(金额、判决结果)往往分布在后半部分,随机截断可能恰好切掉最关键的字段。正确做法是滑动窗口分段抽取、按句子分层编码,或使用支持长文本的模型(如Longformer),最后再合并各段结果。
为何常见:这看起来只是一个工程处理细节,实际上信息分布不均,先入为主的“开头最重要”直觉在司法文书中并不成立。
误区现在都是深度学习的天下,CAIL2022高分肯定全靠BERT,传统规则方法已经被淘汰了。
正解在CAIL2022的实践中,规则后处理、正则表达式和词典匹配依然是高效手段——尤其对金额、日期、身份证号这类格式规律的要素,规则又快又稳。高分方案通常是“深度学习抽取 + 规则校验修正”的组合,而不是单一方法包打天下。
为何常见:公开报道总爱宣传“XX模型刷新纪录”,让人误以为深度模型碾压一切,忽略了工程落地上规则方法的不可替代性。
面试题
Q1. CAIL2022法律文书结构化任务的核心目标是?
- A.把判决书翻译成白话文章
- B.从文书中提取标准化信息字段← 正确答案
- C.判断文书的真伪和实际效力
- D.自动生成一份全新的判决书
答案:B。CAIL2022法律文书结构化聚焦“非结构化文本 → 标准字段”的转换,相当于档案管理员把散乱文书整理成档案卡片。A是翻译任务,C是文书真实性校验,D是文本生成,都不是结构化的核心目标。
Q2. F1分数是精确率与召回率的什么关系?
- A.精确率与召回率的算术平均
- B.精确率与召回率的调和平均← 正确答案
- C.精确率与召回率的简单乘积
- D.召回率数值的两倍关系
答案:B。F1定义为 $2PR/(P+R)$,是两个指标的调和平均。调和平均对较低值更敏感,因此只有精确率和召回率同时高时F1才高。算术平均(A)和简单乘积(C)都不是F1的定义。
Q3. 评测指标中“召回率”衡量的是?
- A.预测正确占全部预测的比例
- B.预测正确占真实要素的比例← 正确答案
- C.文书被正确分类的百分比数
- D.模型处理文档的速度快慢值
答案:B。召回率 $R=TP/(TP+FN)$ 分母是真实存在的要素总数,衡量“该找的找到了多少”。A描述的是精确率;C和D分别描述分类正确率和速度,与召回率无关。
Q4. 下列哪项不属于CAIL2022法律文书结构化常见的抽取要素?
- A.文书中的当事人姓名信息
- B.作出判决的审判法院
- C.纠纷对应的法律案由
- D.判决书所用纸张的尺寸← 正确答案
答案:D。法律文书结构化关心的是“语义字段”:当事人、案由、标的额、裁判日期、审判法院等,这些字段能支撑下游检索和统计分析。纸张尺寸属于物理属性,对法律语义理解无意义,不属于结构化要素。
Q5. 序列标注模型中"BIO"标注标签的作用是?
- A.标记文档段落间的边界信息
- B.标注实体起始词与内部词← 正确答案
- C.表示文档正负情感倾向程度
- D.统计模型训练的迭代轮次数
答案:B。BIO体系是序列标注中标记实体的标准方式:B表示实体首字(Begin),I表示实体内部字(Inside),O表示非实体(Outside)。例如“张三”标注为“张→B,三→I”。它不负责段落边界(A)、情感(C)或训练计数(D)。
Q6. 阅读理解式抽取相比序列标注的一个优势是?
- A.完全不需要任何训练数据
- B.可通过问题引导定位特定要素← 正确答案
- C.完全无法处理嵌套实体情况
- D.推理速度有大幅度的提升
答案:B。阅读理解式抽取把“抽取要素”变成“回答问题”,例如问“本案被告是谁?”,模型在文书中定位答案。问题本身提供了强引导,使抽取更灵活。它仍需要训练数据(A错),并非不能处理嵌套(C错),速度也不一定更快(D错)。
Q7. 法律文书结构化任务面临的主要挑战包括?
- A.长文档超出模型的输入长度上限← 正确答案
- B.嵌套实体导致标签体系的困难← 正确答案
- C.数据类别存在严重的不均衡分布← 正确答案
- D.文书文本无法转换成电子格式
答案:ABC。长文档超出BERT等模型的512 token上限、嵌套实体(如“买卖合同纠纷”内含“合同”)、案由类别不均衡都是CAIL2022的真实难点。而判决书已经是电子文本,不存在无法转换的问题,D错误。
Q8. 某要素抽取结果中 TP=80、FP=20、FN=10,则该要素的 F1 值约为?
- A.0.80
- B.0.84← 正确答案
- C.0.89
- D.0.94
答案:B。精确率 $P=80/(80+20)=0.8$,召回率 $R=80/(80+10)\approx0.889$,则 $\text{F1}=2\times0.8\times0.889/(0.8+0.889)\approx0.842$,最接近0.84。A是精确率本身;C和D分别是只算错一个方向的偏差结果。
Q9. 针对CAIL长文书的优化策略有哪些?
- A.滑动窗口切分并合并结果← 正确答案
- B.采用长文本模型完成编码← 正确答案
- C.随机截断文书的后半部分
- D.使用分层编码的策略处理← 正确答案
答案:ABD。滑动窗口切分后合并、采用Longformer等长文本模型、分层编码(先句子后段落)都是针对长文档的有效策略。C随机截断会丢失关键判决信息,是常见错误做法。
Q10. 关于CAIL2022法律文书结构化的描述,正确的有?
- A.评测数据来自真实司法场景← 正确答案
- B.结构化结果可辅助案例检索← 正确答案
- C.规则方法在评测中完全失效
- D.生成式方法可端到端输出结果← 正确答案
答案:ABD。CAIL2022数据来自真实裁判文书(A对),结构化字段可直接用于案件检索的字段过滤(B对),生成式方法(如基于大模型的端到端抽取)是可选方案之一(D对)。规则方法在金额、日期等要素上依然有效,说“完全失效”过于绝对(C错)。