Die Anrufbewertung ist ein wesentlicher Bestandteil der QualitĂ€tskontrolle fĂŒr Call Center. Unternehmen können damit ihren Workflow optimieren, sodass Bediener schneller und effizienter arbeiten und bedeutungslose Routinen vermeiden können.
In dem Bewusstsein, dass das Call Center effektiv sein sollte, haben wir an der Automatisierung der Anrufergebnisse gearbeitet. Als Ergebnis haben wir einen Algorithmus entwickelt, der Anrufe verarbeitet und in zwei Gruppen verteilt: verdÀchtig und neutral. Alle verdÀchtigen Anrufe wurden sofort an das QualitÀtsbewertungsteam gesendet.
Wie wir ein tiefes neuronales Netzwerk trainiert haben
FĂŒr die Samples haben wir 1700 Audiodateien genommen, auf denen wir das Netzwerk trainiert haben. Da das Neuron anfangs nicht wusste, was als verdĂ€chtig und was als neutral anzusehen war, haben wir alle Dateien manuell entsprechend markiert.
In neutralen Stichproben haben die Bediener:
- erhoben ihre Stimmen nicht;
- Stellen Sie den Kunden alle angeforderten Informationen zur VerfĂŒgung.
- reagierte nicht auf Provokationen des Kunden.
In verdÀchtigen Mustern haben die Bediener hÀufig Folgendes getan:
- benutzte obszöne Sprache;
- ihre Stimmen erheben oder Kunden anschreien;
- ging zu der Person;
- weigerte sich, in Fragen zu beraten.
Als der Algorithmus die Verarbeitung der Dateien beendet hatte, markierte er 200 Dateien als ungĂŒltig. Diese Dateien enthielten keine verdĂ€chtigen oder neutralen Anzeichen. Wir haben herausgefunden, was in diesen 200 Dateien enthalten ist:
- Der Kunde legte sofort auf, nachdem der Betreiber ihm geantwortet hatte.
- der Klient sagte nichts, nachdem er beantwortet worden war;
- Es gab zu viel LĂ€rm auf der Client- oder Bedienerseite.
Beim Löschen dieser Dateien haben wir die verbleibenden 1.500 in Schulungs- und TestfÀlle unterteilt. In Zukunft haben wir diese DatensÀtze zum Trainieren und Testen eines tiefen neuronalen Netzwerks verwendet.
Schritt 1: Features extrahieren
Die Extraktion von Merkmalen auf hoher Ebene spielt eine wichtige Rolle beim maschinellen Lernen Dies wirkt sich direkt auf die Effizienz des Algorithmus aus. Nachdem wir alle möglichen Quellen analysiert hatten, wÀhlten wir die folgenden Symptome aus:
Zeitstatistik
- Nulldurchgangsrate : Die Geschwindigkeit, mit der sich das Signal von Plus nach Minus und umgekehrt Àndert.
- Mittlere Rahmenenergie : Die Summe der Signale, die quadriert und auf die entsprechende RahmenlÀnge normiert sind.
- Subframe-Energieentropie : Die Entropie der normalisierten Subframe-Energie. Es kann als MaĂ fĂŒr drastische VerĂ€nderungen interpretiert werden.
- Der Durchschnitt / Median / Standardabweichung des Rahmens .
Spektralstatistik (mit Frequenzintervallen)
- Spektralschwerpunkt.
- Spektralverteilung.
- Spektrale Entropie.
- Spektrale Strahlung.
- Spektrale DĂ€mpfung.
Die Cepstralkoeffizienten der Tonfrequenz und des SĂ€ttigungsvektors sind abhĂ€ngig von der LĂ€nge des Eingangssignals. Wir könnten sie gleichzeitig aus der gesamten Datei extrahieren, wĂŒrden jedoch die Entwicklung des Merkmals rechtzeitig verpassen. Da diese Methode nicht zu uns passte, haben wir beschlossen, das Signal in âFensterâ (Zeitblöcke) zu unterteilen.
Um die QualitĂ€t des Zeichens zu verbessern, haben wir das Signal in StĂŒcke zerlegt, die sich teilweise ĂŒberlappten. Als nĂ€chstes extrahierten wir das Tag nacheinander fĂŒr jeden Block. Daher wurde die Attributmatrix fĂŒr jede Audiodatei berechnet.
FenstergröĂe - 0,2 s; Fensterschritt - 0,1 s.
Schritt 2: Definieren Sie den Tonfall in separaten SĂ€tzen
Unser erster Ansatz zur Lösung des Problems besteht darin, jede Phrase im Stream separat zu definieren und zu verarbeiten.
Zuerst haben wir die
Diarisierung durchgefĂŒhrt und alle Phrasen mithilfe der
LIUM- Bibliothek
isoliert . Die Eingabedateien waren von schlechter QualitĂ€t, daher haben wir bei der Ausgabe auch GlĂ€ttung und adaptive Schwellenwerte fĂŒr jede Datei angewendet.
Verarbeitungsunterbrechungen und lange Stille
Als wir die Fristen fĂŒr jede Phrase (sowohl fĂŒr den Kunden als auch fĂŒr den Operator) festgelegt haben, haben wir sie einander ĂŒberlagert und FĂ€lle aufgedeckt, in denen beide Personen gleichzeitig sprechen, sowie FĂ€lle, in denen beide schweigen. Es blieb nur die Bestimmung des Schwellenwertes. Wir waren uns einig, dass wenn 3 oder mehr Sekunden die Teilnehmer gleichzeitig sprechen, dies als Unterbrechung angesehen wird. FĂŒr die Stille wurde genau ein Schwellenwert von 3 Sekunden eingestellt.
Der Punkt ist, dass jede Phrase ihre eigene LĂ€nge hat. Folglich ist die Anzahl der extrahierten Merkmale fĂŒr jede Phrase unterschiedlich.
Das neuronale
LSTM- Netzwerk könnte dieses Problem lösen. Netzwerke dieser Art können nicht nur Sequenzen unterschiedlicher LÀnge verarbeiten, sondern auch Feedback enthalten, mit dem Sie Informationen speichern können. Diese Funktionen sind sehr wichtig, da zuvor gesprochene Phrasen Informationen enthalten, die sich auf die danach gesprochenen Phrasen auswirken.
Dann haben wir unser LSTM-Netzwerk trainiert, um die Intonation jeder Phrase zu bestimmen.
Als Trainingsset haben wir 70 Dateien mit durchschnittlich 30 Phrasen (15 Phrasen fĂŒr jede Seite) genommen.
Das Hauptziel war es, die Phrasen des Call-Center-Betreibers zu bewerten, sodass wir die Client-Sprache nicht fĂŒr Schulungen verwendeten. Wir haben 750 SĂ€tze als Trainingsdatensatz und 250 SĂ€tze als Test verwendet. Infolgedessen lernte das Neuron, Sprache mit einer Genauigkeit von 72% zu klassifizieren.
Letztendlich waren wir jedoch mit der Leistung des LSTM-Netzwerks nicht zufrieden: Die Arbeit damit hat zu lange gedauert, wÀhrend die Ergebnisse alles andere als perfekt sind. Daher wurde beschlossen, einen anderen Ansatz zu verwenden.
Es ist Zeit zu erzÀhlen, wie wir den Ton der Stimme mit
XGBoost plus einer Kombination aus LSTM und XGB bestimmt haben.
Bestimmen Sie den Sprachton fĂŒr die gesamte Datei
Wir haben Dateien als verdĂ€chtig markiert, wenn sie mindestens einen Satz enthielten, der gegen die Regeln verstieĂ. Also haben wir 2500 Dateien markiert.
Um Attribute zu extrahieren, haben wir dieselbe Methode und dieselbe
ANN- Architektur verwendet, jedoch mit einem Unterschied: Wir haben die Architektur so skaliert, dass sie den neuen Dimensionen der Attribute entspricht.
Bei optimalen Parametern ergab das neuronale Netzwerk eine Genauigkeit von 85%.
XGBoost
Das XGBoost-Modell erfordert eine feste Anzahl von Attributen fĂŒr jede Datei. Um diese Anforderung zu erfĂŒllen, haben wir verschiedene Signale und Parameter erstellt.
Die folgenden Statistiken wurden verwendet:
- Der Durchschnittswert des Signals.
- Der Durchschnittswert der ersten 10 Sekunden des Signals.
- Der Durchschnittswert der letzten 3 Sekunden des Signals.
- Der Durchschnittswert der lokalen Maxima im Signal.
- Der Durchschnittswert der lokalen Maxima in den ersten 10 Sekunden des Signals.
- Der Durchschnittswert der lokalen Maxima in den letzten 3 Sekunden des Signals.
Alle Indikatoren wurden fĂŒr jedes Signal separat berechnet. Die Gesamtzahl der Attribute betrĂ€gt 36, mit Ausnahme der LĂ€nge des Datensatzes. Als Ergebnis hatten wir 37 numerische Vorzeichen fĂŒr jeden Datensatz.
Die Vorhersagegenauigkeit dieses Algorithmus betrÀgt 0,869.
Kombination von LSTM und XGB
Um die Klassifikatoren zu kombinieren, haben wir diese beiden Modelle gekreuzt. Am Ausgang erhöhte dies die Genauigkeit um 2%.
Das heiĂt, wir konnten die Vorhersagegenauigkeit auf 0,9
ROC -
AUC (Area Under Curve) erhöhen.
Ergebnis
Wir haben unser tiefes neuronales Netzwerk an 205 Dateien getestet (177 neutral, 28 verdÀchtig). Das Netzwerk musste jede Datei verarbeiten und entscheiden, zu welcher Gruppe sie gehört. Das Folgende sind die Ergebnisse:
- 170 neutrale Dateien wurden korrekt identifiziert;
- 7 neutrale Dateien wurden als verdÀchtig identifiziert;
- 13 verdÀchtige Dateien wurden korrekt identifiziert;
- 15 verdÀchtige Dateien wurden als neutral identifiziert.
Um den Prozentsatz der korrekten / falschen Ergebnisse abzuschÀtzen, haben wir die
Fehlermatrix in Form einer 2x2-Tabelle verwendet.
Suchen Sie eine bestimmte Phrase in einem GesprÀch
Wir wollten diesen Ansatz unbedingt ausprobieren, um Wörter und Phrasen in Audiodateien zu erkennen. Ziel war es, Dateien zu finden, in denen der Callcenter-Betreiber den Kunden in den ersten 10 Sekunden des GesprÀchs nicht prÀsentiert wurde.
Wir haben 200 SĂ€tze mit einer durchschnittlichen LĂ€nge von 1,5 Sekunden verwendet, in denen die Betreiber ihren Namen und Firmennamen nennen.
Das manuelle Suchen nach solchen Dateien hat lange gedauert, weil Ich musste mir jede Datei anhören, um zu ĂŒberprĂŒfen, ob sie die erforderlichen SĂ€tze enthielt. Um das weitere Training zu beschleunigen, haben wir den Datensatz âkĂŒnstlichâ vergröĂert: Wir haben jede Datei sechsmal zufĂ€llig geĂ€ndert - Rauschen hinzugefĂŒgt, Frequenz und / oder LautstĂ€rke geĂ€ndert. Wir haben also einen Datensatz von 1.500 Dateien erhalten.
Zusammenfassung
Wir haben die ersten 10 Sekunden der Antwort des Bedieners verwendet, um den Klassifikator zu trainieren, da in diesem Intervall die gewĂŒnschte Phrase ausgesprochen wurde. Jede solche Passage wurde in Fenster unterteilt (FensterlĂ€nge 1,5 s, Fensterschritt 1 s) und vom neuronalen Netzwerk als Eingabedatei verarbeitet. Als Ausgabedatei haben wir die Wahrscheinlichkeit erhalten, jede Phrase im ausgewĂ€hlten Fenster auszusprechen.
Wir haben weitere 300 Dateien durch das Netzwerk geleitet, um herauszufinden, ob die gewĂŒnschte Phrase in den ersten 10 Sekunden gesprochen wurde. FĂŒr diese Dateien betrug die Genauigkeit 87%.
WofĂŒr ist das alles eigentlich?
Die automatische Anrufbewertung hilft dabei, klare KPIs fĂŒr Call Center-Betreiber zu ermitteln, Best Practices hervorzuheben und zu befolgen sowie die Call Center-Leistung zu steigern. Es ist jedoch anzumerken, dass Spracherkennungssoftware fĂŒr ein breiteres Spektrum von Aufgaben verwendet werden kann.
Im Folgenden finden Sie einige Beispiele, wie die Spracherkennung Organisationen helfen kann:
- Sammeln und Analysieren von Daten zur Verbesserung der Sprach-UX;
- Anrufaufzeichnungen analysieren, um Beziehungen und Trends zu identifizieren;
- Menschen durch Stimme erkennen;
- Finden und identifizieren Sie Kundenemotionen, um die Benutzerzufriedenheit zu verbessern
- Steigerung des durchschnittlichen Umsatzes pro Anruf;
- Abfluss reduzieren;
- und vieles mehr!