Sto utilizzando lo nltk
per suddividere le frasi in parole. per esempio.Prevenire la suddivisione in apostrofie durante la tokenizzazione delle parole utilizzando nltk
nltk.word_tokenize("The code didn't work!")
-> ['The', 'code', 'did', "n't", 'work', '!']
Il tokenizing funziona bene a spaccare i confini di parole [vale a dire. dividendo la punteggiatura dalle parole], ma a volte sovrascrive, e i modificatori alla fine della parola vengono trattati come parti separate. Ad esempio, didn't
viene diviso nelle parti did
e n't
e i've
viene diviso in I
e 've
. Ovviamente questo è perché tali parole sono divise in due nel corpus originale che nltk
sta usando, e potrebbe essere desiderabile in alcuni casi.
Esiste un modo per superare questo comportamento? Forse in modo simile a come nltk's
MWETokenizer
è in grado di aggregare più parole in frasi, ma in questo caso semplicemente aggregare componenti di parole in parole.
In alternativa, c'è un altro tokenizzatore che non suddivide parti di parole?