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.request 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()分詞處理?
轉載于:https://www.cnblogs.com/bianjing/p/9979552.html
總結
- 上一篇: 循序渐进学习Linux--第二天更新
- 下一篇: Ansible剧本介绍及使用演示(wee