2012-04-05 57 views
3

鑑於2個html源代碼,我想先使用類似this的東西來提取主要內容。有沒有other better libraries - 我正在尋找Python/Javascript的?如何判斷兩個網頁內容是否相似?

一旦我有了兩個提取的內容,我想返回0到1之間的分數,表示它們有多相似。來自CNN和BBC的同一主題的新聞文章將具有更高的相似度分數,因爲它們與Amazon.com上的同一產品相關的主題或網頁相關,而Walmart.com也會有相同的分數。我怎樣才能做到這一點?現有的庫已經這樣做了嗎?我可以使用哪些好的圖書館?基本上我正在尋找automatic summarization,keyword extraction,named-entity recognitionsentiment-analysis的組合。

回答

5

嵌入您的問題有很多東西。我會盡力爲你提供一個庫,否則會建議你可以解決你的任務的算法(你可以谷歌,你會得到很多python實現)

點1。要從html(http://nltk.googlecode.com/svn/trunk/doc/book/ch03.html)&中提取其他NLP相關內容的主要內容,您可以查看NLTK。它用Python編寫。您還可以查看名爲BeautifulSoup的圖書館,它的真棒(http://www.crummy.com/software/BeautifulSoup/)

點2。當你說:

一旦我有兩個提取的內容,我想回到0和1表示,他們的相似程度之間的分數....

爲此,我建議你可以使用羣集您的文檔集任何無監督的學習聚類技術。由於您的問題屬於基於距離度量的聚類,所以您應該很容易對相似的文檔進行聚類,然後根據它們與聚類質心的相似性爲它們分配分數。嘗試K-Means或自適應共振理論。在後者中,您不需要預先定義羣集的數量。或者larsman在他的評論中指出,你可以簡單地使用TF-IDF(http://www.miislita.com/term-vector/term-vector-3.html)

點3。當你說:

基本上我尋找自動摘要,關鍵詞提取的組合,命名實體識別和情感分析

對於自動文摘使用非負矩陣分解

關鍵字提取使用NLTK

對於命名實體識別使用NLTK

對於情感分析使用NLTK

相關問題