一、制作簡單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