本發(fā)明涉及數(shù)據(jù)挖掘領(lǐng)域,具體涉及相似應(yīng)用的識別方法、裝置和應(yīng)用搜索推薦方法、服務(wù)器。
背景技術(shù):
:目前許多應(yīng)用商店提供了將應(yīng)用進行分類的功能,用戶可以瀏覽各個類別下的應(yīng)用,從中選擇喜歡的應(yīng)用進行下載。例如,蘋果商店appstore提供了游戲、教育、兒童、購物等多個分類。然而,實現(xiàn)這一功能的前提是能夠?qū)?yīng)用劃分至相應(yīng)的分類下,也就是能夠識別出相似應(yīng)用,現(xiàn)有技術(shù)中,實現(xiàn)識別相似應(yīng)用的方法是使用應(yīng)用功能標(biāo)簽,將功能標(biāo)簽相同的應(yīng)用認(rèn)為是相似應(yīng)用。這種方法主要依賴人工標(biāo)注和開發(fā)者提供的應(yīng)用功能標(biāo)簽,人工標(biāo)注的代價很大,覆蓋率也低,只能標(biāo)注一部分熱門的應(yīng)用;開發(fā)者提供的應(yīng)用介紹,作弊信息較多以欺騙搜索引擎獲取高的搜索排名,可靠性較差。因此傳統(tǒng)挖掘相似應(yīng)用的方法有很大局限性,準(zhǔn)確率僅在70%左右。技術(shù)實現(xiàn)要素:鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的相似應(yīng)用的識別方法、裝置和應(yīng)用搜索推薦方法、服務(wù)器。依據(jù)本發(fā)明的一個方面,提供了一種相似應(yīng)用的識別方法,包括:從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用;根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息;根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用,將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合??蛇x地,所述從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用包括:從應(yīng)用搜索引擎的查詢會話日志中,獲取符合預(yù)設(shè)時間長度的查詢會話中的搜索詞和下載的應(yīng)用??蛇x地,所述根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息包括:對于各查詢會話,將該查詢會話中的搜索詞按照順序排成一個序列;如果該序列中的一個搜索詞對應(yīng)于應(yīng)用下載操作,將所下載的應(yīng)用的名稱插入到該序列中的相應(yīng)搜索詞的后面相鄰位置,從而形成該查詢會話對應(yīng)的訓(xùn)練語料;將所有訓(xùn)練語料匯總為訓(xùn)練語料集合;利用深度學(xué)習(xí)工具包word2vec對所述訓(xùn)練語料集合進行訓(xùn)練,將每條訓(xùn)練語料看做一個單詞,為各應(yīng)用生成n維向量形式的語義表示信息,其中,n為自然數(shù)??蛇x地,所述利用深度學(xué)習(xí)工具包word2vec對所述訓(xùn)練語料集合進行訓(xùn)練使用下述參數(shù):-cbow1-size300-window8-negative25-hs0-sample1e-4-threads24-binary0-iter15??蛇x地,所述根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用包括:對各應(yīng)用,計算該應(yīng)用的n維向量與其他應(yīng)用的n維向量的余弦相似度;所述將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合包括:選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用,其中,c為自然數(shù)??蛇x地,計算其與其他應(yīng)用的余弦相似度包括:將所有應(yīng)用的n維向量形式的語義表示信息存儲到k-d樹中;在k-d樹中計算與目標(biāo)應(yīng)用相距在預(yù)設(shè)范圍內(nèi)的一個或多個應(yīng)用與該目標(biāo)應(yīng)用的余弦相似度??蛇x地,所述選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用包括:從應(yīng)用搜索引擎的查詢會話日志中統(tǒng)計該應(yīng)用的下載次數(shù)s;根據(jù)預(yù)設(shè)的折線函數(shù){s1:c1;……si:ci;……sj:cj;……}和下述公式確定c的取值:其中,si≤s≤sj,ci≤c≤cj??蛇x地,該方法還包括:對各應(yīng)用,根據(jù)該應(yīng)用的標(biāo)簽屬性,從該應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用??蛇x地,所述從該應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用包括:計算該應(yīng)用與目標(biāo)相似應(yīng)用的標(biāo)簽語義相似度;將標(biāo)簽語義相似度低于預(yù)設(shè)閾值的目標(biāo)相似應(yīng)用從該應(yīng)用的相似應(yīng)用集合中刪除。依據(jù)本發(fā)明的另一方面,提供了一種應(yīng)用搜索推薦方法,包括:接收用戶輸入的搜索詞,根據(jù)所述搜索詞確定目標(biāo)應(yīng)用;從目標(biāo)應(yīng)用的相似應(yīng)用集合中獲取目標(biāo)應(yīng)用的一個或多個相似應(yīng)用,將所述目標(biāo)應(yīng)用和相似應(yīng)用推薦給用戶,其中,所述目標(biāo)應(yīng)用的相似應(yīng)用集合是通過如上述任一項所述的方法得到的。依據(jù)本發(fā)明的又一方面,提供了一種相似應(yīng)用的識別裝置,包括:獲取單元,適于從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用;挖掘單元,適于根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息;識別單元,適于根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用,將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合??蛇x地,所述獲取單元,適于從應(yīng)用搜索引擎的查詢會話日志中,獲取符合預(yù)設(shè)時間長度的查詢會話中的搜索詞和下載的應(yīng)用??蛇x地,所述挖掘單元,適于對于各查詢會話,將該查詢會話中的搜索詞按照順序排成一個序列;如果該序列中的一個搜索詞對應(yīng)于應(yīng)用下載操作,將所下載的應(yīng)用的名稱插入到該序列中的相應(yīng)搜索詞的后面相鄰位置,從而形成該查詢會話對應(yīng)的訓(xùn)練語料;將所有訓(xùn)練語料匯總為訓(xùn)練語料集合;利用深度學(xué)習(xí)工具包word2vec對所述訓(xùn)練語料集合進行訓(xùn)練,將每條訓(xùn)練語料看做一個單詞,為各應(yīng)用生成n維向量形式的語義表示信息,其中,n為自然數(shù)??蛇x地,所述挖掘單元,適于在利用深度學(xué)習(xí)工具包word2vec對所述訓(xùn)練語料集合進行訓(xùn)練時使用下述參數(shù):-cbow1-size300-window8-negative25-hs0-sample1e-4-threads24-binary0-iter15??蛇x地,所述識別單元,適于對各應(yīng)用,計算該應(yīng)用的n維向量與其他應(yīng)用的n維向量的余弦相似度;選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用,其中,c為自然數(shù)??蛇x地,所述識別單元,適于將所有應(yīng)用的n維向量形式的語義表示信息存儲到k-d樹中;在k-d樹中計算與目標(biāo)應(yīng)用相距在預(yù)設(shè)范圍內(nèi)的一個或多個應(yīng)用與該目標(biāo)應(yīng)用的余弦相似度??蛇x地,所述識別單元,適于從應(yīng)用搜索引擎的查詢會話日志中統(tǒng)計該應(yīng)用的下載次數(shù)s;根據(jù)預(yù)設(shè)的折線函數(shù){s1:c1;……si:ci;……sj:cj;……}和下述公式確定c的取值:其中,si≤s≤sj,ci≤c≤cj??蛇x地,該裝置還包括:篩除單元,適于對各應(yīng)用,根據(jù)該應(yīng)用的標(biāo)簽屬性,從該應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用。可選地,所述篩除單元,適于計算該應(yīng)用與目標(biāo)相似應(yīng)用的標(biāo)簽語義相似度;將標(biāo)簽語義相似度低于預(yù)設(shè)閾值的目標(biāo)相似應(yīng)用從該應(yīng)用的相似應(yīng)用集合中刪除。依據(jù)本發(fā)明的再一方面,提供了一種應(yīng)用搜索推薦服務(wù)器,包括:搜索詞接收單元,適于接收用戶輸入的搜索詞,根據(jù)所述搜索詞確定目標(biāo)應(yīng)用;推薦單元,適于從目標(biāo)應(yīng)用的相似應(yīng)用集合中獲取目標(biāo)應(yīng)用的一個或多個相似應(yīng)用,將所述目標(biāo)應(yīng)用和相似應(yīng)用推薦給用戶,其中,所述目標(biāo)應(yīng)用的相似應(yīng)用集合是通過如上述任一項所述的相似應(yīng)用的識別裝置得到的。由上述可知,本發(fā)明的技術(shù)方案,利用用戶在使用應(yīng)用搜索引擎過程中產(chǎn)生的查詢會話日志,獲取各查詢會話中的搜索詞和下載的應(yīng)用,進一步挖掘出各應(yīng)用的語義表示信息,基于此識別出應(yīng)用的相似應(yīng)用,并形成與該應(yīng)用對應(yīng)的相似應(yīng)用集合,可以用于進行應(yīng)用搜索推薦等。該技術(shù)方案采用大數(shù)據(jù)樣本機器學(xué)習(xí)的方式,從用戶的使用情況中挖掘出應(yīng)用的語義表示信息,相較于人工標(biāo)注的方式,減少作弊帶來的負面影響,顯著提高了相似應(yīng)用識別的準(zhǔn)確度,同時減少了人工成本并大大提升了效率。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據(jù)本發(fā)明一個實施例的一種相似應(yīng)用的識別方法的流程示意圖;圖2示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用搜索推薦方法的流程示意圖;圖3示出了根據(jù)本發(fā)明一個實施例的一種相似應(yīng)用的識別裝置的結(jié)構(gòu)示意圖;圖4示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用搜索推薦服務(wù)器的結(jié)構(gòu)示意圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。圖1示出了根據(jù)本發(fā)明一個實施例的一種相似應(yīng)用的識別方法的流程示意圖,如圖1所示,該方法包括:步驟s110,從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用。這里的應(yīng)用搜索引擎可以是移動端提供的應(yīng)用搜索引擎服務(wù),例如當(dāng)前的各類應(yīng)用商店中都提供了應(yīng)用搜索功能,其中就是利用了應(yīng)用搜索引擎。用戶在搜索框中輸入查詢詞,就可以獲得應(yīng)用搜索服務(wù)器返回的推薦應(yīng)用。其中用戶輸入搜索詞和用戶下載應(yīng)用這兩種行為對于挖掘應(yīng)用的語義表示信息有著很高的價值。例如用戶在搜索“360”這一搜索詞后,下載了“360手機助手”這一應(yīng)用,那么說明“360”與“360手機助手”的相關(guān)性是很高的,也就是語義關(guān)聯(lián)性強。又例如用戶在搜索“訂餐”這一搜索詞后,下載了“餓了么”、“百度外賣”和“美團外賣”這三個應(yīng)用,說明這三個應(yīng)用的相關(guān)性也很高,語義關(guān)聯(lián)性也很強?;谶@一特點,本發(fā)明提出了從應(yīng)用搜索引擎的查詢會話日志(sessionlog)中挖掘應(yīng)用語義表示信息的技術(shù)方案。步驟s120,根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息。步驟s130,根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用,將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合??梢姡瑘D1所示的方法,利用用戶在使用應(yīng)用搜索引擎過程中產(chǎn)生的查詢會話日志,獲取各查詢會話中的搜索詞和下載的應(yīng)用,進一步挖掘出各應(yīng)用的語義表示信息,基于此識別出應(yīng)用的相似應(yīng)用,并形成與該應(yīng)用對應(yīng)的相似應(yīng)用集合,可以用于進行應(yīng)用搜索推薦等。該技術(shù)方案采用大數(shù)據(jù)樣本機器學(xué)習(xí)的方式,從用戶的使用情況中挖掘出應(yīng)用的語義表示信息,相較于人工標(biāo)注的方式,減少作弊帶來的負面影響,顯著提高了相似應(yīng)用識別的準(zhǔn)確度,同時減少了人工成本并大大提升了效率。在本發(fā)明的一個實施例中,上述方法中,從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用包括:從應(yīng)用搜索引擎的查詢會話日志中,獲取符合預(yù)設(shè)時間長度的查詢會話中的搜索詞和下載的應(yīng)用。一方面,考慮到用戶輸入搜索詞——瀏覽搜索結(jié)果——下載應(yīng)用這一過程如果要確保搜索詞與下載的應(yīng)用之間的語義關(guān)聯(lián)性較強,那么就需要確保這一過程的時間不會太長。例如用戶上周輸入的搜索詞和這周下載的應(yīng)用一般而言沒什么關(guān)聯(lián)性。一種方法是將session按天為單位進行組織,這是考慮到用戶在一天內(nèi)提交的搜索詞之間有很強的語義關(guān)聯(lián),搜索的需求較窄,只尋找某個單一功能的應(yīng)用,往往圍繞著一個單一需求不斷改寫搜索詞,這是應(yīng)用搜索引擎的一個重要特征,也是垂直搜索領(lǐng)域的一個共有特征。另一方面,在樣本數(shù)據(jù)的選取上,樣本數(shù)量越大,挖掘處的語義表示信息也會越準(zhǔn)確,但是挖掘時間也會較長。一種方法是選用一年內(nèi)的sessionlog作為樣本進行挖掘。在本發(fā)明的一個實施例中,上述方法中,根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息包括:對于各查詢會話,將該查詢會話中的搜索詞按照順序排成一個序列;如果該序列中的一個搜索詞對應(yīng)于應(yīng)用下載操作,將所下載的應(yīng)用的名稱插入到該序列中的相應(yīng)搜索詞的后面相鄰位置,從而形成該查詢會話對應(yīng)的訓(xùn)練語料;將所有訓(xùn)練語料匯總為訓(xùn)練語料集合;利用深度學(xué)習(xí)工具包word2vec對訓(xùn)練語料集合進行訓(xùn)練,將每條訓(xùn)練語料看做一個單詞,為各應(yīng)用生成n維向量形式的語義表示信息,其中,n為自然數(shù)。一個session是用戶在某個時間段內(nèi)的連續(xù)行為記錄。以上文提及的一天為例,那么與一個用戶對應(yīng)的一個session按時間先后順序記錄了該用戶在一天內(nèi)輸入的搜索詞和下載行為。那么首先從該session中提取出所有搜索詞,按記錄的順序(也就是時間順序)排成一個序列。如果用戶在輸入一個搜索詞后進行了應(yīng)用下載,也就是該搜索詞對應(yīng)于應(yīng)用下載操作,那么就將下載的應(yīng)用的名稱插入到該序列中的相應(yīng)搜索詞的后面相鄰位置,如果有多個,那么也按照時間順序進行排列。例如:一個session中記錄了query1、query2、query3這三個搜索詞,用戶在提交query2后下載了一個app1,在提交query3后下載了一個app2、app3,把app1拼寫在query2后、query3前面,app2、app3拼接在query3后面,那么最終得到的與該session對應(yīng)的訓(xùn)練語料為query1、query2、app1、query3、app2、app3。表1示出了十條訓(xùn)練語料的示例:表1以某應(yīng)用搜索引擎一年獲取到的sessionlog作為樣本數(shù)據(jù)為例,這樣大概得到了十億條訓(xùn)練語料。可以看出,雖然使用了與全網(wǎng)用戶的sessionlog,但同一個session中的相同query不做去重處理,不同session中的相同query也不合并,總之不同的session之間沒有任何關(guān)系。最后可以將將所有訓(xùn)練語料匯總為訓(xùn)練語料集合,例如將上面得到的十億條訓(xùn)練語料存儲到txt文檔中。然后,利用深度學(xué)習(xí)工具包word2vec對訓(xùn)練語料集合進行訓(xùn)練,將每條訓(xùn)練語料看做一個單詞,為各應(yīng)用生成n維向量形式的語義表示信息,其中,n為自然數(shù)。也就是說,雖然一條訓(xùn)練語料可能包含多個搜索詞和多個下載的應(yīng)用的名稱,但是不分詞,將query和app名稱作為一個單詞看待。在一個實施例中,實現(xiàn)了為每個query和app生成一個300維的向量,作為語義表示信息。具體地,利用深度學(xué)習(xí)工具包word2vec對訓(xùn)練語料集合進行訓(xùn)練使用下述參數(shù):-cbow1-size300-window8-negative25-hs0-sample1e-4-threads24-binary0-iter15。最終得到約600萬條app和query的語義表示信息,一些例子見表2所示。表2其中,對本發(fā)明技術(shù)方案更為有用的是應(yīng)用的語義表示信息。在得到了各應(yīng)用的語義表示信息后,可以基于此對目標(biāo)應(yīng)用識別出一個或多個相似應(yīng)用。具體方法可以有很多種,下面給出了一種根據(jù)各應(yīng)用的語義表示信息識別出應(yīng)用的一個或多個相似應(yīng)用的實施例:根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用包括:對各應(yīng)用,計算該應(yīng)用的n維向量與其他應(yīng)用的n維向量的余弦相似度;將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合包括:選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用,其中,c為自然數(shù)。計算余弦相似度的方法可以采用通用的方法,而且很容易知道,兩個應(yīng)用語義表示信息(n維向量)的余弦相似度越高,那么依據(jù)本發(fā)明的技術(shù)方案,兩個應(yīng)用相似度也就越高。下面的表3給出了與應(yīng)用“沈陽公交查詢”的余弦相似度最高的前20個應(yīng)用示例,表4給出了與應(yīng)用“滴滴打車”的余弦相似度最高的前30個應(yīng)用示例。需要說明的是,為了使得本發(fā)明的技術(shù)方案更加明晰,在實施例中使用了一些實際存在的應(yīng)用名稱,本發(fā)明不對這些應(yīng)用進行任何商業(yè)性的推薦和評價,僅用于說明本發(fā)明技術(shù)方案所實現(xiàn)的技術(shù)效果。表3表4表4(續(xù))找乘客360161317.750.435478嘀嗒拼車2331319.30.625456易達出租車509201325.540.438984打車助手958561330.660.466033由于以常規(guī)方法計算余弦相似度的復(fù)雜度較高,下面的實施例中還提供了一種提供余弦相似度計算效率的方法:在本發(fā)明的一個實施例中中,對各應(yīng)用,計算其與其他應(yīng)用的余弦相似度包括:將所有應(yīng)用的n維向量形式的語義表示信息存儲到k-d樹中;在k-d樹中計算與目標(biāo)應(yīng)用相距在預(yù)設(shè)范圍內(nèi)的一個或多個應(yīng)用與該目標(biāo)應(yīng)用的余弦相似度。k-d樹(k-dimensionaltree),是一種分割k維數(shù)據(jù)空間的數(shù)據(jù)結(jié)構(gòu)。在本實施例中將n維向量形式的語義表示信息存儲到k-d樹中,只需要針對k-d樹中局部區(qū)域內(nèi)的一小部分app進行計算,大幅度降低了聚類相似應(yīng)用的時間復(fù)雜度,這也是基于“識別相似應(yīng)用”這一需求進行選擇的。這樣最終可以實現(xiàn)的效果是:對于熱門應(yīng)用,相似度最高的前15個應(yīng)用的識別準(zhǔn)確度可以達到84.4%,相比于現(xiàn)有技術(shù)能夠?qū)崿F(xiàn)的70%的相似應(yīng)用的識別準(zhǔn)確度有了顯著提升。通過進一步觀察可以發(fā)現(xiàn),如表4中示出了“滴滴課堂”和“滴滴找房”這兩個應(yīng)用作為“滴滴打車”的相似應(yīng)用,然而這兩個應(yīng)用的功能并不同于“滴滴打車”。因此如果能對結(jié)果進行進一步的過濾,就能進一步提升相似應(yīng)用的識別準(zhǔn)確度。在本發(fā)明的一個實施例中,上述方法還包括:對各應(yīng)用,根據(jù)該應(yīng)用的標(biāo)簽屬性,從該應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用。其中,應(yīng)用的標(biāo)簽屬性可以是通過預(yù)先構(gòu)建的標(biāo)簽體系得到的。下面對構(gòu)建各應(yīng)用的標(biāo)簽體系的過程進行一些介紹。在一個實施例中,構(gòu)建標(biāo)簽體系包括:獲取各應(yīng)用的摘要;從應(yīng)用搜索日志中獲取關(guān)于各應(yīng)用的搜索詞;根據(jù)各應(yīng)用的摘要、搜索詞以及預(yù)設(shè)策略,挖掘出各應(yīng)用的標(biāo)簽體系。具體地,根據(jù)各應(yīng)用的摘要、搜索詞以及預(yù)設(shè)策略,挖掘出各應(yīng)用的標(biāo)簽體系包括:根據(jù)各應(yīng)用的摘要和搜索詞,獲得訓(xùn)練語料集合;將訓(xùn)練語料集合輸入至lda模型中進行訓(xùn)練,得到lda模型輸出的應(yīng)用-主題概率分布結(jié)果以及主題-關(guān)鍵詞概率分布結(jié)果;根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到各應(yīng)用的標(biāo)簽體系。需要說明的是,lda(latentdirichletallocation)是一種文檔主題生成模型,它是一種非監(jiān)督機器學(xué)習(xí)技術(shù),可以用來識別大規(guī)模文檔集(documentcollection)或語料庫(corpus)中潛藏的主題信息。它采用了詞袋(bagofwords)的方法,這種方法將每一篇文檔視為一個詞頻向量,從而將文本信息轉(zhuǎn)化為了易于建模的數(shù)字信息。由于lda模型在長文本中表現(xiàn)較好,用在短文本上效果差,但是應(yīng)用摘要很短小,是一種典型的短文本,為了使lda模型的應(yīng)用效果達到最佳,引入應(yīng)用與用戶的交互歷史(即搜索詞,下文均稱為搜索詞)信息對應(yīng)用摘要進行擴展,即將應(yīng)用摘要的短文本擴展成適于lda模型的長文本。其中,搜索詞不僅包含引擎能檢索到該應(yīng)用的詞項,還包括其他詞項,這些詞項恰好克服了應(yīng)用摘要短文本長度過短帶來的同義異形詞頻次過低等問題。在本實施例中,lda模型選用gibbslda++版。在移動終端應(yīng)用的應(yīng)用場景下需要修改一下gibbslda++源代碼,將一個應(yīng)用中同一個詞項的主題初始化為同一個。在原來的代碼中是每一個詞項都隨機初始化成一個主題,導(dǎo)致同一個重復(fù)詞項會初始化為多個主題,因為在移動終端應(yīng)用場景下,一個應(yīng)用的標(biāo)簽往往都是明確的,鮮有歧義性,所以同一個詞項初始化成同一個主題符合移動終端應(yīng)用的應(yīng)用場景,也能改善lda模型的效果。為了使上述方案更加清晰,在這里,對提到的lda模型輸出的應(yīng)用-主題概率分布結(jié)果以及主題-關(guān)鍵詞概率分布結(jié)果進行詳細的舉例說明。例如,lda訓(xùn)練選擇120個主題,迭代300輪,生成兩個文件,其中,第一個文件是主題-關(guān)鍵詞概率分布結(jié)果,如表5所示,示出了第四個主題分別與22個關(guān)鍵詞之間的對應(yīng)概率:表5表5(續(xù))語言0.018487字典0.018359韓語0.016300聽力0.015541法語0.013121翻譯0.011656四級0.010752語法0.010719德語0.009846短語0.009667句子0.008547記憶0.008033漢語0.007244第二個文件是應(yīng)用-主題概率分布結(jié)果,如表6所示,示出了應(yīng)用id為5427的應(yīng)用分別與6個主題(主題id分別為134、189、139、126、14、18)之間的對應(yīng)概率。表6為了使上述方案更加清楚,下面結(jié)合一個具體的例子進行說明。例如“微信”的摘要包括“微信(wechat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務(wù)的免費應(yīng)用程序。微信支持跨通信運營商、跨操作系統(tǒng)平臺通過網(wǎng)絡(luò)快速發(fā)送免費(需消耗少量網(wǎng)絡(luò)流量)語音短信、視頻、圖片和文字”,微信的搜索詞包括“微信、免費的即時通訊、騰訊、朋友圈、公眾平臺、消息推送、搖一搖、附近的人、掃二維碼方式添加好友、多人通話”。那么訓(xùn)練語料集合包括上述“微信”的所有摘要內(nèi)容和“微信”的搜索詞的所有內(nèi)容;將的訓(xùn)練語料集合輸入的lda模型中進行訓(xùn)練,如果lda模型針對“微信”的訓(xùn)練語料集合生成的主題包括社交,生成的關(guān)鍵字包括聊天、語音、電話、電話本、社交、交友、通訊、通訊錄、朋友,那么得到lda模型輸出的該應(yīng)用-主題概率分布結(jié)果包括p1.1(微信-社交);得到lda模型輸出的該主題-關(guān)鍵詞分布結(jié)果為p2.1(微信-聊天)、p2.2(微信-語音)、p2.3(微信-電話)、p2.4(微信-電話本)、p2.5(微信-社交)、p2.6(微信-交友)、p2.7(微信-通訊)、p2.8(微信-通訊錄)、p2.9(微信-朋友);根據(jù)的p1.1(微信-社交)和p2.1(微信-聊天)、p2.2(微信-語音)、p2.3(微信-電話)、p2.4(微信-電話本)、p2.5(微信-社交)、p2.6(微信-交友)、p2.7(微信-通訊)、p2.8(微信-通訊錄)、p2.9(微信-朋友)計算得到微信的標(biāo)簽體系如表7所示。表7由此可知,根據(jù)各應(yīng)用的摘要和搜索詞,獲得訓(xùn)練語料集合,然后通過lda模型對獲取的訓(xùn)練語料集合進行處理,并生成相應(yīng)的應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,進而根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到各應(yīng)用的標(biāo)簽體系,實現(xiàn)了對應(yīng)用內(nèi)容或者功能描述文本的比較全面、準(zhǔn)確的表示。由于在現(xiàn)有應(yīng)用的實際推廣中,應(yīng)用的標(biāo)簽直接由開發(fā)者提交,在提交應(yīng)用標(biāo)簽的過程中,應(yīng)用的開發(fā)者為了讓自己的應(yīng)用得到廣大客戶的安裝和使用,在應(yīng)用的標(biāo)簽描述中提交了大量的與應(yīng)用無關(guān)的內(nèi)容,導(dǎo)致虛假信息標(biāo)簽現(xiàn)象長期存在,嚴(yán)重影響了應(yīng)用搜索引擎的搜索質(zhì)量,大大降低了用戶搜索體驗,為了解決這個問題,在一個實施例中,根據(jù)各應(yīng)用的摘要和搜索詞,獲得訓(xùn)練語料集合包括:對于每個應(yīng)用,從該應(yīng)用的摘要中提取首段文字或前預(yù)設(shè)數(shù)量個句子的文字;將提取出的文字與該應(yīng)用的搜索詞共同作為該應(yīng)用的原始語料;各應(yīng)用的原始語料構(gòu)成原始語料集合;對原始語料集合進行預(yù)處理,獲得訓(xùn)練語料集合。例如,針對“微信”這個應(yīng)用,獲取“微信”的摘要包括:“微信是一款社交軟件。微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關(guān)注公眾平臺,同時微信將內(nèi)容分享給好友以及將用戶看到的精彩內(nèi)容分享到微信朋友圈。微信支持跨通信運營商、跨操作系統(tǒng)平臺通過網(wǎng)絡(luò)快速發(fā)送免費(需消耗少量網(wǎng)絡(luò)流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內(nèi)容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、“公眾平臺”、“語音記事本”等服務(wù)插件。截止到2015年第一季度,微信已經(jīng)覆蓋中國90%以上的智能手機,月活躍用戶達到5.49億,用戶覆蓋200多個國家、超過20種語言。此外,各品牌的微信公眾賬號總數(shù)已經(jīng)超過800萬個,移動應(yīng)用對接數(shù)量超過85000個,微信支付用戶則達到了4億左右。”從上述的“微信”的摘要中提取前一句話包括“微信是一款社交軟件”,同時獲取“微信”的搜索詞包括“聊天、語音、電話、電話本、社交、交友、通訊、通訊錄、朋友”,將上述的“微信是一款社交軟件”和“聊天、語音、電話、電話本、社交、交友、通訊、通訊錄、朋友”作為“微信”的原始語料;通過獲取“微信”原始語料的方式獲取其他應(yīng)用的原始預(yù)料,所有應(yīng)用的原始語料構(gòu)成原始語料集合;對原始語料集合進行預(yù)處理,獲得訓(xùn)練語料集合。具體地,對原始語料集合進行預(yù)處理包括:在原始語料集合中,對于每個原始語料,對原始語料進行分詞處理,得到包含多個詞項的分詞結(jié)果;查找由分詞結(jié)果中的相鄰詞項構(gòu)成的短語;保留短語、分詞結(jié)果中屬于名詞的詞項和屬于動詞的詞項,作為該原始語料對應(yīng)保留的關(guān)鍵詞。例如,在原始語料集合中,“微信”的原始語料集合為“微信是一款社交軟件、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,對“微信”的原始語料進行分詞處理,得到包含多個詞項的分詞結(jié)果包括“微信、是、一款、社交、軟件、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,查找由分詞結(jié)果中的相鄰詞項構(gòu)成的短語包括“微信、一款、社交、軟件、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,保留短語、分詞結(jié)果中屬于名詞的詞項和屬于動詞的詞項,作為該原始語料對應(yīng)保留的關(guān)鍵詞,則“微信”的關(guān)鍵詞包括“微信、社交、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”。其中,為了判斷是否構(gòu)成一個短語,通過計算兩個前后詞項的緊密度來實現(xiàn),在一個實施例中,查找由分詞結(jié)果中的相鄰詞項構(gòu)成的短語包括:計算分詞結(jié)果中的每兩個相鄰詞項的cpmid值,當(dāng)兩個相鄰詞項的cpmid值大于第一預(yù)設(shè)閾值時,確定這兩個相鄰詞項構(gòu)成短語。例如,設(shè)定第一預(yù)設(shè)閾值為5,獲取“百度地圖”的分詞結(jié)果為“省、流量、公交、換乘”,采用cpmid計算方式計算“省、流量”、“流量、公交”和“公交、換乘”的cpmid值,如果計算得到“省、流量”、“公交、換乘”的cpmid值大于5,那么確定“省、流量”、“公交、換乘”構(gòu)成短語“省流量”、“公交換乘”,如果如果計算得到“流量、公交”cpmid值小于5,那么確定“流量、公交”不能構(gòu)成短語。需要說明的是,cpmid計算方式如公式1所示,公式1中,δ=0.7,d(x,y)表示兩個詞項x、y的共現(xiàn)頻數(shù),d(x)表示詞項x的出現(xiàn)頻數(shù),d(y)表示詞項y的出現(xiàn)頻數(shù),d表示總的應(yīng)用數(shù)量。進一步地,在一個實施例中,對原始語料集合進行預(yù)處理還包括:將每個應(yīng)用的原始物料對應(yīng)保留的關(guān)鍵詞作為該應(yīng)用的第一階段訓(xùn)練語料;各應(yīng)用的第一階段訓(xùn)練語料構(gòu)成第一階段訓(xùn)練語料集合;對第一階段訓(xùn)練語料集合中的關(guān)鍵詞進行數(shù)據(jù)清洗。具體地,由于在百萬量級的應(yīng)用中,一個特高頻出現(xiàn)的詞項是標(biāo)簽的概率較小,同樣一個低頻出現(xiàn)的詞項是標(biāo)簽的可能性也較小,因此我們的數(shù)據(jù)清洗過程可以是將特高頻出現(xiàn)的關(guān)鍵詞和特低頻出現(xiàn)的關(guān)鍵詞過濾掉。例如,“微信”的原始物料對應(yīng)保留的關(guān)鍵詞關(guān)鍵詞包括“微信、社交、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,那么將“微信、社交、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”作為“微信”的第一階段訓(xùn)練語料;那么所有應(yīng)用的第一階段訓(xùn)練語料就構(gòu)成了第一階段訓(xùn)練語料集合,并對第一階段訓(xùn)練語料集合中的關(guān)鍵詞進行數(shù)據(jù)清洗,過濾掉第一階段訓(xùn)練語料集合中低頻出現(xiàn)的詞項,進而提高了應(yīng)用搜索引擎的質(zhì)量。為了過濾掉第一階段訓(xùn)練語料集合中特高頻出現(xiàn)的關(guān)鍵詞和特低頻出現(xiàn)的關(guān)鍵詞,在一個實施例中,對第一階段訓(xùn)練語料集合中的關(guān)鍵詞進行數(shù)據(jù)清洗包括:在第一階段訓(xùn)練語料集合中,對于每個第一階段訓(xùn)練語料,計算第一階段訓(xùn)練語料中的每個關(guān)鍵詞的tf-idf值;將tf-idf值高于第二預(yù)設(shè)閾值和/或低于第三預(yù)設(shè)閾值的關(guān)鍵詞刪除。上述過程中,采用tf-idf計算公式計算第一階段訓(xùn)練語料中的每個關(guān)鍵詞的tf-idf值,實現(xiàn)對數(shù)據(jù)的進一步清洗。例如,“微信”的第一階段訓(xùn)練語料包括“微信、社交、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,利用tf-idf的計算公式,計算“微信”的第一階段訓(xùn)練語料中計算每個詞項、短語的tf-idf值,得到tf-idf(微信)、tf-idf(社交)、tf-idf(聊天)、tf-idf(語音)、tf-idf(打電話)、tf-idf(電話本)、tf-idf(社交)、tf-idf(交友)、tf-idf(通訊)、tf-idf(通訊錄)、tf-idf(朋友);如果tf-idf(通訊)、tf-idf(通訊錄)、tf-idf(朋友)高于第二預(yù)設(shè)閾值和/或低于第三預(yù)設(shè)閾值,那么將“通訊、通訊錄、朋友”刪除。需要說明的是,的第二預(yù)設(shè)閾值和/或低于第三預(yù)設(shè)閾值與具體語料有關(guān),此處不列出具體閥值。同時之所以應(yīng)用tf-idf對數(shù)據(jù)進行清洗是因為tf-idf可以很好地評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度,完全滿足了數(shù)據(jù)清洗的需要。tf-idf的計算公式如下:公式2中,count(w,app)是詞項w在app中詞頻,count(w,corpus)是w在語料中詞頻,ncorpus是總的app數(shù)量,app_count(w)是包含詞項w的app數(shù)量進一步地,在一個實施例中,對原始語料集合進行預(yù)處理還包括:將每個應(yīng)用的第一階段訓(xùn)練語料經(jīng)數(shù)據(jù)清洗后剩余的關(guān)鍵詞作為該應(yīng)用的第二階段訓(xùn)練語料;對于每個應(yīng)用的第二階段訓(xùn)練語料,當(dāng)該應(yīng)用的第二階段訓(xùn)練語料中的一個關(guān)鍵詞在該應(yīng)用的名稱中出現(xiàn)時,將該關(guān)鍵詞在該應(yīng)用的第二階段訓(xùn)練語料中重復(fù)第四預(yù)設(shè)閾值次數(shù),得到該應(yīng)用的訓(xùn)練語料;各應(yīng)用的訓(xùn)練語料構(gòu)成訓(xùn)練語料集合。例如,“微信”的第一階段訓(xùn)練語料包括“微信、社交、聊天、語音、打電話、電話本、社交、交友、通訊、通訊錄、朋友”,經(jīng)數(shù)據(jù)清洗處理去除“通訊、通訊錄、朋友”,那么剩余的關(guān)鍵詞包括“微信、社交、聊天、語音、打電話、電話本、社交、交友”即為“微信”的第二階段訓(xùn)練語料;在分析第二階段語料時發(fā)現(xiàn),表達應(yīng)用功能或類別的標(biāo)簽往往在名字中出現(xiàn),如“嘀嘀打車”中的“打車”、“口碑外賣”中的“外賣”、“凹凸租車”中的”租車”、“百度地圖”中的“地圖”等,為了突出這一類重要標(biāo)簽,在每個應(yīng)用的語料中,重復(fù)列舉在應(yīng)用名字中出現(xiàn)的詞項三次,將cpmid值高于10.0的短語也同樣重復(fù)三次,以提高這些潛在重要短語標(biāo)簽的出現(xiàn)頻次,至此,lda主題模型的訓(xùn)練語料集合構(gòu)造完成,訓(xùn)練語料集合保存在文件app_corpus_seg_nouns_verb_phrase_filtered_repeat.txt中。在一個實施例中,根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到各應(yīng)用的標(biāo)簽體系包括:根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到應(yīng)用-關(guān)鍵詞概率分布結(jié)果;根據(jù)應(yīng)用-關(guān)鍵詞概率分布結(jié)果,對于每個應(yīng)用,將關(guān)鍵詞按照關(guān)于該應(yīng)用的概率從大到小排序,選取前第五預(yù)設(shè)閾值數(shù)目的關(guān)鍵詞。例如,將第五預(yù)設(shè)閾值設(shè)定為8,lda模型輸出的是每個應(yīng)用下的主題概率分布,以及每個主題下的詞項概率分布。為了得到每個應(yīng)用的標(biāo)簽,分別對主題概率分布、關(guān)鍵詞概率分布按照概率從大到小逆序排序,選擇每個應(yīng)用下前50個主題,每個主題下選擇前120個關(guān)鍵詞,關(guān)鍵詞的概率使用主題的概率進行加權(quán)排序,每個應(yīng)用關(guān)鍵詞都有一個權(quán)重,表示在該應(yīng)用下的重要性,按照這個標(biāo)簽權(quán)重逆序排序,并選取前8個關(guān)鍵詞,就得到了lda產(chǎn)生的標(biāo)簽列表,含有不少噪音,標(biāo)簽的順序也不準(zhǔn)確,如表8所示。表8其中,根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到應(yīng)用-關(guān)鍵詞概率分布結(jié)果包括:對于每個應(yīng)用,根據(jù)應(yīng)用-主題概率分布結(jié)果得到各主題關(guān)于該應(yīng)用的概率;對于每個主題,根據(jù)主題-關(guān)鍵詞概率分布結(jié)果得到各關(guān)鍵詞關(guān)于該主題的概率;則對于每個關(guān)鍵詞,將該關(guān)鍵詞關(guān)于一個主題的概率與該主題關(guān)于一個應(yīng)用的概率的乘積作為該關(guān)鍵詞基于該主題的關(guān)于應(yīng)用的概率;將該關(guān)鍵詞基于各主題關(guān)于應(yīng)用的概率之和作為該關(guān)鍵詞關(guān)于應(yīng)用的概率。例如,一個應(yīng)用c的關(guān)鍵詞為a,該關(guān)鍵詞a對應(yīng)的主題包括b1、b2和b3,該關(guān)鍵詞a關(guān)于一個主題b1的概率為p(a_b1),該主題b1關(guān)于一個應(yīng)用c的概率為p(b1_c),那么p(a_b1)*p(b1_c)就是關(guān)鍵詞a基于主題b1關(guān)于應(yīng)用c的概率;那么p(a_b2)*p(b2_c)就是關(guān)鍵詞a基于主題b2關(guān)于應(yīng)用c的概率;p(a_b3)*p(b3_c)就是關(guān)鍵詞a基于主題b2關(guān)于應(yīng)用c的概率,那么該關(guān)鍵詞a關(guān)于應(yīng)用c的概率p(a_c)=p(a_b1)*p(b1_c)+p(a_b2)*p(b2_c)+p(a_b3)*p(b3_c)。則在此基礎(chǔ)上、進一步地在一個實施例中,根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到各應(yīng)用的標(biāo)簽體系還包括:將每個應(yīng)用對應(yīng)選取的前第五預(yù)設(shè)閾值數(shù)目的關(guān)鍵詞作為該應(yīng)用的第一階段標(biāo)簽體系;對于每個應(yīng)用的第一階段標(biāo)簽體系,計算該應(yīng)用的第一階段標(biāo)簽體系中的每個關(guān)鍵詞與該應(yīng)用的摘要之間的語義關(guān)系值;對于每個關(guān)鍵詞,將該關(guān)鍵詞對應(yīng)的語義關(guān)系值與該關(guān)鍵詞關(guān)于該應(yīng)用的概率的乘積作為該關(guān)鍵詞關(guān)于該應(yīng)用的修正概率;將該應(yīng)用的第一階段標(biāo)簽體系中的各關(guān)鍵詞按照關(guān)于該應(yīng)用的修正概率從大到小排序,選取前k個關(guān)鍵詞構(gòu)成該應(yīng)用的標(biāo)簽體系。例如,假設(shè)第五預(yù)設(shè)閾值為3,“百度地圖”對應(yīng)選取的前第五預(yù)設(shè)閾值數(shù)目的關(guān)鍵詞包括“地圖、搜索和導(dǎo)航”,那么將“地圖、搜索和導(dǎo)航”作為“百度地圖”的第一階段標(biāo)簽體系;對于“百度地圖”的第一階段標(biāo)簽體系,計算“百度地圖”中第一階段標(biāo)簽體系“地圖、搜索和導(dǎo)航”中的每個關(guān)鍵詞與“百度地圖”的摘要之間的語義關(guān)系值分別為r1、r2和r3;計算“百度地圖”中第一階段標(biāo)簽體系“地圖、搜索和導(dǎo)航”中的每個關(guān)鍵詞與“百度地圖”的概率為p1、p2和p3;那么將r1*p1、r2*p2和r3*p3作為“百度地圖”的修正概率,如果r1*p1>r3*p3>r2*p2,那么“百度地圖”的第一階段標(biāo)簽體系中的各關(guān)鍵詞的順序為“地圖、導(dǎo)航和搜索”,如果選取2個關(guān)鍵字構(gòu)成該應(yīng)用的標(biāo)簽體系,那么“百度地圖”的標(biāo)簽體系包括“地圖和導(dǎo)航”其中具體地,計算該應(yīng)用的第一階段標(biāo)簽體系中的每個關(guān)鍵詞與該應(yīng)用的摘要之間的語義關(guān)系值包括:計算該關(guān)鍵詞的詞向量,計算該應(yīng)用的摘要的前預(yù)設(shè)數(shù)量個句子中的每個詞項的詞向量;計算該關(guān)鍵詞的詞向量與每個詞項的詞向量之間的余弦相似度,將每個余弦相似度與相應(yīng)詞項所在句子的權(quán)重的乘積作為該關(guān)鍵詞與相應(yīng)詞項的語義關(guān)系值;將該關(guān)鍵詞與各詞項的語義關(guān)系值之和作為該關(guān)鍵詞與該應(yīng)用的摘要之間的語義關(guān)系值。例如,首先從應(yīng)用搜索引擎搜索日志中獲取的搜索詞集合,作為訓(xùn)練詞向量的輸入數(shù)據(jù),訓(xùn)練得到一份300維詞向量詞典文件tag_query_w2v_300.dict。如果“百度地圖”的關(guān)鍵詞包括“地圖、搜索和導(dǎo)航”,計算“地圖”的詞向量為m1;計算“百度地圖”的摘要前3個句子中的每個詞項的詞向量分別為n1、n2和n3;計算“地圖”的詞向量與百度地圖”的摘要前個句子中的每個詞項的詞向量的余弦相似度得到“cosm1*n1”、“cosm1*n2”和“cosm1*n3”;相應(yīng)詞項所在句子的權(quán)重為q1和q2;那么該關(guān)鍵詞與相應(yīng)詞項的語義關(guān)系值分別為“q1*cosm1*n1”和“q2*cosm1*n2”;那么“q1*cosm1*n1+q2*cosm1*n2+q3*cosm1*n3”作為“地圖”與“百度地圖”摘要之間的語義關(guān)系值。進一步地,在一個實施例中,根據(jù)應(yīng)用-主題概率分布結(jié)果和主題-關(guān)鍵詞概率分布結(jié)果,計算得到各應(yīng)用的標(biāo)簽體系還包括:將每個應(yīng)用對應(yīng)選取的關(guān)鍵詞作為該應(yīng)用的第二階段標(biāo)簽體系;對于每個應(yīng)用的第二階段標(biāo)簽體系,從應(yīng)用搜索日志中獲取關(guān)于該應(yīng)用的下載操作的搜索詞集合,統(tǒng)計該應(yīng)用的第二階段標(biāo)簽體系中的每個關(guān)鍵詞在搜索詞集合中的df值;對于每個關(guān)鍵詞,在該關(guān)鍵詞關(guān)于該應(yīng)用的概率的基礎(chǔ)上增加df值的倍數(shù)得到該關(guān)鍵詞關(guān)于該應(yīng)用的二次修正概率;將該應(yīng)用的第二階段標(biāo)簽體系中的各關(guān)鍵詞按照關(guān)于該應(yīng)用的二次修正概率從大到小排序,選取前k個關(guān)鍵詞構(gòu)成該應(yīng)用的標(biāo)簽體系。例如,挖掘到下載“百度地圖”的歷史搜索詞集合包括“地圖、搜索和導(dǎo)航”,計算得到關(guān)鍵詞“地圖”在“百度地圖”的歷史搜索詞集合的df值為df1,計算關(guān)鍵詞“搜索”在“百度地圖”的歷史搜索詞集合的df值為df2,計算關(guān)鍵詞“導(dǎo)航”在“百度地圖”的歷史搜索詞集合的df值為df3;計算“地圖”、“搜索”和“導(dǎo)航”關(guān)于“百度地圖”的初始概率為p1、p2和p3;那么關(guān)鍵詞“地圖”關(guān)于“百度地圖”的二次修正概率為p1*(1+df1);關(guān)鍵詞“搜索”關(guān)于“百度地圖”的二次修正概率為p2*(1+df2);關(guān)鍵詞“導(dǎo)航”關(guān)于“百度地圖”的二次修正概率為p3*(1+df3)。如果p3*(1+df3)>p1*(1+df1)>p2*(1+df2),那么“百度地圖”的關(guān)鍵詞的順序調(diào)整為“地圖、導(dǎo)航和搜索”,如果選取前兩個關(guān)鍵詞構(gòu)成“百度地圖”的標(biāo)簽體系,那么“百度地圖”的標(biāo)簽體系包括“地圖、導(dǎo)航”。經(jīng)過上述方法的調(diào)整后“百度地圖”的標(biāo)簽次序準(zhǔn)確率大幅度提升。對“口碑外賣”和“百度地圖”進行一次修正的結(jié)果如表9所示,表9對“口碑外賣”和“百度地圖”進行二次修正的結(jié)果如表10所示:表10通過表9和表10的對比,我們可以看出,經(jīng)過二次修正后,應(yīng)用的標(biāo)簽次序準(zhǔn)確率大幅度提升。在一個具體的例子中,選取前k個關(guān)鍵詞構(gòu)成該應(yīng)用的標(biāo)簽體系包括:從應(yīng)用搜索日志中獲取關(guān)于該應(yīng)用的季度下載次數(shù);根據(jù)該應(yīng)用的季度下載次數(shù)選取前k個關(guān)鍵詞構(gòu)成該應(yīng)用的標(biāo)簽體系;其中k值作為該應(yīng)用的季度下載次數(shù)的折線函數(shù)。在實際應(yīng)用中發(fā)現(xiàn)應(yīng)用的標(biāo)簽列表,標(biāo)簽的@k準(zhǔn)確率與應(yīng)用是否熱門有關(guān),季度下載次數(shù)恰好反映是否熱門,每個應(yīng)用保留了三個到十五個不等的標(biāo)簽,準(zhǔn)確率92%,召回率76%,數(shù)量與季度下載次數(shù)成正比。典型例子如表11所示。表11通過上述方法構(gòu)建的標(biāo)簽體系,就可以得到應(yīng)用的標(biāo)簽屬性,進一步從應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用。具體可以包括:計算該應(yīng)用與目標(biāo)相似應(yīng)用的標(biāo)簽語義相似度;將標(biāo)簽語義相似度低于預(yù)設(shè)閾值的目標(biāo)相似應(yīng)用從該應(yīng)用的相似應(yīng)用集合中刪除。在本實施例中,可以采用計算兩個應(yīng)用標(biāo)簽屬性的杰卡德相似系數(shù)(jaccardsimilarity)來計算兩個應(yīng)用的標(biāo)簽語義相似度從而進行篩除,但拓展性較為一般。一種拓展性更優(yōu)的計算方法是基于樹結(jié)構(gòu)的算法(下稱srmtagnet算法),下面簡單進行介紹。tagnet是一個多棵樹構(gòu)成的森林,包含了通過上述方案得到的標(biāo)簽(tag)屬性。計算語義相似度我們可以采用兩個算法:基于路徑距離的算法、基于信息量的語義距離算法。首先,基于路徑距離的算法如下:兩個tag詞在tagnet中的路徑越遠相似性越小,計算公式見公式3,兩個tag不在一個樹中時,len(t1,t2)設(shè)置為2*deep_max。上為公式3:路徑距離的相似性計算方法?!翱ㄜ嚒焙汀巴诰颉钡南嗨贫仁羌s是2.015。其次,基于信息量的語義距離算法如下:在tagnet中,每個tag詞包含許多信息,兩個tag詞共享的信息越多,其語義也就越相似,見公式4所示。disic(t1,t2)=(ic(t1)+ic(t2))-2*ic(lsc(t1,t2))ic(t)=-logp(t)上為公式4:基于信息量的語義距離算法lsc(t1,t2)是標(biāo)簽t1、標(biāo)簽t2最小公共父節(jié)點,如lsc(駕駛,餐廳)=模擬,p(t)是標(biāo)簽t及其分支中的下位詞在app語料中頻率占比,n是tagnet中所有tag詞在app語料中的頻次總和。我們選擇綜合上述兩個相似性計算,使用一個混合的語義相似性計算方法,即hybridmeasure,計算公式如公式5:上為公式5:hybridmeasure語義相關(guān)性計算公式hybridmeasure同時考慮兩個標(biāo)簽tag的路徑距離,信息量距離以及在app語料中的統(tǒng)計信息,k我們設(shè)定為0.5。這樣我們就可以計算兩個目標(biāo)應(yīng)用的標(biāo)簽語義相似度,并篩除掉低于閾值的相似應(yīng)用,最終可以實現(xiàn)的效果是:對于熱門應(yīng)用,相似度最高的前15個應(yīng)用的識別準(zhǔn)確度可以達到92%。然而即使采用了這樣的方法,對于中低頻的應(yīng)用來說,相似度最高的前15個應(yīng)用的識別準(zhǔn)確度只有77%左右。由于熱門的應(yīng)用,往往覆蓋一些熱點應(yīng)用領(lǐng)域,這個領(lǐng)域內(nèi)的應(yīng)用開發(fā)者眾多,不止一家,因此相似應(yīng)用的數(shù)量比較多,反之一個偏門應(yīng)用領(lǐng)域,開發(fā)者較少,相似應(yīng)用的數(shù)量也較少。因此實際上得到的結(jié)果也是符合實際的。在此基礎(chǔ)上,可以進一步探究如何確定應(yīng)用的相似應(yīng)用數(shù)量這一問題。在本發(fā)明的一個實施例中,上述方法中,選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用包括:從應(yīng)用搜索引擎的查詢會話日志中統(tǒng)計該應(yīng)用的下載次數(shù)s;根據(jù)預(yù)設(shè)的折線函數(shù){s1:c1;……si:ci;……sj:cj;……}和下述公式確定c的取值:其中,si≤s≤sj,ci≤c≤cj。舉例如一個折現(xiàn)函數(shù)“10:1;100:2;500:4;5000:5;10000:7;20000:10”,當(dāng)搜索次數(shù)是10次時保留1個相似應(yīng)用,當(dāng)搜索次數(shù)100時保留2個相似應(yīng)用,當(dāng)搜索次數(shù)是7000時,相似應(yīng)用數(shù)量介于5和7之間,那么圖2示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用搜索推薦方法的流程示意圖,如圖2所示,該方法包括:步驟s210,接收用戶輸入的搜索詞,根據(jù)搜索詞確定目標(biāo)應(yīng)用。步驟s220,從目標(biāo)應(yīng)用的相似應(yīng)用集合中獲取目標(biāo)應(yīng)用的一個或多個相似應(yīng)用,將目標(biāo)應(yīng)用和相似應(yīng)用推薦給用戶。其中,目標(biāo)應(yīng)用的相似應(yīng)用集合是通過如上述任一實施例中的相似應(yīng)用的識別方法得到的。例如,用戶搜索某一個應(yīng)用名字時,應(yīng)用搜索引擎觸發(fā)相似應(yīng)用策略,將與其相似功能的應(yīng)用也推薦給用戶。有益效果為:1)滿足用戶需求,增強了用戶的搜索體驗;2)增加應(yīng)用廣告的點擊率;3)展現(xiàn)搜索結(jié)果時,可以把相似功能的應(yīng)用聚合展現(xiàn),給用戶一個清爽簡潔的布局展現(xiàn),也改善了用戶搜索體驗。圖3示出了根據(jù)本發(fā)明一個實施例的一種相似應(yīng)用的識別裝置的結(jié)構(gòu)示意圖,如圖3所示,相似應(yīng)用的識別裝置300包括:獲取單元310,適于從應(yīng)用搜索引擎的查詢會話日志中獲取各查詢會話中的搜索詞和下載的應(yīng)用。挖掘單元320,適于根據(jù)各查詢會話中的搜索詞和下載的應(yīng)用,挖掘出各應(yīng)用的語義表示信息。識別單元330,適于根據(jù)各應(yīng)用的語義表示信息識別出該應(yīng)用的一個或多個相似應(yīng)用,將相似應(yīng)用加入該應(yīng)用的相似應(yīng)用集合??梢?,圖3所示的裝置,通過各單元的相互配合,利用用戶在使用應(yīng)用搜索引擎過程中產(chǎn)生的查詢會話日志,獲取各查詢會話中的搜索詞和下載的應(yīng)用,進一步挖掘出各應(yīng)用的語義表示信息,基于此識別出應(yīng)用的相似應(yīng)用,并形成與該應(yīng)用對應(yīng)的相似應(yīng)用集合,可以用于進行應(yīng)用搜索推薦等。該技術(shù)方案采用大數(shù)據(jù)樣本機器學(xué)習(xí)的方式,從用戶的使用情況中挖掘出應(yīng)用的語義表示信息,相較于人工標(biāo)注的方式,減少作弊帶來的負面影響,顯著提高了相似應(yīng)用識別的準(zhǔn)確度,同時減少了人工成本并大大提升了效率。在本發(fā)明的一個實施例中,上述裝置中,獲取單元310,適于從應(yīng)用搜索引擎的查詢會話日志中,獲取符合預(yù)設(shè)時間長度的查詢會話中的搜索詞和下載的應(yīng)用。在本發(fā)明的一個實施例中,上述裝置中,挖掘單元320,適于對于各查詢會話,將該查詢會話中的搜索詞按照順序排成一個序列;如果該序列中的一個搜索詞對應(yīng)于應(yīng)用下載操作,將所下載的應(yīng)用的名稱插入到該序列中的相應(yīng)搜索詞的后面相鄰位置,從而形成該查詢會話對應(yīng)的訓(xùn)練語料;將所有訓(xùn)練語料匯總為訓(xùn)練語料集合;利用深度學(xué)習(xí)工具包word2vec對訓(xùn)練語料集合進行訓(xùn)練,將每條訓(xùn)練語料看做一個單詞,為各應(yīng)用生成n維向量形式的語義表示信息,其中,n為自然數(shù)。在本發(fā)明的一個實施例中,上述裝置中,挖掘單元320,適于在利用深度學(xué)習(xí)工具包word2vec對訓(xùn)練語料集合進行訓(xùn)練時使用下述參數(shù):-cbow1-size300-window8-negative25-hs0-sample1e-4-threads24-binary0-iter15。在本發(fā)明的一個實施例中,上述裝置中,識別單元330,適于對各應(yīng)用,計算該應(yīng)用的n維向量與其他應(yīng)用的n維向量的余弦相似度;選取與該應(yīng)用的余弦相似度最高的c個應(yīng)用作為該應(yīng)用的相似應(yīng)用,其中,c為自然數(shù)。在本發(fā)明的一個實施例中,上述裝置中,識別單元330,適于將所有應(yīng)用的n維向量形式的語義表示信息存儲到k-d樹中;在k-d樹中計算與目標(biāo)應(yīng)用相距在預(yù)設(shè)范圍內(nèi)的一個或多個應(yīng)用與該目標(biāo)應(yīng)用的余弦相似度。在本發(fā)明的一個實施例中,上述裝置中,識別單元330,適于從應(yīng)用搜索引擎的查詢會話日志中統(tǒng)計該應(yīng)用的下載次數(shù)s;根據(jù)預(yù)設(shè)的折線函數(shù){s1:c1;……si:ci;……sj:cj;……}和下述公式確定c的取值:其中,si≤s≤sj,ci≤c≤cj。在本發(fā)明的一個實施例中,上述裝置還包括:篩除單元(圖未示),適于對各應(yīng)用,根據(jù)該應(yīng)用的標(biāo)簽屬性,從該應(yīng)用的相似應(yīng)用集合中篩除標(biāo)簽差異在預(yù)設(shè)范圍外的應(yīng)用。在本發(fā)明的一個實施例中,上述裝置中,篩除單元,適于計算該應(yīng)用與目標(biāo)相似應(yīng)用的標(biāo)簽語義相似度;將標(biāo)簽語義相似度低于預(yù)設(shè)閾值的目標(biāo)相似應(yīng)用從該應(yīng)用的相似應(yīng)用集合中刪除。圖4示出了根據(jù)本發(fā)明一個實施例的一種應(yīng)用搜索推薦服務(wù)器的結(jié)構(gòu)示意圖,如圖4所示,應(yīng)用搜索推薦服務(wù)器400包括:搜索詞接收單元410,適于接收用戶輸入的搜索詞,根據(jù)搜索詞確定目標(biāo)應(yīng)用;推薦單元420,適于從目標(biāo)應(yīng)用的相似應(yīng)用集合中獲取目標(biāo)應(yīng)用的一個或多個相似應(yīng)用,將目標(biāo)應(yīng)用和相似應(yīng)用推薦給用戶,其中,目標(biāo)應(yīng)用的相似應(yīng)用集合是通過如上述任一實施例的相似應(yīng)用的識別裝置300得到的。需要說明的是,上述裝置和服務(wù)器實施例的具體實施方式分別與前述方法實施例的具體實施方式對應(yīng)相同,在此不再贅述。綜上所述,本發(fā)明的技術(shù)方案,利用用戶在使用應(yīng)用搜索引擎過程中產(chǎn)生的查詢會話日志,獲取各查詢會話中的搜索詞和下載的應(yīng)用,進一步挖掘出各應(yīng)用的語義表示信息,基于此識別出應(yīng)用的相似應(yīng)用,并形成與該應(yīng)用對應(yīng)的相似應(yīng)用集合,可以用于進行應(yīng)用搜索推薦等。該技術(shù)方案采用大數(shù)據(jù)樣本機器學(xué)習(xí)的方式,從用戶的使用情況中挖掘出應(yīng)用的語義表示信息,相較于人工標(biāo)注的方式,減少作弊帶來的負面影響,顯著提高了相似應(yīng)用識別的準(zhǔn)確度,同時減少了人工成本并大大提升了效率。同時可以基于此實現(xiàn)在用戶搜索某一個應(yīng)用名字時,應(yīng)用搜索引擎觸發(fā)相似應(yīng)用策略,將與其相似功能的應(yīng)用也推薦給用戶。有益效果為:1)滿足用戶需求,增強了用戶的搜索體驗;2)增加應(yīng)用廣告的點擊率;3)展現(xiàn)搜索結(jié)果時,可以把相似功能的應(yīng)用聚合展現(xiàn),給用戶一個清爽簡潔的布局展現(xiàn),也改善了用戶搜索體驗。需要說明的是:在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(dsp)來實現(xiàn)根據(jù)本發(fā)明實施例的相似應(yīng)用的識別裝置和應(yīng)用搜索推薦服務(wù)器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。當(dāng)前第1頁12