テキストの中の地名・人名・被害記述といった実体を取り出して他のデータにつなぐと、文章が検索・集計・地図化できる構造化データになる。資料を翻刻してプレーンテキストにしたあとの課題は、そこから研究に有用な構造化データをどう取り出すかにある、と指摘されている [UC-049 §歴史資料の大規模テキスト化と構造化の課題]。

翻刻から構造化データへ至る段階

歴史資料の大多数は構造化されていない自然言語で書かれており、機械処理に適した形にするには段階的な加工が要る。画像を翻刻してプレーンテキストにし、テキスト中の地名や人名にアノテーションを付けるか固有表現抽出で抜き出し、その部分を外部のデータソースに対応付ける(エンティティリンキング)、という流れである [UC-049 §歴史資料の構造化プロセスと「みんなで注釈」]。取り出した実体が外部のデータにつながってはじめて、地図やデータベースの上で他の資料と並べられる。

人手による取り出しの一例が「みんなで注釈」である。安政江戸地震の関連資料約100点を対象に、ユーザーが人名・地名・地震による被害にマーク付けし、地名は GeoLOD の API で歴史地名のデータに結びつけた。これにより、地震の被害がいつ、どこで、どの規模で起きたかを構造化データとして取り出せた [UC-049 §歴史資料の構造化プロセスと「みんなで注釈」]。

ただし、この仕組みは安政江戸地震史料に特化しており、任意のテキストを追加できず、アノテーションやエンティティリンキングの種別も固定されていた。そこで要件として挙がったのが、テキストと注釈・エンティティリンキングの結果を版管理つきで保存し、外部のアプリケーションと API で連携させるテキストレポジトリである。翻刻は修正されて変わっていくため、版管理が要るという理由も添えられている [UC-049 §テキストレポジトリが必要になった理由と要件]。取り出した実体は、一度抜き出して終わりではなく、保存して他のシステムに渡せる基盤があってはじめて使い回せる。

自動で抽出して地名辞書に結びつける

地名や住所の抽出と辞書への結びつけを自動化したものに GeoNLP がある。テキスト中の地名と住所を自動的に抽出し、辞書中の地名とリンクするソフトウェアで、住所部分のエンジンには jageocoder が使われている。地名辞書を拡張すれば適用範囲も広げられる [UC-031 §現代の住所を対象とした応用事例]。辞書の側の作り方と、抽出結果を突き合わせるときの表記の問題は、「地名という接点」を参照。

大規模言語モデルによる抽出と構造化

大規模言語モデル(LLM)は、この取り出しの方法を変えつつある。生成AI がデータ構造化の作業に非常に有用であることが経験的に分かりつつあり、構造化の方法を変えつつあるという見方が示されている [UC-049 §歴史資料の大規模テキスト化と構造化の課題]。

その実践例が、歴史地震の史料から震度を判定するツールの設計である。処理を一括で行う設計から、段階に分ける設計へ改められた。判定の前段は、史料の一括取得、タグ付け、表化と構造分析から成る [UC-048 §再設計:処理を分割する(取得・タグ付け・表化・構造分析)]。

この設計では、取り出す対象を地名と対象物に絞って段階ごとに分け、各段階の出力を JSON で次の段階に渡す。実体の取り出しを一度の問い合わせに押し込まず、取得・タグ付け・表化に分けることで、各段階で何が漏れたかを確かめられる形になっている [UC-048 §再設計:処理を分割する(取得・タグ付け・表化・構造分析)]。

長い文書を切って扱うとき、文脈を保つ

長い文書を LLM などに渡すには、参照の単位に区切る必要がある。ところが区切ると、文脈が途切れる。Humanitext はこの問題に取り組んでいる。保存・配信・推論の三層のうち配信の層では、TEI/XML のままでは AI に渡すにはタグが多いため、JSON に変換し、参照箇所を特定できる ID(CTS URN 規格に基づく)と箇所マーカーに絞って最適化している [UC-038 §保存・配信・推論の三層アーキテクチャ]。

文脈の切れ目に対応するのが文脈指向翻訳である。チャンクを単独で訳すと代名詞・省略・照応の指示先が失われるため、直前までのチャンクの訳を文脈として与え、参照の解決にのみ用いて現在のチャンクだけを訳させる。各チャンクは単独で検索可能でありながら、文脈上の指示先を保つ。チャンク化と文脈保持は本来トレードオフだが、生成時に文脈を参照させることで、ある程度まで両立させている [UC-038 §保存・配信・推論の三層アーキテクチャ]。

チャンクごとの安定した ID は、保存・配信・推論の三層を貫き、どの層でも同じ一節を指す参照のアンカーになる [UC-038 §保存・配信・推論の三層アーキテクチャ]。実体の取り出しの面から見れば、抽出した実体や注釈を、本文のどの箇所に由来するかを失わずに結びつけられる、ということである。

取り出した実体が辞書や識別子に流れ込む

断片的な過去の空間情報を統合する基本方針は、エンティティに識別子(ID)を付与し、属性を紐づけることである。表記の揺れがあるため、何を同じエンティティとみなすかの基準が重要になる [UC-013 §識別子と属性によるデータ構築の基本方針]。取り出した実体も、この方針に沿って識別子を介し、他のデータに接続される。

地震史料集テキストデータベース(35冊・約27,700頁、約6.7万件)では、史料集に現れる地名のうち、〇印の有感地点と書名の地名に、ROIS-CODH の歴史的行政区域データセットβ版の地名 ID を付与した。たとえば〔石川県中島町史 資料篇〕の書名からは、石川県鹿島郡中島町(17403A1968)の ID が付く。これで索引地図から宇治などの地点に関連する史料を検索できるようになった [UC-047 §地名へのIDの付与]。

流れ込ませた結果の位置づけには、限界がある。地図上の地点は〇印の有感地点や出典の所蔵機関の所在地などを市区町村レベルで落としたもので、被害の発生地点や地震を感じた地点とは必ずしも一致せず、地名が付いたのも一部の史料に限られる。本文の地名は読まないと分からないため、人力や AI などで付与する予定とされている [UC-047 §地名へのIDの付与]。