2011-09-02 22 views
3

我試圖創建一個算法,該算法根據它在頁面上找到的關鍵字設置與網頁的某些相關性。如何構建基於關鍵字的HTML頁面分類算法?

我此刻這樣:

我設置一些單詞和他們的值:「電影」(10)「電影」(6)「演員」( 5)「好萊塢」(4)並搜索頁面的某些部分,給出每個部分的權重並乘以單詞的權重。

例:「電影」 字字在URL(1.5)* 10和標題(2.5)* 10 = 40

這是垃圾被發現!這是我的第一次嘗試,並且它返回了一些相關的結果,但我不認爲由像244,66,30,15這樣的值確定的相關性是有用的。

我想要做的東西,是一個範圍內,從0到1或1到100
我可以用什麼詞加權類型?

除此之外,還有一些現成的算法可以根據URL,關鍵字,標題等內容設置HTML頁面的相關性,但主要內容除外?

編輯1:所有這一切都可以重建,權重是隨機的,我想用一些簡潔的權重,而不是隨機發貨數字來表示像10,5和3

喜歡的東西的重量: low importance = 1,medium importance = 2,high importante = 4,deterministic importance = 8

Title > Link Part of URL > Domain > Keywords
movie > cinema> actor > hollywood

編輯2:此刻,我想分析不包括頁面的body content話網頁的相關性。我將在分析中包括域名,URL的鏈接部分,標題,關鍵字(以及我判斷有用的另一個元信息)。

原因是HTML內容很髒。我可以在菜單和廣告中找到很多單詞,如「電影」,但該頁面的主要內容不包含與主題相關的任何內容。

另一個原因是某些頁面的元信息表明頁面包含關於電影的信息,但主要內容沒有。例如:一個頁面,其中包含講述歷史,人物等的電影情節,但不要在文中提到任何可以表明這是關於電影的東西,只有頁面元信息。

後來,在HTML頁面上運行相關性分析後,我會分別對內容進行相關性分析(過濾)。

+1

如果你能找出最大可能的相關性值,你可以拿分數,並使用最大值找到一個百分比,給你一個1-100的比例。 – Jrod

回答

3

您是否可以在搜索引擎中對這些文檔編制索引?如果你是那麼也許你應該考慮使用這個latent semantic library

您可以從這裏得到實際的項目:https://github.com/algoriffic/lsa4solr

你所要做的,是確定文本語料庫的含義,並根據它的意思對其進行分類。然而,單詞並不是單獨獨立的,或者從整篇文章中抽象地考慮。

例如,假設您有一篇關於「Windows」的文章。這個詞在300字的文章中被使用了7次。所以你知道這很重要。然而,你不知道的是,如果是在談論操作系統「Windows」或者你所看到的東西。

假設你還看到了諸如「安裝」這樣的詞,那麼它根本沒有任何幫助。因爲人們像安裝Windows操作系統一樣將窗戶安裝到他們的房屋中。但是,如果同一篇文章談論碎片整理,操作系統,命令行和Windows 7,那麼你可以猜測這個文檔的含義是關於Windows操作系統的。

但是,您如何確定這一點?

這就是其中潛在語義索引進來。你想要做的是提取整個文檔文本,然後對該文檔應用一些聰明的分析。

您構建的矩陣(see here)高於我的頭,儘管我已經查看了一些庫並使用它們,但我從未能夠完全理解構建空間感知背後的複雜數學矩陣是潛在的語義分析沒有...所以在我的建議,我會建議,只是使用已有的圖書館爲你做這個。

快樂,如果你是不是在找外部庫中刪除這個答案,並希望自己做

+0

看看我的第2版。你的回答將有助於我下一步的分析。謝謝。 –

1

的簡單方法的任何轉換爲​​0-100範圍(對於任何正值X):

(1-1 /(1 + X))* 100

較高X給你一個接近100的值。

但是這不會保證你公平或正確的分配。這取決於您決定實際X值的算法。

1
your_sum/(max_score_per_word * num_words) * 100 

應該工作。但是大多數時候你會得到非常小的分數,因爲很少有這些詞將會與那些非零分的詞相匹配。儘管如此,我沒有看到替代方案。獲得小分數並不是一件壞事:您將在網頁之間比較分數。你嘗試了很多不同的網頁,你可以找出系統的「高分」。

1

查看關於classifying webpages by topic的博客文章,它討論瞭如何實現與您的需求密切相關的內容。你如何在你的場景中定義相關性?無論您對不同的輸入應用什麼權重,您仍然會選擇一個有點任意的值,一旦您清理了原始數據,您就可以更好地應用機器學習爲您生成一個分類器。如果相關性是一個標量值,這很困難,但如果它是一個布爾值(例如,某個頁面與特定電影相關或不相關),那麼這是很微不足道的。