我有一個 excel 文件,其中一列包含 1000 多個公司名稱,另一列包含大約 20,000 個公司名稱。目標是匹配盡可能多的名稱。問題是第一列(1000+)中的名稱格式不正確,這意味著“公司名稱”字符串可能類似于“9Com(panynAm9e00”。我正在嘗試找出解決此問題的最佳方法。(僅12 個名字完全匹配)在嘗試了不同的方法后,我最終嘗試使用正則表達式匹配每個名稱中的 4-5 個或更多字符,具體取決于每個字符串的長度。但我只是在努力尋找最有效的方法來做到這一點。例如:第 1 欄 1. 9Com(panynAm9e00 2. NikE4 3. Mitrosof2第 2 欄 1. Microsoft 2. Company Name 3. Nike取第1 列中的第一個元素并在第 2 列中查找匹配項。如果沒有完全匹配,則查找具有 4-5 個相同字符的字符串。有什么建議么?
2 回答
SMILET
TA貢獻1796條經驗 獲得超4個贊
我想數字在實際公司名稱中并不是很常見,因此初始過濾步驟將極大地幫助前進,但這里有一個實現,即使沒有這個也應該可以相對良好地工作。一個信袋(bag-of-words)方法,如果你愿意:
將所有內容(第 1 列和第 2 列)轉換為小寫
對于第 2 列中的每個已知公司,存儲每個唯一字母以及它在字典中出現的次數(計數)
對第 1 列中的每個條目執行相同操作(步驟 2)
對于第 1 列中的每個條目,從真實公司名稱列表中找到最接近的信袋(步驟 2 中的字典)
字典距離的實現取決于你。
添加回答
舉報
0/150
提交
取消
