A simple, light and efficient short-text classification tool based on Liblinear for PHP.
Inspired by Python Library TextGrocery.
For Lemmarizer words, used php-lemmatizer
Debian or Ubuntu :
apt-get install liblinear-dev liblinear-tools liblinear3
Other distribution view repository github
You can install it with Composer:
composer require mbeurel/php-liblinear
Example scripts are available ina separate repository php-liblinear/examples.
include "vendor/autoload.php";
use PhpLiblinear\Classification\LibLinear;
$data = [
["French", "Ceci est un texte dans la langue française."],
["French", "Bonjour, comment allez vous ?"],
["French", "Bonjour, je m'appelle Jean !!!"],
["English", "This is a english language text."],
["English", "Hello, How are you ?"],
["English", "Hello, my name is Jean !!!"],
];
try {
// Init library
$libLinear = new LibLinear("instanceName", __DIR__."/var", array(
"type" => 0, // Liblinear type, view the liblinear documentation
"cost" => 1.0,
"epsilon" => 0.1,
"debug" => false
)
);
// Liblinear train
$libLinear->train($data);
// Save model
$libLinear->save();
// Load model
$libLinear->load();
// Liblinear predict : String or Array parameters, to array => ["Bonjour, je m'appelle Louis", "Comment allez vous ?"]
$result = $libLinear->predict("Bonjour, je m'appelle Louis");
// View result
var_dump($result);
// $result = array(
// 0 => array(
// "value" => "French",
// "percentage" => 0.763259,
// "percentages" => array(
// "French" => 0.763259,
// "English" => 0.236741
// )
// )
// )
} catch(\Exception $e) {
echo $e;
}
Created by Matthieu Beurel. Sponsored by Yipikai.