想要提取一篇文章的<b>關(guān)鍵詞</b>,最直接的思維方式就是出現(xiàn)的越頻繁的詞就意味著越重要,但停用詞需要除外智末。一篇文章中出現(xiàn)最多的就是停用詞,只有避開這些無用的詞徒河,才能有效進(jìn)行關(guān)鍵詞打分系馆。
<b>停用詞</b>:出現(xiàn)次數(shù)最多的詞是----"的"、"是"顽照、"在"----這一類最常用的詞由蘑。它們叫做"停用詞"(stop words),表示對(duì)找到結(jié)果毫無幫助代兵、必須過濾掉的詞尼酿。
<b>TF-IDF</b>(term frequency–inverse document frequency)是一種用于資訊檢索與資訊探勘的常用加權(quán)技術(shù)。
TFIDF的主要思想是:如果某個(gè)詞或短語在一篇文章中出現(xiàn)的頻率TF高植影,并且在其他文章中很少出現(xiàn)裳擎,則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類思币。
- TF("詞頻",Term Frequency):詞條在文檔中出現(xiàn)的頻率鹿响。
TF詞頻計(jì)算公式.png
tf參數(shù):
ni,j:是該詞文件dj中出現(xiàn)次數(shù)羡微,分母是在文件dj中所有字詞的出現(xiàn)次數(shù)之和
- IDF(逆文檔頻率)公式:
如果一個(gè)詞越常見,那么分母就越大惶我,逆文檔頻率就越小越接近0拷淘。分母之所以要加1,是為了避免分母為0(即所有文檔都不包含該詞)指孤。log表示對(duì)得到的值取對(duì)數(shù)启涯。
idf逆文檔頻率計(jì)算公式.png
idf參數(shù):
|D|: 語料庫(kù)(corpus,用來模擬語言的使用環(huán)境)中的文件總數(shù),
|{j : ti ∈ dj}| :包含詞語ti的文件數(shù)目(即ni,≠0的文件數(shù)目)恃轩,如果該詞語不在語料庫(kù)中结洼,就會(huì)導(dǎo)致被除數(shù)為零,因此一般情況下使用:1+|{j : ti ∈ dj}|
- TF-IDF分?jǐn)?shù)公式:
TF-IDF與一個(gè)詞在文檔中的出現(xiàn)次數(shù)成正比叉跛,與該詞在整個(gè)語言中的出現(xiàn)次數(shù)成反比松忍。所以,自動(dòng)提取關(guān)鍵詞的算法就很清楚了筷厘,就是計(jì)算出文檔的每個(gè)詞的TF-IDF值鸣峭,然后按降序排列,取排在最前面的幾個(gè)詞酥艳。排在最前面的幾個(gè)詞就是這篇文章的關(guān)鍵詞摊溶。
tf-idf計(jì)算公式.pngTF-IDF = 詞頻(TF) x 逆文檔頻率(IDF)
- 示例
現(xiàn)有一篇科技評(píng)論文章,假定該文長(zhǎng)度為1000個(gè)詞充石,"芯片"莫换、"汽車"、"無人駕駛"各出現(xiàn)20次骤铃,則這三個(gè)詞的"詞頻"(TF)都為0.02拉岁。然后,搜索Google發(fā)現(xiàn)惰爬,包含"的"字的網(wǎng)頁共有250億張喊暖,假定這就是中文網(wǎng)頁總數(shù)。包含"芯片"的網(wǎng)頁共有62.3億張撕瞧,包含"汽車"的網(wǎng)頁為0.484億張陵叽,包含"無人駕駛"的網(wǎng)頁為0.973億張。則它們的逆文檔頻率(IDF)和TF-IDF如下:
詞 | 包含該詞的文檔數(shù) | IDF | TF-IDF |
---|---|---|---|
芯片 | 62.3 | 0.603 | 0.0121 |
汽車 | 0.484 | 2.713 | 0.054 |
無人駕駛 | 0.973 | 2.410 | 0.0482 |
從上表可見风范,"汽車"的TF-IDF值最高咨跌,"無人駕駛"其次,"芯片"最低硼婿。(如果還計(jì)算"的"字的TF-IDF,那將是一個(gè)極其接近0的值禽车。)所以寇漫,如果只選擇一個(gè)詞刊殉,"汽車"就是這篇文章的關(guān)鍵詞。
除了自動(dòng)提取關(guān)鍵詞州胳,TF-IDF算法還可以用于許多別的地方记焊。比如,信息檢索時(shí)栓撞,對(duì)于每個(gè)文檔遍膜,都可以分別計(jì)算一組搜索詞("芯片"、"汽車"瓤湘、"無人駕駛")的TF-IDF瓢颅,將它們相加,就可以得到整個(gè)文檔的TF-IDF弛说。這個(gè)值最高的文檔就是與搜索詞最相關(guān)的文檔挽懦。
TF-IDF算法的優(yōu)點(diǎn)是簡(jiǎn)單快速,結(jié)果比較符合實(shí)際情況木人。缺點(diǎn)是信柿,單純以"詞頻"衡量一個(gè)詞的重要性,不夠全面醒第,有時(shí)重要的詞可能出現(xiàn)次數(shù)并不多渔嚷。而且,這種算法無法體現(xiàn)詞的位置信息稠曼,出現(xiàn)位置靠前的詞與出現(xiàn)位置靠后的詞圃伶,都被視為重要性相同,這是不正確的蒲列。(一種解決方法是窒朋,對(duì)全文的第一段和每一段的第一句話,給予較大的權(quán)重蝗岖。)