1. 程式人生 > >《自然語言處理》- 第一章

《自然語言處理》- 第一章

2.0 增加 語言 查看 就是 ner ams contex ext2

1.基礎概念和接口

import nltk
from nltk.book import *

#查看一下text的數據類型
type(text2)

可以看到book中把各種文章都打包到下面的類中了:

<class nltk.text.Text>

那再看下此類的方法

dir(nltk.text.Text)
collocation_list
collocations
common_contexts
concordance
concordance_list
count
dispersion_plot
findall
generate
index
plot
readability 
similar
unicode_repr
vocab
text1.concordance("very") #實際就是找出包含very單詞的句子
text2.similar("kind") #找出text2中與單詞kind相似的詞匯,測試了幾次,
#發現是從詞匯的屬性(名詞,形容詞,副詞等)和意思來做判斷的,有時候會出現一些莫名其妙的詞匯

text4.common_contexts(very) #也可以傳入字符串數組

text2.dispersion_plot([name,people]) #查看參數中的單詞在文章中的分布

text3.generate() #這個接口在NLTK2.0中還可以使用,NLTK3.0後需要傳入參數

Text類是一個類似於列表的存在,可以使用操作列表的那套方法來操作Text類,例如:

len(text2)
set(text2)
text2.index(hate)
sorted(text4)

bigrams() 2.0版本返回一個元組列表,3.0是一個生成器

fdist = FreqDist(samples) #創建包含給定樣本的頻率分布
fdist.inc(sample) #增加樣本
fdist[monstrous] #計數給定樣本出現的次數
fdist.freq(monstrous) #給定樣本的頻率
fdist.N() #樣本總數
fdist.keys() #
以頻率遞減順序排序的樣本鏈表 for sample in fdist: #以頻率遞減的順序遍歷樣本 fdist.max() #數值最大的樣本 fdist.tabulate() #繪制頻率分布表 fdist.plot()# 繪制頻率分布圖

詞意消歧:算出特定上下文中的詞被賦予了哪個意思。

指代消解:確定代詞或者名詞短語指的是什麽

語義角色標註:確定名詞短語如何與動詞相關聯

《自然語言處理》- 第一章