Python文本挖掘?qū)W習(xí)筆記-NLTK-分詞肉津,計(jì)算詞頻

文本挖掘也稱為文本分析抱慌,文本挖掘是探索大量文本數(shù)據(jù)并查找模式的過程蜂莉,我們將學(xué)習(xí)NLTK這個(gè)包,他功能強(qiáng)大,提供了一組多種自然語言算法。讓我們一起來看看吧~

首先酥夭,要在你的電腦安裝它:pip install nltk

第二步,我們要把文本分句脊奋,也叫tokenization~

比如說熬北,我們有一句話:“Hello Mr. Charles, how are you? Where are you now? OK, I will meet you in Shenzhen!”

上面這句話,我們可以看到他有三句~分別是:

Hello Mr. Charles, how are you???

Where are you now??

OK, I will meet you in Shenzhen!

我們可以用NLTK這個(gè)包把他分成三句~ 我們會(huì)用到sent_tokenize( ) 這個(gè)方法诚隙,示例如下:

除了分開句子讶隐,分開詞我們也是可以做到的~用到的是word_tokenize ( )

然后呢,我們就來進(jìn)行詞頻統(tǒng)計(jì)(Frequency Distribution)~

用到的是FreqDist( ) 這個(gè)方法

如果我們要看久又,最常見的巫延,就用.most_common(), 后面的括號(hào)代表最常見的top 幾,如果是5地消,就是top 5 炉峰,如下圖,我們就能看到脉执,排在前面的是you疼阔,逗號(hào),are适瓦,問號(hào)竿开。其中,you出現(xiàn)了3次玻熙,逗號(hào)否彩,are,問號(hào)出現(xiàn)兩次嗦随。

然后我們可以用matplotlib畫出一個(gè)圖列荔,來展示詞頻。

補(bǔ)充:分詞常用方法(摘抄)

這些對(duì)象均來自nltk.tokenize庫

1. word_tokenize

  導(dǎo)入nltk的tokenize庫后枚尼,tokens = nltk.word_tokenize(sentence)語句進(jìn)行分詞操作贴浙,sentence為待處理的字符串。返回一個(gè)列表署恍。

  該方法要求被處理的字符串本身各個(gè)詞語之間有空格崎溃,能處理如don't, they'll等縮寫詞的情況。

2. TweetTokenizer

  Twitter-aware盯质,按空格進(jìn)行分詞袁串,同時(shí)針對(duì)推文一些特性,去除@用戶名呼巷,保留表情等一些特殊符號(hào)囱修。

  分兩種:

  (1)不帶參數(shù)token=TweetTokenizer().tokenize(sentence)處理王悍。

      輸入"This is a coooool #dummysmiley: :-) :-P <3 and some arrows < > -> <--"

      輸出['This', 'is', 'a', 'cooool', '#dummysmiley', ':', ':-)', ':-P', '<3', 'and', 'some', 'arrows', '<', '>', '->', '<--']能夠拆分無效用的標(biāo)點(diǎn)符號(hào)破镰。

  (2)帶參數(shù)token = TweetTokenizer(strip_handles=True, reduce_len = True).

      輸入@remy: This is waaaaayyyy too much for you!!!!!!

      輸出[':', 'This', 'is', 'waaayyy', 'too', 'much', 'for', 'you', '!', '!', '!']

      當(dāng)一個(gè)詞中相同字符連續(xù)出現(xiàn)3次以上压储,就只保留3個(gè)鲜漩。設(shè)置strip_handles = True會(huì)刪去@xxx。

3. MWETokenizer

  tokenizer = MWETokenizer([('a', 'little'), ('a', 'little', 'bit'), ('a', 'lot')])

  輸入tokenizer.tokenize('In a litte or a litte bit or a lot in spite of'.split()); tokenizer.add_mwe(('in', 'spite', 'of'))

  輸出['In', 'a_little', 'or', 'a_little_bit', 'or', 'a_lot', 'in_spite_of']

  該方法可對(duì)已經(jīng)先保留的一些短語渠脉,或者組合宇整,進(jìn)行重組(對(duì)一些專有詞可以先進(jìn)行保留,如F-16芋膘,最后重組已保留-)鳞青。

4. RegexpTokenizer(https://www.runoob.com/regexp/regexp-syntax.html)

  使用到正則表達(dá)式進(jìn)行分詞,如對(duì)一些金錢表示或者其他非空白序列。

  tokenizer = RegexpTokenizer('\w+|\$[\d\.]+|\S+')

  輸入"Good muffins cost $3.88\n in New York. Please buy me\n two of?them.\n\n Thanks."

  輸出['Good', 'muffins', 'cost', '$3.88', 'in', 'New', 'York', '.',?'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']

5. StanfordTokenizer

  按空格進(jìn)行分詞为朋,對(duì)于$4.28之類的臂拓,將符號(hào)與數(shù)字分開。

  輸入“Good muffins cost $3.88\n in New York. Please buy me\n two of them.\n Thanks."

  輸出['Good', 'muffins', 'cost', '$', '3.88', 'in', 'New', 'York', '.', 'Please', 'buy', 'me', 'two', 'of', 'them', '.', 'Thanks', '.']

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末习寸,一起剝皮案震驚了整個(gè)濱河市胶惰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霞溪,老刑警劉巖孵滞,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件中捆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡坊饶,警方通過查閱死者的電腦和手機(jī)泄伪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匿级,“玉大人蟋滴,你說我怎么就攤上這事《灰铮” “怎么了津函?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)孤页。 經(jīng)常有香客問我尔苦,道長(zhǎng),這世上最難降的妖魔是什么散庶? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任蕉堰,我火速辦了婚禮,結(jié)果婚禮上悲龟,老公的妹妹穿的比我還像新娘屋讶。我一直安慰自己,他們只是感情好须教,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布皿渗。 她就那樣靜靜地躺著,像睡著了一般轻腺。 火紅的嫁衣襯著肌膚如雪乐疆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天贬养,我揣著相機(jī)與錄音挤土,去河邊找鬼。 笑死误算,一個(gè)胖子當(dāng)著我的面吹牛仰美,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播儿礼,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼咖杂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蚊夫?” 一聲冷哼從身側(cè)響起诉字,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后壤圃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陵霉,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年伍绳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了撩匕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墨叛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出模蜡,到底是詐尸還是另有隱情漠趁,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布忍疾,位于F島的核電站闯传,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏卤妒。R本人自食惡果不足惜甥绿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望则披。 院中可真熱鬧共缕,春花似錦、人聲如沸士复。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阱洪。三九已至便贵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冗荸,已是汗流浹背承璃。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚌本,地道東北人盔粹。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像魂毁,于是被迫代替她去往敵國(guó)和親玻佩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容