“KuroNet Text Editor”は、「KuroNetくずし字認識サービス」による多文字くずし字OCR結果を編集するツールである。
KuroNetくずし字認識サービスが出力する、多文字くずし字OCR結果を含んだキュレーションに対し、読み順を編集する機能を提供する。
本ツールは、IIIF Curation Viewerをベースとして、OCRテキスト編集用途に特化して機能を加除したツールである。この文章では、本ツール固有の内容を中心に記述する。
目次
動作デモ/活用例
KuroNet Text Editorのデモンストレーション
使い方
キュレーションの指定
IIIF Curation Viewerと同じく、GET引数(パラメータ名:curation)の指定やドラッグ&ドロップ、ペースト(貼り付け)により、OCRテキスト編集を行うキュレーションのURLを指定する。
KuroNetダッシュボードに用意された本ツールへのリンクを用いても良い。
また、IIIF Curation Viewerでキュレーションを閲覧している場合、ウェブブラウザのアドレスバーに表示されているURLを本ツールへドラッグ&ドロップやペーストしても良い。
KuroNetくずし字認識サービスによる多文字くずし字OCR結果が表示される。OCR結果は、資料画像上に「文字マーカー」として重ねて表示される。画面左下に表示されるマーカー表示調整パネルから、文字マーカーの表示位置、不透明度、サイズを調整できる。
読み順の編集
文字認識後、読み順の情報が設定されていない状態から、文字の読み順と行の読み順を編集し、OCR結果に対して読み順を登録するケースを例として説明する。
読み順設定対象
本ツールでは、文字の読み順を指定することで行を形成し、行の読み順を指定することで、全体の読み順を完成させるモデルとなっている。
どちらのレベルの読み順を指定するかは、画面左上に表示される読み順設定対象パネルの「文字」「行」ボタンによって切り替える。
また、読み順設定対象の切り替えは、文字マーカーを右クリックして表示されるコンテクストメニューからも行うことができる。
読み順の削除を行った場合、削除後に読み順を訂正追加することを想定し、読み順設定対象は、削除した読み順と同じレベルに自動的に切り替わる。
文字の読み順の追加
読み順設定対象パネルが「行」になっている場合は、読み順設定対象を「文字」に切り替える。
文字マーカーをマウスでなぞっていくと(文字マーカーをクリックした状態からドラッグし、次に読む文字マーカーの上を通過していくと)、文字の読み順が設定され、文字マーカー間に連結線(青色・直線)が引かれる。
本ツールでは、読み順情報を文字/行の階層構造をもって登録することを想定しているため、基本的には、1行分をなぞれば、なぞる動作を終了する。
なぞり終えると、なぞった文字が画面右上の翻刻ダイアログボックスに表示される。この表示は、ドラッグによる位置移動や、右下隅のドラッグによる大きさ変更が可能であり、右上の「×」ボタン押下により閉じることができる。
翻刻ダイアログボックスに表示されるテキストは、読み順編集操作の確認のために表示されるものであり、コピー&ペースト等に利用することもできるが、永続的に表示されるものではない。読み順の編集完了後、KuroNetくずし字認識サービスにフィードバックする(キュレーションの上書き更新を行う)ことで、KuroNetダッシュボードから翻刻テキストを取得できるようになる。
なお、一つの文字マーカーから複数に分岐して読み順を設定するケースには対応していない。
文字の読み順の削除
読み順を追加する際、ある文字マーカーを飛ばしてしまい、下図の状態になったとする。
この例は、6行目において「し」→「け」→「の」と文字マーカーをなぞって文字の読み順を指定するところ、「け」をなぞることができず、「し」と「の」の間に連結線が引かれ、「け」は単独で残ってしまった状態を示している。
読み順を訂正するため、読み順を削除するには、連結線をダブルクリックする。
また、読み順の削除は、連結線を右クリックして表示されるコンテクストメニューからも行うことができる。同コンテクストメニューからは、ひとつながりの読み順のグループを一括して削除することもできる(上の例であれば、読み順グループの削除を選択すると、この行の読み順指定がまとめて削除される)。
「し」と「の」の間の連結線をダブルクリックすると、ダブルクリックした連結線が削除され、下図の状態になる。
「し」と「の」の間の連結線が削除された状態から、改めてマウスで「し」→「け」→「の」と文字マーカーをなぞると、下図のように正しく読み順が指定された状態となる。
行の読み順の追加
文字の読み順の指定を行ごとに繰り返し、下図の状態になれば、次に行の読み順指定を行う。
読み順設定対象パネルまたは文字マーカーの右クリックから、読み順設定対象を「行」に切り替える。
行頭の文字マーカーをマウスでなぞっていくと、行の読み順が設定され、文字マーカー間に連結線(紫色・曲線)が引かれる。
なお、文字の読み順の追加により形成された行が環をなしているとき、すなわち読み順上の行頭が定まらないときは、当該行を行の読み順に追加することはできない。
文字や行の読み順の指定を終えれば、読み順の保存を行う。
行の読み順の削除
行の読み順削除も、文字の読み順削除と同様に行える。
読み順の全削除
キュレーションリスト画面の「読み順を全てクリア」ボタンにより、読み順を全て削除できる。
読み順の保存
読み順の編集を終えれば、画面右上のキュレーションリスト表示()ボタン押下により表示されるキュレーションリスト画面の「上書き更新」ボタンから、読み順情報を含んだキュレーションデータを上書きエクスポートし、サーバに保存する。
読み順情報が設定されたキュレーションを本ツールで表示した場合、読み順情報に従って連結線が表示される。必要に応じて、読み順の編集と保存を繰り返すことができる。
KuroNetダッシュボードに用意された本ツールへのリンクを用いて読み順の編集を行った場合、上書き更新後、KuroNetダッシュボードから、読み順情報が反映された翻刻テキストを取得できる。
キュレーションの記述仕様
本ツールでは、IIIF Curation Viewerアノテーションビューモードにおける文字マーカーの記述構造をベースとして、次に挙げる項目を読み順情報の編集に利用している。
文字マーカー
marker
オブジェクトに次のプロパティを記載する。
項目名 | 値 |
---|---|
next (省略可) |
string デフォルト値:なし 文字の読み順で、一つ次の文字マーカーを含むアノテーションの @id を記述する。 |
prev (省略可) |
string デフォルト値:なし 文字の読み順で、一つ前の文字マーカーを含むアノテーションの @id を記述する。 |
next_line (省略可) |
string デフォルト値:なし 行の読み順で、一つ次の行の行頭の文字マーカーを含むアノテーションの @id を記述する。 |
prev_line (省略可) |
string デフォルト値:なし 行の読み順で、一つ前の行の行頭の文字マーカーを含むアノテーションの @id を記述する。 |
記述例
上図の例に相当する部分を抜粋して示す。
{
"@context": [
"http://iiif.io/api/presentation/2/context.json",
"http://codh.rois.ac.jp/iiif/curation/1/context.json"
],
"@id": "http://example.org/iiif/book1/curation",
"@type": "cr:Curation",
"label": "Character List",
"viewingHint": "annotation",
"selections": [
{
"@id": "http://example.org/iiif/book1/range1",
"@type": "sc:Range",
"label": "Characters",
"members": [
{
"@id": "http://codh.rois.ac.jp/pmjt/iiif/200017526/canvas/00113#xywh=2604,930,1,1",
"@type": "sc:Canvas",
"label": "KuroNet OCR Result",
"metadata": [
{
"label": "Annotation",
"value": [
{
"@id": "http://example.org/iiif/book1/annotation/1",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"resource": {
"@type": "cnt:ContentAsText",
"chars": "ま",
"format": "text/plain",
"marker": {
"text": "ま",
"next": "http://example.org/iiif/book1/annotation/12",
"next_line": "http://example.org/iiif/book1/annotation/8",
"prev_line": "http://example.org/iiif/book1/annotation/6"
}
},
"on": "http://codh.rois.ac.jp/pmjt/iiif/200017526/canvas/00113#xywh=2604,930,1,1"
}
]
}
]
},
(中略)
{
"@id": "http://codh.rois.ac.jp/pmjt/iiif/200017526/canvas/00113#xywh=2604,1072,1,1",
"@type": "sc:Canvas",
"label": "KuroNet OCR Result",
"metadata": [
{
"label": "Annotation",
"value": [
{
"@id": "http://example.org/iiif/book1/annotation/12",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"resource": {
"@type": "cnt:ContentAsText",
"chars": "す",
"format": "text/plain",
"marker": {
"text": "す",
"next": "http://example.org/iiif/book1/annotation/24",
"prev": "http://example.org/iiif/book1/annotation/1"
}
},
"on": "http://codh.rois.ac.jp/pmjt/iiif/200017526/canvas/00113#xywh=2604,1072,1,1"
}
]
}
]
},
(中略)
],
"within": {
"@id": "http://codh.rois.ac.jp/pmjt/book/200017526/manifest.json",
"@type": "sc:Manifest",
"label": "宇津保物語"
}
}
]
}
ライセンス
KuroNet Text Editor v2.0 (Powered by IIIF Curation Viewer)
http://codh.rois.ac.jp/software/kuronet-text-editor/
Copyright 2020 Center for Open Data in the Humanities, Research Organization of Information and Systems
Released under the MIT license
Core contributor: Jun HOMMA (@2SC1815J)
Licenses of open source libraries, see acknowledgements.txt
開発履歴
バージョン2.0 (2024-11-11)
-
IIIF Curation Viewer v2.0相当の機能に更新。
- 主な更新内容
- キュレーション/マニフェスト/キャンバスの情報表示に対応。
- IIIFマニフェスト/キュレーションURLのドラッグ&ドロップ、ペースト対応を改良。
- ただし、矩形枠線マーカーの編集機能は除く。
バージョン1.1 (2024-08-27)
- IIIF Presentation API 3.0のマニフェスト表示に対応。
バージョン1.0 (2020-03-25)
- 最初のバージョンを公開。