NLTK基础 | 一文轻松使用NLTK进行NLP任务(附视频)
NLTK作為文本處理的一個強大的工具包,為了幫助NLPer更深入的使用自然語言處理(NLP)方法。本公眾號開更Natural Language Toolkit(即NLTK)模塊的“ Natural Language Processing”教程系列。
NLTK在文本領域堪稱網(wǎng)紅屆一姐的存在,可以幫助在文本處理中減少很多的麻煩,比如從段落中拆分句子,拆分單詞,識別這些單詞的詞性,突出顯示主要的topic,甚至可以幫助機器理解文本的全部內(nèi)容,在本系列中,我們將主要討論觀點挖掘和情感分析領域。
在之后學習NLTK的過程中,我們將主要學習以下內(nèi)容:
將文本切分成句子或者單詞
NLTK命名實體識別
NLTK文本分類
如何將Scikit-learn (sklearn)和NLTK結(jié)合使用
使用Twitter執(zhí)行實時,流式傳輸,情感分析
.......
歡迎大家持續(xù)關注“AI算法之心”
在學習NLTK之前,當然是NLTK的安裝。在安裝NLTK之前,首先需要安裝Python。
這里就此略過......
注意:請安裝python3的環(huán)境
接下來就是安裝NLTK3,最簡單的安裝NLTK模塊的方法是使用pip。
這里針對Linux(Windows和Mac os應該也差不多,筆者太窮,買不起Mac,筆者就不嘗試了......)
pip install nltk接下來,我們需要為NLTK安裝一些組件。通過通常的方式(jupyter里面也可以哦)打開python并輸入:
import nltk nltk.download()一般地,GUI會像這樣彈出,只有紅色而不是綠色:
GUI界面選擇下載所有軟件包的“all”,然后單擊“download”。這將提供所有標記器,分塊器,其他算法以及所有語料庫。如果空間有限,可以選擇手動選擇下載所需要的內(nèi)容。NLTK模塊將占用大約7MB,整個nltk_data目錄將占用大約1.8GB,其中包括分塊器,解析器和語料庫。
如果沒有上述界面,可以通過命令行下載,
import nltk nltk.download() d (for download) all (for download everything)這樣一來,就可以下載所有內(nèi)容。
安裝完成后,下面我們來簡單的了解一些相關知識。下面舉個例子,說明如何使用NLTK模塊,比如將一段話按照句子粒度劃分:
from nltk.tokenize import sent_tokenize, word_tokenize EXAMPLE_TEXT = "Hello Mr. Smith, how are you doing today? The weather is great, and Python is awesome. The sky is pinkish-blue. You shouldn't eat cardboard." print(sent_tokenize(EXAMPLE_TEXT))最初,或許你會認為通過單詞或句子之類的標記進行標記是一件微不足道的事情。對于很多句子來說都可以。第一步可能是做一個簡單的.split('.'),或按句點和空格分隔。然后,也許會引入一些正則表達式以"."," "和大寫字母(針對英文語料)分隔。問題是像"Mr. Smith"這樣的事情會帶來麻煩,還有許多其他事情。
另外,按單詞拆分也是一個挑戰(zhàn),尤其是在考慮像我們這樣的串聯(lián)這樣的事情時。NLTK將會繼續(xù)前進,并且通過這種看似簡單但非常復雜的操作在文本處理的時候節(jié)省大量時間。
上面的代碼將輸出句子,分為句子列表。
['Hello Mr. Smith, how are you doing today?', 'The weather is great, and Python is awesome.', 'The sky is pinkish-blue.', "You shouldn't eat cardboard."]
下面我們將這段話按照詞的劃分試試:
print(word_tokenize(EXAMPLE_TEXT))現(xiàn)在我們得到的輸出是:
['Hello', 'Mr.', 'Smith', ',', 'how', 'are', 'you', 'doing', 'today', '?', 'The', 'weather', 'is', 'great', ',', 'and', 'Python', 'is', 'awesome', '.', 'The', 'sky', 'is', 'pinkish-blue', '.', 'You', 'should', "n't", 'eat', 'cardboard', '.']
這里有幾件事要注意。首先,請注意,標點符號被視為單獨的詞。另外,請注意將單詞“shouldn't”分為“should”和“n't”。最后,“pinkish-blue”確實被當作它要變成的"one word"。太酷了!
現(xiàn)在,看看這些標記化的單詞,我們必須開始考慮下一步可能是什么。我們開始思考如何通過看這些單詞來產(chǎn)生意義。我們可以清楚地想到為許多單詞賦予價值的方法,但是我們也看到了一些基本上毫無價值的單詞。這些是停用詞(stopwords)的一種形式,我們也可以處理。下一篇我們將介紹NLTK中的stopwords,歡迎關注哦!!!
總結(jié)
以上是生活随笔為你收集整理的NLTK基础 | 一文轻松使用NLTK进行NLP任务(附视频)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python词云#疫情退去后,你最想做什
- 下一篇: GitHub:除非真正需要,否则我们不会