Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops &引用;For loop";不';t遍历文件_Loops_For Loop_Nltk_Tokenize - Fatal编程技术网

Loops &引用;For loop";不';t遍历文件

Loops &引用;For loop";不';t遍历文件,loops,for-loop,nltk,tokenize,Loops,For Loop,Nltk,Tokenize,在下面的简单for循环中,我迭代了3600个文本,对它们进行标记并将它们保存到列表中: import glob import nltk list = [] for file in glob.glob('C:\\Users\\User\\Desktop\\fake\\*.txt'): text = open(file,'r',encoding='utf-8').read() tokenize = nltk.word_tokenize(text) list.append(tokenize)

在下面的简单for循环中,我迭代了3600个文本,对它们进行标记并将它们保存到列表中:

import glob
import nltk


list = []

for file in glob.glob('C:\\Users\\User\\Desktop\\fake\\*.txt'):
text = open(file,'r',encoding='utf-8').read()
tokenize = nltk.word_tokenize(text)
list.append(tokenize)
但是,当我尝试使用下面的另一个for循环打印出这些标记中最常见的10个单词时

for tokens in list:
freq = nltk.FreqDist(tokens)
most_common = freq.most_common(10)
最后,我发了一条消息,说它找到了以下10个最常见的词:

[('``', 25), ("''", 23), ('que', 18), ('.', 16), ('você', 14), ('ou', 14), ('o', 12), ('e', 11), ('de', 10), ('a', 10)]

这显然是错误的,因为3600个文本被标记化了。这里我遗漏了什么?

您将文档标记收集到一个列表列表中,
list
list.append(tokenize)
),然后在一个
循环中为列表中的标记:
分配
most_common()

我建议
。扩展
令牌列表,将所有令牌收集到一个简单的单词列表中,然后通过将列表传递到
nltk.FreqDist()
方法获得前10个最常见的令牌:

l=[]
对于文本中的文本:
tokenize=nltk.word\u tokenize(文本)
l、 扩展(标记化)
频率=nltk.FreqDist(l)
最常见=频率最常见(10)

请注意,
list
是Python内置的,不要这样命名变量。我在上面的代码中选择了
l

Wiktor,你已经解决了我的许多问题!!非常感谢!关于变量的名称,感谢您的提示,我肯定会使用Python内置的Abrevisions!