您的位置 首页 kreess

Python給文稿生成詞雲 (上篇)

我們平時喜歡聽一些播客和直播視頻,比如小宇宙的各類播客節目、直播錄播視頻、知識星球音頻等,有時也會把好聽好看的節目下載下來轉成文稿進行學習,但是也有文稿囤積瞭很多,卻沒怎麼

我們平時喜歡聽一些播客和直播視頻,比如小宇宙的各類播客節目、直播錄播視頻、知識星球音頻等,有時也會把好聽好看的節目下載下來轉成文稿進行學習,但是也有文稿囤積瞭很多,卻沒怎麼看過,僅從標題無法看到文稿中具體講的是什麼內容,使得文稿筆記翻看率不高。

後來想起Python上有個叫wordcloud的詞雲工具,可以方便的制作詞雲,一個好的詞雲可以展示和方便他人瞭解一個文章的主題,同時自定義的美觀的樣式和背景顏值也很能打。之前也給大傢分享過自己制作的薑胡說的直播文稿生成的關鍵詞詞雲圖片,獲取詞雲後可以後來使用Notion一類的工具把往期節目以封面的形式整理起來。

有小夥伴說很酷,今天介紹下如何使用Python代碼實現下這個詞雲。

1. 實現原理和流程

一篇文章的詞雲就是關鍵字的集合體,每一篇文章我們可以拆分成多個關鍵詞,就像語法規則一樣可以分為主語、謂語、賓語,以及名詞、形容詞、動詞等,然後把每個單詞出現的頻率進行統計,比如看到一篇文章中’知識‘出現瞭2次,’寫作‘出現瞭4次,這個次數就是詞頻。然後根據詞頻多少,把詞頻多的單詞和詞頻小的單詞根據不同的字體展示成圖片,就實現瞭這個詞雲的功能。其中對文章關鍵詞進行拆飛就叫做分詞。

這裡面我們把這個流程梳理一下:

  1. 加載文稿文件
  2. 文章關鍵詞拆分
  3. 關鍵詞詞頻統計
  4. 生成關鍵詞圖雲
  5. 保存詞雲圖片

其中,關鍵步驟2、步驟3和步驟4都有對應的工具來實現,我們方便使用就行瞭

  1. 文章關鍵詞拆分 — 使用jieba分詞庫
  2. 關鍵詞詞頻統計 — numpy庫
  3. 生成關鍵詞圖雲 — wordcloud、stylecloud庫

但是這個流程還是會有些問題,比如拆分後的關鍵詞中會有“你、我、他”、“咿、呀、哈”一類的並沒有很多意義的詞,這些無實際意義的虛詞它們也會被統計進詞頻當中,影響幹擾正常的詞雲生成結果,這些詞我們叫做停用詞,所以為瞭保證結果我們還要在步驟2的後面添加一步去除過濾掉停用詞的步驟,我們可以做一個停用詞的列表。

最後的五步驟就成瞭六步驟:

  1. 加載文稿文件
  2. 文章關鍵詞拆分
  3. 去除停用詞
  4. 關鍵詞詞頻統計
  5. 生成關鍵詞圖雲
  6. 保存詞雲圖片

2. 實現詞雲的方式

有兩種詞雲的實現庫,一個是最基礎的詞雲wordcloud,另一個是stylecloud它有更美觀的樣式,是基於wordcloud實現的

我們分別用他們來實現簡單的例子,然後再次基礎上實現我們的最終的詞雲效果

2.1 安裝詞雲相關代碼庫

電腦上安裝Python環境之後且電腦聯網,就可以安裝Python庫瞭,本次用到的Python庫如下,大傢需要提前安裝

  • 先安裝相關庫(如果已有則可無視)wordcloud依賴於numpy and pillow,同時如果要預覽或保存生成的詞雲圖,matplotlib也是必須的。

pip install numpy
pip install pillow
pip install matplotlib

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部