Jieba統計詞頻並生成csv文件


一、制作簡單UI讀入數據

包括文本框、導入按鈕、開始按鈕的

import tkinter as tk  # 使用Tkinter前需要先導入

window = tk.Tk()
window.title('My Window')
window.geometry('600x300')  # 這里的乘是小x
t = tk.Text(window,width=80,height=15)
t.place(x=10, y=10)

def import_file():  # 在鼠標焦點處插入輸入內容
    pass

def run():  # 在文本框內容最后接着插入輸入內容
   print(t.get('0.0','end'))
   t.delete('0.0','end')
   # tk.messagebox.showinfo(title='', message='')


b1 = tk.Button(window, text='導入', width=10,height=2, command=import_file).place(x=300, y=220)
b2 = tk.Button(window, text='運行', width=10,height=2, command=run).place(x=400, y=220)

window.mainloop()

二、分詞功能實現

使用jieba對輸入的文本或讀取的world內容進行基礎分詞,轉成dataframe輸出csv文件

參考文檔:
結巴分詞和詞頻統計
結巴自定義詞典
結巴和pkuseg

jieba 是一個python實現的中文分詞組件,在中文分詞界非常出名,支持簡、繁體中文,高級用戶還可以加入自定義詞典以提高分詞的准確率。
它支持三種分詞模式:

  • 精確模式:試圖將句子最精確地切開,適合文本分析;
  • 全模式:把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
  • 搜索引擎模式:在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。

另外它還自帶有關鍵詞摘取算法:

  • 基於 TF-IDF 算法的關鍵詞抽取
  • 基於 TextRank 算法的關鍵詞抽取

代碼片段:
jieba的使用很簡單,通常使用的是精確模式。先清洗數據,將標點符號去掉。然后使用jieba.cut(te_text)進行分析,分詞結果匹配停用詞如果在停用詞就不做統計。

#分詞函數
def jiebaword(text):
    # 加載自定義詞典
    jieba.load_userdict(os.getcwd() + os.sep + 'userdict.txt')

    # 加載停用詞
    # path = os.getcwd() + os.sep
    stoppath = path + 'stopword.txt'
    logger.info("加載停用詞 %s " % stopwordslist(stoppath))

    # 過濾文本標點符號
    te_text = re_content(text)

    # 分詞
    logger.info("開始分詞")
    data = [i for i in jieba.cut(te_text) if i not in stopwordslist(stoppath) and i != ' ']
    # 使用collections統計詞頻
    logger.info("轉換成datafram")
    count_data = collections.Counter(list(data))
    # 將結果轉成dataframe
    df = pd.DataFrame(count_data.items(), columns=['key', 'cnt'])

    return df

三、全部代碼

下載地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM