Vorlesung 11 - Einführung in die Themenmodellierung Flashcards
Topic Mining und Analyse
- Thema (Topic) ≈ Hauptgedanke der in Textdaten diskutiert wird
− Gegenstand einer Diskussion oder Konversation
− Verschiedene Granularitäten (z.B. Topic eines Satzes, Artikels etc.) - Modellierung (Detektion) von Themen in klassischen Anwendungen
− Was sind die aktuellen Forschungsthemen im Data Mining? Wie unterscheiden sie sich von
denen vor 5 Jahren?
− Was mögen die Kunden am iPhone X? Was mögen sie nicht?
− Was waren die Hauptthemen, die im Rahmen der Europawahl 2024 diskutiert wurden? - Forensische Anwendungsszenarien
− Worüber haben Teilnehmer eines Gruppenchats/Kanals/sozialen Netzwerks in einem forensisch
relevanten Zeitraum geschrieben?
Aufgaben
- Aufgabe 1: Finde k Topics!
- Aufgabe 2: Finde heraus, welche Dokumente sich mit welchem Thema beschäftigen
Formalisierung
Eingabe
* Sammlung von N Textdokumenten: 𝑪 = {𝒅𝟏, … , 𝒅𝑵}
* Anzahl Topics: k
Ausgabe
* k Topics: { 𝜽𝟏, … , 𝜽𝒌 }
* Abdeckung der Topics in jedem 𝑑𝑖 : { 𝝅𝒊𝟏, … ,𝝅𝒊𝒌 }
* 𝜋𝑖𝑗 = Wahrscheinlichkeit von
𝑑𝑖 Topic 𝜃𝑗 zu thematisieren
Finde 𝑘 thematische Terme in C
- Parsen der Texte in 𝐶 um Kandidatenterme zu erhalten (z.B. 𝑇𝑒𝑟𝑚 = 𝑊𝑜𝑟𝑡).
- Design einer Scoring-Funktion zur Messung wie gut jeder Term als Topic ist.
− Bevorzugung eines repräsentativen Terms (hohe Häufigkeit wird bevorzugt)
− Vermeide zu häufige Terme (z.B. “der”, “ein”).
− TF-IDF-Weighting aus dem Textretrieval kann hilfreich sein
− Domänenspezifische Heuristiken sind möglich (z.B. Bevorzugung von Wörtern im Titel, Hashtags in
Tweets). - Wähle 𝑘 Terme mit den höchsten Scores, aber versuche Redundanz zu vermeiden.
− Wenn verschiedene Terme sehr ähnlich oder eng miteinander verbunden sind, wähle einen und
ignoriere alle anderen.
Probleme mit einzelnen Termen als Topic
- Fehlen von Ausdruckskraft
− Kann nur einfache/allgemeine Topics repräsentieren
− Kann keine komplizierten Topics repräsentieren
-> Lösung Tpopic = {mehere Wörter} - Unvollständigkeit der Abdeckung des Vokabulars
− Kann nicht mit Variationen des Vokabulars umgehen
-> Gewichtung der Wörter
(z.B. zugehörige Wörter) - Wortsinnambiguität
− Ein Topic-Term oder verwandter Term kann mehrdeutig sein (z.B. basketball star
vs. star in the sky)
-> Unterstreichen ambiger Wörter
propapilistische Sprachmodelle können alle Lösungsansätze umsetzen
Besserer Ansatz: Topic = Wortverteilung - Formalisierung
Eingabe
* Sammlung von N Textdokumenten: 𝑪 = {𝒅𝟏, … , 𝒅𝑵}
* Vokabular: 𝑽 = {𝒘𝟏, … , 𝒘𝑴}
* Anzahl Topics: k
Ausgabe
* k Topics: 𝜽𝟏, … , 𝜽𝒌 (jedes eine Wortverteilung)
* Abdeckung der Topics in jedem 𝑑𝑖 :{ 𝝅𝒊𝟏, … ,𝝅𝒊𝒌 }
* 𝜋𝑖𝑗 = Wahrscheinlichkeit von 𝑑𝑖 Topic
𝜃𝑗 zu thematisieren
-> Nebenbedingungen: Summe aller Wörter = 1, Sume Topic-Abdeckung = 1
Berechnung der Topic-Abdeckung: 𝜋𝑖𝑗
𝜋𝑖𝑗 = count ( θj, di)/ Σ (oben: k, unten: λ = 1) count ( θc, di)
Wie gut funktioniert dieser Ansatz? -> 𝜋𝑖𝑗
Am beispiel ““star”
* Problematik:
1. zugehörige Wörter müssen auch gezählt werden
2. “star” kann mehrdeutig sein -> Ambiguitäten
3. Identifizierung komplizierter Topics
Generatives Modell für Topic Mining
- 𝑷 (𝑫𝒂𝒕𝒂 | 𝑴𝒐𝒅𝒆𝒍, 𝚲)
𝚲 = ({𝜽𝟏, … , 𝜽𝒌} , {𝝅𝟏𝟏, … , 𝝅𝟏𝒌} , … , {𝝅𝑵𝟏, … , 𝝅𝑵𝒌}) - Parameter λ zur Texterzeugung
- λ* = arg max λp 𝑷 (𝑫𝒂𝒕𝒂 | 𝑴𝒐𝒅𝒆𝒍, λ)
- Anzahl Parameter = k + kN
- Anzahl Parameter = Anzahl Topics + Anzahl Dokumente
Aufgaben des/r Topic Mining und Analyse
- Eingabe: Sammlung 𝐶, Anzahl Topics 𝑘, Vokabular 𝑉
- Ausgabe: Menge Topics, jedes repräsentiert als Wortverteilung; Abdeckung aller Topics in
jedem Dokument
𝚲 = ({ 𝜽𝟏, … , 𝜽𝒌 }, { 𝝅𝟏𝟏, … , 𝝅𝟏𝒌 }, … , { 𝝅𝑵𝟏, … , 𝝅𝑵𝒌 })
Maximum Likelihood vs. Bayes‘sche
Schätzung
- Maximum Likelihood-Schätzung
-> “beste” bedeutet “Daten-Likelihood
erreicht ihr Maximum”
-> keine Stichproben
-> Gegeben 𝜽 → welches 𝑋 hat eine höhere Likelihood?
-> Gegeben 𝑿 → welches 𝜃 maximiert 𝑝(𝑋| 𝜃)? [ML-Schätzung] - Bayes’sche Schätzung
-> “beste” bedeutet konsistent mit dem “aPriori” Wissen und gute Erklärung der
Daten
-> Muss ein a-priori-Wissen definieren: 𝒑(𝜽)
−> Posterior-Verteilung: 𝒑(𝜽|𝑿) ∝ 𝒑(𝑿|𝜽)𝒑(𝜽)
→ Erlaubt die Inferenz eines “abgeleiteten Wertes” von 𝜽!
Sprachmodelle
- Sprachmodell = Wahrscheinlichkeitsverteilung über Text = generatives Modell für
Textdaten - Unigram- Sprachmodell = Wortverteilung