お知らせ#
本記事で紹介する流れをわかりやすくした記事を作成しました。以下も参考にしてください。
NDL古典籍OCR-Liteを用いたアノテーション付きIIIFマニフェストファイルとTEI/XMLファイルの作成を行うツールを試作したので紹介します。
アノテーション付きIIIFマニフェストファイルの作成#
まず、NDL古典籍OCR-Liteを用いて、IIIFマニフェストファイルを入力として、アノテーション付きIIIFマニフェストファイルを出力するGradioアプリを作成しました。Hugging FaceのSpaceを用いて公開しています。
https://nakamura196-ndlkotenocr-lite-iiif.hf.space/

出力結果として、以下のようなアノテーション付きIIIFマニフェストファイルが得られます。
TEI/XMLファイルの作成#
上記で得られたアノテーション付きIIIFマニフェストファイルを入力として、TEI/XMLファイルを作成するライブラリを作成しました。
https://www.npmjs.com/package/@nakamura196/iiif-to-tei
以下のような構成から使用することができます。
data/inputフォルダにマニフェストファイルを格納し、以下を実行すると、data/outputフォルダにTEI/XMLファイルが出力されます。
出力されるTEI/XMLファイルの例は以下です。
Oxygen XML Editorを使って、以下のように出力結果を確認することができます。

参考:Turborepoを用いたモノレポ開発#
上述したnpmパッケージの開発にあたり、Turborepoを用いたモノレポを用いました。
ウェブアプリはNext.jsを用いて開発しました。以下から利用することができます。
https://iiif-tei-monorepo-web.vercel.app/

APIについては、Swagger UIを通じて、以下からご確認いただけます。
https://iiif-tei-monorepo-web.vercel.app/api-docs

Pythonからは以下のように使用することができます。
まとめ#
NDL古典籍OCR-Liteを用いたOCRテキストからTEI/XMLファイルを作成する流れについて紹介しました。
今後は、上記のように複数のアプリを介さず、1つのアプリで完結するような仕組みも構築したいと思います。
色々と足りない点がありますが、参考になる部分がありましたら幸いです。