好吧周霉,又要開(kāi)始bb叨模式了。 這篇文章摊欠,我想把關(guān)鍵詞權(quán)重給描述清楚丢烘?
大家想想這個(gè)場(chǎng)景,如果你在網(wǎng)上搜索“王健壕美的凈水器”些椒,搜索引擎通過(guò)索引發(fā)現(xiàn)播瞳,一共有100篇網(wǎng)頁(yè)都含有這個(gè)關(guān)鍵詞,哪一篇網(wǎng)頁(yè)免糕,是你最想要的呢赢乓?
先強(qiáng)調(diào)一下計(jì)算器搜索的基本方式,它會(huì)把關(guān)鍵詞拆分為3個(gè):王健壕,美的石窑,凈水機(jī)牌芋。 然后去匹配有這3個(gè)關(guān)鍵詞的網(wǎng)頁(yè),至于如何匹配是上一篇筆記———布爾代數(shù)運(yùn)算松逊,所講過(guò)的躺屁。在此不贅述。
而現(xiàn)在的問(wèn)題是经宏,
我們匹配出了有100篇網(wǎng)頁(yè)犀暑,都含有這三個(gè)關(guān)鍵詞后熄捍,請(qǐng)問(wèn)哪一篇是相關(guān)性最高的,是搜索者最想要結(jié)果母怜。
答案是:這三個(gè)關(guān)鍵詞——王健壕,美的余耽,凈水機(jī),在哪個(gè)網(wǎng)頁(yè)出現(xiàn)次數(shù)最多苹熏,就是哪個(gè)網(wǎng)頁(yè)碟贾。
這個(gè)思路肯定都認(rèn)可吧。
比如轨域,A網(wǎng)頁(yè)袱耽,一共由1000個(gè)詞語(yǔ)組成,“王健壕”出現(xiàn)了5次干发,“美的”出現(xiàn)了20次朱巨,“凈水機(jī)”出現(xiàn)了8次,我們可以計(jì)算出這些詞的出現(xiàn)頻率:5/1000=0.005枉长,20/1000=0.02冀续,8/1000=0.008. 把這3個(gè)數(shù)相加,等于0.033. 這個(gè)0.033就是“王健壕美的凈水機(jī)”的單文本詞頻必峰,英文單詞是Term Frequency,簡(jiǎn)寫就是TF洪唐。
那么,我們同樣是不是能夠計(jì)算出吼蚁,其他99個(gè)網(wǎng)頁(yè)的TF值呢凭需? 于是,計(jì)算機(jī)只需要比對(duì)肝匆,哪個(gè)網(wǎng)頁(yè)的TF值高粒蜈,就把該網(wǎng)頁(yè)放在靠前的位置,那一定更吻合你想要的結(jié)果旗国。
當(dāng)然枯怖,我嘗試搜了一下,沒(méi)想到出來(lái)粗仓,竟是這樣的結(jié)果嫁怀,只想說(shuō)“這是什么gui”
你是不是以為,說(shuō)到這里就完啦借浊?
那你就太天真了,要是搜索這么簡(jiǎn)單萝招,怎會(huì)讓百度蚂斤,谷歌這些公司成為世界級(jí)大企業(yè)呢?
如果遵循這個(gè)法則槐沼,會(huì)有兩個(gè)漏洞:
如果關(guān)鍵詞含有“的”曙蒸,“是”捌治,“和”....,那些每句話都會(huì)用到的萬(wàn)能詞語(yǔ)纽窟,那么網(wǎng)頁(yè)的TF值會(huì)高得離譜肖油,因?yàn)槊總€(gè)網(wǎng)頁(yè)一定都會(huì)用到,這樣根本篩選不出有用的網(wǎng)頁(yè)臂港,所以關(guān)鍵詞會(huì)自動(dòng)屏蔽掉這些詞森枪,這次詞被劃分成單獨(dú)的一類,叫做停止詞(stop word)
還有一類詞語(yǔ)审孽,稱之為“通用詞”县袱,比如“美的”,不光是一個(gè)品牌的名字佑力,也是“美麗的”之簡(jiǎn)稱式散,如美的風(fēng)景,美的詩(shī)打颤,會(huì)在各種領(lǐng)域出現(xiàn)暴拄,如果計(jì)算它的tf值,也會(huì)特別高编饺,如果一篇網(wǎng)頁(yè)出現(xiàn)多次“美的詩(shī)文”揍移,相信也容易排在很靠前的位置,但這肯定不會(huì)是我們想要的反肋。
那么針對(duì)那伐,第二個(gè)漏洞,該怎么辦呢石蔗?
答案是:把不太通用的詞匯罕邀,給予更高的權(quán)重。
- 比如养距,“王健壕”和“美的”诉探,這兩個(gè)詞,肯定是“王健壕”這個(gè)詞更稀有棍厌,如果A網(wǎng)頁(yè)多次出現(xiàn)“王健壕”肾胯,B網(wǎng)頁(yè)多次出現(xiàn)“美的”,你認(rèn)為哪個(gè)網(wǎng)頁(yè)是更相關(guān)的呢耘纱?
這兩詞的本質(zhì)差別就是:誰(shuí)更少出場(chǎng)敬肚,誰(shuí)就更有預(yù)測(cè)主題的能力。 那么這個(gè)詞就應(yīng)該有更高的權(quán)重束析。
那么問(wèn)題來(lái)了艳馒,如何計(jì)算這個(gè)不同的詞語(yǔ)的權(quán)重呢?
對(duì)應(yīng)到,這個(gè)案例中弄慰,如何計(jì)算“王健壕”和“美的”這兩個(gè)詞的權(quán)重呢第美?
按照剛才的邏輯,誰(shuí)的出場(chǎng)次數(shù)越少陆爽,就該有更高的權(quán)重什往。 那么我只需要計(jì)算,“王健壕”和“美的”慌闭,這兩個(gè)詞在整個(gè)互聯(lián)網(wǎng)的出場(chǎng)次數(shù)别威,就可以啦。
- 計(jì)算機(jī)只需要有兩個(gè)信息就能算出來(lái):
1.整個(gè)互聯(lián)網(wǎng)有多少個(gè)網(wǎng)頁(yè)贡必,這件事計(jì)算機(jī)輕易能做到兔港,我們姑且假設(shè)整個(gè)互聯(lián)網(wǎng)有1萬(wàn)個(gè)網(wǎng)頁(yè)吧。
- 多少個(gè)網(wǎng)頁(yè)出現(xiàn)過(guò)“王健壕”仔拟,多少個(gè)網(wǎng)頁(yè)出現(xiàn)過(guò)“美的”衫樊,我們姑且假設(shè)分別為20個(gè)網(wǎng)頁(yè)出現(xiàn)過(guò)“王健壕”,和300個(gè)網(wǎng)頁(yè)出現(xiàn)過(guò)“美的”利花。
- 那么我們可以這樣計(jì)算一下:
1萬(wàn)個(gè)網(wǎng)頁(yè)中科侈,關(guān)鍵詞“王健壕”出現(xiàn)了20次,計(jì)為10000/20,等于500炒事。
1萬(wàn)個(gè)網(wǎng)頁(yè)中臀栈,關(guān)鍵詞“美的”出現(xiàn)了300次,計(jì)為10000/300,等于33.3挠乳。
1萬(wàn)個(gè)網(wǎng)頁(yè)中权薯,關(guān)鍵詞“凈水機(jī)”出現(xiàn)了100次,計(jì)為10000/100,等于100睡扬。
直接對(duì)兩個(gè)值取對(duì)數(shù)盟蚣,就是關(guān)鍵詞的逆文本頻率指數(shù)(inverse document frequency,縮寫為IDF).
所以卖怜; - 關(guān)鍵詞“王健壕”的IDF為 log(500)=2.6989屎开,
- 關(guān)鍵詞“美的”的IDF為log(33.3)=1.522。
- 關(guān)鍵詞“凈水機(jī)”的IDF為log(100)=2
ps:對(duì)數(shù)知識(shí)马靠,就不用普及了吧
兩個(gè)指數(shù)加起來(lái)奄抽,就是TF-IDF。我們計(jì)算的時(shí)候甩鳄,只需要把TF乘以IDF逞度,就能夠得出一個(gè)更加有效的關(guān)鍵詞權(quán)重啦,繼續(xù)以”王健壕美的凈水機(jī)“為例.
如果有100個(gè)網(wǎng)頁(yè)娩贷,都含有“王健壕美的凈水機(jī)”第晰,我們?nèi)绾未_定哪一篇,排在前面彬祖,哪一篇在后面呢茁瘦?
答案是:
計(jì)算這100個(gè)網(wǎng)頁(yè)的TF-IDF值,誰(shuí)大储笑,誰(shuí)靠前甜熔。
剛才我們說(shuō)到,
- A網(wǎng)頁(yè)突倍,一共由1000個(gè)詞語(yǔ)組成腔稀,“王健壕”出現(xiàn)了5次,“美的”出現(xiàn)了20次羽历,“凈水機(jī)”出現(xiàn)了8次焊虏,我們可以計(jì)算出這些詞的出現(xiàn)頻率:5/1000=0.005,20/1000=0.02秕磷,8/1000=0.008.
- 關(guān)鍵詞“王健壕”的IDF為 log(500)=2.6989诵闭;關(guān)鍵詞“美的”的IDF為log(33.3)=1.522;關(guān)鍵詞“凈水機(jī)”的IDF為log(100)=2
那么此網(wǎng)頁(yè)的TF-IDF值為:0.0052.6989+0.021.522+0.008*2=0.0599345澎嚣。
同理可以算出其他網(wǎng)頁(yè)的TF-IDF值疏尿。再根據(jù)誰(shuí)的值大,誰(shuí)就靠前易桃。
我猜褥琐,看到這里,你一定還是有點(diǎn)懵圈晤郑,那我講個(gè)“誰(shuí)是阿帥女朋友”的故事吧敌呈。
阿帥,是附近有名的帥哥造寝,24歲磕洪,文質(zhì)彬彬,但是他媽媽很著急匹舞,因?yàn)閺膩?lái)沒(méi)聽(tīng)兒子正式提過(guò)女朋友的事情褐鸥,雖然感覺(jué)到兒子有女朋友。
于是赐稽,阿帥媽媽找來(lái)了侄女兒小可叫榕,說(shuō)出了自己的困惑,小可說(shuō)道“姨姊舵,交給我吧晰绎,我去調(diào)查調(diào)查,就知道阿帥哥哥的女朋友是誰(shuí)”
小可是干嘛的呢括丁,她是附近商場(chǎng)的物業(yè)經(jīng)理荞下,你猜她會(huì)怎么調(diào)查呢?
小可心想,如果是阿帥哥哥的女朋友尖昏,那么他們一定會(huì)出去逛街啊仰税,所以誰(shuí)跟阿帥逛過(guò)街,誰(shuí)就有可能是他女朋友抽诉。 于是她用了調(diào)用商場(chǎng)最新的監(jiān)控系統(tǒng)陨簇,通過(guò)臉部識(shí)別系統(tǒng),找到了過(guò)去一年迹淌,阿帥逛商場(chǎng)的次數(shù)河绽。
發(fā)現(xiàn),阿帥1年內(nèi)唉窃,逛了60次商場(chǎng)耙饰,但問(wèn)題是,阿帥分別和不同4個(gè)人的人來(lái)逛過(guò)纹份。
小可心想苟跪,就算跟4個(gè)人來(lái)逛過(guò)商場(chǎng),也不怕矮嫉。和誰(shuí)逛的次數(shù)最多【TF值】削咆,那個(gè)人一定就是親密度最高的人嘛,數(shù)數(shù)就知道了蠢笋。
于是拨齐,小可數(shù)了一下,她發(fā)現(xiàn):
琴昨寞,10次瞻惋;
菡,10次援岩;
大勇歼狼,8次;
張姐享怀,32次羽峰;
小可,驚出一身冷汗添瓷,“懊诽搿?難道鳞贷,張姐和阿帥坯汤,是那種關(guān)系〔罄ⅲ”
突然間惰聂,小可大笑起來(lái)疆偿,自己真糊涂,張姐是阿帥家的年輕保姆搓幌,保姆幾乎每天都要買菜杆故,當(dāng)然要來(lái)商場(chǎng)啦,有時(shí)候阿帥也要去商場(chǎng)鼻种,難免一起進(jìn)出啦反番。 所以排除張姐沙热。
【此處的張姐叉钥,就相當(dāng)于關(guān)鍵詞中的停止詞,如“的”篙贸,經(jīng)常會(huì)出現(xiàn)】
現(xiàn)在只剩下:琴(10)投队,菡(10),大勇(8)爵川。
小可敷鸦,突然犯難了,現(xiàn)在兩個(gè)女孩兒寝贡,和阿帥出來(lái)逛街的次數(shù)相同扒披,這可不好下定論了,于是小可圃泡,罵起了自己的阿帥哥哥碟案,怎么同時(shí)跟兩女孩兒曖昧呀,討厭颇蜡。
突然价说,小可靈機(jī)一動(dòng),如果一個(gè)女生不本來(lái)就不怎么逛街风秤,卻也經(jīng)常出來(lái)逛街的話鳖目,那說(shuō)明這女生肯定更重視阿帥,那么就更有可能是阿帥最親密的人缤弦。
于是领迈,小可再次用人臉識(shí)別,調(diào)出了那兩個(gè)女孩兒一年內(nèi)逛街的次數(shù)碍沐,
小可心想狸捅,如果一個(gè)女孩兒本來(lái)就很愛(ài)逛街,那么肯定就不是那么重視阿帥哥哥的抢韭,但如果一個(gè)女孩兒不愛(ài)逛街薪贫,卻也和阿帥一起逛,那么肯定是真愛(ài)刻恭。
這時(shí)倆女孩兒逛商場(chǎng)的數(shù)據(jù)出來(lái)了:
琴瞧省,去年逛商場(chǎng)116次扯夭;
菡,去年逛商場(chǎng)60次鞍匾;
小可交洗,在本子上開(kāi)始記錄:
一年365天,琴逛商場(chǎng)116次橡淑, 365/116=3.14,每三天逛一次构拳;
而菡,365/60=6.1梁棠,相當(dāng)于每6天逛一次置森。
假如有個(gè)測(cè)試真愛(ài)的算法的話,那一定是用和帥逛街次數(shù)乘以女孩兒的逛街頻率:
- 琴的真愛(ài)值:10*3.14=31.4.
- 菡的真愛(ài)值:10*6.1 = 61.
【其實(shí)就是TF-IDF值】
小可符糊,寫到這里凫海,茅塞頓開(kāi),知道自己找到了答案男娄,菡的真愛(ài)值可是琴的兩倍啊行贪。
于是,收起筆記模闲,準(zhǔn)備去找姨母建瘫,請(qǐng)功領(lǐng)賞。
但是尸折,小可玩性大發(fā)啰脚,心想,要不也算算翁授,阿帥哥哥的哥們兒拣播,大勇的真愛(ài)值是多少呢?
數(shù)據(jù)顯示收擦,過(guò)去一年大勇逛商場(chǎng)的次數(shù)為8.
小可大驚失色: 365/8*8=365.....
小可贮配,不敢繼續(xù)算下去了,頓覺(jué)背心發(fā)涼塞赂,一個(gè)熟悉的聲音在后方傳來(lái)
“你知道得太多了......”
“嘣”泪勒,屋子里傳來(lái)一聲脆響。