文章中的英文和汉语词数出现次数的统计

本文通过实际案例,详细介绍了如何使用CountVectorizer进行文本特征提取,分别对英文和中文文本进行分词处理,展示了如何设定停用词,并通过运行代码获取了特征名称及对应的词频矩阵。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对英文词语的统计如下

import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer

#需要处理的文字
content = ['Hong Kong residents express feelings through anthem; Guangzhou Museum offers moon-gazing through telescopes; China beat Cameroon 3-0 at Women’s V-ball World Cup','China unveiled the official mascots (Bing Dwen Dwen and Shuey Rhon Rhon) on Tuesday for the Beijing 2022 Winter Olympics and Winter Paralympic Games.']

#1.构建实例
#min_df=1 设置分词的时候词至少出现一次
#stop_words 停用词,stop_words=[''],认为不重要的词放进去,停止对这些词的使用
con_vet = CountVectorizer(stop_words=['express','feelings'])

#2.进行词语提取
# 对于英文来说按照空格分隔,来获取
# 认为单个的词对文章没有影响,所以不取出来
X = con_vet.fit_transform(content)

name = con_vet.get_feature_names()

print(name)
print(X.toarray())
print(X)

代码运行结果如下: 

上面的列表是出现的词语,下面的列表代表在以一句话和第二句话中对应词语出现的次数。

上面的代码无法直接处理中文,所以要对代码进行处理,这个时候需要引入结巴分词来处理中文,使用结巴分词之前要使用pip将结巴分词下载到本地

import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
import jieba

#自己构建文章
content = ['海是一座没有围墙的城','那些和青春为伍的日子','曾在你心里住过一阵子','将青春的承诺载出天涯']

content_list = []
for tmp in content:
    #这里使用的是精确匹配
    res = jieba.cut(tmp,cut_all=True)
    res_str = ','.join(res)
    content_list.append(res_str)

#1.构建实例
con_vet = CountVectorizer(stop_words=['为伍','没有'])

#2.进行词语提取
# 对于英文来说按照空格分隔,来获取
# 认为单个的词对文章没有影响,所以不取出来
x = con_vet.fit_transform(content_list)

#获取提取到的词语
name = con_vet.get_feature_names()
print(name)

print(x.toarray())

代码运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值