コンテンツへスキップ

デジタル・ヒューマニティーズの書き起こし・アノテーションツール比較

Transkribus、eScriptorium、無料ツールを、HTR モデルを誰が動かすか、PAGE XML と TEI の形式、一ページに複数の書き起こし者がつけるかという観点で比較します。

Transkribus は 1 ページ 1 クレジットで手書き文字を認識し、月 50 クレジットが無料で、有償プランは年 €99 からです。FromThePage はクラウドソーシングの書き起こしプロジェクトを月 $100 からホストします。eScriptorium は、プロジェクト自身のサーバーでホストできる、無料でオープンソースの手書き文字認識プラットフォームで、Zooniverse はボランティアによる書き起こしプロジェクトを無料でホストします。Potato は、各行に複数の書き起こし者をつけて認識結果を修正するための、Transkribus や FromThePage に代わる無料のセルフホスト型の選択肢ですが、認識モデルは動かさず、Transkribus や eScriptorium がエクスポートする PAGE XML から始めます。

手書き文字認識(HTR)は、手書き文字の画像をテキストに変換し、光学文字認識(OCR)は、活字に対して同じことを行います。HTR プラットフォームは、まずページ上のテキストの領域と行を見つけ、次に各行を読み取ります。最初のステップはレイアウト解析と呼ばれます。PAGE XML は、一つのページ画像の領域、行、認識されたテキストを保存します。米国議会図書館は、同じレイアウトとテキストのための XML 形式である ALTO を維持しています。Text Encoding Initiative(TEI)は、学術校訂版のためにテキストを符号化し、人物には <persName>、場所には <placeName> のような要素を使います。IIIF は、ページを一覧にしたマニフェストを通じて、図書館のサーバーから画像を配信し、W3C Web Annotation は、テキストの一節や画像の領域に付けるアノテーションの標準データモデルです。

グラウンドトゥルースとは、認識モデルの訓練と評価に使う、手で修正された書き起こしの集まりです。文字誤り率(CER)は、一つの書き起こしを別の書き起こしに変えるのに必要な挿入、削除、置換の数(レーベンシュタイン距離)を数え、その数を参照の書き起こしの長さで割ったものです。Potato でのデジタル・ヒューマニティーズは、Potato の人文学向けのタスクを一か所にまとめ、デジタル・ヒューマニティーズの形式は、すべてのインポーターとエクスポーターのオプションを文書化しています。

比較する価値のあるデジタル・ヒューマニティーズのツールはどれか

表のツールは、認識、書き起こし、符号化、アノテーションをカバーします。ツールによって、誰が認識モデルを動かすか、データがどこにあるか、一ページで何人が作業できるかが異なります。

ツール提供形態ライセンスまたは価格向いている用途
Transkribusホスト型ウェブアプリ月 50 クレジットの無料プラン。900 クレジットの Scholar プランは年 €99手書き文字と活字の認識、独自モデルの訓練、Transkribus Sites での校訂版の公開
eScriptorium自分でホストするウェブアプリ、または機関のインスタンスのアカウントMITプロジェクトが管理するサーバー上での、Kraken エンジンによる認識とモデルの訓練
FromThePageホスト型ウェブアプリ月 $100 から。書き起こし者は無料。AGPL-3.0 のソース図書館や文書館のための、クラウドソーシングによる書き起こし、レビュー、索引付け
Zooniverseホスト型プラットフォームProject Builder とホスティングは無料Zooniverse チームによるレビューを経た、一般向けのボランティアプロジェクト
Recogito StudioDocker で自分でホストするウェブアプリ、またはホスト型プランAGPL-3.0TEI テキスト、IIIF 画像、PDF の協働アノテーション
TEI PublishereXist-db データベース内のアプリオープンソース固有表現をマークアップするウェブエディターを備えた、TEI 校訂版のオンライン公開
Oxygen XML EditorWindows、macOS、Linux のデスクトップアプリ1 年間の保守付きのアカデミックライセンスが $137、または年払いで月 $6TEI の手作業での符号化と検証
PotatoYAML で設定する Python ウェブサーバー。自分のコンピューターまたはサーバー上GPL-3.0-or-later同じ HTR の行を複数の書き起こし者が修正する作業、TEI での固有表現のタグ付け、IIIF の canvas 上の領域

Transkribus は、手書き文字認識に 1 ページ 1 クレジット、行の検出だけなら 1 ページ 0.25 クレジットかかります。オンデマンドのクレジットは 250 で €59.50 で、期限はありません。FromThePage の Researcher プランは、最大 10,000 ページの一つのプロジェクトをカバーし、FromThePage には 200 ページの無料トライアルがあります。

どの作業にどのツールか

表は、人文学の各種の作業を、その作業のために作られたツールと組み合わせています。

作業適したツール
既存のモデルで手書き文字を認識するTranskribus と eScriptorium
あるコレクション自身の筆跡で認識モデルを訓練するTranskribus と eScriptorium
一般向けのボランティアによる書き起こしZooniverse と FromThePage
レビューと索引付けを伴う、図書館の書き起こしプロジェクトFromThePage
同じ認識された行を、プロジェクト自身のサーバー上で複数の書き起こし者が修正するPotato
ページ画像上のレイアウト領域と行を修正するTranskribus、eScriptorium、Potato
完全な TEI 校訂版を手で符号化するOxygen XML Editor
TEI 校訂版をオンラインで公開するTEI Publisher と Transkribus Sites
地名辞典(ガゼッティア)で人物と場所にタグを付けるRecogito Studio
複数のアノテーターと一致度を伴って、TEI の固有表現にタグを付けるPotato
IIIF 画像上の領域をアノテーションするRecogito Studio と Potato
IIIF マニフェストのコピーにアノテーションページを書き込むPotato

Transkribus と eScriptorium は、どちらのプラットフォームもモデルを動かすため、認識に関するすべての行に現れます。Potato は、機械による読み取りや校訂版がすでにあり、チームが複数の人で確認を分担する場面に現れます。

認識モデルを誰が動かすか

Transkribus は、認識をホスト型サービスとして動かし、チームが修正した書き起こしから独自モデルを訓練します。無料プランには月 5 回の訓練が、Scholar プランには 30 回が含まれます。eScriptorium は、Kraken エンジンによる認識と訓練を、インスタンスをホストするサーバー上で動かし、Kraken のモデルをインポートおよびエクスポートします。FromThePage は、年間プランで、オプションとして Gemini 3 による手書き文字認識を提供し、機械による下書きを人によるレビューの対象として示します。

Potato は、手書き文字を認識せず、認識モデルを訓練しません。potato import -f page_xml は、Transkribus、eScriptorium、OCR-D が書き出した PAGE XML を読み込み、テキスト行ごとに、読み順で一つのアイテムを作り、書き起こし者のために各行をページ画像から切り出します。認識器が行の信頼度を保存していた場合、Potato はその値を htr_confidence としてアイテムに保持します。page_xml エクスポートは、修正した各行を、ソースファイルのコピーに書き戻します。eScriptorium のインポートは PAGE XML と ALTO の書き起こしを受け付け、PAGE XML は Potato のエクスポートの形式です。バージョン 2.14 からは、Potato は --page-xml-mode regions でインポートしたあとにレビュー担当者が描いた、または修正した領域でページレイアウトのモデルを学習し、モデルの領域は他のページに事前ラベルとして戻ります。

Transkribus と FromThePage に代わる無料の選択肢

Transkribus と FromThePage は、書き起こしにおける有償の既存勢力で、どちらも修正以上のことを行います。Transkribus は、テキストを認識し、レイアウトと表を解析し、モデルを訓練し、固有表現にタグを付け、検索可能な校訂版を公開します。FromThePage は、ボランティア、レビュー、議論、主題の索引付けを伴う公開プロジェクトを運営し、TEI、CSV、HTML、IIIF アノテーションをエクスポートします。以下の無料ツールは、それぞれその作業の一部をカバーします。

eScriptorium は、認識と訓練に対応する無料のツールです。ヴィリニュス大学のワークショップは、eScriptorium を Transkribus に対する「非営利で、コミュニティ主導の代替手段」と説明しています。eScriptorium は、同じインスタンス上のチームとプロジェクトを共有し、プレーンテキスト、PAGE XML、ALTO をエクスポートしますが、一覧に TEI エクスポートはありません。Zooniverse は、一般向けのクラウドソーシングに対応する無料のツールで、Zooniverse の書き起こしガイドは、1 ページあたり 2 から 5 人のボランティアを推奨しています。Zooniverse は、テキストの分類をプラットフォーム上では集約せず、同じガイドは、書き起こしの行を集約するための別のツール(ALICE)をプロジェクトに案内しています。Recogito Studio は、ホストが無料で、TEI と IIIF にアノテーションしますが、手書き文字認識はありません。

Potato は、修正のステップのために作られています。Potato は、Transkribus や eScriptorium の PAGE XML エクスポートをプロジェクトとしてインポートし、設定で定めた人数の書き起こし者に各行を送り、機械による読み取りとの単語単位の差分を表示し、各書き起こし者の修正を、別々の PAGE XML フォルダーに書き出します。Potato には、認識モデル、一般向けのボランティアコミュニティ、校訂版の公開、書き起こしに対する一致度の数値がなく、そのほかの不足は、人文学分野で Potato が行わないことに挙げています。

ツールごとの複数の書き起こし者と一致度

ツールは、複数の人の間で作業を分担する方法がそれぞれ異なります。表は、各ツール自身のドキュメントが説明している一致度の指標を挙げています。

ツール複数の人が作業を分担する方法一致度
Transkribus役割を持つ共有ドキュメントと、完了、進行中、未着手のページの進捗ビュー—(エディターは、ページの保存された二つのバージョンを並べて比較する)
eScriptoriumチームと、同じインスタンスのユーザーと共有されるプロジェクトやドキュメント—
FromThePage書き起こし、レビュー、議論、進捗の追跡を行う、ボランティア、スタッフ、学生—
Zooniverse各ページは、完了となる前に、決まった人数のボランティアに送られる—(各ボランティアの書き起こしがエクスポートされ、ALICE が行を集約する)
Recogito Studio複数のユーザーによるリアルタイムのアノテーションとコメント—
Potato一つのサーバー。設定が、各行、ページ、一節を、決まった人数のアノテーターに割り当てる書き起こし:なし。固有表現のスパン:トークンレベルのカッパ、スパン F1、Krippendorff のアルファ、Mathet のガンマ。領域:マッチした IoU、検出 F1、偶然補正済みのアルファ。設問:Cohen のカッパ、Fleiss のカッパ、Krippendorff のアルファ

ダッシュは、2026-10-29 に確認した、そのツール自身のドキュメントに、その行に当たるものが見つからなかったことを意味します。セルが誤っている場合は、お知らせください。

Potato は、各書き起こし者の修正した行を、機械による読み取りからの文字単位と単語単位の編集距離とともに、別々に保存します。文字の編集距離を、修正した行の長さで割ると、その行での認識器の CER になります。Potato は、二人の書き起こし者の間の CER は計算しません。プロジェクトに書き起こし者が二人いる場合、page_xml エクスポートは書き起こし者ごとに一つのフォルダーを書き出し、その二つのフォルダーに対する短いスクリプトで、書き起こし者間の CER が得られます。可読性の評価のように、書き起こしの隣にあるカテゴリカルな設問には、/admin/iaa の管理ダッシュボードがカッパを報告します。裁定は、アノテーターの意見が分かれたアイテムをレビューする方法を示しています。学生やクラウドの書き起こし者については、Potato は Prolific または SONA の被験者プールを通じて募集し、本番のアイテムの前に訓練フェーズを実行します。設定は、クラウドソーシング調査の実施で扱っています。

ファイル形式と往復変換

表は、人文学のプロジェクトが通常やり取りする形式と、Potato 2.13.1 が各形式について読み書きするものを挙げています。

形式書き出しまたは読み込みを行うものPotato のインポートPotato のエクスポート
PAGE XMLTranskribus、eScriptorium、OCR-D可。行ごとに一つ、またはページごとに一つのアイテム(-f page_xml)可。修正が各ソースファイルのコピーに書き込まれ、書き起こし者ごとに一つのフォルダー
ALTO XMLTranskribus と eScriptorium不可不可
TEI P5Transkribus、FromThePage、Recogito Studio、TEI Publisher、Oxygen可。名前要素がスパンになる(-f tei)可。スパンが名前要素または <rs> になり、アノテーターごとに一つのフォルダー
IIIF Presentation 3 と 2.x のマニフェストTranskribus、eScriptorium、FromThePage がマニフェストをインポート可。canvas ごとに一つのアイテム(-f iiif)アノテーションページとマニフェストのコピー(-f iiif_annotations)
W3C Web AnnotationRecogito Studio可(-f web_annotation)可。一つの AnnotationCollection
Zooniverse のプロジェクトのエクスポートZooniverseワークフローと分類。書き起こしタスクは除く不可

page_xml エクスポートは、メタデータ、読み順、スキーマバージョン、そして誰も修正しなかったソースファイルのそれ以外のすべての部分を保持します。2013 と 2019 の両方の PAGE スキーマが読み込まれます。修正された行は、古い単語のボックスが新しいテキストと合わなくなるため、認識器の信頼度と、その行の Word 要素を失います。keep_words=true オプションは、単語のボックスを保持します。Potato は ALTO を読み書きしません。ALTO が必要なプロジェクトは、エクスポートした PAGE XML を別のツールで変換します。

TEI ファイルは、Potato を通る間に、より多くを失います。

  • 読解用のテキスト。 Potato の TEI インポートは、各 <choice> の規範化、修正、展開された形を取ります。<orig>、<sic>、<abbr> の読みは、アノテーターには届きません。<note>、<del>、<fw> は除外されます。
  • 名前の属性。 インポートは、各 <persName> または <placeName> の要素名を保持し、ref や when のような属性は捨てます。
  • 新しい文書。 tei エクスポートは、プロジェクトから新しい TEI ファイルを作り、ヘッダーのタイトルを保持し、ソースファイルは編集しません。エクスポートしたスパンは、XSLT か手作業で校訂版に統合してください。
  • 重なり合うスパン。 ほかのスパンと交差するスパンは XML の中で入れ子にできないため、エクスポートはそのスパンを、string-range のターゲットとともに <standOff><listAnnotation> に書き出し、その数を報告します。

固有表現とガゼッティア

Transkribus は、エディターで名前、場所、出来事にタグを付け、そのタグをスプレッドシートにエクスポートします。Recogito Studio には、アノテーションをガゼッティアにリンクする GeoTagger プラグイン、Reconciliation Service API のためのプラグイン、固有表現認識のプラグイン、アノテーションをインライン TEI として書き出す TEI Inliner プラグインがあります。TEI Publisher のウェブアノテーションエディターは、TEI 校訂版の中の固有表現をマークアップし、TEI Publisher のアプリは、人物と場所のレジスターを保持できます。

Potato は、固有表現をスパンとしてタグ付けし、スパンスキームは、各スパンを Wikidata、UMLS、または REST 検索 API を持つ任意の知識ベースの項目にリンクできます。Potato には GeoNames や Pleiades のための組み込みクライアントはなく、検索 API を持つガゼッティアは REST オプションで接続します。リンクは、各アノテーターの user_state.json と Parquet エクスポートに、スパンとともに保存されます。tei エクスポートは ref 属性を書き出さないため、Wikidata へのリンクは TEI ファイルには届きません。エンティティリンキングは、知識ベースのオプションを文書化し、スパンの一致度は、スパンの指標を説明します。

ホスティングとデータの所有

画像と書き起こしがどこにあるかは、ツールによって異なります。Transkribus は、ドキュメントを、オーストリアのインスブルックにある READ-COOP のサーバーに、デフォルトで非公開として保存します。FromThePage は、解約したサブスクリプションのデータを、読み取り専用でエクスポート可能な状態で保持します。Zooniverse は、非公開のプロジェクトであっても、すべてのプロジェクトのメディアを、ハッシュ化され匿名化された URL を通じて公開でホストし、Zooniverse コミュニティに昇格したプロジェクトは、通常 2 年の独占期間の後に、分類データを公開します。eScriptorium と Recogito Studio は、プロジェクトが管理するサーバー上で動かせます。

Potato は、自分のコンピューターまたはサーバー上で動くため、史料の画像や未公開の書き起こしは、プロジェクトが管理するインフラ上に留まります。ローカルファイルが Potato の media/ フォルダーに届くのは、インポートするフォルダーの内側から、または --image-dir で指定したフォルダーからに限られます。エアギャップ環境でのデプロイは、ネットワーク接続なしで Potato を動かす方法を扱い、Hugging Face Space は、ホスト型の選択肢です。

Potato で二人の書き起こし者が HTR の行を修正する

インポートは、Transkribus の PAGE XML エクスポートを読み込み、実行可能なプロジェクトを書き出します。ページ画像は、XML の隣か、--image-dir で指定したフォルダーにあります。

bash
potato import -f page_xml -i transkribus-export/ -o letters-project

以下の設定は、インポートが書き出す形に、二つの追加を加えたものです。num_annotators_per_item: 2 は、二つの読みを比較するために、すべての行を二人の書き起こし者に送ります。legibility の設問は、書き起こし者が各行をどう判断したかについて、管理ダッシュボードにカッパを与えます。

yaml
annotation_task_name: Letter book line correction
task_dir: .
output_annotation_dir: annotation_output/
data_files:
  - data/source.jsonl
item_properties:
  id_key: id
  text_key: htr_text
user_config:
  allow_all_users: true
  users: []
 
# Every line goes to two transcribers for a comparison of the readings
num_annotators_per_item: 2
 
instance_display:
  fields:
    - key: line_image
      type: image_region
      label: Line
      padding: 12
 
annotation_schemes:
  - annotation_type: text_edit
    name: transcription
    description: Correct the recognized text against the line image.
    source_field: htr_text
    show_diff: true
    show_edit_distance: true
    allow_reset: true
  - annotation_type: radio
    name: legibility
    description: How legible is the line?
    labels:
      - clear
      - partly illegible
      - illegible

image_region ディスプレイは、各ページ画像を一度だけダウンロードし、ダウンロードした画像から一度に一行を切り出します。書き起こし者には、入力中に、単語単位の差分と、変更された単語と文字の数が表示されます。修正が入ったら、エクスポートは書き起こし者ごとの PAGE XML を書き出します。

bash
python -m potato.export -c letters-project/config.yaml -f page_xml -o corrected/

エクスポートは、ページごとに一つのファイルを持つ corrected/<transcriber>/page_xml/ を書き出します。テキストではなくレイアウトを扱う場合は、--page-xml-mode regions が各ページを、領域タイプでラベル付けされたポリゴンとしてインポートし、オプションはデジタル・ヒューマニティーズの形式に示されています。

人文学分野で Potato が行わないこと

  • 手書き文字認識や HTR の訓練は行わない。 Transkribus と eScriptorium が、テキストを認識し、認識モデルを訓練し、アノテーターは Potato で出力を修正します。
  • ALTO は扱わない。 Potato が読み書きするのは、PAGE XML、TEI、IIIF、W3C Web Annotation で、ALTO や hOCR は扱いません。
  • 書き起こしに対する一致度はない。 Potato は、スパン、領域、設問について、カッパとアルファを報告しますが、書き起こし者間の CER は報告しません。
  • TEI の編集は行わない。 Potato は、TEI から読解用のテキストを読み込み、固有表現のスパンを新しいファイルに書き戻します。完全な符号化の編集は、Oxygen XML Editor か TEI Publisher が行います。
  • TEI に固有表現のリンクは入らない。 Wikidata やほかの知識ベースへのリンクは、Potato 自身の出力と Parquet エクスポートに留まります。
  • 一般向けのボランティアコミュニティはない。 Potato は、Prolific、SONA のプール、またはプロジェクトが共有するリンクを通じて募集し、ボランティアを連れてくるのは Zooniverse と FromThePage です。
  • 公開は行わない。 Transkribus Sites と TEI Publisher が、検索可能な校訂版を公開します。
  • インポート時に Zooniverse の書き起こしタスクは扱わない。 Zooniverse のインポーターは、書き起こしタスクをスキップし、その数を報告します。
  • 書き起こしにはデスクトップのブラウザーが必要。 行の修正スキームは、Potato のスマートフォンでテスト済みのタイプの一覧にありません。
  • サーバーが必要。 誰かが pip で Potato をインストールしてサーバーを動かします。書き起こし者一人ならノートパソコンで、チームなら共有マシンで動かします。

各プロジェクト自身のドキュメントに照らして、2026 年 10 月に確認しました。

よくある質問

Transkribus に代わる無料の選択肢はありますか。

はい。eScriptorium は無料で、MIT ライセンスのオープンソースであり、自分でホストするサーバーまたは機関のインスタンス上で、Kraken エンジンによる認識とモデルの訓練を実行します。Potato は、修正のステップのための、無料でセルフホスト型の選択肢で、複数の書き起こし者が、Transkribus や eScriptorium の出力を一行ずつ確認します。Potato は認識モデルを動かしません。Transkribus 自身の無料プランは、月 50 クレジットで、約 50 ページの認識には十分です。

手書き文書を書き起こすための、最良の協働ソフトウェアは何ですか。

FromThePage と Zooniverse は、一般向けのボランティアによる書き起こしのために作られており、FromThePage は図書館のプロジェクトを月 $100 からホストし、Zooniverse はレビューを経て無料でプロジェクトをホストします。Transkribus は、ドキュメントをチームと共有し、どのページが終わったかを追跡します。Potato は、プロジェクト自身のサーバー上の閉じたチームに向いており、各行が決まった人数の書き起こし者に割り当てられ、各書き起こし者の修正が別々にエクスポートされます。

HTR モデルを訓練するためのグラウンドトゥルースはどう作りますか。

認識モデルの出力を、ページ画像に照らして手で修正し、全体で一つの書き起こしの規約を保ち、修正したページを訓練用に PAGE XML または ALTO としてエクスポートします。Transkribus も eScriptorium も、修正された書き起こしからモデルを訓練します。Potato では、二人の書き起こし者が各行を修正でき、page_xml エクスポートが各書き起こし者のバージョンを書き出し、eScriptorium は、修正された PAGE XML を、再訓練のためにインポートします。

歴史的なテキストの固有表現にタグを付け、その固有表現を TEI にエクスポートできますか。

はい。Potato は、potato import -f tei で TEI ファイルをインポートし、<persName>、<placeName>、<orgName>、<date>、<rs> を編集可能なスパンにし、tei エクスポートが、そのスパンを同じ要素として書き戻します。エクスポートは、ソースを編集するのではなく、新しい TEI ファイルを作り、Wikidata へのリンクは ref 属性としては書き出されません。Recogito Studio の TEI Inliner プラグインと、TEI Publisher のアノテーションエディターも、固有表現をインライン TEI として書き出します。

関連資料