国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

字典類(lèi)型操作、jieba庫(kù)使用及文本詞頻統(tǒng)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了字典類(lèi)型操作、jieba庫(kù)使用及文本詞頻統(tǒng)計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

字典類(lèi)型及操作

字典的定義

理解“映射”

映射是一種鍵(索引)和值(數(shù)據(jù))的對(duì)應(yīng)

字典類(lèi)型是“映射”的體現(xiàn)

鍵值對(duì):鍵是數(shù)據(jù)索引的擴(kuò)展

字典是鍵值對(duì)的集合,鍵值對(duì)之間無(wú)序

采用大括號(hào){}和dict()創(chuàng)建,鍵值對(duì)用冒號(hào): 表示

{<鍵1>:<值1>,<鍵2>:<值3>}

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

可以通過(guò)鍵拿到值

我們?cè)谥暗牡募现姓f(shuō)聲明一個(gè)空集合要使用set(),而不是直接用{}這是因?yàn)?,如果使用{}默認(rèn)為集合

字典的處理函數(shù)及方法

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html?

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

注意keys()和values()返回的是一種字典的key類(lèi)型,這些類(lèi)型是可以用for in的方式做遍歷,但是不能當(dāng)做列表類(lèi)型來(lái)操作

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html?這里要注意的是:如果我們使用get()找鍵時(shí)沒(méi)有找到,那就返回第二個(gè)設(shè)置的參數(shù),否則返回值?

# 定義空字典d
d={}
# 向d新增2個(gè)鍵值對(duì)元素
d[0]=1
d[1]=2
# 修改第2個(gè)元素
d[1]=3
# 判斷字符"c"是否是d的鍵
"c" in d
# 計(jì)算d的長(zhǎng)度
len(d)
# 清空d
d.clear()

Jieba庫(kù)的使用

jieba庫(kù)概述:jieba是優(yōu)秀的中文分詞第三方庫(kù)

中文文本需要通過(guò)分詞獲得單個(gè)的詞語(yǔ)

jieba是優(yōu)秀的中文分詞第三方庫(kù),需要額外安裝

jieba庫(kù)提供三種分詞模式,最簡(jiǎn)單只需掌握一個(gè)函數(shù)

jieba庫(kù)的安裝

(cmd命令行) pip install jieba

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

jieba分詞的原理?

jieba分詞依靠中文詞庫(kù)

利用一個(gè)中文詞庫(kù),確定中文字符之間的關(guān)聯(lián)概率

中文字符間概率大的組成詞組,形成分詞結(jié)果

除了分詞,用戶還可以添加自定義的詞組

jieba庫(kù)使用說(shuō)明

?精確模式、全模式、搜索引擎模式

精確模式:把文本精確的切分開(kāi),不存在冗余單詞

全模式:把文本中所有可能的詞語(yǔ)都掃描出來(lái),有冗余

搜索引擎模式:在精確模式基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html?

jieba分詞要點(diǎn)?jieba.lcut(s)

文本詞頻統(tǒng)計(jì)--英文

需求:一篇文章,出現(xiàn)了哪些詞?哪些詞出現(xiàn)得最多?

該怎么做呢? 這里要分中文文本 和 英文文本

?英文文本:Hamet 分析詞頻

https://python123.io/resources/pye/hamlet.txt

中文文本:《三國(guó)演義》 分析人物

https://python123.io/resources/pye/threekingdoms.txt?

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-790915.html

這段代碼的作用是讀取一個(gè)名為“hamlet.txt”的文本文件,將其轉(zhuǎn)換為小寫(xiě)字母,并將文本中的特殊字符替換為空格。然后,將文本中的單詞分割,并統(tǒng)計(jì)每個(gè)單詞出現(xiàn)的次數(shù)。最后,按照單詞出現(xiàn)次數(shù)從高到低的順序,輸出出現(xiàn)次數(shù)最多的前10個(gè)單詞及其出現(xiàn)次數(shù)。

具體實(shí)現(xiàn)過(guò)程如下:

  1. 定義函數(shù)?getText(),它打開(kāi)名為“hamlet.txt”的文本文件,并將文件內(nèi)容讀取到變量?txt?中。

  2. 將?txt?中的所有字符轉(zhuǎn)換為小寫(xiě)字母。

  3. 遍歷字符串?txt?中的每個(gè)字符,如果字符是特殊字符,則將其替換為空格。

  4. 返回處理后的文本?txt

  5. 調(diào)用?getText()?函數(shù),將處理后的文本賦值給變量?hamletTxt。

  6. 將?hamletTxt?中的單詞通過(guò)空格分割,并將每個(gè)單詞的出現(xiàn)次數(shù)保存在字典?counts?中。

  7. 將?counts?轉(zhuǎn)換為列表?items,并按照每個(gè)元素的第二個(gè)值(即單詞出現(xiàn)次數(shù))從高到低排序。

  8. 遍歷?items?列表的前10個(gè)元素,將每個(gè)元素的第一個(gè)值(即單詞)和第二個(gè)值(即出現(xiàn)次數(shù))輸出到屏幕上。其中,{0:<10}?表示輸出第一個(gè)值(即單詞)時(shí)左對(duì)齊占用10個(gè)字符的位置,{1:>5}?表示輸出第二個(gè)值(即出現(xiàn)次數(shù))時(shí)右對(duì)齊占用5個(gè)字符的位置。

文本詞頻統(tǒng)計(jì)--中文

import jieba
txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
words  = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
    word, count = items[i]
    print ("{0:<10}{1:>5}".format(word, count))

這段代碼的作用是讀取一個(gè)名為“threekingdoms.txt”的文本文件,使用結(jié)巴分詞庫(kù)將文本中的中文分詞,并統(tǒng)計(jì)每個(gè)詞語(yǔ)出現(xiàn)的次數(shù)。最后,按照詞語(yǔ)出現(xiàn)次數(shù)從高到低的順序,輸出出現(xiàn)次數(shù)最多的前15個(gè)詞語(yǔ)及其出現(xiàn)次數(shù)。

具體實(shí)現(xiàn)過(guò)程如下:

  1. 導(dǎo)入結(jié)巴分詞庫(kù)?jieba。

  2. 打開(kāi)名為“threekingdoms.txt”的文本文件,并將文件內(nèi)容讀取到變量?txt?中。注意需要指定文件編碼為?utf-8。

  3. 使用結(jié)巴分詞庫(kù)?jieba?中的?lcut()?函數(shù)對(duì)文本進(jìn)行分詞,并將分詞結(jié)果保存在列表?words?中。

  4. 創(chuàng)建一個(gè)空字典?counts,用于保存每個(gè)詞語(yǔ)的出現(xiàn)次數(shù)。

  5. 遍歷列表?words?中的每個(gè)詞語(yǔ),如果該詞語(yǔ)的長(zhǎng)度為1,則跳過(guò)該詞語(yǔ);否則,將該詞語(yǔ)的出現(xiàn)次數(shù)加1,并保存到字典?counts?中。

  6. 將字典?counts?轉(zhuǎn)換為列表?items,并按照每個(gè)元素的第二個(gè)值(即詞語(yǔ)出現(xiàn)次數(shù))從高到低排序。

  7. 遍歷?items?列表的前15個(gè)元素,將每個(gè)元素的第一個(gè)值(即詞語(yǔ))和第二個(gè)值(即出現(xiàn)次數(shù))輸出到屏幕上。其中,{0:<10}?表示輸出第一個(gè)值(即詞語(yǔ))時(shí)左對(duì)齊占用10個(gè)字符的位置,{1:>5}?表示輸出第二個(gè)值(即出現(xiàn)次數(shù))時(shí)右對(duì)齊占用5個(gè)字符的位置。

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

但是存在一個(gè)bug,將詞頻與人物并沒(méi)有相關(guān)聯(lián)?

import jieba
excludes = {"將軍","卻說(shuō)","荊州","二人","不可","不能","如此"}
txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
words  = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word) == 1:
        continue
    elif word == "諸葛亮" or word == "孔明曰":
        rword = "孔明"
    elif word == "關(guān)公" or word == "云長(zhǎng)":
        rword = "關(guān)羽"
    elif word == "玄德" or word == "玄德曰":
        rword = "劉備"
    elif word == "孟德" or word == "丞相":
        rword = "曹操"
    else:
        rword = word
    counts[rword] = counts.get(rword,0) + 1
for word in excludes:
    del counts[word]
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
    word, count = items[i]

中文文本分詞

使用字典表達(dá)詞頻

擴(kuò)展程序解決問(wèn)題

面向問(wèn)題改造程序

這段代碼的功能是讀取《三國(guó)演義》文本文件,使用jieba分詞庫(kù)對(duì)文本進(jìn)行分詞,并統(tǒng)計(jì)關(guān)鍵詞出現(xiàn)的頻率。在統(tǒng)計(jì)關(guān)鍵詞的過(guò)程中,對(duì)一些關(guān)鍵詞進(jìn)行了簡(jiǎn)化和替換,如“孔明曰”簡(jiǎn)化為“孔明”,“玄德曰”簡(jiǎn)化為“劉備”,“丞相”替換為“曹操”。

該代碼的面向問(wèn)題改造思路如下:

  1. 問(wèn)題:需要統(tǒng)計(jì)《三國(guó)演義》中出現(xiàn)頻率最高的關(guān)鍵詞。

  2. 解決方案:使用jieba分詞庫(kù)對(duì)文本進(jìn)行分詞,并統(tǒng)計(jì)關(guān)鍵詞出現(xiàn)的頻率,然后按照出現(xiàn)頻率從高到低排序,選取出現(xiàn)頻率最高的前10個(gè)關(guān)鍵詞。

  3. 實(shí)現(xiàn)步驟:

  • 讀取《三國(guó)演義》文本文件,使用jieba分詞庫(kù)對(duì)文本進(jìn)行分詞。
  • 統(tǒng)計(jì)分詞結(jié)果中各個(gè)關(guān)鍵詞出現(xiàn)的頻率,將結(jié)果存儲(chǔ)在字典counts中。
  • 對(duì)一些關(guān)鍵詞進(jìn)行簡(jiǎn)化和替換,如“孔明曰”簡(jiǎn)化為“孔明”,“玄德曰”簡(jiǎn)化為“劉備”,“丞相”替換為“曹操”。
  • 刪除一些無(wú)意義的關(guān)鍵詞,如“將軍”、“卻說(shuō)”、“荊州”、“二人”、“不可”、“不能”、“如此”。
  • 將counts轉(zhuǎn)換為列表items,并按照出現(xiàn)頻率從高到低排序。
  • 選取出現(xiàn)頻率最高的前10個(gè)關(guān)鍵詞,并輸出結(jié)果。

jieba詞頻統(tǒng)計(jì),python,服務(wù)器,java,html

?

到了這里,關(guān)于字典類(lèi)型操作、jieba庫(kù)使用及文本詞頻統(tǒng)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 統(tǒng)計(jì)文本詞頻的幾種方法(Python)

    統(tǒng)計(jì)文本詞頻的幾種方法(Python)

    目錄 1. 單句的詞頻統(tǒng)計(jì) 2. 文章的詞頻統(tǒng)計(jì) 方法一:運(yùn)用集合去重方法 方法二:運(yùn)用字典統(tǒng)計(jì) 方法三:使用計(jì)數(shù)器 詞頻統(tǒng)計(jì)是自然語(yǔ)言處理的基本任務(wù),針對(duì)一段句子、一篇文章或一組文章,統(tǒng)計(jì)文章中每個(gè)單詞出現(xiàn)的次數(shù),在此基礎(chǔ)上發(fā)現(xiàn)文章的主題詞、熱詞。 思路:首

    2024年02月04日
    瀏覽(25)
  • 使用python進(jìn)行字頻統(tǒng)計(jì)和詞頻統(tǒng)計(jì)

    使用python進(jìn)行字頻統(tǒng)計(jì)和詞頻統(tǒng)計(jì)

    讀取給定的語(yǔ)料庫(kù),根據(jù)制表符’t’劃分其文本與標(biāo)簽,將獲得的文本僅保留漢字部分,并按字劃分,保存在列表中,至少使用一種方法,統(tǒng)計(jì)所有漢字的出現(xiàn)次數(shù),并按照從高到低的順序排序;至少使用一種方法,統(tǒng)計(jì)所有字頻,按照從高到低的順序排序;至少使用一種

    2024年02月06日
    瀏覽(23)
  • python 基礎(chǔ)教程:使用jieba庫(kù)對(duì)文本進(jìn)行分詞

    Python的jieba庫(kù)是一個(gè)中文分詞工具,它可以將一段中文文本分割成一個(gè)一個(gè)的詞語(yǔ),方便后續(xù)的自然語(yǔ)言處理任務(wù),如文本分類(lèi)、情感分析等。jieba庫(kù)使用了基于前綴詞典的分詞方法,能夠處理中文的各種復(fù)雜情況,如歧義詞、新詞等。它還提供了多種分詞模式,如精確模式、

    2024年02月05日
    瀏覽(27)
  • python 基礎(chǔ)知識(shí):使用jieba庫(kù)對(duì)文本進(jìn)行分詞

    python 基礎(chǔ)知識(shí):使用jieba庫(kù)對(duì)文本進(jìn)行分詞

    前言 嗨嘍,大家好呀~這里是愛(ài)看美女的茜茜吶 一、jieba庫(kù)是什么? Python的jieba庫(kù)是一個(gè)中文分詞工具,它可以將一段中文文本分割成一個(gè)一個(gè)的詞語(yǔ),方便后續(xù)的自然語(yǔ)言處理任務(wù),如文本分類(lèi)、情感分析等。 jieba庫(kù)使用了基于前綴詞典的分詞方法,能夠處理中文的各種復(fù)

    2024年02月10日
    瀏覽(22)
  • 使用python統(tǒng)計(jì)《三國(guó)演義》人物詞頻,看看羅貫中筆下誰(shuí)的出場(chǎng)次數(shù)最多

    使用python統(tǒng)計(jì)《三國(guó)演義》人物詞頻,看看羅貫中筆下誰(shuí)的出場(chǎng)次數(shù)最多

    “滾滾長(zhǎng)江東逝水,浪花淘盡英雄”。近來(lái)讀《三國(guó)演義》,忽然想看看到底哪位英雄在書(shū)中提到的最多,于是就想用分詞算法實(shí)現(xiàn)一下。 網(wǎng)上也確實(shí)有相關(guān)的案例,作為參考,自己又重寫(xiě)并優(yōu)化了一遍。 思路 下載《三國(guó)演義》txt文檔 使用jieba分詞算法對(duì)文檔進(jìn)行分詞處理

    2024年02月06日
    瀏覽(18)
  • Python統(tǒng)計(jì)詞頻的幾種方法

    本文介紹python統(tǒng)計(jì)詞頻的幾種方法,供大家參考 目錄 方法一:運(yùn)用集合去重方法 方法二:運(yùn)用字典統(tǒng)計(jì) 方法三:使用計(jì)數(shù)器 說(shuō)明:運(yùn)用集合對(duì)文本字符串列表去重,這樣統(tǒng)計(jì)詞匯不會(huì)重復(fù),運(yùn)用列表的counts方法統(tǒng)計(jì)頻數(shù),將每個(gè)詞匯和其出現(xiàn)的次數(shù)打包成一個(gè)列表加入到

    2024年02月13日
    瀏覽(28)
  • python之文件操作、對(duì).txt文本文件的操作(讀、寫(xiě)、修改、復(fù)制、合并)、對(duì)json文本文件的操作、json字符串與字典的相互轉(zhuǎn)換。

    python之文件操作、對(duì).txt文本文件的操作(讀、寫(xiě)、修改、復(fù)制、合并)、對(duì)json文本文件的操作、json字符串與字典的相互轉(zhuǎn)換。

    注意:本篇所講的文件操作,都是對(duì)后綴為.txt、.json文件進(jìn)行的操作。 1、json其實(shí)就是一個(gè) 文件的格式 ,像.txt一樣,json也是一個(gè) 純文本文件 。 與.txt不同的是, json常用來(lái)存放有鍵值對(duì)的數(shù)據(jù),寫(xiě)法上像python中的字典一樣, 但與字典不同的是 ,字典是一個(gè)數(shù)據(jù)類(lèi)型,且

    2024年02月16日
    瀏覽(24)
  • Python統(tǒng)計(jì)中文詞頻的四種方法

    統(tǒng)計(jì)中文詞頻是Python考試中常見(jiàn)的操作,由于考察內(nèi)容較多,因此比較麻煩,那么有沒(méi)有好的方法來(lái)實(shí)現(xiàn)呢?今天,我們總結(jié)了四種常見(jiàn)的中文詞頻統(tǒng)計(jì)方法,并列出代碼,供大家學(xué)習(xí)參考。 中文詞頻統(tǒng)計(jì)主要是通過(guò)open()打開(kāi)文本,然后read()方法讀取后,采用結(jié)巴分詞(jieb

    2024年02月11日
    瀏覽(17)
  • Python英文詞頻統(tǒng)計(jì)(哈姆雷特)程序示例

    Python英文詞頻統(tǒng)計(jì)(哈姆雷特)程序示例

    今天繼續(xù)給大家介紹Python相關(guān)知識(shí),本文主要內(nèi)容是Python英文詞頻統(tǒng)計(jì)程序示例,主要是對(duì)英文文本——《哈姆雷特》進(jìn)行分詞。 想要對(duì)《哈姆雷特》進(jìn)行英文單詞詞頻統(tǒng)計(jì),那么我們首先需要拿到《哈姆雷特》的原文,將之存儲(chǔ)為本地的txt文檔,然后使用Python打開(kāi)該文件,

    2024年02月04日
    瀏覽(22)
  • Python讀取Word統(tǒng)計(jì)詞頻輸出到Excel

    1.安裝依賴的包 ``` \\\"# 讀取docxn\\\", ? ? \\\"!pip install python-docxn\\\", ? ? \\\"!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-docxn\\\", ? ? \\\"# 中英文分詞n\\\", ? ? \\\"!pip install jieban\\\", ? ? \\\"!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieban\\\", ? ? \\\"# 輸出到exceln\\\", ? ? \\\"!pip install pandas\\\" ? ? \\\"!pip

    2024年02月13日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包