Erzeugung von Sprecherklassifikations-modulen für multiple Plattformen Diplomarbeit-Abschlussvortrag 21.06.06 Michael Feld
Übersicht Motivation Sprecherklassifikations-Grundlagen Anforderungen Architektur und Konzepte Anwendungen Ausblick
Motivation m3i / Agender Sprecherklassifikation Ausgangsbasis: (Müller 2005) Sprecherklassifikation (Vorgang der Zuweisung eines Sprechers zu einer diskreten Klasse basierend auf einem Vektor von Sprachmerkmalen)
Motivation – Beispielszenarien Benutzeradaption auf mobilen Geräten Benutzeradaption an öffentlichen Terminals Telefon-basierte Dienste
Motivation Vorhanden Benötigt Demonstrator m3i-Server /-Client m3i-CAT, Quellcode Feste Konfiguration Fokus auf flexibler Erweiterbarkeit Feste Plattform Real-World-Application Komponente / API Werkzeuge zur Entwurfszeit-unterstützung Modulare Konfiguration Fokus auf hoher Laufzeitperformanz Multiple Plattformen
Motivation Lösung: NEUE Architektur basierend auf VORHANDENEN Werkzeugen
Grundlagen
Grundlagen AGENDER: Mustererkennungssystem Sprachmerkmale zur Unterscheidung von Alter und Geschlecht Erfassung Segmentierung Merkmals- extraktion Klassifizierung Nach- verarbeitung Mustererkennungssystem Duda, Hart und Stork (2000)
Grundlagen - Agender Aufnahme (Mikrofon) Digitalisierung Erfassung Segmentierung Merkmals- extraktion Klassifizierung Nach- verarbeitung Aufnahme (Mikrofon) Digitalisierung
Grundlagen - Agender Anpassung der Abtastfrequenz Rauschfilter Segmentierung Merkmals- extraktion Klassifizierung Nach- verarbeitung Anpassung der Abtastfrequenz Rauschfilter Entfernen von Pausen am Anfang und Ende …
Grundlagen - Agender Pitch Jitter Shimmer und weitere Segmentierung Merkmals- extraktion Klassifizierung Nach- verarbeitung Extraktion aus digitalem Audiosignal Praat Pitch Jitter und weitere Shimmer
Grundlagen - Agender Klassifizierung eines Merkmalsvektors Segmentierung Merkmals- extraktion 1. Ebene Klassifizierung Nach- verarbeitung Klassifizierung eines Merkmalsvektors Kriterien von Klassifizierungsverfahren: Entscheidungsgrenzen Genauigkeit Komplexität Laufzeit Speicherverbrauch Trainingsdauer
Grundlagen - Agender Segmentierung Merkmals- extraktion 1. Ebene Nach- verarbeitung
Grundlagen - Agender DBN Segmentierung Merkmals- extraktion 1. Ebene Nach- verarbeitung 2. Ebene DBN Dynamische Bayessche Netze
Grundlagen - Agender Fusion mehrerer Klassifikationsergebnisse Segmentierung Merkmals- extraktion 1. Ebene 2. Ebene Fusion mehrerer Klassifikationsergebnisse Klassifikationsinhärente Unsicherheiten Expertenwissen, Kosten der Fehlklassifikation
Grundlagen - Agender Entwurf Ausführung Sammlung + Analyse von Daten Verwendung von Agender berührt 2 Phasen: Entwurf Ausführung Sammlung + Analyse von Daten Auswahl der Klassifizierer Entwurf eines DBN für die 2. Ebene Pre-Processing Merkmalsextraktion 1. Ebene 2. Ebene
Anforderungen Hohe Performanz Modularität Unterstützung multipler Plattformen Skalierbarkeit Ressourcenadaptivität Integrierbarkeit Robustheit Unterstützung der Entwicklung
Architektur und Konzepte Entwicklungsumgebung Laufzeitumgebung webbasiertes Evaluierungsmodul Applikation Evaluierung KM KM Entwicklungs- plattform Klassifikations- modul(e) Hugin, JavaDBN Applikation Funknetzwerk Sprachkorpus Client-Bibliothek MySQL-Datenbank KM Cluster m3i CAT SBC-Server Cluster
Architektur und Konzepte Entwicklungsumgebung Laufzeitumgebung webbasiertes Evaluierungsmodul Applikation Evaluierung KM KM Entwicklungs- plattform Klassifikations- modul(e) Hugin, JavaDBN Applikation Funknetzwerk Sprachkorpus Client-Bibliothek MySQL-Datenbank KM m3i CAT SBC-Server Cluster Cluster
Klassifikationsmodule Implementieren Agender-Mustererkennung Enthalten je nach Anwendungsszenario bestimmte Klassifizierer und DBN
Klassifikationsmodule Vorkompilierter Code Werden statisch integriert in Applikation (static linking) Verwendung als Bibliothek
Klassifikationsmodule Zentrales Konzept: Pipeline-Architektur Merkmalsextraktion Erste Ebene Zweite Ebene gut parallelisierbar
Klassifikationsmodule Weitere Merkmale: Schnelle (optimierte) Merkmalsextraktion Integriertes Tracing Multithreading-fähig Klassifizierer-Cache
Architektur und Konzepte Entwicklungsumgebung Laufzeitumgebung webbasiertes Evaluierungsmodul Applikation Evaluierung KM KM Entwicklungs- plattform Klassifikations- modul(e) Hugin, JavaDBN Applikation Funknetzwerk Sprachkorpus Client-Bibliothek MySQL-Datenbank KM m3i CAT SBC-Server Cluster Cluster
Entwicklungsplattform
Entwicklungsplattform Tool zur Zusammenstellung von Klassifikationsmodulen Möglichkeiten zur Evaluierung Geschrieben in Java Basiert auf dem m3i Server
Entwicklungsplattform Entwurf eines Klassifikationsmoduls Auswahl der Klassifizierer Training der Klassifizierer Erstellen der 2. Ebene (externe Tools: Hugin, JavaDBN) Exportieren des Modul-Quellcodes Erzeugen des Moduls Build-Vorgang
Architektur und Konzepte Entwicklungsumgebung Laufzeitumgebung webbasiertes Evaluierungsmodul Applikation Evaluierung KM KM Entwicklungs- plattform Klassifikations- modul(e) Hugin, JavaDBN Applikation Funknetzwerk Sprachkorpus Client-Bibliothek MySQL-Datenbank KM m3i CAT SBC-Server Cluster Cluster
Client/Server-Szenario SBC Client-Bibliothek Applikation m3i-Architektur SBC-Server Client
Client-Bibliothek Verfügbar für Anwendungen als DLL Implementiert SBC-Klassifikationsmodul Fallback-Mechanismus Heartbeat-Mechanismus SBC-Protokoll (TCP-basiert)
SBC-Server Basiert auf dem m3i-Server Verwaltung von Benutzerprofile für Clients Klassifizierung auf Anfrage Senden von Klassifizierern an den Client Zukünftige Alternative: SBC WebService
Anwendungen
Anwendungen – Beispiel 1 Wie viele Megapixel hat diese Kamera?
Anwendungen – Beispiel 1 Merkmale: Client/Server-Topologie Ein exklusiver Sprecher Begrenze Ressourcen (PocketPC) Nicht zeitkritisch
Anwendungen – Beispiel 2 SBC
Anwendungen – Beispiel 2 Merkmale: Integrierte Plattform Viele parallele Benutzer Gute Ressourcenverfügbarkeit Zeitkritisch
ca. 3% der Äußerungslänge Leistungsdaten Klass.zeit [s] ca. 3% der Äußerungslänge
Ausblick: Multilingual Agender Inwieweit ist der Agender-Ansatz sprachunabhängig? Gibt es relevante sprach- / kulturspezifische Unterschiede? Sprachenerkennung (LID) Phonotactic Model: Phonerkennung n-Gramm Sprachmodell
Zusammenfassung Motivation Sprecherklassifikations-Grundlagen Anforderungen Architektur und Konzepte Anwendungen Ausblick