python - 用于 Python 的轻量级 NLP 框架

标签 python heroku nlp spacy

我目前正在使用 spaCy 来确定两个字符串之间的语义相似性。它运行良好,只需要几行代码,所有的跑腿工作都在幕后完成:

>>> import spacy
>>> nlp = spacy.load('en')
>>> nlp('string').similarity(nlp('another string'))
0.796

但是它需要大约 600mb 的模块数据。由于我在 Heroku 上托管,这远远超过了可用的 slug 大小。我正在寻找其他托管替代方案,但我可以使用其他框架吗?我不需要 spacy 的“工业实力”,但其他框架似乎效果不佳/实现起来不那么快。

最佳答案

spaCy models, as of v1.7.0, can be installed as Python packages. This means that they're a component of your application, just like any other module.

这是最近于 2017 年 3 月 20 日推出的 50 MB 模型:

en_core_web_sm 50 MB Vocab, syntax, entities, word vectors

您在网页中有更多详细信息 https://spacy.io/docs/usage/models

关于python - 用于 Python 的轻量级 NLP 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42824528/

相关文章:

python - 从 NLTK 中训练新的斯坦福词性标注器

python - 形容词 - 最高级和比较级

python - 使用循环删除所有相邻的重复项

java - Neo4j Rest graphdb 连接到远程 heroku 实例时挂起

ruby-on-rails - 我是否正确地在 Heroku + Unicorn 中预加载了应用程序?

python - 在 heroku 上部署 aiohttp

python - 如何使用Scipy的Kd-tree函数来加速K-Nearest Neighbors(KNN)

python - 优化蛮力数字求解器python的建议

python - 如何在 Python 中查找两个目录?

java - 从非结构化文本中识别并获取城市