python - 如何将两个文本文档与 tfidf 矢量化器进行比较?
问题描述
我有两个不同的文本,我想使用 tfidf 矢量化进行比较。我正在做的是:
- 标记每个文档
- 使用 TFIDFVectorizer.fit_transform(tokens_list) 进行矢量化
现在我在第 2 步之后得到的向量具有不同的形状。但根据概念,我们应该对两个向量具有相同的形状。只有这样才能比较向量。
我究竟做错了什么?请帮忙。
提前致谢。
解决方案
正如 G. Anderson 已经指出的那样,并且为了帮助未来的人,当我们在文档 D1 上使用 TFIDFVectorizer 的拟合函数时,这意味着对于 D1,构建了词袋。
transform() 函数计算词袋中每个词的 tfidf 频率。
现在我们的目标是将文档 D2 与 D1 进行比较。这意味着我们想看看有多少 D1 的单词与 D2 匹配。这就是为什么我们在 D1 上执行 fit_transform() ,然后只有 D2 上的 transform() 函数会应用 D1 的词袋并计算 D2 中标记的逆频率。这将给出 D1 与 D2 的相对比较。
推荐阅读
- json - 没有键的结构/映射数组
- json - 如何在 API 调用完成后和组件呈现之前更新状态
- php - 检查数据库中是否有另一个用户名不起作用
- java - 不能在模仿 ArrayList 工作方式的类中的两个数组之间使用相等运算符
- r - 找到存在/不存在变量和定量变量之间的统计检验
- javascript - Svelte.js 组件属性在带有 customElement 的脚本标记中未定义:true
- json - 我们如何在 Flutter 应用程序中解析 json 响应的内部节点?
- java - 如何在sping jpa中使用转换器
- java - 如何交错两个数组列表?
- wordpress - 无法在 woocommerce 的订单页面上使用 query_posts 或 wp_query 获取帖子