gpt4 book ai didi

python-2.7 - 如何在 nltk 中使用 word_tokenize 并保留空格?

转载 作者:行者123 更新时间:2023-12-05 08:43:49 33 4
gpt4 key购买 nike

据我所知,nltk 中的 word_tokenize 函数采用字符串表示的句子并返回其所有单词的列表:

>>> from nltk import word_tokenize, wordpunct_tokenize
>>> s = ("Good muffins cost $3.88\nin New York. Please buy me\n"
... "two of them.\n\nThanks.")
>>> word_tokenize(s)
['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New', 'York.',
'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']

但是,在我的程序中,为进一步计算保留空间很重要,因此我更希望 word_tokenize 像这样返回它:

['Good', ' ', 'muffins', ' ', 'cost', ' ', '$', '3.88', ' ', 'in', ' ', 'New', ' ', 'York.', ' ', 'Please', ' ', 'buy', ' ', 'me', ' ', 'two', ' ', 'of', ' ', 'them', '.', 'Thanks', '.' ]

如何更改/替换/调整 word_tokenize 来完成此操作?

最佳答案

您可以分两步完成此任务 -

第一步:取字符串,根据空格打断

第 2 步:使用 word_tokenize

标记每个单词(在第 1 步中按空格分隔)
>>> s = "Good muffins cost $3.88\nin New York.  Please buy me\n"
>>> ll = [[word_tokenize(w), ' '] for w in s.split()]
>>> list(itertools.chain(*list(itertools.chain(*ll))))
['Good', ' ', 'muffins', ' ', 'cost', ' ', '$', '3.88', ' ', 'in', ' ', 'New', ' ', 'York', '.', ' ', 'Please', ' ', 'buy', ' ', 'me', ' ']

关于python-2.7 - 如何在 nltk 中使用 word_tokenize 并保留空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23358444/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com