Exemplo n.º 1
0
 /**
  * @dataProvider classifyDataProvider
  */
 public function testClassify($expectedLabel, $string)
 {
     $classifier = new Classifier(new WhitespaceAndPunctuationTokenizer());
     $data = $this->trainingData();
     foreach ($data as $row) {
         list($label, $text) = $row;
         $classifier->train($label, $text);
     }
     $result = $classifier->classify($string);
     reset($result);
     $topMatch = key($result);
     $this->assertEquals($expectedLabel, $topMatch);
 }
Exemplo n.º 2
0
<?php

/*
	Search Engine 0.0.1a (09/01/16)
	Powered by a Naive-Bayes Classification Algorithm, need to find something
	to do something like this but better.
	( ͡° ͜ʖ ͡°)
*/
require_once '../../vendor/autoload.php';
require_once '../model/user.php';
require_once '../model/secret.php';
use Fieg\Bayes\Classifier;
use Fieg\Bayes\Tokenizer\WhitespaceAndPunctuationTokenizer;
$tokenizer = new WhitespaceAndPunctuationTokenizer();
$classifier = new Classifier($tokenizer);
$ignore_user = ['find ', 'encuentra ', 'get ', 'usuario ', 'secretos de ', 'secrets of'];
$ignore_cat = ['show ', 'category ', 'categoria ', 'muestrame ', 'secretos de ', 'secrets from '];
for ($i = 0; $i < count($ignore_user); $i++) {
    $classifier->train('search_user', $ignore_user[$i]);
}
for ($i = 0; $i < count($ignore_cat); $i++) {
    $classifier->train('search_category', $ignore_cat[$i]);
}
$query = $_POST['query'];
$result = $classifier->classify($query);
if ($result["search_user"] > $result["search_category"]) {
    $result = $query;
    for ($i = 0; $i < count($ignore_user); $i++) {
        $result = str_replace($ignore_user[$i], "", $result);
    }
    $u = new User();