Dieses Programm wurde von Andreas Sitta 2017 im Rahmen der Bachelorarbeit "Entdeckung von Themen und Communitys in Online-Foren" an der TU-Dortmund erstellt. Dabei wurde der Algorithmus von Natarajan et al. der Publikation "Community detection in content-sharing social networks" implementiert.

Das Programm reduziert und wandelt die Daten eines Online-Forums in zwei ersten Schritten um. Anschlieend wird der Algorithmus angewendet, um Informationen ber die Dokumente (Threads) und die soziale Struktur des Forums zu erhalten. Der Algorithmus berechnet "Latente Variablen", welche als Wahrscheinlichkeitsverteilungen von z.B. Themen ber User (also das Interesse eines Users bezogen auf verschiedene Themen) anzusehen sind.

Anleitung:
Datensatz: Der Code basiert auf folgendem Aufbau der Daten im .json Format:

{"data" : [
{
    "author": "Autorname1",
    "html": "HTML-Code1",
    "id": "PostID1",
    "no": PostNummer1,
    "parent": "VorherigePostNummer1",
    "published": "YYYYMMDD1",
    "text": "Text-in-Kleinbuchstaben1",
    "thread": "Threadname1"
},
{
    "author": "Autorname2",
    "html": "HTML-Code2",
    "id": "PostID2",
    "no": PostNummer2,
    "parent": "VorherigePostNummer2",
    "published": "YYYYMMDD2",
    "text": "Text-in-Kleinbuchstaben2",
    "thread": "Threadname2"
}
...................................................................
...................................................................
...................................................................
]
}

Ausgefhrt werden nacheinander die main-Methoden der folgenden Klassen, welche die Hauptbestandteile sind:
Part1RawToReduced: Vorvorverarbeitung der Daten. Die Daten behalten die Grundstuktur bei, irrelevante Attribute werden entfernt, Vokabular wird erstellt, ein Post wird nur noch mit WortID und vorkommender Hufigkeit gespeichert, Stopwords und seltene Wrter werden herausgefiltert
Part2ReducedToInput: Vorverarbeitung um Input fr Link-Content Modell zu erstellen: Dokumente werden als ganzer Thread definiert und Freundschaften ber die Anzahl der Antworten eines Users auf Posts eines anderen Users
Part3LinkContent: Das Eigentliche Link-Content Modell zur Berechnung der "Latenten Variablen".
Part4DataConverter: Ausgabe dieser "Latenten Variablen"
