SQL Server 2008にPersons
テーブルがあります。
私の目標は、ほとんど同じ住所を持つ人を見つけることです。
state
、town
、 、 、 street
、 、 、 、 、 、 、house
、apartment
、postcode
でアドレスを記述しますphone
。
一部の州 (米国以外) や人的要因 (住所の間違いなど) での特定の違いにより、住所は同じパターンで入力されません。
よくある住所の間違い
- 大文字と小文字の区別
- 誰かが「apt.」、別の「アパート」または「ap」と書きました。(住所は英語で書かれていませんが)
- スペース、ドット、カンマ
- 通りの名前の書き方の違い。ジョーンズ ストリート」または「ドクター ジョーンズ ストリート」または「D. ジョン。st." または "Dr Jones st" など。
主な問題は、データが同じパターンではないため、類似した住所を見つけるのが非常に難しいことです。
この種の問題に対するアルゴリズムはありますか?
前もって感謝します。
アップデート
- 前述したように、住所はさまざまな列に分かれています。列を連結する文字列を生成するか、列ごとに手順を実行する必要がありますか? 列を連結するべきではないと思いますが、列を個別に比較する場合、どのように整理すればよいでしょうか? 各列の類似点を見つけたり、それらを結合したり、交差させたりする必要がありますか?
- 統計収集または何らかの教育アルゴリズムが必要ですか?