Google App Engine Standard 上的 NLTK 停用词

NLTK stopwords on Google App Engine Standard

我正在尝试在 Google App Engine 标准的 Flask 应用程序中使用 NLTK。但是我找不到一种简洁的方法来下载/加载 GAE 标准上的 NLTK 停用词。

我看到了 Django 的这个解决方案 (),它建议下载数据,将其与所有其他文件一起托管在 GAE 上,然后链接 nltk.data.path给它。然而,这似乎很老套,我也想保持我的 GAE 目录总大小较低。

我试图在 GAE Flexible 中复制这种情况。我只是将 "RUN python -m nltk.downloader all -d /usr/local/nltk_data" 添加到我的 Dockerfile 中。

GAE Standard有什么好的解决方案吗?

我知道您想在 GAE 标准中使用 NLTK 停用词,但我认为您有点混淆了事情,因为无论如何您都需要将文件放在文件夹中或内存中。

如您所说,在 GAE Flexible 中,您可以将 RUN python -m nltk.downloader all -d /usr/local/nltk_data 放入 Docker 文件中。事实上,此命令将下载 NLTK 停用词文件并将其放入您的容器文件夹结构中。从这个意义上说,它完全等同于您自己保存文件(如您链接的线程中所建议的那样)或让 Docker 为您保存它,两者都以文件夹中的文件结束。

gaefan 建议的备选方案也意味着存储 NLTK 停用词数据,尽管这次将内联在应用程序代码中而不是在单独的文件中。

总而言之,none 提到的方法对我来说似乎很老套,我会推荐其中的任何一种。

话虽如此,如果您真的不想在您的代码库中拥有该文件,您不妨将其存储在 Google 云存储中并检索它。通过这种方式,您可以在每次要对其执行某些操作时检索它,或者只检索一次,然后将其存储在 memory/tmp 文件夹中。然而,此选项是以应用程序延迟、ram 使用和必须不断检查实例之前是否下载过它为代价的。