我在python nltk中开发了几种用于聚类,数据抽象等的算法。现在,问题是,我要在风险投资之前呈现大规模。 NLTK有自己的优势,比如快速开发等。但是当我在开始时选择时,这对我来说很有意义。现在我已经足够成熟,并且发现它有一些局限性,比如缺乏可扩展性。对Mahout进行了一些研究,但这也是针对集群/分类和搭配的。打开NLP是一个选项,但我不确定我能用多长时间。对于高规模的nlp有什么好处吗?
请注意 - 此问题与我的旧问题无关 - How can I improve the performance of NLTK? alternatives?。我已经完全阅读了NLTK on a production web application。
答案 0 :(得分:4)
NLTK确实是一个很好的学习平台,但并不是为数百万客户提供强大的服务。
您可以通过两种不同的方式解决可扩展性问题:
这意味着需要重新思考算法。需要良好的数学背景和对算法的充分理解。也许你甚至会替换算法,因为执行时间与工作量的关系不大。
因此,在实施您的想法方面,这可能是最困难的(甚至可能是不可能的)解决方案,具体取决于您的技能。对于部署和未来的好处,这是迄今为止最简单的解决方案。
你可以通过可扩展性来表达不同的东西:
关于可扩展性有不同的数量级:你想扩展10倍,100倍,1000倍......?
有许多方法可以克服可伸缩性问题:
无论可伸缩性的类型如何,以及您用来克服它的方法,都要进行负载测试以查看可以处理的内容。由于您无法立即负担所有硬件,因此可以通过不同方式对扩展基础架构进行负载测试: