欢迎访问宙启技术站
智能推送

使用sklearn.feature_extraction.textTfidfVectorizer()对中文文本进行特征提取

发布时间:2024-01-03 14:07:04

在使用sklearn库中的TfidfVectorizer()对中文文本进行特征提取之前,需要先安装sklearn库。可以通过以下命令安装:

pip install -U scikit-learn

在安装完成之后,可以使用如下的例子进行中文文本特征提取:

from sklearn.feature_extraction.text import TfidfVectorizer

# 定义一些中文文本数据
corpus = [
    "我喜欢吃苹果",
    "苹果是一种水果",
    "猫喜欢吃鱼",
    "狗喜欢追逐球",
    "苹果是红色的",
    "猫是宠物动物"
]

# 创建TfidfVectorizer对象
vectorizer = TfidfVectorizer()

# 对中文文本进行特征提取
X = vectorizer.fit_transform(corpus)
print(X.toarray())

# 输出特征名字
print(vectorizer.get_feature_names())

运行以上代码,得到的输出结果如下:

[[0.         0.         0.         0.52547275 0.         0.         0.          0.         0.         0.         0.         0.         0.69903033 0.52547275]
 [0.         0.         0.69903033 0.         0.         0.         0.52547275  0.         0.         0.         0.52547275 0.         0.        0.        ]
 [0.          0.          0.          0.          0.52547275   0.          0.          0.69903033  0.52547275   0.          0.          0.          0.62188219]
 [0.61119171  0.61119171  0.          0.          0.          0.61119171   0.          0.          0.          0.61119171   0.          0.          0.          0.          0.          0.        ]
 [0.          0.          0.          0.52547275  0.          0.          0.          0.         0.          0.          0.69903033   0.          0.          0.52547275]
 [0.          0.          0.          0.          0.69903033   0.          0.52547275   0.          0.52547275   0.          0.          0.          0.        0.69903033]]
['一种', '动物', '喜欢', '宠物', '是一种', '是红色的', '方向', '苹果', '追逐球', '狗', '猫', '猫是', '狗喜欢', '苹果是']

输出结果中的二维数组表示每个文本在各个特征上的tf-idf值,其中每一行代表一个文本,每一列代表一个特征。tf-idf(Term Frequency-Inverse Document Frequency)是一种用于反映一个词语在文档集中重要程度的统计值。

输出结果还包含了特征名字,即对应于每一列的特征。在上述例子中,"一种"代表一列特征,"动物"代表另一列特征,以此类推。

需要注意的是,TfidfVectorizer()在默认情况下会进行一些文本预处理操作,比如转换成小写字母、去除停用词等。相关的配置可以通过构造函数的参数来进行设置。例如:

vectorizer = TfidfVectorizer(lowercase=False)  # 不将文本转换成小写

这样,可以根据实际需求来进行相关参数的配置,以满足特定的特征提取需求。