見出し画像

【ツール紹介】古代史のネタを自動収集する――発掘・展示会ニュースを巡回する自作ツール「kodai-watch」

古代史の情報は、待っていても流れてこない。

新しい古墳の発見、発掘調査の現地説明会、博物館の企画展、出土品の初公開、文化財指定。こうした情報は、新聞社、自治体、大学、博物館、埋蔵文化財センターなど、さまざまな場所に分散して掲載されている。古代史を趣味にしていると、興味深い展示会をあとから知って「もっと早く知りたかった」と思うことが少なくない。

そこで、
「古代史関係のサイトだけを巡回して、気になる情報を勝手に集めてくれるやつがあればいいのでは?」
と思って作った。

名前は「kodai-watch」。

古墳、埴輪、木簡、郡衙、邪馬台国、発掘、企画展などに反応して情報を拾ってくる、かなり用途の狭いツールである。

正直、誰向けなのかはよく分からない。
たぶん私向けである。

Pythonの標準ライブラリだけで動くCLIツールにしている。

出力例1
出力例2

以下、出力結果ファイル(全体)

kodai-watchとは何か

kodai-watchは、登録したRSSフィードやWebページを巡回し、古代史関係のキーワードに一致した情報だけを抽出するツールである。

主な特徴は次のとおり。

  • Pythonの標準ライブラリのみで動作し、追加のインストールがほぼ不要

  • RSSフィードと通常のHTMLページの両方に対応

  • 登録したURLだけを巡回し、リンク先を無差別にたどらない設計

  • 取得間隔を空けて実行し、巡回先サイトへの負荷を抑える

  • 一致した情報をキーワードに応じて自動で分類

  • 結果をMarkdownとHTMLの両方でレポート出力

  • アーカイブ機能で、処理済みの情報が再び候補に入ることを防ぐ

コマンドはシンプルで、次のような流れで使う。

  • 初期設定を作る:kodai_watch.py init

  • 巡回先を登録する:kodai_watch.py add-source(URLと種別、表示名を指定)

  • キーワードを追加する:kodai_watch.py add-keyword(単語と分類を指定)

  • 巡回を実行する:kodai_watch.py run

  • レポートを出力する:kodai_watch.py report

  • アーカイブして候補リストを整理する:kodai_watch.py archive

巡回先は、RSS形式のニュース検索と、HTML形式の博物館・研究機関サイトの両方を登録できる。HTMLページの場合、リンク先まで無制限に追いかけることはせず、登録したページの中にあるリンクだけを見る設計にしてある。

何を監視しているのか

登録しているキーワードは、かなり偏った専門フィルタになっている。

  • 古墳、発掘、出土、埴輪、銅鏡、木簡、須恵器、土師器といった考古学の基本語

  • 邪馬台国、卑弥呼、魏志倭人伝、親魏倭王、纒向、三角縁神獣鏡といった邪馬台国関連

  • 蘇我、物部、大伴、葛城、秦氏、息長といった古代氏族名

  • 継体天皇、雄略天皇、天武天皇、聖徳太子といった歴代天皇・皇族

  • 前方後円墳、石室、石棺、副葬品、百舌鳥といった古墳そのものの用語

  • 平城京、藤原京、大宰府、国分寺といった古代の都市・施設名

  • 式内社、一宮、神宮、出雲大社といった神社関連

  • 現地説明会、速報展、シンポジウム、企画展、特別展といったイベント系の語

一般ニュースを読むための道具ではなく、古墳と埴輪と木簡と郡衙に反応する、かなり偏った情報収集装置である。
我ながら、だいぶ用途が限定されている。

巡回先もかなりマニアック

登録している巡回先は、単なるニュースサイトではない。人間文化研究機構、橿原考古学研究所、奈良文化財研究所、東京国立博物館、日本考古学協会、三内丸山遺跡センター、九州歴史資料館、各都道府県の歴史博物館や埋蔵文化財センターなど、全国81種類の情報源を登録している。

普段は個別にブックマークして見に行くようなサイトを、ツール側から静かに巡回させる形である。

実際に集まった候補

今回のレポートでは、候補件数が合計2030件になった。分類別の内訳は次のとおり。

  • 旅候補:1087件

  • 記事化候補:804件

  • 発掘ニュース:780件

  • 博物館:569件

  • 展示会:418件

  • 文化財:310件

  • 古墳:281件

  • 神社:134件

(1件が複数分類にまたがるため、合計は候補総数を超える)

一致キーワードの上位は、博物館、遺跡、発掘、古墳、企画展、出土、特別展、埴輪、神社、考古学の順に多かった。画像付きの候補は243件で、レポートにはギャラリー形式で表示される。

情報収集には成功した。

成功したのだが、2030件集まった。

集めすぎである。

2030件をすべて目視で追うのは現実的ではなく、次の課題は分類の精度を上げることだと感じている。

分類の意味――「記事化候補」と「旅候補」

分類の中で特に重要なのが、記事化候補と旅候補である。この2つは単なる内容分類ではなく、次に自分が何をするかまで含めた判断タグになっている。

記事化候補は、note記事のネタになりそうな情報。旅候補は、実際に現地を訪れる価値がありそうな史跡や神社、展示会の情報である。集めた情報をただ眺めるのではなく、執筆や旅行計画につなげることを最初から意図した設計にしてある。

HTMLレポートで最後はブラウザで読む

コマンドラインで収集し、最後はブラウザで読む、という流れにしてある。

生成されるHTMLレポートには、分類別の件数、一致キーワードの集計、取得元別の件数、画像ギャラリー、分類ごとの記事一覧が並ぶ。それぞれの候補には元記事へのリンク、掲載日、取得日、一致キーワードが添えられている。ライトモードとダークモードの両方に対応しており、ブラウザでそのまま読める形にまとめている。

自動収集しても、判断は人間が行う

このツール自身も、収集結果はあくまで候補と位置づけている。歴史的な正確性や解釈は一次情報で確認する前提であり、ツールが判断するわけではない。

自動化できるのは、見つけるところまでである。何が重要か、どの説を採るか、どの資料を信頼するかは、人間が判断しなければならない。

まとめ

全国の博物館や研究機関まで巡回するようにした結果、かなりマニアックなものになった。

たぶん、多くの人には必要ない。

しかし、古墳の新発見を見逃したくない、発掘調査の現地説明会をあとから知って悔しい、古代史系の展示会を片っ端から把握したい、という人には少し刺さるかもしれない。

少なくとも私は欲しかった。
だから作った。

そして今回、その実行結果から早速「卑弥呼の鏡」の特別展を見つけた。

……たぶん、こういう使い方でいいのである。


kodai-watchで見つけた気になる展示会

最後に、今回のkodai-watchの実行結果から、個人的に気になった展示会を一つ紹介したい。

特別展「卑弥呼の鏡 三角縁神獣鏡がヤマト王権をつくった」

九州国立博物館で、2026年10月31日から2027年1月11日まで開催予定である。

実行結果(html抜粋)

古代史を追うために作ったツールから、実際に次の記事や展示会の候補が見つかる。こういう使い方こそ、kodai-watchを作った目的そのものだ。

いいなと思ったら応援しよう!

この記事が参加している募集