You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算句子级TF-IDF得分并为DataFrame新增对应列

实现方案

你已经生成的tf_idf_vector是行对应句子、列对应特征词的稀疏矩阵,每一行的数值就是对应句子里每个词的TF-IDF得分,对每行做聚合即可得到句子级得分,两种常用的计算方式如下:

方式1:计算句子所有单词TF-IDF得分总和

适合不需要过滤长句权重的场景

# 对TF-IDF矩阵每行求和,通过.A1将矩阵转为一维数组后赋值给新列
df['tf-idf score'] = tf_idf_vector.sum(axis=1).A1

方式2:计算句子有效单词(TF-IDF不为0)的平均得分

可以避免长句天然得分更高的偏差

import numpy as np
# 统计每行非零元素的数量(即句子包含的特征词数量)
non_zero_count = np.diff(tf_idf_vector.indptr)
# 总得分除以特征词数量得到平均得分
df['tf-idf score'] = tf_idf_vector.sum(axis=1).A1 / non_zero_count

结果验证

执行后可输出前5行验证结果:

print(df[['message', 'tf-idf score']].head())

内容的提问来源于stack exchange,提问作者Divyank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:00:01