2018 Python 计算生态十一月推荐榜
18年11月10日 · 计算生态推荐榜 6836 人阅读
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
自然语言是人类社会几千年存续沿用的语言统称,在人工智能应用不断普及的今天,用程序理解自然语言需求非常旺盛。随着自然语言技术日益成熟,围绕Python语言,一批耐用且好用的计算生态孕育而生。用或不用它们,已然不重要,因为它们就在那里,默默地维系着人类语言与程序之间的关系,让程序充满人性。
2018年11月,受中文语言及文学魅力的感召,好事者翻起金庸武侠全集,打开Python开发环境,特别推荐10款相当优秀的Python计算生态帮助大家轻松开启自然语言应用之旅。尽管中外文学博大精深、自然语言深奥无比,在这些计算生态帮助下,程序将很可能触及语言的本质规律和文学的风格色彩。感念语言大家、致敬文学大师,程序员也可以变得很有“文化”,不是吗?!
spaCy
spaCy 是一个 具有工业级强度Python 自然语言处理工具包。 spaCy 大量使用了 Cython 来提高相关模块的性能,并提供了预训练的统计模型和单词向量,拥有世界上最快的语法解析器,以及用于标记、解析和命名实体识别的卷积神经网络模型。目前支持30多种语言的符号化。
项目主页:https://spacy.io/
Gensim
Gensim 是一个用于话题空间建模、文档索引和大型语料库的相似性检索 Python第三方库。它专门为处理大型文本集合而设计,使用数据流和高效增量算法,有别于大多数只针对批处理和内存处理的功能库。
项目主页:https://radimrehurek.com/gensim/
Pattern
Pattern 是一个
Web 挖掘模块,可以抓取解析如谷歌、Twitter 和 Wikipedia 等各种来源的数据。它包含了多种NLP 工具(如:PoS tagging, n-Grams, sentiment analysis,
WordNet),具有向量空间模型、聚类、分类等机器学习功能,以及用于网络分析的各种工具。对于许多语言数据挖掘项目来说,Pattern是一个很好的一体化解决方案。
项目主页:https://www.clips.uantwerpen.be/pages/pattern
NLTK
NLTK是最出色的Python自然语言处理库。它不仅开发和维护优异,同时附带了大量的示例数据、语料库和预先训练好的模型。NLTK适合于语言学家、工程师、学生、教育者、研究人员和行业用户,可用于Windows、Mac OS X和Linux,最重要的是,NLTK是一个免费的、开源的、社区驱动的项目。
TextBlob
TextBlob 是一个基于 NLTK 和 Pattern 的自然语言处理库。它提供了非常简单的 API 来处理常见的自然语言任务,如词性标记、名词短语提取、情感分析、分类、翻译等。简单说,TextBlob以一种非常容易访问和易于管理的方式提供了日常自然语言处理所需的一切。
项目主页:https://textblob.readthedocs.io/en/dev/
Polyglot
Polyglot 是一个多语言文本处理工具包。虽然它具有与其他自然语言库相似的特性,如:标记化、词性标记、词嵌入、命名属性识别等,但 Polyglot 主要为多语言应用的场景而设计,在同时处理多种语言文本应用中,它提供了一批非常有趣的特性,如:语言检测和音译等,特色明显。
项目主页:https://polyglot.readthedocs.io/en/latest/
THULAC
THULAC 由清华大学自然语言处理与社会人文计算实验室研制,它是一套中文词法分析工具包,具有中文分词和词性标注功能。THULAC基于目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大,并具有高准确率及分析速度快的特点。简单说,THULAC是一个高效的中文此法分析工具包。
项目主页:http://thulac.thunlp.org/
jieba
jieba 是一个中文分词组件,被称为最好的 Python 中文分词组件。支持三种分词模式:精确模式、全模式和搜索引擎模式,并且支持繁体分词和自定义词典。简单说,jieba是一个非常好用的中文工具,以分词起家,但功能比分词要强大很多。而且,全国计算机等级考试二级Python语言必考jieba库。
项目主页:https://github.com/fxsjy/jieba
FoolNLTK
FoolNLTK 是一个中文语言处理工具包,基于
BiLSTM 模型训练而成,包含分词、词性标注、实体识别等功能,且准确率较高。FoolNLTK支持自定义词典,可以训练定制模型,进行批量处理。它可能不是速度最快的开源中文分词库,但很可能是结果最准!
项目主页:https://github.com/rockyzhengwu/FoolNLTK
SnowNLP
SnowNLP 是一个中文文本处理功能库,作者受 TextBlob 启发而编写。SnowNLP能够进行分词、标注,还能够进行情绪分析。与TextBlob 不同,它没有使用 NLTK,所有相关算法都是作者实现的,并且自带训练后的字典,可谓青出于蓝而胜于蓝。SnowNLP全面支持Unicode编码,让文本处理变得更简单。
Python3Turtle