非主流自然語言處理——遺忘算法系列 改進TF-IDF權重公式
小編:管理員 9閱讀 2022.07.28
前文介紹了利用詞庫進行分詞,本文介紹詞庫的另一個應用:詞權重計算。
二、詞權重公式1、公式的定義
定義如下公式,用以計算詞的權重:

2、公式的由來
在前文中,使用如下公式作為分詞的依據:

任給一個句子或文章,通過對最佳分詞方案所對應的公式進行變換,可以得到:

按前面權重公式的定義,上面的公式可以理解為:一個句子出現的概率對數等于句子中各詞的權重之和。
公式兩邊同時取負號使權重是個正值。
三、與TF-IDF的關系詞頻、逆文檔頻率(TF-IDF)在自然語言處理中,應用十分廣泛,也是提取關鍵詞的常用方法,公式如下:

從形式上看,該公式與我們定義的權重公式很像,而且用途也近似,那么它們之間有沒有關系呢?
答案是肯定的。
我們知道,IDF是按文檔為單位統計的,無論文檔的長短,統一都按一篇計數,感覺這個統計的粒度還是比較粗的,有沒有辦法將文本的長短,這個明顯相關的因素也考慮進去呢,讓這個公式更加精細些?
答案也是肯定的。
文章是由詞鋪排而成,長短不同,所包含的詞的個數也就有多有少。
我們可以考慮在統計文檔個數時,為每個文檔引入包含多少個詞這樣一個權重,以區別長短不同的文檔,沿著這個思路,改寫一下IDF公式:

我們用所有文檔中的詞做成詞庫,那么上式中:

綜合上面的推導過程,我們知道,本文所定義的詞權重公式,本質上是tf-idf為長短文檔引入權重的加強版,而該公式的應用也極為簡單,只需要從詞庫中讀取該詞詞頻、詞庫總詞頻即可。
時間復雜度最快可達O(1)級,比如詞庫以Hash表存儲。
關于TF-IDF更完整的介紹及主流用法,建議參看阮一峰老師的博文《TF-IDF與余弦相似性的應用(一):自動提取關鍵詞》。
四、公式應用詞權重用途很廣,幾乎詞袋類算法中,都可以考慮使用。常見的應用有:
1、關鍵詞抽取、自動標簽生成
作法都很簡單,分詞后排除停用詞,然后按權重值排序,取排在前面的若干個詞即可。
2、文本摘要
完整的文本摘要功能實現很復雜也很困難,這里所指,僅是簡單應用:由前面推導過程中可知,句子的權重等于分詞結果各詞的權重之和,從而獲得句子的權重排序。
3、相似度計算
相似度計算,我們將在下一篇文中單獨介紹。
五、演示程序在演示程序顯示詞庫結果時,是按本文所介紹的權重公式排序的。
演示程序與詞庫生成的相同:
相關推薦