Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Processing history #39

Closed
6 tasks done
cneud opened this issue Jun 16, 2016 · 10 comments
Closed
6 tasks done

Processing history #39

cneud opened this issue Jun 16, 2016 · 10 comments

Comments

@cneud
Copy link
Member

cneud commented Jun 16, 2016

Recently, several feature requests were submitted that relate to the recording of processing information in ALTO (see #13, #27, #36, #35 for in-depth information). In an attempt to consolidate and harmonize the requests, this issue shall serve as the main point of discussion from now on.

Features requested:

@jukervin
Copy link
Member

Minimally common vocabulary is needed for processingStepType

@Jo-CCS
Copy link
Member

Jo-CCS commented Jul 27, 2016

For referencing the processing IDs on the elements I propose to add a list of IDs space separated as done in METS for the DMDID's.

<xsd:attribute name="DMDID" type="xsd:IDREFS" use="optional"/>

Also I would like to recommend to have at least the type and description of processing node as mandatory. Also the datetime could be mandatory as it has quite important information what and when it was done.

@cneud
Copy link
Member Author

cneud commented Jul 28, 2016

Minutes of the technical call 27-07-2016

I. Change OcrProcessing to Processing and preProcessingStep, ocrProcessingStep, postProcessingStep to generic processingStep with ProcessingStepType and required ID attribute.

  • Is there a need to explicitely define order/sequence of processing?
  • Does ProcessingDateTime define start or end of processing?
  • Possibility to derive duration of processing?

Instead of ProcessingDateTime, there should be ProcessingStartDateTime and ProcessingEndDateTime (mandatory). Duration can then be inferred if needed.

  • How to represent sequence of processingStep?

Follow example of METS with space separated IDs - e.g.

<TextLine ID="ID069" [...] PROCESSINGREFS="ID001 ID002 ID003 ID004 ID005">

II. Add optional attributes COR (CORRECTEDBY), VER (VERIFIEDBY) for all elements.

  • Example newspaper digitisation: only headlines manually corrected
  • Rather just change CS (correction status) attribute?
  • This would result in mixing of metadata & content
  • Difficulty of inheritance - can child elements inherit processingStep from parent? For which use cases? E.g. Binarization (yes) vs. Rotation (no).

Further discussion and examples are required.

III. Common vocabulary for processingStepType

  • E.g. PREMIS uses generic eventType or METS agent
  • Huge diversity of processingStep
  • Few, very generic categories, e.g. relating to image/text/annotations(tags)?
  • Need better understanding of use cases.

Look at other examples (interoperability). Keep it practical.

@jpmoreux
Copy link
Member

jpmoreux commented Sep 2, 2016

Practical use cases I recently encountered:

  • correction of rotation on images
  • correction of curvature on images
  • localized text correction (newspaper headlines)
  • semantic annotation : named entities recognition, signature recognition (authors, illustrators)
  • structure extraction : ALTO -> EPUB -> ALTO with some logical structure embedded

As I wrote in another comment, we should warn people to store these informations in the document manifest (METS, etc.), at the higher possible level, if the same processing is applied to all the ALTO files of a specific document. But some kind of processing are interesting to described locally (eg which text blocks have been corrected).

@cneud
Copy link
Member Author

cneud commented Mar 30, 2017

Minutes of the technical call 30-03-2017

  • omit optional attributes COR (CORRECTEDBY), VER (VERIFIEDBY) and rather express this via processingStepType vocabulary instead
  • introduce renaming of OcrProcessing to Processing and preProcessingStep, ocrProcessingStep, postProcessingStep to generic processingStep with ProcessingStepType and add required ID attribute concurrently to current history tracking, which will be declared deprecated
  • add common vocabulary comprising the types ContentGeneration, ContentModification, PreOperation, PostOperation, Other and referencing a list of IDs as in METS DMDID's
  • @cneud to create a new draft schema with these changes before next board call

@acpopat
Copy link
Member

acpopat commented Aug 2, 2017

Hi, I'm interested in participating in discussions on this topic. I'm new to the topic of data provenance aside having used systems in the past that provided some form of it.

@cneud cneud mentioned this issue Aug 2, 2017
@cneud
Copy link
Member Author

cneud commented Aug 2, 2017

Initial draft for changes listed above: https://github.com/altoxml/schema/tree/master/v4

@cneud
Copy link
Member Author

cneud commented Aug 2, 2017

Possibly of interest for more sophisticated provenance/processing history tracking:
https://www.w3.org/TR/prov-overview/

@acpopat
Copy link
Member

acpopat commented Oct 19, 2017

Some processing histories may not be simple sequential pipelines and may require a more general graph structure. As mentioned in today's board call, some OCR post-correction schemes provide examples of such processing:

merging results from multiple OCR engines

post-correction using multiple information sources

coalescing information from multiple page images and their OCR results

If it is desired that the results of such processing be represented in ALTO, then a more general provenance scheme capable of representing graph-structured dependencies might be required, such as that referred to by Clemens in his Aug 2 comment.

@cneud
Copy link
Member Author

cneud commented Apr 24, 2018

Included in v4.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants