Ich habe das folgende Problem zur Hand: Ich habe eine sehr lange Liste von Wörtern, möglicherweise Namen, Nachnamen usw. Ich muss diese Wortliste so gruppieren, dass ähnliche Wörter, zum Beispiel Wörter mit ähnlichem Bearbeitungsabstand (Levenshtein), in der Liste angezeigt werden gleichen Cluster. Zum Beispiel sollten "Algorithmus" und "Alogrithmus" hohe Chancen haben, im selben Cluster zu erscheinen.
Mir sind die klassischen, nicht überwachten Clustering-Methoden wie k-means clustering und EM clustering in der Literatur zur Mustererkennung bekannt. Das Problem hierbei ist, dass diese Methoden auf Punkten arbeiten, die sich in einem Vektorraum befinden. Ich habe hier Saitenworte zur Hand. Es scheint, dass die Frage, wie man Strings in einem numerischen Vektorraum darstellt und das "Mittel" von String-Clustern berechnet, nach meinen bisherigen Umfrageanstrengungen nicht ausreichend beantwortet ist. Ein naiver Ansatz, um dieses Problem anzugehen, wäre die Kombination von k-Means-Clustering mit Levenshtein-Abstand, aber die Frage bleibt immer noch "Wie soll man" Mittel "von Zeichenketten darstellen?". Es gibt ein Gewicht, das als TF-IDF-Gewicht bezeichnet wird, aber es scheint, dass es hauptsächlich mit dem Bereich des "Textdokument" -Clusterings zusammenhängt, nicht mit dem Clustering einzelner Wörter. http://pike.psu.edu/cleandb06/papers/CameraReady_120.pdf
Meine Suche in diesem Bereich dauert noch an, aber ich wollte auch hier Anregungen bekommen. Was würden Sie in diesem Fall empfehlen, kennt jemand Methoden für diese Art von Problem?
It seems that there are some special string clustering algorithms
. Wenn Sie aus einem bestimmten Text-Mining-Bereich stammen und nicht aus Statistiken / Datenanalysen, ist diese Aussage berechtigt. Wenn Sie jedoch lernen, Clustering Branch zu lernen, werden Sie feststellen, dass es keine "speziellen" Algorithmen für String-Daten gibt. Das "Besondere" ist, wie Sie solche Daten vorverarbeiten, bevor Sie sie in eine Clusteranalyse eingeben.