VWork バイブコーディングフレームワーク

国会会議録検索システムのAPIで「論点ごとの国会トラッカー」を作る——語で集めて、質疑と答弁を機械的に分ける

ニュースやXで話題になった論点について、「国会で誰が取り上げ、政府は何と答えたか」を調べたいことがあります。国立国会図書館の国会会議録検索システムにはAPIがあり、発言を語で検索して、日付・会議名・話者・本文を機械的に取り出せます。

これを使って、論点ごとに全国の国会議員の質疑と政府答弁を集めて並べる「国会トラッカー」を作りました。いま44本あります。たとえば次のようなページです。

一覧は 国会トラッカー にあります。

仕組み

  1. 論点ごとに、検索する語を決める(例: 日本版DBSなら「日本版DBS」「こども性暴力防止法」「児童対象性暴力」)
  2. APIの speech エンドポイントで、2010年以降の発言を語ごとに全件取る
  3. 同じ発言が複数の語で当たるので、発言IDで重ねて1件にする
  4. 話者の表記から「質疑(議員)」「答弁(大臣・政府参考人)」「委員長」「参考人」に分ける
  5. SQLiteに入れて、PHP1枚で論点ページを出す。毎日、新しい会議録を取り直す

語に空白を入れると「両方を含む発言だけ」になります。たとえば「自衛官 充足率」は、自衛官と充足率の両方を含む発言だけを集めます。語1つだと関係の薄い発言まで入るので、この指定がいちばん効きました。

分け方でつまずいたところ

数えると分かること

集めた数字だけで、ニュースの見え方が変わります。

「国会で議論されていない」ことも数字で出ます。印旛沼が国会で出てきた37件のうち、堤防・治水・浸水に触れた発言は0件でした。

Xの返信で使う

話題の投稿に、会議録の数字とトラッカーのURLを添えて返信すると、人が来ます。9月29日には、育休の業務代替についての返信1本から、3時間ほどで309人がトラッカーを見に来ました。

ただ、ほとんどの人は1ページで帰ります。2ページ目へ進んだのは3%でした。そこで、トラッカーのページの右の列に、当社のほかのシステム(防災のデモなど)を置いています。

検索に載せるためにやったこと

トラッカーは作ってもすぐには検索に出ませんでした。Search Console のURL検査では「検出済み・未クロール」のままでした。原因と対策です。

使っているもの

会議録は国立国会図書館が公開している一次資料です。トラッカーは要約も賛否の判定もせず、発言の日付と会議録へのリンクを並べるだけにしています。