2009-12-14 97 views
7

我试图加载一些语料库我与NLTK安装程序安装的,但我有一个:NLTK - 如何找出从python内部安装了哪些语料库?

>>> from nltk.corpus import machado 
     Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     ImportError: cannot import name machado 

但在下载管理器(nltk.download())的安装包马查多被标记和我有一个nltk_data/corpus/machado文件夹。

我如何从python intepreter里面看到安装的语料库是什么?

此外,我应该安装哪些软件包来处理此操作? http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html

我找不到模块nltk.examples提到的方法。

+0

mine was at/home/myUser/nltk_data – 2017-01-28 20:59:46

回答

9

尝试

import nltk.corpus 
dir(nltk.corpus) 

在这一点,它可能告诉你一些关于__LazyModule__...再次这样做dir(nltk.corpus)

如果这样不起作用,请尝试iPython中的tab-completion。

3

NLTK包含一个包,nltk.corpus,其中包含语料库读者的定义(如PlainTextCorpusReader)。该软件包还包含一个预先定义的语料库接入点清单,可通过nltk.downloader()进行下载。这些接入点(例如,nltk.corpus.brown)被定义为对应的语料库是否已被下载。

  1. 要查看哪些接入点在NLTK定义,使用dir(nltk.corpus)(后import nltk)。

  2. 要查看该语料库您在nltk_data地区有,试试这个:

    import os 
    import nltk 
    print(os.listdir(nltk.data.find("corpora"))) 
    

    这只是转储与文件夹nltk_data/corpora的内容的列表。你可以从那里拿走它。

  3. 如果您已安装自己的语料库nltk_data/corpora区和NLTK不知道这件事情,你需要自己火了相应的阅读器。例如,如果它在corpora/mycorpus明文语料库和所有文件结束.txt,你会做这样的:

    import nltk 
    from nltk.corpus import PlaintextCorpusReader 
    
    mypath = nltk.data.find("corpora/mycorpus") 
    mycorpus = PlaintextCorpusReader(mypath, r".*\.txt$") 
    

    但是在这种情况下,你可以直接把自己的阴茎在任何地方,并指向mypath它而不是要求NLTK找到它。

相关问题