관련 스레드에서 this 개의 주석으로 Levenshtein 거리 기반 방법이 Soundex보다 나은 이유를 알고 싶습니다.Levenshtein 거리 기반 방법 Vs Soundex
답변
Soundex는 오히려 원시적입니다. 원래는 손으로 계산되도록 개발되었습니다. 비교할 수있는 키가됩니다.
Soundex는 원래 미국 인구 조사 데이터 용으로 개발 되었기 때문에 서양 이름과 잘 작동합니다. 음성 학적 비교를위한 것입니다.
Levenshtein distance는 두 값을보고 유사도를 기반으로 값을 생성합니다. 누락 된 문자 또는 대체 된 문자를 찾고 있습니다.
기본적으로 Soundex는 "Schmidt"와 "Smith"가 같은 성을 사용하는 것이 좋습니다.
Levenshtein 거리가 사용자가 ;-)
@Keith "Levnshtein"를 잘못 입력했다고 안보 위해 더 낫다 : 나는 다른 문제에 게시 된
을 Daitch - Mokotoff 우리 유럽인을위한 더 나은 (그리고 나는입니다 미국은 논쟁 중이다).
나는 또한 위키를 Levenshtein에서 읽었습니다. 하지만 나는 (실제 생활에서) Soundex보다 더 나은 사람이 인 이유를 알 수 없다..
나는 Soundex가 아니라 Metaphone을 사용할 것을 제안합니다. 언급했듯이, Soundex는 19 세기에 미국인의 이름으로 개발되었습니다. 메타 폰은 가난한 사람들이 "소리를 내며"발음을 알아 내고 발음을 표기 할 때 어떤 결과를 얻을 것입니다.
편집 거리는 반복 된 문자, 전치 된 문자 또는 잘못된 키를 치는 것과 같은 오타를 잡는 데 좋습니다.
사용자가 가장 적합한 사용자를 결정하려면 —을 사용하거나 둘을 함께 사용하고 Metaphone을 사용하여 Levenshtein의 제안을 보완하십시오.
원래 질문에 대해서는 정보 검색 응용 프로그램에서 n-grams을 성공적으로 사용했습니다.
그리고 나는 더블 메타 폰으로 가고 싶다. 2 개의 코드를 리턴한다. 하나는 서구, 다른 하나는 '외국'(슬라브 IIRC) 소리이다. – gbjbaanb
Soundex는 20 세기 초에 개발되었으며 19 세기의 센서스 데이터에 사용되었습니다. – webmaster777
Daitch-Mokotoff에 동의합니다. Soundex는 원래 미국 인구 조사 수혜자가 'Americanized'이름을 원했기 때문에 편향되었습니다.
아마의 차이에 대한 예제가 도움이 될 것이다 :Soundex와는 단어의 시작에 추가 값을 넣습니다 - 사실은 첫 번째 네 음성 소리를 생각한다. 따라서 "Schmidt"와 "Smith"는 "Smith"와 "Wmith"는 일치하지 않습니다.
Levenshtein의 알고리즘은 오타를 찾는 것이 더 좋을 것입니다. 하나 또는 두 개의 누락되거나 대체 된 문자는 높은 상관 관계를 생성하는 반면, 누락 된 문자의 소리 나는 영향은 덜 중요합니다.
나는 둘 중 하나가 더 좋다고 생각하지 않으며 사용자가 올바른 입력을 할 수 있도록 거리 알고리즘과 소리를 모두 고려할 것입니다.
- 1. Levenshtein 거리 알고리즘 최적화
- 2. Levenshtein 문자열의 일부분에서만 거리 (Java)
- 3. 맞춤법 검사기에서 Levenshtein 거리 사용
- 4. 영어 이외의 문자열에서의 Levenshtein 거리
- 5. soundex 기반 검색을 설계하는 가장 좋은 방법
- 6. 많은 연속 된 문자열 사이의 거리 Levenshtein 계산
- 7. GPS 데이터 거리 기반 거리 변환
- 8. Android & 퍼지 매칭, n-gram 및 Levenshtein 거리
- 9. Google 스타일 검색 제안 사항 Levenshtein 편집 거리
- 10. 언어 별 특이 사항에 대한 Damerau-Levenshtein 거리
- 11. Damerau-Levenshtein php
- 12. levenshtein 대체
- 13. soundex 알고리즘의 데이터 구조?
- 14. Python의 Soundex 알고리즘
- 15. damerau levenshtein 알고리즘을 사용한 표절 탐지
- 16. Levenshtein 거리를 계산하는 가장 효율적인 방법
- 17. 모델 기반 개발 vs 모델 기반 아키텍처 vs 모델 기반 엔지니어링
- 18. Levenshtein in PHP
- 19. 그래프에 대한 Levenshtein 일반화?
- 20. Levenshtein 거리에 관한 질문
- 21. PHP Levenshtein Percentages
- 22. 거리 주소에서 거리 번호 제거하기
- 23. 거리 주소 열을 색인하는 방법
- 24. Geokit/Geocoder의 거리 및 거리 계산
- 25. 거리 매트릭스를 입력으로 사용하는 밀도 기반 클러스터링 라이브러리
- 26. levenshtein 거리를 사용하여 발췌문을 생성
- 27. Damerau-Levenshtein distance for distance
- 28. begin/commitAnimations vs 블록 기반 애니메이션
- 29. MongoDB는 soundex 또는 fuzzy matching을 지원합니까?
- 30. Soundex 알고리즘의 몇 가지 변경 사항
두 번째 메타 폰/더블 메타 폰 제안 –
이중 메타 폰이란 무엇입니까? – Marin