Sprich mit mir! Offline-Spracherkennung nutzen

HY-LINE Technology GmbH

Die Spracherkennung schafft viele Vorteile.

Bild: Hy-Line; iStock, iLexx
17.02.2020

Wozu brauche ich eine Spracherkennung? Ich habe doch zwei Hände und zwei Augen, mit denen ich meinen Computer bedienen kann. Mit den Augen lese ich den Bildschirm ab, und mit den Händen habe ich genug Möglichkeiten, den Touchscreen, die Maus oder die Tastatur zu bedienen. Es sei denn…

Sponsored Content

Die Spracheingabe ist nicht neu. Einen Zulauf erlebte die Technologie mit der Markteinführung von Sprachassistenten wie Alexa (Amazon), der Lösung von Google, Siri (Apple), Cortana (Microsoft) und dem hier nicht sehr verbreiteten Bixby (Samsung). Bereits etabliert ist sie in Navigationssystemen von PKW, wo sie Adressen und Namen entgegennimmt, und auch mit der Sprachausgabe Meldungen zur Navigation, Verkehrsstörungen und andere Informationen ausgibt. Der Dialog ist oft stark formalisiert, Schlüsselworte müssen an einer bestimmten Position im Satzbau auftauchen,
​um erkannt und korrekt zugeordnet zu werden. Da diese Systeme ohne die Leistungsfähigkeit von Rechnern im Internet auskommen müssen und die im Fahrzeug integrierten Systeme oft viele Aufgaben erledigen müssen, ist das Vokabular eingeschränkt und die Syntax formalisiert.

Der Einsatz von Sprache als Eingabemedium ist sinnvoll, wenn der Anwender damit nicht überfordert wird. Dies bedeutet, dass er entweder über weitere Möglichkeiten der Eingabe verfügt, oder die Eingabesyntax so einfach, also so nahe an der natürlichen Sprache, ist, dass kein Lernaufwand erforderlich ist. In Verbindung mit bekannten Bedienmodalitäten kann das SUI (Speech User Interface) mit dem GUI (Graphisches User Interface) kombiniert werden und stellt eine sinnvolle Ergänzung zur Display mit Touchscreen, Tastatur und Maus dar.

Vorteile von Sprachsteuerung

Die Vorteile einer Spracheingabe liegen in ganz verschiedenen Bereichen. Zum einen dort, wo keine Hand frei oder sauber genug ist, um ein Bedienelement zu betätigen, zum anderen dort, wo die Augen nicht vom gerade betrachteten Objekt abgewandt werden können, wie zum Beispiel bei einer Operation oder Arbeiten unter einem Mikroskop oder einer Lupe. Schließlich dient die Sprachsteuerung auch der Steigerung des Komforts, für das Internet-basierte Systeme normalerweise genutzt werden. Nicht zu unterschätzen ist die Möglichkeit, mit einem einzigen Satz Befehl und Parameter gleichzeitig einzugeben anstatt im GUI durch das Menü zu hangeln, um Funktionen und Werte einzeln einzustellen. Alle in einem herkömmlichen GUI vorkommenden Befehle und Einstellungen können gleichzeitig von der "Hauptebene" aus aktiviert werden. Damit einher geht eine deutliche Steigerung der Effizienz.

Online oder offline?

Grundsätzlich unterscheidet man zwischen Online- und Offline-Sprachsteuerung. Geräte, die eher online mit anderen vernetzt sind, wie zum Beispiel Unterhaltungselektronik, Hausautomatisierung und Mediensteuerung, können dank der Vernetzung andere Geräte steuern. Andere Geräte, die ein in sich abgeschlossenes System darstellen, nutzen die Vorteile des Offline-Betriebs: Auch in Gegenden ohne Netzabdeckung ist die Funktion garantiert, die Daten sind durch den Ansatz der Privacy by Design sicher, und die feste Installation garantiert eine lange Verfügbarkeit. Auch für Investitionsgüter in der Industrie wird die Spracheingabe interessant, ermöglicht sie doch weitergehende Bedienvarianten und erhöhte Flexibilität. Durch die lange Lebensdauer einer Maschine und des erhöhten Sicherheitsbedarfs in der Fertigung stellt der potenzielle Anwender jedoch über das oben skizzierte hinaus weitere Anforderungen: Die Lösung zur Spracheingabe muss über einen langen Zeitraum verfügbar und gegebenenfalls erweiterbar sein. Das Aktivierungswort, auch „Wake Word“ genannt, muss frei wählbar sein. Es müssen viele internationale Sprachen verfügbar sein, von denen bei der Installation eine ausgewählt wird.

Offline-Sprachsteuerung

Im Folgenden wird eine Lösung vorgestellt, die vom Audio-Spezialisten voice INTER connect entwickelt wurde. Sie funktioniert im Betrieb völlig ohne Anbindung an das Internet, da die Erkennung lokal auf dem Systemprozessor stattfindet. Dadurch erschließen sich Aufgabenbereiche, in denen Daten vertraulich gehalten werden müssen oder keine Netzabdeckung zur Verfügung steht. Der große Vorteil ist die natürlichsprachige Kommunikation. Die Spracheingabe muss keiner festen Syntax folgen und kann völlig frei gesprochen werden. Das Erkennungsergebnis wird mittels KI basierten Auswerteverfahren semantisch verarbeitet, damit die gewünschte Funktionsklasse ("Intent"), die eingegebenen Parameter ("Slot") und die dazugehörigen Werte ("Value") erkannt und zur Steuerung bereitgestellt werden können.

Welche Anforderungen bestehen für den Einsatz eines Sprachsteuerungssystems? An vorderster Stelle steht die Zuverlässigkeit der Spracherkennung. Hierbei steht die Leistungsfähigkeit des Systems der Erkennungs-Fehlerrate cloudbasierten Spracherkennern (Amazon Alexa, Google Home) nicht nach. Die Integration in Produkte muss einfach und zu vielen Produkten kompatibel sein, um Akzeptanz zu erhalten. Die Kommandos sollten in einer natürlichen Sprache mit freier Wahl des Satzbaus eingegeben werden können, für die Maschine nichtrelevante Füllworte automatisch ignoriert werden. Bei einer professionellen Anwendung, wie sie in der Industrie und der Medizintechnik vorkommt, müssen die Daten sicher sein und nicht von Dritten abgehört werden können. Ein eingebettetes System kann das leisten, da die gesamte Verarbeitung lokal abläuft.

Was passiert bei einem Online-System, wenn die Netzwerkverbindung zum Cloud-Server ausfällt? Steht dann die Produktion? Durch die lokale Verarbeitung bleiben die Prozessschritte, Daten und Parameter lokal und sind vor dem Wettbewerb sicher. Durch die große Anzahl verfügbarer Landessprachen können Anwendungen mehrsprachig auf der Embedded Plattform implementiert werden. Dadurch können einerseits Begriffe exakt definiert und den Landesgewohnheiten angepasst und andererseits ungewünschte Begriffe ignoriert werden. Im Servicefall ist ein schneller Zugriff auf den Zustand der Spracheingabe erwünscht, um den Grund für eine Fehlfunktion festzustellen. Für den professionellen Einsatz ist die Langzeitverfügbarkeit essentiell, denn die lokale Sprachsteuerung unterliegt nicht dem Geschäftsmodell des Cloud-Anbieters, der sein Kostenmodell ändert oder den Dienst abschaltet.

Anwendungs-Szenarien

Die Sprachsteuerung beschleunigt komplexe Bedienaufgaben durch die Zusammenfassung von Kommandos und Parametern in einem Schritt. Die Unterstützung kann kontextbezogen sein, was insbesondere bei Augmented Reality wichtig ist. Die Abfrage von Daten in Expertensystemen wird vereinfacht, und digitale Assistenten und Kollaborationstools optimieren Arbeitsabläufe.

Ein Aspekt ist auch die prozessbegleitende Protokollierung. Bestimmte Routineaufgaben können ohne den Einsatz einer bedienenden Hand erledigt werden, und die Maschine kann automatisch auf die Vollständigkeit des geführten Protokolls achten. Dies spielt eine besondere Rolle in der qualitätssichernden Dokumentation etwa bei der Wartung von Maschinen oder der Inspektion von Flugzeugen. Der Befund kann direkt in das System eingesprochen werden, dieses trägt die Daten unabhängig von der Reihenfolge direkt an die richtige Stelle des Protokolls ein.

Ablauf einer Implementierung

Mit Hilfe einer webbasierten Entwicklungsumgebung sind nur wenige Schritte erforderlich, um ein System für die eigene Anwendung zu definieren. Der Sprachdialog, also das Aktivierungswort, mit dem die Aufmerksamkeit des Systems auf Eingabe hergestellt wird, die zulässigen Kommandos und deren Parameter, werden im Webtool als Texteingabe zusammengestellt. Während der Eingabe findet bereits der erste Verarbeitungsschritt statt: Grapheme, also eingegebene Zeichen, werden in Phoneme, also kleinste akustische Bestandteile der Sprache umgewandelt. Daher ist es wichtig, zuerst die Zielsprache festzulegen. Zum Beispiel werden die eingegebenen Zeichen "SIZE" bei Englisch korrekt als "Seihs" phonemisiert. Wäre die Sprache Deutsch eingestellt, wäre das Ergebnis "Sie-Zä".

Sind alle Worte definiert, werden mit maschinellen Lernverfahren und KI-basierten Algorithmen die definierten Sprachressourcen in ein statistisches und ein semantisches Modell übersetzt und zum Download angeboten. Das Ergebnis wird auf die Zielplattform heruntergeladen und gestartet. Dann kann der Netzwerkstecker gezogen werden - das Endprodukt läuft autark.

Vorteile von Sprachsteuerung

Die Vorteile einer Spracheingabe liegen in ganz verschiedenen Bereichen. Zum einen dort, wo keine Hand frei oder sauber genug ist, um ein Bedienelement zu betätigen, zum anderen dort, wo die Augen nicht vom gerade betrachteten Objekt abgewandt werden können, wie zum Beispiel bei einer Operation oder Arbeiten unter einem Mikroskop oder einer Lupe. Schließlich dient die Sprachsteuerung auch der Steigerung des Komforts, für das Internet-basierte Systeme normalerweise genutzt werden. Nicht zu unterschätzen ist die Möglichkeit, mit einem einzigen Satz Befehl und Parameter gleichzeitig einzugeben anstatt im GUI durch das Menü zu hangeln, um Funktionen und Werte einzeln einzustellen. Alle in einem herkömmlichen GUI vorkommenden Befehle und Einstellungen können gleichzeitig von der "Hauptebene" aus aktiviert werden. Damit einher geht eine deutliche Steigerung der Effizienz.

Systemvoraussetzungen

Grundsätzlich werden mehrere Betriebssysteme unterstützt, zum Beispiel Linux, Windows, Android, iOS. Die Software läuft auf ARM (ab ARMv7) und X86-Prozessoren, die benötigte Rechenleistung beträgt ab 400 MIPS für die Echtzeitverarbeitung pro aktiver Sprache. Soll etwa ein Gerät gleichzeitig in Deutsch und Englisch bedienbar sein, müssen zwei Instanzen des Erkenners laufen. Das Sprachmodell belegt minimal circa 6MByte pro Sprache, vom Hauptspeicher werden circa 16MByte verwendet.

Eine einfache Kommandosteuerung mit 10 Wörtern benötigt circa 10kByte, komplexere Anwendungen mit 1.000 Wörtern kommen auf 500kByte. Die Software ist kooperativ und kann auf dem Hauptprozessor des Systems mitlaufen. Die Kommunikation mit der eigenen Hardware erfolgt über das MQTT-Protokoll als Publish/Subscribe-Modell mit Broker. Erkannte Befehle werden in eine JSON Struktur verpackt und der Befehlsinhalt semantisch aufbereitet. Damit kann jedes System auf dieser Basis mit einer Sprachsteuerung versehen werden.

Das Eingangssignal ist wichtig

Bei der täglichen Unterhaltung hilft uns die Geometrie unseres Kopfes mit der Anordnung der Ohren auf beiden Seiten des Kopfes und der Ohrmuscheln, auch aus einer Vielzahl von Stimmen die eine herauszufiltern, die wir hören wollen. Bei einer elektronischen Lösung wird eine Geräuschunterdrückung eingesetzt, um die Sprache verständlicher zu machen. Falls sich der Sprecher nicht nah genug am Mikrofon befindet, kann ein optimal abgestimmtes Mikrofon-Array eine weitere Qualitätsverbesserung bieten, das mittels Beamforming eine hohe Unterdrückung von störenden Geräusch und Signalen abseits der Hauptachse erzielt und damit störende Nebengeräusche wirkungsvoll ausblendet.

Hallo Maschine: Starte jetzt!

Für erste Gehversuche zum Kennenlernen des Systems steht ein Entwicklungskit zur Verfügung. Es basiert auf einem ARM iMX6-Prozessor. Über ein optionales Display kann das Resultat der Eingabe sofort visualisiert werden. Das Aktivierungswort ist frei wählbar, und eigene Sprachdialoge werden mit einem Webtool in einer von 30 Sprachen erstellt. Es stehen zwei Demo-Applikationen zur Verfügung, die als Ausgangspunkt für eigene Experimente dienen.

Fazit

Die Sprachsteuerung ergänzt HMI-Systeme um eine neue Dimension. Parallel zum GUI gesellt sich das SUI - Speech User Interface. Der Offline-Betrieb, das heißt die lokal auf dem Prozessor implementierte Sprachsteuerung, hält nicht nur Daten vertraulich, sondern steigert auch die Zuverlässigkeit, da die Verbindung zum Internet und die damit vorausgesetzte Erreichbarkeit des Servers wegfällt. Mit 30 Sprachvarianten, natürlicher Spracheingabe, Unabhängigkeit vom Sprecher und hoher Robustheit auch bei Störgeräuschen ermöglicht sie eine Steigerung der Produktivität, des Komforts und erlaubt eine Bedienung ohne Einsatz von Händen oder Hinsehen.

Bildergalerie

  • Ein maschineller Sprachdialog lässt sich nach folgendem Modell realisieren.

    Ein maschineller Sprachdialog lässt sich nach folgendem Modell realisieren.

  • So funktioniert eine Offline-Sprachsteuerung in der Applikation.

    So funktioniert eine Offline-Sprachsteuerung in der Applikation.

  • Der technische Aufbau eines Mikrofon-Arrays.

    Der technische Aufbau eines Mikrofon-Arrays.

Firmen zu diesem Artikel
Verwandte Artikel