本發(fā)明涉及領(lǐng)域,特別是指一種基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法與裝置。
背景技術(shù):
從用戶開(kāi)始在搜索引擎中輸入查詢?cè)~的那一刻,查詢?cè)~自動(dòng)補(bǔ)全(queryauto‐completion,qac)就會(huì)向用戶提供一個(gè)補(bǔ)全的查詢?cè)~列表。這一搜索引擎的常用功能旨在減輕用戶構(gòu)造查詢?cè)~時(shí)的體力和認(rèn)知負(fù)擔(dān)。當(dāng)用戶在搜索框中敲擊字符時(shí),qac能提供一個(gè)以已輸入字符為前綴的排序后的補(bǔ)全查詢?cè)~推薦列表。用戶可以點(diǎn)擊推薦列表中的查詢?cè)~也可以繼續(xù)輸入整個(gè)查詢?cè)~。查詢?cè)~前綴通常簡(jiǎn)短而含糊,造成準(zhǔn)確捕獲用戶的查詢意圖并推薦相關(guān)的查詢?cè)~存在一定的困難。因此,qac系統(tǒng)的主要目標(biāo)是滿足大多數(shù)用戶的信息需求,而最常用的方法是通過(guò)引入查詢?cè)~日志并依據(jù)過(guò)往的查詢次數(shù)對(duì)補(bǔ)全的查詢?cè)~進(jìn)行排序。雖然這一方法能生成滿足一般用戶的推薦列表,但由于它沒(méi)有考慮查詢?cè)~的時(shí)域模式,因此它遠(yuǎn)不是最優(yōu)的方法。現(xiàn)有技術(shù)中有qac模型考慮了查詢?cè)~的近期性,但因其假設(shè)查詢?cè)~未來(lái)的查詢分布與過(guò)去相一致,因此它的性能仍不令人滿意。
對(duì)于某些查詢?cè)~,它們的查詢次數(shù)在時(shí)域上較為平穩(wěn)(如:google,amazon和wikipedia)或呈周期性變化趨勢(shì)(如:christmas,mother’sday和movie);而其他查詢?cè)~(如:belgiumterroristattack)的查詢次數(shù)可能會(huì)呈現(xiàn)急劇上升的趨勢(shì),這一趨勢(shì)無(wú)法通過(guò)它們過(guò)往的查詢次數(shù)來(lái)預(yù)測(cè)。通常來(lái)說(shuō),這一查詢次數(shù)的激增是由于現(xiàn)實(shí)生活中的一些正在發(fā)生的吸引公眾眼球的事件或爆炸性新聞所導(dǎo)致的。查詢次數(shù)的突然上升被稱為“激增”。因此,qac系統(tǒng)需要對(duì)查詢?cè)~查詢次數(shù)中出現(xiàn)的意料之外的尖峰進(jìn)行迅速響應(yīng),并且對(duì)排序推薦做適當(dāng)調(diào)整?,F(xiàn)有技術(shù)主要著眼于挖掘查詢?cè)~次數(shù)的周期性模式并依據(jù)預(yù)測(cè)的查詢次數(shù)對(duì)查詢?cè)~進(jìn)行重新排序,它們并未考慮呈現(xiàn)激增趨勢(shì)的非周期性查詢?cè)~。
針對(duì)現(xiàn)有技術(shù)中的qac模型未考慮存在,導(dǎo)致查詢?cè)~補(bǔ)全效果不佳的問(wèn)題,目前尚未有有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提出一種基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法與裝置,能夠?qū)⒓ぴ鲒厔?shì)的非周期性查詢?cè)~作為qac模型的排序依據(jù),提高查詢?cè)~的補(bǔ)全效果與用戶體驗(yàn)。
基于上述目的,本發(fā)明實(shí)施例的一方面提供了一種基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法,包括:
獲取查詢?nèi)罩?,并基于時(shí)域特征預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù);
采集查詢?cè)~前綴,并根據(jù)查詢?cè)~前綴與查詢?nèi)罩旧裳a(bǔ)全查詢?cè)~集合;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其查詢次數(shù)得分;
使用移動(dòng)平均方法根據(jù)查詢?nèi)罩精@得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度,并根據(jù)激增幅度確定其激增幅度得分;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分、激增幅度得分與折中因子獲得排序得分,并根據(jù)排序得分對(duì)補(bǔ)全查詢?cè)~集合中的每個(gè)查詢?cè)~排序顯示;
當(dāng)查詢?cè)~前綴發(fā)生變化時(shí),執(zhí)行以上步驟重新生成補(bǔ)全查詢?cè)~集合、計(jì)算排序得分并動(dòng)態(tài)更新排序顯示。
在一些實(shí)施方式中,所述基于時(shí)域特征預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù)包括:
從查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù);
對(duì)過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)使用離散傅里葉變換,生成傅里葉級(jí)數(shù)的頻域系數(shù);
根據(jù)傅里葉級(jí)數(shù)的頻域系數(shù)生成周期圖并取到最大值;
獲取周期圖最大值的頻率,并根據(jù)最大值頻率確定過(guò)去每個(gè)查詢?cè)~的主要周期;
根據(jù)查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)與其主要周期預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù)。
在一些實(shí)施方式中,所述根據(jù)查詢?cè)~前綴與查詢?nèi)罩旧裳a(bǔ)全查詢?cè)~集合包括:
根據(jù)查詢?cè)~前綴在查詢?nèi)罩局袡z索符合查詢?cè)~前綴的查詢?cè)~;
將符合查詢?cè)~前綴的查詢?cè)~按其未來(lái)查詢次數(shù)由大到小進(jìn)行排序,并從序列頭開(kāi)始截取指定數(shù)量的查詢?cè)~生成補(bǔ)全查詢?cè)~集合。
在一些實(shí)施方式中,所述根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其查詢次數(shù)得分包括:
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其均值與標(biāo)準(zhǔn)差;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)、均值與標(biāo)準(zhǔn)差確定補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分。
在一些實(shí)施方式中,所述使用移動(dòng)平均方法根據(jù)查詢?nèi)罩精@得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度包括:
從查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù);
對(duì)過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)使用移動(dòng)平均方法,以固定大小的滑動(dòng)窗口在整個(gè)序列上滑動(dòng)并計(jì)算移動(dòng)平均值,生成移動(dòng)平均序列;
根據(jù)移動(dòng)平均序列預(yù)測(cè)下一個(gè)移動(dòng)平均值;
計(jì)算移動(dòng)平均序列中每個(gè)移動(dòng)平均值的均值與標(biāo)準(zhǔn)差,并根據(jù)移動(dòng)平均值的均值、標(biāo)準(zhǔn)差、以及去噪因子,獲得激增截止點(diǎn);
根據(jù)激增截止點(diǎn)與下一個(gè)移動(dòng)平均值獲得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度。
在一些實(shí)施方式中,所述滑動(dòng)窗口內(nèi)數(shù)據(jù)的平均值為未加權(quán)的移動(dòng)平均值;或所述滑動(dòng)窗口內(nèi)數(shù)據(jù)的平均值為具有衰減函數(shù)加權(quán)的移動(dòng)平均值,其中,衰減函數(shù)對(duì)較舊的數(shù)值相比于較新的數(shù)值產(chǎn)生更強(qiáng)的權(quán)重衰減,且衰減函數(shù)是歸一化函數(shù)。
在一些實(shí)施方式中,所述根據(jù)激增幅度確定其激增幅度得分包括:
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度確定其均值與標(biāo)準(zhǔn)差;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度、均值與標(biāo)準(zhǔn)差確定補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度得分。
在一些實(shí)施方式中,所述根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分、激增幅度得分與折中因子獲得排序得分,為使用折中因子調(diào)整每個(gè)查詢?cè)~的查詢次數(shù)得分與激增幅度得分二者所占權(quán)重獲得排序得分。
在一些實(shí)施方式中,所述折中因子為預(yù)先指定的常數(shù),或根據(jù)移動(dòng)平均序列中每個(gè)移動(dòng)平均值的均值與下一個(gè)移動(dòng)平均值的取值而變化的函數(shù)。
基于上述目的,本發(fā)明實(shí)施例的另一方面還提供了一種電子設(shè)備,包括至少一個(gè)處理器;以及,與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行上述方法。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法與裝置通過(guò)獲取查詢?cè)~的未來(lái)查詢次數(shù),根據(jù)查詢?cè)~前綴生成補(bǔ)全查詢?cè)~集合并確定查詢次數(shù)得分,使用移動(dòng)平均方法獲得查詢?cè)~基于時(shí)域特征的激增幅度與得分,根據(jù)排序得分對(duì)補(bǔ)全查詢?cè)~集合排序顯示并動(dòng)態(tài)更新的技術(shù)手段,能夠?qū)⒓ぴ鲒厔?shì)的非周期性查詢?cè)~作為qac模型的排序依據(jù),提高查詢?cè)~的補(bǔ)全效果與用戶體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的流程圖;
圖2為本發(fā)明提供的執(zhí)行所述基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的電子設(shè)備的一個(gè)實(shí)施例的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明實(shí)施例進(jìn)一步詳細(xì)說(shuō)明。
需要說(shuō)明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見(jiàn)“第一”“第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說(shuō)明。
基于上述目的,本發(fā)明實(shí)施例的第一個(gè)方面提出了一種能夠針對(duì)不同用戶或不同類型的節(jié)點(diǎn)進(jìn)行基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法。圖1示出的是本發(fā)明提供的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的第一個(gè)實(shí)施例的流程示意圖。
如圖1所示,基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法包括:
步驟s101,獲取查詢?nèi)罩?,并基于時(shí)域特征預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù);
步驟s103,采集查詢?cè)~前綴,并根據(jù)查詢?cè)~前綴與查詢?nèi)罩旧裳a(bǔ)全查詢?cè)~集合;
步驟s105,根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其查詢次數(shù)得分;
步驟s107,使用移動(dòng)平均方法根據(jù)查詢?nèi)罩精@得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度,并根據(jù)激增幅度確定其激增幅度得分;
步驟s109,根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分、激增幅度得分與折中因子獲得排序得分,并根據(jù)排序得分對(duì)補(bǔ)全查詢?cè)~集合中的每個(gè)查詢?cè)~排序顯示;
步驟s111,當(dāng)查詢?cè)~前綴發(fā)生變化時(shí),執(zhí)行以上步驟重新生成補(bǔ)全查詢?cè)~集合、計(jì)算排序得分并動(dòng)態(tài)更新排序顯示。
在一些實(shí)施方式中,所述基于時(shí)域特征預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù)包括:
從查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù);
對(duì)過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)使用離散傅里葉變換,生成傅里葉級(jí)數(shù)的頻域系數(shù);
根據(jù)傅里葉級(jí)數(shù)的頻域系數(shù)生成周期圖并取到最大值;
獲取周期圖最大值的頻率,并根據(jù)最大值頻率確定過(guò)去每個(gè)查詢?cè)~的主要周期;
根據(jù)查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)與其主要周期預(yù)測(cè)查詢?nèi)罩局忻總€(gè)查詢?cè)~的未來(lái)查詢次數(shù)。
在一些實(shí)施方式中,所述根據(jù)查詢?cè)~前綴與查詢?nèi)罩旧裳a(bǔ)全查詢?cè)~集合包括:
根據(jù)查詢?cè)~前綴在查詢?nèi)罩局袡z索符合查詢?cè)~前綴的查詢?cè)~;
將符合查詢?cè)~前綴的查詢?cè)~按其未來(lái)查詢次數(shù)由大到小進(jìn)行排序,并從序列頭開(kāi)始截取指定數(shù)量的查詢?cè)~生成補(bǔ)全查詢?cè)~集合。
在一些實(shí)施方式中,所述根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其查詢次數(shù)得分包括:
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)確定其均值與標(biāo)準(zhǔn)差;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的未來(lái)查詢次數(shù)、均值與標(biāo)準(zhǔn)差確定補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分。
在一些實(shí)施方式中,所述使用移動(dòng)平均方法根據(jù)查詢?nèi)罩精@得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度包括:
從查詢?nèi)罩局蝎@取過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù);
對(duì)過(guò)去每個(gè)查詢?cè)~按日計(jì)算的查詢次數(shù)使用移動(dòng)平均方法,以固定大小的滑動(dòng)窗口在整個(gè)序列上滑動(dòng)并計(jì)算移動(dòng)平均值,生成移動(dòng)平均序列;
根據(jù)移動(dòng)平均序列預(yù)測(cè)下一個(gè)移動(dòng)平均值;
計(jì)算移動(dòng)平均序列中每個(gè)移動(dòng)平均值的均值與標(biāo)準(zhǔn)差,并根據(jù)移動(dòng)平均值的均值、標(biāo)準(zhǔn)差、以及去噪因子,獲得激增截止點(diǎn);
根據(jù)激增截止點(diǎn)與下一個(gè)移動(dòng)平均值獲得補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~基于時(shí)域特征的激增幅度。
在一些實(shí)施方式中,所述滑動(dòng)窗口內(nèi)數(shù)據(jù)的平均值為未加權(quán)的移動(dòng)平均值;或所述滑動(dòng)窗口內(nèi)數(shù)據(jù)的平均值為具有衰減函數(shù)加權(quán)的移動(dòng)平均值,其中,衰減函數(shù)對(duì)較舊的數(shù)值相比于較新的數(shù)值產(chǎn)生更強(qiáng)的權(quán)重衰減,且衰減函數(shù)是歸一化函數(shù)。
在一些實(shí)施方式中,所述根據(jù)激增幅度確定其激增幅度得分包括:
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度確定其均值與標(biāo)準(zhǔn)差;
根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度、均值與標(biāo)準(zhǔn)差確定補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的激增幅度得分。
在一些實(shí)施方式中,所述根據(jù)補(bǔ)全查詢?cè)~集合中每個(gè)查詢?cè)~的查詢次數(shù)得分、激增幅度得分與折中因子獲得排序得分,為使用折中因子調(diào)整每個(gè)查詢?cè)~的查詢次數(shù)得分與激增幅度得分二者所占權(quán)重獲得排序得分。
在一些實(shí)施方式中,所述折中因子為預(yù)先指定的常數(shù),或根據(jù)移動(dòng)平均序列中每個(gè)移動(dòng)平均值的均值與下一個(gè)移動(dòng)平均值的取值而變化的函數(shù)。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法與裝置通過(guò)獲取查詢?cè)~的未來(lái)查詢次數(shù),根據(jù)查詢?cè)~前綴生成補(bǔ)全查詢?cè)~集合并確定查詢次數(shù)得分,使用移動(dòng)平均方法獲得查詢?cè)~基于時(shí)域特征的激增幅度與得分,根據(jù)排序得分對(duì)補(bǔ)全查詢?cè)~集合排序顯示并動(dòng)態(tài)更新的技術(shù)手段,能夠?qū)⒓ぴ鲒厔?shì)的非周期性查詢?cè)~作為qac模型的排序依據(jù),提高查詢?cè)~的補(bǔ)全效果與用戶體驗(yàn)。
基于上述目的,本發(fā)明實(shí)施例的第二個(gè)方面提出了另一種能夠針對(duì)不同用戶或不同類型的用戶進(jìn)行基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法。
本發(fā)明實(shí)施例首先對(duì)qac問(wèn)題做形式化定義,然后闡述本發(fā)明實(shí)施例的排序方法。本發(fā)明實(shí)施例對(duì)qac問(wèn)題做如下定義:給定查詢?nèi)罩緌和與前綴p匹配的補(bǔ)全查詢?cè)~集合c(p),qac系統(tǒng)要根據(jù)t時(shí)刻的排序信號(hào)對(duì)c(p)中的補(bǔ)全查詢?cè)~進(jìn)行排序。用戶每輸入一個(gè)新字符,補(bǔ)全查詢?cè)~的集合會(huì)動(dòng)態(tài)更新。如果沒(méi)有一個(gè)補(bǔ)全查詢?cè)~合乎其意,用戶可以選擇c(p)中的任意一個(gè)查詢?cè)~或手動(dòng)輸入整個(gè)查詢?cè)~。
為了發(fā)掘查詢?cè)~查詢次數(shù)的周期性,本發(fā)明實(shí)施例首先以天為單位對(duì)查詢?cè)~的查詢次數(shù)進(jìn)行累加,對(duì)每個(gè)查詢?cè)~獲得以天為時(shí)間間隔的時(shí)間序列?,F(xiàn)有技術(shù)通常用傅里葉變換或自相關(guān)法來(lái)檢測(cè)時(shí)間序列的周期性。然而,自相關(guān)法計(jì)算所得的周期也許并不是真實(shí)的周期,由于周期真實(shí)值和它的倍數(shù)都擁有較高的自相關(guān)值,這就造成確定真實(shí)的周期值存在一定的困難。相比之下,傅里葉變換能準(zhǔn)確的檢測(cè)中短長(zhǎng)度的周期。此外,它還具有降噪和壓縮的優(yōu)勢(shì)。本發(fā)明實(shí)施例在實(shí)驗(yàn)中所用數(shù)據(jù)集的時(shí)間跨度為3個(gè)月,因此查詢?cè)~至多擁有短期或中期的周期。因此,本發(fā)明實(shí)施例選擇離散傅里葉變換(discretefouriertransform,dft)來(lái)檢測(cè)查詢?cè)~的周期。
傅里葉變換將時(shí)域信號(hào)映射為頻域信號(hào)。對(duì)于一個(gè)周期性時(shí)間序列,傅里葉變換簡(jiǎn)化為計(jì)算傅里葉級(jí)數(shù)的系數(shù)。令f(q)n,n=1,2,…,n表示查詢?cè)~q在過(guò)去n天的查詢次數(shù)所構(gòu)成的時(shí)間序列,f(q)n的歸一化dft為一列的復(fù)數(shù)f(q)k:
為了計(jì)算f(q)n的周期,本發(fā)明實(shí)施例使用周期圖來(lái)估計(jì)該序列的頻譜密度。周期圖p(k)是傅里葉系數(shù)幅值的平方:
其中,||·||為2范數(shù)。由于序列p(k)呈圓周偶對(duì)稱,本發(fā)明實(shí)施例最多可以檢測(cè)一半的信號(hào)頻率。假設(shè)p(k*)是周期圖中的最大值,則頻率k*的功率最強(qiáng)。將頻域映射回時(shí)域,頻率k*對(duì)應(yīng)
本發(fā)明實(shí)施例利用檢測(cè)到的周期來(lái)預(yù)測(cè)t+1時(shí)刻的未來(lái)查詢次數(shù)
此處
由于p‐qac用所得周期來(lái)計(jì)算預(yù)測(cè)的查詢次數(shù)并依此進(jìn)行排序,它忽視了查詢?cè)~查詢次數(shù)的激增趨勢(shì)。為了解決這一問(wèn)題,本發(fā)明實(shí)施例研究了查詢次數(shù)的短期激增趨勢(shì)并預(yù)測(cè)了查詢次數(shù)在t+1時(shí)刻的變化趨勢(shì)。
常采用移動(dòng)平均方法(movingaverage,ma)來(lái)發(fā)掘查詢?cè)~時(shí)間序列中的激增趨勢(shì)。本發(fā)明實(shí)施例說(shuō)在t+1時(shí)刻出現(xiàn)了一個(gè)激增當(dāng)該時(shí)刻的ma值ma(q)t+1超過(guò)了截止點(diǎn)cutoff,此處的激增幅度amp(q)t+1可以形式化描述為:
amp(q)t+1=ma(q)t+1-cutoff(5)
為了控制合理范圍的波動(dòng),cutoff值通常設(shè)為:
cutoff=μa+γ·σa(6)
其中,μa和σa分別表示ma序列的均值和標(biāo)準(zhǔn)差,γ是一個(gè)因子,它的作用在于消除噪聲并突出明顯的尖峰。
就計(jì)算時(shí)間序列的ma(q)t+1值而言,已有的文獻(xiàn)采用簡(jiǎn)單移動(dòng)平均方法(simplemovingaverage,sma),該方法對(duì)每個(gè)觀測(cè)點(diǎn)“一視同仁”,用某一長(zhǎng)度的滑動(dòng)窗口在整個(gè)序列上進(jìn)行滑動(dòng)并計(jì)算窗口內(nèi)數(shù)據(jù)的未加權(quán)的均值:
式中,l表示滑動(dòng)窗口的長(zhǎng)度,f(q)n,n=1,2,…,t表示查詢?cè)~q的查詢次數(shù)在t時(shí)刻前的時(shí)間序列。然而,在時(shí)域信息檢索領(lǐng)域中人們普遍認(rèn)為時(shí)間序列近期的數(shù)據(jù)比遠(yuǎn)期數(shù)據(jù)更具有參考價(jià)值,這一差異性可通過(guò)對(duì)過(guò)去數(shù)據(jù)引入一個(gè)衰減函數(shù)來(lái)實(shí)現(xiàn)。
本發(fā)明實(shí)施例在識(shí)別激增趨勢(shì)時(shí)也引入一個(gè)衰減函數(shù)并計(jì)算序列的加權(quán)移動(dòng)平均值(weightedmovingaverage,wma):
式中,歸一化的權(quán)重norm(ωn)控制著滑動(dòng)窗口中每個(gè)觀測(cè)值的權(quán)重,并且確保∑nnorm(ωn)=1。在對(duì)權(quán)重進(jìn)行歸一化處理之前,本發(fā)明實(shí)施例引入了衰減函數(shù):ωn=decayratei-n,其中i-n代表第i天與第n天之間的時(shí)間間隔。
為了將查詢?cè)~的長(zhǎng)期和短期查詢歷史結(jié)合起來(lái)一齊用于預(yù)測(cè)其未來(lái)的查詢次數(shù),本發(fā)明實(shí)施例提出混合的qac排序模型,該模型結(jié)合了查詢?cè)~的周期和激增趨勢(shì)這兩種時(shí)域模式。首先,本發(fā)明實(shí)施例用p‐qac對(duì)已輸入的前綴p生成一個(gè)排序的補(bǔ)全查詢?cè)~列表c(p)。然后,基于預(yù)測(cè)的查詢次數(shù)和激增幅度,本發(fā)明實(shí)施例對(duì)每個(gè)補(bǔ)全查詢?cè)~分別分配得分pscore(q)和bscore(q)。最后,將pscore(q)和bscore(q)進(jìn)行凸組合,使得每個(gè)補(bǔ)全查詢?cè)~擁有一個(gè)最終的排序得分hscore(q):
hscore(q)=(1-λ)·pscore(q)+λ·bscore(q)(9)
其中,0≤λ≤1是一個(gè)折中因子,它控制著周期得分和激增趨勢(shì)得分的權(quán)重。
此外,c(p)中的補(bǔ)全查詢?cè)~可能會(huì)呈現(xiàn)不同的激增幅度。例如,有些查詢?cè)~的查詢次數(shù)出現(xiàn)了顯著的激增趨勢(shì),而對(duì)所有補(bǔ)全查詢?cè)~采用相同的值無(wú)法捕獲這一現(xiàn)象。因此,本發(fā)明實(shí)施例采用一個(gè)能隨激增幅度靈活變化的值λ*來(lái)代替公式(9)中的λ:
其中μb表示c(p)中補(bǔ)全查詢?cè)~激增幅度的均值。由于pscore(q)和bscore(q)使用不同的單位和尺度,因此在凸組合前需要將它們進(jìn)行標(biāo)準(zhǔn)化。pscore(q)標(biāo)準(zhǔn)化為:
其中μp和σp表示c(p)中補(bǔ)全查詢?cè)~的預(yù)測(cè)查詢次數(shù)的均值和標(biāo)準(zhǔn)差。bscore(q)標(biāo)準(zhǔn)化為:
其中σb表示c(p)中補(bǔ)全查詢?cè)~激增幅度amp(q)t+1的標(biāo)準(zhǔn)差。算法1以偽代碼的方式描述了混合qac模型的實(shí)現(xiàn)步驟。采用sma或wma來(lái)檢測(cè)激增趨勢(shì)的混合qac模型分別記為h‐sma和h‐wma。此外,在公式(9)中采用固定λ值的混合qac模型記為λ-h-wma和λ-h-sma,而采用變化的λ*值的混合qac模型則記為λ*-h-wma。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法與裝置通過(guò)獲取查詢?cè)~的未來(lái)查詢次數(shù),根據(jù)查詢?cè)~前綴生成補(bǔ)全查詢?cè)~集合并確定查詢次數(shù)得分,使用移動(dòng)平均方法獲得查詢?cè)~基于時(shí)域特征的激增幅度與得分,根據(jù)排序得分對(duì)補(bǔ)全查詢?cè)~集合排序顯示并動(dòng)態(tài)更新的技術(shù)手段,能夠?qū)⒓ぴ鲒厔?shì)的非周期性查詢?cè)~作為qac模型的排序依據(jù),提高查詢?cè)~的補(bǔ)全效果與用戶體驗(yàn)。
基于上述目的,本發(fā)明實(shí)施例的第三個(gè)方面提出了一種執(zhí)行所述基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的電子設(shè)備的一個(gè)實(shí)施例。
所述執(zhí)行所述基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的電子設(shè)備包括至少一個(gè)處理器;以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行如上所述任意一種方法。
如圖2所示,為本發(fā)明提供的執(zhí)行所述實(shí)時(shí)通話中的語(yǔ)音處理方法的電子設(shè)備的一個(gè)實(shí)施例的硬件結(jié)構(gòu)示意圖。以如圖2所示的電子設(shè)備為例,在該電子設(shè)備中包括一個(gè)處理器201以及一個(gè)存儲(chǔ)器202,并還可以包括:輸入裝置203和輸出裝置204。
處理器201、存儲(chǔ)器202、輸入裝置203和輸出裝置204可以通過(guò)總線或者其他方式連接,圖2中以通過(guò)總線連接為例。
存儲(chǔ)器202作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本申請(qǐng)實(shí)施例中的所述基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法對(duì)應(yīng)的程序指令/模塊。處理器201通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器202中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法。
存儲(chǔ)器202可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器202可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤(pán)存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器202可選包括相對(duì)于處理器201遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至節(jié)點(diǎn)。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
輸入裝置203可接收輸入的數(shù)字或字符信息,以及產(chǎn)生與基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置204可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器202中,當(dāng)被所述處理器201執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法。
所述執(zhí)行所述基于時(shí)域特征的查詢?cè)~自動(dòng)補(bǔ)全方法的電子設(shè)備的任何一個(gè)實(shí)施例,可以達(dá)到與之對(duì)應(yīng)的前述任意方法實(shí)施例相同或者相類似的效果。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(read‐onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。所述計(jì)算機(jī)程序的實(shí)施例,可以達(dá)到與之對(duì)應(yīng)的前述任意方法實(shí)施例相同或者相類似的效果。
此外,典型地,本公開(kāi)所述的裝置、設(shè)備等可為各種電子終端設(shè)備,例如手機(jī)、個(gè)人數(shù)字助理(pda)、平板電腦(pad)、智能電視等,也可以是大型終端設(shè)備,如服務(wù)器等,因此本公開(kāi)的保護(hù)范圍不應(yīng)限定為某種特定類型的裝置、設(shè)備。本公開(kāi)所述的客戶端可以是以電子硬件、計(jì)算機(jī)軟件或兩者的組合形式應(yīng)用于上述任意一種電子終端設(shè)備中。
此外,根據(jù)本公開(kāi)的方法還可以被實(shí)現(xiàn)為由cpu執(zhí)行的計(jì)算機(jī)程序,該計(jì)算機(jī)程序可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。在該計(jì)算機(jī)程序被cpu執(zhí)行時(shí),執(zhí)行本公開(kāi)的方法中限定的上述功能。
此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲(chǔ)使得控制器實(shí)現(xiàn)上述步驟或單元功能的計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)實(shí)現(xiàn)。
此外,應(yīng)該明白的是,本文所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,存儲(chǔ)器)可以是易失性存儲(chǔ)器或非易失性存儲(chǔ)器,或者可以包括易失性存儲(chǔ)器和非易失性存儲(chǔ)器兩者。作為例子而非限制性的,非易失性存儲(chǔ)器可以包括只讀存儲(chǔ)器(rom)、可編程rom(prom)、電可編程rom(eprom)、電可擦寫(xiě)可編程rom(eeprom)或快閃存儲(chǔ)器。易失性存儲(chǔ)器可以包括隨機(jī)存取存儲(chǔ)器(ram),該ram可以充當(dāng)外部高速緩存存儲(chǔ)器。作為例子而非限制性的,ram可以以多種形式獲得,比如同步ram(dram)、動(dòng)態(tài)ram(dram)、同步dram(sdram)、雙數(shù)據(jù)速率sdram(ddrsdram)、增強(qiáng)sdram(esdram)、同步鏈路dram(sldram)以及直接rambusram(drram)。所公開(kāi)的方面的存儲(chǔ)設(shè)備意在包括但不限于這些和其它合適類型的存儲(chǔ)器。
本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開(kāi)所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說(shuō)明硬件和軟件的這種可互換性,已經(jīng)就各種示意性組件、方塊、模塊、電路和步驟的功能對(duì)其進(jìn)行了一般性的描述。這種功能是被實(shí)現(xiàn)為軟件還是被實(shí)現(xiàn)為硬件取決于具體應(yīng)用以及施加給整個(gè)系統(tǒng)的設(shè)計(jì)約束。本領(lǐng)域技術(shù)人員可以針對(duì)每種具體應(yīng)用以各種方式來(lái)實(shí)現(xiàn)所述的功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本公開(kāi)的范圍。
結(jié)合這里的公開(kāi)所描述的各種示例性邏輯塊、模塊和電路可以利用被設(shè)計(jì)成用于執(zhí)行這里所述功能的下列部件來(lái)實(shí)現(xiàn)或執(zhí)行:通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)或其它可編程邏輯器件、分立門(mén)或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如,dsp和微處理器的組合、多個(gè)微處理器、一個(gè)或多個(gè)微處理器結(jié)合dsp核、或任何其它這種配置。
結(jié)合這里的公開(kāi)所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以駐留在ram存儲(chǔ)器、快閃存儲(chǔ)器、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤(pán)、可移動(dòng)盤(pán)、cd‐rom、或本領(lǐng)域已知的任何其它形式的存儲(chǔ)介質(zhì)中。示例性的存儲(chǔ)介質(zhì)被耦合到處理器,使得處理器能夠從該存儲(chǔ)介質(zhì)中讀取信息或向該存儲(chǔ)介質(zhì)寫(xiě)入信息。在一個(gè)替換方案中,所述存儲(chǔ)介質(zhì)可以與處理器集成在一起。處理器和存儲(chǔ)介質(zhì)可以駐留在asic中。asic可以駐留在用戶終端中。在一個(gè)替換方案中,處理器和存儲(chǔ)介質(zhì)可以作為分立組件駐留在用戶終端中。
在一個(gè)或多個(gè)示例性設(shè)計(jì)中,所述功能可以在硬件、軟件、固件或其任意組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),則可以將所述功能作為一個(gè)或多個(gè)指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或通過(guò)計(jì)算機(jī)可讀介質(zhì)來(lái)傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),該通信介質(zhì)包括有助于將計(jì)算機(jī)程序從一個(gè)位置傳送到另一個(gè)位置的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能夠被通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為例子而非限制性的,該計(jì)算機(jī)可讀介質(zhì)可以包括ram、rom、eeprom、cd‐rom或其它光盤(pán)存儲(chǔ)設(shè)備、磁盤(pán)存儲(chǔ)設(shè)備或其它磁性存儲(chǔ)設(shè)備,或者是可以用于攜帶或存儲(chǔ)形式為指令或數(shù)據(jù)結(jié)構(gòu)的所需程序代碼并且能夠被通用或?qū)S糜?jì)算機(jī)或者通用或?qū)S锰幚砥髟L問(wèn)的任何其它介質(zhì)。此外,任何連接都可以適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路(dsl)或諸如紅外線、無(wú)線電和微波的無(wú)線技術(shù)來(lái)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)送軟件,則上述同軸線纜、光纖線纜、雙絞線、dsl或諸如紅外先、無(wú)線電和微波的無(wú)線技術(shù)均包括在介質(zhì)的定義。如這里所使用的,磁盤(pán)和光盤(pán)包括壓縮盤(pán)(cd)、激光盤(pán)、光盤(pán)、數(shù)字多功能盤(pán)(dvd)、軟盤(pán)、藍(lán)光盤(pán),其中磁盤(pán)通常磁性地再現(xiàn)數(shù)據(jù),而光盤(pán)利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。上述內(nèi)容的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
公開(kāi)的示例性實(shí)施例,但是應(yīng)當(dāng)注公開(kāi)的示例性實(shí)施例,但是應(yīng)當(dāng)注意,在不背離權(quán)利要求限定的本公開(kāi)的范圍的前提下,可以進(jìn)行多種改變和修改。根據(jù)這里描述的公開(kāi)實(shí)施例的方法權(quán)利要求的功能、步驟和/或動(dòng)作不需以任何特定順序執(zhí)行。此外,盡管本公開(kāi)的元素可以以個(gè)體形式描述或要求,但是也可以設(shè)想多個(gè),除非明確限制為單數(shù)。
應(yīng)當(dāng)理解的是,在本文中使用的,除非上下文清楚地支持例外情況,單數(shù)形式“一個(gè)”(“a”、“an”、“the”)旨在也包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解的是,在本文中使用的“和/或”是指包括一個(gè)或者一個(gè)以上相關(guān)聯(lián)地列出的項(xiàng)目的任意和所有可能組合。
上述本公開(kāi)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開(kāi)的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明實(shí)施例的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,并存在如上所述的本發(fā)明實(shí)施例的不同方面的許多其它變化,為了簡(jiǎn)明它們沒(méi)有在細(xì)節(jié)中提供。因此,凡在本發(fā)明實(shí)施例的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。