0

我正在使用 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 及其所有数据,并具有所有指定的路径。

我应该怎么做才能让它工作?

4

1 回答 1

2

让我们来看看你的代码:

from nltk.corpus import XMLCorpusReader
corpus_root = "/Desktop/my_dir/corpus/"

我对这个路径名有点怀疑(见这个答案:https ://stackoverflow.com/a/6617625/583834 )。它可能应该是类似的东西/usr/my_username/Desktop/my_dir/corpuspwd通过打开终端窗口,导航到您的目录并执行以获取您的绝对路径,确保您的路径正确。然后复制到上面。

wiki = XMLCorpusReader(corpus_root ,'output.xml')

XMLCorpusReader读取一个目录以及该目录中已经存在的文件名列表。这里的第二个参数是你的输入文件名,而不是你的输出名。(请注意此处的第三个“如何做”部分,以获取相关的示例调用WordListCorpusReader:)reader = WordListCorpusReader('.', ['wordlist'])

wiki.fileids()

很可能你没有从最后一行得到任何东西,因为前两行没有正确使用。

于 2013-07-29T17:00:07.300 回答