Project

General

Profile

Text annotation » History » Version 22

Alexander Watzinger, 2024-09-12 14:16

1 12
h1. Text annotation
2
3
Issue #2079
4
5 13 Alexander Watzinger
Text annotation will be about linking entities (actors, places, ...) to specific parts of a text, instead of just linking them to the whole text like it is possible currently.
6 12
7
h2. Scope (for the first version)
8
9
* It would be used at *Source* (E33) and their translations 
10
* Only already linked entities are offered
11
* No overlapping annotations
12 22 Alexander Watzinger
* An annotation needs at least a linked entity or a text 
13 17 Alexander Watzinger
14 12
h2. User interface
15
16 14 Alexander Watzinger
We need a tool for users to annotate. Although difficult, ideally text changes and annotations can be done in one form element. 
17 12
18
*Advantages*
19
* Easy to use
20
* It's not possible for users to "break" things
21
* Concurrent changes can be avoided with already implemented functionality
22
* Maybe take a look at APIS implementation: https://github.com/acdh-oeaw/apis-highlighter-ng
23 14 Alexander Watzinger
24
Otherwise we will have to split:
25
* *Text editing* - leaving as is but would be problematic when annotations can't be seen
26
* *Text annotation* - most likely easier to implement if "stand alone"
27 12
28 19 Alexander Watzinger
h3. Meeting 2024-09-12
29
30
Participants: Alex, Bernhard, Christoph, Olivia
31 20 Alexander Watzinger
We will try to go for the all in one UI element approach. It would be implemented using markup which the backend would provide to fill the element and process it again after submitting.
32 19 Alexander Watzinger
33 12
h2. Information storing
34
35 18 Alexander Watzinger
We will save the information in an extra database table **web.annotation_text**, similar to web.annotation_image. Fields:
36 12
37
* *id* (int, required) generic internal database identifier 
38 15 Alexander Watzinger
* *source_id* (int, required)
39
* *entity_id* - (int, required) the entity is linked in the annotation, e.g. actor, place, artifact, ... 
40 12
* *link_start* (int, required)
41
* *link_end* - (int, required) or maybe the length?
42
* *user_id* - (int, not required) to track who added it 
43
* *text* - (text, not required) a kind of description field for text information, maybe think about the name, e.g. annotation, description, text, ... 
44
* *created* - timestamp of creation (set automatically at creation)
45
* *modified* - timestamp of modification (triggered automatically on change)
46
47 16 Alexander Watzinger
*Advantages*
48 12
* We can guarantee that there are no orphaned links
49
* It can than be used to e.g. be presented as HTML, TEI, "Web Annotation Data Model":https://www.w3.org/TR/annotation-model/, ...
50
51
h2. Time frame
52
53
Ideally we have a working basic version at the end of 2024 and can refine it in 2025.
54
55
h2. Ideas for future versions
56
57
* Offer links to external reference systems (e.g. GeoNames) which we would use to create new entities on the fly (using available meta information, creating links to reference system, ...). Interesting but a lot of work.
58
* A tool to find possible annotation candidates providing a result list to annotate multiple occurrences in one go