我在pythonnltk中开发了一些用于聚类、数据抽象等的算法。现在,问题是,我要在向风投公司展示之前,先把它做成规模。NLTK有其自身的优势,如快速发展等,但这对我来说是有意义的,当我一开始选择的时候。现在我已经足够成熟了,并且发现了它的一些局限性,比如缺乏可伸缩性。做了一些关于Mahout的研究,但这也适用于聚类/分类和搭配。opennlp是一个选项,但我不确定我可以用它多久。有什么好的地方适合大范围nlp吗?在
请注意-这个问题与我以前的问题-How can I improve the performance of NLTK? alternatives?无关。我已经把NLTK on a production web application读完了。在
NLTK确实是一个很好的学习平台,但它的设计并不是为了强大地服务于数以百万计的客户。在
您可以用两种不同的方法来解决可伸缩性问题:
“大数据”方法
这意味着重新考虑你的算法。需要良好的数学背景和对算法的正确理解。也许你甚至可以替换算法,因为执行时间与工作量的关系不大。在
因此,就实现你的想法而言,这可能是最困难(甚至不可能)的解决方案,这取决于你的技能。对于部署和将来的好处,这是迄今为止最简单的解决方案。在
“自力更生”的方法
可伸缩性意味着不同的东西:
关于可伸缩性有不同的数量级:您想扩展10倍、100倍、1000倍吗。。。?在
有不同的方法可以克服可伸缩性问题:
无论可伸缩性是什么类型的,以及您使用什么方法来克服它,请执行负载测试,看看您能处理什么。由于您无法立即负担所有硬件的费用,因此有多种方法可以对扩展的基础设施进行负载测试:
接近VCs(就可扩展性而言)
祝你好运!在
相关问题 更多 >
编程相关推荐