2013-07-14 6 views
6

Ich benutze Python mit Nltk. Ich muss etwas Text in Englisch ohne irgendwelche Leerzeichen verarbeiten, aber die Funktion word_tokenize in nltk konnte mit solchen Problemen nicht umgehen. So, wie man Text ohne Leerzeichen while. Gibt es irgendwelche Werkzeuge in Python?Wie werden kontinuierliche Wörter ohne Leerzeichen-Begrenzer in Tokens umgewandelt?

+0

Warum gibt es keine Räume? Was ist die Domain? – Jared

+0

Wie identifizieren Sie ein Wort? –

+0

Wenn Sie den Text nicht Buchstabe für Buchstabe scannen und alle möglichen Kombinationen von fortlaufenden Zeichen testen, muss ein Delimiter vorhanden sein. – Yotam

Antwort

1

Mir sind solche Tools nicht bekannt, aber die Lösung Ihres Problems hängt von der Sprache ab.

Für die türkische Sprache können Sie den eingegebenen Text Buchstabe für Buchstabe scannen und Buchstaben zu einem Wort zusammenfassen. Wenn Sie sicher sind, dass das akkumulierte Wort ein gültiges Wort aus einem Wörterbuch bildet, speichern Sie es als separates Token, löschen Sie den Puffer, um ein neues Wort zu akkumulieren, und setzen Sie den Prozess fort.

Sie können dies für Englisch versuchen, aber ich nehme an, dass Sie Situationen finden können, in denen das Ende eines Wortes ein Anfang eines Wörterbuchworts sein kann, und das kann Ihnen einige Probleme verursachen.

1

vielleicht könnte die Viterbi algorithm helfen? Keine Gewissheiten ... aber wahrscheinlich besser als es manuell zu tun.

Diese Antwort auf eine andere Frage SO (und die andere Antwort High-Abstimmung) könnte helfen: https://stackoverflow.com/a/481773/583834

+0

Wow! Das könnte mein erwarteter Algorithmus sein. Ich werde es lesen. Danke! – VcamX

+0

kein Glück mit Viterbi? – arturomp

Verwandte Themen