nltk处理文本并且统计标准化后的词频

引用库文件:

import re
import nltk
import xlrd
from nltk import FreqDist
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer
import re
import json
from tqdm import tqdm

文本来源于一个xlsx文件中,先读取出文本:

workbook = xlrd.open_workbook("tweets_2.xlsx")
worksheet = workbook.sheet_by_index(0)
tweets = worksheet.col_values(4)[1:]

停用词集合:

stop = set(stopwords.words('english'))

统计文本中的词并标准化:

filter_tweets = []
fdists = []
ps = PorterStemmer()
for tweet in tqdm(tweets):
    #文本过滤
    filter_tweet = re.sub(r'[^a-zA-Z0-9\s]', '', string=tweet)
    #去除停用词
    filter_tweet = [word for word in filter_tweet.split(' ') if word not in stop]
    temp_tweet = []
    #标准化
    for w in filter_tweet:
        rootWord = ps.stem(w)
        temp_tweet.append(rootWord)
    filter_tweet = temp_tweet
    filter_tweets += filter_tweet

统计词频并从大到小排序:

fdist = FreqDist(filter_tweets)
sorted_fdist = sorted(fdist.items(), key=lambda x: x[1], reverse=True)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值