python詞雲圖與中文分詞,python中文詞雲圖的代碼

本文目錄一覽:

如何利用Python對中文進行分詞處理

python做中文分詞處理主要有以下幾種:結巴分詞、NLTK、THULAC

1、fxsjy/jieba

結巴的標語是:做最好的 Python 中文分詞組件,或許從現在來看它沒做到最好,但是已經做到了使用的人最多。結巴分詞網上的學習資料和使用案例比較多,上手相對比較輕鬆,速度也比較快。

結巴的優點:

支持三種分詞模式

支持繁體分詞

支持自定義詞典

MIT 授權協議

2、THULAC:一個高效的中文詞法分析工具包

前兩天我在做有關於共享單車的用戶反饋分類,使用jieba分詞一直太過零散,分類分不好。後來江兄給我推薦了THULAC: 由清華大學自然語言處理與社會人文計算實驗室研製推出的一套中文詞法分析工具包 。THULAC的接口文檔很詳細,簡單易上手。

THULAC分詞的優點:

能力強。利用規模最大的人工分詞和詞性標註中文語料庫(約含5800萬字)訓練而成,模型標註能力強大。

準確率高。該工具包在標準數據集Chinese Treebank(CTB5)上分詞的F1值可達97.3%,詞性標註的F1值可達到92.9%

速度較快。同時進行分詞和詞性標註速度為300KB/s,每秒可處理約15萬字。只進行分詞速度達到1.3MB/s,速度比jieba慢

Python 解決中文編碼問題基本可以用以下邏輯:

utf8(輸入) —— unicode(處理) —— (輸出)utf8

Python 裏面處理的字符都是都是unicode 編碼,因此解決編碼問題的方法是把輸入的文本(無論是什麼編碼)解碼為(decode)unicode編碼,然後輸出時再編碼(encode)成所需編碼。

由於處理的一般為txt 文檔,所以最簡單的方法,是把txt 文檔另存為utf-8 編碼,然後使用Python 處理的時候解碼為unicode(sometexts.decode(‘utf8’)),輸出結果回txt 的時候再編碼成utf8(直接用str() 函數就可以了)。

如何用python對文章中文分詞並統計詞頻

1、全局變量在函數中使用時需要加入global聲明

2、獲取網頁內容存入文件時的編碼為ascii進行正則匹配時需要decode為GB2312,當匹配到的中文寫入文件時需要encode成GB2312寫入文件。

3、中文字符匹配過濾正則表達式為ur'[\u4e00-\u9fa5]+’,使用findall找到所有的中文字符存入分組

4、KEY,Value值可以使用dict存儲,排序後可以使用list存儲

5、字符串處理使用split分割,然後使用index截取字符串,判斷哪些是名詞和動詞

6、命令行使用需要導入os,os.system(cmd)

Python 畫好看的雲詞圖

詞雲圖是數據分析中比較常見的一種可視化手段。詞雲圖,也叫文字雲,是對文本中出現頻率較高的 關鍵詞 予以視覺化的展現,出現越多的詞,在詞雲圖中展示越顯眼。詞雲圖過濾掉大量低頻低質的文本信息,因此只要一眼掃過文本就可 領略文章主旨 。

例如?上面這張圖,看一眼就知道肯定是新華網的新聞。

那生成一張詞雲圖的主要步驟有哪些?這裡使用 Python 來實現,主要分三步:

首先是「結巴」中文分詞 jieba 的安裝。

對於英文文本,word_cloud 可以直接對文本源生成詞雲圖。但是對中文的支持沒有那麼給力,所以需要先使用 jieba 對中文文本進行分詞,把文章變成詞語,然後再生成詞雲圖。例如:

jieba.cut 分詞:方法接受三個輸入參數,sentence 需要分詞的字符串;cut_all 用來控制是否採用全模式;HMM 用來控制是否使用 HMM 模型。

jieba.cut_for_search 分詞:方法接受兩個參數,sentence 需要分詞的字符串;是否使用 HMM 模型。該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。

jieba.analyse.textrank 使用 TextRank 算法從句子中提取關鍵詞。

然後安裝 wordcloud 詞雲圖庫。

如果執行上面命令後,顯示 success,那麼恭喜你,安裝成功了。

我就遇到了 Failed building wheel for wordcloud 的錯誤。於是先安裝 xcode-select, 再安裝 wordcloud 即可(無需安裝 Xcode)。

wordcloud 庫把詞雲當作一個 WordCloud 對象,wordcloud.WordCloud() 代表一個文本對應的詞雲,可以根據文本中詞語出現的頻率等參數繪製詞雲,繪製詞雲的形狀、尺寸和顏色。

1、首先導入文本數據並進行簡單的文本處理

2、分詞

3、設置遮罩

注意:

1、默認字體不支持中文,如果需要顯示中文,需要設置中文字體,否則會亂碼。

2、設置遮罩時,會自動將圖片非白色部分填充,且圖片越清晰,運行速度越快

其中 WordCloud 是雲詞圖最重要的對象,其主要參數描述如下:

效果如下圖:

上小結是將文章中所有內容進行分詞,輸出了所有詞,但很多時候,我們有進一步的需求。例如:

1、只需要前 100 個關鍵詞就夠了。

2、不需要五顏六色的詞語,應與遮罩圖片顏色一致。

100個關鍵詞,我們在分詞時使用 TextRank 算法從句子中提取關鍵詞。

遮罩顏色可通過設置 WordCloud 的 color_func 屬性。

最終效果如下:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185713.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 21:07
下一篇 2024-11-26 21:07

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29

發表回復

登錄後才能評論