Стоп-слова NLTK в Google App Engine Standard - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь использовать NLTK в своем приложении Flask в стандарте Google App Engine. Но я не могу найти удобный способ загрузки / загрузки стоп-слов NLTK по стандарту GAE.

Я видел это решение для Django ( Как загрузить все данные nltk в движке облачных приложений Google? ), который предлагает загрузить данные, разместить их вместе со всеми другими файлами в GAE и связать с ними nltk.data.path . Однако это выглядит довольно странно, и я также хотел бы, чтобы мой общий размер каталога GAE был низким.

Я попытался повторить эту ситуацию в GAE Flexible. Там я бы просто добавил "RUN python -m nltk.downloader all -d / usr / local / nltk_data" в мой Dockerfile.

Есть ли хорошие решения для стандарта GAE?

1 Ответ

1 голос
/ 03 апреля 2020

Я понимаю, что вы хотите использовать стоп-слова NLTK в стандарте GAE, но я думаю, что вы немного запутываете, потому что так или иначе вам понадобится файл в папке или в памяти.

Как вы сказали, в GAE Flexible вы можете поместить RUN python -m nltk.downloader all -d /usr/local/nltk_data в Dockerfile. Фактически эта команда загрузит файл стоп-слов NLTK и поместит его в структуру папок вашего контейнера. В этом смысле абсолютно эквивалентно сохранить файл самостоятельно (как предложено в ветке, которую вы связали) или сделать так, чтобы Docker сохранил его для вас, и оба в итоге получат файл в папке.

Альтернатива Предложенный gaefan также подразумевает сохранение данных стоп-слов NLTK, хотя это время будет встроено в код приложения, а не в отдельный файл.

В общем, ни один из упомянутых подходов пока не выглядит хакерским я и я бы порекомендовали любой из них.

С учетом сказанного, если вы действительно не хотите иметь файл в своей кодовой базе, вы можете также сохранить его в облачном хранилище Google и получить его. Таким образом, вы можете либо извлекать его каждый раз, когда вы хотите что-то с ним сделать, либо извлекать его только один раз, а затем сохранять в папке memory / tmp. Однако эта опция достигается за счет задержки приложения, использования оперативной памяти и необходимости постоянно проверять, загружал ли экземпляр его ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...