我正在尝试绘制给定文本的堆法则(它显示词汇量的增长与文本长度的函数关系)。也就是说,对于每个标记,我需要文本的长度和最大给定标记的词汇量
我已经标记了我的文本,但我卡住了,因为我不知道如何遍历文本中的所有单词。
tokens=nltk.wordpunct_tokenize(text)
it=len(tokens)
i=1
for word in tokens:
print len(tokens), len(set(tokens))
i=i+1
if i>it:
break
我基本上需要在每次迭代中让文本增长 1 个标记。 感谢您的帮助!
最佳答案
您可以使用enumerate
来避免递增计数器:
uniq = set()
for i, token in enumerate(tokens):
uniq.add(token)
print "%d => %d" % (i, len(uniq))
关于python - Python 中的堆法则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860606/