Après avoir regardé autour de ce site pour des problèmes similaires, je trouve ceci: http://math.nist.gov/javanumerics/jama/ et ceci: http://sujitpal.blogspot.com/2008/09/ir-math-with-java-similarity-measures.htmlCosinus similarité des vecteurs, avec <O (n^2) la complexité
, il semble toutefois ces exécutés dans O (n^2). J'ai fait quelques regroupements de documents et j'ai remarqué que ce niveau de complexité n'était pas réalisable lorsque l'on traitait même de petits ensembles de documents. Étant donné que pour le produit scalaire, nous avons seulement besoin des termes vectoriels contenus dans les deux vecteurs, il devrait être possible de placer les vecteurs dans un arbre et donc de calculer le produit scalaire avec n complexité n, où n est le plus petit nombre de termes uniques. 1 des 2 documents.
Ai-je raté quelque chose? Y a-t-il une bibliothèque Java qui fait cela?
grâce
Vous n'allez pas avoir beaucoup de chance d'attendre que les gens lisent ces deux pages. Peut-être pourriez-vous expliquer plus clairement votre problème - pourquoi multipliez-vous les vecteurs (et que voulez-vous dire, O (n^2)?) Le calcul du point-produit de deux vecteurs n-dimensionnels est trivialement O (n), le paquet de vecteur pourrait visser si mal) –
Il est le produit de point de calcul pour chaque * paire * de documents. Cela le rend quadratiquement complexe. – Rekin
BlueRaja - Danny Pflughoeft, ce problème concerne la multiplication de vecteurs de très grande dimension mais très clairsemés; et n n'est pas dimension mais compte des éléments non nuls. –