瀏覽代碼

Fehler korrigiert; Verlinkung mit cleveref verbessert

Martin Thoma 11 年之前
父節點
當前提交
e03e13a284

+ 31 - 22
documents/DYCOS/DYCOS-Algorithmus.tex

@@ -3,9 +3,9 @@ DYCOS (\underline{DY}namic \underline{C}lassification
 algorithm with c\underline{O}ntent and \underline{S}tructure) ist ein 
 algorithm with c\underline{O}ntent and \underline{S}tructure) ist ein 
 Knotenklassifizierungsalgorithmus, der Ursprünglich in \cite{aggarwal2011} vorgestellt 
 Knotenklassifizierungsalgorithmus, der Ursprünglich in \cite{aggarwal2011} vorgestellt 
 wurde. Er klassifiziert Knoten, indem mehrfach Random Walks startend
 wurde. Er klassifiziert Knoten, indem mehrfach Random Walks startend
-bei dem zu klassifizierenden Knoten gemacht werden und die Labels
+bei dem zu klassifizierenden Knoten $v$ gemacht werden und die Labels
 der besuchten Knoten gezählt werden. Das Label, das am häufigsten
 der besuchten Knoten gezählt werden. Das Label, das am häufigsten
-vorgekommen ist, wird als Label gewählt.
+vorgekommen ist, wird als Label 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}.
 ähnlich sind \cite{bhagat}.
@@ -17,7 +17,7 @@ stehenden Texte.
 Für diese Erweiterung wird zuerst wird Vokabular $W_t$ bestimmt, das 
 Für diese Erweiterung wird zuerst wird Vokabular $W_t$ bestimmt, das 
 charakteristisch für eine Knotengruppe ist. Wie das gemacht werden kann
 charakteristisch für eine Knotengruppe ist. Wie das gemacht werden kann
 und warum nicht einfach jedes Wort in das Vokabular aufgenommen wird,
 und warum nicht einfach jedes Wort in das Vokabular aufgenommen wird,
-wird in Abschnitt~\ref{sec:vokabularbestimmung} erläutert.\\
+wird in \cref{sec:vokabularbestimmung} erläutert.\\
 Nach der Bestimmung des Vokabulars wird für 
 Nach der Bestimmung des Vokabulars wird für 
 jedes Wort im Vokabular ein Wortknoten zum Graphen hinzugefügt. Alle
 jedes Wort im Vokabular ein Wortknoten zum Graphen hinzugefügt. Alle
 Knoten, die der Graph zuvor hatte, werden nun \enquote{Strukturknoten}
 Knoten, die der Graph zuvor hatte, werden nun \enquote{Strukturknoten}
@@ -53,17 +53,21 @@ tatsächlich die Grapherweiterung:
 
 
     Dann heißt das zufällige wechseln des aktuell betrachteten
     Dann heißt das zufällige wechseln des aktuell betrachteten
     Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in W_t$
     Knoten $v \in V_t$ zu einem benachbartem Knoten $w \in W_t$
-    und weiter zu Nachbar von $v' \in V_t$ von $w$
-    ein \textbf{inhaltlicher Mehrfachsprung}. $v'$ ist also genau
-    einen Sprung über einen Wortknoten $w$ von $v$ entfernt.
+    und weiter zu einem zufälligem Nachbar $v' \in V_t$ von $w$
+    ein \textbf{inhaltlicher Mehrfachsprung}.
 \end{definition}
 \end{definition}
 
 
+Jeder inhaltliche Mehrfachsprung beginnt und endet also in einem Strukturknoten,
+springt über einen Wortknoten und ist ein Pfad der Länge~2.
+
+Bevor der DYCOS-Algorithmus im Detail erklärt wird, sei noch auf eine
+Besonderheit hingewiesen:
 Der DYCOS-Algorithmus betrachtet die Texte, die einem Knoten 
 Der DYCOS-Algorithmus betrachtet die Texte, die einem Knoten 
-zugeornet sind, als eine
-Multimenge von Wörtern. Das heißt, zum einen wird nicht auf die
-Reihenfolge der Wörter geachtet, zum anderen wird bei Texten
-eines Knotens nicht zwischen verschiedenen Texten unterschieden.
-Jedoch wird die Anzahl der Vorkommen jedes Wortes berücksichtigt.
+zugeornet sind, als eine Multimenge von Wörtern. Das heißt, zum einen 
+wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird 
+bei Texten eines Knotens nicht zwischen verschiedenen 
+Texten unterschieden. Jedoch wird die Anzahl der Vorkommen 
+jedes Wortes berücksichtigt.
 
 
 \subsection{Datenstrukturen}
 \subsection{Datenstrukturen}
 Zusätzlich zu dem gerichteten Graphen $G_t = (V_t, E_t, V_{L,t})$ 
 Zusätzlich zu dem gerichteten Graphen $G_t = (V_t, E_t, V_{L,t})$ 
@@ -94,27 +98,32 @@ verwaltet der DYCOS-Algorithmus zwei weitere Datenstrukturen:
 \subsection{Der Algorithmus}
 \subsection{Der Algorithmus}
 Der DYCOS-Algorithmus verwendet nun für jeden Knoten der gelabelt wird
 Der DYCOS-Algorithmus verwendet nun für jeden Knoten der gelabelt wird
 $r$ Random Walks der Länge $l$, wobei mit einer Wahrscheinlichkeit 
 $r$ Random Walks der Länge $l$, wobei mit einer Wahrscheinlichkeit 
-$p_S$ ein struktureller $l$-Sprung und mit einer Wahrscheinlichkeit
-von $(1-p_S)$ ein inhaltlicher $l$-Mehrfachsprung gemacht wird.
+$p_S$ ein struktureller Sprung und mit einer Wahrscheinlichkeit
+von $(1-p_S)$ ein inhaltlicher Mehrfachsprung gemacht wird. Dieser 
+Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis
+zu den textuellen Inhalten ist. Bei $p_S = 0$ werden ausschließlich
+die Texte betrachtet, bei $p_S = 1$ ausschließlich die Struktur des
+Graphen.
 
 
 Die Vokabularbestimmung kann zu jedem Zeitpunkt $t$ durchgeführt 
 Die Vokabularbestimmung kann zu jedem Zeitpunkt $t$ durchgeführt 
 werden, muss es aber nicht.
 werden, muss es aber nicht.
 
 
-Im Folgenden werde ich den DYCOS-Algorithmus als Pseudocode vorstellen.
-Dafür benötigt man die beiden Hilfsfunktionen für den strukturellen
-Sprung sowie den inhaltlichen Mehrfachsprung:
+In \cref{alg:DYCOS} wurde der DYCOS-Algorithmus als 
+Pseudocode vorgestellt. Dafür werden die beiden Hilfsfunktionen 
+für den strukturellen Sprung sowie den inhaltlichen Mehrfachsprung
+benötigt.
 
 
-\begin{algorithm}[H]
+\begin{algorithm}
     \begin{algorithmic}[1]
     \begin{algorithmic}[1]
-        \Require \\$\G_t = (\N_t, \A_t, \T_t)$ (Netzwerk),\\
+        \Require \\$G_t = (V_t, E_t, V_{L,t})$ (Netzwerk),\\
                  $r$ (Anzahl der Random Walks),\\
                  $r$ (Anzahl der Random Walks),\\
                  $l$ (Länge eines Random Walks),\\
                  $l$ (Länge eines Random Walks),\\
                  $p_s$ (Wahrscheinlichkeit eines strukturellen Sprungs),\\
                  $p_s$ (Wahrscheinlichkeit eines strukturellen Sprungs),\\
-                 $q$ (Anzahl der betrachteten Knoten nach der Aggregatanalyse)
-        \Ensure  Klassifikation von $\N_t \setminus \T_t$\\
+                 $q$ (Anzahl der betrachteten Knoten in der Clusteranalyse)
+        \Ensure  Klassifikation von $V_t \setminus V_{L,t}$\\
         \\
         \\
 
 
-        \ForAll{Knoten $v$ in $\N_t \setminus \T_t$}
+        \ForAll{Knoten $v$ in $V_t \setminus V_{L,t}$}
             \State $d \gets $ defaultdict
             \State $d \gets $ defaultdict
             \For{$i$ von $1$ bis $r$}
             \For{$i$ von $1$ bis $r$}
                 \State $w \gets v$
                 \State $w \gets v$
@@ -140,7 +149,7 @@ Sprung sowie den inhaltlichen Mehrfachsprung:
             \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 $\N_t \setminus \T_t$
+        \State \Return Labels für $V_t \setminus V_{L,t}$
     \end{algorithmic}
     \end{algorithmic}
 \caption{DYCOS-Algorithmus}
 \caption{DYCOS-Algorithmus}
 \label{alg:DYCOS}
 \label{alg:DYCOS}

二進制
documents/DYCOS/DYCOS.pdf


+ 5 - 1
documents/DYCOS/DYCOS.tex

@@ -24,7 +24,11 @@
 \usepackage{csquotes}
 \usepackage{csquotes}
 \usepackage[colorinlistoftodos]{todonotes}
 \usepackage[colorinlistoftodos]{todonotes}
 \usepackage{subfig}         % multiple figures in one
 \usepackage{subfig}         % multiple figures in one
+\usepackage{caption}
 \usepackage{tikz}
 \usepackage{tikz}
+\usepackage{enumitem}
+\usepackage[german,nameinlink]{cleveref}
+\allowdisplaybreaks
 \usetikzlibrary{backgrounds}
 \usetikzlibrary{backgrounds}
 \usepackage{mystyle}
 \usepackage{mystyle}
 
 
@@ -32,7 +36,7 @@
 \setcounter{secnumdepth}{3}
 \setcounter{secnumdepth}{3}
 
 
 \hypersetup{ 
 \hypersetup{ 
-  pdftitle    = {Über die Klassifizierung von Knoten in dynamischen Netzwerken mit Inhalt},
+  pdftitle    = {Über die Klassifizierung von Knoten in dynamischen Netzwerken mit textuellen Inhalten},
   pdfauthor   = {Martin Thoma}, 
   pdfauthor   = {Martin Thoma}, 
   pdfkeywords = {DYCOS}
   pdfkeywords = {DYCOS}
 }
 }

+ 37 - 35
documents/DYCOS/Sprungtypen.tex

@@ -1,36 +1,52 @@
 \subsection{Sprungtypen}
 \subsection{Sprungtypen}
 Die beiden bereits definierten Sprungtypen, der strukturelle Sprung
 Die beiden bereits definierten Sprungtypen, der strukturelle Sprung
 sowie der inhaltliche Mehrfachsprung werden im folgenden erklärt.
 sowie der inhaltliche Mehrfachsprung werden im folgenden erklärt.
-
+\goodbreak
 Der strukturelle Sprung entspricht einer zufälligen Wahl eines 
 Der strukturelle Sprung entspricht einer zufälligen Wahl eines 
-Nachbarknotens. Hier gibt es nichts besonderes zu beachten.
+Nachbarknotens, wie es in \cref{alg:DYCOS-structural-hop}
+gezeigt wird.
+\begin{algorithm}[H]
+    \begin{algorithmic}[1]
+        \Procedure{SturkturellerSprung}{Knoten $v$, Anzahl $q$}
+            \State $n \gets v.\Call{NeighborCount}{}$ \Comment{Wähle aus der Liste der Nachbarknoten}
+            \State $r \gets \Call{RandomInt}{0, n-1}$ \Comment{einen zufällig aus}
+            \State $v \gets v.\Call{Next}{r}$ \Comment{Gehe zu diesem Knoten}
+            \State \Return $v$
+        \EndProcedure
+    \end{algorithmic}
+\caption{Struktureller Sprung}
+\label{alg:DYCOS-structural-hop}
+\end{algorithm}
 
 
-Bei inhaltlichen Mehrfachsprüngen sieht die Sache schon anders aus:
-Es ist nicht sinnvoll, direkt von einem strukturellem Knoten 
-$v \in \N_t$ zu einem mit $v$ verbundenen Wortknoten $w$ zu springen
+Bei inhaltlichen Mehrfachsprüngen ist jedoch nicht sinnvoll so direkt
+nach der Definition vorzugehen,  also
+direkt von einem strukturellem Knoten 
+$v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen
 und von diesem wieder zu einem verbundenem strutkurellem Knoten 
 und von diesem wieder zu einem verbundenem strutkurellem Knoten 
-$v' \in \N_t$. Würde man dies machen, wäre zu befürchten, dass
+$v' \in V_t$. Würde man dies machen, wäre zu befürchten, dass
 aufgrund von Homonymen die Qualität der Klassifizierung verringert
 aufgrund von Homonymen die Qualität der Klassifizierung verringert
 wird. So hat \enquote{Brücke} im Deutschen viele Bedeutungen.
 wird. So hat \enquote{Brücke} im Deutschen viele Bedeutungen.
 Gemeint sein können z.~B. das Bauwerk, das Entwurfsmuster der
 Gemeint sein können z.~B. das Bauwerk, das Entwurfsmuster der
 objektorientierten Programmierung oder ein Teil des Gehirns.
 objektorientierten Programmierung oder ein Teil des Gehirns.
 
 
 Deshalb wird für jeden Knoten $v$, von dem aus man einen inhaltlichen
 Deshalb wird für jeden Knoten $v$, von dem aus man einen inhaltlichen
-Mehrfachsprung machen will folgendes vorgehen gewählt:
-\begin{enumerate}
-    \item Gehe alle in $v$ startenden Random Walks der Länge 2 durch
+Mehrfachsprung machen will folgendes Clusteranalyse durchgeführt:
+\begin{enumerate}[label=C\arabic*),ref=C\arabic*]
+    \item[C1] Gehe alle in $v$ startenden Random Walks der Länge 2 durch
           und erstelle eine Liste $L$, der erreichbaren Knoten $v'$. Speichere
           und erstelle eine Liste $L$, der erreichbaren Knoten $v'$. Speichere
           außerdem, durch wie viele Pfade diese Knoten $v'$ jeweils erreichbar sind.
           außerdem, durch wie viele Pfade diese Knoten $v'$ jeweils erreichbar sind.
-    \item Betrachte im folgenden nur die Top-$q$ Knoten, wobei $q \in \mathbb{N}$
-          eine zu wählende Konstante des Algorithmus ist.
-    \item Wähle mit Wahrscheinlichkeit $\frac{\Call{Anzahl}{v'}}{\sum_{w \in L} \Call{Anzahl}{v'}}$
+    \item[C2] Betrachte im folgenden nur die Top-$q$ Knoten, wobei $q \in \mathbb{N}$
+          eine zu wählende Konstante des Algorithmus ist. \label{list:aggregate.2}
+    \item[C3] Wähle mit Wahrscheinlichkeit $\frac{\Call{Anzahl}{v'}}{\sum_{w \in L} \Call{Anzahl}{v'}}$
           den Knoten $v'$ als Ziel des Mehrfachsprungs.
           den Knoten $v'$ als Ziel des Mehrfachsprungs.
 \end{enumerate}
 \end{enumerate}
 
 
 Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
 Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
-Algorithmus~\ref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
+\cref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
 
 
-\begin{algorithm}[H]
+\begin{algorithm}
+  \caption{Inhaltlicher Mehrfachsprung}
+  \label{alg:DYCOS-content-multihop}
     \begin{algorithmic}[1]
     \begin{algorithmic}[1]
         \Procedure{InhaltlicherMehrfachsprung}{Knoten $v$}
         \Procedure{InhaltlicherMehrfachsprung}{Knoten $v$}
             \State \textit{//Alle Knoten bestimmen, die von $v$ aus über Pfade der Länge 2 erreichbar sind}
             \State \textit{//Alle Knoten bestimmen, die von $v$ aus über Pfade der Länge 2 erreichbar sind}
@@ -43,9 +59,9 @@ Algorithmus~\ref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
                 \EndFor
                 \EndFor
             \EndFor
             \EndFor
 
 
-            \State \textit{//Im folgenden gehe ich davon aus, dass ich über Indizes wahlfrei auf Elemente }
-            \State \textit{//aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl der Datenstruktur}
-            \State \textit{//berücksichtigt werden}
+            \State \textit{//Im folgenden wird davon ausgegangen, dass man über Indizes wahlfrei auf}
+            \State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl}
+            \State \textit{//der Datenstruktur berücksichtigt werden.}
             \State $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
             \State $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
             \State \textit{//Generate dictionary with relative frequencies}
             \State \textit{//Generate dictionary with relative frequencies}
             \State $s \gets 0$
             \State $s \gets 0$
@@ -56,12 +72,13 @@ Algorithmus~\ref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
             \ForAll{Knoten $x$ in $M_H$}
             \ForAll{Knoten $x$ in $M_H$}
                 \State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$
                 \State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$
             \EndFor
             \EndFor
-
+            \State \textit{//Wähle Knoten $i$ mit einer Wahrscheinlichkeit entsprechend seiner relativen}
+            \State \textit{//Häufigkeit an Pfaden der Länge 2}
             \State $random \gets \Call{random}{0, 1}$
             \State $random \gets \Call{random}{0, 1}$
-            \State $s \gets 0$
+            \State $r \gets 0.0$
             \State $i \gets 0$
             \State $i \gets 0$
             \While{$s < random$}
             \While{$s < random$}
-                \State $s \gets s + relativeFrequency[i]$
+                \State $r \gets r + relativeFrequency[i]$
                 \State $i \gets i + 1$
                 \State $i \gets i + 1$
             \EndWhile
             \EndWhile
             
             
@@ -69,19 +86,4 @@ Algorithmus~\ref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
             \State \Return $v$
             \State \Return $v$
         \EndProcedure
         \EndProcedure
     \end{algorithmic}
     \end{algorithmic}
-\caption{Inhaltlicher Mehrfachsprung}
-\label{alg:DYCOS-content-multihop}
-\end{algorithm}
-
-\begin{algorithm}[H]
-    \begin{algorithmic}[1]
-        \Procedure{SturkturellerSprung}{Knoten $v$, Anzahl $q$}
-            \State $n \gets v.\Call{NeighborCount}{}$ \Comment{Wähle aus der Liste der Nachbarknoten}
-            \State $r \gets \Call{RandomInt}{0, n-1}$ \Comment{einen zufällig aus}
-            \State $v \gets v.\Call{Next}{r}$ \Comment{Gehe zu diesem Knoten}
-            \State \Return $v$
-        \EndProcedure
-    \end{algorithmic}
-\caption{Struktureller Sprung}
-\label{alg:DYCOS-structural-hop}
 \end{algorithm}
 \end{algorithm}

+ 6 - 6
documents/DYCOS/Vokabularbestimmung.tex

@@ -21,27 +21,27 @@ In diesem Fall ist $G(w)=0$ nicht möglich, da zur Vokabularbestimmung
 nur Wörter betrachtet werden, die auch vorkommen.
 nur Wörter betrachtet werden, die auch vorkommen.
 
 
 Ein Vorschlag, wie die Vokabularbestimmung implementiert werden kann,
 Ein Vorschlag, wie die Vokabularbestimmung implementiert werden kann,
-ist als Pseudocode mit Algorithmus~\ref{alg:vokabularbestimmung}
+ist als Pseudocode mit \cref{alg:vokabularbestimmung}
 gegeben. Dieser Algorithmus benötigt neben dem Speicher für den
 gegeben. Dieser Algorithmus benötigt neben dem Speicher für den
 Graphen, die Texte sowie die $m$ Vokabeln noch $\mathcal{O}(|\text{Verschiedene Wörter in } S_t| \cdot (|\L_t| + 1))$
 Graphen, die Texte sowie die $m$ Vokabeln noch $\mathcal{O}(|\text{Verschiedene Wörter in } S_t| \cdot (|\L_t| + 1))$
 Speicher. Die Average-Case Zeitkomplexität beträgt 
 Speicher. Die Average-Case Zeitkomplexität beträgt 
 $\mathcal{O}(|\text{Wörter in } S_t|)$, wobei dazu die Vereinigung
 $\mathcal{O}(|\text{Wörter in } S_t|)$, wobei dazu die Vereinigung
 von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
 von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
 
 
-\begin{algorithm}[H]
+\begin{algorithm}
     \begin{algorithmic}[1]
     \begin{algorithmic}[1]
         \Require \\
         \Require \\
-                 $\T_t$ (Knoten mit Labels),\\
+                 $V_{L,t}$ (Knoten mit Labels),\\
                  $\L_t$ (Labels),\\
                  $\L_t$ (Labels),\\
-                 $f:\T_t \rightarrow \L_t$ (Label-Funktion),\\
+                 $f:V_{L,t} \rightarrow \L_t$ (Label-Funktion),\\
                  $m$ (Gewünschte Vokabulargröße)
                  $m$ (Gewünschte Vokabulargröße)
         \Ensure  $\M_t$ (Vokabular)\\
         \Ensure  $\M_t$ (Vokabular)\\
 
 
-        \State $S_t \gets \Call{Sample}{\T_t}$ \Comment{Wähle eine Teilmenge $S_t \subseteq \T_t$ aus}
+        \State $S_t \gets \Call{Sample}{V_{L,t}}$ \Comment{Wähle eine Teilmenge $S_t \subseteq V_{L,t}$ aus}
         \State $\M_t \gets \bigcup_{v \in S_t} \Call{getTextAsSet}{v}$ \Comment{Menge aller Wörter}
         \State $\M_t \gets \bigcup_{v \in S_t} \Call{getTextAsSet}{v}$ \Comment{Menge aller Wörter}
         \State $cLabelWords \gets (|\L_t|+1) \times |\M_t|$-Array, mit 0en initialisert\\
         \State $cLabelWords \gets (|\L_t|+1) \times |\M_t|$-Array, mit 0en initialisert\\
 
 
-        \ForAll{$v \in \T_t$} \Comment{Gehe jeden Text Wort für Wort durch}
+        \ForAll{$v \in V_{L,t}$} \Comment{Gehe jeden Text Wort für Wort durch}
             \State $i \gets \Call{getLabel}{v}$
             \State $i \gets \Call{getLabel}{v}$
             \ForAll{$(word, occurences) \in \Call{getTextAsMultiset}{v}$}
             \ForAll{$(word, occurences) \in \Call{getTextAsMultiset}{v}$}
                 \State $cLabelWords[i][word] \gets cLabelWords[i][word] + occurences$
                 \State $cLabelWords[i][word] \gets cLabelWords[i][word] + occurences$

+ 1 - 2
documents/DYCOS/abstract.tex

@@ -1,5 +1,4 @@
-In dieser Arbeit wird der DYCOS-Algorithmus, wie ihn Charu Aggarwal
-und Nan Li in \cite{aggarwal2011} vorgestellt haben, erklärt.
+In dieser Arbeit wird der DYCOS-Algorithmus, wie er in \cite{aggarwal2011} vorgestellt wurde, erklärt.
 Er klassifiziert automatisch Knoten in 
 Er klassifiziert automatisch Knoten in 
 Netzwerken, die bereits teilweise mit Labels versehen sind. Zur 
 Netzwerken, die bereits teilweise mit Labels versehen sind. Zur 
 Klassifizierung kann er textuelle Informationen, die den Knoten 
 Klassifizierung kann er textuelle Informationen, die den Knoten 

+ 46 - 40
documents/DYCOS/literatur.bib

@@ -6,26 +6,24 @@
   title       = {A Scalable Multiclass Algorithm for Node Classification},
   title       = {A Scalable Multiclass Algorithm for Node Classification},
   version     = {1},
   version     = {1},
   date        = {2011-12-19},
   date        = {2011-12-19},
+  year        = {2011},
   eprinttype  = {arxiv},
   eprinttype  = {arxiv},
   eprintclass = {cs.LG, cs.GT},
   eprintclass = {cs.LG, cs.GT},
   eprint      = {http://arxiv.org/abs/1112.4344v1}
   eprint      = {http://arxiv.org/abs/1112.4344v1}
 }
 }
 
 
 @inproceedings{aggarwal2011,
 @inproceedings{aggarwal2011,
-  author    = {Charu C. Aggarwal and
-               Nan Li},
+  author    = {Charu C. Aggarwal AND Nan Li},
   title     = {On Node Classification in Dynamic Content-based Networks},
   title     = {On Node Classification in Dynamic Content-based Networks},
   booktitle = {SDM},
   booktitle = {SDM},
   year      = {2011},
   year      = {2011},
   pages     = {355-366},
   pages     = {355-366},
   ee        = {http://siam.omnibooksonline.com/2011datamining/data/papers/033.pdf\#page=1},
   ee        = {http://siam.omnibooksonline.com/2011datamining/data/papers/033.pdf\#page=1},
-  crossref  = {aggarwal2011},
   bibsource = {DBLP, http://dblp.uni-trier.de}
   bibsource = {DBLP, http://dblp.uni-trier.de}
 }
 }
 
 
 @book{DBLP:series/ads/2010-40,
 @book{DBLP:series/ads/2010-40,
-  editor    = {Charu C. Aggarwal and
-               Haixun Wang},
+  editor    = {Charu C. Aggarwal AND Haixun Wang},
   title     = {Managing and Mining Graph Data},
   title     = {Managing and Mining Graph Data},
   booktitle = {Managing and Mining Graph Data},
   booktitle = {Managing and Mining Graph Data},
   publisher = {Springer},
   publisher = {Springer},
@@ -38,9 +36,7 @@
 }
 }
 
 
 @inproceedings{DBLP:conf/kdd/BhagatCR07,
 @inproceedings{DBLP:conf/kdd/BhagatCR07,
-  author    = {Smriti Bhagat and
-               Graham Cormode and
-               Irina Rozenbaum},
+  author    = {Smriti Bhagat AND Graham Cormode AND Irina Rozenbaum},
   title     = {Applying Link-Based Classification to Label Blogs},
   title     = {Applying Link-Based Classification to Label Blogs},
   booktitle = {WebKDD/SNA-KDD},
   booktitle = {WebKDD/SNA-KDD},
   year      = {2007},
   year      = {2007},
@@ -50,13 +46,13 @@
   bibsource = {DBLP, http://dblp.uni-trier.de}
   bibsource = {DBLP, http://dblp.uni-trier.de}
 }
 }
 @proceedings{DBLP:conf/kdd/2007web,
 @proceedings{DBLP:conf/kdd/2007web,
-  editor    = {Haizheng Zhang and
-               Myra Spiliopoulou and
-               Bamshad Mobasher and
-               C. Lee Giles and
-               Andrew McCallum and
-               Olfa Nasraoui and
-               Jaideep Srivastava and
+  editor    = {Haizheng Zhang AND
+               Myra Spiliopoulou AND
+               Bamshad Mobasher AND
+               C. Lee Giles AND
+               Andrew McCallum AND
+               Olfa Nasraoui AND
+               Jaideep Srivastava AND
                John Yen},
                John Yen},
   title     = {Advances in Web Mining and Web Usage Analysis, 9th International
   title     = {Advances in Web Mining and Web Usage Analysis, 9th International
                Workshop on Knowledge Discovery on the Web, WebKDD 2007,
                Workshop on Knowledge Discovery on the Web, WebKDD 2007,
@@ -85,33 +81,43 @@
 }
 }
 
 
 @article{Vitter,
 @article{Vitter,
-    author = {Vitter, Jeffrey S.},
-    title = {Random Sampling with a Reservoir},
-    journal = {ACM Trans. Math. Softw.},
-    volume = {11},
-    number = {1},
-    year = {1985},
-    issn = {0098-3500},
-    pages = {37--57},
-    numpages = {21},
-    url = {http://doi.acm.org/10.1145/3147.3165},
-    doi = {10.1145/3147.3165},
-    acmid = {3165},
+    author    = {Vitter, Jeffrey S.},
+    title     = {Random Sampling with a Reservoir},
+    journal   = {ACM Trans. Math. Softw.},
+    volume    = {11},
+    number    = {1},
+    year      = {1985},
+    issn      = {0098-3500},
+    pages     = {37--57},
+    numpages  = {21},
+    url       = {http://doi.acm.org/10.1145/3147.3165},
+    doi       = {10.1145/3147.3165},
+    acmid     = {3165},
     publisher = {ACM},
     publisher = {ACM},
-    address = {New York, NY, USA},
+    address   = {New York, NY, USA},
 } 
 } 
 
 
 @incollection{porter,
 @incollection{porter,
- author = {Porter, M. F.},
- chapter = {An Algorithm for Suffix Stripping},
- title = {Readings in Information Retrieval},
- editor = {Sparck Jones, Karen and Willett, Peter},
- year = {1997},
- isbn = {1-55860-454-5},
- pages = {313--316},
- numpages = {4},
- url = {http://dl.acm.org/citation.cfm?id=275537.275705},
- acmid = {275705},
- publisher = {Morgan Kaufmann Publishers Inc.},
- address = {San Francisco, CA, USA},
+ author     = {Porter, M. F.},
+ chapter    = {An Algorithm for Suffix Stripping},
+ title      = {Readings in Information Retrieval},
+ editor     = {Sparck Jones, Karen and Willett, Peter},
+ year       = {1997},
+ isbn       = {1-55860-454-5},
+ pages      = {313--316},
+ numpages   = {4},
+ url        = {http://dl.acm.org/citation.cfm?id=275537.275705},
+ acmid      = {275705},
+ publisher  = {Morgan Kaufmann Publishers Inc.},
+ address    = {San Francisco, CA, USA},
 } 
 } 
+
+@incollection{szummer,
+title       = {Partially labeled classification with Markov random walks},
+author      = {Martin Szummer and Jaakkola, Tommi},
+booktitle   = {Advances in Neural Information Processing Systems 14},
+editor      = {T.G. Dietterich and S. Becker and Z. Ghahramani},
+pages       = {945--952},
+year        = {2001},
+url         = {http://media.nips.cc/nipsbooks/nipspapers/paper_files/nips14/AA36.pdf},
+}

+ 3 - 8
documents/DYCOS/mystyle.sty

@@ -4,9 +4,9 @@
     group-separator={\,},
     group-separator={\,},
 }
 }
 
 
-\def\edges{\ensuremath{\mathcal{E}_t}}
-\def\nodes{\ensuremath{\mathcal{N}_t}}
-\def\labeledNodes{\ensuremath{\mathcal{T}_t}}
+%\def\edges{\ensuremath{\mathcal{E}_t}}
+%\def\nodes{\ensuremath{\mathcal{N}_t}}
+%\def\labeledNodes{\ensuremath{\mathcal{T}_t}}
 \DeclareUnicodeCharacter{00A0}{~}
 \DeclareUnicodeCharacter{00A0}{~}
 
 
 \theoremstyle{definition}
 \theoremstyle{definition}
@@ -14,13 +14,8 @@
 \theoremheaderfont{\normalfont\bfseries\hspace{-\theoremindent}}
 \theoremheaderfont{\normalfont\bfseries\hspace{-\theoremindent}}
 \renewtheorem{definition}{Definition}
 \renewtheorem{definition}{Definition}
 
 
-\def\A{\ensuremath{\mathcal{A}}}
-\def\G{\ensuremath{\mathcal{G}}}
 \def\L{\ensuremath{\mathcal{L}}}
 \def\L{\ensuremath{\mathcal{L}}}
 \def\M{\ensuremath{\mathcal{M}}}
 \def\M{\ensuremath{\mathcal{M}}}
-\def\N{\ensuremath{\mathcal{N}}}
-\def\T{\ensuremath{\mathcal{T}}}
-\def\powerset{\ensuremath{\mathcal{P}}}
 
 
 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
 \renewcommand{\algorithmicensure}{\textbf{Output:}}
 \renewcommand{\algorithmicensure}{\textbf{Output:}}