地名は、人が位置を言葉で指すときに使う語である。情報として扱うには、これを識別子と座標の両方を持つ実体として定義し直す必要がある。この定義があって初めて、文書の中の記述と地図上の位置をつなぐ経路が開ける。
情報空間・地理空間・つなぐ空間
地理に関わる情報の整理には、情報空間・地理空間・つなぐ空間の三層モデルが提示されている [UC-011 §3. 「どこ」を特定する——情報空間・地理空間・つなぐ空間]。情報空間は、ある場所に関する資料・画像・説明文などメディアのデータの空間である。地理空間は、点やポリゴン、ピクセルといった幾何学的な構造を持ち、地球上の場所に対応する地図のデータの空間である。この二つをつなぐのがトポニム(地名)で、座標(地図側)と識別子(資料側)を併せ持つことでつなぎ役を果たす [UC-011 §3. 「どこ」を特定する——情報空間・地理空間・つなぐ空間]。同じ構図は、地名エンティティに識別子を付与すれば情報空間へ、座標を付与すれば地理空間へつながる、と言い換えられている [UC-010 §情報・地理・つなぐ──三つの空間のモデル]。
日常の会話では「東京にいる」と地名で伝えれば通じるが、計算処理では緯度経度が使われる [UC-009 §地理情報とは何か]。地名が持つ識別子と座標が、この二つの位置の言い表し方を橋渡しする。座標を数値で表すことの中身は「空間の表し方」を参照。
地名辞書(ガゼッティア)の構造と識別子
地名を機械処理で扱えるようにした辞書がガゼッティア(地名辞典)である。その1行にあたるエントリは、地名の文字列と位置情報を持つ。そのエントリが指す実体がエンティティであり、これに識別子(ID)を付与することで、異なるアプリケーションやデータセットのあいだでデータを統合できる [UC-010 §歴史的ジオコーダーとGeoLOD──地名をつなぐ基盤]。
GeoLOD は、この識別子付与を担うサービスの一例である。地名をアップロードして GeoLOD ID を割り当てると、その ID を介して異なるアプリ間でデータを統合できる [UC-010 §歴史的ジオコーダーとGeoLOD──地名をつなぐ基盤]。GeoLOD はさらに、属性の表示や検索をウェブと API から利用でき、オンラインで地名辞書を構築・共有する機能も提供する [UC-033 §地名のデータセット:藩・街道・宿場とGeoLOD]。
識別子を付与する際には、何を同じエンティティとみなすかという判断基準が問題になる。たとえば「東京」は、東京市15区から35区を経て現在の23区へと時代によって指す範囲が変わり、東京府と東京都でも異なる。これらを同じ東京とみなすかはどちらの立場も取りうるため、あらかじめ基準を決める必要がある [UC-033 §地図・地誌・地名の枠組みと識別子付与の方針]。識別子の設計と引用の仕組み一般は「識別子とデータ引用」を参照。
属性の付与では、地図上に表示したいという目標が強いため位置情報が特に重要になり、どこを代表点として選ぶかという判断を伴う。名称の表記揺れや粒度の相違の吸収、よみや基本統計の付与も、典拠データとしての地名辞書に求められる [UC-033 §地図・地誌・地名の枠組みと識別子付与の方針]。
『日本歴史地名大系』地名項目データセット
典拠データの代表例が、『日本歴史地名大系』地名項目データセット(80,502件)である [UC-012 §江戸近世村データセット]。平凡社が刊行した『日本歴史地名大系』(全50巻、1979〜2004年、刊行に25年を要した)の地名項目に位置情報を加えて機械可読化したもので、江戸時代の村までさかのぼる地名を CC BY ライセンスで公開している [UC-010 §6.1 『日本歴史地名大系』地名項目データセット]。公開するのは地名の名称・位置・読みと識別子の部分で、解釈に関わる解説は購読制のジャパンナレッジに残す。オープンな地名リストから、有料の記述へリンクをたどれる構造である [UC-012 §江戸近世村データセット]。
同じ資料からは、施設・地点(POI)項目も機械可読化されている(32,038件、CC BY) [UC-033 §地名のデータセット:行政区域から近世村へ]。これは、地名を ID と属性の組としてデータセット化する典拠データの作り方の一例といえる。
このデータセットは、住所ジオコーディングの対象にもなっている。収録された地名には平成の大合併以前の住所が記録されており、そのまま現代のジオコーダーに入れても位置が定まらない。そこで、大合併以前の住所に対応する現代住所の候補を jageocoder で探してからジオコーディングし、地名の推定緯度経度として地図上にマッピングする手法が取られた。自動化できる部分がある一方、手作業で対応しなければならない部分も多く残り、変換はあくまで限定的だと評価されている [UC-031 §現代の住所を対象とした応用事例]。
ジオコーディング——住所と地名を位置に変換する
住所や地名を緯度経度に変換する処理がジオコーディングである。単純に見えるが、日本の住所はパターン化が困難で、関係者のあいだでは「住所の闇」「住所の沼」と語られる [UC-031 §日本の住所が抱える課題]。たとえば「長野県長野市南長野県町」のように、一つの住所に都道府県名を表す文字列が二度現れる例があり、単純な処理は破綻する [UC-031 §日本の住所が抱える課題]。
日本の住所には二つの体系が併存している。地番住所は法務局が土地ごとに定めた番号で、全国を覆う。住居表示住所は市町村が建物につけた番号で、日本の一部にしか対応していない [UC-031 §住所とジオコーディングとは]。そこへ表記揺れ・異体字・複数の表記法・部分的な省略が重なる。日本全体を網羅した住所データベースも現時点では存在しない [UC-031 §日本の住所が抱える課題]。
jageocoder は、こうした課題に対応するオープンソースの Python 製ジオコーダーである。住所データベースを目的に合わせて差し替えられることが構造上の特徴で、これが後述する歴史的住所への拡張を可能にした [UC-031 §jageocoder——現代日本の住所ジオコーダー]。
歴史的住所のジオコーディング——表記揺れ・異体字の扱い
現代の住所を対象とするジオコーダーを過去の住所に適用するとき、最も手間がかかるのが表記揺れと異体字への対応である。
旧東京市15区住所データセット(56,089件)は、その代表例である。1907年(明治40年)の東京市15区を対象とする [UC-031 §公開したデータセットとマップ]。GeoJSON 形式の地理データ、jageocoder 用の住所データ、表記揺れ辞書データの三種を用意して構築された [UC-031 §旧東京市15区住所データセットの構築]。表記揺れ・異表記辞書は、関東大震災死亡者データという実際の住所データから典型的な揺れを収集して作られた。現実に出てくる住所表記を、データベース中のエントリへ一件ずつ対応づけて記述したものである [UC-031 §表記揺れ・異表記辞書]。
典型的なパターンに、区と町名のあいだにある地域名の省略がある。小石川区には「小日向」「小石川」「関口」のように共通の接頭辞を持つ町名が多く、この地域名は日常では省略されがちなため、これを補うルールが多く求められた [UC-031 §表記揺れ・異表記辞書]。異体字については、頻出するものは jageocoder 標準の地名異体字辞書に登録し、利用例の少ないものは表記揺れ辞書のなかで個別に処理する。Unicode として適当でない、書き間違いに近い文字は異体字として登録せず、住所データ側を修正する。辞書を拡張するか元データを修正するかは、どれだけ例外的かという観点から決める、微妙なバランスの上に成り立っている [UC-031 §異体字への対応]。
別の事例では、関東大震災(1923年)の死亡者住所約3万8千件に同じ枠組みを適用した。変換率を見ながら表記揺れのパターンを辞書に登録し、次に一意に決まらない町名を文脈から判断し、さらに誤字や入力ミスを元データ側で修正するという段階をたどった [UC-032 §住所データ修正のワークフロー]。誤字には、くずし字を読む際に生じたと思われるものも含まれる [UC-032 §住所データ修正のワークフロー]。この作業を経て、全体の87%(3万3,467件)を地番レベルで変換できた [UC-032 §変換精度の結果]。
辞書を拡張するか元データを修正するかは、例外の頻度と性質に依存するため、事前にどちらが正解かを定めることは難しい。判断の記録を共有すれば、担当者による見落としやばらつきが減り、作業品質が安定すると見込まれている [UC-031 §歴史的ジオコーダーの作成手順と今後の展開]。整える作業全般の設計は「データを整える」を参照。
同名異地と異名同地——歴史地名を扱うときの問題
歴史地名では、現代地名の対応づけとは質の異なる問題が現れる。「同じ名が違う場所を指す」ことも、「違う名が同じ場所を指す」こともある。
同じ名が違う場所を指す
「横川町」は、本所横川町・中ノ郷横川町・柳島横川町のいずれかを区別できない [UC-032 §大正時代の住所をジオコーディングする課題]。関東大震災死亡者データの変換では、「中ノ郷横川町」「柳島横川町」は区別の表記があるため、単に「横川町」とだけ書かれたものは「本所横川町」とみなす、という文脈による判断で処理した [UC-032 §住所データ修正のワークフロー]。同じ名の取り違えは、どこかで誰かが決めなければならない同定の判断として現れる。
同一エンティティの範囲の問題も同根である。上述の「東京」のように、時代や制度によって指す範囲が変わる名は、どこまでを同じ一つとみなすかを、基準を明示して決める必要がある [UC-033 §地図・地誌・地名の枠組みと識別子付与の方針]。
違う名が同じ場所を指す
「神田區一ツ橋通」が、データベース中の「一ッ橋通町」に対応するように、表記の違うものが同一の場所を指す [UC-031 §表記揺れ・異表記辞書]。常磐と常盤、蛎売と蛎殻のような誤字・入力ミスも、同じ町を指す別の書き方として現れ、これらは元データの修正で吸収した [UC-032 §住所データ修正のワークフロー]。区の誤記(記載は「浅草区佐賀町」だが実際は深川区)のような取り違えも補正対象になった [UC-032 §住所データ修正のワークフロー]。
基準の年代とずれる場合
1907年基準のデータセットを1923年の住所に適用した事例では、芝区日出町のように大正2年(1913年)に成立した町がデータセットに存在しないという問題が確認されている [UC-032 §変換の限界と今後の課題]。名が同じか違うかではなく、基準とした時点のあいだに名そのものが生まれたり変わったりする問題である。行政区域が時代とともに変わることとそのデータモデルは「時間をもつ空間」で扱う。