a = ['天虹便利中投國際商務店', '福田街道辦事處深圳市福田區香梅路1061號中投國際商務中心B座一層12號']
b = ['天虹微喔(中投大廈店)', '香梅路中投國際商務中心B1棟1層']
c = ['Vingo財富廣', '深圳市福田區深南大道浩銘財富廣場群樓101-1商鋪']
d = ['財富廣場', '深圳市福田區深南大道東頭浩銘財富廣場']
串列內第一個值是店鋪名稱,第二個值是店鋪地址。
人一眼便可看出a和b是一家, c和d是一家,但如何用代碼實作。Python中有沒有類似的庫
請各位大佬解惑

在此謝謝了
uj5u.com熱心網友回復:
提供一個思路,對比a和b,c和d的文本相似度,如果你的需求比較簡單,可以自己寫一個比較的方法,相同的字占總字數的百分比,超過多少百分比則視為同一家,如果你的需求要求精度比較高,可以使用專業的度量演算法,比如:編輯距離、海明距離、歐氏距離、Jaccard相似度、余弦相似度等,具體你可以百度他們的區別和具體的實作演算法,應該都有現成的。uj5u.com熱心網友回復:
a = ['哇哈哈超市', '深圳市福田區上海路哇哈哈超市']b = ['哇咔超市', '深圳市福田區上海路哇咔超市']
但是這種情況 a和b不是一家, 所以要掌握好這個度。
如果模糊匹配的話,會把哇哈哈和哇咔分為一家,但是不模糊的話Vingo財富廣場和財富廣場分為2家。

uj5u.com熱心網友回復:
這種情況的話,要通過語意來分析了,可以查一查 NLP 有沒有更高級的演算法,個人見解,在獲取這個資料的階段的時候就做一定的處理,讓后面更加容易區分,如果不行的話,就想辦法特殊情況特殊處理,最后你說的 a b 的情況,我感覺很難通過計算機區分出來uj5u.com熱心網友回復:
這些資料都是從Excel讀出來的,然后我要做的就是對店名及地址進行比對。精準度高了不行,低了也不行,所以不知道要怎么搞。頭大
uj5u.com熱心網友回復:
用jieba分詞后再轉成集合看集合的交集
uj5u.com熱心網友回復:
一共有多少資料?如果不多的話,可以先把一些特殊的挑出來,只能手動+代碼處理了
uj5u.com熱心網友回復:
上萬條
uj5u.com熱心網友回復:
用jieba分詞后再轉成集合
看集合的交集
用jieba難搞哦
uj5u.com熱心網友回復:
不太好搞哦,建議找個自然語言處理專家問問
uj5u.com熱心網友回復:
不太好搞哦,建議找個自然語言處理專家問問
是啊,很難搞。謝謝你的回復哦
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/284443.html
上一篇:python大一萌新求助