亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

搜索詞糾錯方法及裝置與流程

文檔序號:12598818閱讀:444來源:國知局
搜索詞糾錯方法及裝置與流程

本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種搜索詞糾錯方法及裝置。



背景技術(shù):

用戶輸入搜索詞中往往包含大量的錯別字,導(dǎo)致搜索結(jié)果不能滿足用戶的需求。錯誤搜索詞產(chǎn)生的原因比較復(fù)雜,主要包括:同音字選字錯誤、拼音拼寫錯誤、字形輸入錯誤等。為了解決上述問題,可以采用糾錯提示的方式,在搜索頁面提示用戶輸入的搜索詞可能不準確,并根據(jù)其輸入的搜索詞,推薦相關(guān)可能的搜索詞。傳統(tǒng)糾錯技術(shù),大多采用編輯距離技術(shù)將原詞與詞典中的詞條比較,然后,選擇與原詞編輯距離最小的K個詞條。編輯操作包括:1)將一個字符替換成另一個字符,2)插入一個字符,3)刪除一個字符。這種編輯操作并未考慮替換字符之間的關(guān)系,很多情況下,這種傳統(tǒng)的編輯距離效果并不是很好。



技術(shù)實現(xiàn)要素:

為了提高搜索詞糾錯準確率,本發(fā)明實施例提供一種搜索詞糾錯方法及裝置。

根據(jù)本發(fā)明一個方面,提供一種搜索詞糾錯方法,包括:識別出錯誤的搜索詞;利用加權(quán)編輯距離算法,計算所述搜索詞與預(yù)先獲取的熱詞之間的加權(quán)編輯距離,其中,在所述加權(quán)編輯距離計算過程中,針對從搜索詞轉(zhuǎn)換到熱詞的操作,分別為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作,設(shè)置不同數(shù)值的權(quán)重;根據(jù)所述加權(quán)編輯距離和熱詞熱度,選取預(yù)定數(shù)目的熱詞進行糾錯提示。

優(yōu)選的,所述利用加權(quán)編輯距離算法,計算所述搜索詞與預(yù)先獲取的熱詞之間的加權(quán)編輯距離,包括:定義狀態(tài)轉(zhuǎn)移方程,用于表示所述搜索詞與熱詞之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示搜索詞和熱詞之間對應(yīng)位置的字符;根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,求解所述狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解;根據(jù)所述狀態(tài)轉(zhuǎn)移方程的解,得到所述加權(quán)編輯距離。

優(yōu)選的,所述狀態(tài)轉(zhuǎn)移方程為:其中,i、j為所述兩個狀態(tài)量,f(i,j)為操作代價值,f(i,j)根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,得到各權(quán)重對應(yīng)的代價值。

優(yōu)選的,還包括:通過查找預(yù)先設(shè)置的形近字映射表或音近字映射表,確定所述搜索詞與所述熱詞是否互為形近字或音近字。

優(yōu)選的,還包括:設(shè)置各操作權(quán)重滿足如下關(guān)系:形近字或音近字的替換操作權(quán)重<交換字符操作權(quán)重<插入字符操作權(quán)重=刪除字符操作權(quán)重=非形近字或音近字的替換操作權(quán)重。

優(yōu)選的,所述識別出錯誤的搜索詞,包括:基于搜索日志,解析或計算出待識別搜索詞的搜索點擊率、詞特征、出現(xiàn)概率、全匹配結(jié)果數(shù)和全匹配占比;根據(jù)待識別搜索詞的所述搜索點擊率、所述詞特征、所述出現(xiàn)概率、所述全匹配結(jié)果數(shù)和所述全匹配占比,確定所述待識別搜索詞為錯誤搜索詞或正常搜索詞。

優(yōu)選的,所述根據(jù)所述加權(quán)編輯距離和熱詞熱度,選取預(yù)定數(shù)目的熱詞進行糾錯提示,包括:將熱詞搜索次數(shù)進行歸一化處理;根據(jù)所述加權(quán)編輯距離與熱詞搜索次數(shù)歸一化處理結(jié)果,計算推薦綜合得分;選擇推薦綜合得分最高且所述加權(quán)編輯距離小于預(yù)定值的預(yù)定數(shù)目的熱詞,作為糾錯的推薦詞,進行糾錯提示。

根據(jù)本發(fā)明的另一個方面,提供一種加權(quán)編輯距離計算方法,包括:獲取源字符串和目標字符串;計算所述源字符串和所述目標字符串之間的加權(quán)編輯距離,其中,在所述加權(quán)編輯距離計算過程中,針對從所述源字符串轉(zhuǎn)換到所述目標字符串的不同操作分別設(shè)置不同數(shù)值的權(quán)重。

優(yōu)選的,所述計算所述源字符串和所述目標字符串之間的加權(quán)編輯距離,包括:定義狀態(tài)轉(zhuǎn)移方程,用于表示所述源字符串和所述目標字符串之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示源字符串和所述目標字符串之間對應(yīng)位置的字符;根據(jù)為不同操作所設(shè)置的不同數(shù)值的權(quán)重,求解所述狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解;根據(jù)所述狀態(tài)轉(zhuǎn)移方程的解,得到所述加權(quán)編輯距離。

根據(jù)本發(fā)明的又一個方面,提供一種搜索詞糾錯裝置,包括:錯誤搜索詞識別單元,用于識別出錯誤的搜索詞;加權(quán)編輯距離計算單元,用于利用加權(quán)編輯距離算法,計算所述搜索詞與預(yù)先獲取的熱詞之間的加權(quán)編輯距離,其中,在所述加權(quán)編輯距離計算過程中,針對從搜索詞轉(zhuǎn)換到熱詞的操作,分別為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作,設(shè)置不同數(shù)值的權(quán)重;糾錯提示單元,用于根據(jù)所述加權(quán)編輯距離和熱詞熱度,選取預(yù)定數(shù)目的熱詞進行糾錯提示。

優(yōu)選的,所述加權(quán)編輯距離計算單元包括:狀態(tài)轉(zhuǎn)移方程定義子單元,用于定義狀態(tài)轉(zhuǎn)移方程,用于表示所述搜索詞與熱詞之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示搜索詞和熱詞之間對應(yīng)位置的字符;方程求解子單元,用于根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,求解所述狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解,作為所述加權(quán)編輯距離。

優(yōu)選的,所述狀態(tài)轉(zhuǎn)移方程為:其中,i、j為所述兩個狀態(tài)量,f(i,j)為操作代價值,f(i,j)根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,得到各權(quán)重對應(yīng)的代價值。

優(yōu)選的,還包括:形近字或音近字確定單元,用于查找預(yù)先設(shè)置的形近字映射表或音近字映射表,確定所述搜索詞與所述熱詞是否互為形近字或音近字。

優(yōu)選的,還包括:操作權(quán)重設(shè)置單元,用于設(shè)置各操作權(quán)重滿足如下關(guān)系:形近字或音近字的替換操作權(quán)重<交換字符操作權(quán)重<插入字符操作權(quán)重=刪除字符操作權(quán)重=非形近字或音近字的替換操作權(quán)重。

優(yōu)選的,所述錯誤搜索詞識別單元包括:日志查找及計算子單元,用于基于搜索日志,解析或計算出待識別搜索詞的搜索點擊率、詞特征、出現(xiàn)概率、全匹配結(jié)果數(shù)和全匹配占比;識別結(jié)果確定子單元,用于根據(jù)待識別搜索詞的所述搜索點擊率、所述詞特征、所述出現(xiàn)概率、所述全匹配結(jié)果數(shù)和所述全匹配占比,確定所述待識別搜索詞為錯誤搜索詞或正常搜索詞。

優(yōu)選的,所述糾錯提示單元包括:歸一化處理子單元,用于將熱詞搜索次數(shù)進行歸一化處理;推薦綜合得分計算子單元,用于根據(jù)所述加權(quán)編輯距離與熱詞搜索次數(shù)歸一化處理結(jié)果,計算推薦綜合得分;推薦詞確定子單元,用于選擇推薦綜合得分最高且所述加權(quán)編輯距離小于預(yù)定值的預(yù)定數(shù)目的熱詞,作為糾錯的推薦詞,進行糾錯提示。

根據(jù)本發(fā)明的再一個方面,提供一種加權(quán)編輯距離計算裝置,包括:獲取單元,用于獲取源字符串和目標字符串;計算單元,用于計算所述源字符串和所述目標字符串之間的加權(quán)編輯距離,其中,在所述加權(quán)編輯距離計算過程中,針對從所述源字符串轉(zhuǎn)換到所述目標字符串的不同操作分別設(shè)置不同數(shù)值的權(quán)重。

優(yōu)選的,所述計算單元包括:狀態(tài)轉(zhuǎn)移方程定義子單元,用于定義狀態(tài)轉(zhuǎn)移方程,用于表示所述源字符串和所述目標字符串之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示源字符串和所述目標字符串之間對應(yīng)位置的字符;狀態(tài)轉(zhuǎn)移方程求解子單元,用于根據(jù)為不同操作所設(shè)置的不同數(shù)值的權(quán)重,求解所述狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解,作為所述加權(quán)編輯距離。

可見,本發(fā)明實施例提供一種基于加權(quán)編輯距離的搜索詞糾錯方法及裝置,通過為刪除字符操作、插入字符操作、形近字或音近字替換操作、非形近字或音近字替換操作以及交換字符操作,分別設(shè)置不同的權(quán)重,從而在加權(quán)編輯距離計算過程中,充分涵蓋了從搜索詞到熱詞轉(zhuǎn)換過程中可能涉及的各種操作,從而可更加快速、準確的計算出從搜索詞到熱詞之間的編輯距離,提高搜索詞糾錯準確性。

附圖說明

圖1是本發(fā)明一個實施例提供的一種搜索詞糾錯方法流程圖;

圖2是本發(fā)明一個實施例提供的一種加權(quán)編輯距離計算方法流程圖;

圖3是本發(fā)明一個實施例提供的一種搜索詞糾錯裝置結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。

如前分析的,現(xiàn)有技術(shù)中基于編輯距離的糾錯方案并未考慮替換字符之間的關(guān)系,比如形近字、音近字等,也未考慮字符串內(nèi)鄰近字符之間的交換操作,因此這種傳統(tǒng)的編輯距離效果并不理想。

本發(fā)明實施例提供一種基于加權(quán)編輯距離的搜索詞糾錯方法及裝置,通過為刪除字符操作、插入字符操作、形近字或音近字替換操作、非形近字或音近字替換操作以及交換字符操作,分別設(shè)置不同的權(quán)重,從而在加權(quán)編輯距離計算過程中,充分涵蓋了從搜索詞到熱詞轉(zhuǎn)換過程中可能涉及的各種操作,從而可更加快速、準確的計算出從搜索詞到熱詞之間的編輯距離,提高搜索詞糾錯準確性。

參見圖1,為本發(fā)明實施例提供的一種搜索詞糾錯方法流程圖,該方法包括:

S101:識別出錯誤的搜索詞。

對搜索詞進行糾錯,是針對錯誤的搜索詞進行糾錯,因此首先需要識別出錯誤的搜索詞。搜索詞之所以錯誤,包括很多種情況,例如,因同音字選字錯誤產(chǎn)生的搜索詞、因拼音拼寫錯誤產(chǎn)生的搜索詞、因字形輸入錯誤產(chǎn)生的搜索詞,這就導(dǎo)致搜索結(jié)果不能滿足用戶的需求。在具體實現(xiàn)中,可以基于搜索日志,識別出錯誤的搜索詞:通過搜索詞點擊率、搜索結(jié)果完全匹配的結(jié)果個數(shù)、以及基于語言模型的搜索詞概率,可有效識別出錯誤的搜索詞。

本發(fā)明實施例中,提供以下包括步驟1-2識別錯誤的搜索詞的方法:

步驟1、基于搜索日志,解析或計算出待識別搜索詞的搜索點擊率、詞特征、出現(xiàn)概率、全匹配結(jié)果數(shù)和全匹配占比。

具體的,

首先,計算待識別搜索詞的搜索點擊率。例如,從搜索日志中獲取用戶針對待識別搜索詞的搜索次數(shù)和點擊搜索結(jié)果次數(shù);將點擊搜索結(jié)果次數(shù)除以搜索次數(shù),得到搜索點擊率。

其次,對待識別搜索詞進行分詞處理,得到多個詞特征。

繼而,利用統(tǒng)計語言模型和各個詞特征,計算待識別搜索詞出現(xiàn)的概率。

然后,計算待識別搜索詞的全匹配結(jié)果數(shù)和相關(guān)結(jié)果數(shù),其中,全匹配結(jié)果數(shù)為針對待識別搜索詞的所有搜索結(jié)果中包含待識別搜索詞的全部內(nèi)容的結(jié)果的個數(shù),相關(guān)結(jié)果數(shù)為針對待識別搜索詞的所有搜索結(jié)果中包含待識別搜索詞的部分內(nèi)容的結(jié)果的個數(shù)。

最后,計算全匹配結(jié)果數(shù)和相關(guān)結(jié)果數(shù)的比值,得到全匹配占比。

步驟2、根據(jù)待識別搜索詞的搜索點擊率、詞特征、出現(xiàn)概率、全匹配結(jié)果數(shù)和全匹配占比,確定待識別搜索詞為錯誤搜索詞或正常搜索詞。

通過融合待識別搜索詞的多維度特征(即搜索點擊率、各個所述詞特征、待識別搜索詞出現(xiàn)的概率、全匹配結(jié)果數(shù)和全匹配占比),并基于多維度特征對待識別搜索詞進行識別,降低了對待識別搜索詞進行識別的難度,從而提高了對待識別搜索詞的識別能力,有利于識別出待識別搜索詞是否為錯誤搜索詞。

S102:利用加權(quán)編輯距離算法,計算搜索詞與預(yù)先獲取的熱詞之間的加權(quán)編輯距離,其中,在加權(quán)編輯距離計算過程中,針對從搜索詞轉(zhuǎn)換到熱詞的操作,分別為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作,設(shè)置不同數(shù)值的權(quán)重。

熱詞,是指網(wǎng)絡(luò)或當(dāng)下常用或流行的詞,在實際操作中,可通過點擊率確定眾多熱詞組成熱詞表。在熱詞表的產(chǎn)生過程中,需要過濾掉點擊率低、搜索結(jié)果少的詞語,以保證熱詞的準確性。本發(fā)明實施例中,通過將錯誤的搜索詞糾正為編輯距離相近的熱詞,從而為用戶提供更好的體驗。

本領(lǐng)域技術(shù)人員理解,編輯距離(Edit Distance),又稱Levenshtein距離,是指兩個字串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù)。傳統(tǒng)的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。一般來說,編輯距離越小,兩個字符串的相似度越大。

傳統(tǒng)的編輯距離操作包括:將一個字符替換成另一個字符,插入一個字符,刪除一個字符,每一種操作對應(yīng)的距離都是1。這些操作中并不包括字符串內(nèi)臨近字符之間的交換操作,也沒有考慮音近字或形近字替換操作的特殊性。交換操作可以通過兩次替換操作實現(xiàn),比如CD->DD->DC,按照傳統(tǒng)編輯距離算法,對應(yīng)的距離是2。考慮到實際搜索過程中,用戶將兩個字符輸入錯位的概率非常高,交換操作的距離為2是不合理的。另外,因此,用戶出現(xiàn)音近字或形近字導(dǎo)致的搜索詞輸入錯誤的概率也較高,如果對此特殊的替換操作沒有特別處理,也設(shè)置距離為1,顯然也是不合理的。

因此,本發(fā)明實施例中提出了一種加權(quán)編輯距離方法,包括以下5種操作,并分別設(shè)置不同的權(quán)重。

1)插入字符操作,權(quán)重為1;

2)刪除字符操作,權(quán)重為1;

3)非形近字或者音近字的替換操作,權(quán)重為1;

4)形近字或音近字的替換操作,權(quán)重為w1;

5)交換字符操作,權(quán)重為w2。

為了得到更好的效果,w1和w2的取值需特別注意,一般而言,需要滿足w1<w2<1。經(jīng)過實驗得到,優(yōu)選的,設(shè)置各操作權(quán)重滿足如下關(guān)系:形近字或音近字的替換操作權(quán)重<交換字符操作權(quán)重<插入字符操作權(quán)重=刪除字符操作權(quán)重=非形近字或音近字的替換操作權(quán)重。

由于上述考慮了各種可能的操作,并且分別賦予不同的權(quán)重,因此采取這種加權(quán)編輯距離應(yīng)用于糾錯,計算字符串之間的相似度,精度更高。

加權(quán)編輯距離(也稱“動態(tài)規(guī)劃”)可為不同操作設(shè)置不同的權(quán)重,解決上述問題。其思路是:通過描述出操作的狀態(tài),并且以一個狀態(tài)轉(zhuǎn)移方程進行求解。

對于編輯距離問題,牽涉到源字符串str1(本實施例中的搜索詞)和目標字符串str2(本實施例中的熱詞),顯然一個狀態(tài)量是不能描述這種兩元關(guān)系,因此,就使用了i,j兩個量來描述一個狀態(tài)。對于編輯距離的某個狀態(tài),從源字符串str1的1->i到目標字符串str2的1->j的最優(yōu)編輯距離用edit[i,j]來表示,那么,目標就是得到一個狀態(tài)轉(zhuǎn)移方程,即怎樣從ti<i、tj<j的這些子狀態(tài)轉(zhuǎn)移到i、j。在本發(fā)明實施例的加權(quán)編輯距離的操作中,包括插入字符操作、刪除字符操作、音近字或形近字字符替換操作、非音近字或形近字字符替換操作、交換字符操作,那么子狀態(tài)就由這五種操作方式轉(zhuǎn)移得到現(xiàn)在狀態(tài)。

參見圖2,是本發(fā)明一個實施例提供的一種加權(quán)編輯距離計算方法流程圖,包括:

S201:定義狀態(tài)轉(zhuǎn)移方程,用于表示搜索詞與熱詞之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示搜索詞和熱詞之間對應(yīng)位置的字符。

S202:根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,求解狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解,得到加權(quán)編輯距離。

本發(fā)明實施例中,熱詞與錯誤搜索詞之間的相似度采用一種加權(quán)編輯算法實現(xiàn)。首先,定義狀態(tài)轉(zhuǎn)移方程edit(i,j),表示第一個字符串長度為i的子串到第二個字符串長度為j的子串的加權(quán)編輯距離,str1(i)表示第一個字符串的第i+1個字符,str2(j)表示第二個字符串的第j+1個字符。下面,提供一種基于動態(tài)規(guī)劃的加權(quán)編輯距離計算方法邏輯實現(xiàn)實例:

A.if i==0 and j==0,edit(i,j)=0;

B.if i==0 and j>0,edit(i,j)=j(luò);

C.if i>0 and j==0,edit(i,j)=i;

D.ifi≥1 and j≥1,edit(i,j)=min{edit(i-1,j)+1,edit(I,j-1)+1,edit(i-1,j-1)+f(i,j)},其中:

D1.if str1(i-1)==str2(j-1),f(i,j)=0

D2.if str1(i-1),str2(j-1)互為形近字或音近字,f(i,j)=w1

D3.if i≥2 and j≥2 and str1(i-2)==str2(j-1)and str1(i-1)==str2(j-2),f(i,j)=1-w2

D4.其他情況下,f(i,j)=1

其中,步驟A,B,C初始化函數(shù)edit(i,j),步驟D1表示字符str1(i-1)和字符str2(j-1)相同,步驟D2表示字符str1(i-1)和字符str2(j-1)互為形近字或者音近字的替換操作,步驟D3表示交換操作,步驟D4表示插入、刪除以及非形近字或音近字的替換操作;f(i,j)為操作代價值,f(i,j)根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,得到各權(quán)重對應(yīng)的代價值。由此可以計算錯誤搜索詞和熱詞之間的編輯距離。

在步驟D2中,可以通過預(yù)先設(shè)置的音近字映射表或形近字映射表,來判斷搜索詞與熱詞之間是否互為音近字或形近字。例如,對于漢字而言,音近字映射表可以首先提取漢字的拼音,然后找到該拼音所包含的所有漢字,從而建立音近字映射表。同理,對于非漢語的其他語種,也可以采取類似的方式建立映射表。

S103:根據(jù)加權(quán)編輯距離和熱詞熱度,選取預(yù)定數(shù)目的熱詞進行糾錯提示。

具體的,選擇推薦詞可由以下步驟完成:1、將熱詞搜索次數(shù)進行歸一化處理;2、根據(jù)加權(quán)編輯距離與熱詞搜索次數(shù)歸一化處理結(jié)果,計算推薦綜合得分;3、選擇推薦綜合得分最高且所述加權(quán)編輯距離小于預(yù)定值的預(yù)定數(shù)目的熱詞,作為糾錯的推薦詞。

在選擇推薦詞時,需要綜合考慮編輯距離和熱詞熱度的影響。假設(shè)加權(quán)編輯距離為edit_score,熱詞搜索次數(shù)為impression_count,采用對數(shù)公式將熱詞搜索次數(shù)歸一化到0-1之間,例如,歸一化公式為:

hot_index=min(log(impression_count+1)/20,1)

那么,推薦綜合得分為:

final_score=hot_index*edit_score

最后,選擇推薦綜合得分最高且加權(quán)編輯距離小于預(yù)定值的k個熱詞作為糾錯提示的推薦詞,進行糾錯提示。

需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。

參照圖3,是本發(fā)明實施例提供的一種搜索詞糾錯裝置結(jié)構(gòu)示意圖。該裝置包括:

錯誤搜索詞識別單元301,用于識別出錯誤的搜索詞;

對搜索詞進行糾錯,是針對錯誤的搜索詞進行糾錯,因此首先需要識別出錯誤的搜索詞。在具體實現(xiàn)中,可以基于搜索日志,識別出錯誤的搜索詞:通過搜索詞點擊率、搜索結(jié)果完全匹配的結(jié)果個數(shù)、以及基于語言模型的搜索詞概率,可有效識別出錯誤的搜索詞。

加權(quán)編輯距離計算單元302,用于利用加權(quán)編輯距離算法,計算所述搜索詞與預(yù)先獲取的熱詞之間的加權(quán)編輯距離,其中,在所述加權(quán)編輯距離計算過程中,針對從搜索詞轉(zhuǎn)換到熱詞的操作,分別為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作,設(shè)置不同數(shù)值的權(quán)重;

熱詞,是指網(wǎng)絡(luò)或當(dāng)下常用或流行的詞,在實際操作中,可通過點擊率確定眾多熱詞組成熱詞表。在熱詞表的產(chǎn)生過程中,需要過濾掉點擊率低、搜索結(jié)果少的詞語,以保證熱詞的準確性。本發(fā)明實施例中,通過將錯誤的搜索詞糾正為編輯距離相近的熱詞,從而為用戶提供更好的體驗。

本領(lǐng)域技術(shù)人員理解,編輯距離(Edit Distance),又稱Levenshtein距離,是指兩個字串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù)。傳統(tǒng)的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。一般來說,編輯距離越小,兩個字符串的相似度越大。

傳統(tǒng)的編輯距離操作包括:將一個字符替換成另一個字符,插入一個字符,刪除一個字符,每一種操作對應(yīng)的距離都是1。這些操作中并不包括字符串內(nèi)臨近字符之間的交換操作,也沒有考慮音近字或形近字替換操作的特殊性。交換操作可以通過兩次替換操作實現(xiàn),比如CD->DD->DC,按照傳統(tǒng)編輯距離算法,對應(yīng)的距離是2。考慮到實際搜索過程中,用戶將兩個字符輸入錯位的概率非常高,交換操作的距離為2是不合理的。另外,因此,用戶出現(xiàn)音近字或形近字導(dǎo)致的搜索詞輸入錯誤的概率也較高,如果對此特殊的替換操作沒有特別處理,也設(shè)置距離為1,顯然也是不合理的。

因此,本發(fā)明實施例中提出了一種加權(quán)編輯距離方法,包括以下5種操作,并分別設(shè)置不同的權(quán)重。

1)插入字符操作,權(quán)重為1;

2)刪除字符操作,權(quán)重為1;

3)非形近字或者音近字的替換操作,權(quán)重為1;

4)形近字或音近字的替換操作,權(quán)重為w1;

5)交換字符操作,權(quán)重為w2。

糾錯提示單元303,用于根據(jù)所述加權(quán)編輯距離和熱詞熱度,選取預(yù)定數(shù)目的熱詞作為糾錯推薦詞。

優(yōu)選的,所述加權(quán)編輯距離計算單元302包括:

狀態(tài)轉(zhuǎn)移方程定義子單元3021,用于定義狀態(tài)轉(zhuǎn)移方程,用于表示所述搜索詞與熱詞之間的加權(quán)編輯距離,其中,在狀態(tài)轉(zhuǎn)移方程中定義兩個狀態(tài)量,用于分別表示搜索詞和熱詞之間對應(yīng)位置的字符;

方程求解子單元3022,用于根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,求解所述狀態(tài)轉(zhuǎn)移方程在相應(yīng)操作的解,作為所述加權(quán)編輯距離。

優(yōu)選的,所述狀態(tài)轉(zhuǎn)移方程為:

其中,i、j為所述兩個狀態(tài)量,f(i,j)為操作代價值,f(i,j)根據(jù)為插入字符操作、刪除字符操作、形近字或音近字的替換操作、非形近字或音近字的替換操作、交換字符操作所設(shè)置的不同數(shù)值的權(quán)重,得到各權(quán)重對應(yīng)的代價值。

優(yōu)選的,該裝置還包括:

形近字或音近字確定單元304,用于查找預(yù)先設(shè)置的形近字映射表或音近字映射表,確定所述搜索詞與所述熱詞是否互為形近字或音近字。

優(yōu)選的,該裝置還包括:

操作權(quán)重設(shè)置單元305,用于設(shè)置各操作權(quán)重滿足如下關(guān)系:

形近字或音近字的替換操作權(quán)重<交換字符操作權(quán)重<插入字符操作權(quán)重=刪除字符操作權(quán)重=非形近字或音近字的替換操作權(quán)重。為了得到更好的效果,w1和w2的取值需特別注意,一般而言,需要滿足w1<w2<1。經(jīng)過實驗得到,優(yōu)選的,設(shè)置各操作權(quán)重滿足如下關(guān)系:形近字或音近字的替換操作權(quán)重<交換字符操作權(quán)重<插入字符操作權(quán)重=刪除字符操作權(quán)重=非形近字或音近字的替換操作權(quán)重。由于上述考慮了各種可能的操作,并且分別賦予不同的權(quán)重,因此采取這種加權(quán)編輯距離應(yīng)用于糾錯,計算字符串之間的相似度,精度更高。

優(yōu)選的,所述錯誤搜索詞識別單元301包括:

日志查找及計算子單元3011,用于基于搜索日志,解析或計算出待識別搜索詞的搜索點擊率、詞特征、出現(xiàn)概率、全匹配結(jié)果數(shù)和全匹配占比;

具體的,首先,計算待識別搜索詞的搜索點擊率,例如,從搜索日志中獲取用戶針對待識別搜索詞的搜索次數(shù)和點擊搜索結(jié)果次數(shù);將點擊搜索結(jié)果次數(shù)除以搜索次數(shù),得到搜索點擊率;其次,對待識別搜索詞進行分詞處理,得到多個詞特征;繼而,利用統(tǒng)計語言模型和各個詞特征,計算待識別搜索詞出現(xiàn)的概率;然后,計算待識別搜索詞的全匹配結(jié)果數(shù)和相關(guān)結(jié)果數(shù),其中,全匹配結(jié)果數(shù)為針對待識別搜索詞的所有搜索結(jié)果中包含待識別搜索詞的全部內(nèi)容的結(jié)果的個數(shù),相關(guān)結(jié)果數(shù)為針對待識別搜索詞的所有搜索結(jié)果中包含待識別搜索詞的部分內(nèi)容的結(jié)果的個數(shù);最后,計算全匹配結(jié)果數(shù)和相關(guān)結(jié)果數(shù)的比值,得到全匹配占比。

識別結(jié)果確定子單元3012,用于根據(jù)待識別搜索詞的所述搜索點擊率、所述詞特征、所述出現(xiàn)概率、所述全匹配結(jié)果數(shù)和所述全匹配占比,確定所述待識別搜索詞為錯誤搜索詞或正常搜索詞。

通過融合待識別搜索詞的多維度特征(即搜索點擊率、各個所述詞特征、待識別搜索詞出現(xiàn)的概率、全匹配結(jié)果數(shù)和全匹配占比),并基于多維度特征對待識別搜索詞進行識別,降低了對待識別搜索詞進行識別的難度,從而提高了對待識別搜索詞的識別能力,有利于識別出待識別搜索詞是否為錯誤搜索詞。

優(yōu)選的,所述糾錯提示單元303包括:

歸一化處理子單元3031,用于將熱詞搜索次數(shù)進行歸一化處理;

推薦綜合得分計算子單元3032,用于根據(jù)所述加權(quán)編輯距離與熱詞搜索次數(shù)歸一化處理結(jié)果,計算推薦綜合得分;

推薦詞確定子單元3033,用于選擇推薦綜合得分最高且所述加權(quán)編輯距離小于預(yù)定值的預(yù)定數(shù)目的熱詞,作為糾錯的推薦詞,進行糾錯提示。

對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。

本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明實施例是參照根據(jù)本發(fā)明實施例的方法、終端設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計算機或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。

以上對本發(fā)明所提供的一種關(guān)系型數(shù)據(jù)庫的調(diào)度方法及系統(tǒng),進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1