1. 程式人生 > >jieba庫以及文字詞頻統計

jieba庫以及文字詞頻統計

簡介

◆ jieba庫是優秀的中文分詞第三方庫

◆ jieba庫和其他的第三方庫一樣,在cmd中使用pip install jieba 就可以進行安裝

◆ jieba最常用的函式只有一個,在下面我們會見到

jieba庫的三種模式及其函式

◆ 精確模式:jieba.lcut(s)    對文字s進行分詞

◆ 全域性模式:jieba.lcut(s,cut_all=True)   進行分詞之後存在冗餘

◆ 搜尋引擎模式:jieba.lcut_for_search(s)   同樣進行分詞之後存在冗餘

◆ jieba.add_words(w)    向分詞詞典中增加一個單詞

當然,最常用的還是jieba.lcut(s),這個函式就基本上滿足平時的需求了

文字詞頻統計例項

(1)我們先對漢字文字進行分析(採用的例子是MOOC上的文字Hamlet,如果大家需要的話,我可以上傳)

# 對Hamlet進行詞頻分析
def gettext():
    #開啟檔案
    text=open("e:/python程式碼/hamlet.txt","r").read()
    text=text.lower()
    #將特殊符號全部換成空格
    for ch in '!"#$%^&*()+_-,./:;<>[email protected][]{}\|~':
        text=text.replace(ch,"")
    return text

hamlettxt=gettext()
#將字串按空格分割成列表
words=hamlettxt.split()
counts={}
#以字典形式統計每個單詞的出現次數
for word in words:
    counts[word]=counts.get(word,0)+1
items=list(counts.items())
#將列表按從大到小排序
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count=items[i]
    print("{0:<10}{1:>5}".format(word,count))
# RUN->
# the        1137
# and         963
# to          736
# of          669
# you         546
# i           540
# a           527
# my          513
# hamlet      459
# in          435

(2)對中文詞頻進行分析(同樣用到的文字為三國演義,我們對三國演義中人物出現的順序進行統計)

# 對三國演義出場人物次數進行統計
import jieba
txt = open("sanguoyanyi.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
new={}
#通過對程式的檢查,對程式進行完善
for word in words:
    if len(word)==1:
        continue
    elif word == "諸葛亮" or word == "孔明曰":
        rword="孔明"
    elif word == "關公" or word == "雲長":
        rword="關羽"
    elif word == "玄德" or word == "玄德曰":
        rword="劉備"
    elif word == "孟德" or word == "丞相":
        rword ="曹操"
    else:
        rword=word
    # 對原來的字典new中判斷是否有rword這個人,沒有就返回0,
    # 賦予rword鍵有就在原來rword所對應的值加1,並賦予rword鍵
    new[rword]=new.get(rword,0)+1
# 排除系統中不是人名的字
exc={"將軍","卻說","荊州","二人","不可","不能","如此"}
for word in exc:
    del new[word]
item=list(new.items())
item.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count=item[i]
    print("{0:<10}{1:>5}".format(word,count))
# RUN->
# 曹操         1451
# 孔明         1383
# 劉備         1253
# 關羽          784
# 張飛          358
# 商議          344
# 如何          338
# 主公          331
# 軍士          317
# 呂布          300

相關推薦

jieba以及文字詞頻統計

簡介◆ jieba庫是優秀的中文分詞第三方庫◆ jieba庫和其他的第三方庫一樣,在cmd中使用pip install jieba 就可以進行安裝◆ jieba最常用的函式只有一個,在下面我們會見到jieba庫的三種模式及其函式◆ 精確模式:jieba.lcut(s)   

基於jieba實現中文詞頻統計

要實現中文分詞功能,大家基本上都是在使用 jieba 這個庫來實現,下面就看看怎樣實現一個簡單文字分詞功能。 安裝 python的工具,安裝當然是使用pip安裝了。 pip install jieba 使用 先看一個小例子,下面的程式碼是從一個文字檔案中分詞並統計出

Python文字詞頻統計的編碼問題-MOOC嵩天

1 Python文字詞頻統計程式碼 1.1Hamlet詞頻統計(含Hamlet原文文字) #CalHamletV1.py def getText(): txt = open("hamlet.txt", "r").read() txt = txt.lower()

Python語言程式設計(MOOC崇天)第六章組合資料型別學習筆記(基本統計值計算+文字詞頻統計

複習: 今日內容:組合資料型別 集合型別及操作: 集合型別的定義: 非可變的資料型別:整數、浮點、元組、負數、字串型別 可變的資料型別:列表list和字典dict。所以看不到集合中有列表、{[ ]}  就算是set([1

自然語言處理學習3:中文分句re.split(),jieba分詞和詞頻統計FreqDist

1. 使用re.split() 分句,re.split(delimiter, text) import jieba import re # 輸入一個段落,分成句子,可使用split函式來實現 paragraph = "生活對我們任何人來說都不容易!我們必須努力,最重要的是

Python3 利用openpyxl 以及jieba 對帖子進行關鍵詞抽取——對抽取的關鍵詞進行詞頻統計

n-2 好處 二維 返回 多條 當前 記錄 htm IT Python3 利用openpyxl 以及jieba 對帖子進行關鍵詞抽取 ——對抽取的關鍵詞進行詞頻統計 20180413學習筆記 一、工作 前天在對帖子的關鍵詞抽取存儲後,發現一個問題。我似乎將每個關鍵詞都

python 利用jieba詞頻統計

clu eve color items text true eba word lambda 1 #統計《三國誌》裏人物的出現次數 2 3 import jieba 4 text = open(‘threekingdoms.txt‘,‘r‘,encoding=‘u

文字處理(二)詞頻統計,jieba分詞,詞性標註,snownlp情感分析

這一篇接著上一篇處理後的資料進行操作,按照(一)中的步驟,這事應該將文字資料每一行中的高頻的正面詞去掉,因為多數是描述身體健康的短句,只有少數是描述脾臟檢查異常的,所以嘗試刪除掉描述身體健康的短句,只留下少數檢查異常的資料,對異常的檢查資料進行特徵提取,這是思路。所以這一篇目

NLP之情感分析:基於python程式設計(jieba)實現中文文字情感分析(得到的是情感評分)

NLP之情感分析:基於python程式設計(jieba庫)實現中文文字情感分析(得到的是情感評分) 輸出結果 1、測試物件 data1= '今天上海的天氣真好!我的心情非常高興!如果去旅遊的話我會非常興奮!和你一起去旅遊我會更加幸福!' data2= '今天上海天氣真差,非常討厭下雨,把

Python生成詞雲圖,TIIDF方法文字挖掘: 詞頻統計,詞雲圖

python中使用wordcloud包生成的詞雲圖。 下面來介紹一下wordcloud包的基本用法。 class wordcloud.WordCloud(font_path=None, widt

Pig + Ansj 統計中文文字詞頻

最近特別喜歡用Pig,擁有能滿足大部分需求的內建函式(built-in functions),支援自定義函式(user defined functions, UDF),能load 純文字、avro等格式資料;illustrate看pig執行步驟的結果,describe看alias的schema;以輕量級指令

Python進行文字預處理(文字分詞,過濾停用詞,詞頻統計,特徵選擇,文字表示)

系統:win7 32位 分詞軟體:PyNLPIR 整合開發環境(IDE):Pycharm 功能:實現多級文字預處理全過程,包括文字分詞,過濾停用詞,詞頻統計,特徵選擇,文字表示,並將結果匯出為WEKA能夠處理的.arff格式。 直接上程式碼: #!/usr/bin/

python 文字單詞提取和詞頻統計

這些對文字的操作經常用到, 那我就總結一下。 陸續補充。。。 操作: strip_html(cls, text) 去除html標籤 separate_words(cls, text, min_

利用jieba進行中文分詞並進行詞頻統計

1.安裝jieba庫 在windows的Anaconda環境下如果沒有設定環境變數,則從Dos命令先進入...\Anaconda3\Scripts 目錄中,然後執行以下命令即可: pip install jieba 2.分詞示例 我們先用一段文字來進

EntityFramework之數據以及表基本創建(一)

令行 代碼 client 建數據庫 通過 ted ble 另一個 www 前言 之前有學過EF一段時間那時EF才4.0似乎還不太穩定,而現在EF都已7.0版本,同時AspNet Identity都與此大有關聯,看來是大勢所趨於是開始學習EF,在學EF過程中也遇到一些小問題,

python 讀寫txt文件並用jieba進行中文分詞

mage 亂碼 技術分享 流行 ictclas 函數 結果 class 配置 python用來批量處理一些數據的第一步吧。 對於我這樣的的萌新。這是第一步。 #encoding=utf-8 file=‘test.txt‘ fn=open(file,"r") print f

perl 大文本詞頻統計.

pre bst geb don nbsp length $2 詞頻統計 int 思想是設置子文本最大長度,然後分割成多個子文本, 最後合並. 詞頻則是當前位置字和前一位置的字的組合 進入hash. 代碼如下 use Encode; ##編碼解碼 system("ti

CentOS7安裝MySQL5.7數據以及配置

oracle 數據庫 固態硬盤 c語言 最大的 一、MySQL5.7主要特性: 原生架構支持centos7的Systemd (1.)更好的性能:對於多核的CPU、固態硬盤、鎖有著更好的優化、更好的innoDB存儲引擎。 (2.)更為健壯的復制功能:復制帶來了數據完全不丟失的方案,傳

[skill][msgpack] 初試msgpack以及基本使用

output 閱讀 miss col gcc spa cnblogs tab 分享 It‘s like JSON. but fast and small. http://msgpack.org/index.html 源碼: https://github.com/