Python自然语言工具库NLTK快速入门教程1简介

什么是自然语言处理?

自然语言处理是指通过软件或机器理解并操作文本或语音。 人类互动,了解彼此的观点,并用适当的答案作出回应。 在NLP中,这种交互,理解,响应是由计算机而不是人类完成的。

什么是NLTK?

NLTK代表Natural Language Toolkit。它包使计算机理解人类语言并使用适当的响应回复它。 本教程中将讨论标记,粉刺,词形还原,标点,字符计数,字数统计等。

自然语言库介绍

  • NLTK 最有用,且是是所有NLP库中的鼻祖。
  • spaCy 这是完全优化和高度准确的库,广泛用于深度学习
  • Stanford CoreNLP Python 基于C-S的体系结构,用JAVA编写的,但它提供了在Python API
  • TextBlob 处理文本数据,主要以API的形式提供所有类型的操作。
  • Gensim 强大、非常高效且可扩展。
  • Pattern 个轻量级NLP模块。 这通常用于Web挖掘,爬虫。 p
  • Polyglot 轻松处理多语言应用程序,基于身份和实体方式的特征提取。
  • PyNLPl 又名Pineapple。 它为许多数据格式提供了解析器,如FoLiA/Giza/Moses/ARPA/Timbl/CQL。
  • Vocabulary 从给定文本中获取语义类型信息。

另外还有jieba、SnowNLP、thulac等系列中文库,可以参考下:https://github.com/china-testing/python-api-tesing

NLTK安装

pip3 install nltk

下载数据集

import nltk
nltk.download ()

image.png

验证数据集

>>> from nltk.corpus import brown
>>> brown.words()
['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', ...]

分词快速入门

>>> from nltk.tokenize import RegexpTokenizer
>>> tokenizer = RegexpTokenizer(r'\w+')
>>> filterdText=tokenizer.tokenize('Hello https://china-testing.github.io/, You have build a very good site and I love visiting your site.')
>>> print(filterdText)
['Hello', 'https', 'china', 'testing', 'github', 'io', 'You', 'have', 'build', 'a', 'very', 'good', 'site', 'and', 'I', 'love', 'visiting', 'your', 'site']

RegexpTokenizer删除所有表达式,符号,字符,数字或任何你去掉的东西。

参考资料

links