如何在Heroku中使用Stanford NLP工具和NLTK?

2024-09-27 19:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python开发一个聊天机器人(Kik messenger),最近把我的应用程序移到了Heroku,就像this question中描述的那样。此外,我还包括了NLTK(Python模块)及其一些资源,如the Heroku documentation中所述。到目前为止,一切都很顺利,聊天机器人应用程序在Kik messenger中响应。在

下一步,我想在nltkapi中包含来自stanfordlp的工具。Stanford NLP工具与几个模型文件一起作为Java存储库提供。在本地,我在根据this answer设置API之后完成了此操作。不过,我不知道如何为赫罗库做这件事。 Heroku有关于如何部署可执行jar文件的a documentation,但我不知道如何将其应用于我的问题。在

我要使用的实际函数是Stanford解析器,我用它在本地调用:

from nltk.parse.stanford import StanfordParser
parser=StanfordParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")

这是我在SO上的第一个问题,所以请让我知道我是否可以以及如何编辑这个问题,以便更容易回答。在

编辑:在更一般的层面上,我有一个Python应用程序,我在Heroku云服务上运行(带有临时文件系统),并希望包含一个Java存储库。在


Tags: 文件工具应用程序编辑herokudocumentation机器人java
2条回答

在我的例子中,在中删除不必要的类文件模型.jar文件。 在stanford parser目录中使用这段代码,并使jar文件小于100MB,这是每次推github的限制。在

jar tf stanford-parser-3.6.0-models.jar

并使用此命令删除不必要的类文件

zip -d stanford-parser-3.6.0-models.jar edu/stanford/path/to/file

并将文件推送到github并部署到应用程序中。在

您需要在构建时下载JAR文件,从而在应用程序中包含它们。从你链接到的答案来看,你可以用类似的方法来做这件事:

import nltk
nltk.download()

您还需要将JVM构建包添加到应用程序中:

^{pr2}$

相关问题 更多 >

    热门问题