2009-08-27 2 views
2

Kennt jemand eine verfügbare PHP-Funktion, die ein Stück Text mit ein paar hundert Wörtern Länge dauert und ein Array von Schlüsselwörtern produziert? Ie. die wichtigsten, häufig vorkommenden einzigartigen Begriffe?Schlüsselwörter aus String

Dank Philip

Antwort

7

Eine solche Funktion (wäre magisch, wenn es tat) existiert, aber etwas weg zu beginnen, könnten Sie Folgendes tun:

  1. Split der Text in den Raum, Herstellung eine Reihe von Wörtern.
  2. Entfernen Sie stop-words und unnötige Interpunktion und Symbole (möglicherweise mit regular expressions - Siehe preg_replace).
  3. Zähle die Anzahl der Vorkommen von jedes Wort in dem verbleibenden Array und sortieren sie in der Reihenfolge der Häufigkeit (so dass die am häufigsten vorkommende Wort an der ersten versetzt ist, d.h. $words[0]).
  4. Verwenden Sie array_unique, um die Duplikate zu entfernen und so ein Array von eindeutigen Stichwörtern, geordnet nach Häufigkeit des Auftretens.
+0

Sie haben mich dazu geschlagen. –

0

So etwas könnte den Trick tun:

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

auch Sie Ersatz das Komma "" für einen Rohling kann, so dass Sie sauber Keywords zu erhalten.

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