PiotrSty/sejm-committee-transcripts
Polish Sejm committee transcripts — full API coverage (terms 9 and 10) Official committee transcripts ("pełny zapis przebiegu posiedzenia") from the Sejm of the Republic of Poland, parsed into individually attributed speaker turns. Scope Committees: all standing committees with zapis PDFs in the Sejm API. Terms: 9 (2019-11-14 → 2023-11-09) and 10 (2023-11-14 → 2026-09-17). Provider and primary source: Kancelaria Sejmu RP, https://api.sejm.gov.pl/… See the full description on the dataset page: https://huggingface.co/datasets/PiotrSty/sejm-committee-transcripts.
Polish Sejm committee transcripts — full API coverage (terms 9 and 10)
Official committee transcripts ("pełny zapis przebiegu posiedzenia") from the Sejm of the Republic of Poland, parsed into individually attributed speaker turns.
Scope
- Committees: all standing committees with zapis PDFs in the Sejm API.
- Terms: 9 (2019-11-14 → 2023-11-09) and 10 (2023-11-14 → 2026-09-17).
- Provider and primary source: Kancelaria Sejmu RP, https://api.sejm.gov.pl/ (
/sejm/term{n}/committees/{code}/sittings/{num}/pdf). - Each row is one speaker turn:
term,committee_code,committee_name,sitting_num,date,turn_idx,speaker,text,content_sha1,source_url.
Exact counts are in artifacts/audit.json (rows, characters, sittings, committees, dedup statistics, speaker-role distribution).
Method
- PDFs extracted with
pdftotext -layout; speaker turns reconstructed from role-anchored speaker labels (Poseł/Przewodniczący/Sekretarz stanu/Legislator/ Głos z sali/…). Speech body dehyphenated; page furniture removed. - Joint sittings of two or more committees appear in each committee's sittings list; identical content (per-sitting sha1) is kept once (
rows_joint_sitting_dedup_droppedin the audit). - Parser validated against the earlier ASW-only pilot: recovers ~99% of the pilot's audited corrected character count, with per-turn attribution.
- Obvious emails, checksum-valid PESEL/NIP/REGON numbers, labelled phone numbers and IBANs are redacted; this is not a guarantee of zero personal data.
Licensing
Official parliamentary materials are excluded from copyright by article 4(2) of the Polish Copyright Act: https://eli.gov.pl/api/acts/DU/2025/24/text/O/D20250024.pdf.
Reuse is governed by the Polish Open Data and Reuse of Public Sector Information Act: https://eli.gov.pl/api/acts/DU/2023/1524/text.html. See LICENSE.md and artifacts/license_evidence.json. No upstream Creative Commons license is claimed.
Provenance
- Downloads and parsing scripts:
bulk_download.py,extract_all.py,parse_zapis.py,build_dataset.py(pinned inartifacts/slayer_ontology_manifest.json). - Download manifests per term: cached API responses in the build environment; every row links its exact source PDF endpoint via
source_url.
