過去の住所を緯度経度に変換する「歴史的ジオコーダー」は、jageocoderの住所データベースを差し替えられるという設計上の特性を起点として実現されている。ROIS-DS CODHの北本朝展氏らが開発したこの拡張は、明治期以降の歴史資料に含まれる大量の住所を一括でジオコーディングし、地図上に可視化することを目的とする。[UC-031 §歴史的ジオコーダーへの拡張と近代東京アドレスジオコーディングデータセットの継承]

jageocoderの差し替え可能な住所データベースという設計

jageocoderは都道府県から住居番号・枝番まで8階層で住所を解析し、現代の日本住所を網羅的にカバーする。歴史的ジオコーダーへの拡張にとって決定的な特性は、住所データベースを目的に合わせて差し替えられる点にある。過去の住所データベースを用意して入れ替えれば、同じエンジンで過去の住所のジオコーディングが可能になる。[UC-031 §jageocoder——現代日本の住所ジオコーダー]

過去の住所データベースを構築するためのツールとして、jageocoder-dbtoolが開発された。このツールはGeoJSON形式の地図データからjageocoder用の住所データベースを作成するもので、GeoJSONからテキスト形式を経て住所データベースへと変換する。住所の表記揺れや異表記は個別にテキスト形式で作成して変換時に統合でき、辞書を使う優先順位も設定できる。[UC-031 §旧東京市15区住所データセットの構築]

jageocoderの現代住所への応用(エレクトリカル・ジャパン、日本歴史地名大系、GeoNLP)は「テキストとしての地誌」を参照。本節では、この設計を歴史住所へ拡張した事例に絞って記述する。

旧東京市15区住所データセットの構築

歴史的ジオコーダーの最初の実装として構築されたのが、旧東京市15区住所データセットである。出発点は、石川和樹氏・中山大地氏(東京都立大学)による「近代東京アドレスジオコーディングデータセット」で、1907年(明治40年)に東京郵便局が作成した「東京市十五區番地界入地圖」を基にした地番データから成る。[UC-031 §歴史的ジオコーダーへの拡張と近代東京アドレスジオコーディングデータセットの継承]

既存システムには、担当者異動による維持困難、利用者側での独自表記揺れルール追加の困難、ウェブ経由の変換しか提供されておらず数万件規模の一括変換に向かないこと、という課題があった。中山大地氏から利用許諾を得てシェープファイル形式の元データを取得し、jageocoder向けに再構築した。[UC-031 §歴史的ジオコーダーへの拡張と近代東京アドレスジオコーディングデータセットの継承]

構築作業は三段階に分かれる。地理データについては、シェープファイルをGeoJSON形式に変換し、住所などの誤りを修正したうえで区画の代表点を独自に推定した。住所データについては、GeoJSONの属性に含まれる住所文字列をjageocoder-dbtoolを用いてjageocoderの住所辞書形式に変換した。さらに実際のデータ(関東大震災死亡者データ)を用いて典型的な表記揺れや異表記を収集し、辞書を強化した。[UC-031 §旧東京市15区住所データセットの構築]

表記揺れ・異体字への対応

構築作業で最も手間がかかったのが、表記揺れと異体字への対応である。表記揺れ・異表記辞書は、現実に出てくる住所を住所データベース中のエントリにマッピングするための対応を一件ずつ記述したもので、たとえば「東京府東京市小石川區大塚辻町」を「東京府東京市小石川區小石川大塚辻町」として扱うよう指定する。典型的なパターンは区と町名の間に入る地域名の省略で、小石川区の小日向・小石川・関口のように共通の接頭辞を持つ町名群は、日常では省略されて記録されることが多い。[UC-031 §表記揺れ・異表記辞書]

異体字については、jageocoderが標準で地名異体字辞書を持っており、頻出する異体字はそこに登録する。利用例が多くない異体字は表記揺れ・異表記辞書内で個別に処理する。Unicodeとして適当でない書き間違いに近い文字は、辞書への登録ではなく住所データ側の修正で対応する。辞書を拡張するか元データを修正するかは、どれだけ例外的かという観点から判断する微妙なバランスの上に成り立っている。[UC-031 §異体字への対応]

公開データセットとマップ

こうして公開された旧東京市15区住所データセットは住所56,089件を収録し、CC BYライセンスのオープンデータとして提供されている。辞書データはjageocoderにインストールして利用でき、GeoJSONデータは表記揺れを修正し区画代表点を推定したものが含まれる。旧東京市15区住所マップでは地図上部のボックスに住所を入力するとジオコーディング結果を代表点とポリゴンで表示でき、たとえば「鹿鳴館」の住所が東京府東京市麹町区内山下町であったことを地図上で確認できる。[UC-031 §公開したデータセットとマップ]

関東大震災死亡者住所のジオコーディング

歴史的ジオコーダーの具体的な活用事例として、関東大震災の死亡者住所の大量変換と空間分布の可視化がある。東京大学地震研究所の大邑潤三氏は、東京都慰霊協会が所蔵する「震災死亡者調査表」のテキストデータ3万8,332名分を素材に、旧東京市15区住所データセットとjageocoderの組み合わせでジオコーディングを実施した。[UC-032 §はじめに]

対象は1923年(大正12年)当時の住所であり、震災後の区画整理で町名が著しく変更されたため現代の住所表記はほとんど参考にならない。加えて、原票が手書きであることに由来する「本所区三笠11」(正式には「本所區本所三笠町」)のような省略、「常磐」と「常盤」のような誤字・翻刻ミス、区の誤記(浅草区佐賀町と記録されているが実際は深川区)、横川町が本所横川町・中ノ郷横川町・柳島横川町のいずれか一意に決まらない町名、といった多様な表記問題が変換の難しさを生んでいた。[UC-032 §大正時代の住所をジオコーディングする課題]

使用したデータセットは1907年時点のもので、対象の1923年とは16年の差がある。ぴったり合うデータセットを探すのは無理であるため概ね適用可能と判断し、変化のある地域は後から考慮することにして作業を進めた。[UC-032 §ジオコーディングの基盤となるデータセットとツール]

段階的な修正ワークフロー

変換作業は、変換率のレベルを見ながら四つのステップで住所データを修正していく形で進められた。[UC-032 §住所データ修正のワークフロー]

STEP 1ではそのまま変換を試みて表記揺れのパターンを収集しjageocoderの辞書に登録した。この対応で全体の約84%が地番レベル(レベル7)で変換可能になった。STEP 2では「横川町」のような一意に決まらない町名を文脈から判断して同定した。STEP 3では手書き原票やデジタル翻刻に由来する誤字・翻刻ミスを手作業で修正した。「堅→竪」「霊厳→霊巌」のようなくずし字の誤読を含む多様な誤りへの対処で約1,000件がレベル7に向上し、レベル7は全体の86%となった。STEP 4では残りを1件ずつ確認し、地図上に存在しない地番については近接する番地に代表させるなどの処理を行い、最終的にレベル7は全体の87%(3万3,467件)に達した。[UC-032 §住所データ修正のワークフロー]

変換できなかった住所には、15区外の郡部(北豊島郡・南葛飾郡など)や他府県、未記載分が含まれており、これらは対象データセットの範囲外で別途の対応が必要とされている。また、1907年基準のデータセットに含まれない大正2年成立の芝区日出町のように、16年の差からこぼれる地名も存在する。[UC-032 §変換の限界と今後の課題]

住所分布から読み取れる被害の空間パターン

変換した住所を100メートル四方のメッシュで集計した結果、本所区・深川区を中心とする被害の偏りが明らかになった。本所区ではほぼ全域で居住者の死亡が発生し、南西部に最大の集中が見られた。区別の死亡率(死亡者数÷大正9年国勢調査人口)は本所区が10.7%で突出しているのに対し、同等以上の人口密度であった浅草区は0.9%にとどまる。人口密度の高さは死亡率が高くなる背景ではあるものの直接の原因ではなく、地域・場所ごとの別の要因が人的被害に作用したと考えられる。[UC-032 §死亡場所・人口密度からみた本所区・深川区の特殊性]

最も面的に広い被害集中地域は本所区南西部の被服廠跡周辺で、分布は扇形に広がりその要に被服廠跡が位置する。被服廠跡から約1キロメートル圏で被害が大きく、周辺住民が広大な空き地を目指して逃げ込み大規模火災に見舞われたことを示唆する分布だ。被服廠跡での避難民の大量死は従来から知られているが、死亡した避難民の居住範囲が地図上で可視化された点に意義がある。[UC-032 §被害が集中した地域とその要因]

被服廠跡から約1キロメートル圏内でも被害が相対的に小さい場所があり、大邑氏はそれが橋と対応しているのではないかという仮説を示している。新大橋・両国橋の東詰付近では周囲に比べて住民の死亡が少なく、近くにある橋を渡って避難し被服廠跡に逃げ込むことなく大規模火災を免れた住民がいた可能性がある。[UC-032 §橋梁付近の被害軽減]

歴史的ジオコーダーを作成する手順と横展開の可能性

旧東京市15区の事例から、歴史的ジオコーダーを作成する手順は次のように整理される。まず古地図に記された住所のポイントやポリゴンをGIS上でトレースしてGeoJSON形式のデータを作成する。測量が正確でない時代の地図ではその前に古地図のジオレファレンスが必要で、特に地図の歪み方への対応が難しくなる(ジオレファレンスの詳細は「古地図の処理」を参照)。基礎データができたら、実際の住所データを対象に表記揺れや異体字・異表記の辞書追加を行いながら精度を高め、この精度向上のループが限界を迎えたところで完成となる。[UC-031 §歴史的ジオコーダーの作成手順と今後の展開]

同じ手順は他の都市・時代にも適用でき、必要なのは特別な技術というより労力だと北本氏は見ている。いったん作成すれば歴史資料を大量に一括処理できるため一件ずつ処理する場合に比べて作業効率は大幅に向上し、表記揺れなど現実データのクリーニング方法を共有化することで担当者による見落としやばらつきも減ると見込まれている。[UC-031 §歴史的ジオコーダーの作成手順と今後の展開]

歴史的ジオコーダーはCODHの地名情報処理サービス群の一つとして位置づけられ、1923年の関東大震災の罹災者地図の可視化などに活用されている。GeoNLPは現状では現代日本語にしか対応しておらず、過去の日本語テキストから住所を抽出してジオコーディングするエンドツーエンドのパイプラインは今後の課題とされている。[UC-013 §地名情報処理のサービス群——GeoNLP・ジオコーダー・GeoLOD]