IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 关键词提取-TFIDF(一) -> 正文阅读

[人工智能]关键词提取-TFIDF(一)

系列文章

? 词向量
?Adam,sgd
? 梯度消失和梯度爆炸
?初始化的方法
? 过拟合&欠拟合
? 评价&损失函数的说明
? 深度学习模型及常用任务说明
??RNN的时间复杂度
??neo4j图数据库

分词、词向量

关键词提取-TFIDF

TfidfVectorizer

基本介绍

  • TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
  • 比如:为了获得一篇文档的关键词,我们可以如下进行
  • 对给定文档,我们进行"词频"(Term Frequency,缩写为TF)
  • 给每个词计算一个权重,这个权重叫做"逆文档频率"(Inverse Document Frequency,缩写为IDF),它的大小与一个词的常见程度成反比。

算法明细

  • 基本步骤
    • 1、计算词频。考虑到文章有长短之分,为了便于不同文章的比较,进行"词频"标准化。

      词频:TF = 文章中某词出现的频数

      词频标准化:tf-TFIDF_2
    • 2、计算逆文档频率。如果一个词越常见,那么分母就越大,逆文档频率就越小越接近0。

      逆文档频率:关键词提取-TFIDF_3
      其中,语料库(corpus),是用来模拟语言的使用环境。
    • 3、计算TF-IDF。可以看到,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比
      T F ? I D F = T F ? I D F TF-IDF = TF * IDF TF?IDF=TF?IDF

算法优缺点

  • 优点:
    • TF-IDF算法的优点是简单快速,结果比较符合实际情况。
  • 缺点
    • 单纯以"词频"衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多。
    • 这种算法无法体现词的位置信息,出现位置靠前的词与出现位置靠后的词,都被视为重要性相同,这是不正确的。
    • 对于文档中出现次数较少的重要人名、地名信息提取效果不佳

应用场景

  • 应用场景简介
    • 1)搜索引擎;
    • 2)关键词提取;
    • 3)文本相似性;
    • 4)文本摘要

可执行实例

# python:3.8
# sklearn:0.23.1
# 1、CountVectorizer 的作用是将文本文档转换为计数的稀疏矩阵
from sklearn.feature_extraction.text import CountVectorizer
corpus = [
    'This is the first document.',
    'This document is the second document.',
    'And this is the third one.',
    'Is this the first document?',
]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
# 查看每个单词的位置
print(vectorizer.get_feature_names())
#['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']
# 查看结果
print(X.toarray())
# [[0 1 1 1 0 0 1 0 1]
#  [0 2 0 1 0 1 1 0 1]
#  [1 0 0 1 1 0 1 1 1]
#  [0 1 1 1 0 0 1 0 1]]

# 2、TfidfTransformer:使用计算 tf-idf
from sklearn.feature_extraction.text import TfidfTransformer
transform = TfidfTransformer()    
Y = transform.fit_transform(X)  
print(Y.toarray())                # 输出tfidf的值
# [[0.         0.46979139 0.58028582 0.38408524 0.         0. 0.38408524 0.         0.38408524]
#  [0.         0.6876236  0.         0.28108867 0.         0.53864762 0.28108867 0.         0.28108867]
#  [0.51184851 0.         0.         0.26710379 0.51184851 0. 0.26710379 0.51184851 0.26710379]
#  [0.         0.46979139 0.58028582 0.38408524 0.         0. 0.38408524 0.         0.38408524]]

# 3、TfidfVectorizer:TfidfVectorizer 相当于 CountVectorizer 和 TfidfTransformer 的结合使用
from sklearn.feature_extraction.text import TfidfVectorizer
corpus = [
    'This is the first document.',
    'This document is the second document.',
    'And this is the third one.',
    'Is this the first document?',
]
vectorizer = TfidfVectorizer() #构建一个计算词频(TF)
X = vectorizer.fit_transform(corpus)
print(vectorizer.get_feature_names())
# ['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']
print(X.shape)
# (4, 9)

参数项说明

  • CountVectorizer

关键词提取-TFIDF_4

  • TfidfTransformer

关键词提取-TFIDF_5

  • 从函数上来看,咱也可以发现有TfidfVectorizer=CountVectorizer + TfidfTransformer
  • TfidfVectorizer

关键词提取-TFIDF_6

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2021-08-29 09:05:19  更:2021-08-29 09:08:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 17:39:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码