2016-06-05 3 views
0

Ich würde gerne überprüfen, ob Wörter oder Absätze von Text wahrscheinlich gültige "Wörter" enthalten, ohne einzelne Wörter gegen ein Wörterbuch zu prüfen. Der Anwendungsfall besteht im Wesentlichen darin, zu testen, ob der Benutzer einer Website einen Haufen Kauderwelsch als Eingabe eingegeben hat.Python-Modul, das die Wahrscheinlichkeit bewertet, dass Text Kauderwelsch ist?

Für meine Zwecke würde es ausreichen, ein Plugin zu haben, das überprüft, dass es keine unangemessene Anzahl von aufeinanderfolgenden Konsonanten oder Vokalen gibt, oder dass die "Wörter" vernünftige Silbenkombinationen enthalten. Zum Beispiel wäre es gut, wenn das Plugin auf folgende Weise in den folgenden Fällen handelt:

  • So etwas wie "Lekreauclig" or "Prostrebaughi" als ein Wort behandelt werden konnte, da die Buchstabenkombinationen vernünftig genug aussehen.

  • Etwas wie "twumczsarn" oder "aegou" würde als "wahrscheinlich kein Wort" markiert werden, da es seltsame sequentielle Konsonanten- oder Vokal-Combos hat.

  • „mqbadtxjtc“ würde als das Modul Werk „kein Wort“

Ich bin gleichgültig, mit dem auf den Mechanismus gekennzeichnet werden (vielleicht könnte es einig maschinelles Lernen-basierten Modul sein, das vor war -trained in einem Englisch-Wörterbuch), solange das Modul ist klein (so nltk ist keine Option), geeignet für die Verwendung in einer Web-Anwendung, und vortrainiert und bereit zu verwenden, wenn es mit einer Methode, die notwendig ist, funktioniert Ausbildung. Wenn es Textabschnitte überprüfen kann, um die Wahrscheinlichkeit zu erkennen, dass seine konstituierenden Zeichenfolgen Kauderwelsch enthalten, und ein allgemeines Maß für die Gültigkeit des Absatzes geben, anstatt nur einzelne Wörter zu bewerten, noch besser. Kann jemand einige Module empfehlen, die für diesen Zweck geeignet sind?

+0

Ich würde vorschlagen, dass Grabbing 5 Worte Zufällig, und sie gegen eine Wortliste zu validieren, wäre ein ziemlich guter erster Durchlauf und würde nicht viel Arbeit erfordern. –

+0

Wenn aegou wahrscheinlich kein Wort ist, was ist mit Äon und Schönheit? –

+0

@AustinHastings - also schlagen Sie vor, einen Ansatz "gegen ein Wörterbuch zu prüfen"? Ich habe diese Möglichkeit in der Frage ausgeschlossen, da der Ansatz, den ich verwende, für eine Webanwendung geeignet sein müsste (dh ein Wörterbuch im Gedächtnis zu behalten, zu viel Speicher zu beanspruchen; ein Diktat jedes Mal zu lesen, wenn man diese Funktion ausführen muss) konsumieren übermäßige Ressourcen). – Boa

Antwort

1

Dies ist nur eine einfache Lösung, aber haben Sie sich Gedanken über eine Spracherkennung Tool, basierend auf n-Gramm-Zeichen?

Wenn die Eingabe mit hoher Wahrscheinlichkeit als Englisch erkannt wird, sollte es in Ordnung sein und enthält kein Kauderwelsch. Wenn es eine andere Sprache oder Englisch mit geringem Vertrauen hat, als Sie annehmen könnten, ist es Kauderwelsch

Diese Lösung ist natürlich nur gültig, wenn Sie immer englischen Text als Eingabe erwarten.

Einige out-of-the-box, bereit Implementierungen von Spracherkennung auf Basis von n-Gramm-Zeichen verwenden:

langid

langdetect

Verwandte Themen