AI产品经理必修——揭开算法的面纱(TF-IDF)

2 评论 3018 浏览 35 收藏 8 分钟

自从个人入门AI产品经理以来,在网络上搜索了大量的学习资料,却始终知其云不知其所以云,算法就一定是晦涩难懂的吗?

我们都知道,人工智能产品由数据、算力、算法三部分组成。作为一名传统行业的产品经理,数据和算力好歹看词汇能够知其一,唯独这个高高在上的算法让人伤透了脑筋。自从个人入门AI产品经理以来,在网络上搜索了大量的学习资料,却始终知其云不知其所以云,算法就一定是晦涩难懂的吗?

我想说,NO!让我们一起来揭开算法神秘的面纱。

什么是算法?

算法就是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令。算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

简单理解,算法和红烧鲫鱼的处理流程很类似,如下图:

计算机算法,是用计算机解决问题的方法、步骤。解决不同的问题,需要不同的算法。

具体理解什么是算法, 一个非常典型的例子, 排序就是一个很经典的算法, 杂乱无章的数字堆在一起, 我们要一从大到小给它排列出来。然后,我们会规定一个过程, 让这串数据进去, 然后整齐从大到小的出来,这就是一个算法。

我们可以如何做呢?

有无数种方法,最简单的让每个数据从左到右与旁边数据比较,每次遇到比自己大的,就右移一格,遇到不如自己的,就不动。这样下来,然后那个小的继续比较,这样最小的那个就沉到最后,这样再对剩下的数处理,往复循环,就可以从小到大的出来。

当然我们可以发明无数过程实现这个东西,比如插入法,堆排序等。但是万变不离其综的是,一个可以自动实现的过程,每一步按照一定规则行进,得到一个我们想要的结果。我们可以看到算法是把人的逻辑过程给自动化了。

介绍一种信息检索中最常用的算法——TF-IDF

在信息检索中,TF-IDF(词频-逆文档频率)是一种统计方法,用以评估一个单词在一个文档集合或语料库中的重要程度。经常被用作信息检索、文本挖掘以及用户模型的权重因素。tf-idf的值会随着单词在文档中出现的次数的增加而增大,也会随着单词在语料库中出现的次数的增多而减小。TF-IDF是如今最流行的词频加权方案之一。

TF-IDF的各种改进版本,经常被搜索引擎用作在给定用户查询时,对文档的相关性进行评分和排序的主要工具。TF-IDF可以成功地用于各种主题字段的停用词过滤,包括文本摘要和分类。

典型应用场景:如何针对某个查询,找到最相关的网页?

(1)什么是TF?

需要根据网页的长度,对关键词的次数进行归一化,也就是用关键词的次数除以网页的总字数。我们把这个商称为“关键词的频率”,或者“单文本词频(TF:Term Frequency)

短语“原子能的应用”可以分成三个关键词:原子能,的,应用。

例如,某个网页上一共有1000个词,其中“原子能”、“的”和“应用”分别出现了2次、35次和5次,那么它们的词频就分别是0.002、0.035 和0.005。将这三个数相加,其和0.042就是相应网页和查询“原子能的应用”的“单文本词频”。

(2)什么是IDF?

假定一个关键词w在DW个网页中出现过,那么DW越大,w的权重越小,反之亦然。在信息检索中,这个权重称为“逆文本频率指数”(IDFInverse Document Frequency)。

这个概率解释得更通俗一点:

  • 一个词预测主题的能力越强,权重越大,反之,权重越小。
  • 停止词的权重为零。

比如,假定中文网页数是D=10亿。停止词“的”在所有网页中都出现,即DW=10亿,那么它的IDF=log(10亿/10亿)=log(1)=0 ; 假如“原子能”在200万个网页中出现,即DW=200万,那么它的IDF=log(200万/10亿)=log(500)=8.96 ;假如通用词“应用”在5亿个网页中出现,即DW=5亿,那么它的IDF=log(5亿/10亿)=log(2)=1 . 0.01792。

(3)什么是TF-IDF?

上述相关性的计算公式就由词频的简单求和变成了加权求和,即:TF1·IDF1 + TF2·IDF2 + …… + TFn·IDFn

从以上计算公式便可以看出,某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。

在上面的例子中,该网页和“原子能的应用”的相关性为0.0161,其中“原子能”贡献了0.0126,而“应用”只贡献了0.0035.这个比例和我们的直觉就比较一致了。

通过大量网页的计算,我们就可以把相关性最高的网页作为检索结果呈现给用户,这就是最直接的评分和排序的应用了。

怎么样,是不是很简单?是不是很神奇?

后续

如果你们都听懂了,接下来我们可以再来讲讲

  • 隐含马尔可夫模型
  • 最大熵模型
  • 动态规划
  • 维特比算法
  • 期望最大值算法
  • 等等

 

本文由 @CARRIE 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 写得好好 谢谢分享

    回复
  2. 听不听得懂都点个赞吧

    来自北京 回复