3

次のような個人データを含むテーブルのソースがいくつかあります。

SOURCE 1
ID, FIRST_NAME, LAST_NAME, FIELD1, ...
1, jhon, gates ...

SOURCE 2
ID, FIRST_NAME, LAST_NAME, ANOTHER_FIELD1, ...
1, jon, gate ...

SOURCE 3
ID, FIRST_NAME, LAST_NAME, ANOTHER_FIELD1, ...
2, jhon, ballmer ...

したがって、ソース1と2のID 1のレコードが同じ人物であると仮定すると、私の問題は、すべてのソースのレコードが同じ人物を表すかどうかを判断する方法です。さらに、すべてのレコードがすべてのソースに存在するわけではないことを確認してください。すべての名前は、主にスペイン語で書かれています。

この場合、データソースが国の公式識別局に対して厳密にチェックされていないことを前提としているため、正確な一致を緩和する必要があります。また、データを収集するプロセスの性質上、タイプミスが一般的であると想定する必要があります。さらに、レコードの量は、すべてのソースで約200万から300万です...

私たちのチームは次のようなことを考えていました。まず、ID NUMBERやNAMESなどの選択したフィールドで完全一致を強制して、問題がどれほど難しいかを確認します。次に、一致基準を緩和し、一致できるレコードの数を数えますが、ここで問題が発生します。ノイズを生成しすぎず、制限しすぎずに一致基準を緩和するにはどうすればよいでしょうか。

これを処理するためにどのツールがより効果的である可能性がありますか?たとえば、このマッチングをサポートするためのデータベースエンジンの特定の拡張機能について知っていますか?この近似一致を処理するためのsoundexのような巧妙なアルゴリズムについて知っていますが、スペイン語のテキスト用です。

どんな助けでもいただければ幸いです!

ありがとう。

4

7 に答える 7

3

私は以前に似たようなことをしなければなりませんでした、そして私がしたことは名前で二重メタフォン音声検索を使用することでした。

ただし、名前を比較する前に、作成したニックネームテーブルで名前を検索して、名前とニックネームの違いを正規化しようとしました。(オンラインで見つけた国勢調査データをテーブルに入力しました)つまり、BobはRobertになり、AlexはAlexanderになり、BillはWilliamになりました。

編集:Double Metaphoneは、Soundexよりも優れており、英語以外の言語で動作するように特別に設計されています。

于 2008-09-23T19:04:12.683 に答える
3

これは、顧客データ統合の問題のようです。その用語で検索すると、さらに詳しい情報が見つかるかもしれません。また、The Data Warehousing Institude の内部を調べてみると、そこにもいくつかの答えが見つかるかもしれません。

編集:さらに、スペイン語の音声マッチングに興味があるかもしれない記事があります

于 2008-09-23T19:00:10.087 に答える
3

この問題の核心は、エントリの各ペア間の距離の 1 つまたは複数の測​​定値を計算し、距離の 1 つが特定の許容しきい値よりも小さい場合にそれらが同じであると見なすことです。重要なのは、分析をセットアップしてから、偽陽性と偽陰性の間の最良のトレードオフであると考えられる値に到達するまで、許容距離を変更することです。

距離測定の 1 つが音声的なものである可能性があります。もう 1 つの考慮事項は、タイプミスを測定しようとする全体間のレーベンシュタイン距離または編集距離です。

必要な人数について合理的な考えがある場合、目標は、適切な人数が得られるスイート スポットを見つけることです。マッチングが曖昧すぎると、マッチングが少なくなります。制限的にすると、あまりにも多くなります。

人がエントリーする必要があるおおよその数がわかっている場合は、それをメトリックとして使用して、いつ近づいているかを確認できます。または、レコードの数を各人の平均レコード数に分割して、撮影対象の人数を概算することもできます。

使用する数字がない場合は、分析からレコードのグループを選択し、それらが同一人物に見えるかどうかを手動で確認する必要があります。というわけで推測と確認です。

それが役立つことを願っています。

于 2008-09-23T20:20:35.900 に答える
2

SSIS、ファジールックアップ変換を使用してみてください

于 2008-09-23T18:53:09.153 に答える
1

この問題を解決するためにいくつかの詳細を追加するだけで、Postgresql 8.3 用のこのモジュールが見つかりました。

于 2008-09-25T19:04:39.107 に答える
0

あなたはそれらをディシオナリーと比較することによって名前を正規化しようとするかもしれません。
これにより、いくつかの一般的なタイプミスを見つけて修正することができます。

于 2008-09-26T12:53:48.590 に答える
0

レコードのリンケージに問題があるように思えます。リンク内の参照を使用できます。

于 2008-11-11T10:18:06.323 に答える