亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用python實(shí)現(xiàn)詞頻統(tǒng)計(jì)分析的代碼示例

 更新時(shí)間:2023年06月25日 10:23:04   作者:艾派森  
詞頻統(tǒng)計(jì)是指在文本或語音數(shù)據(jù)中,統(tǒng)計(jì)每個(gè)單詞或符號(hào)出現(xiàn)的次數(shù),以便對(duì)文本或語音數(shù)據(jù)進(jìn),這篇文章將詳細(xì)介紹分詞后如何進(jìn)行詞頻統(tǒng)計(jì)分析

詞頻統(tǒng)計(jì)的概念

詞頻統(tǒng)計(jì)是指在文本或語音數(shù)據(jù)中,統(tǒng)計(jì)每個(gè)單詞或符號(hào)出現(xiàn)的次數(shù),以便對(duì)文本或語音數(shù)據(jù)進(jìn)行分析和預(yù)處理。詞頻統(tǒng)計(jì)是自然語言處理中的一個(gè)重要任務(wù),其目的是為后續(xù)的文本分析、情感分析、機(jī)器翻譯等任務(wù)做好準(zhǔn)備。

在詞頻統(tǒng)計(jì)中,通常將文本或語音數(shù)據(jù)轉(zhuǎn)換成單詞或符號(hào)的形式,然后統(tǒng)計(jì)每個(gè)單詞或符號(hào)出現(xiàn)的次數(shù),并將其存儲(chǔ)為一個(gè)數(shù)據(jù)集或字典。這些數(shù)據(jù)集或字典可以用來訓(xùn)練機(jī)器學(xué)習(xí)模型或進(jìn)行文本分類、情感分析等任務(wù)。

詞頻統(tǒng)計(jì)可以應(yīng)用于許多領(lǐng)域,例如文本分類、情感分析、機(jī)器翻譯、信息檢索等。在文本分類中,詞頻統(tǒng)計(jì)可以幫助確定最重要的單詞或符號(hào),以幫助分類器進(jìn)行分類。在情感分析中,詞頻統(tǒng)計(jì)可以幫助確定文本中最常見的情感,以便進(jìn)行分類。在機(jī)器翻譯中,詞頻統(tǒng)計(jì)可以幫助確定翻譯的單詞或符號(hào)。在信息檢索中,詞頻統(tǒng)計(jì)可以幫助確定查詢中最重要的單詞或符號(hào),以便進(jìn)行查詢匹配。

總之,詞頻統(tǒng)計(jì)是自然語言處理中的一個(gè)重要任務(wù),其目的是為后續(xù)的文本分析、情感分析、機(jī)器翻譯等任務(wù)做好準(zhǔn)備。

常用的方法和工具:

  1. Python:Python 是一種非常流行的編程語言,有許多庫和工具可以用于文本處理和統(tǒng)計(jì),其中最流行的是 NumPy、Pandas 和 SciPy。可以使用這些庫中的任何一個(gè)來計(jì)算文本中詞頻統(tǒng)計(jì),例如使用 NumPy 中的 str_freq 函數(shù)來計(jì)算字符串中單詞出現(xiàn)的頻率。

  2. R:R 是一種統(tǒng)計(jì)軟件,可以輕松地進(jìn)行數(shù)據(jù)可視化和統(tǒng)計(jì)分析??梢允褂?R 中的 text mining 包來計(jì)算文本中詞頻統(tǒng)計(jì),例如使用 tm 包中的 tf_idf 函數(shù)來計(jì)算文本的分詞和詞頻統(tǒng)計(jì)。

  3. Java:Java 是一種流行的編程語言,也有許多庫和工具可以用于文本處理和統(tǒng)計(jì)。可以使用 Java 中的 Apache Commons Text 和 Apache Commons Collections 庫來計(jì)算文本中詞頻統(tǒng)計(jì),例如使用 Commons Text 中的 getWords method 來獲取文本中的單詞。

  4. JavaScript:JavaScript 是一種前端編程語言,也可以用于后端開發(fā)。可以使用 JavaScript 中的 Node.js 和 npm 包管理器來運(yùn)行文本處理和統(tǒng)計(jì)任務(wù),例如使用 npm 包中的 text-parser 和 text-count 包來計(jì)算文本中詞頻統(tǒng)計(jì)。

Python實(shí)現(xiàn)詞頻統(tǒng)計(jì)

關(guān)于python的實(shí)現(xiàn),我給大家介紹兩種最常用的方法。

在做詞頻統(tǒng)計(jì)之前,需要要用到前面介紹中文分詞封裝的函數(shù),然后我這里使用了關(guān)于大唐不夜城的一條評(píng)論文本作為示范先進(jìn)行分詞。

import re
import jieba
def chinese_word_cut(mytext):
    jieba.load_userdict('自定義詞典.txt')  # 這里你可以添加jieba庫識(shí)別不了的網(wǎng)絡(luò)新詞,避免將一些新詞拆開
    jieba.initialize()  # 初始化jieba
    # 文本預(yù)處理 :去除一些無用的字符只提取出中文出來
    new_data = re.findall('[\u4e00-\u9fa5]+', mytext, re.S)
    new_data = " ".join(new_data)
    # 文本分詞
    seg_list_exact = jieba.lcut(new_data)
    result_list = []
    # 讀取停用詞庫
    with open('停用詞庫.txt', encoding='utf-8') as f: # 可根據(jù)需要打開停用詞庫,然后加上不想顯示的詞語
        con = f.readlines()
        stop_words = set()
        for i in con:
            i = i.replace("\n", "")   # 去掉讀取每一行數(shù)據(jù)的\n
            stop_words.add(i)
    # 去除停用詞并且去除單字
    for word in seg_list_exact:
        if word not in stop_words and len(word) > 1:
            result_list.append(word)      
    return result_list
comment = '大唐不夜城,不夜城趣味性很高,里面地方特色東西好吃,也有星巴克麥當(dāng)勞等等選擇,有不少場(chǎng)表演,外景夜景一定要薅一個(gè),其它地方很難有這般景象了。娛樂體驗(yàn)了不倒翁,還有十二時(shí)辰里面表演更加精彩、內(nèi)景拍照不錯(cuò),簋唐樓可以嘗試一下沉浸劇本殺……'
comment_cutted = chinese_word_cut(comment)
comment_cutted

方法1:使用Pandas庫實(shí)現(xiàn)

首先使用pandas將前面分詞結(jié)果進(jìn)行轉(zhuǎn)化DataFrame類型

import pandas as pd
df = pd.DataFrame(comment_cutted)
df

接著使用groupby函數(shù)對(duì)第0列進(jìn)行統(tǒng)計(jì),然后降序輸出

word_frequency_df = df.groupby(0).size().sort_values(ascending=False)
word_frequency_df

最后將詞頻統(tǒng)計(jì)的結(jié)果保存為文件

# 將詞頻統(tǒng)計(jì)進(jìn)行保存
word_frequency_df.to_excel('詞頻統(tǒng)計(jì)結(jié)果.xlsx') # 保存為excel文件
# word_frequency_df.to_csv('詞頻統(tǒng)計(jì)結(jié)果.xlsx')  # 保存為csv文件

方法2:使用collections庫

# 方法2-使用collections庫
from collections import Counter
Counter(comment_cutted)

使用Counter函數(shù)對(duì)前面的分詞結(jié)果進(jìn)行統(tǒng)計(jì),然后使用most_common輸出按詞頻頻次降序排列的結(jié)果,如果你只想輸出前n個(gè)單詞,傳入數(shù)值即可。 默認(rèn)是全部輸出。

word_counts = Counter(comment_cutted)
word_counts.most_common()
# word_counts.most_common(10) # 輸出詞頻最高的前十個(gè)單詞 

如果想將上面結(jié)果保存為文件的話,執(zhí)行以下代碼:

# 將詞頻統(tǒng)計(jì)結(jié)果保存為txt文件
word_counts_top = word_counts.most_common()
with open('詞頻統(tǒng)計(jì)結(jié)果.txt','w',encoding='utf-8')as f:
    for i in word_counts_top:
        f.write(str(i[0]))
        f.write('\t')
        f.write(str(i[1]))
        f.write('\n')

如果我們想將TOP10高頻詞進(jìn)行可視化展示,可以執(zhí)行下面代碼:

import matplotlib.pylab as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #解決中文顯示
plt.rcParams['axes.unicode_minus'] = False   #解決符號(hào)無法顯示
word_counts = Counter(comment_cutted)
word_counts_top = word_counts.most_common()
x = [item[0] for item in word_counts_top[:10]]
y = [item[1] for item in word_counts_top[:10]]
plt.bar(x,y)
plt.title('Top10高頻詞')
plt.xlabel('詞語')
plt.ylabel('頻次')
plt.show()

到此這篇關(guān)于利用python實(shí)現(xiàn)詞頻統(tǒng)計(jì)分析的代碼示例的文章就介紹到這了,更多相關(guān)python詞頻統(tǒng)計(jì)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解OpenCV和PIL讀取和顯示圖像的差異

    詳解OpenCV和PIL讀取和顯示圖像的差異

    這篇文章主要介紹了OpenCV和PIL讀取和顯示圖像的差異,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python修改字符串值的三種方法

    python修改字符串值的三種方法

    本文主要介紹了python修改字符串值的三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python?計(jì)算機(jī)視覺編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)

    Python?計(jì)算機(jī)視覺編程進(jìn)階之OpenCV?圖像銳化及邊緣檢測(cè)

    計(jì)算機(jī)視覺這種技術(shù)可以將靜止圖像或視頻數(shù)據(jù)轉(zhuǎn)換為一種決策或新的表示。所有這樣的轉(zhuǎn)換都是為了完成某種特定的目的而進(jìn)行的,本篇我們來學(xué)習(xí)下如何對(duì)圖像進(jìn)行銳化處理以及如何進(jìn)行邊緣檢測(cè)
    2021-11-11
  • Python程序打包exe報(bào)錯(cuò)的幾種解決方法

    Python程序打包exe報(bào)錯(cuò)的幾種解決方法

    本文主要介紹了Python程序打包exe報(bào)錯(cuò)的幾種解決方法,文中通過幾種解決方法的介紹非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-08-08
  • 如何利用Python動(dòng)態(tài)模擬太陽系運(yùn)轉(zhuǎn)

    如何利用Python動(dòng)態(tài)模擬太陽系運(yùn)轉(zhuǎn)

    這篇文章主要給大家介紹了關(guān)于如何利用Python動(dòng)態(tài)模擬太陽系運(yùn)轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python操作MongoDb數(shù)據(jù)庫流程詳解

    Python操作MongoDb數(shù)據(jù)庫流程詳解

    這篇文章主要介紹了Python操作MongoDb數(shù)據(jù)庫流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • django2.2安裝錯(cuò)誤最全的解決方案(小結(jié))

    django2.2安裝錯(cuò)誤最全的解決方案(小結(jié))

    這篇文章主要介紹了django2.2安裝錯(cuò)誤最全的解決方案(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python中對(duì)信號(hào)的處理詳解

    python中對(duì)信號(hào)的處理詳解

    這篇文章主要給大家介紹了關(guān)于python中對(duì)信號(hào)處理的相關(guān)資料, 計(jì)算機(jī)借助信號(hào)來接收和發(fā)送各種命令,操作系統(tǒng)針對(duì)其編程要接收或生成的每種命令列出了至少一個(gè)信號(hào),需要的朋友可以參考下
    2021-07-07
  • Python Django框架防御CSRF攻擊的方法分析

    Python Django框架防御CSRF攻擊的方法分析

    這篇文章主要介紹了Python Django框架防御CSRF攻擊的方法,結(jié)合實(shí)例形式分析了Python Django框架防御CSRF攻擊的原理、配置方法與使用技巧,需要的朋友可以參考下
    2019-10-10
  • 談?wù)剬?duì)Pytorch中的forward的理解

    談?wù)剬?duì)Pytorch中的forward的理解

    這篇文章主要介紹了談?wù)剬?duì)Pytorch中的forward的理解,在Pytorch中,forward方法是一個(gè)特殊的方法,被專門用來進(jìn)行前向傳播,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04

最新評(píng)論