我正在使用 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 允许我这样做。更重要的是,我怎样才能忽略标点符号?
这实际上是在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', '.']
正如@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