Comment tokenize une phrase de chaîne de caractères dans NLTK?

je suis en utilisant nltk, donc je veux créer mes propres textes comme ceux par défaut sur nltk.livre. Cependant, je viens d'arriver à la méthode comme

my_text = ['This', 'is', 'my', 'text']

j'aimerais découvrir n'importe quelle façon d'entrer mon "texte" comme:

my_text = "This is my text, this is a nice way to input text."

Quelle méthode, celle de python ou de nltk me permet de faire cela. Et plus important encore, Comment puis-je sous-estimer les symboles de ponctuation?

36
demandé sur alvas 2013-02-25 03:26:12

2 réponses

C'est en fait sur le page principale de nltk.org:

>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthur didn't feel very good."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
121
répondu Pavel Anossov 2013-02-24 23:28:02

comme @PavelAnossov a répondu, la réponse canonique, utilisez le word_tokenize fonction dans nltk:

from nltk import word_tokenize
sent = "This is my text, this is a nice way to input text."
word_tokenize(sent)

Si votre phrase est vraiment assez simple:

string.punctuation définir, suppression de la ponctuation de la diviser ensuite à l'aide de l'espace séparateur:

import string
x = "This is my text, this is a nice way to input text."
y = "".join([i for i in x if not in string.punctuation]).split(" ")
print y
-8
répondu alvas 2017-07-27 07:13:58