《數學之美》第15章 矩陣運算和文字處理中的兩個分類問題
阿新 • • 發佈:2019-02-12
1 文字和詞彙的矩陣
在自然語言處理中,最常見的兩個分類問題分別是:將文字按主題歸類(比如將所有介紹奧運會的新聞歸到體育類)和將詞彙表中的字詞按意思歸類(比如將各種運動的專案名稱歸成體育一類)。
新聞分類乃至各種分類問題其實是一個聚類問題,關鍵是計算兩篇新聞的相似度。為了完成這個過程,我們要將新聞變成代表它們內容的實詞,然後在變成一組數,具體說是向量,最後求出這兩個問題的夾角。
奇異值分解(Singular Value Decomposition,簡稱 SVD),一次能把所有的新聞相關性計算出來。
在矩陣A中,每一行對應一篇文章,每一列對應一個詞。其中,第 i 行、第 j 列的元素,是字典中第 j 個詞在第 i 篇文章中出現的加權詞頻(比如用詞的TF-IDF值)。共5000億個元素。
奇異值分解,就是把大矩陣分解成三個小矩陣相乘。共1.5億個元素,不到原來的三千分之一。
原書有點問題,還沒得到證實:
矩陣X是對文字的分類結果,每一行對應一篇文字,每一列對應一個主題,這一行中每個元素表示這篇文件在不同主題中的相關性。
中間矩陣B表示文章的類和詞的類之間的相關性。
矩陣Y是對詞進行分類的一個結果,它的每一列表示一個詞,每一行表示一個語義相近的詞類,或者簡稱為語義類。這一列的每一個非零元素表示這個詞在每個語義類中的重要性(或者說相關性),數值越大越相關。
因此,只要對關聯矩陣A進行一次奇異值分解,就可以同時完成近義詞分類和文章的分類。另外,還能得到每個主題和每個詞的語義類之間的相關性。
2 奇異值分解的方法和應用場景
首先,將矩陣A變換成一個雙對角矩陣。
第二步,將雙對角矩陣變換成奇異值分解的三個矩陣。