visual strings not found ejemplo diferente comparestring c# .net string comparison

strings - ¿Hay alguna biblioteca de Fuzzy Search o String Similarity Functions escritas para C#?



string condition c# (9)

Hay una pregunta similar, pero no con respecto a las bibliotecas de C # que puedo usar en mi código fuente.

Gracias por toda tu ayuda.

Ya he visto lucene, pero necesito algo más fácil para buscar cadenas similares y sin la sobrecarga de la parte de indexación.

La respuesta que marqué tiene dos algoritmos muy fáciles, y uno también usa LINQ, así que es perfecto.


¿Has echado un vistazo a Lucene.net ? Es un puerto de la API del motor de búsqueda Java Lucene para la plataforma .Net. Esa biblioteca ofrece mucha funcionalidad de búsqueda. Jugué con eso hace un año o así, así que no tomes mi sugerencia en base a toneladas de experiencia. Lo vi en el libro Windows Developer Power Tools y lo tomé para una prueba de manejo. Puede consultar su Lucene.net para ver si ofrece algo parecido a la búsqueda difusa que busca.



El Proyecto Beagle para Linux está escrito en c # (mono) y es una herramienta de búsqueda de escritorio de google. Puede tener algún código para este tipo de coincidencia de cadenas.

Si recuerdo correctamente, usa la biblioteca Lucene para buscar y recuperar datos. Tal vez eso también puede ser útil para su proyecto.



Existe el siguiente algoritmo de distancia de Levenshtein que asigna un valor a la similitud de dos cadenas (bueno, la diferencia en realidad), que podría usarse para construir sobre: http://www.merriampark.com/ldcsharp.htm



Implementación a distancia de Levenshtein:

Tengo un proyecto .NET 1.1 en el que utilizo este último. Es simplista, pero funciona perfectamente para lo que necesito. Por lo que recuerdo, necesitaba un poco de ajuste, pero nada que no fuera obvio.



también puede ver la impresionante biblioteca titulada Sam''s String Metrics http://sourceforge.net/projects/simmetrics/files/ . esto incluye una gran cantidad de algoritmos.

  • Hamming distancia
  • Distancia Levenshtein
  • Distancia Needleman-Wunch o Algoritmo Sellers
  • Smith-Waterman distancia
  • Distancia de Gotoh o distancia de Smith-Waterman-Gotoh
  • Distancia del bloque o distancia L1 o distancia del bloque de la ciudad
  • Distancia Monge Elkan
  • Jaro distancia métrica
  • Jaro Winkler
  • Métrica de distancia SoundEx
  • Coeficiente de coincidencia
  • Coeficiente de dados
  • Coeficiente de Jaccard o coeficiente de Jaccard o coeficiente de Tanimoto
  • Coeficiente de superposición
  • Distancia euclidiana o distancia L2
  • Similitud coseno
  • Distancia variable
  • Distancia Hellinger o distancia Bhattacharyya
  • Radio de información (divergencia Jensen-Shannon)
  • Significado armonico
  • Divergencia oblicua
  • Probabilidad de Confusión
  • Tau
  • Métrico Fellegi y Sunters (SFS)
  • TFIDF o TF / IDF
  • FastA
  • BlastP
  • Partidos máximos
  • q-gram
  • Algoritmos de Ukkonen