Le nltk ne fournit pas une telle fonction. Les espaces sont jetés lors de la création de jetons, il n'y a donc aucun moyen de récupérer exactement ce que vous avez commencé; les espaces peuvent avoir inclus des lignes de fin et des espaces multiples, et il n'y a aucun moyen de les récupérer. Le mieux que vous pouvez faire est de joindre la phrase dans une chaîne qui ressemble à une phrase normale. Un " ".join(tokens)
simple, va mettre un espace avant et après la ponctuation, ce qui semble étrange:
>>> print(" ".join(tokens))
'This is a sentence .'
Vous avez donc besoin de se débarrasser des espaces avant que la plupart des signes de ponctuation, sauf pour quelques privilégiés comme (
et ``
qui devrait avoir l'espace après les enlevés. Même alors, c'est parfois une conjecture, puisque l'apostrophe '
est parfois utilisée entre les mots, parfois avant, et parfois après. ("Nuthin' doin', y'all!"
) Bonne chance avec ça.
Ma recommandation est de conserver les chaînes d'origine à partir desquelles vous avez segmenté la phrase, et de revenir à celles-ci. Vous ne montrez pas d'où viennent vos phrases, il n'y a donc rien de plus à dire.