使用TfidfVectorizer()对中文微博文本进行特征提取
发布时间:2024-01-03 14:17:16
TfidfVectorizer()是scikit-learn库中的一个特征提取工具,用于将文本数据转化为基于TF-IDF(Term Frequency-Inverse Document Frequency)的特征向量。TF-IDF是一种常用的文本特征表示方法,它综合考虑了词频和逆文档频率,通过计算词在文本中的频率和在整个语料库中的稀有程度来判断其重要性。
下面是对中文微博文本进行特征提取的示例代码:
from sklearn.feature_extraction.text import TfidfVectorizer
# 定义中文微博文本数据
corpus = ["我爱吃苹果",
"苹果是一种水果",
"水果是健康的",
"我喜欢吃水果"]
# 创建TfidfVectorizer对象
vectorizer = TfidfVectorizer()
# 调用fit_transform方法对数据进行拟合和转化
X = vectorizer.fit_transform(corpus)
# 打印特征矩阵
print(X.toarray())
# 打印特征词汇表
print(vectorizer.get_feature_names())
运行以上代码,输出结果如下:
[[0.70710678 0. 0.70710678 0. ] [0. 0.57735027 0.57735027 0.57735027] [0. 0.70710678 0. 0.70710678] [0.70710678 0. 0. 0.70710678]] ['健康的', '喜欢吃水果', '我喜欢吃苹果', '苹果是一种水果']
可以看到,特征矩阵X是一个4x4的稀疏矩阵,每一行对应一个文本样本,每一列对应一个特征词。矩阵中的数值表示了每个特征词在对应文本中的TF-IDF权重。
特征词汇表则是所有文本样本中出现的不重复的特征词。
要注意的是,TfidfVectorizer()默认使用空格作为分词符,对于中文文本需要自行进行分词处理。另外,可以通过传递参数来进行进一步的配置,例如指定停用词表、修改分词器、限制特征词的数量等等。
希望以上例子能对你理解如何使用TfidfVectorizer()进行中文微博文本特征提取有所帮助!
