用人话讲明白关键词权重TF-IDF——数学之美读书笔记3

好吧,又要开始bb叨模式了。 这篇文章,我想把关键词权重给描述清楚?

大家想想这个场景,如果你在网上搜索“王健壕美的净水器”,搜索引擎通过索引发现,一共有100篇网页都含有这个关键词,哪一篇网页,是你最想要的呢?

先强调一下计算器搜索的基本方式,它会把关键词拆分为3个:王健壕,美的,净水机。 然后去匹配有这3个关键词的网页,至于如何匹配是上一篇笔记———布尔代数运算,所讲过的。在此不赘述。

而现在的问题是,

我们匹配出了有100篇网页,都含有这三个关键词后,请问哪一篇是相关性最高的,是搜索者最想要结果。

TF-IDF

答案是:这三个关键词——王健壕,美的,净水机,在哪个网页出现次数最多,就是哪个网页。

这个思路肯定都认可吧。

比如,A网页,一共由1000个词语组成,“王健壕”出现了5次,“美的”出现了20次,“净水机”出现了8次,我们可以计算出这些词的出现频率:5/1000=0.005,20/1000=0.02,8/1000=0.008. 把这3个数相加,等于0.033. 这个0.033就是“王健壕美的净水机”的单文本词频,英文单词是Term Frequency,简写就是TF。

那么,我们同样是不是能够计算出,其他99个网页的TF值呢? 于是,计算机只需要比对,哪个网页的TF值高,就把该网页放在靠前的位置,那一定更吻合你想要的结果。

当然,我尝试搜了一下,没想到出来,竟是这样的结果,只想说“这是什么gui”


你是不是以为,说到这里就完啦?
那你就太天真了,要是搜索这么简单,怎会让百度,谷歌这些公司成为世界级大企业呢?

如果遵循这个法则,会有两个漏洞:

  1. 如果关键词含有“的”,“是”,“和”....,那些每句话都会用到的万能词语,那么网页的TF值会高得离谱,因为每个网页一定都会用到,这样根本筛选不出有用的网页,所以关键词会自动屏蔽掉这些词,这次词被划分成单独的一类,叫做停止词(stop word)

  2. 还有一类词语,称之为“通用词”,比如“美的”,不光是一个品牌的名字,也是“美丽的”之简称,如美的风景,美的诗,会在各种领域出现,如果计算它的tf值,也会特别高,如果一篇网页出现多次“美的诗文”,相信也容易排在很靠前的位置,但这肯定不会是我们想要的。

那么针对,第二个漏洞,该怎么办呢?
答案是:把不太通用的词汇,给予更高的权重。

  • 比如,“王健壕”和“美的”,这两个词,肯定是“王健壕”这个词更稀有,如果A网页多次出现“王健壕”,B网页多次出现“美的”,你认为哪个网页是更相关的呢?

这两词的本质差别就是:谁更少出场,谁就更有预测主题的能力。 那么这个词就应该有更高的权重。
那么问题来了,如何计算这个不同的词语的权重呢?

对应到,这个案例中,如何计算“王健壕”和“美的”这两个词的权重呢?

按照刚才的逻辑,谁的出场次数越少,就该有更高的权重。 那么我只需要计算,“王健壕”和“美的”,这两个词在整个互联网的出场次数,就可以啦。

  • 计算机只需要有两个信息就能算出来:

1.整个互联网有多少个网页,这件事计算机轻易能做到,我们姑且假设整个互联网有1万个网页吧。

  1. 多少个网页出现过“王健壕”,多少个网页出现过“美的”,我们姑且假设分别为20个网页出现过“王健壕”,和300个网页出现过“美的”。
  • 那么我们可以这样计算一下:
    1万个网页中,关键词“王健壕”出现了20次,计为10000/20,等于500。
    1万个网页中,关键词“美的”出现了300次,计为10000/300,等于33.3。
    1万个网页中,关键词“净水机”出现了100次,计为10000/100,等于100。
    直接对两个值取对数,就是关键词的逆文本频率指数(inverse document frequency,缩写为IDF).
    所以;
  • 关键词“王健壕”的IDF为 log(500)=2.6989,
  • 关键词“美的”的IDF为log(33.3)=1.522。
  • 关键词“净水机”的IDF为log(100)=2
    ps:对数知识,就不用普及了吧

两个指数加起来,就是TF-IDF。我们计算的时候,只需要把TF乘以IDF,就能够得出一个更加有效的关键词权重啦,继续以”王健壕美的净水机“为例.
如果有100个网页,都含有“王健壕美的净水机”,我们如何确定哪一篇,排在前面,哪一篇在后面呢?
答案是:

计算这100个网页的TF-IDF值,谁大,谁靠前。

刚才我们说到,

  • A网页,一共由1000个词语组成,“王健壕”出现了5次,“美的”出现了20次,“净水机”出现了8次,我们可以计算出这些词的出现频率:5/1000=0.005,20/1000=0.02,8/1000=0.008.
  • 关键词“王健壕”的IDF为 log(500)=2.6989;关键词“美的”的IDF为log(33.3)=1.522;关键词“净水机”的IDF为log(100)=2

那么此网页的TF-IDF值为:0.0052.6989+0.021.522+0.008*2=0.0599345。

同理可以算出其他网页的TF-IDF值。再根据谁的值大,谁就靠前。

靠前站

我猜,看到这里,你一定还是有点懵圈,那我讲个“谁是阿帅女朋友”的故事吧。
阿帅,是附近有名的帅哥,24岁,文质彬彬,但是他妈妈很着急,因为从来没听儿子正式提过女朋友的事情,虽然感觉到儿子有女朋友。

![阿帅]

于是,阿帅妈妈找来了侄女儿小可,说出了自己的困惑,小可说道“姨,交给我吧,我去调查调查,就知道阿帅哥哥的女朋友是谁”

小可

小可是干嘛的呢,她是附近商场的物业经理,你猜她会怎么调查呢?

小可心想,如果是阿帅哥哥的女朋友,那么他们一定会出去逛街啊,所以谁跟阿帅逛过街,谁就有可能是他女朋友。 于是她用了调用商场最新的监控系统,通过脸部识别系统,找到了过去一年,阿帅逛商场的次数。


人脸识别

发现,阿帅1年内,逛了60次商场,但问题是,阿帅分别和不同4个人的人来逛过。

小可心想,就算跟4个人来逛过商场,也不怕。和谁逛的次数最多【TF值】,那个人一定就是亲密度最高的人嘛,数数就知道了。
于是,小可数了一下,她发现:
琴,10次;
菡,10次;
大勇,8次;
张姐,32次;

小可,惊出一身冷汗,“啊?难道,张姐和阿帅,是那种关系。”
突然间,小可大笑起来,自己真糊涂,张姐是阿帅家的年轻保姆,保姆几乎每天都要买菜,当然要来商场啦,有时候阿帅也要去商场,难免一起进出啦。 所以排除张姐。

【此处的张姐,就相当于关键词中的停止词,如“的”,经常会出现】

现在只剩下:琴(10),菡(10),大勇(8)。

小可,突然犯难了,现在两个女孩儿,和阿帅出来逛街的次数相同,这可不好下定论了,于是小可,骂起了自己的阿帅哥哥,怎么同时跟两女孩儿暧昧呀,讨厌。

突然,小可灵机一动,如果一个女生不本来就不怎么逛街,却也经常出来逛街的话,那说明这女生肯定更重视阿帅,那么就更有可能是阿帅最亲密的人。
于是,小可再次用人脸识别,调出了那两个女孩儿一年内逛街的次数,
小可心想,如果一个女孩儿本来就很爱逛街,那么肯定就不是那么重视阿帅哥哥的,但如果一个女孩儿不爱逛街,却也和阿帅一起逛,那么肯定是真爱。

这时俩女孩儿逛商场的数据出来了:
琴,去年逛商场116次;
菡,去年逛商场60次;

小可,在本子上开始记录:
一年365天,琴逛商场116次, 365/116=3.14,每三天逛一次;
而菡,365/60=6.1,相当于每6天逛一次。

假如有个测试真爱的算法的话,那一定是用和帅逛街次数乘以女孩儿的逛街频率

  • 琴的真爱值:10*3.14=31.4.
  • 菡的真爱值:10*6.1 = 61.
    【其实就是TF-IDF值】

小可,写到这里,茅塞顿开,知道自己找到了答案,菡的真爱值可是琴的两倍啊。
于是,收起笔记,准备去找姨母,请功领赏。

但是,小可玩性大发,心想,要不也算算,阿帅哥哥的哥们儿,大勇的真爱值是多少呢?
数据显示,过去一年大勇逛商场的次数为8.

小可大惊失色: 365/8*8=365.....

小可,不敢继续算下去了,顿觉背心发凉,一个熟悉的声音在后方传来
“你知道得太多了......”
“嘣”,屋子里传来一声脆响。

你可能感兴趣的:(用人话讲明白关键词权重TF-IDF——数学之美读书笔记3)