Pārlūkot izejas kodu

Tippfehler verbessert

Martin Thoma 12 gadi atpakaļ
vecāks
revīzija
3973b07951

+ 0 - 11
documents/DYCOS/Abgrenzung.tex

@@ -1,11 +0,0 @@
-Der in dieser Ausarbeitung vorgestellte DYCOS-Algorithmus wurde 2011 von
-Charu~C. Aggarwal und Nan~Li in \cite{aggarwal2011} vorgestellt.
-Es gibt jedoch viele Klassifizierungsalgorithmen, die ähnliche Ideen
-nutzen. Einige dieser Algorithmen werden im Folgenden kurz vorgestellt
-und Probleme, die der DYCOS-Algorithmus behebt, erläutert.
-
-\cite{DBLP:conf/kdd/BhagatCR07} nutzt nur die Struktur des Graphen 
-zur Klassifizierung.
-
-Der MUCCA-Algorithmus aus \cite{zappella} sei der erste. Dieser
-arbeitet auf gewichteten Graphen, im Gegensatz zu DYCOS.

+ 1 - 1
documents/DYCOS/Ausblick.tex

@@ -23,4 +23,4 @@ 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
 gemessen mit der Aggregatanalyse, allerdings wurde bisher noch nicht
 gemessen mit der Aggregatanalyse, allerdings wurde bisher noch nicht
 untersucht, wie der Einfluss von $q \in \mathbb{N}$ auf die 
 untersucht, wie der Einfluss von $q \in \mathbb{N}$ auf die 
-Klassifkationsgüte ist.
+Klassifikationsgüte ist.

+ 4 - 4
documents/DYCOS/DYCOS-Algorithmus.tex

@@ -22,7 +22,7 @@ genannt.
 Ein Strukturknoten $v$ wird genau dann mit einem Wortknoten $w \in W_t$
 Ein Strukturknoten $v$ wird genau dann mit einem Wortknoten $w \in W_t$
 verbunden, wenn $w$ in einem Text von $v$ vorkommt.
 verbunden, wenn $w$ in einem Text von $v$ vorkommt.
 Der DYCOS-Algorithmus betrachtet also die Texte, die einem Knoten 
 Der DYCOS-Algorithmus betrachtet also die Texte, die einem Knoten 
-zugeornet sind, als eine Multimenge von Wörtern. Das heißt, zum einen 
+zugeordnet sind, als eine Multimenge von Wörtern. Das heißt, zum einen 
 wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird 
 wird nicht auf die Reihenfolge der Wörter geachtet, zum anderen wird 
 bei Texten eines Knotens nicht zwischen verschiedenen 
 bei Texten eines Knotens nicht zwischen verschiedenen 
 Texten unterschieden. Jedoch wird die Anzahl der Vorkommen 
 Texten unterschieden. Jedoch wird die Anzahl der Vorkommen 
@@ -64,9 +64,9 @@ springt über einen Wortknoten und ist ein Pfad der Länge~2.
 
 
 Ob in einem Sprung der Random Walks ein struktureller Sprung oder
 Ob in einem Sprung der Random Walks ein struktureller Sprung oder
 ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig
 ein inhaltlicher Mehrfachsprung gemacht wird, wird jedes mal zufällig
-neu entschiden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus 
+neu entschieden. Dafür wird der Parameter $0 \leq p_S \leq 1$ für den Algorithmus 
 gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird eine struktureller
 gewählt. Mit einer Wahrscheinlichkeit von $p_S$ wird eine struktureller
-Sprung durchgefürt und mit einer Wahrscheinlichkeit
+Sprung durchgeführt und mit einer Wahrscheinlichkeit
 von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in
 von $(1-p_S)$ ein modifizierter inhaltlicher Mehrfachsprung, wie er in
 \cref{sec:sprungtypen} erklärt wird, gemacht. Dieser 
 \cref{sec:sprungtypen} erklärt wird, gemacht. Dieser 
 Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis
 Parameter gibt an, wie wichtig die Struktur des Graphen im Verhältnis
@@ -137,7 +137,7 @@ verwaltet der DYCOS-Algorithmus zwei weitere Datenstrukturen:
     \item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von 
     \item Für jedes Wort des Vokabulars $W_t$ wird eine Liste von 
           Knoten verwaltet, in deren Texten das Wort vorkommt.
           Knoten verwaltet, in deren Texten das Wort vorkommt.
     \item An einigen Stellen macht ein assoziatives Array, auch 
     \item An einigen Stellen macht ein assoziatives Array, auch 
-          \enquote{dictionary} oder \enquote{map} genannt, sinn.
+          \enquote{dictionary} oder \enquote{map} genannt, Sinn.
           Zustätzlich ist es nützlich, wenn diese Datenstruktur für 
           Zustätzlich ist es nützlich, wenn diese Datenstruktur für 
           unbekannte Schlüssel keinen Fehler ausgibt, sondern für diese
           unbekannte Schlüssel keinen Fehler ausgibt, sondern für diese
           Schlüssel den Wert 0 annimmt. Eine solche Datenstruktur
           Schlüssel den Wert 0 annimmt. Eine solche Datenstruktur

BIN
documents/DYCOS/DYCOS.pdf


+ 1 - 1
documents/DYCOS/Einleitung.tex

@@ -9,7 +9,7 @@ Häufig sind Labels nur teilweise vorhanden und es ist wünschenswert die
 fehlenden Labels zu ergänzen. 
 fehlenden Labels zu ergänzen. 
 
 
 \subsection{Problemstellung}
 \subsection{Problemstellung}
-Gegeben ist ein Graph, der teilweise gelabelt ist. Zustäzlich stehen
+Gegeben ist ein Graph, der teilweise gelabelt ist. Zusätzlich stehen
 zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels
 zu einer Teilmenge der Knoten Texte bereit. Gesucht sind nun Labels
 für alle Knoten, die bisher noch nicht gelabelt sind.\\
 für alle Knoten, die bisher noch nicht gelabelt sind.\\
 
 

+ 0 - 12
documents/DYCOS/Experimentelle-Analyse.tex

@@ -1,12 +0,0 @@
-\subsection{DBLP}
-Im Folgenden wird die in \cite{aggarwal2011} durchgeführte
-experimentelle Analyse des DYCOS-Algorithmus anhand des DBLP-Datensatzes
-(\underline{d}ata\underline{b}ase systems and \underline{l}ogic \underline{p}rogramming)
-der Universität Trier nachfolzogen. Dieser Datensatz beinhaltet
-bibliographische Daten von Informatik-Publikationen. Der Datensatz
-wird unter \href{http://dblp.uni-trier.de/xml/}{dblp.uni-trier.de/xml}
-zur Verfügung gestellt. Die folgenden Informationen beziehen sich
-auf den Datensatz vom 28.~Dezember~2013.
-
-http://dumps.wikimedia.org/enwiki/20131202/
-https://de.wikipedia.org/wiki/Hilfe:Download

+ 1 - 1
documents/DYCOS/Makefile

@@ -13,4 +13,4 @@ ebook:
 	ebook-convert $(DOKUMENT).html $(DOKUMENT).epub --language de --no-default-epub-cover
 	ebook-convert $(DOKUMENT).html $(DOKUMENT).epub --language de --no-default-epub-cover
 
 
 clean:
 clean:
-	rm -rf  $(TARGET) *.class *.html *.log *.aux *.out *.thm *.idx *.toc *.ind *.ilg *.glg *.glo *.gls *.ist *.xdy *.bbl *.blg
+	rm -rf  $(TARGET) *.class *.html *.log *.aux *.out *.thm *.idx *.toc *.ind *.ilg *.glg *.glo *.gls *.ist *.xdy *.bbl *.blg *.bak

+ 5 - 5
documents/DYCOS/SchwaechenVerbesserungen.tex

@@ -14,7 +14,7 @@ wäre noch die Frage zu klären, mit wie vielen Labels der betrachtete
 Knoten gelabelt werden soll.
 Knoten gelabelt werden soll.
 
 
 Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine 
 Jedoch ist z.~B. bei Wikipedia-Artikeln auf den Knoten eine 
-Hirarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren}
+Hierarchie definiert. So ist die Kategorie \enquote{Klassifikationsverfahren}
 eine Unterkategorie von \enquote{Klassifikation}. Bei dem Kategorisieren
 eine Unterkategorie von \enquote{Klassifikation}. Bei dem Kategorisieren
 von Artikeln sind möglichst spezifische Kategorien vorzuziehen, also
 von Artikeln sind möglichst spezifische Kategorien vorzuziehen, also
 kann man nicht einfach bei dem Auftreten der Kategorie \enquote{Klassifikationsverfahren}
 kann man nicht einfach bei dem Auftreten der Kategorie \enquote{Klassifikationsverfahren}
@@ -65,7 +65,7 @@ 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
 gelabelt wird. Aber in diesem Beispiel wurde der Knoten schon
 zum Zeitpunkt $t=2$ gelabelt. Obwohl es in diesem kleinem Beispiel
 zum Zeitpunkt $t=2$ gelabelt. Obwohl es in diesem kleinem Beispiel
-noch keine Rolle spielt, wird das Problem klar, wennn 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 ungelabelter Knoten $v_4$ und die Kanten
@@ -73,7 +73,7 @@ $(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 als 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 and vergangene
+Bei dem DYCOS-Algorithmus findet also eine Überanpassung an vergangene
 Labels statt.
 Labels 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
@@ -85,7 +85,7 @@ abgelaufen, wird der DYCOS-Algorithmus erneut auf den Knoten angewendet.
 In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe 
 In \cite{aggarwal2011} wurde eine experimentelle Analyse mithilfe 
 des DBLP-Datensatzes\footnote{http://dblp.uni-trier.de/} und des
 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.
 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 Ergebnise dieser Analyse können aus folgenden Gründen
+Die Ergebnisse dieser Analyse können aus folgenden Gründen
 nicht überprüft werden:
 nicht überprüft werden:
 \begin{itemize}
 \begin{itemize}
     \item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten
     \item Der Parameter $a \in \mathbb{N}$, der die Anzahl der ausgehenden Kanten
@@ -104,5 +104,5 @@ nicht überprüft werden:
     \item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte
     \item Der auf S. 360 in \enquote{Algorithm 1} vorgestellte
           Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings
           Pseudocode soll den DYCOS-Algorithmus darstellen. Allerdings
           werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert
           werden die bereits klassifizierten Knoten $\T_t$ neu klassifiziert
-          und mit $\theta$ die Klassifkationsgüte gemessen.
+          und mit $\theta$ die Klassifikationsgüte gemessen.
 \end{itemize}
 \end{itemize}

+ 3 - 3
documents/DYCOS/Sprungtypen.tex

@@ -22,7 +22,7 @@ Bei inhaltlichen Mehrfachsprüngen ist jedoch nicht sinnvoll so direkt
 nach der Definition vorzugehen,  also
 nach der Definition vorzugehen,  also
 direkt von einem strukturellem Knoten 
 direkt von einem strukturellem Knoten 
 $v \in V_t$ zu einem mit $v$ verbundenen Wortknoten $w \in W_t$ zu springen
 $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 strukturellem Knoten 
 $v' \in V_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.
@@ -43,7 +43,7 @@ CORA-Datensatz wurde in \cite[S. 364]{aggarwal2011} $q=10$ gewählt.} \label{lis
 \end{enumerate}
 \end{enumerate}
 
 
 Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
 Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
-\cref{alg:DYCOS-content-multihop} beschrieben umgesetz werden.
+\cref{alg:DYCOS-content-multihop} beschrieben umgesetzt werden.
 
 
 \begin{algorithm}
 \begin{algorithm}
   \caption{Inhaltlicher Mehrfachsprung}
   \caption{Inhaltlicher Mehrfachsprung}
@@ -64,7 +64,7 @@ Konkret könnte also ein Inhaltlicher Mehrfachsprung sowie wie in
             \State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl}
             \State \textit{//Elemente aus $M_H$ zugreifen kann. Dies muss bei der konkreten Wahl}
             \State \textit{//der Datenstruktur berücksichtigt werden.}
             \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{//Dictionary mit relativen Häufigkeiten erzeugen}
             \State $s \gets 0$
             \State $s \gets 0$
             \ForAll{Knoten $x$ in $M_H$}
             \ForAll{Knoten $x$ in $M_H$}
                 \State $s \gets s + reachableNodes[x]$
                 \State $s \gets s + reachableNodes[x]$

+ 6 - 6
documents/DYCOS/Vokabularbestimmung.tex

@@ -1,14 +1,14 @@
 \subsection{Vokabularbestimmung}\label{sec:vokabularbestimmung}
 \subsection{Vokabularbestimmung}\label{sec:vokabularbestimmung}
-Da die größe des Vokabulars die Datenmenge signifikant beeinflusst,
+Da die Größe des Vokabulars die Datenmenge signifikant beeinflusst,
 liegt es in unserem Interesse so wenig Wörter wie möglich ins
 liegt es in unserem Interesse so wenig Wörter wie möglich ins
 Vokabular aufzunehmen. Insbesondere sind Wörter nicht von Interesse,
 Vokabular aufzunehmen. Insbesondere sind Wörter nicht von Interesse,
 die in fast allen Texten vorkommen, wie im Deutschen z.~B.
 die in fast allen Texten vorkommen, wie im Deutschen z.~B.
 \enquote{und}, \enquote{mit} und die Pronomen. Es ist wünschenswert
 \enquote{und}, \enquote{mit} und die Pronomen. Es ist wünschenswert
-Wörter zu wählen, die die Texte möglichst start voneinander Unterscheiden.
+Wörter zu wählen, die die Texte möglichst stark voneinander Unterscheiden.
 Der DYCOS-Algorithmus wählt die Top-$m$ dieser Wörter als Vokabular,
 Der DYCOS-Algorithmus wählt die Top-$m$ dieser Wörter als Vokabular,
 wobei $m \in \mathbb{N}$ eine Festzulegende Konstante ist. In \cite[S. 365]{aggarwal2011}
 wobei $m \in \mathbb{N}$ eine Festzulegende Konstante ist. In \cite[S. 365]{aggarwal2011}
 wird der Einfluss von $m \in \Set{5,10, 15,20}$ auf die Klassifikationsgüte
 wird der Einfluss von $m \in \Set{5,10, 15,20}$ auf die Klassifikationsgüte
-untersucht und festegestellt, dass die Klassifikationsgüte mit größerem
+untersucht und festgestellt, dass die Klassifikationsgüte mit größerem
 $m$ sinkt, sie also für $m=5$ für den DBLP-Datensatz am höchsten ist.
 $m$ sinkt, sie also für $m=5$ für den DBLP-Datensatz am höchsten ist.
 Für den CORA-Datensatz wurde mit $m \in \set{3,4,5,6}$ getestet und 
 Für den CORA-Datensatz wurde mit $m \in \set{3,4,5,6}$ getestet und 
 kein signifikanter Unterschied festgestellt.
 kein signifikanter Unterschied festgestellt.
@@ -17,7 +17,7 @@ Nun kann man manuell eine Liste von zu beachtenden Wörtern erstellen
 oder mit Hilfe des Gini-Koeffizienten automatisch ein Vokabular erstellen.
 oder mit Hilfe des Gini-Koeffizienten automatisch ein Vokabular erstellen.
 Der Gini-Koeffizient ist ein statistisches Maß, das die Ungleichverteilung
 Der Gini-Koeffizient ist ein statistisches Maß, das die Ungleichverteilung
 bewertet. Er ist immer im Intervall $[0,1]$, wobei $0$ einer 
 bewertet. Er ist immer im Intervall $[0,1]$, wobei $0$ einer 
-Gleichverteilung entspricht und $1$ der größt mö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.
 dem $i$-ten Label.
@@ -47,7 +47,7 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
 
 
         \State $S_t \gets \Call{Sample}{V_{L,t}}$ \Comment{Wähle eine Teilmenge $S_t \subseteq V_{L,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 initialisiert\\
 
 
         \ForAll{$v \in V_{L,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}$
@@ -73,5 +73,5 @@ von Mengen $M,N$ in $\mathcal{O}(\min{|M|, |N|})$ sein muss.
 \end{algorithm}
 \end{algorithm}
 
 
 Die Menge $S_t$ kann durch Aus der Menge aller Dokumenten, deren 
 Die Menge $S_t$ kann durch Aus der Menge aller Dokumenten, deren 
-Knoten gelabelt sind, mithile des in \cite{Vitter} vorgestellten
+Knoten gelabelt sind, mithilfe des in \cite{Vitter} vorgestellten
 Algorithmus bestimmt werden.
 Algorithmus bestimmt werden.