C'est bizarre, alors soyez patient pendant que j'essaie d'expliquer.Afficher le nombre de mots/nuage d'étiquettes en proportion
Problème de base: J'ai une chaîne massive - elle peut être de différentes longueurs selon l'utilisateur. Mon travail consiste à acquérir cette chaîne massive en fonction de l'utilisateur, puis à l'envoyer à l'autre logiciel pour créer un nuage de tags. Si la vie était facile pour moi, je pourrais simplement envoyer le tout. Cependant, le logiciel de nuage de tags n'acceptera qu'une chaîne de 1000 mots, je dois donc travailler sur ma chaîne pour envoyer les mots les plus importants. Ma première pensée a été de compter chaque occurrence des mots, et de jeter tout cela dans un tableau avec le nombre de chaque mot, puis trier.
array(517) (
"We" => integer 4
"Five" => integer 1
"Ten's" => integer 1
"best" => integer 2
"climbing" => integer 3
(etc...)
Ici, je crée une nouvelle chaîne et crache chaque mot fois son nombre. Une fois que la chaîne totale atteint 1000 mots, je m'arrête. Cela crée un problème. Supposons que le mot «pomme» s'affiche 900 fois et que le mot «chat» s'affiche 100 fois. Le nuage de mots résultant ne comprendrait que deux mots.
Mon idée est de cracher en quelque sorte les mots à un certain type de rapport aux autres mots. Mes tentatives jusqu'ici ont échoué sur différents ensembles de données où le rapport n'est pas grand - particulièrement quand il y a beaucoup de mots à "1", rendant ainsi le GCD très bas. Je pense qu'il s'agit d'un problème mathématique simple que je ne peux pas comprendre, alors je me tourne vers l'oracle qu'est stackoverflow.
merci d'avance.
Vous avez raison, c'est bizarre. Pouvez-vous définir plus précisément le problème, y compris toutes les limites (c'est-à-dire le nombre de mots dans la chaîne d'origine) et peut-être pourquoi vous devez envoyer une chaîne à l'autre partie du logiciel? Il me semble que si vous avez au plus 1000 mots dans la chaîne d'origine, vous pouvez envoyer cette chaîne, et si vous avez plus de 1000 mots dans la chaîne originale, vous pourriez vous retrouver avec 1001+ mots uniques. Je devine que je ne comprends pas le problème ... – Kendrick
édité. laissez-moi savoir si ça aide. – jmccartie
si je comprends bien votre chaîne 1000 caractères doit inclure des doublons? – Jack