290 likes | 510 Views
Grundlagen der Spracherkennung. von Niko Kemnitz und Norman Georgi. Gliederung. Sprachliche Grundlagen. 2.1 Anwendung und Problematik Wozu braucht man Spracherkennung? Antwort: Diktiersysteme Gerätesteuerung Auskunftssysteme für z.B Bahn Routineabfragen im Callcenter
E N D
Grundlagen der Spracherkennung von Niko Kemnitz und Norman Georgi
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
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.
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
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:
Sprachliche Grundlagen Spracheinheiten: Phon: Laut, kleinste Einheit der Sprache Phonem: Gruppe von Phonen ohne Bedeutungsunterschied Halbsilbe: Anfangs-/Endteil einer Silbe Silbe: Wortteil um einen Vokal oder Diphtong Wort: kleinste funktional Einheit Satz: grammatikalisch geordnete Wortmenge Im Deutschen Vorhandene Mengen:
Sprachliche Grundlagen • Nun Variabilität erklärbar: • Sprache ist eine Abfolge von Phonen • Manche Phone gehören zum selben • Phonem • Verschiedenste Aussprache von • Silben, Worten und Sätzen Variation des Wortes “sieben“
Technische Grundlagen • 3.1 Arten und Schwierigkeit Spracherkennung unterteilt sich in verschiedene Gebiete, wobei jedes Gebiet andere Anforderungen und Fehlerquellen hat. Unterteilung der Anwendungsbereiche der Spracherkennung:
Technische Grundlagen Was macht die Spracherkennung komplexer? Antwort: 3 verschiedene Faktoren - Menge des Gesprochenen - Wortschatzumfang - Sprecherabhängigkeit
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.
Technische Grundlagen • 3.2 Fehlerarten Grob: • Durch Unterscheidung erhöht man die Erkennungsrate. • Man unterscheidet folgende Arten von Fehlern: • Verwechselung • Einfügung • Auslassung
Technische Grundlagen • Fehler bei der Sprecherverifikation: • Andere Anwendung andere Fehler: • berechtige Nutzer werden abgelehnt • nicht Berechtigte werden angenommen bilden Funktionen:
Signalvorverarbeitung • 4.1 Detektion Wie wird aus dem Gesprochenen etwas gewonnen, das der Computer erkennen kann? • Langer Prozess: • Detektion Blockbildung Diskretisierung Anpassung • Vektor-Quantisierung
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
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 Zeit Getrennt Blöcke von ca. 15-20ms, 5-10ms Dadurch ergeben sich näherungsweise stationäre Signale
Signalvorverarbeitung • 4.2 Diskretisierung • 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.
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. Frequenzbetrag Frequenzphase
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.
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.
Signalvorverarbeitung • Die Genauigkeit der Prädiktkoeffizienten (Merkmale) wird durch • die sog. Prädiktordnung angegeben. • je höher, desto weniger Abweichung Dadurch gehen jedoch detaillierte Elemente des eingehenden Signals verloren, da die Koeffizienten den Verlauf abstrahiert darstellen. • Teilweise sogar erwünscht für das sprecherunabhängige Erkennen der Sprache
Signalvorverarbeitung • CepstraleDarstellung • SpeCtrum CepStrum • Nach einer 2. DFT über das Spektrum erhält man das Cepstrum. • Multiplikativ zusammenhängende Werte des Spektrums hängen • im Cepstrum additiv zusammen. • Einfache Entfernung von Vorfiltern wie Mikrofon oder Telefonleitung • 4.3 Musterextraktion
Signalvorverarbeitung • Dynamische Merkmale • Beobachtet man einen speziellen Punkt der Blöcke, so erhält man • einen Vektor über alle Blöcke, welcher den Verlauf der Merkmale • an 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.
Signalvorverarbeitung • Daraus kann man erkennen, ob es sich um einen stationären oder • stark 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
Signalvorverarbeitung • 4.4 Vektor-Quantisierung • Problem: Große Datenmenge • Lö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.
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 Vokabular • Wort mit dem geringsten Abstand wird als Index erkannt • Zuordnung des eingesprochenen Worts
Beispiel für eine Signalverarbeitung *hier vllt noch was rein wenn zeit*