# 匯入擴充套件庫
import re # 正規表示式庫
import collections # 詞頻統計庫
import numpy as np # numpy資料處理庫
import jieba # 結巴分詞
import wordcloud # 詞云展示庫
from pil import image # 影象處理庫
import matplotlib.pyplot as plt # 影象展示庫
# 讀取檔案
fn = open('c.csv') # 開啟檔案
string_data = fn.read() # 讀出整個檔案
fn.close() # 關閉檔案
# 文字預處理
pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"') # 定義正規表示式匹配模式
string_data = re.sub(pattern, '', string_data) # 將符合模式的字元去除
# 文字分詞
seg_list_exact = jieba.cut(string_data, cut_all = false) # 精確模式分詞
object_list =
remove_words = [u'的', u',',u'和', u'是', u'隨著', u'對於', u'對',u'等',u'能',u'都',u'。',u' ',u'、',u'中',u'在',u'了',
u'通常',u'如果',u'我們',u'需要'] # 自定義去除詞庫
for word in seg_list_exact: # 迴圈讀出每個分詞
if word not in remove_words: # 如果不在去除詞庫中
# 詞頻統計
word_counts = collections.counter(object_list) # 對分詞做詞頻統計
word_counts_top10 = word_counts.most_common(200) # 獲取前10最高頻的詞
print (word_counts_top10) # 輸出檢查
# 詞頻展示
mask = np.array(image.open('bg.jpg')) # 定義詞頻背景
wc = wordcloud.wordcloud(
font_path='c:/windows/fonts/simhei.ttf', # 設定字型格式
mask=mask, # 設定背景圖
max_words=200, # 最多顯示詞數
max_font_size=100 # 字型最大值
)wc.generate_from_frequencies(word_counts) # 從字典生成詞云
image_colors = wordcloud.imagecolorgenerator(mask) # 從背景圖建立顏色方案
wc.recolor(color_func=image_colors) # 將詞云顏色設定為背景圖方案
plt.imshow(wc) # 顯示詞云
plt.axis('off') # 關閉座標軸
plt.show() # 顯示影象
python 哈姆雷特 字數統計 詞云
def gettext 賦予txt哈姆雷特 全英文小寫 全符號變空格 返回txt txt open hamlet.txt r read 注意文字的路徑 txt txt.lower 文字字元全部轉變為小寫字母 for ch in txt txt.replace ch,使用空格字元替換掉文字中所有特殊字...
使用Python快速統計關鍵詞及其詞頻
1.通過jieba庫分詞獲取所有的詞語列表 2.計算列表裡出現詞語及其對應的頻次,儲存為字典 3.刪除字典中鍵為無關且頻次高的詞語的鍵值對 4.對字典裡的詞語按照頻次進行排序 5.輸出頻次前五的詞語及其頻次 如果沒有安裝 jieba 庫,需要使用 cmd 進入命令提示符視窗,通過 pip insta...
基於統計的詞向量
glove 的訓練過程 實質上還是監督學習 雖然 glove 不需要人工標註為無監督學習,但實質還是有 label 就是 log xij 向量 和 為學習引數,本質上與監督學習的訓練方法一樣,採用了 adagrad 的梯度下降演算法,對矩陣 x 中的所有非零元素進行隨機取樣,學習曲率 learnin...