next up previous contents
Nächste Seite: Die GOLOG Prozedur-Bibliotheken Aufwärts: Die Einzelkomponenten Vorherige Seite: Die Spracherkennung   Inhalt


Der semantische Parser

Die Beurteilung dieser Ebene gestaltet sich aufgrund fehlender Testdaten beziehungsweise Testpersonen schwierig. Das zur Erstellung verwendete Modell ist in Anhang B nachzulesen. Nichtsdestotrotz können die erzielten Ergebnisse als gut bezeichnet werden. Die Antwortzeiten bewegen sich zwischen 0,1 und 0,2 Sekunden. Ausgehend von einer korrekten Wortkette (grammatisch korrekt und keine Erkennungsfehler) konnte in bezug auf die vorhandenen Modellsätze kein Fehler bei der Segmentierung in Chunks und der anschließenden Interpretation beobachtet werden, da alle Sätze in die Modellierung eingegangen sind. Selbst unter Mißachtung grammatikalischer Regeln konnte bisher kaum Fehlverhalten ermittelt werden. Selbst ein Satz wie ''Carl Kaffee Raum 6 mir'' kann umgesetzt werden. Bei Wortverdopplungen wie zum Beispiel in dem Satz ''Carl bring mir einen Kaffee in in Raum 6'' wird kein Kommando ausgelöst. Dies ist somit ein Fehler. Weitere Strukturen, die definitiv zu Interpretationsfehlern führen, sind bisher nicht bekannt.

Durch den Spracherkenner erzeugte Wortfehler führen möglicherweise zu Fehlern in dieser Ebene. Nehmen wir an, die Fehlerrate des Spracherkenners auf Wortbasis sei \( f_{w} \). Da einige Wörter in der Modellierung die gleiche semantische Bedeutung erhalten haben, kann eine wortklassenbedingte Fehlerrate \( f_{k} \) mit dem Zusammenhang \( f_{k}\leq f_{w} \) definiert werden. Die \( \leq \)-Relation ergibt sich aus der Tatsache, daß bei der Klassenbetrachtung Erkennungsfehler innerhalb einer Klasse keinen Interpretationsfehler nach sich ziehen. Die Klassen ergeben sich aus den Definitionen der Heaps und Chunks (siehe 5.2.4 und Anhang B). Alle in einem Chunk oder einer Schlüsselwortmenge verwendeten Wörter werden als bedeutungstragend bezeichnet. Weil die Wortklassen nicht disjunktiv sein müssen, ist eine Bestimmung des exakten Wertes für \( f_{k} \) im Rahmen dieser Diplomarbeit zu aufwendig. Auch die Aussagekraft würde sich in Grenzen halten, da das vorhandene Satzmaterial sehr begrenzt ist. Deswegen wird im folgenden die oben angegebene Abschätzung verwendet. Ein Beispiel folgt unten.

Nehmen wir an, daß alle Wörter unabhängig erkannt werden und \( (1-f_{w}) \) bezeichnet die Wahrscheinlichkeit ein Wort korrekt zu erkennen. Dann ist \( (1-f_{w})^{m} \) die Wahrscheinlichkeit, \( m \) Wörter richtig zu erkennen. Dann bezeichnet


\begin{displaymath}
q_{m}=1-(1-f_{k})^{m}\, \, \, \leq \, 1-(1-f_{w})^{m}\end{displaymath}

die Wahrscheinlichkeit, mindestens ein Wort aus diesen \( m \) Wörtern falsch zu erkennen. Wir nehmen an, daß die Erkennung eines falschen Wortes bereits zu einem Interpretationsfehler führt. In der Realität ist dies, durch die Definition von Chunks und Heaps, nicht unbedingt zu erwarten.

Bei der Definition von \( f_{k} \) sind wir davon ausgegangen, daß alle in der Wortkette vorkommenden Wörter bedeutungstragend sind. \( n \) bezeichnet im folgenden die Gesamtanzahl der Wörter eines Satzes und \( m \) die Anzahl der bedeutungstragenden Wörter (Bedeutungslänge). Wir müssen nun noch den Fehler betrachten, wenn ein nicht bedeutungstragendes Wort durch ein bedeutungstragendes Wort substituiert wird. Die entsprechende Fehlerrate bezeichnen wir als \( f_{s} \). Da in der Realität eine deterministische Grammatik verwendet wird, tritt dieser Fehler sehr selten auf beziehungsweise es handelt sich um einen Folgefehler eines in \( f_{k} \) enthaltenen Fehlers. Daraus folgt:

\begin{displaymath}
f_{s}\ll f_{w}.\end{displaymath}

\( s_{l} \) bezeichnet die Wahrscheinlichkeit mit der mindestens eins von \( l \) nicht bedeutungstragenden Wörtern durch ein bedeutungstragendes ersetzt wird und zu einer Fehlinterpretation führt. Es gilt:

\begin{displaymath}
s_{l}=1-(1-f_{s})^{l}.\end{displaymath}

Wenn ein nicht bedeutungstragendes Wort durch nicht bedeutungstragendes ersetzt wird, so führt dies nicht zu einem Interpretationsfehler, da das Wort im Scanner gefiltert wird. Daraus ergibt sich der Zusammenhang

\begin{displaymath}
(1-p^{m}_{n})=(1-q_{m})*(1-s_{n-m}),\end{displaymath}

wobei \( p^{m}_{n} \) die Wahrscheinlichkeit einer Fehlinterpretation einer Wortkette mit \( n \) Elementen, von denen \( m \) bedeutungstragend sind, bezeichnet. Anders ausgedrückt ist es die Wahrscheinlichkeit, eines der \( m \) bedeutungstragenden Wörter falsch zu erkennen. Wie an den gleich folgenden Berechnungen zu sehen sein wird, ist der Wert von \( n-m \) bei dem verwendeten Modell (siehe Anhang B) nicht sehr groß. Weil zusätzlich \( f_{s} \) nahe 0 ist, werden wir den Fehler \( s_{l} \) im folgenden wegen seines geringen Werts (ebenfalls nahe 0) vernachlässigen. Damit folgern wir:

\begin{displaymath}
1-p^{m}_{n}\approx 1-q_{m},\end{displaymath}

woraus wir ableiten:

\begin{displaymath}
p^{m}_{n}\approx q_{m}.\end{displaymath}

Bei dieser Überlegung wird, wie oben gesagt, nicht betrachtet, daß einige Wortfehler keinen Einfluß auf die Fehlerrate haben. Dies ist zum Beispiel der Fall, wenn ein oder mehr nicht bedeutungstragende Wörter eingefügt werden (Insertions). Diese Wörter werden sowieso durch den Scanner gefiltert. Aber auch das Einfügen bedeutungstragender Wörter zieht nicht unbedingt einen Fehler nach sich. Ein Beispiel in bezug auf das verwendete Modell:



Originalsatz: Carl hol einen kaffee.
Fehlerhafter Satz: Carl bitte hol mir einen kaffee.



Das Wort mir ist bedeutungstragend und bitte nicht. Für Deletions und Substitutions lassen sich ähnliche Fälle finden. Im folgendenden wird das Verhältnis (\( x \)) zwischen der durchschnittlichen Bedeutungs- (\( \hat{m} \)) und der durchschnittlichen Satzlänge (\( \hat{n} \)) als Abschätzung für die Anzahl bedeutungstragender Wörter in einem Satz verwendet. Für das verwendete Modell aus Anhang B ergeben sich die folgenden Werte:

\begin{eqnarray*}
\hat{n} & = & 5,62\\
\hat{m} & = & 2,72\\
x & = & 0,48
\end{eqnarray*}



In einem Satz der Länge \( n \) befinden sich im Durchschnitt also \( \hat{m}=0.48*\hat{n} \) bedeutungstragende Wörter. In bezug auf das vorliegende Modell und die Domäne werden eigentlich nur Zahlen zwischen null und fünfzehn benötigt. Aus diesem Grunde wurde die Länge von Zahlen bei der Berechnung als eins angenommen. Eine genauere Bestimmung der Verhältnisse zwischen \( \hat{n} \) und \( \hat{m} \) in bezug auf die reale Länge \( n \) ist aufgrund des zur Verfügung stehenden Materials nicht sinnvoll. Im folgenden benutzen wir daher eine Abschätzung für \( m \) in bezug auf die Satzlänge \( n \):

\begin{displaymath}
m\approx \lceil x*n\rceil .\end{displaymath}

\( N^{m}_{n} \) bezeichnet im folgenden die Anzahl der Sätze der Länge \( n \) mit \( m \) bedeutungstragenden Wörtern. \( g^{m}_{n} \) soll die Wahrscheinlichkeit bezeichnen, mit der eine Wortkette der Länge \( n \) mit \( m \) bedeutungstragenden Wörtern auftritt. Unter der Annahme, daß alle Sätze gleich wahrscheinlich auftreten, läßt sich \( g^{m}_{n} \) berechnen durch:

\begin{displaymath}
g^{m}_{n}=\frac{N^{m}_{n}}{N}\end{displaymath}

und für die Gesamtanzahl aller Sätze \( N \) gilt:

\begin{displaymath}
N=\sum ^{\infty }_{n=1}\sum ^{n}_{m=0}N^{m}_{n}\end{displaymath}

Dann kann die Fehlerrate des Parsers (\( PER \)) abgeschätzt beziehungsweise deren obere Schranke (\( max.\, PER \)) berechnet werden durch:

\begin{displaymath}
PER\leq max.\, PER=\sum _{n=1}^{N}\sum _{m=1}^{n}g^{m}_{n}p^{m}_{n},\end{displaymath}

Die Bestimmung der einzelnen \( g^{m}_{n} \) erscheint anhand des vorhandenen Materials nicht sinnvoll, da zum Beispiel keine statistischen Auftretenswahrscheinlichkeiten der \( n \)-elementigen Sätze in der Modelldatei enthalten sind. Jeder eingetragene Satz kommt nur genau einmal vor. Deswegen wird eine etwas ungenauere obere Schranke hergeleitet.

\( g_{n} \) sei die Wahrscheinlichkeit für das Auftreten einer Wortkette der Länge \( n \):

\begin{displaymath}
g_{n}=\sum ^{n}_{m=0}g^{m}_{n}=\frac{N_{n}}{N},\end{displaymath}

wobei gilt:

\begin{displaymath}
N_{n}=\sum ^{n}_{m=0}N^{m}_{n}\end{displaymath}

Durch die geringe Anzahl von Sätzen kann eine bessere statistische Aussagekraft der Werte \( g^{m}_{n} \) gegenüber \( g_{n} \) bezweifelt werden. Die aus dem Modell erhaltenen Werte können sich durch das Hinzufügen von wenigen Wortketten stark verändern. Aus diesem Grund erscheint \( g_{n} \) an dieser Stelle eine genügend genaue Definition zu sein.

Mit obigen Abschätzungen \( p^{m}_{n}\approx q_{m} \) und \( m\approx \lceil x*n\rceil \) kann für die Fehlerrate des Parsers geschlossen werden:

\begin{eqnarray*}
PER\leq max.\, PER & = & \sum _{n=1}^{N}\sum _{m=1}^{n}g^{m}_{...
...n}g^{m}_{n}\\
& = & \sum _{n=1}^{N}q_{\lceil x*n\rceil }g_{n}.
\end{eqnarray*}



Also gilt:

\begin{displaymath}
PER\lesssim \sum _{n=1}^{N}g_{n}q_{\lceil x*n\rceil }.\end{displaymath}

Diese Abschätzung wird für die Berechnungen in Tabelle 6.1 verwendet.

Es sei an dieser Stelle nochmals darauf hingewiesen, daß Wörtern die gleiche semantische Bedeutung zugeordnet werden kann. Deshalb wäre für eine genauere Bestimmung der Fehlerrate eine Einteilung in Wortklassen nötig. Daraus ergibt sich die oben erwähnte Relation: \( f_{k}\leq f_{w} \). Als Beispiel sei hier die Zuordnung von \( Post \) und \( Brief \) zu einer Schlüsselwortmenge zu nennen. Zusätzlich müßten die Fehlerarten (Insertions, Deletions und Substitutions) genauer betrachtet werden. Eine Wortersetzung kann zum Beispiel weitreichendere Folgen als eine Wortlöschung haben.


\begin{spacing}{1.00}
{\raggedright\begin{tabular}{p{5mm}ll}
&
1) Originalsatz:&...
...setzung:&
Carl bring einen Brief von Henrik\\
\end{tabular}\par }
\end{spacing}

Der Sinn des zweiten Satzes kann mit dem vorliegenden System bestimmt werden, der des dritten Satzes nicht. In den Berechnungen wird aber davon ausgegangen, daß jeder Fehler die gleichen semantischen Konsequenzen nach sich zieht.

Die Berechnungen in Tabelle 6.1 machen deutlich, je mehr irrelevante Wörter gegenüber bedeutungstragenden Wörtern in der Wortkette sind, desto höher ist die Wahrscheinlichkeit, daß der Fehler bei einem irrelevanten Wort aufgetreten ist. Die Spalte für \( x=0.48 \) kann für das implementierte Modell (siehe Anhang B) als Anhaltspunkt dienen.

Aufgrund der während einer Vorführung erhaltenen Daten (siehe 6.3.2) wurde eine PER von 27% errechnet. Dies impliziert eine ungefähre WER des Spracherkenners von 10%. Bei einer Fehlerrate des Spracherkenners von über 15% lassen sich eigentlich keine akzeptablen Ergebnisse des Gesamtsystems mehr erwarten.

potentielle max. PER in % max. PER in % max. PER in %
WER in % \( x=0.4 \) \( x=0.48 \) \( x=0.6 \)
1 2,6 3,0 3,7
2 5,2 6,0 7,2
3 7,7 8,9 10,7
4 10,1 11,7 14,0
5 12,5 14,4 17,2
7,5 18,3 21,0 24,8
10 23,8 27,2 31,8
12,5 29,1 33,0 38,3
15 34,1 38,2 44,2
20 43,3 48,2 54,7

Tabelle 6.1: berechnete Fehlerraten des Parsers mit verschiedenen \( x \)


next up previous contents
Nächste Seite: Die GOLOG Prozedur-Bibliotheken Aufwärts: Die Einzelkomponenten Vorherige Seite: Die Spracherkennung   Inhalt

2001-01-04