NLTK,SKLEARN,GENSIM的区别
NLTK专门收集和分类非结构化文本。如果您需要,例如一个POS标记器,lematizer,依赖分析器等,你会在那里找到它们,有时候在其他地方找不到它们。它提供了一系列广泛的工具,主要用于学术研究。但是:大多数情况下它并没有得到很好的优化 ——涉及NLTK库通常意味着接受巨大的性能损失。如果你进行文本收集或预处理,一开始是可以的使用的 ,直到找到一些更快的替代方案。
SKLEARN是一种分析工具,而不是一种收集工具。它有大量文件记录,经过优化,并涵盖了广泛的统计方法。
GENSIM是一个非常好的,但也是高度专业化的库,用于在“WORD2DOC”周边工作。也就是说:它为非结构化文本提供了一种简单且令人难以置信的良好工作和快速AI方法。如果您对制作感兴趣,您可能还会看一下TensorFlow,它提供了数学上通用化但性能极高的模型。
结论虽然相当重叠,但我个人更喜欢使用NLTK进行自然文本的预处理(即收集,词干,POS标记,过滤和'降噪'),GENSIM作为一种基础平台(用于自动编码,语义(主题)和句法(序列)模式 - 以及用于相似性识别,降维和多标签分类),以及SKLEARN,它可以轻松地与NLTK和GENSIM混合,用于第三步评估/集成/优化/处理问题。
通常,
- NLTK主要用于一般NLP任务(标记化,POS标记,解析等)
- Sklearn主要用于机器学习(分类,聚类等)
- Gensim主要用于主题建模和文档相似性。