首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我创建了一个TF-IDF代码来分析年度报告,我想知道特定关键字的重要性。

我创建了一个TF-IDF代码来分析年度报告,我想知道特定关键字的重要性。
EN

Stack Overflow用户
提问于 2022-05-14 15:49:36
回答 1查看 100关注 0票数 0
代码语言:javascript
复制
import pandas as pd
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import TfidfVectorizer
import path
import re



with open(r'C:\Users\maxim\PycharmProjects\THESIS\data\santander2020_1.txt', 'r') as file:
    data = file.read()

dataset = [data]


tfIdfVectorizer=TfidfVectorizer(use_idf=True, stop_words="english"
                                , lowercase=True,max_features=100,ngram_range=(1,3))
tfIdf = tfIdfVectorizer.fit_transform(dataset)
df = pd.DataFrame(tfIdf[0].T.todense(), index=tfIdfVectorizer.get_feature_names(), columns=["TF-IDF"])
df = df.sort_values('TF-IDF', ascending=False)




print (df.head(25))

上述代码是我为对年度报告进行工作队-以色列国防军分析而创建的,但目前它给我的是报告中最重要的词语的价值。然而,我只需要TFIDF值的关键字“数字”、“硬件”、“创新”、“软件”、“分析”、“数据”、“数字化”、“技术”,我是否可以指定一种方法只查找这些术语的tfidf值?

我对编程很陌生,经验很少,我这么做是为了我的论文。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-14 17:12:56

您已经将tfIdf定义为tfIdf = tfIdfVectorizer.fit_transform(dataset)

因此,tfIdf.toarray()将是一个二维数组,其中每行引用一个文档,行中的每个元素都引用相应单词的TF分数。要知道每个元素代表的单词是什么,您可以使用.get_feature_names()函数来打印单词列表。然后,您可以使用这些信息创建从单词到分数的映射(dict),如下所示:

wordScores = dict(zip(tfIdfVectorizer.get_feature_names(), tfIdf.toarray()[0]))

现在假设您的文档包含“数字”一词,并且您想知道它的TF-以色列国防军得分,您可以简单地打印wordScores["digital"]的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72241814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档