NLTK - Python 内からインストールされているコーパスを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1902967

  •  19-09-2019
  •  | 
  •  

質問

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 フォルダ。

Python インタプリタ内からインストールされているコーパスを確認するにはどうすればよいですか?

また、このハウツーを使用するにはどのパッケージをインストールすればよいですか?http://nltk.googlecode.com/svn/trunk/doc/howto/portuguese_en.html

モジュールが見つかりません nltk.examples ハウツーで参照されています。

役に立ちましたか?

解決

してみてください。

import nltk.corpus
dir(nltk.corpus)

は、その時点で、それはおそらくあなたがそうもう一度__LazyModule__...を行うdir(nltk.corpus)について何かを語っています。

それでも解決しない場合は、

、iPythonでタブ補完を試してみます。

他のヒント

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 に検索を依頼するのではなく、直接アクセスします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top