사전에서 빠른 퍼지 문자열 검색을위한 알고리즘 (및 C#의 구현)을 찾고 있습니다. 지금까지 Levenshtein Automata라는 메소드를 발견했습니다 (here 설명). 그것은 내가 필요로하는 것에 매우 simular하게 보인다. 그러나 나는 다른 오류에 대해 다른 가중치를주고 싶다. s
과 c
을 혼동하는 것이 일반적이므로 이러한 오류의 무게는 작습니다. 또한 s
->ph
과 같은 여러 글자 오류를 고려하는 것도 좋을 것입니다. 거기에 그런 것들을 설명하는 알고리즘이 있습니까?가중치가있는 Levenshten automata
1
A
답변
1
Levenshtein automaton은 소스 문자열 (즉, 오토 마톤을 구성하는 데 사용 된 문자열)에서 특정 편집 거리 내에있는 대상 문자열을 찾습니다. 이것은 초고속이지만 단점은 편집 비용을 사용자 정의 할 수 없다는 것입니다. (짧은 문자열의 Levenshtein 자동 완성을 다른 편집 비용으로 그림화하려는 경우가 있습니다 ... 짧은 문자열의 경우에도 지저분 할 것입니다).
맞춤 편집 비용을 정의 할 수있는 잘 알려진 동적 프로그래밍 방식 (here)을 고려해야 할 것입니다.
관련 문제
- 1. 문법 도움 (이론의 Automata)?
- 2. 맞습니까? (Finite Automata)
- 3. 가중치가있는 양식
- 4. Fuzzy Cellular Automata in matlab
- 5. 가중치가있는 일부 노드 표시
- 6. Keras : 클래스 가중치가있는 LSTM
- 7. Perl에서 가중치가있는 정규 표현식?
- 8. 가중치가있는 가장자리로 그래프 그리기
- 9. 가중치가있는 가장자리가있는 나무의 중심
- 10. 가중치가있는 RelativeLayout 대 LinearLayout
- 11. 가중치가있는 나무의 유사성 계산
- 12. 가중치가있는 빠른 표준 편차
- 13. 프롤로그 가중치가있는 무향 그래프
- 14. 가중치가있는 PHP 검색 엔진
- 15. iOS의 가중치가있는 (실제) 문자열
- 16. 어떻게 Automata FSM에서 오류를 해결할 수 있습니까?
- 17. 이 언어에는 PDA (Pushdown Automata)가 있습니까?
- 18. Cellular Automata 알고리즘이 작동하지 않는 것 같습니다.
- 19. Mathematica에서 새로운 Cellular Automata 규칙 만들기
- 20. Matlab은 임의로 가중치가있는 행을 샘플링합니다.
- 21. 가중치가있는 Ctree 분류 - 결과 표시
- 22. 파이썬 - 가중치가있는 프레임 크기 조정
- 23. 임의 배율 분포 가중치가있는 네트워크
- 24. 가중치가있는 DB에서 항목을 빼내는 중
- 25. 가중치가있는 사람들을 그룹화하는 데 적합한 알고리즘은 무엇입니까?
- 26. 개별 키워드에 대한 가중치가있는 텍스트 검색
- 27. 가중치가있는 데이터로 더 비슷한 항목을 찾으십시오.
- 28. R : 가중치가있는 고정 효과 모델을 계산하는 방법
- 29. 시간 가중치가있는 롤링 평균 팬더를 계산합니다
- 30. 가중치가있는 부분과의 바이 패 타이트 일치
답변 해 주셔서 감사합니다. 내가 제안한 알고리즘을 사용하려고했지만 느린 것 같습니다. trie로 사전 작성된 사전과 함께 사용할 때도 마찬가지입니다. – StuffHappens
또는 Levenshtein 자동 로봇을 사용하여 일부 단어 (예 : 편집 거리가 3 이상인 단어)를 필터링 한 다음 동적 프로그래밍 접근 방식을 사용하여 나머지를 처리 할 수 있습니다. – Pierre
나는 그것을 생각할 것입니다. – StuffHappens