本發明涉及通信領域,更為具體而言,涉及查詢結果的排序方法及裝置。
背景技術:
目前對于互聯網的垂直領域(例如餐飲、電影等),搜索召回的主流展現方式是給予用戶列出可選擇的以商戶為維度的列表信息,而召回的文檔的排序位置可以直接影響商戶的銷量以及用戶的下單及搜索體驗。因此針對用戶所輸入的查詢語句,對搜索結果的排序則顯得非常重要。
然而,傳統的搜索排序分數方法是基于查詢語句與查詢結果項之間的相關性,來決定查詢結果項的排序位置。但是,這樣的搜索排序方法不能兼顧查詢領域以及查詢用戶的特殊性,降低了用戶的搜索體驗度。
技術實現要素:
為有效地解決上述技術問題,本發明提供了一種查詢結果的排序方法及裝置。
一方面,本發明的實施方式提供了一種查詢結果的排序方法,所述方法包括:
計算查詢結果項的語句領域用戶相關分數(同時體現查詢結果項與查詢語句、查詢領域、查詢用戶之間的相關性的分數);
根據所述語句領域用戶相關分數,確定所述查詢結果項的排序位次。
本發明提供的方法可以兼顧查詢結果項與查詢語句、查詢領域、以及查詢用戶之間的相關性來確定查詢結果項的排序位次,從而能夠給出更為準確的排序結果,提高用戶的搜索體驗度。
在本發明的一些實施方式中,所述方法還包括:
接收用戶輸入的查詢語句;
根據所述查詢語句獲取所述查詢結果項。
在本發明的一些實施方式中,所述計算查詢結果項的語句領域用戶相關分數包括:
根據所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數計算所述語句領域用戶相關分數。
在本發明的一些實施方式中,所述方法還包括:基于所述查詢結果項與當前查詢領域的相關性計算出所述領域相關分數(體現查詢結果項與查詢領域之間的相關性的分數)。
在本發明的一些實施方式中,所述方法還包括:依照所述查詢結果項與所述用戶的相關性計算出所述用戶相關分數(體現查詢結果項與查詢用戶之間的相關性的分數)。
在本發明的一些實施方式中,所述基于所述查詢結果項與當前查詢領域的相關性計算出所述領域相關分數包括:
獲取所述查詢結果項的每一個維度的切詞結果集合;
根據切詞結果集合與所述查詢領域的關鍵詞集合的匹配結果,對所述每一個維度的維度級領域相關分數(體現維度與查詢領域之間的相關性的分數)進行調整(包括提高分數、降低分數、或者保持分數不變等情況);
對調整后的維度級領域相關分數進行求和,以計算出領域相關分數。
基于垂直領域的查詢詞具有大量的重復性的特點,本發明基于查詢領域的關鍵詞集合計算領域相關分數,能夠高效及準確地得到查詢結果項與當前查詢領域的相關性。
在本發明的一些實施方式中,所述依照所述查詢結果項與所述用戶的相關性計算出用戶相關分數包括:
識別所述查詢結果項是否具有屬于所述用戶的點擊維度集合的維度;
若所述查詢結果項具有所述維度,則對與所述維度對應的維度級用戶相關分數進行求和,以計算出用戶相關分數。
在本發明的一些實施方式中,所述方法還包括:
響應于所述查詢語句,獲取所述用戶的查詢日志;
根據所述查詢日志生成所述點擊維度集合(用戶點擊過的查詢結果項中的維度的集合);
基于所述用戶的點擊率對所述點擊維度集合中的每一個元素設置維度級用戶相關分數(體現維度與查詢用戶之間的相關性的分數)。
在本發明的一些實施方式中,根據所述查詢日志生成所述點擊維度集合包括:
根據所述查詢日志中點擊率大于閾值的點擊查詢結果項(用戶點擊過的查詢結果項),生成所述點擊維度集合。
由于點擊維度集合基于了查詢日志中點擊率大于閾值的點擊查詢結果項,因此排除了用戶的誤點擊等偶發性點擊操作,從而使得本發明的排序結果能夠更加準確地反映出查詢結果項與當前查詢用戶的相關性。
在本發明的一些實施方式中,根據所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數計算出所述語句領域用戶相關分數包括:
對所述語句相關分數、領域相關分數、以及用戶相關分數分別進行分數抑制處理;
對經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數進行求和以計算出所述語句領域用戶相關分數。
由于語句領域用戶相關分數通過經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數計算得出,因此使得基于語句領域用戶相關分數得到的排序結果更為合理。
另一方面,本發明的實施方式還提供了一種查詢結果的排序裝置,所述裝置包括:
第一計算模塊,用于計算查詢結果項的語句領域用戶相關分數;
確定模塊,用于根據所述語句領域用戶相關分數,確定所述查詢結果項的排序位次。
本發明提供的裝置可以兼顧查詢結果項與查詢語句、查詢領域、以及查詢用戶之間的相關性來確定查詢結果項的排序位次,從而能夠給出更為準確的排序結果,提高用戶的搜索體驗度。
在本發明的一些實施方式中,所述裝置還包括:
接收模塊,用于接收用戶輸入的查詢語句;
獲取模塊,用于根據所述查詢語句獲取所述查詢結果項。
在本發明的一些實施方式中,所述第一計算模塊包括:
第一計算單元,用于根據所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數計算所述語句領域用戶相關分數。
在本發明的一些實施方式中,所述裝置還包括:
第二計算模塊,用于基于所述查詢結果項與當前查詢領域的相關性計算出所述領域相關分數。
在本發明的一些實施方式中,所述裝置還包括:
第三計算模塊,用于依照所述查詢結果項與所述用戶的相關性計算出所述用戶相關分數。
在本發明的一些實施方式中,所述第二計算模塊包括:
獲取單元,用于獲取所述查詢結果項的每一個維度的切詞結果集合;
分數調整單元,用于根據切詞結果集合與所述查詢領域的關鍵詞集合的匹配結果,對所述每一個維度的維度級領域相關分數進行調整;
第二計算單元,用于對調整后的維度級領域相關分數進行求和,以計算出領域相關分數。
基于垂直領域的查詢詞具有大量的重復性的特點,本發明基于查詢領域的關鍵詞集合計算領域相關分數,能夠高效及準確地得到查詢結果項與當前查詢領域的相關性。
在本發明的一些實施方式中,所述第三計算模塊包括:
識別單元,用于識別所述查詢結果項是否具有屬于所述用戶的點擊維度集合的維度;
第三計算單元,用于在所述查詢結果項具有所述維度的情形下,對與所述維度對應的維度級用戶相關分數進行求和,以計算出用戶相關分數。
在本發明的一些實施方式中,所述裝置還包括:
日志獲取模塊,用于響應于所述查詢語句,獲取所述用戶的查詢日志;
生成模塊,用于根據所述查詢日志生成所述點擊維度集合;
分數設置模塊,用于基于所述用戶的點擊率對所述點擊維度集合中的每一個元素設置維度級用戶相關分數。
本發明基于用戶的點擊率計算用戶相關分數能夠較為準確地得出查詢結果項與當前查詢用戶的相關性。
在本發明的一些實施方式中,所述生成模塊包括:
生成單元,用于根據所述查詢日志中點擊率大于閾值的點擊查詢結果項,生成所述點擊維度集合。
由于點擊維度集合基于查詢日志中點擊率大于閾值的點擊查詢結果項,因此排除了用戶的誤點擊等偶發性點擊操作,從而使得本發明的排序結果能夠更加準確地反映出查詢結果項與當前查詢用戶的相關性。
在本發明的一些實施方式中,所述第一計算單元包括:
分數抑制組件,用于對所述語句相關分數、領域相關分數、以及用戶相關分數分別進行分數抑制處理;
計算組件,用于對經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數進行求和以計算出所述語句領域用戶相關分數。
由于語句領域用戶相關分數通過經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數計算得出,因此使得基于語句領域用戶相關分數得到的排序結果更為合理。
附圖說明
圖1是根據本發明的方法實施方式1的查詢結果的排序方法的流程圖;
圖2是根據本發明的方法實施方式2的查詢結果的排序方法的流程圖;
圖3示出了圖1所示的處理S100的一種實施方式;
圖4是根據本發明的裝置實施方式1的查詢結果的排序裝置的結構示意圖;
圖5是根據本發明的裝置實施方式2的查詢結果的排序裝置的結構示意圖。
具體實施方式
以下結合附圖和具體實施方式對本發明的各個方面進行詳細闡述。其中,眾所周知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細說明。并且,所描述的特征、架構或功能可在一個或一個以上實施方式中以任何方式組合。本領域技術人員應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發明的保護范圍。還可以容易理解,本文所述和附圖所示的各實施方式中的模塊或單元或步驟可以按各種不同配置進行組合和設計。
【方法實施方式1】
圖1是根據本發明的實施方式1的查詢結果的排序方法的流程圖。參見圖1,所述方法包括:
S100:計算查詢結果項的語句領域用戶相關分數(同時體現查詢結果項與查詢語句、查詢領域、查詢用戶之間的相關性的分數)。
S200:根據所述語句領域用戶相關分數,確定所述查詢結果項的排序位次。
其中,查詢結果項包括一個或多個維度。
本發明提供的方法可以兼顧查詢結果項與查詢語句、查詢領域、以及查詢用戶之間的相關性來確定查詢結果項的排序位次,從而能夠給出更為準確的排序結果,提高用戶的搜索體驗度。
【方法實施方式2】
本實施方式所提供的方法包括了圖1示出的所有處理,在此不再贅述。其中,如圖2所示,本實施方式所提供的方法還包括下述處理:
S300:接收用戶輸入的查詢語句。
S400:根據所述查詢語句獲取所述查詢結果項。
【方法實施方式3】
本實施方式所提供的方法包括了圖2示出的所有處理,在此不再贅述。其中,在本實施方式中,通過下述方式實現處理S100:
根據所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數計算所述語句領域用戶相關分數。
【方法實施方式4】
本實施方式所提供的方法包括了方法實施方式3中的所有處理,在此不再贅述。其中,本實施方式所提供的方法還包括下述處理:
(1):根據所述查詢結果項與所述查詢語句的相關性計算出所述語句相關分數。
(2):基于所述查詢結果項與當前查詢領域的相關性計算出所述領域相關分數。
(3):依照所述查詢結果項與所述用戶的相關性計算出所述用戶相關分數。
本領域的技術人員可以根據實際情況合理安排處理上述處理(1)、(2)、以及(3)之間的執行順序。
【方法實施方式5】
本實施方式所提供的方法包括了方法實施方式4所包含的所有處理,在此不再贅述。其中,在本實施方式中,通過下述處理實現方法實施方式4中的處理(2):
(i):獲取所述查詢結果項的每一個維度的切詞結果集合。
所述切詞結果集合是指:基于維度,對查詢結果項的文本進行切詞處理(基于一個全面的詞庫,采用基于語義的手段,把文本的語句和詞語切割成目標詞匯或短語)之后生成的詞匯或者短語的集合。
(ii):根據切詞結果集合與當前查詢領域的關鍵詞集合的匹配結果,對所述查詢結果項的每一個維度的維度級領域相關分數(體現維度與查詢領域之間的相關性的分數)進行調整。
所述關鍵詞集合是當前查詢領域中搜索率大于閾值的搜索詞的集合。
其中,所述調整包括提高分數和保持分數不變兩種方式。
在初始化階段,會對不同的查詢結果項的不同維度設置統一的維度級領域相關分數,所述維度級領域相關分數可以是加權分數。
相應地,如果識別出切詞結果集合中具有屬于關鍵詞集合中的元素,則提高該切詞結果集合所對應的維度的維度級領域相關分數(例如可以通過提高權重來實現)。如果識別出切詞結果集合中不具有屬于關鍵詞集合中的元素,則保持該切詞結果集合所對應的維度的維度級領域相關分數不變。
(iii):對調整后的維度級領域相關分數進行求和以計算出領域相關分數(查詢結果項級領域相關分數)。
其中,為了得到更加準確、合理的排序結果,本領域的技術人員可以根據預定的時間周期定期更新關鍵詞集合,也可以實時更新關鍵詞集合,即一旦監測出當前的查詢領域中有新的搜索詞,則對該查詢領域的關鍵詞集合進行更新處理。
基于垂直領域的查詢詞具有大量的重復性的特點,本發明基于查詢領域的關鍵詞集合計算領域相關分數,能夠高效及準確地得到查詢結果項與當前查詢領域的相關性。
【方法實施方式6】
本實施方式所提供的方法包括了方法實施方式5所包含的所有處理,在此不再贅述。其中,在本實施方式中,通過下述處理實現方法實施方式4中的處理(3):
(iv):識別所述查詢結果項是否具有屬于所述用戶的點擊維度集合的維度。若是,在執行處理(v),若否,則執行處理(vi)。
其中,所述點擊維度集合指所述用戶點擊過的查詢結果項中的維度的集合。
(v):對所述查詢結果項中屬于所述點擊維度集合的維度所對應的維度級用戶相關分數(體現維度與查詢用戶之間的相關性的分數)進行求和,以計算出用戶相關分數(查詢結果項級用戶相關分數)。
(vi):根據設定值設置用戶相關分數(例如,將用戶相關分數置為0,當然,本領域的技術人員也可以根據實際需要將用戶相關分數設置為其他數值)。
【方法實施方式7】
本實施方式所提供的方法包括了方法實施方式6所包含的所有處理,在此不再贅述。其中,本實施方式所提供的方法還包括下述處理:
(4)響應于所述查詢語句,獲取所述用戶的查詢日志。
(5)根據獲取的查詢日志生成所述點擊維度集合。
(6)基于所述用戶的點擊率對生成的點擊維度集合中的每一個元素設置維度級用戶相關分數。
優選地,為排除用戶的誤點擊等偶發性點擊操作,可以根據獲取到的查詢日志中點擊率大于閾值的點擊查詢結果項,生成所述點擊維度集合。
其中,點擊查詢結果項指查詢日志中用戶點擊過的查詢結果項。
由于點擊維度集合基于了查詢日志中點擊率大于閾值的點擊查詢結果項,因此排除了用戶的誤點擊等偶發性點擊操作,從而使得本發明的排序結果能夠更加準確地反映出查詢結果項與當前查詢用戶的相關性。
【方法實施方式8】
本實施方式所提供的方法包括了方法實施方式7所包含的所有處理,在此不再贅述。其中,如圖3所示,在本實施方式中,通過下述方式實現圖1所示的處理S100:
S110:對所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數分別進行分數抑制處理。
其中,分數抑制處理指通過閾值對相應分數的最大值進行控制。例如,將計算出的語句相關分數、領域相關分數、以及用戶相關分數分別與語句相關分數閾值、領域相關分數閾值、以及用戶相關分數閾值進行比較;若語句相關分數、領域相關分數、或者用戶相關分數大于相應的閾值,則將語句相關分數、領域相關分數、或者用戶相關分數設置為相應的閾值;若語句相關分數、領域相關分數、或者用戶相關分數小于或者等于相應的閾值,則保持語句相關分數、領域相關分數、或者用戶相關分數的值不變。
S120:對經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數進行求和,以計算出所述語句領域用戶相關分數。
由于語句領域用戶相關分數通過經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數計算得出,因此使得基于語句領域用戶相關分數得到的排序結果更為合理。
此外,本發明還提供一種查詢排序方法,下面以查詢結果項為查詢文檔為例,對本發明所提供的查詢排序方法進行具體描述。該方法包括:
步驟1:接收用戶輸入的查詢語句。
步驟2:獲取所述查詢語句的一個或多個查詢文檔。
其中,查詢文檔包括一個或多個維度。
步驟3:針對獲取的每一個查詢文檔執行下述處理:
A、基于查詢文檔與所述查詢語句的相關性計算出查詢文檔的語句相關分數。
對于處理A,例如可以利用神經網絡技術來學習詞的向量表示(把詞表示為一個實數組成的向量),通過計算由詞向量組成的查詢文檔與查詢語句之間的相似度來計算出語句相關分數。
B、基于查詢文檔與當前查詢領域的相關性計算出查詢文檔的領域相關分數。
對于處理B,可以通過下述方式實現:
B1、獲取查詢文檔的每一個維度的切詞結果集合。
所述切詞結果集合是指:基于維度,對查詢文檔的文本進行切詞處理(基于一個全面的詞庫,采用基于語義的手段,把文本的語句和詞語切割成目標詞匯或短語)之后生成的詞匯或者短語的集合。其中,為了進一步提高排序效果,在進行切詞處理之前,需要對文檔文本進行數據規則化處理,例如繁簡轉換、正則匹配、二次校驗、以及置信度分析等。
B2、根據切詞結果集合與當前查詢領域的關鍵詞集合的匹配結果,對查詢文檔中每一個維度的維度級領域相關分數進行調整。
其中,所述關鍵詞集合是當前查詢領域中搜索率大于閾值的搜索詞的集合。本領域的技術人員可以根據預定的時間周期對所述關鍵詞集合進行定期更新,也可以對所述關鍵詞集合進行實時更新,例如一旦監測出當前的查詢領域中有新的搜索詞,則對該查詢領域的關鍵詞集合進行更新處理。
此外,所述調整包括提高分數和保持分數不變兩種方式。
在初始化階段,會對不同的查詢文檔的不同維度設置統一的維度級領域相關分數,所述維度級領域相關分數可以是加權分數。
相應地,如果識別出切詞結果集合中具有屬于所述關鍵詞集合中的元素,則提高該切詞結果集合所對應的維度的維度級領域相關分數(例如可以通過提高權重來實現)。如果識別出切詞結果集合中不具有屬于所述關鍵詞集合的元素,則保持該切詞結果集合所對應的維度的維度級領域相關分數不變。
B3、對查詢文檔中所述查詢語句的召回維度的調整后的維度級領域相關分數進行求和,以計算出領域相關分數(查詢文檔級領域相關分數)。
其中,當查詢文檔在具體的某個維度與查詢語句匹配成功時,將該維度稱之為召回維度。
C、基于查詢文檔與所述用戶的相關性計算出查詢文檔的用戶相關分數。
對于處理C,可以通過下述方式實現:
C1、識別查詢文檔是否具有屬于所述用戶所對應的點擊維度集合的維度。若是,則執行C2,若否,則執行C3。
其中,本發明所提供的查詢排序方法還執行下述處理,以得到所述點擊維度集合以及所述點擊維度集合中每一個元素的維度級用戶相關分數。
(1)響應于所述查詢語句,獲取所述用戶的查詢日志。
(2)根據獲取到的查詢日志中點擊率大于閾值的點擊文檔(點擊文檔指查詢日志中用戶點擊過的查詢文檔),生成所述點擊維度集合。
其中,所述點擊維度集合指用戶點擊過的查詢文檔中的維度的集合。例如,從查詢日志中提取所有用戶點擊過的查詢文檔,將所有提取出的查詢文檔中的維度進行去重處理以得到點擊維度集合。
(3)基于所述用戶的點擊率對生成的點擊維度集合中的每一個元素設置維度級用戶相關分數。
其中,針對基于所述用戶的點擊率對生成的點擊維度集合中的每一個元素設置維度級用戶相關分數而言,例如,若點擊維度集合中的維度W1同時屬于查詢文檔F1(點擊率為R1)和查詢文檔F2(點擊率為R2),則維度W1的維度級用戶相關分數SW1基于R1和R2計算出,例如,SW1=R1+R2。
C2、對查詢文檔中的屬于所述點擊維度集合的維度所對應的維度級用戶相關分數進行求和,以計算出用戶相關分數(查詢文檔級的用戶相關分數)。
C3、將用戶相關分數置為0(當然,本領域的技術人員可以根據實際需要,將用戶相關分數設置為其他數值)。
D、根據計算出的語句相關分數、領域相關分數、以及用戶相關分數計算出語句領域用戶相關分數。
對于處理D,可以通過下述方式實現:
D1、對計算出的語句相關分數、領域相關分數、以及用戶相關分數分別進行分數抑制處理。
其中,分數抑制處理指通過閾值對相應分數的最大值進行控制。例如,將計算出的語句相關分數、領域相關分數、以及用戶相關分數分別與語句相關分數閾值、領域相關分數閾值、以及用戶相關分數閾值進行比較;若語句相關分數、領域相關分數、或者用戶相關分數大于相應的閾值,則將語句相關分數、領域相關分數、或者用戶相關分數設置為相應的閾值;若語句相關分數、領域相關分數、或者用戶相關分數小于或者等于相應的閾值,則保持語句相關分數、領域相關分數、或者用戶相關分數的值不變。
D2、對經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數進行求和,以計算出語句領域用戶相關分數。
步驟4:根據計算出的語句領域用戶相關分數,對所述一個或多個查詢結果項進行排序。
【裝置實施方式1】
圖4是根據本發明的裝置實施方式1的查詢結果的排序裝置的結構示意圖。參見圖4,所述裝置1000包括:第一計算模塊100、以及確定模塊200,具體地:
第一計算模塊100用于計算查詢結果項的語句領域用戶相關分數(同時體現查詢結果項與查詢語句、查詢領域、查詢用戶之間的相關性的分數)。
確定模塊200用于根據第一計算模塊100計算出的語句領域用戶相關分數,確定所述查詢結果項的排序位次。
其中,所述查詢結果項例如包括一個或多個維度。
本發明提供的方法可以兼顧查詢結果項與查詢語句、查詢領域、以及查詢用戶之間的相關性來確定查詢結果項的排序位次,從而能夠給出更為準確的排序結果,提高用戶的搜索體驗度。
【裝置實施方式2】
本實施方式所提供的裝置包括了圖4示出的所有模塊,在此不再贅述。其中,如圖5所示,本實施方式所提供的裝置還包括:接收模塊300和獲取模塊400,具體地:
接收模塊300用于接收用戶輸入的查詢語句。
獲取模塊400用于根據所述查詢語句獲取所述查詢結果項。
【裝置實施方式3】
本實施方式所提供的裝置包括了裝置實施方式2中的所有模塊,在此不再贅述。其中,在本實施方式中,第一計算模塊100包括第一計算單元,具體地:
第一計算單元用于根據所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數計算所述語句領域用戶相關分數。
【裝置實施方式4】
本實施方式所提供的裝置包括了裝置實施方式3中的所有模塊及單元,在此不再贅述,其中,本實施方式所提供的裝置還包括:第二計算模塊、第三計算模塊以及第四計算模塊,具體地:
第二計算模塊用于基于所述查詢結果項與當前查詢領域的相關性計算出所述領域相關分數。
第三計算模塊用于依照所述查詢結果項與所述用戶的相關性計算出所述用戶相關分數。
第四計算模塊用于根據所述查詢結果項與所述查詢語句的相關性計算出所述語句相關分數。
【裝置實施方式5】
本實施方式所提供的裝置包括了裝置實施方式4所包含的所有模塊及單元,在此不再贅述。其中,第二計算模塊包括:獲取單元、分數調整單元、以及第二計算單元,具體地:
獲取單元用于獲取所述查詢結果項的每一個維度的切詞結果集合。
分數調整單元用于根據切詞結果集合與所述查詢領域的關鍵詞集合的匹配結果,對所述查詢結果項的每一個維度的維度級領域相關分數進行調整。
第二計算單元用于對調整后的維度級領域相關分數進行求和,以計算出領域相關分數。
基于垂直領域的查詢詞具有大量的重復性的特點,本發明基于查詢領域的關鍵詞集合計算領域相關分數,能夠高效及準確地得到查詢結果項與當前查詢領域的相關性。
【裝置實施方式6】
本實施方式所提供的裝置包括了裝置實施方式5所包含的所有模塊及單元,在此不再贅述。其中,第三計算模塊包括識別單元、第三計算單元、以及第四計算單元,具體地:
識別單元用于識別所述查詢結果項是否具有屬于所述用戶的點擊維度集合的維度。
第三計算單元用于執行下述處理:在所述查詢結果項具有屬于所述點擊維度集合的維度的情形下,對與所述屬于所述點擊維度集合的維度對應的維度級用戶相關分數進行求和,以計算出用戶相關分數。
第四計算單元用于執行下述處理:在所述查詢結果項不具有所述屬于所述點擊維度集合的維度的情形下,根據設定值設置用戶相關分數(例如,將用戶相關分數置為0或者其他數值)。
【裝置實施方式7】
本實施方式所提供的裝置包括了裝置實施方式6所包含的所有模塊及單元,在此不再贅述。其中,本實施方式所提供的裝置還包括:日志獲取模塊、生成模塊、以及分數設置模塊,具體地:
日志獲取模塊用于響應于所述查詢語句,獲取所述用戶的查詢日志。
生成模塊用于根據所述查詢日志生成所述點擊維度集合。
分數設置模塊用于基于所述用戶的點擊率對所述點擊維度集合中的每一個元素設置維度級用戶相關分數。
本發明基于用戶的點擊率計算用戶相關分數能夠較為準確地得出查詢結果項與當前查詢用戶的相關性。
優選地,為排除用戶的誤點擊等偶發性點擊操作,生成模塊可以包括:生成單元,用于根據所述查詢日志中點擊率大于閾值的點擊查詢結果項(查詢日志中用戶點擊過的查詢結果項),生成所述點擊維度集合。
由于點擊維度集合基于查詢日志中點擊率大于閾值的點擊查詢結果項,因此排除了用戶的誤點擊等偶發性點擊操作,從而使得本發明的排序結果能夠更加準確地反映出查詢結果項與當前查詢用戶的相關性。
【裝置實施方式8】
本實施方式所提供的裝置包括了裝置實施方式7所包含的所有模塊及單元,在此不再贅述。其中,第一計算單元包括:分數抑制組件以及計算組件,具體地:
分數抑制組件用于對所述查詢結果項的語句相關分數、領域相關分數、以及用戶相關分數分別進行分數抑制處理。
其中,分數抑制處理指通過閾值對相應分數的最大值進行控制。例如,將計算出的語句相關分數、領域相關分數、以及用戶相關分數分別與語句相關分數閾值、領域相關分數閾值、以及用戶相關分數閾值進行比較;若語句相關分數、領域相關分數、或者用戶相關分數大于相應的閾值,則將語句相關分數、領域相關分數、或者用戶相關分數設置為相應的閾值;若語句相關分數、領域相關分數、或者用戶相關分數小于或者等于相應的閾值,則保持語句相關分數、領域相關分數、或者用戶相關分數的值不變。
計算組件用于對經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數進行求和,以計算出所述語句領域用戶相關分數。
由于語句領域用戶相關分數通過經分數抑制處理后得到的語句相關分數、領域相關分數、以及用戶相關分數計算得出,因此使得基于語句領域用戶相關分數得到的排序結果更為合理。
實施本發明提供的查詢結果的排序方法及裝置,可以兼顧查詢結果項與查詢語句、查詢領域、以及查詢用戶之間的相關性來確定查詢結果項的排序位次,從而能夠給出更為準確的排序結果,提高用戶的搜索體驗度。
盡管本發明的宗旨通過各種實施方式進行了描述,但本發明的宗旨并不局限于這些實施方式。恰恰相反,本發明的宗旨包含本領域技術人員所能想到的各種替代方式、改進方式及等同方式。
本領域的技術人員可以清楚地了解到本發明可全部通過軟件實現,也可借助軟件結合硬件平臺的方式來實現。基于這樣的理解,本發明的技術方案對背景技術做出貢獻的全部或者部分可以以軟件產品的形式體現出來,所述計算機軟件產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,智能手機或者網絡設備等)執行本發明各個實施方式或者實施方式的某些部分所述的方法。
本文中所使用的“軟件”等詞均指一般意義上的任意類型的計算機編碼或者計算機可執行指令集,可以運行所述編碼或者指令集來使計算機或其他處理器程序化以執行如上所述的本發明的技術方案的各個方面。此外,需要說明的是,根據實施方式的一個方面,在執行時實施本發明的技術方案的方法的一個或多個計算機程序不必須要在一臺計算機或處理器上,而是可以分布于多個計算機或者處理器中的模塊中,以執行本發明的技術方案的各個方面。
計算機可執行指令可以有許多形式,如程序模塊,可以由一臺或多臺計算機或是其他設備執行。一般地,程序模塊包括例程、程序、對象、組件以及數據結構等等,執行特定的任務或是實施特定的抽象數據類型。特別地,在各種實施方式中,程序模塊的功能可以根據各個不同實施方式的需要進行結合或者拆分。
并且,本發明的技術方案可以體現為一種方法,并且已經提供了所述方法的至少一個示例。可以通過任何一種合適的順序執行動作,所述動作表現為所述方法中的一部分。因此,實施方式可以構造成可以按照與所示出的執行順序不同的順序執行動作,其中,可以包括同時地執行一些動作(盡管在示出的實施方式中,這些動作是連續的)。
本文所給出的和使用的定義,應當對照字典、通過引用而并入的文檔中的定義、和/或其通常意思進行理解。
在權利要求書中以及上述的說明書中,所有的過度短語,例如“包括”、“具有”、“包含”、“承載”、“具有”、“涉及”、“主要由…組成”以及類似詞語是應理解為是開放式的,即,包含但不限于。只有“由……組成”應該是封閉或半封閉的過度短語。
本發明說明書中使用的術語和措辭僅僅為了舉例說明,并不意味構成限定。本領域技術人員應當理解,在不脫離所公開的實施方式的基本原理的前提下,對上述實施方式中的各細節可進行各種變化。因此,本發明的范圍只由權利要求確定,在權利要求中,除非另有說明,所有的術語應按最寬泛合理的意思進行理解。