メインコンテンツへスキップ
一般社団法人 社会構想デザイン機構
ISVD-LAB-006基盤構築

議会コーパス構築方法論 — 全国 1,700 議会答弁データを構造分析素材へ変える設計

ヨコタナオヤ
約8分で読めます

マチカルテが構築する地方議会答弁データベースの取得・整形・品質保証プロセスと、labs による構造分析素材化の設計を方法論として整理する。

XFBThreads

このノートは、マチカルテ研究室(ISVD-LAB-004)の方法論ノートである。全国 1,700 議会規模の答弁データを、構造分析の素材へと変えるための設計を、取得・整形・公開粒度の三層で整理する。

何が起きているのか

全国の地方議会は、それぞれの公式サイトで議事録を公開している。制度としての公開は達成されている。にもかかわらず、「介護言及の 7 年推移を全国で辿る」「PPP・PFI 議論の地域分布を俯瞰する」といった横断分析は、研究者にとっても実務者にとっても現実的な選択肢になっていない。議事録は自治体ごとに分散し、書式は揺れ、検索インフラは議会ごとに閉じている。

マチカルテは、この分散状態そのものを構造的問題として扱う。個別議会の議事録を取得し、共通スキーマに正規化し、BigQuery(Google Cloud のデータウェアハウス、以下 BQ)に格納し、集計と検索の基盤として公開する。labs 記事は、この基盤の上で「構造を読む」ための分析素材を取り出す層に位置づく。

本ノートの問いはこうである。1,700 議会規模の答弁データを、単なる収集物ではなく構造分析の素材に変えるには、どのような設計が必要か。何を識別子として持ち、何を捨てず、何を公開粒度で分けるか。この 3 点を方法論として整理する。

背景と文脈

地方議会答弁公開の制度的前提

地方議会の会議は原則として公開である。地方自治法第 115 条は本会議の公開を定め、傍聴・報道の自由の基盤を与えている。情報公開法とその類似条例は、行政文書としての議事録へのアクセス権を市民に与えている。

制度的公開は達成されている。しかし公開の形態は自治体ごとに異なる。PDF、HTML、独自 CMS、外部ベンダー製検索システムが混在し、期間・委員会種別の収録範囲も揃わない。国会には国会会議録検索システムという統合基盤が存在するが、地方議会にはそれに相当する全国横断基盤が長らく不在であった。

先行研究の系譜

議会テキストを扱う研究蓄積は、少なくとも 3 系統に分かれて発達してきた。詳細は同研究室の文献マップにまとめてあるが、方法論との接続点として概略を示す。

第一は国会・地方議会議事録の構造分析。木村泰知らの一連の研究は、議事録テキストから発言者役割・議題・スタンスを抽出する手法を継続的に更新してきた。宮木優太朗と内田ゆずによるBERT ベース分類器を用いた国会会議録発言文の役割分類手法の検証(2025)は、その延長線上で発言役割分類の精度検証を扱う。

第二は大規模コーパスと自然言語処理の系譜。渡部春佳らによる議会議事録コーパス研究は、テキストを構造化データとして扱うためのスキーマ設計と品質管理の作法を積み上げてきた。言語処理学会の年次大会予稿には、議会・行政テキストを対象にした研究発表が継続的に登場する。

第三は市民参加プラットフォームの系譜。議会情報の市民公開と議論の見え方を扱う実践研究が、civic tech の文脈で進んでいる。マチカルテはこの 3 系統を接続する位置に立ち、コーパス基盤としての第一・第二の作法を継承しつつ、市民公開のインフラとして第三の目的に応じる。

マチカルテの独自性 3 点

先行研究に対するマチカルテの独自性は 3 点に整理できる。第一に、全国スケール。1,700 議会規模の議事録を一つの基盤にまとめる。第二に、継続更新。scraper(取得プログラム)が定期実行され、答弁データは蓄積を続ける。第三に、二層公開。BQ 上のデータ層と labs 上の記事層を分離し、生データ提供と構造分析を役割分担で並走させる。

この二層公開は中立データソース化の方針から来ている。マチカルテ本体は個別議会・議員・首長の評価文脈を扱わない。データ提供層に純化する。評価的な読解は labs の記事層で、集計粒度と公開ルールを別に設定して行う。この分離が、次節「構造を読む」で扱う 3 段階公開粒度の背景である。

構造を読む

スキーマ設計と分散処理最適化

マチカルテの中核テーブルは BQ 上の correlate-workspace.machikarte.speeches である。1 行が 1 発言に対応する。列は 15 で、機能別に 4 グループに分けて設計されている。

識別子グループは 4 列。speech_id が発言の一意 ID、session_id が会議単位の ID、municipality_code が総務省の全国地方公共団体コード、municipality_name が表示用の自治体名を持つ。municipality_code を primary key として持つ点が、後述する unique identifier 主義の入口である。

時系列グループは 3 列。session_date が会議日、session_title が会議名、session_type が本会議・委員会等の区分を持つ。session_date は BQ の DAY partition(日付単位の分割)として使う。

発話グループは 5 列。speaker_name が発言者名、speaker_role が議員・首長・部長等の役割、content が発言本文、content_length が文字数、sequence が会議内の発言順序を持つ。content_length は独立列として保持し、自動 verify に用いる。

出典追跡グループは 3 列。source_offset が原文中の位置、source_url が元議事録の URL、fetched_at が取得時刻を持つ。source_url を保持することで、一次ソースへの遡及が常時可能になる。

分散処理の最適化には partition と clustering の 2 段構えを使う。session_date を partition 列にすると、期間指定のクエリはその期間の partition のみを読む。municipality_code を clustering 列にすると、自治体指定のクエリはブロック内で該当行に到達できる。この設計は、BigQuery の公式ドキュメントが推奨する時系列 + 高カーディナリティ列の組み合わせに対応する。partition 指定なしのフルスキャンでは数百 GB を読むテーブルが、期間 + 自治体絞り込みで数 GB まで圧縮される。

品質保証と unique identifier 主義

品質保証の第一層は content_length INTEGER 列である。scraper が取得した本文と別ルートで文字数を計算し、乖離を検知する。text の破損、途中切れ、余分な空白の混入は content_length の差で機械的に見える。

品質保証の第二層は source_url の保持である。集計結果に疑義があるとき、labs 記事の読者も編集者も source_url から元議事録の該当箇所に戻れる。この遡及可能性は、コーパス研究における再現性の作法を市民公開層まで貫くための基本装備である。

品質保証の第三層は fetched_at TIMESTAMP と履歴テーブルの組み合わせである。fetched_at が「いつ取得したか」を持ち、audit_history テーブルが「いつ更新したか」を持ち、corrections テーブルが「どこを補正したか」を持つ。3 つの履歴テーブルで、データの状態変化は完全な追跡下に置かれる。

そのうえで、方法論として最も重要なのが unique identifier code 主義である。地方自治体には同名がある。北海道福島町と福島県福島市、同じ「みどり市」が群馬県と栃木県に隣接して存在するといった具合に、自治体名 slug(正規化された文字列)ベースの cross-reference(別テーブルとの結合)は同名衝突による誤結合を招く。過去には、名前ベースの結合で片方の自治体の発言を別自治体に誤って結合する事故が発生した。

対策は明確である。municipality_code(総務省が維持する全国地方公共団体コード)を primary key に据え、cross-reference は全て code で行う。name / slug / display_name は表示用の従属列とする。この方針は、単なる技術規約ではなく、地方議会研究の全国横断作法として labs 記事の集計クエリ全てに適用される。

公開粒度 3 段階と Ethics

構造分析の素材化は、公開粒度の設計と不可分である。マチカルテと labs の連携は、3 段階の公開粒度ルールで運用される。詳細は接続点ドキュメント(docs/labs-public-asset-ppp-machikarte-cross-reference.md §1-3)に明文化されている。

第一段階は自治体集計。1,700 議会のうち何議会が特定キーワードに言及したか、都道府県別の言及比率はどうか、といった全国分布の記述に用いる。labs 記事の主用途はここに集中する。個別自治体名は上位下位ランキングとしては公開せず、分布の構造を読む姿勢を保つ。

第二段階は会派集計。同一自治体内で会派別の言及傾向を集計する粒度である。政策傾向分析には有効だが、少数会派では実質的に個人特定に近づく場合があり、慎重運用の対象となる。閾値(会派の議員数下限)と匿名化の判断は、labs 記事ごとに個別に検討する。

第三段階は verbatim 引用。特定の発言本文をそのまま引用する粒度である。研究倫理の対象領域に入り、公人性(議員・首長)・文脈・政策論点との関わりを個別に判断する。マチカルテ本体は評価的引用を扱わない立場を取っており、labs 記事側でも編集委員会の判断枠組みを整えつつ扱う。

3 段階を区切る意味は、「粒度を落とせば安全」でも「粒度を上げれば有用」でもない。同じデータでも読み方が異なれば、社会的意味も異なる。粒度は分析目的とセットで選ばれるべきパラメータであり、その選択自体が方法論の一部である。

参考文献

machikarte — 全国地方議会発言検索基盤(β 版)一般社団法人 社会構想デザイン機構(ISVD). ISVD

machikarte (GitHub) — schema, aggregation queries, ライセンス(MIT + CC BY 4.0)一般社団法人 社会構想デザイン機構(ISVD). GitHub

BERTベース分類器を用いた国会会議録発言文の役割分類手法の検証宮木優太朗・内田ゆず. 知能と情報(日本知能情報ファジィ学会誌), 37 巻 1 号, pp. 530-534

Introduction to Partitioned TablesGoogle Cloud. BigQuery Documentation

Introduction to Clustered TablesGoogle Cloud. BigQuery Documentation

地方自治法日本国政府. e-Gov 法令検索

全国地方公共団体コード総務省. 総務省

国会会議録検索システム国立国会図書館. 国立国会図書館

→ 関連: 文献マップ: 地方議会発言データ研究の系譜 | マチカルテ研究室ハイポシシスマップ

XFBThreads

研究への参加・ご支援

ISVDの研究にご関心のある方は、賛助会員としてのご支援をお待ちしております。