🔨 Project work

Session 11

15.01.2025

Seminarplan

Session Datum Topic Presenter
📂 Block 1 Introduction
1 23.10.2024 Kick-Off Christoph Adrian
2 30.10.2024 DBD: Overview & Introduction Christoph Adrian
3 06.11.2024 🔨 Introduction to working with R Christoph Adrian
📂 Block 2 Theoretical Background: Twitch & TV Election Debates
4 13.11.2024 📚 Twitch-Nutzung im Fokus Student groups
5 20.11.2024 📚 (Wirkungs-)Effekte von Twitch & TV-Debatten Student groups
6 27.11.2024 📚 Politische Debatten & Social Media Student groups
📂 Block 3 Method: Natural Language Processing
7 04.12.2024 🔨 Text as data I: Introduction Christoph Adrian
8 11.12.2024 🔨 Text as data II: Advanced Methods Christoph Adrian
9 18.12.2024 🔨 Advanced Method I: Topic Modeling Christoph Adrian
No lecture 🎄Christmas Break
10 08.01.2025 🔨 Advanced Method II: Machine Learning Christoph Adrian
📂 Block 4 Project Work
11 15.01.2025 🔨 Project work Student groups
12 22.01.2025 🔨 Project work Student groups
13 29.01.2025 📊 Project Presentation I Student groups (TBD)
14 05.02.2025 📊 Project Presentation & 🏁 Evaluation Studentds (TBD) & Christoph Adrian

Agenda

  1. Organisatorisches
  2. Peer Review
  3. 👥 Group activity

Organisatorisches

Fahrplan für die nächsten Wochen, Github-Copilot, Duplikate

Überblick der nächsten Wochen

Fahrplan für die Prüfungsleistungen


Zeitpunkte Leistung Status
Block II “Themenpräsentation” 📚
bis zum 4.12. R-Tutorials abschließen (Grundlage für Methodenblock)
bis zum 15.01. Erster vollständiger Entwurf “Projektpräsentation” 📊 🔨
vom 16.01. bis zum 21.01. Ausfüllen der Peer-Review-Formulare 🔨
vom 22.01 bis 29.01/05.02 Einarbeitung des Feedback in “Projektpräsentation” 📊
29.01./05.02 “Projektpräsentation” 📊
bis zum 02.03.25 Abgabe des Projektberichts

Your Personal Code Assistant

Zugriff auf Github Copilot via Github Education

  • Github Copilot ist ein KI-gestütztes Tool, das beim Schreiben von Code unterstützt.
  • Github Education bietet Zugriff auf Github Copilot für Studierende. Informationen zur Bewerbung gibt es hier.
  • RStudio erlaubt die Intergration von Github Copilot. Informationen dazu gibt es hier.

Erst Normalisierung, danach Erstellung von Hashes

Erkennung von (Nah-)Duplikaten mit Hilfe von custom R-Functionen

# Funktion zur Normalisierung
dbdhelpr::normalize_text(
  text,
  remove_mentions = TRUE,
  remove_hashtags = TRUE,
  remove_urls = TRUE,
  remove_rt = TRUE,
  remove_punct = TRUE
)
# Funktion für das Hashing
dbdhelpr::hash_text(
  text
)
Argument Description
text A character string to be normalized.
remove_mentions Logical. If TRUE, mentions (e.g., “(username?)”) will be removed. Default is TRUE.
remove_hashtags Logical. If TRUE, hashtags (e.g., #hashtag) will be removed. Default is TRUE.
remove_urls Logical. If TRUE, URLs (e.g., http://example.com) will be removed. Default is TRUE.
remove_rt Logical. If TRUE, retweet indicators (e.g., “RT :”) will be removed. Default is TRUE.
remove_punct Logical. If TRUE, punctuation will be removed. Default is TRUE.

Praktische Anwendung der dbdhelpr-Funktionen

Beispiel: Normalisierung & Hashing der Chat-Nachrichten

# Installation des Pakets
remotes::install_github("chrdrn/dbdhelpr")

# Transformation
chat_hashed <- chat %>% 
    mutate(
        message_nrmd = future.apply::future_lapply(message_content, dbdhelpr::normalize_text),
        message_hash = future.apply::future_lapply(message_nrmd, dbdhelpr::hash_text),
        across(message_nrmd:message_hash, ~as.character(.))
    )
# Show output
chat_hashed %>% 
    filter(message_length < 50) %>%
    select(message_content, message_nrmd, message_hash) %>% 
    slice_sample(n = 5) %>%
    gt::gt() %>% gtExtras::gt_theme_538()
message_content message_nrmd message_hash
She was a TREND SETTER shewasatrendsetter e060f38a5d57ee2038e9f12ce64ba33c
ICANT icant f98e1004ff9cff017b629d22563fc1bf
Vance is sleepr vanceissleepr 42a5444e0536a61ddf0ca9adb100de51
@HasanAbi Wife beaters too wifebeaterstoo 78a6bd3c92c0d57cb4dea79e91a8fbe3
TIM "BUILD THE WALZ" WALZ timbuildthewalzwalz 5f8f22507e50c03a9905f3538b30ec36

⚠️ Aktualisierte Datenbasis!

Re-Upload und Re-Organisation der Daten auf StudON

  • Aktualisierung bzw. neue Version der Basisdatensätze (chats.qs & transcripts.qs) mit zwei zusätzlichen Variablen
    • ..._nrmd für die normalisierten Chats/Transkripte
    • ..._hash für die gehashten Chats/Transkripte
  • Kurze Nachfrage:
    • (Geplante) Nutzung der udpipe/spacyr-Daten?

Peer Review

Hintergrund, Ablaufs & Formular

Feedback geben (lernen)

Kurzer Reminder zum Peer Review der Gruppenpräsentationen

  • Basierend auf den Projektpräsentationsentwürfen

  • Peer-Review-Formularen (Ratingskalen sowie offenen Fragen) für Präsentationen anderer Gruppen ausfüllen

  • Gruppen erhalten zusätzliches Feedback zum eigenen Projekt, dass für die Präsentation bzw. den Projektbericht verwendet werden kann

  • Ziele:

    • lernen, andere Projekte zu bewerten und konstruktives Feedback zu geben

    • lernen, Feedback zu erhalten bzw. zu bewerten und dieses in die eigene Arbeit einfließen zu lassen

Besonderheit: Individuelles Assigment!

Google Forms

Vorstellung & Anforderungen an das Peer Review

  • Jede Person gibt für zwei Gruppen Feedback ➜ jede Gruppe erhält fünf Bewertungen
  • Am 16.01. erhält jede Person eine Mail mit dem Link zu den Präsentationen
  • Deadline: Bis zum 21.01. um 23:59 müssen die Formulare ausgefüllt sein
  • Am 22.01. erhalten die Gruppen die Feedbackbögen

Time for questions

Design your own research

👥 Fertigstellung des Projektpräsentationsentwurfs

🧪 And now … you!

Für den Rest der Sitzung: Grupppenarbeit am Projektpräsentationsentwurf

Wichtige Hinweise

  • Bitte alle Änderungen an euer Entwurf der “Projektpräsentation” bis 15.01. um 23:59 einfügen, danach werden die Präsentationen bis zum Ende der Peer-Review-Phase schreibgeschützt

Arbeitsauftrag

In euren Gruppen …

  • Fertigstellung der Arbeit an der Projektpräsentation (siehe QR-Code nächste Folie)
  • Besprechung mit Expert:innen (falls notwendig)

Get started!

Bitte nutzt die jeweilige Folienvorlage für die Dokumentation euerer Ergebnisse

Gruppe 1

Gruppe 2

Gruppe 3


Gruppe 4

Gruppe 5

Gruppe 6

Time for questions, again

Bis zur nächsten Sitzung!