📌

ALTO (Analyzed Layout and Text Object) XMLについて

2023/07/31に公開

概要

ALTO (Analyzed Layout and Text Object) XMLについて、GPT-4に問い合わせた結果を共有します。

https://www.loc.gov/standards/alto/

必須項目

ALTO (Analyzed Layout and Text Object) XMLは、OCR生成テキストとそのレイアウトを表現するためのXMLスキーマです。その構造は非常に柔軟で、多くの要素と属性が存在しますが、必須の要素は限られています。

最も単純な形式のALTO XMLは、以下のような階層構造を持ちます:

  1. <alto>: ルート要素です。ALTO XMLスキーマのバージョンを示す@xmlns属性と@xmlns:xsi属性を持つ必要があります。また、<Description><Layout>という二つの子要素を持つ必要があります。

  2. <Description>: ファイルのメタデータを含みます。この要素自体に必須の子要素はありませんが、通常、<MeasurementUnit>, <sourceImageInformation><OCRProcessing>などの子要素を含むでしょう。

  3. <Layout>: ファイルの物理的なレイアウトを表現します。これは<Page>という子要素を1つ以上含む必要があります。

  4. <Page>: 一つのページを表現します。この要素は@ID@WIDTH@HEIGHTという三つの必須属性を持つべきです。また、<PrintSpace>という子要素を1つ持つことができます。

上記の要素はALTO XMLの最も基本的な構造を表現していますが、テキストの内容やそのレイアウトを詳細に表現するためには、さらに多くの要素と属性を使用することが可能です。例えば、<PrintSpace>, <TextBlock>, <TextLine>, <String>などの要素を使用することで、テキストの物理的な配置や内容を詳細に表現することができます。それぞれの要素や属性の詳細については、ALTO XMLスキーマのドキュメンテーションを参照してください。

OCRProcessing要素

OCRProcessing要素は、ALTO XML内の<Description>エレメント内で使用されます。この要素は、特定のOCRプロセスに関する情報を格納します。それは以下のサブ要素を持つことができます:

  • ocrProcessingStep: OCR処理の各ステップを記述します。この要素は processingDateTime, processingAgency, processingSoftware, processingStepSettings, processingStepDescriptionといった属性を持つことができます。

以下に、OCRProcessingエレメントの使用例を示します:

<Description>
  ...
  <OCRProcessing ID="OCR1">
    <ocrProcessingStep>
      <processingDateTime>2023-08-01T00:00:00</processingDateTime>
      <processingAgency>Agency Name</processingAgency>
      <processingSoftware>
        <softwareCreator>Software Creator Name</softwareCreator>
        <softwareName>Software Name</softwareName>
        <softwareVersion>Software Version</softwareVersion>
      </processingSoftware>
      <processingStepSettings>Settings</processingStepSettings>
      <processingStepDescription>Description of the processing step</processingStepDescription>
    </ocrProcessingStep>
  </OCRProcessing>
  ...
</Description>

ここで、processingDateTimeはOCR処理が行われた日時を表し、processingAgencyはその処理を行った機関名を表します。processingSoftwareはOCR処理に使用されたソフトウェアに関する情報を含み、processingStepSettingsprocessingStepDescriptionはそれぞれ設定と処理手順の説明を提供します。

このようにして、OCRProcessing要素を使用することで、OCR処理に関する詳細な情報をALTO XML内に格納することができます。

まとめ

誤りなど含む可能性がありますが、参考になりましたら幸いです。

Discussion