나는 이미 다른 질문에 대한 답을 제공해주었습니다.
https://stackoverflow.com/a/30120166/2282794
난 당신이 얘기 한 유사한 이름이 일치하는 요구 사항에 정말 큰 규모의 시스템에서 일했습니다. 이름 일치는 그리 간단하지 않으며 이름과 성의 순서가 다를 수 있습니다. 단순한 퍼지 이름 일치 알고리즘은 이러한 시나리오에서 비참하게 실패합니다.
근사치 문자열 매칭 알고리즘에 대해 이야기하고 싶다면 많은 정보가 있습니다. Jaro-Winkler, 편집 거리 (Levenshtein), Jaccard 유사성, Soundex/Phonetics 기반 알고리즘 등 몇 가지가 있습니다. 간단한 인터넷 검색 결과 우리에게 모든 세부 정보가 제공됩니다. C#으로 모두 구현할 수 있습니다.
아이러니는 주어진 입력 문자열 두 개를 일치 시키려고 할 때 작동합니다. 이론적으로는 어쨌든 퍼지 또는 근사 문자열 매칭이 작동하는 방식을 보여줄 수 있습니다.
그러나, 현저하게 절제된 점은 어떻게하면 프로덕션 설정에서 동일한 것을 사용합니까? 대략적인 문자열 매칭 알고리즘을 찾고있는 사람들은 누구나 프로덕션 환경에서 동일한 문제를 해결할 수있는 방법을 알고있었습니다.
저는 Java에 특정한 Lucene에 대해서 이야기했을 지 모르지만 .Net에도 Lucene이 있습니다.
https://lucenenet.apache.org/
는 내가 모든 도트 문자를 제거한 다음 나중에 levenshtein 거리를 사용하는 것 같네요. 비슷하지만 빠른 levenshtein보다 다른 알고리즘을 찾았습니다. 그 사람의 이름은 알고리즘 sift3입니다. 매우 흥미로운. – Max