Frage

Ich möchte eine grundlegende Spracherkennungs-Software schreiben, die Sprache umwandeln können in Text. Ich wollte wissen, welche Sprache am besten geeignet ist, eine solche Software zu schreiben. Ist Java für diesen Job geeignet?

edit: Danke für die Antworten. Ich möchte ein Werkzeug für ein College-Projekt erstellen. Ich will nicht, es schreiben von Grund auf neu. Ich will nur die Macht der Spracherkennung zur Demo. Das Werkzeug sollte nur schreiben, was ein Benutzer auf einem Texteditor wie Notepad sagt. Es braucht nicht zu genau zu sein. Ich möchte nur experimentieren und die verschiedene Algorithmen hinter Spracherkennung zu lernen, wie ich dieses Feld sehr interessant finden.

Danke, Deepak

War es hilfreich?

Lösung

Java kann für eine Schnittstelle, um es geeignet sein, aber die Spracherkennung erfordert ernsthaft roh Grunzen. Ich würde eine kompilierte close-to-the-Metall-Sprache wie C für die eigentliche Erkennungsmaschine entschieden hat.

Das ist nicht etwas, leicht durchgeführt werden, durch die Art und Weise. Es gibt eine ganze Menge Theorie Sie sogar zu lernen brauchen, bevor Sie beginnen. Mich selbst würde ich einen der vorhandenen Motoren lizenzieren, wenn möglich, und konzentrieren sich auf den Aufbau einer ordentliches Produkt drum herum.

Das ist, wenn Ihre Absicht ist es, ein Produkt zu bauen. Wenn Sie nur experimentieren wollen, mit allen Mitteln Ihre eigenen schreiben. Es wird Spaß machen (bis zu einem Punkt: -).

Andere Tipps

Meine Schüler verwenden Sphinx . Es ist in Java (ein Port von C ++ glaube ich) geschrieben. Es ist vielleicht nicht geeignet sein für das, was Sie wollen (ich glaube, Sie müssten Ihr eigenes Wörterbuch erstellen), aber einen Besuch wert.

ich mit Pax einig, dass dies möglicherweise ein ziemlich großes Projekt, und dass die praktischste Lösung ist wahrscheinlich nur ein bestehendes Engine-Lizenz.

Wenn der Umfang das, was Sie tun mögen, nur ist unterscheiden zwischen wenigen bisher bekannten möglichen Äußerungen, es ist ein wesentlich kleineres Projekt, aber immer noch beträchtlich.

Aber ... wenn Sie sich entscheiden, Sie wirklich wirklich wirklich Ihre eigenen beginnen wollen zu entwickeln, kann ich keinen Grund sehen, nicht Java zu verwenden. Die Idee, dass „C schneller“ ist weitgehend ein Mythos (oder auf Basis von out-of-date-Informationen).

Ein stimmen fast alles Pax sagte, so werde ich Contrarian sein und für das Gegenteil behaupten. Die konventionelle Weisheit ist, dass die Spracherkennung „erfordert ernsthaft roh Grunzen“, und es kann sein, weil dies wahr ist.

Es kann aber auch sein, dass jeder glaubt, dass, weil das ist, wie es immer getan worden. Streiten aus der Tatsache, dass das menschliche Gehirn nicht hat riesige Mengen an Brute-Force-Daten am laufenden Band Sprache zu erkennen, würde ich vorschlagen, dass es existiert clevere Merkmalsextraktion Algorithmen, um die Arbeit zu erledigen viel effizienter zu gestalten.

Wenn das der Fall ist, und wenn Sie versuchen, einen solchen Algorithmus zu finden, die eine höhere Sprache besser geeignet sein, um die Aufgabe. Alles, was Sie in Effizienz verlieren Sie machen und mehr in algorithmischer Ausdruckskraft.

Wie gesagt, er ist wahrscheinlich recht.

ich denke, dass Java eine gute Option sein kann, es hängt alles davon ab, wie werden Sie den Eingang empfangen. Es gibt einige nette librarys für Töne in Java.

Die Sprache geht nicht das Problem sein, weil es eine Frage der Anerkennung der Muster sein wird. Wenn Java mit der Sprache, die Sie am besten vertraut sind, würde ich es verwenden.

Java ist Turing komplette so dass es jeden Job als Programmierer verarbeiten kann. Egal, ob Sie wollen etwas in Java zu tun, ist ganz Ihnen überlassen.

Wir hatten mäßigen Erfolg mit Shynx Rahmen in Java geschrieben, aber die eigentliche harte Arbeit liegt Algorithmen und Mathematik im Bereich beteiligt zu verstehen und dann bei der Feinabstimmung zu Ihren speziellen Bedürfnissen.

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