向AI轉型的程式設計師都關注了這個號👇👇👇
大數據挖掘DT機器學習 公眾號: datayx
NLTK是由賓夕法尼亞大學計算機和信息科學使用python語言實現的一種自然語言工具包,其收集的大量公開數據集、模型上提供了全面、易用的接口,涵蓋了分詞、詞性標註(Part-Of-Speech tag, POS-tag)、命名實體識別(Named Entity Recognition, NER)、句法分析(Syntactic Parse)等各項 NLP 領域的功能。本文主要介紹NLTK(Natural language Toolkit)的幾種語料庫,以及內置模塊下函數的基本操作,諸如雙連詞、停用詞、詞頻統計、構造自己的語料庫等等,這些都是非常實用的。
1 古騰堡語料庫http://www.gutenberg.org/
運行結果:
標註文本語料庫 :許多語料庫都包括語言學標註、詞性標註、命名實體、句法結構、語義角色等
其他語言語料庫 :某些情況下使用語料庫之前學習如何在python中處理字符編碼
>>> nltk.corpus.cess_esp.words() ['El', 'grupo', 'estatal', 'Electricité_de_France', ...]
文本語料庫常見的幾種結構:
孤立的沒有結構的文本集;
按文體分類成結構(布朗語料庫)
分類會重疊的(路透社語料庫)
語料庫可以隨時間變化的(就職演說語料庫)
查找NLTK語料庫函數help(nltk.corpus.reader)
6 載入自己的語料庫構建完成自己語料庫之後,利用python NLTK內置函數都可以完成對應操作,換言之,其他語料庫的方法,在自己語料庫中通用,唯一的問題是,部分方法NLTK是針對英文語料的,中文語料不通用(典型的就是分詞),解決方法很多,諸如你通過插件等在NLTK工具包內完成對中文的支持。
7 條件概率分布條件頻率分布是頻率分布的集合,每一個頻率分布有一個不同的條件,這個條件通常是文本的類別。
條件和事件:
頻率分布計算觀察到的事件,如文本中出現的詞彙。條件頻率分布需要給每個事件關聯一個條件,所以不是處理一個詞序列,而是處理一系列配對序列。
詞序列:text=['The','Fulton','County']
配對序列:pairs=[('news','The'),('news','Fulton')]
每隊形式:(條件,事件),如果我們按照文體處理整個布朗語料庫,將有15個條件(一個文體一個條件)和1161192個事件(一個詞一個事件)
按文體計算詞彙:
運行結果:
http://www.gutenberg.org/
via https://www.cnblogs.com/baiboy/p/nltk4.html
不斷更新資源
深度學習、機器學習、數據分析、python
搜索公眾號添加: datayx
長按圖片,識別二維碼,點關注