Text annotation » History » Version 24
Alexander Watzinger, 2024-10-14 17:07
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 | 23 | Alexander Watzinger | * Only one entity can be linked per annotation |
12 | 12 | * No overlapping annotations |
|
13 | 22 | Alexander Watzinger | * An annotation needs at least a linked entity or a text |
14 | 17 | Alexander Watzinger | |
15 | 12 | h2. User interface |
|
16 | |||
17 | 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. |
18 | 12 | ||
19 | *Advantages* |
||
20 | * Easy to use |
||
21 | * It's not possible for users to "break" things |
||
22 | * Concurrent changes can be avoided with already implemented functionality |
||
23 | * Maybe take a look at APIS implementation: https://github.com/acdh-oeaw/apis-highlighter-ng |
||
24 | 20 | Alexander Watzinger | |
25 | 24 | Alexander Watzinger | *Meeting 2024-09-12* (Alex, Bernhard, Christoph, Olivia) |
26 | 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. |
||
27 | |||
28 | 19 | Alexander Watzinger | h2. Information storing |
29 | 12 | ||
30 | 23 | Alexander Watzinger | We will save the information in an extra database table **model.annotation_text**, similar to web.annotation_image. Fields: |
31 | 12 | ||
32 | * *id* (int, required) generic internal database identifier |
||
33 | 15 | Alexander Watzinger | * *source_id* (int, required) |
34 | * *entity_id* - (int, required) the entity is linked in the annotation, e.g. actor, place, artifact, ... |
||
35 | 12 | * *link_start* (int, required) |
|
36 | * *link_end* - (int, required) or maybe the length? |
||
37 | * *text* - (text, not required) a kind of description field for text information, maybe think about the name, e.g. annotation, description, text, ... |
||
38 | * *created* - timestamp of creation (set automatically at creation) |
||
39 | * *modified* - timestamp of modification (triggered automatically on change) |
||
40 | |||
41 | *Advantages* |
||
42 | * We can guarantee that there are no orphaned links |
||
43 | 16 | Alexander Watzinger | * It can than be used to e.g. be presented as HTML, TEI, "Web Annotation Data Model":https://www.w3.org/TR/annotation-model/, ... |
44 | 12 | ||
45 | 23 | Alexander Watzinger | We will also need to log changes, e.g. to be able to display the creator of an annotation. Most likely this will be an additional table in the web schema but has still to be specified. |
46 | |||
47 | 12 | h2. Time frame |
|
48 | |||
49 | Ideally we have a working basic version at the end of 2024 and can refine it in 2025. |
||
50 | |||
51 | h2. Ideas for future versions |
||
52 | 23 | Alexander Watzinger | |
53 | * 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. |
||
54 | * A tool to find possible annotation candidates providing a result list to annotate multiple occurrences in one go |