added filter descriptions
This commit is contained in:
Vendored
+2
@@ -24,3 +24,5 @@ Substitutions
|
||||
Deletions
|
||||
Insertions
|
||||
Character
|
||||
Stoppwörter
|
||||
Postprocessings
|
||||
|
||||
@@ -1,17 +1,37 @@
|
||||
\subsection{Postprocessing}
|
||||
|
||||
Da im Rahmen dieser Bachelorarbeit ein besonderer Fokus auf dem Verschlagworten der Inhalte liegt, um die Suche innerhalb der Screenshot-Datenbank zu verbessern, sind besonders die Vorgehensweise zur Extraktion der relevanten Daten von großem Nutzen.
|
||||
Da die verarbeiteten Bilddaten \bzw deren extrahierte Textdaten später durch eine Schlagwort-basierte Suchfunktion durch den Nutzer auffindbar sein müssen, müssen die Ergebnisdaten im Rahmen des Postprocessings weiterverarbeitet werden. Ziel ist es, die Redundanz innerhalb des Datensets zu reduzieren. Ebenso sollen falsch erkannte Ergebnisdaten identifiziert und aus der Schlagwortmenge entfernt werden.
|
||||
|
||||
Wie auch im Preprocessing gibt es auch im Postprocessing verschiedene Algorithmen, die mit den selben Ausgangsdaten unterschiedlich wertvolle Ergebnisse liefern. Daher ist es ratsam, mehrere Algorithmen zu vergleichen und den für den individuellen Use-case am besten geeignetsten zu wählen:
|
||||
\subsubsection{Normalisierung}
|
||||
|
||||
\subsubsection{Filterung anhand der Confidence}
|
||||
Um die aus der Texterkennung gewonnenen Daten zunächst für die weitere Filterung vorzubereiten, ist es sinnvoll, die Redundanz der Daten möglichst zu reduzieren und die einzelnen Wörter zu normalisieren \bzw zu standardisieren. Beispielsweise kann durch das Umwandeln aller Textdaten in Kleinbuchstaben die Variation der Daten eingeschränkt werden, ohne jedoch für die Suche relevante Information zu verlieren.
|
||||
|
||||
% TODO
|
||||
% TODO Beispielhafter Vergleich der Daten vor bzw. nach Anwendung des Filters
|
||||
|
||||
\subsubsection{Vermeidung von Duplikaten}
|
||||
|
||||
Nach der Normalisierung werden Duplikate innerhalb der erkannten Textdaten entfernt. Dies verringert ebenfalls die Redundanz der Textdaten und steigert die Effizienz der nachfolgenden Filterverfahren.
|
||||
|
||||
% TODO Beispielhafter Vergleich der Daten vor bzw. nach Anwendung des Filters
|
||||
|
||||
\subsubsection{Filterung anhand der Genauigkeit}
|
||||
|
||||
Tesseract stellt im Rahmen der Texterkennung auch immer Metadaten zu den erkannten Texten zur Verfügung. Bei erkannten Wörtern wird beispielsweise immer eine Genauigkeit (\engl{Confidence}) mit angegeben. Sie bestimmt, mit welcher Sicherheit ein Texterkennungssystem das jeweilige Wort erkannt hat, wobei Wörter mit hoher Confidence eher richtig, mit niedriger Confidence eher falsch erkannt wurden.
|
||||
|
||||
Der Confidence-Filter prüft die jeweiligen Wörter auf ihre Metadaten und verwirft Wörter, deren Confidence unter einem fixen Schwellenwert liegt. Je nach Einstellung \bzw "Härte" des Filters wird die Anzahl der falsch erkannten Inhalte innerhalb der Schlagwortmenge drastisch reduziert. Ist der Filter zu streng eingestellt, werden jedoch insgesamt weniger Worte in die Ergebnisse mit aufgenommen und es kann vorkommen, dass auch ursprünglich korrekt erkannte Wörter aufgrund eines niedrigen Confidence-Wertes verworfen werden.
|
||||
|
||||
% TODO Beispielhafter Vergleich der Daten vor bzw. nach Anwendung des Filters
|
||||
|
||||
\subsubsection{Filterung anhand der Wortlänge}
|
||||
|
||||
% TODO
|
||||
Verarbeitet das Texterkennungssystem Texte mit unregelmäßigen Abständen oder grafischen Artefakten in der Schrift, werden statt des eigentlichen Wortes fälschlicherweise oft relativ kurze Symbolkombinationen erkannt. Um diese Kombinationen aus den Ergebnisdaten zu entfernen, können Zeichenketten mithilfe des Wortlängenfilters ungeachtet ihres Inhaltes verworfen werden.
|
||||
|
||||
Zusätzlich kann dieser Filter an die Anforderung des Zielsystems angepasst werden. So sind beispielsweise Wörter, die weniger als zwei Zeichen beinhalten, für die Schlagwortsuche grundsätzlich nicht relevant.
|
||||
|
||||
% TODO Beispielhafter Vergleich der Daten vor bzw. nach Anwendung des Filters
|
||||
|
||||
\subsubsection{Sprachabhängige Filterung mittels Regular Expressions}
|
||||
|
||||
% TODO
|
||||
Nachdem die zu filternden Textdaten durch vorherige Schritte weitestgehend vorverarbeitet wurden, werden die Ergebnisdaten ein letztes Mal mithilfe von regulären Ausdrücken (\engl{Regular Expressions}) durchsucht. Aufgrund der guten Erweiterbarkeit der Regular Expressions ist es einfach, für jede Sprache einen individuellen Filter anzulegen, der den jeweiligen Zeichensatz beschriftet und unbekannte Sonderzeichen oder Symbole entfernt. So sind beispielsweise im Deutschen Umlaute erlaubt, während häufig auftretende, jedoch unerwünschte Symbole wie das phonetische Zeichen "æ" explizit entfernt werden können.
|
||||
|
||||
% TODO Beispielhafter Vergleich der Daten vor bzw. nach Anwendung des Filters
|
||||
@@ -1,18 +1,30 @@
|
||||
\section{Annahmen}
|
||||
\label{sec:annahmen}
|
||||
|
||||
% Preprocessing
|
||||
Um die Texterkennung mittels Tesseract und die anschließende Filterung der Ergebnisdaten zu verbessern, ist es sinnvoll, Anwendungsspezifische Annahmen für den Verarbeitungsablauf festzulegen.
|
||||
|
||||
Um die Texterkennung mittels Tesseract zu verbessern, ist es sinnvoll, die mögliche Vielfalt an Preprocessing-Ausgangsdaten durch Annahmen zu beschränken.
|
||||
\subsection*{Preprocessing}
|
||||
|
||||
Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern ausschließlich um digitale Bildschirmaufnahmen von grafischen Benutzeroberflächen. Es kann also angenommen werden, dass die Screenshots keine Transparenz aufweisen, die Perspektive der Aufnahme nicht verzerrt ist und der Kontrast in den meisten Fällen ausreicht, um die relevanten Inhalte zu erkennen. Weiters beinhalten grafische Oberflächen oft farbige Hintergrundflächen zur Trennung von Sektionen, auf die bei etwaigem Thresholding geachtet werden muss. Nach Sichtung des zu verarbeitenden Bilddatensatzes fällt zudem auf, dass die betroffenen Inhalte durch das Selektieren mit der Maus oft sehr eng abgeschnitten wurden.
|
||||
Im Falle dieser Bachelorarbeit handelt es sich bei den zu verarbeitenden Bildern ausschließlich um digitale Bildschirmaufnahmen von grafischen Benutzeroberflächen. Es kann also angenommen werden, dass die Screenshots keine Transparenz aufweisen, die Perspektive der Aufnahme nicht verzerrt ist und der Kontrast in den meisten Fällen ausreicht, um die relevanten Inhalte zu erkennen. Weiters ist bei der Bildverarbeitung auf farbige Hintergrundflächen zu achten, mit deren Unterstützung Bildschirmelemente in modernen grafischen Oberflächen oft gruppiert oder getrennt werden. Nach Sichtung des zu verarbeitenden Bilddatensatzes fällt zudem auf, dass die manche Screenshots durch das Selektieren mit der Maus sehr eng abgeschnitten wurden. Auch das ist bei der Vorverarbeitung zu berücksichtigen.
|
||||
|
||||
% TODO
|
||||
Beispiel Screenshots
|
||||
% TODO Beispielscreenshots
|
||||
|
||||
% Postprocessing
|
||||
\subsection*{Postprocessing}
|
||||
|
||||
Da ... Screenshots, ... ist davon auszugehen, dass auch fremdsymbole (bullet points etc.)... Außerdem: Sprachanpassung (RegEx filter)
|
||||
\subsubsection*{Filtern von Symbolen}
|
||||
|
||||
% TODO
|
||||
Postprocessing, NLP Folien
|
||||
Bei der Texterkennung kommt es manchmal vor, dass grafische Elemente als Unicode-Symbole erkannt werden. Beispielsweise finden sich in den ungefilterten Ergebnisdaten oft Aufzählungszeichen "•" oder diverse Varianten von Bindestrichen "‒". Diese Zeichen sind gemäß Anwendungsanforderungen nicht relevant für die Schlagwortsuche und können somit entfernt \bzw ignoriert werden.
|
||||
|
||||
% TODO Zeigen ungefilterter Ergebnisdaten
|
||||
|
||||
\subsubsection*{Mehrsprachigkeit}
|
||||
|
||||
Eine weitere Anforderung an das Textverarbeitungssystem ist außerdem das Einlesen und Interpretieren mehrsprachiger Bilddateien. So sollen beispielsweise Bilder mit englischen, deutschen oder italienischen Inhalten zugeführt und die Ergebnisdaten richtig verarbeitet werden können. Um eine Filterung für verschiedene Zeichensätze zu ermöglichen und eine Unterstützung für Sprachen mit nicht-lateinischen Schriften zu gewährleisten, werden dynamische Sprachfilter verwendet, die individuell an die jeweilige Sprache angepasst werden können. Um die Ergebnisdaten nicht unnötig aufzubauschen, werden für die initialen Tests und die Beschreibung der generellen Vorgehensweise im Rahmen dieser Bachelorarbeit werden jedoch nur deutsche oder englische Inhalte verarbeitet.
|
||||
|
||||
% TODO Postprocessing, NLP Folien
|
||||
|
||||
\subsubsection*{Schlagworte}
|
||||
|
||||
Für die spätere Suche von Screenshots sollen relevante Schlagworte aus den erkannten Textdaten extrahiert werden. Ein Wort eignet sich dann als Schlagwort, wenn es in relevantem Bezug zum jeweiligen Bild steht und dabei idealerweise eine wichtige Aktion oder Information widerspiegelt. Inhalte, die direkt in der grafischen Benutzeroberfläche ersichtlich sind, eignen sich demnach besonders gut als Suchworte. Damit die Menge an Schlagwörtern allerdings nicht zu unspezifisch wird, sollte es vermieden werden, allgemeine sogenannte Stoppwörter (\engl{Stop words}) ohne besondere Semantik, wie "und", "oder", in das Ergebnis mit aufzunehmen. Sie beinhalten keine spezifische Information und fördern aufgrund ihrer Häufigkeit das Auftreten von Verwechslungen.
|
||||
|
||||
% TODO this can be backed by NLP research
|
||||
+5
-3
@@ -12,14 +12,16 @@
|
||||
- ~~Stand der Technik~~
|
||||
- ~~Verwendete Technologien~~
|
||||
- Konzept
|
||||
- Annahmen
|
||||
- ~~Annahmen~~
|
||||
- ~~Eigenschaften Screenshots~~
|
||||
- Erwartungen an Ergebnisdaten
|
||||
- Sprache für Tests derweil nur Deutsch und Englisch
|
||||
- ~~Erwartungen an Ergebnisdaten~~
|
||||
- ~~Sprache für Tests derweil nur Deutsch und Englisch~~
|
||||
- Vergleich (Testaufbau abstrakt!)
|
||||
- ~~Metriken~~
|
||||
- Grundsätzliches Konzept hinter Pipeline
|
||||
- Verwendete Algorithmen (neutral!)
|
||||
- Preprocessing
|
||||
- ~~Postprocessing~~
|
||||
- Durchführung
|
||||
- Implementierung
|
||||
- Programmkomponenten
|
||||
|
||||
Reference in New Issue
Block a user