首页 > 试题广场 >

实现TF-IDF

[编程题]实现TF-IDF
  • 热度指数:162 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
实现一个函数来计算TF-IDF(词频-逆文档频率)分数。TF-IDF是一种用于信息检索和文本挖掘的常用加权技术,用于评估一个词对于文档集中的某个文档的重要程度。

输入描述:
函数接收两个参数:
1. corpus:文档集合,是一个二维列表,每个元素是一个文档(词语列表)
2. query:查询词列表,需要计算这些词的TF-IDF分数


输出描述:
返回一个二维列表,表示每个查询词在每个文档中的TF-IDF分数:
- 行数等于文档数
- 列数等于查询词数
- 结果保留5位小数
- 按照文档顺序和查询词顺序排列
示例1

输入

[["hello", "world"], ["hello", "python"]]
["hello", "python"]

输出

[[0.5, 0.0], [0.5, 0.70273]]

备注:
1.对应的输入、输出已给出,您只用实现核心功能函数即可。
2.支持numpy、scipy、pandas、scikit-learn库。
头像 牛客题解官
发表于 2025-02-06 10:43:37
TF-IDF是一种衡量文本特征的指标,常用于文本分类和信息检索。其计算公式为: 其中,TF是词频,IDF是逆文档频率。 TF的计算公式为: IDF的计算公式为: IDF还有很多其他的计算方式,但本题中使用的是上述公式。 在这个算法中,词汇表发挥着重要作用,是计算TF-IDF的基础。通常,词汇表 展开全文