Sto scrivendo un'interfaccia utente desktop (.Net WinForms) per aiutare un fotografo a ripulire i suoi metadati dell'immagine. C'è una lista di 66k + frasi. Qualcuno può suggerire un buon componente open source/free. NET che posso usare che utilizza una sorta di algoritmo per identificare i potenziali candidati per il consolidamento? Per esempio ci possono essere due o più voci che sono in realtà la stessa parola o frase che differiscono solo per spazi vuoti o punteggiatura o anche lieve errore ortografico. In ultima analisi, l'applicazione si baserà sull'azione dell'utente per consolidare le frasi, ma avere un modo efficace per individuare automaticamente i potenziali candidati si rivelerà inestimabile.Corrispondenza testo fuzzy C#
risposta
Lasciate che vi presenti la formula della distanza di Levenshtein. E 'impressionante:
http://en.wikipedia.org/wiki/Levenshtein_distance
In teoria dell'informazione e informatica, la distanza Levenshtein è una stringa di metrica per misurare la quantità di differenza tra due sequenze. Il termine modifica distanza è spesso usato per riferirsi specificamente alla distanza di Levenshtein.
Personalmente l'ho utilizzato in un ambiente sanitario, dove i nomi dei provider sono stati controllati per i duplicati. Usando il processo Levenshtein, abbiamo dato loro una valutazione di confidenza e gli abbiamo permesso di determinare se si trattava di un vero duplicato o qualcosa di unico.
Ecco un'implementazione in C#: http://blogs.msdn.com /b/toub/archive/2006/05/05/590814.aspx –
Stavo per suggerire di usare soundex ([http://www.techrepublic.com/blog/programming-and-development/how-do-i- attuare-the-soundex-funzione-in-c/656] (http://www.techrepublic.com/blog/programming-and-development/how-do-i-implement-the-soundex-function-in-c/656)). Dopo aver applicato soundex, è possibile ordinare le stringhe in base ai codici soundex che producono e contrassegnare i codici equivalenti per la revisione da parte dell'utente. Penso che il risultato finale potrebbe essere simile all'uso della distanza di levenshtein? – hmqcnoesy
Una cosa con soundex è che è inutile quando si controllano stringhe che contengono solo cifre. – jamiebarrow
- 1. Obiettivo-c: corrispondenza ricerca fuzzy veloce
- 2. Numeri di corrispondenza fuzzy
- 3. Corrispondenza fuzzy bit
- 4. Corrispondenza logica fuzzy
- 5. Lucene.NET (corrispondenza fuzzy con stringhe)
- 6. testo Fuzzy in NSStatusItem
- 7. Clang per parsing fuzzy C++
- 8. Fusione attraverso la corrispondenza fuzzy di variabili in R
- 9. espressioni regolari Fuzzy
- 10. fuzzy matching con filtro soglia C#
- 11. Algoritmo Fuzzy Date in Objective-C
- 12. Parsing date fuzzy in Haskell (o C)
- 13. C#: Pixel larghezza corrispondenza testo visualizzato in un browser
- 14. Corrispondenza testo arabo con regex
- 15. elasticsearch fuzzy matching max_expansions & min_similarity
- 16. Ricerca fuzzy JavaScript
- 17. Ricerca fuzzy in Solr
- 18. IndexedDB Fuzzy Search
- 19. Utilizzo di JS/jQuery per eseguire la ricerca stringa/corrispondenza fuzzy?
- 20. Fuzzy Data Time Picker Control in C# .NET?
- 21. Corrispondenza testo multilinea con espressione regolare
- 22. C# trova corrispondenza esatta nella stringa
- 23. Corrispondenza regolare da un dizionario in C#
- 24. Lucene Fuzzy Match on Phrase invece di Single Word
- 25. Fuzzy String Ricerca con Whoosh in Python
- 26. Cloudsearch termini e frasi Fuzzy
- 27. ricerca php (fuzzy) corrispondente a
- 28. data Fuzzy parsing con Java
- 29. Perdita/ricerca fuzzy con LINQ
- 30. Confronto screenshot fuzzy con selenio
Vedere qui per ulteriori informazioni sulla corrispondenza del testo fuzzy: http://stackoverflow.com/questions/5859561/getting-the-closest-string-match – jordanhill123