Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

Auswertung.tex

Blame
  • Auswertung.tex 10.16 KiB
    \subsection{Subjektivität}
    Wichtig für machine learning algorithms ist es, einen möglichst objektiven Datensatz zu benutzen, auf dem letztlich trainiert wird. Je nach konkretem Szenario und Fragestellung kann sich dies als schwierig gestalten. So ist z.\,B. \noteable{Racial Profiling} durch künstliche Intelligenz ein vieldiskutiertes Thema in diesem Sektor.
    
    % Datensatz mit vorurteilen führt zu entsprechenden Wordclustern
    % -> Bsp aus w2vfromscratch
    Die in dieser Arbeit verwendete Methode Word2Vec ist besonders anfällig für solche Probleme. Schließlich sollen die Wörter anhand ihrer Bedeutung gruppiert und in Relation zueinander eingeordnet werden. Ist der Datensatz auf dem diese Cluster-Bildung basiert durch Vorurteile oder gar Diskriminierung betroffen, spiegelt sich dies auch in den wordembeddings wieder. Dafür muss dies nicht einmal gezielt in den Ausgangsdaten vorliegen, auch ein unvollständiger Datensatz kann zu solchen Ergebnissen führen. Ein direktes Beispiel dafür findet sich in Kapitel \ref{subsec:w2vfs} in Abbildung \ref{fig:scratch}. Hier wurden die Begriffe erfolgreich in männlich und weiblich unterteilt. Dazu gehören aber auch die verwendeten Adjektive \noteable{wise} und \noteable{pretty}, welche laut des Programms eher weibliche Begriffe seien, während \noteable{strong} ein männlicher Begriff sei. Dies stellt der Datensatz letztlich auch so dar. Es ist anzunehmen, dass diese Begriffe auch von Menschen vermutlich in dieser Weise eingeordnet worden wären. Mit einem umfassenden Datensatz wären diese Tendenzen aber möglicherweise schwächer und allgemein etwas neutraler ausgefallen.
    
    % Die Aufgabe an sich ist bereits subjektiv, da Sprache subjektiv ist und diese
    % auch noch in einem meinungsbehafteten Raum genutzt wird
    Gleichzeitig sind diese Subjektivitäten aber auch in vielen Fällen wichtig. Sprache ist in der Regel meinungsbehaftet und viele machine learning Projekte beschäftigen sich damit, wie auch dieses Projekt zu einem gewissen Grad. Um Reviews in entsprechende Kategorien einzuteilen, müssen die Wörter anhand ihrer gebräuchlichen Nutzung eingeordnet werden. Um kontextspezifische Unterschiede zu vermeiden sollte sich idealerweise die Erstellung der Wortvektoren aufgrund dieser Nutzung auf das vorliegende Szenario beziehen. Wenn ein Wort also entgegengesetzt der ursprünglichen Bedeutung in einem völlig anderen Kontext verwendet wird, stellt dies eine wichtige Information dar, welche für die Auswertung beachtet werden muss. Jedoch ist es aufwändig entsprechend zugeschnittene wordembeddings zu erstellen. Weiterhin sind davon viele Wörter nicht betroffen, wodurch ein verhältnismäßig großer Mehraufwand für eine recht geringe Menge an Wörtern entsteht. Man kann ebenfalls davon ausgehen, dass das Modell in vielen Fällen diese Probleme entsprechend optimiert, sodass diese Wörter letztlich korrekt interpretiert werden.
    
    % Gleicher Schreibstil wie Leute welche häufig negativ gewertet haben: Automatisch negativ
    Schreibstile unterscheiden sich von Person zu Person. Besonders in einem informellen Raum wie es das Internet häufig ist zeigt sich dies. Gewisse Wortwahl und Zeichensetzung ist für die einen ein eindeutiges Zeichen für Sarkasmus, während andere diese Aussagen ernst nehmen. Auch Akzente und Dialekte spiegeln sich teilweise durch Slangwörter oder sonstige Besonderheiten im schriftlichen wieder. Dies kann verschiedene Auswirkungen auf die Kategorisierung von Texten haben. Eine mögliches Szenario wäre, dass ein spezieller Dialekt häufig in negativen Reviews vorkommt. Die Ursache dafür könnte dabei einen spezifischen Grund haben oder auch rein zufällig sein. Unabhängig davon kann dies jedoch dazu führen, dass das Programm diese \emph{Korrelation} entdeckt und eine \emph{Kausalität} herstellt. Folglich werden alle Reviews, welche diesen Dialekt enthalten als negativ kategorisiert, darunter auch solche, welche tatsächlich positiv sind.
    
    \subsection{Auswertung}
    %%Gegenüberstellung Konfusionsmatrix & ergebnisse
    %tab:m_w
    %tab:conf_no_w
    %tab:conf_w_cnn
    Im Folgenden werden die Ergebnisse der Mean- und der CNN-Methode ausgewertet und gegenübergestellt. Zunächst wird jedoch der Einfluss der Trainingsgewichte untersucht.
    
    \subsubsection{Gewichte}
    Das Mean-Vektor-Klassifikationsmodell wurde sowohl mit als auch ohne Trainingsgewichte getestet. Dabei hat die Variante ohne extra Gewichte ein allgemein besseres Ergebnis mit $85.70\,\%$ gegenüber $80.02\,\%$ ohne Gewichte. Die Konfusionsmatrizen aus den Tabellen \ref{tab:m_w} und \ref{tab:conf_no_w} zeigen jedoch, dass die Verteilung der richtig bestimmten Reviews mit Gewichten gleichmäßiger ist. Ohne Gewichte werden mehr negative und positive Reviews richtig klassifiziert, aber die Anzahl der richtig bestimmten neutralen Reviews beträgt gerade einmal knapp über $27\,\%$ gegenüber $68\,\%$ mit Gewichten. Außerdem werden mehr als dreimal so viele neutrale Reviews als positiv identifiziert, wenn die Gewichte weg gelassen werden. 
    Unter Berücksichtigung der ursprünglichen Distribution des Datensatzes, wie zuvor in Bild \ref{fig::DST} gezeigt, wird auch deutlich, wieso diese 'Entscheidung' für den Algorithmus von Vorteil ist. Es gibt eine hohe Anzahl an positiven Reviews, während es verhältnismäßig wenig negative, dafür aber nur einen Bruchteil an neutralen Reviews gibt. Wie bereits in Kapitel \ref{subsubsec:Dist} angesprochen entsteht dadurch unweigerlich ein bias zu einer Identifizierung als positive Review, da dies im Gesamtergebnis zu einem größeren Erfolg führt. 
    Es lässt sich also erkennen, dass die Gewichtung der Daten durchaus den gewünschten Effekt erzielt, jedoch darunter das Gesamtergebnis etwas gelitten hat.
    
    \subsubsection{Mean vs. CNN
    \label{subsub:MvsC}}
    Für die Gegenüberstellung der verschiedenen Methoden werden nur die Ergebnisse der Mean Methode mit Gewichten berücksichtigt, um so ein ausgeglicheneres Ausgangsszenario zu erhalten. Hier lässt sich zwar erkennen, dass die CNN Methode geringfügig besser abgeschnitten hat, mit $81.44\,\%$ gegenüber $80.02\,\%$, jedoch ist dieser Unterschied minimal. Die Methoden können daher als gleichwertig betrachtet werden. Auch die Konfusionsmatrizen \ref{tab:m_w} und \ref{tab:conf_w_cnn} sind annähernd identisch. Das CNN Modell hat lediglich wieder weniger Wert auf neutrale Reviews gelegt und stattdessen eine positive und negative Kategorisierung bevorzugt.
    
    %Mean: 10s epoche, 4ms pro Step; 2048 batchsize
    %CNN, groß: 7min epoche, ?? pro Step;256 batchsize
    %CNN, RAM: 17s epoche, 21ms step;128 batchsize 
    Aufgrund der ähnlichen Ergebnisse ist jedoch die Mean Methode deutlich zu bevorzugen. Zum einen benötigt diese in der Regel weniger Vorbereitung, hier in Form der Generatoren. Das liegt daran, dass die Mean Methode schwächer skalierende Anforderungen an die Hardware hat. Dadurch ist auch die Trainingszeit um ein vielfaches schneller mit ca.\,10s pro Epoche gegenüber ungefähr 7min. Der Großteil dieses Unterschieds entsteht dabei durch das Lesen von der Festplatte durch die Generatoren anstelle des Arbeitsspeichers. Aber auch Konfigurationsunterschiede sind dabei zu beachten, z.\,.B\@ nutzt der Mean eine wesentlich größere batchsize von 2048. Im Vergleich arbeitet das CNN nur mit einer Größe von 256.
    %Aber auch in kleineren Beispielen, bei denen das CNN auch ausschließlich den Arbeitsspeicher verwenden kann, schneidet der Mean besser ab. Hier benötigt das CNN immer noch ca.\@ 17s pro Epoche. Jedoch sind hier zusätzlich unterschiedliche batchsizes von 2048
    
    Allerdings bietet das CNN Modell mehr Möglichkeiten an der Struktur zu arbeiten als die Mean Methode. Während am Mean nur wenige Änderungen vorgenommen werden könnten, bietet das CNN ein wesentlich größeres Potenzial. Es besteht also durchaus die Möglichkeit, dass ein ausführlicheres Experimentieren mit dem Aufbau des CNN zu konstant besseren Ergebnissen führt.
    
    \subsubsection{Problemstellung}
    Die relativ geringe Erfolgsquote der Modelle, aber z.\,B.\@ auch die Schwierigkeiten mit neutralen Reviews zeigen sicherlich, dass es noch Optimierungsmöglichkeiten gibt. Dennoch liegt ein großer Teil der Herausforderung auch an der eigentlichen Problemstellung. Die meisten Menschen hätten vermutlich auch Schwierigkeiten dabei eine 2 Sterne Review, sprich eine negative, von einer 3 Sterne, also neutralen, zu unterscheiden. Zum einen sind die Übergänge recht fließend. Zum Anderen sind Menschen aber auch einfach unterschiedlich: Der gleiche Text mit den identischen Argumenten könnte für eine Person eine 3 Sterne und für die nächste eine 4 Sterne Review sein. Aus der Sicht des Modells gäbe es also 2 Einträge mit identischen Merkmalen, welche jedoch unterschiedlichen Kategorien zugeordnet werden. 
    
    \newpage
    \subsection{Fazit}
    Zusammenfassend lässt sich sagen, dass Word2Vec ein valider erster Schritt zur Klassifizierung von Reviews ist. Die Ergebnisse zeigen jedoch, dass noch Optimierungsbedarf herrscht. Dabei ist es aber unklar, ob für die genutzten Modelle idealere Strukturen möglich sind oder ob diese Werte eine Obergrenze für diese Problemstellung in Kombination mit ebendiesen Modellen darstellen. 
    Davon ausgehend, dass die Ergebnisse eine Obergrenze darstellen, ist die Mean Methode aufgrund der in Kapitel \ref{subsub:MvsC} besprochenen Punkte deutlich dem CNN Ansatz vorzuziehen.
    
    Das deutliche Hauptproblem der Klassifizierung stellen die neutralen Reviews dar. Ein möglicher Ansatz wäre die Fragestellung auf eine Kategorisierung in positiv und negativ zu beschränken. Dadurch wird das Problem jedoch nicht gelöst sondern lediglich verschoben. Eine weitere Alternative wäre das Ignorieren von neutralen Reviews, sodass nur mit 1 und 2 sowie 4 und 5 Sterne Reviews gearbeitet wird. Dies wäre aber nur sinnvoll, wenn der geplante Nutzen dieser Klassifizierung das zulässt. Dadurch, dass die Anzahl der neutralen Reviews jedoch ohnehin verhältnismäßig sehr gering ist könnte dies z.\,B.\@ in der Marketinganalyse durchaus eine Option sein.
    
    %\wip{Ein Vergleich mit einem anderen Projekt mit ähnlicher Problemstellung zeigt, dass sich die hier erarbeiteten Ergebnisse im oberen Bereich bewegen. Dabei wurde im erwähnten Report jedoch weder eins der hier genutzten Modelle noch eine Vorverarbeitung durch Word2Vec verwendet. (Quelle vorhanden, aber unsicher)}