【问题标题】:AWS Lambda and NLTK: Resource wordnet not foundAWS Lambda 和 NLTK:找不到资源 wordnet
【发布时间】:2022-03-15 03:35:40
【问题描述】:

我知道这个问题在很多地方都得到了回答,但不幸的是,没有一个提到的解决方案对我有用。所以我在这里详细说明我的挑战:

我用以下导入编写了一个本地 Python 程序,效果很好。第一次下载nltk数据后,我基本上已经把最后3行注释掉了。

import nltk

logging.info(nltk.data.path)

from nltk.stem import WordNetLemmatizer

nltk.data.path.append("/tmp")

nltk.download("wordnet", download_dir = "/tmp")

nltk.download("omw-1.4", download_dir = "/tmp")

后来我将nltk包和nltk数据复制为nltk_data,压缩并上传到架构为x86_64的lambda函数:

当我上传到 lambda 函数并测试该函数时,我收到以下错误消息:

找不到资源wordnet。

我在谷歌上搜索并尝试了不同的选项来解决这个挑战:

  1. 重命名 NLTK 的 data.py 中的路径

  2. 在 lambda 函数中创建环境变量

  3. 在运行 lambda 函数时尝试下载 nltk 数据。这是行不通的,因为我们无法访问互联网。

  4. 我已经下载了完整的 NLTK 数据并尝试了。

  5. 我在 AWS Lambda 中尝试过不同的 python 版本。

如果有任何我没有尝试过的选项或者我做错了什么,请告诉我。

提前感谢您的支持。

问候, 柴坦尼亚

【问题讨论】:

    标签: aws-lambda nltk


    【解决方案1】:

    附加路径应指向您复制的/nltk_data/ 位置

    nltk.data.path.append("YOUR_PROJECT_ROOT_FOLDER/nltk_data")
    

    或者如果你使用 Docker 的 ENV,你应该有这样的东西:

    ENV NLTK_DATA=YOUR_PROJECT_ROOT_FOLDER/nltk_data
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2022-10-14
      • 2023-03-30
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多