我正在使用python的nltk学习自然语言处理。我想从我目录中的XML文件创建语料库。所以我使用了以下代码。
>> from nltk.corpus import XMLCorpusReader
>> corpus_root = "/Desktop/my_dir/corpus/"
>> wiki = XMLCorpusReader(corpus_root ,'output.xml')
>> wiki.fileids()
>>
此代码块应该将fileid输出为'output.xml'。但它不会返回任何内容,并且光标将转到下一行“>>”。 我将output.xml放在corpus_root中指定的确切目录中。 我拥有读取和写入文件'output.xml'的所有权限。 我已经安装了nltk及其所有数据,并且具有所有指定的路径。
我该怎么做才能让它发挥作用?
答案 0 :(得分:0)
让我们来看看你的代码:
from nltk.corpus import XMLCorpusReader
corpus_root = "/Desktop/my_dir/corpus/"
我对这个路径名有点怀疑(见这个答案:https://stackoverflow.com/a/6617625/583834)。它应该类似于/usr/my_username/Desktop/my_dir/corpus
。打开终端窗口,导航到您的目录并执行pwd
以获取absolute path,确保路径正确无误。然后将其复制到上面。
wiki = XMLCorpusReader(corpus_root ,'output.xml')
XMLCorpusReader
读取目录以及该目录中已存在的文件名列表。这里的第二个参数是输入文件名,而不是输出名称。 (请注意相关WordListCorpusReader
示例调用的第三个“如何操作”部分here:reader = WordListCorpusReader('.', ['wordlist'])
)
wiki.fileids()
你可能没有从最后一行得到任何东西,因为前两行没有正确使用。