kga*_*kga 10 python java nlp information-retrieval text-mining
我很快就会开始一个新的项目,我将要做很多文本处理任务,比如搜索,分类/分类,聚类等等.
将会有大量需要处理的文件; 可能是数百万的文件.在初始处理之后,它还必须能够每天更新多个新文档.
我可以使用Python来做这件事,还是Python太慢了?最好使用Java吗?
如果可能的话,我更喜欢Python,因为这是我最近一直在使用的.另外,我会更快地完成编码部分.但这一切都取决于Python的速度.我已经使用Python进行了一些小规模的文本处理任务,只有几千个文档,但我不确定它的扩展程度.
Chr*_*ris 18
两者都很好.Java在文本处理方面有很多动力.斯坦福的文本处理系统,OpenNLP,UIMA和GATE似乎都是大玩家(我知道我错过了一些).在玩了几分钟之后,您可以在大型语料库上运行StanfordNLP模块.但是,它有很大的内存要求(当我使用它时大约3 GB).
NLTK,Gensim,Pattern和许多其他Python模块都非常擅长文本处理.他们的内存使用和性能非常合理.
Python可以扩展,因为文本处理是一个非常容易扩展的问题.解析/标记/分块/提取文档时,您可以非常轻松地使用多处理.一旦你的文本进入任何类型的特征向量,那么你可以使用numpy数组,我们都知道numpy是多么伟大...
我学习了NLTK,Python帮助我大大减少了开发时间,所以我认为你先给它一个镜头.他们也有一个非常有用的邮件列表,我建议你加入.
如果您有自定义脚本,您可能想要查看它们与PyPy的执行情况.
没有尝试就很难回答这样的问题.那你为什么不呢
我在过去做过这个,这真的是一种方式,看看某些东西是否表现得足够好.
就写吧,人编程最大的缺陷就是过早优化。开展一个项目,将其写出来并使其发挥作用。然后返回并修复错误并确保其优化。会有很多人喋喋不休地谈论 x 与 y 的速度,y 比 x 更好,但归根结底它只是一种语言。问题不在于语言是什么,而在于它如何使用它。
| 归档时间: |
|
| 查看次数: |
9855 次 |
| 最近记录: |