1.首先安装配置环境
pip install scikit-learn
2.TF-IDF可以实现将 文本数据转换问数值向量表示(这里text数据已经进行了手动分词处理,如传入整段数据,得先进行分词处理。)
def test():
text = ['好看 闻到味了 爱了爱了','针不戳 好可爱呀 可爱好可爱','好可爱呀 不愧是她 好看'] #某视频弹幕
vectorizer = TfidfVectorizer() #实例化一个对象
#对文本分析,统计 tf(词频)值,将能输入文本的td-idf进行计算
vectorizer.fit(text) #预处理
vectors = vectorizer.transform(text) #转换信息
# vectors = vectorizer.fit_transform(text) #效果如上,调用此函数即可一步到位
print(vectors)
3.查看输出结果
输出结果分析:
左侧数据中前三个用于描述向量的第一个位置 分别对应第6个位置,第4个位置,第3个位置有向量值。
右侧表对应数据
4.修改输出 print(vectors.toarray()),输出每个文档的向量表示
5.修改输出,print(vectorizer.get_feature_names_out()) ,打印特征词列表
文档的向量表示对应特征表中的每个词一一对应。
6.TfidfVectorizer的计算过程:
(1)首先根据输入的多个文档,构建此表(默认去除单字词)
(2)统计每篇文档中词表中词出现的次数
(3)计算每个词平滑后的tf-idf值
(4)对每个文档的tf-idf向量进行l2标注化