28
Grundlagen der Spracherkennung von Niko Kemnitz und Norman Georgi

Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Embed Size (px)

Citation preview

Page 1: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Grundlagen der Spracherkennung

von Niko Kemnitzund Norman Georgi

Page 2: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

1 Einleitung• 2.1 Anwendung und Problematik• 2.2 Aufbau der Sprache

2 Sprachliche Grundlagen• 3.1 Arten und Schwierigkeit• 3.2 Fehlerarten

3 Technische Grundlagen• 4.1 Detektion• 4.2 Diskretisierung• 4.3 Musterextraktion• 4.4 Vektor-Quantisierung

4 Vorbereitung des Signals

5 DTW

6 Hidden-Markov-Modell

x Fazit

Gliederung

Page 3: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

2.1 Anwendung und Problematik

Wozu braucht man Spracherkennung?

- Antwort:- Diktiersysteme- Gerätesteuerung- Auskunftssysteme für z.B Bahn- Routineabfragen im Callcenter- Bestellungen / Reservierungen

Page 4: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

-ideales Ziel: komplett sprachgesteuerter Computer

Jedoch: Trotz intensiver Forschung verbleiben die Einsatzbereiche recht begrenzt, da man an verschiedenen Stellen auf praxisbedingte Fehlerquellen stößt.

Page 5: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

Grundsätzliche Probleme der Sprache:

- Sprache verändert sich stetig- Aussagen teilweise nur aus Kontext erschließbar

- Mehrdeutigkeiten: Der Junge ist verzogen.- Worte mit mehreren Bedeutungen: Band- Spezifische Aussagen: Bsp. Tankstelle

- Verschiedene Sprachen mit unterschiedlichster Grammatik- Jeder Mensch spricht auf andere Art und Weise

Zusätzlich: Abhängigkeit von z.B. Stimmung oder Gesundheitszustand-Variabilität

Page 6: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

2.1 Aufbau der Sprache

Entstehung:Sprache entsteht durch Veränderung des Luftstroms beim Ausatmen.Der Luftstrom bringt dann die Stimmbänder (eigtl. Stimmlippen) zum Schwingen, wodurch ein Laut mit durchschnittlich 180Hz bei Frauen Und 100Hz bei Männern entsteht.

Bewegung der Stimmbänder:

Page 7: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

Spracheinheiten:

Phon: Laut, kleinste Einheit der SprachePhonem: Gruppe von Phonen ohne BedeutungsunterschiedHalbsilbe: Anfangs-/Endteil einer SilbeSilbe: Wortteil um einen Vokal oder DiphtongWort: kleinste funktional EinheitSatz: grammatikalisch geordnete Wortmenge

Im Deutschen Vorhandene Mengen:

Page 8: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Sprachliche Grundlagen

Nun Variabilität erklärbar:

Sprache ist eine Abfolge von Phonen Manche Phone gehören zum selben PhonemVerschiedenste Aussprache von Silben, Worten und Sätzen

Variation des Wortes “sieben“

Page 9: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Technische Grundlagen

Unterteilung der Anwendungsbereiche der Spracherkennung:

Spracherkennung unterteilt sich in verschiedene Gebiete, wobeijedes Gebiet andere Anforderungen und Fehlerquellen hat.

3.1 Arten und Schwierigkeit

Page 10: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Technische Grundlagen

Was macht die Spracherkennung komplexer?

Antwort: 3 verschiedene Faktoren

- Menge des Gesprochenen- Wortschatzumfang- Sprecherabhängigkeit

Page 11: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Technische Grundlagen

Je komplexer, desto mehr Fehler können auftreten. Fehler tauchen beim aktuellen Stand der Technik noch öfters auf.

Ziel: komplexes Erkennungssystem mit 100% Erkennungsrate bei fortlaufendem Gesprochenem

Fehler ist jedoch nicht gleich Fehler:Spracherkennung und auch Sprechererkennung haben jeweils mehrere potenzielle Fehlerquellen.

Page 12: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Technische Grundlagen

Durch Unterscheidung erhöht man die Erkennungsrate.Man unterscheidet folgende Arten von Fehlern:

- Verwechselung- Einfügung- Auslassung

Grob:

3.2 Fehlerarten

Page 13: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Technische Grundlagen

Fehler bei der Sprecherverifikation:

Andere Anwendung andere Fehler:

- berechtige Nutzer werden abgelehnt- nicht Berechtigte werden angenommen

bilden Funktionen:

Page 14: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Wie wird aus dem Gesprochenen etwas gewonnen, das der Computer erkennen kann?

Langer Prozess:

Detektion Blockbildung Diskretisierung Anpassung Vektor-Quantisierung

4.1 Detektion

Page 15: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Zuerst: Wann wird überhaupt gesprochen?

Festlegung nach der Lautstärke je lauter desto mehr Energie

Problem:Das eingehende Signal wird durch verschiedene Dinge verfälscht.

- Kurzstörungen- Pausen- Hintergrundgeräusche- Stimmlose An- und Auslaute mit geringer Energie

Page 16: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Das Gesprochene wurde entdeckt, und nun?

Die Aufnahme des Ganzen wäre zu komplex Aufteilung in kurze, einzelne, sich überlappende Blöcke

Da Aufteilung nach Lauten schwer möglich ist, wird nach ZeitGetrennt Blöcke von ca. 15-20ms, 5-10ms

Dadurch ergeben sich näherungsweise stationäre Signale

Page 17: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Diese Blöcke sind jedoch Zeitfunktionen der Frequenz. Diese können nicht zum Vergleich Punkt für Punkt übereinandergelegt werden.

Diskrete Fourier-Transformation über die Blockgrenzen

Dadurch erhält man Frequenzwerte, die unabhängig von der Zeit und damit vergleichbar sind.Außerdem sind diese konjugiert symmetrisch, wodurch man nur die Werte von 0 bis L/2 betrachten muss.

4.2 Diskretisierung

Page 18: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Aus dem realen und dem imaginären Teil lassen sich nun folgende neue Werte ableiten:

Die Phase ist jedoch kaum von Bedeutung

Die DFK am besten durchführbar mit einer Blocklänge von ,da hier rekursiv halbiert und berechnet werden kann.

Frequenzphase

Frequenzbetrag

Page 19: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Anpassung des Frequenzbereichs

Grund: Das menschliche Gehör nimmt verschiedene Frequenzen, welche Nebeneinander liegen als einen Ton wahr.

Kann auch für die Spracherkennung genutzt werden

Daher bildet man Frequenzgruppen (-bänder), um das Frequenzspektrum zu vereinfachen.

Page 20: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Lineare Prädiktion – alternativ zu DTK

Vorraussetzung: Quelle-Filter-Modell Quelle erzeugt periodischen oder rauschendens Signal, welches von 2 Filtern zu einem Laut wird

Dadurch kann man von dem eingehenden Signal auf den Filter schließen.Von den Koeffizienten des Filters wird dann auf die Merkmale geschlossen.

Page 21: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Die Genauigkeit der Prädiktkoeffizienten (Merkmale) wird durchdie sog. Prädiktordnung angegeben.

je höher, desto weniger Abweichung

Dadurch gehen jedoch detaillierte Elemente des eingehendenSignals verloren, da die Koeffizienten den Verlauf abstrahiert darstellen.

Teilweise sogar erwünscht für das sprecherunabhängige Erkennen der Sprache

Page 22: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

SignalvorverarbeitungPrädiktordnung

4

8

16

32

Page 23: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Cepstrale Darstellung

SpeCtrum CepStrum

Nach einer 2. DFT über das Spektrum erhält man das Cepstrum.Multiplikativ zusammenhängende Werte des Spektrums hängenim Cepstrum additiv zusammen.

Einfache Entfernung von Vorfiltern wie Mikrofon oder Telefonleitung

4.3 Musterextraktion

Page 24: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Dynamische Merkmale

Beobachtet man einen speziellen Punkt der Blöcke, so erhält maneinen Vektor über alle Blöcke, welcher den Verlauf der Merkmalean diesem Punkt angibt (dynam. Merkmale):x1(t) ... xn (t)

Alle zusammen ergeben den Merkmalsvektor:xi(1) ... xi(T)

Man erreicht einen zur Zeit parallelen Bereich, die QUeFrenz.

Page 25: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Daraus kann man erkennen, ob es sich um einen stationären oderstark veränderlichen Bereich handelt:

Es ergibt sich der sog.Delta-Koeffizient, abweichend von 0 wenn Merkmale sich verändern.Unempfindlich für additive Störungen

Es existieren noch viele weitere Arten der Merkmalsextraktion

Page 26: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

4.4 Vektor-Quantisierung

Problem: Große DatenmengeLösung: typische, repräsentative Vektoren als Klasseneinteilung

Dafür: Abstandberechnung der Beispielvektoren z.B.- Betragsabstand

- quad. Euklidischer Abstand

Meist mit um Dominanz von großen Wertebereichen zu verhindern.

Page 27: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Signalvorverarbeitung

Verlor an Bedeutung durch das Vorhandensein größerer Speicher-Kapazitäten, da nur Index und nicht die Abstände gespeichert werden.

Aber: reicht bereits aus um ein einfaches Spracherkennungsprogramm zu schreiben.

Codebuch mit VokabularWort mit dem geringsten Abstand wird als Index erkanntZuordnung des eingesprochenen Worts

Page 28: Von Niko Kemnitz und Norman Georgi. 1 Einleitung2 Sprachliche Grundlagen 2.1 Anwendung und Problematik 2.2 Aufbau der Sprache 3 Technische Grundlagen

Beispiel für eine Signalverarbeitung

*hier vllt noch was rein wenn zeit*