2017-07-27 5 views
1

Ich würde gerne testen, ob eine Reihe von Dokumenten einige besondere Ähnlichkeit haben, auf einem Diagramm mit jeder Vektordarstellung, zusammen mit einem Text-Dataset von anderen Dokumenten. Ich denke, dass sie zusammen in einer Visualisierung sein werden.Dokument Clustering und Visualisierung

Die Lösung besteht darin, Doc2vec zu verwenden, um den Vektor für jedes Dokument zu berechnen und es zu plotten? Kann es unbeaufsichtigt gemacht werden? Welche Python-Bibliothek sollte ich verwenden, um diese schönen 2D- und 3D-Darstellungen von Word2vec zu erhalten?

Antwort

0

Nicht sicher, was Sie fragen, aber wenn Sie eine Möglichkeit haben möchten, um zu überprüfen, ob Vektoren vom selben Typ sind, können Sie K-Means verwenden. K-Means bilden eine Nummer K des Clusters aus einer Vektorliste. Wenn Sie also ein gutes K wählen (nicht zu niedrig, damit es nach etwas sucht, aber nicht zu hoch, damit es nicht zu diskriminierend ist), könnte es funktionieren.

K-Means arbeitet grob auf diese Weise:

init_center(K) # randomly set K vector that will be the center of your cluster 

while not converge(): # This one is tricky as you can find a lot of way to check for the convergence, the easiest is to check if your center has moved since the last itteration 

    associate_vector() # Here you associate all the vectors to the closest center 

    re_calculate_center() # And now you put the center at the... well center of their point, you can do that just by doing the mean of all the vector of the cluster. 

Dieses gif wahrscheinlich klarer ist als ich: Gif K-mean

und diesen Artikel (wo diese gif aus ist) ist wirklich klarer als ich selbst wenn er hier für java spricht: https://picoledelimao.github.io/blog/2016/03/12/multithreaded-k-means-in-java/