Sprich mit mir! / ElektronikJournal

Fachbeitrag Elektronik Journal 02/2020

Wann ist Offline-Spracherkennung sinnvoll?

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 genügend Möglichkeiten, den Touchscreen, die Maus oder die Tastatur zu bedienen. Es sei denn…

Bild 1: Spracheingabe mit Apples "Siri"
Bild 1: Spracheingabe mit Apples "Siri"

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 Pkws, 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 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 (Graphical User Interface) kombiniert werden und stellt eine sinnvolle Ergänzung zum Display mit Touchscreen, Tastatur und Maus dar.

Vorteile

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, zum Beispiel bei einer Operation oder bei Arbeiten unter einem Mikroskop oder einer Lupe. Schließlich dient die Sprachsteuerung auch der Steigerung des Komforts.

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?

Bild 2: Entwicklung eines Sprachdialogs.
Bild 2: Entwicklung eines Sprachdialogs.

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 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 den erhöhten Sicherheitsbedarf in der Fertigung stellen 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 oder im Wartungsfall eine ausgewählt wird.

Offline-Sprachsteuerung

Im Folgenden wird eine Lösung vorgestellt, die vom Audiospezialisten 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 mithilfe KI-basierender Auswerteverfahren semantisch verarbeitet, damit die gewünschte Funktionsklasse (Intent), die eingegebenen Parameter (Slots) und die dazugehörigen Werte (Values) automatisch erkannt und zur Gerätesteuerung bereitgestellt werden können.

Bild 3: Offline-Sprachsteuerung in der Applikation.
Bild 3: Offline-Sprachsteuerung in der Applikation.

 

Welche Anforderungen bestehen für den Einsatz eines Sprachsteuerungssystems? An vorderster Stelle steht die Zuverlässigkeit der Spracherkennung. Hierbei steht die Leistungsfähigkeit der Fehlererkennungsrate cloudbasierenden 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 und für die Maschine nichtrelevante Füllworte automa- tisch 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 unerwü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 essenziell, 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. 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

Mithilfe einer webbasierenden 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. Siehe dazu Bild 2. 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 Deutsch eingestellt, wäre das Ergebnis Sie-Zä. Sind alle Worte definiert, werden mit maschinellen Lernverfahren und KI-basierenden 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. Der Ablauf in der fertigen Applikation ist in Bild 3 dargestellt.

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 zirka 6 MByte pro Sprache, vom Hauptspeicher werden etwa 16 MByte verwendet. Eine einfache Kommandosteuerung mit zehn Wörtern benötigt ungefähr 10 kByte, komplexere Anwendungen mit 1000 Wörtern kommen auf 500 kByte. 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 wird semantisch aufbereitet. Damit kann jedes System auf dieser Basis mit einer Sprachsteuerung versehen werden.

Das Eingangssignal ist wichtig

Bild 4: Mikrofonarray
Bild 4: Mikrofonarray

Bei der täglichen Unterhaltung hilft uns die Geometrie unseres Kopfes mit der Anordnung der Ohren auf beiden Seiten des Kopfes und den 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 am Mikrofon befindet, kann ein Mikrofon-Array eine weitere Verbesserung bieten. Dieses Mikrofon-Array erzielt mithilfe von Beamforming eine hohe Unterdrückung von störenden Geräusch und Signalen abseits der Hauptachse und blendet damit die störenden Nebengeräusche wirkungsvoll aus. Bild 4 zeigt die Anordnung der Mikrofone, auf der Leiterplatte, die mit M1 bis M8 gekennzeichnet sind.

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 dabei frei wählbar und eigene Sprachdialoge werden mit einem Webtool in einer von 30 Sprachen erstellt. Es stehen zwei Demo-Applikationen zur Verfügung. Diese dienen als Ausgangspunkt für eigene Experimente.

 

Downloaden Sie diesen Artikel als PDF: DOWNLOAD

Kontakt

Kontakt HY-LINE

Helpdesk 089 / 614 503 40

E-Mail computer@hy-line.de

Kontakt Schweiz

Helpdesk +41 52 647 42 00

E-Mail info@hy-line.ch