0

0

如何避免词组拆分影响 TF-IDF 计算?

碧海醫心

碧海醫心

发布时间:2024-11-06 15:09:01

|

1104人浏览过

|

来源于php中文网

原创

如何避免词组拆分影响 TF-IDF 计算?

自定义 tf-idf 计算,避免词组拆分

在使用 tfidfvectorizer 计算 tf-idf 值时,当文本数据包含词组时,可能会遇到自动分词的问题,导致输出特征包含分拆后的单词。为了解决这一问题,以下提供两种方法:

1. 调整 tfidfvectorizer 参数

如果文本数据中的词组由下划线或其他字符连接,可以设置 tfidfvectorizer 的 analyzer 参数为 "word",以禁用分词功能。

from sklearn.feature_extraction.text import tfidfvectorizer

docs = ["this_is_book", "this_is_apple"]
vectorizer = tfidfvectorizer(analyzer="word", stop_words="english")
tfidf = vectorizer.fit_transform(docs)
print(vectorizer.get_feature_names_out())

输出:

蛙蛙写作——超级AI智能写作助手
蛙蛙写作——超级AI智能写作助手

蛙蛙写作辅助AI写文,帮助获取创意灵感,提供拆书、小说转剧本、视频生成等功能,是一款功能全面的AI智能写作工具。

下载
['this_is_apple', 'this_is_book']

2. 自定义 tf-idf 计算

如果你不想使用 tfidfvectorizer,也可以自行编写 tf-idf 计算程序。以下是一个示例实现:

import math

def tfidf_custom(docs, vocab):
  """
  自定义 TF-IDF 计算

  参数:
    docs: 文档集合
    vocab: 词汇表
  """

  # 计算词频
  tf_dict = {}
  for doc in docs:
    for word in doc:
      if word in tf_dict.keys():
        tf_dict[word] += 1
      else:
        tf_dict[word] = 1

  # 计算文档频率
  df_dict = {}
  for word in vocab:
    for doc in docs:
      if word in doc:
        if word in df_dict.keys():
          df_dict[word] += 1
        else:
          df_dict[word] = 1

  # 计算 TF-IDF 值
  tfidf_dict = {}
  for word in vocab:
    tfidf_dict[word] = (tf_dict[word] / sum(tf_dict.values())) * math.log(len(docs) / df_dict[word])

  return tfidf_dict

# 文档集合和词汇表
docs = ["This_is_book", "This_is_apple"]
vocab = ["This_is_apple", "This_is_book"]

tfidf_custom(docs, vocab)

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
word背景色怎么改成白色
word背景色怎么改成白色

Word是微软公司的一个文字处理器软件。word为用户提供了专业而优雅的文档工具,帮助用户节省时间并得到优雅美观的结果。word提供了许多易于使用的文档创建工具,同时也提供了丰富的功能供创建复杂的文档使用。怎么word背景色怎么该呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3691

2023.07.21

word最后一页空白页怎么删除
word最后一页空白页怎么删除

word最后一页空白页删除方法有:通过删除回车符、调整页边距、删除分节符或调整分页符位置,您可以轻松去除最后一页的空白页。根据您实际的文档情况,选择适合您的方法进行操作,使您的文档更加美观和整洁。本专题为大家提供word最后一页空白页怎么删除不了相关的各种文章、以及下载和课程。

316

2023.07.24

word最后一页空白页怎么删除不了
word最后一页空白页怎么删除不了

word删除最后一页空白页,可以尝试使用Backspace键删除空白页,如果无效,查找和删除分页符,或者调整页面边距和行距。还可以尝试将文档保存为其他格式并重新打开和保存。本专题为大家提供word最后一页空白页为啥删除不了的相关的文章、下载、课程内容,供大家免费下载体验。

367

2023.07.25

word单页改变纸张方向
word单页改变纸张方向

word单页改变纸张方向:1、在界面上选择文档纸张方向;2、自定义页面设置;3、分节功能。本专题为大家提供word单页改变纸张方向的相关的文章、下载、课程内容,供大家免费下载体验。

617

2023.07.27

word转ppt
word转ppt

Word是一款常用的文字处理软件,而PowerPoint则是一款专门用于制作演示文稿的软件。在某些情况下,我们可能需要将Word文档转换为PowerPoint演示文稿,以便更好地展示我们的内容。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

371

2023.08.03

word页码从第三页开始为1教程
word页码从第三页开始为1教程

如何将word页码从第三页开始为1,本专题为大家提供相关的文章,希望可以帮助大家解决问题。

2131

2023.08.04

多个word合并成一个word教程
多个word合并成一个word教程

在工作中将多个word合并成一个word是一个很常见的操作,本专题为大家提供相关问题的解决文章,大家可以免费阅读。

1751

2023.08.04

word插入表格
word插入表格

Word是一个功能强大的文字处理软件,它不仅可以方便地创建和编辑文本内容,还可以插入表格来整理和呈现数据。那么word怎么插入表格呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

282

2023.08.07

Golang 分布式缓存与高可用架构
Golang 分布式缓存与高可用架构

本专题系统讲解 Golang 在分布式缓存与高可用系统中的应用,涵盖缓存设计原理、Redis/Etcd集成、数据一致性与过期策略、分布式锁、缓存穿透/雪崩/击穿解决方案,以及高可用架构设计。通过实战案例,帮助开发者掌握 如何使用 Go 构建稳定、高性能的分布式缓存系统,提升大型系统的响应速度与可靠性。

27

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号