it-swarm-ko.tech

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

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

도와 주셔서 감사합니다.

이미 lucene을 보았지만 인덱싱 부분의 오버 헤드없이 비슷한 문자열을 더 쉽게 검색 할 수 있어야합니다.

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

63
Luca Molteni

레 벤슈 테인 거리 구현 :

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

31
George Mauer

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

  • 해밍 거리
  • 레 벤슈 테인 거리
  • Needleman-Wunch 거리 또는 판매자 알고리즘
  • 스미스 워터맨 거리
  • 고토 거리 또는 스미스-워터맨-고토 거리
  • 블록 거리 또는 L1 거리 또는 도시 블록 거리
  • 몽게 엘칸 거리
  • 자로 거리 측정
  • 야로 윈 클러
  • SoundEx 거리 측정법
  • 매칭 계수
  • 주사위 계수
  • Jaccard 유사성 또는 Jaccard 계수 또는 Tanimoto 계수
  • 중복 계수
  • 유클리드 거리 또는 L2 거리
  • 코사인 유사성
  • 변이 거리
  • Hellinger 거리 또는 Bhattacharyya 거리
  • 정보 반경 (Jensen-Shannon 분기)
  • 고조파 평균
  • 스큐 발산
  • 혼란 확률
  • 타우
  • 펠레 지 및 Sunters (SFS) 지표
  • TFIDF 또는 TF/IDF
  • FastA
  • 폭발
  • 최대 일치
  • q 그램
  • 우 코넨 알고리즘
28
Zaffiro

그것들은 내 자신의 발명품은 아니지만 내가 가장 좋아하는 블로그이며 블로그에 게시 된 Four Functions C # 확장에서 퍼지 문자열 일치 찾기 .

13
Tyler Jensen

Lucene.net 을 보셨습니까? Java Lucene 검색 엔진 API를 .Net 플랫폼으로 포팅하는 포트입니다.이 라이브러리는 많은 검색 기능을 제공합니다. 1 년 전쯤 사용해 보았습니다. 수많은 경험을 바탕으로 제 제안을하겠습니다. Windows Developer Power Tools 에서 보았고 테스트 드라이브를 보았습니다. API documentation 찾고있는 퍼지 검색과 같은 것을 제공하는지 확인하십시오.

2
Jason Jackson

코드 프로젝트 용지 에는 Levenshtein distance 를 사용하는 문자열 유사 기능이 있습니다.

1
Ed Schwehm

다음의 레 벤슈 테인 거리 알고리즘 (Levenshtein Distance Algorithm)에 따라 두 문자열의 유사성 (실제로는 차이)에 값을 할당합니다. http://www.merriampark.com/ldcsharp.htm

1
benefactual

비슷한 문자열을 검색하기 위해 "C #의 기본 검색 트리 사전"( http://www.codeproject.com/KB/recipes/tst.aspx )을 사용했습니다.

안부, Patricio

0
patriciovidal

Linux 용 Beagle Project 는 C # (모노)으로 작성되었으며 Google 데스크톱과 같은 검색 도구입니다. 이러한 종류의 문자열 일치를 위해 코드가있을 수 있습니다.

올바르게 호출하면 데이터를 검색하고 검색하기 위해 Lucene 라이브러리를 사용합니다. 어쩌면 그것은 프로젝트에도 유용 할 수 있습니다.

0
Isak Savo