bayes
: Ein Naive- bayes -Klassifikator für PHP bayes
nimmt ein Dokument (Textstück) und teilt Ihnen mit, zu welcher Kategorie dieses Dokument gehört.
Diese Bibliothek wurde von einer NodeJS-Bibliothek unter https://github.com/ttezel/bayes portiert
Sie können damit beliebige Textinhalte in beliebige Kategorien kategorisieren. Zum Beispiel:
composer require niiknow/ bayes
$ classifier = new Niiknow bayes ();
// teach it positive phrases
$ classifier -> learn ( ' amazing, awesome movie!! Yeah!! Oh boy. ' , ' positive ' );
$ classifier -> learn ( ' Sweet, this is incredibly, amazing, perfect, great!! ' , ' positive ' );
// teach it a negative phrase
$ classifier -> learn ( ' terrible, shitty thing. Damn. Sucks!! ' , ' negative ' );
// now ask it to categorize a document it has never seen before
$ classifier -> categorize ( ' awesome, cool, amazing!! Yay. ' );
// => 'positive'
// serialize the classifier's state as a JSON string.
$ stateJson = $ classifier -> toJson ();
// load the classifier back from its JSON representation.
$ classifier -> fromJson ( $ stateJson );
$classifier = new Niiknow bayes ([options])
Gibt eine Instanz eines Naive- bayes -Klassifikators zurück.
Übergeben Sie ein optionales options
, um die Instanz zu konfigurieren. Wenn Sie in options
eine tokenizer
-Funktion angeben, wird diese als Tokenizer der Instanz verwendet.
$classifier->learn(text, category)
Bringen Sie Ihrem Klassifikator bei, zu welcher category
der text
gehört. Je mehr Sie Ihrem Klassifikator beibringen, desto zuverlässiger wird er. Das Gelernte wird genutzt, um neue Dokumente zu identifizieren, die es zuvor noch nicht gesehen hat.
$classifier->categorize(text)
Gibt die category
zurück, zu der text
seiner Meinung nach gehört. Seine Beurteilung basiert auf dem, was Sie ihm mit .learn() beigebracht haben.
$classifier->probabilities(text)
Extrahieren Sie die Wahrscheinlichkeiten für jede bekannte Kategorie.
$classifier->toJson()
Gibt die JSON-Darstellung eines Klassifikators zurück.
$classifier->fromJson(jsonStr)
Gibt eine Klassifikatorinstanz aus der JSON-Darstellung zurück. Verwenden Sie dies mit der JSON-Darstellung, die Sie von $classifier->toJson()
erhalten haben.
Sie können im Konstruktor Ihre eigene Tokenizer-Funktion übergeben. Beispiel:
// array containing stopwords
$stopwords = array("der", "die", "das", "the");
// escape the stopword array and implode with pipe
$s = '~^W*('.implode("|", array_map("preg_quote", $stopwords)).')W+b|bW+(?1)W*$~i';
$options['tokenizer'] = function($text) use ($s) {
// convert everything to lowercase
$text = mb_strtolower($text);
// remove stop words
$text = preg_replace($s, '', $text);
// split the words
preg_match_all('/[[:alpha:]]+/u', $text, $matches);
// first match list of words
return $matches[0];
};
$classifier = new niiknow bayes ($options);