Python 科学计算
Python 机器学习框架
NLP Natural Language Process 自然语言处理
NLP算法
对话系统
知识图谱
NLP 常见库和功能
NLP 常见库和功能
Python NLP
NLTK:a wonderful tool for teaching, and working in, computational linguistics using Python
- The Conqueror: NLTK
- The Prince: TextBlob
- The Mercenary: Stanford CoreNLP
- The Usurper: spaCy
- The Admiral: gensim
- Natural language toolkit (NLTK)
- Apache OpenNLP
- Stanford NLP suite
- Gate NLP library
nlp 基础
【总结】
- NLP
- 核心:从文字中提取含义=extract meaning from text
- 各种应用领域
- automated chat bots
- article summarizers
- multi-lingual translation
- opinion identification from data
- 常见任务=要做的事情
- text classification
- entity detection
- machine translation
- question answering
- concept identification
- 文本处理流程 flow
- 相关处理
- part-of-speech (POS) tagging
- sentiment analysis
- document classification
- topic modeling
- 分词=Tokenize=标记化
- 英文
- NLTK
- 中文
- jieba
- 比较难的时候
- 可能需要:正则表达式
- 词形处理
- 2种情况
- Inflection变化:不影响词性
- walk⇒walking⇒walked
- derivation 引申:影响词性
- nation(n.)⇒national(adj.)⇒nationalize(v.)
- NLP常见的库:
- Conqueror: NLTK
- Prince: TextBlob
- Mercenary: Stanford CoreNLP
- Usurper: spaCy
- Admiral: gensim
- 对于每个库的建议
- 单纯教育和研究:NLTK
- 优点:
- 最有名
- 结构模块化
- 利于学习NLP概念
- API文档比较全面
- 适用于
- 语言学家,工程师,学生,教育工作者,研究人员和行业用户
- 缺点:
- 太重、不够稳定,速度慢
- 不适合生产和实际工作
- 学习曲线太陡
- 功能
- 50多种语料库和词汇资源(如WordNet)
- 文本处理库:分类,标记化,词干化,标记,解析和语义推理
- TextBlob:
- 处理文本数据
- 基于NLTK
- 优点
- 更简单易用
- 学习曲线适中
- 适合快速建模和原型
- 建议:
- 初学者从此库入手
- 功能
- 词性标注 Part-of-speech tagging
- 名词短语提取和分析 Noun phrase extraction
- Sentiment analysis
- Classification (Naive Bayes, Decision Tree)
- Language translation and detection powered by Google Translate
- Tokenization (splitting text into words and sentences)
- Word and phrase frequencies
- Parsing
- n-grams
- Word inflection (pluralization and singularization) and lemmatization
- Spelling correction
- Add new models or languages through extensions
- WordNet integration
- CoreNLP:斯坦福出品,Java的库,带Python接口
- 优点:
- 性能好,生产环境中用的比较多
- SpaCy:设计目标是快速、streamlined、拿来即用与生产环境
- 哲学:每种目的只选用某一种最好的算法
- 特点:
- 基于Cython,(经过大量优化)性能好
- 很好地搭配其他深度学习框架:TensorFlow、PyTorch
- 预装了一些非常好的和有用的语言模型
- 现状:
- 已被很多人使用
- 现已支持50+种语言
- 之前只支持英语
- 支持功能
- 标记化Tokenize
- PoS标记
- 解析
- 命名实体识别
- Gensim:已被广泛采用
- 特点:
- 非NLP通用库
- 不适合所有领域
- 但是对于适合的领域,做的最好
- 主要用于
- 主题建模topic modeling
- 分析纯文本文档的语义结构
- 相似度检测document similarity analysis
- Pattern
- Web挖掘模块
- 包含
- 数据挖掘工具
- 谷歌,Twitter和维基百科API,网络爬虫,HTML DOM解析器
- 自然语言处理
- 词性标注,n-gram搜索,情感分析,WordNet
- 机器学习
- 矢量空间模型,聚类,SVM
- 网络分析
- <canvas>可视化
- Polyglot
- 主要用于多语言应用程序
- 特点
- 语言检测和音译
- Vocabulary
- Python模块形式的字典
转载请注明:在路上 » 【整理】Python NLP 科学计算 机器学习框架 常见库