CoolFace
Datasetpublic

kurumikz/kazakhstan_legal_corpus

kazakhstan_legal_corpus The first large-scale parallel Kazakh–Russian legal corpus collected from an official state source — and the first dataset of its kind in Kazakhstan. Overview Property Value Languages Kazakh (kk) · Russian (ru) Domain Constitutional & statutory legal texts Source zan.gov.kz — official open state register Format .jsonl.gz (newline-delimited JSON, gzip-compressed) License ODC-BY 1.0 Parallel Yes — each record is a… See the full description on the dataset page: https://huggingface.co/datasets/kurumikz/kazakhstan_legal_corpus.

sourceHugging Faceodc-byupdated 6mo agoView on Hugging Face
1likes113downloads
Dataset Card

kazakhstanlegalcorpus

The first large-scale parallel Kazakh–Russian legal corpus collected from an official state source — and the first dataset of its kind in Kazakhstan.

Table of Contents


Overview

PropertyValue
LanguagesKazakh (kk) · Russian (ru)
DomainConstitutional & statutory legal texts
Sourcezan.gov.kz — official open state register
Format.jsonl.gz (newline-delimited JSON, gzip-compressed)
LicenseODC-BY 1.0
ParallelYes — each record is a document-aligned KK/RU pair

kazakhstanlegalcorpus is a document-level parallel corpus extracted from the official electronic legal database of the Republic of Kazakhstan. Every record contains the same legal document in both Kazakh and Russian, as published by the state. The texts range from constitutional norms and parliamentary laws to regulatory agency decisions.


Why this dataset matters

Prior to this release, no large publicly available parallel corpus existed for the Kazakh language in the legal domain. Most Kazakh NLP resources are either small-scale, narrow in scope, or unavailable outside closed research groups.

This dataset is the first of its kind on two axes:

  1. 1.Scale — thousands of document pairs covering a broad spectrum of Kazakhstani law.
  2. 2.Domain — legal text requires precise, formal language, making it especially valuable for training translation and language understanding models.

The source is fully public and open under Kazakhstani law, making this corpus reproducible and legally redistributable under ODC-BY.


Dataset structure

Each line in the .jsonl file is one JSON object representing a single document pair. Below is a representative example (text shortened for readability):

json
{
  "id":   12345,
  "src":  "zan.gov.kz",
  "kk":   "1-бап. Қазақстан Республикасы ...",
  "ru":   "Статья 1. Республика Казахстан ...",
  "ckk":  4821,
  "cru":  5103,
  "hkk":  "a3f1c8e29b04d711",
  "hru":  "c72d0a18fe3b9204",
  "kk_r": 0.0412,
  "qs":   0.847
}

Field reference

This section explains every field so you know exactly what you are working with.

FieldTypeDescription
idintegerDocument identifier from the source registry. Unique per document. Use this to look up the original on zan.gov.kz.
srcstringSource domain. Always "zan.gov.kz" in this release. Included for provenance tracking in future multi-source versions.
kkstringFull cleaned text of the document in Kazakh. Watermarks, footnotes, metadata headers, and reference noise have been stripped.
rustringFull cleaned text of the document in Russian. Same cleaning applied as for kk.
ckkintegerCharacter count of the Kazakh text after cleaning. Useful for filtering by document length and for length-ratio analysis.
cruintegerCharacter count of the Russian text after cleaning. Russian legal texts tend to be slightly longer than their Kazakh equivalents due to morphological differences.
hkkstringSHA-1 fingerprint (first 16 hex chars) of the Kazakh text. Used during collection to deduplicate — if two documents produce the same hkk + hru hash pair, only one is kept.
hrustringSHA-1 fingerprint of the Russian text. Checked as a pair with hkk.
kk_rfloatKazakh-specific character ratio — the fraction of alphabetic characters in kk that belong to letters unique to Kazakh (Ә, Ғ, Қ, Ң, Ө, Ұ, Ү, Һ, І). A value near 0.04–0.07 is typical for genuine Kazakh legal text. Very low values may indicate a document that is actually written in Russian with a Kazakh header.
qsfloatQuality score in `[0, 1]`. A composite metric computed from three signals: (1) length balance between kk and ru, (2) Kazakh character density, (3) Cyrillic density of the Russian text. Records below the threshold 0.20 are excluded entirely during collection. Higher is better; most retained records score above 0.60.

Collection methodology

Documents are retrieved from the official REST API of zan.gov.kz, which serves each legal act as a PDF in both Kazakh (/kaz/) and Russian (/rus/) variants. The collector iterates over document identifiers, fetches both PDFs concurrently, extracts text, applies the cleaning pipeline, and writes records to a compressed .jsonl.gz archive.

The process at a high level:

ID range → fetch KK PDF + RU PDF → extract text → clean → score → write

Retrieval is parallelised across multiple threads with retry logic for transient network errors. Documents returning HTTP 404 or 410 are treated as non-existent and skipped. Transient server errors trigger exponential back-off retries before a document is logged as failed.

The archive is written incrementally so that a run interrupted mid-way can be resumed without re-downloading already-collected records. Deduplication is performed in-memory using hash pairs, so duplicate documents that appear under different IDs are suppressed automatically.


Cleaning pipeline

Raw PDF text extracted from government documents contains substantial noise: watermarks, QR-code label fragments, page numbers, footnote blocks, metadata date stamps, and cross-reference annotation clusters. A multi-stage pipeline removes this noise independently for each language.

Shared steps (both languages):

  • —Removal of soft hyphens and zero-width Unicode characters
  • —NFC normalisation
  • —Inline watermark stripping (zan.gov.kz, adilet.zan.kz, digital signature labels, QR labels)
  • —Date-stamp cluster removal
  • —Deduplication of repeated lines within a document

Kazakh-specific steps:

  • —Ескертпе / Ескерту footnote block removal
  • —Orphaned cross-reference line removal (date + act number fragments)
  • —Trailing reference suffix stripping on otherwise valid lines
  • —Inline reference cluster noise reduction

Russian-specific steps:

  • —Сноска footnote block removal (all forms: editorial, substantive, short)
  • —Примечание. См. нормативные постановления КС РК ... pointer removal
  • —Примечание. В соответствии с Законом РК ... metadata note removal
  • —Article header inline reference stripping
  • —Dangling QR-код содержит ссылку на line removal
  • —Orphaned от fragment removal
  • —Russian inline reference cluster noise reduction

Blocks containing substantive legal interpretation are deliberately kept — the pipeline distinguishes metadata pointers from content.

After line-level filtering, adjacent soft-wrapped lines are merged using punctuation heuristics to restore paragraph continuity.


Quality filtering

After cleaning, each document pair is scored and filtered:

ConditionAction
Both texts shorter than 300 charactersDropped as short
Quality score below 0.20Dropped as low_quality
Hash pair already seen in outputDropped as dup
Passes all checksWritten as ok

The quality score balances three signals with equal weight: text length balance, Kazakh character density, and Russian Cyrillic density. This catches common failure modes such as a missing translation, a document that is the same language on both sides, or a heavily corrupted extraction.


Intended use

  • —Machine translation (KK ↔ RU) in the legal domain
  • —Legal language model pre-training and fine-tuning
  • —Cross-lingual information retrieval
  • —Terminology extraction and alignment
  • —Low-resource NLP benchmarking for Kazakh

Limitations

  • —Domain — texts are exclusively from the Kazakhstani legal register. The vocabulary and style are formal and domain-specific.
  • —Time range — the corpus reflects documents available at the time of collection. Amendments enacted after collection are not included.
  • —OCR artifacts — some older documents in the registry were originally scanned. PDF text extraction on these may contain residual OCR errors that the cleaning pipeline does not fully resolve.
  • —Alignment granularity — alignment is at the document level, not sentence or paragraph level. Downstream sentence-level alignment requires an additional step.

License

This dataset is released under the Open Data Commons Attribution License (ODC-BY) 1.0.

You are free to share, adapt, and build upon this dataset for any purpose, including commercial use, as long as you provide appropriate attribution.

Source texts are public legal documents of the Republic of Kazakhstan published on zan.gov.kz.

Contact

Author: kurumikz Email: kurumikaz@gmail.com



kazakhstanlegalcorpus

Қазақстанда бірінші рет жасалған ірі ауқымды қазақ–орыс заң мәтіндерінің параллель корпусы — мемлекеттік ресми дереккөзден жиналған жалғыз осындай датасет.

Мазмұны


Жалпы сипаттама

СипатМән
ТілдерҚазақ (kk) · Орыс (ru)
СалаКонституциялық және заңнамалық мәтіндер
Дереккөзzan.gov.kz — ресми мемлекеттік тізілім
Пішім.jsonl.gz
ЛицензияODC-BY 1.0
ПараллельИә — әр жазба KK/RU тілдерінде туйіндестірілген

kazakhstanlegalcorpus — Қазақстан Республикасының ресми электронды заңнамалық дерекқорынан алынған, құжат деңгейіндегі параллель корпус. Әр жазбада бір заңдық құжаттың қазақ және орыс тіліндегі нұсқалары бар. Мәтіндер конституциялық нормалардан, парламенттік заңдардан және реттеуші органдардың шешімдерінен тұрады.


Датасет неліктен маңызды

Бұл шығарылымға дейін заң саласы бойынша қазақ тілінде ірі ауқымды, ашық қол жетімді параллель корпус болмаған. Қазіргі қазақ тіліндегі НЛП ресурстары не шағын ауқымды, не тар бағытты, не жабық зерттеу топтарынан тыс қол жетімсіз.

Бұл датасет екі тұрғыдан бірінші болып табылады:

  1. 1.Ауқымы бойынша — Қазақстан заңнамасының кең спектрін қамтитын мыңдаған құжаттар жұптары.
  2. 2.Сала бойынша — заң мәтіндері дәл және ресми тілді талап етеді, бұл аударма және тілді түсіну модельдерін үйрету үшін аса құнды.

Дереккөз Қазақстан заңнамасы бойынша толықтай ашық және жариялы, бұл корпусты қайта жаңғыртуға және ODC-BY шеңберінде заңды таратуға мүмкіндік береді.


Датасет құрылымы

.jsonl файлының әр жолы — бір JSON объектісі, яғни бір құжат жұбы (мәтін қысқартылған):

json
{
  "id":   12345,
  "src":  "zan.gov.kz",
  "kk":   "1-бап. Қазақстан Республикасы ...",
  "ru":   "Статья 1. Республика Казахстан ...",
  "ckk":  4821,
  "cru":  5103,
  "hkk":  "a3f1c8e29b04d711",
  "hru":  "c72d0a18fe3b9204",
  "kk_r": 0.0412,
  "qs":   0.847
}

Өрістер анықтамасы

ӨрісТүріСипаттама
idбүтін санДереккөздегі құжат идентификаторы. Әр құжат үшін бірегей. zan.gov.kz-де түпнұсқаны табу үшін пайдалануға болады.
srcжолДереккөз домені. Бұл шығарылымда әрқашан "zan.gov.kz". Болашақ көп дереккөзді нұсқалар үшін шығу тегін бақылауға енгізілген.
kkжолТазартылған қазақ мәтіні. Су таңбалары, сілтемелер, метадеректер тақырыптары және сілтеме шулары жойылған.
ruжолТазартылған орыс мәтіні. kk-дағыдай тазалау қолданылған.
ckkбүтін санТазартудан кейінгі қазақ мәтініндегі таңбалар саны. Құжат ұзындығы бойынша сүзу және ұзындық қатынасын талдау үшін пайдалы.
cruбүтін санТазартудан кейінгі орыс мәтініндегі таңбалар саны. Морфологиялық айырмашылықтарға байланысты орыс заң мәтіндері қазақтарға қарағанда біршама ұзынырақ болады.
hkkжолҚазақ мәтінінің SHA-1 саусақ ізі (16 hex таңба). Жинақ кезінде дедупликация үшін қолданылады — екі құжат бірдей hkk + hru жұбын берсе, тек біреуі сақталады.
hruжолОрыс мәтінінің SHA-1 саусақ ізі. hkk-мен жұп ретінде тексеріледі.
kk_rөзгермеліҚазақ таңбаларының үлесі — тек қазақ тіліне тән әріптердің (Ә, Ғ, Қ, Ң, Ө, Ұ, Ү, Һ, І) барлық әліпбилік таңбаларға қатынасы. Нақты қазақ заң мәтіні үшін 0.04–0.07 аралығы типтік мән. Өте төмен мәндер орыс тілінде жазылған, бірақ қазақ тақырыбы бар құжатты көрсетуі мүмкін.
qsөзгермеліСапа көрсеткіші `[0, 1]`. Үш сигналдан тең салмақпен есептеледі: (1) kk мен ru арасындағы ұзындық балансы, (2) қазақ таңбаларының тығыздығы, (3) орыс мәтініндегі кириллица тығыздығы. 0.20 шегінен төмен жазбалар жинақ кезінде толығымен жойылады.

Жинау әдістемесі

Құжаттар zan.gov.kz-дің ресми REST API-нен алынады. Жинаушы құжат идентификаторларын айналып өтеді, екі PDF-ті бір мезгілде жүктейді, мәтін шығарып алады, тазалау конвейерін қолданады және жазбаларды сығылған .jsonl.gz мұрағатына жазады.

Жоғары деңгейдегі процесс:

ID ауқымы → KK PDF + RU PDF жүктеу → мәтін шығарып алу → тазалау → баллдау → жазу

Жүктеу бірнеше ағын бойынша параллельденген. Мұрағат қадамдық жазылады — үзілген жинақты бұрын жиналған жазбаларды қайта жүктемей жалғастыруға болады.


Тазалау конвейері

Мемлекеттік құжаттардың PDF мәтіні айтарлықтай шулы: су таңбалары, QR-код белгі фрагменттері, бет нөмірлері, сілтеме блоктары, метадеректер күн мөртаңбалары. Реттік өрнектерге негізделген конвейер бұл шуды әр тіл үшін дербес жояды.

Жалпы қадамдар (екі тіл де):

  • —Жұмсақ дефистер мен нөлдік ені бар Unicode таңбаларды жою
  • —NFC нормализациясы
  • —Ендірілген су таңбаларын жою
  • —Күн мөртаңба кластерлерін жою
  • —Құжат ішіндегі қайталанған жолдарды дедупликациялау

Қазақшаға тән қадамдар:

  • —Ескертпе / Ескерту сілтеме блоктарын жою
  • —Жетім айқас-сілтеме жолдарын жою
  • —Жарамды жолдардағы артқы сілтеме суффикстерін кесу

Орысшаға тән қадамдар:

  • —Сноска сілтеме блоктарын жою (барлық нысандар)
  • —Примечание. См. нормативные постановления КС РК ... көрсеткіштерін жою
  • —Мақала тақырыптарындағы ендірілген сілтемелерді тазарту
  • —Жетім от фрагменттерін жою

Мазмұндық заңдық түсіндірмелер бар блоктар әдейі сақталады.


Сапаны сүзу

ШартӘрекет
Екі мәтін де 300 таңбадан қысқаshort ретінде жойылады
Сапа көрсеткіші 0.20-дан төменlow_quality ретінде жойылады
Хэш жұбы бұрын кездескенdup ретінде жойылады
Барлық тексерулерден өттіok күйімен жазылады

Лицензия

Датасет Open Data Commons Attribution License (ODC-BY) 1.0 шеңберінде шығарылды.

Дереккөз мәтіндері zan.gov.kz-де жарияланған Қазақстан Республикасының жариялы құқықтық құжаттары болып табылады.

Байланыс

Автор: kurumikz Email: kurumikaz@gmail.com



kazakhstanlegalcorpus

Первый крупный параллельный корпус казахских и русских правовых текстов, собранных из официального государственного источника — и первый датасет подобного рода в Казахстане.

Содержание


Общее описание

СвойствоЗначение
ЯзыкиКазахский (kk) · Русский (ru)
ДоменКонституционные и нормативно-правовые тексты
Источникzan.gov.kz — официальный государственный реестр
Формат.jsonl.gz (построчный JSON, сжатый gzip)
ЛицензияODC-BY 1.0
ПараллельныйДа — каждая запись содержит выровненную пару KK/RU

kazakhstanlegalcorpus — корпус параллельных текстов на уровне документов, извлечённых из официальной электронной правовой базы данных Республики Казахстан. Каждая запись содержит один и тот же правовой акт на казахском и русском языках в том виде, в котором он опубликован государством. Тексты охватывают конституционные нормы, законы, постановления и нормативные акты регуляторных органов.


Почему этот датасет важен

До этого выпуска не существовало ни одного крупного общедоступного параллельного корпуса казахского языка в правовом домене. Большинство казахских NLP-ресурсов либо малого масштаба, либо узкотематические, либо недоступны за пределами закрытых исследовательских групп.

Этот датасет является первым по двум критериям:

  1. 1.По масштабу — тысячи пар документов, охватывающих широкий спектр казахстанского законодательства.
  2. 2.По домену — правовые тексты требуют точного и формального языка, что делает их особенно ценными для обучения моделей перевода и понимания языка.

Источник полностью открыт и публичен по казахстанскому законодательству, что делает корпус воспроизводимым и законно распространяемым под ODC-BY.


Структура датасета

Каждая строка .jsonl-файла — это один JSON-объект, представляющий пару документов (текст сокращён):

json
{
  "id":   12345,
  "src":  "zan.gov.kz",
  "kk":   "1-бап. Қазақстан Республикасы ...",
  "ru":   "Статья 1. Республика Казахстан ...",
  "ckk":  4821,
  "cru":  5103,
  "hkk":  "a3f1c8e29b04d711",
  "hru":  "c72d0a18fe3b9204",
  "kk_r": 0.0412,
  "qs":   0.847
}

Описание полей

Этот раздел объясняет каждое поле, чтобы вы точно понимали устройство датасета.

ПолеТипОписание
idцелоеИдентификатор документа в реестре источника. Уникален для каждого документа. Позволяет найти оригинал на zan.gov.kz.
srcстрокаДомен источника. В этом выпуске всегда "zan.gov.kz". Включён для отслеживания происхождения данных в будущих многоисточниковых версиях.
kkстрокаПолный очищенный текст документа на казахском языке. Водяные знаки, сноски, заголовки метаданных и шум перекрёстных ссылок удалены.
ruстрокаПолный очищенный текст документа на русском языке. Применена та же очистка, что и для kk.
ckkцелоеКоличество символов казахского текста после очистки. Полезно для фильтрации по длине документа и анализа соотношения длин.
cruцелоеКоличество символов русского текста после очистки. Русские правовые тексты, как правило, несколько длиннее казахских из-за морфологических различий языков.
hkkстрокаSHA-1-отпечаток казахского текста (первые 16 hex-символов). Используется при сборе для дедупликации — если два документа дают одинаковую пару hkk + hru, сохраняется только один.
hruстрокаSHA-1-отпечаток русского текста. Проверяется в паре с hkk.
kk_rвещественноеДоля казахских символов — отношение числа букв, характерных только для казахского языка (Ә, Ғ, Қ, Ң, Ө, Ұ, Ү, Һ, І), к общему числу буквенных символов в kk. Значение около 0.04–0.07 типично для подлинного казахского правового текста. Очень низкие значения могут означать, что документ фактически написан на русском с казахским заголовком.
qsвещественноеПоказатель качества в `[0, 1]`. Составная метрика, вычисляемая по трём сигналам с равным весом: (1) баланс длин между kk и ru, (2) плотность казахских символов, (3) плотность кириллицы в русском тексте. Записи ниже порога 0.20 полностью исключаются при сборе. Большинство сохранённых записей набирают выше 0.60.

Методология сбора

Документы извлекаются из официального REST API zan.gov.kz, который выдаёт каждый нормативный акт в виде PDF на казахском (/kaz/) и русском (/rus/) языках. Сборщик перебирает идентификаторы документов, параллельно загружает оба PDF, извлекает текст, применяет конвейер очистки и записывает записи в сжатый .jsonl.gz-архив.

Процесс на высоком уровне:

Диапазон ID → загрузка KK PDF + RU PDF → извлечение текста → очистка → оценка → запись

Загрузка распараллелена по нескольким потокам с логикой повторных попыток при временных сетевых ошибках. Документы, возвращающие HTTP 404 или 410, считаются несуществующими и пропускаются. Временные ошибки сервера вызывают экспоненциальные задержки перед следующей попыткой.

Архив пишется инкрементально — прерванный сбор можно возобновить без повторной загрузки уже собранных записей. Дедупликация выполняется в памяти по хэш-парам, поэтому дублирующиеся документы под разными ID автоматически подавляются.


Конвейер очистки

Сырой текст PDF из государственных документов содержит значительный шум: водяные знаки, фрагменты меток QR-кодов, номера страниц, блоки сносок, заголовки метаданных, кластеры аннотаций перекрёстных ссылок. Многоэтапный конвейер удаляет этот шум независимо для каждого языка.

Общие шаги (оба языка):

  • —Удаление мягких переносов и непечатаемых Unicode-символов нулевой ширины
  • —NFC-нормализация
  • —Удаление встроенных водяных знаков
  • —Удаление кластеров штампов дат
  • —Дедупликация повторяющихся строк внутри документа

Специфичные шаги для казахского:

  • —Удаление блоков сносок Ескертпе / Ескерту
  • —Удаление осиротевших строк перекрёстных ссылок
  • —Обрезка суффиксов ссылок на иначе валидных строках
  • —Снижение шума кластеров встроенных ссылок

Специфичные шаги для русского:

  • —Удаление блоков сносок Сноска (все формы)
  • —Удаление указателей Примечание. См. нормативные постановления КС РК ...
  • —Удаление метаданных Примечание. В соответствии с Законом РК ...
  • —Очистка заголовков статей от встроенных ссылок
  • —Удаление обрывочных строк QR-код содержит ссылку на
  • —Удаление осиротевших фрагментов от

Блоки, содержащие содержательное правовое толкование, намеренно сохраняются — конвейер различает метаданные-указатели и содержательный текст.

После построчной фильтрации смежные мягко перенесённые строки объединяются с помощью эвристик пунктуации для восстановления непрерывности абзацев.


Фильтрация по качеству

После очистки каждая пара документов оценивается и фильтруется:

УсловиеДействие
Оба текста короче 300 символовУдаляется как short
Показатель качества ниже 0.20Удаляется как low_quality
Хэш-пара уже встречаласьУдаляется как dup
Прошёл все проверкиЗаписывается со статусом ok

Показатель качества балансирует три сигнала с равным весом: баланс длин текстов, плотность казахских символов и плотность кириллицы в русском. Это отсеивает типичные ошибки: отсутствующий перевод, документ на одном языке с обеих сторон или сильно повреждённое извлечение.


Назначение

  • —Машинный перевод (KK ↔ RU) в правовом домене
  • —Предобучение и дообучение языковых моделей на правовых текстах
  • —Кросс-языковой информационный поиск
  • —Извлечение терминологии и выравнивание
  • —Бенчмаркинг NLP для казахского языка как малоресурсного

Ограничения

  • —Домен — тексты исключительно из казахстанского правового реестра. Лексика и стиль формальные и узкоспециализированные.
  • —Временной диапазон — корпус отражает документы, доступные на момент сбора. Поправки, принятые после сбора, не включены.
  • —Артефакты OCR — некоторые более старые документы в реестре изначально были сканированы. Извлечение текста из PDF на таких документах может содержать остаточные ошибки распознавания, которые конвейер не устраняет полностью.
  • —Гранулярность выравнивания — выравнивание на уровне документа, а не предложения или абзаца. Для выравнивания на уровне предложений требуется дополнительный шаг.

Лицензия

Датасет выпущен под лицензией Open Data Commons Attribution License (ODC-BY) 1.0.

Вы можете свободно делиться, адаптировать и использовать датасет в любых целях, включая коммерческие, при условии надлежащего указания авторства.

Исходные тексты являются публичными правовыми документами Республики Казахстан, опубликованными на zan.gov.kz.

Контакт

Автор: kurumikz Email: kurumikaz@gmail.com