CSV形式地名解析辞書ファイルフォーマット

ここではCSV形式の地名解析辞書ファイルのフォーマットについて説明します。

CSVファイルの基本フォーマット

全般的な規則

  • 地名語辞書のCSVファイルは RFC4180 に準拠します(Excel などの表計算ソフトで「CSV形式」として保存されるファイルは、この規約に従っています)
  • 地名語1エントリを1行、各フィールドをカンマで区切ってカラムに記述します
  • 複数の値が許可されているフィールドに値を記述する場合、半角のスラッシュ記号「/」で区切って1カラム内に列挙します
  • 文字エンコーディングはUTF-8とします(Shift_JISの場合、サーバにアップロードする際に自動的に変換されます)
  • 改行コードはCRLFとします(Windowsの場合は特に問題ありませんが、MacOSやUNIXの場合には注意してください)

先頭行に関する規則

  • 先頭行には地名語のフィールド名を記述します
  • フィールド名は原則として 地名語のデータ項目(Properties of Geoword) から選択します
  • 辞書固有の項目の場合は任意の項目名をつけて構いません
  • 項目の順序は問いません
  • 任意につけた項目名にはマルチバイト文字(日本語など)も利用できます

先頭行の例:

entry_id,geonlp_id,body,prefix,suffix,ne_class,latitude,longitude,address,補足

ne_class に関する規則

ne_class (固有名クラス)は クラス一覧 から選択してください。このリストでは不十分な場合には、固有名クラスの後ろに半角のスラッシュ記号「/」を付け、拡張クラスを定義することができます。

たとえば「井戸」を示すクラスを定義したいという場合、井戸は水道と関連が深いと考えて固有名クラス「基盤施設」を拡張し、「基盤施設/井戸」を使います。

ただし無制限に拡張クラスが増えてしまうと非常に使いにくくなってしまうため、できる限り一覧に示されている拡張クラスの例を利用してください。また、クラス一覧も確定したものではなく、利用状況を見ながら改善していきます。

最小ファイルフォーマット

最も単純なCSV形式地名語辞書ファイルは、地名語のRequired項目のうち、辞書ID以外の6カラムだけを含むものです。

最小CSVファイルの例:

geonlp_id,entry_id,body,ne_class,latitude,longitude

このうちentry_idとbody以外は空欄でも構いません。entry_idはファイル内で値が重複しているとエラーになります。:

"","01","北海道","","",""
"","02","青森県","","",""
...

これだけでは単に地名のリストになってしまうので、固有名クラスや経緯度はできる限り空欄ではなく、適切な値を記載してください。:

"","01","北海道","都道府県","43.063102","141.352508"
"","02","青森県","都道府県","40.824637","140.740619"
...

なお、geonlp_id欄は、このCSVファイルを地名解析辞書サーバにアップロードするとサーバが自動的に付与するものですので、空欄のままで構いません。何か値が含まれていても、アップロードすると自動的に書き換えられてしまいます。

一般的なファイルフォーマット

地名語辞書の作成者は、最小ファイルフォーマットに地名語の推奨項目や自由項目を適宜追加できます。追加した場合、先頭行にも項目名を追加する必要がある点に注意してください。:

geonlp_id,entry_id,body,suffix,ne_class,latitude,longitude,address,都道府県コード
"","01","北海道","","都道府県","43.063102","141.352508","札幌市中央区北3条西6-1","01"
"","02","青森","県/","都道府県","40.824637","140.740619","青森市長島1-1-1","02"
...

地名解析辞書サーバからダウンロードしたCSVファイルフォーマット

地名解析辞書サーバから地名解析辞書をダウンロードする場合、拡張子が .csv のファイル(CSVファイル)と、 .json のファイル(JSONファイル)の2つがZIP圧縮されて1つのファイルとして送信されます。CSVファイルには地名語のリストが、JSONファイルには地名解析辞書のメタデータが含まれています。メタデータとは、辞書がサーバに登録する時に入力された、辞書の名前や情報源などです。

CSVファイル

ダウンロードしたZIPファイルに含まれるCSVファイルのフォーマットは、ユーザが作成したCSV 形式地名語辞書ファイルと同じです。ただし、geonlp_id の欄にはサーバが自動的に付与した値が埋め込まれています。:

geonlp_id,entry_id,body,suffix,ne_class,latitude,longitude,address,都道府県コード
"qkvQwM","01","北海道","","都道府県","43.063102","141.352508","札幌市中央区北3条西6-1","01"
"7cXcsZ","02","青森","県/","都道府県","40.824637","140.740619","青森市長島1-1-1","02"
...

JSONファイル

ダウンロードしたZIPファイルに含まれるJSONファイルは、以下の項目を含みます。

identifier

辞書の識別子で、全ての辞書で異なります。辞書情報画面の URL になっています。

internal_id

GeoNLP サーバ内での数字連番による ID です。

creator

辞書の製作者です。

title

辞書の名称です。

description

辞書の説明です。

source

辞書の情報ソースです。

spatial

辞書に含まれる地名語の範囲を、北西と南東の座標で示します。

subject

辞書に含まれる固有名クラスの一覧です。ただし種類が多い場合は一部です。

issued

辞書が公開された日時を表します。

modified

辞書が最後に更新された日時を表します。

report_count

辞書に対して、これまでにユーザから報告されたコメントの数です。

record_count

辞書に含まれる地名語の数です。

icon

辞書に含まれる地名語を地図上に表示用に、辞書製作者が決めたアイコンの URL です。必ずこのアイコンを使わなければならないというわけではありません。

url

辞書 ZIP ファイルをダウンロードできる URL です。ダウンロードしなおす場合に使います。

JSON ファイルの例 ( ダウンロード )

{
  "identifier" : "https://geonlp.ex.nii.ac.jp/dictionary/geonlp/japan_airport",
  "internal_id" : 32,
  "creator" : "geonlp",
  "title" : "日本の空港(2012年)",
  "description" : "日本の空港・飛行場の辞書です。米軍専用飛行場は含みません。自由フィールドには、空港種別、設置者、運用者、運用時間(空港が運用されている時間帯)、滑走路の長さと幅を含みます。\r\n設置者および運用者のコードは、1:国土交通大臣、2:防衛大臣、3:米軍、4:公団、5:都道府県、6:市町村を表します。",
  "source" : "国土数値情報「空港データ(平成24年度)C28-12」国土交通省(http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-C28-v2_2.html)",
  "spatial" : [ [ 122.979722, 24.059557 ], [ 144.96, 45.455 ] ],
  "subject" : [ "航空施設/空港" ],
  "issued" : "2013-09-12 17:48:35",
  "modified" : "2013-09-12 17:48:35",
  "report_count" : 96,
  "record_count" : 0,
  "icon" : "https://geonlp.ex.nii.ac.jp/icon/user/geonlp/x2twEV.png",
  "url" : "https://geonlp.ex.nii.ac.jp/dictionary/geonlp/japan_airport/geonlp_japan_airport_20130912_u.zip"
}