Browse Source

Verbesserungsvorschlaege von C. Oessner (Email vom 15.01.2014) eingearbeitet; Definition von 'Random Walk' hinzugefügt

Martin Thoma 12 years ago
parent
commit
3c8ca52391

+ 3 - 3
documents/DYCOS/Ausblick.tex

@@ -3,9 +3,9 @@ vielen Punkten verbessern. So könnte man vor der Auswahl des
 Vokabulars jedes Wort auf den Wortstamm zurückführen.
 Vokabulars jedes Wort auf den Wortstamm zurückführen.
 Dafür könnte zum Beispiel der in \cite{porter} vorgestellte 
 Dafür könnte zum Beispiel der in \cite{porter} vorgestellte 
 Porter-Stemming-Algorithmus verwendet werden. Durch diese Maßnahme wird das
 Porter-Stemming-Algorithmus verwendet werden. Durch diese Maßnahme wird das
-Vokabular kleiner gehalten, mehr Artikel können mit einander
-durch Vokabular verbunden werden und der Gini-Koeffizient wird ein
-besseres Maß für die Gleichheit von Texten.
+Vokabular kleiner gehalten wodurch mehr Artikel mit einander
+durch Vokabular verbunden werden können. Außerdem könnte so der 
+Gini-Koeffizient ein besseres Maß für die Gleichheit von Texten werden.
 
 
 Eine weitere Verbesserungsmöglichkeit besteht in der Textanalyse.
 Eine weitere Verbesserungsmöglichkeit besteht in der Textanalyse.
 Momentan ist diese noch sehr einfach gestrickt und ignoriert die
 Momentan ist diese noch sehr einfach gestrickt und ignoriert die

BIN
documents/DYCOS/DYCOS.pdf


+ 3 - 0
documents/DYCOS/README.md

@@ -10,3 +10,6 @@ TODO
 * Abschnitt "Problemstellung" überarbeiten
 * Abschnitt "Problemstellung" überarbeiten
 * Abbildung verlinken
 * Abbildung verlinken
 * Algorithmen erklären
 * Algorithmen erklären
+* Warum sind Stellenangaben überflüssig?
+* Map erklären
+* Algorithmus 4, S. 9

+ 5 - 30
documents/DYCOS/SchwaechenVerbesserungen.tex

@@ -2,10 +2,9 @@ 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{Schwächen von DYCOS}
-\subsubsection{Anzahl der Labels}
+\subsection{Anzahl der Labels}
 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 höchstens ein Label haben. In vielen Fällen, wie z.~B. 
+deren Knoten jeweils höchstens ein Label haben. In vielen Fällen, wie z.~B. 
 Wikipedia mit Kategorien als Labels haben Knoten jedoch viele Labels.
 Wikipedia mit Kategorien als Labels haben Knoten jedoch viele Labels.
 
 
 Auf einen ersten Blick ist diese Schwäche einfach zu beheben, indem 
 Auf einen ersten Blick ist diese Schwäche einfach zu beheben, indem 
@@ -22,7 +21,7 @@ sowohl für diese Kategorie als auch für die Kategorie \enquote{Klassifikation}
 zählen.
 zählen.
 
 
 
 
-\subsubsection{Überanpassung und Reklassifizierung}
+\subsection{Überanpassung und Reklassifizierung}
 Aggarwal und Li beschreiben in \cite{aggarwal2011} nicht, auf welche
 Aggarwal und Li beschreiben in \cite{aggarwal2011} nicht, auf welche
 Knoten der Klassifizierungsalgorithmus angewendet werden soll. Jedoch
 Knoten der Klassifizierungsalgorithmus angewendet werden soll. Jedoch
 ist die Reihenfolge der Klassifizierung relevant. Dazu folgendes 
 ist die Reihenfolge der Klassifizierung relevant. Dazu folgendes 
@@ -71,7 +70,7 @@ Knoten einfügt:
 Wird zum Zeitpunkt $t=4$ ein ungelabelter Knoten $v_4$ und die Kanten
 Wird zum Zeitpunkt $t=4$ ein ungelabelter 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$ gelabelt wird bei $\frac{2}{3}$.
-Werden die als ungelabelten Knoten jedoch erst jetzt und alle gemeinsam
+Werden die ungelabelten Knoten jedoch erst jetzt und alle gemeinsam
 gelabelt, so ist die Wahrscheinlichkeit für $A$ als Label bei nur $50\%$.
 gelabelt, so ist die Wahrscheinlichkeit für $A$ als Label 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.
 Labels statt.
@@ -81,28 +80,4 @@ Problem sein. Knoten, die durch den DYCOS-Algorithmus gelabelt 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.
 
 
-\subsection{Schwächen des Papers}
-In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe 
-des DBLP-Datensatzes\footnote{http://dblp.uni-trier.de/} und des
-CORA-Datensatzes\footnote{\href{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}} durchgeführt.
-Die Ergebnisse dieser Analyse können aus folgenden Gründen
-nicht überprüft werden:
-\begin{itemize}
-    \item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten
-          aller Wortknoten beschränkt, wird erst mit der Experimentellen
-          Analyse auf S.~362 eingeführt.
-          Es ist nicht klar, wie entschieden wird welche Kanten
-          gespeichert werden und welche nicht.
-    \item Für die Analyse der CORA-Datensatzes analysiert.
-          Dieser beinhaltet Forschungsarbeiten, wobei die 
-          Forschungsgebiete die in einen Baum mit 73 Blättern 
-          eingeordnet wurden. Aus diesen 73 Blättern wurden 5 Klassen
-          extrahiert und der Graph, der keine Zeitpunkte beinhaltet,
-          künstlich in 10 Graphen mit Zeitpunkten unterteilt. Wie
-          jedoch diese Unterteilung genau durchgeführt wurde kann nicht
-          nachvollzogen werden.
-    \item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte
-          Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings
-          werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert
-          und mit $\theta$ die Klassifikationsgüte gemessen.
-\end{itemize}
+

+ 8 - 6
documents/DYCOS/Sprungtypen.tex

@@ -54,14 +54,16 @@ die Anzahl der möglichen Zielknoten $v' \in V_T$ auf diejenigen
 $q$ Knoten, die $v$ bzgl. der Textanalyse am ähnlichsten sind.
 $q$ Knoten, die $v$ bzgl. der Textanalyse am ähnlichsten sind.
 
 
 In \cref{alg:l2} bis \cref{alg:l5} wird \cref{step:c1} durchgeführt.
 In \cref{alg:l2} bis \cref{alg:l5} wird \cref{step:c1} durchgeführt.
+
 In \cref{alg:l6} wird \cref{step:c2} durchgeführt. Bei der
 In \cref{alg:l6} wird \cref{step:c2} durchgeführt. Bei der
-Wahl der Datenstruktur $M_H$ ist zu beachten, dass man in
-\cref{alg:21} über Indizes auf Elemente aus $M_H$ zugreifen können muss.
+Wahl der Datenstruktur von $T$ ist zu beachten, dass man in
+\cref{alg:21} über Indizes auf Elemente aus $T$ zugreifen können muss.
 
 
 In \cref{alg:l8} bis \cref{alg:l13} wird ein Wörterbuch erstellt,
 In \cref{alg:l8} bis \cref{alg:l13} wird ein Wörterbuch erstellt,
 das von $v' \in T(v)$ auf die relative
 das von $v' \in T(v)$ auf die relative
 Häufigkeit bzgl. aller Pfade von $v$ zu Knoten aus den Top-$q$ abbildet.
 Häufigkeit bzgl. aller Pfade von $v$ zu Knoten aus den Top-$q$ abbildet.
 
 
+In allen folgenden Zeilen wird \cref{step:c3} durchgeführt. 
 In \cref{alg:15} bis \cref{alg:22} wird ein Knoten $v' \in T(v)$ mit
 In \cref{alg:15} bis \cref{alg:22} wird ein Knoten $v' \in T(v)$ mit
 einer Wahrscheinlichkeit, die seiner relativen Häufigkeit am Anteil
 einer Wahrscheinlichkeit, die seiner relativen Häufigkeit am Anteil
 der Pfaden der Länge 2 von $v$ nach $v'$ über einen beliebigen 
 der Pfaden der Länge 2 von $v$ nach $v'$ über einen beliebigen 
@@ -78,14 +80,14 @@ Wortknoten entspricht ausgewählt und schließlich zurückgegeben.
                     \State $reachableNodes[x] \gets reachableNodes[x] + 1$
                     \State $reachableNodes[x] \gets reachableNodes[x] + 1$
                 \EndFor
                 \EndFor
             \EndFor\label{alg:l5}
             \EndFor\label{alg:l5}
-            \State \label{alg:l6} $M_H \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|M_H| = q$, falls $|reachableNodes|\geq q$}
+            \State \label{alg:l6} $T \gets \Call{max}{reachableNodes, q}$ \Comment{Also: $|T| = q$, falls $|reachableNodes|\geq q$}
             \\
             \\
             \State \label{alg:l8} $s \gets 0$
             \State \label{alg:l8} $s \gets 0$
-            \ForAll{Knoten $x$ in $M_H$}
+            \ForAll{Knoten $x \in T$}
                 \State $s \gets s + reachableNodes[x]$
                 \State $s \gets s + reachableNodes[x]$
             \EndFor
             \EndFor
             \State $relativeFrequency \gets $ Dictionary
             \State $relativeFrequency \gets $ Dictionary
-            \ForAll{Knoten $x$ in $M_H$}
+            \ForAll{Knoten $x \in T$}
                 \State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$
                 \State $relativeFrequency \gets \frac{reachableNodes[x]}{s}$
             \EndFor\label{alg:l13} 
             \EndFor\label{alg:l13} 
             \\
             \\
@@ -97,7 +99,7 @@ Wortknoten entspricht ausgewählt und schließlich zurückgegeben.
                 \State $i \gets i + 1$
                 \State $i \gets i + 1$
             \EndWhile
             \EndWhile
             
             
-            \State $v \gets M_H[i-1]$ \label{alg:21}
+            \State $v \gets T[i-1]$ \label{alg:21}
             \State \Return $v$ \label{alg:22} 
             \State \Return $v$ \label{alg:22} 
         \EndProcedure
         \EndProcedure
     \end{algorithmic}
     \end{algorithmic}

+ 7 - 3
documents/DYCOS/Vokabularbestimmung.tex

@@ -62,7 +62,11 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
             \ForAll{Label $i \in \L_t$}
             \ForAll{Label $i \in \L_t$}
                 \State $p[i] \gets \frac{cLabelWords[i][w]}{cLabelWords[i][|\L_t|]}$
                 \State $p[i] \gets \frac{cLabelWords[i][w]}{cLabelWords[i][|\L_t|]}$
             \EndFor
             \EndFor
-            \State $w$.gini $\gets$ \Call{sum}{{\sc map}({\sc square}, $p$)}
+
+            \State $w$.gini $\gets 0$
+            \ForAll{$i \in 1, \dots, |\L_t|$}
+                \State $w$.gini $\gets$ $w$.gini + $p[i]^2$
+            \EndFor
         \EndFor
         \EndFor
 
 
         \State $\M_t \gets \Call{SortDescendingByGini}{\M_t}$
         \State $\M_t \gets \Call{SortDescendingByGini}{\M_t}$
@@ -72,6 +76,6 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
 \label{alg:vokabularbestimmung}
 \label{alg:vokabularbestimmung}
 \end{algorithm}
 \end{algorithm}
 
 
-Die Menge $S_t$ kann durch Aus der Menge aller Dokumenten, deren 
-Knoten gelabelt sind, mithilfe des in \cite{Vitter} vorgestellten
+Die Menge $S_t$ kann aus der Menge aller Dokumente, deren 
+Knoten beschriftet sind, mithilfe des in \cite{Vitter} vorgestellten
 Algorithmus bestimmt werden.
 Algorithmus bestimmt werden.

+ 25 - 0
documents/DYCOS/schwaechenPaper.tex

@@ -0,0 +1,25 @@
+\subsection{Schwächen des Papers}
+In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe 
+des DBLP-Datensatzes\footnote{http://dblp.uni-trier.de/} und des
+CORA-Datensatzes\footnote{\href{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}{http://people.cs.umass.edu/~mccallum/data/cora-classify.tar.gz}} durchgeführt.
+Die Ergebnisse dieser Analyse können aus folgenden Gründen
+nicht überprüft werden:
+\begin{itemize}
+    \item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten
+          aller Wortknoten beschränkt, wird erst mit der Experimentellen
+          Analyse auf S.~362 eingeführt.
+          Es ist nicht klar, wie entschieden wird welche Kanten
+          gespeichert werden und welche nicht.
+    \item Für die Analyse der CORA-Datensatzes analysiert.
+          Dieser beinhaltet Forschungsarbeiten, wobei die 
+          Forschungsgebiete die in einen Baum mit 73 Blättern 
+          eingeordnet wurden. Aus diesen 73 Blättern wurden 5 Klassen
+          extrahiert und der Graph, der keine Zeitpunkte beinhaltet,
+          künstlich in 10 Graphen mit Zeitpunkten unterteilt. Wie
+          jedoch diese Unterteilung genau durchgeführt wurde kann nicht
+          nachvollzogen werden.
+    \item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte
+          Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings
+          werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert
+          und mit $\theta$ die Klassifikationsgüte gemessen.
+\end{itemize}