Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • deniz.cingoez/robocup-speechrec
  • t.dilger/robocup-speechrec
  • msterz/robocup-speechrec
  • patric.steckstor/robocup-speechrec
  • jennifer.lee/robocup-speechrec
  • jharin/robocup-speechrec
  • f.thiemer/robocup-speechrec
  • augustin.harter/robocup-speechrec
  • jleichert/robocup-speechrec
9 results
Show changes
Showing
with 0 additions and 859 deletions
File deleted
isr-eclipse-plugin/TeX/Bilder/SyntaxHighlighting.png

9.39 KiB

File deleted
isr-eclipse-plugin/TeX/Bilder/Visualisierung.png

24.2 KiB

\thispagestyle{empty}
\begin{titlepage}
\begin{center}
%\begin{minipage}{13.5cm}
% \includegraphics[height=3cm]{Bilder/toolchain.pdf}\\
% \textsf{
%\hspace*{2.0cm} Fakult\"at f\"ur Elektrotechnik, Informatik und Mathematik \\
% \hspace*{2.0cm} Heinz Nixdorf Institut und Institut f\"ur Informatik\\
% \hspace*{2.0cm} Fachgebiet Softwaretechnik \\
% \hspace*{2.0cm} Warburger Strae 100 \\
% \hspace*{2.0cm} 33098 Paderborn
% }
% \end{minipage}\\[40pt]
\begin{doublespace}
{\Huge\textbf{\meinTitel}}\\[30pt]
\end{doublespace}
{\huge \bachelorArbeit }\\[6pt]
an der Univeristt Bielefeld im Rahmen des Studiengangs\\
{\Large Kognitive Informatik}\\
zur Erlangung des Grades\\[6pt]
{\Large \gradBachelor}\\[30pt]
von\\
{\scshape\large \meinName}\\
\meineStrasseHausNr\\\meinePLZundOrt\\[30pt]
vorgelegt bei\\
\ifthenelse{\equal{\ausarbeitungsTyp}{\ausarbeitungsTypSeminar}\OR{\equal{\ausarbeitungsTyp}{\ausarbeitungsTypProSeminar}}}
{
%then: nur Erstgutachter
{\large \meinErstgutachter}\\[30pt]
}
{
%else: Erst- und Zweitgutachter
{\large \meinErstgutachter}\\
und\\
{\large \meinZweitgutachter}\\[30pt]
}
%{\today} % heutiges Datum
{Bielefeld, \meinErstellungsdatum}
\end{center}
\end{titlepage}
\ No newline at end of file
\relax
\@setckpt{DeckblattTest}{
\setcounter{page}{2}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{subfigure}{0}
\setcounter{lofdepth}{1}
\setcounter{subtable}{0}
\setcounter{lotdepth}{1}
\setcounter{ALG@line}{0}
\setcounter{ALG@rem}{0}
\setcounter{ALG@nested}{0}
\setcounter{ALG@Lnr}{2}
\setcounter{ALG@blocknr}{10}
\setcounter{ALG@storecount}{0}
\setcounter{ALG@tmpcounter}{0}
\setcounter{parentequation}{0}
\setcounter{definition}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{section@level}{0}
}
%\AddToShipoutPicture*{\BackgroundPic}
%Edit: weies Feld
\AddToShipoutPicture*{
\definecolor{vRect}{rgb}{1,0.5,0}
\put(0,0){\textcolor{vRect}{
\rule{0.18\paperwidth}{\paperheight}}
}
}
\AddToShipoutPicture*{
\definecolor{hRect}{rgb}{0.3,0.9,0.3}
\put(0,0.55\paperheight){\textcolor{hRect}{
\rule{1\paperwidth}{.25\paperheight}}
}
}
\AddToShipoutPicture*{
\definecolor{hRect}{rgb}{0.1,0.7,0.1}
\put(0,0.55\paperheight){\textcolor{hRect}{
\rule{0.18\paperwidth}{.25\paperheight}}
}
}
\AddToShipoutPicture*{
\definecolor{hRect}{rgb}{1,0.5,0}
\put(0,0.799\paperheight){\textcolor{hRect}{
\rule{1\paperwidth}{.01\paperheight}}
}
}
\thispagestyle{empty}
\newgeometry{left=0cm,bottom=1.5cm}
\begin{titlepage}
\begin{tabular}{p{0.2\paperwidth}c}
&\begin{minipage}{0.71\paperwidth}
\centering
{\huge Bachelorarbeit }\\[3cm]
\begin{doublespace}
{\Huge\textbf{\meinTitel}}\\[4cm]
\end{doublespace}
von\\[8pt]
{\scshape\Large \meinName}\\
\end{minipage}
\end{tabular}
\vfill
\begin{tabular}{p{0.18\paperwidth}c}
& \begin{minipage}{\textwidth}
\raggedright
vorgelegt bei\\
{\large \meinErstgutachter}\\
{\large \meinZweitgutachter}\\[15pt]
im Studiengang Kognitive Informatik\\
der Technischen Fakultt\\
der Universitt Bielefeld\\[1cm]
{Bielefeld, \meinErstellungsdatum}
\end{minipage}
\end{tabular}
\end{titlepage}
\restoregeometry
\ No newline at end of file
\documentclass[a4paper, % DIN A4 Format
12pt, %Schriftgröße
%twoside, %zweiseitiges Layout (linke und rechte Seiten)
oneside,
openright, %Kapitel fangen immer auf rechter Seite an
cleardoublepage=empty, %evtl. eingefügte Seiten sind leer (ohne Seitenzahl), alternativ: cleardoublepage=plain (mit Seitenzahl)
numbers=noenddot, %hinter Kapitel- und Abschnittsnummern grundsätzlich kein Punkt am Ende
%appendixprefix, %im Anhang bei Kapiteln eine Prefixzeile verwenden, z.B. "Anhang A"
BCOR1.5cm, %Binderand
bibliography=totoc %Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
%idxtotoc %Indexverzeichnis ins Inhaltsverzeichnis aufnehmen
]{scrbook} % Dokumentklasse aus KOMA-Paket, alternativ: scrartcl oder scrreprt
\ No newline at end of file
\documentclass[a4paper, % DIN A4 Format
11pt, %Schriftgröße
twoside, %zweiseitiges Layout (linke und rechte Seiten)
openany, %Kapitel fangen auf bel. Seite an; alternativ: Kapitel fangen immer auf rechter Seite an: openright
cleardoublepage=plain, %evtl. eingefügte Seiten sind mit Seitenzahl, alternativ: cleardoublepage=empty (ohne Seitenzahl)
pointlessnumbers, %hinter Kapitel- und Abschnittsnummern grundsätzlich kein Punkt am Ende
appendixprefix, %im Anhang bei Kapiteln eine Prefixzeile verwenden, z.B. "Anhang A"
BCOR1.5cm, %Binderand
bibliography=totoc %Literaturverzeichnis ins Inhaltsverzeichnis aufnehmen
%idxtotoc %Indexverzeichnis ins Inhaltsverzeichnis aufnehmen
]{scrreprt} % Dokumentklasse aus KOMA-Paket, Alternativen: scrartcl, scrreprt, scrbook
\ No newline at end of file
%---Silbentrennung-----------------------------------------------------------------------------
% Silbentrennung für Wörter, in denen kein Bindestrich vorkommt
\input{meineSilbentrennung}
%----------------------------------------------------------------------------------------------
\begin{document}
% Verzeichnisse umbenennen von "...verzeichnis"; muss hier stehen, da sonst der Name nicht geändert wird
\renewcommand{\contentsname}{Inhalt}
\renewcommand{\bibname}{Literatur}
\pagenumbering{roman} % römische Seitenzahlen, bevor der eigentliche Inhalt beginnt
%---Schmutztitel-------------------------------------------------------------------------------
\ifthenelse{
\equal{\ausarbeitungsTyp}{\ausarbeitungsTypMaster}
\OR
\equal{\ausarbeitungsTyp}{\ausarbeitungsTypDiplom}
}
{
%then: Schmutztitel erstellen
\thispagestyle{empty}
\begin{center}
{\vspace*{170pt}\Large\textbf{\meinTitel}}\\[30pt]
von\\
{\large \meinName}
\end{center}
\clearpage
}
{
%else: nichts tun
}
%---Titelseite---------------------------------------------------------------------------------
\include{DeckblattTest}
\clearpage
\input{Inhalt/Abstract}
\input{Inhalt/Abstrakt}
%---Inhaltsverzeichnis-------------------------------------------------------------------------
%\clearemptydoublepage
\tableofcontents
\input{meineDokumentstruktur}
\input{Inhalt/Versicherung}
\end{document}
\ No newline at end of file
\chapter*{Abstract}
\label{cha:Abstract}
Speech recognizers nowadays play an increasingly important role in our daily lives. In order to reduce the complexity of natural language in a speech recognition process and to achieve significantly better results, a problem-specified grammar is used. Also the speech recognizer ESMERALDA which was designed at the University of Bielefeld makes use of this technique.
In this Bachelor thesis an Eclipse-Plugin has been developed which aims to simplify the creation and maintenance of a grammar. A subsequent study showed that the use of the developed plugin simplifies the use of grammar in many terms.
\ No newline at end of file
\chapter*{Abstract}
\label{cha:Abstract}
Spracherkenner spielen heutzutage eine immer wichtigere Rolle in unserem Alltag. Um die Komplexität der natürlichen Sprache in einem Spracherkennungsprozess zu verringern und deutlich bessere Ergebnisse zu erzielen, wird eine problemspezifizierte Grammatik verwendet. Auch der an der Universität Bielefeld entworfene ESMERALDA-Spracherkenner arbeitet mit dieser Technik.
In dieser Bachelorarbeit wurde ein Eclipse-Plugin entwickelt, welches das Erstellen und Warten einer Grammatik erleichtern soll. In einer anschließenden Studie konnte gezeigt werden, dass der Einsatz des entwickelten Plugin den Umgang mit der Grammatik in vielen Hinsichten vereinfacht.
\ No newline at end of file
\chapter*{Anhang}
\includegraphics[width=1\textwidth]{Bilder/Studie/Seite1}
\begin{figure}[p]
\includegraphics[width=1\textwidth]{Bilder/Studie/Aufgaben}
\end{figure}
\begin{figure}[p]
\includegraphics[angle=90,width=1\textwidth]{Bilder/Studie/FragenMP2}
\includegraphics[angle=90,width=1\textwidth]{Bilder/Studie/FragenMP}
\end{figure}
\begin{figure}[p]
\includegraphics[angle=90,width=1\textwidth]{Bilder/Studie/FragenOP2}
\includegraphics[angle=90,width=1\textwidth]{Bilder/Studie/FragenOP}
\end{figure}
\chapter{Einleitung}
\label{cha:Einleitung}
\section{Motivation und Zielstellung}
\label{sec:Motivation und Zielstellung}
Spracherkennung spielt heutzutage in unserem Umfeld eine immer größere Rolle. Sei es bei automatisierten Telefonhotlines oder bei der Steuerung eines modernen mobilen Devices. Mit zunehmender Bedeutung der Robotik hat die Spracherkennung auch dort mittlerweile einen hohen Grad an Notwendigkeit erreicht. Als Teilgebiet der angewandten Informatik, beschäftigt sich die Spracherkennung mit der automatisierten Erfassung von gesprochener Sprache. Natürliche Sprache automatisiert zu erfassen, stellt jedoch weiterhin ein großes Problem dar, dessen Herausforderung vor allem in der Komplexität ihrer Struktur und Mehrdeutigkeit begründet ist.
Ein viel versprechender Ansatz dieses Problem zu lösen, besteht darin, den Spracherkenner mit einer spezifizierten Grammatik zu verknüpfen, der diese Komplexität einschränkt. Der, an der Universität Bielefeld entworfene Spracherkenner \emph{ISR}\footnote{IncrementalSpeechRecognizer: Inkrementelle Spracherkenner}, welcher auf dem Mustererkennungsframework \emph{ESMERALDA}\footnote{ \emph{\underline{E}nvironment for \underline{S}tatistical \underline{M}odel \underline{E}stimation and \underline{R}ecognition on \underline{A}rbitrary \underline{L}inear \underline{D}ata \underline{A}rrays}}\cite{Fink} basiert, versucht dieses Problem unter Verwendung der ISR-Grammatik zu reduzieren. Um die Spracherkennung zu optimieren, wird eine Grammatik erstellt, die von vornherein nur bestimmte Satzstrukturen zulässt. Die erfassten Daten eines Sprechers brauchen daher nicht mehr gegen den gesamten Sprachumfang geprüft werden, sondern nur gegenüber den, in einer Grammatik beschrieben Regeln. Dies bedeutet implizit, dass zur Erkennung komplexer Satzmuster eine komplexe Grammatik zugrunde liegen muss.
In dieser Bachelorarbeit wird das Problem des Erstellens komplexer Grammatiken behandelt. Eine wesentliche Motivation an dieser Aufgabe zu arbeiten, resultiert aus dem vielschichtigen Anwendungsfall des Robocup@Home\footnote{\url{http://www.ai.rug.nl/robocupathome/}}-Wettkampfes. In diesen Wettkämpfen muss ein Roboter der Universität Bielefeld autonom Aufgaben erledigen, die ihm über den ESMERALDA-Spracherkenner zugänglich gemacht werden. Dabei ist die Erstellung komplexer und die Wartung unbekannter ISR-Grammatiken schwierig. Der Gebrauch eines Standard-Texteditors wie \emph{gedit}\footnote{\url{http://projects.gnome.org/gedit/}} (\emph{GNOME Editor}) oder \emph{vim}\footnote{\url{http://www.vim.org/}} (\emph{VI Improved}) ist in der Praxis nicht sinnvoll, da er keine ausreichende Unterstützung, zum Beispiel bei der Syntaxprüfung der zu erstellenden Grammatik, bietet. Da der Prozess des Kompilierens, währenddessen auch die Prüfung der syntaktischen Korrektheit der Grammatik stattfindet, viel Zeit braucht und über dies selten eine sinnvoll interpretierbare Fehlermeldung ausgibt, bietet sich eine Prüfung der Syntax schon direkt bei der Erstellung einer Grammatik an. Des Weiteren ist das Lösen des \emph{Wortproblems}\footnote{Als Wortproblem bezeichnet man das Problem entscheiden zu können, ob ein gegebenes Wort durch eine Grammatik erstellt werden kann oder nicht.}, selbst bei einer übersichtlichen Grammatik, ohne weitere Hilfsmittel sehr aufwändig.
Im Anwendungsfall des Robocups stehen die Anwender oft unter massivem Zeitdruck. Dies erfordert bei der Lösung der Aufgaben über einen längeren Zeitraum eine hohe Konzentration, die gleichzeitig nicht effizient genug für andere Problemlösungen genutzt werden kann. Durch den Einsatz eines Editors, der für die Lösung besonderer Aufgaben spezifiziert wurde, soll die Fehleranfälligkeit reduziert und damit dem Zeitverlust entgegen gewirkt werden.
Da der ESMERALDA-Spracherkenner an der Universität Bielefeld konzipiert wurde und zurzeit nur in bestimmten Einsatzbereichen genutzt wird, zum Beispiel beim Robocup, wurde bisher kein Editor zur effektiven Erstellung und Wartung von ISR-Grammatiken entwickelt. Die auf dem Markt zur Verfügung stehenden Editoren, unabhängig davon, ob als Onlineservice oder als Software, die sich mit dem Thema der kontextfreien Grammatik beschäftigen, sind nicht kompatibel, mit der ISR-Grammatik, die durch eine spezifische Notation, Sonderzeichen und Sonderregeln definiert ist.
Die Idee der Implementierung eines eigenen Editors liegt also nahe und ist sinnvoll. Dabei ist es jedoch nicht zwingend notwendig, eine StandAlone-Software zu entwickeln, da einige Editor-Frameworks bereits durch selbst geschriebene Plugins so erweitert werden können, dass eine angemessene Problemlösung möglich ist.
Das Ziel dieser Bachelorarbeit ist es, auf Basis eines Eclipse Plugin, einen Editor zu entwickeln, der den Umgang mit der ISR-Grammatik, sowohl für Anfänger als auch für Fortgeschrittene, vereinfacht und effizienter macht.
\section{Leitfaden}
\label{sec:Leitfaden}
Der Aufbau der Bachelorarbeit gliedert sich in fünf Kapiteln.
Kapitel Eins erläutert die Motivation und die Zielstellung.
Das zweite Kapitel zeigt die theoretischen Grundlagen der ISR-Grammatik auf und gibt erste Einblicke in die Art der Softwaremodellierung. Zunächst wird auf den Aufbau und die Struktur der ISR-Grammatik eingegangen und dabei ihre besonderen Eigenschaften erklärt. Des Weiteren werden Anforderungen an die Software erstellt, die den Umgang mit der ISR-Grammatik erleichtern sollen. Eine mögliche Problemstellung wird in der Anwendergeschichte dargestellt. Anschließend werden die Anforderungen an die Software analysiert.
Im dritten Kapitel werden anhand der im zweiten Kapitel entworfenen Anforderungen, die Definition der notwendigen Funktionalitäten die Softwarespezifikation erstellt. Ein weiterer Schwerpunkt liegt auf der Beschreibung der Architektur und der Implementierung der Software.
Zur Evaluierung der im dritten Kapitel erstellten Software wurde eine Benutzerstudie durchgeführt. Darin wurde der Frage nachgegangen, ob die Software zu allen aufgestellten Anforderungen und Problemen eine Lösung bietet. Die Ergebnisse und die Auswertung der Studie werden im vierten Kapitel präsentiert und kritisch diskutiert.
Das letzte Kapitel bildet die Zusammenfassung der Arbeit und gibt einen Ausblick auf mögliche Erweiterungen der Funktionalität des Editors, die zum Teil aus weiteren Vorüberlegungen resultieren und zum anderen Teil aus den Erkenntnissen und den Ergebnissen der Benutzerstudie hervorgegangen sind.
\ No newline at end of file
This diff is collapsed.
\chapter{Fazit und Ausblick}
\label{cha:FazitUndAusblick}
Im Rahmen dieser Bachelorarbeit ist auf Basis eines Eclipse-Plugin ein Editor zur optimierten Bearbeitung von ISR-Grammatiken erstellt worden.
Zunächst wurde durch das Erstellen von Anforderungen an die zu entwickelnde Software und eine anschließende Analyse der Anforderungen, eine Übersicht über die zu implementierenden Funktionalitäten erarbeitet. Ein detaillierter und realistischer Anwendungsfall unterstützte dabei die Auswahl und Entwicklung der Funktionalitäten. Aufgrund der konkreten Anforderungen war es sinnvoll, den Editor als Eclipse-Plugin zu entwickeln. Das ermöglichte, die zu implementierenden Funktionalitäten übersichtlich und erweiterbar einzubetten.
Die Auswahl und die anschließende Implementierung der Funktionalitäten stellten den Kern der Bachelorarbeit dar. nach der Implementierungsphase wurde eine Studie durchgeführt, in der belegt werden konnte, dass de gewählten Funktionalitäten sinnvoll sind und ihre Nutzung einen klaren Vorteil bei der Bearbeitung der ISR-Grammatik bietet. Aus der Studie ging ebenfalls hervor, dass an einigen Stellen des Plugin Verbesserungspotential gesehen wurde. Dazu wurden die Lösungsvorschläge der Probanden miteinbezogen und zum Teil nach der Studie dem Programm hinzugefügt. Dies lieferte den Beweis, dass die gewählte Architektur der Software es ermöglicht, Funktionalitäten nachträglich zu optimieren oder neue hinzuzufügen.\\
In weiteren Projekten könnte die Software dahingehend verbessert werden, selektive Funktionalitäten intelligenter oder effizienter zu programmieren. Es wäre zudem möglich, bestimmte Regeln, welche wiederkehrend in Grammatiken vorkommen, auszulagern. Dazu müsste ein eigenes Format entwickelt werden, welches solche Referenzen zulässt. Es würden redundante Informationen vermieden und gleichzeitig die Grammatiken konsistent gehalten. Eine zusätzliche Erweiterung könnten weitere Metazeichen sein, die zum Beispiel zum Auskommentieren von Regeln definiert werden. \\
Zusammenfassend lässt sich sagen, dass der in dieser Bachelorarbeit entstandene Editor den Umgang mit der ISR-Grammatik sowohl für Anfänger als auch für Fortgeschrittene erleichtert. Darüber hinaus bietet die Erweiterbarkeit der Architektur die Möglichkeit, das Plugin zu optimieren oder um weitere Funktionalitäten zu ergänzen.
\ No newline at end of file
\nomenclature{API}{Application Programming Interface}
\nomenclature{ARIS}{Architektur integrierter Informationssysteme}
\nomenclature{BPR}{Business Process Reengineering}
\nomenclature{eEPK}{erweiterte Ereignisgesteuerte Prozesskette}
\nomenclature{EPK}{Ereignisgesteuerte Prozesskette}
\nomenclature{JMS}{Java Message Service}
\nomenclature{SDK}{Software Development Kit}
\nomenclature{URI}{Uniform Resource Identifier}
\nomenclature{URL}{Uniform Resource Locator}
\nomenclature{URN}{Uniform Resource Name}
\nomenclature{W3C}{World Wide Web Consortium}
\nomenclature{XML}{Extensible Markup Language}
\nomenclature{XPath}{XML Path Language}
\nomenclature{XSL}{Extensible Stylesheet Language}
\nomenclature{XSLT}{XSL Transformations}
This diff is collapsed.
This diff is collapsed.
\chapter*{Versicherung}
\label{sec:Versicherung}
Versicherung gem"a"s \S10a, Absatz 5 der Studien- und Pr"ufungsordnung f"ur das Bachelorstudium (BPO) an der Technischen Fakult"at der Universit"at Bielefeld vom 31. M"arz 2009.\\
Ich versichere hiermit, dass ich meine Bachelorarbeit mit dem Thema
\begin{quote}
\textit{\meinTitel}
\end{quote}
selbst"andig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt, sowie Zitate kenntlich gemacht habe.\\
\\
Bielefeld, den \today
\rule[-0.5cm]{8cm}{0.5pt}
\textsc{\meinName}