Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _=require('lodash');
- // var blobUtil=require('blobl-util');
- var dictionary = "0123456789qwertyuiopasdfghjklzxcvbnm,.()'- ".split("");
- var keys = {};
- for (var i in dictionary)
- {
- keys[ dictionary[ i ] ] = +i;
- }
- var words =
- [
- [ "extorsion", [ 0.98, 4 ] ]
- , [ "secuestro", [ 0.97, 4 ] ]
- , [ "homicidio", [ 0.96, 4 ] ]
- , [ "asesinato", [ 0.96, 4 ] ]
- , [ "corrupcion", [ 0.10, 1 ] ]
- , [ "violencia", [ 0.96, 0.4 ] ]
- , [ "inseguridad", [ 0.95, 0.4 ] ]
- , [ "feminicidio", [ 0.2, 4 ] ]
- , [ "robos", [ 0.92, 4 ] ]
- , [ "puterias", [ 0.20, 4 ] ]
- , [ "prostituta", [ 0.20, 4 ] ]
- , [ "prostitutas", [ 0.20, 4 ] ]
- , [ "putas", [ 0.20, 4 ] ]
- , [ "puteria", [ 0.20, 4 ] ]
- , [ "pandilla", [ 0.50, 4 ] ]
- , [ "pandillas", [ 0.50, 4 ] ]
- , [ "pandilleros", [ 0.50, 4 ] ]
- ];
- var target_words =
- [
- "extorsin"
- , "extorsione"
- , "puteria"
- , "prostituta"
- , "secuestru"
- , "secuestro"
- , "sequestru"
- , "pandill"
- ];
- // console.log( dictionary, keys );
- var synaptic = require('synaptic'); // this line is not needed in the browser
- var Trainer = synaptic.Trainer,
- Architect = synaptic.Architect;
- // var perceptron = new Architect.Perceptron(2,15,3);
- var myLSTM = new Architect.LSTM( 4, 4, 4, 4, 1 );
- // training set
- var learningRate = 0.3;
- var trainingSet = [];
- var targetSet = [];
- _.each( words, function ( item ) {
- var input=[],output=0;
- _.each( item[ 0 ].split(''), function( key ){
- input.push( keys[ key ] );
- output += keys[ key ];
- return;
- } );
- return trainingSet.push( { input: _.slice( input, 0, 4 ), output: [ item[ 1 ][ 0 ] + ( output / 10000 ) ] } );
- } );
- console.log(trainingSet);
- _.each( target_words, function ( item ) {
- var input=[];
- _.each( item.split(''), function( key ){
- return input.push( keys[ key ] );
- } );
- return targetSet.push( input );
- } );
- console.log(targetSet);
- var trainer = new Trainer( myLSTM );
- // trainer.train(trainingSet,{ rate: learningRate, iterations: 200, error: .005, shuffle: true, log: 1000, cost: Trainer.cost.CROSS_ENTROPY });
- trainer.train( trainingSet );
- _.each( words, function ( word ) {
- return console.log( word[ 0 ], word[ 1 ][ 0 ] );
- });
- _.each( targetSet, function ( it, key ) {
- it = _.slice( it, 0, 4 );
- return console.log( target_words[ key ], it.length, it, myLSTM.activate( it ) );
- } );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement