ファジーデータ上のデータベースの相互参照
-
18-09-2019 - |
質問
私は現在、大量のユーザー生成名を正規形式の同じ名前の別のリストと照合する必要があるプロジェクトに取り組んでいます。問題は、ユーザーが生成した名前には多数のスペルミスや略語が含まれているだけでなく、単純に無効なデータも含まれているため、正規データとの相互参照が困難になることです。これを行う方法について何か提案はありますか?
これはリアルタイムで行う必要はなく、この場合は速度よりも精度が重要です。
これに対する現在のアイデアは次のとおりです。
- Lucene や Sphinx などの既存の検索実装を使用して、正規データベース内でユーザーが入力した名前のあいまい検索を実行します。これにはレーベンシュタイン距離のようなものが使用されると思います。
- 実際の名前を使用する代わりに、SOUNDEX ハッシュ (スペルではなく名前の音に基づいて計算されると考えられます) での相互参照。
- 上記のいくつかの組み合わせ
これらについて何かフィードバックや独自のアイデアがある人はいますか?
私の懸念の 1 つは、上記の方法のいずれも略語をうまく処理できないことです。拡張された略語を実際に検索するための機械学習手法の方向性を誰かが私に教えてくれませんか(または私がおかしいと言ってください)?前もって感謝します。