mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 06:18:05 +02:00
Label -> Knotenbeschriftung
This commit is contained in:
parent
3c8ca52391
commit
c78e699bf5
6 changed files with 41 additions and 41 deletions
|
@ -17,7 +17,7 @@ In diesem Fall macht es jedoch einen wichtigen Unterschied, ob jemand
|
||||||
über eine Partei gutes oder schlechtes schreibt.
|
über eine Partei gutes oder schlechtes schreibt.
|
||||||
|
|
||||||
Eine einfache Erweiterung des DYCOS-Algorithmus wäre der Umgang mit
|
Eine einfache Erweiterung des DYCOS-Algorithmus wäre der Umgang mit
|
||||||
mehreren Labels.
|
mehreren Beschriftungen.
|
||||||
|
|
||||||
DYCOS beschränkt sich bei inhaltlichen Mehrfachsprüngen
|
DYCOS beschränkt sich bei inhaltlichen Mehrfachsprüngen
|
||||||
auf die Top-$q$-Wortknoten, also die $q$ ähnlichsten Knoten
|
auf die Top-$q$-Wortknoten, also die $q$ ähnlichsten Knoten
|
||||||
|
|
|
@ -24,8 +24,8 @@ Ein zentrales Element des DYCOS-Algorithmus ist der sog.
|
||||||
|
|
||||||
Der DYCOS-Algorithmus klassifiziert einzelne Knoten, indem $r$ Random Walks der Länge $l$,
|
Der DYCOS-Algorithmus klassifiziert einzelne Knoten, indem $r$ Random Walks der Länge $l$,
|
||||||
startend bei dem zu klassifizierenden Knoten $v$ gemacht werden. Dabei
|
startend bei dem zu klassifizierenden Knoten $v$ gemacht werden. Dabei
|
||||||
werden die Labels der besuchten Knoten gezählt. Das Label, das am häufigsten
|
werden die Beschriftungen der besuchten Knoten gezählt. Die Beschriftung, die am häufigsten
|
||||||
vorgekommen ist, wird als Label für $v$ gewählt.
|
vorgekommen ist, wird als Beschriftung für $v$ gewählt.
|
||||||
DYCOS nutzt also die sog. Homophilie, d.~h. die Eigenschaft, dass
|
DYCOS nutzt also die sog. Homophilie, d.~h. die Eigenschaft, dass
|
||||||
Knoten, die nur wenige Hops von einander entfernt sind, häufig auch
|
Knoten, die nur wenige Hops von einander entfernt sind, häufig auch
|
||||||
ähnlich sind \cite{bhagat}. Der DYCOS-Algorithmus arbeitet jedoch nicht
|
ähnlich sind \cite{bhagat}. Der DYCOS-Algorithmus arbeitet jedoch nicht
|
||||||
|
@ -122,22 +122,22 @@ Pseudocode vorgestellt.
|
||||||
\Else
|
\Else
|
||||||
\State $w \gets$ \Call{InhaltlicherMehrfachsprung}{$w$}
|
\State $w \gets$ \Call{InhaltlicherMehrfachsprung}{$w$}
|
||||||
\EndIf
|
\EndIf
|
||||||
\State $w \gets v.\Call{GetLabel}{ }$ \Comment{Zähle das Label}
|
\State $w \gets v.\Call{GetLabel}{ }$ \Comment{Zähle die Beschriftung}
|
||||||
\State $d[w] \gets d[w] + 1$
|
\State $d[w] \gets d[w] + 1$
|
||||||
\EndFor
|
\EndFor
|
||||||
\EndFor
|
\EndFor
|
||||||
|
|
||||||
\If{$d$ ist leer} \Comment{Es wurde kein gelabelter Knoten gesehen}
|
\If{$d$ ist leer} \Comment{Es wurde kein beschrifteter Knoten gesehen}
|
||||||
\State $M_H \gets \Call{HäufigsteLabelImGraph}{ }$
|
\State $M_H \gets \Call{HäufigsteLabelImGraph}{ }$
|
||||||
\Else
|
\Else
|
||||||
\State $M_H \gets \Call{max}{d}$
|
\State $M_H \gets \Call{max}{d}$
|
||||||
\EndIf
|
\EndIf
|
||||||
\\
|
\\
|
||||||
\State \textit{//Wähle aus der Menge der häufigsten Label $M_H$ zufällig eines aus}
|
\State \textit{//Wähle aus der Menge der häufigsten Beschriftungen $M_H$ zufällig eine aus}
|
||||||
\State $label \gets \Call{Random}{M_H}$
|
\State $label \gets \Call{Random}{M_H}$
|
||||||
\State $v.\Call{AddLabel}{label}$ \Comment{und weise dieses $v$ zu}
|
\State $v.\Call{AddLabel}{label}$ \Comment{und weise dieses $v$ zu}
|
||||||
\EndFor
|
\EndFor
|
||||||
\State \Return Labels für $V_t \setminus V_{L,t}$
|
\State \Return Beschriftungen für $V_t \setminus V_{L,t}$
|
||||||
\end{algorithmic}
|
\end{algorithmic}
|
||||||
\caption{DYCOS-Algorithmus}
|
\caption{DYCOS-Algorithmus}
|
||||||
\label{alg:DYCOS}
|
\label{alg:DYCOS}
|
||||||
|
|
Binary file not shown.
|
@ -7,31 +7,31 @@ der Aufgabenstellung hingewiesen.
|
||||||
\subsection{Motivation}\label{sec:Motivation}
|
\subsection{Motivation}\label{sec:Motivation}
|
||||||
Teilweise beschriftete Graphen sind allgegenwärtig. Publikationsdatenbanken
|
Teilweise beschriftete Graphen sind allgegenwärtig. Publikationsdatenbanken
|
||||||
mit Publikationen als Knoten, Literaturverweisen und Zitaten als Kanten
|
mit Publikationen als Knoten, Literaturverweisen und Zitaten als Kanten
|
||||||
sowie von Nutzern vergebene Beschriftungen (sog. {\it Tags}) oder Kategorien als Labels;
|
sowie von Nutzern vergebene Beschriftungen (sog. {\it Tags}) oder Kategorien als Knotenbeschriftungen;
|
||||||
Wikipedia mit Artikeln als Knoten, Links als Kanten und Kategorien
|
Wikipedia mit Artikeln als Knoten, Links als Kanten und Kategorien
|
||||||
als Labels sowie soziale Netzwerke mit Eigenschaften der Benutzer
|
als Knotenbeschriftungen sowie soziale Netzwerke mit Eigenschaften der Benutzer
|
||||||
als Labels sind drei Beispiele dafür.
|
als Knotenbeschriftungen sind drei Beispiele dafür.
|
||||||
Häufig sind Labels nur teilweise vorhanden und es ist wünschenswert die
|
Häufig sind Knotenbeschriftungen nur teilweise vorhanden und es ist wünschenswert die
|
||||||
fehlenden Labels automatisiert zu ergänzen.
|
fehlenden Knotenbeschriftungen automatisiert zu ergänzen.
|
||||||
|
|
||||||
\subsection{Problemstellung}\label{sec:Problemstellung}
|
\subsection{Problemstellung}\label{sec:Problemstellung}
|
||||||
Gegeben ist ein Graph, der teilweise gelabelt ist. Zusätzlich stehen
|
Gegeben ist ein Graph, dessen Knoten teilweise beschriftet sind. Zusätzlich stehen
|
||||||
zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels
|
zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Knotenbeschriftungen
|
||||||
für alle Knoten, die bisher noch nicht gelabelt sind.\\
|
für alle Knoten, die bisher noch nicht beschriftet sind.\\
|
||||||
|
|
||||||
\begin{definition}[Knotenklassifierungsproblem]\label{def:Knotenklassifizierungsproblem}
|
\begin{definition}[Knotenklassifierungsproblem]\label{def:Knotenklassifizierungsproblem}
|
||||||
Sei $G_t = (V_t, E_t, V_{L,t})$ ein gerichteter Graph,
|
Sei $G_t = (V_t, E_t, V_{L,t})$ ein gerichteter Graph,
|
||||||
wobei $V_t$ die Menge aller Knoten,
|
wobei $V_t$ die Menge aller Knoten,
|
||||||
$E_t$ die Kantenmenge und $V_{L,t} \subseteq V_t$ die Menge der
|
$E_t$ die Kantenmenge und $V_{L,t} \subseteq V_t$ die Menge der
|
||||||
gelabelten Knoten jeweils zum Zeitpunkt $t$ bezeichne.
|
beschrifteten Knoten jeweils zum Zeitpunkt $t$ bezeichne.
|
||||||
Außerdem sei $L_t$ die Menge aller zum Zeitpunkt $t$ vergebenen
|
Außerdem sei $L_t$ die Menge aller zum Zeitpunkt $t$ vergebenen
|
||||||
Labels und $f:V_{L,t} \rightarrow L_t$ die Funktion, die einen
|
Knotenbeschriftungen und $f:V_{L,t} \rightarrow L_t$ die Funktion, die einen
|
||||||
Knoten auf sein Label abbildet.
|
Knoten auf seine Beschriftung abbildet.
|
||||||
|
|
||||||
Weiter sei für jeden Knoten $v \in V$ eine (eventuell leere)
|
Weiter sei für jeden Knoten $v \in V$ eine (eventuell leere)
|
||||||
Textmenge $T(v)$ gegeben.
|
Textmenge $T(v)$ gegeben.
|
||||||
|
|
||||||
Gesucht sind nun Labels für $V_t \setminus V_{L,t}$, also
|
Gesucht sind nun Beschriftungen für $V_t \setminus V_{L,t}$, also
|
||||||
$\tilde{f}: V_t \rightarrow L_t$ mit
|
$\tilde{f}: V_t \rightarrow L_t$ mit
|
||||||
$\tilde{f}|_{V_{L,t}} = f$.
|
$\tilde{f}|_{V_{L,t}} = f$.
|
||||||
\end{definition}
|
\end{definition}
|
||||||
|
@ -45,4 +45,4 @@ Außerdem stehen textuelle Inhalte zu den
|
||||||
Knoten bereit, die bei der Klassifikation genutzt werden können.
|
Knoten bereit, die bei der Klassifikation genutzt werden können.
|
||||||
Bei kleinen Änderungen sollte nicht alles nochmals berechnen
|
Bei kleinen Änderungen sollte nicht alles nochmals berechnen
|
||||||
werden müssen, sondern basierend auf zuvor
|
werden müssen, sondern basierend auf zuvor
|
||||||
berechneten Labels sollte die Klassifizierung angepasst werden.
|
berechneten Knotenbeschriftungen sollte die Klassifizierung angepasst werden.
|
||||||
|
|
|
@ -2,15 +2,15 @@ Der in \cite{aggarwal2011} vorgestellte Algorithmus hat einige Probleme,
|
||||||
die im Folgenden erläutert werden. Außerdem werden Verbesserungen
|
die im Folgenden erläutert werden. Außerdem werden Verbesserungen
|
||||||
vorgeschlagen, die es allerdings noch zu untersuchen gilt.
|
vorgeschlagen, die es allerdings noch zu untersuchen gilt.
|
||||||
|
|
||||||
\subsection{Anzahl der Labels}
|
\subsection{Anzahl der Knotenbeschriftungen}
|
||||||
So, wie der DYCOS-Algorithmus vorgestellt wurde, können nur Graphen bearbeitet werden,
|
So, wie der DYCOS-Algorithmus vorgestellt wurde, können nur Graphen bearbeitet werden,
|
||||||
deren Knoten jeweils höchstens ein Label haben. In vielen Fällen, wie z.~B.
|
deren Knoten jeweils höchstens eine Beschriftung haben. In vielen Fällen, wie z.~B.
|
||||||
Wikipedia mit Kategorien als Labels haben Knoten jedoch viele Labels.
|
Wikipedia mit Kategorien als Knotenbeschriftungen haben Knoten jedoch viele Beschriftungen.
|
||||||
|
|
||||||
Auf einen ersten Blick ist diese Schwäche einfach zu beheben, indem
|
Auf einen ersten Blick ist diese Schwäche einfach zu beheben, indem
|
||||||
man beim zählen der Labels für jeden Knoten jedes Label zählt. Dann
|
man beim zählen der Knotenbeschriftungen für jeden Knoten jedes Beschriftung zählt. Dann
|
||||||
wäre noch die Frage zu klären, mit wie vielen Labels der betrachtete
|
wäre noch die Frage zu klären, mit wie vielen Beschriftungen der betrachtete
|
||||||
Knoten gelabelt werden soll.
|
Knoten beschriftet werden soll.
|
||||||
|
|
||||||
Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine
|
Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine
|
||||||
Hierarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren}
|
Hierarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren}
|
||||||
|
@ -29,11 +29,11 @@ Minimalbeispiel:
|
||||||
|
|
||||||
Gegeben sei ein dynamischer Graph ohne textuelle Inhalte. Zum Zeitpunkt
|
Gegeben sei ein dynamischer Graph ohne textuelle Inhalte. Zum Zeitpunkt
|
||||||
$t=1$ habe dieser Graph genau einen Knoten $v_1$ und $v_1$ sei
|
$t=1$ habe dieser Graph genau einen Knoten $v_1$ und $v_1$ sei
|
||||||
mit dem Label $A$ beschriftet. Zum Zeitpunkt $t=2$ komme ein nicht-gelabelter
|
mit dem $A$ beschriftet. Zum Zeitpunkt $t=2$ komme ein nicht beschrifteter
|
||||||
Knoten $v_2$ sowie die Kante $(v_2, v_1)$ hinzu.\\
|
Knoten $v_2$ sowie die Kante $(v_2, v_1)$ hinzu.\\
|
||||||
Nun wird der DYCOS-Algorithmus auf diesen Knoten angewendet und
|
Nun wird der DYCOS-Algorithmus auf diesen Knoten angewendet und
|
||||||
$v_2$ mit $A$ gelabelt.\\
|
$v_2$ mit $A$ beschriftet.\\
|
||||||
Zum Zeitpunkt $t=3$ komme ein Knoten $v_3$, der mit $B$ gelabelt ist,
|
Zum Zeitpunkt $t=3$ komme ein Knoten $v_3$, der mit $B$ beschriftet ist,
|
||||||
und die Kante $(v_2, v_3)$ hinzu.
|
und die Kante $(v_2, v_3)$ hinzu.
|
||||||
|
|
||||||
\begin{figure}[ht]
|
\begin{figure}[ht]
|
||||||
|
@ -62,21 +62,21 @@ und die Kante $(v_2, v_3)$ hinzu.
|
||||||
Würde man nun den DYCOS-Algorithmus erst jetzt, also anstelle von
|
Würde man nun den DYCOS-Algorithmus erst jetzt, also anstelle von
|
||||||
Zeitpunkt $t=2$ zum Zeitpunkt $t=3$ auf den Knoten $v_2$ anwenden, so
|
Zeitpunkt $t=2$ zum Zeitpunkt $t=3$ auf den Knoten $v_2$ anwenden, so
|
||||||
würde eine $50\%$-Wahrscheinlichkeit bestehen, dass dieser mit $B$
|
würde eine $50\%$-Wahrscheinlichkeit bestehen, dass dieser mit $B$
|
||||||
gelabelt wird. Aber in diesem Beispiel wurde der Knoten schon
|
beschriftet wird. Aber in diesem Beispiel wurde der Knoten schon
|
||||||
zum Zeitpunkt $t=2$ gelabelt. Obwohl es in diesem kleinem Beispiel
|
zum Zeitpunkt $t=2$ beschriftet. Obwohl es in diesem kleinem Beispiel
|
||||||
noch keine Rolle spielt, wird das Problem klar, wenn man weitere
|
noch keine Rolle spielt, wird das Problem klar, wenn man weitere
|
||||||
Knoten einfügt:
|
Knoten einfügt:
|
||||||
|
|
||||||
Wird zum Zeitpunkt $t=4$ ein ungelabelter Knoten $v_4$ und die Kanten
|
Wird zum Zeitpunkt $t=4$ ein unbeschrifteter Knoten $v_4$ und die Kanten
|
||||||
$(v_1, v_4)$, $(v_2, v_4)$, $(v_3, v_4)$ hinzugefügt, so ist die
|
$(v_1, v_4)$, $(v_2, v_4)$, $(v_3, v_4)$ hinzugefügt, so ist die
|
||||||
Wahrscheinlichkeit, dass $v_4$ mit $A$ gelabelt wird bei $\frac{2}{3}$.
|
Wahrscheinlichkeit, dass $v_4$ mit $A$ beschriftet wird bei $\frac{2}{3}$.
|
||||||
Werden die ungelabelten Knoten jedoch erst jetzt und alle gemeinsam
|
Werden die unbeschrifteten Knoten jedoch erst jetzt und alle gemeinsam
|
||||||
gelabelt, so ist die Wahrscheinlichkeit für $A$ als Label bei nur $50\%$.
|
beschriftet, so ist die Wahrscheinlichkeit für $A$ als Beschriftung bei nur $50\%$.
|
||||||
Bei dem DYCOS-Algorithmus findet also eine Überanpassung an vergangene
|
Bei dem DYCOS-Algorithmus findet also eine Überanpassung an vergangene
|
||||||
Labels statt.
|
Beschriftungen statt.
|
||||||
|
|
||||||
Das Reklassifizieren von Knoten könnte eine mögliche Lösung für dieses
|
Das Reklassifizieren von Knoten könnte eine mögliche Lösung für dieses
|
||||||
Problem sein. Knoten, die durch den DYCOS-Algorithmus gelabelt wurden
|
Problem sein. Knoten, die durch den DYCOS-Algorithmus beschriftet wurden
|
||||||
könnten eine Lebenszeit bekommen (TTL, Time to Live). Ist diese
|
könnten eine Lebenszeit bekommen (TTL, Time to Live). Ist diese
|
||||||
abgelaufen, wird der DYCOS-Algorithmus erneut auf den Knoten angewendet.
|
abgelaufen, wird der DYCOS-Algorithmus erneut auf den Knoten angewendet.
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ bewertet. Er ist immer im Intervall $[0,1]$, wobei $0$ einer
|
||||||
Gleichverteilung entspricht und $1$ der größtmöglichen Ungleichverteilung.
|
Gleichverteilung entspricht und $1$ der größtmöglichen Ungleichverteilung.
|
||||||
|
|
||||||
Sei nun $n_i(w)$ die Häufigkeit des Wortes $w$ in allen Texten mit
|
Sei nun $n_i(w)$ die Häufigkeit des Wortes $w$ in allen Texten mit
|
||||||
dem $i$-ten Label.
|
der $i$-ten Knotenbeschriftung.
|
||||||
\begin{align}
|
\begin{align}
|
||||||
p_i(w) &:= \frac{n_i(w)}{\sum_{j=1}^{|\L_t|} n_j(w)} &\text{(Relative Häufigkeit des Wortes $w$)}\\
|
p_i(w) &:= \frac{n_i(w)}{\sum_{j=1}^{|\L_t|} n_j(w)} &\text{(Relative Häufigkeit des Wortes $w$)}\\
|
||||||
G(w) &:= \sum_{j=1}^{|\L_t|} p_j(w)^2 &\text{(Gini-Koeffizient von $w$)}
|
G(w) &:= \sum_{j=1}^{|\L_t|} p_j(w)^2 &\text{(Gini-Koeffizient von $w$)}
|
||||||
|
@ -39,9 +39,9 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
|
||||||
\begin{algorithm}
|
\begin{algorithm}
|
||||||
\begin{algorithmic}[1]
|
\begin{algorithmic}[1]
|
||||||
\Require \\
|
\Require \\
|
||||||
$V_{L,t}$ (Knoten mit Labels),\\
|
$V_{L,t}$ (beschriftete Knoten),\\
|
||||||
$\L_t$ (Labels),\\
|
$\L_t$ (Beschriftungen),\\
|
||||||
$f:V_{L,t} \rightarrow \L_t$ (Label-Funktion),\\
|
$f:V_{L,t} \rightarrow \L_t$ (Beschriftungsfunktion),\\
|
||||||
$m$ (Gewünschte Vokabulargröße)
|
$m$ (Gewünschte Vokabulargröße)
|
||||||
\Ensure $\M_t$ (Vokabular)\\
|
\Ensure $\M_t$ (Vokabular)\\
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue