speechrecsystemegrafiken4

Speech Recognition APIs im Überblick

Ausgereifte Qualität oder Entwicklungspotenzial? – eine Aufgabe für den Retresco-Hackathon Nachdem die Vorauswahl der im Retresco-Hackathon getesteten Speech Recognition APIs nach festgelegten Parametern getroffen wurde, entwickelte sich ein spannendes Wettrennen zwischen 5 Finalisten, von Google und Microsoft bis hin zu Speechmatics, Kaldi und CMU Sphinx. Auf den meist zweitägigen internen Hackathons werden neue Ideen ausprobiert oder auch gern der Stand aktueller Technologien evaluiert. Letzteres haben wir bei Retresco im Rahmen des dritten RTR-Hackathons dieses Jahr gemacht und uns einmal den Entwicklungsstand von Speech Recognition Software (Spracherkennung) angeschaut. Anhand von ausgewählten Beispielen beleuchtete dieser RTR-Hackathon, welche auf dem Markt erhältlichen Speech APIs gut funktionieren, welche bedingt und welche gar nicht. Die Kernfrage war, inwieweit die Qualität der Spracherkennung für echte Anwendungsszenarien ausreichend ist. Als mögliche Szenarien wurde dabei in „Chat“ und „Text“ kategorisiert. Der Unterschied zwischen beiden Szenarien ist die Textlänge, wobei das Chat-Szenario für kurze Sprachschnipsel steht (ca. 15 Sekunden), wie sie z.B. bei Sprachbefehlen in der Interaktion mit Assistenzfunktionen auftreten. Das Text-Szenario wiederum repräsentiert den Anwendungsfall der Transkription von längeren Sprachaufnahmen (ca. 2 Minuten). Der Fokus lag hierbei auf dem Text-Szenario, da dies für Retresco der relevantere Ansatz ist. Es war auffällig, dass sich die getesteten Speech Recognition APIs nicht nur in der Qualität und den möglichen Anwendungsbereichen, sondern auch durch verschiedene Kosten und Kostenmodelle unterschieden. Die Auswahl Eine vorhandene Web-API oder eine lokal ausführbare Variante auf Linux Basis sowie generelle Kosten und die Verfügbarkeit in deutscher Sprache bildeten die Grundvoraussetzungen. Dies führte zur Auswahl von 5 Speech Recognition APIs:

1.   Google Cloud Speech API:

In über 80 Sprachen bzw. Sprachvarianten kann Googles Speech API das gesprochene Wort in Text wandeln. Als Cloud basierte Anwendung kann sie plattformunabhängig genutzt werden. Technisch basiert die Google Speech API auf Deep Machine Learning und erlaubt damit eine ständige Verbesserung der Erkennungsqualität.

2.   Bing Speech API:

Die Bing Speech API ist Teil der Microsoft Cognitive Services. Neben Speech-to-text bietet sie umgekehrt auch Text-to-speech und eine sogenannte „Speech Intent Recognition“, die statt transkribierter Audiodaten strukturierte Informationen zurückliefert. Ebenso wie Google setzt Microsoft auf ein Cloud-basiertes System.

 3.   Speechmatics:

Speechmatics ist ein 2009 gegründetes britisches Unternehmen, das sich auf die Anwendung von künstlicher Intelligenz und Deep Machine Learning mit dem Ziel automatisierter Spracherkennung spezialisiert hat. Wie die beiden zuvor genannten Speecht-to-text-Lösungen setzt auch Speechmatics auf einen Cloud-basierten Ansatz.

4.   Kaldi:

Die Geschichte von Kaldi beginnt 2009 mit einem Workshop an der John Hopkins University. Seitdem ist Kaldi in der Entwicklung, die hauptsächlich von Daniel Povey vorangetrieben wird. Kaldi ist im Gegensatz zu den zuvor erwähnten Text-to-speech-Lösungen für die lokale Installation vorgesehen.

 5.   CMU Sphinx:

Die Carnegie Mellon University (CMU) entwickelt diese Spracherkennungssoftware seit den 1980er Jahren und stellt sie als Open Source Software zur Verfügung. Sphinx verfolgt ebenso wie Kaldi keinen Cloud-basierten Ansatz sondern läuft lokal auf verschiedenen Plattformen.

Zusätzlich wurde vom Retresco-Team festgelegt, welche Beispiele und Testmethoden zum Ergebnis führen sollten. Die Testmenge Die gewählten Audio-Beispiele sollten sowohl ein Best-Case-Szenario im Hinblick auf die Audioqualität darstellen, als auch inhaltlich aus einem Bereich kommen, der für die meisten Retresco-Kunden als relevant anzusehen ist. Daher wurden Beiträge ohne Hintergrundgeräusche aus dem Bereich Nachrichten von Deutschland Radio und Tagesschau.de gewählt, mit Stimmen, die eindeutig zuzuordnen waren. Hierbei wurde auch darauf geachtet, dass jedes Thema nicht nur eine ähnliche Länge hat, sondern auch eine gute Mischung männlicher und weiblicher Sprecher vertreten sind: speechrecsystemegDas Evaluationsverfahren Als Qualitätskriterium wurde die Wortfehlerrate (Word Error Rate – WER) auf Basis des Needleman-Wunsch-Algorithmus festgelegt, bei dem erst das Maß der Ähnlichkeit von zwei Sequenzen und anschließend ein Alignment berechnet wurde. Die getesteten Speech Recognition APIs, eine Zusammenfassung

  • Die Google Cloud Speech API bietet zwar ein großes Vokabelvolumen, auch ist die Worterkennung samt der Nutzung von Groß- und Kleinschreibung sehr gut, aber es fehlen Interpunktionszeichen. Insgesamt ist die API bei langen Texten eher träge.
  • Die Bing Speech API konnte zwar gut mit der Groß- und Kleinschreibung umgehen, fiel aber in der Erkennungsqualität gegenüber Google und Speechmatics ab.
  • Speechmatics hingegen überzeugte durch einen geringen Implementierungsaufwand samt niedriger Fehlerquote in der Worterkennung. Auch der Fakt, dass es mit Interpunktionszeichen arbeitet und Groß- und Kleinschreibung berücksichtigt, ist ein Pluspunkt. Interessant war hier, dass zusammengesetzte Substantive häufig klein geschrieben wurden, was nahelegt, dass diese nicht als solche erkannt wurden. Hier scheint der Algorithmus von Speechmatics noch Verbesserungspotential zu haben. Trotz der höheren Preise im Vergleich zu den anderen getesteten APIs, überzeugte Speechmatics durch die übergeordnete Qualität.
  • Kaldi ist ein weiterer kostenloser API mit einem an GStreamer angedockten Server implementiert in Python und konfigurierbar über yaml-Dateien. Auch die open source ASR, die eine zweimal niedrigere WER als Sphinx haben soll, ist scheinbar State-of-the-art. Im Umkehrschluss war die API aufgrund ihrer Komplexität auf dem hier genutzten System ziemlich langsam und die verwirrenden Schnittstellen und Optionen waren teilweise nur schwer einzusetzen, von der fehlenden Zeichensetzung und Groß-/Kleinschreibung ganz abgesehen.
  • CMU Sphinx ist ein kostenloser Anbieter, der zwar Zeichensetzung unterstützt aber nur Großschreibung ohne echte Worterkennung anbietet und zusätzlich auf dem getesteten System schwerfällig reagierte.

Die WERs auf einen Blick speechrecsystemegrafiken2Fazit: Es gibt eindeutige Qualitätsschwankungen, wenn es um die Spracherkennung geht. Aufgrund der sehr guten Spracherkennungsqualität wird Speechmatics als Favorit für das Szenario „Text“ gekrönt. Am schlechtesten schnitt aufgrund der fehlenden Erkennungsqualität CMU Sphinx ab. Man muss hier aber einschränkend sagen, dass der Grund dafür wahrscheinlich die verwendeten Trainingsdaten waren. Das gleiche trifft auf Kaldi zu, wobei im Vergleich zu CMU Sphinx die Erkennungsqualität signifikant besser war. Auffällig war, dass die WER bei Google mit der Länge des Audiofiles skaliert. Dies legt nahe, dass die Google API auf kurze Sprachbefehle hin optimiert wurde. Damit ist sie der eindeutige Sieger für das Chat-Szenario. Speechmatics zielt eher in Richtung Transkription des gesprochenen Wortes. Das würde das gute Abschneiden in diesem Szenario hier erklären. Die Eigenschaften von Speech Recognition Software im Überblick speechrecsystemegrafiken4