固有表現マークアップの意義

テキストの中に登場する人名、地名、組織名、日付などの固有表現(named entity)をマークアップすることは、デジタルヒューマニティーズにおいて極めて重要な作業です。固有表現に構造的なタグを付与することで、以下のような研究活動が可能になります。

  • テキスト内の人物・場所の出現頻度や共起関係の分析
  • 人物間のネットワーク分析
  • 地名の地理情報システム(GIS)との連携による空間分析
  • 時間軸に沿ったイベントの可視化
  • 外部の典拠データ(VIAF、GeoNames、Wikidataなど)との連携によるLinked Open Data化

TEIは namesdates モジュールにおいて、固有表現のマークアップに関する豊富な語彙を提供しています。

筆者はWikidataとの連携に関して実際に試した経験があります。cwrcのwikidata-entity-lookupを試すでは、CWRC(Canadian Writing Research Collaboratory)が提供するWikidata検索機能を試し、TEI編集環境でのエンティティルックアップの実際を紹介しました。また、Japan Search利活用スキーマを使ったentity-lookupの試作では、日本のジャパンサーチを活用した固有表現の同定についても試みています。

人名のマークアップ

persName(人名)

<persName> は、テキスト中に出現する人名をマークアップするための要素です。

<p><persName>光源氏</persName>は、<persName>桐壺帝</persName>の第二皇子である。</p>

人名の構成要素をさらに細かくマークアップすることも可能です。

<persName>
  <surname></surname>
  <roleName>式部</roleName>
</persName>

<persName xml:lang="en">
  <forename>William</forename>
  <surname>Shakespeare</surname>
</persName>

ref属性による外部リソースへの参照

固有表現マークアップの価値を大きく高めるのが、外部の典拠データへの参照です。ref 属性を使って、VIAF(Virtual International Authority File)やWikidataなどの識別子を関連付けます。

<persName ref="https://viaf.org/viaf/100218300">紫式部</persName>

<persName ref="https://www.wikidata.org/wiki/Q81438">紫式部</persName>

この参照により、テキスト中の人名が曖昧さなく特定され、同一人物の異なる表記(「紫式部」「Murasaki Shikibu」など)を統合的に扱えるようになります。

筆者はLEAF Writerでのエンティティルックアップについても記事を書いています。LEAF Writer:Japan Searchに対するEntity Lookupでは、Japan Searchを使って人名や地名の典拠データを検索し、TEIドキュメントに参照を付与する方法を紹介しています。

地名のマークアップ

placeName(地名)

<placeName> は地名をマークアップする要素です。

<p><persName>光源氏</persName><placeName>須磨</placeName>へ退去した。</p>

地名の構成要素を細分化することもできます。

<placeName>
  <country>日本</country>
  <region>近畿</region>
  <settlement>京都</settlement>
</placeName>

地名にも外部リソースへの参照を付与することが推奨されます。

<placeName ref="https://www.geonames.org/1857910">京都</placeName>

TEI/XMLの地図表示

地名をマークアップし、座標情報と結びつけることで、テキストの地理的な分析が可能になります。筆者はTEI/XMLの可視化例:Leafletを用いた地図表示で、TEI/XML内の地名情報をLeafletの地図上に表示する例を紹介しました。テキスト中に登場する地名を地図上にプロットすることで、テキストの空間的な広がりを視覚的に把握することができます。

また、Knight LabのTimelineJSやStoryMapJSをNext.jsから利用するでは、タイムラインやストーリーマップによる可視化も試みています。

組織名のマークアップ

orgName(組織名)

<p><orgName ref="https://www.wikidata.org/wiki/Q7842">国際連合</orgName><date when="1945">1945年</date>に設立された。</p>

日付と時間のマークアップ

date(日付)

<date> は日付の表現をマークアップし、機械可読な形式で標準化します。

<p>この書簡は<date when="1868-01-03">慶応四年正月三日</date>に書かれた。</p>

日付が曖昧な場合は、以下の属性で範囲を指定できます。

属性説明
when正確な日付when="1868-01-03"
notBeforeこれより前ではないnotBefore="1001"
notAfterこれより後ではないnotAfter="1012"
from期間の開始from="1868"
to期間の終了to="1912"
<p>源氏物語は<date notBefore="1001" notAfter="1012">11世紀初頭</date>に成立した。</p>

人物・場所のリスト

テキスト中に出現する人物や場所の情報を、TEIヘッダーや別ファイルでリストとして管理することが推奨されます。

listPerson(人物リスト)

<listPerson>
  <person xml:id="genji">
    <persName type="standard">光源氏</persName>
    <persName type="alias">光る君</persName>
    <note>桐壺帝の第二皇子。源氏物語の主人公。</note>
    <sex value="M"/>
  </person>
  <person xml:id="murasaki">
    <persName type="standard">紫の上</persName>
    <persName type="alias">若紫</persName>
    <note>光源氏の正妻。藤壺の姪。</note>
    <sex value="F"/>
  </person>
</listPerson>

listPlace(場所リスト)

<listPlace>
  <place xml:id="kyoto">
    <placeName xml:lang="ja">京都</placeName>
    <placeName xml:lang="en">Kyoto</placeName>
    <location>
      <geo>35.0116 135.7681</geo>
    </location>
    <idno type="geonames">https://www.geonames.org/1857910</idno>
    <note>平安時代の都。源氏物語の主要な舞台。</note>
  </place>
</listPlace>

<location> 内の <geo> 要素に緯度・経度を記述することで、GISとの連携が可能になります。

テキスト内マークアップとリストの連携

テキスト中の固有表現から、リスト内の詳細情報へ参照を張ります。

<!-- ヘッダー等に定義したリスト -->
<listPerson>
  <person xml:id="genji">
    <persName>光源氏</persName>
    ...
  </person>
</listPerson>

<!-- テキスト本文 -->
<p><persName ref="#genji">光源氏</persName><placeName ref="#suma">須磨</placeName>に移り住んだ。</p>

LEAF Writerでの固有表現マークアップ

LEAF Writer(Linked Editing Academic Framework Writer)は、Web上で動作するTEIエディタであり、固有表現のマークアップを強力にサポートしています。テキスト中の人名や地名を選択し、Wikidata、VIAF、GeoNamesなどのデータベースから該当するエンティティを検索して、参照情報を自動的に付与できます。

筆者はLEAF Writerについて多数の記事を執筆しています。LEAF Writer:Japan Searchに対するEntity Lookupでは、Japan Searchの典拠データとの連携について詳述しています。また、cwrcのwikidata-entity-lookupを試すでは、Wikidataのエンティティ検索機能の仕組みを解説しています。

Odeuropaプロジェクトの事例

固有表現マークアップの応用例として、筆者はOdeuropaに関連するツールを試すでOdeuropaプロジェクトのツールを試しました。Odeuropaはヨーロッパの嗅覚遺産をテーマとしたプロジェクトで、テキストから嗅覚に関連する表現を自動抽出するツールを提供しています。固有表現認識の技術をTEIマークアップに応用する参考になります。

まとめ

本章では、TEIの namesdates モジュールが提供する固有表現マークアップの語彙を学びました。<persName>, <placeName>, <orgName>, <date> といったインライン要素によるテキスト中のマークアップと、<listPerson>, <listPlace> による詳細情報のリスト管理を組み合わせることで、テキストに豊かな構造的情報を付与できます。

VIAF、GeoNames、WikidataなどのLinked Open Dataリソースへの参照を付与することで、TEIドキュメントの価値はさらに高まります。LEAF Writerなどの編集ツールを活用すれば、エンティティルックアップの作業を効率化できます。

次章では、校異情報とテキスト批評のマークアップについて学びます。

関連記事