多くのアプリケーションシナリオでは、テキストに表示される各単語の頻度を分析する必要があります。一般的な慣行は、単語の頻度をカウントし、単語クラウドマップを生成することです。単語クラウドマップは、テキストの最も一般的なキーワードをすばやく識別するのに役立つ直感的な表示方法です。この記事では、PHPのarray_count_values関数を使用して単語頻度をカウントし、単語クラウドグラフに必要なデータを生成する方法を紹介します。
まず、いくつかの概念を理解する必要があります。
単語の頻度統計:つまり、各単語がテキストに表示される回数をカウントします。
単語クラウド図:異なるフォントサイズと色は、単語の頻度を表します。周波数が高いほど、フォントが大きくなるほど、色が明るくなります。
PHPでは、 array_count_values関数は、各値がArrayに表示される回数を簡単にカウントできます。これにより、単語の頻度を示すのに非常に適しています。
まず、PHPの内蔵文字列処理関数を使用して分割できるテキストがあるとして、単語の配列を生成します。たとえば、 str_word_count関数を使用してテキストで単語を抽出できます。
$text = "PHP広く使用されているオープンソーススクリプト言語です。PHP主な機能はシンプルです、フレキシブル、学ぶのは簡単です。";
$words = str_word_count($text, 1); // 1 その返品ワード配列を示します
str_word_countテキストを単一の単語に分割し、すべての単語を含む配列を返します。
次に、 array_count_valuesを使用して、各単語が配列に表示される回数をカウントできます。
$word_count = array_count_values($words);
print_r($word_count);
array_count_values連想配列を返し、キーは単語であり、値は単語がテキストに表示される回数です。例えば:
Array
(
[PHP] => 2
[はい] => 2
[ある種] => 1
[広く] => 1
[使用] => 1
[の] => 2
[オープンソース] => 1
[脚本] => 1
[言語] => 1
[主要] => 1
[特徴] => 1
[簡潔] => 1
[フレキシブル] => 1
[簡単] => 1
[勉強] => 1
)
単語クラウドマップのデータには通常、単語とその頻度が含まれています。単語クラウドマップを生成するには、単語とその頻度情報を整理する必要があります。このデータは、フロントエンドとの相互作用のためにJSON形式で保存できます。
$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は配列をJSON形式に変換し、返されたデータをフロントエンドJavaScriptコードで使用して単語クラウド図を生成できます。
次に、生成された単語周波数データをAPIを介してフロントエンドに渡すことができます。APIは、 WordCloud.jsなどのJavaScriptライブラリを使用してWordクラウドマップをレンダリングします。インターフェイスを介してPHPバックエンドからフロントエンドにデータを返したと仮定すると、Frontend JavaScriptはこの方法でデータを処理し、単語クラウド図を生成できます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>単語クラウド図表示</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>
この例では、 WordCloud.jsは、PHPバックエンドから取得した単語周波数データに基づいて、単語クラウドグラフを生成します。各単語の発生頻度は、図の表示サイズを決定します。
PHPのarray_count_values関数を使用することにより、テキストの単語頻度を簡単にカウントし、統計を単語クラウドグラフに適したデータ形式に変換できます。フロントエンドWordCloud.jsおよびその他のライブラリを組み合わせることにより、Word Cloudグラフデータを表示し、ユーザーに直感的なテキスト分析ツールを提供できます。
この記事が、PHPでの単語頻度統計をすばやく開始し、Wordクラウド図の関連操作を生成するのに役立つことを願っています。ご質問がある場合は、メッセージを残して議論してください!