本申請(qǐng)涉及通信領(lǐng)域,尤其涉及一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的方法及裝置。
背景技術(shù):
:在互聯(lián)網(wǎng)平臺(tái)中,用戶輸入的地址、公司名稱等短文本,與規(guī)范化的地址、公司名稱相比,通??赡軙?huì)存在一定的差異,然而二者可能仍然是相同的。例如,假設(shè)從用戶在互聯(lián)網(wǎng)平臺(tái)中預(yù)留的簡(jiǎn)歷中采集的公司名稱為“支付寶公司”,而支付寶公司的規(guī)范化的全稱實(shí)際為“支付寶網(wǎng)絡(luò)技術(shù)有限公司”,這兩個(gè)地址雖然存在一定的差異,但實(shí)際為同一個(gè)公司名稱。因此,針對(duì)這種情況,對(duì)用戶提供的這些短文本進(jìn)行規(guī)范化,對(duì)于后續(xù)的數(shù)據(jù)處理和使用都具有非常重要的意義。技術(shù)實(shí)現(xiàn)要素:本申請(qǐng)?zhí)岢鲆环N將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的方法,該方法包括:基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行遍歷切分,得到第一切分單元集合;在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;所述索引列表包括針對(duì)規(guī)范化字符串進(jìn)行遍歷切分得到的切分單元、以及所述切分單元關(guān)聯(lián)的規(guī)范化字符串;計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串;將該目標(biāo)字符串轉(zhuǎn)化為查找到的規(guī)范化字符串。可選的,所述預(yù)設(shè)的索引列表按照如下方式生成:基于所述指定的切分長(zhǎng)度針對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分,得到第二切分單元集合;針對(duì)所述第二切分單元集合中各切分單元分別生成對(duì)應(yīng)的索引表項(xiàng);其中,所述索引表項(xiàng)記錄的信息包括規(guī)范化字符串的各切分單元、以及所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串??蛇x的,所述索引表項(xiàng)記錄的信息還包括所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串的數(shù)量;所述方法還包括:基于所述數(shù)量針對(duì)所述索引列表中的索引表項(xiàng)進(jìn)行排序;刪除所述索引列表中記錄的所述數(shù)量大于預(yù)設(shè)的第一閾值的索引表項(xiàng)。可選的,所述方法還包括:當(dāng)任一規(guī)范化字符串的切分單元在所述索引列表中對(duì)應(yīng)的索引表項(xiàng)均被刪除時(shí),將該切分單元所對(duì)應(yīng)的索引表項(xiàng)中記錄的所述數(shù)量最小的索引表項(xiàng)添加至所述索引列表中??蛇x的,所述在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合包括:將所述第一切分單元集合中的切分單元在所述索引列表中進(jìn)行匹配;獲取所述第一切分單元集合中的切分單元在所述索引列表中匹配到的索引表項(xiàng);提取獲取到的所述索引表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;或者,提取獲取到的索引表項(xiàng)中記錄的所述數(shù)量低于預(yù)設(shè)的第二閾值的索引 表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;其中,所述第二閾值小于所述第一閾值。可選的,所述計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度包括:計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的編輯距離;計(jì)算所述目標(biāo)字符串與所述各字符串的長(zhǎng)度中的最大值和最小值;計(jì)算減去所述編輯距離后的所述最大值與所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度;或者計(jì)算所述最大值與加上所述編輯距離后的所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度??蛇x的,所述基于編輯距離計(jì)算所述目標(biāo)字符串與獲取到的所述規(guī)范化字符串的相似度包括:基于預(yù)設(shè)的相似度計(jì)算公式計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;所述相似度計(jì)算公式包括:或其中,x表示目標(biāo)字符串,|x|表示目標(biāo)字符的長(zhǎng)度;y表示規(guī)范化字符串,|y|表示所述規(guī)范化字符串的長(zhǎng)度;max(|x|,|y|)表示目標(biāo)字符串與所述規(guī)范化字符串的長(zhǎng)度中的最大值;min(|x|,|y|)表示表示目標(biāo)字符串與所述規(guī)范化字符串長(zhǎng)度中的最小值;ds表示目標(biāo)字符串與所述規(guī)范化字符串的編輯距離;c表示修正參數(shù),為大于或者等于0的常數(shù)??蛇x的,所述基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串包括:判斷計(jì)算出的所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度是否達(dá)到預(yù)設(shè)的相似度閾值;當(dāng)所述目標(biāo)字符串與所述規(guī)范化字符串集合中任一字符串的相似度達(dá)到預(yù)設(shè)的相似度閾值時(shí),則確定該字符串為與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。本申請(qǐng)還提出一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的裝置,該裝置包括:第一切分模塊,用于基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行遍歷切分,得到第一切分單元集合;獲取模塊,用于在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;所述索引列表包括針對(duì)規(guī)范化字符串進(jìn)行遍歷切分得到的切分單元、以及所述切分單元關(guān)聯(lián)的規(guī)范化字符串;計(jì)算模塊,用于計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;查找模塊,用于基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串;轉(zhuǎn)化模塊,用于將該目標(biāo)字符串轉(zhuǎn)化為查找到的規(guī)范化字符串??蛇x的,所述裝置還包括:第二切分模塊,用于基于所述指定的切分長(zhǎng)度針對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分,得到第二切分單元集合;生成模塊,用于針對(duì)所述第二切分單元集合中各切分單元分別生成對(duì)應(yīng)的索引表項(xiàng);其中,所述索引表項(xiàng)記錄的信息包括規(guī)范化字符串的各切分單元、以及所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串??蛇x的,所述索引表項(xiàng)記錄的信息還包括所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串的數(shù)量;所述裝置還包括:排序模塊,用于基于所述數(shù)量針對(duì)所述索引列表中的索引表項(xiàng)進(jìn)行排序;刪除模塊,用于刪除所述索引列表中記錄的所述數(shù)量大于預(yù)設(shè)的第一閾 值的索引表項(xiàng)。可選的,所述裝置還包括:添加模塊,用于在任一規(guī)范化字符串進(jìn)行字符切分得到的切分單元,在所述索引列表中對(duì)應(yīng)的索引表項(xiàng)均被刪除時(shí),將該切分單元所對(duì)應(yīng)的索引表項(xiàng)中記錄的所述數(shù)量最小的索引表項(xiàng)添加至所述索引列表中??蛇x的,所述獲取模塊具體用于:將所述第一切分單元集合中的切分單元在所述索引列表中進(jìn)行匹配;獲取所述第一切分單元集合中的切分單元在所述索引列表中匹配到的索引表項(xiàng);提取獲取到的所述索引表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;或者,提取獲取到的索引表項(xiàng)中記錄的所述數(shù)量低于預(yù)設(shè)的第二閾值的索引表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;其中,所述第二閾值小于所述第一閾值??蛇x的,所述計(jì)算模塊具體用于:計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的編輯距離;計(jì)算所述目標(biāo)字符串與所述各字符串的長(zhǎng)度中的最大值和最小值;計(jì)算減去所述編輯距離后的所述最大值與所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度;或者計(jì)算所述最大值與加上所述編輯距離后的所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度??蛇x的,所述計(jì)算模塊進(jìn)一步用于:基于預(yù)設(shè)的相似度計(jì)算公式計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;所述相似度計(jì)算公式包括:或其中,x表示目標(biāo)字符串,|x|表示目標(biāo)字符的長(zhǎng)度;y表示規(guī)范化字符串,|y|表示所述規(guī)范化字符串的長(zhǎng)度;max(|x|,|y|)表示目標(biāo)字符串與所述規(guī)范化字符串的長(zhǎng)度中的最大值;min(|x|,|y|)表示表示目標(biāo)字符串與所述規(guī)范化字符串長(zhǎng)度中的最小值;ds表示目標(biāo)字符串與所述規(guī)范化字符串的編輯距離;c表示修正參數(shù),為大于或者等于0的常數(shù)。可選的,所述查找模塊具體用于:判斷計(jì)算出的所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度是否達(dá)到預(yù)設(shè)的相似度閾值;當(dāng)所述目標(biāo)字符串與所述規(guī)范化字符串集合中任一字符串的相似度達(dá)到預(yù)設(shè)的相似度閾值時(shí),則確定該字符串為與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。本申請(qǐng)中,在將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串時(shí),通過(guò)基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行字符切分,得到第一切分單元集合,在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;然后基于編輯距離計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度,并基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,實(shí)現(xiàn)了在數(shù)據(jù)庫(kù)中查找與目標(biāo)字符串關(guān)聯(lián)的規(guī)范化字符串時(shí),可以通過(guò)索引列表快速查找與該目標(biāo)字符串關(guān)聯(lián)的規(guī)范化字符串集合,并基于編輯距離來(lái)計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串的相似度,然后基于計(jì)算得到的相似度在該規(guī)范化字符串集合中查找與該目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,從而在查找與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串時(shí),不再需要逐一計(jì)算目標(biāo)字符串與數(shù)據(jù)庫(kù)中存儲(chǔ)的各規(guī)范化字符串的相似度,可以減少計(jì)算量,提升規(guī)范化字符串的查找效率。附圖說(shuō)明圖1是本申請(qǐng)一實(shí)施例提供的一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的方法的流程圖;圖2是本申請(qǐng)一實(shí)施例提供的一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的裝置的邏輯框圖;圖3是本申請(qǐng)一實(shí)施例提供的承載所述一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的裝置的服務(wù)端的硬件結(jié)構(gòu)圖。具體實(shí)施方式在相關(guān)技術(shù)中,在針對(duì)用戶輸入的諸如地址、公司名等短文本進(jìn)行規(guī)范化時(shí),通常會(huì)提供一個(gè)存儲(chǔ)了規(guī)范化文本的數(shù)據(jù)庫(kù),通過(guò)分別計(jì)算用戶提供的短文本與該數(shù)據(jù)庫(kù)中各規(guī)范化文本之間的相似度,然后基于計(jì)算得到的相似度在該數(shù)據(jù)庫(kù)查找與用戶提供的短文本對(duì)應(yīng)的規(guī)范化文本。然而,通過(guò)這種方式,通常需要逐一計(jì)算用戶提供的短文本與該數(shù)據(jù)庫(kù)中各規(guī)范化文本的相似度,計(jì)算量很大,從而造成規(guī)范化文本的查找效率不高。有鑒于此,本申請(qǐng)?zhí)峁┮环N將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的方法,在將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串時(shí),通過(guò)基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行字符切分,得到第一切分單元集合,在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;然后基于編輯距離計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度,并基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,實(shí)現(xiàn)了在數(shù)據(jù)庫(kù)中查找與目標(biāo)字符串關(guān)聯(lián)的規(guī)范化字符串時(shí),可以通過(guò)索引列表快速查找與該目標(biāo)字符串關(guān)聯(lián)的規(guī)范化字符串集合,并基于編輯距離來(lái)計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串的相似度,然后基于計(jì)算 得到的相似度在該規(guī)范化字符串集合中查找與該目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,從而在查找與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串時(shí),不再需要逐一計(jì)算目標(biāo)字符串與數(shù)據(jù)庫(kù)中存儲(chǔ)的各規(guī)范化字符串的相似度,可以減少計(jì)算量,提升規(guī)范化字符串的查找效率。下面通過(guò)具體實(shí)施例并結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本申請(qǐng)進(jìn)行描述。請(qǐng)參考圖1,圖1是本申請(qǐng)一實(shí)施例提供的一種將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的方法,應(yīng)用于服務(wù)端,所述方法執(zhí)行以下步驟:步驟101,基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行遍歷切分,得到第一切分單元集合;上述服務(wù)端可以包括服務(wù)器、服務(wù)器集群或者基于服務(wù)器集群構(gòu)建的云平臺(tái);上述目標(biāo)字符串可以包括用戶輸入的不規(guī)范的短文本。例如,以電子商務(wù)的應(yīng)用場(chǎng)景為例,上述服務(wù)端可以是電子商務(wù)提供商的云平臺(tái),上述目標(biāo)字符串可以包括用戶輸入的地址、公司名等不規(guī)范的短文本,該云平臺(tái)可以采集用戶輸入的地址、公司名等短文本,并在云端對(duì)用戶輸入的短文本進(jìn)行規(guī)范化處理。在本例中,服務(wù)端在采集到用戶輸入的目標(biāo)字符串時(shí),可以基于指定的切分長(zhǎng)度對(duì)該目標(biāo)字符串進(jìn)行遍歷切分,得到若干切分單元。其中,上述指定的切分長(zhǎng)度,可以由用戶根據(jù)實(shí)際的業(yè)務(wù)需求進(jìn)行設(shè)定;上述遍歷切分,是指在對(duì)字符串進(jìn)行切分時(shí),逐個(gè)字符遍歷字符串,按照字符順序?qū)ψ址M(jìn)行字符切分,當(dāng)切分得到一個(gè)切分單元后,將切分位置右移一個(gè)字符繼續(xù)進(jìn)行切分,直到切分完成,從而使得切分得到的切分單元能夠涵蓋該字符串中所有字符的組合。例如,以上述目標(biāo)字符串為用戶輸入的地址短文本“支付寶公司”為例,假設(shè)用戶設(shè)定的切分長(zhǎng)度為3,那么基于該切分長(zhǎng)度對(duì)用戶輸入的上述短文本“支付寶公司”進(jìn)行遍歷切分后,可以得到“支付寶”“付寶公”“寶公司”等三個(gè)切分單元。當(dāng)服務(wù)端針對(duì)目標(biāo)字符串進(jìn)行遍歷切分后,服務(wù)端可以基于切分得到的 所有切分單元生成第一切分單元集合。其中,該第一切分單元集合包括對(duì)目標(biāo)字符串進(jìn)行字符切分后得到的切分單元,該第一切分單元集合中存儲(chǔ)的切分單元的數(shù)量與服務(wù)端針對(duì)目標(biāo)字符串進(jìn)行字符切分得到的切分單元的數(shù)量一致。步驟102,在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;所述索引列表包括針對(duì)規(guī)范化字符串進(jìn)行遍歷切分得到的切分單元、以及所述切分單元關(guān)聯(lián)的規(guī)范化字符串;在本例中,服務(wù)端可以在本地預(yù)先提供一個(gè)存儲(chǔ)了規(guī)范化字符串的數(shù)據(jù)庫(kù)。例如,以上述目標(biāo)字符串為用戶輸入的公司名為例,該數(shù)據(jù)庫(kù)可以是一個(gè)存儲(chǔ)了規(guī)范化的公司名稱(即公司名稱的全稱)的黃頁(yè)數(shù)據(jù)庫(kù)。在初始狀態(tài)下,服務(wù)端也可以基于指定的切分長(zhǎng)度針對(duì)該數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分,得到若干切分單元。其中,服務(wù)端在針對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分時(shí),所使用的切分長(zhǎng)度,以及具體的切分方式,與服務(wù)端針對(duì)上述目標(biāo)字符串進(jìn)行遍歷切分時(shí)的切分長(zhǎng)度保持相同。當(dāng)服務(wù)端針對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分后,服務(wù)端可以基于切分得到的切分單元生成第二切分單元集合。其中,該第二切分單元集合包括對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分后得到的切分單元。例如,以上述數(shù)據(jù)庫(kù)為黃頁(yè)數(shù)據(jù)庫(kù)為例,服務(wù)端可以針對(duì)該數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化的公司名稱逐一進(jìn)行遍歷切分,然后基于遍歷切分后得到的切分單元生成上述第二切分單元集合。當(dāng)服務(wù)端對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串切分完成后,服務(wù)端可以統(tǒng)計(jì)第二切分單元集合中每一個(gè)切分單元在數(shù)據(jù)庫(kù)所關(guān)聯(lián)的規(guī)范化字符串,以及所關(guān)聯(lián)的規(guī)范化字符串的數(shù)量。其中,服務(wù)端在數(shù)據(jù)庫(kù)中統(tǒng)計(jì)關(guān)聯(lián)的規(guī)范化字符串時(shí),可以遍歷第二切 分單元集合,從第二切分單元集合中按順序讀取切分單元,然后將讀取到的切分單元與數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串依次進(jìn)行匹配。當(dāng)在數(shù)據(jù)庫(kù)中任意一個(gè)規(guī)范化字符串中匹配到讀取到的切分單元時(shí),那么服務(wù)端可以認(rèn)為該切分單元與該規(guī)范化字符串存在關(guān)聯(lián)關(guān)系。當(dāng)讀取到的該切分單元與數(shù)據(jù)庫(kù)中存儲(chǔ)的所有規(guī)范化字符串全部匹配完成后,服務(wù)端可以統(tǒng)計(jì)通過(guò)匹配確定出的與該切分單元存在關(guān)聯(lián)關(guān)系的規(guī)范化字符串,以及與該切分單元存在關(guān)聯(lián)關(guān)系的規(guī)范化字符串的具體數(shù)量。例如,以上述數(shù)據(jù)庫(kù)為黃頁(yè)數(shù)據(jù)庫(kù)為例,假設(shè)該數(shù)據(jù)庫(kù)中存儲(chǔ)了支付寶公司的規(guī)范化公司名稱“支付寶網(wǎng)絡(luò)技術(shù)有限公司”,服務(wù)端在按照指定的切分長(zhǎng)度為3,針對(duì)該規(guī)范化的公司名稱進(jìn)行字符切分后,可以得到“支付寶”、“付寶網(wǎng)”、“寶網(wǎng)絡(luò)”、“網(wǎng)絡(luò)技”、“絡(luò)技術(shù)”、“技術(shù)有”、“有限公”以及“限公司”等8個(gè)切分單元。服務(wù)端在確定該8個(gè)切分單元在數(shù)據(jù)庫(kù)中所關(guān)聯(lián)的規(guī)范化的公司名稱時(shí),可以依次讀取這8個(gè)切分單元,與數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化的公司名稱逐一進(jìn)行匹配;比如,假設(shè)用戶讀取的切分單元為“網(wǎng)絡(luò)技”,如果數(shù)據(jù)庫(kù)中當(dāng)前還存儲(chǔ)了“阿里巴巴網(wǎng)絡(luò)技術(shù)有限公司”這一規(guī)范化的公司名稱,服務(wù)端在將切分單元“網(wǎng)絡(luò)技”與“阿里巴巴網(wǎng)絡(luò)技術(shù)有限公司”這一規(guī)范化的公司名稱進(jìn)行匹配時(shí),由于該公司名稱中包含“網(wǎng)絡(luò)技”這一切分單元,在該公司名稱中能夠匹配到“網(wǎng)絡(luò)技”這一切分單元,在這種情況下,服務(wù)端可以確定“網(wǎng)絡(luò)技”這一切分單元與“阿里巴巴網(wǎng)絡(luò)技術(shù)有限公司”存在關(guān)聯(lián)關(guān)系。當(dāng)“網(wǎng)絡(luò)技”這一切分單元與數(shù)據(jù)庫(kù)中所有規(guī)范化的公司名稱均匹配完成后,服務(wù)端可以記錄數(shù)據(jù)庫(kù)中與該切分單元存在關(guān)聯(lián)性的規(guī)范化的公司名稱的id,并統(tǒng)計(jì)與該切分單元存在關(guān)聯(lián)關(guān)系的規(guī)范化公司名稱的數(shù)量。在本例中,當(dāng)服務(wù)端通過(guò)上述方式,統(tǒng)計(jì)出第二切分單元集合中每一個(gè)切分單元在數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串,以及關(guān)聯(lián)的規(guī)范化字符串的數(shù)量后,服務(wù)端可以基于統(tǒng)計(jì)出的信息,針對(duì)第二切分單元集合中每一個(gè)切分單元生成一個(gè)對(duì)應(yīng)的索引表項(xiàng),然后基于生成的索引表項(xiàng)來(lái)創(chuàng)建索引列表。上述索引表項(xiàng)用于對(duì)切分單元進(jìn)行快速查找。該索引表項(xiàng)的基本結(jié)構(gòu)可以包括切分單元字段、關(guān)聯(lián)的規(guī)范化字符串字段,以及關(guān)聯(lián)的規(guī)范化字符串?dāng)?shù)量字段等三個(gè)字段。其中,上述切分單元字段用于記錄切分單元;上述關(guān)聯(lián)的規(guī)范化字符串字段用于記錄統(tǒng)計(jì)出的與切分單元字段記錄的切分單元存在關(guān)聯(lián)關(guān)系的規(guī)范化字符串,上述關(guān)聯(lián)的規(guī)范化字符串?dāng)?shù)量字段用于記錄統(tǒng)計(jì)出的與切分單元字段記錄的切分單元存在關(guān)聯(lián)關(guān)系的規(guī)范化字符串的數(shù)量。例如,以上述字符串為公司名稱,上述數(shù)據(jù)庫(kù)為黃頁(yè)數(shù)據(jù)庫(kù)為例,假設(shè)切分單元“支付寶”在數(shù)據(jù)庫(kù)中僅關(guān)聯(lián)一個(gè)規(guī)范化的公司名稱“支付寶網(wǎng)絡(luò)技術(shù)有限公司”,該規(guī)范化的公司名稱“支付寶網(wǎng)絡(luò)技術(shù)有限公司”的id為120,那么該切分單元生成的索引列表可以如下表所示:切分單元關(guān)聯(lián)的公司名稱關(guān)聯(lián)的公司名稱數(shù)量支付寶1201當(dāng)服務(wù)端基于上述基本結(jié)構(gòu)為第二切分單元集合中的每一個(gè)切分單元分別生成了對(duì)應(yīng)的索引表項(xiàng)后,服務(wù)端可以基于為第二切分單元集合中所有切分單元生成的索引表項(xiàng),來(lái)創(chuàng)建索引列表。其中,該索引列表由為第二切分單元集合中所有切分單元生成的索引表項(xiàng)組成。在本例中,當(dāng)索引列表創(chuàng)建完成后,后續(xù)服務(wù)端針對(duì)上述目標(biāo)字符串進(jìn)行字符切分,生成上述第一切分單元集合后,服務(wù)端可以遍歷第一切分單元集合,將第一切分單元集合中的切分單元與上述索引列表中的索引表項(xiàng)中的切分單元依次進(jìn)行匹配,然后提取匹配到的索引表項(xiàng)中記錄的規(guī)范化字符串,為目標(biāo)字符串生成對(duì)應(yīng)的規(guī)范化字符串集合。此時(shí),該規(guī)范化字符串集合中的規(guī)范化字符串,即為最終確定的可以查找到與上述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串的查找范圍,其中,需要指出的是,在實(shí)際應(yīng)用中,上述索引列表中包含的索引表項(xiàng)的數(shù)量可能會(huì)非常巨大(比如對(duì)于黃頁(yè)數(shù)據(jù)庫(kù)來(lái)說(shuō),存儲(chǔ)的規(guī)范化的公司名稱可能達(dá)到千萬(wàn)的數(shù)量級(jí)),在這種情況下,服務(wù)端在將第一切分單元集合 中的切分單元在上述索引列表中進(jìn)行匹配時(shí),如果將第一切分單元集合中的切分單元與上述索引列表中的索引表項(xiàng)中的切分單元逐一進(jìn)行匹配,可能會(huì)造成匹配時(shí)長(zhǎng)過(guò)長(zhǎng)的問(wèn)題。因此,為了降低匹配時(shí)長(zhǎng),避免將第一切分單元集合中的切分單元與上述索引表項(xiàng)中的切分單元逐一進(jìn)行匹配,上述索引列表在創(chuàng)建完成后,服務(wù)端還可以對(duì)上述索引列表中的索引表項(xiàng)進(jìn)行數(shù)量控制,對(duì)上述索引列表中部分索引表項(xiàng)執(zhí)行刪除。在示出的一種實(shí)施方式中,服務(wù)端可以預(yù)先設(shè)定一個(gè)第一閾值,其中該第一閾值的具體取值可以根據(jù)實(shí)際需求進(jìn)行設(shè)定;比如1000。當(dāng)在創(chuàng)建完成上述索引列表后,服務(wù)端可以以該列表中的“關(guān)聯(lián)的規(guī)范化字符串的數(shù)量”字段為基準(zhǔn)進(jìn)行排序,其中,服務(wù)端在進(jìn)行排序時(shí),可以是從大到小排序,也可以是從小到大排序,在實(shí)際應(yīng)用中不進(jìn)行特別限定。當(dāng)排序完成后,此時(shí)該索引列表中的索引表項(xiàng)將按照記錄的關(guān)聯(lián)的規(guī)范化字符串的數(shù)量從大到小,或者從小到大排序,此時(shí)服務(wù)端可以基于該排序,將該索引列表中記錄的關(guān)聯(lián)的規(guī)范化字符串的數(shù)量大于上述第一閾值的索引表項(xiàng)刪除??梢?jiàn),通過(guò)這種方式,可以有效控制索引列表中索引表項(xiàng)中的數(shù)量,當(dāng)服務(wù)端在將第一切分單元集合中的切分單元與索引列表中的索引表項(xiàng)中的切分單元進(jìn)行匹配時(shí),可以只針對(duì)列表中關(guān)聯(lián)的規(guī)范化字符串的數(shù)量小于第一閾值的部分索引表項(xiàng)中的切分單元進(jìn)行匹配,從而可以在不影響匹配結(jié)果的情況下,盡可能的縮短匹配時(shí)長(zhǎng)。例如,假設(shè)上述數(shù)據(jù)庫(kù)為黃頁(yè)數(shù)據(jù)庫(kù),用戶輸入的目標(biāo)字符串為“支付寶公司”,上述第一閾值為1000。服務(wù)端在針對(duì)該數(shù)據(jù)庫(kù)中存儲(chǔ)的一條規(guī)范化的公司名稱“支付寶網(wǎng)絡(luò)技術(shù)有限公司”進(jìn)行字符切分后,統(tǒng)計(jì)出的各切分單元所關(guān)聯(lián)的公司名稱的數(shù)量分別為:支付寶:1;付寶網(wǎng):1;寶網(wǎng)絡(luò):5;網(wǎng)絡(luò)技:1819;絡(luò)技術(shù):2120;技術(shù)有:6851;術(shù)有限:7654;有限公:9315;限公司:9968。服務(wù)端可以將關(guān)聯(lián)的公司名稱的數(shù)量超過(guò)1000的切分單元“網(wǎng)絡(luò)技”、“絡(luò)技術(shù)”、“技術(shù)有”、“術(shù)有限”、“有限公”以及“限公司”的索引表項(xiàng)從索引列表中刪除,只保留切分單元“支付寶”、“付寶網(wǎng)”以及“寶網(wǎng)絡(luò)”的索引表項(xiàng)。服務(wù)端在從第一切分單元集合中讀取切分單元,在索引列表中進(jìn)行匹配時(shí),雖然索引列表僅保留了切分單元“支付寶”、“付寶網(wǎng)”以及“寶網(wǎng)絡(luò)”的索引表項(xiàng),但切分單元“支付寶”、“付寶網(wǎng)”以及“寶網(wǎng)絡(luò)”所關(guān)聯(lián)的規(guī)范化的公司名稱中包含“支付寶網(wǎng)絡(luò)技術(shù)有限公司”這一規(guī)范化的公司名稱。因此,服務(wù)端通過(guò)以上匹配過(guò)程最終確定的規(guī)范化字符串集合中,仍然會(huì)包含“支付寶網(wǎng)絡(luò)技術(shù)有限公司”這一規(guī)范化的公司名稱。可見(jiàn),通過(guò)這種方式,不僅可以提升匹配速度,而且并不影響匹配結(jié)果的準(zhǔn)確性。當(dāng)然,在實(shí)際應(yīng)用中,如果數(shù)據(jù)庫(kù)中存儲(chǔ)的某一規(guī)范化字符串的切分單元,在數(shù)據(jù)庫(kù)中所關(guān)聯(lián)的規(guī)范化字符串的數(shù)量均大于上述第一閾值,那么該規(guī)范化字符串的切分單元在索引列表中對(duì)應(yīng)的索引表項(xiàng)將會(huì)被全部刪除,此時(shí)該規(guī)范化字符串將無(wú)法出現(xiàn)在服務(wù)端為目標(biāo)字符串創(chuàng)建的規(guī)范化字符串集合中。在這種情況下,如果該規(guī)范化字符串恰巧為與用戶輸入的目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,那么就可能會(huì)導(dǎo)致無(wú)法在規(guī)范化字符串集合中查找到與上述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,或者查找到與該目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串不準(zhǔn)確的問(wèn)題。在示出的一種實(shí)施方式中,為了避免以上情況發(fā)生,如果數(shù)據(jù)庫(kù)中存儲(chǔ)的某一規(guī)范化字符串的切分單元,在索引列表中對(duì)應(yīng)的索引表項(xiàng)均被刪除時(shí),服務(wù)端可以將該切分單元所對(duì)應(yīng)的索引表項(xiàng)中,記錄的關(guān)聯(lián)的規(guī)范化字符串的數(shù)量最小的索引表項(xiàng),重新添加至所述索引列表中。通過(guò)這種方式,可以在某一規(guī)范化字符串的切分單元,在數(shù)據(jù)庫(kù)中所關(guān)聯(lián)的規(guī)范化字符串的數(shù)量均大于上述第一閾值的情況下,確保該規(guī)范化字符串的切分單元中,至少有一個(gè)切分單元所對(duì)應(yīng)的索引表項(xiàng)仍然能夠保留在索 引列表中,從而可以確保該規(guī)范化字符串最終出現(xiàn)在服務(wù)端為目標(biāo)字符串創(chuàng)建的規(guī)范化字符串集合中。在本例中,服務(wù)端在將第一切分單元集合中的切分單元與上述索引列表中的索引表項(xiàng)中的切分單元依次進(jìn)行匹配時(shí),可以遍歷第一切分單元集合,將第一切分單元集合中的切分單元與上述索引表項(xiàng)中的切分單元依次進(jìn)行匹配。當(dāng)?shù)谝磺蟹謫卧械那蟹謫卧c索引列表中任一索引表項(xiàng)記錄的切分單元匹配時(shí),服務(wù)端則可以獲取該索引表項(xiàng)。當(dāng)?shù)谝磺蟹謫卧现械那蟹謫卧谏鲜鏊饕斜碇衅ヅ渫瓿蓵r(shí),服務(wù)端可以提取獲取到的索引表項(xiàng)中記錄的規(guī)范化字符串,然后基于提取到的規(guī)范化字符串來(lái)為目標(biāo)字符串生成對(duì)應(yīng)的規(guī)范化字符串集合。此時(shí),該規(guī)范化字符串集合中的規(guī)范化字符串,即為最終確定的可以查找到與上述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串的查找范圍,后續(xù)服務(wù)端可以分別計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串的相似度,然后基于相似度來(lái)確定與目標(biāo)字符關(guān)聯(lián)的規(guī)劃化字符串。其中,需要說(shuō)明的是,服務(wù)端在提取獲取到的索引表項(xiàng)中記錄的規(guī)范化字符串時(shí),除了可以默認(rèn)提取所有獲取到的索引表項(xiàng)中記錄的規(guī)范化字符串,也可以只提取獲取到的索引表項(xiàng)中部分索引表項(xiàng)記錄的規(guī)范化字符串。在示出的一種實(shí)施方式中,服務(wù)端可以預(yù)設(shè)一個(gè)第二閾值;其中,該第二閾值可以低于第一閾值。例如,第一閾值為1000時(shí),該第二閾值可以設(shè)置為100。服務(wù)端在提取獲取到的索引表項(xiàng)中記錄的規(guī)范化字符串時(shí),可以統(tǒng)計(jì)獲取到的索引表項(xiàng)中記錄的關(guān)聯(lián)的規(guī)范化字符串的數(shù)量低于第二閾值的索引表項(xiàng),然后僅提取統(tǒng)計(jì)出的這些索引表項(xiàng)中記錄的規(guī)范化字符串。例如,假設(shè)上述數(shù)據(jù)庫(kù)為黃頁(yè)數(shù)據(jù)庫(kù),用戶輸入的目標(biāo)字符串為“支付寶公司”,上述第二閾值為100,服務(wù)端獲取到的索引表項(xiàng)如下表所示:服務(wù)端在提取獲取到的索引表項(xiàng)中記錄的規(guī)范化字符串時(shí),可以統(tǒng)計(jì)上述索引表項(xiàng)中記錄的關(guān)聯(lián)的規(guī)范化字符串的數(shù)量低于100的索引表項(xiàng),然后僅提取上表中記錄的關(guān)聯(lián)的公司名稱的數(shù)量小于100的切分單元“支付寶”、“付寶網(wǎng)”、“寶網(wǎng)絡(luò)”的索引表項(xiàng)中記錄的關(guān)聯(lián)的公司名稱。通過(guò)這種方式,服務(wù)端可以對(duì)規(guī)范化字符串集合中的字符串的數(shù)量進(jìn)行控制,從而可以縮小與上述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串的查找范圍。步驟103,計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;在本例中,當(dāng)服務(wù)端基于提取到的規(guī)范化字符串,為目標(biāo)字符串生成了對(duì)應(yīng)的規(guī)范化字符串集合后,服務(wù)端可以計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串之間的相似度。在示出的一種實(shí)施方式中,服務(wù)端可以基于編輯距離來(lái)計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串之間的相似度。服務(wù)端在計(jì)算目標(biāo)字符串和規(guī)范化字符串集合中各字符串的編輯距離時(shí),可以統(tǒng)計(jì)將目標(biāo)字符串轉(zhuǎn)換規(guī)范化字符串集合中各字符串時(shí)的編輯次數(shù),然后將統(tǒng)計(jì)出的編輯次數(shù)作為目標(biāo)字符串轉(zhuǎn)換規(guī)范化字符串集合中各字符串的編輯距離。其中,上述編輯操作通常可以包括增加,刪除,替換以及換位等操作。例如,在實(shí)現(xiàn)時(shí),上述編輯距離可以采用通用的levenshtein距離,也可以采用damerau–levenshtein距離。通用的levenshtein距離通常只統(tǒng)計(jì)增加,刪除,替換等編輯操作的次數(shù),因此服務(wù)端采用通用的levenshtein距離時(shí),可以統(tǒng)計(jì)將目標(biāo)字符串通過(guò) 增加一個(gè)字符,刪除一個(gè)字符以及替換一個(gè)字符轉(zhuǎn)換為規(guī)范化字符串集合中各字符串時(shí)的編輯次數(shù),然后將該編輯次數(shù)設(shè)置為目標(biāo)字符串與規(guī)范化字符串集合中各字符串之間的編輯距離。damerau–levenshtein距離通常需要統(tǒng)計(jì)增加,刪除,替換以及換位等編輯操作的次數(shù),因此服務(wù)端采用damerau–levenshtein距離時(shí),可以統(tǒng)計(jì)將目標(biāo)字符串通過(guò)增加一個(gè)字符,刪除一個(gè)字符、替換一個(gè)字符以及換位一個(gè)字符轉(zhuǎn)換為規(guī)范化字符串集合中各字符串時(shí)的編輯次數(shù),然后將該編輯次數(shù)設(shè)置為目標(biāo)字符串與規(guī)范化字符串集合中各字符串之間的編輯距離。在本例中,當(dāng)服務(wù)端計(jì)算出目標(biāo)字符串與規(guī)范化字符串集合中各字符串的編輯距離后,可以基于計(jì)算出的編輯距離計(jì)算目標(biāo)字符串與規(guī)范化字符串集合中各字符串的相似度。其中,由于目標(biāo)字符串與規(guī)范化字符串集合中各字符串的字符串長(zhǎng)度可能存在一定的差異,而字符串的長(zhǎng)度差異可能會(huì)導(dǎo)致相似度的計(jì)算結(jié)果不準(zhǔn)確。因此,為了提升相似度計(jì)算的準(zhǔn)確度,服務(wù)端在基于編輯距離計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串之間的相似度時(shí),可以基于目標(biāo)字符串與規(guī)范化字符串集合中各字符串的編輯距離,對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配,然后基于適配后的目標(biāo)字符串以及規(guī)范化字符串集合中各字符串的長(zhǎng)度計(jì)算相似度,從而在針對(duì)長(zhǎng)度適配后的目標(biāo)字符串和規(guī)范化字符串集合中各字符串進(jìn)行相似度計(jì)算時(shí),可以最大程度的降低字符串的長(zhǎng)度差異對(duì)相似度計(jì)算結(jié)果的影響,提升相似度計(jì)算的準(zhǔn)確度。在示出的一種實(shí)施方式中,服務(wù)端在基于計(jì)算出的編輯距離,對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配時(shí),可以計(jì)算目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最大值和最小值,然后服務(wù)端可以將該最大值減去計(jì)算出的編輯距離,或者將該最小值加上計(jì)算出的編輯距離,來(lái)縮小目標(biāo)字符串和規(guī)范化字符串集合中各字符串之間的長(zhǎng)度差異, 從而達(dá)到對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配的目的。例如,假設(shè)目標(biāo)字符串為abcd,規(guī)范化字符串集合中各字符串為afcdeg,目標(biāo)字符串的長(zhǎng)度為4,規(guī)范化字符串集合中各字符串的長(zhǎng)度為6,二者的編輯距離為3(一次替換編輯,兩次新增編輯)。服務(wù)端在對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配時(shí),可以將目標(biāo)字符串的長(zhǎng)度4加上編輯距離3,適配結(jié)束后,目標(biāo)字符串的適配長(zhǎng)度為7,與規(guī)范化字符串集合中各字符串的長(zhǎng)度差異縮小?;蛘?,服務(wù)端在對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配時(shí),可以將規(guī)范化字符串集合中各字符串的長(zhǎng)度6減去編輯距離3,適配結(jié)束后,規(guī)范化字符串集合中各字符串的適配長(zhǎng)度為3,與規(guī)范化字符串集合中各字符串的長(zhǎng)度差異縮小。當(dāng)然,在實(shí)際應(yīng)用中,服務(wù)端在基于編輯距離對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配時(shí),除了通過(guò)將目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最大值減去二者的編輯距離,或者將目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最小值加上二者的編輯距離以外,也可以有其他的實(shí)現(xiàn)方式,在本實(shí)施例不再一一列舉。在本例中,當(dāng)服務(wù)端對(duì)目標(biāo)字符串的長(zhǎng)度和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配完成后,此時(shí)服務(wù)端可以基于適配完成后的目標(biāo)字符串以及規(guī)范化字符串集合中各字符串的長(zhǎng)度計(jì)算相似度。在示出的一種實(shí)施方式中,目標(biāo)字符串以及規(guī)范化字符串集合中各字符串的長(zhǎng)度適配完成后,服務(wù)端可以計(jì)算適配完成后的目標(biāo)字符串以及規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最小值與最大值之間的比值,此時(shí)該比值為介于0至1之間的一個(gè)數(shù)值,因此服務(wù)端可以基于該比值來(lái)表征目標(biāo)字符串以及規(guī)范化字符串集合中各字符串。一方面,如果服務(wù)端通過(guò)將目標(biāo)字符串和規(guī)范化字符串集合中各字符串中長(zhǎng)度的最大值減去二者的編輯距離,對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配,那么服務(wù)端在計(jì)算二者的相似度時(shí),可以計(jì)算減 去編輯距離后的最大值與最小值之間的比值,然后通過(guò)該比值來(lái)表征二者的相似度。另一方面,如果服務(wù)端通過(guò)將目標(biāo)字符串和規(guī)范化字符串集合中各字符串中長(zhǎng)度的最小值加上二者的編輯距離,對(duì)目標(biāo)字符串和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行適配,那么服務(wù)端在計(jì)算二者的相似度時(shí),可以計(jì)算最大值與加上了編輯距離的最小值之間的比值,然后通過(guò)該比值來(lái)表征二者的相似度?;诖?,假設(shè)目標(biāo)字符串為x,規(guī)范化字符串集合中各字符串長(zhǎng)度為y,目標(biāo)字符串x的長(zhǎng)度為|x|,規(guī)范化字符串集合中各字符串的長(zhǎng)度為|y|,二者的編輯距離為ds。如果服務(wù)端通過(guò)將|x|和|y|中的最大值減去ds,對(duì)|x|和|y|進(jìn)行適配,那么服務(wù)端可以通過(guò)如下公式來(lái)計(jì)算目標(biāo)字符串x與規(guī)范化字符串集合中各字符串y之間的相似度:如果服務(wù)端通過(guò)將|x|和|y|中的最小值加上ds,對(duì)|x|和|y|進(jìn)行適配,那么服務(wù)端可以通過(guò)如下公式來(lái)計(jì)算目標(biāo)字符串x與規(guī)范化字符串集合中各字符串y之間的相似度:上述兩個(gè)公式中,s表示目標(biāo)字符串x與規(guī)范化字符串集合中各字符串y之間的相似度。max(|x|,|y|)表示目標(biāo)字符串與規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最大值;min(|x|,|y|)表示目標(biāo)字符串與規(guī)范化字符串集合中各字符串的長(zhǎng)度中的最小值。c表示在公式中引入的修正參數(shù),該修正參數(shù)可以是一個(gè)大于或者等于0的常數(shù)(即上述公式可以引入c值,也可以不引入c值),通過(guò)在以上公式中引入上述修正參數(shù)可以對(duì)上述公式的計(jì)算結(jié)果進(jìn)行修正。其中,上述修正參數(shù)的具體取值可以是由用戶根據(jù)實(shí)際的需求設(shè)定的工 程經(jīng)驗(yàn)值,在本公開(kāi)中不進(jìn)行特別限定;例如,在實(shí)現(xiàn)時(shí),上述修正參數(shù)可以是用戶基于平滑法得到的平滑參數(shù),通過(guò)在上述公式中引入平滑參數(shù),可以對(duì)上述公式的計(jì)算結(jié)果進(jìn)行修正,以降低上述公式計(jì)算結(jié)果的誤差。在以上公式中,由于編輯距離對(duì)目標(biāo)文件和規(guī)范化字符串集合中各字符串的長(zhǎng)度進(jìn)行了適配,因此在針對(duì)長(zhǎng)度適配后的目標(biāo)字符串和規(guī)范化字符串集合中各字符串進(jìn)行相似度計(jì)算時(shí),可以最大程度的降低字符串的長(zhǎng)度差異對(duì)相似度計(jì)算結(jié)果的影響,提升相似度計(jì)算的準(zhǔn)確度。例如,假設(shè)目標(biāo)字符串為“支付寶公司”,規(guī)范化字符串集合中的一規(guī)范化字符串為“支付寶網(wǎng)絡(luò)技術(shù)有限公司”,二者之間的編輯距離為6(新增6個(gè)字符,編輯6次),目標(biāo)字符串的長(zhǎng)度為5,規(guī)范化字符串的長(zhǎng)度為11,通過(guò)上述公式計(jì)算得到的相似度為或者(以c值為0為例)??梢?jiàn),通過(guò)上述公式計(jì)算出的相似度有效的排除了目標(biāo)字符串與規(guī)范化字符串集合中的字符串的長(zhǎng)度差異對(duì)相似度造成的影響。當(dāng)然,基于編輯距離計(jì)算目標(biāo)字符串與規(guī)范化字符串集合中的字符串的相似度,除了以上示出的計(jì)算方法以外,也可以有其它方式。例如,在示出的一種計(jì)算方法中,可以通過(guò)如下公式來(lái)計(jì)算二者的相似度:其中,上述公式中,s表示相似度;ds表示編輯距離;l表示字符串長(zhǎng)度。當(dāng)通過(guò)上述公式來(lái)計(jì)算目標(biāo)字符串x與規(guī)范化字符串集合中的字符串y的相似度時(shí),上述l的取值根據(jù)實(shí)際的需求可以是min(|x|,|y|)、max(|x|,|y|)或者|x|+|y|中的任意一個(gè)。在步驟104中,基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。在步驟105中,將該目標(biāo)字符串轉(zhuǎn)化為查找到的規(guī)范化字符串。在本例中,當(dāng)服務(wù)端計(jì)算出目標(biāo)字符串與規(guī)范化字符串集合中各字符串之間的相似度后,可以將計(jì)算得到的相似度值與預(yù)設(shè)的相似度閾值進(jìn)行比較,通過(guò)判斷計(jì)算出的目標(biāo)字符串與規(guī)范化字符串集合中各字符串的相似度是否達(dá)到預(yù)設(shè)的相似度閾值,在規(guī)范化字符串集合中查找與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。如果計(jì)算得到的目標(biāo)字符串與規(guī)范化字符串集合中任一字符串的相似度達(dá)到該相似度閾值,此時(shí)服務(wù)端可以判定該字符串為與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。例如,仍以目標(biāo)字符串為“支付寶公司”,規(guī)范化字符串集合中的一規(guī)范化字符串為“支付寶網(wǎng)絡(luò)技術(shù)有限公司”為例,假設(shè)相似度閾值為70%,通過(guò)上述公式計(jì)算出的字符串為“支付寶公司”與字符串“支付寶網(wǎng)絡(luò)技術(shù)有限公司”的相似度為1,大于相似度閾值,因此可以服務(wù)器可以將“支付寶網(wǎng)絡(luò)技術(shù)有限公司”確定為字符串“支付寶公司”的規(guī)范化字符串。其中,需要指出的是,上述相似度閾值可以由用戶根據(jù)實(shí)際的需求進(jìn)行設(shè)定;例如,在實(shí)現(xiàn)時(shí),該相似度閾值可以是一個(gè)工程經(jīng)驗(yàn)值,工程人員可以對(duì)大量字符串的進(jìn)行人工判定是否相同,然后對(duì)人工判定的結(jié)果進(jìn)行分析,來(lái)設(shè)置上述相似度閾值;或者也可以將人工判定的結(jié)果作為數(shù)據(jù)分析樣本,由服務(wù)端進(jìn)行統(tǒng)計(jì)分析來(lái)設(shè)置上述相似度閾值。當(dāng)然,在實(shí)際應(yīng)用中,當(dāng)規(guī)范化字符串集合中存在多個(gè)與目標(biāo)字符串的相似度達(dá)到相似度閾值的字符串,服務(wù)端可以將該多個(gè)字符串均確定為與該目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,然后將該多個(gè)字符串向用戶輸出,由用戶人工確認(rèn)最佳的規(guī)范化字符串。在本例中,當(dāng)服務(wù)端基于計(jì)算出的相似度在規(guī)范化字符串集合中查找到與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串后,可以將該目標(biāo)字符串轉(zhuǎn)發(fā)為查找到的規(guī)范化字符串進(jìn)行使用。例如,假設(shè)用戶輸入的公司名稱為“支付寶公司”這一不規(guī)范的公司名稱,服務(wù)端按照以上步驟對(duì)該公司名稱進(jìn)行規(guī)范化,在數(shù)據(jù)庫(kù)中查找到與該 公司名稱對(duì)應(yīng)的規(guī)范化的公司名稱“支付寶網(wǎng)絡(luò)技術(shù)有限公司”后,可以在后臺(tái)將用戶輸入的該不規(guī)范的公司名稱“支付寶公司”轉(zhuǎn)化為“支付寶網(wǎng)絡(luò)技術(shù)有限公司”進(jìn)行存儲(chǔ)使用。在以上實(shí)施例中,通過(guò)基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行遍歷切分,得到第一切分單元集合,并在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;然后通過(guò)計(jì)算目標(biāo)字符串與規(guī)范化字符串集合中各字符串的相似度,并基于計(jì)算出的相似度在規(guī)范化字符串集合中查找與目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,從而可以將目標(biāo)字符串轉(zhuǎn)化為查找到的規(guī)范化字符串,實(shí)現(xiàn)了在將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串時(shí),可以通過(guò)索引列表快速確定與該目標(biāo)字符串關(guān)聯(lián)的規(guī)范化字符串集合,并通過(guò)計(jì)算目標(biāo)字符串與該規(guī)范化字符串集合中各字符串的相似度,在該規(guī)范化字符串集合中查找與該目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串,使得在將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串時(shí),不再需要逐一計(jì)算目標(biāo)字符串與數(shù)據(jù)庫(kù)中存儲(chǔ)的各規(guī)范化字符串的相似度,從而可以減少計(jì)算量,提升規(guī)范化字符串的查找效率。與上述方法實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了裝置的實(shí)施例。請(qǐng)參見(jiàn)圖2,本申請(qǐng)?zhí)岢鲆环N將目標(biāo)字符串轉(zhuǎn)化為規(guī)范化字符串的裝置20,應(yīng)用于服務(wù)端;其中,請(qǐng)參見(jiàn)圖3,作為承載所述規(guī)范化字符串的查找裝置20的服務(wù)端所涉及的硬件架構(gòu)中,通常包括cpu、內(nèi)存、非易失性存儲(chǔ)器、網(wǎng)絡(luò)接口以及內(nèi)部總線等;以軟件實(shí)現(xiàn)為例,所述規(guī)范化字符串的查找裝置20通??梢岳斫鉃榧虞d在內(nèi)存中的計(jì)算機(jī)程序,通過(guò)cpu運(yùn)行之后形成的軟硬件相結(jié)合的邏輯裝置,所述裝置20包括:第一切分模塊201,用于基于指定的切分長(zhǎng)度針對(duì)目標(biāo)字符串進(jìn)行遍歷切分,得到第一切分單元集合;獲取模塊202,用于在預(yù)設(shè)的索引列表中查找與所述第一切分單元集合中各切分單元關(guān)聯(lián)的規(guī)范化字符串,得到與所述第一切分單元集合對(duì)應(yīng)的規(guī)范化字符串集合;所述索引列表包括針對(duì)規(guī)范化字符串進(jìn)行遍歷切分得到的 切分單元、以及所述切分單元關(guān)聯(lián)的規(guī)范化字符串;計(jì)算模塊203,用于計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;查找模塊204,用于基于計(jì)算出的所述相似度在所述規(guī)范化字符串集合中查找與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串;轉(zhuǎn)化模塊205,用于將該目標(biāo)字符串轉(zhuǎn)化為查找到的規(guī)范化字符串。在本例中,所述裝置20還包括:第二切分模塊206,用于基于所述指定的切分長(zhǎng)度針對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的規(guī)范化字符串進(jìn)行遍歷切分,得到第二切分單元集合;生成模塊207,用于針對(duì)所述第二切分單元集合中各切分單元分別生成對(duì)應(yīng)的索引表項(xiàng);其中,所述索引表項(xiàng)記錄的信息包括規(guī)范化字符串的各切分單元、以及所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串。在本例中,所述索引表項(xiàng)記錄的信息還包括所述各切分單元在所述數(shù)據(jù)庫(kù)中關(guān)聯(lián)的規(guī)范化字符串的數(shù)量;所述裝置20還包括:排序模塊208,用于基于所述數(shù)量針對(duì)所述索引列表中的索引表項(xiàng)進(jìn)行排序;刪除模塊209,用于刪除所述索引列表中記錄的所述數(shù)量大于預(yù)設(shè)的第一閾值的索引表項(xiàng)。在本例中,所述裝置20還包括:添加模塊210,用于在任一規(guī)范化字符串進(jìn)行字符切分得到的切分單元,在所述索引列表中對(duì)應(yīng)的索引表項(xiàng)均被刪除時(shí),將該切分單元所對(duì)應(yīng)的索引表項(xiàng)中記錄的所述數(shù)量最小的索引表項(xiàng)添加至所述索引列表中。在本例中,所述獲取模塊202具體用于:將所述第一切分單元集合中的切分單元在所述索引列表中進(jìn)行匹配;獲取所述第一切分單元集合中的切分單元在所述索引列表中匹配到的索引表項(xiàng);提取獲取到的所述索引表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;或者,提取獲取到的索引表項(xiàng)中記錄的所述數(shù)量低于預(yù)設(shè)的第二閾值的索引表項(xiàng)中記錄的所述規(guī)范化字符串,生成所述規(guī)范化字符串集合;其中,所述第二閾值小于所述第一閾值。在本例中,所述計(jì)算模塊203具體用于:計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的編輯距離;計(jì)算所述目標(biāo)字符串與所述各字符串的長(zhǎng)度中的最大值和最小值;計(jì)算減去所述編輯距離后的所述最大值與所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度;或者計(jì)算所述最大值與加上所述編輯距離后的所述最小值的比值,基于該比值表征所述目標(biāo)字符串與所述各字符串的相似度。在本例中,所述計(jì)算模塊203進(jìn)一步用于:基于預(yù)設(shè)的相似度計(jì)算公式計(jì)算所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度;所述相似度計(jì)算公式包括:或其中,x表示目標(biāo)字符串,|x|表示目標(biāo)字符的長(zhǎng)度;y表示規(guī)范化字符串,|y|表示所述規(guī)范化字符串的長(zhǎng)度;max(|x|,|y|)表示目標(biāo)字符串與所述規(guī)范化字符串的長(zhǎng)度中的最大值;min(|x|,|y|)表示表示目標(biāo)字符串與所述規(guī)范化字符串長(zhǎng)度中的最小值;ds表示目標(biāo)字符串與所述規(guī)范化字符串的編輯距離;c表示修正參數(shù),為大于或者等于0的常數(shù)。在本例中,所述查找模塊204具體用于:判斷計(jì)算出的所述目標(biāo)字符串與所述規(guī)范化字符串集合中各字符串的相似度是否達(dá)到預(yù)設(shè)的相似度閾值;當(dāng)所述目標(biāo)字符串與所述規(guī)范化字符串集合中任一字符串的相似度達(dá)到預(yù)設(shè)的相似度閾值時(shí),則確定該字符串為與所述目標(biāo)字符串對(duì)應(yīng)的規(guī)范化字符串。本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開(kāi)的本
技術(shù)領(lǐng)域:
中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來(lái)限制。當(dāng)前第1頁(yè)12