名古屋でAIシステム開発の会社をやっています。国会の質疑と政府の答弁をテーマごとに集める「国会トラッカー」を、これまで議員発言ログの一部として動かしてきました。今日、これを単体の製品「Kurage 国会トラッカー」として切り出しました。あわせて、質問と答弁を1枚の画像にする「質疑カード」などを作ったので、理由と仕組みを書きます。
1. 国会トラッカーは何をするか
「内密出産」「OTC類似薬」「不登校」のようにテーマと語を決めると、国立国会図書館の国会会議録検索システムから、その語を含む発言を全国の国会議員について集めます。いまのデモでは89のテーマで、議員の質疑が30,398件、政府の答弁が22,138件、取り上げた議員は1,483人です。
テーマのページには、次のものを並べます。
- 質疑と答弁の件数、取り上げた議員の数、最初と最新の日付
- いま政府は何と答えているか(直近の答弁)
- 年ごと・党ごとの件数、よく取り上げた議員
- 発言のあゆみ(質疑・答弁・参考人で切り替え)
要約はしません。出すのは、テーマの語を含む文をそのまま抜いた抜粋と、会議録へのリンクだけです。発言は冒頭の話者表記から、議員の質疑・政府の答弁・委員長の議事整理・参考人に機械的に分けています。分けずに数えると、委員長や大臣を務めた議員の件数が跳ね上がり、「よく質問している人」に見えてしまうからです。
2. なぜ単体の製品にしたか
国会トラッカーは、もともと「愛知の国会議員が国会で何を言ったか」を引く議員発言ログの中に作りました。愛知の議員の発言だけでは「内密出産の法整備はどこまで来たか」が分からないので、テーマを決めて全国の発言を集める部分を足したのが始まりです。
使っていくうちに、この2つは使う人が違うと分かりました。
- 議員発言ログ:特定の地域の議員が何を言ったかを見たい人。後援会、地方の報道、議員事務所
- 国会トラッカー:あるテーマが国会でどこまで来たかを見たい人。業界団体、NPOや当事者の団体、記者、政策の担当者
国会トラッカーは議員の名簿を持たず、テーマの語だけで動きます。名簿を作らなくてよいので、導入もこちらのほうが簡単です。そこで、別々の製品に分けました。デモの画面は両方を一緒に動かしていますが、配布するものは中身を分けています。
3. 質疑カード——質問と答弁を1枚にする
きっかけはXでした。議員の投稿に、国会トラッカーのリンクを添えて返信すると、表示される画像が見られていることが分かりました。返信に貼ったカードに、議員ご本人から反応をいただいたこともあります。
ただ、テーマ全体の画像だと「その議員が何を聞き、政府が何と答えたか」までは伝わりません。そこで、質疑1件ごとにページを作り、質問の一文と、その直後の政府の答弁の一文を1枚の画像にしました。ページのURLをXに貼ると、この画像がそのまま表示されます。ページには「タイトルとURLをコピー」のボタンを付けて、返信に貼る文とURLを一度にコピーできるようにしました。
画像は、PHPで最初に開かれたときに描き、2回目からはそれを使います。会議録は3万件あるので、前もって全部作って置くのではなく、使われた分だけ描く形にしました。
4. 別の論点への答弁を、組にしない
一番気をつけたのはここです。会議録では、質問の直後に政府の答弁が来ます。ところが、議員は一つの質問の中で話題を移すことがあります。
実際にあった例では、ある議員が内密出産にふれたあと「一つ飛ばして、次に」と別の話題に移って質問を終え、直後の答弁はその別の話題への答えでした。これをそのまま組にすると、内密出産の質問に、関係のない答弁が付いたカードができてしまいます。議員や政府の発言を取り違えて見せることになります。
そこで、答弁を組にするのは、次のどちらかのときだけにしました。
- 答弁の中にもテーマの語が出てくる
- 質問の後ろ3割で、テーマの語にふれている
どちらにも当たらないときは、質問だけのカードにして、ページに「直後の答弁は別の論点への答えでした」と書き、会議録へのリンクを出します。答弁がテーマの語を含まずに表に入っていないときは、会議録のAPIで直後の発言を1回だけ読み、手元に置いて二度と読みません。
5. 議員×テーマのカードと、推移グラフ
質疑1件より、「この議員はこのテーマを何年にわたって、何日取り上げてきたか」のほうが伝わる場面もあります。そこで、議員×テーマのページとカードも作りました。取り上げた日数と件数、最初の年、年ごとの件数の棒グラフ、直近の質問の一文を1枚にしています。
テーマのページの画像にも、年ごとの質疑の件数を棒グラフで入れました。たとえば内密出産なら、2022年に質疑が35件と一番多かったことが、URLを貼るだけで見えます。
数字は会議録から数えたものだけで、順位や評価は付けません。質疑ができるのは、その日その委員会で質問に立った議員だけなので、件数の差は熱心さの差ではないからです。
6. どんな使い方を想定しているか
- 業界団体・NPO:自分たちのテーマについて、国会でだれが取り上げ、政府がどう答えてきたかを、会員や支援者に日付つきで示す
- 議員事務所:自分の質疑をカードにして発信する。同じテーマで質問してきた他の議員を調べる
- 記者・政策担当:テーマの経緯を、会議録のリンクつきで短時間で押さえる
PHPとSQLiteだけで動き、共有のレンタルサーバーに置けます。LLMを使わないので、運用にAPI費用はかかりません。テーマは data/trackers.json に語を書くだけで足せます。毎日の更新のジョブも同梱していて、公開ページの件数が手元と一致したときだけ成功とします。
よくある質問
国会トラッカーとは何ですか?
テーマを決めると、全国の国会議員の質疑と政府の答弁を国会会議録から集め、だれが質問し、政府が何と答えたかを日付順に並べるシステムです。要約はせず、語を含む文の抜粋と会議録へのリンクだけを出します。
質疑カードとは何ですか?
質問の一文と、その直後の政府の答弁の一文を、1枚の画像(1200×630)にしたものです。ページのURLをXやSlackに貼ると、この画像が表示されます。別の論点への答弁は組にしません。
議員発言ログとの違いは何ですか?
議員発言ログは、特定の地域の議員が国会でいつ何を質問したかを議員ごとに引くものです。国会トラッカーは議員の名簿を持たず、テーマの語だけで全国の議員の質疑と答弁を集めます。
どんな環境で動きますか?
PHP 8 とSQLiteで動き、共有のレンタルサーバーに置けます。カードの画像はPHPのGDで描きます。取り込みはPythonで、LLMは使いません。
