中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python基于jieba庫進行簡單分詞及詞云功能實現方法

發布時間:2020-09-18 21:52:02 來源:腳本之家 閱讀:308 作者:番番要吃肉 欄目:開發技術

本文實例講述了Python基于jieba庫進行簡單分詞及詞云功能實現方法。分享給大家供大家參考,具體如下:

目標:

1.導入一個文本文件
2.使用jieba對文本進行分詞
3.使用wordcloud包繪制詞云

環境:

Python 3.6.0 |Anaconda 4.3.1 (64-bit)

工具:

jupyter notebook

從網上下載了一篇小說《老九門》,以下對這篇小說進行分詞,并繪制詞云圖。

分詞使用最流行的分詞包jieba,參考:https://github.com/fxsjy/jieba

或點擊此處本站下載jieba庫

詞云使用wordcloud包,參考:https://github.com/amueller/word_cloud

或點擊此處本站下載wordcloud庫

這兩個包都不是anaconda自帶的,需要按官網的步驟安裝。

import wordcloud as wc
import jieba
import matplotlib.pyplot as plt
from scipy.misc import imread
%matplotlib inline
plt.rc('figure', figsize=(15, 15))

首先讀取文件,保存到一個字符串對象中。

all_text = open(file='老九門.txt', encoding='utf-8').read()

查看一下字符串的內容,發現其中有很多多余的字符:'\n'、'\u3000'。

all_text

'\ufeff《盜墓筆記》中,一段與二月紅有關的故事。\n《老九門》壹:二月紅①\n絲帳許久沒有換過了。\n\u3000\u3000她半夜入不了眠,睜開眼睛,便看到床邊垂下的帳面,在月光下看著有一死暗淡。原來可是絲絲的帶著光亮,好像最白的銀拉出來的絲一般。\n\u3000\u3000果然再好的東西,也總是由好往壞了去。\n\u3000\u3000以往一過立秋,... ...<以下省略>

在分詞之前先把這些多余字符剔除掉。

all_text = all_text.replace('\n', '' )
all_text = all_text.replace('\u3000', '')

下面先嘗試做一次分詞,把所有分詞用空格分開,輸出看一下分詞的結果:

seg_list = jieba.cut(all_text, cut_all=False)
words =' '
for seg in seg_list:
  words = words + seg + ' '
print(words)

  《 盜墓 筆記 》 中 , 一段 與 二月 紅 有關 的 故事 。 《 老 九門 》 壹 : 二月 紅 ① 絲帳 許久 沒有 換過 了 。 她 半夜 入 不了 眠 , 睜開眼睛 , 便 看到 床邊 垂下 的 帳面 , 在 月光 下 看著 有 一死 暗淡 。 原來 可是 絲絲 的 帶 著 光亮 , 好像 最白 的 銀拉 出來 的 絲 一般 。 果然 再 好 的 東西 , 也 總是 由 好 往壞 了 去 。 以往 一過 立秋 , 她 就 會 親自 拆 下 這塊 帳頭 , 親自 去 漂洗 , 她 知道 這 東西 的 脾氣 , 得 小心 伺候 著 , 一寸 一寸 地過 水 。 如今 不讓 她 下床 , 這 東西 沒 人 伺候 了 , 倒 也 顯得 越來越 不值 當 被 這么 細心 對待 起來 。 也許 , 下 一個 立秋 的 時候 , 才 有人 敢動 這個 東西 , 但 那個 人 , 必然 不是 自己 了 。 中午 大夫 和 他 說 的 那些 話 , 雖然 是 在 屋外 , 但是 她 還是 聽到 了 幾分 , 自己 的 病 , 不 知道 還有 多少 日子 可熬 。 她 舒 了 口氣 , 胸中 的 那絲 痛楚 似乎 好 了 一些 。 多少 日
... ...<以下省略>

從分詞結果里可以發現,有一些固定詞語,例如“盜墓筆記”、“老九門”、“二月紅”、“張大佛爺”、“齊鐵嘴”等書名、人名被分開了。在這篇小說的環境下,這些才成為固定詞語,而默認的分詞策略根據通常的認識來分詞的。

針對這個情況,jieba有一個“用戶詞典”的機制,把用戶認為應該成為整詞的,放到詞典里,在分詞的時遇到它們,就會當作一個整體。

在目錄下新建一個文本文件dick.txt,輸入以下詞語:

老九門
二月紅
盜墓筆記
張大佛爺
解九爺
解九
狗五

以下為jieba引入這個詞典文件,再做一次分詞:

jieba.load_userdict('dict.txt')
all_seg = jieba.cut(all_text, cut_all=False)
all_word =' '
for seg in all_seg:
  all_word = all_word + seg + ' '
print(all_word)

  《 盜墓筆記 》 中 , 一段 與 二月紅 有關 的 故事 。 《 老九門 》 壹 : 二月紅 ① 絲帳 許久 沒有 換過 了 。 她 半夜 入 不了 眠 , 睜開眼睛 , 便 看到 床邊 垂下 的 帳面 , 在 月光 下 看著 有 一死 暗淡 。 原來 可是 絲絲 的 帶 著 光亮 , 好像 最白 的 銀拉 出來 的 絲 一般 。 果然 再 好 的 東西 , 也 總是 由 好 往壞 了 去 。 以往 一過 立秋 , 她 就 會 親自 拆 下 這塊 帳頭 , 親自 去 漂洗 , 她 知道 這 東西 的 脾氣 , 得 小心 伺候 著 , 一寸 一寸 地過 水 。 如今 不讓 她 下床 , 這 東西 沒 人 伺候 了 , 倒 也 顯得 越來越 不值 當 被 這么 細心 對待 起來 。 也許 , 下 一個 立秋 的 時候 , 才 有人 敢動 這個 東西 , 但 那個 人 , 必然 不是 自己 了 。 中午 大夫 和 他 說 的 那些 話 , 雖然 是 在 屋外 , 但是 她 還是 聽到 了 幾分 , 自己 的 病 , 不 知道 還有 多少 日子 可熬 。 她 舒 了 口氣 , 胸中 的 那絲 痛楚 似乎 好 了 一些 。 多少 日子 了 ?
... ...<以下省略>

從這個結果來看,就不會再把人名、書名分開了。

以下開始制作詞云。

制作詞云,使用的是wordcloud包,由兩個參數需要特別注意,一個是字體,一個是背景圖片。字體好理解,就不解釋了。背景圖片,是詞云顯示的背景形狀。這里選用了一個心形圖案。

Python基于jieba庫進行簡單分詞及詞云功能實現方法

以下是詞云制作過程:

# 引入字體
font=r"C:\WINDOWS\Fonts\simhei.ttf"
#讀取背景圖片,生成矩陣
color_mask = imread("love.jpg")
# 生成詞云對象,設置參數
cloud = wc.WordCloud( font_path=font,#設置字體
           background_color="black", #背景顏色
           max_words=2000,# 詞云顯示的最大詞數
           mask=color_mask,#設置背景圖片
           max_font_size=100, #字體最大值
           random_state=42)
# 繪制詞云圖
mywc = cloud.generate(all_word)
plt.imshow(mywc)

<matplotlib.image.AxesImage at 0x1ecebf5e588>

Python基于jieba庫進行簡單分詞及詞云功能實現方法

# 把詞云圖保存到磁盤文件中
mywc.to_file('老九門wordcloud.png')

<wordcloud.wordcloud.WordCloud at 0x1ece4b9bc88>

以上就是使用python進行分詞,并繪制詞云圖的簡單操作。對于jieba和wordcloud的更高級的使用方法,還需要進一步研究和學習。

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼中| 乌海市| 泉州市| 屏山县| 阿图什市| 麻江县| 榆林市| 武山县| 贵定县| 繁昌县| 晋城| 永胜县| 界首市| 聂拉木县| 逊克县| 广元市| 德州市| 高台县| 鹤岗市| 江门市| 大理市| 澄城县| 内丘县| 朝阳县| 微山县| 广饶县| 孝感市| 巴塘县| 资讯| 玛纳斯县| 勐海县| 司法| 哈密市| 遵化市| 讷河市| 本溪| 青海省| 遵义市| 永定县| 偏关县| 达孜县|