Ausgereifte Qualität oder Entwicklungspotenzial? – eine Aufgabe für den Retresco-Hackathon

Nach­dem die Vor­auswahl der im Ret­res­co-Hacka­thon getes­te­ten Speech Reco­gni­ti­on APIs nach fest­ge­leg­ten Para­me­tern getrof­fen wur­de, ent­wi­ckel­te sich ein span­nen­des Wett­ren­nen zwi­schen 5 Fina­lis­ten, von Goog­le und Micro­soft bis hin zu Speech­ma­tics, Kal­di und CMU Sphinx. Auf den meist zwei­tä­gi­gen inter­nen Hacka­thons wer­den neue Ide­en aus­pro­biert oder auch gern der Stand aktu­el­ler Tech­no­lo­gi­en eva­lu­iert. Letz­te­res haben wir bei Ret­res­co im Rah­men des drit­ten RTR-Hacka­thons die­ses Jahr gemacht und uns ein­mal den Ent­wick­lungs­stand von Speech Reco­gni­ti­on Soft­ware (Sprach­er­ken­nung) ange­schaut. Anhand von aus­ge­wähl­ten Bei­spie­len beleuch­te­te die­ser RTR-Hacka­thon, wel­che auf dem Markt erhält­li­chen Speech APIs gut funk­tio­nie­ren, wel­che bedingt und wel­che gar nicht.
Die Kern­fra­ge war, inwie­weit die Qua­li­tät der Sprach­er­ken­nung für ech­te Anwen­dungs­sze­na­ri­en aus­rei­chend ist. Als mög­li­che Sze­na­ri­en wur­de dabei in „Chat“ und „Text“ kate­go­ri­siert. Der Unter­schied zwi­schen bei­den Sze­na­ri­en ist die Text­län­ge, wobei das Chat-Sze­na­rio für kur­ze Sprach­schnip­sel steht (ca. 15 Sekun­den), wie sie z.B. bei Sprach­be­feh­len in der Inter­ak­ti­on mit Assis­tenz­funk­tio­nen auf­tre­ten. Das Text-Sze­na­rio wie­der­um reprä­sen­tiert den Anwen­dungs­fall der Tran­skrip­ti­on von län­ge­ren Sprach­auf­nah­men (ca. 2 Minu­ten). Der Fokus lag hier­bei auf dem Text-Sze­na­rio, da dies für Ret­res­co der rele­van­te­re Ansatz ist. Es war auf­fäl­lig, dass sich die getes­te­ten Speech Reco­gni­ti­on APIs nicht nur in der Qua­li­tät und den mög­li­chen Anwen­dungs­be­rei­chen, son­dern auch durch ver­schie­de­ne Kos­ten und Kos­ten­mo­del­le unter­schie­den.

 

Die Auswahl

Eine vor­han­de­ne Web-API oder eine lokal aus­führ­ba­re Vari­an­te auf Linux Basis sowie gene­rel­le Kos­ten und die Ver­füg­bar­keit in deut­scher Spra­che bil­de­ten die Grund­vor­aus­set­zun­gen. Dies führ­te zur Aus­wahl von 5 Speech Reco­gni­ti­on APIs:

1.   Goog­le Cloud Speech API:

In über 80 Spra­chen bzw. Sprach­va­ri­an­ten kann Goo­g­les Speech API das gespro­che­ne Wort in Text wan­deln. Als Cloud basier­te Anwen­dung kann sie platt­form­un­ab­hän­gig genutzt wer­den. Tech­nisch basiert die Goog­le Speech API auf Deep Machi­ne Learning und erlaubt damit eine stän­di­ge Ver­bes­se­rung der Erken­nungs­qua­li­tät.

2.   Bing Speech API:

Die Bing Speech API ist Teil der Micro­soft Cogni­ti­ve Ser­vices. Neben Speech-to-text bie­tet sie umge­kehrt auch Text-to-speech und eine soge­nann­te „Speech Intent Reco­gni­ti­on“, die statt tran­skri­bier­ter Audio­da­ten struk­tu­rier­te Infor­ma­tio­nen zurück­lie­fert. Eben­so wie Goog­le setzt Micro­soft auf ein Cloud-basier­tes Sys­tem.

 3.   Speech­ma­tics:

Speech­ma­tics ist ein 2009 gegrün­de­tes bri­ti­sches Unter­neh­men, das sich auf die Anwen­dung von künst­li­cher Intel­li­genz und Deep Machi­ne Learning mit dem Ziel auto­ma­ti­sier­ter Sprach­er­ken­nung spe­zia­li­siert hat. Wie die bei­den zuvor genann­ten Speech-to-text-Lösun­gen setzt auch Speech­ma­tics auf einen Cloud-basier­ten Ansatz.

4.   Kal­di:

Die Geschich­te von Kal­di beginnt 2009 mit einem Work­shop an der John Hop­kins Uni­ver­si­ty. Seit­dem ist Kal­di in der Ent­wick­lung, die haupt­säch­lich von Dani­el Povey vor­an­ge­trie­ben wird. Kal­di ist im Gegen­satz zu den zuvor erwähn­ten Text-to-speech-Lösun­gen für die loka­le Instal­la­ti­on vor­ge­se­hen.

 5.   CMU Sphinx:

Die Car­ne­gie Mel­lon Uni­ver­si­ty (CMU) ent­wi­ckelt die­se Sprach­er­ken­nungs­soft­ware seit den 1980er Jah­ren und stellt sie als Open Source Soft­ware zur Ver­fü­gung. Sphinx ver­folgt eben­so wie Kal­di kei­nen Cloud-basier­ten Ansatz son­dern läuft lokal auf ver­schie­de­nen Platt­for­men.

Zusätz­lich wur­de vom Ret­res­co-Team fest­ge­legt, wel­che Bei­spie­le und Test­me­tho­den zum Ergeb­nis füh­ren soll­ten.

 

 

Die Testmenge

Die gewähl­ten Audio-Bei­spie­le soll­ten sowohl ein Best-Case-Sze­na­rio im Hin­blick auf die Audio­qua­li­tät dar­stel­len, als auch inhalt­lich aus einem Bereich kom­men, der für die meis­ten Ret­res­co-Kun­den als rele­vant anzu­se­hen ist. Daher wur­den Bei­trä­ge ohne Hin­ter­grund­ge­räu­sche aus dem Bereich Nach­rich­ten von Deutsch­land Radio und Tagesschau.de gewählt, mit Stim­men, die ein­deu­tig zuzu­ord­nen waren. Hier­bei wur­de auch dar­auf geach­tet, dass jedes The­ma nicht nur eine ähn­li­che Län­ge hat, son­dern auch eine gute Mischung männ­li­cher und weib­li­cher Spre­cher ver­tre­ten sind:

speechrecsystemeg

 

Das Evaluationsverfahren

Als Qua­li­täts­kri­te­ri­um zähl­te die Wort­feh­ler­ra­te (Word Error Rate — WER) auf Basis des Need­le­man-Wunsch-Algo­rith­mus, wel­cher erst das Maß der Ähn­lich­keit von zwei Sequen­zen und anschlie­ßend ein Align­ment berech­net.

 

Die getesteten Speech Recognition APIs, eine Zusammenfassung

  • Die Goog­le Cloud Speech API bie­tet zwar ein gro­ßes Voka­bel­vo­lu­men, auch ist die Wort­er­ken­nung samt der Nut­zung von Groß- und Klein­schrei­bung sehr gut, aber es feh­len Inter­punk­ti­ons­zei­chen. Ins­ge­samt ist die API bei lan­gen Tex­ten eher trä­ge.
  • Die Bing Speech API konn­te zwar gut mit der Groß- und Klein­schrei­bung umge­hen, fiel aber in der Erken­nungs­qua­li­tät gegen­über Goog­le und Speech­ma­tics ab.
  • Speech­ma­tics hin­ge­gen über­zeug­te durch einen gerin­gen Imple­men­tie­rungs­auf­wand samt nied­ri­ger Feh­ler­quo­te in der Wort­er­ken­nung. Auch der Fakt, dass es mit Inter­punk­ti­ons­zei­chen arbei­tet und Groß- und Klein­schrei­bung berück­sich­tigt, ist ein Plus­punkt. Inter­es­sant war hier, dass zusam­men­ge­setz­te Sub­stan­ti­ve häu­fig klein geschrie­ben wur­den, was nahe­legt, dass die­se nicht als sol­che erkannt wur­den. Hier scheint der Algo­rith­mus von Speech­ma­tics noch Ver­bes­se­rungs­po­ten­ti­al zu haben. Trotz der höhe­ren Prei­se im Ver­gleich zu den ande­ren getes­te­ten APIs, über­zeug­te Speech­ma­tics durch die über­ge­ord­ne­te Qua­li­tät.
  • Kal­di ist ein wei­te­rer kos­ten­lo­ser API mit einem an GStrea­mer ange­dock­ten Ser­ver imple­men­tiert in Python und kon­fi­gu­rier­bar über yaml-Datei­en. Auch die open source ASR, die eine zwei­mal nied­ri­ge­re WER als Sphinx haben soll, ist schein­bar Sta­te-of-the-art. Im Umkehr­schluss war die API auf­grund ihrer Kom­ple­xi­tät auf dem hier genutz­ten Sys­tem ziem­lich lang­sam und die ver­wir­ren­den Schnitt­stel­len und Optio­nen waren teil­wei­se nur schwer ein­zu­set­zen, von der feh­len­den Zei­chen­set­zung und Groß-/Kleinschreibung ganz abge­se­hen.
  • CMU Sphinx ist ein kos­ten­lo­ser Anbie­ter, der zwar Zei­chen­set­zung unter­stützt aber nur Groß­schrei­bung ohne ech­te Wort­er­ken­nung anbie­tet und zusätz­lich auf dem getes­te­ten Sys­tem schwer­fäl­lig reagier­te.

 

Die WERs auf einen Blick speechrecsystemegrafiken2

Fazit:

Es gibt ein­deu­ti­ge Qua­li­täts­schwan­kun­gen, wenn es um die Sprach­er­ken­nung geht. Auf­grund der sehr guten Sprach­er­ken­nungs­qua­li­tät wird Speech­ma­tics als Favo­rit für das Sze­na­rio „Text“ gekrönt. Am schlech­tes­ten schnitt auf­grund der feh­len­den Erken­nungs­qua­li­tät CMU Sphinx ab. Man muss hier aber ein­schrän­kend sagen, dass der Grund dafür wahr­schein­lich die ver­wen­de­ten Trai­nings­da­ten waren. Das glei­che trifft auf Kal­di zu, wobei im Ver­gleich zu CMU Sphinx die Erken­nungs­qua­li­tät signi­fi­kant bes­ser war. Auf­fäl­lig war, dass die WER bei Goog­le mit der Län­ge des Audio­files ska­liert. Dies legt nahe, dass die Goog­le API auf kur­ze Sprach­be­feh­le hin opti­miert wur­de. Damit ist sie der ein­deu­ti­ge Sie­ger für das Chat-Sze­na­rio. Speech­ma­tics zielt eher in Rich­tung Tran­skrip­ti­on des gespro­che­nen Wor­tes. Das wür­de das gute Abschnei­den in die­sem Sze­na­rio hier erklä­ren.

 

Die Eigenschaften von Speech Recognition Software im Überblick speechrecsystemegrafiken4