餘弦定理和新聞的分類
吳軍,google 研究員
餘弦定理和新聞的分類似乎是兩件八桿子打不著的事,但是它們確有緊密的聯絡。具體說,新聞的分類很大程度上依靠餘弦定理。
google 的新聞是自動分類和整理的。所謂新聞的分類無非是要把相似的新聞放到一類中。計算機其實讀不懂新聞,它只能快速計算。這就要求我們設計乙個演算法來算出任意兩篇新聞的相似性。為了做到這一點,我們需要想辦法用一組數字來描述一篇新聞。
我們來看看怎樣找一組數字,或者說乙個向量來描述一篇新聞。回憶一下我們在「
如何度量網頁相關性
」一文中介紹的tf/idf 的概念。對於一篇新聞中的所有實詞,我們可以計算出它們的單文字詞彙頻率/逆文字頻率值(tf/idf)。不難想象,和新聞主題有關的那些實詞頻率高,tf/idf 值很大。我們按照這些實詞在詞彙表的位置對它們的 tf/idf 值排序。比如,詞彙表有六萬四千個詞,分別為
單詞編號 漢字詞
------------------
1 阿2 啊
3 阿斗
4 阿姨
...789 服裝
....
64000 做作
在一篇新聞中,這 64,000 個詞的 tf/idf 值分別為
單詞編號 tf/idf 值
**********====
1 02 0.0034
3 04 0.00052
5 0...
789 0.034
...64000 0.075
如果單詞表中的某個次在新聞中沒有出現,對應的值為零,那麼這 64,000 個數,組成乙個64,000維的向量。我們就用這個向量來代表這篇新聞,並成為新聞的特徵向量。如果兩篇新聞的特徵向量相近,則對應的新聞內容相似,它們應當歸在一類,反之亦然。
學過向量代數的人都知道,向量實際上是多維空間中有方向的線段。如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理計算向量的夾角了。
餘弦定理對我們每個人都不陌生,它描述了三角形中任何乙個夾角和三個邊的關係,換句話說,給定三角形的三條邊,我們可以用餘弦定理求出三角形各個角的角度。假定三角形的三條邊為 a, b 和 c,對應的三個角為 a, b 和 c,那麼角 a 的余弦 --
如果我們將三角形的兩邊 b 和 c 看成是兩個向量,那麼上述公式等價於
其中分母表示兩個向量 b 和 c 的長度,分子表示兩個向量的內積。舉乙個具體的例子,假如新聞 x 和新聞 y 對應向量分別是
x1,x2,...,x64000 和
y1,y2,...,y64000,
那麼它們夾角的余弦等於,
當兩條新聞向量夾角的余弦等於一時,這兩條新聞完全重複(用這個辦法可以刪除重複的網頁);當夾角的余弦接近於一時,兩條新聞相似,從而可以歸成一類;夾角的余弦越小,兩條新聞越不相關。
我們在中學學習餘弦定理時,恐怕很難想象它可以用來對新聞進行分類。在這裡,我們再一次看到數學工具的用途。
數學之美 系列 12 餘弦定理和新聞的分類
2006年7月20日 上午 10 12 00 發表者 吳軍,google 研究員 餘弦定理和新聞的分類似乎是兩件八桿子打不著的事,但是它們確有緊密的聯絡。具體說,新聞的分類很大程度上依靠餘弦定理。google 的新聞是自動分類和整理的。所謂新聞的分類無非是要把相似的新聞放到一類中。計算機其實讀不懂新...
數學之美 系列 12 餘弦定理和新聞的分類
數學之美系列12 餘弦定理和新聞的分類 2006年7 月20日上午 10 12 00 發表者 吳軍,google 研究員餘弦定理和新聞的分類似乎是兩件八桿子打不著的事,但是它們確有緊密的聯絡。具體說,新聞的分類很大程度上依靠餘弦定理。google 的新聞是自動分類和整理的。所謂新聞的分類無非是要把相...
數學之美 系列 12 餘弦定理和新聞的分類
2006年7月20日 上午 10 12 00 發表者 吳軍,google 研究員 餘弦定理和新聞的分類似乎是兩件八桿子打不著的事,但是它們確有緊密的聯絡。具體說,新聞的分類很大程度上依靠餘弦定理。google 的新聞是自動分類和整理的。所謂新聞的分類無非是要把相似的新聞放到一類中。計算機其實讀不懂新...