本發(fā)明涉及搜索領(lǐng)域,特別是指一種基于語義相似度與時(shí)效性頻率的查詢推薦排序方法與裝置。
背景技術(shù):
信息檢索能夠幫助用戶獲取想要的信息,在用戶提交一個(gè)查詢后,返回用戶一組相關(guān)的文檔,解決用戶的信息需求。查詢推薦則是在用戶進(jìn)行信息檢索過程中,當(dāng)用戶輸入查詢時(shí),在只輸入部分查詢字符的情況下,系統(tǒng)預(yù)測(cè)用戶的查詢意圖,推薦給用戶一組查詢候選詞供其選擇,從而幫助用戶完成查詢?cè)~的構(gòu)建。這有利于用戶節(jié)省用戶輸入查詢的時(shí)間,同時(shí)幫助用戶構(gòu)建一個(gè)好的查詢?cè)~,有利于獲取準(zhǔn)確的信息,進(jìn)而實(shí)現(xiàn)信息系統(tǒng)的精準(zhǔn)服務(wù),提高用戶的滿意度。
現(xiàn)有的查詢推薦排序模型主要基于查詢推薦在過去一段時(shí)間內(nèi)的查詢頻率來排序,這類方法雖能預(yù)測(cè)絕大部分用戶的查詢意圖,使得查詢推薦準(zhǔn)確率較高,但該類方法忽略了查詢?cè)~內(nèi)部查詢字之間的語義相似度。當(dāng)用戶構(gòu)建一個(gè)查詢?cè)~時(shí),語義相似的查詢字更容易被用戶整合在一起構(gòu)成一個(gè)查詢?cè)~。換言之,語義相似度高的查詢字構(gòu)成的查詢短語更符合用戶構(gòu)造查詢短語的習(xí)慣。同時(shí),用戶在使用信息檢索系統(tǒng)進(jìn)行信息檢索時(shí),經(jīng)常在輸入完一個(gè)完整的查詢字時(shí),選擇系統(tǒng)推薦的查詢?cè)~,因此,查詢字特別是查詢?cè)~中的第一個(gè)查詢字的頻率可以反映當(dāng)前信息檢索用戶普遍關(guān)注的問題,從而可以影響查詢推薦的排序位置。另外,查詢推薦的查詢頻率會(huì)隨著時(shí)間的變化呈現(xiàn)比如周期性、急劇上升或者下降等趨勢(shì),這些信息將影響查詢推薦排序的算法性能,但現(xiàn)有技術(shù)也沒有予以考慮。
針對(duì)現(xiàn)有技術(shù)中忽略查詢?cè)~內(nèi)部查詢字之間的語義相似度、查詢推薦的查詢頻率會(huì)隨著時(shí)間的變化而變化的問題,目前尚未有有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提出一種基于語義相似度與時(shí)效性頻率的查詢推薦排序方法與裝置,能夠考慮查詢字之間的語義相關(guān)度與查詢頻率隨時(shí)間變化的情況,進(jìn)而提升信息檢索的預(yù)測(cè)準(zhǔn)確率。
基于上述目的,本發(fā)明實(shí)施例的一方面提供了一種基于語義相似度與時(shí)效性頻率的查詢推薦排序方法,包括:
獲取用戶查詢記錄數(shù)據(jù)集并采集查詢?cè)~前綴;
根據(jù)查詢?cè)~前綴生成查詢推薦列表并確定時(shí)效性頻率的查詢字排序;
根據(jù)用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度,并確定語義相似度的查詢?cè)~排序;
根據(jù)時(shí)效性頻率排序、語義相似度排序與字詞權(quán)衡參數(shù)獲得查詢推薦排序,并根據(jù)查詢推薦排序?qū)Σ樵兺扑]列表中的每個(gè)查詢?cè)~排序顯示。
在一些實(shí)施方式中,所述確定時(shí)效性頻率的查詢字排序包括:
提取查詢推薦列表所有查詢?cè)~中的第一查詢字;
從用戶查詢記錄數(shù)據(jù)集中獲取每個(gè)查詢字在指定時(shí)間內(nèi)的出現(xiàn)頻率;
根據(jù)所有查詢?cè)~的第一查詢字與每個(gè)查詢字在指定時(shí)間內(nèi)的出現(xiàn)頻率確定時(shí)效性頻率的查詢字排序。
在一些實(shí)施方式中,所述根據(jù)用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度包括:
根據(jù)用戶查詢記錄數(shù)據(jù)集獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度;
根據(jù)訓(xùn)練用文本數(shù)據(jù)集獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度;
根據(jù)基于用戶查詢記錄數(shù)據(jù)集的第一查詢字、其他查詢字之間的語義相似度與基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度與語義整合權(quán)衡參數(shù)確定查詢?cè)~中第一查詢字與其他查詢字的語義相似度。
在一些實(shí)施方式中,所述根據(jù)用戶查詢記錄數(shù)據(jù)集獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度包括:
使用用戶查詢記錄數(shù)據(jù)集訓(xùn)練skip‐gram模型;
根據(jù)用戶查詢記錄數(shù)據(jù)集訓(xùn)練的skip‐gram模型獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度。
在一些實(shí)施方式中,所述根據(jù)訓(xùn)練用文本數(shù)據(jù)集獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度包括:
使用訓(xùn)練用文本數(shù)據(jù)集分別訓(xùn)練skip‐gram模型;
根據(jù)訓(xùn)練用文本數(shù)據(jù)集訓(xùn)練的skip‐gram模型獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度。
在一些實(shí)施方式中,所述訓(xùn)練skip‐gram模型包括:
挖掘用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集,獲取每個(gè)查詢字在指定長(zhǎng)度窗口內(nèi)出現(xiàn)的次數(shù);
生成用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集中每個(gè)查詢字的向量表征;
根據(jù)提取的文字向量表示衡量查詢字之間的語義相似度。
在一些實(shí)施方式中,所述根據(jù)基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度、基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度、以及語義整合權(quán)衡參數(shù)確定查詢?cè)~中第一查詢字與其他查詢字的語義相似度,為使用語義整合權(quán)衡參數(shù)調(diào)整基于用戶查詢記錄數(shù)據(jù)集的、與基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度二者所占權(quán)重獲得查詢?cè)~中第一查詢字與其他查詢字的語義相似度。
在一些實(shí)施方式中,所述確定語義相似度的查詢?cè)~排序,為根據(jù)所有查詢?cè)~的第一查詢字與其他查詢字的語義相似度的連積確定語義相似度的查詢?cè)~排序。
在一些實(shí)施方式中,所述根據(jù)時(shí)效性頻率排序、語義相似度排序與字詞權(quán)衡參數(shù)獲得查詢推薦排序,為根據(jù)時(shí)效性頻率排序與語義相似度排序的積獲得查詢推薦排序,其中,語義相似度排序受到字詞權(quán)衡參數(shù)的修正影響。
基于上述目的,本發(fā)明實(shí)施例的另一方面還提供了一種電子設(shè)備,包括至少一個(gè)處理器;以及,與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行上述方法。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法與裝置獲取用戶查詢記錄數(shù)據(jù)集并采集查詢?cè)~前綴,生成查詢推薦列表并確定時(shí)效性頻率的查詢字排序,計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度并確定語義相似度的查詢?cè)~排序,獲得查詢推薦排序并對(duì)查詢推薦列表中的每個(gè)查詢?cè)~排序顯示的技術(shù)手段,考慮到了查詢字之間的語義相關(guān)度與查詢頻率隨時(shí)間變化的情況,進(jìn)而提升信息檢索的預(yù)測(cè)準(zhǔn)確率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的流程圖;
圖2為本發(fā)明提供的執(zhí)行所述基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的電子設(shè)備的一個(gè)實(shí)施例的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明實(shí)施例進(jìn)一步詳細(xì)說明。
需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見“第一”“第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說明。
基于上述目的,本發(fā)明實(shí)施例的第一個(gè)方面提出了一種能夠針對(duì)不同用戶或不同類型的節(jié)點(diǎn)進(jìn)行基于語義相似度與時(shí)效性頻率的查詢推薦排序的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法。圖1示出的是本發(fā)明提供的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的第一個(gè)實(shí)施例的流程示意圖。
如圖1所示,基于語義相似度與時(shí)效性頻率的查詢推薦排序方法包括:
步驟s101,獲取用戶查詢記錄數(shù)據(jù)集并采集查詢?cè)~前綴;
步驟s103,根據(jù)查詢?cè)~前綴生成查詢推薦列表并確定時(shí)效性頻率的查詢字排序;
步驟s105,根據(jù)用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度,并確定語義相似度的查詢?cè)~排序;
步驟s107,根據(jù)時(shí)效性頻率排序、語義相似度排序與字詞權(quán)衡參數(shù)獲得查詢推薦排序,并根據(jù)查詢推薦排序?qū)Σ樵兺扑]列表中的每個(gè)查詢?cè)~排序顯示。
在一些實(shí)施方式中,所述確定時(shí)效性頻率的查詢字排序包括:
提取查詢推薦列表所有查詢?cè)~中的第一查詢字;
從用戶查詢記錄數(shù)據(jù)集中獲取每個(gè)查詢字在指定時(shí)間內(nèi)的出現(xiàn)頻率;
根據(jù)所有查詢?cè)~的第一查詢字與每個(gè)查詢字在指定時(shí)間內(nèi)的出現(xiàn)頻率確定時(shí)效性頻率的查詢字排序。
在一些實(shí)施方式中,所述根據(jù)用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度包括:
根據(jù)用戶查詢記錄數(shù)據(jù)集獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度;
根據(jù)訓(xùn)練用文本數(shù)據(jù)集獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度;
根據(jù)基于用戶查詢記錄數(shù)據(jù)集的第一查詢字、其他查詢字之間的語義相似度與基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度與語義整合權(quán)衡參數(shù)確定查詢?cè)~中第一查詢字與其他查詢字的語義相似度。
在一些實(shí)施方式中,所述根據(jù)用戶查詢記錄數(shù)據(jù)集獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度包括:
使用用戶查詢記錄數(shù)據(jù)集訓(xùn)練skip‐gram模型;
根據(jù)用戶查詢記錄數(shù)據(jù)集訓(xùn)練的skip‐gram模型獲得基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度。
在一些實(shí)施方式中,所述根據(jù)訓(xùn)練用文本數(shù)據(jù)集獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度包括:
使用訓(xùn)練用文本數(shù)據(jù)集分別訓(xùn)練skip‐gram模型;
根據(jù)訓(xùn)練用文本數(shù)據(jù)集訓(xùn)練的skip‐gram模型獲得基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度。
在一些實(shí)施方式中,所述訓(xùn)練skip‐gram模型包括:
挖掘用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集,獲取每個(gè)查詢字在指定長(zhǎng)度窗口內(nèi)出現(xiàn)的次數(shù);
生成用戶查詢記錄數(shù)據(jù)集與訓(xùn)練用文本數(shù)據(jù)集中每個(gè)查詢字的向量表征;
根據(jù)提取的文字向量表示衡量查詢字之間的語義相似度。
在一些實(shí)施方式中,所述根據(jù)基于用戶查詢記錄數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度、基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度、以及語義整合權(quán)衡參數(shù)確定查詢?cè)~中第一查詢字與其他查詢字的語義相似度,為使用語義整合權(quán)衡參數(shù)調(diào)整基于用戶查詢記錄數(shù)據(jù)集的、與基于訓(xùn)練用文本數(shù)據(jù)集的第一查詢字與其他查詢字之間的語義相似度二者所占權(quán)重獲得查詢?cè)~中第一查詢字與其他查詢字的語義相似度。
在一些實(shí)施方式中,所述確定語義相似度的查詢?cè)~排序,為根據(jù)所有查詢?cè)~的第一查詢字與其他查詢字的語義相似度的連積確定語義相似度的查詢?cè)~排序。
在一些實(shí)施方式中,所述根據(jù)時(shí)效性頻率排序、語義相似度排序與字詞權(quán)衡參數(shù)獲得查詢推薦排序,為根據(jù)時(shí)效性頻率排序與語義相似度排序的積獲得查詢推薦排序,其中,語義相似度排序受到字詞權(quán)衡參數(shù)的修正影響。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法與裝置獲取用戶查詢記錄數(shù)據(jù)集并采集查詢?cè)~前綴,生成查詢推薦列表并確定時(shí)效性頻率的查詢字排序,計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度并確定語義相似度的查詢?cè)~排序,獲得查詢推薦排序并對(duì)查詢推薦列表中的每個(gè)查詢?cè)~排序顯示的技術(shù)手段,考慮到了查詢字之間的語義相關(guān)度與查詢頻率隨時(shí)間變化的情況,進(jìn)而提升信息檢索的預(yù)測(cè)準(zhǔn)確率。
基于上述目的,本發(fā)明實(shí)施例的第二個(gè)方面提出了另一種能夠針對(duì)不同用戶或不同類型的用戶進(jìn)行基于語義相似度與時(shí)效性頻率的查詢推薦排序的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法。
查詢推薦排序問題可以如下描述,假設(shè)用戶u在信息檢索過程中,輸入了一個(gè)查詢?cè)~前綴p,即一個(gè)由若干字母構(gòu)成的字符串,qi表示一組查詢推薦候選詞,這些詞都是以p為開始,然后查詢推薦排序問題就是返回用戶一組查詢?cè)~的推薦列表qs,其中|qs|=n>0。在該列表中,每個(gè)查詢?cè)~都屬于qi,并且qs中查詢?cè)~按照用戶提交該查詢的可能性進(jìn)行排序,使得
達(dá)到最大化,q′是用戶u最后提交的查詢。這與傳統(tǒng)的信息檢索中文檔排序很類似。表1給出了文檔排序和查詢推薦排序的比較。在文檔排序中,給定查詢qi,每個(gè)文檔d用一個(gè)特征向量來表示,df=φ(d,q),其中φ是特征提取函數(shù),m(i)是待排序文檔個(gè)數(shù),即|d|。在查詢推薦排序中,給定輸入前綴pi,每個(gè)查詢q也用一個(gè)特征向量來表示,qf=φ(p,q),其中φ是特征提取函數(shù),n(i)待排序查詢?cè)~個(gè)數(shù),即|qc(pi)|??偟膩碚f,文檔排序中,輸入查詢?cè)~,返回用戶一組相關(guān)的文檔列表;查詢推薦排序中,輸入若干字符串,返回用戶一組用戶可能提交的查詢?cè)~。
一種簡(jiǎn)單而有效的查詢推薦排序方法是基于查詢記錄中查詢推薦的查詢次數(shù),采用最大似然估計(jì)方法,預(yù)測(cè)用戶提交每個(gè)查詢推薦的概率,這種方法被稱為mostpopularcompletion(mpc)模型,即
其中,f(q)是查詢推薦q在查詢記錄q中出現(xiàn)的次數(shù),c(p)是一組查詢推薦集合,每個(gè)查詢推薦都以用戶輸入的查詢前綴p為開始。mpc模型假設(shè)查詢推薦的查詢頻率會(huì)保持不變,因此查詢推薦可以根據(jù)它們?cè)诓樵冇涗浿械某霈F(xiàn)頻率來排序,使得查詢推薦性能效果最佳。
在mpc模型中,給定一個(gè)查詢輸入前綴,查詢推薦只根據(jù)查詢推薦的頻率進(jìn)行排序,因此不同用戶輸入相同的查詢前綴,將獲得相同的查詢推薦列表。但是,不同用戶的關(guān)注愛好存在差異,因此,考慮用戶的個(gè)人偏好對(duì)查詢推薦進(jìn)行排序,將有可能提高查詢推薦方法的性能,從而進(jìn)一步提高用戶的信息檢索滿意度。
另外,mpc模型假設(shè)查詢頻率的分布與時(shí)間無關(guān),即未來查詢頻率的分布與之前觀測(cè)到的保持一致。其實(shí)不然,查詢推薦的查詢頻率會(huì)隨著時(shí)間的變化呈現(xiàn)比如周期性、急劇上升或者下降等趨勢(shì),這些信息將影響查詢推薦排序的算法性能。
本發(fā)明實(shí)施例給出的查詢推薦排序模型構(gòu)建的具體步驟主要由兩部分構(gòu)成:第一步,根據(jù)時(shí)效性查詢字頻率返回一組查詢字頻率高的查詢字,這些查詢字是查詢?cè)~的第一個(gè)字,并且在過去一段時(shí)間內(nèi)的查詢記錄中經(jīng)常出現(xiàn);第二步,根據(jù)查詢字之間的語義相似度將查詢?cè)~重新排序。
本發(fā)明實(shí)施例以一個(gè)最簡(jiǎn)單的貝葉斯網(wǎng)絡(luò)(bayesiannetwork)來表示在查詢推薦排序中一組隨機(jī)變量的條件依賴關(guān)系,這組隨機(jī)變量包括輸入的查詢前綴p,查詢?cè)~的第一個(gè)查詢字w以及查詢?cè)~q。信息檢索用戶通常在輸入完查詢?cè)~的前綴或者查詢?cè)~的第一個(gè)查詢字后,才使用查詢推薦服務(wù)選取何時(shí)的推薦查詢,因此從基本的概率論可知,聯(lián)合概率p(p,w,q)可以用一組條件概率的乘積來表示:
p(p,w,q)=p(p)×p(w|p)×p(q|w,p)(6)
由于用戶使用信息檢索系統(tǒng)進(jìn)行信息檢索時(shí),經(jīng)常在輸入完一個(gè)完整的查詢字時(shí),選擇系統(tǒng)推薦的查詢?cè)~,因此本發(fā)明實(shí)施例假設(shè)用戶在輸入第一個(gè)查詢字后選擇查詢?cè)~?;谠摷僭O(shè),貝葉斯網(wǎng)絡(luò)中的變量q只與變量w相關(guān),即
p(q|w,p)=p(q|w)(7)
這樣,貝葉斯網(wǎng)絡(luò)就演化成一個(gè)馬爾科夫鏈(markovchain),于是,聯(lián)合概率p(p,w,q)就可以表示成
p(p,w,q)=p(p)×p(w|p)×p(q|w)(8)
同時(shí),根據(jù)貝葉斯理論可以將p(p,w,q)表示成
p(p,w,q)=p(q,w|p)×p(p)(9)
因此結(jié)合公式(8)有
即
p(w|p)×p(q|w)=p(q,w|p)(11)
由于直接計(jì)算概率p(q,w|p)存在困難,本發(fā)明實(shí)施例在以往研究基礎(chǔ)上,采用一種逼近方法來計(jì)算p(q,w|p),如下:
p(q,w|p)=λ×p(q|p)+(1-λ)×p(w|p)(12)
其中,λ是一個(gè)權(quán)衡參數(shù),屬于[0,1]。于是,當(dāng)用戶輸入查詢前綴p時(shí),每個(gè)查詢推薦的排序得分就可以表示成一個(gè)條件概率p(q|p),再根據(jù)上述公式(6)至公式(11)的推導(dǎo),排序得分p(q|p)就表示成
對(duì)一個(gè)查詢推薦的排序問題,由于公式(13)分母中的λ值并不影響查詢推薦之間的相對(duì)順序,因此,最終的查詢推薦排序得分可以簡(jiǎn)化為
p(q|p)∝p(w|p)×(p(q|w)+λ-1)(14)
其中,0≤λ≤1,p(w|p)表示用戶輸入查詢前綴p后,生成查詢字w的概率,而p(q|w)表示產(chǎn)生第一個(gè)查詢字w后生成查詢?cè)~q的概率。為了計(jì)算這些概率值,本發(fā)明實(shí)施例采用最大似然估計(jì)(maximum-likelihoodestimation,mle)來近似,p(w|p)主要依賴于查詢字的在一段時(shí)間內(nèi)的出現(xiàn)次數(shù),而p(q|w)則主要依賴于查詢字之間的語義相似度。
查詢推薦排序問題本質(zhì)上是一個(gè)重排序問題,即本發(fā)明實(shí)施例首先根據(jù)用戶輸入的查詢前綴,返回一組查詢推薦列表l(p),包含n個(gè)查詢推薦候選詞,然后根據(jù)相關(guān)模型算法對(duì)這n個(gè)查詢推薦候選詞進(jìn)行重新排序,最終返回給用戶一個(gè)重排序了的查詢推薦列表。
為了計(jì)算公式(14)中的概率p(w|p),首先根據(jù)l(p),提取一組查詢字
在此基礎(chǔ)上,給定用戶輸入的查詢前綴p,根據(jù)查詢字出現(xiàn)的頻率計(jì)算p(w|p):
其中,f(w)為查詢字w在一段時(shí)間內(nèi)的出現(xiàn)頻率。但是由于查詢字的出現(xiàn)頻率會(huì)隨著時(shí)間的變化而變化,因此如果采用訓(xùn)練階段所有的查詢記錄統(tǒng)計(jì)出現(xiàn)頻率,將把查詢頻率的時(shí)效性忽略。
為計(jì)算(14)中的概率p(q|w),其中w是查詢?cè)~q的第一個(gè)查詢字,因此也可用w1表示,查詢?cè)~q則表示成q={w1,w2,...,wn},基于統(tǒng)計(jì)語言模型中的獨(dú)立假設(shè),即查詢字之間是相互獨(dú)立的,因此,本發(fā)明實(shí)施例基于查詢?cè)~的第一個(gè)查詢字w與查詢?cè)~的其他查詢字來計(jì)算語義相似度ssem如下:
為了計(jì)算概率p(wi|w1),本發(fā)明實(shí)施例在大量的文本數(shù)據(jù)集和查詢記錄中挖掘查詢字wi與w1之間的語義關(guān)系。
skip‐gram模型能有效地從大量的文本文檔中,通過挖掘各個(gè)字在一定長(zhǎng)度的窗口內(nèi)共同出現(xiàn)的次數(shù),訓(xùn)練產(chǎn)生文本中每個(gè)字的向量表征,基于提取的文字向量表示,每個(gè)字之間的語義相似度將得以衡量。本發(fā)明實(shí)施例提出的查詢推薦排序中同樣基于skip‐gram模型獲取查詢?cè)~中查詢字w1與其他查詢字之間的語義關(guān)系。skip‐gram模型訓(xùn)練的目標(biāo)是通過最大化如下概率平均值,將每個(gè)查詢字用一個(gè)合理的向量表示,然后基于該向量能預(yù)測(cè)與查詢字接近的其他查詢字:
其中,tr是訓(xùn)練的文本數(shù)目,cs是訓(xùn)練文檔的尺寸窗口大小,wt是某個(gè)查詢字,wt+j是與查詢字wt距離在j個(gè)位置的其他查詢字。本發(fā)明實(shí)施例在google‐news文本數(shù)據(jù)集上訓(xùn)練skip‐gram模型,google‐news文本數(shù)據(jù)集包含了數(shù)以億計(jì)的文本語句。本發(fā)明實(shí)施例將每個(gè)語句按照順序用一組字來表示,即ws1,ws2,...,wst,然后輸入至skip‐gram模型。通過這種方式獲取了查詢字的向量表示,然后基于余弦函數(shù)計(jì)算兩個(gè)向量的相似度,獲取查詢字之間的語義相似度得分,或稱相似的概率sr(wi,w1),其中wi∈q,w1是查詢?cè)~q的第一個(gè)查詢字。
但是由于skip‐gram模型是一個(gè)高度依賴于訓(xùn)練文本數(shù)據(jù)集的統(tǒng)計(jì)語言模型,即要表征的查詢字必須在訓(xùn)練文本數(shù)據(jù)集里出現(xiàn)過,也就是說,無法用向量表示一個(gè)文本中不存在的查詢字。由于信息檢索中的用戶的查詢有時(shí)相當(dāng)孤僻,因此可能無法直接采用在google‐news文本數(shù)據(jù)集上訓(xùn)練的skip‐gram模型來表征所有查詢字。為解決這一問題,本發(fā)明實(shí)施例采用同樣的方式,針對(duì)搜集到的用戶查詢記錄,訓(xùn)練skip‐gram模型,這樣確保測(cè)試階段的每個(gè)查詢中的查詢字能被skip‐gram模型的向量表示?;谟脩舨樵冇涗浬傻膕kip-gram模型,同樣可以計(jì)算查詢?cè)~q中第一個(gè)查詢字w1與其他查詢字wi∈q之間的語義相似度,以sq(wi,w1)表示。最后,公式(17)中的查詢字之間的語義相似度p(wi|w1)通過如下計(jì)算而得:
p(wi|w1)=ω×sr(wi,w1)+(1-ω)×sq(wi,w1)(19)
其中,sr(wi,w1)是基于google-news文本數(shù)據(jù)集訓(xùn)練獲得的查詢字w1與其他查詢字wi∈q之間的語義相似度,sq(wi,w1)基于用戶查詢記錄數(shù)據(jù)集訓(xùn)練獲得的查詢字w1與其他查詢字wi∈q之間的語義相似度,采用ω來線性整合,獲取最終查詢字之間的語義相似度,ω是一個(gè)權(quán)衡參數(shù),在[0,1]之間。基于公式(17)和公式(19)有
至此,根據(jù)公式(16)和公式(20)可以計(jì)算公式(14)中的概率p(q|p),即當(dāng)用戶輸入查詢前綴p時(shí),根據(jù)概率p(q|p)的大小返回用戶一組排序了的查詢查詢推薦。
從上面所述可以看出,本發(fā)明實(shí)施例提供的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法與裝置獲取用戶查詢記錄數(shù)據(jù)集并采集查詢?cè)~前綴,生成查詢推薦列表并確定時(shí)效性頻率的查詢字排序,計(jì)算查詢?cè)~中第一查詢字與其他查詢字的語義相似度并確定語義相似度的查詢?cè)~排序,獲得查詢推薦排序并對(duì)查詢推薦列表中的每個(gè)查詢?cè)~排序顯示的技術(shù)手段,考慮到了查詢字之間的語義相關(guān)度與查詢頻率隨時(shí)間變化的情況,進(jìn)而提升信息檢索的預(yù)測(cè)準(zhǔn)確率。
基于上述目的,本發(fā)明實(shí)施例的第三個(gè)方面提出了一種執(zhí)行所述基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的電子設(shè)備的一個(gè)實(shí)施例。
所述執(zhí)行所述基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的電子設(shè)備包括至少一個(gè)處理器;以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行如上所述任意一種方法。
如圖2所示,為本發(fā)明提供的執(zhí)行所述實(shí)時(shí)通話中的語音處理方法的電子設(shè)備的一個(gè)實(shí)施例的硬件結(jié)構(gòu)示意圖。以如圖2所示的電子設(shè)備為例,在該電子設(shè)備中包括一個(gè)處理器201以及一個(gè)存儲(chǔ)器202,并還可以包括:輸入裝置203和輸出裝置204。
處理器201、存儲(chǔ)器202、輸入裝置203和輸出裝置204可以通過總線或者其他方式連接,圖2中以通過總線連接為例。
存儲(chǔ)器202作為一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可用于存儲(chǔ)非易失性軟件程序、非易失性計(jì)算機(jī)可執(zhí)行程序以及模塊,如本申請(qǐng)實(shí)施例中的所述基于語義相似度與時(shí)效性頻率的查詢推薦排序方法對(duì)應(yīng)的程序指令/模塊。處理器201通過運(yùn)行存儲(chǔ)在存儲(chǔ)器202中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務(wù)器的各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述方法實(shí)施例的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法。
存儲(chǔ)器202可以包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需要的應(yīng)用程序;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)基于語義相似度與時(shí)效性頻率的查詢推薦排序裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器202可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他非易失性固態(tài)存儲(chǔ)器件。在一些實(shí)施例中,存儲(chǔ)器202可選包括相對(duì)于處理器201遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(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í)效性頻率的查詢推薦排序裝置的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。輸出裝置204可包括顯示屏等顯示設(shè)備。
所述一個(gè)或者多個(gè)模塊存儲(chǔ)在所述存儲(chǔ)器202中,當(dāng)被所述處理器201執(zhí)行時(shí),執(zhí)行上述任意方法實(shí)施例中的基于語義相似度與時(shí)效性頻率的查詢推薦排序方法。
所述執(zhí)行所述基于語義相似度與時(shí)效性頻率的查詢推薦排序方法的電子設(shè)備的任何一個(gè)實(shí)施例,可以達(dá)到與之對(duì)應(yīng)的前述任意方法實(shí)施例相同或者相類似的效果。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(read‐onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。所述計(jì)算機(jī)程序的實(shí)施例,可以達(dá)到與之對(duì)應(yīng)的前述任意方法實(shí)施例相同或者相類似的效果。
此外,典型地,本公開所述的裝置、設(shè)備等可為各種電子終端設(shè)備,例如手機(jī)、個(gè)人數(shù)字助理(pda)、平板電腦(pad)、智能電視等,也可以是大型終端設(shè)備,如服務(wù)器等,因此本公開的保護(hù)范圍不應(yīng)限定為某種特定類型的裝置、設(shè)備。本公開所述的客戶端可以是以電子硬件、計(jì)算機(jī)軟件或兩者的組合形式應(yīng)用于上述任意一種電子終端設(shè)備中。
此外,根據(jù)本公開的方法還可以被實(shí)現(xiàn)為由cpu執(zhí)行的計(jì)算機(jī)程序,該計(jì)算機(jī)程序可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。在該計(jì)算機(jī)程序被cpu執(zhí)行時(shí),執(zhí)行本公開的方法中限定的上述功能。
此外,上述方法步驟以及系統(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)、電可擦寫可編程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)。所公開的方面的存儲(chǔ)設(shè)備意在包括但不限于這些和其它合適類型的存儲(chǔ)器。
本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經(jīng)就各種示意性組件、方塊、模塊、電路和步驟的功能對(duì)其進(jìn)行了一般性的描述。這種功能是被實(shí)現(xiàn)為軟件還是被實(shí)現(xiàn)為硬件取決于具體應(yīng)用以及施加給整個(gè)系統(tǒng)的設(shè)計(jì)約束。本領(lǐng)域技術(shù)人員可以針對(duì)每種具體應(yīng)用以各種方式來實(shí)現(xiàn)所述的功能,但是這種實(shí)現(xiàn)決定不應(yīng)被解釋為導(dǎo)致脫離本公開的范圍。
結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊和電路可以利用被設(shè)計(jì)成用于執(zhí)行這里所述功能的下列部件來實(shí)現(xiàn)或執(zhí)行:通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)或其它可編程邏輯器件、分立門或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如,dsp和微處理器的組合、多個(gè)微處理器、一個(gè)或多個(gè)微處理器結(jié)合dsp核、或任何其它這種配置。
結(jié)合這里的公開所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以駐留在ram存儲(chǔ)器、快閃存儲(chǔ)器、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤、可移動(dòng)盤、cd‐rom、或本領(lǐng)域已知的任何其它形式的存儲(chǔ)介質(zhì)中。示例性的存儲(chǔ)介質(zhì)被耦合到處理器,使得處理器能夠從該存儲(chǔ)介質(zhì)中讀取信息或向該存儲(chǔ)介質(zhì)寫入信息。在一個(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ì)上或通過計(jì)算機(jī)可讀介質(zhì)來傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),該通信介質(zhì)包括有助于將計(jì)算機(jī)程序從一個(gè)位置傳送到另一個(gè)位置的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能夠被通用或?qū)S糜?jì)算機(jī)訪問的任何可用介質(zhì)。作為例子而非限制性的,該計(jì)算機(jī)可讀介質(zhì)可以包括ram、rom、eeprom、cd‐rom或其它光盤存儲(chǔ)設(shè)備、磁盤存儲(chǔ)設(shè)備或其它磁性存儲(chǔ)設(shè)備,或者是可以用于攜帶或存儲(chǔ)形式為指令或數(shù)據(jù)結(jié)構(gòu)的所需程序代碼并且能夠被通用或?qū)S糜?jì)算機(jī)或者通用或?qū)S锰幚砥髟L問的任何其它介質(zhì)。此外,任何連接都可以適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路(dsl)或諸如紅外線、無線電和微波的無線技術(shù)來從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)送軟件,則上述同軸線纜、光纖線纜、雙絞線、dsl或諸如紅外先、無線電和微波的無線技術(shù)均包括在介質(zhì)的定義。如這里所使用的,磁盤和光盤包括壓縮盤(cd)、激光盤、光盤、數(shù)字多功能盤(dvd)、軟盤、藍(lán)光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。上述內(nèi)容的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
公開的示例性實(shí)施例,但是應(yīng)當(dāng)注公開的示例性實(shí)施例,但是應(yīng)當(dāng)注意,在不背離權(quán)利要求限定的本公開的范圍的前提下,可以進(jìn)行多種改變和修改。根據(jù)這里描述的公開實(shí)施例的方法權(quán)利要求的功能、步驟和/或動(dòng)作不需以任何特定順序執(zhí)行。此外,盡管本公開的元素可以以個(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)目的任意和所有可能組合。
上述本公開實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明實(shí)施例的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,并存在如上所述的本發(fā)明實(shí)施例的不同方面的許多其它變化,為了簡(jiǎn)明它們沒有在細(xì)節(jié)中提供。因此,凡在本發(fā)明實(shí)施例的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。