Spracherkennungs-Engine. Automatische Spracherkennungssysteme

Wie gut war es früher! Durch einen Anruf beim Helpdesk war es möglich, mit der Telefonistin zu sprechen und sogar einen Termin mit ihr zu vereinbaren. Jetzt ist am anderen Ende der Leitung eine angenehme, aber leblose Frauenstimme zu hören, die anbietet, 1 zu wählen, um diese und jene Informationen zu erhalten, 2 - um damit zu kommunizieren, 3 - um das Menü zu verlassen usw. Der Zugriff auf Informationen wird zunehmend vom System kontrolliert, nicht vom Einzelnen. Das hat seine eigene Logik: Monotone, uninteressante Arbeit wird nicht von einem Menschen, sondern von einer Maschine erledigt. Und für den Benutzer wird das Verfahren zum Abrufen von Informationen vereinfacht: Er hat eine bestimmte Nummer angerufen - er hat die erforderlichen Informationen erhalten.

Wie funktioniert ein solches System? Versuchen wir es herauszufinden.

Die zwei Haupttypen von Spracherkennungsprogrammen sind:

Diktiersoftware - Geben Sie Text und Zahlen ein.

Machen wir gleich eine Reservierung, dass wir die Text-to-Speech- und Speech-to-Text-Systeme, dh die Übersetzung von Text in mündliche Sprache und umgekehrt, nicht berücksichtigen werden. Wir beschränken uns auf Systeme zur automatischen Erkennung von Befehlen oder Sprachnavigatoren.

SARR – was ist das?

Automatische Spracherkennung (CAPP) ist ein Element des Sprachverarbeitungsprozesses, dessen Zweck es ist, einen bequemen Dialog zwischen dem Benutzer und der Maschine bereitzustellen. Im weitesten Sinne handelt es sich um Systeme, die eine phonemische Dekodierung eines akustischen Sprachsignals durchführen, wenn Sprachnachrichten in einem freien Stil, einem beliebigen Sprecher, ausgesprochen werden, ohne die Problemorientierung und Beschränkungen der Lautstärke des Wörterbuchs zu berücksichtigen. Im engeren Sinne erleichtern CAPPs die Lösung bestimmter Probleme, indem sie den Anforderungen für die Erkennung natürlich klingender Sprache im klassischen Sinne einige Einschränkungen auferlegen. So reicht die Bandbreite der CAPP-Varianten von einfachen Einzelgeräten und Kinderspielzeugen, die separat gesprochene Wörter, Zahlen, Städte, Namen etc. erkennen oder synthetisieren können, bis hin zu superkomplexen natürlich klingenden Spracherkennungssystemen und deren Synthese B. als Assistenzassistent (IBM VoiceType Simply Speaking Gold).

Als Hauptkomponente jeder benutzerfreundlichen Schnittstelle zwischen einer Maschine und einer Person kann CAPP in verschiedene Anwendungen eingebaut werden, zum Beispiel in Sprachsteuerungssysteme, Sprachzugriff auf Informationsressourcen, Sprachenlernen mit einem Computer, Unterstützung für Behinderte, Zugang zu etwas durch Sprachverifizierungssysteme / Identifikation.

CAPP ist sehr nützlich als Such- und Sortierwerkzeug für aufgezeichnete Audio- und Videodaten. Die Spracherkennung wird auch bei der Eingabe von Informationen verwendet, was besonders nützlich ist, wenn die Augen oder Hände einer Person beschäftigt sind. CARR ermöglicht es Menschen, die in stressigen Umgebungen arbeiten (Ärzte in Krankenhäusern, Fabrikarbeiter, Fahrer), einen Computer zu verwenden, um die notwendigen Informationen zu erhalten oder einzugeben.

Typischerweise wird CAPP in Systemen wie Telefonieanwendungen, eingebetteten Systemen (Wählsysteme, PDA-Bedienung, Fahren usw.), Multimediaanwendungen (Sprachlehrsysteme) verwendet.

Sprachtasten

Sprachhinweise werden manchmal als automatische Spracherkennungssysteme bezeichnet. In der Regel handelt es sich dabei um biometrische Systeme entweder für den autorisierten Zugriff auf Informationen oder den physischen Zugriff auf Objekte. Zwei Arten solcher Systeme sind zu unterscheiden: Verifizierungssysteme und Identifikationssysteme. Während der Überprüfung präsentiert der Benutzer zuerst seinen Code, das heißt, erklärt sich auf die eine oder andere Weise und sagt dann laut ein Passwort oder einen beliebigen Satz. Das System prüft, ob die gegebene Stimme den Standards entspricht, die gemäß dem präsentierten Code aus dem Speicher des Computers aufgerufen wurden.

Bei der Identifizierung wird vorab keine Aussage über den Nutzer gemacht. Dabei wird ein Vergleich dieser Stimme mit allen Standards durchgeführt und dann konkret ermittelt, wer die durch die Stimme identifizierte Person ist. Heutzutage gibt es viele Ansätze und Methoden zur Implementierung solcher Systeme, und alle unterscheiden sich in der Regel voneinander - wie viele Entwickler, so viele ihrer Varianten. Dasselbe gilt für Spracherkennungssysteme. Daher ist es nur möglich, die Eigenschaften bestimmter Spracherkennungs- und Persönlichkeitserkennungssysteme anhand spezieller Testdatenbanken zu beurteilen.

Ein bisschen Geschichte

Vereinigte Staaten von Amerika, Ende der 1960er: „Drei“, sagte Walter Cronkite, Moderator des populärwissenschaftlichen Programms 21st Century, während einer Demonstration der neuesten Entwicklungen in der Spracherkennung. Der Computer erkannte dieses Wort als "vier". „Idiot“, murmelte Walter. „Dieses Wort steht nicht im Wörterbuch“, antwortete der Computer.

Obwohl die ersten Entwicklungen im Bereich der Spracherkennung auf die 1920er Jahre zurückgehen, wurde das erste System erst 1952 von Bell Laboratories (heute Teil von Lucent Technologies) entwickelt. Und das erste kommerzielle System entstand noch später: 1960 kündigte IBM die Entwicklung eines solchen Systems an, aber das Programm kam nie auf den Markt.

Dann installierte Eastern Airlines in den USA in den 1970er-Jahren ein sprecherabhängiges Gepäckabfertigungssystem: Der Operator nannte das Ziel – und das Gepäck wurde auf die Reise geschickt. Aufgrund der Anzahl der gemachten Fehler hat das System die Testphase jedoch nie bestanden.

Danach verliefen die Entwicklungen in diesem Bereich, wenn überhaupt, eher schleppend. Bereits in den 1980er Jahren gab es einige echte kommerzielle Anwendungen mit Spracherkennungssystemen.

Heute arbeiten nicht Dutzende, sondern Hunderte von Forschungsteams in Wissenschafts- und Bildungseinrichtungen sowie in Großunternehmen in diese Richtung. Dies kann von solchen internationalen Foren von Wissenschaftlern und Spezialisten auf dem Gebiet der Sprachtechnologien wie ICASSP, EuroSpeech, ICPHS usw. beurteilt werden. Die Ergebnisse der Arbeit, die, wie wir bildlich sagen, „auf die ganze Welt fiel“, können dies kaum überschätzt werden.

Seit einigen Jahren werden Sprachnavigatoren oder Befehlserkennungssysteme erfolgreich in verschiedenen Tätigkeitsfeldern eingesetzt. Beispielsweise wurde das von Alcatel an den Vatikan gelieferte OmniTouch-Callcenter zur Betreuung von Veranstaltungen eingesetzt, die im Rahmen der Feierlichkeiten zum 2000. Jahrestag Christi stattfanden. Der Pilger, der das Callcenter anrief, stellte seine Frage, und das automatische Spracherkennungssystem „hörte“ ihm zu. Wenn das System feststellte, dass eine Frage zu einem häufig vorkommenden Thema gestellt wurde, wie z. B. Veranstaltungskalender oder Hoteladressen, wurde ein vorab aufgezeichneter Eintrag hinzugefügt. War es zur Klärung der Frage notwendig, wurde ein Sprachmenü angeboten, in dem einer der Punkte per Sprache angegeben werden musste. Wenn das Erkennungssystem feststellte, dass es keine vorab aufgezeichnete Antwort auf die gestellte Frage gab, wurde der Pilger mit dem menschlichen Bediener verbunden.

In Schweden wurde kürzlich ein automatischer Telefonauskunftsdienst mit Philips Spracherkennungssoftware eröffnet. Während des ersten Betriebsmonats des Autosvar-Dienstes, der ohne offizielle Ankündigung seinen Betrieb aufnahm, nutzten 200.000 Kunden seine Dienste. Eine Person muss eine bestimmte Nummer wählen und nach der Antwort der automatischen Sekretärin den Abschnitt des Informationsverzeichnisses nennen, der sie interessiert.

Der neue Service richtet sich hauptsächlich an Privatkunden, die ihn aufgrund der deutlich niedrigeren Servicekosten bevorzugen werden. Der Autosvar-Dienst ist der erste seiner Art in Europa (in den USA begannen Versuche eines ähnlichen Dienstes bei AT&T im Dezember letzten Jahres).

Hier sind einige Beispiele für den Einsatz dieser Technologie in den USA.

Immobilienmakler wenden sich oft an die Dienste von Newport Wireless. Wenn ein Immobilienmakler die Straße hinunterfährt und ein For Sale-Schild in der Nähe eines Hauses sieht, ruft er Newport Wireless an und fragt nach Informationen über ein Haus mit dieser und jener Nummer, das sich in dieser und jener Straße befindet. Der Anrufbeantworter mit angenehmer Frauenstimme informiert ihn über die Aufnahmen des Hauses, das Baujahr und die Besitzer. All diese Informationen befinden sich in der Datenbank von Newport Wireless. Makler können nur eine Nachricht an den Kunden senden. Die Abonnementgebühr beträgt etwa 30 US-Dollar pro Monat.

Julie, Virtual Agent von Amtrak, betreut seit Oktober 2001 Bahnreisende. Sie informiert telefonisch über Zugfahrpläne, deren Ankunft und Abfahrt und nimmt auch Ticketbuchungen vor. Julie ist ein Produkt von SpeechWorks Software und Intervoice Hardware. Es hat die Passagierzufriedenheit bereits um 45 % gesteigert; 13 von 50 Kunden erhalten alle Informationen, die sie benötigen, von Julie. Amtrak verwendete früher ein tonbasiertes Empfehlungssystem, aber die Zufriedenheitsrate war damals niedriger, mit nur 9 von 50 Kunden.

Amtrak gibt zu, dass Julie ihren Preis (4 Millionen Dollar) in 12 bis 18 Monaten zurückgezahlt hat. Sie erlaubte nicht, ein ganzes Team von Mitarbeitern einzustellen. Und British Airways spart jährlich 1,5 Millionen US-Dollar durch den Einsatz von Technologie von Nuance Communications, die auch den Helpdesk automatisiert.

Kürzlich stellte Sony Computer Entertainment America Socom vor, das erste Videospiel, in dem Spieler den Granatenjägern verbale Befehle erteilen können. Das 60-Dollar-Spiel verwendet ScanSoft-Technologie. Im vergangenen Jahr wurden 450.000 dieser Spiele verkauft, was Socom zum unangefochtenen Marktführer in den Verkaufszahlen des Unternehmens macht.

In teuren Autos wie Infinity und Jaguar wird seit einigen Jahren die verbale Steuerung des Bedienfelds verwendet: Radio, Temperaturregime und Navigationssystem verstehen die Stimme des Autobesitzers und gehorchen dem Besitzer bedingungslos. Aber jetzt beginnt die Spracherkennungstechnologie, in Autos der Mittelklasse angewendet zu werden. So hat Honda Accord seit 2003 eine eingebaute Spracherkennung von IBM. Es heißt ViaVoice und ist Teil eines 2.000-Dollar-Navigationssystems.Ein Fünftel der Käufer von Honda Accord entscheidet sich laut Anbieter für ein Modell mit Sprachnavigation.

Auch in der Medizin hat die Spracherkennungstechnologie ihren Platz gefunden. Geräte zur Untersuchung des Magens, die der Stimme des Arztes gehorchen, wurden bereits entwickelt. Es stimmt, dass diese Geräte laut Experten immer noch unvollkommen sind: Sie reagieren langsam auf die Anweisungen des Arztes. Aber immer noch voraus. In Memphis investierte das VA Medical Center 277.000 US-Dollar in die Dragon-Software, mit der Ärzte und Krankenschwestern Informationen in eine Computerdatenbank diktieren können. Wahrscheinlich wird es bald nicht mehr nötig sein, die Handschrift eines Arztes in einer Krankenakte zu erkennen.

Bereits Hunderte von großen Unternehmen verwenden Spracherkennungstechnologie in ihren Produkten oder Dienstleistungen; Dazu gehören AOL, FedEx, Honda, Sony, Sprint, T. Rowe Price, United Airlines und Verizo. Experten zufolge erreichte der Markt für Sprachtechnologie im Jahr 2002 etwa 695 Millionen Dollar, was 10 % mehr ist als im Jahr 2001.

United Airways hat bereits 1999 einen automatisierten Auskunftsdienst eingeführt. Automatisierte Anrufverarbeitungssysteme werden von Unternehmen wie der Investmentbank Charles Schwab & Co, der Einzelhandelskette Sears und der Supermarktkette Roebuck betrieben. US-Mobilfunkanbieter (AT&T Wireless und Sprint PCS) verwenden seit über einem Jahr ähnliche Programme und bieten Sprachwahldienste an. Und obwohl Amerika jetzt führend in der Anzahl von Callcentern dieser Art ist, hat man in letzter Zeit begonnen, die Vorteile von Spracherkennungssystemen in Europa zu realisieren. So bietet beispielsweise die Schweizer Bahn ihren deutschsprachigen Passagieren bereits ähnliche Dienstleistungen wie United Airways an.

Analystenprognosen

Heute zählen Spracherkennungstechnologien zu den vielversprechendsten der Welt. So wird nach Prognosen des amerikanischen Forschungsunternehmens Cahners In-Stat der Weltmarkt für Spracherkennungssoftware bis 2005 von 200 Millionen auf 2,7 Milliarden Dollar steigen, das Volumen des Sprachtechnologiemarktes wird laut Datamonitor um ein Prozent wachsen durchschnittlich 43 % pro Jahr: von 650 Millionen Dollar im Jahr 2000 auf 5,6 Milliarden Dollar im Jahr 2006 (Abb. 1). Experten des Medienkonzerns CNN stuften die Spracherkennung in diesem Jahr als eine der acht vielversprechendsten Technologien ein. Und die Analysten von IDC sagen, dass die Spracherkennung bis 2005 alle anderen Sprachtechnologien vollständig vom Markt verdrängen wird (Abb. 2).

Hauptschwierigkeiten

Das Hauptproblem, das bei der Entwicklung von CAPP auftritt, ist die unterschiedliche Aussprache desselben Wortes sowohl von verschiedenen Personen als auch von derselben Person in verschiedenen Situationen. Das wird eine Person nicht stören, aber ein Computer kann es. Darüber hinaus wird das eingehende Signal durch zahlreiche Faktoren wie Umgebungsgeräusche, Reflexionen, Echos und Kanalrauschen beeinflusst. Erschwerend kommt hinzu, dass Rauschen und Verzerrungen nicht im Voraus bekannt sind, das System also nicht vor Arbeitsbeginn darauf eingestellt werden kann.

Mehr als ein halbes Jahrhundert Arbeit an verschiedenen CAPPs hat jedoch Früchte getragen. Nahezu jedes moderne System kann in mehreren Modi betrieben werden. Erstens kann es vom Ansager abhängig oder unabhängig sein. Ein sprecherabhängiges System erfordert ein spezielles Training für einen bestimmten Benutzer, um genau zu erkennen, was er sagt. Um das System zu trainieren, muss der Benutzer einige spezifische Wörter oder Sätze sagen, die das System analysiert und sich an die Ergebnisse erinnert. Dieser Modus wird normalerweise in Diktiersystemen verwendet, wenn ein Benutzer mit dem System arbeitet.

Das sprecherunabhängige System kann von jedem Benutzer ohne Einarbeitungsverfahren verwendet werden. Dieser Modus wird normalerweise dort verwendet, wo der Lernvorgang nicht möglich ist, wie z. B. in Telefonieanwendungen. Offensichtlich ist die Erkennungsgenauigkeit eines sprecherabhängigen Systems höher als die eines sprecherunabhängigen. Ein sprecherunabhängiges System ist jedoch bequemer zu verwenden, da es beispielsweise mit einer unbegrenzten Anzahl von Benutzern arbeiten kann und keine Schulung erfordert.

Zweitens werden Systeme unterteilt in solche, die nur mit isolierten Befehlen arbeiten, und solche, die kohärente Sprache erkennen können. Die Spracherkennung ist eine viel komplexere Aufgabe als die Erkennung getrennt gesprochener Wörter. Wenn Sie beispielsweise von der isolierten Worterkennung zur Spracherkennung mit einem Wörterbuch von 1000 Wörtern wechseln, steigt die Fehlerrate von 3,1 auf 8,7, und die Sprachverarbeitung dauert dreimal so lange.

Der isolierte Befehlsaussprachemodus ist der einfachste und am wenigsten ressourcenintensiv. Wenn Sie in diesem Modus arbeiten, macht der Benutzer nach jedem Wort eine Pause, dh er markiert die Grenzen von Wörtern deutlich. Das System muss den Anfang und das Ende eines Wortes in einer Phrase nicht selbst finden. Das System vergleicht dann das erkannte Wort mit den Mustern im Wörterbuch, und das wahrscheinlichste Modell wird vom System akzeptiert. Diese Art der Erkennung wird in der Telefonie häufig anstelle der üblichen DTMF-Verfahren eingesetzt.

Zusätzliche Variationen in der Sprache entstehen auch durch willkürliche Intonationen, Betonungen, nicht strenge Satzstrukturen, Pausen, Wiederholungen usw.

An der Kreuzung von kontinuierlicher und getrennter Aussprache von Wörtern entstand ein Schlüsselwortsuchmodus. In diesem Modus findet CAPP ein vorbestimmtes Wort oder eine Gruppe von Wörtern im allgemeinen Sprachstrom. Wo kann es verwendet werden? Zum Beispiel in Hörgeräten, die sich einschalten und mit der Aufzeichnung beginnen, wenn bestimmte Wörter in der Sprache oder in elektronischen Referenzen vorkommen. Nachdem das System eine Anfrage in beliebiger Form erhalten hat, wählt es semantische Wörter aus und stellt bei deren Erkennung die erforderlichen Informationen bereit.

Die Größe des verwendeten Wörterbuchs ist ein wichtiger Bestandteil von CAPP. Offensichtlich ist die Wahrscheinlichkeit, dass das System einen Fehler macht, umso höher, je größer das Wörterbuch ist. In vielen modernen Systemen ist es möglich, Wörterbücher nach Bedarf entweder mit neuen Wörtern zu ergänzen oder neue Wörterbücher zu laden. Die typische Fehlerrate für ein sprecherunabhängiges System mit isolierter Befehlsaussprache beträgt etwa 1 % für ein Wörterbuch mit 100 Wörtern, 3 % für ein Wörterbuch mit 600 Wörtern und 10 % für ein Wörterbuch mit 8000 Wörtern.

Angebote des modernen CAPP-Marktes

und der Markt wird heute von verschiedenen Unternehmen durch CAPP vertreten. Betrachten wir einige von ihnen.

Aculab

Erkennungsgenauigkeit 97 %.

Lautsprecherunabhängiges System. Die Entwickler des Systems analysierten verschiedene Datenbanken für viele Sprachen, um alle Variationen der Sprache zu berücksichtigen, die je nach Alter, Stimme, Geschlecht und Akzent auftreten. Proprietäre Algorithmen bieten Spracherkennung unabhängig von Ausstattungsmerkmalen (Kopfhörer, Mikrofon) und Kanaleigenschaften.

Das System unterstützt die Möglichkeit, zusätzliche Wörterbücher zu erstellen, die die Besonderheiten der Aussprache und Akzente berücksichtigen. Dies ist besonders nützlich, wenn das System von Personen verwendet wird, deren Aussprache sich stark von der üblichen unterscheidet.

Das System unterstützt die gängigsten Sprachen wie britisches und amerikanisches Englisch, Französisch, Deutsch, Italienisch, nordamerikanisches Spanisch. Für jede dieser Sprachen kann ein Wörterbuch konfiguriert werden, es ist jedoch nicht möglich, mehrere Sprachen gleichzeitig als Teil eines einzigen Wörterbuchs zu verwenden.

Das Produkt ist für Windows NT/2000, Linux und Sun SPARC Solaris verfügbar.

Babear-SDK-Version 3.0

Sprecherunabhängiges System, das keine Schulung für einen bestimmten Benutzer erfordert. Die Anpassung an den Benutzer erfolgt während des Betriebs und liefert das beste Erkennungsergebnis. Die automatische Anpassung an die Sprachaktivität ermöglicht es Ihnen, Sprache in einer sehr lauten Umgebung zu erkennen, z. B. in einem Auto. Das System ermittelt keine Wörter, die nicht im Wörterbuch aufgeführt sind. Es ist möglich, nach Schlüsselwörtern zu suchen. Das System kann so konfiguriert werden, dass es sowohl mit einem kleinen Wörterbuch (isolierte Aussprache von Befehlen) als auch mit einem großen Wörterbuch (Sprache) arbeitet.

Das System unterstützt die folgenden Sprachen: Britisches und amerikanisches Englisch, Spanisch, Deutsch, Französisch, Dänisch, Schwedisch, Türkisch, Griechisch, Isländisch und Arabisch.

Das System läuft unter Windows 98 (SE)/NT 4.0/2000/CE, Mac OS X und Linux.

Loquendo ASR

Lautsprecherunabhängiges System, optimiert für den Einsatz in der Telefonie. Es ist möglich, einzelne Wörter und Sprache zu erkennen, nach Schlüsselwörtern zu suchen (Wörterbuch bis zu 500 Wörtern). Ermöglicht die Erstellung benutzerfreundlicher Anwendungen aufgrund des großen Umfangs des Wörterbuchs und der Flexibilität des Systems.

Unterstützt 12 Sprachen, darunter die gängigsten europäischen Sprachen (Italienisch, Spanisch, Britisches und Amerikanisches Englisch, Französisch, Deutsch, Griechisch, Schwedisch usw.).

Enthalten in der Loquendo Speech Suite zusammen mit dem Text-to-Speech-System und dem Loquendo VoiceXML Interpreter, der mehrere Stimmen und Sprachen unterstützt.

Das System arbeitet auf Basis von MS Windows NT/2000, UNIX und Linux.

LumenVox

Ein sprecherunabhängiges System, das kein Training erfordert, aber nach Anpassung an einen bestimmten Benutzer werden die Erkennungsergebnisse viel besser: Die Erkennungsgenauigkeit übersteigt 90%.

Unterstützt verschiedene Audiodateiformate: (u-law 8 kHz, PCM 8 kHz, PCM 16 kHz). Es gibt keine strengen Anforderungen an Hardwareressourcen. Arbeitet auf Basis von Windows NT/2000/XP und Linux.

Systemanforderungen (Windows-basiert):

Windows NT 4.0 mit Service Pack 6a, Windows 2000 oder Windows XP Pro;

Die minimale Speichergröße beträgt 512 MB.

Systemvoraussetzungen (basierend auf Red Hat Linux):

Red Hat Linux 7.2;

Intel Pentium III 800 MHz oder höher;

Speichergröße 256 MB;

Festplattengröße 17 MB (nach Dekomprimierung).

Nuance

Laut Hersteller ist das System auf den geringsten Verbrauch von Arbeitsspeicher und anderen Systemressourcen optimiert. Die Erkennungsgenauigkeit beträgt bis zu 96 % und bleibt auch in einer lauten Umgebung hoch.

Es besteht die Möglichkeit des Selbstlernens des Systems und seiner Anpassung für jeden Benutzer.

Läuft unter Windows 2000 und Linux.

GEIST

Die Sprache kann beliebig sein (das Wörterbuch wird für die spezifischen Anforderungen des Kunden zusammengestellt und enthält die Wörter und die Sprache, die der Kunde in den Anforderungen für die Systemeinstellungen angegeben hat. Das Wörterbuch kann Wörter aus verschiedenen Sprachen enthalten, d.h. ohne Durch Ändern der Einstellungen kann das System z. B. Wörter sowohl auf Chinesisch als auch auf Finnisch erkennen, wenn sie zuvor in das Wörterbuch eingegeben wurden). Somit kann dieses System mit jeder Sprache arbeiten, während andere Systeme nur mit einem bestimmten Satz von ihnen arbeiten.

Dies ist ein automatisches Spracherkennungssystem, das selbst in einer sehr lauten Umgebung eine qualitativ hochwertige Erkennung bietet. Das System kann einfach so konfiguriert werden, dass es in einem von zwei Modi arbeitet: Erkennung von Sätzen mit einer festen Anzahl von Befehlen (Aussprache einzelner Befehle, PIN-Code-Modus) und Erkennung von Sätzen mit einer beliebigen Anzahl von Befehlen (kontinuierliche Aussprache von Befehlen, „kohärenter Sprachmodus“). Es ist möglich, nach Schlüsselwörtern zu suchen. Diese Lösung funktioniert unter Bedingungen von additivem nicht stationärem Rauschen. Der geforderte Signal-Rausch-Abstand beträgt bis zu 0 dB im "PIN-Code-Modus" und bis zu +15 dB im angeschlossenen Sprachmodus.

Erkennungsverzögerung - 0,2 s. Akustische Kanalparameter: Bandbreite innerhalb von 300-3500 Hz. Die Anpassung an die akustische Umgebung erfolgt durch Geräuschfragmente mit einer Gesamtlänge von mindestens 3 s.

Für "PIN-Code-Modus":

Wörterbuch - 50 Befehle;

Wahrscheinlichkeit der korrekten Erkennung - 95-99 % bei SNR = 0…6 dB;

Erforderliche akustische Bedingungen: additives breitbandiges statisches Rauschen mit SNR (Signal-Rausch-Verhältnis) >= 15 dB.

Für verbundenen Spracherkennungsmodus:

Wörterbuch - 12 Wörter / Zahlen;

Die Wahrscheinlichkeit der korrekten Erkennung einer Wortkette beträgt 98-99%.

Spezifität: Anpassung an beliebige Geräusche.

Das automatische Spracherkennungssystem von SPIRIT ist als PC-Anwendung unter MS Windows oder Assemblercode verfügbar. Auf Kundenwunsch kann die Lösung auf jede DSP- oder RISC-Plattform portiert werden.

VoiceWare

Das System kann sowohl im sprecherabhängigen als auch im sprecherunabhängigen Modus betrieben werden, so dass eine spezielle Schulung des Systems zum Arbeiten mit einem bestimmten Benutzer nicht erforderlich ist.

Bietet hohe Erkennungsgenauigkeit und Echtzeitbetrieb, selbst in lauten Umgebungen.

Das System erkennt verbundene Sprache und eine fortlaufende Liste von Nummern.

Wörter, die nicht im Wörterbuch aufgeführt sind, und Fremdgeräusche werden von ihr nicht wahrgenommen, und Wörter, die nichts bedeuten, wie "a", "well" usw., werden verworfen.

Neue Wörter können dem Wörterbuch hinzugefügt werden.

Das System passt sich automatisch an den Tonfall, die Aussprache und andere Sprachmerkmale des Benutzers an.

VoiceWare unterstützt US-Englisch und Koreanisch; Chinesisch und Japanisch sind in Entwicklung.

Das System läuft unter Windows 95/98/NT 4.0, UNIX und Linux.

Damit Sprache erkennen und übersetze es von Audio oder Video zu Text, gibt es Programme und Erweiterungen (Plugins) für Browser. Aber warum das alles, wenn es Online-Dienste gibt? Programme müssen auf einem Computer installiert werden, außerdem sind die meisten Spracherkennungsprogramme alles andere als kostenlos.


Eine große Anzahl von im Browser installierten Plug-Ins verlangsamt seine Arbeit und die Geschwindigkeit beim Surfen im Internet erheblich. Und die Dienste, die heute besprochen werden, sind völlig kostenlos und erfordern keine Installation - Sie sind hineingegangen, haben sie benutzt und sind gegangen!

In diesem Artikel werden wir uns ansehen zwei Online-Sprach-zu-Text-Übersetzungsdienste. Beide funktionieren nach einem ähnlichen Prinzip: Sie starten die Aufnahme (erlauben Sie dem Browser, während der Nutzung des Dienstes auf das Mikrofon zuzugreifen), sprechen in das Mikrofon (diktieren) und am Ausgang erhalten Sie Text, der in jedes Dokument auf Ihrem kopiert werden kann Computer.

Speechpad.ru

Russischsprachiger Online-Spracherkennungsdienst. Es hat detaillierte Anweisungen für die Arbeit in russischer Sprache.

  • Unterstützung für 7 Sprachen (Russisch, Ukrainisch, Englisch, Deutsch, Französisch, Spanisch, Italienisch)
  • herunterladen, um eine Audio- oder Videodatei zu transkribieren (YouTube-Videos werden unterstützt)
  • Simultanübersetzung in eine andere Sprache
  • Unterstützung für die Spracheingabe von Satzzeichen und Zeilenvorschub
  • Schaltflächenleiste (Groß-/Kleinschreibung, Zeilenumbruch, Anführungszeichen, Klammern usw.)
  • Verfügbarkeit eines persönlichen Kontos mit einer Aufzeichnungenhistorie (Option nach der Registrierung verfügbar)
  • das Vorhandensein eines Plug-ins für Google Chrome zur Eingabe von Text per Sprache in das Textfeld von Websites (genannt "Voice text input - Speechpad.ru")

Diktat.io

Der zweite Online-Sprach-zu-Text-Übersetzungsdienst. Ein Auslandsdienst, der inzwischen super mit der russischen Sprache funktioniert, was äußerst überraschend ist. Die Qualität der Spracherkennung steht Speechpad in nichts nach, aber dazu später mehr.

Die Hauptfunktionalität des Dienstes:

  • Unterstützung für 30 Sprachen, darunter sogar Ungarisch, Türkisch, Arabisch, Chinesisch, Malaiisch usw.
  • automatische Erkennung der Aussprache von Satzzeichen, Zeilenumbrüchen usw.
  • die Möglichkeit, sich in die Seiten jeder Website zu integrieren
  • das Vorhandensein eines Plugins für Google Chrome (genannt „VoiceRecognition“)

Bei der Spracherkennung ist das Wichtigste genau Übersetzungsqualität Sprache zum Text. Angenehme "Brötchen" und Möglichkeiten - nichts weiter als ein gutes Plus. Was können beide Dienste in dieser Hinsicht vorweisen?

Vergleichstest von Dienstleistungen

Für den Test wählen wir zwei schwer zu erkennende Fragmente aus, die Wörter und Sätze enthalten, die in der heutigen Sprache selten verwendet werden. Zunächst lesen wir ein Fragment des Gedichts „Bauernkinder“ von N. Nekrasov.

Drunter ist Übersetzungsergebnis von Sprache zu Text jeder Dienst (Fehler sind rot markiert):

Wie man sieht, haben beide Dienste die Spracherkennung mit nahezu identischen Fehlern bewältigt. Das Ergebnis ist ziemlich gut!

Nehmen wir nun zum Test einen Auszug aus dem Brief des Soldaten der Roten Armee Suchow (Film "Weiße Sonne der Wüste"):

Hervorragendes Ergebnis!

Wie Sie sehen können, kommen beide Dienste mit der Spracherkennung recht gut zurecht - wählen Sie einen aus! Es scheint, dass sie sogar die gleiche Engine verwenden - sie hatten laut Testergebnissen zu ähnliche Fehler). Aber wenn Sie zusätzliche Funktionen wie das Hochladen einer Audio-/Videodatei und deren Übersetzung in Text (Transkription) oder die simultane Übersetzung von gesprochenem Text in eine andere Sprache benötigen, dann ist Speechpad die beste Wahl!


Übrigens, hier ist, wie er eine Simultanübersetzung eines Fragments von Nekrasovs Gedicht ins Englische vorführte:

Nun, dies ist eine kurze Videoanleitung zum Arbeiten mit Speechpad, die vom Autor des Projekts selbst aufgezeichnet wurde:

Freunde, hat Ihnen dieser Service gefallen? Kennen Sie bessere Analoga? Teilen Sie Ihre Eindrücke in den Kommentaren.

  • Lernprogramm

In diesem Artikel möchte ich auf die Grundlagen eines so interessanten Bereichs der Softwareentwicklung wie der Spracherkennung eingehen. Natürlich bin ich kein Experte auf diesem Gebiet, daher wird meine Geschichte voller Ungenauigkeiten, Fehler und Enttäuschungen sein. Dennoch ist das Hauptziel meiner "Arbeit", wie der Name schon sagt, nicht eine professionelle Analyse des Problems, sondern eine Beschreibung der grundlegenden Konzepte, Probleme und ihrer Lösungen. Generell bitte ich alle Interessierten unter dem Schnitt willkommen zu heißen!

Prolog

Fangen wir damit an, dass unsere Sprache eine Folge von Lauten ist. Schall wiederum ist eine Überlagerung (Superposition) von Schallschwingungen (Wellen) unterschiedlicher Frequenzen. Eine Welle ist, wie wir aus der Physik wissen, durch zwei Eigenschaften gekennzeichnet – Amplitude und Frequenz.

Auf diese Weise werden mechanische Schwingungen in eine Reihe von Zahlen umgewandelt, die für die Verarbeitung auf modernen Computern geeignet sind.

Daraus folgt, dass die Aufgabe der Spracherkennung darauf reduziert wird, einen Satz numerischer Werte (digitales Signal) und Wörter aus einem Wörterbuch (z. B. russische Sprache) zu "zuordnen".

Mal sehen, wie genau diese "Abbildung" tatsächlich implementiert werden kann.

Eingabedaten

Nehmen wir an, wir haben eine Datei/einen Stream mit Audiodaten. Zunächst einmal müssen wir verstehen, wie es funktioniert und wie man es liest. Schauen wir uns die einfachste Option an - eine WAV-Datei.

Das Format impliziert das Vorhandensein von zwei Blöcken in der Datei. Der erste Block ist ein Header mit Informationen über den Audiostream: Bitrate, Frequenz, Anzahl der Kanäle, Dateilänge usw. Der zweite Block besteht aus „Rohdaten“ – dem gleichen digitalen Signal, einem Satz von Amplitudenwerten.

Die Logik zum Lesen von Daten ist in diesem Fall recht einfach. Wir lesen den Header, überprüfen einige Einschränkungen (z. B. fehlende Komprimierung) und speichern die Daten in einem speziell zugewiesenen Array.

Erkennung

Rein theoretisch können wir jetzt (Element für Element) das Muster, das wir haben, mit einem anderen vergleichen, dessen Text wir bereits kennen. Das heißt, versuchen Sie, Sprache zu "erkennen" ... Aber es ist besser, dies nicht zu tun :)

Unser Ansatz sollte (na ja, zumindest ein wenig) stabil sein gegenüber Änderungen in der Klangfarbe der Stimme (der Person, die das Wort ausspricht), der Lautstärke und der Geschwindigkeit der Aussprache. Dies kann natürlich nicht durch einen elementweisen Vergleich zweier Audiosignale erreicht werden.

Deshalb werden wir einen etwas anderen Weg gehen.

Rahmen

Lassen Sie uns zunächst unsere Daten in kleine Zeitintervalle - Frames - aufteilen. Außerdem sollten die Frames nicht streng hintereinander gehen, sondern „überlappen“. Jene. das Ende eines Rahmens muss sich mit dem Anfang eines anderen schneiden.

Frames sind eine geeignetere Einheit für die Datenanalyse als spezifische Signalwerte, da es viel bequemer ist, Wellen in einem bestimmten Intervall als an bestimmten Punkten zu analysieren. Die Anordnung der „überlappenden“ Frames ermöglicht es, die Ergebnisse der Frame-Analyse zu glätten und die Idee der Frames in eine Art „Fenster“ zu verwandeln, das sich entlang der ursprünglichen Funktion (Signalwerte) bewegt.

Es wurde empirisch festgestellt, dass die optimale Rahmenlänge einer Lücke von 10 ms entsprechen sollte, "Überlappung" - 50%. Wenn man bedenkt, dass die durchschnittliche Wortlänge (zumindest in meinen Experimenten) 500 ms beträgt, ergibt ein solcher Schritt ungefähr 500 / (10 * 0,5) = 100 Frames pro Wort.

Wortbruch

Die erste Aufgabe, die es bei der Spracherkennung zu lösen gilt, ist die Aufteilung eben dieser Sprache in einzelne Wörter. Nehmen wir der Einfachheit halber an, dass die Sprache in unserem Fall einige Pausen (Intervalle der Stille) enthält, die als „Trenner“ von Wörtern betrachtet werden können.

In diesem Fall müssen wir einen Wert finden, einen Schwellenwert - Werte, über denen ein Wort steht, unter denen Stille ist. Hier kann es mehrere Möglichkeiten geben:

  • auf eine Konstante setzen (funktioniert, wenn das Originalsignal immer unter den gleichen Bedingungen auf die gleiche Weise erzeugt wird);
  • Cluster-Signalwerte durch explizites Hervorheben des Satzes von Werten, die der Stille entsprechen (es funktioniert nur, wenn die Stille einen signifikanten Teil des ursprünglichen Signals einnimmt);
  • Entropie analysieren;

Wie Sie vielleicht schon erraten haben, sprechen wir jetzt über den letzten Punkt :) Beginnen wir mit der Tatsache, dass Entropie ein Maß für die Unordnung ist, „ein Maß für die Ungewissheit jeder Erfahrung“ (c). In unserem Fall bedeutet Entropie, wie stark unser Signal innerhalb eines bestimmten Rahmens „schwankt“.

  • Angenommen, unser Signal ist normalisiert und alle seine Werte liegen im Bereich [-1;1];
  • Erstellen Sie ein Histogramm (Verteilungsdichte) von Frame-Signalwerten:
Berechnen Sie die Entropie als ;

Und so haben wir den Wert der Entropie erhalten. Aber das ist nur ein weiteres Merkmal des Rahmens, und um Ton von Stille zu trennen, müssen wir ihn noch mit etwas vergleichen. In einigen Artikeln wird empfohlen, die Entropieschwelle gleich dem Durchschnitt zwischen ihren Maximal- und Minimalwerten (unter allen Frames) zu nehmen. In meinem Fall führte dieser Ansatz jedoch zu keinen guten Ergebnissen.
Glücklicherweise ist die Entropie (anders als das mittlere Quadrat der Werte) eine relativ unabhängige Größe. Dadurch konnte ich den Wert seines Schwellenwerts in Form einer Konstante (0,1) erfassen.

Damit enden die Probleme aber noch nicht: (Die Entropie kann mitten im Wort (auf Vokalen) absacken oder durch ein kleines Rauschen plötzlich hochspringen. Um das erste Problem zu lösen, müssen wir die einführen Konzept des „Mindestabstands zwischen Wörtern“ und „Kleben“ benachbarter Rahmensätze, die aufgrund von Setzung getrennt wurden. Das zweite Problem wird gelöst, indem die „Mindestwortlänge“ verwendet und alle Kandidaten abgeschnitten werden, die die Auswahl nicht bestanden haben (und nicht verwendet wurden im ersten Absatz).

Wenn Sprache im Prinzip nicht „artikuliert“ ist, kann man versuchen, die ursprüngliche Menge von Frames in auf bestimmte Weise vorbereitete Teilsequenzen zu zerlegen, die jeweils einem Erkennungsverfahren unterzogen werden. Aber das ist eine ganz andere Geschichte :)

Wir haben also eine Reihe von Frames, die einem bestimmten Wort entsprechen. Wir können den Weg des geringsten Widerstands gehen und das mittlere Quadrat aller seiner Werte (Root Mean Square) als numerisches Merkmal des Rahmens verwenden. Eine solche Metrik enthält jedoch nur sehr wenige Informationen, die für eine weitere Analyse geeignet sind.

Hier kommen Mel-Frequenz-Cepstral-Koeffizienten ins Spiel. Laut Wikipedia (die bekanntlich nicht lügt) ist MFCC eine Art Darstellung der Energie des Signalspektrums. Die Vorteile der Verwendung sind wie folgt:

  • Es wird das Spektrum des Signals verwendet (d. h. die Erweiterung in Bezug auf die Basis von orthogonalen [co]sinusförmigen Funktionen), was es ermöglicht, die Wellen-"Natur" des Signals in der weiteren Analyse zu berücksichtigen;
  • Das Spektrum wird auf eine spezielle Mel-Skala projiziert, sodass Sie die wichtigsten Frequenzen für die menschliche Wahrnehmung hervorheben können;
  • Die Anzahl der berechneten Koeffizienten kann auf einen beliebigen Wert (z. B. 12) begrenzt werden, wodurch Sie den Rahmen und damit die zu verarbeitende Informationsmenge „komprimieren“ können.

Betrachten wir den Prozess der Berechnung der MFCC-Koeffizienten für einen bestimmten Frame.

Stellen wir unseren Rahmen als Vektor dar, wobei N die Größe des Rahmens ist.

Fourier-Entwicklung

Zunächst berechnen wir das Signalspektrum mit der diskreten Fourier-Transformation (vorzugsweise deren „schneller“ FFT-Implementierung).

Das heißt, das Ergebnis ist ein Vektor der folgenden Form:

Es ist wichtig zu verstehen, dass wir nach dieser Transformation auf der x-Achse die Frequenz (Hz) des Signals und auf der y-Achse die Größe haben (um von komplexen Werten wegzukommen):

Berechnung von Mel-Filtern

Beginnen wir damit, was Mel ist. Laut Wikipedia ist Mel eine „psychophysikalische Einheit der Tonhöhe“, die auf der subjektiven Wahrnehmung durch Durchschnittsmenschen basiert. Sie hängt in erster Linie von der Frequenz des Tons ab (sowie von Lautstärke und Klangfarbe). Mit anderen Worten, dieser Wert, der angibt, wie sehr der Klang einer bestimmten Frequenz für uns „bedeutsam“ ist.

Sie können die Frequenz mit der folgenden Formel in Kreide umrechnen (merken Sie sich dies als "Formel-1"):

Die umgekehrte Transformation sieht so aus (erinnern Sie sich daran als "Formel-2"):

Plot Mel/Frequenz:

Aber zurück zu unserer Aufgabe. Nehmen wir an, wir haben einen Rahmen mit einer Größe von 256 Elementen. Wir wissen (aus den Audioformatdaten), dass die Audiofrequenz in einem bestimmten Rahmen 16000 Hz beträgt. Nehmen wir an, die menschliche Sprache liegt im Bereich von Hz. Setzen wir die Anzahl der gesuchten Mel-Koeffizienten M = 10 (empfohlener Wert).

Um das oben erhaltene Spektrum auf einer Mel-Skala zu zerlegen, müssen wir einen „Kamm“ von Filtern erstellen. Im Wesentlichen ist jeder Mel-Filter eine dreieckige Fensterfunktion, die es Ihnen ermöglicht, die Energiemenge über einen bestimmten Frequenzbereich zu summieren und dadurch den Mel-Koeffizienten zu erhalten. Wenn wir die Anzahl der Mel-Koeffizienten und den analysierten Frequenzbereich kennen, können wir einen Satz solcher Filter erstellen:

Beachten Sie, dass die Basis des Filters umso breiter ist, je höher die Zahl des Mel-Koeffizienten ist. Dies liegt daran, dass die Aufteilung des für uns interessierenden Frequenzbereichs in die von den Filtern bearbeiteten Bereiche auf der Kreideskala erfolgt.

Aber wir schweifen wieder ab. Für unseren Fall ist der für uns interessante Frequenzbereich also . Nach Formel-1 auf der Kreideskala verwandelt sich dieser Bereich in.

m[i] =

Bitte beachten Sie, dass die Punkte auf der Kreideskala gleichmäßig verteilt sind. Konvertieren wir die Skala mit Formel-2 zurück in Hertz:

h[i] =

Wie Sie sehen können, begann sich die Skala nun allmählich zu dehnen, wodurch die Dynamik des Wachstums der „Bedeutung“ bei niedrigen und hohen Frequenzen ausgeglichen wurde.

Jetzt müssen wir die resultierende Skala auf das Spektrum unseres Rahmens legen. Wie wir uns erinnern, haben wir auf der X-Achse die Frequenz. Die Länge des Spektrums beträgt 256 - Elemente, während es auf 16000 Hz passt. Durch Lösen einer einfachen Proportion erhalten Sie die folgende Formel:

f(i) = floor((frameSize+1) * h(i) / sampleRate)

Was in unserem Fall gleichbedeutend ist mit

f(i) = 4, 8, 12, 17, 23, 31, 40, 52, 66, 82, 103, 128

Das ist alles! Wenn wir die Referenzpunkte auf der X-Achse unseres Spektrums kennen, ist es einfach, die benötigten Filter mit der folgenden Formel zu konstruieren:

Anwenden von Filtern, Logarithmus der Spektrumsenergie

Die Anwendung des Filters besteht in der paarweisen Multiplikation seiner Werte mit den Werten des Spektrums. Das Ergebnis dieser Operation ist der Mel-Koeffizient. Da wir M Filter haben, gibt es die gleiche Anzahl von Koeffizienten.

Wir müssen Mel-Filter jedoch nicht auf die Werte des Spektrums anwenden, sondern auf seine Energie. Logarithmieren Sie dann die Ergebnisse. Es wird angenommen, dass dies die Empfindlichkeit der Koeffizienten gegenüber Rauschen verringert.

Kosinustransformation

Die diskrete Kosinustransformation (DCT) wird verwendet, um diese "cepstralen" Koeffizienten zu erhalten. Seine Bedeutung besteht darin, die erhaltenen Ergebnisse zu „komprimieren“, indem die Signifikanz der ersten Koeffizienten erhöht und die Signifikanz der letzteren verringert wird.

In diesem Fall wird DCTII ohne Multiplikation mit (Skalierungsfaktor) verwendet.

Nun haben wir für jeden Rahmen einen Satz von M mfcc-Koeffizienten, die für weitere Analysen verwendet werden können.

Codebeispiele für die darüber liegenden Methoden finden Sie.

Erkennungsalgorithmus

Hier erwartet Sie, lieber Leser, die größte Enttäuschung. Im Internet habe ich zufällig viele hochintelligente (und nicht so) Streitigkeiten darüber gesehen, welche Erkennungsmethode besser ist. Jemand setzt sich für Hidden Markov Models ein, jemand für neuronale Netze, jemandes Gedanken sind im Grunde unmöglich zu verstehen :)

Auf jeden Fall wird HMM sehr bevorzugt, und es ist ihre Implementierung, die ich meinem Code hinzufügen werde ... in Zukunft :)

Im Moment schlage ich vor, bei einer viel weniger effektiven, aber um ein Vielfaches einfacheren Methode aufzuhören.

Denken Sie also daran, dass unsere Aufgabe darin besteht, ein Wort aus einem Wörterbuch zu erkennen. Der Einfachheit halber erkennen wir die Namen der ersten zehn Ziffern: „eins“, „zwei“, „drei“, „vier“, „fünf“, „sechs“, „sieben“, „acht“, „neun“, "zehn".

Nehmen wir jetzt ein iPhone / Android und gehen durch L Kollegen mit der Bitte, diese Wörter für das Protokoll zu diktieren. Als nächstes ordnen wir (in einer lokalen Datenbank oder einer einfachen Datei) jedem Wort L Sätze von mfcc-Koeffizienten der entsprechenden Datensätze zu.

Wir nennen diese Korrespondenz „Modell“ und den Prozess selbst – Maschinelles Lernen! Tatsächlich hat das einfache Hinzufügen neuer Samples zur Datenbank eine äußerst schwache Verbindung zum maschinellen Lernen ... Aber der Begriff ist zu trendy :)

Jetzt reduziert sich unsere Aufgabe darauf, das „nächstliegende“ Modell für einen Satz von mfcc-Koeffizienten (erkennbares Wort) auszuwählen. Auf den ersten Blick lässt sich das Problem ganz einfach lösen:

  • für jedes Modell finden wir den durchschnittlichen (euklidischen) Abstand zwischen dem identifizierten mfcc-Vektor und den Modellvektoren;
  • wir wählen als das Richtige das Modell aus, zu dem die durchschnittliche Entfernung am kleinsten sein wird;

Das gleiche Wort kann jedoch sowohl von Andrei Malakhov als auch von einigen seiner estnischen Kollegen ausgesprochen werden. Mit anderen Worten, die Größe des mfcc-Vektors für dasselbe Wort kann unterschiedlich sein.

Glücklicherweise wurde das Problem des Vergleichs von Sequenzen unterschiedlicher Länge bereits in Form des Dynamic Time Warping-Algorithmus gelöst. Dieser dynamische Programmieralgorithmus ist sowohl im bürgerlichen Wiki als auch im orthodoxen Habré schön beschrieben.

Die einzige Änderung, die daran vorgenommen werden sollte, ist die Art und Weise, wie die Entfernung gefunden wird. Wir müssen uns daran erinnern, dass der mfcc-Vektor des Modells tatsächlich eine Folge von mfcc-"Subvektoren" der Dimension M ist, die aus Frames erhalten werden. Der DTW-Algorithmus sollte also den Abstand zwischen den Sequenzen dieser gleichen „Subvektoren“ der Dimension M finden. Das heißt, Abstände (euklidisch) zwischen mfcc „Subvektoren“ von Frames sollten als Werte der Abstandsmatrix verwendet werden.

Experimente

Ich hatte keine Gelegenheit, die Arbeit dieses Ansatzes an einer großen „Trainingsstichprobe“ zu testen. Die Ergebnisse von Tests an einer Stichprobe von 3 Instanzen für jedes Wort unter nichtsynthetischen Bedingungen zeigten, gelinde gesagt, nicht das beste Ergebnis - 65% korrekte Erkennungen.

Mein Ziel war es jedoch, die einfachste Anwendung zur Spracherkennung zu erstellen. Sozusagen „Proof of Concept“ :) Tags hinzufügen

  • 9. Phonologische Positionen. Starke und schwache Phoneme.
  • 10. Positionswechsel von Vokalphonemen. Quantitative und qualitative Reduzierung von Vokalphonemen.
  • 11. Positionswechsel von Konsonantenphonemen. Assimilation und Dissimilation durch Taubheit/Stimmen und durch Härte/Weichheit.
  • 12. Historische Wechsel von Phonemen.
  • 13. Der Fall reduzierter Vokalphoneme und die Folgen dieses Phänomens.
  • 14. Wechsel im Zusammenhang mit der Geschichte der Nasengeräusche in der altrussischen Sprache.
  • 15. Palatalisierung der hinteren Zungen.
  • 17. Phonetische Transkription. Phonemische Transkription
  • 18. Silbe. Lehrplan. Arten von Silben.
  • 19. Phonetisches Wort. betonen
  • 20. Sprechschlag. Intonation
  • 21. Betonung. Intonationskonstruktionen
  • 21. Satz. Intonation
  • 22. Das Konzept der Orthopädie
  • 23. Grundregeln der russischen literarischen Aussprache.
  • 24. Aussprache von Vokalen unter Stress. Aussprache unbetonter Vokale.
  • 25. Aussprache einzelner Konsonanten.
  • 26. Aussprache von Konsonantengruppen.
  • 27. Aussprache einiger grammatikalischer Formen.
  • 28. Aussprache einiger Abkürzungen. Merkmale der Aussprache von Fremdwörtern.
  • 29. Schwierige Fälle von Stressbewältigung auf Russisch.
  • 30. Entwicklung der russischen literarischen Aussprache.
  • 31. Grammatikcodierung
  • 32. Semantische Kodierung. Zweiargument (Zeitzeichen): Kausalität.
  • 33. Semantische Kodierung. Zweiargument (vorübergehende Zeichen): Folge, Ergebnis, Zweck.
  • 34. Semantische Kodierung. Zweiargument (zeitliche Zeichen): Transformation, Veränderung
  • 35. Semantische Kodierung. Zweiargument (temporäre Zeichen): Interaktion, Gruppierung, Gemeinsamkeit, Assoziation
  • 36. Semantische Kodierung. Zweiargument (vorübergehende Zeichen): Trennung, Einfluss, Bedingung, Eintritt.
  • 37. Semantische Kodierung. Zwei-Argument (vorübergehende Zeichen): Fügsamkeit, Kontrolle, Unterordnung, Abhängigkeit.
  • 38. Semantische Kodierung. Einargument (Dauerzeichen): Eigenschaft, Notwendigkeit, Möglichkeit, Wahrscheinlichkeit, ja, nein.
  • 39. Semantische Kodierung. Einargument (konstante Zeichen): Wahrheit, Falschheit.
  • semantischer Code. Seine Ziele. Zweck. Konstruktionsprinzip. Gelegenheiten.
  • Der Zweck des semantischen Codes. Der Begriff „Bedeutung“.
  • Der Zweck des semantischen Codes. Text. Information. Hypertext in der Entwicklung von Informationen.
  • 43. Grammatik und semantische Analyse in der semantischen Kodierung.
  • 44. Russisches semantisches Kompatibilitätswörterbuch und assoziatives Wörterbuch für semantische Kodierung.
  • Der Zweck des semantischen Codes. System Isomorphie.
  • Der Zweck des semantischen Codes. Prinzip von notwendig und ausreichend.
  • Der Zweck des semantischen Codes. Konnektivität von Klassen und Unterklassen
  • 48. Der Zweck des semantischen Codes. Das Prinzip der Hierarchie / Nicht-Hierarchie.
  • 49. Der Zweck des semantischen Codes. systemische Metapher.
  • 50. Situativer (situativer) semantischer Code.
  • 51. Semantische Kodierung. Alignment-Interpretationscode. Matrixcode.
  • 52. Hauptaufgaben und Schlüsselkonzepte der Sprachschnittstelle.
  • 53. Historischer Rückblick auf das Problem der Spracherkennung und -synthese.
  • 54. Systeme der automatischen Sprachsynthese. Praktische Anwendungen der Sprachschnittstelle.
  • 55. Automatische Spracherkennungssysteme. Praktische Anwendungen der Sprachschnittstelle.
  • 56. Sprachliche Grundlagen der Sprachschnittstelle. Der Einsatz der Linguistik bei der Implementierung von Sprachsystemen.
  • 57. Die Struktur des Sprachsignals. Analyse und Synthese. Spektral-zeitliche Eigenschaften des Sprachsignals.
  • 58. Informations- und Modulationsstruktur des Sprachsignals.
  • 59. Verfahren zum Synthetisieren eines Sprachsignals. Verallgemeinerte mathematische Modelle zur Beschreibung von Sprachsignalen.
  • 60. Verfahren zum Synthetisieren eines Sprachsignals. Geometrisches Modell des Vokaltraktes.
  • 61. Verfahren zum Synthetisieren eines Sprachsignals. Formant-Modell.
  • 62. Kompilierverfahren zur Synthese eines Sprachsignals.
  • 63. Methoden der Sprachsignalanalyse.
  • 64. Verfahren zur digitalen Filterung eines Sprachsignals. Spektralanalyse mit FFT-Algorithmen. Digitales Filterverfahren
  • Spektrumanalyse mit FFT-Algorithmen
  • 65. Spektralanalyse basierend auf linearer Vorhersage. Formantenparametrische Beschreibung eines Sprachsignals. Spektralanalyse basierend auf linearer Vorhersage
  • Formantenparametrische Beschreibung eines Sprachsignals
  • 66. Methode der Cepstral-Koeffizienten. Merkmale der Sprachwahrnehmung. Eigenschaften der rezeptiven Sprachwahrnehmung einer Person. Cepstral-Koeffizienten-Methode
  • 67. Eigenschaften der rezeptiven Wahrnehmung von Sprachsignalen. Die Art der auditiven (phonetischen) Merkmale des Sprachsignals. Eigenschaften der rezeptiven Wahrnehmung von Sprachsignalen
  • Die Art der auditiven (phonetischen) Merkmale eines Sprachsignals
  • 68. Eigenschaften der Wahrnehmung minimal bedeutungsvoller Sprachelemente
  • 69. Sprachsynthese im Text. Die Struktur des Sprachsynthesizers nach Text.
  • Text-zu-Sprache-Struktur Schlüsselkonzepte:
  • 70. Sprachprozessor. Textvorverarbeitung. Phrasenverarbeitung von Text.
  • Textvorverarbeitung
  • Satzweise Textverarbeitung
  • 71. Textverarbeitung des Tests. Ein Beispiel für die Arbeit eines Sprachprozessors. Textverarbeitung
  • Ein Beispiel für die Arbeit eines Sprachprozessors
  • 72. Prosodischer Prozessor
  • 73. Phonetischer Prozessor. Artikulatorisch-phonetischer Prozessor. Formant-Phonetikprozessor.
  • 74. Allophone phonetischer Prozessor. akustischer Prozessor.
  • 75. Annäherung an die Geometrie des Sprechtaktes. Akustischer Prozessor basierend auf Kompilationsverfahren der Sprachsynthese.
  • 76. Klassifizierung automatischer Spracherkennungssysteme. Methoden der automatischen Spracherkennung.
  • 77. Klassifizierung von Spracherkennungsverfahren.
  • 78. Methode der dynamischen Programmierung.
  • 79. Die Methode der Hidden-Markov-Modelle.
  • Unter automatischen Spracherkennungssystemen (SAPP) werden Systeme verstanden, die eingegebene Sprache (Sprachsignal) in eine erkannte Nachricht umwandeln. Dabei kann die erkannte Nachricht sowohl in Form des Textes dieser Nachricht als auch dargestellt werden

    sofort in eine für die weitere Verarbeitung geeignete Form umgewandelt, um die Antwort des Systems zu bilden. Die automatische Spracherkennung hat zunächst die Aufgabe, Text in Sprache umzuwandeln. Daher werden diese Systeme in der englischen Literatur Speech-to-Text-System genannt. Häufig werden automatische Spracherkennungssysteme auch einfach als Spracherkennungssysteme (SPR) bezeichnet.

    Ein vereinfachtes Blockschaltbild des automatischen Spracherkennungssystems ist in Fig. 2 gezeigt.

    Unter dem Sprachsignalanalysemodell Verstehen Sie den Block, dessen Aufgabe es ist, das Eingangssignal erstens zu analysieren, um es als Sprachsignal zu klassifizieren, und zweitens, um die Hauptkomponenten im empfangenen Signal hervorzuheben

    Erkennung der empfangenen Nachricht. Zu diesen Komponenten gehören Parameter, die Sprache beschreiben, ähnlich denen, die im Prozess der Sprachsynthese gebildet werden. Der Satz von spezifizierten Parametern hängt von der gewählten Erkennungsmethode ab.

    Modell der Spracherkennung und Entscheidungsfindung ist ein Block, in dem eine erkannte Nachricht auf der Grundlage der Analyse der aus dem ersten Block erhaltenen Folge von Parametern gebildet wird. Wenn zum Beispiel ein Formantenmodell der Sprachbeschreibung verwendet wird, dann werden auf der Grundlage der im ersten Block erhaltenen Frequenzen Formanten verwendet, um eine Folge von erkannten Phonemen zu konstruieren, die die Eingabenachricht bilden. In diesem Fall wird entschieden, ob die Eingangsnachricht korrekt erkannt wird. Bei der Entscheidungsfindung sind insbesondere folgende Entscheidungen möglich: Die Nachricht wird richtig erkannt (dies wird durch den Text bestätigt, der den Normen der natürlichen Sprache entspricht) oder

    die Nachricht wird nicht oder falsch erkannt (eine solche Entscheidung wird getroffen, wenn die erkannte Nachricht offensichtliche Fehler enthält, die schwer automatisch zu korrigieren oder sogar völliger Unsinn sind).

    Als Beschränkungen für APPS können folgende sie charakterisierende Parameter genannt werden:

    Art der erkennbaren Sprache (wortweise Aussprache mit Pausen im Stil von Sprachbefehlen; klare Aussprache ohne Pausen im Stil von „Diktat“; spontane Sprache);

    Der Umfang des Wörterbuchs (begrenzt auf 100, 200 usw. Wörter; unbegrenzt);

    Der Grad der Abhängigkeit vom Sprecher (sprecherabhängig; sprecherunabhängig);

    Syntaxbeschränkungen (einzelne Wörter; typische Phrasen; künstliche Sprache; natürliche Sprache);

    Bedingungen für den Empfang von Sprachsignalen (Kontaktmikrofone; Mikrofone entfernt in einer Entfernung von mehr als 1 m);

    Bedingungen für die Verwendung von CRR (schwache oder starke Interferenz);

    Erkennungszuverlässigkeit.

    Praktische Anwendungen der Sprachschnittstelle

    Bevor wir auf Beispiele für die praktische Verwendung der Sprachschnittstelle eingehen, vergleichen wir sie mit den derzeit gängigsten Mitteln der Benutzerinteraktion mit einem Computer: Tastatur und Display. Mindestens drei grundlegende Unterschiede der Sprachschnittstelle sind zu beachten:

    1) Ein klarer Nachteil der Tastatur und des Displays besteht darin, dass eine Person eine spezielle Schulung durchlaufen muss, um mit einem Computer zu kommunizieren. Gleichzeitig ist Sprache eine natürliche Schnittstelle für jeden, selbst für eine unvorbereitete Person. Sprache reduziert die psychologische Distanz zwischen einer Person und einem Computer dramatisch. Wenn eine Sprachschnittstelle erscheint, kann der Kreis der Computerbenutzer unbegrenzt werden;

    2) Sprache selbst ist in keiner Weise mechanisch an einen Computer gebunden und kann mit ihm über Kommunikationssysteme, beispielsweise ein Telefon, verbunden werden. Die Sprachschnittstelle verkürzt die physische Distanz zwischen einer Person und einem Computer. Dies erweitert den Kreis potenzieller Computerbenutzer weiter und macht die Sprachschnittstelle zu einem idealen Werkzeug für den Aufbau von Masseninformationsdienstsystemen;

    3) Sie können den Computer in völliger Dunkelheit, mit geschlossenen Augen, wenn Ihre Hände mit Steuerhebeln beschäftigt sind, mit gefesselten Händen und in anderen Extremsituationen bedienen. Diese Eigenschaft verleiht die Effizienz und Mobilität der Kommunikation, das Loslassen der Hände und das Entladen des visuellen Wahrnehmungskanals beim Empfangen von Informationen. Dies ist zum Beispiel für einen Controller eines großen Energiesystems oder einen Flugzeugpiloten und einen Autofahrer äußerst wichtig. Darüber hinaus werden Computersysteme für Menschen mit Sehbehinderungen zugänglicher.

    Gegenwärtig sind Sprachcomputertechnologien bereits weit verbreitet und entwickeln sich in mehrere Richtungen, von denen die wichtigsten in Abb.

  • Telefonunterschrift für Gehörlose und Schwerhörige

    Verwandeln Sie Ihren Bildschirm in einen fantastischen Telefon-Header. Es ist vollautomatisch, ohne dass menschliche Hörschreiber Ihre Gespräche tippen. Finden Großeltern schwer zu hören, Familie und Freunde am Telefon? Schalten Sie Speechlogger für sie ein und hören Sie auf, am Telefon zu schreien. Verbinden Sie einfach den Audioausgang Ihres Telefons mit dem Audioeingang Ihres Computers und führen Sie Speechlogger aus. Es ist auch nützlich bei persönlichen Interaktionen.

    Automatische Transkription

    Hast du das Interview aufgezeichnet? Sparen Sie etwas Zeit, indem Sie es von der automatischen Sprache von Google in den Text umschreiben, der von Speechlogger in Ihren Browser gebracht wird. Spielen Sie das aufgezeichnete Interview in das Mikrofon (oder die Leitung) Ihres Computers ein und lassen Sie Speechlogger die Transkription vornehmen. Speechlogger speichert die Transkription des Textes zusammen mit Datum, Uhrzeit und Ihren Kommentaren. Es erlaubt Ihnen auch, Text zu bearbeiten. Telefongespräche können mit der gleichen Methode transkribiert werden. Sie können Audiodateien auch direkt von Ihrem Computer aufnehmen, wie unten beschrieben.

    Automatischer Dolmetscher und Übersetzer

    Treffen mit ausländischen Gästen? Bringen Sie einen (oder zwei) Laptop mit Sprachlogger und Mikrofon mit. Jede Partei sieht die gesprochenen Worte der anderen in Echtzeit in ihre eigene Sprache übersetzt. Es ist auch hilfreich, ein Telefongespräch in einer Fremdsprache zu führen, um sicherzustellen, dass Sie die andere Seite vollständig verstehen. Verbinden Sie den Audioausgang Ihres Telefons mit dem Line-In Ihres Computers und starten Sie Speechlogger.

    Lerne Fremdsprachen und verbessere deine Aussprachefähigkeiten

    Speechlogger ist ein großartiges Tool zum Sprachenlernen und kann auf verschiedene Arten verwendet werden. Sie können damit Vokabeln lernen, indem Sie Ihre Muttersprache sprechen und sie von der Software übersetzen lassen. Sie können die richtige Aussprache lernen und üben, indem Sie eine Fremdsprache sprechen und sehen, ob Speechlogger sie versteht oder nicht. Wenn der Text in schwarzer Schrift transkribiert ist, bedeutet dies, dass Sie ihn gut ausgesprochen haben.

    Generierung von Filmuntertiteln

    Speechlogger kann automatisch Filme oder andere Tondateien aufzeichnen. Nehmen Sie dann die Datei und übersetzen Sie sie automatisch in eine beliebige Sprache, um internationale Untertitel zu erstellen.

    Diktieren statt tippen

    Einen Brief schreiben? Dokumentation? Listen? Zusammenfassung? Was auch immer Sie eingeben müssen, versuchen Sie stattdessen, es Speechlogger zu diktieren. Speechlogger speichert es automatisch für Sie und lässt Sie es in ein Dokument exportieren.

    Lustiges Spiel :)

    Können Sie chinesische Sprecher imitieren? Französisch? Was ist mit Russisch? Versuchen Sie, eine Fremdsprache zu imitieren und sehen Sie, was Sie gerade mit Speechlogger gesagt haben. Verwenden Sie die Simultanübersetzung von Speechlogger, um zu verstehen, was Sie gerade gesagt haben. Erzielen Sie erstaunliche Ergebnisse - es macht viel Spaß!