Heroku サーバーに NLTK pos_tag をインストールしたいのですが。どうすればそうできますか。Heroku サーバー システムを初めて使用するので、手順を教えてください。
4 に答える
アップデート
Kenneth Reitz が指摘したように、はるかに単純なソリューションが heroku-python-buildpack に追加されました。nltk.txt
ルート ディレクトリにファイルを追加し、その中のコーパスを一覧表示します。詳細については、 https://devcenter.heroku.com/articles/python-nltkを参照してください。
元の回答
NLTK データを Git リポジトリに追加せずに Heroku に直接インストールできるソリューションを次に示します。
同様の手順を使用して、NLTK を依存関係として使用する Heroku にTextblobをインストールしました。手順 3 と 4 で、NLTK のみのインストールで機能するはずの元のコードに若干の調整を加えました。
デフォルトの heroku ビルドパックには、デフォルトのビルド ステップがすべて完了した後に実行されるpost_compile
ステップが含まれています。
# post_compile
#!/usr/bin/env bash
if [ -f bin/post_compile ]; then
echo "-----> Running post-compile hook"
chmod +x bin/post_compile
sub-env bin/post_compile
fi
ご覧のとおり、プロジェクト ディレクトリpost_compile
内に独自のファイルがbin
あるかどうかを調べ、存在する場合はそれを実行します。このフックを使用して、nltk データをインストールできます。
bin
ローカル プロジェクトのルートにディレクトリを作成します。post_compile
独自のファイルをディレクトリに追加しますbin
。# bin/post_compile #!/usr/bin/env bash if [ -f bin/install_nltk_data ]; then echo "-----> Running install_nltk_data" chmod +x bin/install_nltk_data bin/install_nltk_data fi echo "-----> Post-compile done"
install_nltk_data
独自のファイルをディレクトリに追加しますbin
。# bin/install_nltk_data #!/usr/bin/env bash source $BIN_DIR/utils echo "-----> Starting nltk data installation" # Assumes NLTK_DATA environment variable is already set # $ heroku config:set NLTK_DATA='/app/nltk_data' # Install the nltk data # NOTE: The following command installs the averaged_perceptron_tagger corpora, # so you may want to change for your specific needs. # See http://www.nltk.org/data.html python -m nltk.downloader averaged_perceptron_tagger # If using Textblob, use this instead: # python -m textblob.download_corpora lite # Open the NLTK_DATA directory cd ${NLTK_DATA} # Delete all of the zip files find . -name "*.zip" -type f -delete echo "-----> Finished nltk data installation"
ファイルに追加
nltk
しますrequirements.txt
(またはtextblob
、Textblob を使用している場合)。これらすべての変更をリポジトリにコミットします。
heroku アプリで NLTK_DATA 環境変数を設定します。
$ heroku config:set NLTK_DATA='/app/nltk_data'
Heroku にデプロイします。デプロイの最後にステップ トリガーが表示
post_compile
され、その後に nltk ダウンロードが続きます。
これがお役に立てば幸いです。楽しみ!
pos_tag、トークナイザー、ステミングなどの単純な機能を使用する場合は、次の手順を実行できます。
- requirements.txt で nltk に言及する
- nltk.txt で次のモジュールについて言及する
- ワードネット
- 長所短所
- ロイター
- hmm_treebank_pos_tagger
- maxent_treebank_pos_tagger
- ユニバーサルタグセット
- パンク
- averaged_perceptron_tagger_ru
- averaged_perceptron_tagger
- snowball_data
- rslp
- porter_test
- vader_lexicon
- 木の堤防
- 依存関係ツリーバンク