Piszę interfejs użytkownika pulpitu (.Net WinForms), aby pomóc fotografowi w oczyszczeniu jego metadanych obrazu. Jest lista 66k + fraz. Czy ktoś może zaproponować dobry open source/bezpłatny składnik .NET, który mogę wykorzystać, który wykorzystuje jakiś algorytm do identyfikacji potencjalnych kandydatów do konsolidacji? Na przykład mogą istnieć dwie lub więcej pozycji, które w rzeczywistości są tym samym słowem lub frazą, które różnią się jedynie odstępami, interpunkcją lub nawet niewielką błędną pisownią. Aplikacja ostatecznie będzie polegać na tym, że użytkownik będzie działał na rzecz konsolidacji fraz, ale posiadanie skutecznego sposobu automatycznego wyszukiwania potencjalnych kandydatów okaże się nieocenione.Rozmazany dopasowywanie tekstu C#
Odpowiedz
Pozwolę sobie przedstawić Państwu formułę odległości Levenshtein. To jest niesamowite:
http://en.wikipedia.org/wiki/Levenshtein_distance
W teorii informacji i informatyki, odległość Levenshteina jest ciągiem metryki do pomiaru wysokości różnicy pomiędzy dwiema sekwencjami. Określenie odległość edycji jest często używane w odniesieniu do odległości Levenshteina.
Osobiście używałem tego w placówce służby zdrowia, w której nazwy dostawców zostały sprawdzone pod kątem duplikatów. Korzystając z procesu Levenshtein, daliśmy im ocenę wiarygodności i pozwoliliśmy im ustalić, czy był to prawdziwy duplikat czy coś wyjątkowego.
Oto implementacja w C#: http://blogs.msdn.com /b/toub/archive/2006/05/05/590814.aspx –
Zaproponowałem użycie soundex ([http://www.techrepublic.com/blog/programming-and-development/how-do-i- implement-the-soundex-function-in-c/656] (http://www.techrepublic.com/blog/programming-and-development/how-do-i-implement-the-soundex-function-incc/656)). Po zastosowaniu soundexu można sortować ciągi znaków za pomocą wygenerowanych kodów dźwiękowych i opatrzyć odpowiednimi kodami do sprawdzenia przez użytkownika. Myślę, że wynik końcowy może być podobny do tego, jaki jest dystans dzielący nas od levenshteina? – hmqcnoesy
Jedną z rzeczy z soundex jest to, że jest bezużyteczne podczas sprawdzania ciągów zawierających tylko cyfry. – jamiebarrow
- 1. Obraz rozmazany (NSTextAttachment) na NSAttributedString
- 2. C# 7 Błąd kompilatora - Dopasowywanie wzorca
- 3. Jak naprawić rozmazany obraz na skali transformacji
- 4. Przycięty obraz jest rozmazany w Androidzie
- 5. Cel c - Wcięcie tekstu
- 6. Przetwarzanie tekstu w C
- 7. Dopasowywanie sekwencji w większym wektorze
- 8. Rzadkie dopasowywanie obrazu w iOS
- 9. Dopasowywanie ciągów: gcc kontra CPython
- 10. Algorytm różnicowy C# dla tekstu
- 11. Kolorowanie tekstu w RichtextBox, C#
- 12. C# - Regex - Dopasowywanie nazw plików do określonego wzorca nazewnictwa
- 13. Dynamiczne dopasowywanie wzorów
- 14. Dopasowywanie grup w Pythonie
- 15. Dopasowywanie iframe wewnątrz div
- 16. Dopasowywanie co sekundę
- 17. Dopasowywanie wzorców - implementacja
- 18. Dopasowywanie szablonów z obrotem
- 19. Dopasowywanie osi skal
- 20. Dopasowywanie rozmytych ciągów znaków
- 21. Dopasowywanie RegEx między znakami
- 22. Dopasowywanie wzorców SQL
- 23. Dopasowywanie koloru podświetlenia słowa kluczowego w edytorze
- 24. Regex: Dopasowywanie 4-cyfrowych w słowach
- 25. .vg obraz rozmazany przy określonych poziomach powiększenia w Chrome
- 26. Rozwiązanie cofania do ćwiczenia programistycznego (dopasowywanie rur)
- 27. Dopasowywanie ciągów znaków w kolumnach w R
- 28. Dopasowywanie wzorców do rekordów w Clojure
- 29. Dopasowywanie ciągów na dwóch kolumnach w [R]
- 30. Dopasowywanie typów va_list między kompilatorami
Zobacz tutaj, aby uzyskać więcej informacji na temat dopasowania tekstu rozmytego: http://stackoverflow.com/questions/5859561/getting-the-closest-string-match – jordanhill123