Added some sources

This commit is contained in:
Simon Gruber
2024-01-10 08:29:14 +01:00
parent 6654aaf5e5
commit d80e28cc5d
5 changed files with 134 additions and 9 deletions
@@ -1,6 +1,6 @@
\section{Ziele}
\label{ziele}
Das Ziel dieser Bachelorarbeit ist das Ermitteln einer Vorgehensweise für Texterkennung in Screenshots von grafischen Oberflächen. Verschiedene Algorithmen zur Bildbearbeitung vor der Texterkennung oder Nachbearbeitung \bzw Filterung der Ergebnisdaten werden evaluiert und anhand von festgelegten Qualitätskriterien miteinander verglichen.
Das Ziel dieser Bachelorarbeit ist das Ermitteln einer Vorgehensweise für Texterkennung in Screenshots von grafischen Oberflächen. Verschiedene Algorithmen zur Bildbearbeitung vor der Texterkennung oder Nachbearbeitung \bzw Filterung der Ergebnisdaten werden evaluiert und anhand von festgelegten Qualitätskriterien analysiert.
Die prototypische Implementierung dient als Basis für jegliche Tests und Analysen, anhand derer die Algorithmen automatisch verglichen werden. Die entwickelten Komponenten werden als Bibliotheken zur Verfügung gestellt, um die Texterkennung inklusive automatischer Bildverarbeitung und Filterung der erkannten Inhalte \bzw Schlagworte später in anderen Anwendungen weiterverwenden zu können.
+2 -2
View File
@@ -5,8 +5,8 @@ Die in Salzburg ansässige COPA-DATA GmbH bietet die Softwareplattform zenon an,
Die zenon-Plattform kann sowohl vom Kunden selbst, als auch durch das Professional Services Team individuell auf Kundenanforderungen zugeschnitten und in bestehende Prozesse und vor allem Software eingebunden werden. Den Grundstein für die hohe Anpassbarkeit bildet die Produktdokumentation, in der Schnittstellendokumentation, Anleitungen und Beispiele in verschiedensten Sprachen, Formaten und mit kundenspezifischen Erweiterungen umfassend sowohl für Mitarbeiter, als auch für Kunden festgehalten sind.
In der Produktdokumentation werden, besonders in Hinblick auf die grafischen Tools wie die zenon Engineering Studio Entwicklungsumgebung oder die zenon Service Engine, zahlreiche Grafiken verwendet, um Beispiele verständlicher zu machen und Anleitungen übersichtlicher zu gestalten. Um bei dem großen Funktionsumfang der zenon-Tools, den vielen Sprachen, Anpassungen und den unterschiedlichen Themengebieten innerhalb der Dokumentation nicht den Überblick zu verlieren, benötigt das interne "Technical Content and Translation" Team unterstützend zu dem intern verwendeten CMS "Author-It" eine dedizierte Anwendung zur Verwaltung von sprachabhängigen Bilddateien.
In der Produktdokumentation werden, besonders in Hinblick auf die grafischen Tools wie die zenon Engineering Studio Entwicklungsumgebung oder die zenon Service Engine, zahlreiche Grafiken verwendet, um Beispiele verständlicher zu machen und Anleitungen übersichtlicher zu gestalten. Um bei dem großen Funktionsumfang der zenon-Tools, den vielen Sprachen, Anpassungen und den unterschiedlichen Themengebieten innerhalb der Dokumentation nicht den Überblick zu verlieren, benötigt das interne "Technical Content and Translation" Team unterstützend zu dem intern verwendeten CMS eine dedizierte Anwendung zur Verwaltung von sprachabhängigen Bilddateien.
Während das Programm auch die Basisfunktionalität, das effiziente Speichern, Bearbeiten, Löschen, Abrufen beziehungsweise das generelle Verwalten von Screenshots und der zugehörigen Metainformation abdecken soll, konzentriert sich diese Bachelorarbeit primär auf die Kategorisierungsfunktionalität.
Mithilfe von optischer Texterkennung (engl. optical character recognition, "OCR") soll es den Mitarbeitern möglich gemacht werden, hochgeladene Screenshots und Grafiken innerhalb von kürzester Zeit aufgrund ihrer Inhalte zu verschlagworten und auf eine bestehende Liste von Schlagworten (engl. "Keywords" beziehungsweise "Tags") zu prüfen.
Mithilfe von optischer Texterkennung (engl. optical character recognition, "OCR") soll es den Mitarbeitern möglich gemacht werden, hochgeladene Screenshots und Grafiken innerhalb von kürzester Zeit aufgrund ihrer Inhalte zu verschlagworten, um sie später anhand dieser suchen zu können.
@@ -3,12 +3,12 @@
\subsection{Texterkennungssysteme}
Optische Texterkennung wird in der Informationstechnik unter anderem dazu verwendet, Texte in verschiedensten Dokumenten oder Grafiken als solche zu erkennen und zu extrahieren. Auf dem Markt gibt es dafür bereits viele kommerzielle Komplettlösungen wie "IronOCR", "Google Cloud Vision", "Amazon Textract" oder "Microsoft Azure Computer Vision", die oftmals sehr gute Ergebnisse erzielen und sich gut in bestehende Prozesse oder Anwendungen integrieren lassen \mcite{todo}.
Optische Texterkennung wird in der Informationstechnik eingesetzt, um Textinhalte aus gedruckten oder digital reasterisierten Medien zu extrahieren. Dieses Verfahren kann für diverse Anwendungsgebiete genutzt werden, wie beispielsweise für Handschrifterkennung oder für das Ablesen von Nummernschildern eines Autos \mcite{asif2014overview}. Auf dem Markt gibt es dafür bereits viele kommerzielle Komplettlösungen wie "IronOCR", "Google Cloud Vision", "Amazon Textract" oder "Microsoft Azure Computer Vision", die oftmals sehr gute Ergebnisse erzielen und sich gut in bestehende Prozesse oder Anwendungen integrieren lassen \mcite{the_old_bailey_and_ocr} \mcite{cc_platforms_comparison}.
Heutige Texterkennungssysteme arbeiten oft mit neuralen Netzwerken sowie fortgeschrittenen Bildverarbeitungsalgorithmen, um Text in Bilddateien zu erkennen und zu extrahieren. Während es zahlreiche wissenschaftliche Werke zur grundlegenden Funktionsweise von optischen Texterkennungswerkzeugen gibt, wurden die genauen Schritte zur richtigen Vorbereitung der Bilddaten -- besonders in Bezug auf Screenshots -- nur oberflächlich behandelt.
Heutige Texterkennungssysteme arbeiten oft mit neuralen Netzwerken sowie fortgeschrittenen Bildverarbeitungsalgorithmen, um Text in Bilddateien zu erkennen und zu extrahieren. Während es zahlreiche wissenschaftliche Werke zur grundlegenden Funktionsweise von optischen Texterkennungswerkzeugen gibt (siehe beispielsweise \bibentry{eikvil1993optical} oder \bibentry{islam2017survey}), werden die genauen Schritte zur richtigen Vorbereitung der Bilddaten -- besonders in Bezug auf Screenshots -- oftmmals nur oberflächlich behandelt.
\subsection{Filterung der Ergebnisdaten}
Das Themengebiet des Natural Language Processing beschäftigt sich mit der Interaktion zwischen menschlicher Sprache und Computern. Natural Language Processing kombiniert Techniken aus der Informatik, Linguistik und dem maschinellen Lernen, um mit menschlicher Sprache umzugehen und beispielsweise Textanalyse, Übersetzungen, Spracherkennung oder Dialogsysteme möglich zu machen. Durch die große Aufmerksamkeit und die häufige Nutzung der Technologien -- beispielsweise in digitalen Sprachassistenten -- sowie dem Aufkommen von neuronalen Netzwerken wurden in diesem Forschungsgebiet in den letzten Jahren immer wieder Fortschritte erzielt.
Das Themengebiet des Natural Language Processing beschäftigt sich mit der Interaktion zwischen menschlicher Sprache und Computern. Techniken aus der Informatik, Linguistik und dem maschinellen Lernen werden kombiniert, um mit menschlicher Sprache umzugehen und beispielsweise Textanalyse, Übersetzungen, Spracherkennung oder Dialogsysteme möglich zu machen \mcite{chowdhary2020natural}. Durch die große Aufmerksamkeit und die vielseitige Nutzung der Technologien -- angefanen von automatischer Rechtschreibkontrolle bis hin zu digitalen Sprachassistenten -- sowie dem Aufkommen von neuronalen Netzwerken wurden in diesem Forschungsgebiet in den letzten Jahren immer wieder Fortschritte erzielt \mcite{kalyanathaya2019advances} \mcite{10.1145/219717.219778}.
Dadurch gibt es zahlreiche wissenschaftliche Ressourcen, die als Grundlage für die in dieser Bachelorarbeit verwendeten Vorgehensweise zur Interpretation und Extraktion relevanter Schlagworte aus den erkannten Freitextdaten dienen.
+3 -3
View File
@@ -4,11 +4,11 @@
\subsection{Texterkennungssystem}
\label{texterkennungssystem}
Die Nutzung der in \autoref{einleitung} erwähnten Anwendungen \bzw Dienstleistungen ist kostenpflichtig und die genaue Vorgehensweise dieser Programme ist nicht öffentlich bekannt.
Die Nutzung der in \autoref{einleitung} erwähnten Anwendungen \bzw Dienstleistungen ist kostenpflichtig und die genaue innere Vorgehensweise dieser Programme ist nicht öffentlich bekannt \mcite{textract_pricing}\mcite{gcv_pricing}\mcite{azurevision_pricing}.
Aufgrund dieser Tatsachen ist die Wahl des Texterkennungssystems für die prototypische Implementierung dieser Bachelorarbeit auf die seit 2005 unter der Freie-Software-Lizenz "Apache 2.0" veröffentlichten "Tesseract Open Source OCR Engine" (kurz: Tesseract) gefallen. Diese basiert seit der Major-Version 4 auf einem neuronalen Netz, durch welches mithilfe von sprachspezifischen Trainingsdaten Texte in Bildern erkannt werden können \mcite{tessdoc}. Außerdem stellt sie mit mittlerweile über 50.000 Sternen auf der Repository-Hosting-Plattform GitHub eines der beliebtesten Texterkennungssysteme dar \mcite{tessdoc} \mcite{tessrepo}.
Aufgrund dieser Tatsachen ist die Wahl des Texterkennungssystems für die prototypische Implementierung dieser Bachelorarbeit auf die seit 2005 unter der Freie-Software-Lizenz "Apache 2.0" veröffentlichten "Tesseract Open Source OCR Engine" (kurz: Tesseract) gefallen \mcite{Smith2007}. Diese basiert seit der Major-Version 4 auf einem neuronalen Netz, durch welches mithilfe von sprachspezifischen Trainingsdaten Texte in Bildern erkannt werden können. Außerdem stellt sie mit mittlerweile über 50.000 Sternen auf der Repository-Hosting-Plattform GitHub eines der beliebtesten Texterkennungssysteme dar \mcite{tessdoc} \mcite{tessrepo}.
\subsection{Bildbearbeitungswerkzeug}
\label{bildbearbeitungswerkzeug}
Als Werkzeug für die Durchführung der notwendigen Bildbearbeitungsschritte wurde die Softwarebibliothek "ImageMagick" gewählt. Sie ist umfassend dokumentiert, flexibel und lässt sich gut in gängige Programmiersprachen einbinden. Viele in der Bildverarbeitung genutzte Operationen sind außerdem bereits implementiert, was schnelles Prototyping vereinfacht und die Bibliothek zu einer idealen Wahl für die Realisierung von Bildbearbeitungsschritten in der prototypischen Implementierung macht.
Als Werkzeug für die Durchführung der notwendigen Bildbearbeitungsschritte wurde die Softwarebibliothek "ImageMagick" \mcite{imagemagick} gewählt. Sie ist umfassend dokumentiert, flexibel und lässt sich gut in gängige Programmiersprachen einbinden. Viele in der Bildverarbeitung genutzte Operationen sind außerdem bereits implementiert, was schnelles Prototyping vereinfacht und die Bibliothek zu einer idealen Wahl für die Realisierung von Bildbearbeitungsschritten in der prototypischen Implementierung macht.
+125
View File
@@ -158,6 +158,38 @@
language = {eng}
}
@online{imagemagick,
title = {ImageMagick Homepage},
url = {https://www.imagemagick.org/},
date = {2023-05-23},
urldate = {2023-06-12},
language = {eng}
}
@online{textract_pricing,
title = {Amazon Textract - Pricing},
url = {https://aws.amazon.com/textract/pricing/},
date = {2023-05-23},
urldate = {2023-06-12},
language = {eng}
}
@online{gcv_pricing,
title = {Google Cloud Vision - Pricing},
url = {https://cloud.google.com/vision/pricing},
date = {2023-05-23},
urldate = {2023-06-12},
language = {eng}
}
@online{azurevision_pricing,
title = {Azure AI Vision - Pricing},
url = {https://azure.microsoft.com/en-gb/pricing/details/cognitive-services/computer-vision/},
date = {2023-05-23},
urldate = {2023-06-12},
language = {eng}
}
@online{tessrepo,
title = {Tesseract Repository},
url = {https://github.com/tesseract-ocr/tesseract},
@@ -175,3 +207,96 @@
}
@article{asif2014overview,
title={An overview and applications of optical character recognition},
author={Asif, AMAM and Hannan, Shaikh Abdul and Perwej, Yusuf and Vithalrao, Mane Arjun},
journal={Int. J. Adv. Res. Sci. Eng},
volume={3},
number={7},
pages={261--274},
year={2014}
}
@inbook{cc_platforms_comparison,
author = {Gupta, Urvashi and Sharma, Rohit},
year = {2023},
month = {09},
pages = {67-78},
title = {“Comparison of Different Cloud Computing Platforms for Data Analytics”},
isbn = {978-981-99-3715-8},
doi = {10.1007/978-981-99-3716-5_7}
}
@online{tessdoc,
title = {Tesseract Documentation},
url = {https://tesseract-ocr.github.io/},
date = {2023-05-23},
urldate = {2023-06-12},
language = {eng}
}
@inproceedings{the_old_bailey_and_ocr,
title = "The Old Bailey and OCR: Benchmarking AWS, Azure, and GCP with 180,000 Page Images",
keywords = "Amazon Web Services, Google Cloud Platform, Historical Documents, Microsoft Azure, Old Bailey, Optical Character Recognition",
author = "William Ughetta and Kernighan, {Brian W.}",
note = "Funding Information: The authors are grateful for help and advice from David Brailsford, Zoe LeBlanc, Sharon Howard, Tim Hitchcock, Mikki Hornstein, Chris Miller, Rasool Tyler, and Jack Brassil, and for funding from Princeton SEAS and GCP credits. Publisher Copyright: {\textcopyright} 2020 ACM.; 20th ACM Symposium on Document Engineering, DocEng 2020 ; Conference date: 29-09-2020 Through 01-10-2020",
year = "2020",
month = sep,
day = "29",
doi = "10.1145/3395027.3419595",
language = "English (US)",
series = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
publisher = "Association for Computing Machinery, Inc",
booktitle = "Proceedings of the ACM Symposium on Document Engineering, DocEng 2020",
}
@article{eikvil1993optical,
title={Optical character recognition},
author={Eikvil, Line},
journal={citeseer. ist. psu. edu/142042. html},
volume={26},
year={1993}
}
@article{islam2017survey,
title={A survey on optical character recognition system},
author={Islam, Noman and Islam, Zeeshan and Noor, Nazia},
journal={arXiv preprint arXiv:1710.05703},
year={2017}
}
@article{chowdhary2020natural,
title={Natural language processing},
author={Chowdhary, KR1442 and Chowdhary, KR},
journal={Fundamentals of artificial intelligence},
pages={603--649},
year={2020},
publisher={Springer}
}
@article{10.1145/219717.219778,
author = {Church, Kenneth W. and Rau, Lisa F.},
title = {Commercial Applications of Natural Language Processing},
year = {1995},
issue_date = {Nov. 1995},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {38},
number = {11},
issn = {0001-0782},
url = {https://doi.org/10.1145/219717.219778},
doi = {10.1145/219717.219778},
journal = {Commun. ACM},
month = {nov},
pages = {7179},
numpages = {9}
}
@article{kalyanathaya2019advances,
title={Advances in natural language processing--a survey of current research trends, development tools and industry applications},
author={Kalyanathaya, Krishna Prakash and Akila, D and Rajesh, P},
journal={International Journal of Recent Technology and Engineering},
volume={7},
number={5C},
pages={199--202},
year={2019}
}