2
0
Fork 0
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:
Martin Thoma 2014-01-19 21:47:36 +01:00
parent 3c8ca52391
commit c78e699bf5
6 changed files with 41 additions and 41 deletions

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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)\\