Подтвердить что ты не робот

Как сделать токенирование строкового предложения в NLTK?

Я использую nltk, поэтому я хочу создать свои собственные тексты, такие же, как по умолчанию на nltk.books. Тем не менее, я только что получил метод, как

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

Я хотел бы найти любой способ ввода моего "текста" как:

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

Какой метод, Python или из NLTK позволяет мне сделать это. И что еще более важно, как я могу отклонить знаки препинания?

4b9b3361

Ответ 1

Это на главной странице 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', '.']

Ответ 2

Как ответил @PavelAnossov, канонический ответ, используйте функцию word_tokenize в nltk:

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

Если ваше предложение действительно достаточно просто:

Используя набор string.punctuation, удалите пунктуацию, затем разделите с помощью разделителя пробелов:

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