Frage

Ich interessiere mich wirklich für Speech-to-Text-Algorithmen, bin mir aber nicht sicher, wo ich anfangen soll, mich damit zu beschäftigen.Eine Menge Suchen hat mich dazu geführt Das, aber es ist aus dem Jahr 1996 und ich bin mir ziemlich sicher, dass es seitdem Verbesserungen gegeben hat.

Hat jemand, der Erfahrung mit solchen Dingen hat, Empfehlungen zum Lesen bzw. zum Untersuchen des Quellcodes?Oder einfach nur allgemeine Ratschläge, was ich lernen sollte, wenn ich in die Welt des Schreibens von Spracherkennungsprogrammen einsteigen möchte (manchmal ist es schwierig zu wissen, wonach man suchen soll, wenn man nicht viel über das Fachgebiet weiß).

Bearbeiten:Ich würde gerne etwas plattformübergreifendes machen, aber im Moment würde ich auf Linux abzielen.

Bearbeiten 2:Danke csmba für die gut durchdachte Antwort.Derzeit bin ich vor allem daran interessiert, Anwendungen erstellen zu können, die die Automatisierung oder Ausführung verschiedener Befehle per Sprache ermöglichen.Daher kann nur eine begrenzte Anzahl erkennbarer Befehle aneinandergereiht werden.Ein Beispiel wäre ein Musikplayer, der Befehle wie „Spielen Sie das Album „Hello Everything“ von Squarepusher ab“ entgegennimmt, oder ein Anwendungsstarter, der es dem Benutzer ermöglicht, Sprachverknüpfungen zum Starten bestimmter Apps zu erstellen.

Mir ist klar, dass es sich um ein ziemlich riesiges Problem handelt und dass ich derzeit bei weitem nicht über das nötige Wissen verfüge, um die Implementierung einer vollständigen Erkennungsmaschine in Angriff zu nehmen, obwohl mich die damit verbundenen Techniken faszinieren und ich daran gerne arbeiten würde Ich bin bereit, es zu tun.Höchstwahrscheinlich werde ich mir am Ende ein oder zwei Bücher zu diesem Thema zulegen und mich in meiner Freizeit mit „einfachen“ Implementierungen beschäftigen.

War es hilfreich?

Lösung

Das sind RIESIGE Fragen, ich weiß nicht, wie ich anfangen soll ...Lassen Sie mich einfach versuchen, Ihnen die richtigen „Begriffe“ zu geben, damit Sie Ihre Suche verfeinern können:

Machen Sie sich zunächst klar, dass Spracherkennung ein vielfältiges und kompliziertes Thema ist und viele verschiedene Anwendungen hat.Menschen neigen dazu, diese Domäne dem ersten zuzuordnen, was ihnen in den Sinn kommt (normalerweise sind das Computer, die verstehen, was Sie sagen, wie in IVR-Systemen).Lassen Sie uns das Konzept zunächst in die Hauptkategorien unterteilen:

Mensch-zu-Maschine: Anwendungen, bei denen es darum geht, zu verstehen, was ein Mensch sagt, aber der Mensch weiß, dass er mit einer Maschine spricht Grammatik ist sehr begrenzt.Beispiele sind

  • Computerautomatisierung
  • Spezialisiert:Piloten automatisieren zum Beispiel einige Steuerungen (Lärm ist ein großes Problem)
  • IVR-Systeme (Interactive Voice Response) wie Google-411 oder wenn Sie die Bank anrufen und der Computer auf der anderen Seite sagt: „Sagen Sie ‚Service‘, um Kundenservice zu erhalten“

von Mensch zu Mensch (Spontane Rede):Das ist ein größeres, komplexeres Problem.Hier können wir es auch in verschiedene Anwendungen aufteilen:

  • Call Center:Gespräch zwischen Agent und Kunde, Telefonqualität, komprimiert
  • Intelligenz:Radio-/Telefon-/Live-Gespräche zwischen zwei oder mehr Personen

Nun ist Speech-To-Text nicht das, was Sie sagen sollten und was Ihnen am Herzen liegt.Was Ihnen am Herzen liegt, ist die Lösung eines Problems.Zur Lösung unterschiedlicher Probleme werden unterschiedliche Technologien eingesetzt.Sehen Sie sich eine Übersicht an Hier von einigen von ihnen.Zusammenfassend lässt sich sagen, dass andere Ansätze phonetische Transkription, LVCSR und direktbasierte Ansätze sind.

Sind Sie auch daran interessiert, der Doktorand hinter der Technologie zu sein?Sie benötigen einen gleichwertigen Masterabschluss Signalverarbeitung und wahrscheinlich einen Doktortitel, um auf dem neuesten Stand zu sein.In diesem Fall arbeiten Sie für ein Unternehmen, das die tatsächlichen Daten entwickelt Sprachmaschine.Unternehmen wie Nuance und IBM sind die Großen, aber es gibt auch Phillips und andere Startups.

Wenn Sie andererseits Anwendungen implementieren möchten, arbeiten Sie nicht an der Engine, sondern an der Erstellung von Anwendungen, die die Engine nutzen.Eine gute Analogie finde ich aus der Gaming-Branche:Entwickeln Sie die Grafik-Engine (wie die Cry-Engine) oder arbeiten Sie an einem von mehreren hundert Spielen, die alle dieselbe Grafik-Engine verwenden?

Verstehen Sie mich nicht falsch, es gibt auch außerhalb der IBM/Nuance-Welt noch viel zu tun an der Qualität der Suche.Die Engine ist normalerweise sehr offen und es müssen viele algorithmische Optimierungen vorgenommen werden, die sich dramatisch auf die Leistung auswirken können.Jede Geschäftsanwendung hat unterschiedliche Einschränkungen und Kosten-Nutzen-Funktionen, sodass Sie viele Jahre lang experimentieren können, um bessere, auf Spracherkennung basierende Anwendungen zu entwickeln.

eine Sache noch:Im Allgemeinen möchten Sie auch über einen guten Statistikhintergrund verfügen, je niedriger Sie im Stapel sein möchten.

Derzeit geht es mir vor allem darum, Anwendungen erstellen zu können, die eine Automatisierung ermöglichen

Gut, wir kommen hier zusammen...Dann haben Sie kein Interesse an „Speech-to-Text“.Diese Schlagworte entführen Sie in die Welt der vollständigen Transkription, einen Ort, zu dem Sie nicht gehen müssen.Sie sollten sich auf einige der eher Mensch-zu-Maschine-Technologien wie Sprach-XML und diejenigen konzentrieren, die in IVR-Systemen verwendet werden (Nuance ist dort der größte Player).

Andere Tipps

Ich würde auf jeden Fall eine Abholung empfehlen ein Buch oder zwei, wenn Sie neu auf dem Gebiet sind.Da ich keine Erfahrung auf diesem Gebiet habe, kann ich keine Empfehlung aussprechen.Wenn Sie noch studieren (oder noch enge Kontakte haben), sollten Sie herausfinden, ob einer Ihrer Professoren eine Empfehlung aussprechen kann.

Die von Ihnen verlinkte Umfrage ist wahrscheinlich auch eine hervorragende Ressource.Ich bin sicher, dass es seit 1996 Fortschritte gegeben hat, aber die Grundlagen haben sich wahrscheinlich nicht grundlegend geändert.Wenn die Umfrage gut geschrieben ist, lohnt es sich, sie zu lesen.

Schauen Sie sich für OS X Folgendes an: OS X-Sprachtechnologien

Schauen Sie sich für Windows Folgendes an: Microsoft Speech-API

Ich habe mit gearbeitet IBMs ViaVoice-Produkt.Es verfügt über eine gute ASR-Engine (Automated Speech Recognition) und eine schöne Text-to-Speech-Engine.

Die Websites sind nicht sehr gut, aber dies ist ein Link für die Embedded-Version http://www-01.ibm.com/software/voice/support/

Es ist jedoch plattformunabhängig und alles funktioniert über eine MVC-Architektur unter Verwendung von vxml, einer XML-Variante für Sprachzwecke.

Auf welche Plattform zielen Sie ab?Es gibt Microsoft Speech-APIs das Sie verwenden können, wenn es für Windows ist.

Es gibt auch die Spracherkennungsdienst für Android.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top