最大值(穩(wěn)定值)時(shí)可W結(jié)束訓(xùn)練,此時(shí)得 到最優(yōu)模型參數(shù)。由于該排序模型是根據(jù)用戶的點(diǎn)擊反饋訓(xùn)練得到的,因此,根據(jù)該排序模 型對(duì)捜索結(jié)果進(jìn)行排序,可W使得排序結(jié)果更加符合用戶行為,從而提高捜索排序結(jié)果的 準(zhǔn)確率。
[0094] 綜上,在本發(fā)明實(shí)施例中,根據(jù)用戶針對(duì)捜索排序結(jié)果的點(diǎn)擊反饋得到排序模型 的捜索點(diǎn)擊率,W及根據(jù)捜索點(diǎn)擊率對(duì)排序模型的模型參數(shù)進(jìn)行更新,可W在用戶行為偏 好發(fā)生變化時(shí)能夠自動(dòng)調(diào)整模型參數(shù)W適應(yīng)用戶的點(diǎn)擊行為,相對(duì)于現(xiàn)有技術(shù)需要重新構(gòu) 建數(shù)據(jù)集,可W提高訓(xùn)練模型參數(shù)的效率。 陽(yáng)0巧]實(shí)施例二
[0096] 參照?qǐng)D2,示出了本發(fā)明的一種排序模型的訓(xùn)練系統(tǒng)的結(jié)構(gòu)示意圖,具體可W包 括:捜索請(qǐng)求處理模塊210、排序模塊220、用戶行為反饋模塊230W及中央控制器240。
[0097] 其中,捜索請(qǐng)求處理模塊210,用于接收來(lái)自用戶的捜索請(qǐng)求,對(duì)捜索請(qǐng)求進(jìn)行分 詞處理,然后隨機(jī)向某一個(gè)排序模塊220發(fā)起該捜索請(qǐng)求,W及將來(lái)自排序模塊220的針對(duì) 所述捜索請(qǐng)求的捜索排序結(jié)果返回給用戶。
[0098] 排序模塊220,用于接收并處理來(lái)自所述捜索請(qǐng)求處理210模塊的捜索請(qǐng)求,例 如,可W利用捜索請(qǐng)求處理模塊210得到的分詞查詢倒排索引,然后,基于排序模型對(duì)查詢 結(jié)果進(jìn)行排序,得到捜索排序結(jié)果,W及將捜索排序結(jié)果返回給捜索請(qǐng)求處理模塊210。在 本發(fā)明實(shí)施例中,排序模塊220的個(gè)數(shù)可W大于等于2,各排序模塊可W共用一個(gè)索引,并 且采用相同的排序模型W及不同的模型參數(shù)。
[0099] 用戶行為反饋模塊230,用于收集用戶針對(duì)所述捜索排序結(jié)果的點(diǎn)擊反饋,并且周 期性計(jì)算各排序模塊的用戶捜索次數(shù)(impression_count)、用戶點(diǎn)擊次數(shù)(click_count) W及捜索點(diǎn)擊率(ctr,定義為click_counVimpression_count)。
[0100] 中央控制器240,用于根據(jù)各排序模塊的捜索點(diǎn)擊率,按照預(yù)置的參數(shù)更新算法對(duì) 各排序模塊的模型參數(shù)進(jìn)行更新;直到捜索點(diǎn)擊率達(dá)到穩(wěn)定值,停止更新。 陽(yáng)101] 在具體應(yīng)用中,可W在線上部署多個(gè)上述排序模塊220,各排序模塊共用一個(gè)索 弓I,并且采用相同的排序模型,不同的是每個(gè)排序模塊采用不同的模型參數(shù)。中央控制器 240可W實(shí)時(shí)配置各個(gè)排序模塊的模型參數(shù)。當(dāng)用戶發(fā)起捜索請(qǐng)求時(shí),捜索請(qǐng)求處理模塊 210將捜索請(qǐng)求隨機(jī)分配到某一個(gè)排序模塊220上,并將來(lái)自該排序模塊的捜索排序結(jié)果 返回給用戶。用戶行為反饋模塊230收集用戶針對(duì)所述捜索排序結(jié)果的點(diǎn)擊反饋(用戶 捜索次數(shù)impression_count、用戶點(diǎn)擊次數(shù)click_count),計(jì)算各排序模塊的捜索點(diǎn)擊率 ctr,并將捜索點(diǎn)擊率ctr發(fā)送給中央控制器240。中央控制器240根據(jù)各排序模塊的捜索 點(diǎn)擊率ctr,按照梯度下降法,周期性更新各個(gè)排序模塊的模型參數(shù),每次更新后,排序模塊 的參數(shù)相對(duì)于上一輪的更優(yōu)。迭代上述更新流程,直到捜索點(diǎn)擊率達(dá)到穩(wěn)態(tài),上述更新流程 能夠使得到達(dá)穩(wěn)態(tài)時(shí)捜索點(diǎn)擊率為極大值點(diǎn),此時(shí)停止更新。也即,本發(fā)明實(shí)施例通過(guò)自適 應(yīng)的學(xué)習(xí)更新模型參數(shù),使得捜索點(diǎn)擊率達(dá)到極大值,從而可W得到最優(yōu)的模型參數(shù),在提 高捜索點(diǎn)擊率的同時(shí),可W提高訓(xùn)練參數(shù)的效率。 陽(yáng)102] 實(shí)施例S 陽(yáng)103] 參照?qǐng)D3,示出了本發(fā)明的一種排序模型的訓(xùn)練方法實(shí)施例二的步驟流程圖,具體 可W包括:
[0104] 步驟301、隨機(jī)向某個(gè)排序模塊發(fā)送來(lái)自用戶的捜索請(qǐng)求;
[0105] 步驟302、接收來(lái)自所述排序模塊的所述捜索請(qǐng)求對(duì)應(yīng)的捜索排序結(jié)果; 陽(yáng)106] 步驟303、向用戶返回所述捜索排序結(jié)果; 陽(yáng)107]步驟304、根據(jù)用戶針對(duì)所述捜索排序結(jié)果的點(diǎn)擊反饋,確定所述排序模型對(duì)應(yīng)的 捜索點(diǎn)擊率;
[0108] 步驟305、根據(jù)所述捜索點(diǎn)擊率,按照預(yù)置的參數(shù)更新算法,對(duì)所述排序模型的模 型參數(shù)進(jìn)行更新。
[0109] 在本發(fā)明的一種應(yīng)用示例中,假設(shè)排序模塊的個(gè)數(shù)為2,排序模塊RSB_1和RSB_2, 排序模型包含m個(gè)參數(shù),采用基于梯度下降法更新模型參數(shù)。具體更新步驟可W如下:
[0110] 步驟S31、確定模型初始參數(shù)a1°,a2°...曰m°; 陽(yáng)111] 步驟S32、假設(shè)上一輪更新之后模型參數(shù)為aik,a,k...曰mN
[0112] 步驟S33、中央控制器將RSB_1和RSB_2的模型參數(shù)分別設(shè)置為aik,a3k...曰 和a>Aaik,a,k...amk,用戶行為反饋模塊收集兩種參數(shù)下用戶的點(diǎn)擊反饋,并計(jì)算 出RSB_1對(duì)應(yīng)的捜索點(diǎn)擊率ctr_l,RSB_2對(duì)應(yīng)的捜索點(diǎn)擊率ctr_2 ;W及,計(jì)算參數(shù)斜率
[0113]步驟S34、重復(fù)上述步驟S33的過(guò)程,依次計(jì)算如下各參數(shù)斜率: 陽(yáng)114]
[0115]步驟S35、根據(jù)上述參數(shù)斜率,按照如下公式更新模型參數(shù);
陽(yáng)120] 其中S為學(xué)習(xí)步長(zhǎng),取值范圍為(0, 1)。 陽(yáng)121] 步驟S36、在滿足穩(wěn)態(tài)條件時(shí),停止更新。
[0122] 具體地,當(dāng)aik"-a;%a2k"-a2*%都小于預(yù)設(shè)闊值時(shí),說(shuō)明訓(xùn)練結(jié) 果滿足穩(wěn)態(tài)條件,此時(shí),捜索點(diǎn)擊率達(dá)到極大值,則停止更新。
[0123] 在本發(fā)明實(shí)施例中,當(dāng)用戶發(fā)起捜索請(qǐng)求時(shí),將該捜索請(qǐng)求隨機(jī)分配到某個(gè)排序 模塊,并將該排序模塊返回的排序結(jié)果返回給用戶,基于用戶針對(duì)排序結(jié)果的點(diǎn)擊反饋更 新排序模塊的模型參數(shù),在每次更新后,可W使得排序模塊的參數(shù)相對(duì)于上一輪的更優(yōu)。迭 代上述更新過(guò)程,直到各排序模塊的捜索點(diǎn)擊率達(dá)到穩(wěn)態(tài),停止更新。在本發(fā)明實(shí)施例中, 由于訓(xùn)練數(shù)據(jù)可W通過(guò)各排序模塊產(chǎn)生的,因此,相對(duì)于現(xiàn)有技術(shù),不用構(gòu)建數(shù)據(jù)集,可W 節(jié)省大量的時(shí)間。此外,當(dāng)用戶行為發(fā)生變化時(shí),用戶的點(diǎn)擊反饋也會(huì)發(fā)生相應(yīng)的變化,本 發(fā)明基于用戶針對(duì)排序結(jié)果的點(diǎn)擊反饋更新排序模塊的模型參數(shù),因此,本發(fā)明實(shí)施例在 用戶行為偏好發(fā)生變化時(shí)能夠自動(dòng)調(diào)整模型參數(shù)W適應(yīng)用戶的點(diǎn)擊行為,相對(duì)于現(xiàn)有技術(shù) 需要重新構(gòu)建數(shù)據(jù)集,可W提高訓(xùn)練參數(shù)的效率。
[0124]需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組 合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐?據(jù)本發(fā)明實(shí)施例,某些步驟可W采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該 知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所設(shè)及的動(dòng)作并不一定是本發(fā)明實(shí)施 例所必須的。 陽(yáng)12引裝置實(shí)施例 陽(yáng)126]參照?qǐng)D4,示出了本發(fā)明的一種排序模型的訓(xùn)練裝置實(shí)施例的結(jié)構(gòu)框圖,具體可W包括:
[0127] 排序模塊410,用于根據(jù)排序模型,對(duì)用戶捜索請(qǐng)求對(duì)應(yīng)的捜索結(jié)果進(jìn)行排序,得 到對(duì)應(yīng)的捜索排序結(jié)果;
[0128]反饋模塊420,用于根據(jù)用戶針對(duì)所述捜索排序結(jié)果的點(diǎn)擊反饋,確定所述排序模 型對(duì)應(yīng)的捜索點(diǎn)擊率;及
[0129] 更新模塊430,用于根據(jù)所述捜索點(diǎn)擊率,按照預(yù)置的參數(shù)更新算法,對(duì)所述排序 模型的模型參數(shù)進(jìn)行更新。
[0130] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述排序模塊410,具體可W包括: 陽(yáng)131] 請(qǐng)求發(fā)送子模塊,用于向具有相同模型和不同參數(shù)的多個(gè)排序模型中的任意一 個(gè),發(fā)送來(lái)自用戶的用戶捜索請(qǐng)求;
[0132]結(jié)果接收子模塊,用于接收來(lái)自所述排序模型的所述用戶捜索請(qǐng)求對(duì)應(yīng)的捜索排 序結(jié)果。 陽(yáng)133] 在本發(fā)明的另一種優(yōu)選實(shí)施例中,所述更新模塊430,具體可W包括:
[0134] 更新子模塊,用于根據(jù)所述捜索點(diǎn)擊率,按照預(yù)置的參數(shù)更新算法,對(duì)所述排序模 型的模型參數(shù)進(jìn)行更新,直到各排序模型對(duì)應(yīng)的捜索點(diǎn)擊率達(dá)到穩(wěn)定值。
[0135] 在本發(fā)明的又一種優(yōu)選實(shí)施例中,所述反饋模塊420,具體可W包括: 陽(yáng)136] 收集子模塊,用于收集所述捜索排序結(jié)果對(duì)應(yīng)的用戶捜索次數(shù)和用戶點(diǎn)擊次數(shù);
[0137] 計(jì)算子模塊,用于根據(jù)所述用戶點(diǎn)擊次數(shù)與所述用戶捜索次數(shù)的比值,確定捜索 點(diǎn)擊率。
[0138] 在本發(fā)明的再一種優(yōu)選實(shí)施例中,所述預(yù)置的參數(shù)更新算法為梯度下降算法;
[0139] 所述更新模塊430,具體可W包括:
[0140] 初始化子模塊,用于確定所述各排序模型的初始參數(shù); 陽(yáng)141] 點(diǎn)擊率確定子模塊,用于確定所述各排序模型對(duì)應(yīng)的捜索點(diǎn)擊率;
[0142] 迭代更新子模塊,用于根據(jù)所述各排序模型對(duì)應(yīng)的