Detection of language
From ANN - Artificial Neural Network for PHP 5
FAQ
For information about dat-files have a view to the FAQ page.
Training
require_once '../ANN/Loader.php'; use ANN\Network; use ANN\StringValue; use ANN\Values; try { $objNetwork = Network::loadFromFile('strings.dat'); } catch(Exception $e) { print 'Creating a new one...'; $objNetwork = new Network(1, 8, 2); $objStringValues = new StringValue(15); // As of ANN 2.1.1 $objStringValues->saveToFile('input_strings.dat'); $objValues = new Values; $objValues->train() ->input($objStringValues->getInputValue('Hallo Welt')) ->output(1, 0) // German ->input($objStringValues->getInputValue('Hello World')) ->output(0, 1); // English $objValues->saveToFile('values_strings.dat'); unset($objValues); } try { $objValues = Values::loadFromFile('values_strings.dat'); } catch(Exception $e) { die('Loading of values failed'); } $objNetwork->setValues($objValues); $objNetwork->train(); $objNetwork->saveToFile('strings.dat'); $objNetwork->printNetwork();
Using trained network
require_once '../ANN/Loader.php'; use ANN\Network; use ANN\StringValue; use ANN\Values; try { $objNetwork = Network::loadFromFile('strings.dat'); } catch(Exception $e) { print 'Network cannot be loaded'; } try { $objValues = Values::loadFromFile('values_strings.dat'); } catch(Exception $e) { die('Loading of values failed'); } try { $objStringValues = StringValue::loadFromFile('input_strings.dat'); } catch(Exception $e) { die('Loading of input values failed'); } $objValues->input($objStringValues->getInputValue('HAllo Welt')); $objValues->input($objStringValues->getInputValue('Hello World')); $objValues->input($objStringValues->getInputValue('Hálló Wélt')); $objValues->input($objStringValues->getInputValue('Hélló Wórld')); $objValues->input($objStringValues('Hßllo Welt')); // As of PHP 5.3.0 $objValues->input($objStringValues('Hßlló Wórld')); // As of PHP 5.3.0 $objValues->input($objStringValues('Hallo Welt!')); // As of PHP 5.3.0 $objValues->input($objStringValues('Helló Wórld!')); // As of PHP 5.3.0 $objNetwork->setValues($objValues); $objNetwork->printNetwork();