Suche
Mit Kaldi und TensorFlow einen eigenen Jarvis basteln

Für eine bessere Spracherkennung: Kaldi erhält TensorFlow-Integration

Jane Elizabeth
© Shutterstock.com / studiostoks

Robo-Butler und vollwertige, virtuelle Assistenten könnten bald schon Realität werden. Jedenfalls gibt es Fortschritte im Bereich der Werkzeuge zur Entwicklung automatischer Spracherkennung: Das Open Source Toolkit Kaldi bietet jetzt eine Integration von TensorFlow.

Wer Science Fiction liest, dem ist sicher schon der ein oder andere Androide oder Robo-Butler über den Weg gelaufen. Und wer von uns hat nicht schon einmal davon geträumt, einen eigenen Jarvis oder eine Rosie zu bauen, die uns das Leben erleichtert? Die der Menschheit in dieser Hinsicht innewohnende Faszination sorgte in der jüngsten Vergangenheit für den Boom der Sprachassistenten Siri, Alexa und Cortana.

Wie allerdings jeder weiß, der die derzeit populärsten Sprachassistenten einmal ausprobiert hat: die Technologie ist noch lange nicht ausgereift. Die Spracherkennung hat vor allem Probleme damit, Menschen mit Dialekten oder Akzenten zu verstehen – und natürlich mit jenen, deren Muttersprache nicht das Englische ist. Und dabei ist noch nicht einmal von der Problematik die Rede, die Sprache von lauten Hintergrundgeräuschen zu unterscheiden oder von den anhaltenden Schwierigkeiten der Sprachassistenten, Umgangssprache korrekt zu erkennen. (Mit Sarkasmus tun sie sich übrigens auch schwer.)

Lesen Sie auch: Google veröffentlicht Machine-Learning-Library TensorFlow 1.3

Viele Entwicklerteams, die sich mit Spracherkennung befassen, nutzen das Toolkit Kaldi. Um das Ausprobieren und Deployen von Deeplearning-Modellen auch in den Spracherkennungspipelines von Kaldi nutzbar zu machen, stellt man Seitens Kaldi nun eine Integration von TensorFlow zur Verfügung. Die Hoffnung, die dieser Zusammenarbeit zugrunde liegt, sind natürlich bessere und fähigere Spracherkennungssysteme. Nutzern von TensorFlow eröffnet die Kollaboration eine Möglichkeit, sich mit der Welt der Spracherkennung auseinanderzusetzen. Dabei wird die große Community von Kaldi sicher gerne behilflich sein – eine klassische Win-Win-Situation.

Die Probleme und Sorgen der automatischen Spracherkennung (ASR)

Spracherkennung ist nicht einfach. Klassischerweise sah man in einem ASR-System (Automatic Speech Recognition) eine Pipeline, in der eine Serie von Modulen jeweils einen Output liefern, der auf dem Output des vorherigen basiert. Rohe Tonsignale treten an einer Seite der Pipeline ein und kommen auf der anderen Seite als Transkription erkannter Sprache auf der anderen Seite heraus. Bei Kaldi werden diese ASR-Transkriptionen in einer Reihe von Post-Processings unterzogen, wodurch eine wachsende Anzahl an Endnutzer-Anwendungen unterstützt wird.

Eine ASR-Pipeline / Quelle: Google

Die Fortschritte beim Maschinellen Lernen und in Sachen Neuronale Netzwerke haben die automatische Spracherkennung revolutioniert. Tiefe Neuronale Netzwerke haben heute bereits viele Module ersetzt, die bei der ASR zum Einsatz kamen, was unter anderem zu einer genaueren Worterkennung geführt hat. Diese neuen Modelle brauchen allerdings große Datenmengen, um besser zu werden – wobei nun TensorFlow hilft.

Allerdings gibt es immer noch verschiedene Herausforderungen bei der Entwicklung von Systemen zur automatischen Spracherkennung:

  • Algorithmen: Algorithmen für das Deep Learning müssen genau definiert werden, um die besten Resultate zu liefern. Einmal deployt, ist es schwer, sie nachträglich zu ändern.
  • Daten: ASR-Systeme brauchen Daten, wie Fische das Wasser brauchen. Manchmal sind die erforderlichen Daten aber ungenau oder schlicht nicht verfügbar.
  • Skalierung: Eine große Menge an Daten braucht eine große Menge Rechenleistung.

Die Integration von TensorFlow hilft Kaldi dabei, einige dieser Probleme zu lösen. TensorFlow-Module direkt in die Produktionsmodule von Kaldi zu deployen, ist geradlinig und vereinfacht die Nutzung von Kaldi. Auch die Zeit, die Entwickler aufwenden müssen, wird in Kaldi durch die Verwendung der Tools und Modelle von TensorFlow reduziert.

Lesen Sie auch: Deeplearn.js bringt Maschinelles Lernen in den Browser

Auch die Entwickler, die mit TensorFlow arbeiten, profitieren von der Zusammenarbeit: Sie haben nun einen einfachen Zugriff auf eine ASR-Plattform mit einer großen Community. TensorFlow-Nutzer können zudem existierende Spracherkennungspipelines von Kaldi nahtlos in ihre ML-Anwendungen einpflegen. Ein weiteres Ziel der Zusammenarbeit ist es, die beiden Open Source Communities näher zusammenzubringen und damit zukünftige Entwicklungen und Entdeckungen im Feld der automatischen Spracherkennung zu unterstützen.

Wer sich eingehender mit der Thematik befassen will, findet Kaldi auf GitHub, wer Kaldi bereits nutzt und TensorFlow integrieren will, wird hier fündig. Weitere Informationen zur Zusammenarbeit zwischen TensorFlow und Kaldi gibt es auf dem Google Developers Blog.

Geschrieben von
Jane Elizabeth
Jane Elizabeth
Jane Elizabeth ist eine Redaktionsassistentin für JAXenter.com
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.