mbeurel/php-liblinear

Used the liblinear library with php

0.1.4 2020-04-27 14:42 UTC

This package is auto-updated.

Last update: 2024-03-30 00:17:42 UTC


README

Minimum PHP Version Latest Stable Version Total Downloads License

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

Installation Liblinear library

Debian or Ubuntu :

apt-get install liblinear-dev liblinear-tools liblinear3

Other distribution view repository github

Install php-liblinear

You can install it with Composer:

composer require mbeurel/php-liblinear

Examples

Example scripts are available ina separate repository php-liblinear/examples.

Sample Code

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;
}

Credits

Created by Matthieu Beurel. Sponsored by Yipikai.