Python機(jī)器學(xué)習(xí)NLP自然語言處理基本操作詞袋模型
概述
從今天開始我們將開啟一段自然語言處理 (NLP) 的旅程. 自然語言處理可以讓來處理, 理解, 以及運(yùn)用人類的語言, 實(shí)現(xiàn)機(jī)器語言和人類語言之間的溝通橋梁.
詞袋模型
詞袋模型 (Bag of Words Model) 能幫助我們把一個(gè)句子轉(zhuǎn)換為向量表示. 詞袋模型把文本看作是無序的詞匯集合, 把每一單詞都進(jìn)行統(tǒng)計(jì).
向量化
詞袋模型首先會(huì)進(jìn)行分詞, 在分詞之后. 通過通過統(tǒng)計(jì)在每個(gè)詞在文本中出現(xiàn)的次數(shù). 我們就可以得到該文本基于詞語的特征, 如果將各個(gè)文本樣本的這些詞與對(duì)應(yīng)的詞頻放在一起, 就是我們常說的向量化.
例子:
import jieba from gensim import corpora # 定義標(biāo)點(diǎn)符號(hào) punctuation = [",", "。", ":", ";", "?", "!"] # 定義語料 content = [ "今天天氣真不錯(cuò)!", "明天要下雨?", "后天要打雷。" ] # 分詞 seg = [jieba.lcut(con) for con in content] print("語料:", seg) # 去除標(biāo)點(diǎn)符號(hào) tokenized = seg.copy() for s in tokenized: for p in punctuation: if p in s: s.remove(p) print("去除標(biāo)點(diǎn):", tokenized) # tokenized是去標(biāo)點(diǎn)之后的 dictionary = corpora.Dictionary(seg) print("詞袋模型:", dictionary) # 保存詞典 dictionary.save('deerwester.dict') # 查看字典和下標(biāo)id的映射 print("編號(hào):", dictionary.token2id)
輸出結(jié)果:
Building prefix dict from the default dictionary ... Loading model from cache C:\Users\Windows\AppData\Local\Temp\jieba.cache Loading model cost 1.140 seconds. Prefix dict has been built successfully. 語料: [['今天天氣', '真不錯(cuò)', '!'], ['明天', '要', '下雨', '?'], ['后天', '要', '打雷', '。']] 去除標(biāo)點(diǎn): [['今天天氣', '真不錯(cuò)'], ['明天', '要', '下雨'], ['后天', '要', '打雷']] 詞袋模型: Dictionary(7 unique tokens: ['今天天氣', '真不錯(cuò)', '下雨', '明天', '要']...) 編號(hào): {'今天天氣': 0, '真不錯(cuò)': 1, '下雨': 2, '明天': 3, '要': 4, '后天': 5, '打雷': 6}
以上就是Python機(jī)器學(xué)習(xí)NLP自然語言處理基本操作詞袋模型的詳細(xì)內(nèi)容,更多關(guān)于Python機(jī)器學(xué)習(xí)NLP自然語言處理的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。