《從零開始學(xué)習(xí)自然語言處理(NLP)》-TF-IDF算法(2)

寫在最前面

在這個(gè)日新月異的信息時(shí)代,海量數(shù)據(jù)的積累,計(jì)算能力的不斷提升,機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)的蓬勃發(fā)展,使得人工智能技術(shù)在不同領(lǐng)域煥發(fā)出蓬勃的活力。自己經(jīng)歷了嵌入式開發(fā),移動(dòng)互聯(lián)網(wǎng)開發(fā),目前從事自然語言處理算法開發(fā)工作。從工程軟件開發(fā)到自然語言處理算法開發(fā),希望通過這個(gè)系列的文章,能夠由淺入深,通俗易懂的介紹自然語言處理的領(lǐng)域知識(shí),分享自己的成長(zhǎng),同大家一起進(jìn)步。

問題描述

在上一篇文章中(《《從零開始學(xué)習(xí)自然語言處理(NLP)》-倒排索引(1)》)描述了基于關(guān)鍵詞搜索的基本原理,以及通過倒排索引來提升和關(guān)鍵詞相關(guān)網(wǎng)頁的查詢。本文在上文的基礎(chǔ)上提出一個(gè)新的問題:
如果通過倒排索引查找到的網(wǎng)頁都包含全部的查詢關(guān)鍵字,而且,召回(符合查找條件)的網(wǎng)頁數(shù)目又很多,這就需要將網(wǎng)頁與查詢Query的相關(guān)度進(jìn)行排序了。相關(guān)度高的網(wǎng)頁排在查詢結(jié)果的前面,相關(guān)度低的網(wǎng)頁排在后面。那問題來了,如何依據(jù)網(wǎng)頁與查詢關(guān)鍵詞的相關(guān)性對(duì)召回的網(wǎng)頁做排序呢?

基于TF(Term Frequency,詞頻)進(jìn)行排序

最容易想到的便是基于詞頻打分進(jìn)行排序,具體來說,對(duì)于查詢Query:“林俊杰/2019/演唱會(huì)/行程”,下面的哪個(gè)網(wǎng)頁跟查詢Query的相關(guān)度更高呢?
網(wǎng)頁a

[林俊杰]/[2019]/全球/[演唱會(huì)]/[行程]/發(fā)布/,/這是/[林俊杰]/的/第/20/場(chǎng)/全球/巡演/。
關(guān)鍵字 出現(xiàn)頻次
林俊杰 2
2019 1
演唱會(huì) 1
行程 1

網(wǎng)頁b

在 [林俊杰]/[2019]/全球/[演唱會(huì)]/[行程]/發(fā)布/之后/,/田馥甄/也/發(fā)布/了/今年/的/巡演/計(jì)劃/,/她的/第一站/是/臺(tái)北/。
關(guān)鍵字 出現(xiàn)頻次
林俊杰 1
2019 1
演唱會(huì) 1
行程 1

顯然網(wǎng)頁a和Query的相關(guān)度更高。當(dāng)然對(duì)于計(jì)算機(jī)就沒有這么“顯然”了,它需要依靠規(guī)則和具體算法來計(jì)算判斷?;谠~頻的排序用公式表示就是,


相關(guān)性計(jì)算

其中,
k:Query中查詢關(guān)鍵詞序號(hào)


參數(shù)說明

為了方便計(jì)算,我們假設(shè)每個(gè)網(wǎng)頁包含的詞的總數(shù)為100,通過上面的公式,
網(wǎng)頁a

網(wǎng)頁a相關(guān)度=2/100+1/100+1/100+1/100=0.05

網(wǎng)頁b

網(wǎng)頁b相關(guān)度=1/100+1/100+1/100+1/100=0.04

通過上面的公式,計(jì)算機(jī)也能“顯然”的判斷,網(wǎng)頁a與查詢Query的相關(guān)度更高了。

基于詞頻(TF)排序的問題

假設(shè)現(xiàn)在有新的召回網(wǎng)頁,
網(wǎng)頁c

在 [林俊杰]/[2019]/全球/[演唱會(huì)]/[行程]/發(fā)布/之后/,/眾多/明星/也/都/發(fā)布/了/自己/[2019]年/的/巡演/計(jì)劃/,/[行程]/安排/如下/,
關(guān)鍵字 出現(xiàn)頻次
林俊杰 1
2019 2
演唱會(huì) 1
行程 2
網(wǎng)頁c相關(guān)度=1/100+2/100+1/100+2/100=0.06

顯然基于詞頻的相關(guān)性計(jì)算公式,網(wǎng)頁c(相關(guān)度0.06)大于網(wǎng)頁a(相關(guān)度0.05),但真實(shí)情況是,網(wǎng)頁c和查詢Query的相關(guān)度,并沒有網(wǎng)頁a大。

IDF(Inverse DocumentFrequency,逆文件詞頻)

上面的問題關(guān)鍵在于用戶的查詢Query主要關(guān)注的是"林俊杰",至于"2019","行程"等信息也是在林俊杰的基礎(chǔ)上展開的。所以,現(xiàn)在要解決的問題便是,排序算法如何能夠凸顯出"林俊杰"這個(gè)關(guān)鍵的查詢信息。在這里便引入了IDF(Inverse DocumentFrequency,逆文件詞頻)。
我們先看下它的定義:

IDF定義

其中,
分母的+1操作,是為了避免當(dāng)所有文檔都不包含該關(guān)鍵詞時(shí),分母出現(xiàn)為0的情況。
IDF的分子是固定的,所以,IDF的特性主要體現(xiàn)在分母上。
從IDF的定義可以看出,
1 越是能代表特定內(nèi)容的關(guān)鍵詞,包含該關(guān)鍵詞的網(wǎng)頁越少,IDF值越高,如“林俊杰”
2 越是和內(nèi)容主旨不相關(guān)的關(guān)鍵詞,包含該關(guān)鍵詞的網(wǎng)頁越多,IDF值越低,如“2019”,“行程”
所以,IDF值就能很好的體現(xiàn)出查詢Query關(guān)鍵字,與需要查詢內(nèi)容的相關(guān)性。

基于TF-IDF進(jìn)行排序

結(jié)合TF和IDF的特定,便有了TF-IDF,定義也非常直觀,

TF-IDF

具體來說就是,一個(gè)網(wǎng)頁與查詢Query的相關(guān)性體現(xiàn)在:
1 網(wǎng)頁中包含查詢關(guān)鍵詞的頻度
2 查詢關(guān)鍵詞對(duì)查詢內(nèi)容的反映程度
基于TF-IDF,網(wǎng)頁與查詢Query的相關(guān)性,改寫為,
相關(guān)性定義

其中,
參數(shù)說明

在實(shí)際工程中,TF和IDF值,以及TF-IDF值針對(duì)于具體網(wǎng)頁是提前計(jì)算好的,當(dāng)搜索系統(tǒng)接收到用戶的查詢Query后,能夠?qū)崟r(shí)計(jì)算查詢關(guān)鍵詞與網(wǎng)頁的相關(guān)度。

小結(jié)

本文沿用了《《從零開始學(xué)習(xí)自然語言處理(NLP)》-倒排索引(1)》中搜索的例子,提出了在網(wǎng)頁包含所有查詢關(guān)鍵詞的情況下,如何對(duì)網(wǎng)頁與查詢Query的相關(guān)性進(jìn)行排序。文中提出了基于TF的相關(guān)性排序方法,同時(shí),也指出了該方法存在的問題。最終,引出TF-IDF算法:結(jié)合查詢關(guān)鍵詞在網(wǎng)頁中的出現(xiàn)頻率和該關(guān)鍵詞反映查詢內(nèi)容程度兩個(gè)特征,對(duì)召回網(wǎng)頁進(jìn)行排序。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這個(gè)系列的第六個(gè)主題,主要談一些搜索引擎相關(guān)的常見技術(shù)。 1995年是搜索引擎商業(yè)公司發(fā)展的重要起點(diǎn),《淺談推薦系...
    我偏笑_NSNirvana閱讀 6,881評(píng)論 3 24
  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對(duì)話系統(tǒng)所可能涉及到的多個(gè)領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識(shí)。這篇文章,甚至之后...
    我偏笑_NSNirvana閱讀 14,433評(píng)論 2 64
  • SEO算法之TF-IDF算法 1、TF-IDF算法概念: TF-IDF(term frequency–invers...
    老朱seo閱讀 1,127評(píng)論 2 3
  • 我們對(duì)文檔分析的時(shí)候,通常需要提取關(guān)鍵詞,中文分詞可以使用jieba分詞,英文通過空格和特殊字符分割即可。那么分割...
    lawenliu閱讀 1,814評(píng)論 0 2
  • 你優(yōu)雅的轉(zhuǎn)過身 深情的望著我 微笑著 輕輕的 來到我身邊 溫柔的 撫摸我的頭 把我擁入懷中 低聲說 你真可愛 好喜...
    小幸福的幸福閱讀 164評(píng)論 0 4

友情鏈接更多精彩內(nèi)容