beachten Sie die folgenden Strings:Sortierung String basierend auf Ähnlichkeiten
- er llo
- Abschied
- hallo
- = (Auf Wiedersehen)
- (er) (llo)
- Abschied
- Helium
Ich versuche, diese so zu sortieren, dass ähnliche Wörter zusammen kommt, ich weiß
alphanumerical sorting
keine Option- Entfernen Sonderzeichen ist
",-_ and etc
dann ist sicherlich hilfreich zu vergleichen, aber Ergebnisse nicht sei so gut wie ich hoffe.
HINWEIS:
könnte es einige unterschiedliche gewünschte ouput dafür sein, eine davon ist:
SOLL OUTPUT:
- hallo
- er llo
- (er) (llo)
- Helium
- Abschied
- Abschied
- = (Auf Wiedersehen)
so meine Frage ist, dass, wenn es ein Java-Paket, das Strings vergleicht und sie schließlich die Suchergebnisse basierend darauf.
Ich habe von Begriffen wie n-gram
und skip-gram
gehört, aber sie nicht ganz verstanden. Ich bin mir nicht einmal sicher, ob sie mir überhaupt nützlich sein können.
UPDATE: Finden von Ähnlichkeiten ist sicherlich ein Teil meiner Frage, aber das Hauptproblem ist der sortierende Teil.
mögliche Duplikate von [Similarity String Vergleich in Java] (http://stackoverflow.com/questions/955110/similarity-string-comparison -in-java) – dognose
Vielleicht ist der Bereich, den Sie suchen, NLP, Natural Language Processing, wie Sie 'Hallo' (' Helium') und 'Auf Wiedersehen' in Verbindung erwähnen. Der Soundex-Algorithmus ist etabliert, hilft aber nicht mit Leerzeichen. –
@dognose thx für den Link, ich kann es sehr nützlich zum Vergleich sehen. aber dieser Ansatz begrenzt die Sortierung. Wie kann es zum Sortieren verwendet werden? – nafas