>>>import nltk
>>>nltk.download()
引入book包
>>>from nltk.book import *
搜尋文字,顯示指定單詞及其上下文
>>>text1.concordance('monstrous')
查詢出現在相似上下文中的詞
>>>text1.similar('monstrous')
查詢兩個或兩個以上詞彙的上下文
>>>text2.common_contexts(['monstrous','very'])
文字中單詞出現的頻次分布
>>>text4.dispersion_plot(['citizens','democracy','freedom','duties','america'])
識別符號:表示一組字串行(單詞或標點符號)的術語。
詞型別:乙個詞在文字中獨一無二的出現或拼寫形式。
計數詞彙
>>>len(text3)
>>>sorted(set(text3)) --包含單詞和標點符號,不叫詞型別,而叫專案型別
索引:元素在鍊錶中出現的位置,從零開始,指示計算機從鍊錶第乙個元素開始向前多少個元素。
>>>text4[174]
>>>text.index('awaken')
計算文字中的詞頻
>>>fdist1 = freqdist(text1)
檢視詞彙的累積頻率分布圖:
>>>fdist1.plot(50,cumulative=true)
出現頻率只有一次的詞:
>>>fdist1.hapaxes()
搭配:不經常在一起出現的詞序列
提取文字中的雙連詞
>>>list(bigrams(sent1))
提取更頻繁的雙連詞
>>>text4.collocations()
nltk頻率分布類中定義的函式:
fdist = freqdist(******s) 建立包含給定樣本的頻率分布
fdist.inc(sample) 增加樣本 ?error:沒有這個屬性
fdist['monstrous'] 計數給定樣本出現的次數
fdist.n() 樣本總數
fdist.keys() 樣本鍊錶
for sample in fdist: 遍歷樣本
fdist.max() 數值最大的樣本
fdist.tabulate() 繪製頻率分布表
fdist.plot() 繪製頻率分布圖
fdist.plot(cumulative=true) 繪製累積頻率分布圖
fdist1 < fdist2 測試樣本在fdist1中出現的頻率是否小於fdist2
鍊錶推導
[f(w) for w in text if condition]
詞彙比較運算子
s.startswith(t) 測試s是否以t開頭
s.endswith(t) 測試s是否以t結尾
t in s 測試s是否包含t
s.islower() 測試s中所有字元是否都是小寫字母
s.isupper() 測試s中所有字元是否都是大寫字母
s.isalpha() 測試s中所有字元是否都是字母
s.isalnum() 測試s中所有字元是否都是字母或數字
s.isdigit() 測試s中所有字元是否都是數字
s.istitle() 測試s是否首字母大寫(s中所有的詞都首字母大寫)
所有pyhon控制結構都以冒號結尾,冒號表示當前語句與後面的縮排塊有關聯。
python自然語言處理 第一章
from future import division import nltk nltk.download from nltk.book import 搜尋文字 text1.concordance monstrous 出現在相似上下文中德詞彙 text1.similar monstrous 兩個或兩...
Python自然語言處理第一章
nltk即natural language toolkit,是乙個先進的用於處理自然語言的python程式,和python中的其他庫一樣,我們可以呼叫它來處理各種文字資訊。nltk功能強大,它不僅為我們學習nlp提供了豐富的語料庫,也為我們處理這些語料庫資訊提供了大量的方法,比如concordanc...
python自然語言處理 第一章答案
1.嘗試使用python直譯器作為乙個計算器,輸入表示式,如 12 4 1 12 42.26 個字母可以組成 26 的 10 次方或者 26 10個 10 字母長的字串。也就是 141167095653376l 結尾處的 l 只是表示這是 python 長數字格式 100 個字母長度的字串可能有多少...