代码之家  ›  专栏  ›  技术社区  ›  Rafael S. Calsaverini

NLTK-如何找出python中安装了哪些语料库?

  •  8
  • Rafael S. Calsaverini  · 技术社区  · 16 年前

    我正在尝试加载我用NLTK安装程序安装的一些语料库,但我得到一个:

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

    nltk.download() )machado包被标记为已安装,我有一个 nltk_data/corpus/machado 文件夹。

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

    我找不到模块 nltk.examples

    2 回复  |  直到 13 年前
        1
  •  11
  •   Hank Gay    16 年前

    尝试

    import nltk.corpus
    dir(nltk.corpus)
    

    在这一点上,它可能告诉你一些关于 __LazyModule__... 我也是 dir(nltk.corpus) 再一次。

    如果不起作用,请尝试在iPython中完成制表符。

        2
  •  6
  •   John Vandenberg    9 年前

    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_数据/语料库 如果NLTK不知道,您需要自己启动相应的阅读器。例如,如果它是 corpora/mycorpus 所有的文件都以 .txt ,你会这样做:

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

      mypath 直接访问它,而不是要求NLTK查找它。

    推荐文章