本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種URL的聚類方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)技術(shù)飛速發(fā)展,每天都會產(chǎn)生海量的訪問請求,相應(yīng)地,所訪問的統(tǒng)一資源定位符(Uniform Resource Locator,URL)數(shù)量也較多。海量URL是數(shù)據(jù)挖掘、大數(shù)據(jù)分析的重要數(shù)據(jù)來源,基于對海量URL數(shù)據(jù)的分析結(jié)果,可以預(yù)測用戶對不用類型的URL的點擊率,從而可以選擇性的對用戶進(jìn)行內(nèi)容推薦。
現(xiàn)有技術(shù)中,由于URL數(shù)量過大,常常對URL進(jìn)行聚類以進(jìn)行大數(shù)據(jù)分析、內(nèi)容推薦等。理想情況下,同一類URL的相似性較高,對其統(tǒng)計分析得到的用戶點擊率接近,因而可以對不用類別的URL所針對的頁面做出不同的推送選擇。
然而,現(xiàn)有技術(shù)的聚類得到的多個類別的劃分準(zhǔn)確度較差,對推薦內(nèi)容(例如新聞、廣告等)的推送指導(dǎo)作用有待提升。具體表現(xiàn)為聚類后得到的多個類別之間,在點擊率等推薦內(nèi)容推送的預(yù)測指標(biāo)上區(qū)分度不高,從而較難有效地指導(dǎo)推薦內(nèi)容的推送,進(jìn)而引起推薦內(nèi)容與用戶偏好不符可能性較大,導(dǎo)致用戶需要再次對網(wǎng)絡(luò)資源進(jìn)行訪問搜索,從而占用了更多的網(wǎng)絡(luò)系統(tǒng)資源比如帶寬資源。
技術(shù)實現(xiàn)要素:
本發(fā)明解決的技術(shù)問題是提供一種URL數(shù)據(jù)的聚類方法及裝置,以提高聚類的準(zhǔn)確度,有利于提升網(wǎng)絡(luò)系統(tǒng)資源的利用率。
為解決上述技術(shù)問題,本發(fā)明實施例提供一種URL數(shù)據(jù)的聚類方法,所述方法包括:
獲取URL數(shù)據(jù)集,所述URL數(shù)據(jù)集包括多條URL,所述多條URL隸屬于至少一個域名;分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段;針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果;針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。
可選地,所述分別對每個域名下的URL進(jìn)行分割處理之前,還包括:
對所述URL數(shù)據(jù)集中的多條URL進(jìn)行降維,以去除符合預(yù)設(shè)格式的冗余信息。
可選地,所述冗余信息包括數(shù)字和搜索詞。
可選地,所述URL聚類方法,還包括:
對于所述第一聚類結(jié)果和所述第二聚類結(jié)果,將其中URL數(shù)量超過第一預(yù)設(shè)閾值的聚類類別進(jìn)行拆分,并將其中URL數(shù)量小于第二預(yù)設(shè)閾值的聚類類別進(jìn)行合并,所述第一預(yù)設(shè)閾值大于所述第二預(yù)設(shè)閾值。
可選地,所述分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段,包括:
對每個域名下的每條URL,按照字符“/”進(jìn)行分割,并去除其中表示主機(jī)名的字符串;統(tǒng)計每個域名下的URL被分割后得到的字符串的出現(xiàn)次數(shù),并將出現(xiàn)次數(shù)大于次數(shù)閾值的字符串或按照出現(xiàn)次數(shù)排序的前M個字符串作為所述熱門字段,其中,M為大于或等于0的整數(shù)。
可選地,所述針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果,包括:
對所述多條URL進(jìn)行分割處理后得到的字符串去重,以得到總字符串序列,所述總字符串序列包含K個依序排列的字符串;分別將每個域名下的每條URL映射成長度為K的一維向量,以得到每個域名對應(yīng)的矩陣,所述矩陣的大小為S*K,其中,S為每個域名下的URL的數(shù)量;將每個域名下的URL的數(shù)量的均方根值作為聚類數(shù),并根據(jù)所述聚類數(shù)和所述矩陣采用Kmeans算法進(jìn)行聚類,以得到每個域名對應(yīng)的第二聚類結(jié)果。
可選地,所述將每個域名下的每條URL映射成長度為K的一維向量,包括:
針對當(dāng)前URL,生成長度為K的全零一維向量,所述當(dāng)前URL為所述多條URL中的任一個;根據(jù)對所述當(dāng)前URL進(jìn)行分割處理得到的字符串確定當(dāng)前字符串序列和每個字符串在所述當(dāng)前字符串序列中的出現(xiàn)位置,所述當(dāng)前字符串序列包含N個字符串;對于所述當(dāng)前URL被分割處理后得到的每個字符串,統(tǒng)計其在所述URL數(shù)據(jù)集中所有URL被分割處理后得到的字符串中的出現(xiàn)頻次;在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量。
可選地,所述在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量,包括:
對于所述當(dāng)前URL被分割處理后得到的每個字符串,確定其在總字符串序列中的位置計數(shù)i,i大于等于1且小于等于K;
采用公式vec[i]=(N-P)/log X計算所述一維向量中的第i列的向量值;
其中,vec[i]為第i列的向量值,X為所述字符串的出現(xiàn)頻次,P為所述字符串在所述當(dāng)前字符串序列中的位置計數(shù)。
本發(fā)明實施例還提供一種URL的聚類裝置,所述裝置包括:
獲取單元,適于獲取URL數(shù)據(jù)集,所述URL數(shù)據(jù)集包括多條URL,所述多條URL隸屬于至少一個域名;
熱門字段獲取單元,適于分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段;
第一聚類單元,適于針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果;
第二聚類單元,適于針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。
可選地,所述URL的聚類裝置,還包括:
降維單元,適于對所述URL數(shù)據(jù)集中的多條URL進(jìn)行降維,以去除符合預(yù)設(shè)格式的冗余信息。
可選地,所述冗余信息包括數(shù)字和搜索詞。
可選地,所述URL的聚類裝置,還包括:
聚類結(jié)果調(diào)整單元,適于對于所述第一聚類結(jié)果和所述第二聚類結(jié)果,將其中URL數(shù)量超過第一預(yù)設(shè)閾值的聚類類別進(jìn)行拆分,并將其中URL數(shù)量小于第二預(yù)設(shè)閾值的聚類類別進(jìn)行合并,所述第一預(yù)設(shè)閾值大于所述第二預(yù)設(shè)閾值。
可選地,所述熱門字段獲取單元包括:
分割子單元,適于對每個域名下的每條URL,按照字符“/”進(jìn)行分割,并去除其中表示主機(jī)名的字符串;
統(tǒng)計子單元,適于統(tǒng)計每個域名下的URL被分割后得到的字符串的出現(xiàn)次數(shù),并將出現(xiàn)次數(shù)大于次數(shù)閾值的字符串或按照出現(xiàn)次數(shù)排序的前M個字符串作為所述熱門字段,其中,M為大于或等于0的整數(shù)。
可選地,所述第二聚類單元包括:
總字符串序列獲取子單元,適于對所述多條URL進(jìn)行分割處理后得到的字符串去重,以得到總字符串序列,所述總字符串序列包含K個依序排列的字符串;
矩陣獲取子單元,適于分別將每個域名下的每條URL映射成長度為K的一維向量,以得到每個域名對應(yīng)的矩陣,所述矩陣的大小為S*K,其中,S為每個域名下的URL的數(shù)量;
第二聚類結(jié)果獲取子單元,適于將每個域名下的URL的數(shù)量的均方根值作為聚類數(shù),并根據(jù)所述聚類數(shù)和所述矩陣采用Kmeans算法進(jìn)行聚類,以得到每個域名對應(yīng)的第二聚類結(jié)果。
可選地,所述矩陣獲取子單元包括:
全零向量獲取模塊,適于針對當(dāng)前URL,生成長度為K的全零一維向量,所述當(dāng)前URL為所述多條URL中的任一個;
當(dāng)前字符串序列獲取模塊,適于根據(jù)對所述當(dāng)前URL進(jìn)行分割處理得到的字符串確定當(dāng)前字符串序列和每個字符串在所述當(dāng)前字符串序列中的出現(xiàn)位置,所述當(dāng)前字符串序列包含N個字符串;
出現(xiàn)頻次統(tǒng)計模塊,適于對于所述當(dāng)前URL被分割處理后得到的每個字符串,統(tǒng)計其在所述URL數(shù)據(jù)集中所有URL被分割處理后得到的字符串中的出現(xiàn)頻次;
映射模塊,適于在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量。
可選地,所述映射模塊包括:
位置計數(shù)子模塊,適于對于所述當(dāng)前URL被分割處理后得到的每個字符串,確定其在總字符串序列中的位置計數(shù)i,i大于等于1且小于等于K;
向量值計算子模塊,適于采用公式vec[i]=(N-P)/log X計算所述一維向量中的第i列的向量值;
其中,vec[i]為第i列的向量值,X為所述字符串的出現(xiàn)頻次,P為所述字符串在所述當(dāng)前字符串序列中的位置計數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例的技術(shù)方案具有以下有益效果:
本發(fā)明實施例中,對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段,針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果,針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。由于熱門字段與包含該熱門字段的URL的所指向的頁面結(jié)構(gòu)具有較強(qiáng)的相關(guān)性,具體而言,熱門字段相同的URL所指向的頁面結(jié)構(gòu)和內(nèi)容具有相似性,另一方面,點擊訪問同一熱門字段下的URL用戶往往也有基本相同的訪問意向,因此,根據(jù)熱門字段進(jìn)行URL聚類可以明顯提高聚類得到的多個類別的準(zhǔn)確性,聚類所得的結(jié)果可以用于內(nèi)容推薦等,從而可有效地提高推薦內(nèi)容的點擊率,不需要用戶通過反復(fù)搜索和訪問其他網(wǎng)頁,從而提升網(wǎng)絡(luò)資源的利用率。
附圖說明
圖1是本發(fā)明實施例中的一種URL的聚類方法的流程圖;
圖2是本發(fā)明實施例中的一種得到第二聚類結(jié)果的方法的流程圖;
圖3是本發(fā)明實施例中的一種URL的聚類裝置的結(jié)構(gòu)示意圖;
圖4是圖3中的一種第二聚類單元的結(jié)構(gòu)示意圖。
具體實施方式
如背景技術(shù)所言,由于URL數(shù)量過大,常常對URL進(jìn)行聚類以進(jìn)行大數(shù)據(jù)分析、內(nèi)容推薦等。理想情況下,同一類URL的相似性較高,對其統(tǒng)計分析得到的用戶點擊率接近,因而可以對不用類別的URL所針對的頁面做出不同的推送選擇。
然而,現(xiàn)有技術(shù)的聚類得到的多個類別的劃分準(zhǔn)確度較差,對推薦內(nèi)容(例如新聞、廣告等)的推送指導(dǎo)作用有待提升。具體表現(xiàn)為聚類后得到的多個類別之間,在點擊率等推薦內(nèi)容推送的預(yù)測指標(biāo)上區(qū)分度不高,從而較難有效地指導(dǎo)推薦內(nèi)容的推送,進(jìn)而引起推薦內(nèi)容與用戶偏好不符可能性較大,導(dǎo)致用戶需要再次對網(wǎng)絡(luò)資源進(jìn)行訪問搜索,從而占用了更多的網(wǎng)絡(luò)系統(tǒng)資源比如帶寬資源。
本發(fā)明實施例中,對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段,針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果,針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。由于熱門字段與包含該熱門字段的URL的所指向的頁面結(jié)構(gòu)具有較強(qiáng)的相關(guān)性,具體而言,熱門字段相同的URL所指向的頁面結(jié)構(gòu)基本相同,另一方面,點擊訪問同一熱門字段下的URL用戶也有基本相同的訪問意向,因此,在根據(jù)熱門字段進(jìn)行URL聚類的基礎(chǔ)上,針對不同的類別進(jìn)行內(nèi)容推薦可有效地提高點擊率,進(jìn)而不需要用戶通過反復(fù)搜索和訪問其他網(wǎng)頁,從而提升網(wǎng)絡(luò)資源的利用率。
為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施例做詳細(xì)的說明。
圖1是本發(fā)明實施例中的一種URL數(shù)據(jù)的聚類方法的流程圖。下面結(jié)合圖1所示步驟進(jìn)行說明。
步驟S101:獲取URL數(shù)據(jù)集,所述URL數(shù)據(jù)集包括多條URL,所述多條URL隸屬于至少一個域名。
在具體實施中,每條URL中包括域名和主機(jī)名,例如,一條URL為“http://zhidao.baidu.com/search?ct=17”,該條URL中,域名為“baidu.com”,主機(jī)名為“zhidao”。
一個域名下至少有一條URL,例如,域名“baidu.com”下有10條URL。換言之,這10條URL的域名均為“baidu.com”。又如,URL數(shù)據(jù)集中存在域名A、B、C、D和E,每個域名下均有多條URL。
步驟S102:分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段。
在本步驟中,分別對每個域名下的URL進(jìn)行分割處理。仍然假設(shè)URL數(shù)據(jù)集中的域名有A、B、C、D和E,分別對這5個域名下的URL進(jìn)行分割處理,分割處理后可以得到多個字段,根據(jù)對分割后的字段的統(tǒng)計確定每個域名對應(yīng)的多個熱門字段。
在本發(fā)明一實施例中,分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段可以采用如下方式:
對每個域名下的每條URL,按照字符“/”進(jìn)行分割,并去除其中表示主機(jī)名的字符串;
統(tǒng)計每個域名下的URL被分割后得到的字符串的出現(xiàn)次數(shù),并將出現(xiàn)次數(shù)大于次數(shù)閾值的字符串或按照出現(xiàn)次數(shù)排序的前M個字符串作為所述熱門字段,其中,M為大于或等于0的整數(shù)。
例如,對于URL“zhidao.baidu.com/search?ct=17”,可以按照字符“/”進(jìn)行分割并去除主機(jī)名“zhidao”,可以得到字符串“baidu.com”,和字符串“search?ct=17”。同樣地,對域名為“baidu.com”的其他URL進(jìn)行類似處理。接著統(tǒng)計域名“baidu.com”下的URL被分割后得到的字符串出現(xiàn)的次數(shù)。并將出現(xiàn)次數(shù)大于次數(shù)閾值的字符串作為熱門字段,或者也可以將分割后的字符串按照出現(xiàn)次數(shù)從高至低進(jìn)行排序,而后將出現(xiàn)次數(shù)較高的前M個字符串作為所述熱門字段。
又如,對URL數(shù)據(jù)集中域名為“baixing.com”的每條URL實施步驟S102,可以得到域名為“baixing.com”的URL被分割后得到的字符串中,下列字符串的出現(xiàn)次數(shù)大于次數(shù)閾值:“ershouqiche”、“zhengzu”、“ershoufang”、“shouji”、“gongzuo”、“siji”、“tuolaji”、“chongwujiaoyi”,那么將上述字符串作為域名“baixing.com”下的熱門字段。
需要說明的是,所述次數(shù)閾值和M的取值可以進(jìn)行預(yù)設(shè)。
步驟S103:針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果。
經(jīng)過實施步驟S102可以得到每個域名對應(yīng)的熱門字段,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)對應(yīng)的熱門字段進(jìn)行聚類。
在上例中,域名“baixing.com”的熱門字段有“ershouqiche”、“zhengzu”、“ershoufang”、“shouji”、“gongzuo”、“siji”、“tuolaji”、“chongwujiaoyi”,在域名“baixing.com”下的URL中,將包含熱門字段“ershouqiche”的URL作為一類,包含熱門字段“zhengzu”的URL作為一類,以此類推。從而得到每個熱門字段對應(yīng)的一個類別。一方面,由于每個熱門字段對應(yīng)類別的URL所指向的頁面結(jié)構(gòu)基本相同,因此在針對該類別的URL所指向的網(wǎng)頁進(jìn)行內(nèi)容推薦時,可以在相同的頁面顯示位置上進(jìn)行推薦;另一方面,由于每個熱門字段對應(yīng)的URL具有基本相同的頁面內(nèi)容,其可以反映一類用戶的訪問內(nèi)容需求,因此可以進(jìn)行相同頁面內(nèi)容的推送。例如,包含熱門字段“ershouqiche”的URL所指向的頁面內(nèi)容為有關(guān)二手車的信息,可以基于此推斷訪問這一類URL的用戶具有基本相同的訪問內(nèi)容需求,因而可以進(jìn)行針對二手車的推薦內(nèi)容推送,從而可以提高用戶打開這一類URL時出現(xiàn)的推薦內(nèi)容的點擊率,避免用戶進(jìn)行較多次數(shù)的搜索和訪問,從而提高網(wǎng)絡(luò)系統(tǒng)資源的利用率。
步驟S104:針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。
在本發(fā)明一非限定性的例子中,可以按照圖2所示的步驟進(jìn)行聚類得到第二聚類結(jié)果。
步驟S201:對所述多條URL進(jìn)行分割處理后得到的字符串去重,以得到總字符串序列,所述總字符串序列包含K個依序排列的字符串。
為方便說明本實施例的方案,下面以一簡單的例子進(jìn)行示例。
例如,URL數(shù)據(jù)集L的多條URL隸屬于5個域名,分別為A、B、C、D和E,并假設(shè)域名A下有2條URL,其他域名下各有一條URL。
對URL數(shù)據(jù)集L的所有URL進(jìn)行分割處理,域名A的第一條URL經(jīng)過分割處理后得到A1A2,第二條URL經(jīng)過分割處理得到A3A2,域名B的URL經(jīng)過分割處理后得到A3B1B2,域名C的URL經(jīng)過分割處理后得到C1C2。進(jìn)一步去除重復(fù)的字符串“A2”和“A3”得到字符串序列“A1A2A3B1B2C1C2”,也即URL數(shù)據(jù)集L對應(yīng)的總字符串序列,該字符串序列包括7個字符串。
步驟S202:分別將每個域名下的每條URL映射成長度為K的一維向量,以得到每個域名對應(yīng)的矩陣,所述矩陣的大小為S*K,其中,S為每個域名下的URL的數(shù)量。
仍以上例進(jìn)行說明,分別將每個域名下的每條URL映射成長度為K的一維向量。域名A下有2條URL,那么對域名A下的每條URL映射成長度為K的一維向量,從而得到域名A對應(yīng)的2*7的矩陣,其中K在本例中取值為7。同理,可以對其他域名下的每條URL進(jìn)行映射,得到各自域名對應(yīng)的矩陣。
在本發(fā)明的一具體實現(xiàn)中,將每個域名下的每條URL映射成長度為K的一維向量可以采用如下方式:
針對當(dāng)前URL,生成長度為K的全零一維向量,所述當(dāng)前URL為所述多條URL中的任一個;
根據(jù)對所述當(dāng)前URL進(jìn)行分割處理得到的字符串確定當(dāng)前字符串序列和每個字符串在所述當(dāng)前字符串序列中的出現(xiàn)位置,所述當(dāng)前字符串序列包含N個字符串;
對于所述當(dāng)前URL被分割處理后得到的每個字符串,統(tǒng)計其在所述URL數(shù)據(jù)集中所有URL被分割處理后得到的字符串中的出現(xiàn)頻次;
在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量。
在具體實施中,在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量,可以采用如下方式:
對于所述當(dāng)前URL被分割處理后得到的每個字符串,確定其在總字符串序列中的位置計數(shù)i,i大于等于1且小于等于K;
采用公式vec[i]=(N-P)/log X計算所述一維向量中的第i列的向量值;
其中,vec[i]為第i列的向量值,X為所述字符串的出現(xiàn)頻次P為所述字符串在所述當(dāng)前字符串序列中的位置計數(shù)。更具體而言,上述vec[i]用于替換全零一維向量中第i列的向量值,而未被替換的部分向量值將保持為0。
具體仍以上例進(jìn)行說明,即域名A的第一條URL經(jīng)過分割處理后得到A1A2,第二條URL經(jīng)過分割處理得到A3A2,域名B的一條URL經(jīng)過分割處理后得到A3B1B2,域名C的一條URL經(jīng)過分割處理后得到C1C2。進(jìn)一步去除重復(fù)的字符串“A2”和“A3”得到總字符串序列“A1A2A3B1B2C1C2”,該字符串序列包括7個字符串。
假設(shè)當(dāng)前URL為域名A的第一條URL,則當(dāng)前字符串序列為A1A2。需要將該條URL映射成為長度為7的字符串序列。
首先,將該條URL映射成為長度為7的全零一維向量,即7列的向量值均為0。在此基礎(chǔ)上,確定當(dāng)前字符串序列中A1A2的字符串“A1”,“A2”在總字符串序列中的位置計數(shù)。在此假設(shè)總字符串序列“A1A2A3B1B2C1C2”中的字符串位置計數(shù)從左至右依次記為1至7位。那么,對于當(dāng)前URL,以字符串A1為例,字符串A1在總字符串序列中的位置為1,則在該條URL對應(yīng)的一維向量中,A1對應(yīng)的值V[1]采用公式vec[i]=(N-P)/log X進(jìn)行計算,此時i為1,N為當(dāng)前字符串序列A1A2的字符串個數(shù)2,P為所述字符串A1在所述當(dāng)前字符串序列A1A2中的位置計數(shù)1,(假設(shè)對于每個當(dāng)前字符串的位置計數(shù)也按照從左至右,并從1計數(shù)的方式),X為所述字符串A1在URL數(shù)據(jù)集中所有URL被分割后的字符串中出現(xiàn)的頻次,而URL數(shù)據(jù)集中所有URL被分割為8個字符串,因此字符串A1的所述出現(xiàn)頻次為1/8。
采用同樣的方法,可以對域名A的第二條URL映射得到長度為7的一維向量。其他域名下的URL也可以采用該種實現(xiàn)方式。
需要說明的是,上述示例僅僅為了方便說明實施方式,其中的域名、具體字符串、每個域名下URL數(shù)量等以實際實施時為準(zhǔn)。
步驟S203:將每個域名下的URL的數(shù)量的均方根值作為聚類數(shù),并根據(jù)所述聚類數(shù)和所述矩陣采用Kmeans算法進(jìn)行聚類,以得到每個域名對應(yīng)的第二聚類結(jié)果。
由此,針對每個域名下的不包含熱門字段的URL,可以根據(jù)聚類數(shù)和所述矩陣采用Kmeans算法進(jìn)行聚類,得到第二聚類結(jié)果。
由于上述實現(xiàn)方式中,在確定當(dāng)前URL的字符串對應(yīng)的向量值時,考慮到了該字符串在當(dāng)前URL的位置,以及該字符串在所有字符串中的出現(xiàn)頻次,而這兩者因素均相同的URL,其對應(yīng)的頁面結(jié)構(gòu)和訪問用戶具有一定程度一致性,因而URL相似性較高,進(jìn)而可以實現(xiàn)合理有效的分類,換言之,這樣的分類可有效地指導(dǎo)推薦內(nèi)容的推送。
需要說明的是,本發(fā)明的其他實施例中,也可以采用其他方式對不包含熱門字段的URL進(jìn)行聚類,在此不做限制。
在具體實施中,分別對每個域名下的URL進(jìn)行分割處理之前,還可以進(jìn)行降維處理,即:對所述URL數(shù)據(jù)集中的多條URL進(jìn)行降維,以去除符合預(yù)設(shè)格式的冗余信息。
在具體實施中,所述冗余信息為可以包括數(shù)字和搜索詞。
通過去除冗余信息,可將除冗余信息以外其他部分均相同的URL視為同一條URL,從而可以減少步驟S101至步驟S104的計算量。
在本發(fā)明一非限制性的實施中,可以找到URL的如下5個特殊字符,“?”,“%”,“#”,“&”,“=”,去除URL中這些字符后面的字符串,并且保留這些特殊字符,然后對URL中的連續(xù)數(shù)字編碼成一個*表示。
在具體實施中,在實施步驟S104后,還可以對于所述第一聚類結(jié)果和所述第二聚類結(jié)果,將其中URL數(shù)量超過第一預(yù)設(shè)閾值的聚類類別進(jìn)行拆分,并將其中URL數(shù)量小于第二預(yù)設(shè)閾值的聚類類別進(jìn)行合并,所述第一預(yù)設(shè)閾值大于所述第二預(yù)設(shè)閾值。
通過上述合并和拆分,避免某些類的URL數(shù)量過小,使得基于該類得到的統(tǒng)計預(yù)測指標(biāo)(如點擊率)不穩(wěn)定,從而無法有效指導(dǎo)推薦內(nèi)容的推送。另外,也避免了某些類的URL數(shù)量過大,造成相似性不高的URL也劃分為一類的情況,而無法進(jìn)行區(qū)分性的指導(dǎo)推薦內(nèi)容的推送。
圖3是本發(fā)明實施例中的一種URL的聚類裝置的結(jié)構(gòu)示意圖。所述URL的聚類裝置可以包括:獲取單元301、熱門字段獲取單元302、第一聚類單元303和第二聚類單元304。下面結(jié)合圖3進(jìn)行說明。
所述獲取單元301,適于獲取URL數(shù)據(jù)集,所述URL數(shù)據(jù)集包括多條URL,所述多條URL隸屬于至少一個域名。
所述熱門字段獲取單元302,適于分別對每個域名下的URL進(jìn)行分割處理,并根據(jù)分割處理得到的字段的統(tǒng)計結(jié)果確定每個域名對應(yīng)的多個熱門字段。
在具體實施中,所述熱門字段獲取單元302可以包括:
分割子單元,適于對每個域名下的每條URL,按照字符“/”進(jìn)行分割,并去除其中表示主機(jī)名的字符串;
統(tǒng)計子單元,適于統(tǒng)計每個域名下的URL被分割后得到的字符串的出現(xiàn)次數(shù),并將出現(xiàn)次數(shù)大于次數(shù)閾值的字符串或按照出現(xiàn)次數(shù)排序的前M個字符串作為所述熱門字段,其中,M為大于或等于0的整數(shù)。
所述第一聚類單元303,適于針對每個域名下的URL,對包括該域名對應(yīng)的熱門字段的URL,根據(jù)該域名對應(yīng)的熱門字段進(jìn)行聚類,得到每個域名對應(yīng)的第一聚類結(jié)果;
所述第二聚類單元304,適于針對每個域名下的URL,對不包括該域名對應(yīng)的熱門字段的URL進(jìn)行聚類,得到每個域名對應(yīng)的第二聚類結(jié)果。
在具體實施中,請參照圖4,所述第二聚類單元304可以包括:
總字符串序列獲取子單元41,適于對所述多條URL進(jìn)行分割處理后得到的字符串去重,以得到總字符串序列,所述總字符串序列包含K個依序排列的字符串;
矩陣獲取子單元42,適于分別將每個域名下的每條URL映射成長度為K的一維向量,以得到每個域名對應(yīng)的矩陣,所述矩陣的大小為S*K,其中,S為每個域名下的URL的數(shù)量;
第二聚類結(jié)果獲取子單元43,適于將每個域名下的URL的數(shù)量的均方根值作為聚類數(shù),并根據(jù)所述聚類數(shù)和所述矩陣采用Kmeans算法進(jìn)行聚類,以得到每個域名對應(yīng)的第二聚類結(jié)果。
在具體實施中,所述矩陣獲取子單元可以包括:
全零向量獲取模塊,適于針對當(dāng)前URL,生成長度為K的全零一維向量,所述當(dāng)前URL為所述多條URL中的任一個;
當(dāng)前字符串序列獲取模塊,適于根據(jù)對所述當(dāng)前URL進(jìn)行分割處理得到的字符串確定當(dāng)前字符串序列和每個字符串在所述當(dāng)前字符串序列中的出現(xiàn)位置,所述當(dāng)前字符串序列包含N個字符串;
出現(xiàn)頻次統(tǒng)計模塊,適于對于所述當(dāng)前URL被分割處理后得到的每個字符串,統(tǒng)計其在所述URL數(shù)據(jù)集中所有URL被分割處理后得到的字符串中的出現(xiàn)頻次;
映射模塊,適于在所述全零一維向量的基礎(chǔ)上,根據(jù)所述當(dāng)前URL被分割處理后得到的每個字符串的所述出現(xiàn)頻次和所述出現(xiàn)位置,將所述當(dāng)前URL映射成長度為K的一維向量。
在具體實施中,所述映射模塊包括:
位置計數(shù)確定子模塊,對于所述當(dāng)前URL被分割處理后得到的每個字符串,確定其在總字符串序列中的位置計數(shù)i,i大于等于1且小于等于K;
向量值計算子模塊采用公式vec[i]=(N-P)/log X計算所述一維向量中的第i列的向量值;
其中,vec[i]為第i列的向量值,X為所述字符串的出現(xiàn)頻次,P為所述字符串在所述當(dāng)前字符串序列中的位置計數(shù)。
在具體實施中,所述URL的聚類裝置還可以包括:
降維單元,適于對所述URL數(shù)據(jù)集中的多條URL進(jìn)行降維,以去除符合預(yù)設(shè)格式的冗余信息。
在具體實施中,所述冗余信息包括數(shù)字和搜索詞。
在具體實施中,所述URL的聚類裝置,還可以包括:
聚類結(jié)果調(diào)整單元,適于對于所述第一聚類結(jié)果和所述第二聚類結(jié)果,將其中URL數(shù)量超過第一預(yù)設(shè)閾值的聚類類別進(jìn)行拆分,并將其中URL數(shù)量小于第二預(yù)設(shè)閾值的聚類類別進(jìn)行合并,所述第一預(yù)設(shè)閾值大于所述第二預(yù)設(shè)閾值。
有關(guān)上述URL的聚類裝置的結(jié)構(gòu)說明和有益效果可對應(yīng)參照所述URL的聚類方法的描述,不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。