# Annotationsanleitung 2023-08 #02
![](https://md.digitalhumanities.io/uploads/upload_aa981ed1a3d01119a46de1ae842443e7.png)
Für mein Forschungsprojekt zur Analyse des Bundestagswahlkampfs 2021 benötige ich Unterstützung bei der Annotation. Ich möchte herausfinden, ob Social Media Texte politische Positionierungen, oder einen Call to Action beinhalten. Darüber hinaus interessiert mich, ob die Texte sich auf eine politische Veranstaltung, wie eine Wahlkampfveranstaltung, beziehen. Dafür benötige ich Annotationen für **925** Texte verschiedener Länge.
Bei den Texten handelt es sich um Instagram Captions, transkribierte Videos und OCR Ergebnisse. Die Qualität der Texte ist deshalb sehr unterschiedlich, einige Texte sind nicht leserliche, andere machen keinen Sinn. Bei Versuchsannotationen konnten wir die Texte deshalb innerhalb von **2,5 Stunden** annotieren.
Um dich für die Teilnahme an der Studie zu qualifizieren muss du **46** Texte vorab kodieren. Sofern die Qualität deiner Annotationen passt, kannst du an der gesamten Studie teilnehmen. Für qualitativ hochwertige Annotationen ist es wichtig, dass du diese Anleitung aufmerksam liest und zwischendurch kurze Pausen machst. Achte darauf nicht länger als 30 Minuten ohne Pause zu annotieren. Verlasse den Computer für fünf Minuten bevor du weiter machst!
Für deine Teilnahme erhältst du **3 Versuchspersonenstunden**, die einen Puffer für das Einlesen und Probeannotieren beinhalten. Deine Kodierungen werden mir dabei helfen, wichtige Erkenntnisse über den Einsatz von sozialen Medien im Wahlkampf zu gewinnen und computergestützte Verfahren zur Auswertung von Social Media Daten zu evaluieren.
:::danger
Achte bitte auf die geänderte Anleitung zu **Call to Action**, falls du bereits bei der Annotation der sachpolitischen Inhalte dabei warst.^[Leider war die Übereinstimmung bei den vergangenen Annotationen mangelhaft, deshalb muss die Variable für alle Texte erneut erfasst werden.]
:::
[⬅ Zur Übersicht aller Annotationsprojekte](https://md.digitalhumanities.io/s/qPbMWfRWf)
## Teilnahme
1. [Registriere dich über diesen Link auf LabelStudio](https://app.heartex.com/user/signup/?token=dd35128c9ffa7c3c), um teilzunehmen. Nutze dafür deine studentische Mailadresse!
2. [Fülle das Formular aus](https://docs.google.com/forms/d/e/1FAIpQLSdU4LRUdeHL8ibQYINRE5EETopCKQbo_vJLbxxx522s1OuRlA/viewform?usp=sf_link), damit ich dich für das Projekt freischalten kann.
3. Ich füge dich dem Projekt *Qualification Bool Evaluation* zu. Lies dir die folgende Anleitung sorgfältig durch, bevor du mit der Annotation der Instagram-Posts beginnst. Um die Qualität deiner Annotationen und deine Aufmerksamkeit beim Durchlesen der Annotationsanleitung zu überprüfen musst du zunächst **46** Texte annotieren, für die bereits **Ground Truth** Daten existieren.
4. Ich werte deine Annotationen aus und gebe dir Feedback. Sofern deine Annotationen die Qualitätskriterien erfüllen, füge ich dich dem Projekt *20% Bool Evaluation* hinzu. Nun kannst du die restlichen 925 Texte annotieren.
6. Solltest du während des Prozesses Fragen haben, zögere nicht, mich zu kontaktieren.
:::info
**Hinweise zu VP-Stunden**
* Können nur vergeben werden, wenn alle 971 Texte annotiert wurden.
* Die Zeitschätzung basiert auf Probeannotationen und Erfahrung. Sollte die Annotation signifikant länger dauern (die Zeit der Durchgänge wird mitgeloggt), kann die VP-Zahl korrigiert werden.
:::
## LabelStudio Anleitung
Nach der erfolgreichen Registrierung solltest du die folgende Startseite sehen. Klicke auf "Label All Tasks"
<img src="https://md.digitalhumanities.io/uploads/upload_99be100b123807d6f0592f95ae72a8b6.png" align="center">
Im nächsten Fenster siehst du das Annotationsinterface. Mittig im weißen Hintergrund wird der Text dargestellt, den wir annotieren wollen. Uns interessieren hier zwei Informationen: Inhalt und Aufforderung (Call to Action).
<img src="https://md.digitalhumanities.io/uploads/upload_f178961a487713e9934e0181290eb164.png" align="center">
<img src="https://md.digitalhumanities.io/uploads/upload_25968cf6a3ebeecaa4c9d4cddecb50c2.png" style="margin:auto; float:right; margin-left: 10px;"> Beim Kodieren kannst du durch die Keyboard-Shortcuts schneller werden, neben jedem Code sind die Shortcuts in eckigen Klammer angegeben. Wenn du z. B. einem Text den Code *Positioning: True* zuweisen möchtest, kannst du die `1`-Taste auf der Tastatur drücken, die Checkbox wird ausgewählt. Für jedes Merkmal gibt es diese Shortcuts, nach kurzer Zeit hat man Übung.
Um die Annotation eines Textes abzuschließen kann man auf der Tastatur `STRG+Enter`, bzw. `command+Enter` eingeben, dann wird die Annotation gespeichert und der nächste Text geladen.
Solltest du einmal unsicher sein, kannst du die "Unsure" auswählen.
:::success
Du musst den Wert **False** nicht auswählen. Es genügt, wenn du dich auf die Annotation mit **True** konzentrierst. Alle leeren Werte werden abschließend mit **False** aufgefüllt.
:::
## Variablen
Im Rahmen der Studie bestimmst du für jeden vorliegenden Text drei Variablen: Positioning, Call to Action, Documentation. Dabei ist es wichtig, dass du jede Variable für sich betrachtest und die Texte bis zum Ende liest. Die Variablen können in den unterschiedlichsten Kombinationen auftreten und die Texte weißen unterschiedliche Qualität auf. Das folgende Beispiel zeigt einen Text, der nicht lesbar ist. Hier kann alles mit **False** bestimmt werden, wichtig ist **Unleserlich** auf **True** zu setzen.
![](https://md.digitalhumanities.io/uploads/upload_1390df70e1dc13f3a37c93bbf8435bc1.png)
---
Bei **längeren Texten** befinden sich wichtige Passagen, wie Call to Actions, of am Ende des Texts. Deshalb ist es wichtig den gesamten Text vor Augen zu behalten, wie im folgenden Beispiel. Dort ist der CTA in der letzten Zeile.
![](https://md.digitalhumanities.io/uploads/upload_4a32f9e3a39b0be635280a476496ab3b.png)
---
Im letzten Beispiel sehen wir, dass sinnvolle Textpassagen auch von *OCR-Müll* umgeben sein kann. Hier kannst du den nicht verständlichen Teil ignorieren und dich auf die sinnvollen Wörter konzentrieren.
![](https://md.digitalhumanities.io/uploads/upload_82d77d838e1f0d6308e2c083f04ed6e1.png)
---
Neben diesen generellen Anweisungen findest du im Folgenden genauere Anweisungen für die Annotation der Texte. Die folgenden Kategorien stammen zum Teil aus der Literatur und wurden von mir über mehrere Iterationen getestet. Nahezu alle Texte lassen sich anhand der Kriterien eindeutig klassifizieren. Sollte es einmal doch überhaupt nicht möglich sein, kannst du *Unsure* auswählen. Grundsätzlich gilt aber: Interessant ist die Anwesenheit der Kriterien, sofern sie nicht erfüllt sind ist die korrekte Klassifikation *False*.
**Sollten die Anweisungen Fragen offen lassen melde dich bei mir!** Bei Bedarf kann ich auch noch mehr Beispiele zur Verfügung stellen.
### Positioning
:::info
**Objective:**
Determine the presence of direct references, discussions, implications, or suggestions concerning specific policy issues, governance measures, or legislative details in German language social media texts.
**Instructions:**
1. Return 'True' if the text directly, indirectly, or implicitly mentions, discusses, suggests, or indicates a specific policy, governance measure, or legislative detail. This includes concrete proposals, changes, or calls to action related to governance.
2. Return 'False' if the text merely references general political events, activities, schedules, or generic statements that do not elaborate on a specific policy, governance measure, or legislative detail.
3. In cases of uncertainty, or if a statement is ambiguous without clear policy details, return 'False'.
:::
:::success
**Beispiele -- TRUE (Positioning)**
* >🚜 Mehr Wertschätzung & Entlastung für unsere Landwirte! Am 26. September #CDU wählen. ✅ #wegenmorgen #btw21
* >16 Bundesländer – 16 unterschiedliche Bildungssysteme. Außerdem die verschlafene Digitalisierung, sanierbedürftige Schulgebäude, fehlende Ganztagsangebote und co. 👎 Man könnte sagen: Nie gab es mehr zu tun. Wie wir das Chaos aufräumen und für weltbeste #Bildung sorgen wollen, das erklärt @riaschrdr in diesem Video. 💪 Wer sollte es sehen? Teile das Video mit deinen Freunden oder markiere sie in den Kommentaren! Unsere Lösungen: fdp.de/position/bildung #VielZuTun #BTW21
* >Briefwahlunterlagen bestellt, aber noch nicht abgeschickt? Auf geht’s! Bis Mittwoch, 22. September, sollten die Unterlagen in der Post sein. Jetzt für einen sozialdemokratischen Bundeskanzler @olafscholz stimmen, denn das bedeutet eine Stimme für: gerechte Löhne, stabile Renten, bezahlbare Mieten und Klimaschutz, der alle abholt! Wer all das und mehr möchte: Zweitstimme ist Olaf-Stimme! 🚀
:::
:::danger
**Beispiele -- FALSE (Positioning)**
* >München, Regensburg, Weiden, Hof - ich war heute in vier Städten in Bayern unterwegs. An so einem Tag treffe und spreche ich mit Menschen, die ganz unterschiedliche Themen beschäftigen: Schule, Rente, Pflege, Gleichberechtigung. Eines eint sie: Sie alle wollen eine gute Zukunft, sie wollen einen Aufbruch. Wir können wirklich etwas bewegen - und dazu heißt es: Am 26.9 @spdde wählen.
* >Twitter-Update: Der Schulstart in Bayern ist gut gelungen. #bayern #schule
* >Stark aus der Krise mit Wachstum und Jobs. #wegenmorgen
:::
### Call to Action
:::info
**Objective:**
Determine the presence or absence of explicit and implicit Call to Actions (CTAs) within German-language content sourced from Instagram texts such as posts, stories, video transcriptions, and captions related to political campaigns.
**Instructions:**
1. Segment the content into individual sentences.
2. For each sentence, identify:
a. Explicit CTA: Direct requests for an audience to act which are directed at the reader, e.g., "beide Stimmen CDU!", "Am 26. September #FREIEWÄHLER in den #Bundestag wählen."
b. Implicit CTA: Suggestions or encouragements that subtly propose an action directed at the reader without a direct command, e.g., "findet ihr unter dem Link in unserer Story."
3. CTAs should be actions that the reader or voter can perform directly, like voting for a party, clicking a link, checking more information, etc. General statements, assertions, or suggestions not directed at the reader should not be classified as CTAs.
4. If any CTA is detected, the 'Classification' should be 'True'. Otherwise, it should be 'False'.
:::
:::success
**Beispiele -- TRUE(Call to Action)**
* >Morgen beide Stimmen CDU! #wegenmorgen
* >Wir sind überzeugt: Wie es ist, darf es nicht bleiben! Deutschland braucht einen Neustart. Wir wollen, dass unser Land moderner, digitaler und freier wird. 🚀 Werden wir endlich das Land, das in uns steckt! Unterstütze uns: Mit Deinen Stimmen für die FDP. #VielZuTun #BTW21 Unsere Lösungen: fdp.de/vielzutun #VielZuTun #BTW21
* >Ich bin seit 38 Jahren Sozialdemokrat und ich freue mich gerade, dass ich Sozi sein darf, Sozi sein kann in diesen Zeiten“, sagt Komiker @ingoappelt. Und verrät, warum @OlafScholz eine super Entscheidung für Deutschland ist. Wer Olaf Scholz vor der Bundestagswahl nochmal live sehen will: Am Freitag findet ab 15 Uhr unsere Abschlusskundgebung in Köln statt. Den Link zum Stream gibt’s in der Bio!
:::
### Documentation
:::info
**Objective:** Classify any user message consisting of German social media texts based on their relation to events, particularly those that might be associated with political activities or campaigns.
**Instructions:**
Return **True** if:
* The text refers to or describes an actual physical event, media appearance, campaign tour, or series of activities (like rallies, meetings, seminars, TV appearances, or tours) where people gather, interact, or are expected to engage.
* The text highlights direct, personal activities tied to an event, media appearance, or campaign tour, such as attending interviews, meetings, or engaging in campaign activities in specific locations or media outlets.
* The text contains elements that, while promoting a political stance or not, simultaneously provide information about an event, location, or direct engagement.
* The text expresses appreciation, acknowledgment, or admiration for places, personalities, or gatherings that could be perceived as associated with political activities or campaigns.
Return **False** if:
* The text solely promotes a political figure, party, or specific political agenda without clear context or reference to a specific event or activity.
* The text explicitly delves into policy issues or in-depth political topics without mentioning an event or media appearance.
* The text promotes or instructs on procedural or organizational matters without a clear tie to a physical event, media appearance, or activity.
If the context is ambiguous or unclear, and doesn't fit the above criteria, return **False**. Return a markdown list with the columns Identifier, Classification.
:::
:::success
**Beispiele -- TRUE (Documentation)**
* >Ein wichtiger Teil meiner Arbeit ist nicht nur im Wahlkampf der direkte Austausch mit Bürgerinnen und Bürgern. Sorgen und Nöte, Ideen und Impulse, Lob und Kritik nehme ich mit nach Berlin. In den letzten Tagen habe ich mit Genossinnen und Genossen in meinem Wahlkreis an vielen Wohnungstüren geklingelt. Vielen Dank für die vielen guten Gespräche!
* > Auftakt für den 48h-Wahlkampf in #Erfurt. Zwei Stimmen für @dielinke sind eine Stimme für jeden & jede selbst und das eigene Leben. #klimagerecht #wirmachendaslandgerecht #btw21 @die_linke_th
* > Endspurt! @armin_laschet hat gestern auf seiner #Deutschlandreise das Saarland und Rheinland-Pfalz besucht, um mit starken #teamCDU Kandidaten Wahlkampf vor Ort zu machen: @schoenunterwegs und Peter Altmaier in St. Wendel und @juliakloeckner und @thomas__gebhart in Landau in der Pfalz.
* > Heute Abend findet das dritte TV #Triell statt. Ich bin gespannt auf die Fragen von @lindazervakis und @vonbrauchitschclaudia und freue mich auf die Diskussion. Schaltet ein, heute um 20.15 Uhr bei ProSieben, SAT.1 und Kabel Eins.
:::