나는 공항 이름 목록을 가지고 있으며 사용자는 더 많은 처리를 위해 공항 이름을 하나씩 입력 할 수 있습니다.맞춤법이 틀린 단어 감지
철자가 틀린 이름을 어떻게 처리하고 제안 목록을 제시 하시겠습니까?
나는 공항 이름 목록을 가지고 있으며 사용자는 더 많은 처리를 위해 공항 이름을 하나씩 입력 할 수 있습니다.맞춤법이 틀린 단어 감지
철자가 틀린 이름을 어떻게 처리하고 제안 목록을 제시 하시겠습니까?
주어진 사용자 입력에 대해 올바른 이름을 찾으려면 Levenshtein distances을 찾으십시오.
Levenshtein 거리는 계산하기에 꽤 비쌉니다. O (n^2), 사전의 모든 단어에 대한 Levenshtein 거리를 계산하는 것은 비 초보입니다. – Wedge
이 경우 사전은 공항의 목록 일뿐입니다. 전세계에는 주목할만한 몇백 개의 공항이 있습니다. – SingleNegationElimination
@Wedge 사전을 해싱하는 것이 반드시 시간 복잡성을 줄이는 것은 아니지만 상당한 도움이 될 수 있습니다. – Ryan
사용자가 직접 입력하는 대신 공항 이름 목록에서 선택하도록하는 것이 더 좋을 수 있습니다. 그런 실수는 없습니다.
즉시 도움이되지 않지만 오타를 추적하고 정확한 이름을 입력 할 때 마지막으로 입력 한 이름을 확인할 수 있습니다. 그렇게하면 가장 일반적인 오타를 추적하고 최상의 옵션을 제공 할 수 있습니다.
코드에서 맞춤법 검사를 사용하십시오. 단어 목록에는 올바른 철자가 포함되어야합니다.
이렇게하는 것은 좋지 않습니다. 자동 완성 옵션을 제공하는 컨트롤이나 다른 사람이 제안한 드롭 다운 메뉴 중 하나를 선택해야합니다.
기술이 지원하는 경우 AJAX를 사용하십시오.
자바 스크립트 자동 완성 기능이있는 입력 상자를 사용하면 Kevin의 제안에 더해 두 세계 모두에서 가장 좋습니다. 같은 jquery autocomplete
편집과 같이 나를 덴마크어 이길 :(
사용할 수있는 기존의 맞춤법 검사 라이브러리가있을 수 있습니다 코드는 물론 이런 종류의 작업을 수행 비 사소한하기 위해 당신이 원하는 경우.. 이 직접 쓰기, 당신은 dictionary trie's보고 할 수 있습니다. 다만 가능한 오류 단어와 당신이 더 큰 성능을 캐시 할 수 자신의 수정 (여기 implementation in Python의)의 거대한 목록을 생성하는 것입니다 작동 할 수
한 가지 방법입니다.
을http://norvig.com/spell-correct.html
은 levenshtein과 같은 기능을하지만, 그다지 효율적이지 않습니다.
나는 당신이 요구 한 것이 아니라 올바른 공항을 얻는 것이 중요하다는 것을 알고 있습니다. 예약 티켓) 그러면 올바른 단계가 있는지 확인하는 단계가 필요할 수 있습니다. 예를 들어 wrong Sydney 티켓을받는 사람들이 있습니다.
http://en.wikipedia.org/wiki/Fuzzy_string_searching –