作的操作代價、交換操作的操作代價,確定所述第一字符串與所述第二字符串之間的第一語義編輯距離,包括: 根據(jù)所述編輯距離、所述配對數(shù)及替換操作的操作代價、交換操作的操作代價,通過如下公式三確定所述第一字符串與所述第二字符串之間的第一語義編輯距離: 公式三: minCost(Sl,S2)=d-p(2cost(T)-cost(J)); 公式三中,S1和S2分別為所述第一字符串和第所述二字符串,minCost(Sl,S2)為所述第一語義編輯距離,d為所述編輯距離,p為所述配對數(shù),cost(J)為所述交換操作的操作代價,cost(T)為所述替換操作的操作代價,且2(3081:(1')-(3081:(1)>0,且2(3081:(1')-(3081:(了)>0。11.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)插入操作的操作代價和刪除操作的操作代價中的一個、替換操作的操作代價及所述第一序列中的詞個數(shù)、所述第二序列中的詞個數(shù),確定所述第一字符串與所述第二字符串之間的第二語義編輯距離,包括: 根據(jù)插入操作的操作代價和刪除操作的操作代價中的一個、替換操作的操作代價及所述第一序列中的詞個數(shù)、所述第二序列中的詞個數(shù),通過如下公式四確定所述第一字符串與所述第二字符串之間的第二語義編輯距離: 公式四: normFact(Sl,S2)=min(n,m)cost(T) + (max(n,m)_min(n,m))XcostM costM=cost(C),if n〈m; costM=cost(S),if n>m 公式四中,normFaCt(Sl,S2)為所述第二語義編輯距離,n為所述第一序列的詞個數(shù),m為所述第二序列的詞個數(shù),cost(T)為所述替換操作的操作代價,cost(S)為所述刪除操作的操作代價,cost(C)為所述插入操作的操作代價。12.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述第一語義編輯距離和所述第二語義編輯距離,確定所述第一字符串與所述第二字符串之間的相似性,包括: 根據(jù)所述第一語義編輯距離和所述第二語義編輯距離,通過如下公式五確定所述第一字符串與所述第二字符串之間的相似性: 公式五: sim(Sl,S2)=l_minCost(Sl,S2)/normFact(Sl,S2); 公式五中,sim(Sl,S2)為所述第一字符串與所述第二字符串之間的相似性,minCost(SI,S2)為所述第一語義編輯距離,normFact(Sl,S2)為所述第二語義編輯距離。13.一種相似性確定裝置,其特征在于,所述裝置包括: 分詞模塊,用于分別對第一字符串和第二字符串進(jìn)行分詞,得到第一序列和第二序列,所述第一序列和所述第二序列分別包括至少一個詞; 第一確定模塊,用于根據(jù)預(yù)先定義的編輯距離算法及所述第一序列和所述第二序列,確定所述第一字符串和所述第二字符串之間的編輯距離; 第二確定模塊,用于根據(jù)所述編輯距離及由所述第一序列向所述第二序列變換所做的各操作的信息,確定所述第一字符串與所述第二字符串之間的相似性。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第二確定模塊包括: 獲取單元,用于獲取由所述第一序列向所述第二序列變換時所進(jìn)行的各操作信息中的替換操作信息; 第一確定單元,用于根據(jù)所述各替換操作信息確定配對數(shù),其中,所述配對數(shù)是指同時存在于所述第一序列和所述第二序列中的兩個詞的個數(shù); 第二確定單元,用于根據(jù)所述編輯距離、所述配對數(shù)及各操作的操作代價、所述第一序列中的詞個數(shù)、所述第二序列中的詞個數(shù),確定所述第一字符串與所述第二字符串之間的相似性。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述各操作包括替換操作、交換操作,所述第二確定單元包括: 第一確定子單元,用于根據(jù)所述編輯距離、所述配對數(shù)及替換操作的操作代價、交換操作的操作代價,確定所述第一字符串與所述第二字符串之間的最小語義編輯距離; 歸一化子單元,用于對所述最小語義編輯距離進(jìn)行歸一化,得到歸一化結(jié)果; 第二確定子單元,用于根據(jù)所述歸一化結(jié)果確定所述第一字符串與所述第二字符串之間的相似性。16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述各操作包括替換操作、交換操作、插入操作、刪除操作中的至少其中之一,所述第二確定單元包括: 第三確定子單元,用于根據(jù)所述編輯距離、所述配對數(shù)及替換操作的操作代價、交換操作的操作代價,確定所述第一字符串與所述第二字符串之間的第一語義編輯距離; 第四確定子單元,用于根據(jù)插入操作的操作代價和刪除操作的操作代價中的一個、替換操作的操作代價及所述第一序列中的詞個數(shù)、所述第二序列中的詞個數(shù),確定所述第一字符串與所述第二字符串之間的第二語義編輯距離; 第五確定子單元,用于根據(jù)所述第一語義編輯距離和所述第二語義編輯距離,確定所述第一字符串與所述第二字符串之間的相似性。17.根據(jù)權(quán)利要求14至16中任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 第三確定模塊,用于根據(jù)替換操作與交換操作之間的關(guān)系,確定替換操作的操作代價及交換操作的操作代價; 第四確定模塊,用于根據(jù)替換操作與插入操作及刪除操作之間的關(guān)系,確定插入操作的操作代價、刪除操作的操作代價及替換操作的操作代價。18.根據(jù)權(quán)利要求17中任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括: 第五確定模塊,用于根據(jù)替換操作與交換操作之間的關(guān)系,確定2*替換操作的操作代價〉交換操作的操作代價; 第六確定模塊,用于根據(jù)替換操作與插入操作及刪除操作之間的關(guān)系,確定插入操作的操作代價+刪除操作的操作代價〉替換操作的操作代價。19.根據(jù)權(quán)利要求17中所述的裝置,其特征在于,所述裝置還包括: 第七確定模塊,用于根據(jù)插入操作與刪除操作之間的關(guān)系,確定插入操作的操作代價等于刪除操作的操作代價。20.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第一確定模塊,用于根據(jù)預(yù)先定義的編輯距離算法及所述第一序列和所述第二序列,通過如下公式一確定所述第一字符串和所述第二字符串之間的編輯距離: 公式一: minCost[i , j] =min( minCost[i_l,j]+cost(S), minCost[i,j-1]+cost(C), minCost[i_l,j-1]+cost(T)) 公式一中,i表示所述第一序列中的第i個詞;j表示所述第二序列中的第j個詞;cost(S)為刪除操作的操作代價,cost (C)為插入操作的操作代價,cost (T)為替換操作的操作代價。21.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述第一確定子單元,用于根據(jù)所述編輯距離、所述配對數(shù)及替換操作的操作代價、交換操作的操作代價,通過如下公式二確定所述第一字符串與所述第二字符串之間的最小語義編輯距離: 公式二: minCost (SI, S2) =d-p(2cost(T)-cost( J)); 公式二中,S1和S2分別為所述第一字符串和第所述二字符串,minCost(Sl,S2)為所述最小語義編輯距離,d為所述編輯距離,p為所述配對數(shù),cost(J)為所述交換操作的操作代價,cost(T)為所述替換操作的操作代價,且2cost(T)_cost(J)>0。22.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第三確定子單元,用于根據(jù)所述編輯距離、所述配對數(shù)及替換操作的操作代價、交換操作的操作代價,通過如下公式三確定所述第一字符串與所述第二字符串之間的第一語義編輯距離: 公式三: minCost(SI,S2)=d-p(2cost(T)-cost(J)); 公式三中,S1和S2分別為所述第一字符串和第所述二字符串,minCost(Sl,S2)為所述第一語義編輯距離,d為所述編輯距離,p為所述配對數(shù),cost(J)為所述交換操作的操作代價,cost(T)為所述替換操作的操作代價,且2(3081:(1')-(3081:(1)>0,且2(3081:(1')-(3081:(了)>0。23.根據(jù)權(quán)利要求16所述的裝置,其特征在于,第四確定子單元,用于根據(jù)插入操作的操作代價和刪除操作的操作代價中的一個、替換操作的操作代價及所述第一序列中的詞個數(shù)、所述第二序列中的詞個數(shù),通過如下公式四確定所述第一字符串與所述第二字符串之間的第二語義編輯距離: 公式四: normFact(Sl,S2)=min(n,m)cost(T) + (max(n,m)_min(n,m))XcostM costM=cost(C),if n〈m; costM=cost(S),if n>m 公式四中,normFaCt(Sl,S2)為所述第二語義編輯距離,n為所述第一序列的詞個數(shù),m為所述第二序列的詞個數(shù),cost(T)為所述替換操作的操作代價,cost(S)為所述刪除操作的操作代價,cost(C)為所述插入操作的操作代價。24.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第五確定子單元,用于根據(jù)所述第一語義編輯距離和所述第二語義編輯距離,通過如下公式五確定所述第一字符串與所述第二字符串之間的相似性: 公式五: sim(Sl,S2)=l_minCost(Sl,S2)/normFact(Sl,S2); 公式五中,sim(Sl,S2)為所述第一字符串與所述第二字符串之間的相似性,minCost(SI,S2)為所述第一語義編輯距離,normFact(Sl,S2)為所述第二語義編輯距離。25.一種終端,其特征在于,所述終端包括: 處理器; 用于存儲處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 分別對第一字符串和第二字符串進(jìn)行分詞,得到第一序列和第二序列,所述第一序列和所述第二序列分別包括至少一個詞; 根據(jù)預(yù)先定義的編輯距離算法及所述第一序列和所述第二序列,確定所述第一字符串和所述第二字符串時之間的編輯距離; 根據(jù)所述編輯距離及由所述第一序列向所述第二序列變換所做的各操作的信息,確定所述第一字符串與所述第二字符串之間的相似性。
【專利摘要】本公開關(guān)于一種相似性確定方法、裝置及終端,屬于自然語言處理領(lǐng)域。包括:分別對第一字符串和第二字符串進(jìn)行分詞,得到分別包括至少一個詞的第一序列和第二序列;根據(jù)預(yù)先定義的編輯距離算法及第一序列和第二序列確定第一字符串和第二字符串時之間的編輯距離;根據(jù)編輯距離及由第一序列向第二序列變換所做的各操作的信息確定第一字符串與第二字符串之間的相似性。通過將第一字符串和第二字符串分詞為第一序列和第二序列,使在確定編輯距離時,是基于字符串中的詞實(shí)現(xiàn)的,而并非基于字符串中的字符實(shí)現(xiàn)的,而字符串中的各個詞可能包括至少一個字符,從而使根據(jù)編輯距離確定的相似性結(jié)合了字符串中各個字符之間的相關(guān)性,使確定的相似性更準(zhǔn)確。
【IPC分類】G06F17/27
【公開號】CN105446957
【申請?zhí)枴緾N201510882468
【發(fā)明人】汪平仄, 張濤, 龍飛
【申請人】小米科技有限責(zé)任公司
【公開日】2016年3月30日
【申請日】2015年12月3日