简要介绍:
·NLTK(Python自然语言工具包)用于诸如标记化、词形还原、词干化、解析、POS标注等任务。该库具有几乎所有NLP任务的工具。
·Spacy是NLTK的主要竞争对手。这两个库可用于相同的任务。
·Scikit-learn为机器学习提供了一个大型库。此外还提供了用于文本预处理的工具。
·Gensim是一个主题和向量空间建模、文档集合相似性的工具包。
·Pattern库的一般任务是充当Web挖掘模块。因此,它仅支持自然语言处理(NLP)作为辅助任务。
·Polyglot是自然语言处理(NLP)的另一个Python工具包。它不是很受欢迎,但也可以用于各种NLP任务。
主要区别:
NLTK更具学术性。用户可以使用它来尝试不同的方法和算法,将它们组合起来。相反,Spacy为每个问题提供了一个开箱即用的解决方案。用户不必考虑哪种方法更好:Spacy的编写者已经解决了这个问题。此外,Spacy的执行速度非常快(比NLTK快几倍)。但Spacy的一个缺点是所支持的语言数量有限。但其支持的语言数量将会一直增加。所以,我们认为Spacy在大多数情况下是用户的最佳选择,但如果用户想尝试一些特别的东西,可以使用NLTK。
尽管这两个库很受欢迎,但还有许多不同的选项,NLP工具包的选择取决于用户必须解决的具体问题。
中文库:
jieba:
“结巴”中文分词:做最好的 Python 中文分词组件
whoosh:检索查找库:
Whoosh is a library of classes and functions for indexing text and then searching the index.