问题标签 [tfidfvectorizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
547 浏览

python - 使用 python 对 twitter 用户进行聚类

我在 git-hub ( https://github.com/bonzanini/Book-SocialMediaMiningPython/blob/master/Chap02-03/twitter_cluster_users.py ) 上找到了这段代码,用于根据他们在 twitter 上的 bios 使用 k-means 对用户个人资料进行聚类。我有一个 .jsonl 文件,其中包含以下格式的行:

但我需要在打印集群时知道带有 bios 的用户名。我该怎么做?我想在这个集群中添加位置信息。将位置作为第二列添加到矩阵并使用这两个特征计算 tfidf。我怎么能这样做呢?

0 投票
1 回答
479 浏览

python - tf-idf vectorizer的use_idf参数说明

tfidf Vectorizer中use_idf参数有什么用?文档没有给出太多关于它的解释。有人可以解释一下吗?

0 投票
1 回答
7516 浏览

python - 对 TfidfVectorizer.fit_transform 的返回结果感到困惑

我想了解更多关于 NLP 的知识。我遇到了这段代码。TfidfVectorizer.fit_transform但是我对打印结果的结果感到困惑。我熟悉 tfidf 是什么,但我不明白这些数字的含义。

输出是:

(0, 630) 0.37172623140154337 (0, 160) 0.36805562944957004 (0, 38) 0.3613966215413548 (0, 545) 0.2561101665717327 (0, 326) 0.2645280991765623 (0, 967) 0.3277447602873963 (0, 421) 0.3896274380321477 (0, 227) 0.28102915589024796 (0 , 323) 0.22032541100275282 (0, 922) 0.2709848154866997 (1, 577) 0.4007895093299793 (1, 425) 0.5970064521899725 (1, 943) 0.6310763941180291 (1, 878) 0.29102173465492637 (2, 282) 0.1771481430848552 (2, 243) 0.5517018054305785 (2, 955 ) 0.2920174942032025 (2, 138) 0.30143666813167863 (2, 946) 0.2269933441326121 (2, 165) 0.3051095293405041 (2, 268) 0.2820392223588522 (2, 780) 0.24119626642264894 (2, 823) 0.1890454397278538 (2, 674) 0.256251970757827 (2, 874) 0.19343834015314287 : : (5569, 648) 0.24171652492226922
(5569, 123) 0.23011909339432202 (5569, 957) 0.24817919217662862
(5569, 549) 0.28583789844730134 (5569, 863) 0.3026729783085827
(5569, 844) 0.20228305447951195 (5569, 146) 0.2514415602877767
(5569, 595) 0.2463259875380789 (5569, 511) 0.3091904754885042
(5569 , 230) 0.2872728684768659 (5569, 638) 0.34151390143548765
(5569, 83) 0.3464271621701711 (5570, 370) 0.4199910200421362
(5570, 46) 0.48234172093857797 (5570, 317) 0.4171646676697801
(5570, 281) 0.6456993475093024 (5572, 282) 0.25540827228532487
(5572, 385 ) 0.36945842040023935 (5572, 448) 0.25540827228532487
(5572, 931) 0.3031800542518209 (5572, 192) 0.29866989620926737
(5572, 303) 0.43990016711221736 (5572, 87) 0.45211284173737176
(5572, 332) 0.3924202767503492 (5573, 866) 1.0

如果有人可以解释输出,我会非常高兴。

0 投票
1 回答
832 浏览

cluster-analysis - 如何使用多列对文本数据进行聚类?

我想做 ak 意味着用具有“title”、“genre”、“review”和“synopsis”列的书籍文本数据进行聚类。

我想将“标题”用作集群的指标或主键,但我不确定如何为此使用多个列。

我知道我首先必须对数据进行矢量化,但矢量化接收的是序列数据而不是数据帧值;所以在这里,我不知道如何使用我想要的所有列。

0 投票
2 回答
956 浏览

python - 两个术语的相似性包含拼写错误

我正在尝试确定两个术语之间的相似性;一个拼写正确,另一个可能包含也可能不包含拼写错误。

为此,我现在使用 TFIDFvectorizer 对这两个术语进行矢量化,然后使用相似性方法来确定它们之间的相似性。

这适用于以下类型的示例:

但是,如果出现拼写错误,例如:

它给出了 的相似性0,即使它们是有些相似的术语(我并不例外地获得 的相似性1.0,但旨在获得相似性 > 0.0

我的一个考虑是将每个单词分解为 X 个字符,这样每个术语将是:

Original term = ['re', 'ed', 'd ', ' c', 'ca', 'ar']

Input term = ['re', 'ed', 'dd', 'd ', ' c', 'ca', 'ar', 'rr']

然后确定它们之间的相似度并计算平均相似度。

对于解决这个问题的潜在方法,我真的很感激任何其他建议。

0 投票
1 回答
653 浏览

python-3.x - 为不同的单词获取相同的 tfidf 值

所以我正在做一个关于推特情绪分析的项目,其中我碰巧需要在收集的推文上使用 TFIDF。所以我将推文列表转换为单个字符串并将其提供给对象,问题是我得到了大多数具有不同值的单词的相同值,但它们也非常频繁。为什么会这样?是因为我使用单个字符串作为输入吗?

这是代码https://trinket.io/python/9c2daed912

这是屏幕截图,您可以看到许多具有相同的 TFIDF 值

0 投票
1 回答
3502 浏览

scikit-learn - TfidfVectorizer 中“max_features”的用途是什么

我从中了解到的是,如果 max_feature = n; 这意味着它是根据 Tf-Idf 值选择前 n 个 Feature。我浏览了 scikit-learn 上的 TfidfVectorizer 文档,但没有正确理解。

0 投票
1 回答
217 浏览

python-3.x - 如何在 TfidfVectorizer.fit_transform() 中传递用户定义的函数

我有文本预处理功能,它只是删除停用词:

我想传递text_preprocessing()给另一个函数tf_idf(),它给出了我本质上所做的特征矩阵:-

我收到一个错误TypeError: 'function' object is not iterable

0 投票
1 回答
478 浏览

python-3.x - 修剪tfidfvectorizer后如何检查术语是否为空

我正在使用 tfidfvectorizer 对来自许多不同语料库的术语进行评分。
这是我的代码

每个语料库中的文档数量是多种多样的,因此在构建词汇表时,一些语料库保持为空并返回错误:

我不想更改最小或最大 DF。我需要的是当没有术语时,跳过转换过程。所以我做了一个条件过滤器,如下所示

然而,条件行不通。有没有办法解决这个问题?

非常感谢所有答案和评论。谢谢

0 投票
1 回答
1342 浏览

python-3.x - 如何在熊猫数据帧上迭代 TfidfVectorizer()

我有一个包含 1000 万条新闻文章记录的大型 pandas 数据框。所以,这就是我申请的方式TfidfVectorizer

处理所有文件需要花费大量时间。我只想一次迭代数据框中的每篇文章,或者我是否可以分块传递文档并不断更新现有词汇表而不覆盖旧的词汇表?

我已经阅读了这篇 SO帖子,但并没有完全了解如何将它应用到 pandas 上。我也听说过Python generators但不完全了解它是否在这里有用。