最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

在詞頻統(tǒng)計(jì)中,通常將文本或語(yǔ)音數(shù)據(jù)轉(zhuǎn)換成單詞或符號(hào)的形式,然后統(tǒng)計(jì)每個(gè)單詞或符號(hào)出現(xiàn)的次數(shù),并將其存儲(chǔ)為一個(gè)數(shù)據(jù)集或字典。這些數(shù)據(jù)集或字典可以用來(lái)訓(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ì)可以幫助確定文本中最常見(jiàn)的情感,以便進(jìn)行分類。在機(jī)器翻譯中,詞頻統(tǒng)計(jì)可以幫助確定翻譯的單詞或符號(hào)。在信息檢索中,詞頻統(tǒng)計(jì)可以幫助確定查詢中最重要的單詞或符號(hào),以便進(jìn)行查詢匹配。

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

常用的方法和工具:

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

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

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

  4. JavaScript:JavaScript 是一種前端編程語(yǔ)言,也可以用于后端開(kāi)發(fā)??梢允褂?JavaScript 中的 Node.js 和 npm 包管理器來(lái)運(yùn)行文本處理和統(tǒng)計(jì)任務(wù),例如使用 npm 包中的 text-parser 和 text-count 包來(lái)計(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庫(kù)識(shí)別不了的網(wǎng)絡(luò)新詞,避免將一些新詞拆開(kāi)
    jieba.initialize()  # 初始化jieba
    # 文本預(yù)處理 :去除一些無(wú)用的字符只提取出中文出來(lái)
    new_data = re.findall('[\u4e00-\u9fa5]+', mytext, re.S)
    new_data = " ".join(new_data)
    # 文本分詞
    seg_list_exact = jieba.lcut(new_data)
    result_list = []
    # 讀取停用詞庫(kù)
    with open('停用詞庫(kù).txt', encoding='utf-8') as f: # 可根據(jù)需要打開(kāi)停用詞庫(kù),然后加上不想顯示的詞語(yǔ)
        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è),其它地方很難有這般景象了。娛樂(lè)體驗(yàn)了不倒翁,還有十二時(shí)辰里面表演更加精彩、內(nèi)景拍照不錯(cuò),簋唐樓可以嘗試一下沉浸劇本殺……'
comment_cutted = chinese_word_cut(comment)
comment_cutted

方法1:使用Pandas庫(kù)實(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庫(kù)

# 方法2-使用collections庫(kù)
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)無(wú)法顯示
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('詞語(yǔ)')
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)文章

  • Python多線程編程threading模塊使用最佳實(shí)踐及常見(jiàn)問(wèn)題解析

    Python多線程編程threading模塊使用最佳實(shí)踐及常見(jiàn)問(wèn)題解析

    這篇文章主要為大家介紹了Python多線程編程threading模塊使用最佳實(shí)踐及常見(jiàn)問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python使用PyEnchant打造一個(gè)高效拼寫檢查工具

    Python使用PyEnchant打造一個(gè)高效拼寫檢查工具

    本文介紹了PyEnchant庫(kù)的核心優(yōu)勢(shì)、安裝方法、基礎(chǔ)和進(jìn)階功能、性能優(yōu)化和生態(tài)協(xié)同等內(nèi)容,通過(guò)代碼示例和場(chǎng)景分析,幫助Python開(kāi)發(fā)者高效構(gòu)建拼寫檢查功能,并提供了常見(jiàn)問(wèn)題解決方案,鼓勵(lì)讀者將其集成到文本處理項(xiàng)目中,需要的朋友可以參考下
    2026-04-04
  • python mysqldb連接數(shù)據(jù)庫(kù)

    python mysqldb連接數(shù)據(jù)庫(kù)

    今天無(wú)事想弄下python做個(gè)gui開(kāi)發(fā),最近發(fā)布的是python 3k,用到了數(shù)據(jù)庫(kù),通過(guò)搜索發(fā)現(xiàn)有一個(gè)mysqldb這樣的控件,可以使用,就去官方看了下結(jié)果,沒(méi)有2.6以上的版本
    2009-03-03
  • Python中的圖形繪制簡(jiǎn)單動(dòng)畫實(shí)操

    Python中的圖形繪制簡(jiǎn)單動(dòng)畫實(shí)操

    這篇文章主要介紹了Python中的圖形繪制簡(jiǎn)單動(dòng)畫實(shí)操,?Matplotlib?是一個(gè)非常廣泛的庫(kù),它也支持圖形動(dòng)畫,動(dòng)畫工具以?matplotlib.animation?基類為中心,它提供了一個(gè)框架,圍繞該框架構(gòu)建動(dòng)畫,下面來(lái)看看具體的實(shí)現(xiàn)過(guò)程吧,需要的小伙伴可以參考一下
    2022-02-02
  • Python利用open函數(shù)讀寫文件的示例詳解

    Python利用open函數(shù)讀寫文件的示例詳解

    在目前的環(huán)境中,讀取文件應(yīng)該算是最基本的操作了,python也內(nèi)置了讀寫文件的函數(shù),讓我們來(lái)看下Python是如何利用open函數(shù)讀寫文件吧
    2023-04-04
  • Python項(xiàng)目打包與發(fā)布的三大工具(setuptools、Poetry、Flit)使用完全指南

    Python項(xiàng)目打包與發(fā)布的三大工具(setuptools、Poetry、Flit)使用完全指南

    這篇文章全面介紹了Python打包與發(fā)布的三大工具,包括setuptools、Poetry和Flit,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • Python圖像處理庫(kù)PIL的ImageGrab模塊介紹詳解

    Python圖像處理庫(kù)PIL的ImageGrab模塊介紹詳解

    這篇文章主要介紹了Python圖像處理庫(kù)PIL的ImageGrab模塊介紹詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python繪制折線圖和條形圖的方法

    python繪制折線圖和條形圖的方法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)折線圖和條形圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python導(dǎo)入三方包的顯示未解析的引用但是可以運(yùn)行問(wèn)題解決

    python導(dǎo)入三方包的顯示未解析的引用但是可以運(yùn)行問(wèn)題解決

    如果 PyCharm 顯示未解析的引用,有可能是因?yàn)槟诖a中使用了未安裝的庫(kù)或者模塊,或者是因?yàn)?nbsp;PyCharm 沒(méi)有正確配置解釋器,這篇文章主要介紹了python導(dǎo)入三方包的顯示未解析的引用但是可以運(yùn)行問(wèn)題的解決辦法
    2025-12-12
  • python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法

    python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)在每個(gè)獨(dú)立進(jìn)程中運(yùn)行一個(gè)函數(shù)的方法,涉及Python操作進(jìn)程的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

饶河县| 金山区| 如东县| 潮安县| 宜阳县| 斗六市| 专栏| 磐安县| 通榆县| 巴彦淖尔市| 滕州市| 永嘉县| 宜州市| 淮南市| 上虞市| 襄垣县| 思茅市| 潮安县| 余江县| 桂平市| 临清市| 乐安县| 台湾省| 罗田县| 德令哈市| 吉木乃县| 屏山县| 门源| 咸阳市| 西乌珠穆沁旗| 化州市| 阜南县| 苍梧县| 门头沟区| 四会市| 图们市| 贵州省| 邮箱| 东明县| 炉霍县| 元朗区|