Position actuelle: Accueil> Derniers articles> Comment utiliser les résultats statistiques pour générer des données de graphe de cloud de mots?

Comment utiliser les résultats statistiques pour générer des données de graphe de cloud de mots?

M66 2025-06-07

Dans de nombreux scénarios d'application, nous devons analyser la fréquence de chaque mot apparaissant dans un texte. La pratique courante consiste à compter la fréquence des mots et à générer des cartes de nuages ​​de mots. Word Cloud Map est une façon intuitive d'affichage qui peut nous aider à identifier rapidement les mots clés les plus courants dans le texte. Cet article introduira comment utiliser la fonction Array_Count_Values ​​de PHP pour compter la fréquence des mots et générer les données requises pour les graphiques de cloud Word.

1. Concepts de base

Tout d'abord, nous devons comprendre plusieurs concepts:

  • Statistiques de fréquence des mots : c'est-à-dire compter le nombre de fois que chaque mot apparaît dans le texte.

  • Diagramme de nuages ​​de mots : différentes tailles de police et couleurs représentent la fréquence du mot. Plus la fréquence est élevée, plus la police est grande, plus la couleur est lumineuse.

Dans PHP, la fonction array_count_values ​​peut facilement compter le nombre de fois que chaque valeur apparaît dans un tableau. Cela le rend très approprié pour indiquer la fréquence des mots.

2. Implémentation du code

2.1 Obtenez du texte et divisez-le en mots

Tout d'abord, disons que nous avons un morceau de texte que nous pouvons diviser en utilisant la fonction de traitement de chaîne intégrée de PHP pour générer un tableau de mots. Par exemple, nous pouvons utiliser la fonction STR_WORD_COUNT pour extraire des mots dans le texte.

 $text = "PHPC'est une langue de script open source largement utilisée。PHPLa caractéristique principale est la simplicité、flexible、Facile à apprendre。";
$words = str_word_count($text, 1);  // 1 Indique ce tableau de mots retour

STR_WORD_COUNT divise le texte en mots uniques et renvoie un tableau contenant tous les mots.

2.2 Fréquence des mots statistiques

Ensuite, nous pouvons utiliser array_count_values ​​pour compter le nombre de fois que chaque mot apparaît dans le tableau.

 $word_count = array_count_values($words);
print_r($word_count);

array_count_values ​​renvoie un tableau associatif, la clé est le mot, et la valeur est le nombre de fois que le mot apparaît dans le texte. Par exemple:

 Array
(
    [PHP] => 2
    [Oui] => 2
    [Une sorte de] => 1
    [largement] => 1
    [utiliser] => 1
    [de] => 2
    [Open source] => 1
    [Scénario] => 1
    [langue] => 1
    [principal] => 1
    [Caractéristiques] => 1
    [concis] => 1
    [flexible] => 1
    [facile] => 1
    [étude] => 1
)
2.3 Préparer les données de la carte des nuages ​​de mots

Les données d'une carte de cloud de mots contient généralement des mots et leur fréquence. Afin de générer une carte de cloud de mots, nous devons organiser les mots et leurs informations de fréquence. Ces données peuvent être stockées au format JSON pour l'interaction avec le front-end.

 $word_cloud_data = [];
foreach ($word_count as $word => $count) {
    $word_cloud_data[] = [
        'text' => $word,
        'weight' => $count
    ];
}

$json_data = json_encode($word_cloud_data);

JSON_ENCODE convertira le tableau au format JSON, et les données renvoyées peuvent être utilisées par le code JavaScript frontal pour générer des diagrammes de cloud Word.

2.4 Diagramme de nuages ​​de mots rendu

Ensuite, nous pouvons transmettre les données de fréquence de mots générées à la frontale via l'API, qui utilise des bibliothèques JavaScript telles que WordCloud.js pour rendre les cartes de cloud Word. En supposant que vous avez renvoyé les données du backend PHP vers le frontend via l'interface, le frontend JavaScript peut traiter les données de cette manière et générer un diagramme de cloud Word:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Affichage du diagramme de nuages ​​de mots</title>
    <script src="https://m66.net/wordcloud.js"></script>
</head>
<body>
    <div id="wordcloud"></div>

    <script>
        const wordCloudData = <?php echo $json_data; ?>;

        WordCloud(document.getElementById('wordcloud'), {
            list: wordCloudData.map(item => [item.text, item.weight])
        });
    </script>
</body>
</html>

Dans cet exemple, WordCloud.js génère un graphique de cloud de mots basé sur les données de fréquence des mots obtenues à partir du backend PHP. La fréquence d'occurrence de chaque mot détermine sa taille d'affichage sur la figure.

3. Résumé

En utilisant la fonction Array_Count_Values ​​de PHP, nous pouvons facilement compter la fréquence des mots dans le texte et convertir les statistiques en un format de données adapté aux graphiques de cloud de mots. En combinant le frontal wordcloud.js et d'autres bibliothèques, nous pouvons afficher les données de graphe de cloud Word, offrant aux utilisateurs un outil d'analyse de texte intuitif.

J'espère que cet article peut vous aider à démarrer rapidement avec les statistiques de fréquence de mots en PHP et générer des opérations connexes pour les diagrammes de cloud de mots. Si vous avez des questions, veuillez laisser un message à discuter!