programing tip

C # 용으로 작성된 퍼지 검색 또는 문자열 유사성 함수 라이브러리가 있습니까?

itbloger 2020. 11. 21. 14:36
반응형

C # 용으로 작성된 퍼지 검색 또는 문자열 유사성 함수 라이브러리가 있습니까?


비슷한 질문이 있지만 소스 코드에서 사용할 수있는 C # 라이브러리와 관련이 없습니다.

도와 주셔서 감사합니다.

나는 이미 lucene을 보았지만 인덱싱 부분의 오버 헤드없이 유사한 문자열을 검색하기 더 쉬운 것이 필요합니다.

내가 표시 한 대답에는 두 가지 매우 쉬운 알고리즘이 있으며 하나는 LINQ도 사용하므로 완벽합니다.


Levenshtein 거리 구현 :

후자를 사용하는 .NET 1.1 프로젝트가 있습니다. 단순하지만 내가 필요한 것에 완벽하게 작동합니다. 내가 기억하는 바에 따르면 약간의 조정이 필요했지만 분명하지 않은 것은 없습니다.


Sam 's String Metrics http://sourceforge.net/projects/simmetrics/files/ 라는 매우 인상적인 라이브러리를 볼 수도 있습니다 . 여기에는 다양한 알고리즘이 포함됩니다.

  • 해밍 거리
  • Levenshtein 거리
  • Needleman-Wunch 거리 또는 판매자 알고리즘
  • Smith-Waterman 거리
  • Gotoh 거리 또는 Smith-Waterman-Gotoh 거리
  • 블록 거리 또는 L1 거리 또는 도시 블록 거리
  • 몽지 엘칸 거리
  • Jaro 거리 측정법
  • 자로 윙클러
  • SoundEx 거리 측정법
  • 일치 계수
  • 주사위 계수
  • Jaccard 유사성 또는 Jaccard 계수 또는 Tanimoto 계수
  • 중첩 계수
  • 유클리드 거리 또는 L2 거리
  • 코사인 유사성
  • 가변 거리
  • Hellinger 거리 또는 Bhattacharyya 거리
  • 정보 반경 (Jensen-Shannon 발산)
  • 고조파 평균
  • 스큐 발산
  • 혼동 확률
  • 타우
  • Fellegi and Sunters (SFS) 측정 항목
  • TFIDF 또는 TF / IDF
  • FastA
  • BlastP
  • 최대 일치
  • q- 그램
  • Ukkonen 알고리즘

그것들은 내 발명품은 아니지만 내가 가장 좋아하는 것입니다. 그리고 방금 블로그에 게시하고 퍼지 문자열 찾기를위한 Four Functions 라는 블로그 게시물에 Dice Coefficient, Levenshtein Distance, Longest Common Subsequence 및 Double Metaphone의 수정 된 버전을 게시했습니다. C # Extensions에서 일치합니다 .


Lucene.net보셨습니까 ? .Net 플랫폼에 대한 Java Lucene 검색 엔진 API의 포트입니다. 이 라이브러리는 많은 검색 기능을 제공합니다. 나는 1 년 정도 전에 그것을 가지고 놀았으므로 수많은 경험을 바탕으로 내 제안을 받아들이지 마십시오. Windows Developer Power Tools 책에서보고 테스트 드라이브에 사용했습니다. API 문서통해 찾고있는 퍼지 검색과 같은 것을 제공하는지 확인할 수 있습니다.


코드 프로젝트 문서 에는 Levenshtein distance를 사용하는 문자열 유사성 함수가 있습니다 .


다음과 같은 Levenshtein Distance Algorithm은 두 문자열의 유사성 (실제로는 차이점)에 값을 할당하며이를 기반으로 구축 할 수 있습니다. http://www.merriampark.com/ldcsharp.htm


비글 프로젝트 Linux 용 C #을 (모노)에 기록되고 검색 도구와 같은 구글 데스크톱이다. 이러한 종류의 문자열 일치를위한 코드가있을 수 있습니다.

올바르게 기억하면 Lucene 라이브러리를 사용하여 데이터를 검색하고 검색합니다. 프로젝트에도 유용 할 수 있습니다.


비슷한 문자열을 검색하기 위해 "Ternary Search Tree Dictionary in C #"( http://www.codeproject.com/KB/recipes/tst.aspx )을 사용했습니다.

감사합니다, Patricio

참고URL : https://stackoverflow.com/questions/83777/are-there-any-fuzzy-search-or-string-similarity-functions-libraries-written-for

반응형