本發(fā)明涉及搜索技術(shù)領(lǐng)域,尤其涉及一種推廣關(guān)鍵詞的觸發(fā)方法及裝置。
背景技術(shù):
搜索引擎是網(wǎng)民獲取信息的主要途徑,而搜索引擎的收入主要來(lái)自于搜索推廣,因此搜索引擎公司需要構(gòu)建復(fù)雜的搜索推廣投放系統(tǒng)。而搜索推廣投放系統(tǒng)展現(xiàn)推廣的主要流程為:1)根據(jù)用戶的搜索詞找到與之相關(guān)的推廣關(guān)鍵詞;2)找到購(gòu)買了這些推廣關(guān)鍵詞的廣告并進(jìn)行點(diǎn)擊率預(yù)估;3)根據(jù)一定的機(jī)制選擇推廣展現(xiàn)給用戶。其中,如何根據(jù)用戶的搜索詞觸發(fā)出合適的拍賣詞,在很大程度上決定了展現(xiàn)的廣告是否符合用戶的搜索意圖。因此,推廣關(guān)鍵詞的觸發(fā)技術(shù)是搜索推廣投放系統(tǒng)中的核心技術(shù)之一。
而目前推廣關(guān)鍵詞的觸發(fā)技術(shù)大多基于搜索關(guān)鍵詞的字面變換,例如基于同義詞的變換,這種方式,并不能真正從語(yǔ)義上確定與query相匹配的推廣關(guān)鍵詞,導(dǎo)致觸發(fā)推廣關(guān)鍵詞的準(zhǔn)確率和召回率較低。因此亟需提供一種推廣關(guān)鍵詞的觸發(fā)方法,實(shí)現(xiàn)真正從語(yǔ)義上確定與query相匹配的推廣關(guān)鍵詞,提升推廣關(guān)鍵詞觸發(fā)的準(zhǔn)確率和召回率。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種推廣關(guān)鍵詞的觸發(fā)方法和裝置,實(shí)現(xiàn)真正從語(yǔ)義上確定與query相匹配的推廣關(guān)鍵詞,提升推廣關(guān)鍵詞觸發(fā)的準(zhǔn)確率和召回率。
本發(fā)明為解決技術(shù)問(wèn)題而采用的技術(shù)方案是提供一種推廣關(guān)鍵詞的觸發(fā)方法,所述方法包括:獲取用戶輸入的query;將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型,得到輸出序列;利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞;其中,所述翻譯模型是采用如下方式預(yù)先訓(xùn)練得到的:從用戶點(diǎn)擊行為日志中獲取query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù);利用訓(xùn)練數(shù)據(jù)中的query得到輸入序列,利用query對(duì)應(yīng)的被點(diǎn)擊標(biāo)題得到目標(biāo)序列,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,得到翻譯模型。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型包括:對(duì)所述獲取的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列輸入到翻譯模型;所述利用訓(xùn)練數(shù)據(jù)中的query得到輸入序列包括:將訓(xùn)練數(shù)據(jù)中的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,,所述翻譯模型利用beam-search技術(shù)以及預(yù)設(shè)的推廣關(guān)鍵詞庫(kù),對(duì)所述獲取的query對(duì)應(yīng)的輸入序列進(jìn)行翻譯,得到輸出序列。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯模型對(duì)所述獲取的query對(duì)應(yīng)的輸入序列翻譯得到的各輸出序列滿足以下條件:輸出序列的數(shù)量在beam-size以內(nèi),且各輸出序列的概率大于或等于預(yù)設(shè)的概率閾值Q,且在所述推廣關(guān)鍵詞庫(kù)中存在與所述輸出序列一致的推廣關(guān)鍵詞或者存在以所述輸出序列為前綴的推廣關(guān)鍵詞。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯模型在對(duì)所述輸入序列進(jìn)行翻譯的過(guò)程中,在各層均進(jìn)行如下處理:在推廣關(guān)鍵詞庫(kù)中查詢各層翻譯得到的候選詞語(yǔ);若推廣關(guān)鍵詞庫(kù)中不存在以之前各層已確定的詞語(yǔ)與該候選詞語(yǔ)構(gòu)成的序列為前綴的詞語(yǔ),則將該候選詞語(yǔ)剪枝掉;將剩余的候選詞語(yǔ)依據(jù)概率值進(jìn)行排序,將排在beam-size個(gè)之后的詞語(yǔ)剪枝掉;對(duì)排在beam-size個(gè)以內(nèi)的詞語(yǔ)中,概率值小于所述Q的詞語(yǔ)剪枝掉。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述神經(jīng)網(wǎng)絡(luò)模型為:循環(huán)神經(jīng)網(wǎng)絡(luò)模型RNN。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞包括:判斷推廣關(guān)鍵詞庫(kù)中是否存在與所述輸出序列一致的推廣關(guān)鍵詞,如果是,則將與所述輸出序列一致的推廣關(guān)鍵詞作為所述query觸發(fā)的推廣關(guān)鍵詞。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述方法還包括:在所述query對(duì)應(yīng)的搜索結(jié)果頁(yè)中包括所述query觸發(fā)的推廣關(guān)鍵詞對(duì)應(yīng)的推廣結(jié)果。
本發(fā)明為解決技術(shù)問(wèn)題提供一種推廣關(guān)鍵詞的觸發(fā)裝置,所述裝置包括:獲取單元,用于獲取用戶輸入的query;翻譯單元,用于將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型,得到輸出序列;確定單元,用于利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞;訓(xùn)練單元,用于采用如下方式預(yù)先訓(xùn)練得到所述翻譯模型:從用戶點(diǎn)擊行為日志中獲取query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù);利用訓(xùn)練數(shù)據(jù)中的query得到輸入序列,利用query對(duì)應(yīng)的被點(diǎn)擊標(biāo)題得到目標(biāo)序列,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,得到翻譯模型。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯單元將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型時(shí),具體執(zhí)行:對(duì)所述獲取的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列輸入到翻譯模型;所述訓(xùn)練單元在利用訓(xùn)練數(shù)據(jù)中的query得到輸入序列時(shí),具體執(zhí)行:翻譯單元將訓(xùn)練數(shù)據(jù)中的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯單元的翻譯模型利用beam-search技術(shù)以及預(yù)設(shè)的推廣關(guān)鍵詞庫(kù),對(duì)所述獲取的query對(duì)應(yīng)的輸入序列進(jìn)行翻譯,得到輸出序列。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯單元中的翻譯模型對(duì)所述獲取的query對(duì)應(yīng)的輸入序列翻譯得到的各輸出序列滿足以下條件:輸出序列的數(shù)量在beam-size以內(nèi),且各輸出序列的概率大于或等于預(yù)設(shè)的概率閾值Q,且在所述推廣關(guān)鍵詞庫(kù)中存在與所述輸出序列一致的推廣關(guān)鍵詞或者存在以所述輸出序列為前綴的推廣關(guān)鍵詞。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯單元中的翻譯模型在對(duì)所述輸入序列進(jìn)行翻譯的過(guò)程中,在各層均進(jìn)行如下處理:在推廣關(guān)鍵詞庫(kù)中查詢各層翻譯得到的候選詞語(yǔ);若推廣關(guān)鍵詞庫(kù)中不存在以之前各層已確定的詞語(yǔ)與該候選詞語(yǔ)構(gòu)成的序列為前綴的詞語(yǔ),則將該候選詞語(yǔ)剪枝掉;將剩余的候選詞語(yǔ)依據(jù)概率值進(jìn)行排序,將排在beam-size個(gè)之后的詞語(yǔ)剪枝掉;對(duì)排在beam-size個(gè)以內(nèi)的詞語(yǔ)中,概率值小于所述Q的詞語(yǔ)剪枝掉。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述翻譯單元中翻譯模型使用的神經(jīng)網(wǎng)絡(luò)模型為:循環(huán)神經(jīng)網(wǎng)絡(luò)模型RNN。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述確定單元在利用輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞包括:判斷推廣關(guān)鍵詞庫(kù)中是否存在與所述輸出序列一致的推廣關(guān)鍵詞,如果是,則將與所述輸出序列一致的推廣關(guān)鍵詞作為所述query觸發(fā)的推廣關(guān)鍵詞。
根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述裝置還包括:觸發(fā)單元,用于在所述query對(duì)應(yīng)的搜索結(jié)果頁(yè)中包括所述query觸發(fā)的推廣關(guān)鍵詞對(duì)應(yīng)的推廣結(jié)果。
由以上技術(shù)方案可以看出,本發(fā)明選取用戶點(diǎn)擊行為日志中的query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型以得到翻譯模型,在獲取用戶輸入的query后,通過(guò)預(yù)先訓(xùn)練得到的翻譯模型獲得該query觸發(fā)的推廣關(guān)鍵詞。這種方式能夠獲取到在語(yǔ)義上與query匹配的推廣關(guān)鍵詞,相比較字面變換的方式,準(zhǔn)確率和召回率都得到了較大的提升。
【附圖說(shuō)明】
圖1為本發(fā)明一實(shí)施例提供的方法流程圖。
圖2為本發(fā)明實(shí)施例提供的RNN網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖3為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
圖4為本發(fā)明實(shí)施例提供的設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。
應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測(cè)”。類似地,取決于語(yǔ)境,短語(yǔ)“如果確定”或“如果檢測(cè)(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(cè)(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(cè)(陳述的條件或事件)”。
圖1為本發(fā)明一實(shí)施例提供的方法流程圖,如圖1所示,該方法可以主要包括以下步驟:
在101中,獲取用戶輸入的query。
在本步驟中,用戶輸入的query可以為任意形式,可以為單個(gè)詞,也可以為一句話。
在102中,將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型,得到輸出序列。
在本步驟中,對(duì)所述獲取的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列輸入到翻譯模型中。其中的翻譯模型為預(yù)先訓(xùn)練得到的,通過(guò)所獲取的訓(xùn)練數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,從而得到翻譯模型。
在對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練時(shí),所使用的訓(xùn)練數(shù)據(jù)為:從用戶點(diǎn)擊行為日志中獲取的query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題所構(gòu)成的二元組。其中被點(diǎn)擊標(biāo)題優(yōu)選被點(diǎn)擊推廣結(jié)果的標(biāo)題。
其中,用戶點(diǎn)擊行為日志來(lái)自于搜索引擎的日志系統(tǒng)。搜索引擎的日志系統(tǒng)會(huì)記錄用戶的點(diǎn)擊行為,該點(diǎn)擊行為反映了用戶的搜索意圖和搜索結(jié)果與推廣之間的相關(guān)性。在搜索引擎的日志系統(tǒng)中,會(huì)有成熟的算法對(duì)用戶的有效性和用戶點(diǎn)擊行為的有效性進(jìn)行標(biāo)識(shí),因此本步驟在訓(xùn)練翻譯模型時(shí)所使用的訓(xùn)練數(shù)據(jù)為有效用戶產(chǎn)生的有效點(diǎn)擊數(shù)據(jù),也可以將該訓(xùn)練數(shù)據(jù)稱之為用戶的優(yōu)質(zhì)點(diǎn)擊行為數(shù)據(jù)。利用該訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練所得到的翻譯模型對(duì)輸入query進(jìn)行翻譯時(shí)會(huì)更加準(zhǔn)確有效。
在使用訓(xùn)練數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型得到翻譯模型時(shí),將訓(xùn)練數(shù)據(jù)中的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列,訓(xùn)練數(shù)據(jù)中query對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為目標(biāo)序列進(jìn)行訓(xùn)練。
在本步驟中,所使用的神經(jīng)網(wǎng)絡(luò)模型優(yōu)選循環(huán)神經(jīng)網(wǎng)絡(luò)模型(RNN,Recurrent Neural Network),這是因?yàn)檠h(huán)神經(jīng)網(wǎng)絡(luò)模型網(wǎng)絡(luò)結(jié)構(gòu)中的隱節(jié)點(diǎn)之間連接形成環(huán)狀,而其內(nèi)部狀態(tài)則由輸入序列決定,因此循環(huán)神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)結(jié)構(gòu)非常適合用來(lái)處理較長(zhǎng)的文本序列,在以下說(shuō)明中用RNN來(lái)表示循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
RNN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,該結(jié)構(gòu)從下到上主要分為5個(gè)部分,完成由輸入序列到目標(biāo)序列的訓(xùn)練過(guò)程,而該訓(xùn)練過(guò)程實(shí)際上就是從query到該query所對(duì)應(yīng)被點(diǎn)擊標(biāo)題的翻譯過(guò)程。
其中,RNN網(wǎng)絡(luò)結(jié)構(gòu)的第一層為輸入端的詞向量層,該層將query的每個(gè)詞表示為詞向量,例如訓(xùn)練數(shù)據(jù)中的query為“如何培養(yǎng)孩子的良好習(xí)慣”,將分詞后得到的詞匯“如何”、“培養(yǎng)”、“孩子”、“的”、“良好”、“習(xí)慣”表示為詞向量的形式,方框內(nèi)的數(shù)字即表示該詞的詞向量,通過(guò)計(jì)算詞向量之間的余弦相似度來(lái)衡量詞語(yǔ)之間的語(yǔ)義相似度;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第二層為雙向RNN層,該層從正反兩個(gè)方向讀取輸入的詞向量序列,通過(guò)迭代的方式將讀到的序列信息編碼成內(nèi)部狀態(tài),因?yàn)橛?xùn)練數(shù)據(jù)中的query包含有豐富的語(yǔ)義信息,經(jīng)過(guò)第一層將query表示為詞向量后,不同的詞向量中包含不同的語(yǔ)義信息,雙向RNN層將詞向量序列中的語(yǔ)義信息進(jìn)行編碼,并將輸入序列的語(yǔ)義信息編碼在RNN的內(nèi)部狀態(tài)中;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第三層為對(duì)齊層,該層用不同的權(quán)重值對(duì)雙向RNN的內(nèi)部狀態(tài)進(jìn)行加權(quán);RNN網(wǎng)絡(luò)結(jié)構(gòu)的第四層為RNN層,該層通過(guò)迭代的方式,依據(jù)對(duì)齊層的輸出、上一次迭代的內(nèi)部狀態(tài)及已翻譯出的詞序列,計(jì)算出該次迭代中各詞的概率;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第五層為輸出端的詞向量層,該層表示了由輸入序列翻譯得到的目標(biāo)序列中每個(gè)詞的詞向量。
舉例來(lái)說(shuō),訓(xùn)練數(shù)據(jù)中的query為“如何培養(yǎng)孩子的良好習(xí)慣”,而該query對(duì)應(yīng)被點(diǎn)擊的標(biāo)題為“兒童好習(xí)慣培養(yǎng)”。利用RNN網(wǎng)絡(luò)結(jié)構(gòu)對(duì)該訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練的目標(biāo)是盡可能通過(guò)該RNN網(wǎng)絡(luò)結(jié)構(gòu),在query為“如何培養(yǎng)孩子的良好習(xí)慣”時(shí),輸出的目標(biāo)序列為“兒童好習(xí)慣培養(yǎng)”。也就是說(shuō)以RNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練的目的為:使得訓(xùn)練數(shù)據(jù)中的query經(jīng)過(guò)翻譯后盡可能得到該query對(duì)應(yīng)被點(diǎn)擊的標(biāo)題。
由上面對(duì)RNN訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)的描述中可以看出,RNN網(wǎng)絡(luò)結(jié)構(gòu)在翻譯模型中主要用來(lái)對(duì)序列數(shù)據(jù)進(jìn)行編碼和解碼,雙向RNN層對(duì)輸入序列進(jìn)行編碼,將輸入序列的語(yǔ)義信息編碼在RNN的內(nèi)部狀態(tài)中;而RNN層則將含有語(yǔ)義信息的內(nèi)部狀態(tài)解碼成目標(biāo)序列,以此完成由輸入序列到目標(biāo)序列的翻譯過(guò)程。
因此在本步驟中,將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型后,得到的輸出序列即包含有該query的語(yǔ)義信息。
在103中,利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞。
在本步驟中,在利用訓(xùn)練數(shù)據(jù)進(jìn)行翻譯模型的訓(xùn)練時(shí),將所獲取的訓(xùn)練數(shù)據(jù)中所有的query及標(biāo)題進(jìn)行分詞處理,并將所有訓(xùn)練數(shù)據(jù)分詞后得到的詞匯組成候選翻譯字符集合。
通過(guò)步驟102,得到所述輸入query的語(yǔ)義信息之后,翻譯模型根據(jù)所述輸入query的語(yǔ)義信息,對(duì)候選翻譯字符集合中的每個(gè)字符賦予相應(yīng)的概率值。也就是說(shuō),當(dāng)所輸入的query不同時(shí),翻譯模型對(duì)候選翻譯字符集合中的每個(gè)字符所賦予的概率值是不同的。根據(jù)所述候選翻譯字符集合中每個(gè)字符的概率值,結(jié)合beam-search技術(shù)以及推廣關(guān)鍵詞庫(kù),對(duì)所述輸入序列進(jìn)行翻譯,得到輸出序列。
推廣關(guān)鍵詞的觸發(fā)可以看作是從query到推廣關(guān)鍵詞的翻譯過(guò)程,因此可以應(yīng)用上述翻譯模型完成query到推廣關(guān)鍵詞的觸發(fā)。但是在這種翻譯過(guò)程中還存在一個(gè)問(wèn)題,即使用翻譯模型翻譯的過(guò)程是自由的,其輸出序列是一個(gè)開(kāi)放空間,因此并不能保證由所輸入的query經(jīng)過(guò)翻譯模型后就會(huì)觸發(fā)廣告主所購(gòu)買的推廣關(guān)鍵詞,而且標(biāo)準(zhǔn)機(jī)器翻譯只要求返回一個(gè)最優(yōu)解,因此會(huì)導(dǎo)致降低推廣關(guān)鍵詞觸發(fā)的召回率。
針對(duì)上述問(wèn)題,本發(fā)明在利用翻譯模型對(duì)輸入的query進(jìn)行翻譯時(shí),采用了改進(jìn)的beam-search技術(shù),即在對(duì)輸入query進(jìn)行翻譯前,預(yù)先設(shè)定beam-size和概率閾值Q。其中,概率閾值Q決定了候選序列選擇的最低概率值,該值通過(guò)多次實(shí)驗(yàn)觀察得出;beam-size則決定了每一層翻譯時(shí)選擇的候選序列數(shù)量以及最終候選序列集合的大小,該值需要通過(guò)權(quán)衡翻譯性能以及翻譯結(jié)果相關(guān)性來(lái)決定。而且本發(fā)明在利用翻譯模型對(duì)輸入的query進(jìn)行翻譯時(shí),還需要結(jié)合推廣關(guān)鍵詞庫(kù)進(jìn)行,該推廣關(guān)鍵詞庫(kù)包含了廣告主所購(gòu)買的所有推廣關(guān)鍵詞。
因此,在通過(guò)翻譯模型翻譯得到的各輸出序列滿足以下條件:輸出序列的數(shù)量在beam-size以內(nèi),且各輸出序列的概率大于或等于預(yù)設(shè)的概率閾值Q,且在所述推廣關(guān)鍵詞庫(kù)中存在與所述輸出序列一致的推廣關(guān)鍵詞或者存在以所述輸出序列為前綴的推廣關(guān)鍵詞。
在翻譯模型對(duì)所輸入的query進(jìn)行翻譯的過(guò)程中,根據(jù)輸入query的語(yǔ)義信息,翻譯模型賦予候選翻譯字符集合中每個(gè)字符概率值,根據(jù)所述候選字符集合中每個(gè)字符的概率值,在推廣關(guān)鍵詞庫(kù)中得到beam-size個(gè)候選字符,因此就保證了不在推廣關(guān)鍵詞庫(kù)中的詞語(yǔ)不會(huì)出現(xiàn)在翻譯模型得到的結(jié)果中。
并且在使用訓(xùn)練數(shù)據(jù)進(jìn)行翻譯模型的訓(xùn)練時(shí),在query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題后自動(dòng)添加一個(gè)特殊標(biāo)記字符,該特殊標(biāo)記字符用以表示翻譯結(jié)束,那么通過(guò)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,翻譯模型就可以學(xué)習(xí)到在什么時(shí)候輸出的那些詞會(huì)構(gòu)成一個(gè)完整的句子時(shí)結(jié)束翻譯過(guò)程。
因此,當(dāng)某個(gè)候選字符以該特殊標(biāo)記字符結(jié)尾時(shí),表明本次翻譯過(guò)程結(jié)束。在翻譯結(jié)束時(shí),選取beam-size個(gè)大于概率閾值Q的候選字符作為最終候選字符,該最終候選字符即為對(duì)所述輸入query翻譯后得到的推廣關(guān)鍵詞。
舉例來(lái)說(shuō),假設(shè)翻譯模型采用的候選翻譯字符集合為{a,b,c,d,EOF},即在翻譯過(guò)程中目標(biāo)序列中的各候選字符從該集合中選取。其中EOF代表翻譯結(jié)束的特殊標(biāo)記字符,設(shè)定beam-size=2,概率閾值Q=0.3,最終候選序列集合表示為R。
在翻譯輸入query的首字符時(shí),翻譯模型根據(jù)該query的語(yǔ)義信息在候選翻譯字符集合中給出每個(gè)字符作為首字符的概率值,如p(a)代表字符a作為翻譯結(jié)果首字符的概率值,p(b)代表字符b作為翻譯結(jié)果首字符的概率值,以此類推。將該字符的概率值從大到小進(jìn)行排序,假如p(a)最大,則在推廣關(guān)鍵詞庫(kù)中首先檢索是否有以a為前綴的推廣關(guān)鍵詞,若有,則將a作為候選首字符,若沒(méi)有,則剪枝掉a;設(shè)p(b)僅次于p(a),則在推廣關(guān)鍵詞庫(kù)中檢索是否有b,若有,則將b作為候選首字符,若沒(méi)有,則剪枝掉b。按照該選取規(guī)則,最終選取beam-size個(gè)候選首字符,其余字符都剪枝掉,且必須保證該beam-size各候選首字符的概率值均大于或等于預(yù)設(shè)的概率閾值Q,對(duì)于概率值小于Q的候選首字符也被剪枝掉。因?yàn)樵O(shè)定的beam-size=2,所以選取兩個(gè)字符作為候選首字符,假設(shè)本次選擇的候選首字符是a和b。
對(duì)于翻譯的第二個(gè)字符,翻譯模型會(huì)計(jì)算出以a或b開(kāi)頭的所有序列{aa,ab,ac,ad,aEOF,ba,bb,bc,bd,bEOF}的概率,同首字符的選取規(guī)則一樣,將這些序列依據(jù)概率值的大小降序排序,并在推廣關(guān)鍵詞庫(kù)中檢索是否有以得到的序列為前綴的推廣關(guān)鍵詞,若有則選取,若無(wú)則剪枝掉。最終選取beam-size個(gè)概率值大于或等于Q的候選序列進(jìn)行繼續(xù)翻譯。
重復(fù)以上翻譯過(guò)程,當(dāng)某個(gè)候選序列以EOF結(jié)尾時(shí),則認(rèn)為該輸入序列的翻譯過(guò)程結(jié)束,若所得到的候選序列的概率值大于概率閾值Q,則將該序列放入最終候選序列集合R中。當(dāng)集合R的大小等于beam-size時(shí),翻譯結(jié)束。
再舉例來(lái)說(shuō),用戶輸入的query為“如何選擇北京鮮花速遞”,將該query進(jìn)行分詞處理后得到“如何”、“選擇”、“北京”、“鮮花”、“速遞”,將分詞處理后得到的詞匯輸入到翻譯模型,通過(guò)翻譯模型得知該輸入query的語(yǔ)義后,翻譯模型開(kāi)始進(jìn)行翻譯。
翻譯模型首先確定輸出的第一個(gè)詞是什么,根據(jù)query的語(yǔ)義對(duì)候選翻譯字符集合中的每個(gè)字符賦予概率值,該概率值代表候選翻譯字符中每個(gè)字符作為首字符的概率。假如,“如何”、“哪里”、“北京”這三個(gè)詞的概率值較高,但在推廣關(guān)鍵詞庫(kù)中沒(méi)有檢索到以“如何”、“哪里”開(kāi)頭的推廣關(guān)鍵詞,而檢索到以“北京”開(kāi)頭的推廣關(guān)鍵詞,則放棄前兩個(gè)詞,選取“北京”作為首字符。然后翻譯模型確定輸出的第二個(gè)詞是什么,也就是跟在詞語(yǔ)“北京”后輸出哪個(gè)詞合適,翻譯模型同樣對(duì)候選翻譯字符集合中每個(gè)字符賦予概率值,該概率值代表跟在“北京”之后輸出這個(gè)詞匯的可能性,假設(shè)第二個(gè)字符為“鮮花”和“花卉”的概率值較高,并且在推廣關(guān)鍵詞庫(kù)中檢索到有以“北京鮮花”或者“北京花卉”開(kāi)頭的推廣關(guān)鍵詞,則將“鮮花”、“花卉”選擇為第二個(gè)詞,以此類推。假設(shè)翻譯模型選擇了“北京”、“鮮花”、“快遞”這三個(gè)詞匯后,在選擇第四個(gè)詞匯時(shí),翻譯模型發(fā)現(xiàn)第四個(gè)字符為“EOF”的概率最大,則結(jié)束本次翻譯過(guò)程。這時(shí)模型會(huì)在推廣關(guān)鍵詞庫(kù)中檢索是否有“北京鮮花快遞”這個(gè)推廣關(guān)鍵詞,如果有,并且該推廣關(guān)鍵詞的概率大于設(shè)定的概率閾值Q時(shí),將該詞作為候選推廣關(guān)鍵詞輸出。
在利用所述輸出序列確定由所述query觸發(fā)的推廣關(guān)鍵詞后,便可以利用該推廣關(guān)鍵詞得到與該推廣關(guān)鍵詞所對(duì)應(yīng)的推廣,在用戶輸入query后所對(duì)應(yīng)的搜索結(jié)果頁(yè)中便包括由所述query觸發(fā)的推廣關(guān)鍵詞對(duì)應(yīng)的推廣結(jié)果。
利用本發(fā)明提供的技術(shù)方案,選取用戶點(diǎn)擊行為日志中的query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型以得到翻譯模型,在獲取用戶輸入的query后,通過(guò)預(yù)先訓(xùn)練得到的翻譯模型獲得該query觸發(fā)的推廣關(guān)鍵詞。這種方式能夠獲取到在語(yǔ)義上與query匹配的推廣關(guān)鍵詞,相比較字面變換的方式,觸發(fā)推廣關(guān)鍵詞的準(zhǔn)確率和召回率都得到了較大的提升。
下面對(duì)本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖進(jìn)行詳述。如圖3中所示,所述裝置主要包括:獲取單元31、翻譯單元32、確定單元33、訓(xùn)練單元34以及觸發(fā)單元35。
獲取單元31,用于獲取用戶輸入的query。
在本步驟中,用戶輸入的query可以為任意形式,可以為單個(gè)詞,也可以為一句話。
翻譯單元32,用于將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型,得到輸出序列。
翻譯單元32需要將所述獲取的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列,然后將該輸入序列輸入到翻譯模型進(jìn)行翻譯。
翻譯單元32中所使用的翻譯模型由訓(xùn)練單元34預(yù)先訓(xùn)練得到的,訓(xùn)練單元34通過(guò)所獲取的訓(xùn)練數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,從而得到翻譯模型。
訓(xùn)練單元34對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練所使用的訓(xùn)練數(shù)據(jù)為:從用戶點(diǎn)擊行為日志中獲取的query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題所構(gòu)成的二元組。其中被點(diǎn)擊標(biāo)題優(yōu)選被點(diǎn)擊推廣結(jié)果的標(biāo)題。
其中,用戶點(diǎn)擊行為日志來(lái)自于搜索引擎的日志系統(tǒng)。搜索引擎的日志系統(tǒng)會(huì)記錄用戶的點(diǎn)擊行為,該點(diǎn)擊行為反映了用戶的搜索意圖和搜索結(jié)果與推廣之間的相關(guān)性。在搜索引擎的日志系統(tǒng)中,會(huì)有成熟的算法對(duì)用戶的有效性和用戶點(diǎn)擊行為的有效性進(jìn)行標(biāo)識(shí),因此本步驟在訓(xùn)練翻譯模型時(shí)所使用的訓(xùn)練數(shù)據(jù)為有效用戶產(chǎn)生的有效點(diǎn)擊數(shù)據(jù),也可以將該訓(xùn)練數(shù)據(jù)稱之為用戶的優(yōu)質(zhì)點(diǎn)擊行為數(shù)據(jù)。利用該訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練所得到的翻譯模型對(duì)輸入query進(jìn)行翻譯時(shí)會(huì)更加準(zhǔn)確有效。
訓(xùn)練單元34在使用訓(xùn)練數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型得到翻譯模型時(shí),需要將訓(xùn)練數(shù)據(jù)中的query進(jìn)行分詞處理,將分詞處理后得到的詞語(yǔ)序列作為輸入序列,訓(xùn)練數(shù)據(jù)中query對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為目標(biāo)序列進(jìn)行訓(xùn)練。
在本步驟中,所使用的神經(jīng)網(wǎng)絡(luò)模型優(yōu)選循環(huán)神經(jīng)網(wǎng)絡(luò)模型(RNN,Recurrent Neural Network),這是因?yàn)檠h(huán)神經(jīng)網(wǎng)絡(luò)模型網(wǎng)絡(luò)結(jié)構(gòu)中的隱節(jié)點(diǎn)之間連接形成環(huán)狀,而其內(nèi)部狀態(tài)則由輸入序列決定,因此循環(huán)神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)結(jié)構(gòu)非常適合用來(lái)處理較長(zhǎng)的文本序列。
RNN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,該結(jié)構(gòu)從下到上主要分為5個(gè)部分,完成由輸入序列到目標(biāo)序列的訓(xùn)練過(guò)程,而該訓(xùn)練過(guò)程實(shí)際上就是從query到該query所對(duì)應(yīng)被點(diǎn)擊標(biāo)題的翻譯過(guò)程。
其中,RNN網(wǎng)絡(luò)結(jié)構(gòu)的第一層為輸入端的詞向量層,該層將query的每個(gè)詞表示為詞向量,例如訓(xùn)練數(shù)據(jù)中的query為“如何培養(yǎng)孩子的良好習(xí)慣”,將分詞后得到的詞匯“如何”、“培養(yǎng)”、“孩子”、“的”、“良好”、“習(xí)慣”表示為詞向量的形式,方框內(nèi)的數(shù)字即表示該詞的詞向量,通過(guò)計(jì)算詞向量之間的余弦相似度來(lái)衡量詞語(yǔ)之間的語(yǔ)義相似度;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第二層為雙向RNN層,該層從正反兩個(gè)方向讀取輸入的詞向量序列,通過(guò)迭代的方式將讀到的序列信息編碼成內(nèi)部狀態(tài),因?yàn)橛?xùn)練數(shù)據(jù)中的query包含有豐富的語(yǔ)義信息,經(jīng)過(guò)第一層將query表示為詞向量后,不同的詞向量中包含不同的語(yǔ)義信息,雙向RNN層將詞向量序列中的語(yǔ)義信息進(jìn)行編碼,并將輸入序列的語(yǔ)義信息編碼在RNN的內(nèi)部狀態(tài)中;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第三層為對(duì)齊層,該層用不同的權(quán)重值對(duì)雙向RNN的內(nèi)部狀態(tài)進(jìn)行加權(quán);RNN網(wǎng)絡(luò)結(jié)構(gòu)的第四層為RNN層,該層通過(guò)迭代的方式,依據(jù)對(duì)齊層的輸出、上一次迭代的內(nèi)部狀態(tài)及已翻譯出的詞序列,計(jì)算出該次迭代中各詞的概率;RNN網(wǎng)絡(luò)結(jié)構(gòu)的第五層為輸出端的詞向量層,該層表示了由輸入序列翻譯得到的目標(biāo)序列中每個(gè)詞的詞向量。
舉例來(lái)說(shuō),訓(xùn)練數(shù)據(jù)中的query為“如何培養(yǎng)孩子的良好習(xí)慣”,而該query對(duì)應(yīng)被點(diǎn)擊的標(biāo)題為“兒童好習(xí)慣培養(yǎng)”。利用RNN網(wǎng)絡(luò)結(jié)構(gòu)對(duì)該訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練的目標(biāo)是盡可能通過(guò)該RNN網(wǎng)絡(luò)結(jié)構(gòu),在query為“如何培養(yǎng)孩子的良好習(xí)慣”時(shí),輸出的目標(biāo)序列為“兒童好習(xí)慣培養(yǎng)”。也就是說(shuō)以RNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練的目的為:使得訓(xùn)練數(shù)據(jù)中的query經(jīng)過(guò)翻譯后盡可能得到該query對(duì)應(yīng)被點(diǎn)擊的標(biāo)題。
由上面對(duì)RNN訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)的描述中可以看出,RNN網(wǎng)絡(luò)結(jié)構(gòu)在翻譯模型中主要用來(lái)對(duì)序列數(shù)據(jù)進(jìn)行編碼和解碼,雙向RNN層對(duì)輸入序列進(jìn)行編碼,將輸入序列的語(yǔ)義信息編碼在RNN的內(nèi)部狀態(tài)中;而RNN層則將含有語(yǔ)義信息的內(nèi)部狀態(tài)解碼成目標(biāo)序列,以此完成由輸入序列到目標(biāo)序列的翻譯過(guò)程。
因此在本步驟中,翻譯單元32將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型中,得到的輸出序列包含有該query的語(yǔ)義信息。
確定單元33,用于利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞。
在利用訓(xùn)練數(shù)據(jù)進(jìn)行翻譯模型的訓(xùn)練時(shí),將所獲取的訓(xùn)練數(shù)據(jù)中所有的query及標(biāo)題進(jìn)行分詞處理,并將所有訓(xùn)練數(shù)據(jù)分詞后得到的詞匯組成候選翻譯字符集合。
通過(guò)翻譯單元32得到所述輸入query的語(yǔ)義信息之后,翻譯單元32中的翻譯模型根據(jù)所述輸入query的語(yǔ)義信息,對(duì)候選翻譯字符集合中的每個(gè)字符賦予相應(yīng)的概率值。也就是說(shuō),當(dāng)所輸入的query不同時(shí),翻譯模型對(duì)候選翻譯字符集合中的每個(gè)字符所賦予的概率值是不同的。根據(jù)所述候選翻譯字符集合中每個(gè)字符的概率值,結(jié)合beam-search技術(shù)以及推廣關(guān)鍵詞庫(kù),對(duì)所述輸入序列進(jìn)行翻譯,得到輸出序列。
推廣關(guān)鍵詞的觸發(fā)可以看作是從query到推廣關(guān)鍵詞的翻譯過(guò)程,因此可以應(yīng)用上述翻譯模型完成query到推廣關(guān)鍵詞的觸發(fā)。但是在這種翻譯過(guò)程中還存在一個(gè)問(wèn)題,即使用翻譯模型翻譯的過(guò)程是自由的,其輸出序列是一個(gè)開(kāi)放空間,因此并不能保證由所輸入的query經(jīng)過(guò)翻譯模型后就會(huì)觸發(fā)廣告主所購(gòu)買的推廣關(guān)鍵詞,而且標(biāo)準(zhǔn)機(jī)器翻譯只要求返回一個(gè)最優(yōu)解,因此會(huì)導(dǎo)致降低推廣關(guān)鍵詞觸發(fā)的召回率。
針對(duì)上述問(wèn)題,本發(fā)明在利用翻譯模型對(duì)輸入的query進(jìn)行翻譯時(shí),采用了改進(jìn)的beam-search技術(shù),即在對(duì)輸入query進(jìn)行翻譯前,預(yù)先設(shè)定beam-size和概率閾值Q。其中,概率閾值Q決定了候選序列選擇的最低概率值,該值通過(guò)多次實(shí)驗(yàn)觀察得出;beam-size則決定了每一層翻譯時(shí)選擇的候選序列數(shù)量以及最終候選序列集合的大小,該值需要通過(guò)權(quán)衡翻譯性能以及翻譯結(jié)果相關(guān)性來(lái)決定。而且本發(fā)明在利用翻譯模型對(duì)輸入的query進(jìn)行翻譯時(shí),還需要結(jié)合推廣關(guān)鍵詞庫(kù)進(jìn)行,該推廣關(guān)鍵詞庫(kù)包含了廣告主所購(gòu)買的所有推廣關(guān)鍵詞。
因此,在通過(guò)翻譯模型翻譯得到的各輸出序列滿足以下條件:輸出序列的數(shù)量在beam-size以內(nèi),且各輸出序列的概率大于或等于預(yù)設(shè)的概率閾值Q,且在所述推廣關(guān)鍵詞庫(kù)中存在與所述輸出序列一致的推廣關(guān)鍵詞或者存在以所述輸出序列為前綴的推廣關(guān)鍵詞。
在翻譯模型對(duì)所輸入的query進(jìn)行翻譯的過(guò)程中,根據(jù)輸入query的語(yǔ)義信息,翻譯模型賦予候選翻譯字符集合中每個(gè)字符概率值,根據(jù)所述候選字符集合中每個(gè)字符的概率值,在推廣關(guān)鍵詞庫(kù)中得到beam-size個(gè)候選字符,因此就保證了不在推廣關(guān)鍵詞庫(kù)中的詞語(yǔ)不會(huì)出現(xiàn)在翻譯模型得到的結(jié)果中。
并且在使用訓(xùn)練數(shù)據(jù)進(jìn)行翻譯模型的訓(xùn)練時(shí),在query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題后自動(dòng)添加一個(gè)特殊標(biāo)記字符,該特殊標(biāo)記字符用以表示翻譯結(jié)束,那么通過(guò)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,翻譯模型就可以學(xué)習(xí)到在什么時(shí)候輸出的那些詞會(huì)構(gòu)成一個(gè)完整的句子時(shí)結(jié)束翻譯過(guò)程。
因此,當(dāng)某個(gè)候選字符以該特殊標(biāo)記字符結(jié)尾時(shí),表明本次翻譯過(guò)程結(jié)束。在翻譯結(jié)束時(shí),選取beam-size個(gè)大于概率閾值Q的候選字符作為最終候選字符,該最終候選字符即為對(duì)所述輸入query翻譯后得到的推廣關(guān)鍵詞。
舉例來(lái)說(shuō),假設(shè)翻譯模型采用的候選翻譯字符集合為{a,b,c,d,EOF},即在翻譯過(guò)程中目標(biāo)序列中的各候選字符從該集合中選取。其中EOF代表翻譯結(jié)束的特殊標(biāo)記字符,設(shè)定beam-size=2,概率閾值Q=0.3,最終候選序列集合表示為R。
在翻譯輸入query的首字符時(shí),翻譯模型根據(jù)該query的語(yǔ)義信息在候選翻譯字符集合中給出每個(gè)字符作為首字符的概率值,如p(a)代表字符a作為翻譯結(jié)果首字符的概率值,p(b)代表字符b作為翻譯結(jié)果首字符的概率值,以此類推。將該字符的概率值從大到小進(jìn)行排序,假如p(a)最大,則在推廣關(guān)鍵詞庫(kù)中首先檢索是否有以a為前綴的推廣關(guān)鍵詞,若有,則將a作為候選首字符,若沒(méi)有,則剪枝掉a;設(shè)p(b)僅次于p(a),則在推廣關(guān)鍵詞庫(kù)中檢索是否有b,若有,則將b作為候選首字符,若沒(méi)有,則剪枝掉b。按照該選取規(guī)則,最終選取beam-size個(gè)候選首字符,其余字符都剪枝掉,且必須保證該beam-size各候選首字符的概率值均大于或等于預(yù)設(shè)的概率閾值Q,對(duì)于概率值小于Q的候選首字符也被剪枝掉。因?yàn)樵O(shè)定的beam-size=2,所以選取兩個(gè)字符作為候選首字符,假設(shè)本次選擇的候選首字符是a和b。
對(duì)于翻譯的第二個(gè)字符,翻譯模型會(huì)計(jì)算出以a或b開(kāi)頭的所有序列{aa,ab,ac,ad,aEOF,ba,bb,bc,bd,bEOF}的概率,同首字符的選取規(guī)則一樣,將這些序列依據(jù)概率值的大小降序排序,并在推廣關(guān)鍵詞庫(kù)中檢索是否有以得到的序列為前綴的推廣關(guān)鍵詞,若有則選取,若無(wú)則剪枝掉。最終選取beam-size個(gè)概率值大于或等于Q的候選序列進(jìn)行繼續(xù)翻譯。
重復(fù)以上翻譯過(guò)程,當(dāng)某個(gè)候選序列以EOF結(jié)尾時(shí),則認(rèn)為該輸入序列的翻譯過(guò)程結(jié)束,若所得到的候選序列的概率值大于概率閾值Q,則將該序列放入最終候選序列集合R中。當(dāng)集合R的大小等于beam-size時(shí),翻譯結(jié)束。
再舉例來(lái)說(shuō),用戶輸入的query為“如何選擇北京鮮花速遞”,將該query進(jìn)行分詞處理后得到“如何”、“選擇”、“北京”、“鮮花”、“速遞”,將分詞處理后得到的詞匯輸入到翻譯模型,通過(guò)翻譯模型得知該輸入query的語(yǔ)義后,翻譯模型開(kāi)始進(jìn)行翻譯。
翻譯模型首先確定輸出的第一個(gè)詞是什么,根據(jù)輸入query的語(yǔ)義對(duì)候選翻譯字符集合中的每個(gè)字符賦予概率值,該概率值代表候選翻譯字符中每個(gè)字符作為首字符的概率。假如,“如何”、“哪里”、“北京”這三個(gè)詞的概率值較高,但在推廣關(guān)鍵詞庫(kù)中沒(méi)有檢索到以“如何”、“哪里”開(kāi)頭的推廣關(guān)鍵詞,而檢索到以“北京”開(kāi)頭的推廣關(guān)鍵詞,則放棄前兩個(gè)詞,選取“北京”作為首字符。然后翻譯模型確定輸出的第二個(gè)詞是什么,也就是跟在詞語(yǔ)“北京”后輸出哪個(gè)詞合適,翻譯模型同樣對(duì)候選翻譯字符集合中每個(gè)字符賦予概率值,該概率值代表跟在“北京”之后輸出這個(gè)詞匯的可能性,假設(shè)第二個(gè)字符為“鮮花”和“花卉”的概率值較高,并且在推廣關(guān)鍵詞庫(kù)中檢索到有以“北京鮮花”或者“北京花卉”開(kāi)頭的推廣關(guān)鍵詞,則將“鮮花”、“花卉”選擇為第二個(gè)詞,以此類推。假設(shè)翻譯模型選擇了“北京”、“鮮花”、“快遞”這三個(gè)詞匯后,在選擇第四個(gè)詞匯時(shí),翻譯模型發(fā)現(xiàn)第四個(gè)字符為“EOF”的概率最大,則結(jié)束本次翻譯過(guò)程。這時(shí)模型會(huì)在推廣關(guān)鍵詞庫(kù)中檢索是否有“北京鮮花快遞”這個(gè)推廣關(guān)鍵詞,如果有,并且該推廣關(guān)鍵詞的概率大于設(shè)定的概率閾值Q時(shí),將該詞作為候選推廣關(guān)鍵詞輸出。
在確定單元33利用所述輸出序列確定由所述query觸發(fā)的推廣關(guān)鍵詞后,便可以利用該推廣關(guān)鍵詞得到與該推廣關(guān)鍵詞所對(duì)應(yīng)的推廣,觸發(fā)單元35進(jìn)而在用戶輸入query后所對(duì)應(yīng)的搜索結(jié)果頁(yè)中包括由所述query觸發(fā)的推廣關(guān)鍵詞對(duì)應(yīng)的推廣結(jié)果。
本發(fā)明實(shí)施例提供的上述方法和裝置可以以設(shè)置并運(yùn)行于設(shè)備中的計(jì)算機(jī)程序體現(xiàn)。該設(shè)備可以包括一個(gè)或多個(gè)處理器,還包括存儲(chǔ)器和一個(gè)或多個(gè)程序,如圖4中所示。其中該一個(gè)或多個(gè)程序存儲(chǔ)于存儲(chǔ)器中,被上述一個(gè)或多個(gè)處理器執(zhí)行以實(shí)現(xiàn)本發(fā)明上述實(shí)施例中所示的方法流程和/或裝置操作。例如,被上述一個(gè)或多個(gè)處理器執(zhí)行的方法流程,可以包括:
獲取用戶輸入的query;
將所述獲取的query對(duì)應(yīng)的輸入序列輸入到翻譯模型,得到輸出序列;
利用所述輸出序列確定所述query觸發(fā)的推廣關(guān)鍵詞;
其中,所述翻譯模型是采用如下方式預(yù)先訓(xùn)練得到的:
從用戶點(diǎn)擊行為日志中獲取query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù);
利用訓(xùn)練數(shù)據(jù)中的query得到輸入序列,利用query對(duì)應(yīng)的被點(diǎn)擊標(biāo)題得到目標(biāo)序列,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,得到翻譯模型。
利用本發(fā)明提供的技術(shù)方案,選取用戶點(diǎn)擊行為日志中的query及其對(duì)應(yīng)的被點(diǎn)擊標(biāo)題作為訓(xùn)練數(shù)據(jù),訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型以得到翻譯模型,在獲取用戶輸入的query后,通過(guò)預(yù)先訓(xùn)練得到的翻譯模型獲得該query觸發(fā)的推廣關(guān)鍵詞。這種方式能夠獲取到在語(yǔ)義上與query匹配的推廣關(guān)鍵詞,相比較字面變換的方式,觸發(fā)推廣關(guān)鍵詞的準(zhǔn)確率和召回率都得到了較大的提升。
而推廣關(guān)鍵詞的觸發(fā)技術(shù)是搜索推廣投放系統(tǒng)中的核心技術(shù)之一,將本發(fā)明中所公開(kāi)的推廣關(guān)鍵詞的觸發(fā)方法應(yīng)用到搜索推廣投放系統(tǒng)中,便能夠通過(guò)用戶輸入的query觸發(fā)推廣關(guān)鍵詞庫(kù)中的與輸入query語(yǔ)義相匹配的推廣關(guān)鍵詞,然后搜索推廣投放系統(tǒng)將與該推廣關(guān)鍵詞所對(duì)應(yīng)的推廣進(jìn)行展現(xiàn),從而使得所展現(xiàn)的推廣更加符合用戶的搜索意圖。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。