Hintergrund des Projektes
Elinext wurde von einem großen Callcenter kontaktiert und gebeten, eine Emotionserkennungssoftware zu entwickeln, die Emotionen in Sprache erkennen kann. Der Kunde wollte eine Anwendung, die:
- es Call-Center-Betreibern ermöglichen würde, die Emotionen von Anrufern automatisch zu erkennen und dann entsprechend zu handeln. Zum Beispiel, um Anrufe verärgerter Kunden an ihre erfahreneren Kollegen weiterzuleiten.
- es ermöglichen würde, die Gefühle von Glück, Traurigkeit und Zufriedenheit der Kunden zu erkennen.
- es dem Management ermöglichen zu wissen, wann es Zeit ist, einen müden Bediener zu ersetzen, indem es seine Emotionen erkennt und bewertet.
Herausforderung
Elinext-Teams standen vor der herausfordernden Aufgabe, eine Anwendung mit Sprachanalyse zu entwickeln, die einem Callcenter die Möglichkeit bietet, den Arbeitsprozess auf die effizienteste Weise zu organisieren, indem es versteht, was seine Kunden und Mitarbeiter wirklich fühlen und denken.
Projektbeschreibung
Der Entwicklungsprozess war um die Erstellung und das Training neuronaler Netze herum organisiert. Zu den wichtigsten Schritten, die unsere Teams zum Erstellen der Lösung unternommen haben, gehörten:
- Daten vorbereiten
- Extraktion von Klangmerkmalen
- Erstellung von neuronalen Netzen
- Entwicklungsprozess
- Jeder der oben erwähnten Schritte wird weiter unten beschrieben.
Daten vorbereiten
Um Daten für das Training und Testen von Modellen vorzubereiten, nutzten unsere Entwickler das Crowd-Sourced Emotional Multimodal Actors Dataset (CREMA-D) für das Datentraining sowie Aufzeichnungen des Callcenters zum Testen.
Extraktion von Klangmerkmalen
Mit dem LebROSA-Paket erhielt unser Team einen 192-dimensionalen Merkmalsvektor für jede Audiodatei.
Erstellung eines neuronalen Netzwerks
Basierend auf Keras und Tensorflow haben unsere Teams neurale Netzwerkmodelle von Grund auf neu erstellt und ihre Schichten während des Entwicklungsprozesses hinzugefügt und erweitert. Wir haben verschiedene Modelle getestet, darunter Multiplayer Perceptron (MLP) und Convolutional Neural Network (CNN).
Außerdem haben unsere Entwickler verschiedene Architekturen für Modelle getestet, manchmal ausgehend von denen, die in Forschungsarbeiten ähnlicher Projekte verwendet wurden. Alles in allem basierte jede Modellauswahl auf der Genauigkeit der Klassifizierung in der Validierungsstichprobe.
Als Ergebnis entschied sich unser Entwickler für die Verwendung der CNN-Architektur.
Ergebnisse
Das Elinext-Team hat erfolgreich eine Android-Anwendung entwickelt, die Emotionen in Sprache erkennt und es Call-Center-Mitarbeitern und ihren Managern ermöglicht, Einblicke in das zu erhalten, was Menschen wirklich fühlen.
Die gleichen Systeme könnten von Unternehmen genutzt werden, die Sicherheitsdienste, Unterstützungsdienste und Rettungsdienste anbieten.