【NLP】Python NLTK獲取文本語料和詞彙資源

2021-03-02 機器學習AI算法工程


向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/


2 網絡和聊天文本

3 布朗語料庫

4 路透社語料庫


5 就職演說語料庫

運行結果:

標註文本語料庫 :許多語料庫都包括語言學標註、詞性標註、命名實體、句法結構、語義角色等

其他語言語料庫 :某些情況下使用語料庫之前學習如何在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個事件(一個詞一個事件)
按文體計算詞彙:

 運行結果:


8 更多關於python:代碼重用

推薦】 古滕堡語料庫

http://www.gutenberg.org/

via  https://www.cnblogs.com/baiboy/p/nltk4.html

不斷更新資源

深度學習、機器學習、數據分析、python

 搜索公眾號添加: datayx  

長按圖片,識別二維碼,點關注

相關焦點

  • 【NLP】競賽必備的NLP庫
    ("word2vec.model")model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)model.save("word2vec.model")Gensim項目官網:https://radimrehurek.com/gensim/NLTK是一個免費的,開源的,社區驅動的項目,提供了50多種語料庫和詞彙資源
  • Python NLP中的五大英雄
    NLTK在50個語料庫和詞典,9個詞幹器,以及幾十種可選的算法。它是一個學術研究者的主題公園。然而,這也是NLTK一個主要的缺點。它是沉重的,滑滑的,它有一個陡峭的學習曲線。第二個主要缺點是緩慢而不是生產準備就緒。接下來的3個圖書館將解決這些弱點。資源《使用Python進行自然語言處理》。
  • 使用Python中的NLTK和spaCy刪除停用詞與文本標準化
    # 下面的代碼是使用nltk從句子中去除停用詞# 導入包import nltkfrom nltk.corpus import stopwordsfrom nltk.tokenize import word_tokenize set(stopwords.words
  • 數據競賽必備的NLP庫總結!
    get_tmpfile("word2vec.model")model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)model.save("word2vec.model")Gensim項目官網:https://radimrehurek.com/gensim/NLTK是一個免費的,開源的,社區驅動的項目,提供了50多種語料庫和詞彙資源
  • 打包帶走,競賽必備的NLP庫
    ("word2vec.model")model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)model.save("word2vec.model")Gensim項目官網:https://radimrehurek.com/gensim/NLTK是一個免費的,開源的,社區驅動的項目,提供了50多種語料庫和詞彙資源
  • 基於NLTK的Python自然語言處理-字符串的操作(切分)
    上篇文檔已經介紹了做自然語言處理中我們使用比較的python語言,以及使用的python集成開發環境(IDE,Integrated Development Environment )。從本篇文章將陸續介紹如何使用python進行自然語言處理。
  • 韋編 | NLTK——面向英文的python自然語言處理工具
    上周給大家介紹了一款面向中文的自然語言處理工具HanLP,今天給大家介紹另一款面向英文的經典的python自然語言處理工具——NLTK。NLTK全稱「Natural Language Toolkit」,知名的python自然語言處理工具,誕生於賓夕法尼亞大學,以研究和教學為目的而生,因此特別適合入門學習。它提供了易於使用的接口,通過這些接口可以訪問的語料庫和詞彙資源超過50個,還有一套用於分類、標記化、詞幹標記、解析和語義推理的文本處理庫,使用起來高效方便。
  • 【Python環境】python的nltk中文使用和學習資料匯總幫你入門提高
    資料2.2: 黃聰:Python+NLTK自然語言處理學習(二):常用方法(similar、common_contexts、generate) http://www.cnblogs.com/huangcong/archive/2011/08/29/2158054.html 這篇, 初步介紹了如何開始使用nltk的語料和他的一些常用方法.
  • 乾貨 | NLP、知識圖譜教程、書籍、網站、工具...(附資源連結)
    本文整理了關於 NLP 與知識圖譜的眾多參考資源,涵蓋內容與形式非常豐富。工具Natural Language Toolkit(NLTK)官網:http://www.nltk.org/可使用nltk.download()下載相關nltk官方提供的各種資源。
  • 一個快要被NLP人遺忘的方向: 句法分析
    print(tree)(S (NP Mary) (VP (V saw) (NP Bob)))nltk其它功能,如分詞,依存分析等功能 需要下載nltk自帶的數據:可以api nltk.download()也可以到  http://www.nltk.org/nltk_data/  在配置句法類型:SymbolMeaning
  • NLP、KG相關軟體、工具、資源匯總
    這裡收集了NLP、KG領域目前常用的軟體、工具和一些資源,方便大家按照需求選用。NTLK (Natural Language Toolkit,https://github.com/nltk/nltk):NLTK是用於構建處理自然語言數據Python程序的平臺。
  • NLTK框架API:豐富語言資源的可發現性設計
    作為一個免費獲取、豐富的語言學資源,FrameNet現在覆蓋了超過1000個語義框架,10000個詞彙意義,以及10萬個從語料庫抽取的詞彙標註。【註:我們認為:github.com/dasmith/FrameNet-python (Python),nlp.stanford.edu/software/framenet.shtml (Java),github.com/FabianFriedrich/Text2Process/tree/master/src/de/saar/coli/salsa/reiter/framenet(Java),github.com
  • ​關於深度學習、NLP和計算機視覺的30個頂級Python庫
    它具備著全面綜合的、靈活的工具、庫和社區資源生態系統,可以幫助研究人員去推動機器學習先進的技術的發展,並讓開發人員可以輕鬆地構建和部署基於機器學習的應用程式。2. Keras(https://github.com/keras-team/keras)
  • EMNLP 2017|喬治城大學:NLTK框架API: 豐富語言資源的可發現性設計
    ., 1998)一直在記錄關於框架語義理論(Fillmore, 1982)方面的當代英語的詞彙量。作為一個免費獲取、豐富的語言學資源,FrameNet現在覆蓋了超過1000個語義框架,10000個詞彙意義,以及10萬個從語料庫抽取的詞彙標註。
  • Python自然語言處理實踐: 在NLTK中使用斯坦福中文分詞器
    首先需要做一些準備工作,第一步當然是安裝NLTK,這個可以參考我們在gensim的相關文章中的介紹《如何計算兩個文檔的相似度》,不過這裡建議check github上最新的NLTK原始碼並用「python setup.py install」的方式安裝這個版本:https://github.com/nltk/nltk。
  • NLTK基礎 | 一文輕鬆使用NLTK進行NLP任務(附視頻)
    這裡針對Linux(Windows和Mac os應該也差不多,筆者太窮,買不起Mac,筆者就不嘗試了.)接下來,我們需要為NLTK安裝一些組件。通過通常的方式(jupyter裡面也可以哦)打開python並輸入:import nltknltk.download()一般地,GUI會像這樣彈出,只有紅色而不是綠色:GUI界面選擇下載所有軟體包的「all」,然後單擊「download」。
  • 【NLTK基礎】一文輕鬆使用NLTK進行NLP任務(附視頻)
    這裡針對Linux(Windows和Mac os應該也差不多,筆者太窮,買不起Mac,筆者就不嘗試了.)接下來,我們需要為NLTK安裝一些組件。通過通常的方式(jupyter裡面也可以哦)打開python並輸入:import nltknltk.download()一般地,GUI會像這樣彈出,只有紅色而不是綠色:GUI界面選擇下載所有軟體包的「all」,然後單擊「download」。
  • 關於NLP和機器學習之文本處理的你需要知道的一切(附學習資源)
    標籤:https://www.kdnuggets.com/tag/data-preprocessinghttps://www.kdnuggets.com/tag/machine-learninghttps://www.kdnuggets.com/tag/nlphttps://www.kdnuggets.com/tag/python
  • Python自然語言處理工具NLTK學習導引及相關資料
    關於NLTK,網上已經有了很多介紹資料,當然首推的NLTK學習資料依然是官方出的在線書籍 NLTK Book:Natural Language Processing with Python – Analyzing Text with the Natural Language Toolkit,目前基於Python 3 和 NLTK 3 ,可以在線免費閱讀和學習。
  • Python NLP入門教程
    如果News Feed算法知道你的興趣是自然語言處理,就會顯示相關的廣告和帖子。語音引擎:比如Apple的Siri。垃圾郵件過濾:如谷歌垃圾郵件過濾器。和普通垃圾郵件過濾不同,它通過了解郵件內容裡面的的深層意義,來判斷是不是垃圾郵件。