seo站长教程wordpress增强编辑器
news/
2025/10/1 16:40:31/
文章来源:
seo站长教程,wordpress增强编辑器,用一个口罩做一把枪,网站建设 盈利文章目录 一、TF-IDF算法介绍二、举例说明三、示例#xff1a;代码实现四、总结 一、TF-IDF算法介绍
TF-IDF#xff08;Term Frequency-Inverse Document Frequency#xff09;是一种用于信息检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法#xff0c;用以评估一个词… 文章目录 一、TF-IDF算法介绍二、举例说明三、示例代码实现四、总结 一、TF-IDF算法介绍
TF-IDFTerm Frequency-Inverse Document Frequency是一种用于信息检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法用以评估一个词语对于一个文件集或一个语料库中的其中一份文件的重要程度。词语的重要性随着它在文件中出现的次数成正比增加但同时会随着它在语料库中出现的频率成反比下降。TF-IDF的主要思想是如果某个词或短语在一篇文章中出现的频率TF高并且在其他文章中很少出现则认为这个词或者短语具有很好的类别区分能力适合用来分类。TFTerm Frequency词频 词频TF指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化一般是词频除以文章总词数以防止它偏向长的文件。同一个词语在长文件里可能会比短文件有更高的词频而不管该词语重要与否。计算公式如下 IDFInverse Document Frequency逆文档频率 逆文档频率IDF是一个词语普遍重要性的度量。某一特定词语的IDF可以由总文件数目除以包含该词语之文件的数目再将得到的商取对数得到。如果包含词条t的文档越少IDF越大则说明词条t具有很好的类别区分能力。计算公式如下 1是为了避免包含该词的文档数为0的时候分子为0的情况发生 TF-IDF的计算公式
二、举例说明 假设有一篇名为《中国的蜜蜂养殖》文章假定该文长度为1000个词“中国”、“蜜蜂”、养殖各出现20次则这三个词的词频”(TF)都为0.02。 然后搜索Google发现包含的字的网页共有250亿张假定这就是中文网页总数(语料库的文档总数)。包含中国的网页共有62.3亿张包含蜜蜂的网页为0.484亿张包含养殖的网页为0.973亿张 则通过计算公式可以得到它们的逆文档频率(IDF)和TF-IDF如下: \包含该词的文档数亿IDFTFTF-IDF中国62.30.6030.020.0121蜜蜂0.4842.7130.020.0543养殖0.9732.4100.020.0482
三、示例代码实现 TfidfVectorizer() 是 sklearn 库中用于将文本集合转换为 TF-IDF 特征矩阵的一个类。 TfidfVectorizer 类有许多参数但以下是一些最常用的 input: 指定输入数据的格式可以是 ‘filename’、‘file’ 或 ‘string’。默认为 ‘content’这意味着输入应该是字符串列表或字符串的生成器。max_df: 指定词或短语的文档频率DF的上限。高于此值的词或短语将被忽略。这有助于去除一些太常见的词如停用词。min_df: 指定词或短语的文档频率DF的下限。低于此值的词或短语将被忽略。这有助于去除一些非常罕见的词。max_features: 指定要保留的词的最大数量基于文档频率。这有助于减少特征空间的维度。ngram_range: 一个元组 (min_n, max_n)用于指定不同 n 值对应的 n-grams 的范围。例如(1, 1) 表示单词unigrams(1, 2) 表示单词和二元组bigrams。stop_words: 一个字符串列表包含要忽略的停用词。可以是一个预定义的列表如 - ‘english’也可以是一个自定义的列表。lowercase: 布尔值指定是否将所有文本转换为小写。默认为 True。use_idf: 布尔值指定是否使用 IDF逆文档频率重新加权。默认为 True。smooth_idf: 布尔值指定在计算 IDF 时是否应用平滑添加 1 到文档频率以避免除以零。默认为 True。 主要方法 fit(X, yNone): 计算词汇表的词汇IDF值。fit_transform(X, yNone): 拟合模型并转换 X。transform(X): 将 X 转换为 TF-IDF 特征矩阵。get_feature_names_out(): 返回词汇表中所有特征的名称 示例 from sklearn.feature_extraction.text import TfidfVectorizer # 示例文本corpus代表整个语料库其中的每一句代表一个文档corpus [ This is the first document., This document is the second document., And this is the third one., Is this the first document?,
] # 创建 TF-IDF 向量化器
vectorizer TfidfVectorizer() # 拟合和转换数据
X vectorizer.fit_transform(corpus) # 获取特征名称词汇
feature_names vectorizer.get_feature_names_out() # 将 TF-IDF 矩阵转换为 DataFrame可以清楚的看出每个词汇的TF-IDF值
import pandas as pd
df pd.DataFrame(X.toarray(), columnsfeature_names)
print(df)由于输出面板中看不全结果我们可以在调试模式中打开我们想要查看的内容我们可以查看这个语料库中一共有多少个特征词汇注意这里每个词汇的前后顺序是根据26个英文字母的顺序进行排序的 通过上图中的结果我们可以直观的看到每篇文档中每个特征词汇的TF-IDF值并且可以选出每篇文档中TF-IDF值最高的作为关键词汇
四、总结
TF-IDF的优缺点 优点 简单有效易于实现。可以在不同长度的文档上进行比较。考虑了词语的普遍重要性IDF。 缺点 没有考虑词语的语义信息例如同义词和多义词。对于小数据集可能效果不佳因为IDF的计算依赖于大量的文档。没有考虑词语的位置信息如标题、段落等。 总的来说TF-IDF是一种简单而强大的文本特征提取方法在许多自然语言处理任务中都有广泛的应用。然而对于需要更深入理解文本语义的任务可能需要结合其他更复杂的自然语言处理技术。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924023.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!