Ho a portata di mano il seguente problema: ho un lungo elenco di parole, possibilmente nomi, cognomi, ecc. Devo raggruppare questo elenco di parole, in modo che parole simili, ad esempio parole con una simile modifica (Levenshtein) compaiano nella stesso cluster. Ad esempio "algoritmo" e "alogritmo" dovrebbero avere alte probabilità di apparire nello stesso cluster.
Sono ben consapevole dei classici metodi di clustering senza supervisione come il clustering k-mean, il clustering EM nella letteratura del Pattern Recognition. Il problema qui è che questi metodi funzionano su punti che risiedono in uno spazio vettoriale. Ho parole di stringhe alla mia mano qui. Sembra che la domanda su come rappresentare le stringhe in uno spazio vettoriale numerico e calcolare i "mezzi" dei cluster di stringhe non abbia una risposta sufficiente, secondo i miei sforzi di indagine fino ad ora. Un approccio ingenuo per attaccare questo problema sarebbe quello di combinare i cluster di k-medie con la distanza di Levenshtein, ma rimane ancora la domanda "Come rappresentare" significa "di stringhe?". Esiste un peso chiamato peso TF-IDF, ma sembra che sia principalmente correlato all'area del clustering dei "documenti di testo", non al clustering di singole parole. http://pike.psu.edu/cleandb06/papers/CameraReady_120.pdf
La mia ricerca in quest'area continua ancora, ma volevo anche prendere idee da qui. Cosa consiglieresti in questo caso, qualcuno è a conoscenza di metodi per questo tipo di problema?
It seems that there are some special string clustering algorithms
. Se provieni da un campo specifico di mining del testo, non da statistiche / analisi dei dati, questa dichiarazione è giustificata. Tuttavia, se impari a conoscere il ramo del cluster così com'è, troverai che non esistono algoritmi "speciali" per i dati delle stringhe. Lo "speciale" è come pre-elaborare tali dati prima di immetterli in un'analisi del cluster.