Python数据挖掘-NLP

本文介绍了Python自然语言处理库NLTK的安装、主要功能及使用方法,包括语料库的利用、文本处理流程和词性标注等。NLTK支持强大的社区资源,自带多种语料和预训练模型,适合于文本分析、分词、分类等多种任务。
摘要由CSDN通过智能技术生成

NLTK

Python上著名的⾃然语⾔处理库
自带语料库,词性分类库
自带分类,分词,等等功能
强⼤的社区支持
还有N多的简单版wrapper

nltk的安装十分便捷,只需要pip就可以。相对Python2版本来说,NLTK更支持Python3版本。 

pip install -U nltk

# 测试是否安装成功
>>> python
>>> import nltk
 

安装下载语料库

import nltk
nltk.download()

便会弹出下面的包管理界面,在管理器中可以下载语料,预训练的模型等。

1.2 NLTK功能介绍

NLTK功能模块一览表:

NLTK 自带语料库

>>>from nltk.corpus import brown
>>>brown.categories()
['adventure', 'belles_lettres', 'editorial',
'fiction', 'government', 'hobbies', 'humor',
'learned', 'lore', 'mystery', 'news', 'religion',
'reviews', 'romance', 'science_fiction']
>>>len(brown.sents())
57340
>>>len(brown.words())
1161192

文本处理流程

 

 

Tokenize:把长句子拆分成有“意义”一个个的小部件,如下例 

>>> import nltk
>>> sentence = “hello, world"
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['hello', ‘,', 'world']
from nltk.tokenize import word_tokenize
tweet = 'RT @angelababy: love you baby! :D http://ah.love #168cm'
print(word_tokenize(tweet))
# ['RT', '@', 'angelababy', ':', 'love', 'you', 'baby', '!', ':',
# ’D', 'http', ':', '//ah.love', '#', '168cm']

中英文NLP区别

中文分词

import jieba
seg_list = jieba.cut("我来到北京清华⼤学", cut_all=True)
print "Full Mode:", "/ ".join(seg_list) # 全模式
seg_list = jieba.cut("我来到北京清华⼤学", cut_all=False)
print "Default Mode:", "/ ".join(seg_list) # 精确模式
seg_list = jieba.cut("他来到了⽹易杭研⼤厦") # 默认是精确模式
print ", ".join(seg_list)
seg_list = jieba.cut_for_search("⼩明硕⼠毕业于中国科学院计算所,后在⽇本京都⼤学深造")
# 搜索引擎模式
print ", ".join(seg_list)

分词之后的效果

1.3 nltk.text类介绍:

nltk.text.Text()类用于对文本进行初级的统计与分析,它接受一个词的列表作为参数。Text类提供了下列方法。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值