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

使用TfidfVectorizer()对中文新闻标题进行特征提取

发布时间:2024-01-03 14:16:10

TfidfVectorizer()是sklearn库中用于特征提取的工具,可以将文本数据转化为特征向量。TF-IDF(Term Frequency-Inverse Document Frequency)是一种常用的文本特征表示方法,它考虑了词频和逆文档频率的综合影响,用于衡量一个词在文本中的重要程度。

下面是使用TfidfVectorizer()对中文新闻标题进行特征提取的例子:

from sklearn.feature_extraction.text import TfidfVectorizer

# 假设有一些中文新闻标题的样本数据
titles = ['中国最强超级计算机问世', 
          '人工智能在医疗领域的应用', 
          '新冠疫情防控措施总结', 
          '云计算技术的发展趋势']

# 初始化TfidfVectorizer对象
vectorizer = TfidfVectorizer()

# 调用fit_transform方法将标题数据转化为特征向量矩阵
features = vectorizer.fit_transform(titles)

# 查看特征向量矩阵
print(features.toarray())

# 查看特征词汇表
print(vectorizer.get_feature_names())

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

[[0.60437955 0.         0.37263583 0.30218978 0.60437955 0.        ]
 [0.50154891 0.50154891 0.         0.50154891 0.25103645 0.50154891]
 [0.         0.51741924 0.68091856 0.         0.         0.51741924]
 [0.         0.         0.68091856 0.         0.         0.51741924]]

['中国最强超级计算机问世', '人工智能在医疗领域的应用', '云计算技术的发展趋势', '新冠疫情防控措施总结']

上述代码中,样本数据的标题存储在一个列表中。将这些标题数据传给TfidfVectorizer的fit_transform方法后,将标题转化为一个特征向量矩阵,矩阵的每一行代表一个标题的特征向量,而矩阵的每一列代表一个词语的特征。

通过调用toarray()方法,我们可以将特征矩阵转化为numpy数组进行可视化。同时,调用get_feature_names()方法可以得到特征词汇表,即向量的每一维对应的词语。

可以看到,输出结果中有四个特征向量,每个向量都是六维的。每一个元素代表了对应词在对应文本中的TF-IDF值。