将word_tokenize转换为句子

时间:2019-10-23 21:52:53

标签: python nltk

我是Python nltk的新手

当前,我有一个程序可以从句子中进行word_tokenize。然后处理word_tokenize,以纠正某些名词的大写形式。这个过程工作正常,现在我想再次将已处理的word_tokenize转换为一个句子。我可以轻松地循环执行此操作,对于每个显示,我只需要添加空间即可。但是在某些情况下,这对于诸如“是,我,不是”等字词不起作用。因为word_tokenize分别保存这些单词。这样做,我处理过的word_tokenize将被转换为“是,我是,不是”等。

nltk是否具有使word_tokenize完美地表达句子的功能?

1 个答案:

答案 0 :(得分:0)

nltk具有TreebankWordDetokenizer,它可以从令牌列表中重建句子:

from nltk import word_tokenize
tokens = word_tokenize("I'm happy because it's a good book")
print(tokens)
#['I', "'m", 'happy', 'because', 'it', "'s", 'a', 'good', 'book']

from nltk.tokenize.treebank import TreebankWordDetokenizer
reconstructedSentence = TreebankWordDetokenizer().detokenize(tokens)
print(reconstructedSentence)
#I'm happy because it's a good book