我目前正在開發一個價格比較網站,我爲此抓取了一些電子商務網站並從他們的HTML頁面中提取了一些數據,例如價格,標題,元數據等。現在指出,如果從不同網站抓取的兩個產品實際上是相同的,並且爲它們分配了一個通用標籤,則需要兩個標識。
例如,可以說網站1具有作爲一個產品的標題下面的字符串:
「智能手機三星Galaxy S6 4G 32GB」
與本站2具有作爲同一產品的標題字符串:
「Samsung Galaxy S6 White」
在網絡爬行,價格比較後確定產品
如何識別這兩款產品是否實際上是同一款產品,我想在我的網站上標爲「Samsung Galaxy S6」? 我曾想過使用一些機器學習技術,如分類或聚類。然而,分類可能需要大量已經格式良好的產品標籤(加上經常更新的)來充當可能的類別,例如類「三星Galaxy S6」,有沒有這樣的事情?同樣擁有如此龐大數量的類別,可能並不可行。
我使用的是Apache Nutch用於爬網,而Solr用於索引和搜索。如果有任何特定的圖書館或工具,這將是非常有益的,但我的問題不是專門爲這些,我會很樂意閱讀任何建議。
感謝
感謝您的回答,聽起來像一個很好的「更清潔」的方式。這種方法的問題在於它需要一個包含所有產品的數據庫,這不是一件容易找到和維護的事情(這種數據庫是否存在?)。也許我可以抓取一個擁有大部分產品的零售商網站,並自己創建數據庫。順便說一句,我很好奇,你的建議是什麼將確定是否索引產品和數據庫中的產品應該連接?在標題字段上進行字符串比較以確定相似性和使用閾值? – Fidias
是的,字符串比較了solr的行爲。其他參數(如閾值以及如何分析和匹配字符串)將取決於您的使用情況。 –