【问题标题】:Python Package with NLTK as a Dependency以 NLTK 作为依赖项的 Python 包
【发布时间】:2018-07-31 11:44:46
【问题描述】:

我已经四处寻找与此相关的问题,但没有任何结果,所以我们开始吧:

我正在开发一个玩具 python 包以部署在 PyPi.org 上。它的一部分工作涉及简化解析文本和生成标记化句子的过程。自然地,我考虑过使用 nltk 来完成这项工作,并亲自使用了软件包中的 punkt 等工具。

这是问题和我的问题:查看了 nltk 的大小和它的工作要求,语料库大小接近 10 GB,我得出了结论考虑到它的用例,这对任何想要使用我的包的人来说都是一个奇怪的负担。

无论如何要部署punkt 的“预训练”实例?或者我可以控制nltk使用的语料库的大小吗?

对于解析相对“健全”的人类文本的替代软件包/解决方案,我同样持开放态度,它的性能有点接近 nltk,但没有相同的磁盘内存占用。

感谢您的帮助。


@matisetorm 为我指出的解决方案如下:

python -m nltk.downloader punkt

【问题讨论】:

  • 您可以选择性地下载像here 所述的语料库或使用GUI

标签: python parsing nltk


【解决方案1】:

当然。

1) 您可以选择性地下载语料库,如Programmatically install NLTK corpora / models, i.e. without the GUI downloader? 所述,例如,

python -m nltk.downloader <your package you would like to download>

2) 或在http://www.nltk.org/data.html 处使用带有说明的 GUI

这基本上相当于做以下和命令行

python3
import nltk
nltk.download()

【讨论】:

  • 您的回答和帕特里克的指向相同的解决方案。我想补充一下我在另一个post 中发现的知识,这似乎表明punkt 本身带有预训练模型。将自己限制在punkt 使内存占用仅约 50mb,更合理。
  • 当然。 :) 您应该始终将自己限制在您需要的那些数据库中。请参阅选项 1。punkt 是一个非常棒的资源。有时我只是下载我需要的并直接将其放入我的存储库中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-08
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 2014-08-20
相关资源
最近更新 更多