So konvertieren Sie Sprache in Text mit Python [Schritt-für-Schritt-Prozess]
Veröffentlicht: 2020-08-07Inhaltsverzeichnis
Einführung in die Sprache zu Text
Wir leben in einer Zeit, in der die Art und Weise, wie wir mit Maschinen interagieren, vielfältig und komplex geworden ist. Wir haben uns von klobigen mechanischen Tasten zur Touchscreen-Oberfläche entwickelt. Aber diese Entwicklung ist nicht auf die Hardware beschränkt. Der Status quo für Eingaben für Computer ist seit der Konzeption Text. Dennoch haben wir mit Fortschritten in NLP (Natural Language Processing) und ML (Machine Learning), Data Science, die Werkzeuge, um Sprache als Medium für die Interaktion mit unseren Gadgets zu integrieren.
Diese Tools umgeben uns bereits und dienen uns am häufigsten als virtuelle Assistenten. Google, Siri, Alexa & Co. sind Meilensteine, um eine weitere, persönlichere und komfortablere Dimension der Interaktion mit der digitalen Welt hinzuzufügen.
Im Gegensatz zu den meisten technologischen Innovationen steht die Sprache-zu-Text-Technologie jedem zum Erkunden zur Verfügung, sowohl zum Konsumieren als auch zum Erstellen Ihrer Projekte.
Python ist eine der am weitesten verbreiteten Programmiersprachen der Welt und verfügt über Tools zum Erstellen Ihrer Sprache-zu-Text-Anwendungen.
Geschichte der Sprache zum Text
Bevor wir uns mit Anweisung-zu-Text in Python befassen, lohnt es sich, zu würdigen, wie viel Fortschritt wir auf diesem Gebiet gemacht haben. Das Folgende ist die vereinfachte Zeitleiste der :
- Audrey , 1952: das erste Spracherkennungssystem, das von Forschern der 3 Bells Labs entwickelt wurde. Es konnte nur Ziffern erkennen.
- IBM Showbox (1962): IBMs erstes Spracherkennungssystem, bei dem Spulen zusätzlich zu Ziffern 16 Wörter erkennen. Konnte einfache arithmetische Diktate lösen und das Ergebnis drucken.
- Defense Advanced Research Projects Agency (DARPA) (1970): DARPA finanzierte die Speech Understanding Research, die zu Harpys Entwicklung führte, 1011 Wörter zu erkennen.
- Hidden Markov Model (HMM), die 1980er Jahre: HMM ist ein statistisches Modell, das Probleme modelliert, die sequentielle Informationen erfordern. Dieses Modell wurde auf weitere Fortschritte in der Spracherkennung angewendet.
- Sprachsuche von Google , 2001: Google führte die Sprachsuchfunktion ein, die es Benutzern ermöglichte, mithilfe von Sprache zu suchen. Dies war die erste sprachgesteuerte Anwendung, die sehr beliebt wurde.
- Siri , 2011: Apple führte Siri ein, das in Echtzeit und bequem mit seinen Geräten interagieren konnte.
- Alexa , 2014 & Google Home , 2016: Virtuelle Assistenten auf Sprachbefehlsbasis wurden zum Mainstream, als Google Home und Alexa zusammen über 150 Millionen Einheiten verkauften.
Lesen Sie auch: Die 7 besten Python-NLP-Bibliotheken

Herausforderungen in einer Speech-to-Text
Speech-to-Text ist immer noch ein komplexes Problem, das noch lange kein wirklich fertiges Produkt ist. Mehrere technische Schwierigkeiten machen dies bestenfalls zu einem unvollkommenen Werkzeug. Im Folgenden sind die häufigsten Herausforderungen bei der Spracherkennungstechnologie aufgeführt:
1. I mgenaue Interpretation
Die Spracherkennung interpretiert gesprochene Wörter nicht immer richtig. VUIs (Voice User Interface) sind nicht so geschickt wie Menschen im Verständnis von Kontexten, die die Beziehung zwischen Wörtern und Sätzen verändern. Maschinen können daher Schwierigkeiten haben, die Semantik eines Satzes zu verstehen.
2 mal
Manchmal dauert die Verarbeitung durch Spracherkennungssysteme zu lange. Dies kann auf die Vielfalt der Stimmmuster zurückzuführen sein, die Menschen besitzen. Solche Schwierigkeiten bei der Spracherkennung können vermieden werden, indem die Sprache verlangsamt oder die Aussprache präziser wird, was den Komfort des Tools beeinträchtigt.
3. Akzente
VUIs können Schwierigkeiten haben, Dialekte zu verstehen, die vom Durchschnitt abweichen. Innerhalb derselben Sprache können Sprecher sehr unterschiedliche Arten haben, dieselben Wörter zu sprechen.
4. Hintergrundgeräusche und Lautstärke
In einer idealen Welt sind diese kein Problem, aber das ist einfach nicht der Fall, und daher kann es für VUIs schwierig sein, in lauten Umgebungen (öffentliche Räume, große Büros usw.) zu arbeiten.
Muss gelesen werden: So erstellen Sie einen Chatbot in Python
Speech-to-Text in Python
Wenn Sie nicht den mühsamen Prozess durchlaufen möchten, eine Aussage von Grund auf in Text umzuwandeln, verwenden Sie das Folgende als Leitfaden. Diese Anleitung ist lediglich eine grundlegende Einführung in die Erstellung Ihrer eigenen Sprache-zu-Text-Anwendung. Stellen Sie sicher, dass Sie neben einer relativ neuen Python-Version auch ein funktionierendes Mikrofon haben.
Schritt 1 :
Laden Sie die folgenden Python-Pakete herunter:
- Speech_recogntion (pip install SpeechRecognition): Dies ist das Hauptpaket, das den wichtigsten Schritt der Umwandlung von Sprache in Text ausführt. Andere Alternativen haben Vor- und Nachteile, wie Appell, Assembly, Google-Cloud-Suche, Pocketsphinx, Watson-Developer-Cloud, Witz usw.
- Mein Audio (pip installiere Pyaudio)
- Portaudio (pip installiere Portaudio)
Schritt 2 :
Erstellen Sie ein Projekt (benennen Sie es wie Sie möchten) und importieren Sie die Spracherkennung als sr.
Erstellen Sie so viele Instanzen der Erkennungsklasse.
Schritt 3 :
Nachdem Sie diese Instanzen erstellt haben, müssen wir nun die Quelle der Eingabe definieren.
Lassen Sie uns zunächst die Quelle als das Mikrofon selbst definieren (Sie könnten eine vorhandene Audiodatei verwenden).
Schritt 4 :
Wir definieren nun eine Variable zum Speichern der Eingabe. Wir verwenden die „Listen“-Methode, um Informationen aus der Quelle zu entnehmen. In unserem Fall verwenden wir also das Mikrofon als Quelle, das wir in der vorherigen Codezeile festgelegt haben.
Schritt 5 :
Jetzt, da wir die Eingabe (Mikrofon als Quelle) definiert und in einer Variablen ('Audio') gespeichert haben, müssen wir sie einfach mit der Methode detect_google in Text umwandeln. Wir können das Ergebnis in einer Variablen speichern oder einfach das Ergebnis drucken. Wir müssen uns nicht nur auf detect_google verlassen, wir haben andere Methoden, die andere APIs verwenden, die ebenfalls funktionieren. Beispiele für solche Methoden sind:

erkennen_bing()
recongize_google_cloud()
recongize_houndify()
recongize_ibm()
recongize_Sphinx() (funktioniert auch offline)
Bei der folgenden Methode wurden vorhandene Pakete verwendet, die dazu beitragen, dass Sie Ihre Sprache-zu-Text-Erkennungssoftware nicht von Grund auf neu entwickeln müssen. Diese Pakete enthalten mehr Tools, mit denen Sie Ihre Projekte erstellen können, die spezifischere Probleme lösen. Ein Beispiel für eine nützliche Funktion ist, dass Sie die Standardsprache von Englisch auf Hindi ändern können. Dies wird die Ergebnisse ändern, die in Hindi gedruckt werden (obwohl die Sprache zu Text derzeit am besten entwickelt ist, um Englisch zu verstehen).
Aber es ist eine gute Gedankenübung für ernsthafte Entwickler, zu verstehen, wie solche Software läuft.
Lass es uns aufschlüsseln.
Im Grunde genommen ist Sprache einfach eine Schallwelle. Solche Schallwellen oder Audiosignale haben einige charakteristische Eigenschaften (die der Physik der Akustik bekannt vorkommen mögen), wie z. B. Amplitude, Berg und Tal, Wellenlänge, Zyklus und Frequenz.
Solche Audiosignale sind kontinuierlich und haben somit unendlich viele Datenpunkte. Um ein solches Audiosignal in ein digitales Signal umzuwandeln, damit ein Computer es verarbeiten kann, muss das Netzwerk eine diskrete Verteilung von Abtastungen vornehmen, die der Kontinuität eines Audiosignals sehr ähnlich ist.
Sobald wir eine geeignete Abtastfrequenz haben (8000 Hz ist ein guter Standard, da die meisten Sprachfrequenzen in diesem Bereich liegen), können wir nun Python-Bibliotheken wie LibROSA und SciPy die Audiosignale verarbeiten. Wir können dann auf diesen Eingaben aufbauen, indem wir den Datensatz in zwei aufteilen, das Modell trainieren und den anderen, um die Ergebnisse des Modells zu validieren.
In diesem Stadium kann man die Modellarchitektur von Conv1d verwenden, einem konvolutionellen neuronalen Netzwerk, das nur entlang einer Dimension funktioniert. Wir können dann ein Modell erstellen, seine Verlustfunktion definieren und neuronale Netze verwenden, um das beste Modell vor der Umwandlung von Sprache in Text zu retten. Mithilfe von Deep Learning und NLP (Natural Language Processing) können wir Aussagen zu Text für umfangreichere Anwendungen und Annahmen verfeinern.
Anwendungen der Spracherkennung
Wie wir gelernt haben, sind die Tools zum Ausführen dieser technologischen Innovation leichter zugänglich, da es sich hauptsächlich um eine Softwareinnovation handelt, die keinem Unternehmen gehört. Diese Zugänglichkeit hat Entwicklern mit begrenzten Ressourcen Türen geöffnet, um ihre Anwendung dieser Technologie zu entwickeln.

Einige der Bereiche, in denen die Spracherkennung wächst, sind folgende:
- Evolution in Suchmaschinen: Die Spracherkennung wird dazu beitragen, die Suchgenauigkeit zu verbessern, indem die Lücke zwischen verbaler und schriftlicher Kommunikation geschlossen wird.
- Auswirkungen auf die Gesundheitsbranche: Spracherkennung wird zu einem gängigen Merkmal im medizinischen Bereich, indem sie die Vervollständigung medizinischer Berichte unterstützt. Da VUIs den medizinischen Fachjargon immer besser verstehen, wird die Einführung dieser Technologie den Ärzten Zeit von der Verwaltungsarbeit ersparen.
- Dienstleistungsbranche: In den zunehmenden Automatisierungstrends kann es vorkommen, dass ein Kunde keinen Menschen dazu bringen kann, auf eine Anfrage zu antworten, und daher können Spracherkennungssysteme diese Lücke schließen. Wir werden das schnelle Wachstum dieser Funktion in Flughäfen, öffentlichen Verkehrsmitteln usw. sehen.
- Dienstanbieter: Telekommunikationsanbieter können sich sogar noch mehr auf textbasierte Systeme verlassen, die Wartezeiten verkürzen können, indem sie dabei helfen, die Anforderungen des Anrufers zu ermitteln und ihn an die entsprechende Unterstützung weiterzuleiten.
Lesen Sie auch: Sprachsuchtechnologie – Interessante Fakten
Fazit
Sprache zu Text ist eine leistungsstarke Technologie, die bald allgegenwärtig sein wird. Seine relativ einfache Bedienbarkeit in Verbindung mit Python (einer der beliebtesten Programmiersprachen der Welt) erleichtert die Erstellung seiner Anwendungen. Während wir in diesem Bereich Fortschritte machen, ebnen wir den Weg in eine Welt, in der der Zugang zur digitalen Welt nicht nur per Fingertipp, sondern auch per gesprochenem Wort möglich ist.
Wenn Sie mehr über die Verarbeitung natürlicher Sprache erfahren möchten, besuchen Sie unser Executive PG in Machine Learning and AI-Programm, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen umfasst.
Wenn Sie neugierig sind, etwas über Data Science zu lernen, schauen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1 -on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.
Was ist Sprache-zu-Text-Konvertierung?
In den frühen Tagen der Spracherkennung saß ein Transkriptionist mit einem Headset da und zeichnete Sprache auf. Der Prozess dauerte lange und führte zu qualitativ minderwertigen Transkripten. Heutzutage verwenden Spracherkennungssysteme Computer, um Sprache in Text umzuwandeln. Dies wird als Sprache-zu-Text-Konvertierung bezeichnet. Spracherkennung (auch bekannt als Sprache-zu-Text-Konvertierung) ist der Prozess der Umwandlung gesprochener Wörter in maschinenlesbare Daten. Der Zweck besteht darin, es Menschen zu ermöglichen, mit Maschinen per Sprache zu kommunizieren, und Maschinen zu ermöglichen, mit Menschen zu kommunizieren, indem sie Sprache erzeugen. Speech-to-Text-Software wird verwendet, um diese Konvertierung durchzuführen.
Was sind die Herausforderungen bei der Umwandlung von Sprache in Text?
Es gibt viele Herausforderungen bei der Umwandlung von Sprache in Text. Die größten Herausforderungen sind: Genauigkeit, bei der das System die gesprochenen Worte richtig verstehen muss, um die Benutzerabsicht zu extrahieren. Geschwindigkeit, das System muss in der Lage sein, das obige schnell genug auszuführen, um für den Benutzer akzeptabel zu sein. Natürlichkeit, das System soll so natürlich wie möglich klingen, damit der Benutzer nicht das Gefühl hat, unnatürlich sprechen zu müssen. Robustheit, das System sollte in der Lage sein, eine große Menge an Hintergrundgeräuschen, anderer Sprache und allen anderen Effekten zu bewältigen, die den Konvertierungsprozess stören können.
Was sind die Anwendungen von Sprache zur Textverarbeitung?
Der Grund, warum Sie Sprache in Text umwandeln müssen, ist, dass dies eine sehr schnelle und bequeme Art der Kommunikation ist. Die Sprache-zu-Text-Verarbeitung kann in vielen verschiedenen Anwendungen verwendet werden, beispielsweise kann sie in einem mobilen Kommunikationsgerät verwendet werden, wo der Benutzer seine Sprache verwenden kann, um Nachrichten zu senden und Anrufe zu tätigen, anstatt auf der Tastatur zu tippen. Eine weitere Anwendung der Sprache zur Textverarbeitung ist die Maschinensteuerung. Es ist eine Möglichkeit, einen Motor oder eine andere Industriemaschine zu steuern, indem man mit ihm spricht.