Transkription: Sprache in Text umwandeln

Oft habe ich mir gewünscht, dass die Nachrichten vom Anrufbeantworter per SMS oder Email bei mir eingehen: Am liebsten in Textform! Dann kann ich wichtige Teile wie z. B. Telefonnummern oder Datumsangaben gleich in elektronischer Form übernehmen. Dass das kein Hexenwerk ist, wissen wir spätestens seit Apple Siri (Speech Interpretation and Recognition Interface).

Aber schon vorher haben zahlreiche Systeme intensiv von Spracherkennung Gebrauch gemacht, darunter Videobearbeitungsprogramme wie Adobe Premiere und zahlreiche Sprachdialogsysteme. Um genau zu sein gibt es hier jedoch einen wesentlichen Unterschied: Sprachdialogsysteme versuchen normalerweise Schlüsselwörter zu erkennen, die Transkription möchte hingegen den gesamten Text erfassen. In vielen Fällen reicht ersteres (und ersteres funktioniert in der Praxis meist auch besser). Am allerbesten ist es natürlich, die Wahl zu haben!

Einen einfachen Einstieg in die hier verwendete Scripting API des Cloud-basierten interaktiven Sprachdialogsystem Telekom Tropo finden Sie hier im Blog.

Telekom Tropo bietet in der neuesten Version diese Wahl. Mit ask kann eine Frage gestellt und die Antwort mit Hilfe verschiedener Grammatiken ermittelt werden (keine Sorge, es gibt ganz einfache Grammatiken, die für die meisten Anwendungsfälle ausreichen):

JavaScript (Scripting API):

1
2
var result = ask("What's color? Choose red, blue or green.", {choices:"red, blue, green"}); 
say("You said " + result.value);

Dank der neuen Transkriptions-Funktion kann Gesprochenes wie ein eingehender Anruf aber auch komplett in Text verwandelt werden. Nur einen kleinen Trick muss man nutzen, damit es klappt: Die Transkription erwartet ein Ziel für die Aufzeichnung der Audiodaten (wahlweise FTP oder per http-Post), sollte jedoch keine Aufzeichnung sondern nur die Transkription erwünscht sein, kann man hier einfach irgendein Ziel als Platzhalter eingeben. Außerdem wird eine transcriptionOutURI als HTTP-Post Ziel für das Ergebnis benötigt, die alternativ auch die Verwendung von mailto zum senden einer Email erlaubt:

JavaScript (Scripting API):

1
2
3
4
5
6
7
say("Welcome to speed therapy!");
record("Tell us how you feel in one minute or less!", {    
   beep:true,    
   maxTime:600,
   recordURI:"http://fakeurl.com/", /* we cannot leave this parameter blank */
   transcriptionOutURI: "mailto:me@mymail.com",
});

Das war es schon. Einen Wehrmutstropfen gibt es jedoch: Die Transkription hier ist aktuell nur für Englisch erhältlich und auf eine Minute beschränkt. Für einen Anrufbeantworter oder das Hinterlassen von kurzen Nachrichten sollte das aber allemal genügen…