为什么有7.9万条记录被剔除:turkish-court-decisions数据清洗与去重逻辑全拆解
【免费下载链接】turkish-court-decisions项目地址https://ai.gitcode.com/hf_mirrors/hamzabagirsakci/turkish-court-decisions点击查看免费下载turkish-court-decisionsTürk İçtihat Korpusu是目前已知最大的土耳其语判决书数据集收录了11,045,085 份来自土耳其最高法院Yargıtay、行政法院Danıştay、宪法法院AYM等机构的判决全文。但它的原始采集量其实是11,124,305 条——中间那79,220 条消失的记录去了哪里 本文将逐条拆解这套判决书数据集的数据清洗与去重逻辑帮你在做法律文本 NLP 前彻底看懂数据从哪来、为什么可信。数据漏斗从1112万到1104万的全过程先把整条数据清洗流水线的账算清楚所有数字均来自官方 README.md 的记录阶段数量说明源系统声明的判决书11,125,621四个官方检索系统合计成功下载11,124,305占 99.99%两轮重试仍为空的 1,226 条放弃剔除垃圾响应−6,779HTTP 200 返回的其实是机器人验证页/错误页剔除重复记录−72,441同一判决被不同 document_id 索引了多次最终发布11,045,085315 亿字符5.52 GB Parquet共 30 个文件 关键点被剔除的 79,220 条不等于 7.9 万份判决错了其中 90% 以上只是索引层面的重复真正的判决全文一条没丢。数据按来源分目录存放每个来源对应若干 Parquet 分片data/yargitay/train-00000-of-00017.parquetYargıtay9,820,145 条17 个分片1997–2026 年data/danistay/train-00000-of-00002.parquetDanıştay386,608 条2 个分片1965–2026 年data/emsal/train-00000-of-00009.parquetUYAP Emsal815,702 条9 个分片2017–2026 年data/aym_norm/train-00000-of-00001.parquetAYM 规范审查5,563 条data/aym_bb/train-00000-of-00001.parquetAYM 个人申诉17,067 条剔除一6,779条垃圾响应是怎么识别的爬虫在采集时源系统偶尔会返回HTTP 200 状态码但页面内容并不是判决书而是机器人验证屏或错误页面。这类假 200是网络爬取的经典坑按状态码判断永远成功按内容判断才作数。识别与处理规则见 README.md 的Temizlik章节特征明确固定文案、长度约 120 字符的页面且全部出现在 Danıştay 来源中整体剔除6,779 条记录全部移除不进入发布数据不误伤短判决清洗规则只针对上述固定垃圾文本真正简短的判决书会被完整保留——这是很多数据集清洗容易做错的点比如按长度阈值一刀切。⚠️ 如果不做这一步最终数据里会混入约 6,779 条判决书其实是错误页的脏数据直接污染下游的文本分类与检索模型。剔除二72,441条重复判决的去重键设计剩余的大头是重复索引同一份判决在源系统中被分配了多个document_id导致下载了不止一次。这套去重逻辑有三个值得借鉴的设计1. 去重键(source, court, esas_no, karar_no)即「来源 审判庭/部门 案号esas_no 判决号karar_no」四元组而不是全文哈希。原因很实际不同次抓取的同一页面可能有细微渲染差异结构化编号才是判决的法律唯一身份。2. 冲突消解保留最长文本版本同一判决的多个副本中保留 text 最长的那一条。因为部分副本是半截抓取——页面只下载了前半部分。用文本长度作为完整性代理指标简单又有效。3. 可追溯raw_sha256 字段每条记录都带raw_sha256字段即源 HTML 页面的哈希值字段定义见 README.md 的 Schema 表。它的作用正是去重 校验双用途事后核查去重是否彻底相同哈希即同一原文验证发布数据与源系统页面是否一致防止静默数据损坏。另外采集端采用AIMD 退避的限速爬虫并按月份窗口分片采集每个窗口完成对账reconcile后才进入下一窗口从机制上避免漏采、静默丢数。去重之外数据集还做哪些数据清洗理解7.9 万剔除之外还有几项清洗/规范化动作直接影响你能不能用好这些数据清洗动作说明隐私脱敏个人身份信息以[TCKN]、[IBAN]、[KART]、[TELEFON]、[EPOSTA]标签掩码masked_count字段记录每条记录被掩码的数量HTML → 纯文本源感知式转换Danıştay 判决是页面模板内嵌的 HTML-escape 文本需单独解转义AYM 判决是 Word 导出结构。保留段落结构剥离页面骨架日期归一karar_tarihi统一为 ISOYYYY-MM-DD各来源格式原本不一致并派生year/month作为分片键法律条文引用结构化mevzuat_atif字段仅收录零猜测的条文引用正文写明法律编号直接提取缩写仅在实测精确率 ≥99% 时才映射如HMK→610099.91%TCK等歧义缩写宁缺毋滥字段全集与类型id、source、text、text_len等 14 个字段完整列在 README.md 的 Schema 表中id采用{来源}:{document_id}格式全数据集全局唯一。新手上手如何加载清洗后的数据发布数据以 Hugging Face Datasets 格式组织all配置包含全部 30 个文件也可按来源单取。加载方式与全部字段说明见 README.md。以 PyArrow 直接读取单个 Parquet 分片为例代码摘自 READMEimport pyarrow.parquet as pq tbl pq.read_table(data/aym_norm/train-00000-of-00001.parquet)如果按条文检索清洗后的结构化字段能直接派上用场ds load_dataset(hamzabagirsakci/turkish-court-decisions, yargitay, splittrain) tck62 ds.filter(lambda r: 5237/62 in r[mevzuat_atif])数据集采用CC0-1.0 协议且土耳其法院判决本身不在版权保护范围内FSEK m.31 明确允许官方发布的司法判决自由复制传播可放心用于研究与商业场景。小结这套清洗逻辑的三个可复用经验按内容而非状态码识别垃圾——假 200验证页要固定文案特征匹配且绝不能误伤短文档用结构化业务键去重而非全文哈希——(来源, 审判庭, 案号, 判决号)才是法律文本的唯一身份冲突时保留最长文本副本留下校验指纹——raw_sha256让每一条去重和每一次重新采集都能被回溯验证。对于任何法律文本 NLP 项目判决分类、条文检索、摘要生成这套漏斗式清洗账本本身就是最好的质量说明书。赞分享【免费下载链接】turkish-court-decisions项目地址https://ai.gitcode.com/hf_mirrors/hamzabagirsakci/turkish-court-decisions点击查看免费下载相关推荐rollup-plugin-postcss源码探秘核心原理与实现细节全解析rollup plugin postcss源码探秘核心原理与实现细节全解析 rollup plugin postcss是一款实现Rollup与PostCSS无按法条秒查判决turkish-court-decisions的mevzuat_atif法条引用检索完全指南按法条秒查判决turkish court decisions的mevzuat_atif法条引用检索完全指南 想找引用某条法律的判决书 turkish cou确定性意图去重指南为什么 Code2Skill 不用 embedding 也能收敛100万条技能记录确定性意图去重指南为什么 Code2Skill 不用 embedding 也能收敛100万条技能记录 CodeSkillBank 是由 Code2Skill上一篇RudderStack架构深度解析理解10大核心组件的工作原理下一篇moonlight-android将PC游戏轻松搬至Android设备创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考