Python Tf idf算法

2023-12-15

我想在一组文档中找到最相关的单词。

我想在 3 个文档上调用 Tf Idf 算法,并返回一个包含每个单词及其频率的 csv 文件。

之后,我将只选取那些数字较高的并使用它们。

我发现这个实现可以满足我的需要https://github.com/mccurdyc/tf-idf/.

我用subprocess图书馆。但该代码存在一个巨大的问题:它在分析单词时犯了很多错误。它混合了一些单词,有问题' and -(我认为)。我在 3 本书(哈利·波特)的文本中使用它,例如,我获得这样的单词hermiones, hermionell, riddlehermione, thinghermione而不仅仅是hermione在 csv 文件中。

我做错了什么吗?你能给我一个 Tf idf 算法的工作实现吗?有没有一个 python 库可以做到这一点?


这是 Tf-idf 算法的实现,使用scikit学习。 在应用之前,您可以word_tokenize() and stem你的话。

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from nltk import word_tokenize
from nltk.stem.porter import PorterStemmer

def tokenize(text):
    tokens = word_tokenize(text)
    stems = []
    for item in tokens: stems.append(PorterStemmer().stem(item))
    return stems

# your corpus
text = ["This is your first text book", "This is the third text for analysis", "This is another text"]
# word tokenize and stem
text = [" ".join(tokenize(txt.lower())) for txt in text]
vectorizer = TfidfVectorizer()
matrix = vectorizer.fit_transform(text).todense()
# transform the matrix to a pandas df
matrix = pd.DataFrame(matrix, columns=vectorizer.get_feature_names())
# sum over each document (axis=0)
top_words = matrix.sum(axis=0).sort_values(ascending=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Tf idf算法 的相关文章

  • 尽管极其懒惰,但如何在 Python 中模拟 IMAP 服务器?

    我很好奇是否有一种简单的方法来模拟 IMAP 服务器 例如imaplib模块 在Python中 without做很多工作 是否有预先存在的解决方案 理想情况下 我可以连接到现有的 IMAP 服务器 进行转储 并让模拟服务器在真实的邮箱 电子
  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp

随机推荐

  • GData 静态库:使用 -fno-objc-arc 从 ARC 中排除文件?

    我在使用 ARC 的应用程序中使用 GData 静态库 谷歌的说明说将头文件从库链接到项目目标 问题是 当我这样做时 我会收到编译器错误 因为 GData 库与 ARC 不兼容 谷歌声明 弧兼容性 当库源文件直接编译到使用 ARC 的项目中
  • 如何使用正则表达式(递归?)匹配嵌套函数调用(括号对)

    我正在寻找一个正则表达式 来匹配未知数量的嵌套函数 所以 expression function expression function function expression function function function expr
  • 如何从 URL 中删除 index.php?

    我的 Magento 安装中的所有 URL 都需要包含 index php 例如 http example com index php admin http example com index php customer account lo
  • 我无法在 iOS 中从 Facebook 获取用户数据

    我是 iPhone 编程新手 使用下面的代码我登录 Facebook 并获取数据 但这里的问题是 如果单击 Loginwithfacebook 按钮 Facebook 对话框打开 之后 如果再次单击相同的内容 我将输入 Facebook 的
  • JPA 2.0:在 JPA 2.0 中使用 javax.validation.* 包的异常

    当我尝试使用 hibernate 使用 JPA 进行 bean 验证时 会发生以下异常 Exception in thread main javax persistence PersistenceException PersistenceU
  • 8086中的堆栈段和堆栈指针

    我对堆栈段 ss 和堆栈指针 sp 寄存器有点困惑 当堆栈为空时 sp值等于ss值吗 我读到 当我们将一个字 2字节 推入堆栈时 sp会减2 如果第一个语句为真 sp ss 那么我可以说 如果堆栈不为空 堆栈指针的值总是较小或等于堆栈段的值
  • Javascript 代码计算按钮的点击次数

    我有一个页面 我想计算按钮的点击次数 数字显示在该按钮的正下方 我尝试搜索并找到了这个 我认为这不会计算点击总数 跟踪按钮点击次数 我熟悉 javascript 代码 因此任何帮助都会很有用 HTML 代码
  • 如何从 Firebase 托管应用程序引用 Firebase Functions 配置变量?

    我正在将 Heroku 托管的 ReactJS NodeJS 应用程序转换为托管在 Firebase 上 由于 Firebase 仅处理静态页面 因此我需要重新配置开发 暂存 生产环境的私有环境特定变量的配置方式 例如 在我定义这些变量之前
  • 如何将 Managed Bean 字段设置为 ui:param 的值?

    我有一个 JSF 页面 它包含在其他 JSF 页面中 基本上是页面标题 包含公共信息 该公共页面有其自己的控制器 并且依赖于包含该公共页面的页面向其传递一些公共数据 具体来说 我目前正在尝试使用以下方法将此公共页面包含在其他页面上
  • Python 中的好或坏实践:在文件中间导入 [重复]

    这个问题在这里已经有答案了 假设我有一个相对较长的模块 但只需要一次外部模块或方法 在模块中间导入该方法或模块是否被认为可以 或者应该import仅位于该模块的第一部分 Example import string pythis pythat
  • Java:在“this”类而不是子类中调用函数(类似于“super”)

    在 Java 中是否可以以始终执行 本地定义 版本而不是子类中的重写版本的方式调用可重写方法 IE 有没有类似的super指的是这个类 而不是超类 让我给出一个代码示例 希望能够清楚地说明我想要做什么 class A void foo Sy
  • 批处理文件:如果注册表项的数据等于

    我正在尝试为某些资源管理器设置制作一个 bat 切换器 为此 我需要批处理文件来查询注册表项的数据 然后相应地设置该项 例如 在 ActionScript 3 或 JavaScript 中 它会是这样的 if HideFileExt 000
  • 在 Android 上使用 OS 2.2 DevicePolicyManager SDK 类,同时支持 OS 2.1 设备

    我想用一些设备策略管理器我的应用程序中的方法 DevicePolicyManager 是在 OS 2 2 中引入的 但我的应用程序必须继续在 OS 2 1 设备上运行 这是我想做的事情的伪代码 if needSecurity if runn
  • 如何使用 SSL 将 Python 连接到 DB2 数据库?

    我有一个正在运行的 DBeaver 连接到 DB2 数据库 现在我想在 Python 中通过 SSL 安全地连接 DB2 数据库 作为身份验证 我想使用我的 Windows 帐户而不是提供 PW 和 UserID 为此我在 DBeaver
  • docker 容器会自动与其主机同步时间吗?

    我是否需要在 Docker 容器内安装 NTP 服务器来定期同步时间 或者容器是否会与其主机重新同步时间 docker容器时区设置正确 如果您在运行 boot2docker 的 OSX 上 请参阅此问题 https github com b
  • 双引号之间的 JavaScript 文本

    我想使用 JavaScript 获取双引号之间的文本 我在网上发现了类似的东西title match 但问题是 有时我在双引号之间有文本 但有时没有引号 我的意思是 有时我会收到如下字符串 Neque porro quisquam est
  • 使用文件夹名称在 powershell 中重命名文件

    使用 Powershell 我想使用文件所在文件夹的名称来重命名文件夹中的文件 因此 在我的 C temp 目录中 有 3 个名为 aaa bbb 和 ccc 的文件夹 在每个文件夹中 都有 3 个文件 分别称为 doc1 txt doc2
  • java.sql.SQLException 参数索引超出范围(1 > 参数数量,即 0)[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 验证我选择的选择组合框后 我无法将其插入到我的数据库中 Tomcat报如下错误 java sql SQLException 参数索引超出范围 1 gt 参数数量 即 0 这是如何引起的以及
  • C++从字符串到对象标识符的转换[重复]

    这个问题在这里已经有答案了 我正在用 C 编写一个程序 该程序从外部文件读取一些数据以设置静态变量的值 是否可以将字符串转换为对象标识符 例如 将字符串 CheckBox Unchecked 转换为对象 CheckBox unchecked
  • Python Tf idf算法

    我想在一组文档中找到最相关的单词 我想在 3 个文档上调用 Tf Idf 算法 并返回一个包含每个单词及其频率的 csv 文件 之后 我将只选取那些数字较高的并使用它们 我发现这个实现可以满足我的需要https github com mcc