Python自然語言處理 1 語言處理與Python
import nltk
nltk.download() #下載corpora 和 book
#測試book
from nltk.book import *
有text1 ~ text9
#搜尋文字
text1.concordance("monstrous")
#查詢與詞有相似的上下文,如the ___ pictures 和 the ___ size
text1.similar("monstrous")
#共用兩個或兩個以上詞彙的上下文
text2.common_contexts( [ "monstrous", "very" ] )
# 詞在文字中的位置, 用離散圖表示
text4.dispersion_plot( ["citizens", "democracy", "freedom", "duties", "America"] )
# 不同風格產生隨機文字
text3.generate()
# 計數詞彙
len(text3)
44764個識別符號
# 獲得詞彙表
set(text3)
sorted(set(text3))
len(set(text3))
2789 個不同的詞彙 #是指一個詞在一個文字中獨一無二的出現或拼寫形式
from __future__ import division
len(text3) / len(set(text3))
16.05
text3.count("smote") #詞出現的次數
100 * text4.count('a) / len(text4)
1.46
# 頻率分佈
fdist1 = FreqDist(text1)
fdist1
FreqDist({u'foul': 11, u'four': 74, u'fleeces': 1, u'woods': 9, u'clotted': 2, u'hanging': 19, u'woody': 1, u'Until': 2, u'disobeying': 1,vocabulary1 = fdist1.keys() # keys提供文字中所有不同型別的連結串列
vocabulary1[:50] # 切片檢視
fdist1['whale']
fdist1.plot(50, cumulative=True) # 累積詞頻圖
# 細粒度的選擇詞
集合論:找出文字詞彙表中長度超過15個字元的詞,把它稱為P特性
w | w 屬於 V 並且 P(w)
對應的Python表示式 w for w in V if P(w)
V = set(text1)
long_words = [ w for w in V if len(w) > 15]
sorted(long_words)
[u'CIRCUMNAVIGATION', u'Physiognomically', u'apprehensiveness', u'cannibalistically', u'characteristically'.....
聊天語料庫中所有長度超過7個字元並且出現次數超過7次的詞
fdist5 = FreqDist(text5)
sorted([ w for w in set(text5) if len(w) > 7 and fdist5(text5)[w] > 7 ])
# 詞語搭配和雙連詞
雙連詞 bigrams()
text4.collocations()
# 計算其他東西
最頻繁詞的長度是多少, 有多少個?
#
# 巢狀程式碼塊
允許我們在條件表示式或者說if語句條件滿足時執行程式碼塊
# 自動理解自然語言
# NLP的侷限性
仍然不能進行常識推理或以一般的可靠的方式描述這個世界的知識
# 深入閱讀
http://www.nltk.org
計算語言學協會ACL
LanguageLog語言學部落格
相關文章
- Python自然語言處理Python自然語言處理
- Python自然語言處理 3 處理原始文字Python自然語言處理
- 精通Python自然語言處理 1 :字串操作Python自然語言處理字串
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 自然語言處理(NLP)自然語言處理
- 自然語言處理與分析(one)自然語言處理
- Python自然語言處理實戰(1):NLP基礎Python自然語言處理
- NLP1 —— Python自然語言處理環境搭建Python自然語言處理
- 自然語言處理與情緒智慧自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 如何用Python處理自然語言?(Spacy與Word Embedding)Python
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- 《Python自然語言處理實戰》連結表Python自然語言處理
- 精通Python自然語言處理 3 :形態學Python自然語言處理
- Python 自然語言處理(NLP)工具庫彙總Python自然語言處理
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞
- Python自然語言處理 6 學習分類文字Python自然語言處理
- 中國語文(自然語言處理)作業自然語言處理
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- Python自然語言處理工具Python自然語言處理
- Python自然語言處理入門Python自然語言處理
- 自然語言處理之jieba分詞自然語言處理Jieba分詞
- 人工智慧 (06) 自然語言處理人工智慧自然語言處理
- 自然語言處理的最佳實踐自然語言處理
- 機器學習工作坊 - 自然語言處理機器學習自然語言處理
- 配置Hanlp自然語言處理進階HanLP自然語言處理
- 自然語言處理NLP快速入門自然語言處理
- 自然語言處理(NLP)入門指南自然語言處理
- 使用Mahout實現自然語言處理自然語言處理
- 使用 Python+spaCy 進行簡易自然語言處理Python自然語言處理
- 基於 Python 的簡單自然語言處理實踐Python自然語言處理
- Python 自然語言處理(基於jieba分詞和NLTK)Python自然語言處理Jieba分詞
- Python自然語言處理 4 編寫結構化程式Python自然語言處理
- Python自然語言處理 5 分類和標註詞彙Python自然語言處理