Ich habe ein Programm erstellt, um einige Textdateien zu parsen und die Anzahl der Wörter zu zählen und sie dann absteigend zu sortieren. Das funktioniert großartig, aber ich möchte es auf ein anderes Level bringen.Finden Sie passende Sätze in einer Gruppe von Wörtern
Ich möchte in der Lage sein, irgendwelche Wortphrasen im Text zu finden, der wiederholt, und ich bin nicht sicher, wie man es macht.
Mein aktueller Algorithmus ist es, zuerst den Text aufgeteilt in Worte dann eine Hash-Tabelle mit dem Wort erstellen und wie dieser Wert zählen: key
hash:
"word":3,
"test":12,
.....
dann nur ich irgendwie die auf Schlüssel stützt und Ausgang und Ich bin fertig.
Lasst uns sagen, dass ich dieses alles Gute zum Geburtstag Lied:
Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear (name)
Happy Birthday to You.
From good friends and true,
From old friends and new,
May good luck go with you,
And happiness too.
Alternative ending:
How old are you?
How old are you?
How old, How old
How old are you?
Ich kann das Wort zählt ganz gut erhalten, aber was ist, wenn ich wollte alle Sätze passen?
beispielsweise auf 6 Wortphrase könnte gesagt werden zweimal abgestimmt werden:
happy birthday to you happy birthday
ein Paar 5 Wortphrase match:
birthday to you happy birthday
happy birthday to you happy
einig 4 Wortphrase übereinstimmt
how old are you
happy birthday to you
to you happy birthday
how old how old
birthday to you happy
und so weiter bis zu zwei Wortphrasen, die übereinstimmen.
Ich bin mehr besorgt über die Übereinstimmung der gesamten Phrase sogar über die Zeilen, weil ich sowieso über die Ausgabe für die weitere Verarbeitung schauen müssen.
Welche Art von Algorithmus würde mir erlauben, dieses Ziel zu erreichen?