2009-08-27 6 views
2

Quelqu'un sait-il d'une fonction PHP disponible qui prend un morceau de texte, par exemple quelques centaines de mots et produit un tableau de mots-clés? C'est à dire. les termes uniques les plus importants et les plus fréquents?Mots-clés de la chaîne

Merci Philip

Répondre

7

Il n'existe pas une telle fonction (serait magique si elle a fait), mais de commencer quelque chose hors, vous pouvez effectuer les opérations suivantes:

  1. Split le texte à l'espace, production un tableau de mots.
  2. Supprimer stop-words et ponctuation et symboles inutiles (éventuellement en utilisant regular expressions - Voir preg_replace).
  3. compter le nombre d'occurrences de chaque mot dans la matrice restante, et le tri par ordre de fréquence (si le mot le plus fréquemment se produisant est au premier décalage, à savoir $words[0]).
  4. Utilisez array_unique pour supprimer les doublons , produisant ainsi un tableau de mots-clés uniques classés par fréquence d'occurrence.
+0

Vous me battez à elle. –

0

Quelque chose comme cela pourrait faire l'affaire:

$thestring = 'the most important, frequently occuring unique terms?'; 
$arrayofwords = explode(" ", $thestring); 
echo print_r($arrayofwords); 

Aussi vous pouvez remplacer la virgule « » pour un blanc, vous obtenez des mots-clés propres.

$thestring = 'the most important, frequently occuring unique terms?'; 
$cleaned_string = str_replace(",", "", "$thestring"); 
$arrayofwords = explode(" ", $cleaned_string); 
echo print_r($arrayofwords); 
Questions connexes