diff --git a/Dokumentation/silas/w2vCNN.tex b/Dokumentation/silas/w2vCNN.tex index 4b52e5d0bf261fe2c059a996d9fb9a4b6a57de98..b0c26e0e25db57d11c8b7bf17e6826a0847a57f6 100644 --- a/Dokumentation/silas/w2vCNN.tex +++ b/Dokumentation/silas/w2vCNN.tex @@ -41,12 +41,11 @@ Zuerst wird in Zeile 5 die im Listing \ref{list:gw2v} geschriebene Funktion Die Funktion \lstinline{getSentenceVectorCNN} in Zeile 7 nimmt eine Rezension entgegen und transformiert diese in eine für das CNN verarbeitbare Form. -\wip{genauer erklären?} +%\wip{genauer erklären?} -\wip{komischer Satz...} Dafür wird die Rezension in Zeile 8 tokenisiert, sodass in der Variable -\lstinline{split} eine Liste der, durch die Funktion \lstinline{utils.simple_preprocess} -vorverarbeiteten, Wörter gespeichert ist. +\lstinline{split} eine Liste der Rezensionswörter gespeichert ist. +Die Vorverarbeitung und Trennung der Wörter erfolgt hier durch die Funktion \lstinline{utils.simple_preprocess}. Danach wird in Zeile 9 das Numpy-Array wordVecs mit Nullen initialisiert. Dieses Numpy-Array speichert die ersten 72 Wortvektoren der Rezension, @@ -110,7 +109,7 @@ Information zu erzwingen. Zuletzt muss das neuronale Netz noch kompiliert werden, dies geschieht in Zeile 18. Hierbei wird wie gehabt der optimizer \lstinline{adam} gewählt und die -Fehlerfunktion \lstinline{sparse_categorical_crossentropy} sowie die Metrik +Fehlerfunktion \lstinline[literate={\_}{}{0\discretionary{\_}{}{\_}}]{sparse_categorical_crossentropy} sowie die Metrik \lstinline{sparse_categorical_accuracy} verwendet. Die Zusammenfassung des Modells, die durch Zeile @@ -176,7 +175,7 @@ Zeile 27 und 28 variablen gespeichert. Die Klassengewichte in Zeile 31 wurden im Listing \ref{list:modelCNNWeights} berechnet. Mit allen Anforderungen erfüllt kann jetzt in Zeile 32 das Modell trainiert werden. -\wip{schwer zu versteheneder Satz}Dabei ist zu beachten, dass die Anzahl der Schritte pro +Dabei ist zu beachten, dass die Anzahl der Schritte pro Epoche für die Validierungsmenge gedrittelt wird, da die Trainingsmenge $\frac{3}{5}$ des Datensatzes ausmacht die Validierungsmenge hingegen nur $\frac{1}{5}$ wird @@ -230,7 +229,17 @@ zurückliefert. Positiv &0.0316& 0.1316& 0.8367\\ \end{tabular} \end{center} - \label{tab:conf_w_cnn} \caption{Konfusionsmatrix mit Klassengewichtung} + \label{tab:conf_w_cnn} \end{table} -\wip{Tabelle auswerten!} + +Aus der Tabelle \ref{tab:conf_w_cnn} lässt sich ablesen, das negative Bewertungen zu $83.14\%$ richtig als +negative Bewertung klassifiziert werden, zu $13.77\%$ als neutrale Bewertung und zu $3.08\%$ +als positive Bewertung. + +Neutrale Bewertungen werden zu $63.54\%$ richtig als neutrale Bewertung klassifiziert, zu $19.70\%$ +als positive Bewertung und zu $16.76\%$ als negative Bewertung. + +Positive Bewertungen werden zu $83.67\%$ richtig +als positive Bewertung klassifiziert, zu $13.16\%$ als neutrale Bewertung und zu $3.16\%$ +als negative Bewertung. \ No newline at end of file diff --git a/Dokumentation/w2v.pdf b/Dokumentation/w2v.pdf index 38be4f3b037426d0a5bbecdcab9a64891d65aa77..3eaae972935f41d7ed8b800361e4f17ac5834e6c 100644 Binary files a/Dokumentation/w2v.pdf and b/Dokumentation/w2v.pdf differ