Feedback, love to HS and SP
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
\subsection{Postprocessing}
|
||||
\label{algorithmen_postprocessing}
|
||||
|
||||
Da die verarbeiteten Bilddaten \bzw deren extrahierte Textdaten später mittels einer schlagwortbasierten Suchfunktion durch den Nutzer auffindbar sein müssen, ist es notwendig, die Ergebnisdaten im Rahmen des Postprocessings weiterzuverarbeiten. Das Ziel ist es, die Redundanz innerhalb des Datensets zu reduzieren. Ebenso sollen falsch erkannte Ergebnisdaten identifiziert und aus der Schlagwortmenge entfernt werden.
|
||||
Die extrahierten Textdaten aus den verarbeiteten Bilddaten werden später in einer schlagwortbasierten Suchfunktion verwendet. Um Redundanz innerhalb des Datensets zu reduzieren und falsch erkannte Ergebnisdaten zu verhindern, müssen die Ergebnisdaten der Texterkennung im Rahmen des Postprocessings weiterverarbeitet werden.
|
||||
|
||||
\subsubsection{Filterung anhand der Genauigkeit}
|
||||
\label{algorithmen_confidence}
|
||||
|
||||
Tesseract stellt im Rahmen der Texterkennung neben den erkannten Texten auch die jeweiligen Metadaten zur Verfügung. Auch die geschätzte Genauigkeit (\engl{Confidence}) wird für jedes erkannte Wort 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.
|
||||
Wie in \autoref{fig:screenshot_postprocessing_confidence} gezeigt, prüft der Confidence-Filter die jeweiligen Wörter auf ihre Metadaten und verwirft jene, 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.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
@@ -19,14 +19,14 @@ Der Confidence-Filter prüft die jeweiligen Wörter auf ihre Metadaten und verwi
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/confidence.detailed.json}
|
||||
\end{minipage}
|
||||
\caption{Auszug aus den Ergebnisdaten der Texterkennung aus \ref{fig:screenshot_postprocessing} nach der Confidence-Filterung. Alle Wörter unter dem Schwellenwert werer entfernt.}
|
||||
\caption{Auszug aus den Ergebnisdaten der Texterkennung aus \ref{fig:screenshot_postprocessing} nach der Confidence-Filterung. Alle Wörter unter dem Schwellenwert werden entfernt.}
|
||||
\label{fig:screenshot_postprocessing_confidence}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Normalisierung}
|
||||
\label{algorithmen_normalisierung}
|
||||
|
||||
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.
|
||||
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. Diese Methode wurd auch in \autoref{fig:screenshot_postprocessing_normalisierung} angewandt.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
@@ -44,16 +44,16 @@ Um die aus der Texterkennung gewonnenen Daten zunächst für die weitere Filteru
|
||||
\subsubsection{Vermeidung von Duplikaten}
|
||||
\label{algorithmen_duplikate}
|
||||
|
||||
Nach der Normalisierung werden Duplikate innerhalb der erkannten Textdaten entfernt. Dies verringert ebenfalls die Redundanz der Textdaten und steigert die Effizienz der nachfolgenden Filterverfahren.
|
||||
Nach der Normalisierung werden Duplikate innerhalb der erkannten Textdaten entfernt, um die Effizienz der nachfolgenden Filterverfahren zu erhöhen. In den Daten aus \autoref{fig:screenshot_postprocessing_duplikate} wird die Liste an erkannten Wörtern stark gekürzt und die Redundanz damit verringert. Es treten keine Duplikate mehr auf.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/normalize.json}
|
||||
\lstinputlisting[firstnumber=33,linerange={33-41}]{include/postprocessing/normalize.json}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/duplicates.json}
|
||||
\lstinputlisting[firstnumber=14,linerange={14-22}]{include/postprocessing/duplicates.json}
|
||||
\end{minipage}
|
||||
\caption{Auszug aus den Ergebnisdaten der Texterkennung aus \ref{fig:screenshot_postprocessing} nach der Duplikatentfernung.}
|
||||
\label{fig:screenshot_postprocessing_duplikate}
|
||||
@@ -62,18 +62,18 @@ Nach der Normalisierung werden Duplikate innerhalb der erkannten Textdaten entfe
|
||||
\subsubsection{Filterung anhand der Wortlänge}
|
||||
\label{algorithmen_wortlänge}
|
||||
|
||||
Verarbeitet das Texterkennungssystem Texte mit unregelmäßigen Abständen oder grafischen Artefakten in der Schrift, werden statt des eigentlichen Wortes fälschlicherweise oft kurze Symbolkombinationen erkannt. Um diese Kombinationen aus den Ergebnisdaten zu entfernen, können Zeichenketten mithilfe des Wortlängenfilters ungeachtet ihres Inhaltes verworfen werden.
|
||||
Verarbeitet das Texterkennungssystem Texte mit unregelmäßigen Abständen oder grafischen Artefakten in der Schrift, werden statt des eigentlichen Wortes fälschlicherweise oft kurze Symbolkombinationen erkannt. Um diese Kombinationen aus den Ergebnisdaten zu entfernen, können Zeichenketten, wie in \autoref{fig:screenshot_postprocessing_wortlänge} gezeigt, 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.
|
||||
Zusätzlich kann dieser Filter an die Anforderung des Zielsystems angepasst werden. So haben beispielsweise Wörter, die weniger als zwei Zeichen beinhalten, einen für die Schlagwortsuche zu geringen Informationsgehalt und werden daher entfernt.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/normalize.json}
|
||||
\lstinputlisting[firstnumber=14,linerange={14-22}]{include/postprocessing/duplicates.json}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/duplicates.json}
|
||||
\lstinputlisting[firstnumber=11,linerange={11-19}]{include/postprocessing/wordlength.json}
|
||||
\end{minipage}
|
||||
\caption{Auszug aus den Ergebnisdaten der Texterkennung aus \ref{fig:screenshot_postprocessing} nach der Wortlängenfilterung. Alle Wörter, die kürzer sind als der Schwellenwert, werden aus den Ergebnisdaten entfernt.}
|
||||
\label{fig:screenshot_postprocessing_wortlänge}
|
||||
@@ -82,12 +82,12 @@ Zusätzlich kann dieser Filter an die Anforderung des Zielsystems angepasst werd
|
||||
\subsubsection{Sprachabhängige Filterung mittels Regular Expressions}
|
||||
\label{algorithmen_regex}
|
||||
|
||||
Nachdem die zu filternden Textdaten durch vorherige Schritte 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 kann für jede Sprache ein individueller Filter angelegt werden, 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 "æ" oder mehrere hintereinandergereihte Leerzeichen explizit entfernt werden können.
|
||||
Nachdem die zu filternden Textdaten durch vorherige Schritte vorverarbeitet wurden, werden die Ergebnisdaten ein letztes Mal mithilfe von regulären Ausdrücken (\engl{Regular Expressions}) durchsucht. Aufgrund der dynamischen Erweiterbarkeit der Regular Expressions kann für jede Sprache ein individueller Filter angelegt werden, 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 "æ" oder mehrere hintereinandergereihte Leerzeichen explizit entfernt werden können. Die Anwendung des deutschen Sprachfilters wird in \autoref{fig:screenshot_postprocessing_regex} gezeigt.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
\lstinputlisting[firstnumber=2,linerange={2-14}]{include/postprocessing/duplicates.json}
|
||||
\lstinputlisting[firstnumber=7,linerange={7-19}]{include/postprocessing/duplicates.json}
|
||||
\end{minipage}
|
||||
\hfill
|
||||
\begin{minipage}{0.49\textwidth}
|
||||
|
||||
Reference in New Issue
Block a user