AWSラムダでNLTKコーパス(特にストップワード)を使用するときに問題が発生します。 NLTK_download( 'ストップワード')を使ってコーパスをダウンロードし、nltk_data/corpora/stopwordsにラムダモジュールをアップロードするために使用したzipファイルにそれらを含めたことを私は知っています。PythonでAWSラムダ関数を使用するNLTKコーパスを使用する
次のようにコードで使用される:
from nltk.corpus import stopwords
stopwords = stopwords.words('english')
nltk.data.path.append("/nltk_data")
これは私も
を含めることによって、データを直接ロードすることを試みたmodule initialization error:
**********************************************************************
Resource u'corpora/stopwords' not found. Please use the NLTK
Downloader to obtain the resource: >>> nltk.download()
Searched in:
- '/home/sbx_user1062/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- '/nltk_data'
**********************************************************************
ラムダログ出力から次のエラーが返さ
nltk.data.load("/nltk_data/corpora/stopwords/english")
これは、以下の異なるエラーを生じます
ラムダジップからデータをロードする際に問題があり、外部に格納する必要がある可能性があります.S3では、これはちょっと変わったようです。
誰もが私が間違って行くことができどこ知っていますどのような形式
を任意のアイデア? AWSラムダあなたに
from nltk.corpus import stopwords
nltk.data.path.append("/nltk_data")
stopwords = stopwords.words('english')
試し 'ストップワードの=のnltk.corpus.stopwords.words(「英語」)'とコードのブロックで、それは、corpora.stopwordsのための 'nltk_data'フォルダに見えますように見えるが介在/不足している。それはちょうどディレクトリアドレスの問題かもしれません。あなたのシステムやファイルを見ることができないので、これがうまくいくかどうかは100%ではありませんが、そうでなければOKです。 – sconfluentus
フルパスを使用してください。 '/ home/sbx_user1062/nltk_data'と試してみてください:http://stackoverflow.com/a/22987374/610569 – alvas
何も動作しない場合は、http://stackoverflow.com/questions/36382937/nltk-jp/から「magically_find_nltk_data() doesnt-add-nltk-data-to-search-path/36383314#36383314 – alvas