
Einführung
Derzeit wird viel Wert darauf gelegt, ein zugängliches Umfeld für Menschen mit Behinderungen und Behinderungen zu schaffen. Ein wichtiges Mittel zur Gewährleistung der Zugänglichkeit und zur Verbesserung der Lebensqualität, der sozialen Interaktion und der Integration in die Gesellschaft für Menschen mit Behinderungen sind Computereinrichtungen und spezialisierte Informationssysteme. Eine Analyse der Literatur zeigte, dass heute verschiedene Entwicklungen im Gange sind, um die Interaktion von Mensch und Computer zu erleichtern, auch in Richtung der Entwicklung von Sprachschnittstellen für die Verwaltung eines Computersystems. Diese Entwicklungen werden jedoch von der Schaffung sprecherunabhängiger Systeme geleitet, die auf Big Data trainiert sind und die Besonderheiten der Aussprache von Befehlen an einen Computer durch Personen mit verschiedenen Verstößen gegen Sprachfunktionen nicht berücksichtigen.
Ziel der Forschungsarbeit ist es, eine sprecherabhängige Sprachschnittstelle für die Verwaltung eines Computersystems auf der Grundlage maschineller Lernmethoden zu entwerfen.
In der Arbeit gelöste Aufgaben:
- Führen Sie eine Überprüfung der Sprachschnittstellen und ihrer Verwendung zur Steuerung von Computersystemen durch.
- Ansätze zur Personalisierung der Sprachsteuerung eines Computersystems zu untersuchen;
- Entwicklung eines mathematischen Modells einer Sprachschnittstelle zur Verwaltung eines Computersystems;
- Entwickeln Sie einen Software-Implementierungsalgorithmus.
Lösungsmethoden. Zur Lösung der Aufgaben wurden Methoden der Systemanalyse, der mathematischen Modellierung und des maschinellen Lernens verwendet.
Sprachschnittstelle zur Steuerung eines Computersystems
Das Erstellen von Spracherkennungssystemen ist eine äußerst schwierige Aufgabe. Es ist besonders schwierig, die russische Sprache zu erkennen, die viele Merkmale aufweist. Alle Spracherkennungssysteme können in zwei Klassen unterteilt werden:
Sprecherabhängige Systeme - abgestimmt auf die Sprache des Sprechers im Lernprozess. Um mit einem anderen Lautsprecher arbeiten zu können, müssen solche Systeme vollständig neu konfiguriert werden.
Lautsprecherunabhängige Systeme - deren Betrieb vom Lautsprecher unabhängig ist. Solche Systeme erfordern keine vorherige Schulung und können die Sprache eines Sprechers erkennen.
Zunächst erschien der erste Systemtyp auf dem Markt. In ihnen wurde das Klangbild des Teams in Form eines integralen Standards gespeichert. Um die unbekannte Aussprache und das Standardteam zu vergleichen, wurden Methoden der dynamischen Programmierung verwendet. Diese Systeme funktionierten gut, wenn kleine Gruppen von 10 bis 30 Teams erkannt wurden und nur ein Sprecher verstanden wurde. Um mit einem anderen Lautsprecher arbeiten zu können, mussten diese Systeme vollständig neu konfiguriert werden.
Um fortlaufende Sprache zu verstehen, war es notwendig, zu Wörterbüchern mit viel größeren Größen von mehreren Zehntausend bis Hunderttausenden von Wörtern überzugehen. Die in den Systemen der ersten Art verwendeten Methoden waren zur Lösung dieses Problems nicht geeignet, da es einfach unmöglich ist, Standards für eine solche Anzahl von Wörtern zu erstellen.
Um fortlaufende Sprache zu verstehen, war es notwendig, zu Wörterbüchern mit viel größeren Größen von mehreren Zehntausend bis Hunderttausenden von Wörtern überzugehen. Die in den Systemen der ersten Art verwendeten Methoden waren zur Lösung dieses Problems nicht geeignet, da es einfach unmöglich ist, Standards für eine solche Anzahl von Wörtern zu erstellen.
Darüber hinaus bestand der Wunsch, ein System unabhängig vom Ansager zu machen. Dies ist eine sehr schwierige Aufgabe, da jede Person eine individuelle Art der Aussprache hat: das Sprachtempo, das Timbre der Stimme und die Merkmale der Aussprache. Solche Unterschiede werden als Sprachvariabilität bezeichnet. Um dies zu berücksichtigen, wurden neue statistische Methoden vorgeschlagen, die hauptsächlich auf den mathematischen Apparaten von
Hidden-Markov-Modellen (SMM) oder
künstlichen neuronalen Netzen basieren. Die besten Ergebnisse wurden durch die Kombination dieser beiden Methoden erzielt. Anstatt Muster für jedes Wort zu erstellen, werden Muster einzelner Klänge erstellt, aus denen die Wörter bestehen, die sogenannten akustischen Modelle. Akustische Modelle werden durch statistische Verarbeitung großer Sprachdatenbanken mit Sprachaufzeichnungen von Hunderten von Personen gebildet. Bestehende Spracherkennungssysteme verwenden zwei grundlegend unterschiedliche Ansätze:
Voice-Tag- Erkennung - Erkennung von Sprachfragmenten aus einem aufgezeichneten Muster. Dieser Ansatz wird häufig in relativ einfachen Systemen verwendet, die zur Ausführung von aufgezeichneten Sprachbefehlen ausgelegt sind.
Erkennung lexikalischer Elemente - Isolierung der einfachsten lexikalischen Elemente wie Phoneme und Allophone von der Sprache. Dieser Ansatz eignet sich zur Erstellung von Textdiktiersystemen, in denen die vollständige Umwandlung von ausgesprochenen Lauten in Text stattfindet.
In einer Übersicht über verschiedene Internetquellen können Sie die folgenden Softwareprodukte hervorheben, die Spracherkennungsprobleme und ihre Hauptmerkmale lösen:
Gorynych PROF 3.0 ist ein
benutzerfreundliches Programm zum Erkennen gesprochener Sprache und zum Tippen durch Diktat mit Unterstützung der russischen Sprache. Es basiert auf russischen Entwicklungen auf dem Gebiet der Spracherkennung.
Eigenschaften
- Sprechersucht;
- Sprachabhängigkeit (Russisch und Englisch);
- Die Erkennungsgenauigkeit hängt vom Kern des American Dragon Dictate-Systems ab.
- bietet Sprachsteuerung für bestimmte Funktionen des Betriebssystems, der Texteditoren und Anwendungsprogramme;
- erfordert Training.
VoiceNavigator ist eine High-Tech-Lösung für Contact Center, die zum Aufbau von Voice Self-Service-Systemen (GHS) entwickelt wurde. Mit VoiceNavigator können Sie Anrufe mithilfe von Sprachsynthese- und Erkennungstechnologien automatisch verarbeiten.
Eigenschaften
- Sprecherunabhängigkeit;
- Immunität gegen Umgebungsgeräusche und Störungen im Telefonkanal;
- Die russische Spracherkennung arbeitet mit einer Zuverlässigkeit von 97% (Wörterbuch mit 100 Wörtern).
Speereo-Spracherkennung - Die Spracherkennung erfolgt direkt auf dem Gerät und nicht auf dem Server.
Dies ist laut den Entwicklern ein entscheidender Vorteil.
Eigenschaften
- Die russische Spracherkennung arbeitet mit einer Zuverlässigkeit von etwa 95%.
- Sprecherunabhängigkeit;
- Wortschatz von ungefähr 150.000 Wörtern;
- gleichzeitige Unterstützung für mehrere Sprachen;
- kompakte Motorgröße. Sakrament ASR Engine (entwickelt von Sacrament)
Sakrament ASR Engine - (entwickelt von Sacrament) - Mit der Spracherkennungstechnologie werden Sprachmanagement-Tools erstellt - Programme, die die Aktionen eines Computers oder eines anderen elektronischen Geräts mithilfe von Sprachbefehlen steuern sowie telefonische Hilfe- und Informationsdienste organisieren.
Eigenschaften
- Sprecherunabhängigkeit;
- Sprachunabhängigkeit;
- Erkennungsgenauigkeit erreicht 95-98%;
- Spracherkennung in Form von Ausdrücken und kleinen Sätzen;
- keine Lernmöglichkeit.
Google Sprachsuche - Vor kurzem wurde die Sprachsuche von Google in den Google Chrome-Browser integriert, sodass Sie diesen Dienst auf verschiedenen Plattformen verwenden können.
Eigenschaften
- Unterstützung der russischen Sprache;
- die Fähigkeit, Spracherkennung in Webressourcen einzubetten;
- Sprachbefehle, Phrasen;
- Um arbeiten zu können, benötigen Sie eine dauerhafte Verbindung zum Internet.
Dragon NaturallySpeaking - (Nuance Company) Ein weltweit führender Anbieter von Software zur Erkennung menschlicher Sprache. Die Möglichkeit, neue Dokumente zu erstellen, E-Mails zu senden, gängige Browser und eine Vielzahl von Anwendungen über Sprachbefehle zu verwalten.
Eigenschaften
- mangelnde Unterstützung für die russische Sprache;
- Erkennungsgenauigkeit bis zu 99%.
ViaVoice - (IBM) ist ein Softwareprodukt für Hardware-Implementierungen. Basierend auf diesem Kern hat ProVox Technologies ein System zum Diktieren der Berichte von VoxReports-Radiologen erstellt.
Eigenschaften
- Erkennungsgenauigkeit erreicht 95-98%;
- Sprecherunabhängigkeit;
- Das Systemwörterbuch ist auf eine Reihe spezifischer Begriffe beschränkt.
Sphinx ist eine bekannte und effiziente Open-Source-Spracherkennungssoftware für heute. Die Entwicklung wird an der Carnegie Mellon University durchgeführt, ist unter der Berkley Software Distribution (BSD) lizenziert und steht sowohl für den kommerziellen als auch für den nichtkommerziellen Gebrauch zur Verfügung.
Eigenschaften
- Sprecherunabhängigkeit;
- kontinuierliche Spracherkennung;
- Lernfähigkeit;
- Verfügbarkeit der Version für eingebettete Systeme - Pocket Sphinx.
Die Umfrage ergab daher, dass Softwareprodukte, die sich an eine große Anzahl von Benutzern richten, auf dem Markt vorherrschen, sprecherunabhängig sind und in der Regel über eine proprietäre Lizenz verfügen, was ihre Verwendung für Menschen mit Behinderungen zur Verwaltung des Computersystems erheblich einschränkt. Systeme zur Sprachsteuerung von Spezialwerkzeugen wie Smart Home, Exoskelett usw. sind nicht universell. Das Interesse an neuen Technologien wächst jedoch. Es gibt Möglichkeiten, verschiedene Geräte über Mobilkommunikation und Bluetooth-Technologien zu steuern. Einschließlich Haushaltsgeräte. Der Einsatz von Sprachsteuerungstechnologien, die auf einen bestimmten Benutzer ausgerichtet sind, verbessert die Qualität des Alltags und die soziale Anpassung für Menschen mit Behinderungen.
Mathematische Vorrichtung zum Erkennen des Zustands des Sprechers und seiner Merkmale
Um das in der Arbeit aufgeworfene Problem zu lösen, analysieren wir die Anforderungen an das System.
Das System sollte sein:
- sprecherabhängig;
- Lernen Sie entsprechend der Aussprache eines bestimmten Benutzers.
- Erkennen Sie eine bestimmte Anzahl von Sprach-Tags und übersetzen Sie diese in Steuerbefehle.
Die Sprachschnittstelle sollte: sprecherabhängig sein, mit einem begrenzten Wortschatz.
Sprachbefehle sind eine Schallwelle. Eine Schallwelle kann als ein darin enthaltenes Frequenzspektrum dargestellt werden.
Digitaler Klang ist eine Möglichkeit, ein elektrisches Signal durch diskrete numerische Werte seiner Amplitude darzustellen. Eine Audiodatei im Hauptspeicher dient als Eingabeinformation für die Sprachschnittstelle. Als Ergebnis der Übermittlung der Datei an das neuronale Netzwerk gibt das Programm das entsprechende Ergebnis aus.
Die Digitalisierung ist eine Fixierung der Signalamplitude in bestimmten Zeitintervallen und die Registrierung der erhaltenen Amplitudenwerte in Form gerundeter digitaler Werte. Die Digitalisierung eines Signals umfasst zwei Prozesse - den Abtastprozess und den Quantisierungsprozess.
Der Abtastprozess ist der Prozess des Erhaltens von Signalwerten, der mit einem bestimmten Zeitschritt umgewandelt wird. Dieser Schritt wird als Abtastschritt bezeichnet. Die Anzahl der Messungen der Größe des Signals, die in einer Sekunde durchgeführt werden, wird als Abtastfrequenz oder Abtastfrequenz oder Abtastfrequenz bezeichnet. Je kleiner der Abtastschritt ist, desto höher ist die Abtastfrequenz und desto genauer wird das Signal dargestellt.
Bei der Quantisierung werden reale Werte der Signalamplitude mit einer gewissen Genauigkeit durch ungefähre Werte ersetzt. Jeder der 2N möglichen Pegel wird als Quantisierungspegel bezeichnet, und der Abstand zwischen den beiden nächstgelegenen Quantisierungspegeln wird als Quantisierungsschritt bezeichnet. Wenn die Amplitudenskala linear in Pegel unterteilt ist, wird die Quantisierung als linear oder homogen bezeichnet.
Die aufgezeichneten Signalamplitudenwerte werden als Abtastwerte bezeichnet. Je höher die Abtastrate und je mehr Quantisierungspegel, desto genauer ist die digitale Darstellung des Signals.
Es ist ratsam, ein neuronales Netzwerk zu verwenden, das die erforderlichen Vorzeichen als mathematische Vorrichtung zur Lösung des Problems der Unterscheidung charakteristischer Merkmale lernen und automatisch auswählen kann. Auf diese Weise können Sie das System auf die bestimmte Aussprache der Sprachbefehle eines bestimmten Benutzers trainieren. Beim Vergleich der Mechanismen verschiedener neuronaler Netze haben wir die beiden am besten geeigneten ausgewählt. Dies ist das Netzwerk von Kosco und Cohoken.
Kohonens selbstorganisierende Karte ist ein neuronales Netzwerk mit Lernen ohne Lehrer, das die Aufgabe der Visualisierung und Clusterbildung erfüllt. Es ist eine Methode zum Projizieren eines mehrdimensionalen Raums in einen Raum mit einer niedrigeren Dimension (meistens zweidimensional). Es wird auch verwendet, um Modellierung zu lösen, Probleme vorherzusagen, Sätze unabhängiger Merkmale zu identifizieren, nach Mustern in großen Datenmengen zu suchen und Computerspiele zu entwickeln. Es ist eine der Versionen der neuronalen Netze von Kohonen.
Das Kohonen-Netzwerk ist ein geeignetes Netzwerk, da dieses Netzwerk Trainingsbeispiele automatisch in Cluster aufteilen kann, wobei die Anzahl der Cluster vom Benutzer festgelegt wird. Nach dem Training des Netzwerks können Sie berechnen, zu welchem Cluster das Eingabebeispiel gehört, und das entsprechende Ergebnis ausgeben.
Das Kosco-Neuronale Netzwerk oder das bidirektionale assoziative Gedächtnis (DAP) ist ein einschichtiges neuronales Rückkopplungsnetzwerk, das auf zwei Ideen basiert: Stefan Grosbergs adaptive Resonanztheorie und Hopfields autoassoziatives Gedächtnis. DAP ist heteroassoziativ: Der Eingabevektor kommt an einem Satz von Neuronen an, und der entsprechende Ausgabevektor wird an einem anderen Satz von Neuronen erzeugt. Wie das Hopfield-Netzwerk kann DAP verallgemeinern und trotz verzerrter Eingaben die richtigen Reaktionen hervorrufen. Darüber hinaus können adaptive Versionen des WCT implementiert werden, die das Referenzbild von verrauschten Instanzen hervorheben. Diese Fähigkeiten ähneln stark dem Prozess des menschlichen Denkens und ermöglichen es künstlichen neuronalen Netzen, einen Schritt in Richtung Gehirnmodellierung zu machen.
Der Vorteil dieses Netzwerks besteht darin, dass basierend auf diskreten neuronalen Netzwerken der adaptiven Resonanztheorie ein neues bidirektionales assoziatives Gedächtnis entwickelt wird, das neue Informationen speichern kann, ohne das neuronale Netzwerk neu zu trainieren. Auf diese Weise kann der Benutzer bei Bedarf den Bestand an Sprach-Tags auffüllen.
Design
Das Konzept der Softwareimplementierung umfasst drei Phasen, die in einem Softwareprodukt mit einer ergonomischen grafischen Oberfläche implementiert sind.
Sammlung von Trainingsbeispielen.Um das neuronale Netzwerk zu trainieren, wird der Benutzer aufgefordert, die vorbereiteten Sprach-Tags mehrmals zu sagen. Da die aufgezeichneten Phrasen aus einem Wort bestehen, spielt die Dateigröße keine Rolle. Zur weiteren Verarbeitung wird der Ton im WAV-Format aufgenommen. Dies ist ein verlustfreies PCM-Aufnahmeformat.
Dies ist der Standard für die weitere
Soundverarbeitung mithilfe der
Python- Bibliothek
python_speech_features . Der für das weitere Training des neuronalen Netzwerks erforderliche „Wert“ (entsprechende Befehle) muss an die Audiodatei angehängt werden.
Neuronales Netzwerktraining.Das Programm liest Audiodateien und generiert neue Audiodateien, indem es die Länge der Audiospur sowie die Tonhöhe, Lautstärke und den Sprachton ändert. Dies ist erforderlich, um die Anzahl der Beispiele für das Trainingsmuster zu erhöhen, wodurch die Qualität der Erkennung durch das neuronale Netzwerk erhöht wird. Im Programm wird der Benutzer aufgefordert, das Netzwerk auf zuvor aufgezeichneten Sprach-Tags zu trainieren. Der Benutzer kann die Basis auch mit Trainings-Sprach-Tags ergänzen und das neuronale Netzwerk später neu trainieren.
Mit dem Programm.Nach dem Training des Programms mit den angegebenen Wörtern kann der Benutzer mit der Arbeit beginnen oder dem Training neue Sprach-Tags hinzufügen. Ein trainiertes neuronales Netzwerk kann die gelieferten Audiodateien erkennen.
Fazit
In der Forschungsarbeit wird daher eine Überprüfung des modernen Marktes für Sprachschnittstellen und ihrer Verwendung durchgeführt. Es wird gezeigt, dass diese Art von Software auf die Verwendung der sprachunabhängigen Sprachsteuerung in Systemen ausgerichtet ist und nicht die individuellen Merkmale des Benutzers berücksichtigt, was besonders für Menschen mit Behinderungen und Sprachbehinderungen wichtig ist.
Die Anforderungen an eine Sprachsteuerungsschnittstelle eines Computersystems zur Unterstützung von Menschen mit Sprachbehinderungen werden definiert.
Eine zur Umsetzung des Konzepts geeignete mathematische Vorrichtung wird beschrieben. Ein Algorithmus zur Softwareimplementierung der Sprachschnittstelle wird kompiliert.
Die weitere Entwicklung umfasst die Entwicklung eines Programms mit einer praktischen grafischen Oberfläche für die Implementierung eines Prototyps einer Sprachsteuerungsschnittstelle, die für verschiedene Aufgaben wie die Steuerung von Haushaltsgeräten, Computern und Robotergeräten (Exoskeletten) durch Menschen mit Behinderungen verwendet werden kann.