Linguistische Informatik Gerhard Heyer Universität Leipzig [email protected] Institut für Informatik Markov Modelle und HMMs Wiederholung: Automaten • Automaten akzeptieren oder generieren Sprachen. • Sie bestehen aus Zuständen und Übergängen, es gibt einen Startzustand und Endzustände Beispiel für einen einfachen Sprachautomaten: Start hier Der Vogel bellt laut Ein Hund piepst leise dort Prof. Dr. G. Heyer Modul Linguistische Informatik 2 Markov Modelle und HMMs Markov Modelle • • • • • Markov-Ketten sind Automaten, deren Übergängen Wahrscheinlichkeiten zugewiesen sind. Die Summe der Wahrscheinlichkeiten der ausgehenden Übergänge eines Knotens ist 1. Alle Zustände sind "Endzustände". Sie akzeptieren oder generieren Symbolketten wie Automaten, liefern jedoch zusätzlich die Wahrscheinlichkeit für die Symbolkette. Die Wahrscheinlichkeit einer Symbolkette berechnet sich aus dem Produkt der Wahrscheinlichkeiten der Übergangspfade Start 0,1 hier P(Der Vogel bellt laut hier) = = 0,8•0,4 •0,7 •0,5 •0,1= 0,8 Der 0,2 Ein 0,4 Vogel 0,7 bellt 0,5 laut 0,6 Hund 0,3 piepst 0,5 leise = 0,0112 P(Ein Hund bellt laut dort) = = 0,2•0,6 •0,7 •0,5 •0,9= =0,0387 Modul Lilnguistische Informatik 0,9 dort 3 Markov Modelle und HMMs Markov-Modell • Zweck: Beschreibung einer Sequenz von Zufallsvariablen - die nicht unabhängig voneinander sind - deren Wert von den vorherigen Elementen der Sequenz abhängt X = (X1, X2, ..., Xt, Xt+1, ..., XT,) Sequenz; t=Zeitpunkt (s1, s2, ... ,st, st+1,..., sT) S = {s1, s2, ... , sN } Zustandsmenge (Wertebereich für X) Indizes für s: Hochgestellt: Zeitpunkt, Tiefgestellt: Nummerierung Auf Sprache bezogen: • Sprache ist eine lineare Sequenz von Symbolen • Zufallsvariablen sind sprachliche Einheiten (z.B. Buchstaben, Wörter). • Diese sind nicht unabhängig, da nicht auf jedes Wort jedes beliebige andere Wort folgen kann. Prof. Dr. G. Heyer Modul Linguistische Informatik 4 Markov Modelle und HMMs Markov-Eigenschaften Wahrscheinlichkeit von Symbol sk zum Zeitpunkt t: P(Xt = sk | X1 X2 ... Xt-1) = • Begrenzter Horizont der Wert von Xt hängt nur vom Vorgängerzustand Xt-1 ab: = P(Xt = sk | Xt-1) • Zeitinvarianz der Wert des Folgesymbols hängt nicht vom Zeitpunkt t ab: = P(X2 = sk | X1) Modul Lilnguistische Informatik 5 Markov Modelle und HMMs Markov-Kette Kann beschrieben werden durch stochastische Übergangsmatrix und Anfangswahrscheinlichkeiten aij=P(Xt=si| Xt-1=sj) i=P(X1=si) Automat wir haben gewonnen Anfang wir 0,1 0,75 0,15 wir 0,55 haben 0,4 0,15 0,45 haben 0,3 gewonnen 0,2 0,7 0,1 gewonnen 0,15 0,1 0,55 wir 0,15 0,4 0,75 0,15 haben Modul Lilnguistische Informatik 0,3 0,15 0,2 0,45 Start gewonnen 0,1 0,7 6 Markov Modelle und HMMs Markov-Ketten mit längerem Horizont Beispiel für Horizont=2 , L=(a|b)* a: P(a|ba) b: P(b|aa) aa a: P(a|aa) b: P(b|bb) a: P(a|ab) ab ba b: P(b|ba) bb a: P(a|bb) b: P(b|ab) Zustände entsprechen den letzten beiden Symbolen in der Kette. Dies ist für beliebige (endliche) Horizonte erweiterbar, in der Praxis fehlen für lange Horizonte die statistischen Daten („Nullenproblem“) Prof. Dr. G. Heyer Modul Linguistische Informatik 7 Markov Modelle und HMMs Algorithmus für Markov-Prozess Dieser Algorithmus generiert eine Symbolfolge gemäß einem Markov-Modell: t=1; Starte in Zustand zi mit Wahrscheinlichkeit i Loop für immer: Wähle Folgezustand zt+1 = zj aufgrund Übergangswahrscheinlichkeiten; gib Übergangssymbol st aus t++; Prof. Dr. G. Heyer Modul Linguistische Informatik 8 Markov Modelle und HMMs Motivation Hidden Markov Models (HMMs) • Training von Markov-Modellen: Übergangswahrscheinlichkeiten stochastisch auszählen. • „Nullenproblem“: Viele Trigramme tauchen in Trainingstexten nicht auf. Warum also nicht gleichzeitig auf Bigramme und Unigramme zurückgreifen? P(sn|sn-2sn-1)= 1Pe(sn) + 2Pe(sn|sn-1)+3Pe(sn|sn-2sn-1) mit 1 + 2 + 3 =1 HMMs benutzen dies und finden die besten Belegungen für die s automatisch. Prof. Dr. G. Heyer Modul Linguistische Informatik 9 Markov Modelle und HMMs Beispiel für -Übergänge P(sn|sn-2sn-1)= 1Pe(sn) + 2Pe(sn|sn-1)+3Pe(sn|sn-2sn-1) :1 ab :2 1 a:P(a) ba b:P(b) a:P(a|b) a:P(a|ab) 2 b:P(b|b) :3 bb 3 b:P(b|ab) Der Weg zwischen den Zuständen ab und ba,bb ist nicht durch das Übergangssymbol determiniert, es gibt „versteckte“ Zustände. Prof. Dr. G. Heyer Modul Linguistische Informatik 10 Markov Modelle und HMMs Definition HMM HMM: Quadrupel (z0, Z, S, E) Z: Zustandsmenge Z= {z1, ... zn} z0: Startzustand S: Alphabet von Ein/Ausgabesymbolen S= {s1, s2, ... , sm } E: Menge von Kanten bzw. Übergängen E= {e1, e2, ... , ek } ei = (zi , zj , sk , p) zi Anfangszustand zj Zielzustand sk Symbol si z ) p Übergangswahrscheinlichkeit p P( z i j Mehrere Übergänge von einem Zustand aus mit demselben Symbol sind erlaubt. Deshalb kann die zeitliche Kette der Zustände nicht durch die Kette der Symbole bestimmt werden – „hidden“. Prof. Dr. G. Heyer Modul Linguistische Informatik 11 Markov Modelle und HMMs Die Wahrscheinlichkeit einer Sequenz P ( s1...s n ) P( s ...s 1 n , z1..z n 1 ) z1 .. z n1 P( z ) P( s , z 1 1 z .. z 1 z .. z 2 | z1 ) P ( s 2 , z 3 | s1 , z1 z 2 )......P ( s n , z n 1 | s1..s n 1 , z1..z n ) (1) n 1 P( s , z 1 1 2 | z1 ) P ( s 2 , z 3 | z 2 )......P ( s n , z n 1 | z n ) (2) n 1 n P( s , z i i 1 | zi ) (3) z1 .. z n1 i 1 si P( z z i 1 ) (4) z1 .. z n1 i 1 n i (1) (2) (3) (4) Expansion mit bedingten Wahrscheinlichkeiten Startzustand hat Wahrscheinlichkeit 1; Markov-Annahme Zusammenfassung (2) Wahrscheinlichkeit einer Sequenz ist die Summe über alle möglichen Pfade, die für diese Sequenz durch das HMM führen Prof. Dr. G. Heyer Modul Linguistische Informatik 12 Markov Modelle und HMMs Zusammenfassung: Übergangsnetzwerke Endlicher Automat Markov Model 0.5 ein 0.5 0.5 Beispiel Hidden Markov Model ein Beispiel 0.005 A. Übergangsmatrix B. - C. Startzustände Prof. Dr. G. Heyer A. Übergangsmatrix B. - C. Startwahrscheinlichkeiten Modul Linguistische Informatik 0.5 0.5 Dete 0.5 Nomn 0.005 ein .11 Beispiel .081 A. Übergangsmatrix B. Emissionsmatrix C. Startwahrscheinlichkeiten Markov Modelle und HMMs Anwendungen HMM I • Sprachverarbeitung - POS-Tagging - Sprecherkennung: Sequenz von Phonemen Geeignete Modelltopologien für die Sprecherkennung Modelle und Methoden der ASV 14 Markov Modelle und HMMs Anwendungen HMM II • Molekülsequenzen: Vorhersage von Molekülstrukturen aufgrund Sequenz • Pattern Recognition, z.B. Gesichtserkennung • Vorhersageprobleme, z.B. Aktienkurse Prof. Dr. G. Heyer Modul Linguistische Informatik 15 Markov Modelle und HMMs HMMs[NN] und[KONJ] POS-Tagging[NN] • Anwendung: Part-Of-Speech-Tagging Beispiel: Anfang[NN] und[KON] Ende[NN] der[ART] Ausstellung[NN] ,[$,] abhängig[ADJD] davon[PROAV] ,[$,] durch[APPR] welchen[PWAT] Eingang[NN] man[PIS] die[ART] Räume[NN] betritt[VVFIN] ,[$,] bilden[VVFIN] die[ART] Installationen[NN] von[APPR] Iris[NE] Häussler[NE*] und[KON] Eran[NE*] Schaerf[NE*] .[$.] • Jedem Wort wird ein [Tag] zugeordnet • Training über manuell annotierte Korpora, z.B. Brown Corpus, Negra Korpus • Tagset: 40-1300 Tags, Wortarten, grammatische Informationen,... z.B. STTS: 54 Tags Prof. Dr. G. Heyer Modul Linguistische Informatik 16 Markov Modelle und HMMs Problem: Ein Wort kann mehrere Tags haben • Er[PPER] verteidigte[VVFIN] die[ART] Burg[NN] • die[ART] verteidigte[ADJA] Burg[NN] Tag-Ambiguität im Brown Corpus: Anzahl Tags / Wortform Anzahl Wortformen 1 Tag 35340 2 Tags 4100 3 Tags 264 4 Tags 61 5 Tags 12 6 Tags 2 7 Tags 1 Prof. Dr. G. Heyer Modul Linguistische Informatik 17 Markov Modelle und HMMs Driving home... „I drove home“ „I“ kann Nomen und Pronomen, sowie Abkürzung sein - I‘s (die Egos) - I ist Symbol für Röm.1, Stromstärke, Insel etc... „drove“ kann Nomen und Verb sein - a drove of cattle (eine Herde Vieh) „home“ kann Nomen, Adjektiv und Verb sein - my home is my castle - a home person - to home is a step back Prof. Dr. G. Heyer Modul Linguistische Informatik 18 Markov Modelle und HMMs HMMs für POS-Tags • Zustände repräsentieren POS-Tags • Übergangswahrscheinlichkeiten abhängig von - aktuellem Zustand (letztes Tag) - Eingabesymbol Beispiel für L= (a|b)*, Tags sind N und V, Bigrammmodell a:P(a|N)P(N|N) a:P(a|N)P(V|N) a:P(a|V)P(V|V) b:P(b|N)P(V|N) V N a:P(a|V)P(N|V) b:P(b|N)P(N|N) Prof. Dr. G. Heyer b:P(b|V)P(N|V) Modul Linguistische Informatik b:P(b|V)P(V|V) 19 Markov Modelle und HMMs Sprachmodell HMM[POS] Bedingte Wahrscheinlichkeiten: - für Folgesymbol bzgl. letztes Tag - für Folgetag bzgl. letztes Tag Bigrammmodell: 1 Zustand entspricht 1 Tag P( s ...s ) 1 n n i i i 1 i P ( s | t ) P ( t | t ) t ...t n 1 i 1 1 Trigammmodell: 1 Zustand entspricht 2 Tags P( s ...s ) 1 n n i i i 1 i 1 i i 1 P ( s | [ t t ]) P ( t | [ t t ]) [ t1t1 ]...[t n1t n1 ] i 1 (ti ist Tag zum Zeitpunkt i, [tt] ist Zustand aus zwei Tags) Prof. Dr. G. Heyer Modul Linguistische Informatik 20 Markov Modelle und HMMs Warum nicht das Symbol vorher betrachten? Ungünstiger: P( s ...s ) 1 n n i i i 1 i i P ( s | t ) P ( t | t , s ) t ...t n1 i 1 1 Beispiel: „blueberry“ kommt 2 mal im Brown-Corpus vor, es gibt ca. 37‘000 CONJ, davon ca. 20‘000 nach NN. Geschätzte Wahrscheinlichkeit für CONJ nach NN: vorher: C ( NN , CONJ ) C ( NN ) hier: C (blueberry , CONJ ) C (blueberry ) Die ungünstige Formel verschärft das data sparseness problem durch zu kleine (also ungenaue) counts. Prof. Dr. G. Heyer Modul Linguistische Informatik 21 Markov Modelle und HMMs Tagging - einfach oder schwer? • HMM-POS-Tagger arbeiten zu 95%-96% korrekt, d.h. pro Satz ist durchschnittlich 1 Tag falsch. • Baseline: Einfaches Verfahren, jedem Wort wird sein häufigstes Tag zugewiesen, arbeitet zu 87%-91% korrekt, d.h. pro Satz sind durchschnittlich 2 Tags falsch. • Rechtfertigung des Aufwandes für zusätzliche 5%: Andere Verfahren (wie Parser) bauen auf Tags auf und machen weniger Folgefehler Prof. Dr. G. Heyer Modul Linguistische Informatik 22 Markov Modelle und HMMs 3 Aufgaben für das HMM 1. Ermitteln der Wahrscheinlichkeit einer Beobachtung Vorwärts/Rückwärts-Algorithmus 2. Beste Pfad-Sequenz finden Viterbi-Algorithmus 3. Training: Aufbau des besten Modells aus Trainingsdaten Baum-Welch-Algorithmus Prof. Dr. G. Heyer Modul Linguistische Informatik 23 Markov Modelle und HMMs Ermitteln der Wahrscheinlichkeit einer Beobachtung • Beobachtung: Sequenz von Symbolen (fest) • Naive Herangehensweise: - Berechne alle möglichen Pfade durchs HMM - Einzelpfadwahrscheinlichkeit: Produkt der Übergangswahrscheinlichkeiten - Wahrscheinlichkeit der Beobachtung: Summe der Einzelpfadwahrscheinlichkeiten Dies ist bei langen Pfaden und vielen Verzweigungen offensichtlich uneffizient. Sei N Anzahl Zustände und T Länge der Kette, dann ist die Komplexität O(T*NT) Prof. Dr. G. Heyer Modul Linguistische Informatik 24 Markov Modelle und HMMs Vorwärts/Rückwärts-Algorithmus • Größere Teilpfade bestehen aus kleineren Teilpfaden • Zwischenergebnisse für Teilpfade speichern (Dynamische Programmierung) Vorwärtswahrscheinlichkeit: t(i)=P(s1...st,zt=i) Wahrscheinlichkeit, sich nach Sequenz s1...st im Zustand zt zu befinden Dies wird für alle t=1..T und i=1..N ausgerechnet, T(N) ist der gesuchte Wert Rückwärts: analog; es ist nicht wichtig, ob vorn oder hinten angefangen wird Prof. Dr. G. Heyer Modul Linguistische Informatik 25 Markov Modelle und HMMs Iteration Vorwärts-Algorithmus • Initialisierung 1 ( j ) P(s1 , z1 | z 0 ) für j=1..N • Iteration N t ( j ) t 1 (i) P( s t , z j | z i ) i 1 für j=1..N • Terminierung N P( s ...s ) T (i) 1 T i 1 Komplexität: O(T*N2) Analog: Rückwärts-Algorithmus, Beginn am Ende P ( s1 ... sT ) N i 1 Prof. Dr. G. Heyer T (i ) Modul Linguistische Informatik 26 Markov Modelle und HMMs Berechnung des wahrscheinlichsten Pfades • Anwendung POS-Tagging: Die Zustände auf dem Pfad geben die Tagfolge an • Sequenz von Symbolen ist fest • Naive Herangehensweise: - Berechne alle Pfade und deren Wahrscheinlichkeiten - wähle den Wahrscheinlichsten aus P*(s1...st) wahrscheinlichster Pfad Dasselbe Problem wie bei der Berechnung der Sequenzwahrscheinlichkeit: Ineffizient Lösung: Viterbi-Algorithmus Prof. Dr. G. Heyer Modul Linguistische Informatik 27 Markov Modelle und HMMs Viterbi-Algorithmus • Ähnlich dem Vorwärtsalgorithmus, nur werden hier nicht Summen über Pfade gebildet, sondern der maximale Pfad pro Zustand pro Zeiteinheit abgespeichert • Aufwand für Summen- und Maximumberechnung ist gleich: Komplexität ebenfalls O(T*N2) Wahrscheinlichkeit einer optimalen Teilfolge: t (i) max P( z1...z t 1 , z t i, s1...s t ) z1 ...z t 1 abgespeichert wird nicht der wahrscheinlichste Pfad für jede Teilsequenz, sondern für jede Teilsequenz für jeden Zustand Prof. Dr. G. Heyer Modul Linguistische Informatik 28 Markov Modelle und HMMs Iteration Viterbi-Algorithmus • Initialisierung 1 ( j ) P( z j , s1 | z 0 ) • Iteration t ( j ) max t 1 (i) *P(s , z j | zi ) t i 1..N t ( j ) arg max t 1 (i) *P( s t , z j | zi ) z1 ...z N • Terminierung P * ( s1...sT ) max T (i) i 1..N z T * arg max T (i) ist Rückverzeigerungsmatrix. Hier wird für jeden Zeitpunkt und für jeden Zustand abgespeichert, welcher Zustand im bis dahin optimalen Pfad vorausging z1 ...z N • Rückverfolgen z t * t 1 ( z t 1*) Prof. Dr. G. Heyer Modul Linguistische Informatik 29 Markov Modelle und HMMs Beispiel Viterbi-Algorithmus Einfaches HMM a:0,4 a:0,2 a:0,3 b:0,1 V N a:0,2 b:0,5 b:0,1 b:0.2 Sequenz: bbba Zustände b bb bbb bbba N - Sequenz N NN NNN NNNN NVVVN 1,0 0,2 0,04 0,008 0,005 V NV NVV NVVV NVVVV 0,0 0,1 0,05 0,025 0,005 N- max. P V - sequenz V– max. P Prof. Dr. G. Heyer Modul Linguistische Informatik 30 Markov Modelle und HMMs Beispiel: Suche nach dem besten Pfad (1,0) N(1,0) NN(0,2) NNN(0,04) V(0,0) b a:0,4 NV(0,1) NNV(0,02) NVN(0,01) NVV(0,05) b NNNNN(0,0032) NNNV(0,004) NVVN(0,005) NVVV(0,025) NNNNV(0,0024) NVVVN(0,005) a:0,2 b:0,1 V N a:0,2 b:0.2 NNNN(0,008) a:0,3 b:0,5 b:0,1 b NVVVV(0,005) a Hoffungslose Verzweigungen werden nicht weiter verfolgt Prof. Dr. G. Heyer Modul Linguistische Informatik 31 Markov Modelle und HMMs Verdeutlichung Viterbi-Algorithmus • Beispiel für 4 Zustände, Weglänge 5 • in werden die Wahrscheinlichkeiten der optimalen Teilfolgen gespeichert • ist Rückverzeigerungsmatrix. Pro Teilfolgenmöglichkeit wird angegeben, wie man zum Anfang laufen muss, damit der optimale Weg gefunden wird Prof. Dr. G. Heyer Modul Linguistische Informatik 32 Markov Modelle und HMMs HMM Training • Training: Aufgrund von Beispielen die Parameter optimieren • Name des Algorithmus: Baum-Welch • Ziel: Erhöhung der Wahrscheinlichkeit von gegebenen Trainingssequenzen • Brute-force-Optimalität: Alle Trainingsbeispiele in HMM-struktur „merken“, d.h. mit Wahrscheinlichkeit 1 versehen, ist unerwünscht: - Struktur des HMM wäre bei vielen Trainingsbeispielen zu gross - unbekannte Instanzen bei Klassifikation haben Wahrscheinlichkeit 0 Prof. Dr. G. Heyer Modul Linguistische Informatik 33 Markov Modelle und HMMs Vereinfachung: Training für Markov-Ketten • Gegeben: - Markov-Automat ohne Übergangswahrscheinlichkeiten - Ausgabesequenz zum Training • Gesucht: Übergangswahrscheinlichkeiten a V N a b b Trainingssequenz: abbaababbaaa Modul Lilnguistische Informatik 34 Markov Modelle und HMMs Übergänge auszählen... Sequenz: abbaababbaaa a von Zustand nach Zustand Symbol Zähler N V a 5 N N b 3 V N a 2 V N b 2 im Beispiel: a Pe (V N ) 2 / 4 a b b Allgemein: C=Zähler a Pe ( N V ) 5/8 b Pe ( N N) 3/8 V N sk Pe ( zi zj) sk C ( zi zj) sk C ( z zl ) l 1,k 1 i n ,m b Pe (V N) 2/ 4 Modul Lilnguistische Informatik 35 Markov Modelle und HMMs ... und dranschreiben a:0,625 V N a:0,5 b:0,375 b:0,5 Probleme bei HMMs: • benutzter Übergang nicht eindeutig: nehme an, alle wurden benutzt • Startparameter dafür vonnöten Modul Lilnguistische Informatik 36 Markov Modelle und HMMs Übergänge zählen für HMMs • Beispiel: - zwei mögliche Pfade durch das HMM für eine Sequenz, - erster Pfad hat Wahrscheinlichkeit 1/3 mit Übergang Ü1 - zweiter Pfad hat Wahrscheinlichkeit 2/3 mit Übergang Ü2 -> Zähle 2/3 für Ü2 und 1/3 für Ü1 • Allgemein: sk sk C ( zi z j ) z1 ...z n 1 P( z 1 ...z n1 | s1 ...s n1 ) ( zi z j , z 1 ...z n1 , s1 ...s n ) 1 sk 1 n 1 1 n 1 1 n 1 1 n P ( z ... z , s ... s ) ( z z , z ... z , s ... s ) 1 n 1 i j 1 n z ...z P( s ...s ) s ( zi z j , z1...z n1 , s1...s n ) zählt, wie oft der Übergang von zi zu zj mit Symbol sk in k Modul Lilnguistische Informatik der Zustandssequenz z1...zn+1 bei Symbolsequenz s1...sn vorkommt 37 Markov Modelle und HMMs Pfadwahrscheinlichkeiten und Übergangswahrscheinlichkeiten • Problem: Wir zählen die Übergänge aus, um die Übergangswahrscheinlichkeiten zu ermitteln • In der Berechnung der Übergangswahrscheinlichkeiten verwenden wir Pfadwahrscheinlichkeiten • Pfadwahrscheinlichkeiten berechnen sich aus Übergangswahrscheinlichkeiten sk C ( zi zj) P( s ...s ) 1 n 1 z ..z n1 n 1 sk 1 n 1 1 n 1 1 n 1 1 n P ( z ... z , s ... s ) ( z z , z ... z , s ... s ) 1 n 1 i j 1 n z ...z P( s ...s ) P( z i i 1 i s z i 1 ) sk Pe ( zi zj) sk C ( zi zj) n ,m sk C ( z zl ) i l 1,k 1 Modul Lilnguistische Informatik 38 Markov Modelle und HMMs Lösung: Schätzen und Iterieren Cross Entropy = Maß für die Wahrscheinlichkeit einer (Trainings)Sequenz bezüglich Modell Top-Level-Algorithmus für Iteriertes Schätzen: "Expectation Maximisation" Old_Cross_Entropy=0.0; Guess HMM Parameters; New_Cross_Entropy=Re-estimate_Parameters(); While not (Old_Cross_Entropy New_Cross_Entropy) { Old_Cross_Entropy=New_Cross_Entropy; New_Cross_Entropy=Re-estimate_Parameters(); } Es muss sichergestellt sein, dass Re-estimate_Parameters() die Cross Entropy verbessert, dann konvergiert der Algorithmus zu einem (lokalen) Maximum Prof. Dr. G. Heyer Modul Linguistische Informatik 39 Markov Modelle und HMMs Ergänzende Literatur E.Charniak, Statistical Language Learning, MIT Press: Cambridge (Mass.) 1993 C. Manning und H.Schütze, Foundations of Statistical Natural Language Processing, MIT Press: Cambridge (Mass.) 1999 (32000) D.Juravsky, J.Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, Prentice Hall: San Francisco 2000 Prof. Dr. G. Heyer Modul Linguistische Informatik 40