負樣本確定方法、裝置、電子設備及可讀存儲介質與流程
1.本技術涉及大數據技術領域,尤其涉及一種負樣本確定方法、裝置、電子設備及可讀存儲介質。
背景技術:
2.在搜索場景中,搜索過程一般為:通過搜索欄接收用戶輸入的搜索詞,推薦模型根據搜索詞生成一個查詢列表,該列表中包含多個用戶可能想要進行查詢的查詢詞,將該查詢列表展示在搜索欄下方,用戶即可在該查詢列表中選擇真正想要查詢的查詢詞。目前,對于上述搜索場景下的采樣過程一般為:將用戶選擇的查詢詞作為正樣本,其他未選擇的查詢詞作為負樣本。這些樣本可以用于優化推薦模型。
3.例如,用戶在搜索欄中輸入搜索詞“神奇”,查詢列表中出現“神奇四俠”、“神奇寶貝”、“神奇寶貝劇場版”及“神奇燕尾服”,在用戶選擇“神奇寶貝”作為最后的查詢詞進行查詢的情況下,則對“神奇寶貝”作為正樣本進行采樣,對“神奇四俠”、“神奇寶貝劇場版”及“神奇燕尾服”作為負樣本進行采樣。
4.然而,在實際應用中發現,用戶在選擇真正想要查詢的查詢詞時,很少查看查詢列表中排序位置在該查詢詞之后的其他查詢詞,因此,對于查詢列表中排序位置在正樣本之后的查詢詞,直接將其作為優化推薦模型的負樣本,對于模型學習的參考性可能并不高,優化效果較差。
技術實現要素:
5.為了解決上述直接將查詢列表中排序位置在正樣本之后的查詢詞,作為優化推薦模型的負樣本,優化效果較差的技術問題,本技術提供了一種負樣本確定方法、裝置、電子設備及可讀存儲介質。
6.第一方面,提供了一種負樣本確定方法,所述方法包括:
7.獲取搜索詞對應的查詢列表,所述查詢列表中包括多個查詢詞;
8.在多個所述查詢詞中確定正樣本及所述正樣本在所述查詢列表中的目標排序位置;
9.針對所述查詢列表中每個排序位置在所述目標排序位置之后的查詢詞,按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞,所述預設集合中包含所述查詢詞和召回池中的召回詞;
10.將所述查詢列表中排序位置在所述目標排序位置之前的查詢詞,以及,每個所述目標詞,確定為所述搜索詞的負樣本。
11.在一個可能的實施方式中,所述按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞,包括:
12.基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率,其中,所述第一選取概率為將所述查詢詞選取為所述目標詞的概率,所述第二選取概率
為將所述召回詞選取為所述目標詞的概率;
13.按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞。
14.在一個可能的實施方式中,所述方法還包括:
15.確定預設時間段內是否基于所述查詢詞進行過查詢;
16.在預設時間段內未選取過所述查詢詞作為所述搜索詞的負樣本的情況下,執行所述基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率至按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞的步驟;
17.在預設時間段內選取過所述查詢詞作為所述搜索詞的負樣本的情況下,將所述查詢詞確定為所述目標詞。
18.在一個可能的實施方式中,所述在多個所述查詢詞中確定正樣本,包括:
19.獲取所述搜索詞對應的查詢指令,并解析所述查詢指令得到對應的查詢詞標識;
20.在多個所述查詢詞中,將所述查詢詞標識對應的查詢詞確定為所述正樣本。
21.在一個可能的實施方式中,所述獲取搜索詞對應的查詢列表,包括:
22.將所述搜索詞輸入至推薦模型,以使所述推薦模型輸出所述查詢列表。
23.在一個可能的實施方式中,所述方法還包括:
24.利用所述正樣本和所述負樣本訓練所述推薦模型,得到更新模型;
25.利用所述更新模型更新所述推薦模型。
26.第二方面,提供了一種負樣本確定裝置,所述裝置包括:
27.獲取模塊,用于獲取搜索詞對應的查詢列表,所述查詢列表中包括多個查詢詞;
28.第一確定模塊,用于在多個所述查詢詞中確定正樣本及所述正樣本在所述查詢列表中的目標排序位置;
29.選取模塊,用于針對所述查詢列表中每個排序位置在所述目標排序位置之后的查詢詞,按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞,所述預設集合中包含所述查詢詞和召回池中的召回詞;
30.第二確定模塊,用于將所述查詢列表中排序位置在所述目標排序位置之前的查詢詞,以及,每個所述目標詞,確定為所述搜索詞的負樣本。
31.在一個可能的實施方式中,所述選取模塊,具體用于:
32.基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率,其中,所述第一選取概率為將所述查詢詞選取為所述目標詞的概率,所述第二選取概率為將所述召回詞選取為所述目標詞的概率;
33.按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞。
34.在一個可能的實施方式中,所述裝置還包括:
35.第三確定模塊,用于確定預設時間段內是否基于所述查詢詞進行過查詢;
36.執行模塊,用于在預設時間段內未選取過所述查詢詞作為所述搜索詞的負樣本的情況下,執行所述基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率至按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞的步驟;
37.第四確定模塊,用于在預設時間段內選取過所述查詢詞作為所述搜索詞的負樣本的情況下,將所述查詢詞確定為所述目標詞。
38.在一個可能的實施方式中,所述第一確定模塊,具體用于:
39.獲取所述搜索詞對應的查詢指令,并解析所述查詢指令得到對應的查詢詞標識;
40.在多個所述查詢詞中,將所述查詢詞標識對應的查詢詞確定為所述正樣本。
41.在一個可能的實施方式中,所述獲取模塊,具體用于:
42.將所述搜索詞輸入至推薦模型,以使所述推薦模型輸出所述查詢列表。
43.在一個可能的實施方式中,所述裝置還包括:
44.訓練模塊,用于利用所述正樣本和所述負樣本訓練所述推薦模型,得到更新模型;
45.更新模塊,用于利用所述更新模型更新所述推薦模型。
46.第三方面,提供了一種電子設備,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;
47.存儲器,用于存放計算機程序;
48.處理器,用于執行存儲器上所存放的程序時,實現第一方面任一所述的方法步驟。
49.第四方面,提供了一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質內存儲有計算機程序,所述計算機程序被處理器執行時實現第一方面任一所述的方法步驟。
50.第五方面,提供了一種包含指令的計算機程序產品,當其在計算機上運行時,使得計算機執行上述任一所述的負樣本確定方法。
51.本技術實施例有益效果:
52.本技術實施例提供了一種負樣本確定方法、裝置、電子設備及可讀存儲介質,本技術通過,首先,獲取搜索詞對應的查詢列表,查詢列表中包括多個查詢詞;并在多個查詢詞中確定正樣本及正樣本在查詢列表中的目標排序位置;然后,針對查詢列表中每個排序位置在目標排序位置之后的查詢詞,按照查詢詞對應的選取策略在預設集合中選取對應的目標詞,預設集合中包含查詢詞和召回池中的召回詞;最后,將查詢列表中排序位置在目標排序位置之前的查詢詞,以及,每個目標詞,確定為該搜索詞的負樣本。即,本技術中,對于查詢列表中排序位置在正樣本之后的查詢詞,并不是直接將其作為優化推薦模型的負樣本,而是在由該查詢詞和召回池構建的預設集合中,按照預設策略選取對應的目標詞作為負樣本,如此,可以提高負樣本的多樣性,從而提高對推薦模型的優化效果。
53.當然,實施本技術的任一產品或方法并不一定需要同時達到以上所述的所有優點。
附圖說明
54.此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本技術的實施例,并與說明書一起用于解釋本技術的原理。
55.為了更清楚地說明本技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領域普通技術人員而言,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
56.圖1為本技術實施例提供的一種負樣本確定方法的流程圖;
57.圖2為本技術實施例提供的另一種負樣本確定方法的流程圖;
58.圖3為本技術實施例提供的一種負樣本確定裝置的結構示意圖;
59.圖4為本技術實施例提供的一種電子設備的結構示意圖。
具體實施方式
60.為使本技術實施例的目的、技術方案和優點更加清楚,下面將結合本技術實施例中的附圖,對本技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本技術的一部分實施例,而不是全部的實施例。基于本技術中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本技術保護的范圍。
61.下面將結合具體實施方式,對本技術實施例提供的一種負樣本確定方法進行詳細的說明,如圖1所示,具體步驟如下:
62.s101,獲取搜索詞對應的查詢列表,所述查詢列表中包括多個查詢詞。
63.本技術實施例提供的一種負樣本確定方法應用于搜索場景,該搜索場景中,當用戶在搜索欄中輸入搜索詞的情況下,會生成搜索詞對應的查詢列表,其中,查詢列表中包括多個查詢詞。
64.例如,用戶在搜索欄中輸入搜索詞“天”,生成的查詢列表中包括5個查詢詞,由上至下依次為“天龍八部”、“天天向上”、“天天看電影”、“天空”及“天氣預報”。
65.在一實施例中,獲取搜索詞對應的查詢列表的具體實現可包括:將所述搜索詞輸入至推薦模型,以使所述推薦模型輸出所述查詢列表。
66.s102,在多個所述查詢詞中確定正樣本及所述正樣本在所述查詢列表中的目標排序位置。
67.正樣本,指用戶在查詢列表中最終選擇的用于查詢的查詢詞。
68.在一實施例中,在多個所述查詢詞中確定正樣本的具體實現可包括:獲取所述搜索詞對應的查詢指令,并解析所述查詢指令得到對應的查詢詞標識;在多個所述查詢詞中,將所述查詢詞標識對應的查詢詞確定為所述正樣本。其中,查詢指令,指在用戶選取最終用于查詢的查詢詞時生成的指令,該查詢指令中攜帶有查詢詞標識。
69.例如,用戶在上述示例查詢列表中的5個查詢詞中,點擊了“天天看電影”,則根據用戶的點擊行為和具體點擊的查詢詞的標識生成對應的查詢指令,通過解析該查詢指令得到該查詢詞的標識,進而,將該標識對應的查詢詞“天天看電影”確定為正樣本。
70.s103,針對所述查詢列表中每個排序位置在所述目標排序位置之后的查詢詞,按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞,所述預設集合中包含所述查詢詞和召回池中的召回詞。
71.召回池,指包含所有基于搜索詞召回的、除查詢列表上的查詢詞以外的詞(即召回詞)的集合。
72.對于查詢列表中每個排序位置在目標排序位置(即正樣本在查詢列表中的位置)之后的查詢詞,一般為用戶選擇時未經查看過的查詢詞,其對于模型學習的參考性較低,因此,本技術實施例中,并不直接將其作為負樣本,而是按照查詢詞對應的選取策略在預設集合中選取對應的目標詞,如此,對于參考性不高的查詢詞,可以利用部分預設集合中的召回詞進行替代,從而保證負樣本的多樣性。
73.至于具體如何在預設集合中選取對應的目標詞通過下文實施例具體說明,這里先不詳述。
74.s104,將所述查詢列表中排序位置在所述目標排序位置之前的查詢詞,以及,每個所述目標詞,確定為所述搜索詞的負樣本。
75.在本技術實施例中,查詢列表中排序位置在目標排序位置之前的查詢詞,一般為用戶進行選擇時查看過的查詢詞,其對于模型學習的參考性較高,將其與目標詞一起確定為搜索詞的負樣本。
76.本技術實施例中,首先,獲取搜索詞對應的查詢列表,查詢列表中包括多個查詢詞;并在多個查詢詞中確定正樣本及正樣本在查詢列表中的目標排序位置;然后,針對查詢列表中每個排序位置在目標排序位置之后的查詢詞,按照查詢詞對應的選取策略在預設集合中選取對應的目標詞,預設集合中包含查詢詞和召回池中的召回詞;最后,將查詢列表中排序位置在目標排序位置之前的查詢詞,以及,每個目標詞,確定為該搜索詞的負樣本。即,本技術中,對于查詢列表中排序位置在正樣本之后的查詢詞,并不是直接將其作為優化推薦模型的負樣本,而是在由該查詢詞和召回池構建的預設集合中,按照預設策略選取對應的目標詞作為負樣本,如此,可以提高負樣本的多樣性,從而提高對推薦模型的優化效果。
77.在本技術又一實施例中,所述方法還可以包括以下步驟:利用所述正樣本和所述負樣本訓練所述推薦模型,得到更新模型;利用所述更新模型更新所述推薦模型。如此,實現了基于選取的正樣本和負樣本對推薦模型的自動優化更新,提高了優化更新的效率。
78.參見圖2,為本發明實施例提供的另一種負樣本確定方法的實施例流程圖。該圖2所示流程在上述圖1所示流程的基礎上,描述如何按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞。如圖2所示,該流程可包括以下步驟:
79.s201,基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率,其中,所述第一選取概率為將所述查詢詞選取為所述目標詞的概率,所述第二選取概率為將所述召回詞選取為所述目標詞的概率。
80.s202,按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞。
81.以下對s201和s202進行統一說明:
82.第一選取概率,指將該位置的查詢詞選取為目標詞的概率,即,將該位置的查詢詞選取為負樣本的概率。
83.第二選取概率,指將召回詞選取為目標詞的概率。
84.在實際應用中,對于查詢列表中每個排序位置在正樣本之后的查詢詞,一般查詢詞位置越靠后,則用戶選擇時未查看過該查詢詞的概率越大,其對于模型學習的參考性越低。因此,本技術實施例中,針對查詢列表中每個排序位置在正樣本之后的查詢詞,可以基于查詢詞的排序位置確定選取該查詢詞作為負樣本的第一選取概率,進而通過第一選取概率確定選取召回詞作為負樣本的概率。
85.其中,第一選取概率與第二選取概率的和為1,并且,查詢詞的位置越靠后則第一選取概率越小,而第二選取概率越大,如此可以為參考性較低的查詢詞設置較小的被選取為負樣本的概率。進而,按照第一選取概率和第二選取概率在預設集合中選取目標詞。
86.作為一種可選的實現方式,查詢詞j對應的第一選取概率p1=log
10
(m+1-j),第二
選取概率p2=1-p1。其中,m為查詢列表中排序位置的數量,j為查詢詞j在排序序列中的排序位置。
87.例如,查詢列表中共有10個排序位置,即推薦10個查詢詞,正樣本位于第6個位置,則第7個位置的查詢詞對應的第一選取概率p1=log
10
(10+1-7),則第8個位置的查詢詞對應的第一選取概率p1=log
10
(10+1-8),則第9個位置的查詢詞對應的第一選取概率p1=log
10
(10+1-9),則第10個位置的查詢詞對應的第一選取概率p1=log
10
(10+1-10)。
88.本技術實施例中,根據查詢詞在查詢列表中的位置確定選取其作為負樣本的概率(即第一選取概率),以及,利用召喚詞替換該查詢詞作為負樣本的概率(即第二選取概率),進而,按照第一選取概率和第二選取概率在預設集合中選取目標詞。如此,實現了為查詢列表中參考性較低的查詢詞設置較小的被選取為負樣本的概率,從而保證后續對推薦模型進行優化時的優化效果。
89.在本技術又一實施例中,所述方法還可以包括以下步驟:確定預設時間段內是否基于所述查詢詞進行過查詢;在預設時間段內未選取過所述查詢詞作為所述搜索詞的負樣本的情況下,執行所述基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率至按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標詞的步驟;在預設時間段內選取過所述查詢詞作為所述搜索詞的負樣本的情況下,將所述查詢詞確定為所述目標詞。
90.在本技術實施例中,對于查詢列表中排序位置在正樣本之后的查詢詞,若在預設時間段內(如90天內),曾被用戶選擇為最后用于查詢的查詢詞,認為其作為負樣本的參考性較高,因此,直接選取該查詢詞作為目標詞,即,直接選取該查詢詞作為負樣本。若在預設時間段內,未被用戶選擇為最后用于查詢的查詢詞,才執行基于查詢詞在查詢列表中的位置確定第一選取概率和第二選取概率,并按照第一選取概率和第二選取概率在預設集合中選取目標詞的步驟。如此,可以進一步選取參考性較高的負樣本。
91.基于相同的技術構思,本技術實施例還提供了一種負樣本確定裝置,如圖3所示,該裝置包括:
92.獲取模塊301,用于獲取搜索詞對應的查詢列表,所述查詢列表中包括多個查詢詞;
93.第一確定模塊302,用于在多個所述查詢詞中確定正樣本及所述正樣本在所述查詢列表中的目標排序位置;
94.選取模塊303,用于針對所述查詢列表中每個排序位置在所述目標排序位置之后的查詢詞,按照所述查詢詞對應的選取策略在預設集合中選取對應的目標詞,所述預設集合中包含所述查詢詞和召回池中的召回詞;
95.第二確定模塊304,用于將所述查詢列表中排序位置在所述目標排序位置之前的查詢詞,以及,每個所述目標詞,確定為所述搜索詞的負樣本。
96.在一個可能的實施方式中,所述選取模塊,具體用于:
97.基于所述查詢詞在所述查詢列表中的排序位置確定第一選取概率和第二選取概率,其中,所述第一選取概率為將所述查詢詞選取為所述目標詞的概率,所述第二選取概率為將所述召回詞選取為所述目標詞的概率;
98.按照所述第一選取概率和所述第二選取概率,在所述預設集合中選取所述目標
interconnect,pci)總線或擴展工業標準結構(extended industry standard architecture,eisa)總線等。該通信總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
120.通信接口用于上述電子設備與其他設備之間的通信。
121.存儲器可以包括隨機存取存儲器(random access memory,ram),也可以包括非易失性存儲器(non-volatile memory,nvm),例如至少一個磁盤存儲器。可選的,存儲器還可以是至少一個位于遠離前述處理器的存儲裝置。
122.上述的處理器可以是通用處理器,包括中央處理器(central processing unit,cpu)、網絡處理器(network processor,np)等;還可以是數字信號處理器(digital signal processing,dsp)、專用集成電路(application specific integrated circuit,asic)、現場可編程門陣列(field-programmable gate array,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
123.在本技術提供的又一實施例中,還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質內存儲有計算機程序,所述計算機程序被處理器執行時實現上述任一負樣本確定方法的步驟。
124.在本技術提供的又一實施例中,還提供了一種包含指令的計算機程序產品,當其在計算機上運行時,使得計算機執行上述實施例中任一負樣本確定方法。
125.在上述實施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實現。當使用軟件實現時,可以全部或部分地以計算機程序產品的形式實現。所述計算機程序產品包括一個或多個計算機指令。在計算機上加載和執行所述計算機程序指令時,全部或部分地產生按照本技術實施例所述的流程或功能。所述計算機可以是通用計算機、專用計算機、計算機網絡、或者其他可編程裝置。所述計算機指令可以存儲在計算機可讀存儲介質中,或者從一個計算機可讀存儲介質向另一個計算機可讀存儲介質傳輸,例如,所述計算機指令可以從一個網站站點、計算機、服務器或數據中心通過有線(例如同軸電纜、光纖、數字用戶線(dsl))或無線(例如紅外、無線、微波等)方式向另一個網站站點、計算機、服務器或數據中心進行傳輸。所述計算機可讀存儲介質可以是計算機能夠存取的任何可用介質或者是包含一個或多個可用介質集成的服務器、數據中心等數據存儲設備。所述可用介質可以是磁性介質,(例如,軟盤、硬盤、磁帶)、光介質(例如,dvd)、或者半導體介質(例如固態硬盤solid state disk(ssd))等。
126.需要說明的是,在本文中,諸如“第一”和“第二”等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個
……”
限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
127.以上所述僅是本技術的具體實施方式,使本領域技術人員能夠理解或實現本技術。對這些實施例的多種修改對本領域的技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本技術的精神或范圍的情況下,在其它實施例中實現。因此,本技術
將不會被限制于本文所示的這些實施例,而是要符合與本文所申請的原理和新穎特點相一致的最寬的范圍。
