前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

TF·IDF

作者头像
孟船长
发布2024-05-09 16:06:25
1170
发布2024-05-09 16:06:25
举报

TF·IDF

重要词

  • 假如一个词在某类文本(假设为A类)中出现次数很多,而在其他类别文本出现很少,那么这个词是A类文本的重要词。
  • 反之,如果一个词出现在很多领域,则其对于任意类别的重要性都很差。

数学表示

一种NLP经典统计值:TF·IDF

  • TF:词频

某个词在某类别中出现的次数 / 该类别词总数

  • IDF:逆文档频率
\log\left(\frac{\text{语料库的文档总数}}{\text{包含该词的文档数} + 1}\right)

逆文档频率高,说明该词很少出现在其他文档。所以像是“你好”这类常用词,就会有很低的IDF,而专业词,比如“脱氧核糖核酸”就会有比较高的IDF。

如果一个词对于某个领域重要程度高,那么他的TFIDF值就会比较高。例如:“黑洞”对于天文领域TFIDF值会很高,而“脱氧核糖核酸”对于生物领域TFIDF值很高。

算法特点

  1. TFIDF的计算非常依赖分词结果,如果分词出错,统计值的意义会大打折扣
  2. 每个词对于每篇文档有不同的TFIDF,所以不能脱离数据讨论TFIDF
  3. 假如只有一篇文本,不能计算TFIDF
  4. 类别数据均衡很重要
  5. 容易受各种特殊符号的影响,最好做一些预处理

TFIDF的应用

1. 搜索引擎

  1. 对于已有的所有网页,计算每个网页中词的TFIDF值
  2. 对输入query进行分词
  3. 对于文档D,计算query中的词在文档D中TFIDF值总和作为query和文档的相关性得分

2. 文本摘要

  1. 通过计算TFIDF值得到每个文本的关键词
  2. 将包含关键词多的句子,认为是关键句
  3. 挑选若干关键句作为文本摘要

【生成摘要时可以将顺序恢复到文本中出现的顺序,减少类似“但是...”这种作为摘要开头的可能性】

3. 文本相似度计算

  1. 对所有文本计算TFIDF后,从每个文本选取TFIDF较高的前n个词,得到一个词的集合S
  2. 对于每篇文本D,计算S中每个词的词频,将其作为文本的向量
  3. 通过计算向量夹角余弦值得到向量相似度,作为文本相似度

向量夹角余弦值计算:

\cos(\theta) = \frac{\vec{A} \cdot \vec{B}}{|\vec{A}| \cdot |\vec{B}|}

其中:

\theta

是向量

\vec{A}

\vec{B}

之间的夹角。

\vec{A} \cdot \vec{B}

是向量

\vec{A}

\vec{B}

的点积(数量积)。

|\vec{A}|

|\vec{B}|

分别是向量

\vec{A}

\vec{B}

的模(平方和开根号)。

TF·IDF的优势

  1. 可解释性好
  • 可以清晰看到关键词
  • 即使预测出错,也很容易找到原因
  1. 计算速度快
  2. 对于标注数据依赖小
  • 可以使用无标注语料完成一部分工作
  1. 可以与很多算法组合使用
  • 可以看作是词权重

TFIDF的劣势

  1. 受分词效果影响大
  2. 词与词之间没有语义相似度
  3. 没有语序信息(词袋模型)
  4. 无法完成机器翻译、实体挖掘等复杂任务
  5. 样本不均衡会对结果有很大影响
  6. 类内样本间分布不被考虑【比如一个领域有4篇文本,有些词只在某篇文章出现,其他文章没有出现,但是在计算TFIDF时会将这4篇文本当成一个大的字符串,导致这种特殊词TFIDF很难反映出来】
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TF·IDF
    • 重要词
      • 数学表示
        • 算法特点
          • TFIDF的应用
            • 1. 搜索引擎
            • 2. 文本摘要
            • 3. 文本相似度计算
          • TF·IDF的优势
            • TFIDF的劣势
            相关产品与服务
            机器翻译
            机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档