我在數據庫中有很多廠商,他們在數據的某些方面都有所不同。我想製作基於以前數據的數據驗證規則。如何根據實際數據自動創建模式?
實施例:
A: XZ-4, XZ-23, XZ-217
B: 1276, 1899, 22711
C: 12-4, 12-75, 12
目標:如果用戶輸入字符串「XZ-217」的供應商B,算法應該比較先前的數據和說:此字符串不類似於供應商B先前的數據。
是否有一些很好的方法/工具來實現這種比較?答案可能是一些通用算法或Perl模塊。
編輯: 「相似性」很難定義,我同意。但我想趕上算法,它可以分析以前的約100個樣本,然後將分析結果與新數據進行比較。相似性可以基於長度,使用字符/數字,字符串創建模式,類似的開始/結束/中間,有一些分隔符。
我覺得這不是一件容易的事,但另一方面,我認爲它有使用非常廣泛。所以我希望,已經有一些提示。
這真的很含糊。嘗試定義一些「類似」的東西。除非你給出精確的規則,否則計算機不能說「呃,看起來夠接近」。例如,您可能希望「具有多於X個字符的共同點」或「以相同的Y個字符開始」或「在中間具有相同的符號(例如短劃線)」。 – FakeRainBrigand 2012-01-13 14:59:58
除非您能施加一些額外的限制,否則這將會非常困難。考慮一下:如何讓你的模式學習算法決定使用'qr /.*/'? – 2012-01-13 15:03:07