地名語の説明

地名語のデータ構造は、識別子、表記情報、関係情報、属性情報から構成される。識別子は地名語を他の地名語と識別するために利用する。

表記情報は自然言語文章中で地名語がどのように表記されるか(もしくはどのように表記されている文字列を地名語として抽出すべきか)を管理する。

関係情報は、文章中に出現した地名語に同綴地名語が存在する場合、前後関係からどの地名語が最も適切かを決定する(地名解決)処理で利用する。

属性情報はその他の地名語にとって有用な情報を提供するために利用する。

識別子(Identifiers)

識別子は地名語の識別子として利用する。GeoNLP内で利用される地名語にはサーバがランダムに割り当てたユニークな「GeoNLP ID」が与えられる(ただしユーザが独自サーバ内で追加した地名語は、そのサーバ内でのみ一意性が保証される)。

地名解析辞書 の「九段生涯学習館」の例のように、GeoNLPでは実世界で同一の実体を指す地名語が複数登録されている可能性がある。避難所辞書と公共施設辞書の「九段生涯学習館」は異なるGeoNLP IDを持つため、GeoNLP IDは同値判定には利用できない。同値判定には「コード」を利用する(後述)。

「エントリID」は地名辞書の作成者が管理しやすいよう、その辞書内でユニークな任意の文字列を定義する。辞書IDとエントリIDのペアと、GeoNLP IDは1対1に対応する。なお、「エントリID」は空欄にしてはならず、辞書内で値が重複していてはならない。

「辞書ID」はこの地名語が登録されている辞書の識別子である。

表記情報(Notations)

表記情報は、地名語を自然言語文章から抽出する処理(地名抽出処理)で用いられる情報である。地名語はしばしば自然言語文章中に省略された形で現れることがある。たとえば「渋谷で待ち合わせ」という文章での「渋谷」は「渋谷駅」の意味であることが多い。また、「東京都立新宿高等学校」が「都立新宿高」や「新宿高校」のように先頭部分が省略されたり、先頭・後続部分が変化することもある。

そこで地名語には、省略・変化しない部分を「原型」として登録し、省略・変化する可能性のある部分を「接頭辞」および「接尾辞」として登録する。

変化するパターンが複数存在する場合に対応するため、接頭辞・接尾辞は複数登録できる。省略される可能性がある場合には空文字(「”“」)を登録する。「東京都立新宿高等学校」の場合、原形は「新宿」、接頭辞は「東京都立」「都立」「”“」の3種類、接尾辞は「高等学校」「高校」「高」の3種類となる。これらの組み合わせによる9通りの表記がこの地名語エントリとして認識される。読みについても同様に原形部分の読みと接頭辞部分、接尾辞部分の読みを分割して登録する。

表記情報のうち、「原型」は空欄にしてはならない。

関係情報(Relations)

地名語には同綴語が多数存在することがある。たとえば「今日は東京で打ち合わせです。」という文の「東京」は、広く「東京都」を意味する場合と「東京駅」を意味する場合が考えられる。文章によっては、前後の文脈によって同綴語のうちどれが適切かを決定することができる場合がある。たとえば「東京の天気は晴れ、神奈川は曇りでしょう。」という文の「東京」は、神奈川と比較されていることから「東京都」であると考えられる。

このように同綴語から最適な候補を決定する処理を地名解決と呼ぶ。関係情報は地名解決処理で用いられる情報である。

「上位語」は、地名語間に親子関係を定義することにより、地名語の上下関係や兄弟関係を地名解決の手がかりとして利用できるようにする。「東京都」と「神奈川県」は、「日本」という共通の上位語を持つため、兄弟関係にあると考えることができ、「東京駅」と「神奈川駅」より関係が深いとみなせる。

「固有名クラス」は地名語が属する固有名としてのクラスを定義し、地名語間の関係にクラスの優先順位やクラス間の共起確率を取り入れて地名解決に利用するために利用する。固有名クラスは クラス一覧 から選択する。どうしてもユーザ独自の拡張が必要な場合には、拡張クラスを利用する。

たとえば空港を民用と軍用に分けたい場合、「航空施設/民用空港」、「航空施設/軍用空港」のように記述できる。

ただし拡張クラスの濫用は他の辞書との一貫性を損ねるため、必要以上に拡張クラスを利用しないことが望ましい。ほとんどのケースでは、 その他の情報(Other Attributes) を用いることで、独自拡張クラスを定義する必要がない。

上記の例の場合、固有名クラスには推奨拡張クラスである「航空施設/空港」を利用し、辞書の属性に「空港用途」を設け、「軍用」「民用」「共用」を記載すれば、辞書ユーザにとって識別可能になる。

「優先スコア」は前後に他の地名語が出現しない場合、単純にどの地名語が「もっともよく利用されるか」を表すスコアである。たとえば「泊村」は北海道古宇郡にと国後島に存在するが、原子力発電所などが存在するため古宇郡の方が頻繁に用いられるため、高いスコアを与える。

地名解決は文章中に出現する地名語の上位語、固有名型、優先スコアと、外部知識であるクラスごとの優先順位、クラス間の共起確率等を総合的に判断して行う。

属性情報(Attributes)

地名語は地名のデータなので、地名に関する有用な情報を集積するために利用することができる。「地名コード」は、地名語が何らかのデータベースに登録されている場合、そのデータベースの種別(コード体系)とコード値を登録する。たとえば「東京都」はJISX0401で”13”というコードが与えられているため、「JISX0401:13」というコードを持つ。

複数のデータベースに登録されている場合、コードも複数持つことができる。たとえば「丘珠飛行場」は、国際航空運送協会IATAでは”OKD”、国際民間航空機関ICAOでは”RJCO”というコードを持っているため、”IATA:OKD”と”ICAO:RJCO”という二つのコードを持つ。コードが共通の地名語は、GeoNLP IDは異なっていても同一の地物を指していると考えることができる。

「代表点緯度」「代表点経度」は地名語が指すおおよその位置を表す。「住所」は地名語が指す地物を経緯度ではなく住所で表したもので、施設の場合に特に有効である。

行政地名などで地名の有効期間が決まっている場合、「有効期間(開始)」と「有効期間(終了)」を用いて有効期間を定義する。年のみ設定する場合は西暦4桁でyyyy形式(「2013」)、年月のみの場合はyyyy-mm形式(「2013-05」)、年月日の場合はyyyy-mm-dd形式(「2013-05-23」)のように表記する。

その他の情報(Other Attributes)

地名語ごとに固有のその他の属性値は、上記以外の任意のフィールド名を利用して追加できる。飛行場の例では、「滑走路長」「飛行場種別」「所属国」といった情報を追加しても良い。これらの情報は「自由フィールド(free field)」として扱われ、地名辞書には登録されるが、地名抽出処理にも地名解決処理にも影響しない。