mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-25 06:18:05 +02:00
Tippfehler verbessert
This commit is contained in:
parent
e0421134c2
commit
3973b07951
10 changed files with 21 additions and 44 deletions
|
@ -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.
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
Binary file not shown.
|
@ -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.\\
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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]$
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue