什么是自然语言处理?
自然语言处理是指通过软件或机器理解并操作文本或语音。 人类互动,了解彼此的观点,并用适当的答案作出回应。 在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', ...]
参考资料
讨论qq群144081101 591302926 567351477
本文涉及的python测试开发库谢谢点赞!
分词快速入门
>>> 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删除所有表达式,符号,字符,数字或任何你去掉的东西。
网友评论