一、nltk的文體分析及統計應用
Searching Text
from nltk.book import * text1.concordance("monstrous")
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
2. Counting Vocabulary
len(text3) sorted(set(text3)) #構建詞典
3. 詞頻統計 frequency distribution
fdist1 = FreqDist(text1) print(fdist1) print(fdist1("whale") fdist1.plot(50, cumulative=True) |
4. Collocations and Bigrams
text4.collocations() text8.collocations() |
二、NLP集成平臺
三、NLP工具軟件 Antconc
http://www.laurenceanthony.net/software/antconc/
Antconc
練習1:導入nltk的gutenberg,同時查找begin, bigan, bibun, beginning,bigins
練習2:查找一下單詞: off
練習3:檢索“the * of”這種結構
練習4:查找數字
練習5:查找15個字母以上的單詞
練習6:檢索“ed結尾的動詞與ly結尾的副詞的搭配”
例:提取語料庫中所有的名詞,只需鍵入*_NN(NN為名詞標碼)
練習7:導入brown語料庫,檢索love這個詞的動詞用法
練習8:找“介詞+名詞”這種結構
練習9:使用通配符檢索
符號 | 意義 | 檢索項 | 檢索結果 |
* | 零個或多個字符 | book* | 提取所有以book打頭的詞,如book、books、booking、bookshop等 |
*book | 提取所有以book結尾的詞,如book、notebook等 | ||
*book* | 可以同時提取包括以上兩類詞 | ||
+ | 零個或一個字符 | book+ | 提取所有以book打頭的詞,但之后有零個或一個字母,如book、books |
? | 任意一個字符 | ?ough | 提取所有以字母組合ough結尾的,但之前有一個字母的詞,如cough、rough等 |
@ | 零個或一個詞 | think@of
| 提取所有含有的詞組,如think of、think highly of等 |
# | 任意一個詞 | look# | 提取所有與look的搭配,如look after、look at等 |
練習10:提取搭配詞表collocate。
look
make
get
ask
catch
turn
keep
練習11:提取搭配短語Clusters。練習詞同上。
練習12:提取詞頻表wordlist。
練習13:
N字語詞頻表是指目標語料庫的多字語頻數表。例如,檢索句子“This is a pen”的2字語詞頻表結果為:“this is”、“is a”、“a pen”。
N字語詞頻表的提取方法:a)進入clusters界面,b)選中 N-gram;c)設置N字語詞頻表的長度
練習14:詞項重組---詞簇化(lemmatizing)
詞簇化是將同一詞性的某個詞的所有曲折變化形式作削尾處理,并歸為一個詞簇來計算頻數。其好處是可以簡約詞頻表并且引起對構詞法的關注。對詞頻表進行詞簇化的方法如下:在 界面生成詞頻表之后,拉下Tool Preference菜單,選擇Lemma list options, 點擊open 和load,上傳lemma文檔(點這里下載),最后點擊Apply 。
練習15:提取關鍵詞表
關鍵詞表是指兩個語料庫的詞頻表相比,其中一個明顯地高頻于另一個的那部分詞項表。
前一個稱目標語料庫,就是要分析keywords的文檔;例如之前分析過的“中國蜜蜂養殖”。
后一個稱參照語語料庫,通常規模要大一些,以此來凸現目標語料庫的一些特別高頻詞以浮現該語料庫的主題或內容特色。例如google搜索出來的結果。