Graph Machine Learning Projekt

Telegram Censorship GNN

Eine graphbasierte Machine-Learning-Pipeline zur Vorhersage und Imputation gelöschter Telegram-Nachrichten mithilfe von Reply-Chain-Strukturen, Senderverhalten, zeitlichen Mustern, Propaganda-Labels und Graph Neural Networks.

Projekttyp

Unabhängiges Forschungsprojekt

Kernmethode

GATv2 / GNN

Datensatz

17M+ Telegram-Nachrichten

Aufgabe

Deletion Prediction & Imputation

Projektüberblick

Dieses Projekt untersucht Nachrichtenlöschungen und potenzielles Zensurverhalten in Telegram-Kanälen. Die Grundidee besteht darin, Telegram-Diskussionen als Graphen zu modellieren, in denen Nutzer und Nachrichten über Antworten, zeitliche Aktivität und kanalspezifische Moderationsmuster miteinander interagieren.

Im Gegensatz zu einem reinen Textklassifikator liegt der Fokus auf graphbasierter Modellierung. Die Pipeline nutzt Reply-Beziehungen, Senderverhalten, zeitliche Features, Themeninformationen, Propaganda-Indikatoren und Löschlabels, um vorherzusagen, ob eine Nachricht wahrscheinlich gelöscht wird, oder um Löschlabels in Kanälen ohne Echtzeit-Labels zu imputieren.

Forschungsmotivation

Telegram ist zu einer wichtigen Plattform für politische Kommunikation, Propaganda und großskalige Gruppendiskussionen geworden. Moderations- und Löschverhalten ist jedoch schwer zu beobachten, wenn Daten nur aus historischen Exporten stammen, da bereits vor dem Export gelöschte Nachrichten im historischen Datensatz fehlen.

Zentrales Forschungsziel: strukturelle, zeitliche, verhaltensbezogene und thematische Muster gelöschter Telegram-Nachrichten zu modellieren, um Moderations- und Zensurdynamiken besser zu verstehen.

Datensatz

Das Projekt basiert auf einem großen Telegram-Datensatz aus mehreren russischsprachigen Kanälen. Der Datensatz kombiniert historische Channel-Exports mit Echtzeit-Nachrichtenerfassung. Diese doppelte Erhebungsstrategie ermöglicht Löschlabels: Eine Nachricht, die in Echtzeit beobachtet wurde, aber später im historischen Export fehlt, kann als gelöscht markiert werden.

Datensatzmerkmale

  • Großskaliger Telegram-Datensatz mit mehr als 17 Millionen Nachrichten.
  • 13 Telegram-Kanäle, darunter Readovka, Nexta, Topor, Ru2ch, Rtrus, Shtefanov, Samaranovosti, Murz und Agitprop.
  • Kombination aus historischen und Echtzeit-Datenerhebungen.
  • Löschlabels für Kanäle mit Echtzeit-Erfassung.
  • Propaganda-Labels für pro-russische und pro-ukrainische Propaganda-Netzwerke.
  • Metadaten wie Kanal, Herkunft, Topic, Sender-ID, Zeitstempel, Reply-Beziehungen und Text.

Problemdefinition

Die zentrale überwachte Lernaufgabe ist eine binäre Klassifikation: Vorhersage, ob eine Telegram-Nachricht gelöscht oder nicht gelöscht wird. Die Zielvariable ist das Löschlabel, während die Prädiktoren Nachrichten-, Sender-, Thread-, Zeit- und Graphinformationen kombinieren.

Eine zweite wichtige Aufgabe ist die Imputation: Für Kanäle wie Murz und Agitprop, bei denen nur historische Daten und keine Echtzeit-Löschlabels verfügbar sind, kann das trainierte graphbasierte Modell Löschwahrscheinlichkeiten schätzen und Zensuranalysen auch ohne direkte Beobachtung von Löschungen unterstützen.

Graph-Konstruktion

Telegram-Konversationen wurden als Graphen dargestellt. Reply-Beziehungen sind besonders wichtig, da Moderationsentscheidungen nicht nur von einer einzelnen Nachricht abhängen können, sondern auch vom Kontext: Parent-Message, Reply Chain, aktive Nutzer und umliegende Diskussionsdynamik.

Graph Design

  • Knoten: Nachrichten oder Nutzer, abhängig von der jeweiligen Modellierungsstufe.
  • Kanten: Reply-Beziehungen zwischen Nachrichten oder Interaktionen zwischen Nutzern.
  • Edge-Attribute: Antwortverzögerung, Same-Author-Reply, Reply-Tiefe, Verhältnis der Nachrichtenlängen und Zeitinformationen.
  • Graph-Kontext: In-Degree, Out-Degree, Reply-Chain-Tiefe, Thread-Level-Löschhistorie sowie Topic- und Channel-Kontext.

Feature Engineering

Das Projekt verwendet ein reiches Feature-Set, das mehr als den reinen Nachrichtentext erfassen soll. Ziel ist es, Muster zu erkennen, die auf Moderationsrisiko hinweisen, etwa Senderhistorie, Position in der Reply Chain, zeitliche Bursts und themenspezifisches Löschverhalten.

Feature-Gruppe Beispiele Zweck
Nachrichten-FeaturesNachrichtenlänge, Wortanzahl, Links, Hashtags, FragezeichenErfassen direkte Inhaltsstruktur und oberflächennahe Textsignale
Zeitliche FeaturesStunde, Wochentag, Monat, Time Bin, tägliche NachrichtenanzahlModellieren Timing und Moderations-Bursts
Sender-FeaturesSender Message Count, frühere Löschrate, aktive Stunden, Topic-DiversitätModellieren das verhaltensbezogene Risiko eines Senders
Reply-Chain-FeaturesReply-Tiefe, Parent-Beziehung, Response Delay, Same-Author-ReplyErfassen Konversationsstruktur und Kontext
Graph-FeaturesIn-Degree, Out-Degree, zentralitätsähnliche InteraktionssignaleRepräsentieren strukturelle Bedeutung im Diskussionsnetzwerk
Propaganda- / Topic-Featuresru_pa, ua_pa, Topic, Channel, OriginErfassen Propaganda- und Channel-Kontext

Modellarchitektur

Die finale Modellierungsrichtung nutzt Graph Neural Networks, insbesondere GAT/GATv2-Architekturen. Ziel ist es, dass das Modell eine Nachricht gemeinsam mit ihrer Nachbarschaft, Reply-Struktur und Edge-Attributen lernt, anstatt jede Nachricht isoliert zu behandeln.

Modellkomponenten

  • GATv2 Encoder: lernt Node Embeddings aus Graph-Nachbarschaften und Edge-Attributen.
  • Edge-aware Classifier: kombiniert Graph Embeddings mit verhaltensbezogenen, zeitlichen und Reply-Chain-Features.
  • MLP Classification Head: prognostiziert die Löschwahrscheinlichkeit.
  • Focal Loss / Class Weighting: adressiert Klassenungleichgewicht zwischen gelöschten und nicht gelöschten Nachrichten.
  • NeighborLoader: ermöglicht skalierbares Mini-Batch-Training ohne Full-Graph-Forward-Passes.

Trainingsstrategie

Das Training wurde speicherbewusst konzipiert, da der Datensatz sehr groß ist. Das Projekt nutzt Graph-Batching im Stil von PyTorch Geometric und vermeidet Full-Graph-Forward-Passes.

Modellentwicklung

  1. Start mit channel-spezifischen Graphmodellen für Kanäle wie Samaranovosti, Nexta und Readovka.
  2. Engineering von Reply-Chain-, Senderverhaltens-, Zeit- und Graphfeatures.
  3. Training von GAT/GATv2-basierten Deletion Classifiers mit Behandlung von Klassenungleichgewicht.
  4. Evaluation mit Threshold Tuning und Klassifikationsmetriken.
  5. Nutzung von Pretraining oder Cross-Channel Learning zur Verbesserung der Robustheit.
  6. Anwendung des trainierten Modells zur Löschimputation in Kanälen ohne Echtzeit-Labels.

Evaluationsmetriken

Da gelöschte Nachrichten relativ selten sind, reicht Accuracy allein nicht aus. Die Evaluation fokussiert Ranking-Qualität, Erkennung der positiven Klasse und die Balance zwischen False Positives und False Negatives.

ROC-AUCMisst, wie gut das Modell gelöschte Nachrichten über nicht gelöschten Nachrichten einordnet.
PR-AUCWichtig bei seltenen Löschlabels, da der Fokus auf der positiven Klasse liegt.
F1-scoreBalanciert Precision und Recall nach Auswahl eines Entscheidungsschwellenwerts.

Zusätzliche Metriken

  • Precision: Anteil tatsächlich gelöschter Nachrichten unter den als gelöscht vorhergesagten Nachrichten.
  • Recall: Anteil erkannter gelöschter Nachrichten unter allen tatsächlich gelöschten Nachrichten.
  • Threshold Tuning: Auswahl der Entscheidungsgrenze, die Precision und Recall sinnvoll balanciert.
  • Confusion Matrix: Analyse von False Positives und False Negatives.

Imputations- und Smoothing-Strategie

Ein zentraler Bestandteil des Projekts ist die Schätzung von Löschwahrscheinlichkeiten für Nachrichten in Kanälen ohne echte Löschlabels. Anstatt ein zweites Modell auf modellgenerierten Labels zu trainieren, wird Smoothing nur als Post-Processing eingesetzt, um Vorhersagen konsistenter mit Graph- und Zeitstruktur zu machen.

Post-Processing-Ideen

  • Thread Smoothing: Verstärkung von Borderline-Nachrichten, wenn benachbarte Reply-Chain-Nachrichten hohe Löschwahrscheinlichkeiten haben.
  • Sender Burst Smoothing: Anpassung von Borderline-Nachrichten während kurzer senderbezogener Lösch-Bursts.
  • Time-Bin Smoothing: Nutzung gleitender Durchschnitte, um unrealistische abrupte Drops in geschätzten Löschraten zu reduzieren.
  • User-/Topic-Analyse: Aggregation von Löschwahrscheinlichkeiten nach Sender, Topic und Channel.

Ergebnisse und Interpretation

Das Projekt zeigte, dass die Vorhersage von Löschungen von der Kombination aus Graphstruktur, Senderverhalten, zeitlichem Kontext und Metadaten profitiert. Text allein reicht nicht aus, um Moderationsmuster zu verstehen, da Löschungen davon abhängen können, wer eine Nachricht sendet, wo sie im Thread steht, wann sie gepostet wird und wie sich die umgebende Diskussion entwickelt.

Die wichtigste Interpretation des Projekts ist nicht nur, dass ein Klassifikator Löschungen vorhersagen kann. Der stärkere Beitrag ist die Forschungspipeline: graphbasierte Repräsentationen von Telegram-Konversationen, leakage-bewusstes Feature Design, Evaluation bei unausgeglichenen Klassen und Nutzung des trainierten Modells für zensurorientierte Analyse und Imputation.

Limitationen

Das Projekt hat mehrere wichtige Limitationen. Erstens können gelöschte Nachrichten nur beobachtet werden, wenn Echtzeit-Erfassung existiert. Zweitens ist nicht immer klar, ob eine Nachricht vom Nutzer selbst oder durch Moderation gelöscht wurde. Drittens sollte Imputation für rein historische Kanäle als geschätztes Löschrisiko und nicht als Ground-Truth-Zensur interpretiert werden.

  • Löschlabels sind nur für Kanäle mit Echtzeit-Datenerfassung verfügbar.
  • Moderator-Löschungen und Selbstlöschungen durch Nutzer können nicht immer getrennt werden.
  • Kanalspezifische Moderationsregeln können die Cross-Channel-Generalisation reduzieren.
  • Graphmodelle benötigen sorgfältiges Memory Management bei großen Datensätzen.
  • Features mit Zukunftsinformation müssen vermieden werden, um Temporal Leakage zu verhindern.

Outcome

Dieses Projekt hat meine Fähigkeit gestärkt, eine forschungsnahe Machine-Learning-Pipeline für großskalige Social-Media-Daten zu entwickeln. Es verbindet Graph Machine Learning, zeitliches Feature Engineering, Klassifikation bei unausgeglichenen Klassen, Zensuranalyse und skalierbares Training mit PyTorch Geometric.

Es ist eines meiner wichtigsten Portfolio-Projekte, weil es sowohl technische Tiefe als auch wissenschaftliche Reife zeigt: Datenverständnis, Graph-Modellierung, Feature Design, Modellevaluation, Imputationsstrategie und sorgfältige Interpretation von Limitationen.

Graph Neural Networks GATv2 PyTorch Geometric Telegram Censorship Detection Deletion Prediction Imbalanced Classification Temporal Features Graph Features