wie funktioniert Spracherkennung?

26/08/2016 - 22:14 von Jens Kallup | Report spam
Hallo Gemeinde,

Spracherkennung hat meiner Meinung nach viel mit Mathe zu tun.
Da muss man da mit Differenzieren oder evtl. auch Sin/Cos
anwenden.

Jetzt habe ich mal in eine Wave (Musikformat - aber egal) ge-
schaut. Dort besteht die Darstellung (im Musikprogramm) aus
Wellen - Höhen und Tiefen.

Kann man da irgendwie was als Grundlage nehemen (Mathe), um
ggf, Sprache auszusprechen bzw. aufzunehmen?

Ich bin da totaler Neueinsteiger und vielleicht in der
falschen Gruppe. Aber mir ist nix besseres eingefallen, als
in der deutschen Gruppe - hier - mal zu Fragen.

MfG
Jens
 

Lesen sie die antworten

#1 ram
26/08/2016 - 22:51 | Warnen spam
Jens Kallup writes:
Kann man da irgendwie was als Grundlage nehemen (Mathe), um
ggf, Sprache auszusprechen bzw. aufzunehmen?



Ich kenne mich damit ebenfalls nicht aus, aber habe mir
das jetzt eben mal so überlegt:

In der Regel wird man erst einmal eine Fourier-Transformation
eines Zeitfensters machen.

Da kommen schon die ersten Probleme: weil man eigentlich nur
unendliche Wellenzüge Fourier-transformieren kann und die
Fensterrànder Artefakte sind. Dadurch wird das Ergebnis
verfàlscht. Es gibt verschiedene Verfahren, wie man damit
umgeht.

Im besten Fall hat man dann ein zeitabhàngiges Spektrum,
aus dem man die sogenannten Formanten und Geràuschanteile
extrahieren kann (neben einem Grundton).

Nun kann man damit den Phonen der Sprache
Wahscheinlichkeiten zuordnen ("wie wahrscheinlich ist es,
daß im Zeitfenster x gerade das Phon y ausgesprochen wird?").

Aus den Wahrscheinlichkeiten für Phone kann man dann
Wahrscheinlichkeiten für Phoneme und schließlich für Silben,
Phrasen und Texte ableiten. Hierbei erfolgt die Zuweisung
von Wahrscheinlichkeiten vom Teil zum Ganzen gehend.

Umgekehrt liefert im Deutschen aber auch die Abfolge von
Phonen/Phonemen/Morphemen/Phrasen wieder eine
Wahrscheinlichkeit. Das heißt: Beispielsweise kommt nach
Wort A oft Wort B oder die Grammatik verlangt eine bestimmte
Wortart an einer bestimmten Stelle. Hierdurch kann man die
Wahrscheinlichkeiten, diesmal vom Ganzen zum Teil gehend,
weiter einschrànken.

Insgesamt setzt man so möglichst viel Information ein, um
die Wahrscheinlichkeiten für eine mögliche Interpretation
möglichst genau zu ermitteln.

Schließlich erhàlt man dann eine Menge möglicher
Interpretationen eines Textes, aus denen man dann die
wahrscheinlichste auswàhlen kann.

Durch eine kombinatorische Explosion kann es aber dazu
kommen, daß diese Mengen möglicher Interpretationen schon
früh zu groß werden. Um dem entgegenzuwirken, muß man dann
schon wàhrend des Prozesses Heuristiken einsetzen, um die
Mengen zu verkleinern.

Dies war eher der Weg der klassischen Programmierung.

Daneben kann man aber auch neuronale Netze trainieren,
einige Teile der Erkennung selbstàndig durchzuführen.
Dabei versteht man oft nur noch den allgemeinen Rahmen,
aber nicht mehr unbedingt immer, wie ein trainiertes Netz
dann im Einzelnen vorgeht.

Ähnliche fragen