NLTK入门

Posted bianjing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLTK入门相关的知识,希望对你有一定的参考价值。

首先要了解python的基本语法,

  其中列表的处理,字符串的格式化,以及词汇的比较运算(包括判断某一个词语开头是否大小写等)

专有名词:

  1. 分词:用于产生词汇和标点符号的链表

安装完NlLTK后,

  import nltk

  nltk.download()  

计算text1中每个词的平均出现次数公式:

  avg = len(text1)/len(set(text1))

计算text1中某个词的出现频率

  p = text1.count(‘a‘)/len(text1)

import nltk
from nltk.book import *    #所有的文本数据导入,(text1 ~text9)

nltk.download() #下载所需的训练文本数据
text1.concordance(‘monstrous‘)    #查找text1文本中存在monstrous的
text1.count(‘word‘)   #计算word在text1中出现的次数
text1.silimar(‘monstrous‘) text1.common_contexts([‘monstrous‘, ‘very‘]) #查看使用两个或者两个以上词语的上下文 text1.dispersion_plot([‘word1‘, ‘word2‘, ‘word3‘, ...]) #画出这些词语分布的离散图 text1.generate() #生成text1中的随机文本 fdist1 = FreqDist(text1) #可以用来寻找text1中最常见的词 fdist1.key()[:50] fdist = FreqDist([len(w) for x in text1]) #FreqDist不仅可以显示词,还可以显示没个词对应的长度,【1, 3,5,6,11,5,9,......】 fdist.keys() # 查询计数链表中的每个数字出现的次数,以频率递减顺序的样本链表 fdist.items() #[(3,50223), (9,988), ...] 词长度为3的有50223个 fdist[3] #查看词长为3的有多少个, fdist.fred(3) #计算词长为3的词频。
fdist.fred[‘a‘]  #计算a的出现频率
fdist.hapaxes()   #查看只出现一次的词
fdist.inc(sample)  #增加样本
fdist[‘a‘]  #计算给定样本出现的次数
fdist.N{}  #样本总数
fdist.tabulate()  #绘制频率分布表
fdist.plot()  #绘制频率分布图
fdist.plot(cumulative=True)  #绘制累积频率分布图
fdist1 < fdist2  #测试数据fdist1是否小于fdist2

2.处理网页中获取的文本内容

from urllib import urlopen
url = "www.xxxx.com/a.txt"
raw = urlopen(url).read() # raw是从某url获取的文本
tokens = nltk.word_tokenize(raw)    #此时tokens为含有词汇和标点的链表
text = nltk.Text(tokens) #text为<type. ‘nltk.text.Text‘> 对象
text.collocations()   #找文本中频繁相邻的二元组
a = raw.find(‘PART I‘)  # 找到文中以 PART I 开头的词语在哪一个位置
b = raw.rfind(‘where are you‘)  #找到以wehere are you 结尾的位置在哪个位置,
raw = raw[a:b]  #可以根据此方式去除不需要的开头和结尾的文本内容

3. 处理html 网络的文本大部分是以html的形式,可以用一下方式进行简单的处理

url = www.youtube.com
html = urlopen(url).read()   #html包含了网址中的所有内容,css,jss,html代码等
raw = nltk.clean_html(html)    #nltk 中提供的处理html的辅助函数。返回处理后的原始文本 ,然后可以对raw进行word_tokenize()分词处理

 














以上是关于NLTK入门的主要内容,如果未能解决你的问题,请参考以下文章

python nltk 入门demo

Python: NLTK几个入门函数

在PyCharm中安装nltk,以及nltk data的下载。

python自然语言处理函数库nltk从入门到精通

Python自然语言工具包(NLTK)入门

机器学习入门-文本数据-构造词频词袋模型 1.re.sub(进行字符串的替换) 2.nltk.corpus.stopwords.words(获得停用词表) 3.nltk.WordPunctToke