我對機器學習非常熟悉,我在Python中完成了一些項目。我正在尋找如何解決我認爲可以實現自動化的以下問題的建議。自動化文本/模糊匹配的最佳機器學習方法
我組織中的數據質量團隊中的用戶每天都會收集已手動輸入的公司名稱(含地址)列表,他必須搜索公司數據庫以查找匹配結果,使用他的判斷 - 即沒有硬性規定。
輸入的一個例子是:
公司名稱,地址行1,國家
如此,用戶實現了公司名稱和將其輸入的搜索工具。他在哪裏得到一份結果列表,並且選擇最佳匹配,但可能選擇不選擇任何匹配。搜索工具是內置的,可與外部API交流,我可以訪問源代碼,因此我可以修改搜索工具以捕獲輸入,結果列表,並且可以添加複選框以查看使用哪個結果,還有一個複選框表示沒有人被選中。因此這將成爲我標記的訓練數據。
從結果來做出判斷的列是大致相同:
公司名稱,地址行1,國家
鑑於公司名稱,如堆棧溢出,結果可能會返回堆棧溢出有限公司Stacking Overflowing Shelves Ltd.等。輸入數據相當不錯,所以結果通常會產生大約10場比賽,而對於一個人來說,很明顯選擇哪一個。
我的想法是,有足夠的訓練數據,我可以與搜索項直接調用API,然後從結果列表中相應的結果。
這是可以通過ML來實現的嗎?我正在努力爭取數據每次都會有所不同。的最佳方式思考實現這一目標的歡迎,特別是如何構建的模型數據,並使用哪種分類等
這聽起來更像是模糊匹配而不是文本分類。由於標籤數量龐大,您可能會收到糟糕的ML分類結果,這將成爲您希望匹配的所有可能的公司名稱。 – aberger
謝謝,我已經更新了描述。我想知道是否有一種方法可以將模糊匹配的結果與選擇哪種模糊匹配的結果相結合,從而增強模糊匹配的效果。當存在類似的結果時,有一些邏輯用於決定採取哪種結果,或者對於同一家公司來說,採用多個結果。例如。他們將公司的總部設在公司的分支機構上,這在另一個領域是有意義的。 –
我想這也可以被看作二元分類問題,其中對於公司的每一對描述,您都必須回答他們是否對應於同一家公司。 Levenshtein距離,tfidf或ngrams匹配可用作特徵。即使解決方案將像在Levenshtein距離中選擇閾值一樣簡單,或者應用詞幹/停用詞的某種組合,使用ML方法來選擇該閾值並測量分類質量仍然很不錯。 – Dienow