Ich verwende die nltk
, um Sätze in Wörter aufzuteilen. z.B.Verhindern der Spaltung bei Apostrophien beim Tokenisieren von Wörtern mit nltk
nltk.word_tokenize("The code didn't work!")
-> ['The', 'code', 'did', "n't", 'work', '!']
Die Tokenisieren funktioniert gut an Wortgrenzen spliting bis [d Aufspalten der Interpunktion von Wörtern], aber manchmal überspaltet, und Modifizierer am Ende des Wortes werden als separate Teile behandelt. Beispiel: didn't
wird in die Teile did
und n't
aufgeteilt und i've
wird in I
und 've
aufgeteilt. Offensichtlich ist dies so, weil solche Wörter in dem ursprünglichen Korpus, das nltk
verwendet, zweigeteilt sind und in einigen Fällen wünschenswert sein können.
Gibt es eingebaute Überschreitungen dieses Verhaltens? Möglicherweise in ähnlicher Weise wie nltk's
MWETokenizer
in der Lage ist, mehrere Wörter zu Phrasen zusammenzufassen, aber in diesem Fall nur Wortbestandteile zu Wörtern aggregieren.
Gibt es alternativ einen anderen Tokenizer, der Wortteile nicht aufteilt?